Модели для генерации HDL-кода

Преимущества модели для генерации кода

Модель ссылок в подсистеме DUT позволяет вам:

  • Разделите большую конструкцию на иерархию небольших проектов для повторного использования, модульной разработки и ускоренной симуляции.

  • Пошагово генерируйте и тестируйте код.

    HDL Coder™ пошагово генерирует код для ссылок на модели в соответствии с опциями Configuration Parameters dialog box Model Referencing pane > Rebuild >.

    Однако HDL Coder лечит If any changes detected и If any changes in known dependencies detected как то же самое. Например, если вы задаете Rebuild либо If any changes detected или If any changes in known dependencies detectedHDL Coder регенерирует код для ссылок на модели только в случае изменения ссылочных моделей.

Как сгенерировать код для ссылочной Модели

По умолчанию включена команда Сгенерировать код VHDL для моделей-ссылок в одну библиотеку. VHDL- кода генерируется в одной библиотеке вместо отдельных библиотек. В этом случае установите ScalarizePorts свойство к off перед генерацией HDL-кода.

При генерации кода, если вы сталкиваетесь с типизацией или конфликтами по совпадению имен между векторными портами при интерфейсе двух или более сгенерированных VHDL® модули кода, используйте ScalarizePorts свойство для генерации неконфликтных определений портов. Для получения дополнительной информации см. Раздел «Скаляризация портов».

Можно сгенерировать HDL-код для ссылок на модель с помощью пользовательского интерфейса или командной строки.

Использование пользовательского интерфейса

  1. Щелкните правой кнопкой мыши блок Model и выберите HDL Code > HDL Block Properties.

  2. Для Architecture выберите ModelReference.

  3. Сгенерируйте HDL-код из подсистемы DUT.

Использование командной строки

  1. Установите Architecture свойство блока Model, чтобы ModelReference. Для примера, для подсистемы DUT, mydut, который включает в себя модель-ссылку, referenced_model, введите следующую команду:

    hdlset_param ('mydut/referenced_model', ... 
                  'Architecture', 'ModelReference');

  2. Сгенерируйте HDL-код для подсистемы DUT.

    makehdl ('mydut');

Сгенерируйте код для аргументов модели

Чтобы сгенерировать одну Верилог® module или VHDL- entity для образцов модели-ссылки с различными значениями аргументов модели смотрите Сгенерировать параметризованный код для моделей-ссылок.

Сгенерируйте комментарии

Если вы вводите текст в диалоговом окне Model Свойства Description поле, HDL Coder генерирует комментарий в HDL-коде.

Ограничения

  • Блоки Model должны иметь значения по умолчанию для Параметров блоков.

  • Блок Model не может быть маскированной подсистемой.

  • Несколько модели-ссылки, которые ссылаются на одну и ту же модель, должны иметь одинаковые свойства HDL- блока.

  • Модели-ссылки не могут быть защищенными моделями.

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

HDL Coder не может перемещать регистры через модель-ссылку. Поэтому ссылочные модели могут ингибировать эти оптимизации:

  • Распределённая конвейеризация

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

  • Вытекание

Когда вы моделями-ссылками и генерируете HDL-код, сгенерированная модель, модель валидации и модель косимуляции могут не скомпилироваться или моделироваться. Чтобы исправить ошибки компиляции или симуляции, убедитесь, что указанные модели загружены или находятся на путь поиска файлов.

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