Jump to content

    
Sign in to follow this  
Stepanich

DDR Wizard

Recommended Posts

Здравствуйте.

 

1. При моделировании перекрёстных помех в модуле DDRx Batch-Mode Wizard в окне Coupling Settings есть возможность включить флаг Include Trace to trace coupling. В руководстве про данный флаг сказано: "Enable to model trace-to-trace coupling.

Note: When you multiple nets and disable this option, the software still models trace-to-trace coupling for the selected nets that meet coupling thresholds."

post-5847-1525734677_thumb.png

 

Вопрос: на что повлияет данный флаг при моделировании DDR3? Не дублирует ли данный флаг переключатель Use electrical thresholds?

 

2. На рисунке ниже приведён пример трассировки сигналов DQ DDR3. Видно, что часть проводников имеет заливку полигоном между сегментами "гармошки" одной цепи, а часть - нет. Известно, что время распространения и форма сигналов в этих различных условиях будут отличаться из-за отличающихся параметров взаимной ёмкости между сегментами "гармошек" (в случае с заливкой землёй ёмкостная связь между сегментами "гармошки" одной цепи отсутствует).

post-5847-1525734667_thumb.png

 

Вопрос: учитывает ли DDRx Batch-Mode Wizard при моделировании ЦС заливку полигоном между сегментами "гармошки" одной цепи?

 

Как лучше поступить, если нет возможности обеспечить заливку полигоном всех областей трассировки цепей: привести всё к единообразию, везде удалив заливку, или оставить заливку там, где это возможно, для снижения перекрёстных помех?

 

Спасибо.

Share this post


Link to post
Share on other sites
Как лучше поступить, если нет возможности обеспечить заливку полигоном всех областей трассировки цепей: привести всё к единообразию, везде удалив заливку, или оставить заливку там, где это возможно, для снижения перекрёстных помех?

 

Спасибо.

 

В любом случае - лучше конечно привести все к единообразию (вся группа должна быть в одинаковой среде, допустим BL0), везде удалить заливку, этим вы избавитесь от лишних антенн и не надо высчитывать как измениться дополнительно емкость/индуктивность и как они повлияют на скорость передачи сигнала. Сделайте для этих цепей опорный слой с низким потенциалом (GND).

А перекрестные помехи и так снизятся за счет разнесения линий друг от друга - этого вполне достаточно. Как правило зазоры от 3W до 5W (W - толщина проводника), смотря между какими линиями. Самое главное придерживаетесь правил, которые написаны в спецификации на DDR.

 

Share this post


Link to post
Share on other sites

В новых версиях немного другие настройки

post-512-1525771649_thumb.png

 

Как можете заметить, учитываются все влияния.

 

Про указанную опцию теперь в доке написано "Checked, includes the effects of crosstalk among various signals in the memory interface. Aggressor nets for signals that are not in the memory interface are simulated and driven with a PRBS stimulus, using the same bit order you specify for non-strobe and non-clock nets."

 

Также заметьте:

The following simulation types use independent crosstalk threshold settings. These settings are available from the dialog boxes associated with each simulation type:

General Batch simulation

SERDES Batch simulation

DDRx simulation

IBIS-AMI and FastEye channel analysis - for SERDES designs

 

Если отключена опция Include trace to trace coupling, и выбрано несколько цепей, то все равно учитывается взаимное влияние между ними. Т.е. в данном случае не учитывается влияние остальных, не выбранных цепей.

Share this post


Link to post
Share on other sites

Что бы откорректировал 1) убрать все термопеды из-за их ненадобностью и проблем с ними. 2) Провильно заметили, заливка земли GND вредна, не нужна, для этого есть слой ниже. 3) Делал бы трамбонами а не гармошкой 4) компенсаторы волнового забыли 5) до переходного, у диф пары нужно так - см 2, чтобы избавится от извилистой у диф пары.

Pour_corr1.png

Share this post


Link to post
Share on other sites
Видно, что часть проводников имеет заливку полигоном между сегментами "гармошки" одной цепи, а часть - нет. Известно, что время распространения и форма сигналов в этих различных условиях будут отличаться из-за отличающихся параметров взаимной ёмкости между сегментами "гармошек" (в случае с заливкой землёй ёмкостная связь между сегментами "гармошки" одной цепи отсутствует).

У вас довольно щедрые зазоры между аккордеонами - если адекватно сделан референс, то думаю что влияния на задержку они практически никакого не окажут. А вот островная заливка GND выглядит действительно инородно, с такими минимальными зазорами она как минимум повлияет на импеданс.

Share this post


Link to post
Share on other sites

Товарищи, спасибо за ответы.

 

1. Skat-pro, под W вы имеете в виду не толщину, а ширину (width) проводника? В нашей плате под цепи DDR отведено 4 сигнальных и 5 опорных слоёв: есть области, где не получается соблюдать правила зазоров в несколько проводников:

post-5847-1525878489_thumb.png

 

2. fill, я правильно понимаю, что флаг Include trace to trace cpuling включать не нужно, если рядом с цепями DDR нет проводников-агрессоров? Т. е. если я включаю в моделирование все типы цепей (адреса, команды, данные, строб, такт), то симулятор будет рассматривать все комбинации сигналов? И как разделить пороги (Electrical thresholds) для униполярных и дифф. сигналов? Может, поставить минимально возможное значение 10 мВ, пожертвовав временем моделирования?

 

