Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Косяки трассировки DDR3
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Работаем с трассировкой
Страницы: 1, 2
KostyantynT
Добрый день.

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

Предыстория платы такая, 4 слоя, сигнальные слои наружные. Китайцы взяили реф, все что касается трассировки DDR3 - скопипастили. Только в рефе во внутреннм питающем слое, все что находтся под DDR3 сигналами - один
потенциал - питание DDR3 (1,5 вольта). У китайцев - разорваный полигон и их пресекают плейны 1 вольт - ядро,12 вольт - основное питание, 3,3 вольта- питание периферии. На цветной картинке (китайская разводка)

1. Синий - 1.5В питание DDR3
2. Зеленый -12В основное питание.
3.Красные полигоны - 1В ядро и 3.3 вольта - периферия.

На второй картинке (черен-белая) - референс. Центральный полигон - питание DDR3. Есть подозрение, что из-за этого память сбоит. Что народ думает по этому поводу?


Приложил файл, как идут сигнальные линии DDR3 над полигонами (у китайцев).
Uree
А могут ли китайцы подтвердить, что у них она тоже сбоит? Потому как в ДДР3 такие разрывы плэйнов могут быть уже критичными.
А могут быть и программные баги, когда несколько задач, делящие доступ к памяти, друг другу "переходят дорогу". Тем более тесты именно памяти проходят нормально... У нас была такая ситуация, когда долго грешили на память, а в итоге оказалось, что таки в софте была проблема.
KostyantynT
Цитата(Uree @ May 23 2013, 16:01) *
А могут ли китайцы подтвердить, что у них она тоже сбоит? Потому как в ДДР3 такие разрывы плэйнов могут быть уже критичными.
А могут быть и программные баги, когда несколько задач, делящие доступ к памяти, друг другу "переходят дорогу". Тем более тесты именно памяти проходят нормально... У нас была такая ситуация, когда долго грешили на память, а в итоге оказалось, что таки в софте была проблема.


Нет, они только развели,а я этих калек запускаю. По софту - тоже осталось подозрение, посмотрю, то там в кернеле. Там еще интересно, в проце есть внутрення калибровка DDR3 линий. Смотрю по логам и сравниваю с рефом - все примерно одинаково. Вот и грешу на плэйны. В похожей плате (то же от них), пришлось снизить питание, чтобы убрать помехи от импульсных стабилизаторов, тогда она как-то заработала.
fractcon
Народ думает что это экстремальный экстрим, разводить DDR3 в четырех слоях, да еще и порезать полигоны опорного слоя. Как будто время остановилось и законы физики перестали работать sm.gif
А чего шестислойку делать не стали.
Как вариант, можно загнать в 3D модель, крупные косяки с импедансом вылезут однозначно.
Чтоб проверить питание, можно попытаться подключить внешнее линейное питание вместо всех основных шин потребления и посмотреть как работать будет. Возвратные токи можно организовать конденсаторами на границах полигонов. Вдруг прокатит.
KostyantynT
Цитата(fractcon @ May 23 2013, 16:30) *
Народ думает что это экстремальный экстрим, разводить DDR3 в четырех слоях, да еще и порезать полигоны опорного слоя. Как будто время остановилось и законы физики перестали работать sm.gif
А чего шестислойку делать не стали.
Как вариант, можно загнать в 3D модель, крупные косяки с импедансом вылезут однозначно.
Чтоб проверить питание, можно попытаться подключить внешнее линейное питание вместо всех основных шин потребления и посмотреть как работать будет. Возвратные токи можно организовать конденсаторами на границах полигонов. Вдруг прокатит.

Решение принимал не я. Мне пришли готовые платы. Ядро уже отрезал, кинул снаружи, немного лучше.
Uree
Не экстрим. При правильной трассировке все работает, проверено. Но резать несколькими границами трассы ДДР3 мы не стали, пустили в обход.
KostyantynT
Цитата(Uree @ May 23 2013, 16:40) *
Не экстрим. При правильной трассировке все работает, проверено. Но резать несколькими границами трассы ДДР3 мы не стали, пустили в обход.

На рефе в четырех слоях работает DDR3 1600. Тут - 1300 не хочет.

