В этом примере показано, как создавать типовые модели DDR5 передатчика и приемника IBIS-AMI с использованием библиотечных блоков в SerDes Toolbox™, которые были проверены Intel ®. Так как сигналы DDR5 DQ двуполярные, этот пример создает модели Tx и Rx для диспетчера. Созданные модели соответствуют спецификации IBIS-AMI .
Первая часть этого примера устанавливает и исследует целевую архитектуру передатчика и приемника с использованием блоков, необходимых для DDR5 в приложении SerDes Designer. Затем система SerDes экспортируется в Simulink ® для дальнейшей настройки и генерации модели IBIS-AMI.
Введите следующую команду в окне команд MATLAB ®, чтобы открыть ddr5_controller модель:
>> serdesDesigner('ddr5_controller')

Контроллер имеет DDR5 передатчик (Tx), использующий 4-отводное выравнивание подачи (FFE). Контроллер также имеет приемник DDR5 (Rx), использующий линейный эквалайзер непрерывного времени (КТЛ) с 8 заранее заданными настройками и 4-отводный эквалайзер обратной связи (DFE) со встроенным восстановлением тактовых данных.
Для параметра «Время символа» установлено значение 208.3 ps, так как целевая рабочая скорость 4.8 Гбит/с для DDR5-4800.
Целевой BER имеет значение 100e-18.
Для сигнализации установлено значение Single-ended.
Выборки на символ и модуляция поддерживаются значениями по умолчанию, которые соответственно 16 и NRZ (не возвращать к нулю), соответственно.
Блок Tx FFE настраивается для одного предварительного, одного основного и двух последующих отводов, включая четыре веса отводов. Это делается с массивом [0 1 0 0], где главный отвод задается наибольшим значением в массиве. Диапазоны отводов будут добавлены позже в примере при экспорте модели в Simulink.
Модель Tx AnalogOut настроена таким образом, что напряжение равно 1.1 V, Время подъема равно 100 ps, R (выходное сопротивление) - 50 ohms, и C (емкость) 0.65 pF. Фактические аналоговые модели, используемые в окончательной модели, будут сгенерированы позже в этом примере.
Односторонний импеданс установлен в 40 Ом.
Целевая частота установлена в значение 2.4 ГГц, который является частотой Найквиста для 4,8 ГГц
Потеря канала установлена в значение 5 dB в Nyquist, что типично для каналов DDR.
Модель Rx AnalogIn настроена таким образом, что R (входное сопротивление) равно 40 Ом и С (емкость) равно 0.65pF. Фактические аналоговые модели, используемые в окончательной модели, будут сгенерированы позже в этом примере.
Блок CTLE настроен на 8 конфигурации. Для параметра Спецификация (Specification) установлено значение DC Gain and AC Gain. Коэффициент усиления постоянного тока установлен в [0 -1 -2 -3 -4 -5 -6 -7] дБ. Пиковая частота установлена в 2.4 ГГц. Все остальные параметры сохраняются на уровне значений по умолчанию.
Блок DFECDR настраивается для четырех отводов DFE путем включения четырех начальных весов отводов, установленных в 0. Для параметра «Минимальное значение» установлено значение [-0.2 -0.1 -0.1 -0.1] V и Максимальное значение отвода устанавливается равным [0.2 0.1 0.1 0.1] V.
Примечание: DFECDR предлагает опцию для «2X отводов». Установите этот флажок, чтобы значения импульсного отклика соответствовали условию, используемому JEDEC. Снимите этот флажок, чтобы использовать значения импульсной характеристики непосредственно на графике.

Используйте кнопку SerDes Designer Добавить графики (Add Plots), чтобы визуализировать результаты настройки контроллера DDR5.
Добавьте график BER из команды Добавить графики (Add Plots) и просмотрите результаты.

Добавьте график импульсного отклика из раздела Добавить графики (Add Plots) и увеличьте область импульса для наблюдения за результатами.

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

