如何调整AXI VIP的最大延时


前言

在验证过程中,AXI VIP经常会用到,VIP中默认的延时设置最大是16,那么如何调整这些设置的最大值呢?


一、解决办法

The default maximum values of the transaction delays are controlled by macros. These macros are defined in the file ‘svt_axi_common_defines.svi’. You need to redefine these macros to override the default values.

MACRO Transaction Delay Attribute
SVT_AXI_MAX_ADDR_DELAY addr_ready_delay
SVT_AXI_MAX_ADDR_VALID_DELAY addr_valid_delay
SVT_AXI_MAX_WVALID_DELAY wvalid_delay[]
SVT_AXI_MAX_WREADY_DELAY wready_delay[]
SVT_AXI_MAX_RVALID_DELAY rvalid_delay[]
SVT_AXI_MAX_RREADY_DELAY rready_delay[]
SVT_AXI_MAX_WRITE_RESP_DELAY bready_delay
SVT_AXI_MAX_WRITE_RESP_DELAY bvalid_delay
SVT_AXI_MAX_ACREADY_DELAY acready_delay
SVT_AXI_MAX_CDVALID_DELAY cdvalid_delay[]
SVT_AXI_MAX_CRVALID_DELAY crvalid_delay

SVT_AXI_MAX_ACVALID_DELAY acvalid_delay

SVT_AXI_MAX_CRREADY_DELAY crready_delay

SVT_AXI_MAX_CDREADY_DELAY cdready_delay[]

SVT_AXI_MAX_RACK_DELAY rack_delay
SVT_AXI_MAX_WACK_DELAY wack_delay
SVT_AXI_MAX_DVM_COMPLETE_DELAY dvm_complete_delay

二、举例

The default maximum value of SVT_AXI_MAX_ADDR_DELAY is 16. If addr_ready_delay is programmed (inside slave sequence) to a value greater than 16, then you will see the is_valid()check failure of transaction:

[2728000] (class): is_valid() - Invalid addr_ready_delay of 100 provided, must be inside { 0:16 }

[2728000] (VerifEnv:amba_vip_tml:axi_interconnect_group:ic_slave[0]:xactor): ERROR - receive_read_addr() - {OBJECT_NUM(0) PORT_ID(0) TYPE(READ) ID(b) ADDR(dea887e356a8)} Slave Transaction is_valid check failed.

To resolve this error, you need to add the following statement in the file " svt_axi_user_defines.svi" and also pass the define SVT_AXI_INCLUDE_USER_DEFINES on compile command

define SVT_AXI_MAX_ADDR_DELAY 100


总结

本文主要记录在调整AXI VIP延时的时候如何调整最大值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值