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

Развел плату с несколькими процами.

TMS320 + DDR3 и OMAP L138 + DDR2.

Моделирование DDR3 прошло на ура. Вот картинки

post-11606-1522754365_thumb.png

post-11606-1522754474_thumb.png

 

DDR2 все плохо

post-11606-1522754543_thumb.png

форма сигнала:

post-11606-1522754634_thumb.png

 

Что в нем плохого? Мне он кажется вполне приемлемым. И что делать с платой? Или я что-то неверно задаю в hyperlynx?

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


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

В разделе Data Read тоже самое? А в модели на OMAP есть селектор выбора буффера? Если есть, то можно попробовать там поиграться.

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


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

В Data Read тоже bad signal по всем пунктам.

А в модели на OMAP есть селектор выбора буффера? Если есть, то можно попробовать там поиграться.
Есть. Только два варианта. Пробовал оба. Всегда bad signal.

 

post-11606-1522857462_thumb.png

 

 

Решил все начать с самого начала. Смутило вот это:

The following controller nets have inconsistent differential pins attached, based on IBIS modeling:

 

Clock Net: DDR_CK_N  ---
   Pin: D1.K8  (-)    IBIS Signal: u69a.ibs [MT47H128M16RT] CK#
   Pin: U1.W7  (not differential)    IBIS Signal: omapl138_zwt.ibs [OMAP-L138ZWT] DDR_CLKN

Clock Net: DDR_CK_P  ---
   Pin: D1.J8  (+)    IBIS Signal: u69a.ibs [MT47H128M16RT] CK
   Pin: U1.W8  (not differential)    IBIS Signal: omapl138_zwt.ibs [OMAP-L138ZWT] DDR_CLKP

Data Strobe Net: DDR_LDQS  ---
   Pin: D1.F7  (+)    IBIS Signal: u69a.ibs [MT47H128M16RT] LDQS
   Pin: U1.T14  (not differential)    IBIS Signal: omapl138_zwt.ibs [OMAP-L138ZWT] DDR_DQS0

Data Strobe Net: DDR_UDQS  ---
   Pin: D1.B7  (+)    IBIS Signal: u69a.ibs [MT47H128M16RT] UDQS
   Pin: U1.V11  (not differential)    IBIS Signal: omapl138_zwt.ibs [OMAP-L138ZWT] DDR_DQS1

 

Сигналы DQS у OMAP и правда не дифференциальные. А вот с CLK похоже проблема.

Открываю ibis на TMS320 - есть раздел diffpin

post-11606-1522859803_thumb.png

Открываю ibis на OMAP раздела diffpin не вообще

post-11606-1522859863_thumb.png

 

Да действительно IBIS файл на OMAP L138 кривой https://e2e.ti.com/support/dsp/omap_applica...s/f/42/t/235021 и похоже TI не собирается его дополнять.

Добавил в IBIS:

[font="Courier New"]|********************  DIFF PIN  *******************************
[Diff_pin]  inv_pin   vdiff  tdelay_typ  tdelay_min  tdelay_max
W8         W7       NA       NA          NA          NA       || DDR_CLKP & DDR_CLKN[/font]

Остаются еще вот такие предупреждения

post-11606-1522861832_thumb.png

Data read и data write по прежнему bad signal, на зато теперь появилась вкладка Address где все сигналы Pass.

post-11606-1522861690_thumb.png

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


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

похожий вопрос про i.mx6

 

модели с ODT только входы (вроде кажется вполне разумным такое - что выход без ODT работает, но я не уверен), при этом если их ставить в ODT models / ODT enabled - hyperlinx ругается

Controller pin: U1003.G3 (DRAM_SDBA0) --Model is input only, but needs to be output or I/O

Model:

\ibis\mx6sx_bga17x17NP_autmtv.ibs[mx6sx_bga17x17NP] ddr3lodt_t60_sel11_mi

 

список моделей из файла ниже

 

с моделью самой памяти все нормально - там ODT модели вход-выход

 

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

 

