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

    

DDR3: Терминация сигналов CK

Здравствуйте.

 

Нужен совет практиков. Проектируется узел с DDR3 MT41J128M16JT-125IT. Моделирование ЦС выполняется в Hyper Lynx. Для сигнала CK имеем ошибку по точке пересечения комплементарных сигналов:

post-5847-1527282110_thumb.png

 

Стандартом JEDEC предписано следующее:

post-5847-1527282209_thumb.png

 

Действительно, если посмотреть на осциллограммы сигналов CK_P и CK_N (пробник на кристалле памяти), видна асимметрия (227 мВ):

post-5847-1527281907_thumb.png

 

Причём это связано с разными временами нарастания и спада:

Avg fall time: 119.773 ps Min fall time: 118.092 ps High voltage: 1.19 V

Max fall time: 130.519 ps Low voltage: 385.9 mV

 

Avg rise time: 93.433 ps Min rise time: 89.377 ps Low voltage: 385.9 mV

Max rise time: 95.155 ps High voltage: 1.19 V

 

Сигнал спадает медленнее, чем нарастает.

 

Если посмотреть на сигнал DQS (режим записи в память, пробник на кристалле памяти), то там асимметрия меньше (112 мВ):

post-5847-1527281910_thumb.png

 

Хотя скорость нарастания и спада по-прежнему разная:

 

Avg fall time: 142.460 ps Min fall time: 141.122 ps High voltage: 1.20 V

Max fall time: 143.345 ps Low voltage: 326.8 mV

 

Avg rise time: 125.503 ps Min rise time: 121.370 ps Low voltage: 326.8 mV

Max rise time: 126.889 ps High voltage: 1.20 V.

 

Я подозреваю, что разница в том, что сигнал CK терминируется, как простой LVDS - на резистор 100 Ом (так рекомендует Micron в TN-46-14: "VTT does not terminate any DDR clock pairs. CK and CK# termination is a parallel 100...121 Ohm resistor between the two lines. Micron has found that only differential termination on CK and CK# produces optimal SI."), а DQS - уже на Vdd/2 внутри чипа памяти.

post-5847-1527282319_thumb.png

 

Возможно, нужно поставить под сомнение рекомендацию производителя.

 

Вопрос: сталкивался ли кто-нибудь с необходимостью терминации сигналов тактирования CK на Vdd/2 вместо того, что рекомендует Micron? Или устранение данной проблемы нужно вести другим способом? В похожей теме ответа не нашёл.

 

Спасибо.

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


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

DDR3 ни разу не LVDS, и терминация 100 Ом между линиями работает только в редких случаях.

Обычно ставятся 36-43 Ома на каждую линию и с общей их точки 0.1мкФ на питание памяти(не VTT, а именно VDD). Так делают на модулях памяти, посмотрите на их схемы.

Хорошо работает терминация без конденсатора, просто каждая линия через такой резистор, но уже на VTT. Это уже из собственной практики. Не совсем согласуется с рекомендациями, но точно хорошо работает при небольшом числе чипов памяти.

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


Ссылка на сообщение
Поделиться на другие сайты
Вопрос: сталкивался ли кто-нибудь с необходимостью терминации сигналов тактирования CK на Vdd/2 вместо того, что рекомендует Micron? Или устранение данной проблемы нужно вести другим способом? В похожей теме ответа не нашёл.

В начале документа написано следующее- особое внимание на последнюю часть предложения :biggrin: :

The guidelines and examples of Micron design requirements in this technical note should not be considered the only acceptable methods, nor are they applicable to all point-to-point designs.

То что изображено у вас годится при определенных условиях для дизайнов с одной планкой- при коротких расстояниях и медленной скорости (т.е. не нужна SE терминация). Во всех остальных случаях делается так:

image.png

image.png

image.png

image.png

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


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

Если не секрет, в чем разница?

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


Ссылка на сообщение
Поделиться на другие сайты
Если не секрет, в чем разница?

Если вопрос про картинки в контексте терминации клока, то ни в чем- на них показано одно и то же, но разными авторами.

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


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

Благодарю всех за ответы.

 

