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