Проектирование печатных плат с DDR:
настройки моделирования и анализ результатов


PDF версия

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

Основы концепции шин DDR

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

Шина состоит из одного контроллера на одном конце и одного или нескольких чипов DRAM на другом. В общем, чем больший объем памяти требуется системе, тем большее количество чипов DRAM необходимо. Две основные проводимые контроллером операции – это запись данных на чипы DRAM, и чтение данных с чипов DRAM.

Как работает DDR

Эти операции производятся с помощью двух наборов сигналов: по шине данных и шине адреса/команд, как показано на рисунке 1.

Шина DDR использует два набора сигналов, как большинство шин памяти
Рис. 1. Шина DDR использует два набора сигналов, как большинство шин памяти

Двунаправленная шина данных характеризуется количеством линий для передачи данных. Каждая линия состоит из уникального DQS (стробирующего) сигнала и соответствующих сигналов данных. Обычно линия состоит из 8 бит. Однако существуют и DRAM только с 4 битами данных, поэтому некоторые линии могут состоять только из 4 битов. Независимо от количества битов в линии, каждый бит фиксируется во время передачи сигнала DQS. Сигналы данных все односторонние. Сигналы DQS для шин DDR3 и DDR4 всегда дифференциальные. Для шин DDR2 сигналы DQS могут быть как односторонними, так и дифференциальными.

Во время записи контроллер подает сигнал приблизительно посередине между двумя передачами сигнала DQS (см. рис. 2). Таким образом, во время текущей передачи сигнала DQS сигнал данных должен быть стабилен. Далее чип DRAM фиксирует сигнал данных во время передачи DQS. Это первый важный элемент: необходимо удовлетворить требованиям по времени установки и времени удерживания на DRAM. Так как контроллер подает сигналы данных приблизительно посередине между двумя передачами DQS, для того чтобы центрировать сигналы DQS относительно стабильных сигналов данных, необходимо, чтобы задержка распространения сигнала DQS и задержка сигнала данной линии не очень отличались друг от друга. Величина задержки распространения сигнала между линиями может немного варьироваться, так как стробирующий сигнал используется только для битов данных на рассматриваемой линии.

Для записи контроллер пускает сигнал приблизительно посередине между двумя передачами сигнала DQS
Рис. 2. Для записи контроллер пускает сигнал приблизительно посередине между двумя передачами сигнала DQS

Во время чтения DRAM подает сигналы данных приблизительно в соответствии с сигналами DQS (см. рис. 3). Затем контроллеру необходимо задержать сигнал данных и/или стробирующий сигнал на нужное время для того, чтобы зафиксировать сигнал с помощью DQS.

Во время чтения, в отличие от записи, сигналы данных присоединяются к DQS
Рис. 3. Во время чтения, в отличие от записи, сигналы данных присоединяются к DQS

В одноразрядной системе каждая линия достигает только одного чипа DRAM. В мультиразрядных системах линия (бит данных и стробирующий сигнал) может быть соединена с несколькими чипами DRAM. Во время передачи активным будет только один из соединенных с линией чипов DRAM. Возможность доступа к чипу памяти определяется с помощью сигнала выбора элемента памяти (сигнал CS); у других неактивных DRAM, соединенных с этой линией, сигнал выбора будет неактивным. В общем, количество «разрядов» в системе равно количеству активных в системе сигналов CS, что будет равно количеству чипов DRAM, соединенных с данной линией.

Адресная/командная шина состоит из нескольких адресных битов (точное количество зависит от размеров чипов DRAM, к которым нужно обратиться), нескольких битов для команды, переданной на DRAM и, наконец, тактового сигнала. Шина однонаправленная; команды посылаются только от контроллера к DRAM.

Адресные сигналы и сигналы команд являются несимметричными. Тактовый сигнал дифференциальный, синхронизация происходит при пересечении основного тактового сигнала и инвертированного.

