Импорт HDL используется для импорта синтезируемого кода HDL в среду моделирования Simulink ®. Для импорта кода HDL используйте importhdl функция. Убедитесь, что конструкции, используемые в коде HDL, поддерживаются импортом HDL.
В этих таблицах перечислены поддерживаемые конструкции Verilog ®, которые можно использовать при импорте кода HDL. Если используется неподдерживаемая конструкция, при импорте HDL возникает ошибка при анализе входного файла HDL. Импорт HDL Verilog иногда может игнорировать наличие определенных конструкций в коде HDL. Дополнительные сведения см. в разделе «Комментарии» таблицы.
| Конструкции Verilog | Поддерживается? | Комментарии |
|---|---|---|
| Декларация библиотеки | Нет | – |
| Объявление конфигурации | Нет | – |
| Объявление модуля | Да | Множественные частоты дискретизации и множественные входные синхросигналы не поддерживаются. |
| Список портов параметров модуля | Да | – |
| Объявления портов | Да | Порты INOUT не поддерживаются. |
| Модуль без портов | Нет | – |
| Объявление локального параметра | Да | – |
| Объявление параметра | Да | Можно использовать параметры и константы с максимальным размером 64 биты. По умолчанию размер параметра равен 32 биты. |
| Создание экземпляра модуля | Да |
|
| Конструкции 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 | Нет | – |
| Указать блок | Нет | – |
| Семантическая проверка (неиспользуемые порты, правильный экземпляр модуля) | Да | – |
| Идентификация пучка синхросигналов | Да | Множественные частоты дискретизации и множественные тактовые сигналы не поддерживаются. |
| Вывод регистра | Да | – |
| Сравнение с выводом блока константы | Да | – |
| Вывод блока усиления | Да | – |
| Вывод ОЗУ | Да | – |
| Вывод ПЗУ | Нет | – |
| Вывод счетчика | Нет | – |
| Прочность привода | Нет | – |