exponenta event banner

Разработка моделей IBIS-AMI для поддержки переадресации часов

В этом примере показано, как создать модели Rx AMI, которые поддерживают пересылку часов, как определено в документе 204 IBIS Buffer Issue Resolution Document (BIRD), путем изменения библиотечных блоков в SerDes Toolbox™. В этом примере для демонстрации настройки используется DDR5 передача записи (контроллер в SDRAM).

Фон

IBIS BIRD 204, DQ_DQS GetWave Flow for Clock Forwarding Modeling, добавляет возможность передачи внешнего тактового сигнала в виде формы сигнала или времени синхронизации к модели GetWave приемника данных IBIS-AMI, используя clock_times указатель, определенный спецификацией IBIS. Для активации этой функции используется новый параметр AMI Reserved Parameter, Rx_Use_Clock_Input. Следует отметить, что, хотя BIRD 204 был принят комитетом IBIS, он еще не является частью выпущенной спецификации IBIS.

На рисунке ниже показана типичная настройка моделирования канала с DDR5 связью с использованием передачи тактового сигнала. Тактовое время или форма сигнала, генерируемая DQS0, передается в DQ [7:0] с помощью DLL DQ. clock_times указатель. Затем DLL DQ работает с этими временами синхронизации по желанию (например, запуская отводы DFE, моделируя дерево задержки DQS или центрируя DQ в форме сигнала DQS) и затем выдает то же самое или модифицированное clock_times как обычно. Этот же процесс повторяют для DQS1 и DQ [8:15].

В этом примере приводится введение в пересылку часов в SerDes Toolbox и показано, как использовать различные инструменты Simulink ® и функции MATLAB ® для создания и тестирования исполняемого файла IBIS-AMI, поддерживающего пересылку часов. Он не предоставляет определенный алгоритм пересылки часов.

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

Для начала загрузите модель Simulink с пересылкой часов и просмотрите настройки модели. Начните с ввода следующей команды:

>> open_system('clock_forward.slx')

В результате появится следующая система SerDes:

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

В дополнение к обычным блокам SerDes Configuration, Stimulus, Tx, Analog Channel и Rx эта система Simulink SerDes добавляет новый блок Strobe Clock Times Generator. Настройка каждого из этих блоков будет рассмотрена ниже.

Блок конфигурации

  • Для параметра «Время символа» установлено значение 200.0 ps (5.0Gbps)

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

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

  • Выборки на символ и модуляция поддерживаются значениями по умолчанию, которые являются 16 и NRZ (не возвращать к нулю), соответственно.

Блок стимула

  • Для блока Стимул установлены значения по умолчанию.

Блок передачи

Блок Tx использует один FFE с 5 отводами. Поскольку этот пример сфокусирован на модели Rx, блок Tx будет нетронутым.

Блок аналоговых каналов

  • Потеря канала установлена в значение 5 dB, что характерно для каналов DDR.

  • Односторонний импеданс установлен в 40 Ом.

  • Целевая частота установлена в значение 2.5 ГГц, который является частотой Найквиста для 5,0 ГГц

  • Аналоговая модель Tx настроена таким образом, что напряжение равно 1.1 V, Время подъема равно 10 ps, R (выходное сопротивление) - 50 ohms, и C (емкость) 0.65pF.

  • Аналоговая модель Rx настроена таким образом, что R (входное сопротивление) равно 40 Ом и C (емкость) равно 0.65pF.

Блок приема

Один блок Rx является проходным блоком, который состоит из системного объекта DFE, функционального блока CDR MATLAB и блока Clock Times. Блок DFE настраивается для четырех отводов DFE путем включения четырех начальных весов отводов, установленных в 0. Для параметра «Минимальное значение» установлено значение [-0.2 -0.075 -0.06 -0.045] V, а для параметра Maximum tap установлено значение [0.05 0.075 0.06 0.045] V.