Для выполнения команды контроллером подаются соответствующие адресный сигнал и сигнал команды в момент, когда тактовый сигнал идет вниз (см. рис. 4). Сигналы остаются на том же уровне, когда тактовый сигнал начинает подниматься, и затем во время последующего спада тактового сигнала производится переход к новой команде. Таким образом, сигнал команды стабилен тогда, когда тактовый сигнал находится на верхнем уровне.

Сигналы команды и адреса пускаются контроллером во время спада тактового сигнала
Рис. 4. Сигналы команды и адреса пускаются контроллером во время спада тактового сигнала

Это привело нас ко второй важной проблеме: необходимо согласовывать время установки и время удерживания адресных сигналов и сигналов команд на DRAM. Из-за того, что сигналы посылаются контроллером таким образом, чтобы обеспечить стабильность битов адреса/команды во время нарастания тактового сигнала, необходимо точно произвести задержку сигналов адреса/команды на величину, равную такту. Так как шина адреса/команд распределяется по разным чипам DRAM, задержка сигнала от контроллера к каждому DRAM должна быть одинакова для всех адресных битов, а также тактовых сигналов. Поэтому даже если задержка на чипах DRAM может варьироваться, задержки для адреса и тактового сигнала должны синхронизироваться на любом заданном DRAM.

Наконец, существуют требования, которые должны выполняться на чипе DRAM между сигналами DQS и тактовыми сигналами (CLK). Это требование координирует шину данных и шину адреса. Сигналам DQS и CLK необходимо синхронизироваться на каждом DRAM. Для того, чтобы это обеспечить, шине DDR2 требуется, чтобы задержки от каждого контроллера к каждому DRAM для каждого из сигналов DQS были равны друг другу, и в общем значение было равно величине задержки от контроллера к DRAM для тактового сигнала.

 

Новая концепция трассировки «Fly-by»

В шинах DDR3 была представлена новая концепция трассировки «fly-by». Это позволило адресным и тактовым сигналам подаваться контроллером и достигать каждого DRAM по очереди друг за другом. Это, однако, подразумевает, что тактовый сигнал достигает каждый из чипов DRAM в разное время. Если сигналы DQS производятся равной длины, то нет гарантии, что требование для сигналов DQS/CLK, о котором говорилось выше, будет выполнено.

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

Учтите, что для шин DDR2 и для контроллеров, которые не поддерживают такой метод, тактовые сигналы и сигналы DQS должны быть согласованы друг с другом.

 

Подготовка к моделированию

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

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

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

Первое, что нужно – это модели драйвера и ресивера для контроллера памяти и чипов DRAM. Модель IBIS контроллера можно получить от поставщика или скачать на сайте производителя. Модель IBIS для DRAM также можно запросить у поставщиков DRAM, например, таких компаний как Micron, Samsung или Hynix. Модели должны содержать всю информацию для различных параметров, а также различных опций по терминированию сигналов (метод ODT), доступных для соответствующих чипов.

Некоторые поставщики более охотно предлагают Spice-модели, а не IBIS. Spice-моделирование может быть ненамного более точным, и часто медленнее обрабатывает большие порядки величин, чем IBIS. В публикации [2] было показано, что настройка и установка для запуска драйвера Spice заняла 221 час. Тогда как для запуска драйвера IBIS – около 3 часов. Таким образом, если основная задача – экономия времени, то использование IBIS-модели может ускорить процесс. Вместе с тем, бывают случаи очень плохо созданных моделей IBIS, поэтому лучше всего, если разработчик запросит сравнительные данные у поставщика.

Следующее требование – это создание критерия «годно/не годно» для различных интегральных схем. Инструменты моделирования могут генерировать колебания сигналов, но расчетными критериями для того, чтобы классифицировать результирующие сигналы как годные или негодные, может обеспечить только поставщик чипов. Простой пример: ширина глазковой диаграммы, построенная для сигналов контроллера, необходимая при чтении поступающих DQ сигналов. Для DRAM эта информация обеспечивается организацией Jedec, она уже доступна и в спецификациях на DRAM, и на сайте Jedec (jedec.org). Соответственно, требования к контроллерам приведены в спецификациях на контроллеры.

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

Рис. 5. Глазковая диаграмма выводит большое количество сигналов сверху маски (центральный прямоугольник) для того, чтобы показать запас. В этом примере запас очень хороший

