exponenta event banner

PCIe5 Модель передатчика/приемника IBIS-AMI

В этом примере показано, как создать типовые модели передатчика и приемника PCIe Generation 5 (PCIe5) IBIS-AMI с использованием блоков библиотеки в SerDes Toolbox. Модели IBIS-AMI, созданные в этом примере, соответствуют базовой спецификации PCIe Gen5, опубликованной PCIE-SIG.

PCIe5 Настройка модели Tx/Rx IBIS-AMI в приложении SerDes Designer

Первая часть этого примера устанавливает целевую архитектуру модели AMI передатчика и приемника с использованием блоков, необходимых для PCIe5 в приложении SerDes Designer. Затем модель экспортируется в Simulink ® для дальнейшей настройки.

В этом примере используется модель SerDes Designer pcie5_ibis-ami. Введите следующую команду в окне команд MATLAB ®, чтобы открыть модель:

>> serdesDesigner('pcie5_ibis-ami');

Настройка конфигурации

  • Для параметра «Время символа» установлено значение 31.25 ps, так как максимально допустимый PCIe5 datarate составляет 32 GT/s с частотой Найквиста 16GHz.

  • Целевой BER имеет значение 1e-12.

  • Для параметра Samples per Symbol установлено значение 32.

  • Для модуляции установлено значение NRZ (невозврат к нулю).

  • Для сигнализации установлено значение Differential.

Настройка модели датчика

  • Блок Tx FFE настраивается на один предварительный отвод, один основной отвод и один последующий отвод, включая три веса отвода. При экспорте модели в Simulink в приведенном ниже примере будут добавлены определенные стили отводов.

  • Модель Tx AnalogOut настроена так, что напряжение равно 1V, Время подъема равно 12 ps, R (выходное сопротивление) - 50 Ом (таблица 8-10, примечание 3), и С (емкость) равно 0.5 pF согласно PCIe5 спецификации.

Настройка модели канала

  • Потеря канала устанавливается равной 34 дБ (37dB - максимальная потеря для базового канала плюс плата CEM).

  • Дифференциальный импеданс устанавливается равным 85 Ом (см. PCIe5 Base Spec, раздел 8,4,1,2, рис. 8-28 и 8-29).

  • Целевая частота устанавливается на частоту Найквиста для 32GT/s скорости передачи данных, которая равна 16 ГГц.

Настройка модели приемника

  • Модель Rx Analogin настроена таким образом, что R (входное сопротивление) равно 50 Ом (таблица 8-10, примечание 3), и С (емкость) равно 0.5 pF согласно PCIe5 спецификации.

  • Существует два блока Rx CTLE, разделяющих Gen5 повторные полюса PCIe, поскольку панель инструментов SerDes CTLE не допускает повторных или перекрывающихся полюсов.

  • Первый блок Rx CTLE имеет единственную передаточную функцию с двумя полюсами и одним нулем.

  • Вторая установка Rx CTLE для 11 конфигураций (от 0 до 10) из спецификации CTLE.

  • Объединенные CTLEs и связанные с ними матрицы GPZ соответствуют полям и нулям, указанным в базовой спецификации PCIe5 (уравнение 8-7).

  • Блок Rx DFE/CDR устанавливается для трех отводов DFE. Предельные значения для каждого отвода определены индивидуально в соответствии со спецификацией PCIe5 +/-80 мВ для отвода 1, +/-20 мВ для отвода 2, и +/-20 мВ для отвода 3.

График статистических результатов

Используйте графики SerDes Designer для визуализации результатов настройки PCIe5.

Можно подтвердить, что TX FFE функционирует, установив значение Tx FFE TapWeights из [0 1 0] и Rx CTLE2 Mode to adapt. Добавьте график BER из ADD Plots и просмотрите результаты.

Изменение режима CTLE2 Rx на fixed и Rx CTLE2 ConfigSelect to 3 и наблюдать за изменениями графика BER:

Перед продолжением измените режим CTLE2 Rx на Adapt. Сброс значений для CTLE2 TX FFE и RX позволит избежать необходимости их повторной установки после экспорта модели в Simulink. Эти значения станут значениями по умолчанию при создании окончательных моделей AMI.

Выбор параметров дрожания для TX и RX

