Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Опять DDR3. прошу консультацию
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Работаем с трассировкой
Страницы: 1, 2
yes
случилось так, что мне нужно "верифицировать" разводку i.mx6-DDR3
причем времени нет, ну и сказать, что мне нужно время разбираться - не могу (осваивать hyperlynx или читать "черную магию" придется позже)

форум я почитал, много вопросов похожие, но квалификации у меня для понимания недостаточно

разводка выполнена по рекомендациям в i.MX 6 Series Layout Recommendations (IMX6DQ6SDLHDG.pdf) и в какой-то (достаточно слабой, по моему) мере копирует SABRE
то есть констрейны в виде: длина дорожек и одинаковое кол-во via

4 чипа ddr3 (LVDDR3-1066 - хотелось бы), два на одной стороне, два на другой

T-образные адрес/управление
байты выровнены внутри, но не между собой (то есть предполагается read/write leveling)

разводка в PADS, 12 слоев

-----------------------

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

нарушено правило в прохождении группы сигналов в одном слое (вообще непонятно - как его исполнить при наличии микросхем на разных сторонах), то есть количество via в группе одинаковое, но есть ситуации, когда "плечи" в via разные - то есть, сигнал (тип подключения Т, на все ddr : адреса, например) идет, например, по 3-му слою, а потом уходит на топ (2 перехода) и ботом (9 переходов) к DDR чипам
нужно ли это учитывать при выравнивании длины?
PADS не учитывает via/переходы, как этому научить Hyperlynx(?) я не понял

можно это оставить?
если нет - как пересчитать "часть" via в длину дорожки?

---------------------

я предполагаю, что скорость распространения сигналов одинакова (не важно какая, например, 7пс на мм) поэтому собираюсь просто проверить длину проводников

какие-то внутренние задержки чипов i.mx|ddr хочу считать выровненными

расстановка компонентов, терминаторов и "общая" трассировка соответствуют SABRE

--------------------

что не так?
что еще можно/нужно сделать?
в условиях ограниченного времени (1-2 дня)? ну то есть отказ от производства платы очень не желателен и должен быть сильно аргументирован, а производство неработоспособной платы еще хуже sm.gif
_Sergey_
Вообще 533МГц позволяют не мало в плане разброса длин.

Если плата соответствует рекомендациям, то почему вы волнуетесь?
yes
не имею опыта разработки плат с DDR3. да и вообще - вопросы про плату мне случайно попали, не моя область (была).
_Sergey_
ИМХО, самое критичное - длины. Производитель задержки внутри чипа не сообщает, а по сему требует от нас достаточно жесткого соблюдения равенства длин. Ну и границы плейнов не пересекать.

Из своего опыта работы с iMX, два чипа DDR3-800 - завелось сразу, делал по рекомендациям. Большей частоты не требовалось.

Также из своего опыта - раньше на бумажке в табличке проверял длины.. sm.gif
Ant_m
Цитата
что мне не нравится - диференциальные и синглэндные дорожки одинаковой толщины - то есть импеданс ~50 Ом на топе-ботоме, и ~40 Ом на внутренних.
уменьшать ширину дорожек (как бы) нельзя по тех. нормам

Есть документы типа jedec или микрон в которых для борьбы с выбросом при переключении рекомендуют понижать импеданс трасс до 40-45 Ом.
Так что это нормально.
А вот импеданс разный это хуже. Но, опять же - не так уж и страшно.

Цитата
нарушено правило в прохождении группы сигналов в одном слое (вообще непонятно - как его исполнить при наличии микросхем на разных сторонах), то есть количество via в группе одинаковое, но есть ситуации, когда "плечи" в via разные - то есть, сигнал (тип подключения Т, на все ddr : адреса, например) идет, например, по 3-му слою, а потом уходит на топ (2 перехода) и ботом (9 переходов) к DDR чипам
нужно ли это учитывать при выравнивании длины?

Если это только адресные, то можно до определенной меры "забить" - там скорости ниже, чем на данных.

А вообще... с точки зрения бюрократии (и перекладывания ответственности) blush.gif
Попросите тополога предоставить вам документ в котором считается временной бюджет. Для проверки.
Если такого документа нет, то попросите обосновать руководствуясь чем он этот кусок трассировал.
Если это некий app note, то спрашивайте почему были сделаны отклонения от app note и чем они обоснованы (временной бюджет?sm.gif)
С зазорами между трассами примерно также требовать обоснование.
С землями и питанием проще - можно на глазок оценить.
HardJoker
Цитата(yes @ Apr 21 2016, 19:30) *
случилось так, что мне нужно "верифицировать" разводку i.mx6-DDR3
причем времени нет, ну и сказать, что мне нужно время разбираться - не могу (осваивать hyperlynx или читать "черную магию" придется позже)

4 чипа ddr3 (LVDDR3-1066 - хотелось бы), два на одной стороне, два на другой

T-образные адрес/управление
байты выровнены внутри, но не между собой (то есть предполагается read/write leveling)

