abstract class BlackBox extends Component
A blackbox allows the user to integrate an existing VHDL/Verilog component into the design by just specifying the interfaces.
class Ram_1w_1r(wordWidth: Int, wordCount: Int) extends BlackBox { val generic = new Generic { val wordCount = Ram_1w_1r.this.wordCount val wordWidth = Ram_1w_1r.this.wordWidth } val io = new Bundle { val clk = in Bool() val wr = new Bundle { val en = in Bool() val addr = in UInt (log2Up(wordCount) bit) val data = in Bits (wordWidth bit) } val rd = new Bundle { val en = in Bool() val addr = in UInt (log2Up(wordCount) bit) val data = out Bits (wordWidth bit) } } mapClockDomain(clock=io.clk) }
- Alphabetic
- By Inheritance
- BlackBox
- Component
- ValCallbackRec
- ValCallback
- OverridedEqualsHashCode
- SpinalTagReady
- Stackable
- PostInitCallback
- NameableByComponent
- Nameable
- ContextUser
- ScalaLocated
- GlobalDataUser
- OwnableRef
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new BlackBox()
Type Members
- abstract type RefOwnerType
- Definition Classes
- OwnableRef
- 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
Class used to create a task that must be executed after the creation of the component
- Definition Classes
- Component
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): BlackBox.this.type
- Definition Classes
- Component → SpinalTagReady
- def addAttribute(name: String, value: Int): BlackBox.this.type
- Definition Classes
- SpinalTagReady
- def addAttribute(name: String, value: String): BlackBox.this.type
- Definition Classes
- SpinalTagReady
- def addAttribute(name: String): BlackBox.this.type
- Definition Classes
- SpinalTagReady
- def addComment(str: String): Component
- Definition Classes
- Component
- def addGeneric(name: String, that: Any): Unit
- def addGenerics(l: (String, Any)*): Unit
- def addPrePopTask(task: () => Unit): ArrayBuffer[PrePopTask]
Add a new prePopTask
Add a new prePopTask
- Definition Classes
- Component
- def addRTLPath(path: String): LinkedHashSet[String]
Add the path of the rtl file
- def addTag[T <: SpinalTag](spinalTag: T): BlackBox.this.type
- Definition Classes
- SpinalTagReady
- def addTags(h: SpinalTag, tail: SpinalTag*): BlackBox.this.type
- Definition Classes
- SpinalTagReady
- def addTags[T <: SpinalTag](tags: Iterable[T]): BlackBox.this.type
- Definition Classes
- SpinalTagReady
- def afterElaboration(body: => Unit): ArrayBuffer[PrePopTask]
- Definition Classes
- Component
- def asFormalDut(): BlackBox.this.type
- Definition Classes
- Component
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val children: ArrayBuffer[Component]
Contains an array of all children Component
Contains an array of all children Component
- Definition Classes
- Component
- def clearBlackBox(): Unit
- val clockDomain: Handle[ClockDomain]
Get the current clock domain (null if there is no clock domain already set )
Get the current clock domain (null if there is no clock domain already set )
- Definition Classes
- Component
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- def component: Component
- Definition Classes
- ContextUser
- val definition: $anon forSome {type $anon <: SpinalTagReady { def addComment(str: String): $anon }}
- Definition Classes
- Component
- var definitionName: String
Definition Name (name of the entity (VHDL) or module (Verilog))
Definition Name (name of the entity (VHDL) or module (Verilog))
- Definition Classes
- Component
- var definitionNameNoMerge: Boolean
- Definition Classes
- Component
- val dslBody: ScopeStatement
- Definition Classes
- Component
- 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
- val genericElements: ArrayBuffer[(String, Any)]
- def getAllIo: Set[BaseType]
Get a set of all IO available in the component
Get a set of all IO available in the component
- Definition Classes
- Component
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def getDisplayName(): String
- def getGeneric: Generic
Return the generic of the blackbox
- def getGroupedIO(ioBundleBypass: Boolean): Seq[Data]
- Definition Classes
- Component
- 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
Sort all IO regarding instanceCounter
- Definition Classes
- Component
- def getParentsPath(sep: String = "/"): String
Return the path of the parent
Return the path of the parent
- Definition Classes
- Component
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
- Definition Classes
- 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
- Definition Classes
- Component
- 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
- var impl: BlackBoxImpl
- def instanceAttributes(language: Language): Iterable[Attribute]
- Definition Classes
- SpinalTagReady
- def instanceAttributes: Iterable[Attribute]
- Definition Classes
- SpinalTagReady
- def isBlackBox: Boolean
- def isCompletelyUnnamed: Boolean
- Definition Classes
- Nameable
- def isDefaultGenericValue: Boolean
- def isEmptyOfTag: Boolean
- Definition Classes
- SpinalTagReady
- var isFormalTester: Boolean
- Definition Classes
- Component
- def isInBlackBoxTree: Boolean
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isLogicLess: Boolean
- Definition Classes
- Component
- final def isNamed: Boolean
- Definition Classes
- Nameable
- def isPriorityApplicable(namePriority: Byte): Boolean
- Definition Classes
- Nameable
- var isSpinalSimWb: Boolean
- def isUnnamed: Boolean
- Definition Classes
- NameableByComponent → Nameable
- def isUsingNoNumericType: Boolean
Return true if the blackbox used the tag noNumericType
- def isUsingULogic: Boolean
Return true if the blackbox used std_ulogic
- val librariesUsages: HashSet[String]
- val listRTLPath: LinkedHashSet[String]
- var localNamingScope: NamingScope
Name allocation
Name allocation
- Definition Classes
- Component
- def makeInputsAnyseq(): Unit
Use anyseq on any input signals to this component which do not have existing assignments.
Use anyseq on any input signals to this component which do not have existing assignments.
- Definition Classes
- Component
- def mapClockDomain(clockDomain: ClockDomain = ClockDomain.current, clock: Bool = null, reset: Bool = null, enable: Bool = null, resetActiveLevel: Polarity = HIGH, enableActiveLevel: Polarity = HIGH): Unit
Map clock domain signals (clock, reset, enable) to a clockDomain
- def mapCurrentClockDomain(clock: Bool, reset: Bool = null, enable: Bool = null, resetActiveLevel: Polarity = HIGH, enableActiveLevel: Polarity = HIGH): Unit
Map clock domains signal to the current ClockDomain
- val name: String
- Definition Classes
- Nameable
- val nameableRef: Nameable
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def noIoPrefix(): BlackBox.this.type
No "io_" prefix in front of the in/out signals
No "io_" prefix in front of the in/out signals
- Definition Classes
- Component
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def onBody[T](body: => T): T
- Definition Classes
- Component
- def onEachAttributes(doIt: (Attribute) => Unit): Unit
- Definition Classes
- SpinalTagReady
- def overrideLocalName(name: String): BlackBox.this.type
- Definition Classes
- Nameable
- def parent: Component
Get the parent component (null if there is no parent)
Get the parent component (null if there is no parent)
- Definition Classes
- Component
- 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
Return a list of all parents of the components
- Definition Classes
- Component
- def postInitCallback(): BlackBox.this.type
- Definition Classes
- Component → PostInitCallback
- def postPopEvent(): Unit
- Definition Classes
- Stackable
- def postPushEvent(): Unit
- def prePop(): Unit
- Definition Classes
- Component
- def prePopEvent(): Unit
- var pulledDataCache: Map[Data, Data]
- Definition Classes
- Component
- val refOwner: RefOwnerType
- Definition Classes
- OwnableRef
- Annotations
- @DontName()
- def reflectBaseType(name: String): BaseType
- Definition Classes
- Component
- def reflectNames(): Unit
- Definition Classes
- Nameable
- def removeTag(spinalTag: SpinalTag): BlackBox.this.type
- Definition Classes
- SpinalTagReady
- def removeTags(tags: Iterable[SpinalTag]): BlackBox.this.type
- Definition Classes
- SpinalTagReady
- def replaceStdLogicByStdULogic(): BlackBox
Replace std_logic by std_ulogic
- def rework[T](gen: => T): T
- Definition Classes
- Component
- val scalaTrace: Throwable
- Definition Classes
- ScalaLocated
- val scopeProperties: Capture
Rework the component
Rework the component
- Definition Classes
- Component
- def setBlackBox(): Unit
- def setBlackBoxName(name: String): BlackBox.this.type
Set the name of the blackbox
- def setCompositeName(nameable: Nameable, postfix: String, namePriority: Byte): BlackBox.this.type
- Definition Classes
- Nameable
- def setCompositeName(nameable: Nameable, postfix: String, weak: Boolean): BlackBox.this.type
- Definition Classes
- Nameable
- def setCompositeName(nameable: Nameable, postfix: String): BlackBox.this.type
- Definition Classes
- Nameable
- def setCompositeName(nameable: Nameable, namePriority: Byte): BlackBox.this.type
- Definition Classes
- Nameable
- def setCompositeName(nameable: Nameable, weak: Boolean): BlackBox.this.type
- Definition Classes
- Nameable
- def setCompositeName(nameable: Nameable): BlackBox.this.type
- Definition Classes
- Nameable
- def setDefinitionName(name: String, noMerge: Boolean = true): BlackBox.this.type
Set the definition name of the component
Set the definition name of the component
- Definition Classes
- Component
- def setFormalTester(): Unit
- Definition Classes
- Component
- def setInline(impl: BlackBoxImpl): Unit
- def setInlineVerilog(str: String): Unit
- def setInlineVhdl(str: String): Unit
- def setIoCd(cd: ClockDomain = this.clockDomain): Unit
- def setLambdaName(isNameBody: => Boolean)(nameGen: => String): BlackBox.this.type
- Definition Classes
- Nameable
- def setName(name: String, namePriority: Byte): BlackBox.this.type
- Definition Classes
- Nameable
- def setName(name: String, weak: Boolean): BlackBox.this.type
- Definition Classes
- Nameable
- def setName(name: String): BlackBox.this.type
- Definition Classes
- Nameable
- def setNameAsWeak(): BlackBox.this.type
- Definition Classes
- Nameable
- def setPartialName(name: String, namePriority: Byte, owner: Any): BlackBox.this.type
- Definition Classes
- Nameable
- def setPartialName(name: String, namePriority: Byte): BlackBox.this.type
- Definition Classes
- Nameable
- def setPartialName(name: String, weak: Boolean): BlackBox.this.type
- Definition Classes
- Nameable
- def setPartialName(owner: Nameable, name: String, namePriority: Byte): BlackBox.this.type
- Definition Classes
- Nameable
- def setPartialName(owner: Nameable, name: String, weak: Boolean): BlackBox.this.type
- Definition Classes
- Nameable
- def setPartialName(name: String): BlackBox.this.type
- Definition Classes
- Nameable
- def setPartialName(owner: Nameable, name: String): BlackBox.this.type
- Definition Classes
- Nameable
- def setPartialName(owner: Nameable): BlackBox.this.type
- Definition Classes
- Nameable
- def setRefOwner(that: Any): Unit
- Definition Classes
- OwnableRef
- def setScalaLocated(source: ScalaLocated): BlackBox.this.type
- Definition Classes
- ScalaLocated
- def setWeakName(name: String): BlackBox.this.type
- Definition Classes
- Nameable
- def spinalSimWhiteBox(): Unit
- def spinalTags: LinkedHashSet[SpinalTag]
- Definition Classes
- SpinalTagReady
- def stub(): BlackBox.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
- Definition Classes
- Component
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): BlackBox.this.type
- Definition Classes
- Component
- def traceEnable(recursive: Boolean = true): BlackBox.this.type
- Definition Classes
- Component
- var traceEnabled: Boolean
- Definition Classes
- Component
- def unsetName(): BlackBox.this.type
- Definition Classes
- Nameable
- val userCache: Map[Any, Any]
Used to store arbitrary object related to the component
Used to store arbitrary object related to the component
- Definition Classes
- 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
- Definition Classes
- Component
- def withAutoPull(): Unit
- Definition Classes
- Component
- var withHierarchyAutoPull: Boolean
- Definition Classes
- Component
- def withKeywords(): Unit
- Definition Classes
- Component
- var withVitalOutputs: Boolean
- Definition Classes
- Component
- def withoutKeywords(): Unit
- Definition Classes
- Component
- var withoutReservedKeywords: Boolean
- Definition Classes
- Component
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)