Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: DDR Wizard
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > Mentor-ExpeditionPCB
Stepanich
Здравствуйте.

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."

Нажмите для просмотра прикрепленного файла

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

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

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

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

Спасибо.
Skat-pro
Цитата(Stepanich @ May 8 2018, 02:13) *
Как лучше поступить, если нет возможности обеспечить заливку полигоном всех областей трассировки цепей: привести всё к единообразию, везде удалив заливку, или оставить заливку там, где это возможно, для снижения перекрёстных помех?

Спасибо.


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

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

Про указанную опцию теперь в доке написано "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, и выбрано несколько цепей, то все равно учитывается взаимное влияние между ними. Т.е. в данном случае не учитывается влияние остальных, не выбранных цепей.
Aner
Что бы откорректировал 1) убрать все термопеды из-за их ненадобностью и проблем с ними. 2) Провильно заметили, заливка земли GND вредна, не нужна, для этого есть слой ниже. 3) Делал бы трамбонами а не гармошкой 4) компенсаторы волнового забыли 5) до переходного, у диф пары нужно так - см 2, чтобы избавится от извилистой у диф пары.
ClayMan
Цитата
Видно, что часть проводников имеет заливку полигоном между сегментами "гармошки" одной цепи, а часть - нет. Известно, что время распространения и форма сигналов в этих различных условиях будут отличаться из-за отличающихся параметров взаимной ёмкости между сегментами "гармошек" (в случае с заливкой землёй ёмкостная связь между сегментами "гармошки" одной цепи отсутствует).

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

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

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

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

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

Общие вопросы:
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.")? На рисунке ниже приведён снимок опорного слоя. Видно, что часть ПО с сигнальными проводниками находится далеко от ПО к опорному слою.
Нажмите для просмотра прикрепленного файла
Aner
Трудно объяснить вам, очевидные вещи, вы не понимаете как разводят такие платы совсем. Еще раз; не делают заливку землей в этом месте в этом слое, то что делаете вы. Освобождают от заливки землей всю группу проводников. Почему так это вам непонятно? У вас же нет объяснений зачем делать заливку земли.
Посмотрите определение что такое термопеды. Они запрещены тут в этой зоне и вообще не нужны. Глухие не причем тут, не надо фантазий.
Трамбоны имеют меньшее кол-во изгибов, занимают меньше площади. Подводку к диф парам так как у вас не делают. Вы элементарно не прошли курс разводки DDR, отсюда много ошибок. Правило 3W у вас обеспечивается, поскольку есть достаточно места. Погуглите как это делается.
fill
Цитата(Stepanich @ May 9 2018, 19:01) *
fill, я правильно понимаю, что флаг Include trace to trace cpuling включать не нужно, если рядом с цепями DDR нет проводников-агрессоров? Т. е. если я включаю в моделирование все типы цепей (адреса, команды, данные, строб, такт), то симулятор будет рассматривать все комбинации сигналов? И как разделить пороги (Electrical thresholds) для униполярных и дифф. сигналов? Может, поставить минимально возможное значение 10 мВ, пожертвовав временем моделирования?

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

Ещё вопросы:

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

Как вычисляется значение 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 для текущего случая (чтение из памяти)?
ClayMan
Цитата
Значит ли это, что для корректных результатов нельзя пользоваться стандартной временной моделью контроллера?

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

Нашлось на форуме Xilinx:
https://forums.xilinx.com/t5/Memory-Interfa...p/707654/page/2

Т. е. Xilinx не выпускает моделей, т. к. их контроллер DDR соответствует JEDEC стандарту. Думаю, что можно использовать стандартную модель контроллера, имеющуюся в DDR Wizard.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.