Trait

treadle

ScalaBlackBox

Related Doc: package treadle

Permalink

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
Linear Supertypes
AnyRef, Any
Known Subclasses
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ScalaBlackBox
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def getOutput(inputValues: Seq[BigInt], tpe: Type, outputName: String = ""): BigInt

    Permalink

    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

  2. abstract def name: String

    Permalink
  3. abstract def outputDependencies(outputName: String): Seq[String]

    Permalink

    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

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clockChange(transition: Transition, clockName: String = ""): Unit

    Permalink

    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

  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. def completeName(componentName: String): String

    Permalink
  8. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. def finish(): Unit

    Permalink

    Called by TreadleTester#finish override this method to perform any cleanup necessary

  12. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  13. def getDependencies: Seq[(String, Set[String])]

    Permalink

    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.

  14. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  15. def inputChanged(name: String, value: BigInt): Unit

    Permalink

    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

  16. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  17. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. def setParams(params: Seq[Param]): Unit

    Permalink

    Add any parameters to the black box implementation

  21. def setPlusArgs(plusArgs: Seq[PlusArg]): Unit

    Permalink

    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

  22. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  23. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  24. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped