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

 
 
 
Reply to this topicStart new topic
> А зачем 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
Koluchiy
сообщение Aug 22 2010, 08:22
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Немного оффтоп.

Я тут попытался организовать работу Microblaze с SDRAM через MPMC (многопортовый контроллер памяти).
Очень странно глючит, при этом при компиляции не дает повесить на SDRAM-ные ноги ЧипСкоп, страшно ругаясь.
При этом, старенький SDRAM Controller, подключаемый через OPB, прекрасно работает и вешать Чипскоп на ноги дает...

Spartan-3, если что.

Кто-нибудь пробовал работать с SDRAM через mpmc на Spartan-3?

Сообщение отредактировал Koluchiy - Aug 22 2010, 08:28
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Aug 22 2010, 12:54
Сообщение #3


Знающий
****

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



О каком стареньком SDRAM контроллере идет речь?
Go to the top of the page
 
+Quote Post
Gothard
сообщение Aug 23 2010, 05:42
Сообщение #4


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

Группа: Свой
Сообщений: 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
Timmy
сообщение Aug 23 2010, 05:50
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



В MIG на лутах сделали DLL для калиброванной задержки DQS-ов. Эта конструкция требует очень высокой точности таймингов, поэтому все жестко законстрейнено. DCM эквивалентной функциональности не предоставляет, так как ему нужен периодический сигнал на входе. Сигнал обратной связи с выходного клока на SDRAM, который вводят на такие платы, не заменяет DQS, так как потенциальную ошибку добавляет чип SDRAM, в результате кривоватая система из MIGa вполне может работать лучше. Есть, правда, еще вариант включить DCM с динамическим фазовым сдвигом, и с его помощью читать DQSы, корректируя сдвиг таким образом, чтобы фронты DQSов попадали на фронты клока с DCM, а другим, сдвинутым на 90 градусов, клоком тактировать входы DQ. Проблема в том, что из MIGа вроде нельзя выдрать его DQS систему, и заменить на свою.
По-человечески можно сделать только при наличии dedicated DQS цепей, как в stratix2 или ecp2, например.
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Aug 23 2010, 08:40
Сообщение #6


Знающий
****

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



Спасибо ответившим, картина стала яснее.

QUOTE (Gothard @ Aug 23 2010, 09:42) *
В конченом счете SPARTAN-3 это бюджетная серия с кууучей ограничений...

Занес в цитатник.

QUOTE (Timmy @ Aug 23 2010, 09:50) *
Есть, правда, еще вариант включить DCM с динамическим фазовым сдвигом.

Такой подход мне больше нравится. Да и шаг сдвига фазы у DCM не в пример меньше, чем на LUT-ах выходит.

Полистал исходники, которые генерит MiG и user guide в избранных местах.
Похоже, что дело не только в DQS, он еще и каждый бит данных индивидуально калибрует.
То есть, с одной стороны это хорошо, можно экономить время и площадь печатной платы.
Но с другой - тратится драгоценная в дешевых FPGA площадь.
Даже не знаю как правильно. Наверное два или три варианта ядра закрыли бы тему.
Go to the top of the page
 
+Quote Post
Gothard
сообщение Aug 23 2010, 10:15
Сообщение #7


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

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



Цитата(Shtirlits @ Aug 23 2010, 12:40) *
Такой подход мне больше нравится. Да и шаг сдвига фазы у DCM не в пример меньше, чем на LUT-ах выходит.

Есть нюанс - при работе с несколькими корпусами м/с памяти будет разброс сигналов DQS. Какой - неизвестно. Вероятно небольшой, но наверняка вы это сказать не можете. Если разброс все же окажется большим, то что тогда будет?
Перед выбором решения неплохо бы расчет произвести.
P.S. кстати - какая у вас частота работы с памятью?

Сообщение отредактировал Gothard - Aug 23 2010, 10:16
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Aug 23 2010, 10:34
Сообщение #8


Знающий
****

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



Ясное дело, при большом разбросе DCM-ов будет сколько корпусов, точнее сколько сигналов DQS. И каждый нужно калибровать.
Есть надежда, что в природе существует список мероприятний, выполнение которых обеспечивает достаточно низкий разброс.

PS: В конкретном проекте частоту я еще не знаю, но для примера взятая MT46V64M8 может 77-133MHz и я не представляю, как и что там будет на печатной плате.
Go to the top of the page
 
+Quote Post

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

 


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


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