spinal.lib.bus.misc

BusSlaveFactory

Related Doc: package misc

trait BusSlaveFactory extends Area

Bus slave factory is a tool that provide an abstract and smooth way to define register bank

Linear Supertypes
Area, ScalaLocated, ContextUser, GlobalDataUser, Nameable, OwnableRef, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. BusSlaveFactory
  2. Area
  3. ScalaLocated
  4. ContextUser
  5. GlobalDataUser
  6. Nameable
  7. OwnableRef
  8. AnyRef
  9. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. abstract type RefOwnerType

    Definition Classes
    OwnableRef

Abstract Value Members

  1. abstract def busDataWidth: Int

    Return the data width of the bus

  2. abstract def nonStopWrite(that: Data, bitOffset: Int = 0): Unit

    Permanently assign that by the bus write data from bitOffset

  3. abstract def onRead(address: BigInt)(doThat: ⇒ Unit): Unit

    Call doThat when a read transaction occurs on address

  4. abstract def onReadCondition(condition: ⇒ Bool)(doThat: ⇒ Unit): Unit

    Call doThat when a read transaction occurs and the condition is true

  5. abstract def onWrite(address: BigInt)(doThat: ⇒ Unit): Unit

    Call doThat when a write transaction occurs on address

  6. abstract def onWriteCondition(condition: ⇒ Bool)(doThat: ⇒ Unit): Unit

    Call doThat when a write transaction occurs and the condition is true

  7. abstract def read(that: Data, address: BigInt, bitOffset: Int = 0): Unit

    When the bus read the address, fill the response with that at bitOffset

  8. abstract def write[T <: Data](that: T, address: BigInt, bitOffset: Int = 0): T

    When the bus write the address, assign that with bus’s data from bitOffset

