AXI VIP设计示例 AXI接口传输分析

接口/总线/驱动

1117人已加入

描述

赛灵思 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(有内存模型)

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

AXI VIP 设计示例

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

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

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

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

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

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

赛灵思

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

赛灵思

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

分析 AXI 接口传输

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

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

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

赛灵思

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

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

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

赛灵思

我们将添加 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”。

赛灵思

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

赛灵思

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

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

赛灵思

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

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

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

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

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

赛灵思

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分