разводка в PADS, 12 слоев


Чипы по двум сторонам - обязательно? И зачем T-звено для DDR3? Почему нельзя адреса обойти последовательно? Примерно такую же задачу, но для двух каналов DDR3 решил за счет 16-ти слоев. Все сигналы внутри платы с обязательной парой опорных. Получилось надежно и компактно.
PCBtech
Цитата(yes @ Apr 21 2016, 19:30) *
случилось так, что мне нужно "верифицировать" разводку i.mx6-DDR3
причем времени нет, ну и сказать, что мне нужно время разбираться - не могу (осваивать hyperlynx или читать "черную магию" придется позже)


Можем верифицировать ваш проект DDR,
стоимость работы можем включить в стоимость заказа у нас печатной платы.
На входе - схема, список критических цепей, app.note от производителя, номиналы питаний, токи потребления основных микросхем, и проект.
На выходе получите результаты моделирования и рекомендации по изменению полигонов, фильтрующих конденсаторов по питанию, трассировки сигналов, возможно, указание на ошибки в схемотехнике.

Моделирование выполняем в симуляторе Cadence Sigrity.
Проект прошу экспортировать из Pads в ODB++ с именами цепей.
fill
Цитата(yes @ Apr 21 2016, 19:30) *
PADS не учитывает via/переходы, как этому научить Hyperlynx(?) я не понял


Вот вам пример построение тестовой структуры (на два приемника) и как видите видна разница в сигнале на приемниках.
Нажмите для просмотра прикрепленного файла
В BoardSim плечи внутри via также учитываются автоматом.
yes
Цитата(fill @ Apr 26 2016, 17:39) *
Вот вам пример построение тестовой структуры (на два приемника) и как видите видна разница в сигнале на приемниках.


Спасибо. Я не успел разобраться в Hyperlynx-е, чтобы самому такое нарисовать - буду разбираться sm.gif



Цитата(PCBtech @ Apr 23 2016, 10:48) *
Можем верифицировать ваш проект DDR,


хотелось бы самим научиться. просто неудачный скедьюл получился - вначале плата, а потом учиться sm.gif
тем более заказчик и производство у нас не "у нас" (это обязательное условие), поэтому могла бы быть только консультация
но с этим проектом уже нет времени...



Цитата(HardJoker @ Apr 23 2016, 00:06) *
Чипы по двум сторонам - обязательно? И зачем T-звено для DDR3? Почему нельзя адреса обойти последовательно? Примерно такую же задачу, но для двух каналов DDR3 решил за счет 16-ти слоев. Все сигналы внутри платы с обязательной парой опорных. Получилось надежно и компактно.


чипы по 2м сторонам для экономии места. вроде никто не запрещает Т использовать. Fly-by это, как я понял, для облегчения жизни производителям линеек памяти.
есть несколько реф. дизайнов с таким расположением (ну вернее они все копии с SABRE от Freescale), там 8 слоев.

HardJoker
Цитата(yes @ Apr 26 2016, 19:56) *
чипы по 2м сторонам для экономии места. вроде никто не запрещает Т использовать. Fly-by это, как я понял, для облегчения жизни производителям линеек памяти.
есть несколько реф. дизайнов с таким расположением (ну вернее они все копии с SABRE от Freescale), там 8 слоев.


T-звено никто не запрещал, но это лишнее via и доп.отражения. Хорошие доки по DDRx, как не странно, можно найти у Марвела (DDR3 стр.50-69)
Ant_m
Еще в догонку, если используется leveling, то отследите чтобы 0 (или 7, не помню) бит в байте на контроллере приходил на соответствующий 0 (или 7) бит памяти. Он используется для калибровки. Подробней ищите в доках микрона.
yes
спасибо,

я тут распечатал длины дорожек (может кому-то такой скрипт для PADS ROUTERа нужен?)

прошу прощения за занудство - взгляните - может нужно добавить по тактовым сигналам немного? там два тактовых, каждый ветвится на 2 микросхемы DDR (на топ и ботом) + терминатор в конце

длина тактовых по 51мм

а вот разброс по адресу/управлению из референса
Clock (min) – 200, Clock (min)

то есть я так понимаю, что CLOCK должен быть длиннее любого сигнала, причем может быть значительно длиннее
Clock (min) – 200 - это -200, я понимаю 200милс, то есть почти на 5мм можно делать CLOCK длиннее

(см ниже NCS, да и адреса впритык)
????


чтоб текстовым мусором не забивать, привожу некоторые цепи (с бОльшим разбросом)

-------------------------------------------
NDQS0 : length 26.000000271 : vias 0
DQS0 : length 26.0000019709 : vias 0
DM0 : length 26.0000007543 : vias 2
DDR_D0 : length 26.0000003697 : vias 2
...
NDQS1 : length 19.8000012992 : vias 0
DQS1 : length 19.8000003624 : vias 0
DM1 : length 19.8000012685 : vias 2
DDR_D8 : length 19.8186688628 : vias 2
DDR_D9 : length 19.8000009505 : vias 2
....
DDR_D35 : length 26.0529192037 : vias 1
DDR_D36 : length 26.0529197279 : vias 2
DDR_D37 : length 26.052919264 : vias 3
...
NDQS6 : length 25.9771072989 : vias 0
DQS6 : length 26.00000036 : vias 0
DM6 : length 26.0504180314 : vias 2

