Restinstage 1 22 мая, 2013 Опубликовано 22 мая, 2013 · Жалоба Приветствую! Использую 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. Как можно это исправить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fractcon 0 22 мая, 2013 Опубликовано 22 мая, 2013 · Жалоба Шина данных выравнена с точностью 1,27мм, в отдельном слое, ширина дорожки 0,1, мин расстояние 2)В DDR_report_data_worstcases_Slow.xls не проходят DQ14 и DQ15 по параметру Hold Time Margin (отрицательный), независимо от используемых в симуляции моделей ODT. Как можно это исправить? Что то у Вас не то. Или шина данных DQ выровнена, а DQS нет. Setup/Hold это привязка данных к стробу. Длина 1.27mm дает задержку или опережение на 8ps примерно. Это не та цифра, которая может завалить дизайн. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Restinstage 1 22 мая, 2013 Опубликовано 22 мая, 2013 · Жалоба Стробы и маски у меня, конечно, выровнены с той же точностью, просто они на другом слое (импеданс в слоях немного различается, но думаю это не так критично). Сейчас попробовал поиграть с длинами DQ14, 15 в сторону уменьшения, картина чуть улучшилась в плане количества ошибок, при дальнейшем уменьшении все вернулось. В любом случае не проходят почему-то именно эти две. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Restinstage 1 23 мая, 2013 Опубликовано 23 мая, 2013 · Жалоба Увеличивал длины тех же цепей: где проходит Hold Time Margin не проходит Setup Time Margin. Не получается найти баланс, все линии данных находятся в одинаковых условиях, полигоны под всеми без разрывов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fractcon 0 23 мая, 2013 Опубликовано 23 мая, 2013 (изменено) · Жалоба Я думаю у Вас неверно выставлены эти самые "margin". Насколько я понимаю тут ситуация такая. Строб щелкает данные по двум фронтам тактовой частоты. Данные меняются также по двум фронтам. Следовательно расстояние между стробом и двумя сменами данных по TCLK/4 с обоих сторон от строба. Это максимум доступного времени. Или временные окна от строба до и после. Чуть ближе к стробу, если так можно выразиться стоят времена Setup Time и Hod Time. Далее за ними идут эти самые margin также от строба в разные стороны. И наконец остается еще запас до границ окон. Примерно так: Смена данных>>>>запас>>>>setup margin>>>>setup time>>>СТРОБ>>>>hold time>>>>hold margin>>>>запас>>> Смена данных. И если Вы двигаете трассы длиннее короче и нарушаете то одно margin то другое, значит у Вас неверно выставлены временные параметры. Скажем TCLK/4 для 1833, а margin для 1066. Тогда конечно в мелком окне если задать громадные пороги никогда не будет баланса. Изменено 24 мая, 2013 пользователем fractcon Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Restinstage 1 24 мая, 2013 Опубликовано 24 мая, 2013 · Жалоба 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! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fractcon 0 24 мая, 2013 Опубликовано 24 мая, 2013 (изменено) · Жалоба Multi-threshold for the strobe net is found!!! Calculation of setup/hold time is cancelled for this net! Похоже трассу колбасит нештатно и в наличии дребезг сигнала, посмотрите осциллограммы. Видимо проблемы с терминаторами. Изменено 24 мая, 2013 пользователем fractcon Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Uree 1 24 мая, 2013 Опубликовано 24 мая, 2013 · Жалоба В DDR3 нет терминаторов. Точнее они встроенные и дальше только вопрос выбора модели. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Restinstage 1 27 мая, 2013 Опубликовано 27 мая, 2013 · Жалоба fractcon, осциллограммы смотрел, выглядит так будто линия несогласована, на приемнике нехилое падение уровня. Осциллограммы при симуляции цепи в SI Oscilloscope сильно отличаются от тех что выдает Batch Simulation. Юзал разные модели ODT, картина особо не менялась. И как их выбрать, когда я симулирую линию через осцилл? Приложил *.hyp файл и IBIS модели, посмотрите, pls, у кого есть Hyperlynx. У меня 8.1. DDR3.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexander.Karas 0 29 мая, 2013 Опубликовано 29 мая, 2013 · Жалоба модель контроллера делали, или использовали стандартную? Надо обязательно делать стандартную модель и прогонять через DDRx, предварительно выбрав оптимльный вариант по моделям через SweepAnalyzer fractcon, осциллограммы смотрел, выглядит так будто линия несогласована, на приемнике нехилое падение уровня. Осциллограммы при симуляции цепи в SI Oscilloscope сильно отличаются от тех что выдает Batch Simulation. Юзал разные модели ODT, картина особо не менялась. И как их выбрать, когда я симулирую линию через осцилл? Приложил *.hyp файл и IBIS модели, посмотрите, pls, у кого есть Hyperlynx. У меня 8.1. картина на тайминге от модели ODT особо и не зависит. Только на поведение сигнала повлияет. Выбирается модель на этапе анализа, потом на этапе зашивки выбирается нужная. Осциллографом щупаете уже прошитый контроллер. (см ответ Uree) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fractcon 0 29 мая, 2013 Опубликовано 29 мая, 2013 (изменено) · Жалоба Приложил *.hyp файл и IBIS модели, посмотрите, pls, у кого есть Hyperlynx. У меня 8.1. Посмотрел, линии DQ7, DQ15, картинку прикладываю, смотрится отлично. Модель ODT выбирается нажатием кнопки Select, Model Selector. Смотрите картинки Изменено 29 мая, 2013 пользователем fractcon Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 13 29 мая, 2013 Опубликовано 29 мая, 2013 · Жалоба А насколько в целом адекватен Batch Simulation со стандартной моделью контроллера? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fractcon 0 29 мая, 2013 Опубликовано 29 мая, 2013 · Жалоба А насколько в целом адекватен Batch Simulation со стандартной моделью контроллера? Я не знаю, никогда не пользовался Batch для Hyperlynx, по идее все это надо строго проверять прежде чем использовать, по времени затратно... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Restinstage 1 30 мая, 2013 Опубликовано 30 мая, 2013 (изменено) · Жалоба модель контроллера делали, или использовали стандартную? Надо обязательно делать стандартную модель и прогонять через 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, думаю, не нужно будет перепроверять каждую линию отдельно. DDR3Delays_autogenerated.txt Изменено 30 мая, 2013 пользователем Restinstage Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexander.Karas 0 31 мая, 2013 Опубликовано 31 мая, 2013 · Жалоба А насколько в целом адекватен Batch Simulation со стандартной моделью контроллера? Batch тут не причём. Само ипользование стандартной временнОй модели контроллера некорректно! Вы имеете в виду модель, сгенеренную в ISE? Я использовал ту что с сайта Xilinx. нет, не поведенческая модель (IBIS), а временнАя - генерится на основании данных даташита конкретного контроллера Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться