В этом примере показано, как настроить блок PassThrough в Simulink ® для реализации системной Object™ CTLE с пользовательскими параметрами AMI. Можно использовать этот пример в качестве руководства для изменения блоков PassThrough, которые используют системные объекты. Дополнительные сведения о назначении блока PassThrough и примере использования в них других библиотек блоков Simulink см. в разделе Настройка базовых блоков Datapath.
В MATLAB ® введите serdesDesigner
чтобы запустить приложение SerDes Designer. Поместите блок PassThrough после аналоговой модели в приемник. Измените имя блока PassThrough с PT
на MyCTLE
.
Экспорт системы SerDes в Simulink.
Этот пример создает пользовательскую реплику блока 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 с изменением алгоритма адаптации:
Откройте исходный код serdes.CTLE
.
Сохраните локальную копию исходного кода в директории.
Внесите необходимые изменения в код.
Затем ссылка на настроенный код в MATLAB System.
Чтобы правильно связать CTLE с общесистемными параметрами SymbolTime и SampleInterval, необходимо задать CTLE, чтобы использовать эти параметры в качестве переменных, а не жестко закодированных значений. В противном случае неправильные или неожиданные значения могут быть включены в симуляцию и привести к недействительным данным. Дважды кликните блок PassThrough, который теперь указывает на системный объект CTLE, чтобы открыть диалоговое окно Параметров блоков. На вкладке Advanced установите значение Symbol time (s) на SymbolTime
и Типовой интервал (интервалы) к SampleInterval
. Нажмите кнопку ОК, чтобы сохранить изменения.
Откройте диалоговое окно 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.
Нажмите кнопку ОК, чтобы сохранить изменения. Снова вы увидите параметр, автоматически добавленный к холсту.
Соедините блоки 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 на выходах сигналов, откройте диалоговое окно SerDes IBIS-AMI manager. На вкладке AMI-Rx установите текущее значение параметра CTLEMode * равным 1
для использования операции в фиксированном режиме и установите текущее значение параметра CTLEConfigSelect * в 4
. Повторно запустите симуляцию.
Configuration | CTLE | PassThrough | SerDes Designer