Concrete 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. var _config: BusSlaveFactoryConfig

    Configuration of the BusSlaveFactory

    Configuration of the BusSlaveFactory

    Attributes
    protected
  5. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  6. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. var component: Component

    Definition Classes
    ContextUser
  8. def createAndDriveFlow[T <: Data](dataType: T, address: BigInt, bitOffset: Int = 0): Flow[T]

    Create a writable Flow register of type dataType at address and placed at bitOffset in the word

  9. def createReadWrite[T <: Data](dataType: T, address: BigInt, bitOffset: Int = 0): T

    Create a read write register of type dataType at address and placed at bitOffset in the word

  10. def createWriteOnly[T <: Data](dataType: T, address: BigInt, bitOffset: Int = 0): T

    Create a write only register of type dataType at address and placed at bitOffset in the word

  11. def doBitsAccumulationAndClearOnRead(that: Bits, address: BigInt, bitOffset: Int = 0): Unit

    Instanciate an internal register which at each cycle do : reg := reg | that Then when a read occur, the register is cleared.

    Instanciate an internal register which at each cycle do : reg := reg | that Then when a read occur, the register is cleared. This register is readable at address and placed at bitOffset in the word

  12. def drive[T <: Data](that: T, address: BigInt, bitOffset: Int = 0): T

    Drive that with a register writable at address placed at bitOffset in the word

  13. def driveAndRead[T <: Data](that: T, address: BigInt, bitOffset: Int = 0): T

    Drive that with a register writable and readable at address placed at bitOffset in the word

  14. def driveFlow[T <: Data](that: Flow[T], address: BigInt, bitOffset: Int = 0): Unit

    Emit on that a transaction when a write happen at address by using data placed at bitOffset in the word

  15. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  16. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  17. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  18. def forEachNameables(doThat: (Any) ⇒ Unit): Unit

    Definition Classes
    Nameable
  19. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  20. def getConfig: BusSlaveFactoryConfig

  21. def getDisplayName(): String

    Definition Classes
    Nameable
  22. def getInstanceCounter: Int

    Definition Classes
    ContextUser
  23. def getName(default: String): String

    Definition Classes
    Nameable
  24. def getName(): String

    Definition Classes
    Nameable
  25. def getRefOwnersChain(): List[Any]

    Definition Classes
    OwnableRef
  26. def getScalaLocationLong: String

    Definition Classes
    ScalaLocated
  27. def getScalaLocationShort: String

    Definition Classes
    ScalaLocated
  28. val globalData: GlobalData

    Definition Classes
    GlobalDataUser
  29. def hashCode(): Int

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

    Definition Classes
    Any
  31. def isNamed: Boolean

    Definition Classes
    Nameable
  32. def isReading(address: BigInt): Bool

    Return true if the bus is reading

  33. def isUnnamed: Boolean

    Definition Classes
    Nameable
  34. def isWriting(address: BigInt): Bool

    Return true if the bus is writing

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

    Definition Classes
    AnyRef
  36. final def notify(): Unit

    Definition Classes
    AnyRef
  37. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  38. def readAndWrite(that: Data, address: BigInt, bitOffset: Int = 0): Unit

    Make that readable and writable at address and placed at bitOffset in the word

  39. def readAndWriteMultiWord(that: Data, address: BigInt): Unit

    Create the memory mapping to write/read that from address

  40. def readMultiWord(that: Data, address: BigInt): Unit

    Create the memory mapping to read that from address If that is bigger than one word it extends the register on followings addresses

  41. def readStreamNonBlocking[T <: Data](that: Stream[T], address: BigInt, validBitOffset: Int, payloadBitOffset: Int): Unit

    Read that and consume the transaction when a read happen at address.

  42. var refOwner: RefOwnerType

    Definition Classes
    OwnableRef
  43. def reflectNames(): Unit

    Definition Classes
    Area
  44. def setCompositeName(nameable: Nameable, postfix: String, weak: Boolean): BusSlaveFactory.this.type

    Definition Classes
    Nameable
  45. def setCompositeName(nameable: Nameable, postfix: String): BusSlaveFactory.this.type

    Definition Classes
    Nameable
  46. def setCompositeName(nameable: Nameable, weak: Boolean): BusSlaveFactory.this.type

    Definition Classes
    Nameable
  47. def setCompositeName(nameable: Nameable): BusSlaveFactory.this.type

    Definition Classes
    Nameable
  48. def setConfig(value: BusSlaveFactoryConfig): BusSlaveFactory.this.type

  49. def setName(name: String, weak: Boolean): BusSlaveFactory.this.type

    Definition Classes
    Nameable
  50. def setPartialName(name: String, weak: Boolean): BusSlaveFactory.this.type

    Definition Classes
    Nameable
  51. def setPartialName(owner: Nameable, name: String, weak: Boolean): BusSlaveFactory.this.type

    Definition Classes
    Nameable
  52. def setPartialName(name: String): BusSlaveFactory.this.type

    Definition Classes
    Nameable
  53. def setPartialName(owner: Nameable, name: String): BusSlaveFactory.this.type

    Definition Classes
    Nameable
  54. def setRefOwner(that: Any): Unit

    Definition Classes
    OwnableRef
  55. def setWeakName(name: String): BusSlaveFactory.this.type

    Definition Classes
    Nameable
  56. def setWordEndianness(value: Endianness): BusSlaveFactory

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

    Definition Classes
    AnyRef
  58. def toString(): String

    Definition Classes
    Area → Nameable → AnyRef → Any
  59. def unsetName(): Unit

    Definition Classes
    Nameable
  60. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  63. def wordAddressInc: Int

    Address incrementation used by the read and write multi words registers

  64. def writeMultiWord(that: Data, address: BigInt): Unit

    Create the memory mapping to write that at address.

    Create the memory mapping to write that at address. If that is bigger than one word it extends the register on followings addresses

Inherited from Area

Inherited from ScalaLocated

Inherited from ContextUser

Inherited from GlobalDataUser

Inherited from Nameable

Inherited from OwnableRef

Inherited from AnyRef

Inherited from Any

Ungrouped