Дважды щелкните блок «Конфигурация», чтобы открыть диалоговое окно «Параметры блока». Значения параметров «Symbol time», «Samples per symbol», «Target BER», «Modulation» и «Signaling» переносятся из приложения SerDes Designer.
Дважды щелкните блок Стимул (Stimulus), чтобы открыть диалоговое окно Параметры блока (Block Parameters). Можно задать порядок PRBS (псевдослучайная двоичная последовательность) и количество симулируемых символов. Этот блок не переносится из приложения SerDes Designer.
Дважды щелкните блок Tx, чтобы просмотреть подсистему Tx. Подсистема имеет блок FFE, перенесенный из приложения SerDes Designer. Блок Init также введен для моделирования статистической части модели AMI.
Дважды щелкните блок «Аналоговый канал», чтобы открыть диалоговое окно «Параметры блока». Значения параметров «Целевая частота», «Потеря», «Импеданс» и «Аналоговая модель передачи/приема» переносятся из приложения SerDes Designer.
Дважды щелкните по блоку Rx для просмотра подсистемы Rx. Подсистема имеет блоки CTLE и DFECDR, перенесенные из приложения SerDes Designer. Блок Init также введен для моделирования статистической части модели AMI.
Запустите модель для моделирования системы SerDes.
Создаются два графика. Первая - это диаграмма глаз в области реального времени (GetWave), которая обновляется по мере запуска модели.

После завершения моделирования второй график содержит представления статистических (Init) и временных (GetWave) результатов, а также метрики глаза, сообщенные для каждого.