Вторую плату от них запустил (1600 МГц), там правда не 4,а две DDR3 стоят, но разрывов в плэйне нет. Трассировал другой разработчик.
vitan
Цитата(Uree @ May 23 2013, 17:40) *
Не экстрим. При правильной трассировке все работает, проверено. Но резать несколькими границами трассы ДДР3 мы не стали, пустили в обход.

+1. Я бы тоже резать полигоны не стал. А 4 слоя - это нормально. Теоретически можно попробовать понять путем моделирования в чем-то типа ансиса... Практически - да, в первую очередь налепить конденсаторов на разрывы...
KostyantynT
Цитата(vitan @ May 23 2013, 16:54) *
+1. Я бы тоже резать полигоны не стал. А 4 слоя - это нормально. Теоретически можно попробовать понять путем моделирования в чем-то типа ансиса... Практически - да, в первую очередь налепить конденсаторов на разрывы...

Те блокировку между питающими? Или с питающих на землю?
Uree
Между, чтобы переменная составляющая пошла "поперек" полигонов через эти кондеры. Хотя что будет тогда с остальными питаниями - это вопрос...
vitan
Цитата(КонстантинТ @ May 23 2013, 18:01) *
Те блокировку между питающими? Или с питающих на землю?

Ну да, на землю, она же есть хоть одна непрерывная? Если нету, то совсем плохо... Разве что снаружи проводами или плетенкой какой-нибудь соединить.... брр...
KostyantynT
Цитата(vitan @ May 23 2013, 18:49) *
Ну да, на землю, она же есть хоть одна непрерывная? Если нету, то совсем плохо... Разве что снаружи проводами или плетенкой какой-нибудь соединить.... брр...

Проще уж положить их на полочку, будет неиссякаемый источник запчастей. cranky.gif
neiro80
Привет.

примерно такая же проблема и 2 недели сроку ей. как то даже удивился увидев Вашу тему sm.gif

тоже платка с ddr3. в юбуте тест памяти проходит. проходит тест памяти и через jtag отладчик. ядро грузится норм и вроде как работает.

Если не сложно опишите поподробней как и при каких условиях у вас происходит падение ядра и почему подозрения на ddr3? и сам лог падения увидеть. (он один и тотже всегда или разный?)

У нас ядро падает если запустить пинг с компа на платку вот с такими парамерами: ping 192.169.1.1 -s 65000 -f

Конечно первая мысль что причиной падения является сетевая часть. но каким то чудесным образом платка начинает жизнь если оперативку занять делом. например непрерывно копировать файлик (с помощью скрипта) из одной директории в другую.

Даже видно через потребление. сам пинг видимо не сильно напрягает оперативку и потребление в данном режиме стандартное (ядро регулярно валится при входящем флуд-пинге). как только запускается скрипт с копированием, то потребление вырастает на 1вт.(ядро живет)

Если у вас есть сетевая часть то можете выполнить такой же тест?

спасиб!
KostyantynT
Цитата(neiro80 @ May 25 2013, 13:28) *
Привет.

примерно такая же проблема и 2 недели сроку ей. как то даже удивился увидев Вашу тему sm.gif

тоже платка с ddr3. в юбуте тест памяти проходит. проходит тест памяти и через jtag отладчик. ядро грузится норм и вроде как работает.

Если не сложно опишите поподробней как и при каких условиях у вас происходит падение ядра и почему подозрения на ddr3? и сам лог падения увидеть. (он один и тотже всегда или разный?)

У нас ядро падает если запустить пинг с компа на платку вот с такими парамерами: ping 192.169.1.1 -s 65000 -f

Конечно первая мысль что причиной падения является сетевая часть. но каким то чудесным образом платка начинает жизнь если оперативку занять делом. например непрерывно копировать файлик (с помощью скрипта) из одной директории в другую.

Даже видно через потребление. сам пинг видимо не сильно напрягает оперативку и потребление в данном режиме стандартное (ядро регулярно валится при входящем флуд-пинге). как только запускается скрипт с копированием, то потребление вырастает на 1вт.(ядро живет)

Если у вас есть сетевая часть то можете выполнить такой же тест?

