Packages

c

spinal.lib.bus.amba4.apb

Apb4SlaveFactory

class Apb4SlaveFactory extends BusSlaveFactoryDelayed

Linear Supertypes
BusSlaveFactoryDelayed, BusSlaveFactory, Area, OverridedEqualsHashCode, ValCallbackRec, ValCallback, NameableByComponent, Nameable, ContextUser, ScalaLocated, GlobalDataUser, OwnableRef, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Apb4SlaveFactory
  2. BusSlaveFactoryDelayed
  3. BusSlaveFactory
  4. Area
  5. OverridedEqualsHashCode
  6. ValCallbackRec
  7. ValCallback
  8. NameableByComponent
  9. Nameable
  10. ContextUser
  11. ScalaLocated
  12. GlobalDataUser
  13. OwnableRef
  14. AnyRef
  15. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Apb4SlaveFactory(bus: Apb4, selId: Int, dontCareReadData: Boolean = false)

Type Members

  1. abstract type RefOwnerType
    Definition Classes
    OwnableRef

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

    Configuration of the BusSlaveFactory

    Configuration of the BusSlaveFactory

    Attributes
    protected
    Definition Classes
    BusSlaveFactory
  5. val _context: Capture
    Definition Classes
    Area
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. val askRead: Bool
  8. val askWrite: Bool
  9. def build(): Unit

    In this function you have to define the read/write logic thanks to element, elementsPerAddress and elementsPerRangeAddress This is the only thing with def busDataWidth that should be implement by class that extends BusSlaveFactoryDelay

    In this function you have to define the read/write logic thanks to element, elementsPerAddress and elementsPerRangeAddress This is the only thing with def busDataWidth that should be implement by class that extends BusSlaveFactoryDelay

    Definition Classes
    Apb4SlaveFactoryBusSlaveFactoryDelayed
  10. def busDataWidth: Int

    Return the data width of the bus

    Return the data width of the bus

    Definition Classes
    Apb4SlaveFactoryBusSlaveFactory
  11. def childNamePriority: Byte
    Definition Classes
    Area
  12. def clearOnSet[T <: Data](that: T, address: BigInt, bitOffset: Int = 0): T
    Definition Classes
    BusSlaveFactory
  13. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  14. def component: Component
    Definition Classes
    ContextUser
  15. 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

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

    Definition Classes
    BusSlaveFactory
  16. def createReadAndClearOnSet[T <: Data](dataType: T, address: BigInt, bitOffset: Int = 0): T
    Definition Classes
    BusSlaveFactory
  17. def createReadAndSetOnSet[T <: Data](dataType: T, address: BigInt, bitOffset: Int = 0): T
    Definition Classes
    BusSlaveFactory
  18. def createReadAndWrite[T <: Data](dataType: T, address: BigInt, bitOffset: Int = 0, documentation: String = null): T

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

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

    Definition Classes
    BusSlaveFactory
  19. def createReadMultiWord[T <: Data](that: T, address: BigInt, documentation: String = null): T

    Create multi-words read register of type dataType

    Create multi-words read register of type dataType

    Definition Classes
    BusSlaveFactory
  20. def createReadOnly[T <: Data](dataType: T, address: BigInt, bitOffset: Int = 0, documentation: String = null): T

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

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

    Definition Classes
    BusSlaveFactory
  21. def createWriteAndReadMultiWord[T <: Data](that: T, address: BigInt, documentation: String = null): T

    Create multi-words write and read register of type dataType

    Create multi-words write and read register of type dataType

    Definition Classes
    BusSlaveFactory
  22. def createWriteMultiWord[T <: Data](that: T, address: BigInt, documentation: String = null): T

    Create multi-words write register of type dataType

    Create multi-words write register of type dataType

    Definition Classes
    BusSlaveFactory
  23. def createWriteOnly[T <: Data](dataType: T, address: BigInt, bitOffset: Int = 0, documentation: String = null): T

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

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

    Definition Classes
    BusSlaveFactory
  24. def dataModelString(): String
    Definition Classes
    BusSlaveFactoryDelayed
  25. def doBitsAccumulationAndClearOnRead(that: Bits, address: BigInt, bitOffset: Int = 0): Unit

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

    Instantiate 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

    Definition Classes
    BusSlaveFactory
  26. def doMappedElements(jobs: Seq[BusSlaveFactoryElement], askWrite: Bool, askRead: Bool, doWrite: Bool, doRead: Bool, writeData: Bits, readData: Bits): Unit
    Definition Classes
    BusSlaveFactoryDelayed
  27. def doMappedReadElements(jobs: Seq[BusSlaveFactoryElement], askRead: Bool, doRead: Bool, readData: Bits): Unit
    Definition Classes
    BusSlaveFactoryDelayed
  28. def doMappedWriteElements(jobs: Seq[BusSlaveFactoryElement], askWrite: Bool, doWrite: Bool, writeData: Bits): Unit
    Definition Classes
    BusSlaveFactoryDelayed
  29. def doNonStopWrite(writeData: Bits): Unit
    Definition Classes
    BusSlaveFactoryDelayed
  30. val doRead: Bool
  31. val doWrite: Bool
  32. def drive[T <: Data](address: BigInt, bitMapping: (Int, Data)*): Unit
    Definition Classes
    BusSlaveFactory
  33. def drive[T <: Data](that: T, address: BigInt, bitOffset: Int = 0, documentation: String = null): T

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

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

    Definition Classes
    BusSlaveFactory
  34. def driveAndRead[T <: Data](that: T, address: BigInt, bitOffset: Int = 0, documentation: String = null): T

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

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

    Definition Classes
    BusSlaveFactory
  35. def driveAndReadMultiWord[T <: Data](that: T, address: BigInt, documentation: String = null): T

    Drive and read that on multi-word

    Drive and read that on multi-word

    Definition Classes
    BusSlaveFactory
  36. 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

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

    Definition Classes
    BusSlaveFactory
  37. def driveMultiWord[T <: Data](that: T, address: BigInt, documentation: String = null): T

    Drive that on multi-words

    Drive that on multi-words

    Definition Classes
    BusSlaveFactory
  38. val elements: ArrayBuffer[BusSlaveFactoryElement]

    Contains all elements created

    Contains all elements created

    Definition Classes
    BusSlaveFactoryDelayed
  39. val elementsOk: HashSet[BusSlaveFactoryElement]
    Definition Classes
    BusSlaveFactoryDelayed
  40. val elementsPerAddress: LinkedHashMap[AddressMapping, ArrayBuffer[BusSlaveFactoryElement]]

    Contains all elements related to an address

    Contains all elements related to an address

    Definition Classes
    BusSlaveFactoryDelayed
  41. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  42. def equals(obj: Any): Boolean
    Definition Classes
    OverridedEqualsHashCode → AnyRef → Any
  43. def foreachReflectableNameables(doThat: (Any) ⇒ Unit): Unit
    Definition Classes
    Nameable
  44. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  45. def getConfig: BusSlaveFactoryConfig
    Definition Classes
    BusSlaveFactory
  46. def getDisplayName(): String
    Definition Classes
    Nameable
  47. def getInstanceCounter: Int
    Definition Classes
    ContextUser
  48. def getMode: Byte
    Attributes
    protected
    Definition Classes
    Nameable
  49. def getName(default: String): String
    Definition Classes
    NameableByComponent → Nameable
  50. def getName(): String
    Definition Classes
    NameableByComponent → Nameable
  51. def getPartialName(): String
    Definition Classes
    Nameable
  52. def getPath(from: Component, to: Component): Seq[Component]
    Definition Classes
    NameableByComponent
  53. def getRefOwnersChain(): List[Any]
    Definition Classes
    OwnableRef
  54. def getScalaLocationLong: String
    Definition Classes
    ScalaLocated
  55. def getScalaLocationShort: String
    Definition Classes
    ScalaLocated
  56. def getScalaTrace(): Throwable
    Definition Classes
    ScalaLocated
  57. val globalData: GlobalData
    Definition Classes
    GlobalDataUser
  58. def hashCode(): Int
    Definition Classes
    OverridedEqualsHashCode → AnyRef → Any
  59. def isCompletelyUnnamed: Boolean
    Definition Classes
    Nameable
  60. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  61. def isNamed: Boolean
    Definition Classes
    NameableByComponent → Nameable
  62. def isPriorityApplicable(namePriority: Byte): Boolean
    Definition Classes
    Nameable
  63. def isReading(address: BigInt): Bool

    Return true if the bus is reading

    Return true if the bus is reading

    Definition Classes
    BusSlaveFactory
  64. def isUnnamed: Boolean
    Definition Classes
    Nameable
  65. def isWriting(address: BigInt): Bool

    Return true if the bus is writing

    Return true if the bus is writing

    Definition Classes
    BusSlaveFactory
  66. def multiCycleRead(address: AddressMapping, cycles: BigInt): Unit
    Definition Classes
    BusSlaveFactory
  67. val name: String
    Definition Classes
    Nameable
  68. val nameableRef: Nameable
    Attributes
    protected
    Definition Classes
    Nameable
    Annotations
    @DontName()
  69. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  70. def nonStopWrite[T <: Data](that: T, bitOffset: Int = 0, documentation: String = null): T

    Permanently assign that by the bus write data from bitOffset

    Permanently assign that by the bus write data from bitOffset

    Definition Classes
    BusSlaveFactoryDelayedBusSlaveFactory
  71. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  72. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  73. def onRead(address: BigInt, documentation: String = null)(doThat: ⇒ Unit): Unit

    Call doThat when a read transaction occurs on address

    Call doThat when a read transaction occurs on address

    Definition Classes
    BusSlaveFactory
  74. def onReadPrimitive(address: AddressMapping, haltSensitive: Boolean, documentation: String)(doThat: ⇒ Unit): Unit
  75. def onWrite(address: BigInt, documentation: String = null)(doThat: ⇒ Unit): Unit

    Call doThat when a write transaction occurs on address

    Call doThat when a write transaction occurs on address

    Definition Classes
    BusSlaveFactory
  76. def onWritePrimitive(address: AddressMapping, haltSensitive: Boolean, documentation: String)(doThat: ⇒ Unit): Unit
  77. def overrideLocalName(name: String): Apb4SlaveFactory.this.type
    Definition Classes
    Nameable
  78. val parentScope: ScopeStatement
    Definition Classes
    ContextUser
  79. def printDataModel(): Unit
    Definition Classes
    BusSlaveFactoryDelayed
  80. def read[T <: Data](address: BigInt, bitMapping: (Int, Data)*): Unit
    Definition Classes
    BusSlaveFactory
  81. def read[T <: Data](that: T, address: BigInt, bitOffset: Int = 0, documentation: String = null): T

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

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

    Definition Classes
    BusSlaveFactory
  82. def readAddress(): UInt
    Definition Classes
    Apb4SlaveFactoryBusSlaveFactory
  83. def readAddress(address: AddressMapping): UInt
    Definition Classes
    BusSlaveFactory
  84. def readAndClearOnSet[T <: Data](that: T, address: BigInt, bitOffset: Int = 0): T
    Definition Classes
    BusSlaveFactory
  85. def readAndSetOnSet[T <: Data](that: T, address: BigInt, bitOffset: Int = 0): T
    Definition Classes
    BusSlaveFactory
  86. def readAndWrite(that: Data, address: BigInt, bitOffset: Int = 0, documentation: String = null): Unit

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

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

    Definition Classes
    BusSlaveFactory
  87. def readAndWriteMultiWord(that: Data, address: BigInt, documentation: String = null): Unit

    Create the memory mapping to write/read that from address

    Create the memory mapping to write/read that from address

    Definition Classes
    BusSlaveFactory
  88. def readError(): Unit
    Definition Classes
    BusSlaveFactory
  89. val readErrorFlag: Bool
    Definition Classes
    BusSlaveFactory
  90. def readFire(): Bool
    Definition Classes
    BusSlaveFactory
  91. def readHalt(): Unit
    Definition Classes
    Apb4SlaveFactoryBusSlaveFactory
  92. def readMultiWord(that: Data, address: BigInt, documentation: String = null): Unit

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

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

    Definition Classes
    BusSlaveFactory
  93. def readPrimitive[T <: Data](that: T, address: AddressMapping, bitOffset: Int, documentation: String): Unit
  94. def readStreamNonBlocking[T <: Data](that: Stream[T], address: BigInt, validBitOffset: Int, payloadBitOffset: Int, validInverted: Boolean = false): Unit

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

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

    Definition Classes
    BusSlaveFactory
  95. def readStreamNonBlocking[T <: Data](that: Stream[T], address: BigInt): Unit

    Read that (that is bigger than the busWidth) and consume the transaction when a read happen at address.

    Read that (that is bigger than the busWidth) and consume the transaction when a read happen at address.

    Definition Classes
    BusSlaveFactory
    Note

    in order to avoid to read wrong data read first the address which contains the valid signal. Little : payload - valid at address 0x00 Big : valid - payload at address 0x00 Once the valid signal is true you can read all registers

  96. def readSyncMemMultiWord[T <: Data](mem: Mem[T], addressOffset: BigInt): Mem[T]

    Memory map a Mem to bus for reading.

    Memory map a Mem to bus for reading. Elements can be larger than bus data width in bits.

    Definition Classes
    BusSlaveFactory
  97. def readSyncMemWordAligned[T <: Data](mem: Mem[T], addressOffset: BigInt, bitOffset: Int = 0): Mem[T]
    Definition Classes
    BusSlaveFactory
  98. val refOwner: RefOwnerType
    Definition Classes
    OwnableRef
    Annotations
    @DontName()
  99. def reflectNames(): Unit
    Definition Classes
    Nameable
  100. def rework[T](body: ⇒ T): T
    Definition Classes
    Area
  101. val scalaTrace: Throwable
    Definition Classes
    ScalaLocated
  102. def setCompositeName(nameable: Nameable, postfix: String, namePriority: Byte): Apb4SlaveFactory.this.type
    Definition Classes
    Nameable
  103. def setCompositeName(nameable: Nameable, postfix: String, weak: Boolean): Apb4SlaveFactory.this.type
    Definition Classes
    Nameable
  104. def setCompositeName(nameable: Nameable, postfix: String): Apb4SlaveFactory.this.type
    Definition Classes
    Nameable
  105. def setCompositeName(nameable: Nameable, namePriority: Byte): Apb4SlaveFactory.this.type
    Definition Classes
    Nameable
  106. def setCompositeName(nameable: Nameable, weak: Boolean): Apb4SlaveFactory.this.type
    Definition Classes
    Nameable
  107. def setCompositeName(nameable: Nameable): Apb4SlaveFactory.this.type
    Definition Classes
    Nameable
  108. def setConfig(value: BusSlaveFactoryConfig): Apb4SlaveFactory.this.type
    Definition Classes
    BusSlaveFactory
  109. def setLambdaName(isNameBody: ⇒ Boolean)(nameGen: ⇒ String): Apb4SlaveFactory.this.type
    Definition Classes
    Nameable
  110. def setName(name: String, namePriority: Byte): Apb4SlaveFactory.this.type
    Definition Classes
    Nameable
  111. def setName(name: String, weak: Boolean): Apb4SlaveFactory.this.type
    Definition Classes
    Nameable
  112. def setName(name: String): Apb4SlaveFactory.this.type
    Definition Classes
    Nameable
  113. def setNameAsWeak(): Apb4SlaveFactory.this.type
    Definition Classes
    Nameable
  114. def setOnClear[T <: Data](that: T, address: BigInt, bitOffset: Int = 0): T
    Definition Classes
    BusSlaveFactory
  115. def setOnSet[T <: Data](that: T, address: BigInt, bitOffset: Int = 0): T
    Definition Classes
    BusSlaveFactory
  116. def setPartialName(name: String, namePriority: Byte, owner: Any): Apb4SlaveFactory.this.type
    Definition Classes
    Nameable
  117. def setPartialName(name: String, namePriority: Byte): Apb4SlaveFactory.this.type
    Definition Classes
    Nameable
  118. def setPartialName(name: String, weak: Boolean): Apb4SlaveFactory.this.type
    Definition Classes
    Nameable
  119. def setPartialName(owner: Nameable, name: String, namePriority: Byte): Apb4SlaveFactory.this.type
    Definition Classes
    Nameable
  120. def setPartialName(owner: Nameable, name: String, weak: Boolean): Apb4SlaveFactory.this.type
    Definition Classes
    Nameable
  121. def setPartialName(name: String): Apb4SlaveFactory.this.type
    Definition Classes
    Nameable
  122. def setPartialName(owner: Nameable, name: String): Apb4SlaveFactory.this.type
    Definition Classes
    Nameable
  123. def setPartialName(owner: Nameable): Apb4SlaveFactory.this.type
    Definition Classes
    Nameable
  124. def setRefOwner(that: Any): Unit
    Definition Classes
    OwnableRef
  125. def setScalaLocated(source: ScalaLocated): Apb4SlaveFactory.this.type
    Definition Classes
    ScalaLocated
  126. def setWeakName(name: String): Apb4SlaveFactory.this.type
    Definition Classes
    Nameable
  127. def setWordEndianness(value: Endianness): BusSlaveFactory

    Set the endianness during write/read multiword

    Set the endianness during write/read multiword

    Definition Classes
    BusSlaveFactory
  128. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  129. def toString(): String
    Definition Classes
    Area → Nameable → AnyRef → Any
  130. def unsetName(): Apb4SlaveFactory.this.type
    Definition Classes
    Nameable
  131. def valCallback[T](ref: T, name: String): T
    Definition Classes
    ValCallbackRec → ValCallback
  132. def valCallbackOn(ref: Any, name: String, refs: Set[Any]): Unit
    Definition Classes
    ValCallbackRec
  133. def valCallbackRec(obj: Any, name: String): Unit
    Definition Classes
    Area → ValCallbackRec
  134. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  135. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  136. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  137. def withOffset(offset: BigInt): BusSlaveFactoryAddressWrapper
    Definition Classes
    BusSlaveFactory
  138. def wordAddressInc: Int

    Address incrementation used by the read and write multi words registers

    Address incrementation used by the read and write multi words registers

    Definition Classes
    Apb4SlaveFactoryBusSlaveFactory
  139. def write[T <: Data](address: BigInt, bitMapping: (Int, Data)*): Unit
    Definition Classes
    BusSlaveFactory
  140. def write[T <: Data](that: T, address: BigInt, bitOffset: Int = 0, documentation: String = null): T

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

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

    Definition Classes
    BusSlaveFactory
  141. def writeAddress(): UInt
    Definition Classes
    Apb4SlaveFactoryBusSlaveFactory
  142. def writeAddress(address: AddressMapping): UInt
    Definition Classes
    BusSlaveFactory
  143. def writeByteEnable(): Bits

    Byte enable bits, defaulting to all ones

    Byte enable bits, defaulting to all ones

    Definition Classes
    BusSlaveFactory
  144. def writeError(): Unit
    Definition Classes
    BusSlaveFactory
  145. val writeErrorFlag: Bool
    Definition Classes
    BusSlaveFactory
  146. def writeFire(): Bool
    Definition Classes
    BusSlaveFactory
  147. def writeHalt(): Unit
    Definition Classes
    Apb4SlaveFactoryBusSlaveFactory
  148. def writeMemMultiWord[T <: Data](mem: Mem[T], addressOffset: BigInt): Mem[T]

    Memory map a Mem to bus for writing.

    Memory map a Mem to bus for writing. Elements can be larger than bus data width in bits.

    Definition Classes
    BusSlaveFactory
  149. def writeMemWordAligned[T <: Data](mem: Mem[T], addressOffset: BigInt, bitOffset: Int = 0): Mem[T]
    Definition Classes
    BusSlaveFactory
  150. def writeMultiWord(that: Data, address: BigInt, documentation: String = null): 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 following addresses.

    Definition Classes
    BusSlaveFactory
  151. def writePrimitive[T <: Data](that: T, address: AddressMapping, bitOffset: Int, documentation: String): Unit

Deprecated Value Members

  1. def createReadWrite[T <: Data](dataType: T, address: BigInt, bitOffset: Int = 0): T
    Definition Classes
    BusSlaveFactory
    Annotations
    @deprecated
    Deprecated

    (Since version ???) Use createReadAndWrite instead

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

Inherited from BusSlaveFactoryDelayed

Inherited from BusSlaveFactory

Inherited from Area

Inherited from OverridedEqualsHashCode

Inherited from ValCallbackRec

Inherited from ValCallback

Inherited from NameableByComponent

Inherited from Nameable

Inherited from ContextUser

Inherited from ScalaLocated

Inherited from GlobalDataUser

Inherited from OwnableRef

Inherited from AnyRef

Inherited from Any

Ungrouped