то есть для байтов получается две группы задержек 19.8мм (для нечетных байтов) и 26мм (для четных)

дифференциальность DQS*/NDQS* проверял глазами - ну вроде нормально

-----------------------

для Т-образных цепей задержка 50мм

---------
DDR_A4
U1801 -> VP23 -> VP22 -> U1301.P8 len: 50.0000007156 vias: 2 [2, 0, 0]
U1801 -> VP23 -> VP22 -> U1402.P8 len: 50.0000010391 vias: 2 [2, 0, 0]
U1801 -> VP23 -> VP24 -> U1401.P8 len: 50.0000014868 vias: 2 [2, 0, 0]
U1801 -> VP23 -> VP24 -> U1403.P8 len: 50.0000019654 vias: 2 [2, 0, 0]
---------
DDR_A5
U1801 -> VP20 -> VP19 -> U1401.P2 len: 50.000001154 vias: 1 [1, 0, 0]
U1801 -> VP20 -> VP19 -> U1403.P2 len: 50.0000022204 vias: 1 [1, 0, 0]
U1801 -> VP20 -> VP21 -> U1301.P2 len: 50.0000019209 vias: 1 [1, 0, 0]
U1801 -> VP20 -> VP21 -> U1402.P2 len: 49.9746217884 vias: 1 [1, 0, 0]
...
NCS
U1801 -> VP68 -> VP67 -> U1401.L2 len: 51.005931392 vias: 1 [1, 0, 0]
U1801 -> VP68 -> VP67 -> U1403.L2 len: 51.0073527482 vias: 1 [1, 0, 0]
U1801 -> VP68 -> VP69 -> U1301.L2 len: 51.0104538445 vias: 1 [1, 0, 0]
U1801 -> VP68 -> VP69 -> U1402.L2 len: 51.0059303684 vias: 1 [1, 0, 0]
....
_Sergey_
Clock = 51мм? Тогда приемлемо, ИМХО.

А наиболее точно скажет производитель, когда приведет внутренние задержки.
yes
начал с гиперлинксом разбираться, вот просимулировал клок и адрес (Т-цепь)
похоже на правду результат симуляции?
ну и вопрос - вроде как разумно, адрес - задержка больше: на адресе 4 нагрузки висят, а на тактовом 2. но зачем тогда было требование разводить такт длиннее? причем максимальный разбег в 200мил эту задержку не компенсирует


легенда - кружок и крестик - клок (дифференциальный)
остальное - совпадающее - адрес
_Sergey_
Вы сами можете различить детали на картинке?
Ant_m
Цитата
но зачем тогда было требование разводить такт длиннее?

Все просто sm.gif - это лень людей не читающих документы, в которых указаны конкретные времена когда должен прийти тактовый сигнал.
Если у вас Т дерево построено, то нужно обратить на идентичность плеч. Это сильно влияет на результат. (поэтому стандарт ддр3 предполагает цепочку именно для исключения этого эффекта).
А вообще длины проводников слишком маленькие чтобы сильно за это переживать.
yes
Цитата(_Sergey_ @ Apr 29 2016, 11:27) *
Вы сами можете различить детали на картинке?


попробую еще раз - но общий смысл: такт раньше адреса






Цитата(Ant_m @ Apr 29 2016, 11:50) *
Все просто sm.gif - это лень людей не читающих документы, в которых указаны конкретные времена когда должен прийти тактовый сигнал.
Если у вас Т дерево построено, то нужно обратить на идентичность плеч. Это сильно влияет на результат. (поэтому стандарт ддр3 предполагает цепочку именно для исключения этого эффекта).
А вообще длины проводников слишком маленькие чтобы сильно за это переживать.


про setup|hold я, как разработчик микросхем sm.gif, вобщем понимаю.
но действительно прочитать документы лень и хочется получить упрощенный алгоритм - типа тех же рекомендаций по длине.

кстати вопрос - а как в тулах смотреть длины плеч?
для PADSа мне пришлось скрипт написать, который проходит "дерево" и сумирует сегменты, но там вроде нет принципиально такого измерения - трассировщики на калькуляторе складывали

а вот интересно в Альтиуме или Алегро есть способ? ну то есть берем какой-то сегмент (две точки по краям pin или via) и получаем длину трассы между ними (не длину всей цепи и не геометрическое расстояние) я как-то поискал в гугле - не нашел

Uree
В Аллегро можно смотреть длины CLine, но это не всегда то, что нужно. Проще задать правила для NetGroup и следить за их выполнением. В этом случае топология не имеет значения.