спасиб!

Это память. потому что чистили питание, никаких эффектов. На другой плате, где немного лучше разведена память, она работает, но регулярно валится после нагрева, хотя реф нагревали до 100 градусов и все устойчиво. Они скопировали трассировку из рефа, но стакапы совсем другие. Поэтому, без контроля целостности там делать нечего.
ClayMan
А можно попросить выложить референс-дизайн платы посмотреть? Очень интересно.
PCBtech
Цитата(КонстантинТ @ Jun 4 2013, 13:58) *
Это память. потому что чистили питание, никаких эффектов. На другой плате, где немного лучше разведена память, она работает, но регулярно валится после нагрева, хотя реф нагревали до 100 градусов и все устойчиво. Они скопировали трассировку из рефа, но стакапы совсем другие. Поэтому, без контроля целостности там делать нечего.


Там у вас в проекте змейки сигналов идут прямо поверх разрыва в опорном слое, несколько раз пересекая его. Это работать никак не заставишь, импеданс скачет в разы. Я думаю, качество сигнала там просто отвратительное.
А зачем вы трассировку у китайцев заказали, если не секрет?
KostyantynT
Цитата(PCBtech @ Jun 17 2013, 13:45) *
Там у вас в проекте змейки сигналов идут прямо поверх разрыва в опорном слое, несколько раз пересекая его. Это работать никак не заставишь, импеданс скачет в разы. Я думаю, качество сигнала там просто отвратительное.
А зачем вы трассировку у китайцев заказали, если не секрет?

До меня заказывали. Одним словом, "понять, простить и отпустить" wink.gif . Сейчас сам переразвожу новую плату в менторе.
KostyantynT
Оттрассировал свою плату. Тщательно выровнял все дорожки. Начал считать в Hyperlynx. На 1300 все проходит на ура. На более высоких частотах столкнулся с влиянием соседних дорожек. Например, есть две трассы шины данных, которые лежат в стороне от основных трасс. Пришлось их длину уменьшать примерно на 4 мм, чтобы прошли тесты на 1866 мбт. Вот и вопрос, то ли тщательно выравнивать и оставлять (но тесты не проходят), или доверять результатам просчета и делать некоторые дорожки заведомо короче, что скажут профи. Кстати , столкнулся с тем , что тромбоном на 1600 и больше выравнивать удобнее, чем змейкой. Там уже важны зазоры между трассами. Увеличить зазоры не могу, тк плата 4 слойная, те только два сигнальных слоя.
Restinstage
2КонстантинТ
В чем просчитываете, в Batch Simulation?
Какие у вас мин зазоры между трассами? В одном ли слое находится адрес и данные?
В любом случае зазор нужно сделать не менее 3w на таких частотах, а если выравниваете тромбонами,
то и в тромбоне такой же зазор.
Я создавал тут тему насчет Batch Simulation, но на самом интересном она утухла. Мне тоже интересно, можно ли
полностью доверится тому что он выдает (если, конечно, все заведомо верно настроил).
KostyantynT
Цитата(Restinstage @ Jul 1 2013, 10:20) *
2КонстантинТ
В чем просчитываете, в Batch Simulation?
Какие у вас мин зазоры между трассами? В одном ли слое находится адрес и данные?
В любом случае зазор нужно сделать не менее 3w на таких частотах, а если выравниваете тромбонами,
то и в тромбоне такой же зазор.
Я создавал тут тему насчет Batch Simulation, но на самом интересном она утухла. Мне тоже интересно, можно ли
полностью доверится тому что он выдает (если, конечно, все заведомо верно настроил).

Да , в Batch Simulation. Зазоры - 3W. Вначале смотрю качество сигнала, чтобы не было звона и визуально подгоняю, чтобы в одно время приходили. Потом симулятором, плюс в конце - с учетом взаимного влияния. И вот такая петрушка получается, что крайние трассы приходится укорачивать, плюс подбирать характер змейки, чтобы не было искажений сигнала (в начале или конце дорожки), плюс смотреть , где находится переходное. Одним словом, сеанс разоблачения черной магии. Гуру молчат ...

