HDL Coder™ поддерживает генерацию кода для Simulink® типы сигналов и типы данных с несколькими особыми случаями.
Если ваш DUT или другие блоки в вашей модели имеют много входных или выходных сигналов, можно создать сигналы шины, чтобы улучшить читаемость вашей модели. Сигнал шины или шины является составным сигналом, который состоит из других сигналов, которые называются элементами.
Можно сгенерировать HDL-код для проектов, которые используют виртуальные и невиртуальные шины. Для примера можно сгенерировать код для проектов, которые содержат:
Порты подсистемы DUT, подключенные к шинам.
Simulink и Stateflow® блоки, поддерживающие шины и Генерацию HDL-кода.
Блоки с поддержкой шины являются блоками, которые могут принимать сигналы шины как входные и формировать сигналы шины как выходы. Список блоков с поддержкой шины, поддерживаемых Simulink, см. в разделе Блоки с поддержкой шины. HDL Coder поддерживает генерацию кода для блоков с поддержкой шины в HDL Coder библиотеке блоков. Для получения дополнительной информации см. раздел «Генерация HDL-кода» на каждой блочной странице. Поддерживаемые блоки включают:
В сложение подсистемы, модели и эти пользовательские функции поддерживают шины для симуляции и генерации HDL-кода:
Модели-ссылки см. раздел «Ссылки на Модель для генерации HDL-кода».
Стейтфлоу- Chart (Stateflow)
MATLAB Function блоки
MATLAB System блоки
Vision HDL Toolbox™, которые принимают pixelcontrol
шина для входа управления
Шины не поддерживаются в IP Core Generation
рабочий процесс. В сложение вы не можете сгенерировать код для проектов, которые используют:
Черный ящик модели-ссылки соединенный с шиной.
Вход шины в Delay блок с ненулевыми Initial condition.
Можно сгенерировать код для Simulink, MATLAB®или перечисления Stateflow в проекте.
Значения перечисления должны быть монотонно увеличены.
Строки перечисления должны иметь уникальные имена и не должны использовать зарезервированное ключевое слово в Verilog® или язык VHDL.
Если ваш целевой язык - Verilog, все имена представителей перечисления должны быть уникальными в проекте.
Перечисления в портах DUT верхнего уровня не поддерживаются следующими рабочими процессами или методами верификации:
Рабочий процесс генерации IP-ядра
Рабочий процесс FPGA под ключ
Simulink Real-Time процесс ввода-вывода FPGA
Индивидуальная настройка рабочего процесса устройства USRP
Цикл
Косимуляция HDL
Можно использовать матричные типы с этими блоками в проекте. Для получения дополнительной информации см. раздел «Генерация HDL-кода» на каждой блочной странице.
HDL Coder | Поддерживаемые блоки |
---|---|
Неоднородности | Эти блоки поддерживаются:
|
Дискретный | Эти блоки поддерживаются:
|
Операции с плавающей точкой HDL | Блок Rounding Function поддерживается. |
Операции HDL | Все блоки в этой библиотеке поддерживаются. |
HDL RAMs | Блоки в этой библиотеке не поддерживаются. |
HDL-подсистемы | Блоки в этой библиотеке не поддерживаются. |
Логические и битовые операции | Эти блоки поддерживаются:
|
Интерполяционные таблицы | Блоки в этой библиотеке не поддерживаются. |
Математические операции | Эти блоки поддерживаются:
|
Верификация модели | Все блоки в этой библиотеке поддерживаются. |
Общемодельные утилиты | Поддерживается DocBlock. Блок Model Info не поддерживает матричные типы данных. |
Порты и подсистемы | Блок Subsystem поддерживается. |
Атрибуты сигнала | Эти блоки поддерживаются:
|
Маршрутизация сигналов | Эти блоки поддерживаются:
|
Источники | Эти блоки поддерживаются:
|
Сливы | Эти блоки поддерживаются:
|
Пользовательские функции | Блок MATLAB Function поддерживается. |
Генератор кода не поддерживает матричные типы в интерфейсах Subsystem, для которых вы генерируете HDL-код. Используйте Reshape блок, чтобы преобразовать матричный вход в 1-D массив в интерфейсе. Внутри Subsystem используйте другой Reshape блок, который преобразует массив 1-D назад в матричный тип с заданной размерностью.
Массивы, хранящиеся в основном размещении строк, не поддерживаются для генерации HDL-кода
Сигналы переменного размера не поддерживаются для генерации кода.