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

    

DDR3 flight time

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

Я собираюсь первый раз делать плату с DDR3. По методике разводки, в принципе, всё понятно. Но есть один неясный момент. Согласно изученным мной рекомендациям, необходимо при разводке учитывать длину линий передачи внутри чипа. То есть, от кристалла до шарика BGA. Вопрос заключается в том, как и где найти документ с точными значениями этих длин. В документации от памяти (Micron.com) и стандарте JESD79-3F я их не нашёл.

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


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

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

Совет очень простой держись ближе к середине диапазонов значений, помни, что клок может быть чуточку длиннееи когда сделаешь черновой вариант просто просиммулируй это вот все безобразие в хайперлинкс или в цст.

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


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

Для DDR2/3/4 никаких данных не будет. У них всё выровнено внутри чипа уже. Приглядитесь под чипом под шариками на внутренних слоях плат чипа есть все выравнивания в виде соответствующих змеек до шарика BGA, их видно. Выравнивание делается на другой стороне flight time у FPGA, проца. 

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


Ссылка на сообщение
Поделиться на другие сайты
9 hours ago, Aner said:

Для DDR2/3/4 никаких данных не будет. У них всё выровнено внутри чипа уже. Приглядитесь под чипом под шариками на внутренних слоях плат чипа есть все выравнивания в виде соответствующих змеек до шарика BGA, их видно. Выравнивание делается на другой стороне flight time у FPGA, проца. 

Подскажите пожалуйста тогда, в какой документации указан данный факт. Чтобы при обсуждении деталей проекта мне было на что сослаться, как минимум.

По поводу DDR4 - там всё-же указана package delay в пикосекундах (например, документ от той же Micron "8Gb: x4, x8, x16 DDR4 SDRAM Features", начиная со стр. 311). Хотя, она там указана, как диапазон значений и тоже придётся уточнять, как с ней быть, в случае её использования. А вот именно в даташитах на DDR3 подобных таблиц я и не нашёл.

Также, заодно хотелось-бы спросить, возможно-ли вытащить значения package delay из моделей для симуляции, например HSpice или IBIS (они предоставляются производителем)?

Изменено пользователем MadMan M
уточнение

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


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

Какая планируется максимальная частота работы? Для скоростей DDR3 package delay, как правило, ещё не актуален.

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


Ссылка на сообщение
Поделиться на другие сайты
Just now, Corvus said:

Какая планируется максимальная частота работы? Для скоростей DDR3 package delay, как правило, ещё не актуален.

1066 Mb/s. Однако, в UG586 (стр. 198) сказано, что package delay нужно учитывать ("The package delay should be included when determining the effective trace length."). Собственно, на стороне ПЛИС-то всё понятно (это будет либо Artix-7, либо Zynq - ещё программисты не определились, что им нужно). Вообще, я нашёл по этой ссылке http://zedboard.org/content/ddr3-routing-zedboard-rev-c интересную фразу: "Micron DDR3 timing is specified at the package ball, therefore, the DDR3 package delays do not need to be included in the calculations." Но вот где про это у микрона найти информацию - непонятно. Я открыл в Notepad++ IBIS модель микроновской DDR3, но по задержкам там ничего толком не нашёл. При этом, в подтверждение Ваших слов, по той же ссылке, которую я привёл, также указано. что при разработке ZedBoard Rev C задержки внутри микросхемы Zynq не учитывались и устройство работает нормально. Однако, они же рекомендуют остальным оные задержки учитывать.

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


Ссылка на сообщение
Поделиться на другие сайты
25 minutes ago, MadMan M said:

1066 Mb/s. Однако, в UG586 (стр. 198) сказано, что package delay нужно учитывать ("The package delay should be included when determining the effective trace length."). Собственно, на стороне ПЛИС-то всё понятно (это будет либо Artix-7, либо Zynq - ещё программисты не определились, что им нужно). Вообще, я нашёл по этой ссылке http://zedboard.org/content/ddr3-routing-zedboard-rev-c интересную фразу: "Micron DDR3 timing is specified at the package ball, therefore, the DDR3 package delays do not need to be included in the calculations." Но вот где про это у микрона найти информацию - непонятно. Я открыл в Notepad++ IBIS модель микроновской DDR3, но по задержкам там ничего толком не нашёл. При этом, в подтверждение Ваших слов, по той же ссылке, которую я привёл, также указано. что при разработке ZedBoard Rev C задержки внутри микросхемы Zynq не учитывались и устройство работает нормально. Однако, они же рекомендуют остальным оные задержки учитывать.

Не стоит заморачиваться задержками чипа DDR (даже DDR4), достаточно взять задержки источника (FPGA). Если это чип от Xilinx, то задержки можно получить из Vivado (в пикосекундах). Чтобы быть спокойным за выравнивание вы можете его сделать более точным, чем указано в UG583. Я обычно делаю 1мм для шин адресса, 0.5мм для данных.

Изменено пользователем toretto

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


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

Собственно Toretto правильно говорит, разводите байты данных, адресов, свапите как удобно,  а далее, когда начинаете ровнять, подгружаете из вивады pin delay, и дело в шляпе.  ЗЫ. я обычно выравнивание до порядка 5пс. В аллегро это прекрасно делается.

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


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

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

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

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

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

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

Войти

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

Войти
Авторизация