В этом примере показано, как создать типовые модели PCIe Generation 4 (PCIe4) передатчика и приемника IBIS-AMI с использованием библиотечных блоков в SerDes Toolbox™. Сгенерированные модели соответствуют спецификациям PCIe4 IBIS-AMI и PCI-SIG.
Первая часть этого примера настраивает архитектуру модели AMI целевого передатчика и приемника, используя блоки, необходимые для PCIe4 в приложении SerDes Designer. Модель затем экспортируется в Simulink ® для дальнейшей индивидуальной настройки.
Этот пример использует модель SerDes Designer pcie4_txrx_ami
. Введите следующую команду в командном окне MATLAB ®, чтобы открыть модель:
>> serdesDesigner('pcie4_txrx_ami')
Соответствующий PCIe4 передатчик использует 3
- коснитесь эквалайзера подачи (FFE) с одним предконтактом и одним постконтактом и десятью предустановками. Модель приемника использует линейный эквалайзер с непрерывным временем (CTLE) с семью предопределенными настройками и 2
-отключите эквалайзер обратной связи принятия решения (DFE). Для поддержки этого строения система SerDes настраивается следующим образом:
Для параметра Symbol Time задано значение 62.5
ps, поскольку максимально допустимая PCIe4 рабочая частота 16
GHz
Целевое BER установлено в 1e-12
.
Выборки по символу, модуляции и сигнализации сохраняются на значениях по умолчанию, которые соответственно 16
, NRZ
(невозвращение к нулю), и Differential
.
Блок Tx FFE настраивается для одного предварительного и одного последующего тапа путем включения трех весов тапа. Конкретные стили касания будут добавлены позже в примере, когда модель экспортируется в Simulink.
Модель Tx AnalogOut настраивается так, чтобы Напряжение 1.05
V, Время нарастания 12
ps, R (выходное сопротивление) 50
Ом, и C (емкость) 0.5
pF согласно спецификации PCIe4.
Потеря канала установлена на 15 дБ.
Целевая частота устанавливается на частоту Найквиста, 8
ГГц.
Дифференциальное сопротивление остается на уровне по умолчанию 100
Ом.
Модель Rx Analogin настраивается так, чтобы R (входное сопротивление) было 50
Ом и С (емкость) 0.5
pF согласно спецификации PCIe4.
Блок Rx CTLE настраивается для 7 строений. Матричные данные GPZ (Gain Pole Zero) получают из передаточной функции, заданной в спецификации PCIe4 Behavioral CTLE.
Блок Rx DFE/CDR настроен для двух ответвлений DFE. Пределы для каждого отвода были индивидуально определены в соответствии со спецификацией PCIe4, чтобы +/-30
мВ для tap1 и +/-20
мВ для tap2.
Используйте графики SerDes Designer, чтобы визуализировать результаты настройки PCIe4.
Добавьте график BER из ADD Plots и наблюдайте результаты.
Измените Rx CTLE Строения выберите значение параметров из 0
в 6 и наблюдать, как это меняет глаз данных.
Измените значение весов отводов Tx FFE из [0 1 0]
на [-0.125 0.750 -0.125]
и наблюдать за результатами.
Измените режим Rx CTLE на Adapt
и наблюдать за результатами. В этом режиме все значения CTLE перемещаются, чтобы найти оптимальную настройку.
Прежде чем продолжить, сбросьте значение Tx FFE TapWeights назад к [0 1 0]
и Rx CTLE ConfigSelect назад к 0
. Выход из режима Rx CTLE в Adapt
. Сброс этих значений здесь позволит избежать необходимости снова устанавливать их после экспорта модели в Simulink. Эти значения станут значениями по умолчанию, когда будут сгенерированы окончательные модели AMI.
Нажмите кнопку Экспорт, чтобы экспортировать вышеуказанное строение в Simulink для дальнейшей индивидуальной настройки и генерации исполняемых файлов модели AMI.
Вторая часть этого примера берет систему SerDes, экспортированную приложением SerDes Designer, и настраивает ее по мере необходимости для PCIe4 в Simulink.
Система SerDes, импортированная в Simulink, состоит из блоков Configuration, Stimulus, Tx, Analog Channel и Rx. Все настройки из приложения SerDes Designer перенесены в модель Simulink. Сохраните модель и проверьте каждую настройку блока.
Дважды кликните блок Configuration, чтобы открыть диалоговое окно Параметры Блоков. Значения параметров для Symbol Time, Samples per symbol, Target BER, Modulation и Signaling переносятся из приложения SerDes Designer.
Дважды кликните блок Simulus, чтобы открыть диалоговое окно Параметры Блоков. Можно задать порядок PRBS (псевдослучайная двоичная последовательность) и количество символов для моделирования. Этот блок не переносится из приложения SerDes Designer.
Дважды кликните блок Tx, чтобы заглянуть внутрь подсистемы Tx. Подсистема имеет блок FFE, перенесенный из приложения SerDes Designer. Блок Init также введен, чтобы смоделировать статистический фрагмент модели AMI.
Дважды кликните блок Analog Channel, чтобы открыть диалоговое окно Параметры Блоков. Значения параметров для аналоговых параметров модели Target frequency, Loss, Impedance и Tx/Rx переносятся из приложения SerDes Designer.
Дважды кликните блок Rx, чтобы заглянуть в подсистему Rx. Подсистема имеет блоки CTLE и DFECDR, перенесенные из приложения SerDes Designer. Блок Init также введен для моделирования статистического фрагмента модели AMI.
Запустите модель, чтобы симулировать систему SerDes.
Сгенерированы два графика. Первый - это глазковая диаграмма в области времени (GetWave), которая обновляется во время работы модели.
Второй график содержит представления статистических (Init) и временного интервала (GetWave) результатов, аналогичных тому, что доступно в приложении SerDes Designer.
Внутри подсистемы Tx дважды нажатие кнопки блок FFE, чтобы открыть диалоговое окно FFE Параметры Блоков.
Разверните параметры IBIS-AMI, чтобы показать список параметров, которые будут включены в модель IBIS-AMI.
Отмените выбор параметра Mode, чтобы удалить этот параметр из файла AMI, эффективно жестко кодируя текущее значение Mode в конечной модели AMI, чтобы Fixed
.
Внутри подсистемы Rx дважды нажатие кнопки блок CTLE, чтобы открыть диалоговое окно Параметры блоков CTLE.
Данные по нулю полюса усиления переносятся из приложения SerDes Designer. Эти данные получают из передаточной функции, заданной в спецификации PCIE4 Behavioral CTLE.
Режим CTLE установлен в Fixed
, что означает алгоритм оптимизации, встроенный в системный объект CTLE, выбирает оптимальное строение CTLE во время исполнения.
Внутри подсистемы Rx дважды нажатие кнопки блок DFECDR, чтобы открыть диалоговое окно DFECDR Block Parameters.
Разверните параметры IBIS-AMI, чтобы показать список параметров, которые будут включены в модель IBIS-AMI.
Очистите параметры смещение и Reference offset, чтобы удалить эти параметры из файла AMI, фактически жестко кодируя эти параметры до их текущих значений.
Финальная часть этого примера берет настроенную модель Simulink, изменяет параметры AMI для PCIe4, затем генерирует совместимые PCIe4 IBIS-AMI исполняемые файлы модели, IBIS и AMI файлы.
Откройте диалоговое окно Параметров блоков для блока Configuration и нажмите кнопку Open SerDes IBIS/AMI Manager. Во вкладке IBIS в диалоговом окне SerDes IBIS/AMI manager значения аналоговой модели преобразуются в стандартные параметры IBIS, которые могут использоваться любым промышленным стандартным симулятором. На вкладке AMI-Rx в диалоговом окне SerDes IBIS/AMI manager сначала перечисляются зарезервированные параметры, далее указываются специфические для модели параметры, следующие за форматом типового файла AMI.
Откройте вкладку AMI-Tx в диалоговом окне SerDes IBIS/AMI manager. Следуя формату типового файла AMI, сначала перечисляются зарезервированные параметры, далее указываются специфические для модели параметры.
Внутри параметров Model_Specific можно задать значения отвода TX FFE тремя различными способами:
Оставьте значения касания Tx FFE по умолчанию строения и можно ввести любое значение с плавающей точкой для значений касаний перед/главной/пост.
Создайте новый параметр AMI, чтобы автоматически выбрать предустановленные значения - см. «Управление параметрами AMI».
Непосредственно задайте десять предустановленных коэффициентов, как определено в спецификации PCIe4 - показано ниже в этом примере.
Когда вы непосредственно задаете предустановленные коэффициенты, вы изменяете формат трех TapWeights и задаете точное значение, которое будет использоваться для каждого предустановленного набора. Будут разрешены только эти десять определенных предустановок, и все три отвода должны быть установлены на один и тот же предустановок, чтобы получить правильные значения.
Выберите TapWeight -1, затем щелкните Изменить... для вызова диалогового окна Add/Edit AMI Parameter.
Установите Текущее значение равным 0.000
.
Измените описание на Preshoot tap value
.
Измените формат с Range
на List
.
Измените значение по умолчанию на 0.000
.
В поле List values введите: [0.000 0.000 0.000 0.000 0.000 -0.100 -0.125 -0.100 -0.125 -0.166]
.
В List_Tip поле значений введите: ["P0" "P1" "P2" "P3" "P4" "P5" "P6" "P7" "P8" "P9"]
.
Нажмите кнопку ОК, чтобы сохранить изменения.
Выберите TapWeight 0, затем щелкните Изменить... для вызова диалогового окна Add/Edit AMI Parameter.
Установите Текущее значение равным 0.750
.
Измените описание на Main tap value
.
Измените формат с Range
на List
.
Измените значение по умолчанию на 0.750
.
В поле List values введите: [0.750 0.833 0.800 0.875 1.000 0.900 0.875 0.700 0.750 0.834]
.
В List_Tip поле значений введите: ["P0" "P1" "P2" "P3" "P4" "P5" "P6" "P7" "P8" "P9"]
.
Нажмите кнопку ОК, чтобы сохранить изменения.
Выберите TapWeight 1, затем щелкните Изменить... для вызова диалогового окна Add/Edit AMI Parameter.
Установите Текущее значение равным -0.250
.
Измените описание на: De-Emphasis tap value
.
Измените формат с Range
на List
.
Измените значение по умолчанию на -0.250
.
В поле List values введите: [-0.250 -0.167 -0.200 -0.125 0.000 0.000 0.000 -0.200 -0.125 0.000]
.
В List_Tip поле значений введите: ["P0" "P1" "P2" "P3" "P4" "P5" "P6" "P7" "P8" "P9"]
.
Нажмите кнопку ОК, чтобы сохранить изменения.
Чтобы добавить параметры Jitter для модели Tx, нажмите Reserved Parameters... Чтобы открыть диалоговое окно Tx Add/Remove Jitter & Noise, выберите Tx_DCD, Tx_Dj и Tx_Rj поля и нажмите OK, чтобы добавить эти параметры в раздел Reserved Parameters файла Tx AMI. Следующие области значений позволяют вам тонко настроить значения дрожания, чтобы соответствовать требованиям PCIe4 маски дрожания.
Выберите Tx_DCD, затем щелкните Изменить... для вызова диалогового окна Add/Edit AMI Parameter.
Установите Текущее значение равным 0.0
.
Измените формат на Range
.
Установите значение Typ равным 0
.
Установите значение Min равным 0
.
Установите значение Max равным 3 .0e-11
Нажмите кнопку ОК, чтобы сохранить изменения.
Выберите Tx_Dj, затем щелкните Изменить... для вызова диалогового окна Add/Edit AMI Parameter.
Установите Текущее значение равным 0.0
.
Измените формат на Range
.
Установите значение Typ равным 0
.
Установите значение Min равным 0
.
Установите значение Max равным 3 .0e-11
Нажмите кнопку ОК, чтобы сохранить изменения.
Выберите Tx_Rj, затем щелкните Изменить... для вызова диалогового окна Add/Edit AMI Parameter.
Установите Текущее значение равным 0.0
.
Измените формат на Range
.
Установите значение Typ равным 0
.
Установите значение Min равным 0
.
Установите значение Max на 2.0e-12
Нажмите кнопку ОК, чтобы сохранить изменения.
Откройте вкладку AMI-Rx в диалоговом окне SerDes IBIS/AMI manager. Следуя формату типового файла AMI, сначала перечисляются зарезервированные параметры, далее указываются специфические для модели параметры.
Чтобы добавить параметры Jitter для модели Rx, нажмите Reserved Parameters... Чтобы открыть диалоговое окно Rx Add/Remove Jitter & Noise, выберите Rx_DCD, Rx_Dj и Rx_Rj поля и нажмите OK, чтобы добавить эти параметры в раздел Reserved Parameters файла Rx AMI. Следующие области значений позволяют вам тонко настроить значения дрожания, чтобы соответствовать требованиям PCIe4 маски дрожания.
Выберите Rx_DCD, затем щелкните Изменить... для вызова диалогового окна Add/Edit AMI Parameter.
Установите Текущее значение равным 0.0
.
Измените формат на Range
.
Установите значение Typ равным 0
.
Установите значение Min равным 0
.
Установите значение Max равным 3 .0e-11
Нажмите кнопку ОК, чтобы сохранить изменения.
Выберите Rx_Dj, затем щелкните Изменить... для вызова диалогового окна Add/Edit AMI Parameter.
Установите Текущее значение равным 0.0
.
Измените формат на Range
.
Установите значение Typ равным 0
.
Установите значение Min равным 0
.
Установите значение Max равным 3 .0e-11
Нажмите кнопку ОК, чтобы сохранить изменения.
Выберите Rx_Rj, затем щелкните Изменить... для вызова диалогового окна Add/Edit AMI Parameter.
Установите Текущее значение равным 0.0
.
Измените формат на Range
.
Установите значение Typ равным 0
.
Установите значение Min равным 0
.
Установите значение Max равным 1 .0e-12
Нажмите кнопку ОК, чтобы сохранить изменения.
Откройте вкладку Экспорт в диалоговом окне SerDes IBIS/AMI manager.
Обновите имя модели Tx на pcie4_tx
.
Обновите имя модели Rx на pcie4_rx
.
Обратите внимание, что процент угла Tx и Rx установлен на 10
. Это приведет к масштабированию значений угла аналоговой модели min/max на +/-10%.
Проверьте, что Dual модель выбрана для настроек модели Tx и Rx AMI. Это создаст исполняемые файлы модели, которые поддерживают как статистический (Init), так и временной интервал (GetWave) анализ.
Установите биты модели Tx, чтобы игнорировать значение следующим образом 3
поскольку в Tx FFE существует три отвода.
Установите биты модели Rx, чтобы игнорировать значение 20,000
чтобы предоставить достаточное время для того, чтобы тапы Rx DFE обосновались во время симуляций временного интервала.
Установите Модели, чтобы экспортировать как Tx и Rx, чтобы все файлы были выбраны для генерации (IBIS-файл, AMI-файлы и DLL-файлы).
Установите имя файла IBIS таким pcie4_serdes
.
Нажмите кнопку Export, чтобы сгенерировать модели в директории Target.
Модели PCIe4 передатчика и приемника IBIS-AMI теперь полны и готовы к тестированию на любом промышленном стандартном симуляторе модели AMI.
[1] PCI-SIG, https://pcisig.com.
[2] Статья основы знаний поддержки SiSoft: PCIe-Gen4 Compliance Kit, https://sisoft.na1.teamsupport.com/knowledgeBase/15488464.
CTLE | DFECDR | FFE | SerDes Designer