定义定制的董事会和参考设计Zynq工作流
这个例子展示了如何定义并注册一个定制的董事会和参考设计Zynq®工作流。
介绍
你可以注册Digilent®Zybo Z7-10 Zynq开发板和一个自定义的参考设计高密度脂蛋白工作流的顾问Zynq工作流。
这个示例使用Zybo Z7-10 Zynq董事会,但您可以定义并注册一个定制的董事会或其他Zynq平台自定义参考设计。
需求
Xilinx Vivado设计套件,支持版本中列出金宝appHDL语言支持,支持第三方金宝app工具和硬件
Digilent®Zybo Z7-10 Zynq™开发板和附属设备
高密度脂蛋白编码器为金宝appXilinx Zynq平台支持包
嵌入式编码器为Xilinx Z金宝appynq平台支持包
注意:这个示例使用Digilent®Zybo Z7-10 zynq - 7000臂/ FPGA SoC教练。下面的例子可以作为参考创建Zybo Z7-20定制板和参考设计。
设置Zybo董事会
熟悉Zybo董事会的特点,看到Zybo Z7-10董事会参考手册。
1。设置Zybo Z7-10董事会。
2。确保您已经正确地安装了USB串行通讯端口设备驱动程序在您的计算机上。
3所示。配置JP5
引导模式跳投使加载Zynq Linux映像的microSD卡连接到连接器阁下
。
4所示。配置JP7
电源选择使用USB作为电源跳投。
5。连接共享UART / JTAG USB端口Zybo董事会你的电脑。
6。连接Zybo Z7-10董事会你的计算机通过以太网电缆。默认Zybo IP地址192.168.1.110
。
7所示。下载Zybo Zynq Linux映像提取Zip归档文件,并将内容复制到microSD卡。插入连接器的microSD卡阁下
。
8。设置Xilinx Vivado工具路径通过使用这个命令:
hdlsetuptoolpath (“ToolName”,“Xilinx Vivado”,“路径”,“C: \ Xilinx \ Vivado \ 2020.2 \ bin \ vivado.bat ');
使用自己的Xilinx Vivado安装路径时执行的命令。
9。设置Zynq硬件连接使用这个命令:
h = zynq ();
注册在Xilinx Zybo Vivado工具
默认情况下,Vivado 2020.2工具没有预装Zybo董事会文件。这些董事会文件的下载Digilent网站。解压缩的内容和导航到安装文件夹Vivado。更新Zybo董事会文件复制到Xilinx Vivado工具。
C: \ Xilinx \ Vivado \ 2020.2 \ \董事会\ board_files数据
Zybo董事会部分添加到特定的开发板在创建Vivado项目列表。
注意:如果前面的链接不可用,从Digilent Zybo董事会文件的网站。
创建和使用Xilinx Vivado出口一个自定义的参考设计
一个参考设计抓住了SoC设计的完整结构,定义不同的组件和它们之间的联系。高密度脂蛋白编码器SoC工作流程生成一个IP核心集成参考设计,然后用于程序一个SoC的董事会。这个图显示了一个参考设计之间的关系,一个高密度脂蛋白IP核心,和一个SoC。
创建和出口一个简单的参考设计通过Xilinx Vivado IP集成环境,遵循这些步骤。关于IP集成工具的更多信息,参阅Xilinx文档。
1。创建一个空Xilinx Vivado RTL项目通过董事会的部分Zybo Z7-10
作为默认。
2。创建一个空块设计和添加ZYNQ7处理系统
IP块。块运行自动化的董事会预设Zybo Z7-10,其中包含的参数ZYNQ7绪相关处理系统IP配置,时钟配置和DDR配置。
绪外设都被按照Zybo板定义作为董事会预置应用的结果。
3所示。完成块的设计。
注意,块设计不包含任何HDL IP核心信息。
4所示。导出完成作为一个Tcl脚本块设计design_led.tcl
如下图所示:
导出的Tcl脚本(design_led.tcl
)构成了自定义参考设计。Tcl脚本用于高密度脂蛋白编码器SoC工作流来创建块设计和生成的高密度脂蛋白IP核心集成块设计在Xilinx Vivado项目。
注册Zybo Z7-10董事会在高密度脂蛋白工作流顾问
注册Zybo Z7-10董事会在高密度脂蛋白工作流顾问。
1。创建一个委员会登记文件的名字hdlcoder_board_customization.m
并将其添加到MATLAB路径。
董事会登记文件包含板插件的列表。板插件是一个MATLAB软件包包含董事会定义文件和文件夹所有参考设计与董事会相关插件。
这段代码描述的内容板登记文件,其中包含板插件ZyboZ710Registration
在高密度脂蛋白工作流注册Zybo董事会顾问。
函数r = hdlcoder_board_customization%板插件注册文件% 1。任何注册文件与这个名字在MATLAB路径将会捡起% 2。注册文件返回一个单元阵列指向的位置%的插件% 3。板插件必须包文件夹从MATLAB访问路径,%和包含一个定义文件
r = {…“ZyboZ710Registration.plugin_board”,…};结束
2。创建定义文件。
董事会SoC的定义文件包含信息。
这段代码描述Zybo板定义文件的内容plugin_board.m
驻留在板插件ZyboZ710Registration
。
FPGA的I / O销位置信息(“FPGAPin”
)和标准(“IOSTANDARD”
)从Zybo获得从Digilent网站主约束文件。
房地产BoardName
定义的名字Zybo Z7-10董事会ZYBO Z7-10
在高密度脂蛋白工作流顾问。
函数hB = plugin_board ()%板定义
%建立董事会对象hB = hdlcoder.Board;
hB。BoardName =“ZYBO Z7-10”;
% FPGA设备信息hB。FPGAVendor =“Xilinx”;hB。FPGAFamily =“Zynq”;hB。FPGADevice =“xc7z010”;hB。FPGAPackage =“clg400”;hB。FPGASpeed =' 1 ';
%的工具信息hB。金宝appSupportedTool = {“Xilinx Vivado”};
% FPGA JTAG链的位置hB。JTAGChainPosition = 2;
% %添加接口%的标准“外部端口”界面hB.addExternalPortInterface (…“IOPadConstraint”,{“IOSTANDARD = LVCMOS33”});
%定义外部I / O接口板hB.addExternalIOInterface (…“InterfaceID”,led通用的,…“InterfaceType”,“出”,…“PortName”,“发光二极管”,…“PortWidth”4…“FPGAPin”,{“M14”,“M15”,“八国”,“D18”},…“IOPadConstraint”,{“IOSTANDARD = LVCMOS33”});
hB.addExternalIOInterface (…“InterfaceID”,“按钮”,…“InterfaceType”,“在”,…“PortName”,“按钮”,…“PortWidth”4…“FPGAPin”,{“K18”,P16的,“K19”,“造成”},…“IOPadConstraint”,{“IOSTANDARD = LVCMOS33”});
hB.addExternalIOInterface (…“InterfaceID”,“幻灯片切换”,…“InterfaceType”,“在”,…“PortName”,“SlideSwitches”,…“PortWidth”4…“FPGAPin”,{“G15”,“P15”,“确实”,“t16.1”},…“IOPadConstraint”,{“IOSTANDARD = LVCMOS33”});
在高密度脂蛋白注册自定义参考设计工作流的顾问
在高密度脂蛋白注册自定义参考设计工作流的顾问。
1。创建一个参考设计注册文件命名hdlcoder_ref_design_customization.m
包含一个参考设计列表插件与一个SoC委员会有关。
一个参考设计插件是一个MATLAB软件包包含参考设计定义文件和文件夹与SoC设计项目相关的所有文件。参考设计注册文件必须包含相关委员会的名称。
这段代码描述的内容Zybo参考设计包含参考设计插件注册文件ZyboZ710Registration.Vivado2020_2
与董事会ZYBO Z7-10
。
函数[rd, boardName] = hdlcoder_ref_design_customization%参考设计插件注册文件% 1。具有该名称的注册文件内部董事会插件文件夹中%将捡起% 2。任何注册文件与这个名字在MATLAB路径也会捡起% 3。注册文件返回一个单元阵列指向的位置%的参考设计插件% 4。注册文件还返回相关董事会的名字% 5。参考设计插件必须可以从一个包文件夹% MATLAB路径,包含一个参考设计定义文件
rd = {“ZyboZ710Registration.Vivado2020_2.plugin_rd”,…};
boardName =“ZYBO Z7-10”;结束
2。创建参考设计定义文件。
参考设计定义文件定义了自定义参考设计和高密度脂蛋白之间的接口IP核所产生的高密度脂蛋白编码器SoC工作流。
这段代码描述的内容Zybo Z7-10参考设计定义文件plugin_rd.m
与董事会ZYBO Z7-10
驻留在参考设计插件ZyboZ710Registration.Vivado2020_2
。房地产ReferenceDesignName
定义的名字参考设计演示系统
在高密度脂蛋白工作流顾问。
函数hRD = plugin_rd ()%参考设计的定义
%构造设计对象的引用hRD = hdlcoder.ReferenceDesign (“SynthesisTool”,“Xilinx Vivado”);
hRD。ReferenceDesignName =“演示系统”;hRD。BoardName =“ZYBO Z7-10”;
%的工具信息hRD。金宝appSupportedToolVersion = {“2020.2”};
%添加自定义Vivado设计hRD.addCustomVivadoDesign (…“CustomBlockDesignTcl”,“design_led.tcl”,…“VivadoBoardPart”,“digilentinc.com: zybo-z7-10: part0:1.0”);
% %添加接口%添加时钟接口hRD.addClockInterface (…“ClockConnection”,“core_clkwiz / clk_out1”,…“ResetConnection”,“sys_core_rstgen / peripheral_aresetn”);
%添加AXI4和AXI4-Lite奴隶接口hRD.addAXI4SlaveInterface (…“InterfaceConnection”,“axi_cpu_interconnect / M00_AXI”,…“BaseAddress”,“0 x40010000”,…“MasterAddressSpace”,“sys_cpu /数据”);
hRD。DeviceTreeName =“devicetree_axilite.dtb”;
一个参考设计插件还必须包含SoC设计项目文件。
Zybo参考设计的插件文件夹ZyboZ710Registration.Vivado2020_2
必须包含Tcl脚本design_led.tcl
出口之前从Xilinx Vivado项目。Zybo参考设计定义文件plugin_rd.m
通过这个声明:标识了SoC设计项目文件
hRD.addCustomVivadoDesign (“CustomBlockDesignTcl”,“design_led.tcl”);
plugin_rd.m
还定义了自定义参考之间的接口连接设计和高密度脂蛋白IP核心由这些语句表示:
hRD.addClockInterface (…“ClockConnection”,“core_clkwiz / clk_out1”,…“ResetConnection”,“sys_core_rstgen / peripheral_aresetn”);hRD.addAXI4SlaveInterface (…“InterfaceConnection”,“axi_cpu_interconnect / M00_AXI”,…“BaseAddress”,“0 x40010000”,…“MasterAddressSpace”,“sys_cpu /数据”);
请注意的“BaseAddress”
AXI4的接口必须是一个有效的地址“MasterAddressSpace”
。地址不能创建任何地址冲突基于与其他地址外设在自定义参考设计。
执行的SoC工作流Zybo董事会
使用自定义董事会和参考设计注册系统生成一个高密度脂蛋白IP核心闪烁led Zybo Z7-10董事会。使用所需的文件位于:
matlab /工具箱/ hdlcoder / hdlcoderdemos / customboards / ZYBO
1。Zybo委员会注册文件添加到MATLAB路径。
目录(fullfile (matlabroot,“工具箱”,“hdlcoder”,“hdlcoderdemos”,“customboards”,“ZYBO”));
2。打开模型模型,实现金宝app了LED闪烁。
open_system (“hdlcoder_led_blinking_4bit”);
3所示。发射HDL工作流的顾问hdlcoder_led_blinking_4bit / led_counter
子系统通过右击led_counter
子系统,并选择HDL代码>高密度脂蛋白工作流顾问。或者,你可以点击发射HDL工作流顾问盒子模型中。
在设定目标>设置目标设备和合成工具任务,选择IP核心代为目标工作流程。ZYBO Z7-10
现在将出现在下拉列表中目标平台。选择ZYBO Z7-10
作为一个目标平台。
4所示。点击运行这个任务完成设置目标设备和合成工具的任务。
5。在设定目标>设置目标参考设计任务,自定义参考设计演示系统
现在出现在参考设计字段。选择演示系统
并点击运行这个任务。
6。在任务1.3设置目标接口,选择连接,然后点击运行这个任务。
7所示。生成IP核心并查看IP核心生成报告,按照步骤3和步骤4生成一个使用高密度脂蛋白HDL IP核心工作流的顾问的部分开始使用针对Xilinx Zynq平台。
8。集成IP核心的参考设计和创建vivado项目,按照步骤1集成IP核心Xilinx Vivado环境的部分开始使用针对Xilinx Zynq平台。
9。完成后创建项目下任务嵌入式系统集成,检查Xilinx Vivado SoC项目创建的工作流。这图显示了块SoC的设计项目,强调了HDL IP核。比较这一块设计与前一块设计用于导出自定义参考设计更深入地理解之间的关系自定义参考设计和高密度脂蛋白IP核。
10。按照步骤2、3和4集成IP核心Xilinx Vivado环境的部分开始使用针对Xilinx Zynq平台示例生成软件界面模型,生成FPGA比特流,分别在目标设备和程序。
11。加载比特流后,上的led Zybo Z7-10董事会现在开始闪烁。你可以控制LED闪烁频率和方向通过执行软件界面模型Zynq ARM处理器。指生成一个软件界面模型的部分开始使用针对Xilinx Zynq平台例子来控制LED闪烁频率和方向从生成的软件接口模型。