c

spinal.lib.bus.wishbone

WishboneInterconFactory

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()

Type Members

  1. case class ConnectionModel(m: Wishbone, s: Wishbone, connector: (Wishbone, Wishbone) ⇒ Unit = WishboneConnectors.direct) extends Product with Serializable
  2. case class MasterModel(connector: (Wishbone, Wishbone) ⇒ Unit = WishboneConnectors.direct) extends Product with Serializable
  3. case class SlaveModel(mapping: AddressMapping, connector: (Wishbone, Wishbone) ⇒ Unit = WishboneConnectors.direct, transactionLock: Boolean = true) extends Product with Serializable

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def addMaster(bus: Wishbone, accesses: Seq[Wishbone]): WishboneInterconFactory.this.type

    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

    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: AddressMapping): WishboneInterconFactory.this.type

    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.AddressMapping

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

    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 KiB),
        ram.io.buses(1)     -> SizeMapping(0x00000,  64 KiB),
        peripherals.io.bus  -> SizeMapping(0x70000,  64 Byte),
        flashXip.io.bus     -> SizeMapping(0x80000, 512 KiB),
        slowBus             -> DefaultMapping
      )
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. def build(): Unit
  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @IntrinsicCandidate()
  11. val connections: ArrayBuffer[ConnectionModel]
  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. val masters: LinkedHashMap[Wishbone, MasterModel]
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  19. def setConnector(m: Wishbone, s: Wishbone)(connector: (Wishbone, Wishbone) ⇒ Unit): Unit

    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
      }
  20. def setConnector(bus: Wishbone)(connector: (Wishbone, Wishbone) ⇒ Unit): Unit

    Modify a connection

    Modify a connection

    bus

    the bus

  21. val slaves: LinkedHashMap[Wishbone, SlaveModel]
  22. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped