开发者分享 | AXI 基础第1讲-使用 AXI Verification IP (AXI VIP) 对 AXI 接口进行仿真

e3b6db4a731922ee0c7e461f4f7a1b9a.gif

点击“蓝字”关注我们

赛灵思 AXI Verification IP (AXI VIP) 是支持用户对 AXI4 和 AXI4-Lite 进行仿真的 IP。它还可作为 AXI Protocol Checker 来使用。

此 IP 只是仿真 IP,将不进行综合(它将在 Pass-through 配置中被连线所替代)。

AXI VIP IP 核用途如下:

  • 生成 Master AXI 指令和写内容

  • 生成 Slave AXI 读内容和写响应

  • 检查 AXI 传输是否符合协议标准

它支持 5 种不同配置:

  • AXI Master VIP

  • AXI Pass-through VIP(无内存模型)

  • AXI Pass-through VIP(有内存模型)

  • AXI Slave VIP(无内存模型)

  • AXI Slave VIP(有内存模型)

0d603ef856181375798863b0b91b91b8.png

如需获取 AXI VIP IP 核相关文档,请扫码参阅

AXI VIP 设计示例

在 Vivado 中提供了一个 AXI VIP 设计示例。

要为 AXI VIP 生成设计示例,只需遵循以下步骤进行操作即可:

  1. 打开新工程,并单击“IP Catalog”。

  2. 搜索“AXI Verification IP”。双击并配置 IP,然后 generate IP。

  3. 右键单击此 IP 并选择“Open  IP Example Design”

AXI VIP 的设计示例包含 3 个 AXI VIP:其中一个配置为 Master、一个配置为 Pass-through,另一个配置为 Slave。

2c5c6f7ecc3b2d1ad6e314f3354aec6d.png

工程中包含了多个 Test Bench 源文件,以匹配不同 AXI VIP 组合:

752efe5776d768561f2c088f29d408d5.jpeg

:所有 Test Bench 文件均为 SystemVerilog 语言。要使用 AXI VIP 的全部功能,应将此 IP 例化包含在 SystemVerilog Test Bench 文件中。

分析 AXI 接口传输

Vivado 仿真中的实用功能之一是可将协议实例添加到波形图中以在传输级别来查看信号。

我将逐一介绍sim_basic_mst_active_pt_mem__slv_passive 仿真集的步骤。

要使用该仿真集,请在“Source”窗口中右键单击它,然后单击Make Active

e6160619659d4c02fd641f7f59fcb74d.png

该仿真集仅使用 Master AXI VIP 和 Pass-through AXI VIP(充当内存级别的 Slave 设备)。

可单击 Flow Navigator 中的Run Simulation来运行仿真。

默认情况下,这将打开仅含时钟和复位信号的波形图。 99293ec76bf5d75004dd2a0ad68df051.png

我们将添加 Master AXI VIP 和 Pass-through AXI VIP 之间的 AXI 接口。

Scope窗口中,查找并选中DUT>ex_design下的主设备 AXI VIP (axi_vip_mst)。随后,Objects窗口将显示 IP 的所有端口。找到 M_AXI 接口对象并单击Add to Wave Window

00bf01719f43de40546e05ae0866b49f.jpeg

随后,即可在波形图窗口中看到 AXI 传输信号:4f6ecd05f589e2af32ce9976fd6f4f64.png

可以看到,在开始时间与仿真时间 1us 之间,读取 (Read) 和写入(Write) 传输均已发生。

在波形图窗口中可展开 M_AXI 接口以查看所有信号波形:

1c8eb2fb443e3757a1dae0ae00c74742.jpeg

每个通道上面的数字对应于传输数量。可以看到在 Read 通道(紫色)上有 5 次读传输,Write 通道上有 4 次传输。

单击特定传输即可看到其详细过程。例如,如果单击 Write 通道上的第一次传输,即可看到此传输为 burst 传输类型:

  1. 此传输事务首先在 Write Address 通道上写入地址

  2. 然后,在 Write Data 通道上发送 burst 数据

  3. 最后,如果写数据成功,Slave 会在 Write Response 通道上返回响应

be47fe81e35b4b9b95fdd832f64bd5c6.jpeg

赛灵思中文论坛

欢迎访问赛灵思中文社区论坛

任何技术问题可进行线上交流

https://forums.xilinx.com/cn

觉得内容还不错的话

给我点个“在看”呗

637d5ec13f237d1b4eaccbd297805eb2.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值