Кэш для некста

FPGA, CPLD

Postby TS-Labs » Sun, 27.04.2014 23:55:08

Пилю помаленьку. Фотка для истории. Работает некст на частоте 33.3, сдрам на 133.3. Пока только чтение. Некст провисает 2 такта в вейте, зато все времянки на месте и никаких метастабов.
http://i.snag.gy/ekPEG.jpg
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby MVV » Thu, 01.05.2014 00:23:29

TS-Labs wrote:Работает некст на частоте 33.3, сдрам на 133.3

SDRAM 7.5ns CL3 ? 2-ва такта в вайте при промахе, т.е. 60нс до первого считанного слова? Бурст 2?
Я планирую SDRAM CLK = 100МГц (10нс) CL=2. Бурст 2. NZ80@50МГц. Кеш пока теневой с управлением, как две страницы 16К+16K. Т.е. двухпортовка 16К врубается сверху над одним из окон. Прога сама решает нужно ли делать обратную запись/прямую или вообще не обновлять в SDRAM.
MVV
 
Posts: 479
Joined: Sun, 01.12.2013 22:48:17

Postby TS-Labs » Thu, 01.05.2014 12:29:00

MVV wrote:NZ80@50МГц

На стратиксе? Циклон 3 говорит, что для него 38 мгц предел мечтаний. Глянь (а лучше скопипасть сюда) тайминг репорт. И это Фмакс ядра. А когда память должа успеть выставить данные? По таймингам выходит, что достоверный адрес и ШУ можно забирать у некста на фазе его клока 250-260 градусов. Если подцепить в качестве памяти внешнюю сраму, частота сразу упадет до 20МГц, если не ниже.
MVV wrote:2-ва такта в вайте при промахе

Увы и ах, но лучше не будет. Кешовые дата/мисхит(вейт) надо латчить на позедже клока ядра. Пересинхра на клок 133, захват запроса фсмкой контроллера сдрамы, это уже больше середина первого вейта. Потом цикл сдрамы, запись даты в кеш, срабатывание по клоку кеша (сдвиг 260" от клока цпу) хита, по следующему позеджу ядра проц уже работает дальше.
MVV wrote:Бурст 2?

С бурстами пока непонятка, но есть следующие предположения:
- сдрама работает в режиме прерываемых бурстов, длина по умолчанию 8 (помню ты говорил, что пейдж не у всех микрух на реверсе саппортится),
- бурст на префетч даты проца работает а) до конца адресного цикла (А0-2 = 111), б) длиной до 8, если нет других горящих запросов, в) длиной не менее 4.
133 МГЦ поэтому лучше, чем 100.
MVV wrote:Кеш пока теневой с управлением, как две страницы 16К+16K

Это слишком много. Я пока взял кеш 1КБ, увеличу до 4х.
MVV wrote:обратную запись/прямую

Пока что ставлю запись в фоновом режиме (проц записал, пошел цикл, проц не висит), но включится вейт при следующем мисхите кеша или записи, до окончания предыдущей записи.
Планирую в конечном итоге сделать фифо обратной записи с отмечанием флажка "дирти" в кеше. Смысл: любая запись пишется в кеш (дабы быть без проблем прочитанной процом при необходимости) и в фифо обратной записи. Если попадается адрес, который может выбить из кеша адрес, который еще не записан, данное чтение не кешируется.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby ZEK » Fri, 18.07.2014 15:52:19

Надо Q2 кеш, вот вроде нигде в железках ходовых Q2 не юзается, а кеш достаточно зачетен
KOE сказал заработает, значит заработает. Он кандидат наук, а не радиолюбитель. (c) alone
User avatar
ZEK
 
Posts: 174
Joined: Mon, 10.06.2013 13:51:07

Postby TS-Labs » Fri, 18.07.2014 19:20:34

Не в теме, а что это?
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby ZEK » Mon, 21.07.2014 11:33:15

А там принцип такой, 2 кеша, в первый попадают впервые прочитанные данные, во второй если было попадание в первый кеш
KOE сказал заработает, значит заработает. Он кандидат наук, а не радиолюбитель. (c) alone
User avatar
ZEK
 
Posts: 174
Joined: Mon, 10.06.2013 13:51:07

Postby TS-Labs » Mon, 21.07.2014 12:39:45

Т.е. второй кеш обеспечивает статистически чаще используемые данные без перетирания их данными случайными. ОК, идея нравится.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56


Return to HDL

Who is online

Users browsing this forum: Google [Bot] and 1 guest

cron

x