Packages

c

spinal.core

MultiData

abstract class MultiData extends Data

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MultiData
  2. Data
  3. InComponent
  4. OverridedEqualsHashCode
  5. SpinalTagReady
  6. Assignable
  7. NameableByComponent
  8. Nameable
  9. OwnableRef
  10. ContextUser
  11. ScalaLocated
  12. GlobalDataUser
  13. AnyRef
  14. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new MultiData()

Type Members

  1. abstract type RefOwnerType
    Definition Classes
    OwnableRef

Abstract Value Members

  1. abstract def elements: ArrayBuffer[(String, Data)]

Concrete Value Members

  1. def ##(right: Data): Bits

    Concatenation between two data

    Concatenation between two data

    Definition Classes
    Data
  2. def #*(count: Int): Bits
    Definition Classes
    Data
  3. val _spinalTags: LinkedHashSet[SpinalTag]
    Definition Classes
    SpinalTagReady
  4. def addAttribute(attribute: Attribute): MultiData.this.type
    Definition Classes
    DataSpinalTagReady
  5. def addAttribute(name: String, value: Int): MultiData.this.type
    Definition Classes
    SpinalTagReady
  6. def addAttribute(name: String, value: String): MultiData.this.type
    Definition Classes
    SpinalTagReady
  7. def addAttribute(name: String): MultiData.this.type
    Definition Classes
    SpinalTagReady
  8. def addTag[T <: SpinalTag](spinalTag: T): MultiData.this.type
    Definition Classes
    MultiDataSpinalTagReady
  9. def addTags[T <: SpinalTag](tags: Iterable[T]): MultiData.this.type
    Definition Classes
    SpinalTagReady
  10. def allowDirectionLessIo(): MultiData.this.type

    Allow a Data of an io Bundle to be directionless

    Allow a Data of an io Bundle to be directionless

    See https://spinalhdl.github.io/SpinalDoc-RTD/master/SpinalHDL/Design%20errors/iobundle.html

    Definition Classes
    Data
  11. def allowOverride(): MultiData.this.type

    Allow a Data to be overriden

    Allow a Data to be overriden

    See https://spinalhdl.github.io/SpinalDoc-RTD/master/SpinalHDL/Design%20errors/assignment_overlap.html

    Definition Classes
    Data
  12. def allowPartialyAssigned(): MultiData.this.type

    Allow a register to be partially assigned

    Allow a register to be partially assigned

    Definition Classes
    Data
  13. def allowPruning(): MultiData.this.type
    Definition Classes
    Data
  14. def allowSimplifyIt(): MultiData.this.type
    Definition Classes
    Data
  15. def allowUnsetRegToAvoidLatch(): MultiData.this.type

    Allow a register to have only an init (no assignments)

    Allow a register to have only an init (no assignments)

    See https://spinalhdl.github.io/SpinalDoc-RTD/master/SpinalHDL/Design%20errors/unassigned_register.html#register-with-only-init

    Definition Classes
    Data
  16. def as[T <: Data](dataType: HardType[T]): T
    Definition Classes
    Data
  17. def asBits: Bits

    Cast data to Bits

    Cast data to Bits

    Definition Classes
    MultiDataData
  18. def asData: Data
    Definition Classes
    Data
  19. def asInOut(): MultiData.this.type

    set a data as inout

    set a data as inout

    Definition Classes
    MultiDataData
  20. def asInput(): MultiData.this.type

    Set a data as input

    Set a data as input

    Definition Classes
    MultiDataData
  21. def asOutput(): MultiData.this.type

    Set a data as output

    Set a data as output

    Definition Classes
    MultiDataData
  22. def assignDontCare(): MultiData.this.type
    Definition Classes
    Data
  23. def assignDontCareToUnasigned(): MultiData.this.type
    Definition Classes
    Data
  24. def assignFormalRandom(kind: RandomExpKind): Unit
    Definition Classes
    MultiDataData
  25. final def assignFrom(that: AnyRef, target: AnyRef = this)(implicit loc: Location): Unit
    Definition Classes
    Data
  26. def assignFromBits(bits: Bits, hi: Int, lo: Int): Unit
    Definition Classes
    MultiDataData
  27. def assignFromBits(bits: Bits): Unit
    Definition Classes
    MultiDataData
  28. def assignFromBits(bits: Bits, offset: Int, bitCount: BitCount): Unit
    Definition Classes
    Data
  29. def assignUnassignedByName(that: MultiData): Unit
  30. def clearAll(): MultiData.this.type
    Definition Classes
    Data
  31. def clone(): Data
    Definition Classes
    Data → AnyRef
  32. def component: Component
    Definition Classes
    ContextUser
  33. final def compositAssignFrom(that: AnyRef, target: AnyRef, kind: AnyRef)(implicit loc: Location): Unit
    Definition Classes
    Assignable
  34. val compositeAssign: Assignable
    Definition Classes
    Assignable
  35. def copyDirectionOfImpl(that: Data): MultiData.this.type
    Definition Classes
    MultiDataData
  36. def dirString(): String
    Definition Classes
    Data
  37. def dontSimplifyIt(): MultiData.this.type
    Definition Classes
    Data
  38. def elementsString: String
  39. def equals(obj: Any): Boolean
    Definition Classes
    OverridedEqualsHashCode → AnyRef → Any
  40. def existsTag(cond: (SpinalTag) => Boolean): Boolean
    Definition Classes
    SpinalTagReady
  41. def filterTag(cond: (SpinalTag) => Boolean): Iterable[SpinalTag]
    Definition Classes
    SpinalTagReady
  42. def find(name: String): Data
  43. def findTag(cond: (SpinalTag) => Boolean): Option[SpinalTag]
    Definition Classes
    SpinalTagReady
  44. def flatten: Seq[BaseType]
    Definition Classes
    MultiDataData
  45. def flattenForeach(body: (BaseType) => Unit): Unit
    Definition Classes
    MultiDataData
  46. def flattenLocalName: Seq[String]
    Definition Classes
    MultiDataData
  47. def flip(): MultiData.this.type

    flip the direction of the data

    flip the direction of the data

    Definition Classes
    MultiDataData
  48. def foreachReflectableNameables(doThat: (Any) => Unit): Unit
    Definition Classes
    Nameable
  49. def foreachTag(body: (SpinalTag) => Unit): Unit
    Definition Classes
    SpinalTagReady
  50. def freeze(): MultiData.this.type
    Definition Classes
    MultiDataData
  51. def getAheadValue(): MultiData.this.type
    Definition Classes
    Data
  52. def getBitsWidth: Int

    Return the width of the data

    Return the width of the data

    Definition Classes
    MultiDataData
  53. def getComponent(): Component
    Definition Classes
    DataInComponentNameableByComponent
  54. def getComponents(): Seq[Component]

    Get current component with all parents

    Get current component with all parents

    Definition Classes
    InComponent
  55. def getDirection: IODirection
    Definition Classes
    Data
  56. def getDisplayName(): String
    Definition Classes
    Nameable
  57. def getInstanceCounter: Int
    Definition Classes
    ContextUser
  58. def getMuxType[T <: Data](list: TraversableOnce[T]): HardType[T]
    Definition Classes
    Data
  59. def getName(default: String): String
    Definition Classes
    NameableByComponentNameable
  60. def getName(): String
    Definition Classes
    NameableByComponentNameable
  61. def getPartialName(): String
    Definition Classes
    Nameable
  62. def getPath(from: Component, to: Component): Seq[Component]
    Definition Classes
    NameableByComponent
  63. def getRealSource: Any
    Definition Classes
    Assignable
  64. def getRealSourceNoRec: Any
    Definition Classes
    DataAssignable
  65. def getRefOwnersChain(): List[Any]
    Definition Classes
    OwnableRef
  66. def getRootParent: Data
    Definition Classes
    Data
  67. def getRtlPath(separator: String = "/"): String
    Definition Classes
    Data
  68. def getScalaLocationLong: String
    Definition Classes
    ScalaLocated
  69. def getScalaLocationShort: String
    Definition Classes
    ScalaLocated
  70. def getScalaTrace(): Throwable
    Definition Classes
    ScalaLocated
  71. def getTag[T <: SpinalTag](clazz: Class[T]): Option[T]
    Definition Classes
    SpinalTagReady
  72. def getTags(): LinkedHashSet[SpinalTag]
    Definition Classes
    SpinalTagReady
  73. def getZero: MultiData.this.type

    Create a data set to 0

    Create a data set to 0

    Definition Classes
    MultiDataData
  74. val globalData: GlobalData
    Definition Classes
    GlobalDataUser
  75. def hasTag[T <: SpinalTag](clazz: Class[T]): Boolean
    Definition Classes
    SpinalTagReady
  76. def hasTag(spinalTag: SpinalTag): Boolean
    Definition Classes
    SpinalTagReady
  77. def hashCode(): Int
    Definition Classes
    OverridedEqualsHashCode → AnyRef → Any
  78. final def initFrom(that: AnyRef, target: AnyRef = this): Unit
    Definition Classes
    Data
  79. def instanceAttributes(language: Language): Iterable[Attribute]
    Definition Classes
    SpinalTagReady
  80. def instanceAttributes: Iterable[Attribute]
    Definition Classes
    SpinalTagReady
  81. def isAnalog: Boolean
    Definition Classes
    Data
  82. def isComb: Boolean
    Definition Classes
    Data
  83. def isCompletelyUnnamed: Boolean
    Definition Classes
    Nameable
  84. def isDirectionLess: Boolean
    Definition Classes
    Data
  85. def isEmptyOfTag: Boolean
    Definition Classes
    SpinalTagReady
  86. def isInOut: Boolean
    Definition Classes
    Data
  87. def isInput: Boolean
    Definition Classes
    Data
  88. def isInputOrInOut: Boolean
    Definition Classes
    Data
  89. def isNamed: Boolean
    Definition Classes
    NameableByComponentNameable
  90. def isOutput: Boolean
    Definition Classes
    Data
  91. def isOutputOrInOut: Boolean
    Definition Classes
    Data
  92. def isPriorityApplicable(namePriority: Byte): Boolean
    Definition Classes
    Nameable
  93. def isReg: Boolean
    Definition Classes
    Data
  94. def isRegOnAssign: Boolean
    Definition Classes
    Data
  95. def isUnnamed: Boolean
    Definition Classes
    Nameable
  96. val name: String
    Definition Classes
    Nameable
  97. def noBackendCombMerge(): MultiData.this.type

    Put the combinatorial logic driving this signal in a separate process

    Put the combinatorial logic driving this signal in a separate process

    Definition Classes
    Data
  98. def noCombLoopCheck(): MultiData.this.type

    Disable combinatorial loop checking for this Data

    Disable combinatorial loop checking for this Data

    See https://spinalhdl.github.io/SpinalDoc-RTD/master/SpinalHDL/Design%20errors/combinatorial_loop.html

    Definition Classes
    Data
  99. def onEachAttributes(doIt: (Attribute) => Unit): Unit
    Definition Classes
    SpinalTagReady
  100. def overrideLocalName(name: String): MultiData.this.type
    Definition Classes
    Nameable
  101. val parent: Data
    Definition Classes
    Data
  102. val parentScope: ScopeStatement
    Definition Classes
    ContextUser
  103. def pull(propagateName: Boolean): MultiData.this.type
    Definition Classes
    Data
  104. def pull(): MultiData.this.type

    Pull a signal to the top level (use for debugging)

    Pull a signal to the top level (use for debugging)

    Definition Classes
    Data
  105. def purify(): MultiData.this.type
    Definition Classes
    Data
  106. def randBoot(u: Unit): MultiData.this.type

    Useful for register that doesn't need a reset value in RTL, but need a random value for simulation (avoid x-propagation)

    Useful for register that doesn't need a reset value in RTL, but need a random value for simulation (avoid x-propagation)

    Definition Classes
    Data
  107. val refOwner: RefOwnerType
    Definition Classes
    OwnableRef
    Annotations
    @DontName()
  108. def reflectNames(): Unit
    Definition Classes
    Nameable
  109. def removeAssignments(data: Boolean = true, init: Boolean = true, initial: Boolean = true): MultiData.this.type
    Definition Classes
    Data
  110. def removeDataAssignments(): MultiData.this.type
    Definition Classes
    Data
  111. def removeInitAssignments(): MultiData.this.type
    Definition Classes
    Data
  112. def removeTag(spinalTag: SpinalTag): MultiData.this.type
    Definition Classes
    SpinalTagReady
  113. def removeTags(tags: Iterable[SpinalTag]): MultiData.this.type
    Definition Classes
    SpinalTagReady
  114. def resized: MultiData.this.type

    Resized data regarding target

    Resized data regarding target

    Definition Classes
    Data
  115. val scalaTrace: Throwable
    Definition Classes
    ScalaLocated
  116. def setAll(): MultiData.this.type
    Definition Classes
    Data
  117. def setAsAnalog(): MultiData.this.type
    Definition Classes
    Data
  118. def setAsComb(): MultiData.this.type

    Set baseType to Combinatorial

    Set baseType to Combinatorial

    Definition Classes
    MultiDataData
  119. def setAsDirectionLess(): MultiData.this.type

    remove the direction (in,out,inout) to a data

    remove the direction (in,out,inout) to a data

    Definition Classes
    MultiDataData
  120. def setAsReg(): MultiData.this.type

    Set baseType to reg

    Set baseType to reg

    Definition Classes
    MultiDataData
  121. def setCompositeName(nameable: Nameable, postfix: String, namePriority: Byte): MultiData.this.type
    Definition Classes
    Nameable
  122. def setCompositeName(nameable: Nameable, postfix: String, weak: Boolean): MultiData.this.type
    Definition Classes
    Nameable
  123. def setCompositeName(nameable: Nameable, postfix: String): MultiData.this.type
    Definition Classes
    Nameable
  124. def setCompositeName(nameable: Nameable, namePriority: Byte): MultiData.this.type
    Definition Classes
    Nameable
  125. def setCompositeName(nameable: Nameable, weak: Boolean): MultiData.this.type
    Definition Classes
    Nameable
  126. def setCompositeName(nameable: Nameable): MultiData.this.type
    Definition Classes
    Nameable
  127. def setLambdaName(isNameBody: => Boolean)(nameGen: => String): MultiData.this.type
    Definition Classes
    Nameable
  128. def setName(name: String, namePriority: Byte): MultiData.this.type
    Definition Classes
    Nameable
  129. def setName(name: String, weak: Boolean): MultiData.this.type
    Definition Classes
    Nameable
  130. def setName(name: String): MultiData.this.type
    Definition Classes
    Nameable
  131. def setNameAsWeak(): MultiData.this.type
    Definition Classes
    Nameable
  132. def setOutputAsReg(): MultiData.this.type

    Recursively set baseType to reg only for output

    Recursively set baseType to reg only for output

    Definition Classes
    Data
  133. def setPartialName(name: String, namePriority: Byte, owner: Any): MultiData.this.type
    Definition Classes
    Nameable
  134. def setPartialName(name: String, namePriority: Byte): MultiData.this.type
    Definition Classes
    Nameable
  135. def setPartialName(name: String, weak: Boolean): MultiData.this.type
    Definition Classes
    Nameable
  136. def setPartialName(owner: Nameable, name: String, namePriority: Byte): MultiData.this.type
    Definition Classes
    Nameable
  137. def setPartialName(owner: Nameable, name: String, weak: Boolean): MultiData.this.type
    Definition Classes
    Nameable
  138. def setPartialName(name: String): MultiData.this.type
    Definition Classes
    Nameable
  139. def setPartialName(owner: Nameable, name: String): MultiData.this.type
    Definition Classes
    Nameable
  140. def setPartialName(owner: Nameable): MultiData.this.type
    Definition Classes
    Nameable
  141. def setRefOwner(that: Any): Unit
    Definition Classes
    OwnableRef
  142. def setScalaLocated(source: ScalaLocated): MultiData.this.type
    Definition Classes
    ScalaLocated
  143. def setWeakName(name: String): MultiData.this.type
    Definition Classes
    Nameable
  144. def spinalTags: LinkedHashSet[SpinalTag]
    Definition Classes
    SpinalTagReady
  145. def toIo(): MultiData.this.type
    Definition Classes
    Data
  146. def toMuxInput[T <: Data](muxOutput: T): T
    Definition Classes
    Data
  147. def toString(): String
    Definition Classes
    Nameable → AnyRef → Any
  148. def unfreeze(): MultiData.this.type
    Definition Classes
    MultiDataData
  149. def unsetName(): MultiData.this.type
    Definition Classes
    Nameable
  150. def wrapNext(): MultiData.this.type
    Definition Classes
    Data
  151. def zipByName(that: MultiData, rec: ArrayBuffer[(BaseType, BaseType)] = ArrayBuffer()): ArrayBuffer[(BaseType, BaseType)]

Deprecated Value Members

  1. def asDirectionLess(): MultiData.this.type
    Definition Classes
    Data
    Annotations
    @deprecated
    Deprecated

    (Since version ???) use setAsDirectionLess instead

  2. def genIf(cond: Boolean): MultiData.this.type

    Generate this if condition is true

    Generate this if condition is true

    Definition Classes
    Data
    Annotations
    @deprecated
    Deprecated

    does not work with <>, use 'someBool generate Type()' or 'if(condition) Type() else null' instead