exponenta event banner

hdl. BlackBox

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

Описание

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

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

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

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

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

  1. Создать hdl.BlackBox и задайте его свойства.

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

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

Примечание

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

Создание

Синтаксис

Описание

Создание объекта System, наследующего от hdl.BlackBox для создания черного ящика для создания кода HDL. См. раздел Интеграция пользовательского кода HDL в MATLAB Design.

Свойства

развернуть все

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

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

Дополнительные сведения об изменении значений свойств см. в разделе Проектирование системы в MATLAB с использованием системных объектов.

Примечание

Нельзя явно указывать сигналы синхронизации, сброса и включения синхронизации в модели Simulink ® с помощью свойств AddClockEnurePort, AddClockPort и AddResetPort. Вместо этого используйте эти свойства для добавления порта синхронизации, сброса или включения синхронизации в сгенерированный код HDL.

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

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

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

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

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

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

Имя объекта VHDL ® или модуля Verilog ®, сгенерированное для системного объекта «черный ящик», указанного как вектор символов.

Пример: 'myBlackBoxName'

Задержка объекта black box System в тактовых циклах, заданная как целое число.

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

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

Когда 'on', создайте конфигурацию VHDL.

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

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

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

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

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

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

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

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

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

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

release(obj)

развернуть все

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

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

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

Представлен в R2015a