Для интеграции пользовательского кода HDL в проект можно использовать один или несколько блоков DocBlock.
Если требуется сохранить код HDL в модели вместо отдельного файла, используйте DocBlock для интеграции пользовательского кода HDL. Текст в DocBlock - это пользовательский код VHDL ® или Verilog ®.
Каждый DocBlock, содержащий пользовательский код HDL, включается в подсистему черного ящика, а подсистема черного ящика включается в DUT. На подсистему черного ящика создается один файл HDL.
Если необходимо сохранить пользовательский код HDL отдельно от модели, например, если пользовательский код является IP-кодом или библиотекой стороннего производителя, используйте подсистему черного ящика или ссылку на модель черного ящика.
В DUT на любом уровне иерархии добавьте блок подсистемы.
Для блока «Подсистема» в диалоговом окне «Свойства блока HDL» выполните следующие действия.
Задайте для архитектуры значение BlackBox.
Настройте интерфейс подсистемы черного ящика таким образом, чтобы он соответствовал пользовательскому интерфейсу кода HDL. Дополнительные сведения о настройке интерфейса черного ящика см. в разделе Настройка интерфейса косимуляции черного ящика или HDL.
В подсистеме добавьте блок DocBlock.
Для DocBlock в диалоговом окне Свойства блока HDL:
Задайте для архитектуры значение HDLText.
Установите TargetLanguage в качестве целевого языка. Verilog или VHDL˙.
В DocBlock введите код HDL для пользовательского Verilog module или VHDL entity.
Язык должен соответствовать параметру DocBlock TargetLanguage.
Подсистема черного ящика, содержащая DocBlock, не может быть DUT верхнего уровня.
В подсистеме черного ящика может быть не более двух блоков DocBlock. Если имеется два блока DocBlock, для одного из них должен быть установлен TargetLanguage VHDL, а другой должен иметь значение TargetLanguage Verilog.
При создании кода HDL Coder™ интегрирует только код из DocBlock, соответствующий целевому языку для создания кода.
hdlcoderIncludeCustomHdlUsingDocBlockExample модель показывает, как интегрировать пользовательский код VHDL и Verilog в конструкцию с блоком DocBlock.