Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Пример топологии DDR3
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Работаем с трассировкой
Страницы: 1, 2, 3, 4
NoMemory
vitan, а) схемотехник, к сожалению, не в курсе.
б) Да я вот думал над этим... Попробовать создать модель в каком нибудь Cadence... Altium вроде не умеет такого, мой опыт в таких вещах весьма скромный, если не сказать, никакой.
Владимир, ну да, чисто логически я это понял.

Ладно, будем разбираться с инструментами моделирования по совету vitana, нужно же когда нибудь начинать.
P.S.: беру свои слова обратно, такие инструменты вроде как в Altium есть.
Владимир
Цитата(NoMemory @ Aug 4 2015, 05:34) *
P.S.: беру свои слова обратно, такие инструменты вроде как в Altium есть.


О каких инструментах речь идет?
Trenz вся подготовка вроде в Altium.
Более того раньше была возможность брать проекты в Altium. Во всяком случае лет 5-7 назад я смотрел несколько проектов.
Ссылки были не прямые, но добраться в некоторых проектах можно было
NoMemory
Цитата(Владимир @ Aug 4 2015, 10:41) *
О каких инструментах речь идет?
Trenz вся подготовка вроде в Altium.
Более того раньше была возможность брать проекты в Altium. Во всяком случае лет 5-7 назад я смотрел несколько проектов.
Ссылки были не прямые, но добраться в некоторых проектах можно было

Хочу воспользоваться советом vitana и промоделировать, посмотреть, что получится. Но первые трудности уже имеются.
Да, но на виду этого я не увидел, у ZedBoard все в свободном, различий в интересующей части нет.
vitan
Цитата(NoMemory @ Aug 4 2015, 05:34) *
vitan, а) схемотехник, к сожалению, не в курсе.
б) Да я вот думал над этим... Попробовать создать модель в каком нибудь Cadence...

a) ЧЕЕЕГО?? Расстрелять.
б) Правильно думаете. Да и плату сразу там же разводить не помешает. sm.gif
prig
Цитата(vitan @ Aug 4 2015, 10:49) *
a) ЧЕЕЕГО?? Расстрелять.
...

Ага. И лучше сразу дважды.
pol_64
Цитата(Sanchez_ @ Apr 17 2015, 15:11) *
Спасибо!
У меня f=400MHz (DDR3-800). 533 не потяенет проц.
Потом покажу, что получилось и расскажу как работает.



Доброго дня всем.
Sanchez , как успехи по аналогу cubietruck? У меня похожий проект с Т-топологией DDR3. И примерно та же ситуация - есть только схема в pdf и всё.
Интересна любая информация.
pol_64
Привет всем.
Помогите разобраться новичку в DDR3. Что такое single rank и dual rank?
Спасибо.
bigor
Випедия
или более доступно
Что такое rank или ранг у модулей памяти
Неужели Гугл уже у Вас не работает?
pol_64
Цитата(bigor @ Aug 20 2015, 14:57) *
Випедия
или более доступно
Что такое rank или ранг у модулей памяти
Неужели Гугл уже у Вас не работает?


Всем салют.
bigor, спасибо.
Подскажите, кто знает, возможна ли т-топология клока DDR3.
Набрёл на форум
https://forums.xilinx.com/t5/Zynq-All-Progr...030/td-p/488790
где выложены 2 проекта:
ZedBoard_RevD.2_Gerbers_130516 - как я понял топология Fly-by;
PCB ZC702_REV_1_1_ - как определено на форуме смешанная: адреса и команды - т топология а клок - Fly-by.
Я посмотрел ZC702, даже распечатал - там на клоке т-топология!
Может я ошибся?


pol_64
Цитата(pol_64 @ Sep 3 2015, 11:41) *
Всем салют.
bigor, спасибо.
Подскажите, кто знает, возможна ли т-топология клока DDR3.
Набрёл на форум
https://forums.xilinx.com/t5/Zynq-All-Progr...030/td-p/488790
где выложены 2 проекта:
ZedBoard_RevD.2_Gerbers_130516 - как я понял топология Fly-by;
PCB ZC702_REV_1_1_ - как определено на форуме смешанная: адреса и команды - т топология а клок - Fly-by.
Я посмотрел ZC702, даже распечатал - там на клоке т-топология!
Может я ошибся?



