Class

spinal.lib.bus.wishbone

WishboneInterconFactory

Related Doc: package wishbone

Permalink

case class WishboneInterconFactory() extends Product with Serializable

Linear Supertypes
Serializable, Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. WishboneInterconFactory
  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 WishboneInterconFactory()

    Permalink

Type Members

  1. case class ConnectionModel(m: Wishbone, s: Wishbone, connector: (Wishbone, Wishbone) ⇒ Unit = WishboneConnectors.direct) extends Product with Serializable

    Permalink
  2. case class MasterModel(connector: (Wishbone, Wishbone) ⇒ Unit = WishboneConnectors.direct) extends Product with Serializable

    Permalink
  3. case class SlaveModel(mapping: SizeMapping, connector: (Wishbone, Wishbone) ⇒ Unit = WishboneConnectors.direct, transactionLock: Boolean = true) extends Product with Serializable

    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 addMaster(bus: Wishbone, accesses: Seq[Wishbone]): WishboneInterconFactory.this.type

    Permalink

    Queue a master to be connected

    Queue a master to be connected

    bus

    a master wishbone device

    accesses

    a list of slaves device to connect the master with

  5. def addMasters(specs: (Wishbone, Seq[Wishbone])*): WishboneInterconFactory.this.type

    Permalink

    Queue a master to be connected

    Queue a master to be connected

    specs

    a tuple of master wishbone device and a list of slaves device to connect the master with

    Example:
    1. interconnect.addMasters(
        dBus   -> List(ram.io.buses(0), slowBus),
        iBus   -> List(ram.io.buses(1), slowBus),
        slowBus-> List(peripherals.io.bus, flashXip.io.bus)
      )
  6. def addSlave(bus: Wishbone, mapping: SizeMapping): WishboneInterconFactory.this.type

    Permalink

    add a slave to the intercon, and specify its address space

    add a slave to the intercon, and specify its address space

    bus

    the slave device

    mapping

    the address defined via spinal.lib.bus.misc.SizeMapping

  7. def addSlaves(orders: (Wishbone, SizeMapping)*): WishboneInterconFactory.this.type

    Permalink

    add multiple slave to the intercon, and specify their address space

    add multiple slave to the intercon, and specify their address space

    Example:
    1. interconnect.addSlaves(
        ram.io.buses(0)     -> SizeMapping(0x00000,  64 kB),
        ram.io.buses(1)     -> SizeMapping(0x00000,  64 kB),
        peripherals.io.bus  -> SizeMapping(0x70000,  64 Byte),
        flashXip.io.bus     -> SizeMapping(0x80000, 512 kB),
        slowBus             -> DefaultMapping
      )
  8. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  9. def build(): Unit

    Permalink
  10. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. val connections: ArrayBuffer[ConnectionModel]

    Permalink
  12. final def eq(arg0: AnyRef): Boolean

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

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

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

    Permalink
    Definition Classes
    Any
  16. val masters: LinkedHashMap[Wishbone, MasterModel]

    Permalink
  17. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  20. def setConnector(m: Wishbone, s: Wishbone)(connector: (Wishbone, Wishbone) ⇒ Unit): Unit

    Permalink

    Modify a connection

    Modify a connection

    m

    the master where the conenction start

    s

    the slave that is connected to the master

    Example:
    1. interconnect.setConnector(dBus, slowBus){(m,s) =>
        m.cmd.halfPipe() >> s.cmd
        m.rsp            << s.rsp
      }
  21. def setConnector(bus: Wishbone)(connector: (Wishbone, Wishbone) ⇒ Unit): Unit

    Permalink

    Modify a connection

    Modify a connection

    bus

    the bus

  22. val slaves: LinkedHashMap[Wishbone, SlaveModel]

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. 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