PostTargetInterfaceFcn

Класс: hdlcoder.ReferenceDesign
Пакет: hdlcoder

Указатель на функцию для функции обратного вызова, которая выполняется после Поставившей Целевой Интерфейсной задачи в HDL Workflow Advisor

Синтаксис

PostTargetInterfaceFcn

Описание

PostTargetInterfaceFcn указывает указатель на функцию для функции обратного вызова, которая называется в конце задачи Set Target Interface в HDL Workflow Advisor. Если hRD объект исходного проекта, что вы создаете с hdlcoder.ReferenceDesign класс, затем используйте этот синтаксис, чтобы указать указатель на функцию.

hRD.PostTargetInterfaceFcn = @my_reference_design.callback_PostTargetInterface;

Чтобы задать вашу функцию обратного вызова, создайте файл, который задает MATLAB® функционируйте и добавьте его в свой путь MATLAB. Можно использовать любое имя для функции обратного вызова. В этом примере именем функции является callback_PostTargetInterface, и расположен в папке +my_reference_design пакета исходного проекта.

С этой функцией обратного вызова можно включить пользовательские валидации. Этот пример кода показывает, как создать функцию обратного вызова. Если пользовательский параметр DUTPath установлен в Rx, функция подтверждает это, исходный проект не поддерживает LEDs General Purpose [0:7] интерфейс.

function callback_PostTargetInterface(infoStruct)
% Reference design callback run at the end of the task Set Target Interface
%
% infoStruct: information in structure format
% infoStruct.ReferenceDesignObject: current reference design registration object
% infoStruct.BoardObject: current board registration object
% infoStruct.ParameterStruct: custom parameters of the current reference design, in struct format
% infoStruct.HDLModelDutPath: the block path to the HDL DUT subsystem
% infoStruct.ProcessorFPGASynchronization: Processor/FPGA synchronization mode
% infoStruct.InterfaceStructCell: target interface table information
%                                 a cell array of structure, for example:
%                                 infoStruct.InterfaceStructCell{1}.PortName
%                                 infoStruct.InterfaceStructCell{1}.PortType
%                                 infoStruct.InterfaceStructCell{1}.DataType
%                                 infoStruct.InterfaceStructCell{1}.IOInterface
%                                 infoStruct.InterfaceStructCell{1}.IOInterfaceMapping


hRD = infoStruct.ReferenceDesignObject;
refDesignName = hRD.ReferenceDesignName;

% validate that when specific parameter is set to specific value, reference
% design does not support specific interface
paramStruct = infoStruct.ParameterStruct;
interfaceStructCell = infoStruct.InterfaceStructCell;
for ii = 1:length(interfaceStructCell)
    interfaceStruct = interfaceStructCell{ii};
    if strcmp(paramStruct.DutPath, 'Rx') && ...
            strcmp(interfaceStruct.IOInterface, 'LEDs General Purpose [0:7]')
        error('LEDs General Purpose [0:7] must not be used when the DUT path is Rx');
    end
end
end


В HDL Workflow Advisor, когда HDL Coder™ запускает задачу Set Target Interface, он выполняет функцию обратного вызова в конце задачи. Если вы задаете Rx как DUT Path и использование LEDs General Purpose [0:7] взаимодействуйте через интерфейс для своего порта DUT, кодер генерирует ошибку.

Когда вы создаете функцию обратного вызова, передаете infoStruct аргумент к функции. Аргумент содержит исходный проект и информацию о плате в structure формат. Используйте эту информацию, чтобы включить пользовательские валидации на DUT в вашем Simulink® модель.

Введенный в R2017b