vivado新建IP Package-ZC702 PL部分AXI lite接口(三)

2016-04-07 22:55 阅读 1,240 次 评论 0 条

在上一日志中,测试AXI-lite定义的外设,寄存器的访问(读与写操作),完成寄存器接口的测试。

这一日志中,准备自定义一下PL的逻辑功能。在myip模块上右键点击“IP Setting”

clip_image002

然后出现IP Packager编辑界面,如下图

clip_image004

确定后,会出现下面的工程编辑界面, 显示myip的基本版本信息与描述信息。

clip_image006

在File Groups标签下,可以显示已经生成的.v文件。如下图所示。

clip_image008

Myip_v1_0.v- 顶级架构文件,利用该文件可定义该模块的用户I/O。

Myip_v1_0_S00_AXI.v-RTL文件,其中包含函数AXI接口,包括初始创建的四个寄存器。

双击对应的文件名可以查看文件内容,并且可以对文件进行编辑。

在myip_v1_0_S00_AXI.v文件中添加如下图片中的代码

clip_image009

然后“Package IP”完成自定义ip的封装,如下图所示。

clip_image011

点击上面的“Package IP”后,会关闭当前myip工程的界面,从而进入主工程界面。此时会提示myip需要更新,如下图所示。

clip_image013

在底部窗口中可以选择Upgrade Selected进行IP升级。

clip_image015

再通过“Generate Bitstream”,进行综合与布线生成bit文件。

==================

生成bit文件的过程中,出现如下错误

[Opt 31-37] Multi-driver net found in the design: ZynqSystem_i/myip_0/inst/myip_v1_0_S00_AXI_inst/slv_reg3[0].

原因是slv_reg3已经在一个always块中进行过赋值,所以出现了错误。解决办法是将前面always中的slv_reg3赋值去掉,如下图所示。

clip_image006[4]

clip_image008[4]

改完之后,问题解决。

=============================

没来得及继续生成bit文件就出去了。

第二天继续进行的时候出现了myip_0不能再编辑了,如下图所示。

clip_image002[4]

遇到“ip is locked and cannot be custiomized”

在运行“Tools->report->Report IP Status”后,出现如下提示信息

clip_image004[4]

在xilinx官网也没有找到具体的解决办法。

最后的解决办法将my_ip,从工程中删除,然后重新添加my_ip,然后连线,升级ip。

----------------------------------

然后将上面的代码更改再做一遍,“Generate Bit File”完成后,导出SDK后,在以前的hello world工程中进行编辑代码,如下图所示。

clip_image012

运行后的结果如下,证明设计的功能与预想一致,自定ip封装功能完成。

clip_image014

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:vivado新建IP Package-ZC702 PL部分AXI lite接口(三) | 起点博客
分类:应用笔记 标签:, , , , ,

发表评论


表情