Цитата(КонстантинТ @ Jul 1 2013, 10:33) *
Да , в Batch Simulation. Зазоры - 3W. Вначале смотрю качество сигнала, чтобы не было звона и визуально подгоняю, чтобы в одно время приходили. Потом симулятором, плюс в конце - с учетом взаимного влияния. И вот такая петрушка получается, что крайние трассы приходится укорачивать, плюс подбирать характер змейки, чтобы не было искажений сигнала (в начале или конце дорожки), плюс смотреть , где находится переходное. Одним словом, сеанс разоблачения черной магии. Гуру молчат ...

Кстати . посмторел в рефе, там дорожки одинаковой длины, но стробы (DQS) относительно данных удлинены на 7 мм
vitan
Цитата(КонстантинТ @ Jul 1 2013, 11:48) *
крайние трассы приходится укорачивать, плюс подбирать характер змейки, чтобы не было искажений сигнала (в начале или конце дорожки), плюс смотреть , где находится переходное. Одним словом, сеанс разоблачения черной магии. Гуру молчат ...

Я хоть и не гуру, но в это верю. Более того, у меня стойкое ощущение, что на DDR4 с этим мы столкнемся в полный рост. Вот, для примера видео от аджилента. Т.е. не только менторовский симулятор об этом знает, следовательно можно ему доверять. В какой степени ответить не могу, т.к. не имею средств и соответствующей измериловки.

Цитата(КонстантинТ @ Jul 1 2013, 11:48) *
Кстати . посмторел в рефе, там дорожки одинаковой длины, но стробы (DQS) относительно данных удлинены на 7 мм

Это может быть особенностью контроллера, т.е. именно для этого контроллера так надо делать. Что за реф-то, что за контроллер?
KostyantynT
Цитата(vitan @ Jul 1 2013, 10:58) *
Я хоть и не гуру, но в это верю. Более того, у меня стойкое ощущение, что на DDR4 с этим мы столкнемся в полный рост. Вот, для примера видео от аджилента. Т.е. не только менторовский симулятор об этом знает, следовательно можно ему доверять. В какой степени ответить не могу, т.к. не имею средств и соответствующей измериловки.


Это может быть особенностью контроллера, т.е. именно для этого контроллера так надо делать. Что за реф-то, что за контроллер?

Броадкомовский чип, особенностей никаких нет, хотя всю инфу приходится вытягивать клещами из производителя. Самое интресное, что допускают в рефе ставить переходные на приличном расстоянии от падов, те трасса 2100 милс, а переходное - 185 милс от пада.

Цитата(КонстантинТ @ Jul 1 2013, 11:05) *
Броадкомовский чип, особенностей никаких нет, хотя всю инфу приходится вытягивать клещами из производителя. Самое интресное, что допускают в рефе ставить переходные на приличном расстоянии от падов, те трасса 2100 милс, а переходное - 185 милс от пада.

За видео спасибо, действительно поучительно, так нигде об этом не сказано.
vitan
Цитата(КонстантинТ @ Jul 1 2013, 12:08) *
Броадкомовский чип, особенностей никаких нет, хотя всю инфу приходится вытягивать клещами из производителя.

Сорри, а как Вам это удается? В смысле, вытягивать? И откуда уверенность, что нет особенностей? Бродком Вам отвечает на вопросы?
Uree
Я смотрю Вы еще ровняете... Вопрос - учитывались ли при проектировании Pin Delay чипа? Из своего опыта знаю, что только на подложке разброс длин имеем больше 10мм. Так что если добавить эти 10+ мм к длинам трасс на плате, то ничего удивительного в таком процессе выравнивания уже нет.
А насчет наводок подумайте - они возникают в момент изменения состояния сигналов, на фронтах. Вопрос - а в какой ммоент происходит сэмплирования сигналов? На фронтах? Нет. Тогда какие проблемы от этих наводок?sm.gif
KostyantynT
Цитата(vitan @ Jul 1 2013, 11:13) *
Сорри, а как Вам это удается? В смысле, вытягивать? И откуда уверенность, что нет особенностей? Бродком Вам отвечает на вопросы?

Под NDA. Да отвечает.
vitan
Цитата(КонстантинТ @ Jul 1 2013, 12:16) *
Под NDA. Да отвечает.

