Title :
Generation of design verification tests from behavioral VHDL programs using path enumeration and constraint programming
Author :
Vemuri, Ranga ; Kalyanaraman, Ravi
Author_Institution :
Dept. of Electr. & Comput. Eng., Cincinnati Univ., OH, USA
fDate :
6/1/1995 12:00:00 AM
Abstract :
A method for generation of design verification tests from behavior-level VHDL programs is presented. The method generates stimuli to execute desired control-flow paths in the given VHDL program. This method is based on path enumeration, constraint generation and constraint solving techniques that have been traditionally used for software testing. Behavioral VHDL programs contain multiple communicating processes, signal assignment statements, and wait statements which are not found in traditional software programming languages. Our model of constraint generation is specifically developed for VHDL programs with such constructs. Control-flow paths for which design verification tests are desired are specified through certain annotations attached to the control statements in the VHDL programs. These annotations are used to enumerate the desired paths. Each enumerated path is translated into a set of mathematical constraints corresponding to the statements in the path. Methods for generating constraint variables corresponding to various types of carriers in VHDL and for mapping various VHDL statements into mathematical relationships among these constraint variables are developed. These methods treat spatial and temporal incarnations of VHDL carriers as unique constraint variables thereby preserving the semantics of the behavioral VHDL programs. Constraints are generated in the constraint programming language CLP(R) and are solved using the CLP(R) system. A solution to the set of constraints so generated yields a design verification test sequence which can be applied for executing the corresponding control path when the design is simulated. If no solution exists, then it implies that the corresponding path can never be executed. Experimental studies pertaining to the quality of path coverage and fault coverage of the verification tests are presented.<>
Keywords :
constraint handling; hardware description languages; logic CAD; program verification; CLP(R) system; behavioral VHDL programs; constraint generation; constraint programming; design verification tests; fault coverage; path coverage; path enumeration; programming language; signal assignment statements; verification test sequence; wait statements; Computer languages; Hardware; Logic programming; Logic testing; Manufacturing; Process design; Signal processing; Software testing; System testing; Very high speed integrated circuits;
Journal_Title :
Very Large Scale Integration (VLSI) Systems, IEEE Transactions on