Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: DDR2 в три слоя
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Работаем с трассировкой
Страницы: 1, 2
kappafrom
реально ли развести один чип DDR2 BGA-84 0.8mm с FPGA BGA 1.0mm на шестислойке с тремя сигнальными слоями (sig/gnd/sig//pwr/gnd/sig)? чипы располагаются рядом (5-10мм)
EvilWrecker
Покажите как ratsnest идут с фпга на память- тогда можно будет точно сказать. Но скорее всего ответ 99% положительный.
_Sergey_
Цитата(kappafrom @ Oct 7 2016, 15:09) *
реально ли развести один чип DDR2 BGA-84 0.8mm с FPGA BGA 1.0mm на шестислойке с тремя сигнальными слоями (sig/gnd/sig//pwr/gnd/sig)? чипы располагаются рядом (5-10мм)



DDR2 не является сильно критичным интерфейсом, думаю проблем особых не будет.
FPGA, как правило, позволяет свапить пины, да и чипу памяти обычно пофиг, куда какие биты приходят.
Так что условия - тепличные.. :biggrin:
kappafrom
Цитата(_Sergey_ @ Oct 7 2016, 15:20) *
DDR2 не является сильно критичным интерфейсом, думаю проблем особых не будет.
FPGA, как правило, позволяет свапить пины, да и чипу памяти обычно пофиг, куда какие биты приходят.

запускать планируется DDR2-800 (12.6Gb/s x16 total speed).
я так понял, что свапить можно только биты в каждом байте данных (за исключением DQ0, соответствующих маски и строба) и менять байты местами. плюс есть требования, что байт со своей маской и стробом должен быть уложен в своем слое. итого, если прикинуть с запасом на выравнивание : 1 слой - байт, 2 слой - байт, 3 слой - все остальное (наверное тяжеловато вместить будет, с учетом выравнивания).
EvilWrecker, если вас правильно понял, прилагаю картинку:

может ли Xilinx MIG помочь мне в мапировании и трассировке (как-то автоматизировать процесс)?
_Sergey_
А у вас точно DDR2?
EvilWrecker
По порядку:

1) У вас 16 битная планка, верно? Отвечено, пропустил

2) Для плис не нужно фиксировать первый бит

3)Да, желательно один байтлейн уместить в одном слое,

4) Да, картинка та которая нужна для оценки

5) Да, один байтлейн в одном слое, другой-в другом, и на адрес у вас останется 3 слоя. Итого 3 слоя laughing.gif

6) С той упаковкой как у вас могут быть проблемы в выравнивании- "автоматика" с вероятностью 99.99% не сработает, а геометрическими преобразованиями вы скорее всего не пользуетесь. Есть риск что не впишетесь в площадь- какая заложена точность выравнивания, какой импеданс трасс(40 или 50) и какая ширина выходит при этом?

Вообще мне кажется имеет смысл крутануть плану 90гр против часовой.
kappafrom
Цитата(_Sergey_ @ Oct 7 2016, 15:43) *
А у вас точно DDR2?

да, Micron MT47H128M16

Цитата(EvilWrecker @ Oct 7 2016, 15:46) *
По порядку:

1) У вас 16 битная планка, верно?

2) Для плис не нужно фиксировать первый бит

3)Да, желательно один байтлейн уместить в одном слое,

4) Да, картинка та которая нужна для оценки

5) Да, один байтлейн в одном слое, другой-в другом, и на адрес у вас останется 3 слоя. Итого 3 слоя laughing.gif

6) С той упаковкой как у вас могут быть проблемы в выравнивании- "автоматика" с вероятностью 99.99% не сработает, а геометрическими преобразованиями вы скорее всего не пользуетесь. Есть риск что не впишетесь в площадь- какая заложена точность выравнивания, какой импеданс трасс(40 или 50) и какая ширина выходит при этом?

Вообще мне кажется имеет смысл крутануть плану 90гр против часовой.

1) Да, 16 бит.
2) Хм, если так, то круто
...
6) трассы 50 Ом 0.1 мм
повернуть не хватает места, плюс сделал так из соображений что шина данных была как можно ближе к плисе
EvilWrecker
Цитата
повернуть не хватает места, плюс сделал так из соображений что шина данных была как можно ближе к плисе