Пардон за назойливость, а как Вы его получили? Куда обращались? Чем завлекали? sm.gif
KostyantynT
Цитата(Uree @ Jul 1 2013, 11:15) *
Я смотрю Вы еще ровняете... Вопрос - учитывались ли при проектировании Pin Delay чипа? Из своего опыта знаю, что только на подложке разброс длин имеем больше 10мм. Так что если добавить эти 10+ мм к длинам трасс на плате, то ничего удивительного в таком процессе выравнивания уже нет.
А насчет наводок подумайте - они возникают в момент изменения состояния сигналов, на фронтах. Вопрос - а в какой ммоент происходит сэмплирования сигналов? На фронтах? Нет. Тогда какие проблемы от этих наводок?sm.gif

Там достаточно навороченый контроллер, который при старте автоматом подгоняет задержки по каждой линии и выдает в в консоль логи, те можно визуально увидеть разброс и пресчитать в пс. Поэтому подложку не учитываю, да и нет такой инфы, беру стандартную IBIS модель и считаю. По наводкам смотрю сигнал, чтобы не было дребезга на фронтах и спадах сигнала. По наводкам - там есть просчет с учетом crosstalks, он занимает в два раза больше времени, он например выдал мне одну проблемную трассу на 1866. Ума не приложу, как это у броадкома работает на 2133.

Цитата(vitan @ Jul 1 2013, 11:19) *
Пардон за назойливость, а как Вы его получили? Куда обращались? Чем завлекали? sm.gif

Да ничем, это фирма с ними работает. наксолько я знаю, там был достаточно длительный процесс аккредитации.
vitan
Цитата(КонстантинТ @ Jul 1 2013, 12:24) *
Там достаточно навороченый контроллер, который при старте автоматом подгоняет задержки по каждой линии и выдает в в консоль логи, те можно визуально увидеть разброс и пресчитать в пс.

Имеется ввиду write leveling? Это ж стандартная функциональность. Более того, в некоторых чипах рекомендуют это отключать и прописывать задержки ручками. Но все равно стоит проверить, нужно ли учитывать Pin delay. Вот прямо у бродкома и спросите, может легко случиться так, что Вам выдадут файлик с задержками. А может, скажут, что Вас это волновать не должно.

Цитата(КонстантинТ @ Jul 1 2013, 12:24) *
Ума не приложу, как это у броадкома работает на 2133.

Ну так о том и речь, что нужно количественное знание, насколько можно доверять симулятору. Тут помочь Вам вряд ли смогут.

Цитата(КонстантинТ @ Jul 1 2013, 12:24) *
Да ничем, это фирма с ними работает. наксолько я знаю, там был достаточно длительный процесс аккредитации.

Понятно, что не Вы лично. Я про фирму и спрашиваю, не подскажете, куда идти?
KostyantynT
Цитата(vitan @ Jul 1 2013, 11:36) *
Имеется ввиду write leveling? Это ж стандартная функциональность. Более того, в некоторых чипах рекомендуют это отключать и прописывать задержки ручками. Но все равно стоит проверить, нужно ли учитывать Pin delay. Вот прямо у бродкома и спросите, может легко случиться так, что Вам выдадут файлик с задержками. А может, скажут, что Вас это волновать не должно.


Ну так о том и речь, что нужно количественное знание, насколько можно доверять симулятору. Тут помочь Вам вряд ли смогут.


Понятно, что не Вы лично. Я про фирму и спрашиваю, не подскажете, куда идти?

К сожалению, это не моего уровня вопросы. Не это их собственный алгоритм, он назыается shmoo. Он выравниват задержки по всем линимя (и адрес и данные). Кстати, чтобы не было звона на фронтах лучше делать не широкие, но длинные змейки с 3W зазорами. те как можно дальше уходить от индуктивностей.
Uree
Информация по Pin Delay у Броадкома есть, во всех их референсах она имеется и мы всегда ее используем.

Чтобы немного прояснить вопрос с кросстолками - это не та проблема, с которой реально нужно бороться в пределах одного
синхронного интерфейса. У меня в работе сейчас вот эта плата:

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

