Class

spinal.lib.bus.amba3.ahblite

AhbLite3CrossbarFactory

Related Doc: package ahblite

Permalink

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

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()
            }
Linear Supertypes
Serializable, Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AhbLite3CrossbarFactory
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new AhbLite3CrossbarFactory(ahbLite3Config: AhbLite3Config)

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def addConnection(order: (AhbLite3, Seq[AhbLite3])): AhbLite3CrossbarFactory.this.type

    Permalink
  5. def addConnection(ahb: AhbLite3, ahbLite3Slave: Seq[AhbLite3]): AhbLite3CrossbarFactory.this.type

    Permalink
  6. def addConnections(orders: (AhbLite3, Seq[AhbLite3])*): AhbLite3CrossbarFactory.this.type

    Permalink
  7. def addDefaultSlaves(order: (AhbLite3, AhbLite3)*): AhbLite3CrossbarFactory.this.type

    Permalink

    Add a custom default slave for each Master (decoder)

  8. def addGlobalDefaultSlave(slave: AhbLite3): AhbLite3CrossbarFactory.this.type

    Permalink

    Add a global default slaves

  9. def addSlave(ahb: AhbLite3, mapping: SizeMapping): AhbLite3CrossbarFactory.this.type

    Permalink
  10. def addSlaves(orders: (AhbLite3, SizeMapping)*): AhbLite3CrossbarFactory.this.type

    Permalink
  11. val ahbLite3Config: AhbLite3Config

    Permalink
  12. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  13. def build(): Area { ... /* 3 definitions in type refinement */ }

    Permalink

    Build the crossbar

  14. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  15. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  16. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  17. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  18. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  19. def masters: Seq[AhbLite3]

    Permalink

    Get a list of all masters

  20. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  21. def noRoundRobinArbiter(): Unit

    Permalink
  22. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  23. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  24. var roundRobinArbiter: Boolean

    Permalink
  25. val slavesConfigs: LinkedHashMap[AhbLite3, AhbLite3CrossbarSlaveConfig]

    Permalink
  26. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  27. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped