Package

spinal.lib.bus.amba3

ahblite

Permalink

package ahblite

Visibility
  1. Public
  2. All

Type Members

  1. case class AhbLite3(config: AhbLite3Config) extends Bundle with IMasterSlave with Product with Serializable

    Permalink

    AHB lite interface

  2. case class AhbLite3Arbiter(ahbLite3Config: AhbLite3Config, inputsCount: Int, roundRobinArbiter: Boolean = true) extends Component with Product with Serializable

    Permalink

    AHB Lite arbiter

    AHB Lite arbiter

    ahbLite3Config

    : Ahb bus configuration

    inputsCount

    : Number of inputs for the arbiter

  3. case class AhbLite3Config(addressWidth: Int, dataWidth: Int) extends Product with Serializable

    Permalink
  4. case class AhbLite3CrossbarFactory(ahbLite3Config: AhbLite3Config) extends Product with Serializable

    Permalink

    AhbLite3 Crossbar Factory

    AhbLite3 Crossbar Factory

    Example:
    1. 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()
              }
  5. case class AhbLite3CrossbarSlaveConfig(mapping: SizeMapping, index: Int) extends Product with Serializable

    Permalink
  6. case class AhbLite3CrossbarSlaveConnection(master: AhbLite3) extends Product with Serializable

    Permalink
  7. class AhbLite3Decoder extends Component

    Permalink

    AHB lite decoder

  8. case class AhbLite3Master(config: AhbLite3Config) extends Bundle with IMasterSlave with Product with Serializable

    Permalink

    AHB lite Master interface

  9. case class AhbLite3OnChipRam(AhbLite3Config: AhbLite3Config, byteCount: BigInt) extends Component with Product with Serializable

    Permalink

    AHB on chip RAM

    AHB on chip RAM

    AhbLite3Config

    : Ahb bus configuration

    byteCount

    : Size of the RAM

  10. case class AhbLite3OnChipRamMultiPort(portCount: Int, AhbLite3Config: AhbLite3Config, byteCount: BigInt) extends Component with Product with Serializable

    Permalink
  11. class AhbLite3OnChipRom extends Component

    Permalink

    AHB on chip ROM

  12. class AhbLite3SlaveFactory extends BusSlaveFactoryDelayed

    Permalink
  13. case class AhbLite3ToApb3Bridge(ahbConfig: AhbLite3Config, apbConfig: Apb3Config) extends Component with Product with Serializable

    Permalink
  14. class DefaultAhbLite3Slave extends Component

    Permalink

    Default Slave Return an error when an operation occurs

Value Members

  1. object AhbLite3 extends Serializable

    Permalink
  2. object AhbLite3Decoder

    Permalink
  3. object AhbLite3ToApb3BridgePhase extends SpinalEnum

    Permalink

Ungrouped