Полная версия этой страницы:
DDR3-Spartan6
Трассирую DDR3-Spartan6. Так вот, в ихнем ките, трассы страссированы с импедансом 43 Ом. Причем, в стекапэидиторе заложен импеданс 45 Ом при толщине дорожки 3 мил. А реально страссировано с толщиной 3.3 тоесть 43 Ом. Промоделировал я этот кит в Huperlynx, получается уменьшение импеданса позволяет уменьшить овершоты., и таким образом вложиться в зону Vac -Vdc. Тогда я не пойму зачем писать в рекомендациях про 50 Ом импеданса. Понятное дело что понизив импеданс, можно снизить отражение сигнала от несогласованной линии, ток микросхемы греться жутко будут.
А Вы в доки по чипам DDR-3 посмотрите, в раздел ODT - там как раз варианты терминации расписаны. И да, похоже наилучшие условия для работы этой памяти при импедансе трасс около 40 Ом. А рекомендации они же общие, там же не написано, что именно интерфейс памяти нужно трассировать с 50 Ом импедансом.
ЗЫ Но проблема с импедансом трасс в ДДР3 самая маленькая из проблем... Вот идеология выравниваний там жесткая, описать их, а потом еще и соблюсти в дизайне куда сложнее, чем просто высчитать какой должен быть импеданс дорожек.
Спасибо. вспомнил, у micron была апликуха по этому поводу, только вот теперь ее не найти. При 42 Ом с внутренней терминацией на стороне спартана, можно получить 25 mv запаса. Думаю, помех таких сильных у меня не будет.
Ко всем вопрос. А я тут немного не в теме: а почему так народ двинулся к DDR-3? Разве DDR-2 уже не в моде или совсем не производится?
В чём необходимость использовать именно данный тип памяти?
Все как обычно зависит... У нас например новые процы, закладываемые в проекты уже имеют на борту контроллер ДДР-3, а не ДДР-2, как раньше. Собственно выбора не остается

А кому-то может понадобиться пропускная способность, бОльшая чем у ДДР-2. Да мало ли, причин может быть множество.
Цитата(Uree @ Jun 1 2011, 16:04)

Все как обычно зависит... У нас например новые процы, закладываемые в проекты уже имеют на борту контроллер ДДР-3, а не ДДР-2, как раньше. Собственно выбора не остается

А кому-то может понадобиться пропускная способность, бОльшая чем у ДДР-2. Да мало ли, причин может быть множество.
Я так осторожно скажу: я сомневаюсь, что много проектов будут требовать использования памяти с большой пропускной способность.
Понятно с контроллером. Или, например, если цена за микросхему памяти DDR2 и DDR3 одинаковая.
Хотя с другой стороны, это тенденция уж не одно десятилетие продолжается. Помню по компьютерной технике, как производители принудительно переводили RAM->SDRAM->DDR SDRAM и т.д.
Сорри, уже офтоп.
Цитата(Volkov @ Jun 1 2011, 18:52)

Спасибо. вспомнил, у micron была апликуха по этому поводу, только вот теперь ее не найти.
Возможно,
TN4614 имелся ввиду.
Да нет, это сильно устаревшая инфа - 2006 год, просто DDR, даже не вторая... Рекомендации по трассировке DDR-3 немного описаны в TN-4108. Правда там все для двух модулей, но идеология не меняется.
Кстати, в этом аппноте как раз 40 Ом указаны в качестве target impedance.
На счет описания вполне согласен.
тут, прямая зависимость целостности сигнала и верменных интервалов. Скажем, обычные рекомендации - мол эти группы столько, адреса столько, подходят для идеального сигнала. А для реального еще нужно посмотреть, сколько сигнал удерживается в vAC, не меньше ли это время чем tDS, ну еще и удержать его на время tDH в vDC. А по середине должен быть DQS. Как я понимаю.
Koluchiy
Jun 1 2011, 19:43
Цитата(vicnic @ Jun 1 2011, 15:50)