когда я задаю модель *mi на ODT и игногрирую предупреждение гиперлинкса - получается вообще все плохо, когда задаю вместо ODT mio модель чуть лучше, но все-равно достаточно большое количество ошибок и в обе стороны (read/write)

 

сильно хотелось бы разобраться с этими ошибками/моделями, прежде чем отдавать плату в производство

но при этом хотелось бы получить это "искоропки" - так как Mentor рекламирует это DDR batch simulation

если это возможно и я просто не ту кнопку жму - спасайте :)

 

[Model Selector] ddr                                     
ddr3_sel11_ds111_mio                     DDR, 1.5V, ddr3 mode, 34 Ohm driver impedance
ddr3_sel11_ds110_mio                     DDR, 1.5V, ddr3 mode, 40 Ohm driver impedance
ddr3_sel11_ds101_mio                     DDR, 1.5V, ddr3 mode, 48 Ohm driver impedance
ddr3_sel11_ds100_mio                     DDR, 1.5V, ddr3 mode, 60 Ohm driver impedance
ddr3_sel11_ds011_mio                     DDR, 1.5V, ddr3 mode, 80 Ohm driver impedance
ddr3_sel11_ds010_mio                     DDR, 1.5V, ddr3 mode, 120 Ohm driver impedance
ddr3_sel11_ds001_mio                     DDR, 1.5V, ddr3 mode, 240 Ohm driver impedance
ddr3l_sel11_ds111_mio                    DDR, 1.35V, ddr3l mode, 34 Ohm driver impedance
ddr3l_sel11_ds110_mio                    DDR, 1.35V, ddr3l mode, 40 Ohm driver impedance
ddr3l_sel11_ds101_mio                    DDR, 1.35V, ddr3l mode, 48 Ohm driver impedance
ddr3l_sel11_ds100_mio                    DDR, 1.35V, ddr3l mode, 60 Ohm driver impedance
ddr3l_sel11_ds011_mio                    DDR, 1.35V, ddr3l mode, 80 Ohm driver impedance
ddr3l_sel11_ds010_mio                    DDR, 1.35V, ddr3l mode, 120 Ohm driver impedance
ddr3l_sel11_ds001_mio                    DDR, 1.35V, ddr3l mode, 240 Ohm driver impedance
ddr3odt_t17_sel11_mi                     DDR, 1.5V, ddr3 mode, 17 Ohm ODT
ddr3odt_t20_sel11_mi                     DDR, 1.5V, ddr3 mode, 20 Ohm ODT
ddr3odt_t24_sel11_mi                     DDR, 1.5V, ddr3 mode, 24 Ohm ODT
ddr3odt_t30_sel11_mi                     DDR, 1.5V, ddr3 mode, 30 Ohm ODT
ddr3odt_t40_sel11_mi                     DDR, 1.5V, ddr3 mode, 40 Ohm ODT
ddr3odt_t60_sel11_mi                     DDR, 1.5V, ddr3 mode, 60 Ohm ODT
ddr3odt_t120_sel11_mi                    DDR, 1.5V, ddr3 mode, 120 Ohm ODT
ddr3lodt_t17_sel11_mi                    DDR, 1.35V, ddr3l mode, 17 Ohm ODT
ddr3lodt_t20_sel11_mi                    DDR, 1.35V, ddr3l mode, 20 Ohm ODT
ddr3lodt_t24_sel11_mi                    DDR, 1.35V, ddr3l mode, 24 Ohm ODT
ddr3lodt_t30_sel11_mi                    DDR, 1.35V, ddr3l mode, 30 Ohm ODT
ddr3lodt_t40_sel11_mi                    DDR, 1.35V, ddr3l mode, 40 Ohm ODT
ddr3lodt_t60_sel11_mi                    DDR, 1.35V, ddr3l mode, 60 Ohm ODT
ddr3lodt_t120_sel11_mi                   DDR, 1.35V, ddr3l mode, 120 Ohm ODT
lpddr2_sel10_ds111_mio                   LPDDR, 1.2V, lpddr2 mode, 34 Ohm driver impedance
lpddr2_sel10_ds110_mio                   LPDDR, 1.2V, lpddr2 mode, 40 Ohm driver impedance
lpddr2_sel10_ds101_mio                   LPDDR, 1.2V, lpddr2 mode, 48 Ohm driver impedance
lpddr2_sel10_ds100_mio                   LPDDR, 1.2V, lpddr2 mode, 60 Ohm driver impedance
lpddr2_sel10_ds011_mio                   LPDDR, 1.2V, lpddr2 mode, 80 Ohm driver impedance
lpddr2_sel10_ds010_mio                   LPDDR, 1.2V, lpddr2 mode, 120 Ohm driver impedance
lpddr2_sel10_ds001_mio                   LPDDR, 1.2V, lpddr2 mode, 240 Ohm driver impedance

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


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

