Класс: hdlcoder. ReferenceDesign
Пакет: hdlcoder
Дескриптор функции для функции обратного вызова, которая выполняется перед заданием Set Target Interface в помощнике по рабочим процессам HDL
CustomizeReferenceDesignFcn
CustomizeReferenceDesignFcn регистрирует дескриптор функции обратного вызова, который выполняется перед заданием Set Target Interface в помощнике по рабочим процессам HDL. С помощью этой функции обратного вызова можно настроить Tcl-файл проекта блока, интерфейсы ссылочного проекта, свойства интерфейса ссылочного проекта и репозитории IP-адресов в ссылочном проекте.
Совет
Перед использованием функции обратного вызова в разделе plugin_rd.m , необходимо определить ссылочный параметр конструкции с помощью addParameter способ hdlcoder.ReferenceDesign класс.
Если hRD - ссылочный объект конструкции, который создается с помощью hdlcoder.ReferenceDesign , затем используйте этот синтаксис для регистрации дескриптора функции.
hRD.CustomizeReferenceDesignFcn = @my_reference_design.customcallback_aximaster;
Чтобы определить функцию обратного вызова, создайте файл, определяющий функцию MATLAB ®, и добавьте ее в путь MATLAB. Для функции обратного вызова можно использовать любое имя. В этом примере имя функции: customcallback_aximaster, и находится в папке пакета ссылочного проекта +my_reference_design.
Например, Вы можете определить, хотите ли Вы Владельца AXI4 или AXI4 только справочный дизайн. В plugin_rd.m файл, используйте addParameter для указания различных вариантов параметров в качестве раскрывающегося списка.
% ... % Parameter For calling AXI4 master interface from Callback function hRD.addParameter('ParameterID', 'interface_name', ... 'DisplayName', 'Reference_design_interface_name', ... 'DefaultValue', 'AXI4 Master',... 'ParameterType', hdlcoder.ParameterType.Dropdown, ... 'Choice', {'AXI4 Master','AXI4 Only'}); hRD.CustomizeReferenceDesignFcn = @my_reference_design.customcallback_aximaster; % ...
В функции обратного вызова можно динамически изменять ссылочные интерфейсы проектирования в зависимости от типов интерфейсов. При создании функции обратного вызова передайте infoStruct аргумент функции. Аргумент содержит ссылочную конструкцию и информацию о плате в structure формат.
% Callback function to control AXI Master and AXI4 interface information dynamically function customcallback_aximaster(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 % infoStruct.ReferenceDesignToolVersion: Reference design Tool Version set in 1.2 Task hRD = infoStruct.ReferenceDesignObject; paramStruct = infoStruct.ParameterStruct; interface_name = paramStruct.interface_name; if strcmp(interface_name, 'AXI4 Only') hRD.addAXI4SlaveInterface( ... 'InterfaceConnection', 'axi_interconnect_2/M01_AXI', ... 'BaseAddress', '0x00000000', ... 'MasterAddressSpace', 'hdlverifier_axi_master_0/axi4m', ... 'InterfaceType', 'AXI4'); % To validate IP repository and AXI4 master interface signals elseif strcmp(interface_name,'AXI4 Master') hRD.addAXI4SlaveInterface( ... 'InterfaceConnection', 'axi_interconnect_2/M01_AXI', ... 'BaseAddress', '0x00000000', ... 'MasterAddressSpace', 'hdlverifier_axi_master_0/axi4m', ... 'InterfaceType', 'AXI4'); hRD.addAXI4MasterInterface(... 'InterfaceID', 'AXI4 Master', ... 'ReadSupport', true, ... 'WriteSupport', true, ... 'MaxDataWidth', 128, ... 'AddrWidth', 32, ... 'DefaultReadBaseAddr', hex2dec('40000000'), ... 'DefaultWriteBaseAddr', hex2dec('41000000'), ... 'InterfaceConnection', 'axi_interconnect_1/S01_AXI',... 'TargetAddressSegments', {{'mig_7series_0/memmap/memaddr',hex2dec('40000000'),hex2dec('40000000')}}) end end
При выборе пользовательской ссылочной конструкции, которую требуется настроить для целевой платы, в помощнике по рабочим процессам HDL в задаче Задать целевую ссылочную конструкцию (Set Target Reference Design) Coder™ HDL заполняет ссылочные параметры конструкции. В зависимости от выбора параметров, например, указанных типов интерфейса, вычисляется функция обратного вызова. После выполнения этой задачи при выборе задачи Set Target Interface целевые интерфейсы заполняются в таблице Target platform interface.