На BIRD 204 время синхронизации, принятое приемником данных передачи синхронизации, используется непосредственно, поэтому восстановление синхронизации не требуется. Вместо CDR используется функциональный блок MATLAB, названный forwardCDR, для передачи времени синхронизации в DFE, который сигнализирует, когда применять отводы DFE. Кроме того, этот блок передает время синхронизации, неизмененное, в блок clock_times IBIS-AMI для генерации обычного времени синхронизации для использования инструментом EDA. Функциональный блок MATLAB можно скопировать из этого примера в собственную модель Simulink.

Блок времени синхронизации - это блок библиотеки SerDes Toolbox, который форматирует время синхронизации, генерируемое блоком DFECDR, CDR или forwardCDR для вывода в средство EDA. Этот блок библиотеки доступен в браузере библиотеки Simulink.

Блок DFE является пользовательским системным объектом SerDes Toolbox. Его можно добавить в собственную модель Simulink, добавив системный блок MATLAB и указав его на файл DFE.m, включенный в этот пример.

Подсистема генератора тактовых импульсов Strobe (новая)

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

Новый блок генератора часов Strobe еще не включен в библиотеку SerDes Toolbox. Эту подсистему можно добавить в новую модель Simulink, скопировав ее из этого примера. При вставке этого блока в новую модель SerDes Toolbox также будут добавлены необходимые параметры Rx_Use_Clock_Input и ForwardClockOffset Сигнал Simulink в рабочее пространство модели.

Запуск модели Simulink

Модель Simulink готова к запуску. Для того, чтобы сделать эффекты местоположения часов более видимыми, первый отвод DFE был установлен в -0.1V и режим DFE установлен в Fixed. Нажмите кнопку запуска для запуска моделирования.

По мере выполнения моделирования диаграмма глаз временной области постоянно обновляется:

После завершения моделирования появляется график Init Statistical and Time Domain Analysis Results (Результаты статистического анализа и анализа временной области):

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

Как визуализировать результаты

Для проверки правильности работы передачи синхросигналов очень полезно построить график результирующих сигналов и/или тактов. Для нескольких сигналов включена регистрация данных, позволяющая использовать Data Inspector для построения графиков сигналов. Для включения регистрации дополнительных данных щелкните правой кнопкой мыши по любому сигналу и выберите Log Selected Signals.

Печать синхросигналов и сигналов данных

После выполнения моделирования откройте Инспектор данных (Data Inspector), щелкнув значок -icon на вкладке Симуляция (Simulink Simulation). В инспекторе данных установите флажки для Stimulus:1 (входящая форма сигнала стимула, красная на рисунке ниже) и для rxOut (исходящая форма сигнала данных Rx, синяя на рисунке ниже). Вы должны видеть, что растущие и падающие края сигнала внешнего тактового сигнала (Red) соответствуют пикам сигнала данных (Blue). Если они не выстраиваются так, как ожидалось, смещение можно скорректировать с помощью смещения тактового сигнала (см. раздел Настройка смещения тактового сигнала).

Ввод и вывод часов

После выполнения моделирования в инспекторе данных установите флажки для Times:1 «Forward Clock» (время передачи из блока «Clock Times Generator») и «clockTime» (время передачи из модели Rx). Когда в качестве внешнего времени синхронизации выбрано «Times», эти два сигнала должны быть идентичными.

Изменение шаблона данных

Шаблон данных Rx устанавливается с использованием блока Стимула системы SerDes, как обычно. Можно выбрать шаблон PRBS или использовать именованный шаблон стимула, который находится в рабочей области модели. Текущий шаблон стимула назван SiSoftLinkStimulus_dq.

Изменение шаблона синхронизации

В эту модель Simulink включены два шаблона часов:

  • SiSoftLinkStimulus_ck: Это периодическая тактовая схема, генерируемая SiSoft Quantum SI™ (QSI)

  • SiSoftLinkStimulus_dqs: Это шаблон DQS с 8-битным пакетом DDR, за которым следует 4-битный статический низкий уровень.

Чтобы изменить этот образец, укажите требуемый образец по имени в маске генератора времени строба.

Сведения о создании нового шаблона см. в разделе Создание нового шаблона синхронизации.

