Browse Source

xi_interface

main
charan 6 months ago
parent
commit
0634e3a81e
1 changed files with 65 additions and 0 deletions
  1. +65
    -0
      axi_intrfc.sv

+ 65
- 0
axi_intrfc.sv View File

@@ -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

Loading…
Cancel
Save