exponenta event banner

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

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

Автобусы

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

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

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

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

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

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

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

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

Шины не поддерживаются в IP Core Generation workflow-процесс. Кроме того, нельзя создавать код для проектов, использующих:

  • Ссылка модели «Черный ящик», подключенная к шине.

  • Вход шины в блок задержки с ненулевым начальным условием.

Перечисления

В проекте можно создать код для перечислений Simulink, MATLAB ® или Stateflow.

Требования

  • Значения перечисления должны монотонно увеличиваться.

  • Строки перечисления должны иметь уникальные имена и не должны использовать зарезервированное ключевое слово на языке Verilog ® или VHDL.

  • Если целевым языком является Verilog, все имена членов перечисления должны быть уникальными в конструкции.

Ограничения

Перечисления на портах DUT верхнего уровня не поддерживаются следующими рабочими процессами или методами проверки:

  • Рабочий процесс создания IP-ядра

  • FPGA Рабочий процесс под ключ

  • Рабочий процесс ввода-вывода FPGA в режиме реального времени Simulink

  • Настройка рабочего процесса устройства USRP

  • FPGA-в-контуре

  • Косимуляция ЛПВП

Матрицы

С этими блоками в проекте можно использовать типы матриц. Для получения дополнительной информации см. раздел «Создание кода HDL» на каждой странице блока.

Библиотека блоков кодеров HDLПоддерживаемые блоки

Неоднородности

Поддерживаются следующие блоки:

Дискретный

Поддерживаются следующие блоки:

Операции с плавающей точкой HDL

Поддерживается блок функции округления.

Операции ЛПВП

Поддерживаются все блоки в этой библиотеке.

RAM HDL

Блоки в этой библиотеке не поддерживаются.

Подсистемы ЛПВП

Блоки в этой библиотеке не поддерживаются.

Логические и битовые операции

Поддерживаются следующие блоки:

Таблицы подстановки

Блоки в этой библиотеке не поддерживаются.

Математические операции

Поддерживаются следующие блоки:

Проверка модели

Поддерживаются все блоки в этой библиотеке.

Утилиты для всей модели

Поддерживается DocBlock. Блок Информация о модели (Model Info) не поддерживает типы матричных данных.

Порты и подсистемы

Блок подсистемы поддерживается.

Атрибуты сигнала

Поддерживаются следующие блоки:

Маршрутизация сигналов

Поддерживаются следующие блоки:

Источники

Поддерживаются следующие блоки:

Сливы

Поддерживаются следующие блоки:

Пользовательские функцииПоддерживается функциональный блок MATLAB.

Генератор кода не поддерживает типы матриц на интерфейсах подсистемы, для которой создается код HDL. Блок изменения формы используется для преобразования ввода матрицы в массив 1-D в интерфейсе. В подсистеме используйте другой блок изменения формы, который преобразует массив 1-D обратно в тип матрицы с заданной размерностью.

Неподдерживаемые типы сигналов и данных

  • Массивы, хранящиеся в макете основной строки, не поддерживаются для генерации кода HDL

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

Связанные примеры

Подробнее