| @@ -0,0 +1,65 @@ | |||||
| Interfate axi_intf(input bit clk, reset); | |||||
| ///////////////////write address channel///////////// | |||||
| input logic awvalid; | |||||
| output logic awready; input logic [3:0] awid; | |||||
| input logic [3:0] awlen; | |||||
| input logic [2:0] awsize; | |||||
| input logic [31:0] awaddr; | |||||
| input logic [1:0] awburst; | |||||
| /////////////////////write data channel////////////////////////// | |||||
| input logic wvalid; | |||||
| output logic wready; | |||||
| input logic [3:0] wid; | |||||
| input logic [31:0] wdata; | |||||
| input logic [3:0] wstrb; | |||||
| input logic wlast; | |||||
| ///////////////write response channel///////////////////// | |||||
| input logic bready; | |||||
| output logic bvalid; | |||||
| output logic [3:0] bid; | |||||
| output logic [1:0] bresp; | |||||
| ////////////// read address channel//////////////// | |||||
| output logic reg arready; | |||||
| input logic [3:0] arid; | |||||
| input logic [31:0] araddr; | |||||
| input logic [3:0] arlen; | |||||
| input logic [2:0] arsize; | |||||
| input logic [1:0] arburst; | |||||
| input logic arvalid; | |||||
| ///////////////////read data channel//////////////////// | |||||
| output logic [3:0] rid; | |||||
| output logic [31:0]rdata; | |||||
| output logic [1:0] rresp; | |||||
| output logic rlast; | |||||
| output logic rvalid; | |||||
| input logic rready; | |||||
| ////////////////////bvalid assertion////////////// | |||||
| property wvalid_wready; | |||||
| @(posedge clk) (wvalid && wready)|=> bvalid; | |||||
| endproperty | |||||
| assert property(wvalid_wready) | |||||
| $display("bvalid is asserted after wvalid and wready:assertion passed"); | |||||
| else | |||||
| 'uvm_error("assertion failed"); | |||||
| ////////////////////rvalid assertion////////////// | |||||
| property arvalid_arready; | |||||
| @(posedge clk) (arvalid && arready)|=> rvalid; | |||||
| endproperty | |||||
| assert property(arvalid_arready) | |||||
| $display("rvalid is asserted after arvalid and arready:assertion passed"); | |||||
| else | |||||
| 'uvm_error("assertion failed"); | |||||
| endinterface | |||||