Цитата(Волощенко @ Jan 23 2009, 10:47)

к WingLion
Спасибо за ссылки и коды.
Хотел бы уточнить, контроллеры SDRAM делятся на SDR, DDR, DDR2. Тот, что Ваш, это SDR (single data rate).
Я когда создавал тему, думал о DDR (double data rate), только не ввел это в название топика. У меня микросхема MT46V16M16 с DDR архитектурой.
Особенность контроллеров SDRAM для DDR состоит в том, что нужно иметь внутри дополнительную тактовую частоту, которая в два раза выше тактовой частоты памяти. Для этого потребуется PLL, т.е. для памяти с 100МГц, нужно дополнительно создать 200МГц для управляющей FSM. ИХМО
Теперь вопрос, наверное, к Kompot.
Похоже, что нельзя использовать фронт сигнала DQS для стробирования считываемых данных, это так? Вы указывали на эту проблему? То есть, считывание возможно только под контролем FSM, работающей на частоте 200МГц, и лучше на DQS не уповать, так?
1. Защелкивать данные при чтении из ИС памяти лучше всего и правильнее всего именно по DQS. Защелкивать желательно в триггер, расположенный в IO блоке - кстати он может иметь настраиваемую задержку.
2. Вы неправы. Особенность ДДР не в удвоенной тактовой для FSM - Вы будете смеяться, все работает на тех же 100 МГц. Единственное отличие - данные надо передавать (и принимать) НА КАЖДОМ ПЕРЕПАДЕ тактового сигнала. А управление точно такое же как у SDRAM. (Ну, управляющих регистров больше, но сути не меняет).
Очень неплохо иметь в FPGA в IO блоке DDR на вход и на выход. Например Xilinx Спартан3 имеет такие. Очень помогает работать с DDR памятью.
Цитата(WingLion @ Jan 23 2009, 15:54)

Да, коды для обычной SD-RAM с single data rate.
o DDR пока только одни мечты. DDR2, DDR3 - совсем заоблачные.
с DDR сейчас и экспериментировать еще негде (лично мне, а не вообще). Но, думаю, что для DDR надо покупать альтеровскую IP, потому что цены на них сейчас уже не столь высоки, как было тогда, когда я взялся за работу над собственным контроллером SDR. И даже месяц возни с настройкой оказывается дороже чем покупное ядро. Кроме того, возможность бесплатных экспериментов с тестовыми версиями IP сильно все меняет.
Ну что за пораженческие настроения!

ей богу!
Самое сложное в таком контроллере - разобраться как работает ИС памяти, и построить управляющую FSM. И то и то Вам в жизни пригодится. Нарисовать datapath - сложности не представляет. ЧТо там еще? Адреса? Вы ведь способны нарисовать 22-разрядный синхронный счетчик с предустановкой и после него поставить 2->1 мультиплексор?
Поверьте, Ваш собственный контроллер получится меньше и быстрее чем купленные корки. Ну и опыт какой- никакой появится.
Удачи!