nexys4DDR 实现自定义IP核挂载到axi_4总线
首先创建一个项目,Creat Block Design ,添加microblaze,并进行如下配置 因为本实验需要用到中断,所以配置时添加中断,microblaze IP配置如图所示。
我的目的为将自定义IP核通过系统的自定义IP,将自己的IP封装成AXI4 IP。
首先打开tools-> creat and packege new ip ->creat a new AXI4peripheral,然后给IP核命名,修改IPlocation,改为当前目录下的 ip_user_files。
然后再自己的projec里查找刚才创建的IP核 右键edit in packager
之后,系统会自动跳转到 cnn_v1.0 配置的项目。
在这里添加自己需要的输入输出端口。由于我之前封装的IP核端口如下
所以我需要自定义一个输入,一个输出,并在模块中添加输入输出。
然后打开顶层文件下的文件:
同样将端口添加进去。由于之前封装的IP核需要当前定义的AXI4 IP核和microblaze进行通信,所以,需要两个寄存器,一个将microblaze发送的数据写入寄存器并发送给自定义IP,另一个寄存器将自定义IP核的结果发送给microblaze。注释掉slv_reg0的代码, slv_reg0的输入由自定义IP的输出给。
并在最后给出实现需要功能的代码。
之后,IP-XACT package IP - cnn。 port and interfaces,可以看到自己新定义的端口,最后review and