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

 
 
 
Reply to this topicStart new topic
maxics
сообщение Feb 15 2013, 16:02
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 229
Регистрация: 16-11-09
Пользователь №: 53 649



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 эти сигналы не приходят. Откуда их брать?

Сообщение отредактировал maxics - Feb 15 2013, 16:03
Go to the top of the page
 
+Quote Post
VladimirB
сообщение Feb 16 2013, 21:23
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219



Цитата(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 - выход сигнала ошибки - тоже можно вывести на светодиод - если загорится значит всё плохо.

а вообще практика показывает, что ИСЕ и МИГ надо запускать перед разводкой платы, а не после.
Go to the top of the page
 
+Quote Post
maxics
сообщение Feb 17 2013, 06:36
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 229
Регистрация: 16-11-09
Пользователь №: 53 649



Цитата(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 - выход сигнала ошибки - тоже можно вывести на светодиод - если загорится значит всё плохо.

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


Спасибо вам большое за развернутый ответ. Попробую...
Go to the top of the page
 
+Quote Post
faa
сообщение Feb 17 2013, 08:53
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 726
Регистрация: 14-09-06
Из: Москва
Пользователь №: 20 394



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


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

Солидарен. Причем готовность проекта для ПЛИС должна стремиться к 100% до разводки платы.
Потом можно только пытаться ножки местами переставлять, если вдруг они криво трассироваться будут.
И при перестановке ножек не забывать верификацию делать по времянкам и остальному.
Т.е. ножки изменили, дифпары крутанули с добавлением инверторов - прогоняем проект снова и смотрим, как его самочуствие wink.gif.

Сообщение отредактировал faa - Feb 17 2013, 08:54
Go to the top of the page
 
+Quote Post

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

 


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


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