Чтобы зарегистрировать пользовательский исходный проект:
Задайте исходный проект.
Создайте плагин для исходного проекта.
Задайте функцию регистрации исходного проекта или добавьте новый плагин исходного проекта к существующей функции регистрации исходного проекта.
Определение исходного проекта должно быть 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, проекта и проекта.
Добавьте папку в путь MATLAB.
Функция регистрации исходного проекта содержит список исходного проекта функций и соответствующее имя платы. Вы должны назвать функцию hdlcoder_ref_design_customization.m
. Когда откроется HDL Workflow Advisor, он будет искать файлы с именем по пути 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