Перейти к содержанию
    

Опять DDR3. прошу консультацию

случилось так, что мне нужно "верифицировать" разводку 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 дня)? ну то есть отказ от производства платы очень не желателен и должен быть сильно аргументирован, а производство неработоспособной платы еще хуже :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще 533МГц позволяют не мало в плане разброса длин.

 

Если плата соответствует рекомендациям, то почему вы волнуетесь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

Также из своего опыта - раньше на бумажке в табличке проверял длины.. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

уменьшать ширину дорожек (как бы) нельзя по тех. нормам

Есть документы типа jedec или микрон в которых для борьбы с выбросом при переключении рекомендуют понижать импеданс трасс до 40-45 Ом.

Так что это нормально.

А вот импеданс разный это хуже. Но, опять же - не так уж и страшно.

 

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

нужно ли это учитывать при выравнивании длины?

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

 

А вообще... с точки зрения бюрократии (и перекладывания ответственности) :blush:

Попросите тополога предоставить вам документ в котором считается временной бюджет. Для проверки.

Если такого документа нет, то попросите обосновать руководствуясь чем он этот кусок трассировал.

Если это некий app note, то спрашивайте почему были сделаны отклонения от app note и чем они обоснованы (временной бюджет?:))

С зазорами между трассами примерно также требовать обоснование.

С землями и питанием проще - можно на глазок оценить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

случилось так, что мне нужно "верифицировать" разводку i.mx6-DDR3

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

 

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

 

T-образные адрес/управление

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

 

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

 

Чипы по двум сторонам - обязательно? И зачем T-звено для DDR3? Почему нельзя адреса обойти последовательно? Примерно такую же задачу, но для двух каналов DDR3 решил за счет 16-ти слоев. Все сигналы внутри платы с обязательной парой опорных. Получилось надежно и компактно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

случилось так, что мне нужно "верифицировать" разводку i.mx6-DDR3

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

 

Можем верифицировать ваш проект DDR,

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

На входе - схема, список критических цепей, app.note от производителя, номиналы питаний, токи потребления основных микросхем, и проект.

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

 

Моделирование выполняем в симуляторе Cadence Sigrity.

Проект прошу экспортировать из Pads в ODB++ с именами цепей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

PADS не учитывает via/переходы, как этому научить Hyperlynx(?) я не понял

 

Вот вам пример построение тестовой структуры (на два приемника) и как видите видна разница в сигнале на приемниках.

post-512-1461681438_thumb.png

В BoardSim плечи внутри via также учитываются автоматом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот вам пример построение тестовой структуры (на два приемника) и как видите видна разница в сигнале на приемниках.

 

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

 

 

 

Можем верифицировать ваш проект DDR,

 

хотелось бы самим научиться. просто неудачный скедьюл получился - вначале плата, а потом учиться :)

тем более заказчик и производство у нас не "у нас" (это обязательное условие), поэтому могла бы быть только консультация

но с этим проектом уже нет времени...

 

 

 

Чипы по двум сторонам - обязательно? И зачем T-звено для DDR3? Почему нельзя адреса обойти последовательно? Примерно такую же задачу, но для двух каналов DDR3 решил за счет 16-ти слоев. Все сигналы внутри платы с обязательной парой опорных. Получилось надежно и компактно.

 

чипы по 2м сторонам для экономии места. вроде никто не запрещает Т использовать. Fly-by это, как я понял, для облегчения жизни производителям линеек памяти.

есть несколько реф. дизайнов с таким расположением (ну вернее они все копии с SABRE от Freescale), там 8 слоев.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

чипы по 2м сторонам для экономии места. вроде никто не запрещает Т использовать. Fly-by это, как я понял, для облегчения жизни производителям линеек памяти.

есть несколько реф. дизайнов с таким расположением (ну вернее они все копии с SABRE от Freescale), там 8 слоев.

 

T-звено никто не запрещал, но это лишнее via и доп.отражения. Хорошие доки по DDRx, как не странно, можно найти у Марвела (DDR3 стр.50-69)

Armada_510_Hardware_Design_Guide.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще в догонку, если используется leveling, то отследите чтобы 0 (или 7, не помню) бит в байте на контроллере приходил на соответствующий 0 (или 7) бит памяти. Он используется для калибровки. Подробней ищите в доках микрона.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

спасибо,

 

я тут распечатал длины дорожек (может кому-то такой скрипт для 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]

....

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Clock = 51мм? Тогда приемлемо, ИМХО.

 

А наиболее точно скажет производитель, когда приведет внутренние задержки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

начал с гиперлинксом разбираться, вот просимулировал клок и адрес (Т-цепь)

похоже на правду результат симуляции?

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

sim.jpg

 

легенда - кружок и крестик - клок (дифференциальный)

остальное - совпадающее - адрес

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...