DDR3-1333 она работает. Чтобы было смешнее - дизайн 2-слойный.
KostyantynT
Цитата(Uree @ Jul 1 2013, 12:14) *
Информация по Pin Delay у Броадкома есть, во всех их референсах она имеется и мы всегда ее используем.

Чтобы немного прояснить вопрос с кросстолками - это не та проблема, с которой реально нужно бороться в пределах одного
синхронного интерфейса. У меня в работе сейчас вот эта плата:

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

DDR3-1333 она работает. Чтобы было смешнее - дизайн 2-слойный.

А в каких файлах вы находите инофрмацию по Pin Delay? Все что у меня есть - IBIS модели, которые пришлось править, чтобы заработали в hyperlynx (7584).

По вашему дизайну - чур меня, я видел упоминание этих чипов. На что только люди не идут. чтобы не плaтить за 4 слойные платы.
Uree
Бизнес штука жестокая... хочешь выживать - научись экономить. На сериях в десятках-сотнях тысяч штук экономия между 2 и 4 слоями капает хорошим бонусом. А при наличии несчитаных денег конечно, чеж не делать многослойки даже там, где без этого можно обойтись...

Инфо с Pin Delay содержится в самом дизайне платы. Если у Вас есть референс от Броадкома(почти наверняка в Аллегро) смотрите тут:

Нажмите для просмотра прикрепленного файла
KostyantynT
Цитата(Uree @ Jul 1 2013, 13:04) *
Бизнес штука жестокая... хочешь выживать - научись экономить. На сериях в десятках-сотнях тысяч штук экономия между 2 и 4 слоями капает хорошим бонусом. А при наличии несчитаных денег конечно, чеж не делать многослойки даже там, где без этого можно обойтись...

Инфо с Pin Delay содержится в самом дизайне платы. Если у Вас есть референс от Броадкома(почти наверняка в Аллегро) смотрите тут:

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

Ага нашел. В Hyperlynx в файл надо в ps подставлять или в милсах?и У меня задержки в милсах (200 -400), как пересчитать в ps?
Uree
1mils ~ 0.18ps
1mm ~ 7ps
KostyantynT
Цитата(Uree @ Jul 1 2013, 14:27) *
1mils ~ 0.18ps
1mm ~ 7ps

Как вы их вводите в Hyperlynx? И почему не на все линии есть задержки?
Uree
Во-первых я их не ввожу в Гиперлинкс, а задаю в самом дизайне, дабы выранивать трассы уже с учетом Pin Delay.
Во-вторых Pin Delay обычно приводится только для пинов/сигналов, где разброс длин может реально иметь какое-то влияние. Т.е. давать длину пина сигнала типа I2C нет смысла в принципе, потому как при тех скоростях там плюс-минус полгектара можно его выравнивать, а точнее никакого выравнивания не нужно. Поэтому и данные есть не для всех пинов.
Restinstage
Цитата(Uree @ Jul 1 2013, 16:52) *
Во-первых я их не ввожу в Гиперлинкс, а задаю в самом дизайне, дабы выранивать трассы уже с учетом Pin Delay.


А где они задаются в CES DxDesigner?
skripach
Цитата(Uree @ Jul 1 2013, 12:14) *
Информация по Pin Delay у Броадкома есть, во всех их референсах она имеется и мы всегда ее используем.

Чтобы немного прояснить вопрос с кросстолками - это не та проблема, с которой реально нужно бороться в пределах одного
синхронного интерфейса. У меня в работе сейчас вот эта плата:

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

DDR3-1333 она работает. Чтобы было смешнее - дизайн 2-слойный.

Очень интересно.
Я правильно понял что задержки от разности длин компенсируются программно внутри чипа? wacko.gif
А почему сигналы сгруппированы по два, этоже не диф линии?
KostyantynT
Цитата(Uree @ Jul 1 2013, 15:52) *
Во-первых я их не ввожу в Гиперлинкс, а задаю в самом дизайне, дабы выранивать трассы уже с учетом Pin Delay.
Во-вторых Pin Delay обычно приводится только для пинов/сигналов, где разброс длин может реально иметь какое-то влияние. Т.е. давать длину пина сигнала типа I2C нет смысла в принципе, потому как при тех скоростях там плюс-минус полгектара можно его выравнивать, а точнее никакого выравнивания не нужно. Поэтому и данные есть не для всех пинов.

