Не работает ядро контроллера 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, буду рад.