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

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

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

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

Задержки'HighlightColor' Соглашение о присвоении имен
  • Блокируйте реализацию

  • Отображение RAM

Голубой

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

Ограниченная Выходная конвейеризация

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

  • Входная конвейеризация: in_n_pipe_in_pipe и выходная конвейеризация: out_n_pipe_in_pipe

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

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

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

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

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

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

Настройте сгенерированную модель

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

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

Модель валидации

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

Используя модель валидации, можно проверить, что выход оптимизированного DUT битно-верен для результатов, приведенных исходным DUT.

Модель валидации содержит:

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

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

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

  • Осциллографы для того, чтобы выдержать сравнение и просмотреть выводы исходной модели и сгенерированной модели.

Различия в задержке

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

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

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

Архитектуры блока HDL могут ввести числовые различия. Например:

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

  • Метод Ньютона-Raphson является приближением. Если вы выбираете реализацию блока Newton-Raphson, сгенерированная модель показывает изменение в численных данных.

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

См. также Определяют местоположение Числовых Различий После Оптимизации Скорости.

Сгенерируйте модель валидации

  • В диалоговом окне Configuration Parameters, в HDL Code Generation> Global Settings> панель Model Generation, выбирают Validation Model.

  • В HDL Workflow Advisor, в HDL Code Generation> панель Generate RTL Code and Testbench, включают Generate validation model.

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

Настройте модель валидации

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

Ограничения

Похожие темы