Ссылка модели для генерации 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 detected, HDL Coder регенерирует код для моделей, на которые ссылаются, только, когда модели, на которые ссылаются, изменились.

Как сгенерировать код для модели, на которую ссылаются,

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

Когда генерация кода, если вы сталкиваетесь с вводом или конфликтами по совпадению имен между векторными портами при взаимодействии через интерфейс с двумя или больше сгенерированными модулями VHDL® кода, использует ScalarizePorts свойство сгенерировать неконфликтные определения порта. Для получения дополнительной информации смотрите порты Scalarize.

Можно сгенерировать 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');

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

Сгенерировать один Verilog® module или VHDL entity для экземпляров модели, на которую ссылаются, с различными значениями аргументов модели смотрите, Генерируют Параметрированный Код для Моделей, на которые Ссылаются.

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

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

Ограничения

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

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

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

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

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

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

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

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

  • Потоковая передача

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

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