Class

Chisel.hwiotesters

SteppedHWIOTester

Related Doc: package hwiotesters

Permalink

abstract class SteppedHWIOTester extends HWIOTester

Use a UnitTester to construct a test harness for a chisel module this module will be canonically referred to as the device_under_test, often simply as c in a unit test, and also dut The UnitTester is used to put series of values (as chisel.Vec's) into the ports of the dut io which are INPUT At specified times it check the dut io OUTPUT ports to see that they match a specific value The vec's are assembled through the following API poke, expect and step, pokes

Example:
  1. class Adder(width:Int) extends Module {
      val io = new Bundle {
        val in0 : UInt(INPUT, width=width)
        val in1 : UInt(INPUT, width=width)
        val out : UInt(OUTPUT, width=width)
      }
    }
    class AdderTester extends UnitTester {
      val device_under_test = Module( new Adder(32) )
      testBlock {
        poke(c.io.in0, 5)
        poke(c.io.in1, 7)
        expect(c.io.out, 12)
      }
    }
Linear Supertypes
HWIOTester, BasicTester, Module, HasId, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. SteppedHWIOTester
  2. HWIOTester
  3. BasicTester
  4. Module
  5. HasId
  6. AnyRef
  7. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SteppedHWIOTester()

    Permalink

Type Members

  1. case class Step(input_map: HashMap[Data, Int], output_map: HashMap[Data, 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. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. val clock: Clock

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. def createVectorsAndTestsForOutput(output_port: Data, counter: Counter): Unit

    Permalink
  8. def createVectorsForInput(input_port: Data, counter: Counter): Unit

    Permalink
  9. var enable_all_debug: Boolean

    Permalink
    Definition Classes
    HWIOTester
  10. var enable_printf_debug: Boolean

    Permalink
    Definition Classes
    HWIOTester
  11. var enable_scala_debug: Boolean

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  14. def expect(io_port: Data, bool_value: Boolean): Unit

    Permalink
  15. def expect(io_port: Data, value: Int): Unit

    Permalink
  16. def finalize(): Unit

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

    Permalink
    Definition Classes
    SteppedHWIOTesterHWIOTester → BasicTester
  18. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  19. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  20. val io: Bundle

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

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

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

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

    Permalink
    Definition Classes
    HWIOTester
  25. val name: String

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

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

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

    Permalink
    Definition Classes
    AnyRef
  29. def poke(io_port: Data, value: Int): Unit

    Permalink
  30. def popCount(n: Long): Int

    Permalink
    Definition Classes
    BasicTester
  31. val reset: Bool

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

    Permalink
    Definition Classes
    HWIOTester
  33. def step(number_of_cycles: Int): Unit

    Permalink
  34. def stop(): Unit

    Permalink
    Definition Classes
    BasicTester
  35. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  36. val test_actions: ArrayBuffer[Step]

    Permalink
  37. def toString(): String

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

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

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

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

Inherited from HWIOTester

Inherited from BasicTester

Inherited from Module

Inherited from HasId

Inherited from AnyRef

Inherited from Any

Ungrouped