|
Hyperlynx DDR3 Batch Simulation |
|
|
|
May 22 2013, 11:47
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 1-10-12
Пользователь №: 73 756

|
Приветствую! Использую 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. Как можно это исправить?
Эскизы прикрепленных изображений
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 14)
|
May 22 2013, 12:51
|
Частый гость
 
Группа: Участник
Сообщений: 157
Регистрация: 10-05-13
Пользователь №: 76 788

|
Цитата(Restinstage @ May 22 2013, 15:47)  Шина данных выравнена с точностью 1,27мм, в отдельном слое, ширина дорожки 0,1, мин расстояние 2)В DDR_report_data_worstcases_Slow.xls не проходят DQ14 и DQ15 по параметру Hold Time Margin (отрицательный), независимо от используемых в симуляции моделей ODT. Как можно это исправить? Что то у Вас не то. Или шина данных DQ выровнена, а DQS нет. Setup/Hold это привязка данных к стробу. Длина 1.27mm дает задержку или опережение на 8ps примерно. Это не та цифра, которая может завалить дизайн.
--------------------
Скажи нет международному терроризму... не покупай Pepsi Cola.
|
|
|
|
|
May 22 2013, 13:14
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 1-10-12
Пользователь №: 73 756

|
Стробы и маски у меня, конечно, выровнены с той же точностью, просто они на другом слое (импеданс в слоях немного различается, но думаю это не так критично). Сейчас попробовал поиграть с длинами DQ14, 15 в сторону уменьшения, картина чуть улучшилась в плане количества ошибок, при дальнейшем уменьшении все вернулось. В любом случае не проходят почему-то именно эти две.
|
|
|
|
|
May 23 2013, 13:03
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 1-10-12
Пользователь №: 73 756

|
Увеличивал длины тех же цепей: где проходит Hold Time Margin не проходит Setup Time Margin. Не получается найти баланс, все линии данных находятся в одинаковых условиях, полигоны под всеми без разрывов.
|
|
|
|
|
May 23 2013, 19:36
|
Частый гость
 
Группа: Участник
Сообщений: 157
Регистрация: 10-05-13
Пользователь №: 76 788

|
Я думаю у Вас неверно выставлены эти самые "margin". Насколько я понимаю тут ситуация такая. Строб щелкает данные по двум фронтам тактовой частоты. Данные меняются также по двум фронтам. Следовательно расстояние между стробом и двумя сменами данных по TCLK/4 с обоих сторон от строба. Это максимум доступного времени. Или временные окна от строба до и после. Чуть ближе к стробу, если так можно выразиться стоят времена Setup Time и Hod Time. Далее за ними идут эти самые margin также от строба в разные стороны. И наконец остается еще запас до границ окон. Примерно так: Смена данных>>>>запас>>>>setup margin>>>>setup time>>>СТРОБ>>>>hold time>>>>hold margin>>>>запас>>> Смена данных.
И если Вы двигаете трассы длиннее короче и нарушаете то одно margin то другое, значит у Вас неверно выставлены временные параметры. Скажем TCLK/4 для 1833, а margin для 1066. Тогда конечно в мелком окне если задать громадные пороги никогда не будет баланса.
Сообщение отредактировал fractcon - May 24 2013, 14:07
--------------------
Скажи нет международному терроризму... не покупай Pepsi Cola.
|
|
|
|
|
May 24 2013, 13:39
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 1-10-12
Пользователь №: 73 756

|
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!
|
|
|
|
|
May 24 2013, 14:05
|
Частый гость
 
Группа: Участник
Сообщений: 157
Регистрация: 10-05-13
Пользователь №: 76 788

|
Цитата(Restinstage @ May 24 2013, 17:39)  Multi-threshold for the strobe net is found!!! Calculation of setup/hold time is cancelled for this net! Похоже трассу колбасит нештатно и в наличии дребезг сигнала, посмотрите осциллограммы. Видимо проблемы с терминаторами.
Сообщение отредактировал fractcon - May 24 2013, 14:07
--------------------
Скажи нет международному терроризму... не покупай Pepsi Cola.
|
|
|
|
|
May 27 2013, 08:44
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 1-10-12
Пользователь №: 73 756

|
fractcon, осциллограммы смотрел, выглядит так будто линия несогласована, на приемнике нехилое падение уровня. Осциллограммы при симуляции цепи в SI Oscilloscope сильно отличаются от тех что выдает Batch Simulation. Юзал разные модели ODT, картина особо не менялась. И как их выбрать, когда я симулирую линию через осцилл? Приложил *.hyp файл и IBIS модели, посмотрите, pls, у кого есть Hyperlynx. У меня 8.1.
Прикрепленные файлы
DDR3.rar ( 929.3 килобайт )
Кол-во скачиваний: 51
|
|
|
|
|
May 29 2013, 15:30
|

