spinal.lib.bus.avalon

AvalonMMSlaveFactory

Related Docs: object AvalonMMSlaveFactory | package avalon

class AvalonMMSlaveFactory extends BusSlaveFactoryDelayed

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

Instance Constructors

  1. new AvalonMMSlaveFactory(bus: AvalonMM)

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

    Configuration of the BusSlaveFactory

    Configuration of the BusSlaveFactory

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

    Definition Classes
    Any
  6. 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
    AvalonMMSlaveFactoryBusSlaveFactoryDelayed
  7. def busDataWidth: Int

    Return the data width of the bus

    Return the data width of the bus

    Definition Classes
    AvalonMMSlaveFactoryBusSlaveFactory
  8. def clone(): AnyRef

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

    Definition Classes
    ContextUser
  10. 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
  11. def createReadAndClearOnSet(dataType: Bool, address: BigInt, bitOffset: Int = 0): Bool

    Definition Classes
    BusSlaveFactory
  12. def createReadAndWrite[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

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

    Definition Classes
    BusSlaveFactory
  13. def createReadMultiWord[T <: Data](that: T, address: BigInt): T

    Create multi-words read register of type dataType

    Create multi-words read register of type dataType

    Definition Classes
    BusSlaveFactory
  14. def createReadOnly[T <: Data](dataType: T, address: BigInt, bitOffset: Int = 0): 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
  15. def createWriteAndReadMultiWord[T <: Data](that: T, address: BigInt): T

    Create multi-words write and read register of type dataType

    Create multi-words write and read register of type dataType

    Definition Classes
    BusSlaveFactory
  16. def createWriteMultiWord[T <: Data](that: T, address: BigInt): T

    Create multi-words write register of type dataType

    Create multi-words write register of type dataType

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

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

    Definition Classes
    BusSlaveFactory
  18. def dataModelString(): String

    Definition Classes
    BusSlaveFactoryDelayed
  19. 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

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

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

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

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

    Definition Classes
    BusSlaveFactory
  22. def driveAndReadMultiWord[T <: Data](that: T, address: BigInt): T

    Drive and read that on multi-word

    Drive and read that on multi-word

    Definition Classes
    BusSlaveFactory
  23. 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
  24. def driveMultiWord[T <: Data](that: T, address: BigInt): T

    Drive that on multi-words

    Drive that on multi-words

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

    Contains all elements created

    Contains all elements created

    Definition Classes
    BusSlaveFactoryDelayed
  26. val elementsPerAddress: HashMap[BigInt, ArrayBuffer[BusSlaveFactoryElement]]

    Contains all elements related to an address

    Contains all elements related to an address

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

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

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

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

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

    Definition Classes
    AnyRef → Any
  32. def getConfig: BusSlaveFactoryConfig

    Definition Classes
    BusSlaveFactory
  33. def getDisplayName(): String

    Definition Classes
    Nameable
  34. def getInstanceCounter: Int

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

    Definition Classes
    Nameable
  36. def getName(): String

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

    Definition Classes
    OwnableRef
  38. def getScalaLocationLong: String

    Definition Classes
    ScalaLocated
  39. def getScalaLocationShort: String

    Definition Classes
    ScalaLocated
  40. val globalData: GlobalData

    Definition Classes
    GlobalDataUser
  41. def hashCode(): Int

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

    Definition Classes
    Any
  43. def isNamed: Boolean

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

    Return true if the bus is reading

    Return true if the bus is reading

    Definition Classes
    BusSlaveFactory
  45. def isUnnamed: Boolean

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

    Return true if the bus is writing

    Return true if the bus is writing

    Definition Classes
    BusSlaveFactory
  47. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  48. def nonStopWrite[T <: Data](that: T, bitOffset: Int = 0): T

    Permanently assign that by the bus write data from bitOffset

    Permanently assign that by the bus write data from bitOffset

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

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

    Definition Classes
    AnyRef
  51. def onRead(doThat: ⇒ Unit): Unit

    Call doThat when a read transaction occurs

    Call doThat when a read transaction occurs

    Definition Classes
    BusSlaveFactoryDelayedBusSlaveFactory
  52. def onRead(address: BigInt)(doThat: ⇒ Unit): Unit

    Call doThat when a read transaction occurs on address

    Call doThat when a read transaction occurs on address

    Definition Classes
    BusSlaveFactoryDelayedBusSlaveFactory
  53. def onWrite(doThat: ⇒ Unit): Unit

    Call doThat when a write transcation occurs

    Call doThat when a write transcation occurs

    Definition Classes
    BusSlaveFactoryDelayedBusSlaveFactory
  54. def onWrite(address: BigInt)(doThat: ⇒ Unit): Unit

    Call doThat when a write transaction occurs on address

    Call doThat when a write transaction occurs on address

    Definition Classes
    BusSlaveFactoryDelayedBusSlaveFactory
  55. var parentScope: ScopeStatement

    Definition Classes
    ContextUser
  56. def printDataModel(): Unit

    Definition Classes
    BusSlaveFactoryDelayed
  57. def read[T <: Data](that: T, address: BigInt, bitOffset: Int = 0): 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
    BusSlaveFactoryDelayedBusSlaveFactory
  58. def readAndClearOnSet(that: Bool, address: BigInt, bitOffset: Int = 0): Bool

    Definition Classes
    BusSlaveFactory
  59. def readAndWrite(that: Data, address: BigInt, bitOffset: Int = 0): 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
  60. def readAndWriteMultiWord(that: Data, address: BigInt): Unit

    Create the memory mapping to write/read that from address

    Create the memory mapping to write/read that from address

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

  62. val readAtRsp: Flow[Bits]

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

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

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

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

  66. var refOwner: RefOwnerType

    Definition Classes
    OwnableRef
  67. def reflectNames(): Unit

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

    Definition Classes
    Nameable
  69. def setCompositeName(nameable: Nameable, postfix: String): AvalonMMSlaveFactory.this.type

    Definition Classes
    Nameable
  70. def setCompositeName(nameable: Nameable, weak: Boolean): AvalonMMSlaveFactory.this.type

    Definition Classes
    Nameable
  71. def setCompositeName(nameable: Nameable): AvalonMMSlaveFactory.this.type

    Definition Classes
    Nameable
  72. def setConfig(value: BusSlaveFactoryConfig): AvalonMMSlaveFactory.this.type

    Definition Classes
    BusSlaveFactory
  73. def setName(name: String, weak: Boolean): AvalonMMSlaveFactory.this.type

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

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

    Definition Classes
    Nameable
  76. def setPartialName(name: String): AvalonMMSlaveFactory.this.type

    Definition Classes
    Nameable
  77. def setPartialName(owner: Nameable, name: String): AvalonMMSlaveFactory.this.type

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

    Definition Classes
    OwnableRef
  79. def setScalaLocated(source: ScalaLocated): AvalonMMSlaveFactory.this.type

    Definition Classes
    ScalaLocated
  80. def setWeakName(name: String): AvalonMMSlaveFactory.this.type

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

    Set the endianness during write/read multiword

    Set the endianness during write/read multiword

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

    Definition Classes
    AnyRef
  83. def toString(): String

    Definition Classes
    Area → Nameable → AnyRef → Any
  84. def unsetName(): AvalonMMSlaveFactory.this.type

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  88. 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
    AvalonMMSlaveFactoryBusSlaveFactory
  89. 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

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

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

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

    Definition Classes
    BusSlaveFactory

Deprecated Value Members

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

    Definition Classes
    BusSlaveFactory
    Annotations
    @deprecated
    Deprecated

    Use createReadAndWrite instead

Inherited from BusSlaveFactoryDelayed

Inherited from BusSlaveFactory

Inherited from Area

Inherited from ScalaLocated

Inherited from Nameable

Inherited from ContextUser

Inherited from GlobalDataUser

Inherited from OwnableRef

Inherited from AnyRef

Inherited from Any

Ungrouped