vivado提供了一个AXI VIP设计实例,接下来就生成IP设计实例,并且仿真这个设计案例
1 新建工程,打开IP Catalog
2 双击打开配置IP
3 打开示例选中产生的axi_vip 右击open ip example design
4 电路图,
包含三部分,axi_master ,axi_slave ,axi_pt.
AXI VIP 具有以下功能:
- 生成 Master AXI 指令和写内容
- 生成 Slave AXI 读内容和写响应
- 检查 AXI 传输是否符合协议标准
它支持 5 种不同配置:
- AXI Master VIP
- AXI Pass-through VIP(有/无内存模型)
- AXI Slave VIP(有/无内存模型)
5 example TB
我们首先来看红框中第一个的 set :sim_all_config,对应 tb 中演示了一系列 VIP 特性的使用,并且使用了不同的调用方法。
接下来说明一下set 名字的含义,例如:
sim <basic or adv>mst <mode>__pt<mode> _slv<mode>
其中 mst、pt、slv 分别表示平台中的三个 VIP,其后跟有不同的 <mode> 表示其在该场景下的工作模式。
简单来说,active 代表该场景下该 VIP 正在工作,passive 表示不工作。
对于从机使用 mem/combo 均表示从机正在工作,区别为有/无内存模型。
对于 pass-through(简称 pt),mst、slv 表示其工作于主机/从机模式,从机模式下无内存模型。mem 则表示其工作于有内存模式的从机模式。
详细说明参考文档
6 仿真 (以一个test为例仿真看波形)
6.1 先看axi_master产生的波形
6.2 波形图
MASTER波形
看到这个波形图一脸懵,接下来仔细分析一下,看有没有特别之处,
当我们把鼠标放在#1上是显示出了传输类型,传输大小,传输地址等
点击#1时,会链接到传输事务,是不是特别神奇,而且从波形我们就很容易看到事务交互。
读数据和读地址
写地址,写数据和写响应
发现写地址awlen = 8
slave 波形类似于master就不再过多的分析了,有兴趣的可以自己研究一下。