Хорошо, смотрю у вас на картинке, там для некоторых адресных линий эти значения не указаны. У меня тоже для некторых линий данных они не указаны. И что, для неуказанных линий их не учитывать, там же разницы до 10 мм.

По CES - можно попытаться через формулу, но мне проще в процессе выравнивания учитывать, все равно вручную тяну. Tune очень коряво ровняет, когда мало места.

Цитата(skripach @ Jul 1 2013, 16:52) *
Очень интересно.
Я правильно понял что задержки от разности длин компенсируются программно внутри чипа? wacko.gif
А почему сигналы сгруппированы по два, этоже не диф линии?

Похоже они таким образом добавляют экранируют. Но зачем там резисторы стоят на дифлинии. A shmoo да достаточно серъезно может компенсировать.
skripach
Цитата
Но зачем там резисторы стоят на дифлинии.

Откуда столько диф линий в памяти? или я на столько отстал от жизни и в DDR3 данные по диф линиям гоняют?
Uree
По какой картинке? Какие адреса? На картинке первый попавшийся дизайн с прописанными Pin Delay(в данном случае Кинтекс-7). К каким именно сигналам эти длины относятся я понятия не имеюsm.gif Ну, в данный момент конечно... когда с ним работал, то ясное дело все помнил.
Не знаю как там в экспедишн с его CES, но Аллегро, в котором я работаю, включает Pin Delay в общею длину цепи автоматом после установки соответствующей птицы в сэтапе. И никаких формул...

Off Из формул могу только один интересный момент вспомнить - надо было выравнивать цепи идущие с одной платы на другую. Вот там была формула, вытягивающая данные из одного проекта и вкладывающая их как доп. длину в другой. Но это один раз было, больше формул не пользовал, Constraint Manager + Signal Explorer позволяет все нужное задать и без них.

ЗЫ При чем тут диффпары? Нет их там, кроме клока и стробов. Я же написал - плата 2-слойная, опорной земли ПОД трассой нет. Вместо нее выступает опорой земля СБОКУ трассы. Дабы не занимать много места трассы сгруппированы попарно и между ними залита земля с прошивкой на боттом. За счет зазора трасса-плэйн сбоку обеспечивается импеданс в районе 50 Ом.
skripach
Цитата(Uree @ Jul 1 2013, 17:06) *
ЗЫ При чем тут диффпары? Нет их там, кроме клока и стробов. Я же написал - плата 2-слойная, опорной земли ПОД трассой нет. Вместо нее выступает опорой земля СБОКУ трассы. Дабы не занимать много места трассы сгруппированы попарно и между ними залита земля с прошивкой на боттом. За счет зазора трасса-плэйн сбоку обеспечивается импеданс в районе 50 Ом.

Спасибо, тут понятно. А что с задержками из-за не выровненных трасс?
KostyantynT
Цитата(Uree @ Jul 1 2013, 17:06) *
По какой картинке? Какие адреса? На картинке первый попавшийся дизайн с прописанными Pin Delay(в данном случае Кинтекс-7). К каким именно сигналам эти длины относятся я понятия не имеюsm.gif Ну, в данный момент конечно... когда с ним работал, то ясное дело все помнил.
Не знаю как там в экспедишн с его CES, но Аллегро, в котором я работаю, включает Pin Delay в общею длину цепи автоматом после установки соответствующей птицы в сэтапе. И никаких формул...

Off Из формул могу только один интересный момент вспомнить - надо было выравнивать цепи идущие с одной платы на другую. Вот там была формула, вытягивающая данные из одного проекта и вкладывающая их как доп. длину в другой. Но это один раз было, больше формул не пользовал, Constraint Manager + Signal Explorer позволяет все нужное задать и без них.

ЗЫ При чем тут диффпары? Нет их там, кроме клока и стробов. Я же написал - плата 2-слойная, опорной земли ПОД трассой нет. Вместо нее выступает опорой земля СБОКУ трассы. Дабы не занимать много места трассы сгруппированы попарно и между ними залита земля с прошивкой на боттом. За счет зазора трасса-плэйн сбоку обеспечивается импеданс в районе 50 Ом.

