Overview
Direct Test Verification is a verification technique/strategy used in the functional verification of a Chisel-built ARM V4 instruction set architecture (ISA) processor model named ARMChisel. It is described in the paper "Research on functional verification method processor model built by Chisel" by Lening Wu, Miao Wang, and Fu Chen (Journal of Northwestern Polytechnical University, 2023, 41(5): 1024–1032).
Context: The Four-Stage Verification Strategy
According to the paper, the verification of the ARMChisel processor model is organized into four stages, tailored to the characteristics of the Chisel hardware construction language:
- Primary verification at the Chisel level — initial sanity checks performed directly in the Chisel environment.
- Rapid coverage verification — fast iteration to drive coverage forward.
- Direct test verification — targeted, hand-crafted or directed test cases used to pinpoint and localize specific design errors.
- Verification of complex applications — large-scale application-level workloads, accelerated on FPGA to shorten the verification cycle.
The four-stage strategy is intended to ensure that the expected coverage targets are reached while keeping the overall design and verification cycle short.
Role of Direct Test Verification
Direct Test Verification occupies the third stage of this strategy. It is applied after rapid coverage verification has been used to exercise the design broadly, and before complex application verification. Its purpose is to:
- Run targeted/directed tests against the processor model to expose specific bugs that random stimuli may not efficiently surface.
- Enable quick and accurate error detection and error localization while coverage is being collected.
- Complement the random instruction generator (which supports the full ARM V4 ISA) by providing focused stimuli for known corner cases or suspected problem areas.
Testbench Environment
Direct Test Verification is executed within testbenches built in two environments:
- The Chisel environment, supporting early-stage and Chisel-native verification.
- The Verilog environment, supporting verification once the Chisel design has been emitted to Verilog for downstream tooling and FPGA acceleration.
These testbenches collect coverage and report/locate errors in tandem, which is what allows the direct test stage to contribute to both error discovery and coverage closure.
Relationship to Other Stages
| Stage | Purpose | Stimulus type |
|---|---|---|
| Chisel-level primary verification | Sanity check the Chisel model | Trivial / smoke |
| Rapid coverage verification | Drive coverage quickly | Broad random |
| Direct test verification | Pinpoint and localize errors | Directed / hand-crafted |
| Complex application verification | Validate realistic workloads, FPGA-accelerated | Real applications |
Summary
Direct Test Verification is a directed-test stage in a four-stage functional verification flow for an ARM V4 Chisel processor model. Combined with random instruction generation and FPGA-accelerated application-level verification, it helps the testbench quickly find and localize design errors while collecting coverage, shortening the overall verification cycle.
Cited Paper
- Lening Wu, Miao Wang, Fu Chen. Research on functional verification method processor model built by Chisel. Journal of Northwestern Polytechnical University, 2023, 41(5): 1024–1032. https://www.jnwpu.org/articles/jnwpu/abs/2023/05/jnwpu2023415p1024/jnwpu2023415p1024.html