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
- Protected
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[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(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- 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[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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 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
- def isNamed: Boolean
- Definition Classes
- NameableByComponent → Nameable
- def isPriorityApplicable(namePriority: Byte): Boolean
- Definition Classes
- Nameable
- def isUnnamed: Boolean
- Definition Classes
- 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() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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]
Reference owner type
- 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 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 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 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(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- 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