Поддерживаемые конструкции Verilog для импорта HDL

Используйте HDL import для импорта синтезируемого HDL-кода в Simulink® окружение моделирования. Для импорта HDL-кода используйте importhdl функция. Убедитесь, что конструкции, используемые в HDL-коде, поддерживаются импортом HDL.

В этих таблицах перечислены поддерживаемые Verilog® конструкции, которые можно использовать при импорте HDL-кода. Если вы используете неподдерживаемую конструкцию, импорт HDL генерирует ошибку при анализе входа HDL- файла. Импорт Verilog HDL может иногда игнорировать наличие определенных конструкций в HDL-коде. Для получения дополнительной информации см. раздел «Комментарии» таблицы.

Определение модулей и экземпляры

Конструкции VerilogПоддерживается?Комментарии
Декларация библиотекиНет
Декларация строенияНет
Объявление модуляДаМножественные частоты дискретизации и входные входы нескольких синхроимпульсов не поддерживаются.
Список портов параметров модуляДа
Объявления портовДаПорты INOUT не поддерживаются.
Модуль без портовНет
Объявление локального параметраДа
Объявление параметраДаМожно использовать параметры и константы, которые имеют максимальный размер 64 биты. По умолчанию размер параметра 32 биты.
Экземпляр модуляДа
  • Несвязанные порты в экземплярах модулей удаляются при импорте кода Verilog.

  • Создание экземпляров рекурсивных модулей не поддерживается.

    Вместо этого, если ваш верхний модуль создает экземпляры модулей, которые определены в рекурсивных подпапках, importhdl анализирует все файлы Verilog. Для примера, на этом рисунке, importhdl можно проанализировать оба DFF_Instantiation.v и TFF_Instantiation.v экземпляры которых созданы в DFF.v.

    Folder structure containing subfolders.

Типы данных и векторы

Конструкции VerilogПоддерживается?Комментарии
Объявление нетто (провод, Supply0, Supply1)Да
Реальная декларацияНет
Объявление строкиНет
Векторное объявлениеДа
Поддержка массивов и индексация массивовДа
Декларация RegДа
Целочисленное объявлениеДа

Идентификаторы и комментарии

Конструкции VerilogПоддерживается?Комментарии
Лексические лексемы (пробел, оператор, комментарий)Да
Идентификаторы (Простой, Спасенный)Да
Функции системы ($ signed, $ unsigned)Да
Образцы атрибутовНетИмпорт HDL игнорирует эти конструкции.
КомментарииНетИмпорт HDL игнорирует эти конструкции.
Числа (десятичный, двоичный, шестнадцатеричный и октальный)Да
Директивы компилятора ('define,' undef, 'ifndef,' else if)Да

Назначения

Конструкции VerilogПоддерживается?Комментарии
Непрерывное назначениеДа
Назначение блокировкиДа--
Назначение без блокировкиДа
Процедурное назначение (Always блок)Да

Операторы

Конструкции VerilogПоддерживается?Комментарии
Арифметические операторы (+, -, *, * * ,/, < <, > >)Да
Логические операторы (< <, > >,!, &, | |, = =,! =)Да
Реляционные операторы (>, <, > =, < =, = =,! =)Да
Битовые операторы (~, &, |, ^, ~ ^, ^ ~)Да
Унарные операторы (+, -)ДаПоддерживается для ограниченных типов данных
СтепениДаПоддерживается для ограниченных типов данных
Условные операторы (?:)Да
КонкатенацияДа
Выбор битаДа
Операторы сокращения (&, ~ &, |, ~ |, ^, ~ ^ или ^ ~)Да

Для примера, который иллюстрирует, как использовать различные операторы, смотрите Сгенерировать модель Simulink из кода Verilog для различных операторов.

Условные и циклические операторы

Конструкции VerilogПоддерживается?Комментарии
Оператор if-elseДа
Условные операторы (?:)Да
Цикл forДа
Цикл Генерация конструкцииДаПоддерживает цикл, генерирует такие конструкции, как конструкции for-generate, case-generate и if-generate.
Условная конструкция генерацииНет
Сгенерируйте областьНет
Декларация ГенвараНет
Оператор о случаеДаподдерживаются также операторы казекса и казеса.

Процедурные блоки и события

Конструкции VerilogПоддерживается?Комментарии
Объявление задачиНет
Начальная конструкция (моделирование ПЗУ)Нет
Последовательные блокиДа
Объявления блоковДа
Операторы управления событиямиДа
Вызовы функцийДаИмпорт HDL не поддерживает рекурсивные вызовы функций.
Задача enableНет
Always конструкцияДа
Объявление функцииДа

Другие конструкции

Конструкции VerilogПоддерживается?Комментарии
Экземпляр затвораНет
SpecparamsНет
Задайте блокНет
Семантическая верификация (неиспользованные порты, правильная инстанция модуля)Да
Идентификация пакета синхроимпульсовДаНесколько частот дискретизации и несколько синхроимпульсов не поддерживаются.
Вывод регистраДа
Compare to Constant вывода блоковДа
Gain вывода блоковДа
Вывод ОЗУДа
Вывод ПЗУНет
Вывод счетчикаНет
Сила приводаНет

См. также

Функции

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

Подробнее о