HDL Coder™ поддерживает генерацию кода для типов сигнала Simulink® и типов данных с несколькими особыми случаями.
Если ваш DUT или другие блоки в вашей модели имеют много сигналов ввода или вывода, можно создать сигналы шины улучшить удобочитаемость модели. Сигнал шины или шина являются составным сигналом, который состоит из других сигналов, которые называются элементами.
Можно сгенерировать HDL-код для проектов, которые используют виртуальные и невиртуальные шины. Например, можно сгенерировать код для проектов, которые содержат:
Порты подсистемы DUT соединяются с шинами.
Simulink и блоки Stateflow®, которые поддерживают шины и генерацию HDL-кода.
Способные к шине блоки являются блоками, которые могут принять сигналы шины, как введено и произвести сигналы шины как выходные параметры. Для списка способных к шине блоков, которые поддерживает Simulink, смотрите Способные к шине Блоки (Simulink). HDL Coder поддерживает генерацию кода для способных к шине блоков в библиотеке блоков HDL Coder. Поддерживаемые блоки включают:
Кроме того, подсистемы, модели и эти пользовательские функции поддерживают шины для симуляции и генерации HDL-кода:
Блоки тулбокса HDL видения, которые принимают пиксельную шину управления для входа управления
Шины не поддержаны в рабочем процессе IP Core Generation
. Кроме того, вы не можете сгенерировать код для проектов, которые используют:
Модель - ссылка Черного квадрата соединяется с шиной.
Вход шины к блоку Delay с ненулевым Initial condition.
Можно сгенерировать код для Simulink, MATLAB® или перечислений Stateflow в рамках проекта.
Перечислимые величины должны монотонно увеличиваться.
Строки перечисления должны иметь уникальные имена и не должны использовать зарезервированное слово на языке VHDL или Verilog®.
Если вашим выходным языком является Verilog, все имена элемента перечисления должны быть уникальными в рамках проекта.
Перечисления в портах DUT верхнего уровня не поддержаны со следующими рабочими процессами или методами верификации:
Рабочий процесс Генерации Ядра IP
Рабочий процесс Тюремщика FPGA
Рабочий процесс ввода-вывода FPGA Simulink Real-Time
Индивидуальная настройка для рабочего процесса Устройства USRP
FPGA в цикле
HDL Cosimulation
Можно использовать матричные типы с этими блоками в проекте:
Библиотека блоков HDL Coder | Поддерживаемые блоки |
---|---|
Разрывы | Эти блоки поддерживаются: |
Дискретный | Эти блоки поддерживаются: |
Операции плавающей точки HDL | Округление Функционального блока поддерживается. |
Операции HDL | Блоки в этой библиотеке не поддержаны. |
RAM HDL | Блоки в этой библиотеке не поддержаны. |
Подсистемы HDL | Блоки в этой библиотеке не поддержаны. |
Логика и битовые операции | Эти блоки поддерживаются: |
Интерполяционные таблицы | Блоки в этой библиотеке не поддержаны. |
Математические операции | Эти блоки поддерживаются:
|
Model Verification | Все блоки в этой библиотеке поддерживаются. |
Утилиты всей модели | DocBlock поддерживается. Блок Model Info не делает типов данных таблицы поддержки. |
Ports & Subsystems | Блок Subsystem поддерживается. |
Атрибуты сигнала | Эти блоки поддерживаются: |
Маршрутизация сигнала | Эти блоки поддерживаются: |
Источники | Эти блоки поддерживаются: |
Приемники | Эти блоки поддерживаются: |
Пользовательские функции | Блок MATLAB function поддерживается. |
Генератор кода не делает типов таблицы поддержки в интерфейсах Подсистемы, для которой вы генерируете HDL-код. Используйте блок Reshape, чтобы преобразовать матричный вход в 1D массив в интерфейсе. В Подсистеме используйте другой блок Reshape, который преобразовывает 1D массив назад в матричный тип с размерностью, которую вы задали.
Массивы, сохраненные в главном строкой размещении, не поддержаны для генерации HDL-кода
Сигналы переменного размера не поддержаны для генерации кода.