SYNOPSYS AXI VIP using note

本文档介绍了如何利用SYNOPSYS AXI VIP搭建测试平台,重点涉及cust_svt_axi_system_configuration、cust_svt_axi_master_transaction及svt_axi_user_defines.sv的配置。此外,还提到了VIP的monitor,特别是其analysis_port中的item_observed_port,用于捕获并记录交易详情。
ref:https://solvnet.synopsys.com/dow_retrieve/latest/snps_vip_lib/doc/axi_svt_uvm_class_reference/html/index.html

1. testbench buildup   

关于 bench 可以选择两种方式,比如只需要 master agent: (下面的所有example都会以我的DUT是slave)
1.
单独 invoke master agent ,所以留给 user configuration object svt_axi_port_configuration

Synopsys AXI VIPAXI Verification IP)在验证AXI(Advanced eXtensible Interface)总线系统时,对于数据检查有多种方式。 #### 1. 内置的检查器 Synopsys AXI VIP 包含了一系列内置的检查器,这些检查器会自动对 AXI 协议的各个方面进行检查,包括数据传输的正确性。例如,在数据传输阶段,检查器会验证数据的宽度是否符合 AXI 协议的规定,数据的对齐是否正确等。当检测到不符合协议的情况时,会自动报告错误信息。 ```systemverilog // 示例代码展示如何使用内置检查器 import axi_vip_pkg::*; axi_vif vif(); axi_master_vip master_vip(vif); axi_slave_vip slave_vip(vif); initial begin master_vip.start(); slave_vip.start(); // 仿真过程中,内置检查器会自动工作 end ``` #### 2. 自定义检查逻辑 除了内置检查器,用户还可以编写自定义的检查逻辑来满足特定的验证需求。可以通过监听 AXI 接口上的信号,对数据进行额外的检查。例如,检查数据的范围是否在预期之内,数据的顺序是否正确等。 ```systemverilog // 示例代码展示自定义数据范围检查逻辑 always @(posedge vif.aclk) begin if (vif.wvalid && vif.wready) begin if (vif.wdata < 0 || vif.wdata > 1023) begin $error("Data out of expected range: %0d", vif.wdata); end end end ``` #### 3. 事务级检查 Synopsys AXI VIP 支持事务级的验证,用户可以通过监控事务的完成情况来检查数据。在事务完成后,可以获取事务中的数据,并进行进一步的分析和检查。 ```systemverilog // 示例代码展示事务级数据检查 axi_transaction trans; initial begin master_vip.get_transaction(trans); if (trans.data_check() == 0) begin $error("Data check failed in transaction"); end end ```
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值