Класс: 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®.