exponenta event banner

Сгенерированная модель и модель проверки

Coder™ HDL позволяет просматривать эффект оптимизации HDL и настройки блоков в созданной модели.

Сгенерированная модель

Перед созданием кода HDL Coder создает поведенческую модель кода HDL, называемую сгенерированной моделью. Генерируемая модель является промежуточной моделью, которая фиксирует циклически точное и битово-истинное поведение генерируемого кода в области и оптимизацию синхронизации во время генерации кода. Он показывает задержки и числовые различия между Simulink ® DUT и сгенерированным кодом HDL. Задержки, связанные с выделением вставок генератора кода в создаваемой модели различными цветами. Для получения информации о различных задержках при создании кода, соответствующем цвете выделения и именовании задержек в созданной модели см. таблицу ниже.

ЗадержкиЦвет выделенияСоглашение об именовании
  • Блокирование реализации

  • Отображение ОЗУ

Голубой

Блок выделен голубым цветом. Блоки задержки внутри этого блока используют имя по умолчанию Delay и не выделяются.

Трубопроводирование с ограничением выходных данных

ЗеленыйКонвейеризация выходных данных с ограничениями: rd_n
Оранжевый
  • Распределенная конвейерная обработка: rd_n

  • Конвейерная обработка входных данных: in_n_pipe_in_pipe и конвейерная обработка выходных данных: out_n_pipe_in_pipe

  • Балансировка задержки: delayMatch

  • Конвейеризация тактовой частоты: rd_n

  • Адаптивная конвейерная обработка: HwModeRegister на входах блоков и PipelineRegister на выходе блока.

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

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

После создания кода созданная модель сохраняется в целевой папке. По умолчанию генерируемый префикс модели имеет значение gm_. Например, если имя модели - myModel, имя созданной модели: gm_myModel.

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

Чтобы настроить префикс создаваемого имени модели, используйте GeneratedModelNamePrefix свойство с makehdl или hdlset_param. Имя созданной модели см. в разделе Префикс.

Можно также задать различные опции именования и компоновки создаваемой модели. См. раздел Параметры именования и компоновки для создания модели.

Модель проверки

Поскольку сгенерированная модель часто существенно отличается от исходной модели, кодер может также создать модель проверки для сравнения исходной модели с сгенерированной моделью. Модель проверки вставляет задержки на выходах исходной модели для компенсации разностей задержек и сравнивает выходы двух моделей. При моделировании модели проверки числовые различия в выходных данных инициируют утверждение.

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

Модель проверки содержит:

  • Созданная модель.

  • Исходная модель, в которую вставлены компенсирующие задержки.

  • Исходные входные данные, направляемые к исходной модели и созданной модели.

  • Области для сравнения и просмотра выходных данных исходной модели и созданной модели.

Разницы задержек

Некоторые блочные архитектуры и оптимизации обеспечивают задержку. Например, для блока Feature можно указать архитектуры блоков HDL, реализующие метод Ньютона-Рафсона. Метод Ньютона-Рафсона итеративен, поэтому блочные архитектуры, которые его используют, являются многоцикловыми и вводят задержку с частотой блоков.

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

Числовые различия

Блочные архитектуры HDL могут вводить числовые различия. Например:

  • Свойство блока HDL, такое как InputPipeline, указанное в блоке, или определенные архитектуры HDL или оптимизации, такие как распределенная конвейерная обработка, которая перемещает задержки на вход блока.

  • Метод Ньютона - Рафсона является приближением. При выборе реализации блока Ньютона-Рафсона созданная модель показывает изменение числовых значений.

  • Реализации HDL для блоков обработки сигналов, таких как фильтры, могут изменять цифры.

См. также раздел Поиск числовых различий после оптимизации скорости.

Создание модели проверки

  • В диалоговом окне «Параметры конфигурации» на панели «Создание кода HDL» > «Глобальные настройки» > «Создание модели» выберите «Модель проверки».

  • На панели «Создание кода HDL» (HDL Code Generation) > «Генерировать код RTL» (Generate RTL Code and Testbench) помощника по рабочим процессам HDL включите опцию «Генерировать модель проверки» (Generate validation model).

  • Используйте GenerateValidationModel свойство с makehdl или hdlset_param.

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

Чтобы настроить суффикс созданного имени проверки, используйте ValidationModelNameSuffix свойство с makehdl или hdlset_param. Имя модели проверки см. в разделе Суффикс.

Ограничения

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