Да ладно? А можно посмотреть то что слегка ниже планки(препятствие)? Должно влезать. Что касается толщины- 0.1мм это нормально. С какой точностью собираетесь выравнивать?

Супер близкий байтлейн к плис можете и не выровнять нормально.
kappafrom
Цитата(EvilWrecker @ Oct 7 2016, 15:55) *
Да ладно? А можно посмотреть то что слегка ниже планки(препятствие)? Должно влезать. Что касается толщины- 0.1мм это нормально. С какой точностью собираетесь выравнивать?

Супер близкий байтлейн к плис можете и не выровнять нормально.

data 200mils
addres/command/control 50mils
в старом проекте +/-2ps

вот если развернуть:


кстати вопрос, равнять участок линии от пина ПЛИС до пина памяти, а участок трассы от пина памяти до резистора подтяжки к VTT игнорируется, верно?
Uree
При таком положении не хватит слоев протянуть сигналы на левые три ряда.
EvilWrecker
Не видно что внизу все равно- но уверен что все встает без проблем: в указанную точность при таком развороте уложитесь без проблем. Если без разворота- скорее всего нет.

Цитата
При таком положении не хватит слоев протянуть сигналы на левые три ряда.


Только если все из них вести между шарами планки.

Цитата
кстати вопрос, равнять участок линии от пина ПЛИС до пина памяти, а участок трассы от пина памяти до резистора подтяжки к VTT игнорируется, верно?

Да.

А целиком платку можете показать?
Uree
Цитата(kappafrom @ Oct 7 2016, 15:08) *
...участок трассы от пина памяти до резистора подтяжки к VTT игнорируется, верно?


Не совсем игнорируется, обычно есть ограничение на макс. длину, но его не выполнить надо еще суметь.
EvilWrecker
Цитата
Не совсем игнорируется, обычно есть ограничение на макс. длину, но его не выполнить надо еще суметь.


Даже и комментировать смысла нет biggrin.gif В смысле, добавить нечего- а уж в случае DDR2 и подавно.
Uree
Так может лучше тогда промолчать? Или прет просто безудержно?

Кстати, в случае с одним чипом терминаторы не являются обязательными.
kappafrom
Цитата(Uree @ Oct 7 2016, 16:37) *
Кстати, в случае с одним чипом терминаторы не являются обязательными.

на множестве xilinx китов стоит один чип DDR2, но терминируют.
вот, к примеру SP601:

EvilWrecker
Цитата
Так может лучше тогда промолчать? Или прет просто безудержно?


Я человек простой- как вижу гур, сразу комментирую laughing.gif

kappafrom
мда, у меня top и bottom практически недоступны для трассировки, на одном внутреннем сигнальном слое не развести. наверное придется 8 слоев делать (4 сигнальных, два из них внутренние)
EvilWrecker
Цитата(kappafrom @ Oct 7 2016, 16:54) *
мда, у меня top и bottom практически недоступны для трассировки, на одном внутреннем сигнальном слое не развести. наверное придется 8 слоев делать (4 сигнальных, два из них внутренние)


Если сомневаетесь то не рискуйте- чтобы выравнивать в таком пространстве нужен специфический опыт. Его отсутствие- не зазорно.
kappafrom
так, а выравнивать два байта между собой не надо? если первый байт на топе, второй на третьем слое (у них один опорный план земли)
Uree
Additional Trace-Length Design Guidelines
• Match different DQ byte lanes to within 1in (2.5cm) of each other. A 1in trace-length
difference equates to 167ps of propagation delay. Thus, the timing budget must be
able to absorb 167ps for a 1in difference in byte-lane matching.
– Within a byte lane, match all DQ and DQS traces to within ±50 mil.
– Route data groups next to a VSS plane to minimize the return path/loop length.
• Maintain a solid ground reference (no splits, etc.) for each group to provide a Low-Z
return path; high-speed signals must not cross a plane split.
kappafrom
Цитата(Uree @ Oct 7 2016, 17:08) *
Additional Trace-Length Design Guidelines
• Match different DQ byte lanes to within 1in (2.5cm) of each other. A 1in trace-length
difference equates to 167ps of propagation delay. Thus, the timing budget must be
able to absorb 167ps for a 1in difference in byte-lane matching.
– Within a byte lane, match all DQ and DQS traces to within ±50 mil.
– Route data groups next to a VSS plane to minimize the return path/loop length.
• Maintain a solid ground reference (no splits, etc.) for each group to provide a Low-Z
return path; high-speed signals must not cross a plane split.

