c

chisel3.iotesters

SteppedHWIOTester

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 chisel3.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

Source
SteppedHWIOTester.scala
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, LegacyModule, ImplicitModule, UserModule, BaseModule, HasId, InstanceId, AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SteppedHWIOTester
  2. HWIOTester
  3. BasicTester
  4. LegacyModule
  5. ImplicitModule
  6. UserModule
  7. BaseModule
  8. HasId
  9. InstanceId
  10. AnyRef
  11. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SteppedHWIOTester()

Type Members

  1. case class Step(input_map: HashMap[Data, BigInt], output_map: HashMap[Data, BigInt]) extends Product with Serializable

Abstract Value Members

  1. abstract val device_under_test: Module
    Definition Classes
    HWIOTester

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def IO[T <: core.Data](iodef: T): T
    Attributes
    protected
    Definition Classes
    BaseModule
  5. def _bindIoInPlace(iodef: core.Data): Unit
    Attributes
    protected
    Definition Classes
    BaseModule
  6. var _closed: Boolean
    Attributes
    protected
    Definition Classes
    BaseModule
  7. def _compatAutoWrapPorts(): Unit
    Definition Classes
    BaseModule
  8. def _compatIoPortBound(): Boolean
    Attributes
    protected
    Definition Classes
    LegacyModule
  9. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  10. def circuitName: String
    Attributes
    protected
    Definition Classes
    HasId
  11. val clock: core.Clock
    Definition Classes
    ImplicitModule
  12. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  13. val compileOptions: CompileOptions
    Definition Classes
    UserModule
  14. def desiredName: String
    Definition Classes
    BaseModule
  15. def dir(target: Data): ActualDirection
  16. var enable_all_debug: Boolean
    Definition Classes
    HWIOTester
  17. var enable_printf_debug: Boolean
    Definition Classes
    HWIOTester
  18. var enable_scala_debug: Boolean
    Definition Classes
    HWIOTester
  19. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. def equals(that: Any): Boolean
    Definition Classes
    HasId → AnyRef → Any
  21. def expect(io_port: Data, bool_value: Boolean): Unit
  22. def expect(io_port: Data, value: BigInt): Unit
  23. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  24. def finish(): Unit
    Definition Classes
    SteppedHWIOTesterHWIOTester → BasicTester
  25. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  26. def getCommands: Seq[Command]
    Attributes
    protected
    Definition Classes
    UserModule
  27. def getIds: Seq[HasId]
    Attributes
    protected
    Definition Classes
    BaseModule
  28. def getModulePorts: Seq[core.Data]
    Attributes
    protected
    Definition Classes
    BaseModule
  29. lazy val getPorts: Seq[Port]
    Definition Classes
    UserModule
  30. def hashCode(): Int
    Definition Classes
    HasId → AnyRef → Any
  31. def instanceName: String
    Definition Classes
    BaseModule → HasId → InstanceId
  32. val io: Bundle
    Definition Classes
    BasicTester → LegacyModule
  33. var io_info: IOAccessor
    Definition Classes
    HWIOTester
  34. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  35. def logPrintfDebug(fmt: String, args: Bits*): Unit
    Definition Classes
    HWIOTester
  36. def logScalaDebug(msg: ⇒ String): Unit
    Definition Classes
    HWIOTester
  37. final val name: String
    Definition Classes
    BaseModule
  38. def nameIds(rootClass: Class[_]): HashMap[HasId, String]
    Attributes
    protected
    Definition Classes
    LegacyModule → BaseModule
  39. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  40. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  41. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  42. var override_clock: Option[core.Clock]
    Attributes
    protected
    Definition Classes
    LegacyModule
  43. var override_reset: Option[core.Bool]
    Attributes
    protected
    Definition Classes
    LegacyModule
  44. def parentModName: String
    Definition Classes
    HasId → InstanceId
  45. def parentPathName: String
    Definition Classes
    HasId → InstanceId
  46. def pathName: String
    Definition Classes
    HasId → InstanceId
  47. def poke(io_port: Data, value: BigInt): Unit
  48. def popCount(n: Long): Int
    Definition Classes
    BasicTester
  49. def portsContains(elem: core.Data): Boolean
    Attributes
    protected
    Definition Classes
    BaseModule
  50. def portsSize: Int
    Attributes
    protected
    Definition Classes
    BaseModule
  51. val reset: Reset
    Definition Classes
    ImplicitModule
  52. val rnd: Random.type
    Definition Classes
    HWIOTester
  53. def step(number_of_cycles: Int): Unit
  54. def stop()(implicit sourceInfo: SourceInfo): Unit
    Definition Classes
    BasicTester
  55. def suggestName(name: ⇒ String): SteppedHWIOTester.this.type
    Definition Classes
    HasId
  56. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  57. final def toNamed: ModuleName
    Definition Classes
    BaseModule → InstanceId
  58. def toString(): String
    Definition Classes
    AnyRef → Any
  59. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  60. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  61. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Deprecated Value Members

  1. def annotate(annotation: ChiselAnnotation): Unit
    Attributes
    protected
    Definition Classes
    BaseModule
    Annotations
    @deprecated
    Deprecated

    (Since version 3.1) Use chisel3.experimental.annotate instead

Inherited from HWIOTester

Inherited from BasicTester

Inherited from LegacyModule

Inherited from ImplicitModule

Inherited from UserModule

Inherited from BaseModule

Inherited from HasId

Inherited from InstanceId

Inherited from AnyRef

Inherited from Any

Ungrouped