There are two variables in AXI Slave VIP that control the delay between the AREADY and AVALID:
MAX: dw_vip_axi_port_configuration :: m_nMaxDelay = 5000
MIN: m_nAvalidAreadyDelay = 0;
You can set your own Maximum delay in VMM env as below (using configuration):
class axiEnv extends vmm_env;
virtual function void gen_cfg() ;
super.gen_cfg();
vip_axi_slave_cfg.m_oPortCfg.m_nMaxDelay=3000;
endfunction : gen_cfg
endclass
also you can specify the minimum delay in Slave Responseras below (using object member):
task axiSlaveXactor::recv_write();
$display("###################################################");
$display($time,,"SLAVE receives a WRITE transaction");
$display("##################################################");
resp_trans.display("SLAVE RECV ::\t");
$display("\n");
/* Put the response object into the VIP slave input channel. */
resp_trans.m_nAvalidAreadyDelay =3;
o_input_chan.put(resp_trans);
endtask
本文深入探讨了AXISlaveVIP中控制AREADY和AVALID之间延迟的两个变量,提供了如何在VMM环境中自定义最大延迟的方法,并展示了在从写请求到响应过程中设置最小响应延迟的实现。
4572

被折叠的 条评论
为什么被折叠?