у меня вообще все дороги меньше этого допуска, это хорошо, байты равнять не нужно
Uree
Посмотрите TN4720 от Micron-a и подумайте, реально ли Вам нужна терминация. В случае топологии точка-точка она как пятое колесо в телеге.
kappafrom
Цитата(Uree @ Oct 7 2016, 17:50) *
Посмотрите TN4720 от Micron-a и подумайте, реально ли Вам нужна терминация. В случае топологии точка-точка она как пятое колесо в телеге.

сейчас гляну, было бы здорово избавиться от терминаторов
"To avoid the use of RTTtermination on
high-speed DDR2 the target address trace length should be 2.5in (63.5mm)or less. "
У меня милимметров 20-25 получится, вообще хорошо получается:

причем еще можно позволить себе своппинг внутри байта, очень хорошо.

остались вопросы:
1) кто-нибудь реально запускал на максимальной скорости без терминаторов при таких условиях?
2) это только Микрон такой крутой может работать без терминаторов при близко расположенных чипах? что будет, если я не смогу купить микрон и поставлю хендай, или самсунг, или Elpida пин-ту-пин совместимые
3) где почитать про нулевой бит байта (что для ПЛИС его можно свопить с остальными)
kappafrom
Какую схему vref использовать: vref резисторами получено из +1V8 отдельно для чипа памяти и для ПЛИС или один раз и vref-ы объединяются? У которого варианта большой недостаток - vref на чипе памяти выходит из нормы, когда во время конфигурации плис пуллапит IO пины.
Aner
Отвечу на ваш вопрос с первого поста. Не мучайтесь в 6 слоях, возмите 8 слойку. И потом, подвязку к питанию пуллапы не путайте с терминированием. Физика процесса разная.
kappafrom
Цитата(Aner @ Oct 8 2016, 14:54) *
Отвечу на ваш вопрос с первого поста. Не мучайтесь в 6 слоях, возмите 8 слойку. И потом, подвязку к питанию пуллапы не путайте с терминированием. Физика процесса разная.

Не путаю. С терминированием на VTT мы разобрались. Там другой вопрос вылез, есть еще пины VREF как и у плис так и у памяти. Их можно запитать от одного делителя напряжения или от двух разных. В документе xilinx по интерфейсам памяти видел заметку, что будьте внимательны, если стоит режим hswapen=0, то в момент конфигурации ПЛИС пуллапит пины к напряжению питания VCCAUX, которое в большинстве случаев 2.5-3.3V. Если делитель напряжения общий и ножки VREF обоих чипов объединены, то в момент конфигурации напряжение на ножке VREF ddr2 выходит за допустимые пределы, поскольку пин VREF плис - в том числе обычная IO во время конфигурации. По этой причине видел, что в некоторых проектах VREF для ПЛИС и памяти генерят отдельно двумя делителями. Вот решил узнать, как делают другие.
Насчет восьми слоев - оно сильно дороже? Если технология одна и та же (в процентах, ориентировочно).
aaarrr
Цитата(kappafrom @ Oct 7 2016, 17:53) *
1) кто-нибудь реально запускал на максимальной скорости без терминаторов при таких условиях?

Да, и даже на точно таком же стеке.

Цитата(kappafrom @ Oct 7 2016, 17:53) *
2) это только Микрон такой крутой может работать без терминаторов при близко расположенных чипах? что будет, если я не смогу купить микрон и
поставлю хендай, или самсунг, или Elpida пин-ту-пин совместимые

Одинаково справедливо для всех - электрические параметры регламентированы стандартом.

Цитата(kappafrom @ Oct 7 2016, 17:53) *
3) где почитать про нулевой бит байта (что для ПЛИС его можно свопить с остальными)

