Generation of test cases for hardware design verification of a super-scalar Fetch Processor

We describe a method to generate test cases (or test programs) for hardware design verification. The proposed method uses non-functional errors defined over a software model of the specification to guide the generation of test programs. Application of the proposed method to the Hal. super-scalar Fetch Processor is also described. For this design, we present experimental results to demonstrate the effectiveness of the method in achieving a high design error coverage with relatively short test programs.

[1]  Fumihiro Maruyama,et al.  A Verification Technique for Hardware Designs , 1982, DAC 1982.

[2]  Ben C. Moszkowski,et al.  A Temporal Logic for Multilevel Reasoning about Hardware , 1985, Computer.

[3]  Fumiyasu Hirose,et al.  Automatic Test Program Generation For Pipelined Processors , 1994, IEEE/ACM International Conference on Computer-Aided Design.

[4]  Anoosh Hosseini,et al.  Code generation and analysis for the functional verification of micro processors , 1996, DAC '96.

[5]  Aharon Aharon,et al.  Verification of the IBM RISC System/6000 by a Dynamic Biased Pseudo-Random Test Program Generator , 1991, IBM Syst. J..

[6]  Stephen S. Yau,et al.  An Approach to Concurrent Control Flow Checking , 1980, IEEE Transactions on Software Engineering.

[7]  Val Popescu,et al.  Innovative verification strategy reduces design cycle time for high-end SPARC processor , 1996, DAC '96.

[8]  Amir Pnueli The Temporal Semantics of Concurrent Programs , 1981, Theor. Comput. Sci..

[9]  Vijay Pitchumani,et al.  An Inductive Assertion Method for Register Transfer Level Design Verification , 1983, IEEE Transactions on Computers.

[10]  David L. Dill,et al.  Trace theory for automatic hierarchical verification of speed-independent circuits , 1989, ACM distinguished dissertations.

[11]  James Monaco,et al.  Functional verification methodology for the PowerPC 604 microprocessor , 1996, DAC '96.

[12]  P. Konas,et al.  Code generation and analysis for the functional verification of microprocessors , 1996, 33rd Design Automation Conference Proceedings, 1996.

[13]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[14]  Trung A. Diep,et al.  Systematic validation of pipeline interlock for superscalar microarchitectures , 1995, Twenty-Fifth International Symposium on Fault-Tolerant Computing. Digest of Papers.

[15]  Srinivas Devadas,et al.  On the verification of sequential machines at differing levels of abstraction , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[16]  Mark Horowitz,et al.  Architecture validation for processors , 1995, Proceedings 22nd Annual International Symposium on Computer Architecture.

[17]  Srinivas Devadas,et al.  On The Verification of Sequential Machines at Differing Levels of Abstraction , 1987, 24th ACM/IEEE Design Automation Conference.

[18]  Robert P. Kurshan,et al.  Software for analytical development of communications protocols , 1990, AT&T Technical Journal.

[19]  Randal E. Bryant,et al.  Formally Verifying a Microprocessor Using a Simulation Methodology , 1994, 31st Design Automation Conference.

[20]  Aharon Aharon,et al.  Test Program Generation for Functional Verification of PowePC Processors in IBM , 1995, 32nd Design Automation Conference.

[21]  Tom Melham,et al.  Abstraction Mechanisms for Hardware Verification , 1988 .

[22]  Edmund M. Clarke,et al.  Efficient generation of counterexamples and witnesses in symbolic model checking , 1995, DAC '95.

[23]  Magdy S. Abadir,et al.  Logic design verification via test generation , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[24]  Edmund M. Clarke,et al.  Automatic Verification of Sequential Circuits Using Temporal Logic , 1986, IEEE Transactions on Computers.

[25]  Michael J. C. Gordon,et al.  Why higher-order logic is a good formalism for specifying and verifying hardware , 1985 .

[26]  Michael Kantrowitz,et al.  I'm done simulating; now what? Verification coverage analysis and correctness checking of the DEC chip 21164 Alpha microprocessor , 1996, DAC '96.