Ко всем вопрос. А я тут немного не в теме: а почему так народ двинулся к DDR-3? Разве DDR-2 уже не в моде или совсем не производится?
В чём необходимость использовать именно данный тип памяти?
В каком-то смысле дело действительно в моде.
Типа, считается, что сейчас новый, быстрый и потому актуальный DDR3.
И применительно например к Xilinx'у, эти граждане начинают клепать свои киты исключительно с DDR3.
А если проект опробован на ките с DDR3, то в реальную плату вместо него втыкать DDR2 - это уже менять проект, что не всегда допустимо.
Применительно к Virtex-6, поставить несколько контроллеров DDR стандартными средствами можно только для DDR3, для DDR2 программную поддержку они не сделали. Можно "ручками", но соответствие всех условий (3 страницы мелким шрифтом) сверяй сам.
gosu-art
Jun 6 2011, 07:33
А вы бы не могли выложить какой нибудь пример разводки ДДР3?
UPD: 2 Uree Спасибо!
Цитата(gosu-art @ Jun 6 2011, 09:33)

А вы бы не могли выложить какой нибудь пример разводки ДДР3?
Смотрите.
Нажмите для просмотра прикрепленного файла
gosu-art
Sep 5 2011, 05:28
Цитата(Uree @ Jun 6 2011, 12:20)

Здравствуйте
Uree! А у Вас есть такой же пример DIMM'a но только для ДДР2

?
Так навскидку - нет. По крайней мере не помню, чтобы был. Да собственно на ДДР2 особо и не нужен. Там значительно мягче требования чем в ДДР3. Адреса - Т-образные, без выравнивания, лишь бы не петлями. Данные выравнять по-байтно, но без фанатизма, 100-150пс с головой хватит(а это 1.5-2см разницы в длинах) - попробуйте испортить такое "выравнивание":)
ЗЫ Нашел, где это брал

Открывайте
тут и смотрите по всем ссылкам. В основном они без регистрации не работают, но некоторые доступны просто так.
Успехов!
gosu-art
Sep 5 2011, 07:09
Цитата(Uree @ Sep 5 2011, 11:00)

Так навскидку - нет. По крайней мере не помню, чтобы был. Да собственно на ДДР2 особо и не нужен. Там значительно мягче требования чем в ДДР3. Адреса - Т-образные, без выравнивания, лишь бы не петлями. Данные выравнять по-байтно, но без фанатизма, 100-150пс с головой хватит(а это 1.5-2см разницы в длинах) - попробуйте испортить такое "выравнивание":)
Мне просто топологию показать конструктору! А то надоело рукой его водить)) С ддр3 очень хороший пример, но решили пока ддр2 обойтись (психологически начальство пока не готово

).
Цитата(gosu-art @ Sep 5 2011, 09:09)

Мне просто топологию показать конструктору!
Топология в доке приведена, страница 7 и 13(для клоков). Да и остальные вещи, которые стоит соблюдать тоже описаны.
Нажмите для просмотра прикрепленного файлаЕще здесь есть полезные данные:
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла
Примеры топологии DIMM и SO-DIMM модулей c DDR3 есть на сайте
JEDEC. Только регистрироваться надо. Для DIMM DDR2 есть даже файл платы, сделанный в allegro.
Ant_m, невнимательно читаете. Я уже ссылку на JEDEC привел. И не все там закрыто регистрацией, есть и свободно доступные вещи. Собственно я дизайны оттуда и стягивал... Не помогли правда, но это уже другой вопрос.
UreeПрошу прощения за кросспост, по вашей ссылке не ходил, поэтому не видел что она ведет на jedec.
Просматривая дизайн DDR3 модулей обратил внимание что дифф. пара частоты синхронизации шунтируется конденсатором несколько пФ.
Так ли необходим этот конденсатор или можно обойтись без него? Тем более у меня топология простая:
один контроллер - один чип памяти.
Понятно что нужно это смоделировать, но до этого дойду только через несколько недель, когда плата будет в более-менее готовом виде...
Нажмите для просмотра прикрепленного файла
ClayMan
Sep 6 2011, 12:43
Цитата
Понятно что нужно это смоделировать, но до этого дойду только через несколько недель, когда плата будет в более-менее готовом виде...
А в HyperLynx LineSim если попробовать смоделировать подобную линию передачи? Это можно сделать и на этапе пред-топологического анализа по идее.
dmitry-tomsk
Nov 29 2011, 13:02
Подскажите,пожалуйста,нужныди терминаторы на CKE и ODT?
dmitry-tomsk
Nov 29 2011, 19:34
Цитата(Ant_m @ Nov 29 2011, 21:01)

