软件版本:vitis2020.2(vivado2020.2) 操作系统:WIN10 64bit 硬件平台:适用XILINX A7/K7/Z7/ZU/KU系列FPGA(米联客(milianke)MZU07A-EG硬件开发平台) 登录"米联客"FPGA社区-www.uisrc.com视频课程、答疑解惑! 6.1概述基于前面5篇文章中5个实验,我们已经掌握了AXI4总线协议,现在我们编写一个自定义的AXI-Lite-Slave GPIO IP,并且用编写的AXI-Lite-Master IP对齐进行仿真验证和上板验证。 本文实验目的: 1:修改VIVADO产生的saxi-lite- gpio模板,增加GPIO的定义 2:修改VIVADO产生的maxi-lite-gpio模板,增加对saxi-lite- gpio寄存器的读写操作。 3:进一步掌握基于vivado实现的ip的封装 6.2基于VIVADO的IP封装6.2.1封装maxi_lite_gpio IP这节课的源码文件已经编写好了,我们直接拿来使用。新建2个文件,把源码文件 maxi_lite_gpio.v和saxi_lite_gpio.v并且方便放入03_ip/maxi_lite文件夹和03_ip/saxi_lite文件夹。 以创建自定义maxi_lite自定义为例,先创建一个空的创建IP所需要的fpga工程
添加ip源码文件 这里再次提醒是创建maxi_lite_gpio的ip至于saxi_lite_gpio的ip方法一样。 源码后面再分析,暂时我们不分析源码,先完成IP的创建 再tools菜单中找到Create and Package New IP 新增IP编辑窗口 参数接口 信号接口 完成IP打包 6.2.2创建saxi_lite_gpio ip用同样的方法,创建saxi_lite_gpio 6.3FPGA图形化编程设置IP路径 创建BD工程 添加以上完成的maxi_lite_gpio和saxi_lite_gpio两个IP 再添加虚拟IO用于观察数据 完成连线 编写顶层文件配套代码uisrc/01_rtl路径下有源码
6.3硬件电路分析6.3.1原理图PL的GPIO可以定义为EMIO,其中PL部分FPGA引脚A21和A18接到了LED上,K24、F21接到了按键上。 6.3.2fpga_pin.xdc中IO约束添加管脚约束文件,配套代码uisrc/04_pin路径下有源码
6.4硬件接线1:USB-232 USB数据线(我们已经知道开发板集成了USB转串口芯片)接入电脑USB接口 2:接通电源和JTAG 3:模式开关设置为JTAG模式,模式开关全部切换到ON 6.5仿真文件编写仿真文件,配套代码uisrc/02_sim路径下有源码
6.6实验结果为了加快仿真,可以把maxi_lite_gpio的IP源码中读写的间隔时间减少,如下图所示: maxi写入数据仿真 saxi读出数据仿真 编译下载测试前,把TIME_SET改回到TIME_SET = 99999999,这样对于100M时钟每间隔500ms读写一次。 每次更改ip源码后,在Tcl Console中输入reset_project 对fpga工程进行复位 然后根据提示单击下图中Refresh IP Catalog更新IP状态 再单击Upgrade Selected 最后编译产生bit文件下载到开发板测试。 在路径..\uisrc\06_doc路径有本实验的运行结果视频 |