3. Aner, это не термопады, а переходные отверстия от компонентов на нижней стороне платы, их нельзя убирать, если вы предлагаете использовать глухие ПО, то это также недопустимо. Почему Вы предпочитаете тромбоны?

 

4. ClayMan, в п. 1 я привёл рисунок, где видно, что зазоры большие не везде. Островных частей в заливке нет, это запрещено на уровне Planes Processor (в рисунок не вошли истоки заливок). А вот на импеданс заливка влияет не сильно:

post-5847-1525881452_thumb.png

 

Общие вопросы:

1. Если нет возможности обеспечить 3W зазоры между всеми цепями, то каким цепям отдать предпочтение (например, обеспечить зазоры 3W только для цепей CK, и xDQS)?

 

2. Нужно ли размещать ПО к опорному слою рядом с ПО с сигнальных проводников (как указано, например, в WP420: "Where “layer-jumping” is necessary, return path continuity is easily achieved by inserting GND vias close to the signal vias.")? На рисунке ниже приведён снимок опорного слоя. Видно, что часть ПО с сигнальными проводниками находится далеко от ПО к опорному слою.

post-5847-1525881675_thumb.png

Share this post


Link to post
Share on other sites

Трудно объяснить вам, очевидные вещи, вы не понимаете как разводят такие платы совсем. Еще раз; не делают заливку землей в этом месте в этом слое, то что делаете вы. Освобождают от заливки землей всю группу проводников. Почему так это вам непонятно? У вас же нет объяснений зачем делать заливку земли.

Посмотрите определение что такое термопеды. Они запрещены тут в этой зоне и вообще не нужны. Глухие не причем тут, не надо фантазий.

Трамбоны имеют меньшее кол-во изгибов, занимают меньше площади. Подводку к диф парам так как у вас не делают. Вы элементарно не прошли курс разводки DDR, отсюда много ошибок. Правило 3W у вас обеспечивается, поскольку есть достаточно места. Погуглите как это делается.

Share this post


Link to post
Share on other sites
fill, я правильно понимаю, что флаг Include trace to trace cpuling включать не нужно, если рядом с цепями DDR нет проводников-агрессоров? Т. е. если я включаю в моделирование все типы цепей (адреса, команды, данные, строб, такт), то симулятор будет рассматривать все комбинации сигналов? И как разделить пороги (Electrical thresholds) для униполярных и дифф. сигналов? Может, поставить минимально возможное значение 10 мВ, пожертвовав временем моделирования?

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

Порог не разделяется. Взаимные влияния всегда есть, просто внутри дифф. пары это благо, а вне это зло.

Share this post


Link to post
Share on other sites

Fill, спасибо за ответ.

 

Ещё вопросы:

 

1. Результаты моделирования циклов чтения из памяти DDR/800Mbps показывают ошибку

post-5847-1526388551_thumb.png

 

Как вычисляется значение Initial Delay Delta в цикле операций чтения из памяти?

Связано ли оно с параметром tDQSQ, указанным во временной модели для памяти (ddr3_dram.v)?

 

В качестве временных моделей для памяти и контроллера используются стандартные модели из библиотеки HyperLynx.

В документации сказано, что Initial Delay Delta = (tDQSQ(max) – tDQSQ(min))/2.

Из временной модели на память (ddr3_dram.v) имеем:

 

`else `define DDR3_800

//Table 68 in 79-3F

parameter tDQSQ = 200;

parameter tQH = 0.38;

parameter tDQSCK = 400;

parameter tDQSS = 0.25;

parameter tDSS = 0.20;

parameter tDSH = 0.20;

/////////////////

 

 

tDQSQ(max) = 200 пс; tDQSQ(min) = - 200 пс.

Соответственно, Initial Delay Delta = 200 пс.

 

Согласно результатам моделирования (из таблицы) Initial Delay Delta = Hold Time (From Sim) - Min Hold Time = 250 пс.

 

Почему Wizard использует значение 250, а не 200 пс?

 

2. В документации сказано: «RAM timing models are standardized since the timing specifications at the DRAMs are specified by the JEDEC standards. However, controllers can have timing requirements that differ from vendor to vendor»

 

Значит ли это, что для корректных результатов нельзя пользоваться стандартной временной моделью контроллера?

 

3. Должна ли временная модель контроллера включать в себя значения Setup Derate Time Delta, d(tDS)? Или иными словами, верно ли, что значение параметра Setup Derate Time Delta, d(tDS) равно 0 для текущего случая (чтение из памяти)?

Share this post


Link to post
Share on other sites
Значит ли это, что для корректных результатов нельзя пользоваться стандартной временной моделью контроллера?

Да, для контроллера нужно создавать свою кастомную timing-модель с помощью даташита и встроенного визарда (он поможет сделать это по шагам).

Share this post


Link to post
Share on other sites

ClayMan, спасибо за ответ.

 

Нашлось на форуме Xilinx:

https://forums.xilinx.com/t5/Memory-Interfa...p/707654/page/2

 

Т. е. Xilinx не выпускает моделей, т. к. их контроллер DDR соответствует JEDEC стандарту. Думаю, что можно использовать стандартную модель контроллера, имеющуюся в DDR Wizard.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this