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

 
 
> А зачем xilinx сделал в MiG такие сложности ?, кто разбирался?
Shtirlits
сообщение Aug 22 2010, 02:06
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



Добрый день, all.

Удалось на днях познакомиться с Memory interface soulutions от xilinx. Не подозревая подвоха, с твердым желанием не изобретать велосипед, попытался применить готовое решение для DDR SDRAM и Spartan 3E.
Как всегда, узнал много нового и хочу еще.
Кто-нибудь понимает, почему им пришлось делать какие-то калибровочные цепочки из LUT-ов, обратную связь через pad с фиксацией размещения с помощью RLOC и LOC, генерацией UCF-файла и трудно выполнимым списком требований для разводки печатной платы?
Без плясок с бубном никак?
Что мешает взять сколько нужно DCM и засунуть регистры ввода-вывода в какие угодно ножки ?
Что, ну чтоже там не удается по человечески?

Я понимаю, когда без RLOC, LOC, AREA и т.п. констрейнов у P&R инструментов ума не хватает. Бывает. При этом мы либо имеем корректный дизайн, либо не имеем никакого. Это безопасно.
В случае же с калибровочными элементами не хватает выразительных средств языка описания схем (любого - опровергните? это какие-то констрейны?), чтобы неверное размещение обнаружилось до включения схемы или прогона в симуляторе с post p&r sdf. То есть, это опасно, можно получить без единого предупреждения схему, которая не работает.
Хотя... способов получения неработающих схем много...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Gothard
сообщение Aug 23 2010, 05:42
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 127
Регистрация: 16-02-07
Из: Долгопрудный
Пользователь №: 25 406



Цитата(Shtirlits @ Aug 22 2010, 06:06) *
Что мешает взять сколько нужно DCM и засунуть регистры ввода-вывода в какие угодно ножки ?

Дело в том, что синхронизация приема данных осуществляется по специальному синхросигналу DQS. (При записи выдается из контроллера, при чтении - из м/с памяти.)
Первая проблема в том, что при приеме из памяти DQS передается "в фазе" с данными - т.е. фронт синхросигнала совпадает с фронтом (моментом переключения) данных, поэтому синхросигнал необходимо как минимум задержать. На сколько задерживать - в идеале зависит от требований setup/hold, но в реале к этому вносится еще и неопределенность, зависимая от разбросов на выходе м/с памяти, разброса дерева синхронизации и пр.неприятностей, которые могут возникнуть при передаче по плате (разбросы трасс, зависимость от последовательности символов). Если стремиться обеспечивать симметричные запасы для setup/hold, то задержка будет зависеть еще и от частоты.

Поскольку для задержки применили LUTы (в Spartan-3e не предусмотрено задержки входных сигналов), задержка которых +/- километр, требуется использовать схему калибровки, иначе требуемая задержка никогда не подберется точно. RLOC я так понимаю для того, чтобы оптимально разместить LUTы по отношению к IOB и друг к другу.

На низких частотах (в районе 100 МГц) еще возможно можно обойтись без приема по DQS, выполнив хороший расчет, но на нормальной частоте, под которую эта память спроектирована - никак.
На высоких частотах уже даже фиксированную задержку (которую можно достаточно точно откалибровать) не получается применять - требуется динамическая калибровка.

В конченом счете SPARTAN-3 это бюджетная серия с кууучей ограничений. Хотите от нее больше чем триггера с логикой - придется изучить нюансы и попотеть больше обычного, чтобы в результате было гладко.
Go to the top of the page
 
+Quote Post



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

 


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


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