Vivado的helloword程序(一):硬件工程部分

硬件平台:ZedBoard

软件平台:vivado2013.3

本示例通过综合、实现,生成比特流,发送到SDK实现。

启动vivado并且创建一个项目

根据提示操作一步步创建新项目的时候记得选择RTL Project

Vivado的helloword程序(一):硬件工程部分_第1张图片


板子选择ZedBoard,其他默认。

Vivado的helloword程序(一):硬件工程部分_第2张图片


创建一个IP综合设计

在IP Integrator中选择Create Block Design

Vivado的helloword程序(一):硬件工程部分_第3张图片


在Create Block Design弹出页,为IP子系统设计定义个名字

Vivado的helloword程序(一):硬件工程部分_第4张图片


在IP子系统中,在中间的Diagram中选择Add IP

Vivado的helloword程序(一):硬件工程部分_第5张图片


在搜索页,输入zynq找到ZYNQ7 Processing System IP

Vivado的helloword程序(一):硬件工程部分_第6张图片


在Diagram页,点击Run Block Automation,然后Run Block Automation对话框打开,选择/processing_system7_1,这时,会出现一个对话框,这个IP核会自动为FIXED_IO和DDR接口创建外部连接,点击OK。

Vivado的helloword程序(一):硬件工程部分_第7张图片


用同样的方法,我们增加外设,在Diagram右击,选择Add IP,在搜索页,输入gpio找到AXI GPIO IP,点击enter确认添加,重复上述步骤,输入axi bram添加AXI BRAM Controller;输入block加入Block Memory Generator。完成之后的窗口如下所示:

Vivado的helloword程序(一):硬件工程部分_第8张图片


根据要求定制IP核

双击Block Memory Generator进入Re-­-customize IP界面,在Basic页,将Mode设置为BRAM Controller,Memory Type设置为True Dual Port RAM。其中AXI BRAM Controller为Block Memory Generator提供AXI内存映射接口。

Vivado的helloword程序(一):硬件工程部分_第9张图片


通过点击连接点并拖动连线将Block Memory Generator与AXI BRAM Controller连接起来


Vivado的helloword程序(一):硬件工程部分_第10张图片

使用Designer Assistance

Block Designer Assistance可以帮助我们将AXI GPIO和AXI BRAM Controller连接到Zynq-7000 PS。

1.点击Run Connection Automation然后选择/axi_gpio_1/s_axi将GPIO IP和BRAM Controller连接到Zynq PS上


Vivado的helloword程序(一):硬件工程部分_第11张图片


2.再次选择Run Connection Automation,连接/axi_gpio_1/gpio,然后会弹出一个对话框,选择板子接口为leds_8bits。这一步可是配置IP核,创建一些必要的文件约束(XDC)

Vivado的helloword程序(一):硬件工程部分_第12张图片


3.再次再次选择Run Connection Automation,选择剩下的/axi_bram_ctrl_1/S_AXI选项,这样就完成了Zynq7 PS与AXI BRAM Controller的连接。布局完成的连线如下所示:


Vivado的helloword程序(一):硬件工程部分_第13张图片


打开Address Editor标签页,这里是我们所使用的IP的内存映射,在这里有两个IP:GPIO和BRAM Controller,一般来说Vivado会自动分配这些内存映射,我们也可以修改它,这里把AXI BRAM Controller改成64K。

Vivado的helloword程序(一):硬件工程部分_第14张图片


保存配置(CTRL+S);

在工具栏那里,通过Validate Design按钮运行DRC(Design-Rules-Check)

Vivado的helloword程序(一):硬件工程部分_第15张图片


如果成功会弹出成功的对话框。


生成HDL设计文件

在Sources窗口,右击顶层子系统设计选择Generate Output Products,这会生成用于结构图IP核的源文件和相关的约束文件。

Vivado的helloword程序(一):硬件工程部分_第16张图片


还是在顶层子系统设计选择Create HDL Wrapper创建一个顶层HDL文件


Vivado的helloword程序(一):硬件工程部分_第17张图片

完成设计并生成比特流

在Flow Navigator中,点击Generate Bitstream完成设计并生成比特流(这一步时间会很长)

Vivado的helloword程序(一):硬件工程部分_第18张图片


在生成比特流后,选择Open Implemented Design


Vivado的helloword程序(一):硬件工程部分_第19张图片

将硬件信息导入到SDK

在这一步,我们将硬件信息导入到SDK,这一步需要将板子电源接上,并且把PROG和UART都已经连接电脑。具体如下所示:

Vivado的helloword程序(一):硬件工程部分_第20张图片


1.在Flow Navigator,选择Open Block激活IP综合设计。


Vivado的helloword程序(一):硬件工程部分_第21张图片

从Vivado菜单中选择Export Hardware for SDK,

Vivado的helloword程序(一):硬件工程部分_第22张图片


在弹出的对话框中,确保Export Hardware,Include bitstream,Launch SDK都已经选择了。


Vivado的helloword程序(一):硬件工程部分_第23张图片

至此,硬件部分结束,开始在SDK进行软件部分的操作。

你可能感兴趣的:(FPGA)