Забудьте про нулевой бит - у вас DDR2, а не DDR3.
kappafrom
Цитата(aaarrr @ Oct 9 2016, 13:42) *
Забудьте про нулевой бит - у вас DDR2, а не DDR3.

хорошо. в оригинале Design Implementation of DDR2 / DDR3 Interfaces:

в переводе PCBTech:

причем слайд одновременно относится к DDR2 / DDR3. это и смутило, подумал, что переводчики знали кое-что важное и дополнили перевод.
ок, значит все биты в пределах байтлэйна свапируемы.
Uree
Есть отличия между DDR2 и 3, поэтому описывать требования к ним в одном абзаце не совсем корректно. Процедуры write-leveling в DDR2 нет, поэтому все биты равны.
_Sergey_
Цитата(kappafrom @ Oct 7 2016, 16:54) *
мда, у меня top и bottom практически недоступны для трассировки, на одном внутреннем сигнальном слое не развести. наверное придется 8 слоев делать (4 сигнальных, два из них внутренние)



Что-то мешает вытащить крайние 2 ряда выводов у ПЛИС?
EvilWrecker
Цитата(_Sergey_ @ Oct 10 2016, 11:32) *
Что-то мешает вытащить крайние 2 ряда выводов у ПЛИС?


Наверное тот факт, что автор вместе с планкой двигает все остальное полностью сводя тем самым на нет весь смысл этого действия biggrin.gif
kappafrom
Цитата(_Sergey_ @ Oct 10 2016, 11:32) *
Что-то мешает вытащить крайние 2 ряда выводов у ПЛИС?

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

Цитата(EvilWrecker @ Oct 10 2016, 11:46) *
Наверное тот факт, что автор вместе с планкой двигает все остальное полностью сводя тем самым на нет весь смысл этого действия biggrin.gif

я дал памяти больший приоритет и перетасовал компоненты для оптимизации трасс
EvilWrecker
Цитата
ничего не мешает, немного жаль, что байт данных в трех рядах и, возможно, не все биты получится протащить по топу.


При вашей компоновке имеет смысл рассчитывать на "1 байтлейн- 1 слой", при этом под адреса и управление отведется 3 слоя, в т.ч те которые используются под байтлейны- итого 3 слоя.

Оба байтлейна чисто физически можно развести в топе(одном слое), но при текущей укладке не хватит места для этого с большой вероятностью.

Цитата
я дал памяти больший приоритет и перетасовал компоненты для оптимизации трасс


Если то что изображено на картинке "после" и есть оптимизация, то можно смело говорить о ее провале laughing.gif
kappafrom
Цитата(EvilWrecker @ Oct 10 2016, 12:10) *
Если то что изображено на картинке "после" и есть оптимизация, то можно смело говорить о ее провале laughing.gif

это без сваппинга пинов, оптимизация размещения. байтлэйн на слой - хорошая идея
EvilWrecker
Это вряд ли выполнимо в том месте где отмечены красным прямоугольником компоненты над планкой. Опять же, свапинг это хорошо- но расположение масок и стробов может сильно гемороя добавить для разводки в таком пространстве. Я бы ориентировался на один слой для одного байтлейна, причем там где компоненты над планкой- на внутренние слои.

UPDATE:Тьфу ты. Я перепутал картинки до и после. Полный бред вам втираю- а никто и не поправляет.

Удалять свою чушь с вашего позволения не буду- пусть люди посмеются biggrin.gif
kappafrom
а VREF DDR2 как получаете? делитель? один или два?

в TN4614 (Hardware Tips for Point-to-Point System Design: Termination, Layout,
and Routing) - почти все что нужно
aaarrr
Цитата(kappafrom @ Oct 10 2016, 12:32) *
а VREF DDR2 как получаете? делитель? один или два?

Поставьте два, если есть место. Но со стороны FPGA тоже есть нежелательные последствия включения pull-up'ов на Vref.
kappafrom
Цитата(aaarrr @ Oct 10 2016, 13:20) *
Поставьте два, если есть место. Но со стороны FPGA тоже есть нежелательные последствия включения pull-up'ов на Vref.

