Используйте HDL import для импорта синтезируемого HDL-кода в Simulink® окружение моделирования. HDL import анализирует вход HDL- файла и генерирует модель Simulink. Модель является блоком окружения схемы, которая визуально представляет HDL-код с точки зрения функциональности и поведения. Импортировав HDL-код в Simulink, можно проверить функциональность HDL-кода, скомпилировав и запустив симуляцию на модели в среде симуляции на основе модели. Можно также отлаживать внутренние сигналы, регистрируя сигналы как тестовые точки.
Генерация кода туда и обратно с импортом HDL не рекомендуется. Не используйте HDL-импорт для импорта HDL-кода, который ранее был сгенерирован из модели Simulink с помощью программного обеспечения HDL Coder™. Созданная вами модель Simulink обычно находится на более высоком уровне абстракции. Модель, сгенерированная импортом HDL, может быть на более низком уровне абстракции. HDL-код, который вы генерируете из этой модели, может не использоваться для производственного кода.
Чтобы сгенерировать производственный HDL-код, разработайте свой алгоритм с помощью блоков Simulink, MATLAB® код, или Stateflow® чарты. Затем используйте HDL Coder для генерации кода.
Чтобы сгенерировать модель Simulink, убедитесь, что HDL- файла, который вы импортируете:
Не содержит синтаксических ошибок.
Синтезируемый.
Использует поддерживаемый Verilog® конструкции для импорта.
Чтобы импортировать HDL-код, в Командном окне MATLAB, запустите importhdl
функция. Например, чтобы импортировать файл Verilog example.v
, в командной строке введите:
importhdl('example.v')
Конструкции, которые вы используете в 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;
Импорт HDL не поддерживает:
Импорт файлов VHDL.
Импорт файлов Verilog из папки только для чтения.
Генерация файлов предварительной обработки в файловой системе только для чтения, которая анализирует HDL-код, который вы вводите в importhdl
функция.
Образцы атрибутов и комментарии, которые игнорируются.
(#) значения задержки, такие как #25
, которые игнорируются.
Типы данных перечисления.
Более одного тактового сигнала.
Модули, которые являются многоразовыми.
Создание экземпляров рекурсивных модулей.
Multiport Switch вывод с более чем 1024
входы. Если вы задаете больше 1024
входы в блок Multiport Switch, который выводится из кода Verilog, импорт Verilog генерирует ошибку. Ошибка генерируется, потому что окружение моделирования Simulink не поддерживает больше 1024
входы для блока.
Обнаружение ПЗУ из кода Verilog.
Импорт HDL- файлов, которые используют неподдерживаемые конструкции Verilog. Смотрите Поддерживаемые конструкции Verilog для импорта HDL.
Импорт HDL- файлов, которые используют неподдерживаемые шаблоны моделирования dataflow. См. «Неподдерживаемые шаблоны данных Verilog».