package FlexBus_Slave_to_AXI4_Master_Fabric_Types; // ================================================================ // Exports export FlexBus_Slave_to_AXI4_Master_Fabric_IFC (..), // Transactors from RTL-level interfacecs to FIFO-like interfaces. mkFlexBus_Slave_to_AXI4_Master_Fabric; // ================================================================ // BSV library imports import ConfigReg ::*; import FIFOF :: *; import SpecialFIFOs::*; import Connectable :: *; import TriState ::*; `include "core_parameters.bsv" // ---------------- // BSV additional libs import Semi_FIFOF :: *; import FlexBus_Types :: *; import AXI4_Types :: *; function Bit#(wd_addr) address_increment(Bit#(8) arlen, Bit#(3) arsize, Bit#(2) arburst, Bit#(wd_addr) address) provisos( Add#(a__, 4, wd_addr), Add#(b__, 3, wd_addr), Add#(c__, 2, wd_addr)); // bit_width_size= (2^arsize)*8 // arburst = 0(FIXED), 1(INCR) and 2(WRAP) if(arburst==0) // FIXED return address; else if(arburst==1)begin // INCR return address+ (('b1)<