abstract class Component extends NameableByComponent with ContextUser with ScalaLocated with PostInitCallback with Stackable with OwnableRef with SpinalTagReady with OverridedEqualsHashCode with ValCallbackRec
Abstract class used to create a new Component
class MyAndGate extends Component { val io = new Bundle{ val a,b = in Bool() val res = out Bool() } io.res := io.a & io.b }
- See also
- Alphabetic
- By Inheritance
- Component
- ValCallbackRec
- ValCallback
- OverridedEqualsHashCode
- SpinalTagReady
- Stackable
- PostInitCallback
- NameableByComponent
- Nameable
- ContextUser
- ScalaLocated
- GlobalDataUser
- OwnableRef
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new Component()
Type Members
-
case class
PrePopTask(task: () ⇒ Unit) extends Product with Serializable
Class used to create a task that must be executed after the creation of the component
-
abstract
type
RefOwnerType
- Definition Classes
- OwnableRef
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
val
_spinalTags: LinkedHashSet[SpinalTag]
- Definition Classes
- SpinalTagReady
-
def
addAttribute(attribute: Attribute): Component.this.type
- Definition Classes
- Component → SpinalTagReady
-
def
addAttribute(name: String, value: Int): Component.this.type
- Definition Classes
- SpinalTagReady
-
def
addAttribute(name: String, value: String): Component.this.type
- Definition Classes
- SpinalTagReady
-
def
addAttribute(name: String): Component.this.type
- Definition Classes
- SpinalTagReady
- def addComment(str: String): Component
-
def
addPrePopTask(task: () ⇒ Unit): ArrayBuffer[PrePopTask]
Add a new prePopTask
-
def
addTag[T <: SpinalTag](spinalTag: T): Component.this.type
- Definition Classes
- SpinalTagReady
-
def
addTags(h: SpinalTag, tail: SpinalTag*): Component.this.type
- Definition Classes
- SpinalTagReady
-
def
addTags[T <: SpinalTag](tags: Iterable[T]): Component.this.type
- Definition Classes
- SpinalTagReady
- def afterElaboration(body: ⇒ Unit): ArrayBuffer[PrePopTask]
- def asFormalDut(): Component.this.type
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
val
children: ArrayBuffer[Component]
Contains an array of all children Component
-
val
clockDomain: Handle[ClockDomain]
Get the current clock domain (null if there is no clock domain already set )
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @IntrinsicCandidate()
-
def
component: Component
- Definition Classes
- ContextUser
- val definition: $anon forSome {type $anon <: SpinalTagReady { def addComment(str: String): $anon }}
-
var
definitionName: String
Definition Name (name of the entity (VHDL) or module (Verilog))
- var definitionNameNoMerge: Boolean
- val dslBody: ScopeStatement
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(obj: Any): Boolean
- Definition Classes
- OverridedEqualsHashCode → AnyRef → Any
-
def
existsTag(cond: (SpinalTag) ⇒ Boolean): Boolean
- Definition Classes
- SpinalTagReady
-
def
filterTag(cond: (SpinalTag) ⇒ Boolean): Iterable[SpinalTag]
- Definition Classes
- SpinalTagReady
-
def
findTag(cond: (SpinalTag) ⇒ Boolean): Option[SpinalTag]
- Definition Classes
- SpinalTagReady
-
def
foreachReflectableNameables(doThat: (Any) ⇒ Unit): Unit
- Definition Classes
- Nameable
-
def
foreachTag(body: (SpinalTag) ⇒ Unit): Unit
- Definition Classes
- SpinalTagReady
-
def
getAllIo: Set[BaseType]
Get a set of all IO available in the component
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def getDisplayName(): String
- def getGroupedIO(ioBundleBypass: Boolean): Seq[Data]
-
def
getInstanceCounter: Int
- Definition Classes
- ContextUser
-
def
getMode: Byte
- Attributes
- protected
- Definition Classes
- Nameable
-
def
getName(default: String): String
- Definition Classes
- NameableByComponent → Nameable
-
def
getName(): String
- Definition Classes
- NameableByComponent → Nameable
-
def
getOrdredNodeIo: List[BaseType]
Sort all IO regarding instanceCounter
-
def
getParentsPath(sep: String = "/"): String
Return the path of the parent
Return the path of the parent
toplevel/[myComponent1] // Current component is myComponent2
Example: -
def
getPartialName(): String
- Definition Classes
- Nameable
-
def
getPath(sep: String = "/"): String
Return the path of the component
Return the path of the component
toplevel/[myComponent1]/[myComponent2] // Current component is myComponent2
Example: -
def
getPath(from: Component, to: Component): Seq[Component]
- Definition Classes
- NameableByComponent
-
def
getRefOwnersChain(): List[Any]
- Definition Classes
- OwnableRef
- def getRtlPath(separator: String = "/"): String
-
def
getScalaLocationLong: String
- Definition Classes
- ScalaLocated
-
def
getScalaLocationShort: String
- Definition Classes
- ScalaLocated
-
def
getScalaTrace(): Throwable
- Definition Classes
- ScalaLocated
-
def
getTag[T <: SpinalTag](clazz: Class[T]): Option[T]
- Definition Classes
- SpinalTagReady
-
def
getTags(): LinkedHashSet[SpinalTag]
- Definition Classes
- SpinalTagReady
-
val
globalData: GlobalData
- Definition Classes
- GlobalDataUser
-
def
hasTag[T <: SpinalTag](clazz: Class[T]): Boolean
- Definition Classes
- SpinalTagReady
-
def
hasTag(spinalTag: SpinalTag): Boolean
- Definition Classes
- SpinalTagReady
-
def
hashCode(): Int
- Definition Classes
- OverridedEqualsHashCode → AnyRef → Any
-
def
instanceAttributes(language: Language): Iterable[Attribute]
- Definition Classes
- SpinalTagReady
-
def
instanceAttributes: Iterable[Attribute]
- Definition Classes
- SpinalTagReady
-
def
isCompletelyUnnamed: Boolean
- Definition Classes
- Nameable
-
def
isEmptyOfTag: Boolean
- Definition Classes
- SpinalTagReady
- var isFormalTester: Boolean
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isLogicLess: Boolean
-
final
def
isNamed: Boolean
- Definition Classes
- Nameable
-
def
isPriorityApplicable(namePriority: Byte): Boolean
- Definition Classes
- Nameable
-
def
isUnnamed: Boolean
- Definition Classes
- NameableByComponent → Nameable
-
var
localNamingScope: NamingScope
Name allocation
-
val
name: String
- Definition Classes
- Nameable
- val nameableRef: Nameable
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
noIoPrefix(): Component.this.type
No "io_" prefix in front of the in/out signals
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- def onBody[T](body: ⇒ T): T
-
def
onEachAttributes(doIt: (Attribute) ⇒ Unit): Unit
- Definition Classes
- SpinalTagReady
-
def
overrideLocalName(name: String): Component.this.type
- Definition Classes
- Nameable
-
def
parent: Component
Get the parent component (null if there is no parent)
-
val
parentScope: ScopeStatement
- Definition Classes
- ContextUser
-
def
parents(of: Component = this, list: List[Component] = Nil): List[Component]
Return a list of all parents of the components
-
def
postInitCallback(): Component.this.type
- Definition Classes
- Component → PostInitCallback
-
def
postPopEvent(): Unit
- Definition Classes
- Stackable
- def postPushEvent(): Unit
- def prePop(): Unit
- def prePopEvent(): Unit
- var pulledDataCache: Map[Data, Data]
-
val
refOwner: RefOwnerType
- Definition Classes
- OwnableRef
- Annotations
- @DontName()
- def reflectBaseType(name: String): BaseType
-
def
reflectNames(): Unit
- Definition Classes
- Nameable
-
def
removeTag(spinalTag: SpinalTag): Component.this.type
- Definition Classes
- SpinalTagReady
-
def
removeTags(tags: Iterable[SpinalTag]): Component.this.type
- Definition Classes
- SpinalTagReady
- def rework[T](gen: ⇒ T): T
-
val
scalaTrace: Throwable
- Definition Classes
- ScalaLocated
-
val
scopeProperties: Capture
Rework the component
-
def
setCompositeName(nameable: Nameable, postfix: String, namePriority: Byte): Component.this.type
- Definition Classes
- Nameable
-
def
setCompositeName(nameable: Nameable, postfix: String, weak: Boolean): Component.this.type
- Definition Classes
- Nameable
-
def
setCompositeName(nameable: Nameable, postfix: String): Component.this.type
- Definition Classes
- Nameable
-
def
setCompositeName(nameable: Nameable, namePriority: Byte): Component.this.type
- Definition Classes
- Nameable
-
def
setCompositeName(nameable: Nameable, weak: Boolean): Component.this.type
- Definition Classes
- Nameable
-
def
setCompositeName(nameable: Nameable): Component.this.type
- Definition Classes
- Nameable
-
def
setDefinitionName(name: String, noMerge: Boolean = true): Component.this.type
Set the definition name of the component
- def setFormalTester(): Unit
-
def
setLambdaName(isNameBody: ⇒ Boolean)(nameGen: ⇒ String): Component.this.type
- Definition Classes
- Nameable
-
def
setName(name: String, namePriority: Byte): Component.this.type
- Definition Classes
- Nameable
-
def
setName(name: String, weak: Boolean): Component.this.type
- Definition Classes
- Nameable
-
def
setName(name: String): Component.this.type
- Definition Classes
- Nameable
-
def
setNameAsWeak(): Component.this.type
- Definition Classes
- Nameable
-
def
setPartialName(name: String, namePriority: Byte, owner: Any): Component.this.type
- Definition Classes
- Nameable
-
def
setPartialName(name: String, namePriority: Byte): Component.this.type
- Definition Classes
- Nameable
-
def
setPartialName(name: String, weak: Boolean): Component.this.type
- Definition Classes
- Nameable
-
def
setPartialName(owner: Nameable, name: String, namePriority: Byte): Component.this.type
- Definition Classes
- Nameable
-
def
setPartialName(owner: Nameable, name: String, weak: Boolean): Component.this.type
- Definition Classes
- Nameable
-
def
setPartialName(name: String): Component.this.type
- Definition Classes
- Nameable
-
def
setPartialName(owner: Nameable, name: String): Component.this.type
- Definition Classes
- Nameable
-
def
setPartialName(owner: Nameable): Component.this.type
- Definition Classes
- Nameable
-
def
setRefOwner(that: Any): Unit
- Definition Classes
- OwnableRef
-
def
setScalaLocated(source: ScalaLocated): Component.this.type
- Definition Classes
- ScalaLocated
-
def
setWeakName(name: String): Component.this.type
- Definition Classes
- Nameable
-
def
spinalTags: LinkedHashSet[SpinalTag]
- Definition Classes
- SpinalTagReady
-
def
stub(): Component.this.type
Empty Component, remove logic in component and assign zero on output port as stub
Empty Component, remove logic in component and assign zero on output port as stub
val dut = (new MyComponent).stub()
Example: -
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- Nameable → AnyRef → Any
- def traceDisable(recursive: Boolean = true): Component.this.type
- def traceEnable(recursive: Boolean = true): Component.this.type
- var traceEnabled: Boolean
-
def
unsetName(): Component.this.type
- Definition Classes
- Nameable
-
val
userCache: Map[Any, Any]
Used to store arbitrary object related to the component
-
def
valCallback[T](ref: T, name: String): T
- Definition Classes
- ValCallbackRec → ValCallback
-
def
valCallbackOn(ref: Any, name: String, refs: Set[Any]): Unit
- Definition Classes
- ValCallbackRec
-
def
valCallbackRec(ref: Any, name: String): Unit
- Definition Classes
- Component → ValCallbackRec
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- def walkComponents(body: (Component) ⇒ Unit): Unit
- def withAutoPull(): Unit
- var withHierarchyAutoPull: Boolean
- def withKeywords(): Unit
- var withVitalOutputs: Boolean
- def withoutKeywords(): Unit
- var withoutReservedKeywords: Boolean
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated