PostTargetInterfaceFcn

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

Указатель на функцию обратного вызова, который выполняется после задачи Set Target Interface в 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® модель.

Введенный в R2016b