На панели инструментов нажмите кнопку для дрожания Tx/Rx. Можно включить параметры дрожания, экспортируемые в Simulink. Можно также добавить параметры дрожания позже с помощью менеджера IBIS-AMI в Simulink. В разделе Дрожание передачи установите флажки для Tx_DCD, Tx_Rj, Tx_Dj. В разделе Rx Jitter установите флажки для Rx_DCD, Rx_Rj и Rx_Dj.

Добавление параметров дрожания Tx

Параметры джиттера можно добавить в Tx из спецификации PCIe Gen5 Base, таблица 8-6, «Параметры передатчика, зависящие от скорости передачи данных». При добавлении параметров график BER покажет их влияние на сигнал. Примечание: эти параметры будут экспортироваться как тип «Float» с форматом «Value». После экспорта в Simulink их можно изменить на формат «Диапазон» с помощью IBIS-AMI Manager.

Установите значение колебания Tx DCD (Ttx-upw-tj из таблицы 8-6 в спекуляции основы PCIe5)

  • Задайте значение 6.25e-12

  • Измените единицы измерения с пользовательского интерфейса на секунды.

Установите Значение Колебания Tx Rj (Ttx-rj из таблицы 8-6 в Спекуляции Основы PCIe5)

  • Задайте значение 0.45e-12

  • Измените единицы измерения с пользовательского интерфейса на секунды.

Набор стоимость колебания ди-джея Tx (Ttx-upw-djdd из таблицы 8-6 в спекуляции основы PCIe5)

  • Задайте значение 2.5e-12

  • Измените единицы измерения с пользовательского интерфейса на секунды.

В приложении SerDes Designer можно задать множество других параметров дрожания. Примечание: после экспорта в Simulink можно отредактировать их тип, использование, формат и значение с помощью менеджера IBIS-AMI.

Экспорт системы SerDes в Simulink

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

PCIe5 Настройка модели Tx/Rx IBIS-AMI в Simulink

Во второй части этого примера рассматривается система SerDes, экспортированная приложением SerDes Designer, и ее настройка в соответствии с требованиями PCIe5 в Simulink.

Просмотр настройки модели Simulink

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

  • Вы можете подтвердить перенос настроек из приложения SerDes Designer, дважды щелкнув блок Конфигурация и блок Аналоговый канал. Затем откройте диалоговое окно «Параметры блока» и проверьте их значения.

  • Дважды щелкните блок Стимул (Stimulus), чтобы открыть диалоговое окно Параметры блока (Block Parameters). Можно задать порядок PRBS (псевдослучайная двоичная последовательность) и количество симулируемых символов. Этот блок не переносится из приложения SerDes Designer.

  • Дважды щелкните блок Tx и блок Rx, чтобы просмотреть каждую из подсистем, унаследованных из приложения SerDes Designer.

Установка битов игнорирования

Перед запуском моделирования откройте диспетчер IBIS-AMI. Можно установить биты для игнорирования для Tx в 3, поскольку FFE имеет 3 отвода. Установите биты для игнорирования для Rx в 1000, чтобы DFECDR мог сходиться во время моделирования временной области.

Обновить параметры дрожания Tx

Можно изменить формат на «Диапазон» для параметров дрожания, щелкнув на вкладке AMI - Tx, выберите Tx_DCD и нажмите кнопку Edit.

Следующие диапазоны позволяют точно настроить значения дрожания в соответствии PCIe5 требованиями к маске дрожания. Например, см. таблицу 8-6 «Параметры измерительного преобразователя, зависящие от скорости передачи данных» в спецификации PCIe Gen5 Base.

Установка значений дрожания Tx DCD (Ttx-upw-tj из таблицы 8-6)

  • Выберите Tx_DCD, затем нажмите кнопку Изменить... для открытия диалогового окна Add/Edit AMI Parameter.

  • Проверьте тип для Float.

  • Изменение формата на Range.

  • Установить текущее значение в 0.

  • Задайте для параметра Typ значение 0.

  • Установите минимальное значение в 0.

  • Установить максимальное значение в 6.25e-12

  • Нажмите кнопку ОК, чтобы сохранить изменения.

Установка значений дрожания Tx Rj (Ttx-rj из таблицы 8-6)

  • Выберите Tx_Rj, затем нажмите кнопку Изменить... для открытия диалогового окна Add/Edit AMI Parameter.

  • Выполните действия для Tx_DCD, описанные выше.

  • Установить максимальное значение в 0.45e-12

  • Нажмите кнопку ОК, чтобы сохранить изменения.

