В этом примере показано, как настроить Блок PassThrough в Simulink®, чтобы реализовать Систему CTLE Object™ определяемыми пользователем параметрами 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, чтобы открыть диалоговое окно Block Parameters Системы MATLAB и изменить название Системного объекта от serdes.PassThrough
к serdes.CTLE
.
Нажмите ОК, чтобы сохранить изменения.
Примечание: можно использовать собственный Системный объект также. Например, если вы хотели создать пользовательский CTLE с изменением в алгоритме адаптации:
Откройте исходный код serdes.CTLE
.
Сохраните локальную копию исходного кода в директории.
Внесите желаемые изменения в коде.
Затем сошлитесь на индивидуально настраиваемый код с Системой MATLAB.
Чтобы правильно соединить CTLE с параметрами в масштабе всей системы SymbolTime и SampleInterval, необходимо установить CTLE использовать эти параметры в качестве переменных, а не трудно закодированных значений. В противном случае неправильные или неожиданные значения могут быть включены в симуляцию и результат в недопустимых данных. Дважды щелкните по блоку PassThrough, который теперь указывает на системный объект CTLE, чтобы открыть диалоговое окно Параметров блоков. Во Вкладке "Дополнительно", время (времена) Символа набора к 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
Typ к 1
Min к 0
Max к 2
.
Сохраните изменения.
Чтобы добавить параметр CTLEConfigSelect, выберите узел MyCTLE снова, нажмите на кнопку Add Parameter и установите переменные:
Название параметра к CTLEConfigSelect
Текущее значение к 0
Описание к CTLE Config Select has a range from 0 to 8
Использование к InOut
Введите к Integer
Формат к Range
Typ к 0
Min к 0
Max к 8.
Сохраните изменения и закройте диалоговое окно SerDes IBIS-AMI Manager.
Посмотрите под маской Блока PassThrough. Добавьте блок Constant из библиотеки Simulink> Sources по холсту. Дважды щелкните по блоку Constant, чтобы открыть диалоговое окно Block Parameters и установить Постоянное значение к MyCTLEParameter.CTLEMode
. Соедините блок Constant с входом Mode блока PassThrough. Для получения дополнительной информации смотрите Управление Параметры AMI.
Добавьте блок Data Store Read из библиотеки Simulink> Signal Routing по холсту. Дважды щелкните по блоку Data Store Read, чтобы открыть диалоговое окно Block Parameters. Во вкладке Parameters, Имени хранилища данных набора к MyCTLESignal
. Во вкладке Element Selection расширьте MyCTLESignal, выберите CTLEConfigSelect и нажмите Select>> кнопка, чтобы добавить выбранный элемент. Соедините блок Data Store Read с входом ConfigSelect блока PassThrough.
Добавьте блок Data Store Write из библиотеки Simulink> Signal Routing по холсту. Дважды щелкните по блоку Data Store Write, чтобы открыть диалоговое окно Block Parameters. Во вкладке Parameters, Имени хранилища данных набора к MyCTLESignal
. Во вкладке Element Selection расширьте MyCTLESignal, выберите CTLEConfigSelect и нажмите Select>> кнопка, чтобы добавить выбранный элемент. Соедините блок Data Store Read с входом ConfigSelect блока PassThrough.
На данном этапе это то, как MyCTLE
Настройка блока PassThrough должна посмотреть. Это завершает настройку для временного интервала (GetWave) симуляция.
Дважды щелкните по подсистеме Init в блоке Rx, чтобы открыть диалоговое окно Block Parameter. Соединять параметры AMI, как соединено в MyCTLE
блокируйте, нажмите кнопку Refresh Init. Поскольку вы использовали системный объект, эта возможность соединения сгенерирована автоматически. Чтобы проверить это, нажмите кнопку Show Init, чтобы открыть код MATLAB для подсистемы Init. Необходимо найти код связанным со связями параметра КТЛ ЭМИ в Пользовательской пользовательской области кода окруженный %% Begin
и % End
операторы.
Запустите симуляцию.
Чтобы оценить эффект CTLE на выходных формах волны, откройте менеджера SerDes IBIS-AMI диалоговое окно. Во вкладке AMI-Rx, установленном Текущем значении CTLEMode* параметр к 1
использовать зафиксированную операцию режима и устанавливать Текущее значение CTLEConfigSelect* параметр к 4
. Повторно выполните симуляцию.
CTLE | Configuration | PassThrough | SerDes Designer