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