exponenta event banner

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

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

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

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

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

  • Экземпляр рекурсивного модуля не поддерживается.

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

    Folder structure containing subfolders.

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

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

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

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

Назначения

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

Операторы

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

Пример использования различных операторов см. в разделе Создание модели Simulink из кода Verilog для различных операторов.

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

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

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

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

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

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

См. также

Функции

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

Подробнее