|
|
  |
Запись в RAM-память Stratix II (да и вообще в целом), Стробирование и тактирование |
|
|
|
Feb 17 2009, 09:47
|
Частый гость
 
Группа: Свой
Сообщений: 114
Регистрация: 7-05-08
Из: РФ, Москва
Пользователь №: 37 354

|
Добрый день. Возник такой вопрос. Необходимо записать в двухпортовую память Stratix II данные. Данные защелкиваются в сдвиговый регистр и выдаются на выход модуля через такт. Как корректнее описать запись этих данных в память - стробом WriteEnable или отдельным клоком WriteClk?
--------------------
SystemVerilog - язык, заточенный Альтерой под свои кристаллы теми же приемами использования примитивов, что и AHDL. ©
|
|
|
|
|
Feb 17 2009, 10:07
|
Частый гость
 
Группа: Свой
Сообщений: 114
Регистрация: 7-05-08
Из: РФ, Москва
Пользователь №: 37 354

|
Поправляюсь. Строб записи WE + общий клок, либо строб записи "1" и сгенеренный клок.
--------------------
SystemVerilog - язык, заточенный Альтерой под свои кристаллы теми же приемами использования примитивов, что и AHDL. ©
|
|
|
|
|
Feb 17 2009, 10:24
|
Частый гость
 
Группа: Свой
Сообщений: 114
Регистрация: 7-05-08
Из: РФ, Москва
Пользователь №: 37 354

|
Эх... я так и сделал. Просто возникла определенная проблема с полученными после этого данными. Иногда вытащенные из памяти данные, посланные по последовательному интерфейсу и принятые на компьютере данные сбоят - в теле сообщения обнаруживается какой-то бред, контрольная сумма не совпадает. Пока не разобрался на что грешить, но думал, может все-таки дергание WE - это неправильный подход  Теперь придется искать дальше  Спасибо
--------------------
SystemVerilog - язык, заточенный Альтерой под свои кристаллы теми же приемами использования примитивов, что и AHDL. ©
|
|
|
|
|
Feb 18 2009, 06:02
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
Цитата(Ethereal @ Feb 17 2009, 12:47)  Необходимо записать в двухпортовую память Stratix II данные. Клоки чтения и записи разные? Если разные, то искать в том месте, где обеспечивается исключение одновременного чтения и записи по одному адресу с нарушением временных требований памяти. Лучше всего применить dual clock fifo сгенеренное quartus-ом. Либо через него передавать информацию о том, что и куда сейчас пишется, либо данные прямо через это fifo и передавать. А еще при разных клоках нужно аккуратно реализовать переходы между доменами клоков. Ну и не надо исключать любые логические ошибки.
|
|
|
|
|
Feb 18 2009, 14:30
|
Частый гость
 
Группа: Свой
Сообщений: 114
Регистрация: 7-05-08
Из: РФ, Москва
Пользователь №: 37 354

|
Цитата(axalay @ Feb 17 2009, 15:48)  А если разрядность данных 64 бита. Запаришься констрейны прописывать. Если же память используется, то двупортовую с разнымиклоками использовать или как однопортовую-не сильно накладно 8 бит. Цитата(axalay) этот врайт енабле тоже общим клоком сотворен должен быть. Если асинхронные потоки-то переходи с одной частоты на другой через фифо, либо двухпортовый брам, где один порт работает на одной частоте, а другой на другой. Какой удобнее метод-зависит от ситуации Разумеется. Цитата(Shtirlits) Клоки чтения и записи разные? Один общий.
--------------------
SystemVerilog - язык, заточенный Альтерой под свои кристаллы теми же приемами использования примитивов, что и AHDL. ©
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|