赞
踩
基于ZCU104的PS和PL数据交互例程(一):简介
基于ZCU104的PS和PL数据交互例程(二):vivado中封装现有工程成IP
基于ZCU104的PS和PL数据交互例程(三):vivado中创建IP
基于ZCU104的PS和PL数据交互例程(四):vivado中制作Block Design
基于ZCU104的PS和PL数据交互例程(五):Petalinux流程
基于ZCU104的PS和PL数据交互例程(六):上板流程
基于ZCU104的PS和PL数据交互例程(七):驱动编写与测试
本次工程的架构设计思路如下
参考block design的设计流程,这里给出完成的工程
封装IP的详细流程见另外两篇博客
基于ZCU104的PS和PL数据交互例程(二):vivado中封装现有工程成IP
基于ZCU104的PS和PL数据交互例程(三):vivado中创建IP
新建工程之后,选择zcu104板卡
然后加入PS端的IP
点击Run Block Automation,会自动配置PS端
然后双击PS端,进行特殊配置
DDR配置,根据ZCU104的User Guide,这里选择后缀为083E的型号
PS与PL端口配置,master接口1个,slave接口1个
默认PS给PL的时钟是100M,中断引脚打开,所以我们不再修改,完成配置
配置成真双口,这里要注意BRAM的数据位宽和地址,这里数据位宽是32bit,跟DUT里面一致,就不再修改。依次加入BRAM_INIT和BRAM_RES
这里给BRAM_RES和BRAM_INIT每个都配置一个bram controller,所以bram controller配置成一个接口就行
目前添加的IP情况如下
配置如下
后面连接的时候,使用的AXI SmartConnect,这样数据传输更快。
添加自己的IP,controller和dut,不需要配置
点击block design的左上角的Run Connect Automation
按照下图配置
配置BRAM_INT_ctrl
配置BRAM_RES_ctrl
controller和ps的保持默认就行
配置dut的BRAM端口,选择对应的就行
最后点击OK
连接clk_PL,start_DUT,DUT_finish,rst_n这些信号
(这里的cdma的中断引脚cdma_introut应该要跟ps的pl_ps_irq连接的,一开始忘记连接了,这里一定要连接上)
将rst_KEY_PL引出来,通过按键复位。右键rst_KEY_PL,选择Make External
最后点击验证
验证通过后查看地址分配情况,后面Linux下映射虚拟地址到物理地址有用
在sources页面,右键bd,选择Generate Output Products
完成后,创建顶层文件,如下图选择
set_property PACKAGE_PIN B3 [get_ports rst_KEY_PL_0]
set_property IOSTANDARD LVCMOS33 [get_ports rst_KEY_PL_0]
最后成功得到.XSA文件,包含了硬件的信息,后面Petalinux会用
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。