trait ScalaBlackBox extends AnyRef
This is the template for writing Scala functions that implement the behaviour of a black box. Implementing classes should add internal variables to hold any state information.
- Source
- ScalaBlackBox.scala
- Alphabetic
- By Inheritance
- ScalaBlackBox
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
getOutput(inputValues: Seq[BigInt], tpe: Type, outputName: String = ""): BigInt
getOutput is called to determine the value for the named output at the current state of the system.
getOutput is called to determine the value for the named output at the current state of the system. The proper way to do this is to not use the inputValues. Instead useinputChanged to supply a black box with its inputs.
- inputValues
This is a list of BigInt 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 this output depends on.
returns a list of names of inputs that this 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 getOutput 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
clockChange(transition: Transition, clockName: String = ""): Unit
Called whenever the cycle command of the engine is called.
Called whenever the cycle command of the engine is called.
- clockName
name of the clock, only need if there are multiple clocks
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
- def completeName(componentName: String): String
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finish(): Unit
Called by TreadleTester#finish override this method to perform any cleanup necessary
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
getDependencies: Seq[(String, Set[String])]
returns a list of dependencies between ports.
returns a list of dependencies between ports.
- Note
There is one bit of hand-waving magic to make black boxes work when they have internal state. In order to satisfy the single pass assignment to every wire, black boxes with state must specify that their inputs depend on their outputs, in order to get the correct topological sort. See the AsyncResetBlackBox test to see an example of how this was done.
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
inputChanged(name: String, value: BigInt): Unit
This method will be called for each input symbol of the black box.
This method will be called for each input symbol of the black box. This method should be overridden
- name
the name of the input to this black box
- value
the latest value computed for this input. It may not be different than the current value
-
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()
-
def
setParams(params: Seq[Param]): Unit
Add any parameters to the black box implementation
-
def
setPlusArgs(plusArgs: Seq[PlusArg]): Unit
allows blackbox to see if any plus args on command line are targeted at it
allows blackbox to see if any plus args on command line are targeted at it
- plusArgs
list of args
-
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