Общие требования, которые нужно запросить у поставщика:

  • Соотношение времени ввода между сигналами DQ/DQS во время операции чтения.
  • Отклонение выходных сигналов DQ/DQS во время операции записи.
  • Отклонение выходных сигналов DQS/CLK во время операции записи.
  • Отклонение выходных сигналов address/CLK во время передачи адреса/команды.

Для DRAM эта информация доступна на сайте организации Jedec, при этом спецификации содержат не только информацию, касающуюся целостности сигнала, но и всю информацию о надежности DDR каналов (пример подачи информации на рисунке 6).

Спецификации Jedec содержат всю информацию, необходимую для проведения моделирования
Рис. 6. Спецификации Jedec содержат всю информацию, необходимую для проведения моделирования

Информация по сборке платы должна быть очень точной (см. рис. 7). Эти данные обычно дают разработчики плат, они включают информацию о назначении и расположении слоев, ширине дорожек (для заданного полного сопротивления) и свойствах диэлектрика. Разработчик плат должен предоставить также предварительную схему сборки, которая будет использоваться на стадии экспериментальной разработки перед тем, как начать разводку. Затем необходимо определить некоторые части системы, где требуется применение моделей сторонних производителей. Например, разъемы могут быть смоделированы как простые RLC-цепи, либо как более сложные модели с S‑параметрами. Такие опции необходимо обсуждать с разработчиком. Если в системе применяются стандартные DIMM, то необходимо использовать предназначенные для них модели плат. Список таких моделей также есть на сайте Jedec.

Информация о сборке всех слоев платы, включая ширину дорожек и свойства диэлектрика
Рис. 7. Информация о сборке всех слоев платы, включая ширину дорожек и свойства диэлектрика

Наконец, необходимо определить те регионы платы, которым нужен специальный анализ. В конструкции платы могут быть структуры, которые лучше всего можно моделировать с помощью 3D-средств. Чаще всего среди таких структур встречаются переходные отверстия. Чем выше скорость передачи данных, тем лучше, если переходные отверстия будут моделированы как 3D-структуры.

В целом, моделирование необходимо использовать как инструмент, с помощью которого можно ускорить процесс проектирования системы. Процесс моделирования не должен занимать много времени, для этого необходимо провести адекватную подготовку перед запуском моделирования. Это значит, что требуется проанализировать плату, связаться и запросить техническую информацию у поставщиков чипов DRAM, контроллеров и разъемов. Имея такую информацию, разработка и проверка конструкции станет проще и быстрее.

 

Анализ результатов моделирования

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

Первый шаг после выполнения моделирования DDR – это изучение требований шины, то есть на самом деле это требования ресивера к контроллеру (во время чтения) и DRAM (во время записи и передаче адреса/команд). Эта информация для контроллера приведена в его спецификации. Требования к DRAM можно запросить у поставщика или найти на сайте Jedec (jedec.org). Данный шаг важен, так как понять все тонкости полученных результатов моделирования возможно, только если известны основные требования.

Единственный способ убедиться, что результаты будут правильно интерпретированы – это работать с инструментами моделирования, которые дают легко понятные результаты. Часто в результате моделирования получается огромное количество данных проведенных измерений, поэтому для последующего анализа необходима возможность их фильтрации и ранжирования по мере критичности. Обычно начинают с самых проблемных сигналов.

Наиболее проблемными цепями можно назвать цепи, которые показывают наиболее низкий запас значений по крайней мере на одном из измеряемых параметров. Например, сигнал, который имеет наименьшее время установки среди всех цепей, может рассматриваться как самая проблемная цепь. Вообще, это хорошая традиция – анализировать самые проблемные цепи, даже если они не нарушают работоспособность. Даже если моделирование не показало нарушение работы конструкции, результаты могут быть достаточно близки к пределу, что указывает на слабое место в проекте. Это может проявляться в виде отказов в работе, в реальных системах часто могут возникать перебои, что в дальнейшем может потребовать значительных усилий по устранению. Это особенно актуально, когда один сигнал имеет ненормально низкий запас для каждого из измеряемых параметров. Например, если сигнал DQ0 имеет запас по времени установки всего 5 пс, тогда как другие сигналы имеют по крайней мере 40 пс, то возможно стоит обратить внимание на проблемный сигнал DQ0 (и соответствующий ему стробирующий сигнал).