Привет всем.
Может кто подскажет из старожилов, если это обсуждалось? Не очень ориентируюсь на форуме и не в курсе прошедших событий.
В ZC702 даже не т-топология. Разделение на 2 ветки, а дальше последовательное соединение как Fly-by, только без терминации.
Stas
В продолжении разговора о "prime DQ". Ответ техпподержки microsemi о контроллере памяти в SmartFusion2 в режиме DDR3.
Hello Stanislav, Sorry for the delay. I got the following info from my colleague. +++++++++++ Write and read levelling is not possible with D0 and D7 pins swaped. Normal operation will not have any issues +++++++++++ Let me know if the above response doesnot answer your query. Regards, Prashanth
Все же проблемма DQ0 есть..
gerbity
Цитата(razob @ Apr 14 2015, 14:01) *
Закончили трассировку ddr3-1066. Соединение точка-точка.
Изучаю замечательную на взгляд программу PowerSI от Cadence. Среди многочисленных её возможностей есть и такая: расчёт коэффициента связности цепей (net coupling).
Результатом этого расчёта является определение для каждой цепи соответствующей ей цепи-агрессора. То есть цепи, которая оказывает наибольшее влияние на эту цепь.
Пример расчёта:
Нажмите для просмотра прикрепленного файла
Как эти результаты трактовать с практической точки зрения? ну кроме того, что определённую цепь-агрессор следует проложить подальше, дабы уменьшить связность.

Тоже работал с этим тулом. Если проложите цепь агрессор подальше, то ее коэффициент связности естестаенно уменьшится, но ее место займет другай цепь-агрессор, с чуть меньшим коэффициентом связности. Просто нужно стараться соблюдать простые правила при разводке DDR. Определенное расстояние между линиями, определенное длинну, на которой приемлемо вести проводники параллельно, и т.д. Короче говоря нужно не просто уменьшить коэффициент связности какого-то конкретного сигнала, а стараться как можно сильнее уменьшить все коэффициенты связности. Хотя, конечно, экстремальных значений у отдельных сигналов также стоит избегать.

Цитата(Sanchez_ @ Apr 17 2015, 14:11) *
Спасибо!
У меня f=400MHz (DDR3-800). 533 не потяенет проц.
Потом покажу, что получилось и расскажу как работает.

Если кому-нибудь еще интересна работоспособность DDR3 при T-топологии (она же древовидная), могу внести свои 5 копеек. Недавно было разработано несколько подобных плат. Использовалось 4 чипа (два ставились один над другим). Терминации не было. Частота что-то около 450МГц. Моделирование в Cadance System SI показывало работоспособность при 500МГц, в реальности платы работали на частоте что-то около 470МГц (дальше не позволял разгонять процессор). Так что данное решение вполне жизнеспособное, если не требуется более высоких частот. Также плюсом является, что древовидная топология занимает меньше места на ПП. Делался один проект, в котором один DDR-порт процессора разводился как Fly-By, а второй - древовидной. Так вот второй вариант занимает примерно на 15% меньше места.
Uree
А вот это для меня загадка - каким образом Т-структура с кучей переходных в зоне разделения ветвей может быть меньше чем fly-by без этой зоны??? При одинаковом числе чипов это очень странно...
vladec
Ну это может сильно зависеть от конкретной топологии. Например, у Xilinx седьмой серии при ширине шины болеее 32 бит, шина адреса-управления будет лежать между банками данных и чтобы пройти их все последовательно fly-by надо закрутить петлю на 270 градусов - места съест вагон.
gerbity
нечто подобное как раз и было на нашем SoC, также площадь съедают резисторные сборки для терминации, которую можно не делать в древовидной структуре
_Sergey_
Цитата(SimpleSoft @ Jul 11 2012, 10:14) *
Добрый день.

Ставлю TI AM3359 и один чип DDR3 x16. AM3359 имеет 16 битную шину и в документации написано в секции 5.5.2.3.3.9 DDR3 Signal Termination:

Подключение из даташита:


Память DDR3 имеет ODT только на данные (по даташиту). Память ставлю рядом с процессором (трассы минимальной длинны).

Засомневался в необходимости подключения терминальных резисторов на ADDR_CTRL и CK. Частоты вроде маленькие - 303 МГц.
Подскажите, пожалуйста, необходимы ли резисторы.


Объясните, пжл, почему конденсатор, к которому подключена терминация клока, другим выводом подключен к питанию?
yuri.job
Цитата(_Sergey_ @ Nov 26 2017, 10:13) *
Объясните, пжл, почему конденсатор, к которому подключена терминация клока, другим выводом подключен к питанию?


