Plan your verification with SystemVerilog
Thomas L. Anderson, Cadence Design Systems
(02/19/2007 9:00 AM EST) -- EE Times
As verification engineers move to more-sophisticated techniques for system-on-chip (SoC) designs, their planning process is evolving as well. Traditional test-based planning is being supplanted by more sophisticated verification plans tracking coverage and assertions. One factor in this change is the widespread adoption of SystemVerilog, which supports the specification of functional coverage points, assertions and testbench constraints. The increasing use of constrained-random testbenches as an alternative to hand-written tests is another major factor.
Traditionally, the verification process entailed identifying all the important features in the design, defining a set of directed tests to verify the features, writing the tests by hand, and running and debugging the tests in simulation. This approach works well for small designs, but SoC devices require thousands of handwritten directed tests to verify all the features. Hiring limitations, time-to-market pressures and the sheer tedium of writing tests all mean that a better technique is required. Constrained-random testbenches require the verification team to specify constraints that define the rules for the design inputs.
Once this setup work is done, a testbench automation tool or simulator can generate input stimulus to exercise the design. Variations in the generated tests can be introduced by altering the constraints, selecting different random seeds or biasing the values generated for the inputs. SystemVerilog provides the constructs necessary to define constraints, seeds and biases.
Evolving from directed to constrained-random tests requires a corresponding change in the verification planning process. A traditional test plan includes a list of features for the design, the tests to verify each feature and the status of the test. As tests are written, run and debugged, their status is updated in the verification plan. That plan might be maintained by hand in the form of a document or spreadsheet, or it might be updated automatically as part of a verification process automation (VPA) flow.
(02/19/2007 9:00 AM EST) -- EE Times
As verification engineers move to more-sophisticated techniques for system-on-chip (SoC) designs, their planning process is evolving as well. Traditional test-based planning is being supplanted by more sophisticated verification plans tracking coverage and assertions. One factor in this change is the widespread adoption of SystemVerilog, which supports the specification of functional coverage points, assertions and testbench constraints. The increasing use of constrained-random testbenches as an alternative to hand-written tests is another major factor.
Traditionally, the verification process entailed identifying all the important features in the design, defining a set of directed tests to verify the features, writing the tests by hand, and running and debugging the tests in simulation. This approach works well for small designs, but SoC devices require thousands of handwritten directed tests to verify all the features. Hiring limitations, time-to-market pressures and the sheer tedium of writing tests all mean that a better technique is required. Constrained-random testbenches require the verification team to specify constraints that define the rules for the design inputs.
Once this setup work is done, a testbench automation tool or simulator can generate input stimulus to exercise the design. Variations in the generated tests can be introduced by altering the constraints, selecting different random seeds or biasing the values generated for the inputs. SystemVerilog provides the constructs necessary to define constraints, seeds and biases.
Evolving from directed to constrained-random tests requires a corresponding change in the verification planning process. A traditional test plan includes a list of features for the design, the tests to verify each feature and the status of the test. As tests are written, run and debugged, their status is updated in the verification plan. That plan might be maintained by hand in the form of a document or spreadsheet, or it might be updated automatically as part of a verification process automation (VPA) flow.
To read the full article, click here
Related Semiconductor IP
- JESD204E Controller IP
- eUSB2V2.0 Controller + PHY IP
- I/O Library with LVDS in SkyWater 90nm
- 50G PON LDPC Encoder/Decoder
- UALink Controller
Related Articles
- Developing a test plan to make your design HDMI 1.4 compliant
- How to instrument your design with simple SystemVerilog assertions
- Modeling and Verification of Mixed Signal IP using SystemVerilog in Virtuoso and NCsim
- Setting up secure VPN connections with cryptography offloaded to your Altera SoC FPGA
Latest Articles
- System-Level Isolation for Mixed-Criticality RISC-V SoCs: A "World" Reality Check
- CVA6-CFI: A First Glance at RISC-V Control-Flow Integrity Extensions
- Crypto-RV: High-Efficiency FPGA-Based RISC-V Cryptographic Co-Processor for IoT Security
- In-Pipeline Integration of Digital In-Memory-Computing into RISC-V Vector Architecture to Accelerate Deep Learning
- QMC: Efficient SLM Edge Inference via Outlier-Aware Quantization and Emergent Memories Co-Design