一,概述
将已有的FPGA功能模块封装成IP,方便在Vivado中使用。为了增加通用性,使用AXI4-Lite总线作为控制总线,使用AXI4-Stream总线作为数据流总线。
二,IP封装流程
在Vivado工程中,选择菜单栏中的Tools,然后再下拉菜单中选择Creat and Package IP… 。如图1所示。
然后弹出向导,如图2所示。
点击 next,进入下一步,选择操作类型,如图3所示。在本例中选择对特定文件夹内的代码进行封装。
选择打包代码所在的文件夹,如图4所示。
向导提示需要为IP工程制定一个名字和存储地址,如图5所示,这个工程是临时的,IP封装完之后就会消失,再次编辑IP时才会再重新建立
点击Finish结束,如图6所示。
三,设置IP参数
设置IP的信息,例如名称,版本,功能描述等,如图7所示。
配置IP的兼容性,一般选择默认就可以了,如图8所示。
配置IP的文件系统,一般选择默认就可以了,如图9所示。
配置IP的参数,为了方便系统能识别该IP的AXI4-Lite总线,需要顶层文件中定义2个参数,分别是:AXI_BASEADDR和AXI_HIGHADDR,为32bit数据,用来作为该AXI4外设的地址空间,如图10所示。
配置IP的端口,由于IP自动添加的总线端口一般都有问题,所有在配置前,需要将自动添加的总线端口去掉,然后再配置端口。
1.去掉端口
2.添加端口
3.添加AXI总线
4.配置AXI总线信息
5.配置端口
6.配置参数
注意,这里需要对AXI总线的时钟增加“ASSOCIATED_BUSIF“,并对应到各种的总线。
配置IP的地址空间,需要修改成图11所示。
配置IP的界面,可以根据自己的需要进行配置。如图12所示。
最后生成IP,如图13所示。
图13 封装IP
三、增加IP端口/封装IP端口
三,测试
打开一个Vivado工程,进入IP Catalog,然后右键调出下拉菜单,选择Add Repository..,选择IP所在的文件夹,如图14所示。
这里就可以在IP Catalog中找到刚才自定义的IP,并使用,如图15所示。双击该IP,就可以对该IP进行配置。