В подсистеме Tx дважды щелкните блок FFE, чтобы открыть диалоговое окно «Параметры блока FFE».
Веса отводов переносятся из приложения SerDes Designer.
В подсистеме Rx дважды щелкните блок CTLE, чтобы открыть диалоговое окно Параметры блока CTLE.
Усиление постоянного тока, усиление переменного тока и пиковая частота переносятся из приложения SerDes Designer.
Для режима CTLE установлено значение Adapt, что означает алгоритм оптимизации, встроенный в объект системы КТЛ, выбирает оптимальную конфигурацию КТЛ во время выполнения.
В подсистеме Rx дважды щелкните блок DFECDR, чтобы открыть диалоговое окно Параметры блока DFECDR.
Начальные веса отводов, минимальное значение отводов DFE и максимальное значение отводов Настройки RMS переносятся из приложения SerDes Designer. Адаптивное усиление и адаптивный размер шага устанавливаются в 3e-06 и 1e-06соответственно, которые являются разумными значениями на основе ожиданий контроллера DDR5.
Разверните параметры IBIS-AMI для отображения списка параметров, которые должны быть включены в модель IBIS-AMI.
Снимите флажки Смещение фазы (Phase offset) и Смещение привязки (Reference offset), чтобы удалить эти параметры из AMI-файла, эффективно используя жесткое кодирование этих параметров в соответствии с их текущими значениями.
В заключительной части этого примера используется пользовательская модель Simulink, изменяются параметры AMI для контроллера DDR5, а затем генерируются исполняемые файлы модели DDR5 Controller, совместимые с IBIS-AMI, файлы IBIS и AMI.
Откройте диалоговое окно «Параметр блока» для блока «Конфигурация» и нажмите кнопку «Открыть серверы IBIS-AMI Manager». На вкладке IBIS в диалоговом окне SerDes IBIS-AMI Manager значения аналоговой модели преобразуются в стандартные параметры IBIS, которые могут использоваться любым промышленным симулятором.
Откройте вкладку AMI-Tx в диалоговом окне Диспетчер SerDes IBIS-AMI. Сначала перечисляются зарезервированные параметры, за которыми следуют специфичные для модели параметры, соответствующие формату типичного файла AMI.
Выделить ленточный вес -1
Нажмите кнопку Изменить... для вызова диалогового окна «Добавление/редактирование параметра».
Убедитесь, что для параметра Format установлено значение Range, а для параметра Typ = 0, Мин = -0.2, и Max = 0.2.
Нажмите кнопку ОК, чтобы сохранить изменения.
Выделите TapWeight 0.
Нажмите кнопку Изменить... для вызова диалогового окна «Добавление/редактирование параметра».
Убедитесь, что для параметра Format установлено значение Range, а для параметра Typ = 1, Мин = 0.6, и Max = 1.
Нажмите кнопку ОК.
Выделите TapWeight 1.
Выберите пункт Изменить... для вызова диалогового окна «Добавление/редактирование параметра».
Убедитесь, что для параметра Format установлено значение Range, а для параметра Typ = 0, Мин = -0.2, и Max = 0.2.
Нажмите кнопку ОК.
Выделите TapWeight 2.
Выберите пункт Изменить... для вызова диалогового окна «Добавление/редактирование параметра».
Убедитесь, что для параметра Format установлено значение Range, а для параметра Typ = 0, Мин =-0.1, и Max = 0.1.
Нажмите кнопку ОК.
Чтобы добавить параметры дрожания для модели Tx, щелкните зарезервированные параметры... для открытия диалогового окна Tx Add/Remove Jitter & Noise, выберите поля Tx_Dj и Tx_Rj и нажмите кнопку OK, чтобы добавить эти параметры в раздел Reserved Parameters файла Tx AMI. Следующие значения дрожания могут быть скорректированы в соответствии с требованиями к маске DDR5 для конкретного контроллера.
Выберите Tx_Dj, затем нажмите кнопку Изменить... для открытия диалогового окна Add/Edit AMI Parameter.
Измените тип на UI.
Изменение формата на Value.
Установить текущее значение в 0.0500
Нажмите кнопку ОК, чтобы сохранить изменения.
Выберите Tx_Rj, затем нажмите кнопку Изменить... для открытия диалогового окна Add/Edit AMI Parameter.
Измените тип на UI.
Изменение формата на Value.
Установить текущее значение в 0.0025
Нажмите кнопку ОК, чтобы сохранить изменения.
Откройте вкладку AMI-Rx в диалоговом окне SerDes IBIS-AMI Manager. Сначала перечисляются зарезервированные параметры, за которыми следуют специфичные для модели параметры, соответствующие формату типичного файла AMI.
Выделите TapWeight 1.
Нажмите кнопку Изменить... для вызова диалогового окна «Добавление/редактирование параметра».
Убедитесь, что для параметра Format установлено значение Range, а для параметра Typ = 0, Мин = -0.2, и Max = 0.05.
Нажмите кнопку ОК.
Выделите TapWeight 2.
Нажмите кнопку Изменить... для вызова диалогового окна «Добавление/редактирование параметра».
Убедитесь, что для параметра Format установлено значение Range, а для параметра Typ = 0, Мин = -0.075, и Max = 0.075.
Нажмите кнопку ОК.
Выделите TapWeight 3.
Нажмите кнопку Изменить... для вызова диалогового окна «Добавление/редактирование параметра».
Убедитесь, что для параметра Format установлено значение Range, а для параметра Typ = 0, Мин = -0.06, и Max = 0.06.
Нажмите кнопку ОК.
Выделите TapWeight 4.
Нажмите кнопку Изменить... для вызова диалогового окна «Добавление/редактирование параметра».
Убедитесь, что для параметра Format установлено значение Range, а для параметра Typ = 0, Мин = -0.045, и Max = 0.045.
Нажмите кнопку ОК.
Чтобы добавить параметры дрожания для модели Rx, щелкните Зарезервированные параметры... кнопка, чтобы поднять Rx Добавляет/Удаляет диалог Jitter&Noise, выбирает Rx_Receiver_Sensitivity, Rx_Dj, Rx_Noise, Rx_UniformNoise и коробки Rx_Rj и нажимает OK, чтобы добавить эти параметры к разделу Reserved Parameters файла AMI Rx. Следующие значения дрожания и шума могут регулироваться в соответствии с требованиями к маске DDR5 для конкретного контроллера.
Выберите Rx_Rj, затем нажмите кнопку Изменить... для открытия диалогового окна Add/Edit AMI Parameter.
Измените тип на UI.
Изменение формата на Value.
Установить текущее значение в 0.00375
Нажмите кнопку ОК, чтобы сохранить изменения.
Выберите Rx_Dj, затем нажмите кнопку Изменить... для открытия диалогового окна Add/Edit AMI Parameter.
Измените тип на UI.
Изменение формата на Value.
Установить текущее значение в 0.0125
Нажмите кнопку ОК, чтобы сохранить изменения.
Выберите Rx_Receiver_Sensitivity, затем нажмите кнопку Изменить... для открытия диалогового окна Add/Edit AMI Parameter.
Изменение формата на Value.
Установить текущее значение в 0.040
Нажмите кнопку ОК, чтобы сохранить изменения.
Выберите Rx_Noise, затем нажмите кнопку Изменить... для открытия диалогового окна Add/Edit AMI Parameter.
Изменение формата на Value.
Установить текущее значение в 0.0015
Нажмите кнопку ОК, чтобы сохранить изменения.
Выберите Rx_UniformNoise, затем нажмите кнопку Изменить... для открытия диалогового окна Add/Edit AMI Parameter.
Изменение формата на Value.
Установить текущее значение в 0.0025
Нажмите кнопку ОК, чтобы сохранить изменения.
Откройте вкладку Экспорт (Export) в диалоговом окне Диспетчер SerDes IBIS-AMI.
Обновить имя модели Tx до ddr5_controller_tx
Обновить имя модели Rx до ddr5_controller_rx
Обратите внимание, что процент угла Tx и Rx равен 10. Это позволяет масштабировать минимальные/максимальные угловые значения аналоговой модели на +/-10%.
Убедитесь, что для параметров модели Tx и Rx AMI выбрана двойная модель. При этом создаются исполняемые файлы модели, которые поддерживают как статистический (Init) анализ, так и моделирование во временной области (GetWave).
Установите биты модели Tx в значение 4, поскольку в Tx FFE имеется четыре отвода.
Установите биты модели Rx для игнорирования в значение 250000(is 10000 enough?-GK) для обеспечения достаточного времени для установки отводов Rx DFE во время моделирования временной области.
Убедитесь, что и Tx, и Rx настроены на экспорт и все файлы выбраны для создания (IBIS-файлы, AMI-файлы и DLL-файлы).
Задайте для имени файла IBIS значение temp_ddr5_controller.ibs каталог, чтобы файл примера ddr5_controller.ibs не перезаписан.
Нажмите кнопку Экспорт (Export), чтобы создать модели в целевой папке.
Для соответствия различным топологиям, конфигурациям загрузки, скоростям передачи и передачи данных DDR5 требуется переменная выходная мощность привода и входное оконечное устройство на матрице (ODT). В то время как используется одна и та же алгоритмическая модель AMI, для охвата всех этих сценариев использования требуется несколько аналоговых моделей. Генерация этих аналоговых моделей выходит за рамки данного примера, поэтому готовый файл IBS со следующими аналоговыми моделями в нем доступен в текущем каталоге примеров:
выходной импеданс POD11_IO_ZO50_ODTOFF: 50 Ом без входного ОДТ.
POD11_IN_ODT40_C: Вход с ОДТ 40 Ом.
POD11_IN_ODT60_C: Вход с ОДТ 60 Ом.
Для создания полного файла IBIS в ddr5_controller.ibs с помощью текстового редактора были внесены следующие изменения:
Создан один контакт с signal_name DQ1_controller и model_name dq.
Измените Model_type драйвера на ввод-вывод и присвойте ему имя POD11_IO_Z050_ODTOFF.
Добавил две модели приемника и назвал их POD11_IN_ODT40_C и POD11_IN_ODT60_C соответственно.
Добавлены кривые VI и разделы Алгоритмической модели ко всем вышеупомянутым моделям.
Добавлен раздел «Выбор модели», который ссылается на вышеупомянутые модели.
Примечание.Всегда рекомендуется проверять, соответствуют ли значения vinl, vinh, c_comp и других переменных в файле .ibs данным вашего устройства.
Модели DDR5 передатчика и приемника IBIS-AMI в настоящее время полностью укомплектованы и готовы к тестированию в любом промышленном модельном симуляторе AMI.
[1] Спецификация IBIS 7.0, https://ibis.org/ver7.0/ver7_0.pdf.
[2] Статья базы знаний SiSoft Support: DDR4 Зарегистрирован - Rawcard B для системы с 3 слотами, https://sisoft.na1.teamsupport.com/knowledgeBase/8976521.
AGC | CTLE | DFECDR | FFE | Конструктор SerDes