Импорт кода Verilog и генерация модели Simulink

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

Импорт HDL

Генерация кода туда и обратно с импортом HDL не рекомендуется. Не используйте HDL-импорт для импорта HDL-кода, который ранее был сгенерирован из модели Simulink с помощью программного обеспечения HDL Coder™. Созданная вами модель Simulink обычно находится на более высоком уровне абстракции. Модель, сгенерированная импортом HDL, может быть на более низком уровне абстракции. HDL-код, который вы генерируете из этой модели, может не использоваться для производственного кода.

Чтобы сгенерировать производственный HDL-код, разработайте свой алгоритм с помощью блоков Simulink, MATLAB® код, или Stateflow® чарты. Затем используйте HDL Coder для генерации кода.

Требования к импорту HDL

Чтобы сгенерировать модель Simulink, убедитесь, что HDL- файла, который вы импортируете:

  • Не содержит синтаксических ошибок.

  • Синтезируемый.

  • Использует поддерживаемый Verilog® конструкции для импорта.

Как импортировать HDL-код

Чтобы импортировать HDL-код, в Командном окне MATLAB, запустите importhdl функция. Например, чтобы импортировать файл Verilog example.v, в командной строке введите:

importhdl('example.v')
Функция анализирует HDL-входной файл, который вы указали, и генерирует соответствующую модель Simulink, и предоставляет ссылку, чтобы открыть модель.

Конструкции, которые вы используете в HDL-коде, могут вывести простые блоки Simulink, такие как Add и Product в блоки оперативной памяти, такие как Dual Rate Dual Port RAM. Для примеров, которые иллюстрируют различные модели Simulink, которые выводятся, см. importhdl.

Расположение модели

Сгенерированная модель Simulink названа в честь верхнего модуля в вход HDL- файла, который вы задаете. Модель сохранена в hdlimport/TopModule путь относительно текущей рабочей папки. Для примера, если вы вводите файл с именем bitselectlhs.v в importhdl функция, которая имеет bitselect как имя верхнего модуля сгенерированная модель Simulink имеет имя bitselect.slx, и сохраняется в hdlimport/bitselect путь относительно текущей папки.

Ошибки и предупреждения

Когда вы запускаете importhdl function, HDL импорт проверяет синтаксис и семантику входного HDL-кода. Семантическая верификация для конструкций экземпляра модуля, неиспользованных портов в определении модуля, списка чувствительности always блок, и так далее. Если импорт HDL прекращается, importhdl содержит сообщение об ошибке и ссылку на имя файла и номер линии.

Для примера рассмотрим этот код Verilog для bitselect модуль:

Когда вы запускаете importhdl функция, HDL импорт генерирует сообщение об ошибке:

Parser Error: bitselectlhs.v:6:2: error: Syntax Error near '['..

Сообщение об ошибке указывает на наличие синтаксической ошибки в линии 6. Чтобы исправить эту ошибку, измените синтаксис на оператор назначения.

assign c[0] = 0;

Ограничения импорта Verilog HDL

Импорт HDL не поддерживает:

  • Импорт файлов VHDL.

  • Импорт файлов Verilog из папки только для чтения.

  • Генерация файлов предварительной обработки в файловой системе только для чтения, которая анализирует HDL-код, который вы вводите в importhdl функция.

  • Образцы атрибутов и комментарии, которые игнорируются.

  • (#) значения задержки, такие как #25, которые игнорируются.

  • Типы данных перечисления.

  • Более одного тактового сигнала.

  • Модули, которые являются многоразовыми.

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

  • Multiport Switch вывод с более чем 1024 входы. Если вы задаете больше 1024 входы в блок Multiport Switch, который выводится из кода Verilog, импорт Verilog генерирует ошибку. Ошибка генерируется, потому что окружение моделирования Simulink не поддерживает больше 1024 входы для блока.

  • Обнаружение ПЗУ из кода Verilog.

  • Импорт HDL- файлов, которые используют неподдерживаемые конструкции Verilog. Смотрите Поддерживаемые конструкции Verilog для импорта HDL.

  • Импорт HDL- файлов, которые используют неподдерживаемые шаблоны моделирования dataflow. См. «Неподдерживаемые шаблоны данных Verilog».

См. также

Функции

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

Подробнее о