Установка значений дрожания Tx Dj (Ttx-upw-djdd из таблицы 8-6)

  • Выберите Tx_Dj, затем нажмите кнопку Изменить... для открытия диалогового окна Add/Edit AMI Parameter.

  • Выполните действия для Tx_DCD, описанные выше.

  • Установить максимальное значение в 2.5e-12

  • Нажмите кнопку ОК, чтобы сохранить изменения.

Обновление параметров AMI получателя

Откройте вкладку AMI-Rx в диалоговом окне SerDes IBIS/AMI Manager. После формата типичного файла AMI сначала перечисляются зарезервированные параметры, за которыми следуют параметры модели.

Обновить параметры дрожания Rx

Выберите Rx_DCD, Rx_Dj и Rx_Rj и выполните описанные выше шаги из Tx_DCD. Следующие диапазоны позволяют точно настроить значения дрожания в соответствии PCIe5 требованиями к маске дрожания.

Установка значений джиттера Rx DCD

  • Выберите Rx_DCD, затем нажмите кнопку Изменить... для открытия диалогового окна Add/Edit AMI Parameter.

  • Измените тип на Float.

  • Изменение формата на Range.

  • Установить текущее значение в 0.

  • Задайте для параметра Typ значение 0.

  • Установите минимальное значение в 0.

  • Установить максимальное значение в 0.

  • Нажмите кнопку ОК, чтобы сохранить изменения.

Установка значений дрожания Rx Rj (Trx-st-rj из таблицы 8-9)

  • Выберите Rx_Rj, затем нажмите кнопку Изменить... для открытия диалогового окна Add/Edit AMI Parameter.

  • Выполните действия для Rx_DCD.

  • Установить максимальное значение в 0.5e-12

  • Нажмите кнопку ОК, чтобы сохранить изменения.

Установка значений дрожания Rx Dj

  • Выберите Rx_Dj, затем нажмите кнопку Изменить... для открытия диалогового окна Add/Edit AMI Parameter.

  • Выполните действия для Rx_DCD.

  • Нажмите кнопку ОК, чтобы сохранить изменения.

Запустить модель

Запустите модель для моделирования системы SerDes.

Генерируется множество графиков, включая диаграмму глаз в реальном времени (GetWave), которая обновляется по мере запуска модели.

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

Обзор блока Tx FFE

  • В подсистеме Tx дважды щелкните блок FFE, чтобы открыть диалоговое окно «Параметры блока FFE».

  • Убедитесь, что текущее значение параметра Mode установлено в Fixed.

Просмотр блоков Rx CTLE

  • В подсистеме Rx дважды щелкните на блоке CTLE2, чтобы открыть диалоговое окно «Параметры блока».

  • Данные нулевого полюса усиления переносятся из приложения SerDes Designer. Эти данные в сочетании с данными нулевого полюса усиления CTLE1 применяют общую передаточную функцию поведенческого КТЛ, заданную базовой спецификацией PCIe5.

  • Для режима CTLE установлено значение Adapt, что означает алгоритм оптимизации, встроенный в объект системы CTLE, выбирает оптимальную конфигурацию во время выполнения.

Проверка блока Rx DFECDR

  • В подсистеме Rx дважды щелкните блок DFECDR, чтобы открыть диалоговое окно Параметры блока DFECDR.

  • Разверните параметры IBIS-AMI для отображения списка параметров, которые должны быть включены в модель IBIS-AMI.

  • Значения отводов DFE переносятся из приложения SerDes Designer.

Создание модели PCIe5 Tx/Rx IBIS-AMI

В заключительной части этого примера используется пользовательская модель Simulink, изменяются параметры AMI для PCIe5, а затем генерируются IBIS-AMI совместимые PCIe5 исполняемыми файлами модели, файлами IBIS и AMI.

Откройте диалоговое окно «Block Parameter» для блока «Configuration» и нажмите кнопку «Open Serdes IBIS/AMI Manager». На вкладке IBIS в диалоговом окне SerDes IBIS/AMI Manager значения аналоговой модели преобразуются в стандартные параметры IBIS, которые могут использоваться любым имитатором отраслевого стандарта. На вкладке «AMI-Rx» диалогового окна «SerDes IBIS/AMI Manager» сначала перечисляются зарезервированные параметры, за которыми следуют параметры модели, соответствующие формату типичного файла AMI.

Обновление параметров AMI датчика

Откройте вкладку AMI-Tx в диалоговом окне SerDes IBIS/AMI Manager. После формата типичного файла AMI сначала перечисляются зарезервированные параметры, за которыми следуют параметры модели.