Да, нужны.
В руководстве на S-6 сказано 4.7 к на землю. Там что, не параллельная терминация?
И ещё, сколько рекомендуемый уровень кросстоков если замерять в HL?
Мы оба частично не правы

Извиняюсь вчера ответил почти не подумав.
ODT - терминация нужна.
CKE - резистор 4,7к в землю.
Цитата
For DDR3 memory devices, the RESET and CKE signals should each have a 4.7 kΩ
resistor to ground to ensure that these signals are Low during memory initialization.
• For DDR2 memory devices, the ODT and CKE signals should each have a 4.7 kΩ
resistor to ground to ensure that these signals are Low during memory initialization.
Вот еще, рекомендации на DDR3 интрефейс V6:
Цитата
The RESET and CKE signals are not terminated. These signals should be pulled down
during memory initialization with a 4.7 kΩ resistor connected to GND.
dmitry-tomsk
Nov 30 2011, 08:03
Цитата(Ant_m @ Nov 30 2011, 08:35)

Мы оба частично не правы

Извиняюсь вчера ответил почти не подумав.
ODT - терминация нужна.
CKE - резистор 4,7к в землю.
Вот еще, рекомендации на DDR3 интрефейс V6:
Спасибо!
dmitry-tomsk
Dec 1 2011, 19:24
Кто-нибудь пробовал в Hyperlynx проверять SI? У меня в направлении плис память на dq всё в норме, а обратно провал какой-то огромный. Модель использовал ту что ise генерит. Никто не знает в чём дело?
Нажмите для просмотра прикрепленного файла
gosu-art
Dec 2 2011, 05:05
Я тоже пытался моделировать это дело
http://electronix.ru/forum/index.php?s=&am...st&p=988558, только для SDRAM. И там так же в направлении FPGA<--SDRAM всякая хрень. Может у памяти более мощные буфера на выходе.
Проверяйте модели. Проблема либо в неправильном ODT, либо неправильный буфер в модели ПЛИС. Про модели Спартана сказать не могу, но например для Виртекса, модели SSTL15_DCI есть
только вход и
только выход. Двунаправленной модели нет. Поэтому приходится руками указывать нужную модель.
Нажмите для просмотра прикрепленного файлаЗ.Ы. Моделировано не в гиперлинксе. Индекс i - сигнал внутри корпуса(или на кристалле).
Для DDR3 вроде как на младший разряд повесили дополнительную функцию - участие в процедуре write-leveling: "The prime DQ for a x16 configuration is DQ0 for the lower byte and DQ8 for the upper byte. It outputs the status of CK sampled by LDQS and UDQS. All other DQ (DQ[7:1], DQ[15:9]) continue to drive LOW. Two prime DQ on a x16 enable each byte lane to be leveled independently (стр.119 прикрепленного документа)". Получается что младший разряд свапировать на другие разряды нельзя? Можно ли свапировать другие разряды внутри байта между собой?
Цитата(Alexer @ Dec 7 2011, 19:38)

Для DDR3 вроде как на младший разряд повесили дополнительную функцию - участие в процедуре write-leveling: ...............
........... Получается что младший разряд свапировать на другие разряды нельзя? Можно ли свапировать другие разряды внутри байта между собой?
Вообще, вопрос конечно интересный

Ответ такой - в
общем виде у DQ0 и
DQ7 DQ8 менять расположение нельзя. А если погрузиться в частности, то Spartan6 не поддерживает write-leveling

Write-leveling требуется
только тогда когда на шине адреса висит
много микросхем памяти. Т. е к
одному контроллеру подключено от 2-х микросхем. А это, для Spartan6 не возможно - у него даже нет сигнала CS# для памяти...
Так-что можете смело менять данные как вам угодно.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.