summaryrefslogtreecommitdiff
path: root/rtl/pkt_switch/axi_bus.sv
blob: f1460ca840118eadc68f047ddd76909af7964cb6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//AXI interface bus
interface axi_bus #(
  parameter int unsigned  AXI_ADDR_WIDTH  = 32,
  parameter int unsigned  AXI_DATA_WIDTH  = 32
  );

  logic [AXI_ADDR_WIDTH-1:0] ADDR;
  logic                      AVALID;
  logic                      AREADY;
  logic                      AWRITE;
  logic                      WVALID;
  logic                      WREADY;
  logic [AXI_DATA_WIDTH-1:0] WDATA;
  logic                      RVALID;
  logic                      RREADY;
  logic [AXI_DATA_WIDTH-1:0] RDATA;

  modport Master(
    input   AREADY, WREADY, RVALID, RDATA,
    output  ADDR, AVALID, AWRITE, WVALID, WDATA, RREADY
  );

  modport Slave(
    input   ADDR, AVALID, AWRITE, WVALID, WDATA, RREADY,
    output  AREADY, WREADY, RVALID, RDATA
  );

endinterface