Переключение между внешним сигналом и тактами синхронизации

Переключение между использованием внешней формы сигнала для генерации времени синхронизации и непосредственным использованием внешней матрицы тактовых тактов осуществляется путем изменения значения параметра, Rx_Use_Clock_Input из маски генератора времени тактовых импульсов Строба. Существует 3 варианта ввода внешних синхросигналов:

  • Нет: никакие часы не будут вводиться или выводиться из модели Rx AMI.

  • Время (Times): используйте время внешних часов, указанное в параметре «Рабочее пространство модели» (Model Workspace). clockTicks.

  • Волны: Используйте форму внешнего тактового сигнала из Waveform Name в маске.

Создание нового тактового сигнала

Генерация нового тактового сигнала или сигнала строба для использования в блоке Стимула внутри генератора тактовых импульсов Строба осуществляется с использованием SiSoft Quantum SI и пакета поддержки MATLAB SiSoft Link™.

Ниже приведен обзор необходимых шагов. Подробную информацию об использовании SiSoft Link см. в разделе Интерфейс панели инструментов SerDes для конструктора квантовых каналов SiSoft и программного обеспечения QSI. Дополнительные сведения о QSI см. в разделе www.sisoft.com. Обратите внимание, что если вы ранее запускали SiSoft Link на этой модели Simulink, вы можете начать с шага 3.

  1. Начните с использования менеджера SerDes IBIS-AMI для экспорта моделей Tx и Rx. Убедитесь, что установлены флажки для файлов IBIS, AMI и DLL.

  2. Используйте SiSoft Link для создания нового проекта QSI.

  3. В новом проекте QSI дважды щелкните обозначение Tx, затем нажмите кнопку IO Stimulus в диалоговом окне Designator Element Properties.

  4. В диалоговом окне «Стимулы» нажмите кнопку «Создать», чтобы открыть редактор стимулов и создать требуемый шаблон тактовой частоты.

  5. По завершении создания нового стимула убедитесь, что в свойствах элемента обозначений выбран новый именованный шаблон стимула.

  6. Диалоговое окно Simulation Parameters (параметры моделирования) используется для установки требуемых значений «Samples Per Bit», «Record Start» и «Record Bits» для получения требуемого количества выборок. Примечание: количество выборок = выборок на бит * бит записи

  7. Запустите моделирование QSI, чтобы создать новый шаблон стимула.

  8. В SiSoft Link с помощью раздела Импорт из QSI выберите правильное моделирование, убедитесь, что установлен флажок Обновить шаблон стимула, и нажмите Импорт.

  9. В Simulink новая схема стимула будет автоматически установлена в блоке стимула верхнего уровня. Измените этот шаблон на PRBS или SiSoftLinkStimulus_dq как было установлено ранее.

  10. В блоке «Стимул» в генераторе времени строба выберите вновь созданный стимул. SiSoftLinkStimulus.

Примечание: Шаблон SiSoftLinkStimulus перезаписывается при каждом выполнении этого процесса. Чтобы сохранить именованный шаблон стимула, откройте обозреватель моделей, перейдите в рабочее пространство модели и переименуйте SiSoftLinkStimulus в новое имя. Этот переименованный параметр сохраняется вместе с остальной частью модели Simulink.

Создание новых тактов

Генерация новых тактов для использования внутри генератора тактов Strobe выполняется с использованием SiSoft Quantum SI и пакета поддержки MATLAB SiSoft Link.

Ниже приведен обзор необходимых шагов. Подробную информацию об использовании SiSoft Link см. в разделе Интерфейс панели инструментов SerDes для конструктора квантовых каналов SiSoft и программного обеспечения QSI. Дополнительные сведения о QSI см. в разделе www.sisoft.com. Обратите внимание, что если вы ранее запускали SiSoft Link на этой модели Simulink, вы можете начать с шага 3.

  1. Начните с использования менеджера SerDes IBIS-AMI для экспорта моделей Tx и Rx. Убедитесь, что установлены флажки для файлов IBIS, AMI и DLL.

  2. Используйте SiSoft Link для создания нового проекта QSI.

  3. В новом проекте QSI откройте диалоговое окно «Simulation Parameters» и установите для параметра «Output Clock Ticks» значение «Yes».

  4. Выполните требуемое моделирование QSI.

  5. В командной строке MATLAB введите следующее, чтобы импортировать часы из проекта QSI и отформатировать их для использования в Simulink:

