Class

chisel3.iotesters

SteppedHWIOTester

Related Doc: package iotesters

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 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, MultiIOModule, RawModule, BaseModule, HasId, internal.InstanceId, AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SteppedHWIOTester
  2. HWIOTester
  3. BasicTester
  4. LegacyModule
  5. MultiIOModule
  6. RawModule
  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()

    Permalink

Type Members

  1. case class Step(input_map: HashMap[Data, BigInt], output_map: HashMap[Data, BigInt]) 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 <: Data](iodef: T): T

    Permalink
    Attributes
    protected
    Definition Classes
    BaseModule
  5. def _bindIoInPlace(iodef: Data): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    BaseModule
  6. var _closed: Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    BaseModule
  7. def _compatAutoWrapPorts(): Unit

    Permalink
    Definition Classes
    BaseModule
  8. def _compatIoPortBound(): Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    LegacyModule
  9. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  10. def circuitName: String

    Permalink
    Attributes
    protected
    Definition Classes
    HasId
  11. final val clock: Clock

    Permalink
    Definition Classes
    MultiIOModule
  12. def clone(): AnyRef

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

    Permalink
    Definition Classes
    RawModule
  14. def computeName(defaultPrefix: Option[String], defaultSeed: Option[String]): Option[String]

    Permalink
    Definition Classes
    HasId
  15. def desiredName: String

    Permalink
    Definition Classes
    BaseModule
  16. def dir(target: Data): core.ActualDirection

    Permalink
  17. var enable_all_debug: Boolean

    Permalink
    Definition Classes
    HWIOTester
  18. var enable_printf_debug: Boolean

    Permalink
    Definition Classes
    HWIOTester
  19. var enable_scala_debug: Boolean

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

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

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

    Permalink
  23. def expect(io_port: Data, value: BigInt): Unit

    Permalink
  24. def finish(): Unit

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

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  26. def getCommands: Seq[Command]

    Permalink
    Attributes
    protected
    Definition Classes
    RawModule
  27. def getIds: Seq[HasId]

    Permalink
    Attributes
    protected
    Definition Classes
    BaseModule
  28. def getModulePorts: Seq[Data]

    Permalink
    Attributes
    protected[chisel3]
    Definition Classes
    BaseModule
  29. lazy val getPorts: Seq[Port]

    Permalink
    Definition Classes
    RawModule
  30. def hasSeed: Boolean

    Permalink
    Definition Classes
    HasId
  31. def hashCode(): Int

    Permalink
    Definition Classes
    HasId → AnyRef → Any
  32. def instanceName: String

    Permalink
    Definition Classes
    BaseModule → HasId → InstanceId
  33. val io: Bundle

    Permalink
    Definition Classes
    BasicTester → LegacyModule
  34. var io_info: IOAccessor

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

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

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

    Permalink
    Definition Classes
    HWIOTester
  38. final lazy val name: String

    Permalink
    Definition Classes
    BaseModule
  39. def nameIds(rootClass: Class[_]): HashMap[HasId, String]

    Permalink
    Attributes
    protected
    Definition Classes
    BaseModule
  40. final def ne(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  42. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  43. var override_clock: Option[Clock]

    Permalink
    Attributes
    protected
    Definition Classes
    LegacyModule
  44. var override_reset: Option[Bool]

    Permalink
    Attributes
    protected
    Definition Classes
    LegacyModule
  45. def parentModName: String

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

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

    Permalink
    Definition Classes
    HasId → InstanceId
  48. def poke(io_port: Data, value: BigInt): Unit

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

    Permalink
    Definition Classes
    BasicTester
  50. def portsContains(elem: Data): Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    BaseModule
  51. def portsSize: Int

    Permalink
    Attributes
    protected
    Definition Classes
    BaseModule
  52. final val reset: Reset

    Permalink
    Definition Classes
    MultiIOModule
  53. val rnd: Random.type

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

    Permalink
  55. def stop()(implicit sourceInfo: SourceInfo): Unit

    Permalink
    Definition Classes
    BasicTester
  56. def suggestName(seed: ⇒ String): SteppedHWIOTester.this.type

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

    Permalink
    Definition Classes
    AnyRef
  58. final def toAbsoluteTarget: IsModule

    Permalink
    Definition Classes
    BaseModule → InstanceId
  59. final def toNamed: ModuleName

    Permalink
    Definition Classes
    BaseModule → InstanceId
  60. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  61. final def toTarget: ModuleTarget

    Permalink
    Definition Classes
    BaseModule → InstanceId
  62. final def wait(arg0: Long, arg1: Int): Unit

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  64. final def wait(): Unit

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

Deprecated Value Members

  1. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from HWIOTester

Inherited from BasicTester

Inherited from LegacyModule

Inherited from MultiIOModule

Inherited from RawModule

Inherited from BaseModule

Inherited from HasId

Inherited from internal.InstanceId

Inherited from AnyRef

Inherited from Any

Ungrouped