trait ChiselScalatestTester extends AnyRef
ChiselTest-compatible API that delegates to ChiselSim (Chisel 7)
This trait provides the ChiselTest API that users are familiar with from Chisel 6, but internally uses ChiselSim from Chisel 7 to perform the actual testing.
VCD GENERATION SUPPORT: This compatibility layer supports VCD generation when WriteVcdAnnotation is used. VCD files are generated in: build/chiselsim/<timestamp>/workdir-verilator/trace.vcd
AUTOMATIC RESET FEATURE: By default, this trait automatically resets the module before running tests, mimicking ChiselTest's behavior from Chisel 6.
To disable auto-reset or customize the reset duration:
class MyTest extends AnyFlatSpec with ChiselScalatestTester { override def autoResetEnabled: Boolean = false // Disable auto-reset override def resetCycles: Int = 5 // Or change duration }
Example usage with VCD:
import chiseltest._ import org.scalatest.flatspec.AnyFlatSpec class MyModuleSpec extends AnyFlatSpec with ChiselScalatestTester { behavior of "MyModule" it should "generate waveforms" in { test(new MyModule).withAnnotations(Seq(WriteVcdAnnotation)) { dut => dut.io.in.poke(42.U) dut.clock.step() dut.io.out.expect(42.U) } // VCD file: build/chiselsim/<timestamp>/workdir-verilator/trace.vcd } }
- Alphabetic
- By Inheritance
- ChiselScalatestTester
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Type Members
- class TestBuilder[T <: Module] extends AnyRef
Builder class to support .withAnnotations() chaining
- class TestRunner[T <: Module] extends AnyRef
Runner class that executes the test with VCD support
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from ChiselScalatestTester toany2stringadd[ChiselScalatestTester] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (ChiselScalatestTester, B)
- Implicit
- This member is added by an implicit conversion from ChiselScalatestTester toArrowAssoc[ChiselScalatestTester] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def autoResetEnabled: Boolean
Enable automatic reset before each test.
Enable automatic reset before each test. Override this to disable auto-reset if needed.
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def ensuring(cond: (ChiselScalatestTester) => Boolean, msg: => Any): ChiselScalatestTester
- Implicit
- This member is added by an implicit conversion from ChiselScalatestTester toEnsuring[ChiselScalatestTester] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (ChiselScalatestTester) => Boolean): ChiselScalatestTester
- Implicit
- This member is added by an implicit conversion from ChiselScalatestTester toEnsuring[ChiselScalatestTester] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): ChiselScalatestTester
- Implicit
- This member is added by an implicit conversion from ChiselScalatestTester toEnsuring[ChiselScalatestTester] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): ChiselScalatestTester
- Implicit
- This member is added by an implicit conversion from ChiselScalatestTester toEnsuring[ChiselScalatestTester] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def resetCycles: Int
Number of clock cycles to assert reset.
Number of clock cycles to assert reset. Override this to change reset duration.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def test[T <: Module](dutGen: => T): TestBuilder[T]
Test a module with the given stimulus
Test a module with the given stimulus
This method provides the ChiselTest interface.
- T
The type of module being tested
- dutGen
A generator function that creates the device under test
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
Deprecated Value Members
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from ChiselScalatestTester toStringFormat[ChiselScalatestTester] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)instead ofvalue.formatted(formatString), or use thef""string interpolator. In Java 15 and later,formattedresolves to the new method in String which has reversed parameters.
- def →[B](y: B): (ChiselScalatestTester, B)
- Implicit
- This member is added by an implicit conversion from ChiselScalatestTester toArrowAssoc[ChiselScalatestTester] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.
This is the documentation for Chisel.
Package structure
The chisel3 package presents the public API of Chisel. It contains the concrete core types
UInt,SInt,Bool,Clock, andReg, the abstract typesBits,Aggregate, andData, and the aggregate typesBundleandVec.The Chisel package is a compatibility layer that attempts to provide chisel2 compatibility in chisel3.
Utility objects and methods are found in the
utilpackage.The
testerspackage defines the basic interface for chisel testers.