HDL Coder™ может сгенерировать код VHDL и Verilog из кода MATLAB®, моделей Simulink® и графиков Stateflow®. Можно затем проверить, что сгенерированный код совпадает исходным алгоритмом, и разверните его на целевом компьютере.
Прежде чем можно будет сгенерировать HDL-код, рекомендуется, чтобы вы проверили совместимость своего алгоритма, смоделированного в Simulink для генерации HDL-кода. Чтобы проверить совместимость модели, вы используете Средство проверки Модели HDL. Средство проверки Модели HDL проверяет и обновляет вашу модель Simulink или подсистему для совместимости с генерацией HDL-кода. Образцовое Средство проверки проверяет на настройки конфигурации модели, порты и настройки подсистемы, настройки блока, поддержку нативной плавающей точки и соответствие к правилам промышленного стандарта. Образцовое Средство проверки представляет отчет, который перечисляет субоптимальные условия или настройки, и затем предлагает лучшие настройки конфигурации модели.
Этот пример показывает, как можно обновить простую модель суммирующего счетчика для совместимости HDL. Чтобы узнать больше о встречном алгоритме и как можно создать эту модель, смотрите, Создают Модель Simulink для генерации HDL-кода.
Откройте эту модель, чтобы видеть простой суммирующий счетчик. Модель подсчитывает от нуля до порогового значения и затем переносится назад, чтобы обнулить. В этой модели пороговое значение установлено в 15
. Можно изменить пороговое значение путем изменения значения блока Constant, который вводится к порту count_threshold
. Разрешать сигнал задает, должен ли счетчик подсчитать или содержать предыдущее значение. Разрешать сигнал установлен в 1
, что означает, что счетчик рассчитывает вверх постоянно.
open_system('hdlcoder_simple_up_counter.slx') set_param('hdlcoder_simple_up_counter', 'SimulationCommand', 'Update')
Чтобы открыть Средство проверки Модели HDL, щелкните правой кнопкой по Subsystem, что вы хотите осуществить проверки и выбрать HDL Code> Check Model Compatibility.
Вы открываете Средство проверки Модели HDL и затем осуществляете проверки для Подсистемы DUT, для которой вы хотите сгенерировать код. Модель верхнего уровня может содержать блоки, которые не совместимы для генерации HDL-кода. Выполнение Средства проверки Модели HDL для целой модели может отметить эти блоки и вашу модель как несовместимые для генерации HDL-кода.
В Средстве проверки Модели HDL левая панель перечисляет папки в иерархии. Каждая папка представляет группу или категорию связанных проверок. Расширение папок показывает доступные регистрации каждой папки. От левой панели можно выбрать папку или отдельную проверку. Средство проверки Модели HDL отображает информацию о выбранной папке или регистрации правой панели. Содержимое правой панели зависит от выбранной папки или проверки. Правая панель имеет подпанель Result, которая содержит область отображения для сообщений о состоянии и других результатов задачи.
Чтобы узнать больше о каждой отдельной проверке, щелкните правой кнопкой по той проверке и выберите What's This?.
В окне HDL Model Checker можно осуществить отдельные проверки или группу проверок. Осуществлять проверку, Select, которые проверяют и затем нажимают Run This Check. Например, чтобы запустить Check for safe model parameters, установите флажок, и затем нажмите Run This Check.
В окне HDL Model Checker можно осуществить группу проверок в папке.
Выберите проверки, которые вы хотите осуществить.
Выберите папку, которая содержит эти проверки, и затем нажмите Run Selected Checks.
Этот пример показывает, как запустить выбранные регистрации папки Model configuration checks.
При помощи этого подхода, для вашей встречной модели, запускают все регистрации этих папок:
Model Configuration checks
Checks for ports and subsystems
Checks for blocks and block settings
В данном примере вы не должны запускать регистрации папок Native Floating Point checks и Industry standard checks. Чтобы узнать больше об этих проверках, смотрите Образцовые Регистрации HDL Coder.
Для встречной модели проверки отображают результаты как Passed, что означает, что модель совместима для генерации HDL-кода.
В Средстве проверки Модели HDL, если проверка перестала работать, правая панель показывает информацию о предупреждении или отказе в подпанели Result. Подпанель Result отображает образцовые настройки, которые несовместимы. Для некоторых задач используйте подпанель Action, чтобы применить Образцовое Средство проверки, рекомендуемое настройки.
Например, в Подсистеме HDL_DUT, полагайте, что вы удаляете порт Enable
и заменяете этот порт на вход Constant, который имеет значение 1
.
Теперь, если вы осуществляете проверку Check for infinite and continuous sample time sources, Средство проверки Модели HDL выводит это предупреждение.
Чтобы применить правильные настройки конфигурации модели что генератор кода, о котором сообщают в подпанели Result, нажмите кнопку Modify Settings. После того, как вы нажимаете Modify Settings, подпанель Result сообщает об изменениях, которые были применены. В этом примере Sample time блока Constant сбрасывается к -1
. Можно теперь осуществить эту проверку.
Если вы ссылаетесь на одну модель в другом при помощи блока Model, Средство проверки Модели HDL проверяет настройки модели или настройки родительской модели. Чтобы проверять, совместима ли модель, на которую ссылаются, с генерацией HDL-кода, откройте Средство проверки Модели HDL для модели, на которую ссылаются, и затем осуществите проверки.
Если вы осуществляете проверки блоков библиотеки маскированных в вашей модели Simulink, Образцовое Средство проверки не может проверить, имеют ли блоки в блоках библиотеки совместимые с HDL настройки.
Когда вы применяете проверки Model Advisor к своей модели, она увеличивает вероятность, что ваша модель не нарушает определенные стандарты моделирования или инструкции. Однако это не гарантирует, что проект готов к генерации HDL-кода. Убедитесь, что вы проверяете проект при помощи нескольких методов для готовности генерации HDL-кода.
Встречная модель теперь совместима для генерации HDL-кода. Можно сгенерировать HDL-код для Подсистемы HDL_DUT, которая содержит встречный алгоритм. Чтобы изучить, как сгенерировать код, смотрите, Генерируют HDL-код из Модели Simulink.
checkhdl
| hdlmodelchecker
| hdlsetup