Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Контроллер DDR2 для ML506
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
66cds
Не работает ядро контроллера DDR2. Нет сигналов от планки.

С помощью MIG 3.0 в ISE 11 собрано ядро контроллера DDR2 для отладочной платки ML506 на основе Virtex5. Моделирование с файлами имитирующими планку памяти(Micron) при соответствующей установке параметра ONLY_SIM = 1 происходит - в окне Waveform наблюдаю стадию инициализации и калибровки, после чего поднимается сигнал phy_init_done. После этого меняю параметр ONLY_SIM на 0 и собираю проект. Constraints для DQS выполняются, никаких ошибок при сборке не выдает(конечно же уйма предупреждений о всяческих неиспользуемых внутренних сигналам, что как мне представляется, естественно для универсального ядра). Частота 200 МГц. После прошивки кристалла Virtex5 поднятие сигнала phy_init_done не происходит. После чего проверил приходящие сигналы осциллографом на самой планке(сторону Front). Ядро контроллера разворачивает все временные диаграммы инициализации правильно, после чего начинает процессы калибровки: активирует нужный банк и строку, записывает данные в выбранные колонки и начинает считывать(первый этап калибровки) - на этом ядро и повисает - все время посылает команду чтения, но ответа от памяти нет. Ни DQS ни DQ сигналы за все это время не приходят. Могу сделать вывод, что либо инициализация либо команда записи не прошла. Несколько раз проверял соблюдение временных параметров между подаваемыми ядром командами при инициализации, параметры в LMR, подачу сигналов на нужные ноги. Если кто-то подскажет в чем может быть ошибка или возможные пути решения или у кого-то есть работающее ядро для того самого ML506, буду рад.
DmitryR
У меня на ML-507 работало без проблем, что с PPC, что с Microblaze, что отдельно. Вам посоветую собрать проект с ONLY_SIM и прогнать временную модель - может что и всплывет.
66cds
Цитата(DmitryR @ Oct 15 2010, 20:39) *
У меня на ML-507 работало без проблем, что с PPC, что с Microblaze, что отдельно. Вам посоветую собрать проект с ONLY_SIM и прогнать временную модель - может что и всплывет.



При установке ONLY_SIM в 0 и попытке прогона моделирования ситуация та же самая - первая стадия калибровки не проходит и ядро зависает на непрерывном чтении. Мне представилось это нормальным, так как при ONLY_SIM=1 калибровка происходит только по одному биту DQS, и тем самым калибровка считается законченной. DmitryR, напишите, пожалуйста, происходило ли у вас поднятие сигнала phy_init_done при установке ONLY_SIM=0 на моделировании, т.е. инициализация и калибровка?
DmitryR
Я не моделировал вообще, потому что у меня и так заработало.
AVR
Цитата(DmitryR @ Oct 15 2010, 20:39) *
У меня на ML-507 работало без проблем, что с PPC, что с Microblaze, что отдельно. Вам посоветую собрать проект с ONLY_SIM и прогнать временную модель - может что и всплывет.


Объясните, пожалуйста, как работать с DDR2 без PPC/Microblaze?

У меня есть плата (не ML506) и через Microblaze мне было относительно просто заставить работать DDR2, т.е. железо рабочее. Но как то же самое сделать без микроба?

Я выполнил генерацию (coregen) с помощью MIG точно так же как я это делал когда-то для Microblaze, и вижу кучу файлов, а сгенерированных файлов - десятки, куча .v-файлов, десятки сотни линий... Как в этом сориентироваться?

Ожидал что раз DDR2-контроллер есть - то он всё делает, а пользователю даёт простой интерфейс, чтобы он голову не ломал...
NahaL
Цитата(AVR @ Jan 28 2014, 20:57) *
Я выполнил генерацию (coregen) с помощью MIG точно так же как я это делал когда-то для Microblaze, и вижу кучу файлов, а сгенерированных файлов - десятки, куча .v-файлов, десятки сотни линий... Как в этом сориентироваться?

Пошарившись в папке со сгенерённым,
необходимо найти файл для верхнего уровня, тогда сразу все станет на свои места.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.