Поддерживаемые построения Verilog для импорта HDL
Используйте HDL import, чтобы импортировать синтезируемый HDL-код в среду моделирования Simulink®. Чтобы импортировать HDL-код, используйте importhdl функция. Убедитесь, что построения, используемые в HDL-коде, поддерживаются импортом HDL.
Эти таблицы приводят поддерживаемые построения Verilog®, которые можно использовать, когда вы импортируете свой HDL-код. Если вы используете неподдерживаемое построение, импорт HDL генерирует ошибку при парсинге файла входа HDL. Импорт HDL Verilog может иногда игнорировать присутствие определенных построений в HDL-коде. Чтобы узнать больше, смотрите раздел Comments таблицы.
Определение модуля и инстанцирования
| Построения Verilog | Поддерживаемый? | Комментарии |
|---|
| Объявление библиотеки | Нет | – |
| Объявление настройки | Нет | – |
| Объявление модуля | Да | Несколько частот дискретизации и несколько входных параметров часов не поддерживаются. |
| Список портов параметра модуля | Да | – |
| Объявления порта | Да | Порты INOUT не поддерживаются. |
| Модуль без портов | Нет | – |
| Локальное объявление параметра | Да | – |
| Объявление параметра | Да | Можно использовать параметры и константы, которые имеют максимальный размер 64 биты. По умолчанию размером параметра является 32 биты. |
| Инстанцирование модуля | Да |
Неподключенные порты в инстанцированных модулях удалены при импорте кода Verilog. Рекурсивное инстанцирование модуля не поддерживается. Вместо этого если ваш главный модуль инстанцирует модулей, которые заданы в рекурсивных подпапках, importhdl синтаксические анализы все файлы Verilog. Например, в этом рисунке, importhdl может проанализировать оба DFF_Instantiation.v и TFF_Instantiation.v это инстанцируют в DFF.v.
|
Типы данных и векторы
| Построения Verilog | Поддерживаемый? | Комментарии |
|---|
| Сетевое объявление (Провод, Supply0, Supply1) | Да | – |
| Действительное объявление | Нет | – |
| Представьте объявление в виде строки | Нет | – |
| Векторное объявление | Да | – |
| Поддержка массивов и индексация массива | Да | – |
| Объявление Реджа | Да | – |
| Целочисленное объявление | Да | – |
Идентификаторы и комментарии
| Построения Verilog | Поддерживаемый? | Комментарии |
|---|
| Лексические лексемы (Пробел, оператор, комментарий) | Да | – |
| Идентификаторы (простой, оставленный) | Да | – |
| Системные функции ($signed, $unsigned) | Да | – |
| Припишите экземпляры | Нет | Импорт HDL игнорирует эти построения. |
| Комментарии | Нет | Импорт HDL игнорирует эти построения. |
| Числа (Десятичное число, двоичный файл, шестнадцатеричный, и восьмеричный) | Да | – |
| Директивы компилятора ('задают', undef, 'ifndef', еще если), | Да | – |
Присвоения
| Построения Verilog | Поддерживаемый? | Комментарии |
|---|
| Непрерывное присвоение | Да | – |
| Блокирование присвоения | Да | -- |
| Неблокирование присвоения | Да | – |
Процедурное присвоение (Always блокируйтесь), | Да | – |
Операторы
| Построения Verilog | Поддерживаемый? | Комментарии |
|---|
| Арифметические операторы (+, - *, **,/, <<<>>,>) | Да | – |
| Логические операторы (<<>>!, &&, | |, ==!=) | Да | – |
| Операторы отношения (>, <> =, <=, ==!=) | Да | – |
| Побитовые операторы (~, &, |, ^, ~ ^, ^ ~) | Да | – |
| Унарные операторы (+,-) | Да | Поддерживаемый для ограниченных типов данных |
| Операторы степени | Да | Поддерживаемый для ограниченных типов данных |
| Условные операторы (?:) | Да | – |
| Конкатенация | Да | – |
| Битный выбор | Да | – |
| Операторы сокращения (&, ~ &, |, ~ |, ^, ~ ^ или ^ ~) | Да | – |
Для примера, который иллюстрирует, как использовать различные операторы, смотрите, Генерируют Модель Simulink из Кода Verilog для Различных Операторов.
Условные операторы и инструкции цикла
| Построения Verilog | Поддерживаемый? | Комментарии |
|---|
| Если еще оператор | Да | – |
| Условные операторы (?:) | Да | – |
| Цикл for | Да | – |
| Цикл Генерирует построение | Да | Цикл поддержек генерирует построения, которые генерирует такой что касается - случай - генерируют, и если - генерируют построения. |
| Условное выражение Генерирует построение | Нет | – |
| Сгенерируйте область | Нет | – |
| Объявление Genvar | Нет | – |
| Оператор выбора | Да | casex и операторы случаев также поддерживаются. |
Процедурные блоки и События
| Построения Verilog | Поддерживаемый? | Комментарии |
|---|
| Объявление задачи | Нет | – |
| Начальное построение (моделирование ROM) | Нет | – |
| Последовательные блоки | Да | – |
| Блокируйте объявления | Да | – |
| Событие проверяет утверждения | Да | – |
| Вызовы функции | Да | Импорт HDL не поддерживает вызовы рекурсивной функции. |
| Задача включает | Нет | – |
Always создать | Да | – |
| Объявление функции | Да | – |
Другие построения
| Построения Verilog | Поддерживаемый? | Комментарии |
|---|
| Пропустите инстанцирование | Нет | – |
| Specparams | Нет | – |
| Блок Specify | Нет | – |
| Семантическая верификация (неиспользуемые порты, откорректируйте инстанцирование модуля), | Да | – |
| Синхронизируйте идентификацию пакета | Да | Несколько частот дискретизации и несколько сигналов часов не поддерживаются. |
| Укажите вывод | Да | – |
| Вывод блока Compare to Constant | Да | – |
| Вывод блока Gain | Да | – |
| Вывод RAM | Да | – |
| Вывод ROM | Нет | – |
| Встречный вывод | Нет | – |
| Управляйте силой | Нет | – |
Смотрите также
Функции
Связанные примеры
Больше о