реклама на сайте
подробности

 
 
> Контроллер памяти DDR2 для Altera Cyclone, размышления на тему о предельной частоте
Hoodwin
сообщение Jun 24 2011, 17:33
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 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 для данных (и то, - это программное ограничение, без указания явных проблемных путей).

Уже недолго осталось, чтобы на железке проверить, но все-таки кажется странным, что же это за столбовая дорога у Альтеры такая, что столько возни, столько правил и такой чахлый результат.
"Гора родила мышь!"

У кого какие мысли?

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
BSACPLD
сообщение Jul 23 2011, 20:26
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 371
Регистрация: 24-07-05
Из: Москва
Пользователь №: 7 056



Выкладываю свой вариант контроллера.
Он ещё не до конца написан, но его уже можно использовать.
Ограничения текущей версии контроллера:
1. Минимальное AL + CL = 4.
2. Если меняете количество микросхем памяти нужно перегенерить FIFO под нужную разрядность.
3. Перестройку тактовой частоты нужно производить путем перегенерации PLL.
4. При использовании под другое семейство микросхем (текущий вариант сделан под Stratix III) нужно перегенерить мегафункции реализующие PHY.
5. Тайминги для gate-level моделирования в Modelsim (для Stratix III) отличаются от реальной времянки - настройку фазы нужно производить по отчёту Timing Analyzer или на реальном железе.
6. Объём записываемых/читаемых данных должен быть кратен размеру burst.

Если кто-нибудь опробует данный контроллер на реальном железе просьба отписать сюда о результатах.
Прикрепленные файлы
Прикрепленный файл  test_ddr2_ctrl.rar ( 221.58 килобайт ) Кол-во скачиваний: 155
 
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 17th June 2025 - 12:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.0143 секунд с 7
ELECTRONIX ©2004-2016