Packages

c

spinal.core

Bundle

class Bundle extends MultiData with Nameable with OverridedEqualsHashCode

The Bundle is a composite type that defines a group of named signals (of any SpinalHDL basic type) under a single name. The Bundle can be used to model data structures, buses and interfaces.

Example:
  1. val cmd = new Bundle{
      val init   = in Bool
      val start  = in Bool
      val result = out Bits(32 bits)
    }
See also

Bundle Documentation

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Bundle
  2. OverridedEqualsHashCode
  3. MultiData
  4. Data
  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. All

Instance Constructors

  1. new Bundle()

Type Members

  1. abstract type RefOwnerType
    Definition Classes
    OwnableRef

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. def ##(right: Data): Bits

    Concatenation between two data

    Concatenation between two data

    Definition Classes
    Data
  3. final def ##(): Int
    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. val _spinalTags: Set[SpinalTag]
    Definition Classes
    SpinalTagReady
  6. def addAttribute(attribute: Attribute): Bundle.this.type
    Definition Classes
    DataSpinalTagReady
  7. def addAttribute(name: String, value: String): Bundle.this.type
    Definition Classes
    SpinalTagReady
  8. def addAttribute(name: String): Bundle.this.type
    Definition Classes
    SpinalTagReady
  9. def addTag(spinalTag: SpinalTag): Bundle.this.type
    Definition Classes
    MultiDataSpinalTagReady
  10. def addTags(tags: Iterable[SpinalTag]): Bundle.this.type
    Definition Classes
    SpinalTagReady
  11. def allowDirectionLessIo: Bundle.this.type
    Definition Classes
    Data
  12. def allowOverride: Bundle.this.type

    Allow a data to be overrided

    Allow a data to be overrided

    Definition Classes
    Data
  13. def allowPruning(): Bundle.this.type
    Definition Classes
    Data
  14. def allowSimplifyIt(): Bundle.this.type
    Definition Classes
    Data
  15. def allowUnsetRegToAvoidLatch: Bundle.this.type
    Definition Classes
    Data
  16. def asBits: Bits

    Cast data to Bits

    Cast data to Bits

    Definition Classes
    MultiDataData
  17. def asData: Data
    Definition Classes
    Data
  18. def asDirectionLess(): Bundle.this.type

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

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

    Definition Classes
    MultiDataData
  19. def asInOut(): Bundle.this.type

    set a data as inout

    set a data as inout

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

    Set a data as input

    Set a data as input

    Definition Classes
    MultiDataData
  21. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  22. def asOutput(): Bundle.this.type

    Set a data as output

    Set a data as output

    Definition Classes
    MultiDataData
  23. def assignAllByName(that: Bundle): Unit

    Assign the bundle with an other bundle by name

  24. def assignDontCare(): Bundle.this.type
    Definition Classes
    Data
  25. final def assignFrom(that: AnyRef, target: AnyRef = this): 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 assignSomeByName(that: Bundle): Unit

    Assign all possible signal fo the bundle with an other bundle by name

  30. def clone(): Bundle
    Definition Classes
    BundleData → AnyRef
  31. var cloneFunc: () ⇒ AnyRef
  32. def component: Component
    Definition Classes
    ContextUser
  33. final def compositAssignFrom(that: AnyRef, target: AnyRef, kind: AnyRef): Unit
    Definition Classes
    Assignable
  34. val compositeAssign: Assignable
    Definition Classes
    Assignable
  35. def dirString(): String
    Definition Classes
    Data
  36. def dontSimplifyIt(): Bundle.this.type
    Definition Classes
    Data
  37. def elements: ArrayBuffer[(String, Data)]

    Return all element of the bundle

    Return all element of the bundle

    Definition Classes
    BundleMultiData
  38. def elementsString: String
    Definition Classes
    MultiData
  39. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  40. def equals(obj: Any): Boolean
    Definition Classes
    OverridedEqualsHashCode → AnyRef → Any
  41. def existsTag(cond: (SpinalTag) ⇒ Boolean): Boolean
    Definition Classes
    SpinalTagReady
  42. def filterTag(cond: (SpinalTag) ⇒ Boolean): Iterable[SpinalTag]
    Definition Classes
    SpinalTagReady
  43. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  44. def find(name: String): Data
    Definition Classes
    MultiData
  45. def findTag(cond: (SpinalTag) ⇒ Boolean): Option[SpinalTag]
    Definition Classes
    SpinalTagReady
  46. def flatten: Seq[BaseType]
    Definition Classes
    MultiDataData
  47. def flattenForeach(body: (BaseType) ⇒ Unit): Unit
    Definition Classes
    MultiDataData
  48. def flattenLocalName: Seq[String]
    Definition Classes
    MultiDataData
  49. def flip(): Bundle.this.type

    flip the direction of the data

    flip the direction of the data

    Definition Classes
    MultiDataData
  50. def foreachReflectableNameables(doThat: (Any) ⇒ Unit): Unit
    Definition Classes
    Nameable
  51. def genIf(cond: Boolean): Bundle.this.type

    Generate this if condition is true

    Generate this if condition is true

    Definition Classes
    Data
  52. def getBitsWidth: Int

    Return the width of the data

    Return the width of the data

    Definition Classes
    MultiDataData
  53. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  54. def getComponent(): Component
    Definition Classes
    DataNameableByComponent
  55. def getComponents(): Seq[Component]

    Get current component with all parents

    Get current component with all parents

    Definition Classes
    Data
  56. def getDisplayName(): String
    Definition Classes
    Nameable
  57. def getInstanceCounter: Int
    Definition Classes
    ContextUser
  58. def getName(): String
    Definition Classes
    NameableByComponentNameable
  59. def getName(default: String): String
    Definition Classes
    Nameable
  60. def getRealSource: Any
    Definition Classes
    Assignable
  61. def getRealSourceNoRec: Any
    Definition Classes
    DataAssignable
  62. def getRefOwnersChain(): List[Any]
    Definition Classes
    OwnableRef
  63. def getRootParent: Data
    Definition Classes
    Data
  64. def getScalaLocationLong: String
    Definition Classes
    ScalaLocated
  65. def getScalaLocationShort: String
    Definition Classes
    ScalaLocated
  66. def getScalaTrace(): Throwable
    Definition Classes
    ContextUserScalaLocated
  67. def getTag[T <: SpinalTag](clazz: Class[T]): Option[T]
    Definition Classes
    SpinalTagReady
  68. def getTypeString: String
  69. def getZero: Bundle.this.type

    Create a data set to 0

    Create a data set to 0

    Definition Classes
    MultiDataData
  70. val globalData: GlobalData
    Definition Classes
    GlobalDataUser
  71. def hasTag(spinalTag: SpinalTag): Boolean
    Definition Classes
    SpinalTagReady
  72. def hashCode(): Int
    Definition Classes
    OverridedEqualsHashCode → AnyRef → Any
  73. final def initFrom(that: AnyRef, target: AnyRef = this): Unit
    Definition Classes
    Data
  74. def instanceAttributes(language: Language): Iterable[Attribute]
    Definition Classes
    SpinalTagReady
  75. def instanceAttributes: Iterable[Attribute]
    Definition Classes
    SpinalTagReady
  76. def isAnalog: Boolean
    Definition Classes
    Data
  77. def isComb: Boolean
    Definition Classes
    Data
  78. def isDirectionLess: Boolean
    Definition Classes
    Data
  79. def isEmptyOfTag: Boolean
    Definition Classes
    SpinalTagReady
  80. def isInOut: Boolean
    Definition Classes
    Data
  81. def isInput: Boolean
    Definition Classes
    Data
  82. def isInputOrInOut: Boolean
    Definition Classes
    Data
  83. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  84. def isNamed: Boolean
    Definition Classes
    Nameable
  85. def isOutput: Boolean
    Definition Classes
    Data
  86. def isOutputOrInOut: Boolean
    Definition Classes
    Data
  87. def isReg: Boolean
    Definition Classes
    Data
  88. def isUnnamed: Boolean
    Definition Classes
    Nameable
  89. def keep(): Bundle.this.type
    Definition Classes
    Data
  90. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  91. def noBackendCombMerge: Bundle.this.type
    Definition Classes
    Data
  92. def noCombLoopCheck: Bundle.this.type
    Definition Classes
    Data
  93. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  94. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  95. def onEachAttributes(doIt: (Attribute) ⇒ Unit): Unit
    Definition Classes
    SpinalTagReady
  96. val parent: Data
    Definition Classes
    Data
  97. val parentScope: ScopeStatement
    Definition Classes
    ContextUser
  98. def pull(): Bundle.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
  99. def randBoot(): Bundle.this.type

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

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

    Definition Classes
    Data
  100. val refOwner: RefOwnerType
    Definition Classes
    OwnableRef
    Annotations
    @dontName()
  101. def removeAssignments(): Bundle.this.type
    Definition Classes
    Data
  102. def removeTag(spinalTag: SpinalTag): Bundle.this.type
    Definition Classes
    SpinalTagReady
  103. def removeTags(tags: Iterable[SpinalTag]): Bundle.this.type
    Definition Classes
    SpinalTagReady
  104. def resized: Bundle.this.type

    Resized data regarding target

    Resized data regarding target

    Definition Classes
    Data
  105. def setAsAnalog(): Bundle.this.type
    Definition Classes
    Data
  106. def setCompositeName(nameable: Nameable, postfix: String, weak: Boolean): Bundle.this.type
    Definition Classes
    Nameable
  107. def setCompositeName(nameable: Nameable, postfix: String): Bundle.this.type
    Definition Classes
    Nameable
  108. def setCompositeName(nameable: Nameable, weak: Boolean): Bundle.this.type
    Definition Classes
    Nameable
  109. def setCompositeName(nameable: Nameable): Bundle.this.type
    Definition Classes
    Nameable
  110. def setName(name: String, weak: Boolean = false): Bundle.this.type
    Definition Classes
    Nameable
  111. def setPartialName(name: String, weak: Boolean): Bundle.this.type
    Definition Classes
    Nameable
  112. def setPartialName(owner: Nameable, name: String, weak: Boolean): Bundle.this.type
    Definition Classes
    Nameable
  113. def setPartialName(name: String): Bundle.this.type
    Definition Classes
    Nameable
  114. def setPartialName(owner: Nameable, name: String): Bundle.this.type
    Definition Classes
    Nameable
  115. def setRefOwner(that: Any): Unit
    Definition Classes
    OwnableRef
  116. def setScalaLocated(source: ScalaLocated): Bundle.this.type
    Definition Classes
    ScalaLocated
  117. def setWeakName(name: String): Bundle.this.type
    Definition Classes
    Nameable
  118. def spinalTags: Set[SpinalTag]
    Definition Classes
    SpinalTagReady
  119. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  120. def toString(): String
    Definition Classes
    BundleNameable → AnyRef → Any
  121. def unsetName(): Bundle.this.type
    Definition Classes
    Nameable
  122. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  123. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  124. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from OverridedEqualsHashCode

Inherited from MultiData

Inherited from Data

Inherited from SpinalTagReady

Inherited from Assignable

Inherited from NameableByComponent

Inherited from Nameable

Inherited from OwnableRef

Inherited from ContextUser

Inherited from ScalaLocated

Inherited from GlobalDataUser

Inherited from AnyRef

Inherited from Any

Ungrouped