ZYNQ笔记(7):AXI从口自定义IP封装

  使用 AXI_Lite 从口实现寄存器列表的读写,并且自己封装为一个自定义 IP,以便以后使用。本次记录的是 M_AXI_GP0 接口,此接口是 ARM 作为主机,FPGA 作为从机,配置 FPGA 的寄存器或者 RAM。

 

一、ZYNQ AXI 总线拓扑结构图

ZYNQ笔记(7):AXI从口自定义IP封装_第1张图片

  黄色部分即为 FPGA 部分。

 

二、新建 AXI_Lite 寄存器列表

1..点击主页上方菜单 Tools --- Create adn psckage IP ,点击Next

ZYNQ笔记(7):AXI从口自定义IP封装_第2张图片

ZYNQ笔记(7):AXI从口自定义IP封装_第3张图片

2.选择第四项,Next

ZYNQ笔记(7):AXI从口自定义IP封装_第4张图片

3.选择 IP 名称和存放的路径,Next

ZYNQ笔记(7):AXI从口自定义IP封装_第5张图片

4.设置 256 个存储空间(每个存储空间默认位宽为32)

ZYNQ笔记(7):AXI从口自定义IP封装_第6张图片

5.选择编辑 IP 看看生成的代码,也可以直接选择第一项。

ZYNQ笔记(7):AXI从口自定义IP封装_第7张图片

6.Vivado 打开了一个新的界面,此界面和原界面略有不同,注意分别。

ZYNQ笔记(7):AXI从口自定义IP封装_第8张图片

7.可以打开代码看看是什么,可以在里面加入用户逻辑代码。

ZYNQ笔记(7):AXI从口自定义IP封装_第9张图片

 8.其实已经创建好了 IP,如果有改动则需要点击下面这项,之后此界面会自动关闭

ZYNQ笔记(7):AXI从口自定义IP封装_第10张图片

9.选择 Settings --- IP --- Repository,可以看到这个 IP,也可以在这添加第三方 IP

ZYNQ笔记(7):AXI从口自定义IP封装_第11张图片

 

三、调用IP

1.主界面打开 Create Block Design,点击 + 号,即可添加我们定义好的 IP,有3个口,从口,时钟,复位。

ZYNQ笔记(7):AXI从口自定义IP封装_第12张图片ZYNQ笔记(7):AXI从口自定义IP封装_第13张图片

2.AXI IP有从口,因此ZYNQ得添加主口,打开 ZYNQ,添加时钟、复位、UART、DDR、中断等,最重要的还要添加 Master GP0 接口

ZYNQ笔记(7):AXI从口自定义IP封装_第14张图片

3.ZYNQ 的 AXI_ACLK 和 FCLK_CLK 手动连在一起,并且进行自动布线即可连好。(此处添加了2个一样的AXI IP)

ZYNQ笔记(7):AXI从口自定义IP封装_第15张图片

4.在与视图仪器的选项卡中有个 Address Editor,可以看到系统自动分配的地址,当然用户也可以自定义地址

ZYNQ笔记(7):AXI从口自定义IP封装_第16张图片

7.也可以添加一个 ILA IP 来观察 AXI 的波形,点击 + 号添加,按下图连线即可

ZYNQ笔记(7):AXI从口自定义IP封装_第17张图片

6.之后就可以综合生成 bit 文件导出 HDF 文件进行软件设计。

 

四、普通自定义IP

  见本人上篇博客《ZYNQ笔记(6):PL精准定时中断》。

 

、常用 IP

1.Vector logic :逻辑IP,用于产生与、或、非、异或
2.Concat:总线合并IP,可以将多个单位宽信号合并成一个多位宽信号

 

参考资料:

[1]米联客ZYNQ教程

[2]威三学院FPGA教程

转载于:https://www.cnblogs.com/xianyufpga/p/11404193.html

你可能感兴趣的:(ZYNQ笔记(7):AXI从口自定义IP封装)