Поддержка типа сигнала и данных

HDL Coder™ поддерживает генерацию кода для Simulink® типы сигналов и типы данных с несколькими особыми случаями.

Автобусы

Если ваш DUT или другие блоки в вашей модели имеют много входных или выходных сигналов, можно создать сигналы шины, чтобы улучшить читаемость вашей модели. Сигнал шины или шины является составным сигналом, который состоит из других сигналов, которые называются элементами.

Можно сгенерировать HDL-код для проектов, которые используют виртуальные и невиртуальные шины. Для примера можно сгенерировать код для проектов, которые содержат:

  • Порты подсистемы DUT, подключенные к шинам.

  • Simulink и Stateflow® блоки, поддерживающие шины и Генерацию HDL-кода.

Поддерживаемые блоки с шинами

Блоки с поддержкой шины являются блоками, которые могут принимать сигналы шины как входные и формировать сигналы шины как выходы. Список блоков с поддержкой шины, поддерживаемых Simulink, см. в разделе Блоки с поддержкой шины. HDL Coder поддерживает генерацию кода для блоков с поддержкой шины в HDL Coder библиотеке блоков. Для получения дополнительной информации см. раздел «Генерация HDL-кода» на каждой блочной странице. Поддерживаемые блоки включают:

В сложение подсистемы, модели и эти пользовательские функции поддерживают шины для симуляции и генерации HDL-кода:

Ограничения на поддержку шины

Шины не поддерживаются в 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-кода

  • Сигналы переменного размера не поддерживаются для генерации кода.

Похожие примеры

Подробнее о