Реализуйте пользовательский CTLE в блоке SerDes Toolbox PassThrough

В этом примере показано, как настроить блок PassThrough в Simulink ® для реализации системной Object™ CTLE с пользовательскими параметрами AMI. Можно использовать этот пример в качестве руководства для изменения блоков PassThrough, которые используют системные объекты. Дополнительные сведения о назначении блока PassThrough и примере использования в них других библиотек блоков Simulink см. в разделе Настройка базовых блоков Datapath.

Создайте систему SerDes в приложении SerDes Designer

В MATLAB ® введите serdesDesigner чтобы запустить приложение SerDes Designer. Поместите блок PassThrough после аналоговой модели в приемник. Измените имя блока PassThrough с PT на MyCTLE.

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

Измените блок PassThrough, чтобы реализовать CTLE

Этот пример создает пользовательскую реплику блока CTLE из SerDes Toolbox™. Сначала измените содержимое блока PassThrough, чтобы ссылаться на новый системный объект, а затем реализуйте и соедините его параметры. Это касается функции модели во временной области (GetWave). Код Init затем обновляется, чтобы отразить функциональность временной области (GetWave) в статистическом анализе. В этом примере вы пройдете весь процесс с помощью serdes.CTLE Системный объект.

Внутри подсистемы Rx смотрите под маской блока PassThrough MyCTLE. Выберите блок PassThrough, нажмите Ctrl + U, чтобы открыть диалоговое окно Параметры Блоков системы MATLAB и измените имя системного объекта на serdes.PassThrough на serdes.CTLE.

Нажмите OK, чтобы сохранить изменения, и вы увидите изменение блока с Pass Through на CTLE:

Примечание: Вы также можете использовать свой собственный пользовательский системный объект. Для примера, если вы хотели создать пользовательский CTLE с изменением алгоритма адаптации:

  1. Откройте исходный код serdes.CTLE.

  2. Сохраните локальную копию исходного кода в директории.

  3. Внесите необходимые изменения в код.

  4. Затем ссылка на настроенный код в MATLAB System.

Чтобы правильно связать CTLE с общесистемными параметрами SymbolTime и SampleInterval, необходимо задать CTLE, чтобы использовать эти параметры в качестве переменных, а не жестко закодированных значений. В противном случае неправильные или неожиданные значения могут быть включены в симуляцию и привести к недействительным данным. Дважды кликните блок PassThrough, который теперь указывает на системный объект CTLE, чтобы открыть диалоговое окно Параметров блоков. На вкладке Advanced установите значение Symbol time (s) на SymbolTime и Типовой интервал (интервалы) к SampleInterval. Нажмите кнопку ОК, чтобы сохранить изменения.

Добавьте параметры AMI в блок PassThrough

Откройте диалоговое окно SerDes IBIS-AMI Manager. Под Model_Specific параметры на вкладке AMI-Rx, выберите узел MyCTLE и добавьте два новых параметра, CTLEMode и CTLEConfigSelect.

Чтобы добавить параметр CTLEMode, нажмите на кнопку Add Parameter и установите переменные:

  • Имя параметра для CTLEMode

  • Текущее значение для 0

  • Описание для CTLE Mode: 0 = off, 1 = fixed, 2 = adapt

  • Введите в Integer

  • Формат к Range

  • Тайп- 1

  • Min к 0

  • Max на 2.

Нажмите кнопку ОК, чтобы сохранить изменения. Вы увидите параметр, автоматически добавленный к холсту:

Чтобы добавить параметр CTLEConfigSelect, снова выберите узел MyCTLE, нажмите на кнопку Add Parameter и установите переменные:

  • Имя параметра для CTLEConfigSelect

  • Текущее значение для 0

  • Описание для CTLE Config Select has a range from 0 to 8

  • Использование для InOut

  • Введите в Integer

  • Формат к Range

  • Тайп- 0

  • Min к 0

  • Max до 8.

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

Реализация параметров AMI

Соедините блоки MyCTLEParameter.CTLEMode на вход Mode и MyCTLESignal.CTLEConfigSelect read на вход ConfigSelect блока PassThrough. Соедините выход ConfigSelect блока PassThrough с MyCTLESignal.CTLEConfigSelect write блок.

Для получения дополнительной информации смотрите Управление параметрами AMI.

Для подтверждения возможности подключения можно дважды щелкнуть по блокам. Для примера двойного нажатия кнопки на блоке MyCTLESignal.CTLEConfigSelect read для подтверждения возможности подключения хранилища данных Прочитайте:

Это завершает настройку для симуляции во временной области (GetWave).

Проверьте код для статистического анализа

Дважды кликните подсистему Init внутри блока Rx, чтобы открыть диалоговое окно Параметры Блоков. Чтобы соединить параметры AMI как соединенные внутри MyCTLE нажмите кнопку «Обновить Init». Поскольку вы использовали системный объект, эта связь генерируется автоматически. Чтобы подтвердить это, нажмите кнопку Show Init, чтобы открыть код MATLAB для подсистемы Init. Вы должны найти код, относящийся к соединениям параметров CTLE AMI, в области пользовательского кода Custom, окруженной %% Begin и % End операторы.

Проверьте операцию пользовательского CTLE

Запустите симуляцию.

Чтобы оценить эффект CTLE на выходах сигналов, откройте диалоговое окно SerDes IBIS-AMI manager. На вкладке AMI-Rx установите текущее значение параметра CTLEMode * равным 1 для использования операции в фиксированном режиме и установите текущее значение параметра CTLEConfigSelect * в 4. Повторно запустите симуляцию.

См. также

| | |

Похожие темы