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

Приветствую!

 

Использую Hyperlynx, опцию DDRx Batch Simulation для DDR3 (mt41j64m16JT) в связке со Spartan6.

Шина данных выравнена с точностью 1,27мм, в отдельном слое, ширина дорожки 0,1, мин расстояние

между трассами - 3w.

1)Можно ли делать вывод о правильности разводки, ориентируясь только на DDRx Results Spreadsheets,

выдаваемые Batch Simulation?

2)В DDR_report_data_worstcases_Slow.xls не проходят DQ14 и DQ15 по параметру Hold Time Margin (отрицательный),

независимо от используемых в симуляции моделей ODT. Как можно это исправить?

post-73756-1369223242_thumb.jpg

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


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

Шина данных выравнена с точностью 1,27мм, в отдельном слое, ширина дорожки 0,1, мин расстояние

2)В DDR_report_data_worstcases_Slow.xls не проходят DQ14 и DQ15 по параметру Hold Time Margin (отрицательный),

независимо от используемых в симуляции моделей ODT. Как можно это исправить?

Что то у Вас не то. Или шина данных DQ выровнена, а DQS нет.

Setup/Hold это привязка данных к стробу. Длина 1.27mm дает задержку или опережение на 8ps примерно.

Это не та цифра, которая может завалить дизайн.

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


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

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

в слоях немного различается, но думаю это не так критично).

Сейчас попробовал поиграть с длинами DQ14, 15 в сторону уменьшения, картина чуть улучшилась в плане количества

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

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


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

Увеличивал длины тех же цепей: где проходит Hold Time Margin не проходит Setup Time Margin.

Не получается найти баланс, все линии данных находятся в одинаковых условиях, полигоны под всеми

без разрывов.

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


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

Я думаю у Вас неверно выставлены эти самые "margin". Насколько я понимаю тут ситуация такая. Строб щелкает данные по двум фронтам тактовой частоты. Данные меняются также по двум фронтам.

Следовательно расстояние между стробом и двумя сменами данных по TCLK/4 с обоих сторон от строба. Это максимум доступного времени. Или временные окна от строба до и после.

Чуть ближе к стробу, если так можно выразиться стоят времена Setup Time и Hod Time. Далее за ними идут эти самые margin также от строба в разные стороны. И наконец остается еще запас до границ окон.

Примерно так:

Смена данных>>>>запас>>>>setup margin>>>>setup time>>>СТРОБ>>>>hold time>>>>hold margin>>>>запас>>> Смена данных.

 

И если Вы двигаете трассы длиннее короче и нарушаете то одно margin то другое, значит у Вас неверно выставлены временные параметры. Скажем TCLK/4 для 1833, а margin для 1066.

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

 

Изменено пользователем fractcon

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


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

fractcon, спасибо.

Действительно, косяк был в том что я ставил 800 Mt/s а модели ODT начинаются с 1066.

Теперь с DQ14 и DQ15 все нормально, но по Hold не проходят DQ4-DQ7, только в значительно

меньшем кол-ве случаев, а в SI Spreadsheet у них фэйл по Vref Threshold Multi Cross.

Еще в некоторых появилось такое:

Multi-threshold for the strobe net is found!!! Calculation of setup/hold time is cancelled for this net!

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


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

Multi-threshold for the strobe net is found!!! Calculation of setup/hold time is cancelled for this net!

Похоже трассу колбасит нештатно и в наличии дребезг сигнала, посмотрите осциллограммы. Видимо проблемы с терминаторами.

Изменено пользователем fractcon

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


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

В DDR3 нет терминаторов. Точнее они встроенные и дальше только вопрос выбора модели.

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


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

fractcon, осциллограммы смотрел, выглядит так будто линия несогласована, на приемнике нехилое падение уровня. Осциллограммы при симуляции цепи в SI Oscilloscope сильно отличаются от тех что выдает Batch Simulation.

 

Юзал разные модели ODT, картина особо не менялась. И как их выбрать, когда я симулирую линию через осцилл?

 