Это необъяснимо =) так хотят в TI. На самом деле будет работать с конденсатором и в землю, и в питание, и даже без него.

ЗЫ. я уж думал тема померла, ан нет )
_Sergey_
Цитата(yuri.job @ Nov 27 2017, 10:52) *
Это необъяснимо =) так хотят в TI. На самом деле будет работать с конденсатором и в землю, и в питание, и даже без него.


Другие компании также предлагают такую схему, не только в DDR3.
Aner
Понятно же, для симмертирования это нужно, повышает стабильность, чуть устойчивее к помехам, шумам. В + так как там чип-бид стоит, в отличие от GND.
_Sergey_
Почему на +?
Aner
QUOTE (_Sergey_ @ Nov 27 2017, 18:51) *
Почему на +?

... там в питании чип-бид стоит, в отличие от GND. ?
_Sergey_
Цитата(Aner @ Nov 27 2017, 20:29) *
... там в питании чип-бид стоит, в отличие от GND. ?


Камрад, как-то сомнительно..
Ферритовые бусины (если я правильно понял) отсекают внешние шумы, но не избавляют от внутренних.
Опять же, здесь напряжение измеряется относительно GND..
И ведро конденсаторов нужно для того, чтобы на высоких частотах замкнуть питание на землю.
Tosha1984
Ну если глубоко не копать.
Я бы предположил, что TI ожидает что Вы используете плэйн питания как рефренс.
Особенно принимая во внимание предлагаемый ими 4-х слойный стэк.
Ну и еще стоит посмотреть цоколевку техасовского чипа - возможно там в окрестности клока просто нет земли?
krux
Цитата
Почему на +?

потому что драйверы внутри TI AM3359 стоят типа CML.
Tosha1984
Я возможно чего-то не понимаю, но по-моему CML драйвер тут работать не будет.
Да и там на соседней странице картинка с клоком вообще без терминации.
yuri.job
Цитата(krux @ Nov 28 2017, 20:55) *
потому что драйверы внутри TI AM3359 стоят типа CML.


Есть этому подтверждение? Просто интересно. Всегда считал, что CML должен быть AC-coupled.

Подозреваю, что в сплитнутом SSTL (HSTL) дифференциальном терминаторе общая точка и конденсатор по большому счету нужны для подавления "common mode" шума, который для быстрого диф.сигнала может сыграть злую шутку. Плюс некоторая балансировка дифпары (Cross Point Voltage, JESD209-3C), особенно, когда она длинная.

Так же подозреваю, что в питание конденсатор воткнут вторым своим концом, возможно, для того, что бы снизить каким то образом потребление энергии по линии клока. (это помимо задачи фильтрации)
Tosha1984
Цитата
Есть этому подтверждение? Просто интересно.

Я думаю, человек пошутил так.
Цитата(yuri.job @ Nov 29 2017, 05:47) *
Так же подозреваю, что в питание конденсатор воткнут вторым своим концом, возможно, для того, что бы снизить каким то образом потребление энергии по линии клока. (это помимо задачи фильтрации)

Ну зачем там конденсаторная развязка - понятно.
Клок - это DC-balanced сигнал, и можно позволить себе таким вот образом сэкономить мощность, высаживаемую на терминаторах. AC-терминация - это стандартное решение для клоков.
Я так понимаю вопрос почему именно в питание.
_Sergey_
Цитата(Tosha1984 @ Nov 29 2017, 10:00) *
Я так понимаю вопрос почему именно в питание.


Ну да..
А если я скажу, что видел подобное включение конденсатора для LVPECL?
Tosha1984
Цитата(_Sergey_ @ Nov 29 2017, 10:16) *
Ну да..
А если я скажу, что видел подобное включение конденсатора для LVPECL?

Ну глобально - я довольно часто вижу такую терминацию на всяких разных быстрых интерфейсах. Но в 99% случаев очевидно почему именно так - там обычно полигоны питания являются опорным слоем, потому что например (как в DIMM коннекторе) рядом просто нет сигналов земли. Но в данном конкретном случае мне если честно не очень понятно. Поэтому, как я указал выше, мне кажется TI предполагает что и здесь полигон питания будет использован в качестве обратного пути. Не более того.
А касательно PECL/неPECL. Если Ваш интерфейс предполагает контроль диспаритета, то ничего не мешает Вам сделать AC-termination. Главное чтобы конденсатор имел низкий импеданс в полезной полосе. DC-balance собственно и предполагает ограничение полосы снизу. Клок это частный случай - он DC-balanced по определению.
yuri.job
Цитата(_Sergey_ @ Nov 29 2017, 10:16) *
Ну да..
А если я скажу, что видел подобное включение конденсатора для LVPECL?