По пунктам, на приведенной вами картинке задержки прописаны не для всех линий. В констрейнах у моих рефов задержки прописаны тоже не для всех пинов. Так понятно, или просто тупо доверять рефам, там набеги в 10 мм.
И второе, учли мы эти Pin Delay при выравнивании, как объяснить Hyperlynx, что их надо учитывать при моделировании, физические длины трасс будут разными.
Uree
Цитата(skripach @ Jul 1 2013, 16:25) *
Спасибо, тут понятно. А что с задержками из-за не выровненных трасс?


А не знаю, как программисты это побороли, но плата работает...

Цитата
По пунктам, на приведенной вами картинке задержки прописаны не для всех линий. В констрейнах у моих рефов задержки прописаны тоже не для всех пинов. Так понятно, или просто тупо доверять рефам, там набеги в 10 мм.


В моем проекте прописаны для всех пинов, участвующих в группах выравнивания:

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

Если там какие-то пины из первого скрина питания или JTAG или что-то еще - то зачем для них нужны эти длины?

Цитата
И второе. учлми мы эти Pin Delay, как объяснить Hyperlynx, что их надо учитывать.


Понятия не имею. Можно попробовать втянуть *.brd файл с заданными Pin Delay в HyperLynx и посмотреть, что он скажет и какие настройки моделирования в нем изменятся. Я такого не делал. Моделил только предварительно, чтобы понять какие констрейны задавать. Пост-моделированием не занимался, имхо - смысла не особо.
fill
Цитата(Restinstage @ Jul 1 2013, 17:39) *
А где они задаются в CES DxDesigner?


Колонки Pin Package Length и Pin Package Delay в закладке Parts
KostyantynT
Цитата(fill @ Jul 1 2013, 18:13) *
Колонки Pin Package Length и Pin Package Delay в закладке Parts

Ок fill спасибо. вы как всегда коротко и по делу. Кстати поборол Hyperlynx. Просто заново переразложил линии и прошли тесты на 1866.
Restinstage
2КонстантинТ
Давайте окончательно проясним что же такое временная модель контроллера, как ее назвали
в моей теме http://electronix.ru/forum/index.php?showt...15&start=15 . Там предполагается что ее надо генерить. Так вот
если я найду Pin Package Length контроллера и забъю их в CES, а потом сгенерю файл *.hyp
для Hyperlynx - это и будет работа с правильной временной моделью?
И что такое файл DDR3Delays_autogenerated.txt, который Hyperlynx создает автоматически?
Uree
А знаете, что самое странное в этой ситуации? Вот Вы с середины мая ковыряете этот дизайн, пытаясь в модели сделать его рабочим. Сейчас наконец у Вас получилось. В модели. За полтора+ месяца. А теперь попробуйте в Вашем файле сделать разрывы плэйнов, как в исходном, и промоделить еще раз. Боюсь результат Вам не понравится, потому как ГиперЛинкс не увидит разницы и скажет, что такой вариант тоже рабочий... И на борьбу с чем потратили время?
fill
Цитата(Uree @ Jul 2 2013, 11:07) *
А знаете, что самое странное в этой ситуации? Вот Вы с середины мая ковыряете этот дизайн, пытаясь в модели сделать его рабочим. Сейчас наконец у Вас получилось. В модели. За полтора+ месяца. А теперь попробуйте в Вашем файле сделать разрывы плэйнов, как в исходном, и промоделить еще раз. Боюсь результат Вам не понравится, потому как ГиперЛинкс не увидит разницы и скажет, что такой вариант тоже рабочий... И на борьбу с чем потратили время?


В новой версии 9.0 увидит видео
Uree
Хорошо, красиво выглядит. А где eye diagram для сигналов пролетающих над разрывами плэйнов? Собственно для дизайнера именно это конечная цель моделирования, а не карта ЭМ-поля вокруг проводника. Я бы с удовольствием проверил некоторые моменты с сигналами пересекающими границы плэйнов, если бы была такая возможность в HL.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.