|HOME |ABOUT |ARTICLES |ACK |FEEDBACK |TOC |LINKS |BLOG |JOBS |


Tutorials



CONSTRAINED RANDOM VERIFICATION


Introduction :



Historically,verification engineers used directed test bench to verify the functionality of their design.Rapid changes have occurred during the past decades in design and verification.High Level Verification Languages (HVLS) such as e, System c,Vera,SystemVerilog have become a necessity for verification environments.

Constraint Random stimulus generation is not new. Everybody uses verilog and VHDL at very low level abstraction for this purpose. HVLS provide constructs to express specification of stimulus at high level of abstraction and constraint solver generates legal stimulus.


Writing constraints at higher level of absctraction,makes the programming closer to spec.

A constraint language should support:

Expressions to complex scenarios.
Felxibility to control dynamically.
Combinational and sequential constraints.



EXAMPLE:


Combinational constraint :
In ethernet, 13 & 14 th bytes should be equal to payload length.

Sequential constraint:
If request comes, then acknoldegement should be given between 4th to 10th cycles.

NOTE:SystemVerilog doec not support sequential constraints.

This article is about Constrained random verification using SystemVerilog.I tried to explain every point using examples.


Index
Constrained Random Verification
Verilog Crv
Systemverilog Crv
Randomizing Objects
Random Variables
Randomization Methods
Checker
Constraint Block
Inline Constraint
Global Constraint
Constraint Mode
External Constraints
Randomization Controlability
Static Constraint
Constraint Expression
Variable Ordering
Constraint Solver Speed
Randcase
Randsequence
Random Stability
Array Randomization
Constraint Guards
Titbits

Report a Bug or Comment on This section - Your input is what keeps Testbench.in improving with time!





<< PREVIOUS PAGE

TOP

NEXT PAGE >>

copyright 2007-2017 :: all rights reserved www.testbench.in::Disclaimer