В АДе такой возможности не знаю, не видел.
Владимир
Цитата(yes @ Apr 29 2016, 15:07) *
а вот интересно в Альтиуме или Алегро есть способ? ну то есть берем какой-то сегмент (две точки по краям pin или via) и получаем длину трассы между ними (не длину всей цепи и не геометрическое расстояние) я как-то поискал в гугле - не нашел

В Altium уже есть. Xsignal
Длина трассы от PAD до PAD. Допускаются разделительные конденсаторы или согласующие резисторы (формально любые компоненты в разрыве). Можно с учетом длины внутри микросхемы (если такая известна).
yes
извиняюсь за чайниковость, но я алегро никогда раньше не видел (у Ксайлинса была схематик капча на оркаде в доисторические времена - вот мой весь опыт с Каденсом для плат), да и альтиум тоже видел давно и не внимательно sm.gif

если найдете время - поясните куда жать (я пытаюсь освоить простейшие навыки с этими софтами, но очень медленно)

Цитата(Uree @ Apr 29 2016, 15:30) *
В Аллегро можно смотреть длины CLine, но это не всегда то, что нужно. Проще задать правила для NetGroup и следить за их выполнением. В этом случае топология не имеет значения.


а если нарисована без NetGroup? эти NetGroup в Constrain Editor-е надо смотреть?

вот например ниже цепь, эти cline надо вручную складывать? но не понимаю - для дерева разчетверяющегося - должно быть 7 сегментов, то есть отсутствует сегмент к U1 (процессору)
ну и опять же - без калькулятора и "обхода дерева вручную" тут не обойтись?

Constraint information:
(RDly) U5.K3 to T24.1 min= 82.5 MIL max= 92.5 MIL actual= 84.81 MIL
target= (DRAM_CAS_B) U2.K3 to T74.1
(1084.76 4238.94) pin U5.K3,IN,BOTTOM/BOTTOM
84.81 MIL cline BOTTOM
(1061.90 4286.93) via TOP/BOTTOM
(1061.90 4286.93) pin T24.1,BI,TOP/TOP

(RDly) U4.K3 to T74.1 min= 82.5 MIL max= 92.5 MIL actual= 84.81 MIL
target= (DRAM_CAS_B) U2.K3 to T74.1
(1084.76 3672.01) pin U4.K3,IN,BOTTOM/BOTTOM
84.81 MIL cline BOTTOM
(1061.90 3720.00) via TOP/BOTTOM
(1061.90 3720.00) pin T74.1,BI,TOP/TOP

(RDly) U3.K3 to T24.1 min= 82.5 MIL max= 92.5 MIL actual= 87.91 MIL
target= (DRAM_CAS_B) U2.K3 to T74.1
(1084.76 4364.92) pin U3.K3,IN,TOP/TOP
87.91 MIL cline TOP
(1061.90 4286.93) via TOP/BOTTOM
(1061.90 4286.93) pin T24.1,BI,TOP/TOP

(RDly) U2.K3 to T74.1 min= 82.91 MIL max= 89.81 MIL actual= 87.5 MIL
target= (DRAM_CAS_B) U2.K3 to T74.1
(1084.76 3797.99) pin U2.K3,IN,TOP/TOP
87.5 MIL cline TOP
(1061.90 3720.00) via TOP/BOTTOM
(1061.90 3720.00) pin T74.1,BI,TOP/TOP

(RDly) T49.1 to T24.1 min= 302.72 MIL max= 308.72 MIL actual= 306.25 MIL
target= (DRAM_A0) T12.1 to T32.1
(1061.90 4003.50) pin T49.1,BI,TOP/TOP
(1061.90 4003.50) via TOP/BOTTOM
306.25 MIL cline L6_INT_2
(1061.90 4286.93) via TOP/BOTTOM
(1061.90 4286.93) pin T24.1,BI,TOP/TOP

(RDly) T74.1 to T49.1 min= 302.72 MIL max= 308.72 MIL actual= 304.23 MIL
target= (DRAM_A0) T12.1 to T32.1
(1061.90 3720.00) pin T74.1,BI,TOP/TOP
(1061.90 3720.00) via TOP/BOTTOM
304.23 MIL cline L6_INT_2
(1061.90 4003.50) via TOP/BOTTOM
(1061.90 4003.50) pin T49.1,BI,TOP/TOP


Цитата(Владимир @ Apr 29 2016, 15:36) *
В Altium уже есть. Xsignal
Длина трассы от PAD до PAD. Допускаются разделительные конденсаторы или согласующие резисторы (формально любые компоненты в разрыве). Можно с учетом длины внутри микросхемы (если такая известна).


xSignal я нашел только Wizard, который позволяет создать Т цепочки. а как их посмотреть в существующем проекте?
_Sergey_
Погуглите даташит на какой-нить чип DDR3. Там будут диаграммы работы, из которых будет видно, каким фронтом защелкиваются адреса/команды.

ЗЫ:
В альтиуме правильность разводки таких цепей достигается правильной последовательностью действий.
Владимир
Цитата(yes @ Apr 29 2016, 17:55) *
xSignal я нашел только Wizard, который позволяет создать Т цепочки. а как их посмотреть в существующем проекте?

