|
Контроллер памяти DDR2 для Altera Cyclone, размышления на тему о предельной частоте |
|
|
|
Jun 24 2011, 17:33
|
Знающий
   
Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107

|
Вот хочу поднять тему о принципах построения контроллера DDR2 памяти для Altera Cyclone. На данный момент делаю его для Cyclone 3. Но суть то как раз в том, что в отличие от альтеровских коров он написан просто на VHDL с использованием только IEEE.numeric_std. И поэтому он в принципе универсален, может применяться для Spartan, например.
Собственно интерес возник вот по какой причине. С самого начала продвижения DDR в FPGA альтеровцы нагородили там какую-то специальную поддержку DDR прямо в IOE. И вот, апофеоз всех их страданий, в Cyclone 3 руководство по применению контроллера - увесистый документ, объясняющий, в частности, что для реализации правильной времянки памяти нужно чуть ли не 5 выходов PLL, причем для простого циклона -С8 можно рассчитывать на тактовую частоту только около 133 МГц (По крайней мере визард больше не дает). И это при том, что максимальная частота самого Cyclone III (и даже Cyclone II) ограничена значением в 402 МГц. А, следовательно, даже лобовое решение, когда DDR эмулируется на удвоенной частоте, должно дать реализацию в 200 МГц даже для speed grade 8. Причем для этого потребуется весьма простая PLL с тремя выходами, и в настройке такое решение весьма неприхотливо. Фазы можно двигать с помощью настроек PLL, а на выводах не нужны никакие DDR опции, что освобождает от мучительного размещения выводов по группам DQ/DQS, как это было раньше.
Ну вот исходя из этих соображений я и сел рисовать такой контроллер, с целью проверить, какова будет в итоге у него предельная частота. Ограничения собственно два. 1) Удастся ли логику всего контроллера реализовать с частотой 200 МГц. 2) Удастся ли реализовать входную и выходную часть шины данных с переходом 32бита*200МГц в 16бит*400МГц.
Еще до конца не доделал, но предварительно удалось. Проект бегает в ModelSim'е с двумя моделями, от Micron и от Samsung, правда данные там пока автосинтезируемые, но в правильных местах. При этом квартус собирает это и дает нормальные частоты даже для C8, 201 МГц для контроллера и 402 для данных (и то, - это программное ограничение, без указания явных проблемных путей).
Уже недолго осталось, чтобы на железке проверить, но все-таки кажется странным, что же это за столбовая дорога у Альтеры такая, что столько возни, столько правил и такой чахлый результат. "Гора родила мышь!"
У кого какие мысли?
|
|
|
|
Сообщений в этой теме
Hoodwin Контроллер памяти DDR2 для Altera Cyclone Jun 24 2011, 17:33 Cordroy Цитата(Hoodwin @ Jun 24 2011, 20:33) [...... Jun 25 2011, 08:06 Sergey_Bekrenyov Цитата(Cordroy @ Jun 25 2011, 12:06) По-м... Jun 25 2011, 20:45 Hoodwin Немного поторопился я с п.2. 402 МГц не получается... Jun 25 2011, 08:13 des00 Цитата(Hoodwin @ Jun 25 2011, 02:13) Что-... Jun 25 2011, 08:36 BSACPLD Кстати, а возможно ли описывая контроллер исключит... Jun 25 2011, 08:49 Shtirlits Насколько мне известно, ни в VHDL, ни в Verilog*, ... Jun 25 2011, 10:16 gosu-art Мне тоже в скором времени понадобиться контроллер ... Jun 25 2011, 12:18 Hoodwin ЦитатаКстати, а возможно ли описывая контроллер ис... Jun 25 2011, 14:22 vadimuzzz Цитата(Hoodwin @ Jun 25 2011, 21:22) Сейч... Jun 26 2011, 02:23 BSACPLD to Hoodwin
Я сейчас тоже озаботился написанием соб... Jun 26 2011, 07:43 des00 Цитата(BSACPLD @ Jun 26 2011, 01:43) Я се... Jun 26 2011, 11:54 Hoodwin vadimuzzz
Спасибо, посмотрел. Странно, но там част... Jun 26 2011, 07:55 Shtirlits Там еще заморочка с setup/hold и оставшимся окошеч... Jun 26 2011, 09:00 warrior-2001 Во многих проектах использую Альтеровские контролл... Jun 27 2011, 05:50 torik Тут уже трое берутся написать свой DDR2 контроллер... Jun 27 2011, 10:52 des00 Цитата(torik @ Jun 27 2011, 04:52) Тут уж... Jun 27 2011, 12:26 Hoodwin ЦитатаТут уже трое берутся написать свой DDR2 конт... Jun 27 2011, 12:38 des00 Цитата(Hoodwin @ Jun 27 2011, 06:38) ну, ... Jun 27 2011, 15:17 Hoodwin Интересно, а кто-нибудь задействовал всякие фичи D... Jun 27 2011, 16:49 torik Цитатану, не так. Двое подумывают, а я то его уже ... Jun 27 2011, 18:45 Hoodwin Torik
1) Это совсем не главный вопрос, перечитайте... Jun 28 2011, 07:46 Hoodwin Вот еще вопрос какой.
Вот есть такой основной пара... Jun 30 2011, 11:55 warrior-2001 ИМХО параметр синтеза для CAS latency - самое то.
... Jun 30 2011, 12:35 Hoodwin Интерфейс такой:
Код ready : out std_logic; ... Jun 30 2011, 13:27 warrior-2001 Цитата(Hoodwin @ Jun 30 2011, 17:27) Метк... Jul 1 2011, 07:53 Timmy Может быть, имеет смысл разделить на отдельные мод... Jul 1 2011, 07:55 Hoodwin Цитата(warrior-2001 @ Jul 1 2011, 11... Jul 1 2011, 09:09 BSACPLD Докладываю о своих результатах.
Сделана инициализа... Jul 4 2011, 10:50 Hoodwin Судя по картинке, это пока чистая модель, откуда ч... Jul 4 2011, 12:31 BSACPLD Цитата(Hoodwin @ Jul 4 2011, 16:31) Судя ... Jul 4 2011, 14:23 Hoodwin Выкладываю проект как есть.
Собрал для двух устрой... Jul 5 2011, 10:35 des00 Цитата(Hoodwin @ Jul 5 2011, 04:35) Выкла... Jul 5 2011, 11:12 nckkm Цитата(Hoodwin @ Jul 5 2011, 14:35) Выкла... Jul 11 2011, 17:14 Hoodwin Чтобы потом не удивлялись, перечисляю, чего нет:
1... Jul 5 2011, 11:49 Hoodwin Новости:
1. В опубликованном коде ошибочка нашлась... Jul 6 2011, 14:26 Timmy Цитата(Hoodwin @ Jul 6 2011, 18:26) 1. В ... Jul 10 2011, 17:57 Hoodwin Timmy
1. А что за файла не хваает? Моделсим какой-... Jul 11 2011, 04:00 Timmy Цитата(Hoodwin @ Jul 11 2011, 08:00) Timm... Jul 11 2011, 07:09 Hoodwin 1. Ок, поправлю. Что-то раньше таких файлов не был... Jul 11 2011, 08:16 Hoodwin ЦитатаА Вы не думали выкладывать проект, скажем, н... Jul 11 2011, 19:56 cioma Больше людей смогут ознакомиться Jul 12 2011, 13:32 Hoodwin Поднимем тему еще раз.
ЦитатаБыло бы интересно вз... Jul 21 2011, 09:41 warrior-2001 Цитата(Hoodwin @ Jul 21 2011, 13:41) ...
... Jul 22 2011, 05:21 des00 у меня времени нет, как появится тогда сделаю. там... Jul 22 2011, 05:38 Hoodwin Выкладываю последний вариант. У меня пока работает... Jul 22 2011, 09:23 des00 Цитата(Hoodwin @ Jul 22 2011, 04:23) P.S.... Jul 22 2011, 09:55 tAmega Спасибо, огромное добрый волшебник Hoodwin.
Действ... Jul 22 2011, 09:27 Hoodwin Ай-я-яй, нехорошо. Выпад не по адресу.
1) Я ни ког... Jul 22 2011, 10:45 BSACPLD Выкладываю свой вариант контроллера.
Он ещё не до ... Jul 23 2011, 20:26
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|