From 5e10767d9c667101837fe1bf63f01735b064f669 Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Fri, 27 Jul 2018 07:25:42 +0100 Subject: [PATCH] add 32-pin output-enable to flexbus, rename get/put interfaces --- src/peripherals/flexbus/FlexBus_Types.bsv | 51 ++++++++++++++--------- 1 file changed, 31 insertions(+), 20 deletions(-) diff --git a/src/peripherals/flexbus/FlexBus_Types.bsv b/src/peripherals/flexbus/FlexBus_Types.bsv index 9e3533e..f46fae5 100644 --- a/src/peripherals/flexbus/FlexBus_Types.bsv +++ b/src/peripherals/flexbus/FlexBus_Types.bsv @@ -67,19 +67,20 @@ interface FlexBus_Master_IFC; // FlexBus External Signals // AD inout bus separate for now in BSV - interface Get#(Bit#(32)) AD; // out - interface Put#(Bit#(32)) din; // in + interface Get#(Bit#(32)) m_AD; // out + interface Put#(Bit#(32)) m_din; // in + interface Get#(Bit#(32)) m_OE32n; // out 32-bits, same as OEn - interface Get#(Bit#(1)) R_Wn; // out - interface Get#(Bit#(2)) TSIZ; // out + interface Get#(Bit#(1)) m_R_Wn; // out + interface Get#(Bit#(2)) m_TSIZ; // out - interface Get#(Bit#(6)) FBCSn; // out - interface Get#(Bit#(4)) BWEn; // out - interface Get#(Bit#(1)) TBSTn; // out - interface Get#(Bit#(1)) OEn; // out + interface Get#(Bit#(6)) m_FBCSn; // out + interface Get#(Bit#(4)) m_BWEn; // out + interface Get#(Bit#(1)) m_TBSTn; // out + interface Get#(Bit#(1)) m_OEn; // out - interface Get#(Bit#(1)) ALE; // out - interface Put#(Bit#(1)) tAn; // in + interface Get#(Bit#(1)) m_ALE; // out + interface Put#(Bit#(1)) m_tAn; // in endinterface: FlexBus_Master_IFC @@ -1073,61 +1074,71 @@ module mkAXI4_Slave_to_FlexBus_Master_Xactor interface flexbus_side = interface FlexBus_Master_IFC; //interface io_AD_master = tri_AD_out.io; - interface tAn = interface Put + interface m_tAn = interface Put method Action put(Bit#(1) in) if(c_TAn[0] matches tagged Invalid); c_TAn[0] <= tagged Valid in; endmethod endinterface; - interface din = interface Put + interface m_din = interface Put method Action put(Bit#(32) in) if(c_din[0] matches tagged Invalid); c_din[0] <= tagged Valid in; endmethod endinterface; - interface AD = interface Get + interface m_AD = interface Get method ActionValue#(Bit#(32)) get; return r_AD; endmethod endinterface; - interface R_Wn = interface Get + interface m_R_Wn = interface Get method ActionValue#(Bit#(1)) get; return r_R_Wn; endmethod endinterface; - interface TSIZ = interface Get + interface m_TSIZ = interface Get method ActionValue#(Bit#(2)) get; return r_TSIZ; endmethod endinterface; - interface FBCSn = interface Get + interface m_FBCSn = interface Get method ActionValue#(Bit#(6)) get; return r_FBCSn; endmethod endinterface; - interface BWEn = interface Get + interface m_BWEn = interface Get method ActionValue#(Bit#(4)) get; return r_BE_BWEn; endmethod endinterface; - interface TBSTn = interface Get + interface m_TBSTn = interface Get method ActionValue#(Bit#(1)) get; return r_TBSTn; endmethod endinterface; - interface OEn = interface Get + interface m_OE32n = interface Get + method ActionValue#(Bit#(32)) get; + Bit#(32) ten; + for (int i=0; i<32; i=i+1) begin + ten[i] = r_OEn; + end + return ten; + endmethod + endinterface; + + interface m_OEn = interface Get method ActionValue#(Bit#(1)) get; return r_OEn; endmethod endinterface; - interface ALE = interface Get + interface m_ALE = interface Get method ActionValue#(Bit#(1)) get; return r_ALE; endmethod -- 2.30.2