Частый гость
 
Группа: Свой
Сообщений: 120
Регистрация: 19-05-08
Из: Minsk, Belarus
Пользователь №: 37 626

|
модель контроллера делали, или использовали стандартную? Надо обязательно делать стандартную модель и прогонять через DDRx, предварительно выбрав оптимльный вариант по моделям через SweepAnalyzer Цитата(Restinstage @ May 27 2013, 11:44)  fractcon, осциллограммы смотрел, выглядит так будто линия несогласована, на приемнике нехилое падение уровня. Осциллограммы при симуляции цепи в SI Oscilloscope сильно отличаются от тех что выдает Batch Simulation.
Юзал разные модели ODT, картина особо не менялась. И как их выбрать, когда я симулирую линию через осцилл?
Приложил *.hyp файл и IBIS модели, посмотрите, pls, у кого есть Hyperlynx. У меня 8.1. картина на тайминге от модели ODT особо и не зависит. Только на поведение сигнала повлияет. Выбирается модель на этапе анализа, потом на этапе зашивки выбирается нужная. Осциллографом щупаете уже прошитый контроллер. (см ответ Uree)
|
|
|
|
|
May 29 2013, 18:03
|
Частый гость
 
Группа: Участник
Сообщений: 157
Регистрация: 10-05-13
Пользователь №: 76 788

|
Цитата(Restinstage @ May 27 2013, 12:44)  Приложил *.hyp файл и IBIS модели, посмотрите, pls, у кого есть Hyperlynx. У меня 8.1. Посмотрел, линии DQ7, DQ15, картинку прикладываю, смотрится отлично. Модель ODT выбирается нажатием кнопки Select, Model Selector. Смотрите картинки
Сообщение отредактировал fractcon - May 29 2013, 18:05
Эскизы прикрепленных изображений
--------------------
Скажи нет международному терроризму... не покупай Pepsi Cola.
|
|
|
|
|
May 29 2013, 19:46
|
Частый гость
 
Группа: Участник
Сообщений: 157
Регистрация: 10-05-13
Пользователь №: 76 788

|
Цитата(Flood @ May 29 2013, 23:14)  А насколько в целом адекватен Batch Simulation со стандартной моделью контроллера? Я не знаю, никогда не пользовался Batch для Hyperlynx, по идее все это надо строго проверять прежде чем использовать, по времени затратно...
--------------------
Скажи нет международному терроризму... не покупай Pepsi Cola.
|
|
|
|
|
May 30 2013, 08:46
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 1-10-12
Пользователь №: 73 756

|
Цитата(Александр Карась @ May 29 2013, 19:30)  модель контроллера делали, или использовали стандартную? Надо обязательно делать стандартную модель и прогонять через DDRx, предварительно выбрав оптимльный вариант по моделям через SweepAnalyzer Вы имеете в виду модель, сгенеренную в ISE? Я использовал ту что с сайта Xilinx. Цитата(fractcon @ May 29 2013, 22:03)  Посмотрел, линии DQ7, DQ15, картинку прикладываю, смотрится отлично. Модель ODT выбирается нажатием кнопки Select, Model Selector. Теперь ясно, спасибо. Значит я смотрел их без ODT модели. А в DDRx они выбираются как на первой картинке. Цитата(Flood @ May 29 2013, 23:14)  А насколько в целом адекватен 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, думаю, не нужно будет перепроверять каждую линию отдельно.
Сообщение отредактировал Restinstage - May 30 2013, 08:49
Эскизы прикрепленных изображений
|
|
|
|
|
May 31 2013, 07:58
|

Частый гость
 
Группа: Свой
Сообщений: 120
Регистрация: 19-05-08
Из: Minsk, Belarus
Пользователь №: 37 626

|
Цитата(Flood @ May 29 2013, 22:14)  А насколько в целом адекватен Batch Simulation со стандартной моделью контроллера? Batch тут не причём. Само ипользование стандартной временнОй модели контроллера некорректно! Цитата(Restinstage @ May 30 2013, 11:46)  Вы имеете в виду модель, сгенеренную в ISE? Я использовал ту что с сайта Xilinx. нет, не поведенческая модель (IBIS), а временнАя - генерится на основании данных даташита конкретного контроллера
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|