Class/Object

spinal.core

BaseType

Related Docs: object BaseType | package core

Permalink

abstract class BaseType extends Data with DeclarationStatement with StatementDoubleLinkedContainer[BaseType, AssignmentStatement] with Expression

Abstract base class of all Spinal types

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BaseType
  2. Expression
  3. StatementDoubleLinkedContainer
  4. DoubleLinkedContainer
  5. DeclarationStatement
  6. LeafStatement
  7. Statement
  8. BaseNode
  9. ExpressionContainer
  10. Data
  11. SpinalTagReady
  12. Assignable
  13. NameableByComponent
  14. Nameable
  15. OwnableRef
  16. ContextUser
  17. ScalaLocated
  18. GlobalDataUser
  19. AnyRef
  20. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new BaseType()

    Permalink

Type Members

  1. abstract type RefOwnerType

    Permalink
    Definition Classes
    OwnableRef

Abstract Value Members

  1. abstract def asBits: Bits

    Permalink

    Cast data to Bits

    Cast data to Bits

    Definition Classes
    Data
  2. abstract def assignFromBits(bits: Bits, hi: Int, low: Int): Unit

    Permalink
    Definition Classes
    Data
  3. abstract def assignFromBits(bits: Bits): Unit

    Permalink
    Definition Classes
    Data
  4. abstract def getBitsWidth: Int

    Permalink

    Return the width of the data

    Return the width of the data

    Definition Classes
    Data
  5. abstract def getTypeObject: Any

    Permalink
    Definition Classes
    Expression
  6. abstract def getZero: BaseType.this.type

    Permalink

    Create a data set to 0

    Create a data set to 0

    Definition Classes
    Data
  7. abstract def opName: String

    Permalink
    Definition Classes
    Expression

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. def ##(right: Data): Bits

    Permalink

    Concatenation between two data

    Concatenation between two data

    Definition Classes
    Data
  3. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  5. var _spinalTags: Set[SpinalTag]

    Permalink
    Definition Classes
    SpinalTagReady
  6. def addAttribute(attribute: Attribute): BaseType.this.type

    Permalink
    Definition Classes
    BaseTypeDataSpinalTagReady
  7. def addAttribute(name: String, value: String): BaseType.this.type

    Permalink
    Definition Classes
    SpinalTagReady
  8. def addAttribute(name: String): BaseType.this.type

    Permalink
    Definition Classes
    SpinalTagReady
  9. def addTag[T <: SpinalTag](spinalTag: T): BaseType.this.type

    Permalink
    Definition Classes
    SpinalTagReady
  10. def addTags[T <: SpinalTag](tags: Iterable[T]): BaseType.this.type

    Permalink
    Definition Classes
    SpinalTagReady
  11. var algoIncrementale: Int

    Permalink
    Definition Classes
    BaseNode
  12. var algoInt: Int

    Permalink
    Definition Classes
    BaseNode
  13. def allowDirectionLessIo: BaseType.this.type

    Permalink
    Definition Classes
    Data
  14. def allowOverride: BaseType.this.type

    Permalink

    Allow a data to be overrided

    Allow a data to be overrided

    Definition Classes
    Data
  15. def allowPruning(): BaseType.this.type

    Permalink
    Definition Classes
    Data
  16. def allowSimplifyIt(): BaseType.this.type

    Permalink
    Definition Classes
    BaseTypeData
  17. def allowUnsetRegToAvoidLatch: BaseType.this.type

    Permalink
    Definition Classes
    Data
  18. def asData: Data

    Permalink
    Definition Classes
    Data
  19. def asInOut(): BaseType.this.type

    Permalink

    set a data as inout

    set a data as inout

    Definition Classes
    BaseTypeData
  20. def asInput(): BaseType.this.type

    Permalink

    Set a data as input

    Set a data as input

    Definition Classes
    BaseTypeData
  21. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  22. def asOutput(): BaseType.this.type

    Permalink

    Set a data as output

    Set a data as output

    Definition Classes
    BaseTypeData
  23. def assignDontCare(): BaseType.this.type

    Permalink
    Definition Classes
    Data
  24. final def assignFrom(that: AnyRef, target: AnyRef = this): Unit

    Permalink
    Definition Classes
    Data
  25. def assignFromBits(bits: Bits, offset: Int, bitCount: BitCount): Unit

    Permalink
    Definition Classes
    Data
  26. var clockDomain: ClockDomain

    Permalink
  27. def clone(): BaseType.this.type

    Permalink
    Definition Classes
    BaseTypeData → AnyRef
  28. def component: Component

    Permalink
    Definition Classes
    ContextUser
  29. final def compositAssignFrom(that: AnyRef, target: AnyRef, kind: AnyRef): Unit

    Permalink
    Definition Classes
    Assignable
  30. var compositeAssign: Assignable

    Permalink
    Definition Classes
    Assignable
  31. def dirString(): String

    Permalink
    Definition Classes
    Data
  32. def dlcAppend(that: AssignmentStatement): BaseType.this.type

    Permalink
    Definition Classes
    DoubleLinkedContainer
  33. def dlcForeach[T >: AssignmentStatement](func: (T) ⇒ Unit): Unit

    Permalink
    Definition Classes
    DoubleLinkedContainer
  34. def dlcHasOnlyOne: Boolean

    Permalink
    Definition Classes
    DoubleLinkedContainer
  35. var dlcHead: AssignmentStatement

    Permalink
    Definition Classes
    DoubleLinkedContainer
  36. def dlcIsEmpty: Boolean

    Permalink
    Definition Classes
    DoubleLinkedContainer
  37. var dlcLast: AssignmentStatement

    Permalink
    Definition Classes
    DoubleLinkedContainer
  38. def dlcPrepend(that: AssignmentStatement): BaseType.this.type

    Permalink
    Definition Classes
    DoubleLinkedContainer
  39. def dontSimplifyIt(): BaseType.this.type

    Permalink
    Definition Classes
    BaseTypeData
  40. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  42. def existsTag(cond: (SpinalTag) ⇒ Boolean): Boolean

    Permalink
    Definition Classes
    SpinalTagReady
  43. def filterTag(cond: (SpinalTag) ⇒ Boolean): Iterable[SpinalTag]

    Permalink
    Definition Classes
    SpinalTagReady
  44. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  45. def findTag(cond: (SpinalTag) ⇒ Boolean): Option[SpinalTag]

    Permalink
    Definition Classes
    SpinalTagReady
  46. def flatten: Seq[BaseType]

    Permalink
    Definition Classes
    BaseTypeData
  47. def flattenForeach(body: (BaseType) ⇒ Unit): Unit

    Permalink
    Definition Classes
    BaseTypeData
  48. def flattenLocalName: Seq[String]

    Permalink
    Definition Classes
    BaseTypeData
  49. def flip(): BaseType.this.type

    Permalink

    flip the direction of the data

    flip the direction of the data

    Definition Classes
    Data
  50. def foreachClockDomain(func: (ClockDomain) ⇒ Unit): Unit

    Permalink
    Definition Classes
    BaseTypeStatement
  51. def foreachDrivingExpression(func: (Expression) ⇒ Unit): Unit

    Permalink
    Definition Classes
    ExpressionContainer
  52. def foreachExpression(func: (Expression) ⇒ Unit): Unit

    Permalink
  53. def foreachReflectableNameables(doThat: (Any) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Nameable
  54. def foreachStatements(func: (AssignmentStatement) ⇒ Unit): Unit

    Permalink
  55. def genIf(cond: Boolean): BaseType.this.type

    Permalink

    Generate this if condition is true

    Generate this if condition is true

    Definition Classes
    Data
  56. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  57. def getComponent(): Component

    Permalink
    Definition Classes
    DataNameableByComponent
  58. def getComponents(): Seq[Component]

    Permalink

    Get current component with all parents

    Get current component with all parents

    Definition Classes
    Data
  59. def getDisplayName(): String

    Permalink
    Definition Classes
    Nameable
  60. def getDrivingReg: BaseType.this.type

    Permalink
  61. def getInstanceCounter: Int

    Permalink
    Definition Classes
    ContextUser
  62. def getMode: Byte

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

    Permalink
    Definition Classes
    NameableByComponentNameable
  64. def getName(): String

    Permalink
    Definition Classes
    Nameable
  65. def getRealSource: Any

    Permalink
    Definition Classes
    Assignable
  66. def getRealSourceNoRec: Any

    Permalink
    Definition Classes
    DataAssignable
  67. def getRefOwnersChain(): List[Any]

    Permalink
    Definition Classes
    OwnableRef
  68. def getRootParent: Data

    Permalink
    Definition Classes
    Data
  69. def getScalaLocationLong: String

    Permalink
    Definition Classes
    ScalaLocated
  70. def getScalaLocationShort: String

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

    Permalink
    Definition Classes
    ScalaLocated
  72. def getSingleDriver: Option[BaseType.this.type]

    Permalink
  73. def getTag[T <: SpinalTag](clazz: Class[T]): Option[T]

    Permalink
    Definition Classes
    SpinalTagReady
  74. def getTags(): Set[SpinalTag]

    Permalink
    Definition Classes
    SpinalTagReady
  75. val globalData: GlobalData

    Permalink
    Definition Classes
    GlobalDataUser
  76. def hasAssignement: Boolean

    Permalink
  77. def hasInit: Boolean

    Permalink

    Does the base type have initial value

  78. def hasOnlyOneStatement: Boolean

    Permalink
  79. def hasTag[T <: SpinalTag](clazz: Class[T]): Boolean

    Permalink
    Definition Classes
    SpinalTagReady
  80. def hasTag(spinalTag: SpinalTag): Boolean

    Permalink
    Definition Classes
    SpinalTagReady
  81. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  82. def head: AssignmentStatement

    Permalink
  83. final def initFrom(that: AnyRef, target: AnyRef = this): Unit

    Permalink
    Definition Classes
    Data
  84. def insertNext(s: Statement): Unit

    Permalink
    Definition Classes
    Statement
  85. def instanceAttributes(language: Language): Iterable[Attribute]

    Permalink
    Definition Classes
    SpinalTagReady
  86. def instanceAttributes: Iterable[Attribute]

    Permalink
    Definition Classes
    SpinalTagReady
  87. def isAnalog: Boolean

    Permalink
    Definition Classes
    BaseTypeData
  88. def isComb: Boolean

    Permalink
    Definition Classes
    BaseTypeData
  89. def isDirectionLess: Boolean

    Permalink
    Definition Classes
    Data
  90. def isEmptyOfTag: Boolean

    Permalink
    Definition Classes
    SpinalTagReady
  91. def isInOut: Boolean

    Permalink
    Definition Classes
    Data
  92. def isInput: Boolean

    Permalink
    Definition Classes
    Data
  93. def isInputOrInOut: Boolean

    Permalink
    Definition Classes
    Data
  94. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  95. def isNamed: Boolean

    Permalink
    Definition Classes
    NameableByComponentNameable
  96. def isOutput: Boolean

    Permalink
    Definition Classes
    Data
  97. def isOutputOrInOut: Boolean

    Permalink
    Definition Classes
    Data
  98. def isPriorityApplicable(namePriority: Byte): Boolean

    Permalink
    Definition Classes
    Nameable
  99. def isReg: Boolean

    Permalink
    Definition Classes
    BaseTypeData
  100. def isTypeNode: Boolean

    Permalink

    Is the baseType a node

  101. def isUnnamed: Boolean

    Permalink
    Definition Classes
    Nameable
  102. def isUsingResetSignal: Boolean

    Permalink

    Is the basetype using reset signal

  103. def isUsingSoftResetSignal: Boolean

    Permalink

    Is the basetype using soft reset signal

  104. def isVital: Boolean

    Permalink

    Check if the baseType is vital

  105. def keep(): BaseType.this.type

    Permalink
    Definition Classes
    Data
  106. var lastScopeStatement: Statement

    Permalink
    Definition Classes
    Statement
  107. def mux[T2 <: Data](mappings: (Any, T2)*): T2

    Permalink
  108. def muxList[T2 <: Data](defaultValue: T2, mappings: Seq[(Any, T2)]): T2

    Permalink
  109. def muxList[T2 <: Data](mappings: Seq[(Any, T2)]): T2

    Permalink
  110. def muxListDc[T2 <: Data](mappings: Seq[(Any, T2)]): T2

    Permalink
  111. var name: String

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

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

    Permalink
    Definition Classes
    AnyRef
  114. var nextScopeStatement: Statement

    Permalink
    Definition Classes
    Statement
  115. def noBackendCombMerge: BaseType.this.type

    Permalink
    Definition Classes
    Data
  116. def noCombLoopCheck: BaseType.this.type

    Permalink
    Definition Classes
    Data
  117. def normalizeInputs: Unit

    Permalink
    Definition Classes
    BaseTypeExpressionContainer
  118. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  120. def onEachAttributes(doIt: (Attribute) ⇒ Unit): Unit

    Permalink
    Definition Classes
    SpinalTagReady
  121. var parent: Data

    Permalink
    Definition Classes
    Data
  122. var parentScope: ScopeStatement

    Permalink
    Definition Classes
    ContextUser
  123. def pull(): BaseType.this.type

    Permalink

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

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

    Definition Classes
    Data
  124. def purify(): BaseType.this.type

    Permalink
    Definition Classes
    Data
  125. def randBoot(): BaseType.this.type

    Permalink

    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
  126. var refOwner: RefOwnerType

    Permalink
    Definition Classes
    OwnableRef
  127. def remapDrivingExpressions(func: (Expression) ⇒ Expression): Unit

    Permalink
    Definition Classes
    ExpressionContainer
  128. def remapExpressions(func: (Expression) ⇒ Expression): Unit

    Permalink
  129. def removeAssignments(): BaseType.this.type

    Permalink

    Remove all assignements of the base type

    Remove all assignements of the base type

    Definition Classes
    BaseTypeData
  130. def removeStatement(): Unit

    Permalink
    Definition Classes
    BaseTypeStatement
  131. def removeStatementFromScope(): Unit

    Permalink
    Definition Classes
    Statement
  132. def removeTag(spinalTag: SpinalTag): BaseType.this.type

    Permalink
    Definition Classes
    SpinalTagReady
  133. def removeTags(tags: Iterable[SpinalTag]): BaseType.this.type

    Permalink
    Definition Classes
    SpinalTagReady
  134. def resized: BaseType.this.type

    Permalink

    Resized data regarding target

    Resized data regarding target

    Definition Classes
    Data
  135. def rootScopeStatement: ScopeStatement

    Permalink
    Definition Classes
    BaseTypeStatement
  136. def setAsAnalog(): BaseType.this.type

    Permalink
    Definition Classes
    BaseTypeData
  137. def setAsComb(): BaseType.this.type

    Permalink

    Set baseType to Combinatorial

    Set baseType to Combinatorial

    Definition Classes
    BaseTypeData
  138. def setAsDirectionLess(): BaseType.this.type

    Permalink

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

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

    Definition Classes
    BaseTypeData
  139. def setAsReg(): BaseType.this.type

    Permalink

    Set baseType to reg

    Set baseType to reg

    Definition Classes
    BaseTypeData
  140. def setAsTypeNode(): BaseType.this.type

    Permalink

    Set baseType to Node

  141. def setAsVital(): BaseType.this.type

    Permalink

    Set the baseType to vital

  142. def setCompositeName(nameable: Nameable, postfix: String, namePriority: Byte): BaseType.this.type

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

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

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

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

    Permalink
    Definition Classes
    Nameable
  147. def setCompositeName(nameable: Nameable): BaseType.this.type

    Permalink
    Definition Classes
    Nameable
  148. def setName(name: String, namePriority: Byte): BaseType.this.type

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

    Permalink
    Definition Classes
    Nameable
  150. def setName(name: String): BaseType.this.type

    Permalink
    Definition Classes
    Nameable
  151. def setPartialName(name: String, namePriority: Byte): BaseType.this.type

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

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

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

    Permalink
    Definition Classes
    Nameable
  155. def setPartialName(name: String): BaseType.this.type

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

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

    Permalink
    Definition Classes
    OwnableRef
  158. def setScalaLocated(source: ScalaLocated): BaseType.this.type

    Permalink
    Definition Classes
    ScalaLocated
  159. def setWeakName(name: String): BaseType.this.type

    Permalink
    Definition Classes
    Nameable
  160. def simplifyNode: Expression

    Permalink
    Definition Classes
    Expression
  161. def spinalTags: Set[SpinalTag]

    Permalink
    Definition Classes
    SpinalTagReady
  162. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
    Definition Classes
    BaseTypeExpressionNameable → AnyRef → Any
  164. def toStringMultiLine(): String

    Permalink
    Definition Classes
    BaseNode
  165. def unsetName(): BaseType.this.type

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  169. def walkDrivingExpressions(func: (Expression) ⇒ Unit): Unit

    Permalink
    Definition Classes
    ExpressionContainer
  170. def walkExpression(func: (Expression) ⇒ Unit): Unit

    Permalink
    Definition Classes
    ExpressionContainer
  171. def walkParentTreeStatements(func: (TreeStatement) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Statement
  172. def walkParentTreeStatementsUntilRootScope(func: (TreeStatement) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Statement
  173. def walkRemapDrivingExpressions(func: (Expression) ⇒ Expression): Unit

    Permalink
    Definition Classes
    ExpressionContainer
  174. def walkRemapExpressions(func: (Expression) ⇒ Expression): Unit

    Permalink
    Definition Classes
    ExpressionContainer
  175. def wrapCast[T <: BaseType](result: T, node: Cast): T

    Permalink

Deprecated Value Members

  1. def asDirectionLess(): BaseType.this.type

    Permalink
    Definition Classes
    Data
    Annotations
    @deprecated
    Deprecated

    use setAsDirectionLess instead

Inherited from Expression

Inherited from DeclarationStatement

Inherited from LeafStatement

Inherited from Statement

Inherited from BaseNode

Inherited from ExpressionContainer

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