Внутри параметров Model_Specific можно задать значения отводов TX FFE, создав новые параметры AMI и внедрив алгоритм в разделе Init customer specific code, чтобы выбрать PCIe5 Предустановленные значения P0 через P10.

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

Изменить Init для выбора пресетов для предварительного, основного и отменяющего акцент

Измените функцию Initialize MATLAB в блоке Init в подсистеме Tx, чтобы использовать только что добавленный параметр ConfigSelect *. Параметр ConfigSelect * управляет существующими тремя отводами датчика. Для этого добавьте инструкцию switch, которая принимает значения ConfigSelect * и автоматически устанавливает значения для всех трех отводов Tx, игнорируя пользовательские значения для каждого отвода. Если значение ConfigSelect равно-1 используется, то определяемые пользователем значения отводов Tx передаются в блок канала данных FFE без изменений.

В подсистеме Tx дважды щелкните блок Init, чтобы открыть диалоговое окно Block Parameters, и нажмите кнопку Refresh Init, чтобы распространить новый параметр AMI на подсистему Initialize.

Введите Ctrl-U для поиска блока Init под маской, затем дважды щелкните по блоку инициализации, чтобы открыть функцию инициализации.

Дважды щелкните по функциональному блоку impulseEqualization MATLAB, чтобы открыть функцию в MATLAB. Это автоматически генерируемая функция, которая обеспечивает обработку импульсной характеристики системного блока SerDes (IBIS AMI-Init). %% BEGIN: и % END: строки обозначают раздел, в котором можно ввести пользовательский код. Данные в этом разделе не будут перезаписаны при запуске обновления Init:

%% BEGIN: Custom user code area (retained when 'Refresh Init' button is pressed)

FFEParameter.ConfigSelect; % User added AMI parameter

% END: Custom user code area (retained when 'Refresh Init' button is pressed)

Чтобы добавить пользовательский управляющий код ConfigSelect, прокрутите вниз область Пользовательский код клиента, прокомментируйте FFEParameter.ConfigSelect введите следующий код:

%% BEGIN: Custom user code area (retained when 'Refresh Init' button is pressed)

%FFEParameter.ConfigSelect; % User added AMI parameter

switch FFEParameter.ConfigSelect

case -1 % User defined tap weights

FFEInit.TapWeights = FFEParameter.TapWeights;

case 0 % PCIe Configuration: P0

FFEInit.TapWeights = [0.000 0.750 -0.250];

case 1 % PCIe Configuration: P1

FFEInit.TapWeights = [0.000 0.830 -0.167];

case 2 % PCIe Configuration: P2

FFEInit.TapWeights = [0.000 0.800 -0.200];

case 3 % PCIe Configuration: P3

FFEInit.TapWeights = [0.000 0.875 -0.125];

case 4 % PCIe Configuration: P4

FFEInit.TapWeights = [0.000 1.000 0.000];

case 5 % PCIe Configuration: P5

FFEInit.TapWeights = [-0.100 0.900 0.000];

case 6 % PCIe Configuration: P6

FFEInit.TapWeights = [-0.125 0.875 0.000];

case 7 % PCIe Configuration: P7

FFEInit.TapWeights = [-0.100 0.700 -0.200];

case 8 % PCIe Configuration: P8

FFEInit.TapWeights = [-0.125 0.750 -0.125];

case 9 % PCIe Configuration: P9

FFEInit.TapWeights = [-0.166 0.834 0.000];

otherwise

FFEInit.TapWeights = FFEParameter.TapWeights;

end

% END: Custom user code area (retained when 'Refresh Init' button is pressed)

Чтобы проверить правильность работы нового параметра управления FFE, откройте диалоговое окно SerDes IBIS-AMI Manager из блока Configuration. На вкладке AMI-Tx измените параметр ConfigSelect *, чтобы установить текущее значение вP7. Это соответствует P7 конфигурации PCIe: Pre = -0.100, Main = 0.700 и Post = -0.200.

Изменить GetWave, чтобы выбрать стили для предварительного, основного и отменяющего акцент

Чтобы изменить GetWave, добавьте новую функцию MATLAB, которая работает так же, как функция Initialize.

В подсистеме Tx введите Ctrl-U для просмотра под маской блока FFE.

