Перейти к содержанию
    

Симуляция DDRx контроллеров в Altera

Здравствуйте, уважаемые гуру.

 

Не развлекался ли кто-нибудь попытками произвести симуляцию контроллеров DDR2, DDR3 от Altera (UniPhy) при помощи стандартных средств, т.е. как это написано в мануале ("Enhanced memory interface handbook"): генерить тестовый проект, скрипты и грузить их в Моделсим.

 

Если кто-нибудь пробовал, получилось ли?

 

У меня какая-то симуляция неживая: сигналы не двигаются вообще.

Так и должно быть?

 

DDR3, Stratix-V, Quartus 12.0.

 

Заранее спасибо за ответы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пробовал функциональное моделирование DDR2-контроллера на altmemphy. Полагаю что uniphy аналогично должно быть. А в чем проблема ?

А что за "Enhanced memory interface handbook" ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Enhanced memory interface handbook - emi.pdf,

http://www.altera.com/literature/lit-exter...y-interface.jsp

 

А в чем проблема ?

Неживое всё. Т.е. часть сигналов ресета активные, сигналы данных не дергаются, клоковые сигналы имеют странный вид - 4 такта они есть, дальше 4 такта - пропуск.

Modelsim выдает странные варнинги типа "Такая-то частота ожидается с периодом X пс, а она с периодом Y пс".

Понятно, что можно забить на это всё, сделать свой тестбенч и вполне возможно, что всё будет гораздо лучше. Но зачем тогда они делали всю эту машинерию, мануалы писали и т.д.? :)

 

А на каком quartus'е, какой DDR и для какого семейства Вы симулировали?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну наверное не "Enhanced", а External memory interface. Делал на Квартусе 11.0 SP1 для Cyclone 4. По-моему в приведенном Вами хэндбуке советуют делать DDRx контроллеры на altmemphy, почему выбрали uniphy ?

 

Неживое всё. Т.е. часть сигналов ресета активные, сигналы данных не дергаются, клоковые сигналы имеют странный вид - 4 такта они есть, дальше 4 такта - пропуск.

Modelsim выдает странные варнинги типа "Такая-то частота ожидается с периодом X пс, а она с периодом Y пс".

А на каком quartus'е, какой DDR и для какого семейства Вы симулировали?

попробуйте при компиляции vhdl/verilog файлов тестбенча и IP-functional модели компилировать их опцией "-novopt". Например "vcom -novopt blabla.vhd" - для vhdl или "vlog -novopt blabla.v" -для verilog

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну наверное не "Enhanced", а External memory interface.

Ну какая разница, особенно в вечер пятницы :D.

 

По-моему в приведенном Вами хэндбуке советуют делать DDRx контроллеры на altmemphy, почему выбрали uniphy ?

Потому что для Stratix V выбрать что-нибудь отличное от UniPhy достаточно затруднительно :).

 

P.S. Для AltMemphy и Cyclone 4 у меня тоже всё вполне живое :rolleyes: .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На StratixIV в моделсиме всё вроде-бы работало (DDR3 UniPhy).

post-5857-1345464582_thumb.jpg

Изменено пользователем ISK

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хм.

 

Сегодня вообще всё работает. В смысле, работают модели, сгенеренные сегодня.

Модели, сгенеренные в пятницу, так и не заработали. Точнее, заработали после неких танцев с бубнами.

Т.е. я так и не понял, что я делал не так :(.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Модели, сгенеренные в пятницу, так и не заработали. Точнее, заработали после неких танцев с бубнами.

Т.е. я так и не понял, что я делал не так :(.

Могу предположить следующий вариант - там галка есть для симуляции, которая отвечает за отключение инициализации и создаются специальные hex файлы с уже нужными данными, лежат они в папке _sim, с такими же именами лежат рабочие hex файлы в другой папке. Возможно Вы подключили рабочие, а не для симуляции.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Движемся дальше.

 

Разбираю, чо делает UniPhy в процессе инициализации интерфейса с DDR3.

Вижу интересное: контроллер пишет 1 в reserved бит регистра MR1, для которого написано, что в него надо писать всегда 0 (см. картинки).

Если я всё правильно понимаю, пишется 1 в 8-й бит регистра MR1, про который в даташите (Micron) написано, что "reserved und must be programmed to 0".

 

Я чего-то не понимаю?

Или глючная модель?

 

Stratix V, модель генерилась для DDR3 от Micron.

post-47543-1345803375_thumb.png

post-47543-1345803498_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Движемся дальше.

 

Разбираю, чо делает UniPhy в процессе инициализации интерфейса с DDR3.

Вижу интересное: контроллер пишет 1 в reserved бит регистра MR1, для которого написано, что в него надо писать всегда 0 (см. картинки).

Если я всё правильно понимаю, пишется 1 в 8-й бит регистра MR1, про который в даташите (Micron) написано, что "reserved und must be programmed to 0".

 

Я чего-то не понимаю?

Или глючная модель?

 

Stratix V, модель генерилась для DDR3 от Micron.

 

Я вообще пользуюсь по возможности моделями производителя Micron. Правда они бросили писать VHDL модели, только Verilog. С практикой писания в нынешней конторе на VHDL и бесплатным моделсимом прикручивал модель с freefoundry.com

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ага, тоже начал модель Micron юзать.

Впрочем, и с Альтеровской симуляцией вроде более-менее.

Когда оно не начинает писать в reserved биты :).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемые гуру, а не может ли кто-нибудь объяснить ситуацию на картинке.

http://f2.s.qip.ru/adNBVi8H.png

Quartus 12.0sp2, Stratix V, DDR3.

Modelsim, RTL simulation.

 

В процессе рефреша возникает непонятно откуда взявшаяся операция чтения, в результате чего время рефреша увеличивается так раза в 3.

Начинается эта вакханалия с частоты > 533 МГц, на 533 или ниже нормально всё.

 

Кто виноват, и что делать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В общем, суппорт Альтеры сказал, что это DQS Enable Tracking так работает. Можно отключить, ручками поменяв значение соответствующего параметра.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...