Модель контроллера я скачал.

Если пришлете или укажите ссылку на модель вашей памяти.

То могу попробовать поиграться в предтопологическом режиме.

Если пришлете топологию в HL с вашей настройкой визарда, то будет еще проще и быстрее понять проблему.

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


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

спасибо.

 

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

если нельзя - то почищу все кроме этих двух микросхем и перешлю

 

прикладываю память и ddr визард

MT41K64M16TW

 

----------

 

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

 

---------

upd2: поправил стекап - задал plane-ы по слоям с землей - импедансы стали больше похожи на требуемые, но симуляция все-равно fail

также смотрю на задержки в linesim после экспорта - вроде бы разброс в допустимых ps

v88a_1p35_it.7z

Luscinia2_Rev4.2_800_60ohm.ddr.7z

public.7z

corect_planes.7z

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


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

спасибо.

 

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

если нельзя - то почищу все кроме этих двух микросхем и перешлю

 

прикладываю память и ddr визард

MT41K64M16TW

 

----------

 

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

 

---------

upd2: поправил стекап - задал plane-ы по слоям с землей - импедансы стали больше похожи на требуемые, но симуляция все-равно fail

 

 

А параметры стека правильные? Я поставил плейнами 2, 4, 6, 7, 9 и 11. Но просто смотрю получившийся импеданс на адресах и данных и он всего 36-38 Ом.post-512-1523646016_thumb.png

Вот при таком стекеpost-512-1523646928_thumb.png получим нужный импеданс.

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


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

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

я ставил Er=3 и получал Zo 45-50 ОМ

 

непонятный кстати момент - почему при симметричном стекапе на симметричных слоях у меня получается разный Zo ??

 

но все-равно симуляция (с 40 Ом драйверами в моделях) не проходит, хотя ошибок меньше.

я так понимаю, что 40 Ом драйвера в моделях/микросхемах лучше согласованы будут - но нужно будет в linesim для отдельных цепей посмотреть...

 

 

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


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

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

я ставил Er=3 и получал Zo 45-50 ОМ

 

непонятный кстати момент - почему при симметричном стекапе на симметричных слоях у меня получается разный Zo ??

 

но все-равно симуляция (с 40 Ом драйверами в моделях) не проходит, хотя ошибок меньше.

я так понимаю, что 40 Ом драйвера в моделях/микросхемах лучше согласованы будут - но нужно будет в linesim для отдельных цепей посмотреть...

Откуда взята такая цифра Er=3? Вы поинтересуйтесь у производителя плат, они же делают и знают. А только затем закладывайте в проект. У таких призводителей обычно есть опция измерения импеданса.

Просто вот интересно если это не роджерс, то что за препреги с таким эпсилон у вас?

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


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

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

я ставил Er=3 и получал Zo 45-50 ОМ

 

непонятный кстати момент - почему при симметричном стекапе на симметричных слоях у меня получается разный Zo ??

 

но все-равно симуляция (с 40 Ом драйверами в моделях) не проходит, хотя ошибок меньше.