Можно увидеть, что добавлен новый блок констант с именем FFEParameter.ConfigSelect. Он создается автоматически диспетчером IBIS-AMI при добавлении нового зарезервированного параметра. Далее можно выполнить следующие действия для повторной настройки выбора наборов параметров веса отводов для моделирования во временной области (GetWave):

  • Добавьте функциональный блок MATLAB в холст из библиотеки Simulink/User-Defined.

  • Переименование функционального блока MATLAB в PCIe5FFEconfig.

  • Дважды щелкните по блоку MATLAB Function и замените код шаблона следующим:

% PCIe5 tap configuration selector

% Selects pre-defined Tx FFE tap weights based on PCIe5 specified

% configurations.

%

% Inputs:

% TapWeightsIn: User defined floating point tap weight values.

% ConfigSelect: 0-9: PCIe4 defined configuration (P0-P9).

% -1: User defined configuration (from TapWeightsIn).

% Outputs:

% TapWeightsOut: Array of tap weights to be used.

%

function TapWeightsOut = PCIe5FFEconfig(TapWeightsIn, ConfigSelect)

switch ConfigSelect

case -1 % User defined tap weights

TapWeightsOut = TapWeightsIn;

case 0 % PCIe Configuration: P0

TapWeightsOut = [0.000 0.750 -0.250];

case 1 % PCIe Configuration: P1

TapWeightsOut = [0.000 0.833 -0.167];

case 2 % PCIe Configuration: P2

TapWeightsOut = [0.000 0.800 -0.200];

case 3 % PCIe Configuration: P3

TapWeightsOut = [0.000 0.875 -0.125];

case 4 % PCIe Configuration: P4

TapWeightsOut = [0.000 1.000 0.000];

case 5 % PCIe Configuration: P5

TapWeightsOut = [-0.100 0.900 0.000];

case 6 % PCIe Configuration: P6

TapWeightsOut = [-0.125 0.875 0.000];

case 7 % PCIe Configuration: P7

TapWeightsOut = [-0.100 0.700 -0.200];

case 8 % PCIe Configuration: P8

TapWeightsOut = [-0.125 0.750 -0.125];

case 9 % PCIe Configuration: P9

TapWeightsOut = [-0.166 0.834 0.000];

otherwise

TapWeightsOut = TapWeightsIn;

end

Перемонтируйте подсистему FFE так, чтобы FFETapWeights и FFEConfigSelect постоянные блоки соединились с исходными данными недавно определенного функционального блока PCIe4FFEconfig MATLAB. Сигнал TapWeatingOut от блока PCIe4FFEconfig подключается к порту TapWeights блока FFE.

Чтобы проверить правильность работы нового параметра управления FFE, откройте диалоговое окно SerDes IBIS-AMI Manager из блока Configuration. На вкладке AMI-Tx измените параметр ConfigSelect *, чтобы установить текущее значение вP7. Это соответствует P7 конфигурации PCIe: Pre = -0.100, Main = 0.700 и Post = -0.200. Проверьте формы выходных сигналов.

Экспорт моделей

Откройте вкладку Экспорт (Export) в диалоговом окне Диспетчер SerDes IBIS/AMI.

  • Обновить имя модели Tx до pcie5_tx.

  • Обновите имя модели Rx до pcie5_rx.

  • Обратите внимание, что процент угла Tx и Rx равен 10. Это позволит масштабировать минимальные/максимальные угловые значения аналоговой модели на +/-10%.

  • Убедитесь, что для параметров модели Tx и Rx AMI выбрана двойная модель. Это создаст исполняемые файлы модели, которые поддерживают как статистический (Init), так и анализ во временной области (GetWave).

  • Установите биты модели Tx для игнорирования значения 3 поскольку в Tx FFE имеется три отвода.

  • Установите биты модели Rx для игнорирования значения 1000 для обеспечения достаточного времени для установки отводов Rx DFE во время моделирования временной области.

  • Задайте для параметра Модели экспорт как Tx и Rx, чтобы все файлы были выбраны для создания (IBIS-файл, AMI-файлы и DLL-файлы).

  • Задайте имя файла IBIS как pcie5ami.

  • Нажмите кнопку Экспорт (Export), чтобы создать модели в целевой папке.

Тестовые модели IBIS-AMI

В настоящее время модели PCIe Gen5 передатчика и приемника IBIS-AMI полностью укомплектованы и готовы к тестированию в любом модельном симуляторе AMI промышленного стандарта.

Ссылки

[1] PCI-SIG, https://pcisig.com.

См. также

| | |

Связанные темы

Внешние веб-сайты