Они сами по себе там не появляются. Их создавать надо.
Смотреть потом можно в панели PCB раздел XSignal
fill
Цитата(yes @ Apr 29 2016, 15:07) *
кстати вопрос - а как в тулах смотреть длины плеч?
для PADSа мне пришлось скрипт написать, который проходит "дерево" и сумирует сегменты, но там вроде нет принципиально такого измерения - трассировщики на калькуляторе складывали


Вообще-то он там и так есть. Для примера создал пару т-образных цепей с виртуальными пинами. Сформировал пары пинов для выравнивания и как видите. в таблице в динамике отображается длина плеч и цветом насколько они выровнены тыц
yes
Цитата(fill @ May 4 2016, 17:58) *
Вообще-то он там и так есть.


Спасибо.
KostyantynT
На таких частотах, если все сделано по правилам, то проблем особенных не должно быть. Года два назад, поигрался в Hyperlynx, потом и без него все выходило. Если не секрет, зачем 12 слоев?
yes
Цитата(KostyantynT @ Jul 8 2016, 15:50) *
Если не секрет, зачем 12 слоев?


плата не пришла еще - жду

12 слоев - ПЛИС, RF через мостик и т.д., плата не большая... то есть в вобщем-то я тоже думаю, что разводчик мог бы постараться в 8 слоев, но так как партия плат предполагается небольшая, его (разводчика) время дорого и т.д. - то решили так
KostyantynT
Цитата(yes @ Jul 8 2016, 18:25) *
плата не пришла еще - жду

12 слоев - ПЛИС, RF через мостик и т.д., плата не большая... то есть в вобщем-то я тоже думаю, что разводчик мог бы постараться в 8 слоев, но так как партия плат предполагается небольшая, его (разводчика) время дорого и т.д. - то решили так

Страннно. Какие топонормы у процессора? Я сейчас мудохаюсь с Rockchip ом, шаг - 0,65 , DDR3 - 2x16, Ether, USB ,WiFi, DVB - 4 слоя со сквозными VIA, 0201 -нежелательно для MP. На 12 слоев смотрю с завистью :-) Максимум, что позволено - 6 слоев для форматов донгла. Может FPGA какая-то хитрая?
yes
Цитата(KostyantynT @ Jul 9 2016, 16:18) *
Страннно. Какие топонормы у процессора? Я сейчас мудохаюсь с Rockchip ом, шаг - 0,65 , DDR3 - 2x16, Ether, USB ,WiFi, DVB - 4 слоя со сквозными VIA, 0201 -нежелательно для MP. На 12 слоев смотрю с завистью :-) Максимум, что позволено - 6 слоев для форматов донгла. Может FPGA какая-то хитрая?


основные трудности (хотя там все к ПЛИС с возможностью свопить - просто нет места) с разводкой от многих АЦП к ПЛИС из-за соображений минимизации шума на RF, АЦП расположены "кучно" и сигналы от них идут в неком коридоре с выравниванием по длине.

все BGA с шагом 0.8

опять же 4 земляных слоя для SI
ClayMan
Цитата(HardJoker @ Apr 23 2016, 00:06) *
Чипы по двум сторонам - обязательно? И зачем T-звено для DDR3? Почему нельзя адреса обойти последовательно? Примерно такую же задачу, но для двух каналов DDR3 решил за счет 16-ти слоев. Все сигналы внутри платы с обязательной парой опорных. Получилось надежно и компактно.

На iMX6 распиновка заточена как раз под T-shape (адреса в центре чипа, а данные - по краям), с флай-бай не будет выигрыша никакого - только больше сигнальных слоев придется использовать.

Цитата(KostyantynT @ Jul 9 2016, 16:18) *
Страннно. Какие топонормы у процессора? Я сейчас мудохаюсь с Rockchip ом, шаг - 0,65 , DDR3 - 2x16, Ether, USB ,WiFi, DVB - 4 слоя со сквозными VIA, 0201 -нежелательно для MP. На 12 слоев смотрю с завистью :-) Максимум, что позволено - 6 слоев для форматов донгла. Может FPGA какая-то хитрая?

0,65 со сквозными, интересно - Via-in-pad с заполнением используете?
KostyantynT
Цитата(ClayMan @ Jul 14 2016, 14:23) *
На iMX6 распиновка заточена как раз под T-shape (адреса в центре чипа, а данные - по краям), с флай-бай не будет выигрыша никакого - только больше сигнальных слоев придется использовать.


0,65 со сквозными, интересно - Via-in-pad с заполнением используете?

Нет, банальный VIA 14x8 между выводами BGA
ClayMan
Цитата(KostyantynT @ Jul 19 2016, 13:55) *
Нет, банальный VIA 14x8 между выводами BGA

