Constrained Randomize(CRV) and Metric-Driven Verification (MDV)

Jan. 13, 2024 || Item:1.1.Constrained Randomize(CRV) and Metric-Driven Verification(MDV)

Figure 1-1: Constrained Randomize and Metric-Driven Verification

 

Functional verification in digital IC design aims to examine the Design Under Test (DUT) using test stimuli to ensure equivalence between the hardware model and its specification. Constrained random (CRV) and Metric-driven verification (MDV) techniques are widely employed today, while directed testing with fixed scenarios is deemed ineffective for complex verification tasks.

The CRV principle involves introducing random elements into test stimuli, with their values varying in each test execution. These randomizations are controlled by constraints, providing precise regulation of the permissible values for random elements. Running the simulation of the same test scenario with a different seed leads to distinct choices of random items and, consequently, a varied flow of the test.

Test scenario randomization in CRV necessitates monitoring whether the DUT was examined as intended, making metrics crucial in this approach. Observing these metrics is essential to ensure the execution of all expected stimuli due to the uncertainty of testing specific DUT operations during simulation. In MDV, pre-defined metrics serve as goals for verification tasks, with a focus on coverage metrics, including automatic coverage (such as code, toggle, or FSM) and manually defined functional coverage by engineers emphasizing corner cases in the modern verification flow.

A CRV and MDV methodology is composed of three main features:

Stimulus generation: 

Automatically and constrained randomly testing the broadest range of design functionality with the smallest stimulus code.

Independent Checking:

Define behavior which should or should not happen, and so find bugs in the design.

Coverage collection:

Determine what has and has not been tested. Coverage feeds back to the test writer, who can then modify the stimulus to close coverage holes.

 



Comments:

Leave a comment: