Professional Documents
Culture Documents
Preeti Punia
12ECP035
VLSI Design (3rd Semester)
Introduction
Creating environment for CRT (constrained-random tests)
takes more work than creating one for directed tests
CRT requires an environment to predict the result, using a reference
model, transfer function, or other techniques, plus functional
coverage to measure the effectiveness of the stimulus
Once this environment is in place, you can run hundreds of tests
without having to hand-check the results, thereby improving your
productivity
This tradeoff of test-authoring time (your work) for CPU time
(machine work) is what makes CRT so valuable
Continued…
When the number of features increases on a project, it is
difficult to write directed test cases.
A directed test finds the bugs you think are there, but a CRT(
Constrained Random Tests) finds bugs you never thought
about by giving random stimulus.
Constraints are applied according to the interest and valid
restrictions.
A CRT is made of two parts: the test code that uses a stream of random
values to create input to the DUT, and a seed to the pseudo-random
number generator (PRNG)
What to Randomize
All design inputs:
Device configuration
Environment configuration
Primary input data
Encapsulated input data
Protocol exceptions
Errors and violations
Delays
Transaction status
What to Randomize
Device and Environment Configuration
Environment contains other components
Randomize the entire environment configuration,
including the length of the simulation, number of
devices, and how they are configured
Other environment parameters include test length,
error injection rates, and delay modes
Implication Constraints
There are two implication operators, -> and if
Constraint Details
Constraint block with implication operator
Implication operator
Constraint Details
Constraint block with if implication operator