14х8 - это 0.2х0.35mm? т.е. поясок всего по 75 микрон на сторону? как-то это скорее экстремально, чем банально sm.gif
KostyantynT
Цитата(ClayMan @ Jul 19 2016, 14:27) *
14х8 - это 0.2х0.35mm? т.е. поясок всего по 75 микрон на сторону? как-то это скорее экстремально, чем банально sm.gif

Наплывы на VIA помогают. Китайцы делают без особых проблем, брак мизерный. Причем, они сами рекомендуют такое VIA. Ходовое 20х8 и 18х8
EvilWrecker
Цитата(KostyantynT @ Jul 19 2016, 14:46) *
Наплывы на VIA помогают. Китайцы делают без особых проблем, брак мизерный. Причем, они сами рекомендуют такое VIA. Ходовое 20х8 и 18х8



Стесняюсь спросить, а какому IPC Class соответствуют нормы в вашей борде?
KostyantynT
Цитата(EvilWrecker @ Jul 21 2016, 22:25) *
Стесняюсь спросить, а какому IPC Class соответствуют нормы в вашей борде?

IPC Class 1. Во всех просмотренных рефах для 0,65 используется именно такой подход.
KostyantynT
Цитата(KostyantynT @ Jul 22 2016, 12:26) *
IPC Class 1. Наплывы позволяют вписаться. Во всех просмотренных рефах для 0,65 используется именно такой подход.
EvilWrecker
Тогда понятно, вопрос снят. Мне просто в какой-то момент начало казаться будто речь идет о более высоких классах.
MapPoo
Добрый день.
Вот и добрался до своей первой планки ДДР3 (да и ддр собственно в принципе...)
В некоторых "местах" пишут о том, что требуется сдвиг клока относительно данных.
В Jedec'e нашел вот такую временную диаграмму...

Даже в Сигрити, в режиме моделирования ДДР, автоматически, задается сдвиг для DQS на 0.75 такта(?) относительно начальной точки (входной клок и DQ соответственно сдвинуты на 0.5 такта(?) относительно начальной точки, адрес на 1 такт).
В итоге, получается вот такая диаграмма после моделирования


У микрона в даташите ничего подобного не нашел... Только...


Я правильно понимаю, что микрон всю разницу выровнял у себя на планке и требуется только подвести требуемые сигналы "в одно время"? (плисовод, который и будет реализовывать общение с планкой сейчас недоступен... Что он может компенсировать на стороне плисины бооольшой вопрос...)

ПС Прикладываю послойку... Можно покидать обоснованными тапками?
Нажмите для просмотра прикрепленного файла)
Uree
Кстати да, с FPGA все понятно, а какую модель использовали для планки?
MapPoo
Собственно, стекап.ДДР посчитано на 40ом.



Я вот тоже пытаюсь разобраться с чего бы такие выбросы получаются. Есть подозрения, что порты в ибисе (выбираемые для 40 ом) не 40 омные... Сиджу, разбираюсь... Меня, если честно, больше тайминги волнуют)... С остальным проще разобраться)
Вот так выглядят диаграммы с подлкюченной простой нагрузкой (из того же ибиса по сути подключение...)


EvilWrecker
Цитата
Результаты моделирования показывают очень сильные проблемы с SI,
По хорошему там все должно быть очень плотно, и eye должен быть открыт.


+1. По приложенной картинке можно сказать что дизайн возле точки неработоспособности, нужно искать проблемы в настройке сетапа для симуляции.

Цитата
По поводу сдвига клока, есть специальные элементы в FPGA которые позволяют двигать
клок по фазе по моему ISERDES и OSERDES для Xilinx. И это стандартная процедура для DDR.
Не должна вызвать затруднений даже у специалиста с невысоким уровнем подготовки.


Так точно- при этом вообще говоря какие либо требования по сдвигам надо смотреть не в джедеке, а в требованиях производителя на конкретный камень. Но с фпга точно проблем нет(99.99999%).

Цитата
Стек распишите пожалуйста


Тоже интересно- присоединяюсь.

Цитата
Прикладываю послойку.


По герберам не очень удобно судить конечно, но сразу бросается в глаза вот что:

- а зачем столько слоев с таким гигантским неиспользуемым пространством на них wacko.gif
- на какой частоте работает память? имха с размерами сегментов трасс/меандров в некоторых местах переборщили, неки в диффпарах в нижней части бга длинноваты(регион правил использовали?)
- смотря на ботлнеки в полигонах есть стойкое мнение что дизайн стоит прочекать и на целостность питания.

А какие нормы заложены?
MapPoo
Цитата(EvilWrecker @ Nov 14 2016, 16:30) *
+1. По приложенной картинке можно сказать что дизайн возле точки неработоспособности, нужно искать проблемы в настройке сетапа для симуляции.

Этим я сейчас и занимаюсь)))
Просто с терминацией оно выглядит несколько более...


Цитата(EvilWrecker @ Nov 14 2016, 16:30) *
По герберам не очень удобно судить конечно, но сразу бросается в глаза вот что:

Поэтому я и приложил ODB rolleyes.gif