LVPECL и SSTL_15 это как бы сильно разные входные, а самое главное выходные структуры драйверов. Поэтому что есть на лвпекле может и отсутствовать, как класс на сстл
Inpharhus
Впервые столкнулся с топологией fly-by, в принципе всё более-менее понятно, но возник спорный момент. Подскажите, имеет ли значение последовательность по которой сигналы адресов идут от контроллера по чипам памяти?
Явно нигде не могу найти упоминания об этом, обычно пишут требования к импедансу и длине линии до первого кристалла и отдельные требования для линий между кристаллами. По логике вещей адреса должны приходить на 0-й байт и далее по порядку 1, 2, 3, 4 и т.д., или это не имеет значения и контроллер при инициализации как-то калибруется и определяет что адреса идут в порядке байтов 1, 0, 2, 4, 3... или 7, 6, 5, 4...
Смущает что в дизайнгайде процессора как раз нарисован (исключительно на картинке, в тексте явного указания нет) обратный порядок, т.е. с 7 по 0 байты и терминацией на 0.
Aner
> Подскажите, имеет ли значение последовательность по которой сигналы адресов идут от контроллера по чипам памяти?
Да имеет. Это вам не дремучая RAM или ROM. По этим линиям идут также команды, поскольку там навороченный автомат трудится. Есть вариант для косовинга между какими то парами, но я стараюсь не использовать это. Вроде байтами можно перекинуться, причем нулевой или первый тоже нельзя трогать (бит шины).
Как я понял в последних автомат трудится постоянно и калибрует непрерывно. И как я понимаю в DDR3 дина линий внутри чипа до шарика "приведена" к нулю, ее не нужно добавлять при выравнивании, в отличие от внутренних длин внутри контроллера или FPGA.
Inpharhus
Цитата(Aner @ Jan 30 2018, 16:36) *
Да имеет.

Ну т.е. всё как подсказывает логика: с 0 по 7 байты, с терминацией на 7?
Uree
Не имеет. Терминация адресов/управления на конце линий, не важно какой это будет байт данных.
Inpharhus
Цитата(Uree @ Jan 30 2018, 17:33) *
Не имеет. Терминация адресов/управления на конце линий, не важно какой это будет байт данных.

Всё жду-жду а холивар так и не развязывается)) Всё-таки хотелось бы понять как это работает. С точки зрения программирования я проблем в автокалибровке контроллера памяти не вижу, но непонятно как оно там на самом деле.
Тут вот есть наглядная анимация прохождения сигналов по этой топологии. Сможет ли контроллер подстроить тайминги выдачи сигналов данных в случае если переставить между собой чипы памяти (важное уточнение: не просто переставить чипы, ведь они одинаковые, а переставить на плате с сохранением привязки к сигналам, т.е. линии данных окажутся как бы крест-накрест).
Повторюсь, с точки зрения моих скромных знаний программирования я проблем не вижу, мне кажется это достаточно тривиальной задачей. Но хотелось бы знать наверняка.
Uree
По шине адерса/управления контроллер обращается ко всем чипам сразу, без конкретизации какой из них где. Да и нечем ему это конкретизировать, все сигналы параллельно идут по всем чипам(без мультиранка). Шина данных работа вся разом, параллельно на все чипы(тут DMы решают, что читается, а что нет). Контроллер на самом деле даже не знает, сколько там чипов на шине - 4х8, 2х16 или 1х32(хотя это уже LPDDR, возможно там несколько иначе). Зато deskew каждого байта компенсируется отдельно, без выяснения в каком физически порядке стоят эти чипы на шине.

Для примера - Arria10 + 2x16 DDR3-2133, последовательность байтов на скрине слева-направо: 2-0-3-1

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

Дизайн проверен у Альтера/Интел и с их саппортом внесены поправки в IP контроллер - что-то они там наплужили в исходниках, не хотело работать.
Inpharhus
Цитата(Uree @ Feb 1 2018, 12:03) *
По шине адерса/управления контроллер обращается ко всем чипам сразу, без конкретизации...

Спасибо, теперь понятно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.