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[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]) @native() @HotSpotIntrinsicCandidate()
- 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
- @native() @HotSpotIntrinsicCandidate()
- 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 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
- def isNamed: Boolean
- Definition Classes
- NameableByComponent → Nameable
- def isPriorityApplicable(namePriority: Byte): Boolean
- Definition Classes
- Nameable
- var isSpinalSimWb: Boolean
- def isUnnamed: Boolean
- Definition Classes
- 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 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
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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]
Reference owner type
Reference owner type
- 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 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 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 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