一,概述

将已有的FPGA功能模块封装成IP,方便在Vivado中使用。为了增加通用性,使用AXI4-Lite总线作为控制总线,使用AXI4-Stream总线作为数据流总线。

二,IP封装流程

在Vivado工程中,选择菜单栏中的Tools,然后再下拉菜单中选择Creat and Package IP… 。如图1所示。 

Vivado自定义IP封装流程--转载

图1 创建或打包IP

然后弹出向导,如图2所示。 

Vivado自定义IP封装流程--转载

图2 IP创建向导

点击 next,进入下一步,选择操作类型,如图3所示。在本例中选择对特定文件夹内的代码进行封装。 

Vivado自定义IP封装流程--转载

图3 选择操作类型

选择打包代码所在的文件夹,如图4所示。 

Vivado自定义IP封装流程--转载

图4 选择目标文件夹

向导提示需要为IP工程制定一个名字和存储地址,如图5所示,这个工程是临时的,IP封装完之后就会消失,再次编辑IP时才会再重新建立 

Vivado自定义IP封装流程--转载

图5 设置IP工程名称和位置

点击Finish结束,如图6所示。 

Vivado自定义IP封装流程--转载

图6 创建完成

三,设置IP参数

设置IP的信息,例如名称,版本,功能描述等,如图7所示。 

Vivado自定义IP封装流程--转载

图7 IP信息设置

配置IP的兼容性,一般选择默认就可以了,如图8所示。 

Vivado自定义IP封装流程--转载

图8 IP兼容性配置

配置IP的文件系统,一般选择默认就可以了,如图9所示。 

Vivado自定义IP封装流程--转载

图9 IP文件系统

配置IP的参数,为了方便系统能识别该IP的AXI4-Lite总线,需要顶层文件中定义2个参数,分别是:AXI_BASEADDR和AXI_HIGHADDR,为32bit数据,用来作为该AXI4外设的地址空间,如图10所示。 

Vivado自定义IP封装流程--转载

图10 IP参数配置

配置IP的端口,由于IP自动添加的总线端口一般都有问题,所有在配置前,需要将自动添加的总线端口去掉,然后再配置端口。

1.去掉端口

Vivado自定义IP封装流程--转载

2.添加端口

Vivado自定义IP封装流程--转载\

3.添加AXI总线

Vivado自定义IP封装流程--转载

Vivado自定义IP封装流程--转载

4.配置AXI总线信息

Vivado自定义IP封装流程--转载

5.配置端口

Vivado自定义IP封装流程--转载

6.配置参数

Vivado自定义IP封装流程--转载

注意,这里需要对AXI总线的时钟增加“ASSOCIATED_BUSIF“,并对应到各种的总线。

配置IP的地址空间,需要修改成图11所示。 

Vivado自定义IP封装流程--转载

图11 IP地址控制

配置IP的界面,可以根据自己的需要进行配置。如图12所示。 

Vivado自定义IP封装流程--转载

图12 IP界面

最后生成IP,如图13所示。 

Vivado自定义IP封装流程--转载

图13 封装IP

三,测试

打开一个Vivado工程,进入IP Catalog,然后右键调出下拉菜单,选择Add Repository..,选择IP所在的文件夹,如图14所示。 

Vivado自定义IP封装流程--转载!

图14 导入IP

这里就可以在IP Catalog中找到刚才自定义的IP,并使用,如图15所示。双击该IP,就可以对该IP进行配置。 

Vivado自定义IP封装流程--转载

图15 使用IP

相关文章:

  • 2022-12-23
  • 2021-12-25
  • 2022-12-23
  • 2021-08-25
  • 2021-11-20
  • 2022-12-23
  • 2021-05-26
  • 2021-08-13
猜你喜欢
  • 2021-12-01
  • 2021-10-06
  • 2021-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-03
  • 2021-10-25
相关资源
相似解决方案