Цитата(EvilWrecker @ Nov 14 2016, 16:30) *
- а зачем столько слоев с таким гигантским неиспользуемым пространством на них wacko.gif

Это обрезок платы. Кусок с ДДР.

Цитата(EvilWrecker @ Nov 14 2016, 16:30) *
- на какой частоте работает память?

Заложили 1333. Возможно потребуется выше. Как минимум, проверить, заработает на более высокой скорости или нет.

Цитата(EvilWrecker @ Nov 14 2016, 16:30) *
имха с размерами сегментов трасс/меандров в некоторых местах переборщили,

Цитата(EvilWrecker @ Nov 14 2016, 16:30) *
неки в диффпарах в нижней части бга длинноваты(регион правил использовали?)
- смотря на ботлнеки в полигоных есть стойкое мнение что дизайн стоит прочекать и на целостность питания.

Питание набросано в черновую. А что именно не так, если не секрет?


Цитата(EvilWrecker @ Nov 14 2016, 16:30) *
А какие нормы заложены?

Когда пришли и сказали, что за 2 недели нужны сборочные и документация на закупку решили не особо себя сдерживать и заложили 6й класс и слоев с запасом... Мало ли что там вылезет с этим ДДР...
Плат будет 10 штук заказано. Даже предположительно не серийный продукт.
А Стекап приложил чуть выше.
EvilWrecker
Цитата
Поэтому я и приложил ODB


Да не сильно принципиальная разница в плане грубой оценки biggrin.gif

Цитата
Это обрезок платы. Кусок с ДДР.


Тогда понятно- вопрос снимается.

Цитата
Заложили 1333. Возможно потребуется выше. Как минимум, проверить, заработает на более высокой скорости или нет.


С оглядкой на фпга конечно думаю есть смысл смело рассчитывать на 1600.

Цитата
Питание набросано в черновую. А что именно не так, если не секрет?


Имха перестарались с правилом copper-to-PTH в части полигонов до бга, неиспользованные пады судя по всему не удаленны. Что касается хайспидов, в местах поворота трасс сегменты коротковаты и у соединениях к падам бга ставите слишком большой коэффициент схождения который дает такие же короткие сегменты в поворотах. У диффпар слишком длинные неки- если бы удаляли неиспользуемые пады то было бы сильно проще.

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


А можно ли пожалуйста цифры? С местным стандартами/гостами не работаю и оттого в них не ориентируюсь от слова совсем, увы laughing.gif
MapPoo
Цитата(EvilWrecker @ Nov 14 2016, 17:09) *
Имха перестарались с правилом copper-to-PTH в части полигонов до бга, неиспользованные пады судя по всему не удаленны.

Удаляем их при генерации Герберов. Сидим на относительно старом менторовском Expedition'e. Другого способа удалить в текущей версии не знаю.


Цитата(EvilWrecker @ Nov 14 2016, 17:09) *
Что касается хайспидов, в местах поворота трасс сегменты коротковаты и у соединениях к падам бга ставите слишком большой коэффициент схождения который дает такие же короткие сегменты в поворотах.

Всегда был уверен, что, если не прямой угол, то, для частот в гиг, особой разницы нет. Длина волны всяко несоизмеримо больше чем длина сегмента поворота..

Цитата(EvilWrecker @ Nov 14 2016, 17:09) *
У диффпар слишком длинные неки- если бы удаляли неиспользуемые пады то было бы сильно проще.

Картинка очень помогает) Теперь я понял что за неки))) (никак не могу перестать улыбаться rolleyes.gif ^^! Думал, что опечатка...) Если выравнивать мелкими неками больно уж большая длина с порушенным импедансом. Частоты не слишком большие, просто несколько напряжно уродовать большую длину трассы.

Цитата(EvilWrecker @ Nov 14 2016, 17:09) *
А можно ли пожалуйста цифры? С местным стандартами/гостами не работаю и оттого в них не ориентируюсь от слова совсем, увы laughing.gif

для участков под БГА, у учетом удаления неиспользуемых падов после разводки.
Trace-Via 0.1mm
Trace-Plain - 0.2mm
Via-Plain - 0.15mm
Trace-trace - 0.2
Минимальный проводник 0.095

Вне БГА, соответственно, несколько более человечные нормы.
fill
Цитата(MapPoo @ Nov 14 2016, 17:44) *
Удаляем их при генерации Герберов. Сидим на относительно старом менторовском Expedition'e. Другого способа удалить в текущей версии не знаю


Edit > Modify > Padstack Processor

EvilWrecker
Цитата
Удаляем их при генерации Герберов. Сидим на относительно старом менторовском Expedition'e. Другого способа удалить в текущей версии не знаю.


Имеется в виду не технологическая сторона процесса, а именно часть влияющая на разводку- вот к примеру видео, хоть и аллегро но очень наглядно показано о чем идет речь.

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


Не совсем туда отсылаете- тут связь собственно с размерами трасс в вершинах(как например режут угол при 90гр проводниках в ВЧ) и то как такие участки выглядят в смысле теории длинных линий. Теорию пересказывать смысла не вижу, посмотрите гайды у Toradex того же- в вашем дизайне особых правок не нужно, достаточно привести сегменты к длине не менее 1.5х трассы.

