ChiselScalatestTester
chiseltest.ChiselScalatestTester
trait ChiselScalatestTester
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/
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
}
}
Attributes
- Source
- ChiselScalatestTester.scala
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
Members list
In this article