Класс: hdlcoder. ReferenceDesign
Пакет: hdlcoder
Указатель на функцию для функции обратного вызова, которая выполняется после Целевой задачи Исходного проекта Набора в HDL Workflow Advisor
PostTargetReferenceDesignFcn
PostTargetReferenceDesignFcn
указывает указатель на функцию для функции обратного вызова, которая называется в конце задачи Set Target Reference Design в HDL Workflow Advisor. Если hRD
является объектом исходного проекта, который вы создаете с классом hdlcoder.ReferenceDesign
, используете этот синтаксис, чтобы указать указатель на функцию:
hRD.PostTargetReferenceDesignFcn = @my_reference_design.callback_PostTargetReferenceDesign
Чтобы задать вашу функцию обратного вызова, создайте файл, который задает MATLAB®, функционируют и добавляют его в ваш путь MATLAB. Можно использовать любое имя для функции обратного вызова. В этом примере имя функции является callback_PostTargetReferenceDesign
и расположено в папке +my_reference_design
пакета исходного проекта.
С функцией обратного вызова можно включить пользовательские валидации для проекта. Этот пример кода показывает, как создать функцию обратного вызова и подтвердить это, тип сброса синхронен.
function callback_PostTargetReferenceDesign(infoStruct) % Reference design callback run at the end of the task Set Target Reference Design % % 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 mdlName = bdroot(infoStruct.HDLModelDutPath); hRD = infoStruct.ReferenceDesignObject; refDesignName = hRD.ReferenceDesignName; isResetSync = strcmpi(hdlget_param(mdlName, 'ResetType'), 'Synchronous'); % Reset must be synchronous if ~isResetSync error('Invalid Reset type. Reset type must be synchronous'); end end
В HDL Workflow Advisor, когда HDL Coder™ запускает задачу Set Target Reference Design, он выполняет функцию обратного вызова. Если тип сброса не синхронен, кодер генерирует ошибку.
Когда вы создаете функцию обратного вызова, передаете аргумент infoStruct
функции. Аргумент содержит исходный проект и информацию о плате в формате structure
. Используйте эту информацию, чтобы включить пользовательские валидации на DUT в вашей модели Simulink®.