硬件平台:ZedBoard
软件平台:vivado2013.3
本演示样例通过综合、实现,生成比特流,发送到SDK实现。
启动vivado而且创建一个项目
依据提示操作一步步创建新项目的时候记得选择RTL Project
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWFrZTgyNw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >
板子选择ZedBoard。其它默认。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWFrZTgyNw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >
创建一个IP综合设计
在IP Integrator中选择Create Block Design
在Create Block Design弹出页。为IP子系统设计定义个名字
在IP子系统中。在中间的Diagram中选择Add IP
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWFrZTgyNw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >
在搜索页。输入zynq找到ZYNQ7 Processing System IP
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWFrZTgyNw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >
在Diagram页,点击Run Block Automation,然后Run Block Automation对话框打开,选择/processing_system7_1。这时。会出现一个对话框,这个IP核会自己主动为FIXED_IO和DDR接口创建外部连接,点击OK。
用相同的方法,我们添加外设。在Diagram右击,选择Add IP,在搜索页,输入gpio找到AXI GPIO IP,点击enter确认加入,反复上述步骤,输入axi bram加入AXI BRAM Controller;输入block加入Block Memory Generator。完毕之后的窗体例如以下所看到的:
依据要求定制IP核
双击Block Memory Generator进入Re---customize IP界面,在Basic页,将Mode设置为BRAM Controller。Memory Type设置为True Dual Port RAM。当中AXI BRAM Controller为Block Memory Generator提供AXI内存映射接口。
通过点击连接点并拖动连线将Block Memory Generator与AXI BRAM Controller连接起来
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWFrZTgyNw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >
使用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上
2.再次选择Run Connection Automation。连接/axi_gpio_1/gpio,然后会弹出一个对话框,选择板子接口为leds_8bits。这一步但是配置IP核,创建一些必要的文件约束(XDC)
3.再次再次选择Run Connection Automation。选择剩下的/axi_bram_ctrl_1/S_AXI选项,这样就完毕了Zynq7 PS与AXI BRAM Controller的连接。布局完毕的连线例如以下所看到的:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWFrZTgyNw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >
打开Address Editor标签页,这里是我们所使用的IP的内存映射,在这里有两个IP:GPIO和BRAM Controller,一般来说Vivado会自己主动分配这些内存映射。我们也能够改动它,这里把AXI BRAM Controller改成64K。
保存配置(CTRL+S)。
在工具栏那里,通过Validate Designbutton执行DRC(Design-Rules-Check)
假设成功会弹出成功的对话框。
生成HDL设计文件
在Sources窗体,右击顶层子系统设计选择Generate Output Products,这会生成用于结构图IP核的源文件和相关的约束文件。
还是在顶层子系统设计选择Create HDL Wrapper创建一个顶层HDL文件
完毕设计并生成比特流
在Flow Navigator中,点击Generate Bitstream完毕设计并生成比特流(这一步时间会非常长)
在生成比特流后,选择Open Implemented Design
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWFrZTgyNw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >
将硬件信息导入到SDK
在这一步,我们将硬件信息导入到SDK,这一步须要将板子电源接上,而且把PROG和UART都已经连接电脑。详细例如以下所看到的:
1.在Flow Navigator,选择Open Block激活IP综合设计。
从Vivado菜单中选择Export Hardware for SDK,
在弹出的对话框中,确保Export Hardware,Include bitstream,Launch SDK都已经选择了。
至今。高端硬件。开始SDK操作软件的一部分。
版权声明:本文博客原创文章,博客,未经同意,不得转载。