Class

spinal.lib.bus.simple

PipelinedMemoryBusSlaveFactory

Related Doc: package simple

Permalink

class PipelinedMemoryBusSlaveFactory extends BusSlaveFactoryDelayed

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PipelinedMemoryBusSlaveFactory
  2. BusSlaveFactoryDelayed
  3. BusSlaveFactory
  4. Area
  5. Nameable
  6. ContextUser
  7. ScalaLocated
  8. GlobalDataUser
  9. OwnableRef
  10. AnyRef
  11. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new PipelinedMemoryBusSlaveFactory(bus: PipelinedMemoryBus)

    Permalink

Type Members

  1. abstract type RefOwnerType

    Permalink
    Definition Classes
    OwnableRef

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

    Permalink

    Configuration of the BusSlaveFactory

    Configuration of the BusSlaveFactory

    Attributes
    protected
    Definition Classes
    BusSlaveFactory
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. val askRead: Bool

    Permalink
  7. val askWrite: Bool

    Permalink
  8. def build(): Unit

    Permalink

    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
    PipelinedMemoryBusSlaveFactoryBusSlaveFactoryDelayed
  9. def busDataWidth: Int

    Permalink

    Return the data width of the bus

    Return the data width of the bus

    Definition Classes
    PipelinedMemoryBusSlaveFactoryBusSlaveFactory
  10. def clearOnSet[T <: Data](that: T, address: BigInt, bitOffset: Int = 0): T

    Permalink
    Definition Classes
    BusSlaveFactory
  11. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. def component: Component

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

    Permalink

    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
  14. def createReadAndClearOnSet[T <: Data](dataType: T, address: BigInt, bitOffset: Int = 0): T

    Permalink
    Definition Classes
    BusSlaveFactory
  15. def createReadAndSetOnSet[T <: Data](dataType: T, address: BigInt, bitOffset: Int = 0): T

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

    Permalink

    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
  17. def createReadMultiWord[T <: Data](that: T, address: BigInt, documentation: String = null): T

    Permalink

    Create multi-words read register of type dataType

    Create multi-words read register of type dataType

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

    Permalink

    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
  19. def createWriteAndReadMultiWord[T <: Data](that: T, address: BigInt, documentation: String = null): T

    Permalink

    Create multi-words write and read register of type dataType

    Create multi-words write and read register of type dataType

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

    Permalink

    Create multi-words write register of type dataType

    Create multi-words write register of type dataType

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

    Permalink

    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
  22. def dataModelString(): String

    Permalink
    Definition Classes
    BusSlaveFactoryDelayed
  23. def doBitsAccumulationAndClearOnRead(that: Bits, address: BigInt, bitOffset: Int = 0): Unit

    Permalink

    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
  24. def doMappedElements(jobs: Seq[BusSlaveFactoryElement], askWrite: Bool, askRead: Bool, doWrite: Bool, doRead: Bool, writeData: Bits, readData: Bits): Unit

    Permalink
    Definition Classes
    BusSlaveFactoryDelayed
  25. def doMappedReadElements(jobs: Seq[BusSlaveFactoryElement], askRead: Bool, doRead: Bool, readData: Bits): Unit

    Permalink
    Definition Classes
    BusSlaveFactoryDelayed
  26. def doMappedWriteElements(jobs: Seq[BusSlaveFactoryElement], askWrite: Bool, doWrite: Bool, writeData: Bits): Unit

    Permalink
    Definition Classes
    BusSlaveFactoryDelayed
  27. def doNonStopWrite(writeData: Bits): Unit

    Permalink
    Definition Classes
    BusSlaveFactoryDelayed
  28. val doRead: Bool

    Permalink
  29. val doWrite: Bool

    Permalink
  30. def drive[T <: Data](that: T, address: BigInt, bitOffset: Int = 0, documentation: String = null): T

    Permalink

    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
  31. def driveAndRead[T <: Data](that: T, address: BigInt, bitOffset: Int = 0, documentation: String = null): T

    Permalink

    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
  32. def driveAndReadMultiWord[T <: Data](that: T, address: BigInt, documentation: String = null): T

    Permalink

    Drive and read that on multi-word

    Drive and read that on multi-word

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

    Permalink

    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
  34. def driveMultiWord[T <: Data](that: T, address: BigInt, documentation: String = null): T

    Permalink

    Drive that on multi-words

    Drive that on multi-words

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

    Permalink

    Contains all elements created

    Contains all elements created

    Definition Classes
    BusSlaveFactoryDelayed
  36. val elementsOk: HashSet[BusSlaveFactoryElement]

    Permalink
    Definition Classes
    BusSlaveFactoryDelayed
  37. val elementsPerAddress: LinkedHashMap[AddressMapping, ArrayBuffer[BusSlaveFactoryElement]]

    Permalink

    Contains all elements related to an address

    Contains all elements related to an address

    Definition Classes
    BusSlaveFactoryDelayed
  38. final def eq(arg0: AnyRef): Boolean

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

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

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  43. def getConfig: BusSlaveFactoryConfig

    Permalink
    Definition Classes
    BusSlaveFactory
  44. def getDisplayName(): String

    Permalink
    Definition Classes
    Nameable
  45. def getInstanceCounter: Int

    Permalink
    Definition Classes
    ContextUser
  46. def getMode: Byte

    Permalink
    Attributes
    protected
    Definition Classes
    Nameable
  47. def getName(default: String): String

    Permalink
    Definition Classes
    Nameable
  48. def getName(): String

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

    Permalink
    Definition Classes
    OwnableRef
  50. def getScalaLocationLong: String

    Permalink
    Definition Classes
    ScalaLocated
  51. def getScalaLocationShort: String

    Permalink
    Definition Classes
    ScalaLocated
  52. def getScalaTrace(): Throwable

    Permalink
    Definition Classes
    ScalaLocated
  53. val globalData: GlobalData

    Permalink
    Definition Classes
    GlobalDataUser
  54. def hashCode(): Int

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

    Permalink
    Definition Classes
    Any
  56. def isNamed: Boolean

    Permalink
    Definition Classes
    Nameable
  57. def isPriorityApplicable(namePriority: Byte): Boolean

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

    Permalink

    Return true if the bus is reading

    Return true if the bus is reading

    Definition Classes
    BusSlaveFactory
  59. def isUnnamed: Boolean

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

    Permalink

    Return true if the bus is writing

    Return true if the bus is writing

    Definition Classes
    BusSlaveFactory
  61. def multiCycleRead(address: AddressMapping, cycles: BigInt): Unit

    Permalink
    Definition Classes
    BusSlaveFactory
  62. var name: String

    Permalink
    Attributes
    protected
    Definition Classes
    Nameable
  63. var nameableRef: Nameable

    Permalink
    Attributes
    protected
    Definition Classes
    Nameable
  64. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  65. def nonStopWrite[T <: Data](that: T, bitOffset: Int = 0, documentation: String = null): T

    Permalink

    Permanently assign that by the bus write data from bitOffset

    Permanently assign that by the bus write data from bitOffset

    Definition Classes
    BusSlaveFactoryDelayedBusSlaveFactory
  66. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  68. def onRead(address: BigInt, documentation: String = null)(doThat: ⇒ Unit): Unit

    Permalink

    Call doThat when a read transaction occurs on address

    Call doThat when a read transaction occurs on address

    Definition Classes
    BusSlaveFactory
  69. def onReadPrimitive(address: AddressMapping, haltSensitive: Boolean, documentation: String)(doThat: ⇒ Unit): Unit

    Permalink
  70. def onWrite(address: BigInt, documentation: String = null)(doThat: ⇒ Unit): Unit

    Permalink

    Call doThat when a write transaction occurs on address

    Call doThat when a write transaction occurs on address

    Definition Classes
    BusSlaveFactory
  71. def onWritePrimitive(address: AddressMapping, haltSensitive: Boolean, documentation: String)(doThat: ⇒ Unit): Unit

    Permalink
  72. var parentScope: ScopeStatement

    Permalink
    Definition Classes
    ContextUser
  73. def printDataModel(): Unit

    Permalink
    Definition Classes
    BusSlaveFactoryDelayed
  74. def read[T <: Data](that: T, address: BigInt, bitOffset: Int = 0, documentation: String = null): T

    Permalink

    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
  75. def readAddress(): UInt

    Permalink
  76. def readAddress(address: AddressMapping): UInt

    Permalink
    Definition Classes
    BusSlaveFactory
  77. def readAndClearOnSet[T <: Data](that: T, address: BigInt, bitOffset: Int = 0): T

    Permalink
    Definition Classes
    BusSlaveFactory
  78. def readAndSetOnSet[T <: Data](that: T, address: BigInt, bitOffset: Int = 0): T

    Permalink
    Definition Classes
    BusSlaveFactory
  79. def readAndWrite(that: Data, address: BigInt, bitOffset: Int = 0, documentation: String = null): Unit

    Permalink

    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
  80. def readAndWriteMultiWord(that: Data, address: BigInt, documentation: String = null): Unit

    Permalink

    Create the memory mapping to write/read that from address

    Create the memory mapping to write/read that from address

    Definition Classes
    BusSlaveFactory
  81. val readAtCmd: Flow[Bits]

    Permalink
  82. val readAtRsp: Flow[Bits]

    Permalink
  83. def readHalt(): Unit

    Permalink
  84. def readMultiWord(that: Data, address: BigInt, documentation: String = null): Unit

    Permalink

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

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

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

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

    Permalink

    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
  87. def readStreamNonBlocking[T <: Data](that: Stream[T], address: BigInt): Unit

    Permalink

    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

  88. def readSyncMemWordAligned[T <: Data](mem: Mem[T], addressOffset: BigInt, bitOffset: Int = 0): Mem[T]

    Permalink
    Definition Classes
    BusSlaveFactory
  89. var refOwner: RefOwnerType

    Permalink
    Definition Classes
    OwnableRef
  90. def reflectNames(): Unit

    Permalink
    Definition Classes
    Area
  91. def setCompositeName(nameable: Nameable, postfix: String, namePriority: Byte): PipelinedMemoryBusSlaveFactory.this.type

    Permalink
    Definition Classes
    Nameable
  92. def setCompositeName(nameable: Nameable, postfix: String, weak: Boolean): PipelinedMemoryBusSlaveFactory.this.type

    Permalink
    Definition Classes
    Nameable
  93. def setCompositeName(nameable: Nameable, postfix: String): PipelinedMemoryBusSlaveFactory.this.type

    Permalink
    Definition Classes
    Nameable
  94. def setCompositeName(nameable: Nameable, namePriority: Byte): PipelinedMemoryBusSlaveFactory.this.type

    Permalink
    Definition Classes
    Nameable
  95. def setCompositeName(nameable: Nameable, weak: Boolean): PipelinedMemoryBusSlaveFactory.this.type

    Permalink
    Definition Classes
    Nameable
  96. def setCompositeName(nameable: Nameable): PipelinedMemoryBusSlaveFactory.this.type

    Permalink
    Definition Classes
    Nameable
  97. def setConfig(value: BusSlaveFactoryConfig): PipelinedMemoryBusSlaveFactory.this.type

    Permalink
    Definition Classes
    BusSlaveFactory
  98. def setName(name: String, namePriority: Byte): PipelinedMemoryBusSlaveFactory.this.type

    Permalink
    Definition Classes
    Nameable
  99. def setName(name: String, weak: Boolean): PipelinedMemoryBusSlaveFactory.this.type

    Permalink
    Definition Classes
    Nameable
  100. def setName(name: String): PipelinedMemoryBusSlaveFactory.this.type

    Permalink
    Definition Classes
    Nameable
  101. def setOnSet[T <: Data](that: T, address: BigInt, bitOffset: Int = 0): T

    Permalink
    Definition Classes
    BusSlaveFactory
  102. def setPartialName(name: String, namePriority: Byte): PipelinedMemoryBusSlaveFactory.this.type

    Permalink
    Definition Classes
    Nameable
  103. def setPartialName(name: String, weak: Boolean): PipelinedMemoryBusSlaveFactory.this.type

    Permalink
    Definition Classes
    Nameable
  104. def setPartialName(owner: Nameable, name: String, namePriority: Byte): PipelinedMemoryBusSlaveFactory.this.type

    Permalink
    Definition Classes
    Nameable
  105. def setPartialName(owner: Nameable, name: String, weak: Boolean): PipelinedMemoryBusSlaveFactory.this.type

    Permalink
    Definition Classes
    Nameable
  106. def setPartialName(name: String): PipelinedMemoryBusSlaveFactory.this.type

    Permalink
    Definition Classes
    Nameable
  107. def setPartialName(owner: Nameable, name: String): PipelinedMemoryBusSlaveFactory.this.type

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

    Permalink
    Definition Classes
    OwnableRef
  109. def setScalaLocated(source: ScalaLocated): PipelinedMemoryBusSlaveFactory.this.type

    Permalink
    Definition Classes
    ScalaLocated
  110. def setWeakName(name: String): PipelinedMemoryBusSlaveFactory.this.type

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

    Permalink

    Set the endianness during write/read multiword

    Set the endianness during write/read multiword

    Definition Classes
    BusSlaveFactory
  112. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  113. def toString(): String

    Permalink
    Definition Classes
    AreaNameable → AnyRef → Any
  114. def unsetName(): PipelinedMemoryBusSlaveFactory.this.type

    Permalink
    Definition Classes
    Nameable
  115. final def wait(): Unit

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

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

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

    Permalink

    Address incrementation used by the read and write multi words registers

    Address incrementation used by the read and write multi words registers

    Definition Classes
    PipelinedMemoryBusSlaveFactoryBusSlaveFactory
  119. def write[T <: Data](address: BigInt, bitMapping: (Int, Data)*): Unit

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

    Permalink

    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
  121. def writeAddress(): UInt

    Permalink
  122. def writeAddress(address: AddressMapping): UInt

    Permalink
    Definition Classes
    BusSlaveFactory
  123. def writeHalt(): Unit

    Permalink
  124. def writeMemWordAligned[T <: Data](mem: Mem[T], addressOffset: BigInt, bitOffset: Int = 0): Mem[T]

    Permalink
    Definition Classes
    BusSlaveFactory
  125. def writeMultiWord(that: Data, address: BigInt, documentation: String = null): Unit

    Permalink

    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

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

    Permalink

Deprecated Value Members

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

    Permalink
    Definition Classes
    BusSlaveFactory
    Annotations
    @deprecated
    Deprecated

    (Since version ???) Use createReadAndWrite instead

Inherited from BusSlaveFactoryDelayed

Inherited from BusSlaveFactory

Inherited from Area

Inherited from Nameable

Inherited from ContextUser

Inherited from ScalaLocated

Inherited from GlobalDataUser

Inherited from OwnableRef

Inherited from AnyRef

Inherited from Any

Ungrouped