Class/Object

chisel3.iotesters

OrderedDecoupledHWIOTester

Related Docs: object OrderedDecoupledHWIOTester | package iotesters

Permalink

abstract class OrderedDecoupledHWIOTester extends HWIOTester

Base class supports implementation of test circuits of modules that use Decoupled inputs and either Decoupled or Valid outputs Multiple decoupled inputs are supported. Testers that subclass this will be strictly ordered. Input will flow into their devices asynchronously but in order they were generated be compared in the order they are generated

Source
OrderedDecoupledHWIOTester.scala
Example:
  1. class XTimesXTester extends [[OrderedDecoupledHWIOTester]] {
      val device_under_test = new XTimesY
      test_block {
        for {
          i <- 0 to 10
          j <- 0 to 10
        } {
          input_event(device_under_test.io.in.x -> i, device_under_test.in.y -> j)
          output_event(device_under_test.io.out.z -> i*j)
        }
      }
    }

    an input event is a series of values that will be gated into the decoupled input interface at the same time an output event is a series of values that will be tested at the same time independent small state machines are set up for input and output interface all inputs regardless of interfaces are submitted to the device under test in the order in which they were created likewise, all outputs regardless of which interface are tested in the same order that they were created

Linear Supertypes
HWIOTester, BasicTester, core.Module, HasId, InstanceId, AnyRef, Any
Type Hierarchy Learn more about scaladoc diagrams
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. OrderedDecoupledHWIOTester
  2. HWIOTester
  3. BasicTester
  4. Module
  5. HasId
  6. InstanceId
  7. AnyRef
  8. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new OrderedDecoupledHWIOTester()

    Permalink

Type Members

  1. class GlobalEventCounter extends AnyRef

    Permalink
  2. case class TestingEvent(port_values: Map[Data, BigInt], event_number: Int) extends Product with Serializable

    Permalink

Abstract Value Members

  1. abstract val device_under_test: Module

    Permalink
    Definition Classes
    HWIOTester

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. def IO[T <: core.Data](iodef: T): iodef.type

    Permalink
    Definition Classes
    Module
  5. def annotate(annotation: ChiselAnnotation): Unit

    Permalink
    Definition Classes
    Module
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def checkAndGetCommonDecoupledOrValidParentPort(pokes: Seq[(Data, BigInt)], must_be_decoupled: Boolean = true, event_number: Int): Either[DecoupledIO[Data], ValidIO[Data]]

    Permalink

    Validate that all pokes ports are members of the same DecoupledIO makes a list of all decoupled parents based on the ports referenced in pokes

  8. val clock: core.Clock

    Permalink
    Definition Classes
    Module
  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. val compileOptions: CompileOptions

    Permalink
    Definition Classes
    Module
  11. val control_port_to_input_values: HashMap[DecoupledIO[Data], ArrayBuffer[TestingEvent]]

    Permalink
  12. val decoupled_control_port_to_output_values: HashMap[DecoupledIO[Data], ArrayBuffer[TestingEvent]]

    Permalink
  13. def desiredName: String

    Permalink
    Definition Classes
    Module
  14. var enable_all_debug: Boolean

    Permalink
    Definition Classes
    HWIOTester
  15. var enable_printf_debug: Boolean

    Permalink
    Definition Classes
    HWIOTester
  16. var enable_scala_debug: Boolean

    Permalink
    Definition Classes
    HWIOTester
  17. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. def equals(that: Any): Boolean

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

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

    Permalink

    this builds a circuit to load inputs and circuits to test outputs that are controlled by either a decoupled or valid

    this builds a circuit to load inputs and circuits to test outputs that are controlled by either a decoupled or valid

    Definition Classes
    OrderedDecoupledHWIOTesterHWIOTester → BasicTester
  21. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  22. def getCommonValidParentPort(expects: Seq[(Data, BigInt)], event_number: Int): Either[DecoupledIO[Data], ValidIO[Data]]

    Permalink

    Validate that all pokes ports are members of the same DecoupledIO or ValidIO makes a list of all decoupled parents based on the ports referenced in pokes

  23. lazy val getPorts: Seq[Port]

    Permalink
    Definition Classes
    Module
  24. def hashCode(): Int

    Permalink
    Definition Classes
    HasId → AnyRef → Any
  25. def inputEvent(pokes: (Data, BigInt)*): Unit

    Permalink
  26. val input_event_list: ArrayBuffer[Seq[(Data, BigInt)]]

    Permalink
  27. def instanceName: String

    Permalink
    Definition Classes
    Module → HasId → InstanceId
  28. val io: core.Bundle

    Permalink
    Definition Classes
    BasicTester → Module
  29. var io_info: IOAccessor

    Permalink
    Definition Classes
    HWIOTester
  30. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  31. def logPrintfDebug(fmt: String, args: Bits*): Unit

    Permalink
    Definition Classes
    HWIOTester
  32. def logScalaDebug(msg: ⇒ String): Unit

    Permalink
    Definition Classes
    HWIOTester
  33. final val name: String

    Permalink
    Definition Classes
    Module
  34. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  37. def outputEvent(expects: (Data, BigInt)*): Unit

    Permalink
  38. val output_event_list: ArrayBuffer[Seq[(Data, BigInt)]]

    Permalink
  39. def parentModName: String

    Permalink
    Definition Classes
    HasId → InstanceId
  40. def parentPathName: String

    Permalink
    Definition Classes
    HasId → InstanceId
  41. def pathName: String

    Permalink
    Definition Classes
    HasId → InstanceId
  42. def popCount(n: Long): Int

    Permalink
    Definition Classes
    BasicTester
  43. val port_to_decoupled: HashMap[Data, DecoupledIO[Data]]

    Permalink
  44. val port_to_valid: HashMap[Data, ValidIO[Data]]

    Permalink
  45. def processInputEvents(): Unit

    Permalink

    iterate over recorded events, checking constraints on ports referenced, etc.

    iterate over recorded events, checking constraints on ports referenced, etc. use poke and expect to record

  46. def processOutputEvents(): Unit

    Permalink
  47. val reset: core.Bool

    Permalink
    Definition Classes
    Module
  48. val rnd: Random.type

    Permalink
    Definition Classes
    HWIOTester
  49. def stop()(implicit sourceInfo: SourceInfo): Unit

    Permalink
    Definition Classes
    BasicTester
  50. def suggestName(name: ⇒ String): OrderedDecoupledHWIOTester.this.type

    Permalink
    Definition Classes
    HasId
  51. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
    Definition Classes
    AnyRef → Any
  53. val valid_control_port_to_output_values: HashMap[ValidIO[Data], ArrayBuffer[TestingEvent]]

    Permalink
  54. final def wait(): Unit

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

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

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

Inherited from HWIOTester

Inherited from BasicTester

Inherited from core.Module

Inherited from HasId

Inherited from InstanceId

Inherited from AnyRef

Inherited from Any

Ungrouped