Чтобы зарегистрировать пользовательскую ссылочную конструкцию, выполните следующие действия.
Определите ссылочную конструкцию.
Создайте подключаемый модуль ссылочного проекта.
Определите функцию регистрации ссылочного проекта или добавьте новый подключаемый модуль ссылочного проекта к существующей функции регистрации ссылочного проекта.
Определение ссылочной конструкции должно быть функцией MATLAB ®, которая возвращает hdlcoder.ReferenceDesign объект. Создайте функцию определения ссылочного проекта в папке подключаемого модуля ссылочного проекта. Для функции определения ссылочного проекта можно использовать любое имя.
Чтобы создать определение ссылочной конструкции, выполните следующие действия.
Создайте новый файл, определяющий функцию MATLAB с любым именем.
В функции MATLAB создайте hdlcoder.ReferenceDesign и укажите его свойства и интерфейсы в соответствии с характеристиками проекта встраиваемой системы.
Если необходимо проверить, что определение завершено, выполните команду validateReferenceDesign способ.
Эта функция MATLAB определяет пользовательскую ссылочную конструкцию:
function hRD = plugin_rd() % Reference design definition % Construct reference design object hRD = hdlcoder.ReferenceDesign('SynthesisTool', 'Xilinx Vivado'); hRD.ReferenceDesignName = 'Demo system (Vivado 2014.2)'; hRD.BoardName = 'Digilent Zynq ZyBo'; % Tool information % It is recommended to use a tool version that is compatible with the supported tool % version. If you choose a different tool version, it is possible that HDL Coder is % unable to create the reference design project for IP core integration. hRD.SupportedToolVersion = {'2015.4'}; %% Add custom design files % add custom Vivado design hRD.addCustomVivadoDesign( ... 'CustomBlockDesignTcl', 'design_led.tcl'); hRD.CustomFiles = {'ZYBO_zynq_def.xml'}; %% Add interfaces % add clock interface hRD.addClockInterface( ... 'ClockConnection', 'clk_wiz_0/clk_out1', ... 'ResetConnection', 'proc_sys_reset_0/peripheral_aresetn'); % add AXI4 and AXI4-Lite slave interfaces hRD.addAXI4SlaveInterface( ... 'InterfaceConnection', 'axi_interconnect_0/M00_AXI', ... 'BaseAddress', '0x40010000', ... 'MasterAddressSpace', 'processing_system7_0/Data');
По умолчанию HDL Coder™ генерирует ядро IP с настройками по умолчанию и интегрирует его в ссылочный проектный проект. Чтобы настроить эти параметры по умолчанию, используйте свойства в hdlcoder.ReferenceDesign объект для определения пользовательских параметров и регистрации дескриптора функции пользовательских функций обратного вызова. Дополнительные сведения см. в разделе Определение пользовательских параметров и функций обратного вызова для пользовательского ссылочного проекта.
Подключаемый модуль эталонного дизайна - это папка пакета, определяемая по пути MATLAB. Папка содержит файл определения платы и все пользовательские функции обратного вызова.
Чтобы создать подключаемый модуль эталонного дизайна, выполните следующие действия.
В папке подключаемого модуля платы для связанной платы создайте новую папку с именем + префикс.
Например, подключаемый модуль эталонного дизайна может быть папкой с именем +vivado_base_ref_design.
В новой папке сохраните файл определения ссылочного проекта и все созданные пользовательские функции обратного вызова.
В новой папке сохраните все файлы, необходимые для проекта проектирования встраиваемой системы и относящиеся к стороннему средству синтеза, включая файлы Tcl, project и design.
Добавьте папку к пути MATLAB.
Функция регистрации ссылочной конструкции содержит список ссылочных функций конструкции и соответствующее имя платы. Необходимо назвать функцию hdlcoder_ref_design_customization.m. При открытии помощника по рабочим процессам HDL поиск файлов по пути MATLAB hdlcoder_ref_design_customization.mи использует информацию для заполнения ссылочных вариантов конструкции для каждой платы.
Для определения функции регистрации ссылочного проекта:
Создание файла с именем hdlcoder_ref_design_customization.m и сохраните его в любом месте пути MATLAB.
В hdlcoder_board_customization.m, определите функцию, возвращающую имя связанной платы, указанное как символьный вектор, и список эталонных плагинов проектирования, заданный как массив ячеек символьных векторов.
Например, следующий код определяет функцию регистрации ссылочной конструкции.
function [rd, boardName] = hdlcoder_ref_design_customization % Reference design plugin registration file rd = {'ZyBoRegistration.Vivado2015_4.plugin_rd', ... }; boardName = 'Digilent Zynq ZyBo'; end
Функция регистрации ссылочного проекта возвращает соответствующее имя платы, указанное как символьный вектор, и список ссылочных проектных плагинов, заданных как массив ячеек символьных векторов.
hdlcoder.Board | hdlcoder.ReferenceDesign