Цитата
Картинка очень помогает) Теперь я понял что за неки))) (никак не могу перестать улыбаться rolleyes.gif ^^! Думал, что опечатка...) Если выравнивать мелкими неками больно уж большая длина с порушенным импедансом. Частоты не слишком большие. Просто несколько напряжно уродовать большую длину трассы.


Дело не в выравнивании- справа скажем неки короткие(нормально), слева и снизу длинные(не сильно нормально), а если убрать неиспользуемые пады то скорее всего неки не потребуются нигде, возможно даже класс точности вырастет.

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


ПС. А между тем сименс покупает ментор графикс santa2.gif
MapPoo
Цитата(fill @ Nov 14 2016, 17:56) *
Edit > Modify > Padstack Processor

В очередной раз, спасибо)
А не подскажете как сделать разный зазор для переходника с и без пада?


Цитата(EvilWrecker @ Nov 14 2016, 17:57) *
Имеется в виду не технологическая сторона процесса, а именно часть влияющая на разводку- вот к примеру видео, хоть и аллегро но очень наглядно показано о чем идет речь.

Понятно про что вы) Удобно, да) Непривычен несколько вид платы без переходников... Удалять кп удаляем, но пр игенерации герберов... Как то, видимо, из старых времен требование пошло.., и передается из поколе...

Цитата(EvilWrecker @ Nov 14 2016, 17:57) *
Не совсем туда отсылаете- тут связь собственно с размерами трасс в вершинах(как например режут угол при 90гр проводниках в ВЧ) и то как такие участки выглядят в смысле теории длинных линий. Теорию пересказывать смысла не вижу, посмотрите гайды у Toradex того же- в вашем дизайне особых правок не нужно, достаточно привести сегменты к длине не менее 1.5х трассы.

Спасибо за Торадекс! Только один из их доков был в загашнике) Как то не лазил к ним на сайт)
Как ни странно, 0.2 сделал длину сегмента при повороте) Почти попал в 1.5W)))

Цитата(fill @ Nov 14 2016, 17:56) *
Дело не в выравнивании- справа скажем неки короткие(нормально), слева и снизу длинные(не сильно нормально), а если убрать неиспользуемые пады то скорее всего неки не потребуются нигде, возможно даже класс точности вырастет.

Это то хорошо... А вот убедить старшее поколение, что приближать к переходнику при отсутсвии пада трассу не страшно и сверло не перебьет трассу... И ведь понимают, что зазор и прочее, но КП вселяет уверенность rolleyes.gif

Цитата(fill @ Nov 14 2016, 17:56) *
Что касается ваших цифр- в принципе понятно, единственное что как настроите сетап под симуляцию, в зависимости от результатов моделирования гляньте возможность создания вырезов под падами разъема с памятью- трассы сильно меньше падов, соответственно скачок импеданса заметный может быть.

Попробуем)))

Цитата(fill @ Nov 14 2016, 17:56) *

Тоже с утра сидим и пытаемся понять чем это нам грозит в 17м году... laughing.gif
fill
Цитата(MapPoo @ Nov 14 2016, 18:29) *
В очередной раз, спасибо)
А не подскажете как сделать разный зазор для переходника с и без пада?


В VX2 есть настройка авто удаления не подключенных площадок для via и соответственно настройка доп. зазора Нажмите для просмотра прикрепленного файла

Видео

Пришлите мне ваши IBIS файлы, я попробую проверить в HL DDR Wizard.
EvilWrecker
Цитата
Как ни странно, 0.2 сделал длину сегмента при повороте) Почти попал в 1.5W)))


Возможно я что-то криво посчитал в САМ-редакторе, но местами выходило сильно меньше 1.5х. Думаю имеет смысл перепроверить на вашей стороне.
MapPoo
Цитата(fill @ Nov 14 2016, 19:00) *
Пришлите мне ваши IBIS файлы, я попробую проверить в HL DDR Wizard.

Спасибо! Интересно будет посмотреть. Хотя я, кажется, и подбираюсь к причине того, почему оно работает так, как работает...
Адрес, DM и управление - SSTL135_F_HP , DQ, DQS - SSTL135_T_DCI_F_HP_O

Цитата(EvilWrecker @ Nov 14 2016, 19:03) *
Возможно я что-то криво посчитал в САМ-редакторе, но местами выходило сильно меньше 1.5х. Думаю имеет смысл перепроверить на вашей стороне.


Извиняюсь, человеческий фактор сработал...

И подобные, созданные человеческой рукой, а не машиной... У вас все правильно показывает) rolleyes.gif Иногда рука и меандры трогала... Редко, к счастью...
Ну и мы таки дошли до удаления КП у ПО ДО генерации герберов)
MapPoo
А если подключать нормальные модельки конденсаторов все становится куда как менее страшно... Правда непонятный выброс все равно присутствует...


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