Такое некорректное поведение сигналов может указывать на несколько явлений, и причины их появления могут быть разными. Часто бывает, что или запас по времени установки, или запас по времени удержания могут быть очень низкими. Если один из показателей низкий (пусть запас по времени установки), тогда как другой показатель (в данном случае время удержания) высокий, то следовательно, стробирующий сигнал (или тактовый сигнал) плохо синхронизирован с сигналом DQ (или адресом). В таких случаях необходимо внести исправления в параметры контроллера, и по возможности калибровать каждый бит индивидуально. После чего моделирование можно провести заново (автоматически, если средство моделирования имеет такую функцию) с соответствующими задержками для сигнальных битов. Если контроллер не позволяет провести калибровку для каждого бита, то для некоторых из сигнальных битов нужно установить большую или меньшую величину задержки при разводке.

Следующий элемент для анализа – нежелательные осцилляции, которые могут стать причиной ненужных изменений нескольких параметров, включая увеличение величины максимального перерегулирования или изменения во времени установки/удерживания. Некоторые отклонения, например, в перерегулировании, могут статьи причиной поломки чипа. Такие поломки не всегда происходят в первое включение и скорее случаются по прошествии некоторого времени. Поэтому, чем раньше вы узнаете об этом, тем меньше переделок и отладок понадобится на последующих стадиях, что в свою очередь снижает издержки. Нежелательные осцилляции часто вызываются некорректным терминированием сигналов. Это обычно исправляется с помощью подбора разных значений ODT на ресивере до тех пор, пока нежелательное осциллирование не снизится до приемлемого уровня. На рисунке 8 показано, как сигнал попадает за пороговое значение Vdd (1,5 В). Значительного перерегулирования сигнала не происходит (для этого нужно пересечь порог 1,9 В), однако величины области напряжение/время, показанной красным цветом на рисунке 8, может быть достаточно для того, чтобы нарушить требование спецификаций Jedec по области максимального перерегулирования.

Область перерегулирования
Рис. 8. Область перерегулирования

Третья проблема: избыточный шум и перекрестные помехи, воздействующие на сигнал. Проблема решается с помощью пространственного отделения сигналов друг от друга.

Шлейф в системе
Рис. 9. Шлейф в системе

Еще одна проблема – это наличие шлейфов в цепи (см. рис. 9), что может стать причиной появления отражений сигнала, часто выглядящих как «ступеньки» в колебаниях сигнала (см. рис. 10). Если шлейф можно укоротить, это поможет улучшить целостность сигнала. Часто такие «ступеньки» в форме колебаний появляются из-за того, что измерения были сделаны в период операции чтения на выводе контроллера. Это можно быстро исправить, подняв точку измерений в другую область. Эти проблемы измерения появляются из-за того, что часто файл IBIS для контроллера проводит измерения на выводах контроллера.

Эффект отражения из-за наличия шлейфа
Рис. 10. Эффект отражения из-за наличия шлейфа

После определения основных проблем и причин их возникновения, следующий шаг – устранить их на плате и выполнить последующее моделирование. Для экономии времени лучше сначала провести моделирование работы только тех участков, где были внесены изменения. Только после того, как были произведены локальные исправления, можно переходить к моделированию работы целой платы/системы.

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

Правильные настройки моделирования, корректный анализ результатов помогут снизить общее время, требуемое для проектирования высокоскоростных подсистем DDR.

Литература

  1.  Nitin Bhagwath. Designing PCBs for DDR Busses. PCD&F/CirCuits Assembly. June, 2016.
  2.  Nitin Bhagwath. DDR4 Board Design and SI Challenges. DesignCon. January, 2015.
Оставьте отзыв

Ваш емейл адрес не будет опубликован. Обязательные поля отмечены *