axi时序图_深入 AXI4总线(E3)实战:制作一个 AXI 接口 IP

e6f324c23e03b1e88e7c8b72d04beb65.png
本系列我想深入探寻 AXI4 总线。不过事情总是这样,不能我说想深入就深入。当前我对 AXI总线的理解尚谈不上深入。但我希望通过一系列文章,让读者能和我一起深入探寻 AXI4。

在本系列先前的文章中,我们首先通过协议 specification 了解协议的接口与机制,并通过操作一个 AXI 接口的 RAM IP 进行了一番实战。

从协议机制上来说,协议的制定者权衡协议的使用场景,主从机接口,性能等各方面的需求与限制以及实现的难度制定了这些规则。从笔者个人的经验来说,对于一个协议:

把手册打印出来 -> 翻烂 -> 没人比我更懂这个协议了(误)

翻烂可不是了解一个协议最有效的手段,最重要的还是针对协议的实践。通过操作 AXI 接口的 IP 可以熟悉协议的接口。而通过实现一个协议的接口模块,可以更深入地了解协议。本文将借助 Xilinx 提供的 AXI 接口代码,实现一个 AXI-lite 接口模块,了解协议接口机制的实现。

Vivado 提供的接口代码

在 Vivado 中使用 IP 编辑器创建一个 AXI 接口的 IP,就可以获取到 Xilinx 在创建模板中提供的接口代码,这里简单地纪录下创建过程。

首先在 Tools 中选择 创建打包新 IP 菜单,选择建立一个 AXI4 外设。

d114e58bb745620ba98f9e0ea49b0055.png

在接口界面,添加 AXI 接口。这里的接口可选作为主机或者从机的 AXI-Full,AXI-Lite 或者 AXI-Stream 协议,本文选择 32 位 AXI-Lite 从机作为例子。位宽按照协议规定,可以在 32 位和 64 位之间进行选择。

bbce5ccc4eeabe6e506a3796b846ae8c.png

在创建完 IP 核后.....没错,就是什么都不会发生。如果要编辑 IP 核或者像本文要做的那样查看 IP 的 RTL 代码,那么在 IP catalog 选项中找到刚刚新建的 IP 核,一般在 User Repository 选项下可以找到。右键-在 IP Packager 中编辑。

084806f2cb559d512003cddfa2f8dab1.png

使用 IP Packager 编辑会打开一个新的基于 创建的 IP 核的 Vivado 工程,在这个工程中可以修改 IP 的信息,参数,接口以及 RTL 代码。在 source 中有一个 IP 核的顶层模块以及其下的 AXI-Lite 接口模块,这就是我们要学习的接口实现 demo 了。

4d34e9833ccf865263a3491242d30997.png

AXI-Lite 接口模块信号列表

Xilinx 提供的代码是非常好的学习材料

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值