@@ -22,12 +22,16 @@ interface OuterIfc;
2222 method Bool arValid;
2323 method Bool awValid;
2424 method Bool wValid;
25+ method Bool rRespNotFull;
2526 interface AxiIfc axi;
2627endinterface
2728
2829typedef struct {
2930 Bit # ( AxiIdWidth) id;
31+ Bit # ( 1 ) offset;
32+ Bool replicate;
3033 Bool last;
34+ AXI4_BurstSize burst_size;
3135} RStatus deriving ( Bits , Eq , FShow ) ;
3236
3337typedef struct {
@@ -51,9 +55,12 @@ instance DefaultValue#(RSplit);
5155 } ;
5256endinstance
5357
54- typedef union tagged {
55- AXI4_Read_Rq# ( AxiAddrWidth, AxiIdWidth, AxiUserWidth) READ_ADDR_REQ;
56- AXI4_Write_Rq_Addr# ( AxiAddrWidth, AxiIdWidth, AxiUserWidth) WRITE_ADDR_REQ;
58+ typedef struct {
59+ Bit # ( AxiAddrWidth) addr;
60+ Bit # ( AxiIdWidth) id;
61+ AXI4_BurstType burst_type;
62+ AXI4_BurstSize burst_size;
63+ UInt # ( 8 ) burst_length;
5764} AddrReqType deriving ( Bits , Eq , FShow ) ;
5865
5966
@@ -69,6 +76,7 @@ module mkOuterPhy(OuterIfc);
6976 FIFOF # ( AXI4_Read_Rq# ( AxiAddrWidth, AxiIdWidth, AxiUserWidth)) arReqFifo < - mkFIFOF;
7077 FIFOF # ( AXI4_Write_Rq_Addr# ( AxiAddrWidth, AxiIdWidth, AxiUserWidth)) awReqFifo < - mkFIFOF;
7178 FIFOF # ( AXI4_Write_Rq_Data# ( AxiDataWidth, AxiUserWidth)) wReqFifo < - mkFIFOF;
79+ FIFOF # ( AXI4_Read_Rs# ( AxiDataWidth, AxiIdWidth, AxiUserWidth)) rRespFifo < - mkSizedFIFOF( 8 ) ;
7280
7381 rule arReqFifoEnq;
7482 let d < - s_rd.request.get;
@@ -120,6 +128,10 @@ module mkOuterPhy(OuterIfc);
120128 return wReqFifo.notEmpty;
121129 endmethod
122130
131+ method Bool rRespNotFull;
132+ return rRespFifo.notFull;
133+ endmethod
134+
123135 interface AxiIfc axi;
124136 interface AXI4_Slave_Rd_Fab rd = s_rd.fab;
125137 interface AXI4_Slave_Wr_Fab wr = s_wr.fab;
0 commit comments