Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Согласование ПЛИС <=> DDR SDRAM
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
v_mirgorodsky
Добрый день всеуважаемый ALL!

Есть пара чипов DDR SDRAM и ПЛИС. Общепринятая схема включения DDR SDRAM содержит резисторы последовательной терминации, резисторы подтяжек к напряжению терминации и параллельно резисторам подтяжек к напряжению терминации фильтрующие конденсаторы к напряжению терминации в количестве один конденсатор на два резистора. Короче, на 16Mx16 чип требуется порядка 100 cranky.gif дискретных элементов. Конечно, положение немного спасают малогабаритные резисторные и конденсаторные сборки, но в любом случае, дополнительных элементов очень много sad.gif

Вот, собственно, и возник вопрос - какими из дискретных элементов можно пожертвовать ввиду очень коротких дорожек от ПЛИС до памяти, а какие из них относятся к схеме включения SSTL-II выводов.
Gorby
Цитата(v_mirgorodsky @ Oct 3 2005, 13:42)
Добрый день всеуважаемый ALL!


Вот, собственно, и возник вопрос - какими из дискретных элементов можно пожертвовать ввиду очень коротких дорожек от ПЛИС до памяти, а какие из них относятся к схеме включения SSTL-II выводов.
*


Я бы не ставил последовательные резисторы, обязательно при этом используя SSTL2-1 а не SSTL2-II выход. Обязательно промоделируйте в HyperLynx, это несложно. Другое дело, что на этих резисторах очень удобно щупами ставать... Также для одной микросхемы вовсе необязательно ставить конденсаторы на терминацию так часто. И одного на 5 линий достаточно. ТОлько не забудьте небольшие танталы тоже поставить по 33-47 мкф (одного-двух хватит). Также по всем питаниям (и терминации) знатоки рекомендуют обычные алюминиевые трухольные электролиты типа 470 - 1000 мкф 6 В. И ПЛИСке тоже это не повредит.
v_mirgorodsky
Спасибо, Gorby. Половину фильтрующих конденсаторы уже почикали smile.gif Будем надеяться, что оно будет работать нормально.

На сколько я понял, резисторы подтяжек к напряжению терминации являются обязательными - верно?

Танталы в непосредственной близости от микросхем памяти предусмотрели, правда из-за нехватки места поставили по одному 22uF super low-esr на корпус, будем надеяться, что им хватит smile.gif
Andrey Filippov
Здесь и схема, и Гербер. Все (серийно) работает (Spartan3 + DDR SDRAM)
http://www.elphel.com/3fhlo/10333/10333c.pdf
Gorby
Цитата(Andrey Filippov @ Oct 8 2005, 03:49)
Здесь и схема, и Гербер. Все (серийно) работает (Spartan3 + DDR SDRAM)
http://www.elphel.com/3fhlo/10333/10333c.pdf
*


Я очень рад, что работает. Только не забываем, что Спартан 3 умеет управлять импедансом своих выходов, что позволяет не ставить последовательные согласующие резисторы даже если они там и нужны были бы например для 2-го Спартана.
v_mirgorodsky
Цитата(Andrey Filippov @ Oct 8 2005, 02:49)
Здесь и схема, и Гербер. Все (серийно) работает (Spartan3 + DDR SDRAM)
http://www.elphel.com/3fhlo/10333/10333c.pdf
*


Вот, собственно, Ваша схема и вызывает наибольшее количество вопросов. Вся теория, которую видел до сих пор, говорит о необходимости подтягивающих резисторов к напряжению терминации, а у Вас их нет cranky.gif При чем в документации на микроновскую память было сказано, что это не столько согласование, как елемент включения выходного драйвера в режиме SSTL-II. Вот это-то и вызывает самое большое недоумение - как оно работает? Однозначно - против практики не попрешь.

В любом случае, наш Cyclone-II не умеет управлять импедансом своих выходов, а потому резисторы последовательной терминации мы все же поставим, а потом попробуем включить плату не запаивая подтягивающих резисторных сборок и их фильтрующих конденсаторов. Если будет у нас работать, то в окончательной версии платы почикаем подтяжки и уменьшим размеры платы или освободим немного места smile.gif
3.14
2 v_mirgorodsky
А Cyclone-II может управлять выходным током драйвера. Наример у Spartan2 можно пин сконфигурить на 2/4/6/8/12/16/24 мА. В принципе, этого уже достаточно чтобы согласовать.
v_mirgorodsky
Цитата(3.14 @ Oct 10 2005, 15:10)
2 v_mirgorodsky
А Cyclone-II может управлять выходным током драйвера. Наример у Spartan2 можно пин сконфигурить на 2/4/6/8/12/16/24 мА. В принципе, этого уже достаточно чтобы согласовать.
*


Как бы да, но дискретность для Cyclone II достаточно большая, следовательно согласование будет не всегда точным, как в случае со Spartan-ом. Потому, наверное, мы таки оставим series termination резисторы и попробуем взлететь без резисторов подтяжек. Парралельно попробуем вместо согласующих последовательных резисторов поставить закоротки и посмотреть как это оживет. Просто отлаживать дизайн без надлежащей терминации может оказаться мучительно - при возникновении ошибок не понятно на кого грешить - плохое согласование сигналов или лажа в VHDL-коде.

bb-offtopic.gif
BTW, есть ли у кого материаллы по трассировке DDR памяти? Я как бы понимаю, что вопросы разводки обсуждаются в другом форуме, но считаю что для полноты дискусси было бы полезно оставить какую-то часть материала в этой ветке.
Avlad
У меня тут в небольшом проекте тоже Cyclone EP1C3 и одна микросхемка 8x SDRAM. Длина всех дорожек шины данных, DQS и DM от FPGA до SDRAM примерно одинаковая - по 15 мм. Шина адреса и управления чуть подлиннее - по 25 мм.
Двухслойка, вся сигнальная разводка в верхнем слое без переходных отверстий, снизу - полигоны земли и толстые дорожки питания, никаких резисторов, тактовая 80 МГц - работает надежно. Проверил повышением частоты тактирования до 120 МГц - продолжает работать без сбоев, так что 80 МГц в серии проблем не вызывает.
Andrey Filippov
Цитата(v_mirgorodsky @ Oct 8 2005, 12:27)
Вот, собственно, Ваша схема и вызывает наибольшее количество вопросов. Вся теория, которую видел до сих пор, говорит о необходимости подтягивающих резисторов к напряжению терминации, а у Вас их нет cranky.gif При чем в документации на микроновскую память было сказано, что это не столько согласование, как елемент включения выходного драйвера в режиме SSTL-II. Вот это-то и вызывает самое большое недоумение - как оно работает? Однозначно - против практики не попрешь.

Извините - долго не отвечал, не так часто здесь бываю. Если что пишите на elphel.com - на info или andrey
Параллельная терминация уже есть внутри Spartan-3 http://direct.xilinx.com/bvdocs/publications/ds099.pdf
Посмотрите поиском по строке "Split resistors with output driver impedance" - там будет картинка. Еще можно поскакать поиском по строке "Digitally Controlled Impedance" - там будет явно написано, что необходимые резисторы уже внутри. Так что схема работает не только "по практике", но и по теории тоже - давно прошли времена, когда работает-не работает приходилось проверять на макетке.

PS. У нас проблемы с сервером, так что схемы, на которые я ссылался, теперь не по http://www.elphel.com/3fhlo/10333/10333c.pdf, а по http://www2.elphel.com/3fhlo/10333/10333c.pdf

Андрей
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.