Провёл сравнение исходного (терминация на 100 Ом) и правильного (2 резистора по 50 Ом, из центра ёмкость 100 нФ на 1,5 В) вариантов.

 

Сначала промоделировал оба варианта в LineSim (предтопологический анализ у Mentor).

 

Исходный вариант:

post-5847-1527630214_thumb.png

post-5847-1527630066_thumb.png

 

Avg fall time: 127.011 ps Min fall time: 127.011 ps High voltage: 1.16 V

Max fall time: 127.011 ps Low voltage: 341.7 mV

 

Avg rise time: 74.722 ps Min rise time: 74.722 ps Low voltage: 391.2 mV

Max rise time: 74.722 ps High voltage: 1.19 V

 

Правильный вариант:

post-5847-1527630210_thumb.png

post-5847-1527630052_thumb.png

 

Видно, что асимметрия сократилась (стало 263 мВ вместо 347 мВ).

 

Avg fall time: 118.569 ps Min fall time: 118.569 ps High voltage: 1.14 V

Max fall time: 118.569 ps Low voltage: 259.9 mV

 

Avg rise time: 96.200 ps Min rise time: 96.200 ps Low voltage: 409.0 mV

Max rise time: 96.200 ps High voltage: 1.26 V

 

Видно также, что сократилась разница во временах нарастания и спада (стало 22 пс вместо 53 пс).

 

Далее внёс изменения в схему, скорректировал трассировку и выполнил посттопологический анализ.

post-5847-1527630846_thumb.png

 

post-5847-1527631066_thumb.png

 

CK_P:

Avg fall time: 109.226 ps Min fall time: 107.515 ps High voltage: 1.21 V

Max fall time: 110.143 ps Low voltage: 399.7 mV

Avg rise time: 102.426 ps Min rise time: 98.577 ps Low voltage: 399.7 mV

Max rise time: 103.840 ps High voltage: 1.21 V

 

CK_N:

Avg fall time: 119.107 ps Min fall time: 117.673 ps High voltage: 1.14 V

Max fall time: 130.393 ps Low voltage: 304.8 mV

Avg rise time: 107.905 ps Min rise time: 101.301 ps Low voltage: 304.8 mV

Max rise time: 108.514 ps High voltage: 1.14 V

 

Однако в отчёте по-прежнему фигурирует несоответствие стандарту в параметре Vix (только для режима работы Fast; для Typical и Slow ошибок нет):

post-5847-1527631650_thumb.png

 

Ошибка сократилась примерно в два-три раза.

 

Вывод: в данном случае терминация сигнала СК с помощью двух резисторов и конденсатора позволяет добиться лучшей целостности сигнала по сравнению с терминацией на один 100 Ом резистор, однако не позволяет исправить асимметрию сигнала до приемлемого уровня для режима Fast.

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


Ссылка на сообщение
Поделиться на другие сайты
Однако в отчёте по-прежнему фигурирует несоответствие стандарту в параметре Vix (только для режима работы Fast; для Typical и Slow ошибок нет)

Как правило на камень в разделе про ддр идет текст примерно такого содержания:

vix.jpg

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

vix2.jpg

Для "общего понимания" как именно приборы считают fail/pass можно ознакомится с неплохими трудом со 102стр.

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


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

EvilWrecker, спасибо за ссылку.

 

Что вы имеете в виду под сетапом? Время установки? Топология приведена на схеме (два резистора 49,9 Ом, от центра конденсатор 100 нФ на 1,5 В). Данная асимметрия подпадает под второй случай первой картинке в вашем сообщении (Output Slew Rate). В контроллере памяти (Artix-7) нет возможности плавно менять величину подтяжки для корректировки скорости фронтов, поэтому асимметрию нужно устранять каким-то другим способом. Трассировка цепи СК (белый цвет):

post-5847-1527687762_thumb.png

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


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

Откуда у вас к примеру в дизайне с одной планкой памяти столько TL, причем в разном числе и с разными propagation delay- притом на одном слое? Это маразм :biggrin:

Далее:

Данная асимметрия подпадает под второй случай