спасибо! полезное решение
kappafrom
резисторы к VTT выполняют только терминирующие свойства? в том плане, что не выполняют ли они дополнительно функций подтяжки? например, при конфигурации чипа при запуске питания.
т.е. могу ли я смело удалять весь ряд резисторов к VTT?

_Sergey_
Это лучше у схемотехника или ПЛИСовода уточнить..
aaarrr
Цитата(kappafrom @ Oct 10 2016, 14:46) *
т.е. могу ли я смело удалять весь ряд резисторов к VTT?

Именно так.
kappafrom
Цитата(_Sergey_ @ Oct 10 2016, 15:01) *
Это лучше у схемотехника или ПЛИСовода уточнить..

видел тут разработчиков, которые реальзовывали поинт-ту-поинт соединение без терминаторов, может увидят сообщение

Цитата(aaarrr @ Oct 10 2016, 15:08) *
Именно так.

спасибо.
даже линии nWE, nRAS и nCAS отключать? им наверное нужна какая-нибудь подтяжка, или так справятся?
_Sergey_
Я не готов со всей смелостью делать какие-то предположения на счет схемы, которую даже не видел.

ЗЫ:
Собственно именно поэтому я у вас переспросил - а точно ли это DDR2?
DDR3 предполагает терминацию адреса и управления.
aaarrr
Цитата(kappafrom @ Oct 10 2016, 15:10) *
даже линии nWE, nRAS и nCAS отключать? им наверное нужна какая-нибудь подтяжка, или так справятся?

И их тоже. Ничего не нужно.

Цитата(_Sergey_ @ Oct 10 2016, 15:18) *
DDR3 предполагает терминацию адреса и управления.

Как и DDR2. И точно так же может работать без терминации в некоторых конфигурациях.

На картинке точно DDR2 в 84-м корпусе.
kappafrom
Цитата(aaarrr @ Oct 10 2016, 13:20) *
Поставьте два, если есть место. Но со стороны FPGA тоже есть нежелательные последствия включения pull-up'ов на Vref.


как можно удерживать SYS_RST в High, пока конфигурация не завершена?
сгенерил API в MIG ISE: есть сигнал async_rst, который можно дернуть, но он доступен для изменения только после начала исполнения программы в ПЛИС (когда CFG_DONE). график некорректный или я что-то не понимаю?
aaarrr
Цитата(kappafrom @ Oct 10 2016, 16:17) *
сгенерил API в MIG ISE: есть сигнал async_rst, который можно дернуть, но он доступен для изменения только после начала исполнения программы в ПЛИС (когда CFG_DONE). график некорректный или я что-то не понимаю?

Поищите сигнал sys_rst_i. Вы должны сами сформировать нужную задержку, естественно, после загрузки ПЛИС.
kappafrom
Цитата(EvilWrecker @ Oct 10 2016, 12:10) *
При вашей компоновке имеет смысл рассчитывать на "1 байтлейн- 1 слой"

как я не изъеживался, как я ни старался - не получается впихнуть.
смотрю киты - xilinx (sp601) разводит байтлейны на соседних слоях, не разделенных референсным плейном - тем не менее работает.
EvilWrecker
Цитата(kappafrom @ Oct 10 2016, 21:15) *
как я не изъеживался, как я ни старался - не получается впихнуть.


Покажите что получается- в частности как стоит планка в настоящий момент.
MapPoo
Цитата(kappafrom @ Oct 10 2016, 20:15) *
смотрю киты - xilinx (sp601)

У ксайлинкса вообще некоторые борды странные.
К примеру, в kc705, у них адреса разведены по 4(!) слоям... И ведь работает... А людям теперь страдать... Мне в при таком же размещении сигналов ddr3 в плисине нужно развести память... Плисовод упирается и говорит, что "гарантированно работает же у них!" maniac.gif Времени, конечно, у него нет, но... Даже внутрибайтно посвапить уговорить не получается... rolleyes.gif
EL_Alex
Здравствуйте. Мне удалось развести 16-битный чип в 3-х слоях + 4-й слой под терминирование. Разводка деревом.
Собственно вот:
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
Если интересно, могу пояснить, что куда.
Терминирование считаю обязательным, но тогда в 3-х слоях 16-ти битный чип развести сложно.
Нажмите для просмотра прикрепленного файла
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.