AXI VIP中各种Lantency的設置
一、AXI VIP(以Slave為例)可以配置為fast mode與slow mode。
bit axi_slave_fasterest_mode = 1;
bit axi_slave_slowest_mode = 0;
this.slave_cfg[0].default_awready = 1'b0;
this.slave_cfg[0].default_wready = 1'b0;
this.slave_cfg[0].default_arready = 1'b0;
二、AXI VIP Test Slave Sequence。
if(axi_cfg.axi_slave_fastest_mode) {
//faster mode
addr_ready_delay == 0;
foreach(wready_delay[n]) wready_delay[n] == 0;
bvalid_delay == 0;
foreach(rvalid_delay[n]) rvalid_delay[n] == 0;
}
三、如果DUT中有Response FIFO,那麼如何能是得B Response FIFO滿呢?可以按照如下思路設置VIP:
- 減小FIFO的Depth
- 在Fast Mode的情況下,將bvalid的delay設置為最大值:bvalid_delay = `SVT_AXI_MAX_WRITE_RESP_DELAY
- 連續發較短的寫command
四、如何使得Data FIFO很快變空呢?
- 增大arready的delay
- 減小wready的delay
五、對於AXI VIP,最好收以下幾種組合的Coverage:
- Fastest mode與Slowest_mode
- Ready信號的極限組合,如讀最快寫最慢。
- 讀優先與寫優先