Да что-то не похоже :laughing:- я бы начал с самого первого случая, но вообще тут помимо всего сказанного очень интересна природа overshoot/pre-shoot с ваших графиков, те два зубца в начале и конце полупериода. Ну и разводка конечно у вас мусор, особенно подвод к шарам :biggrin: - а есть ли изображение всей цепи клока(и заодно строба около артикса), включая терминацию? Тот же вопрос про изображение опорного слоя, вместе с антипадами.

 

ПС. Термалы на виа это конечно победа, бесспорно. По TL в 55 и 70Ом соображения примерно схожие :biggrin:

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


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

EvilWrecker,

 

1. Множество TL - это сегменты меандра.

 

2. Такт во всех слоях:

post-5847-1527691343_thumb.png

 

3. Что за термалы на переходных отверстия и почему это приводит к "победе"?

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


Ссылка на сообщение
Поделиться на другие сайты
1. Множество TL - это сегменты меандра.

Да это и так ясно- но это глупость, т.к. у вас uniform transmission line(одно "целое") от виа до виа :laughing: Не считая моментов ниже :biggrin:

2. Такт во всех слоях:

Ужас. Но хотелось бы другого изображения- по типу с белой маской и всю цепь как в вашем предыдущем посте. Ну и уже чисто любопытство- а всю плату можете показать, хотя бы компоненты топ/бот? Сугубо личный интерес, узнать на что ушло в артиксе-7 16 слоев.

3. Что за термалы на переходных отверстия и почему это приводит к "победе"?

Ну как что- термобарьеры. Их быть не должно вообще нигде ни на каких виа :laughing:Крутить выходы трасс в антипадах тоже совершенно не нужно. Вы всерьез спрашиваете почему или это шутка?

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


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

EvilWrecker,

 

1. Это замечание нужно адресовать в Mentor, а не мне. Я не управляю алгоритмами выгрузки в LineSim.

 

2. Не понял, какое ещё изображение нужно привести. Я показал все слои, где содержится такт. Верх/низ платы, если это поможет делу:

post-5847-1527693524_thumb.png

 

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

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


Ссылка на сообщение
Поделиться на другие сайты
3. Термобарьеры на переходных отверстиях для улучшения паяемости (чтобы тепло не уходило в полигон). Что значит крутить трассы?

Извините, не смог удержаться.

 

:a14:

 

P.S.: Запасся попкорном.

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


Ссылка на сообщение
Поделиться на другие сайты
1. Это замечание нужно адресовать в Mentor, а не мне. Я не управляю алгоритмами выгрузки в LineSim.

Нет, HyperLynx который вы используете это зрелый инструмент, который существует не один год и конкретно эта его часть работает вполне. С вероятностью 99% проблемы от ваших действий :laughing:

2. Не понял, какое ещё изображение нужно привести.

Полная цепь клока вместе с опорным полигоном и терминацией- чтобы все вмещалось в одну картинку. То же самое со стробом.

Верх/низ платы, если это поможет делу:

В принципе с некоторыми издержками можно допустить 16 слоев, окей :biggrin:

3. Термобарьеры на переходных отверстиях для улучшения паяемости (чтобы тепло не уходило в полигон).

Никак они не помогут паяемости :biggrin: А в таком дизайне их не должно быть в принципе, без каких-либо альтернатив и/или оговорок.

Что значит крутить трассы?

Это значит что вместо прямого вывода из пада/виа вы наращиваете сегменты прямо в анипаде, как бы "вокруг".

 

Ну и пару слов за overshoot/pre-shoot- они случаются когда Zload>Zsource, что вполне соответствует вашим картинкам- притом есть ощущения, что в реале уход от целевого импеданса заметно больше, особенно после просмотра того же строба.

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


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

EvilWrecker,

 

1. Окно экcпорта в LineSim:

post-5847-1527695182_thumb.png

 

В чём мои действия неверные?

 

2. Вывел вместе все те же слои. Разве стало яснее?

post-5847-1527695271_thumb.png

 

3. Не понимаю негативного отношения к термобарьерам. Тема довольна избита:

http://electronix.ru/forum/lofiversion/index.php/t29099.html

http://www.pcad.ru/forum/7541/

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти