AHB lite interface
AHB Lite arbiter
AhbLite3 Crossbar Factory
AhbLite3 Crossbar Factory
class TopLevel extends Component { val ahbConfig = AhbLite3Config(addressWidth = 16, dataWidth = 32) val io = new Bundle{ val ahbMasters = Vec(slave(AhbLite3Master(ahbConfig)), 3) val ahbSlaves = Vec(master(AhbLite3(ahbConfig)), 4) } val crossbar = AhbLite3CrossbarFactory(ahbConfig) .addSlaves( io.ahbSlaves(0) -> (0x1000,0x1000), io.ahbSlaves(1) -> (0x3000,0x1000), io.ahbSlaves(2) -> (0x4000,0x1000), io.ahbSlaves(3) -> (0x5000,0x1000) ) .addConnections( io.ahbMasters(0).toAhbLite3() -> List(ahbSlaves(0), ahbSlaves(1)), io.ahbMasters(1).toAhbLite3() -> List(ahbSlaves(1), ahbSlaves(2), ahbSlaves(3)), io.ahbMasters(2).toAhbLite3() -> List(ahbSlaves(0), ahbSlaves(3)) ) // ** OPTIONAL ** //.addGlobalDefaultSlave(io.defaultSalve) //.addDefaultSalves( // io.ahbMaster(0) -> io.defaultSlaveM0, // io.ahbMaster(1) -> io.defaultSalveM1 //) .build() }
AHB lite decoder
AHB lite Master interface
AHB on chip RAM
AHB on chip RAM
: Ahb bus configuration
: Size of the RAM
AHB on chip ROM
Default Slave Return an error when an operation occurs
AHB Lite arbiter
: Ahb bus configuration
: Number of inputs for the arbiter