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

 
 
> Мегафункция ALTMEMPHY, поднимаю интерфейс взимодействия Cyclone III c DDR2 SDRAM
dde29
сообщение Aug 16 2011, 03:38
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 12-08-08
Из: Томск
Пользователь №: 39 559



Появилась необходимость реализавоть мегафункцию общения внутренней логики FPGA (EP3C55) с двумя микросхемами памяти DDR2 SDRAM (MT47H128M16).
Использую Quartus II 9.0.
Так как этим никогда не занимался - появилось множество вопросов по этому поводу:

Создал мегафункцию ALTMEMPHY. В списке готовых корок конкретно такой микрухи DDR2 нету. Как я понимаю у меня два выхода:
- Скачать откуда-то готовую корку для этой мегафункции (откудова?)
- Выбрать в списке похожую микруха и изменить в ручную параметры (какие именно? гуру, подскажите пжлста sm.gif )

Далее:
Узнал что DDR надо подключать к конкретным пинам FPGA. Эти пины называются DQ и DQS.
DQ - параллельные данные. DQS - строб записываемых данных.
С DQS еще можно понять.
Но с DQ вопрос: на EP3C55 таких выходов вроде 12 - и раскиданые они по разным банкам. а у меня две 16-ти разрядные DDR. Как мне быть. Может можно данные подключить на обычные пины, одного банка?

И последнее:
У меня две DDR должны быть подкдлючены параллельно (в них хранится две составляющие квадратурного сигнала). Вытаскивать данные нужно одновременно, по одним же адресам.
Я как понимаю мне достаточно испольпользовать одну мегафункцию, но придеться видимо изменить параметры - ка минимум - разрядность данных в два раза увеличить (16*2 = 32).

Посдскажите специалисты - правильны мои рассуждения? Не помешало бы указатать также мне на литературу - полезную в данном вопросе... sm.gif

Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Hoodwin
сообщение Aug 18 2011, 16:21
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107



Ну, это возможно, потому что функция наверняка основана на ddr_io, а они наверное имеются не во всех IOE. А я для DDR взял и просто сделал шину на удвоенной частоте, в итоге для нее подходят любые IOE, для которых имеется fast i/o регистр. Но это почти все IOE и есть, за исключением всяких там dedicated clocks.

А вот такой несколько отвлеченный вопрос: у Вас не возникало ощущения, что Альтера пошла по какому-то не очень правильному пути с точки зрения системотехники? Сейчас поясню, что я имею ввиду.

Когда-то, когда я только начинал работать с ПЛИС, фирма Альтера еще только зарождалась. Тогда мы работали с интеловскими FPGA, семейством FlexLogic. Это были первые именно FPGA, а не CPLD, и, кроме того, это были первые FPGA, которые имели встроенную оперативную память, достаточно быстродействующую по тем временам. Именно с этого семейства Альтера и начала свой путь в FPGA, когда купила на корню все это у Интел и перелицевала встроенную EEPROM на FLASH, переименовав в итоге FlexLogic во FLASHLogic. И именно с появлением FPGA со встроенной памятью зародился вообще новый подход в вычислительной технике, потому что появилась возможность строить специализированные вычислители с производительностью, недоступной средствами обычных процессоров. Одним из преимуществ нового подхода стало то, что появилась дополнительная степень свободы, связанная с размещением выводов. С системотехнической точки зрения это позволило разделить труд схемотехников, конструкторов и программистов на разные, практически не зависимые друг от друга задачи. Ну самое страшное, что могло произойти, это надо было конструктору просто сообщить схемотехнику, что он хочет изменить порядок выводов у ПЛИС и обновить принципиальную схему. Учитывая, что частенько схемой и разводкой занимается один человек, это вообще не проблема. И во всяком случае программист мог садиться за проект, имея перед собой уже собранную плату. Но вот потом началось... Сначала появились банки питания, потом к ним добавились банки VREF, потом еще на все это нанесли пары LVDS, потом еще группы DQ-DQS, потом еще возникли токовые ограничения и шумы в цепях питания. И в итоге мы имеем уже не просто проблему переназначения выводов. В итоге получается, что для того, чтобы правильно нарисовать схему, нужно создать проект для FPGA, скомпилировать его, и, получив благословение от Quartus, только начинать приступать к уточнению схемы. То есть, теперь программист FPGA оказывается не завершающей, а чуть ли начинающей стадией проектирования. И в конечном итоге это начинает сильно тормозить процесс проектирования системы в целом по сравнению со старым, прямым способом взаимодействия профессий.

Вот мое мнение заключается в том, что это неправильный путь. Куда спокойнее проектировать в стиле "вот спаяем железку по даташитам, проверим, будем о полной программе думать". А с этими ALTMEMPHY выходит, что пока программу почти полностью не напишешь и не убедишься, что она компилируется, толком даже схему не нарисовать с правильными пинами.

Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 04:36
Рейтинг@Mail.ru


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