hdl.BlackBox

Черный ящик для включения пользовательского HDL-кода

Описание

hdl.BlackBox предоставляет способ включения пользовательского HDL-кода, такого как устаревший или рукописный HDL-код, в MATLAB® проект, предназначенный для генерации HDL-кода.

Когда вы создаете пользовательскую Системную object™, которая наследует от hdl.BlackBox, вы задаете интерфейс порта и поведение симуляции, соответствующее вашему пользовательскому HDL-коду.

HDL Coder™ моделирует проект в MATLAB с помощью поведения, заданного в системном объекте. Во время генерации кода, вместо генерации кода для поведения симуляции, кодер создает экземпляр модуля с интерфейсом порта, заданным в системном объекте.

Чтобы использовать сгенерированный HDL-код в большей системе, вы включаете пользовательские исходные файлы HDL в остальную часть сгенерированного кода.

Для включения пользовательского HDL-кода:

  1. Создайте hdl.BlackBox Объекту и установите его свойства.

  2. Вызывайте объект с аргументами, как будто это функция.

Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».

Примечание

Начиная с R2016b, вместо использования step метод для выполнения операции, заданной системным объектом, можно вызвать объект с аргументами, как если бы это была функция. Для примера, y = step(obj,x) и y = obj(x) выполнять эквивалентные операции.

Создание

Синтаксис

Описание

Создайте системный объект, который наследует от hdl.BlackBox для создания черного ящика для генерации HDL-кода. См. «Интеграция пользовательского HDL-кода с Проект».

Свойства

расширить все

Если не указано иное, свойства являются нетронутыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируются, когда вы вызываете их, и release функция разблокирует их.

Если свойство настраивается, можно изменить его значение в любой момент.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Использование Системных объектов.

Примечание

Вы не можете явным образом задать сигналы времени, сброса и включения синхроимпульса в Simulink® модели с использованием AddClockEnablePort, AddClockPort и AddResetPort свойств. Вместо этого используйте эти свойства для добавления порта clock, reset или clock enable в сгенерированный HDL-код.

Если 'on'добавьте порт входа включения синхроимпульса к интерфейсу, сгенерированному для Системного объекта черного ящика. Имя порта определяется ClockEnableInputPort.

Если 'on'добавьте порт входа синхросигнала к интерфейсу, сгенерированному для Системного объекта черного ящика. Имя порта определяется ClockInputPort.

Если 'on'добавьте порт входа сброса к интерфейсу, сгенерированному для Системного объекта черного ящика. Имя порта определяется ResetInputPort.

Если 'on', разрешить HDL Coder перемещать регистры через Системный объект черного ящика, от входа до выхода или вывода на вход.

HDL- имени для включения синхроимпульса входа порта, заданный как вектор символов.

HDL- имени для входного порта синхроимпульса, заданный как вектор символов.

VHDL® сущность или Verilog® имя модуля, сгенерированное для Системного объекта черного ящика, задается как вектор символов.

Пример: 'myBlackBoxName'

Задержка Системного объекта черного ящика в тактах, заданная как целое число.

Если 0 или больше, это значение используется для балансировки задержки.

Если -1, задержка неизвестна. Это отключает балансировку задержки.

Когда 'on', сгенерируйте строение VHDL.

Когда 'off', не генерируйте строение VHDL и требуйте внешнего строения, поставляемого пользователем. Установите значение 'off' при создании собственного строения VHDL.

Количество входных этапов трубопровода или глубина трубопровода для вставки в сгенерированный код.

Количество выходных этапов конвейера или глубина выходного конвейера для вставки в сгенерированный код.

HDL- имени для сброса входного порта, заданный как вектор символов.

Имя архитектуры VHDL, заданное как вектор символов. Имя архитектуры кодер генерирует только в том случае, если InlineConfigurations является 'on'.

Библиотека, из которой загружается компонент VHDL, заданный как вектор символов.

Количество дополнительных входных портов в пользовательском HDL-коде, заданное в виде положительного целого числа.

Количество дополнительных выходных портов в пользовательском HDL-коде, заданное в виде положительного целого числа.

Функции объекта

Чтобы использовать функцию объекта, задайте системный объект в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj, используйте следующий синтаксис:

release(obj)

расширить все

stepЗапуск алгоритма системного объекта
releaseОтпустите ресурсы и допустите изменения в значениях свойств системного объекта и входных характеристиках
resetСброс внутренних состояний Системного объекта

Расширенные возможности

Генерация HDL-кода
Сгенерируйте Verilog и VHDL код для FPGA и ASIC проектов с использованием HDL- Coder™.

Введенный в R2015a