я так понимаю, что 40 Ом драйвера в моделях/микросхемах лучше согласованы будут - но нужно будет в linesim для отдельных цепей посмотреть...

При такой настройке 800_40ohm.7z стека и визарда, ошибок в моделировании нет.

 

У меня импеданс одинаковый, просто в присланном вами, слой 2 не был плейном, поэтому и разница в Zo.

 

Чтобы быть уверенным в результатах моделирования нужно чтобы все параметры стека были близкими к тому что будет на производстве. Ведь все это влияет на время прохождения сигналов и их форму.

Я вижу что в топологии есть трассы (идущие на память) шириной 90мкм, 80мкм, и даже 75мкм.

 

Это вариант визарда 800_40ohm_2.7z тоже работает

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


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

огромное спасибо.

но, по-моему, дизайн плохой - CK короче DQS-ов,

то есть write leveling работать не будет. нужен ли этот write leveling для point-to-point непонятно, но вроде как формальное требование нарушено (а в рабочем дизайне, на который я сослался этого нарушения нет)

 

то есть придется с ddr разбираться, а настройки я сейчас проверю.

 

Откуда взята такая цифра Er=3? Вы поинтересуйтесь у производителя плат, они же делают и знают. А только затем закладывайте в проект. У таких призводителей обычно есть опция измерения импеданса.

Просто вот интересно если это не роджерс, то что за препреги с таким эпсилон у вас?

 

Er=3 это мои фантазии - то есть взяв толщины препрегов и ширины проводников как константы, подобрал, чтобы было близко к 50 Ом (ну чтобы проверить влияние на результат симуляции)

то есть у меня есть эксельная табличка от производителя, где стекап и толщины проводников для 50 Ом по разным слоям

материал не роджерс, текстолит, но там весьма хитрое производство (NEC) поэтому может и не FR-4, но из-за сложности общения я выяснять не буду

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


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

При такой настройке стека и визарда, ошибок в моделировании нет.

проходит по всем углам.

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

еще раз спасибо.

 

 

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


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

Ну у вас всё с ног на голову поставлено. Потому, что никак не нужно подбирать Er, его должны дать для различных материалов он разный. Под FR-4 кучи различных материалов есть, но с 3 никогда не встречал, обычно от 4.2 до 5.2. И там особый момент это анизотропность. В даташитах это по вертикале материала FR-4, если он расположен горизонтально. А горизонтальный Er= 2.9 ... 4.0, но с частот выше определенной. Часто делают ошибки не зная о анизотропности на скоростых трассах применяя марки FR-4.

 

CK короче DQS-ов может быть читайте AN вашего DDR3L. write leveling может и не работать вовсе на низких скоростях, где оч большие задержки допустимы.

От тактовой зависит. У вас вроде не особо с быстрые чипы. Начиная с DDR3 и выше, у них оч навороченные лог-автоматы, самостоятельно принимают многие решения, как по синхронизации так и по тактированию, итд.

 

С DDR3, DDR3L всегда обходился 100, 70 микронными трассами, не приходилось уменьшать или использовать другие. Платы были 8-12 слойки. Но тут от стека, препрега выбор тоже зависим.

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


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

Ну у вас всё с ног на голову поставлено.

да, есть такое. но у меня была еще задача разобраться с гиперлинксом (все-таки инструмент крайне редко мной используемый), то есть хотелось иметь как успешные, так и неуспешные результаты ddr batch, сравнить их с linesim-ом для отдельных проводов/различных импедансов ibis моделей и т.д.

 

по поводу этой платы - выяснилось, что стекап мне прислали не тот - то есть в результате взаимодействия собственно разработчика платы и производства было несколько итераций и толщина препрегов менялась, то есть в финальной версии эти проводники 0.08/0.09 на разных слоях дают примерно 50 Ом

 

 

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


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

Как учитывается (и учитывается ли) Pin Delay при моделировании вообще и в DDR Batch Simulation в частности? Насколько вижу никак не учитывается, отсюда вопрос - а как учесть?

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


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

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

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

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

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

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

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

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

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

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