abstract class BlackBoxImplementation extends AnyRef
This is the template for writing scala functions that implement the behaviour of a black box i.e. firrtl.ir.ExtModule. Implementing classes should add internal variables to hold any state information.
- Source
- ExternalModule.scala
- Alphabetic
- By Inheritance
- BlackBoxImplementation
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new BlackBoxImplementation()
Abstract Value Members
-
abstract
def
cycle(): Unit
Called whenever the cycle command of the interpreter is called.
-
abstract
def
execute(inputValues: Seq[Concrete], tpe: Type, outputName: String = ""): Concrete
Execute is called to determine the value for the named output at the current state of the system.
Execute is called to determine the value for the named output at the current state of the system.
- inputValues
This is a list of concrete values that are in the same order as the outputDependencies lists them
- tpe
The concrete type of this output
- outputName
The name of this output
- returns
Computed current concrete value for the name output
- abstract def name: String
-
abstract
def
outputDependencies(outputName: String): Seq[String]
returns a list of names of inputs that the nanmed output depends on.
returns a list of names of inputs that the nanmed output depends on.
- outputName
the output whose dependencies are being described
- Note
The order of this list will determine the order of the inputValues argument to the execute method
Concrete 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
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
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( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated
-
def
fullName(componentName: String): String
- Annotations
- @deprecated
- Deprecated
Do not use. This was formerly used to add BlackBox name to io, just use un-prefixed input names