Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подключение DDR2 к Virtex-6
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
maxics
DDR2 - Micron, Virtex-6 SX315 ff1556. Развел плату, перед тем как отдать в производство решил проверить все пины. Все линии с DDR2 завел на 13 и 14 банки. Создал проект, создал ядро MIG. Выбрал Fixed Pin Out и решил подключить пины на которые я завел эти линии. Не тут-то было! Signal Group: Data он мне дал завести на 13 и 14 банк, а вот Signal Group: Adress (24 пина) не даёт, предлагая для этого другие банки. Почему так? Можно-ли это обойти?
В дополнение к сигналам DDR, MIG просит подключить: SYS_RST, PHY_INIT_DONE, ERROR, SYS_CLK, и CLK_REF. С DDR2 эти сигналы не приходят. Откуда их брать?
VladimirB
Цитата(maxics @ Feb 15 2013, 20:02) *
DDR2 - Micron, Virtex-6 SX315 ff1556. Развел плату, перед тем как отдать в производство решил проверить все пины. Все линии с DDR2 завел на 13 и 14 банки. Создал проект, создал ядро MIG. Выбрал Fixed Pin Out и решил подключить пины на которые я завел эти линии. Не тут-то было! Signal Group: Data он мне дал завести на 13 и 14 банк, а вот Signal Group: Adress (24 пина) не даёт, предлагая для этого другие банки. Почему так? Можно-ли это обойти?
В дополнение к сигналам DDR, MIG просит подключить: SYS_RST, PHY_INIT_DONE, ERROR, SYS_CLK, и CLK_REF. С DDR2 эти сигналы не приходят. Откуда их брать?

Шину управления, адреса и данных конечно лучше завести куда он просит иначе работоспособность не гарантируется.
Но я знаю примеры, когда у некоторых работает на V6 и на совершенно других банках.
Самое главное, чтобы оно прошло пласе анд роут и не заругалось.
Для этого сгенерите "правильное" ядро в МИГ и перепишите LOC констреинты на ваши "неправильные" банки и попробуйте сгенерить битстрим.
В случае узбека - должно работать.

SYS_RST и иже с ними - это служебные сигналы контроллера памяти. Из них реально полезные:
1) входные тактовыe сигналы - SYS_CLK и/или REF_CLK - соответсвенно идёте в mem_ctrl_infrastructure.vhd и переписываете настройки DCM под ваш тактовый сигнал.Можно подправить инфраструктуру так, чтобы использовать только оди тактовый сигнал,а второй генерить DCMкой.
2) PHY_INIT_DONE - выход окончания инициализации контроллера - вывожу обычно на светодиод - если горит значит всё идёт по плану.
3) ERROR - выход сигнала ошибки - тоже можно вывести на светодиод - если загорится значит всё плохо.

а вообще практика показывает, что ИСЕ и МИГ надо запускать перед разводкой платы, а не после.
maxics
Цитата(VladimirB @ Feb 17 2013, 00:23) *
Шину управления, адреса и данных конечно лучше завести куда он просит иначе работоспособность не гарантируется.
Но я знаю примеры, когда у некоторых работает на V6 и на совершенно других банках.
Самое главное, чтобы оно прошло пласе анд роут и не заругалось.
Для этого сгенерите "правильное" ядро в МИГ и перепишите LOC констреинты на ваши "неправильные" банки и попробуйте сгенерить битстрим.
В случае узбека - должно работать.

SYS_RST и иже с ними - это служебные сигналы контроллера памяти. Из них реально полезные:
1) входные тактовыe сигналы - SYS_CLK и/или REF_CLK - соответсвенно идёте в mem_ctrl_infrastructure.vhd и переписываете настройки DCM под ваш тактовый сигнал.Можно подправить инфраструктуру так, чтобы использовать только оди тактовый сигнал,а второй генерить DCMкой.
2) PHY_INIT_DONE - выход окончания инициализации контроллера - вывожу обычно на светодиод - если горит значит всё идёт по плану.
3) ERROR - выход сигнала ошибки - тоже можно вывести на светодиод - если загорится значит всё плохо.

а вообще практика показывает, что ИСЕ и МИГ надо запускать перед разводкой платы, а не после.


Спасибо вам большое за развернутый ответ. Попробую...
faa
Посмотрите, как сделано на ML631. Там на одной ПЛИС аж 9 контроллеров DDR3 по 32 разряда есть.
На второй ПЛИС разнородные контроллеры DDR3, DDR2, QDR2 и т.п.
Пример можно скачать с сайта хилых.


Цитата(VladimirB @ Feb 17 2013, 01:23) *
а вообще практика показывает, что ИСЕ и МИГ надо запускать перед разводкой платы, а не после.

Солидарен. Причем готовность проекта для ПЛИС должна стремиться к 100% до разводки платы.
Потом можно только пытаться ножки местами переставлять, если вдруг они криво трассироваться будут.
И при перестановке ножек не забывать верификацию делать по времянкам и остальному.
Т.е. ножки изменили, дифпары крутанули с добавлением инверторов - прогоняем проект снова и смотрим, как его самочуствие wink.gif.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.