%% Read the QSI generated clock_ticks from a file
filename = '<path_to_qsi_project>/<project_name>/interfaces/<interface_name>/pre_sims/<sheet_name>/default.ssm/qcd/<designator>_ttte.td.<designator>_z.clock_ticks.csv';
csv = readmatrix(filename,'Range','A7');

%% Format input
count = csv(:,1);
clock = csv(:,2);

%% Output clock_ticks for Simulink
clockTicks = [count, clock];

Примечание.Если требуется сохранить несколько массивов clockTicks или переключиться между массивами, необходимо обновить имя параметра clockTicks в функциональном блоке clockStartGen MATLAB в подсистеме Strobe Clock Times Generator.

Установка смещения синхросигнала

Входной параметр AMI ForwardClockOffset добавлен в блок DFEandCDR. Этот параметр имеет тип Integer, значение Default равно 0, а значение Range от 0 до 64. В блоке DFEandCDR этот параметр управляет блоком задержки, который используется для задержки времени входящего синхросигнала до 64 выборок. С помощью SerDes IBIS-AMI Manager можно использовать эту задержку для регулировки местоположения внешнего тактового сигнала относительно формы сигнала данных.

Например, вот диаграмма глаз временной области с значением ForwardClockOffset, равным 5:

Обратите внимание, как отводы DFE применяются в центре глаза, а не по краям глаза. При значении задержки 14 отводы DFE применяются в идеальном месте на краю глаза:

Примечание.Значения задержки, меньшие 0, не влияют на результирующую форму сигнала.

Изменение текущего значения Rx_Use_Clock_Input

Работой переадресации тактового сигнала управляет зарезервированный параметр AMI Use_AMI_Clock_PDF. Изменение текущего значения этого параметра не поддерживается SerDes IBIS-AMI Manager, поэтому все обновления текущего значения выполняются с помощью маски Strobe Clock Times Generator с помощью переключателя Select External Clock Input.

Примечание.Если IBIS-AMI Manager уже открыт, возможно, потребуется закрыть и снова открыть для отображения изменений.

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

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

Откройте диалоговое окно «Параметр блока» для блока «Конфигурация» и нажмите кнопку «Открыть серверы IBIS-AMI Manager».

Обязательные ключевые слова

Для правильной работы кодегена необходим входной параметр IBIS-AMI Reserved Rx_Use_Clock_Input. Если этот параметр отсутствует в модели, в то время как модель может кодировать свойства пересылки часов не будут включены.

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

На вкладке Экспорт в диалоговом окне Диспетчер SerDes IBIS/AMI.

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

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

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

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

  • Установите параметр Модели (Models) для экспорта только в Rx, поскольку создается только модель Rx.

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

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

Просмотр файла AMI

Полученный AMI-файл Rx будет выглядеть как обычный AMI-файл Rx с двумя исключениями. Сначала устанавливается AMI_Version 7.1. Вторым является включение зарезервированного параметра Rx_Use_Clock_Input. Так как оба этих изменения были сделаны из невыпущенной версии спецификации IBIS, то любое из них приведет к тому, что этот AMI-файл завершится ошибкой проверки IBIS AMI Checker (который в настоящее время находится в версии 7.0.1). Если это вызывает какие-либо проблемы в инструменте EDA, можно пропустить запуск AMI Checker.

Ограничения модели

Эта модель AMI передачи часов требует инструмента EDA, который поддерживает BIRD 204.

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

Модель приемника передачи часов IBIS-AMI теперь завершена и готова к тестированию в любом модельном симуляторе модели AMI промышленного стандарта, который поддерживает BIRD 204.

Ссылки