Приложил *.hyp файл и IBIS модели, посмотрите, pls, у кого есть Hyperlynx. У меня 8.1.

DDR3.rar

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


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

модель контроллера делали, или использовали стандартную? Надо обязательно делать стандартную модель и прогонять через DDRx, предварительно выбрав оптимльный вариант по моделям через SweepAnalyzer

 

fractcon, осциллограммы смотрел, выглядит так будто линия несогласована, на приемнике нехилое падение уровня. Осциллограммы при симуляции цепи в SI Oscilloscope сильно отличаются от тех что выдает Batch Simulation.

 

Юзал разные модели ODT, картина особо не менялась. И как их выбрать, когда я симулирую линию через осцилл?

 

Приложил *.hyp файл и IBIS модели, посмотрите, pls, у кого есть Hyperlynx. У меня 8.1.

картина на тайминге от модели ODT особо и не зависит. Только на поведение сигнала повлияет.

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

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


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

Приложил *.hyp файл и IBIS модели, посмотрите, pls, у кого есть Hyperlynx. У меня 8.1.

Посмотрел, линии DQ7, DQ15, картинку прикладываю, смотрится отлично.

Модель ODT выбирается нажатием кнопки Select, Model Selector. Смотрите картинки

post-76788-1369850648_thumb.png

post-76788-1369850652_thumb.png

post-76788-1369850670_thumb.png

post-76788-1369850674_thumb.png

post-76788-1369850679_thumb.png

Изменено пользователем fractcon

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


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

А насколько в целом адекватен Batch Simulation со стандартной моделью контроллера?

Я не знаю, никогда не пользовался Batch для Hyperlynx, по идее все это надо строго проверять прежде чем использовать, по времени затратно...

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


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

модель контроллера делали, или использовали стандартную? Надо обязательно делать стандартную модель и прогонять через DDRx, предварительно выбрав оптимльный вариант по моделям через SweepAnalyzer

 

Вы имеете в виду модель, сгенеренную в ISE? Я использовал ту что с сайта Xilinx.

Посмотрел, линии DQ7, DQ15, картинку прикладываю, смотрится отлично.

Модель ODT выбирается нажатием кнопки Select, Model Selector.

Теперь ясно, спасибо. Значит я смотрел их без ODT модели.

А в DDRx они выбираются как на первой картинке.

 

А насколько в целом адекватен Batch Simulation со стандартной моделью контроллера?

 

Важный вопрос. Собственно Hold/Setup, которые у меня не проходят, зависят от файла

DDR3Delays_autogenerated.txt, который генерит DDRx. Если в DDR3 Write Leveling не ставить

флажок, то он каждый раз генерит его заново. Откуда он берет эти цифры непонятно.

 

"The spreadsheet accepts write-leveling delays for strobe signals, but not for data and data mask signals. Write-leveling delays are only useful when performing write cycle clock-to-strobe skew and setup/hold measurements. Write cycle data and data mask setup/hold measurements are made relative to the strobe and not the clock, so the write-leveling delays are not relevant for those timing analyses."

 

Еще неясно как конфигурировать работу ODT в "Verify ODT Behavior".

 

Если полностью разобраться в настройках DDRx Batch Simulation, думаю, не нужно будет перепроверять каждую линию отдельно.

post-73756-1369901970_thumb.jpg

post-73756-1369903287_thumb.jpg

post-73756-1369903340_thumb.jpg

post-73756-1369903425_thumb.jpg

DDR3Delays_autogenerated.txt

Изменено пользователем Restinstage

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


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

А насколько в целом адекватен Batch Simulation со стандартной моделью контроллера?

Batch тут не причём. Само ипользование стандартной временнОй модели контроллера некорректно!

 

Вы имеете в виду модель, сгенеренную в ISE? Я использовал ту что с сайта Xilinx.

нет, не поведенческая модель (IBIS), а временнАя - генерится на основании данных даташита конкретного контроллера

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


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

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

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

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

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

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

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

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

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

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