Указывать пользовательский исходный проект:
Задайте исходный проект.
Создайте плагин исходного проекта.
Задайте регистрационную функцию исходного проекта или добавьте новый плагин исходного проекта в существующую регистрационную функцию исходного проекта.
Определением исходного проекта должна быть функция 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