Automated Multi-Cycle Symbolic Timing Verification of Microprocessor-based Designs

Timing verification ascertains whether timing checks on components in a circuit are satisfied given component delay models. This paper addresses timing verification of microprocessor-based designs for which previous approaches are shown to be inadequate. It introduces the concept of sequential path tracing - tracing paths through both space and time - that forms the basis of the mtv tool. mtv has the following novel features: unlike previous approaches, it considers sequential behavior together with timing and handles sequential sensitizability and multi-cycle paths automatically; it does not require a predefined clock schedule and can handle circuits with conditional or gated clocks, multiple unrelated clocks, asynchronous set/reset, and power-up initialization; it generates symbolic constraints between timing attributes of components that can be efficiently re-used for small circuit changes or by a synthesis/optimization tool; symbolic constraints also enable common ambiguity removal. Experimental results demonstrate that mtv takes only a few CPU minutes to generate symbolic constraints for each of several microprocessor-based designs.

[1]  Lawrence S. Kroll Mathematica--A System for Doing Mathematics by Computer. , 1989 .

[2]  Robert B. Hitchcock,et al.  Timing Verification and the Timing Analysis Program , 1982, 19th Design Automation Conference.

[3]  Gaetano Borriello,et al.  An approach to symbolic timing verification , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[4]  Anurag P. Gupta Timing verification of microprocessor-based designs , 1994 .

[5]  Jacques Benkoski,et al.  A New Approach to Hierarchical and Statistical Timing Simulations , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[6]  Stephen Wolfram,et al.  Mathematica: a system for doing mathematics by computer (2nd ed.) , 1991 .

[7]  Alberto L. Sangiovanni-Vincentelli,et al.  A Verification Technique for Gated Clock , 1993, 30th ACM/IEEE Design Automation Conference.

[8]  Kunle Olukotun,et al.  Analysis and design of latch-controlled synchronous digital circuits , 1990, DAC '90.

[9]  Sharad Malik,et al.  Delay computation in combinational logic circuits: theory and algorithms , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[10]  Donald M. Chiarulli,et al.  Timing verification using HDTV , 1991, DAC '90.

[11]  Charles E. Leiserson,et al.  A TIMING ANALYSIS OF LEVEL-CLOCKED CIRCUITRY , 1990 .

[12]  Andrea S. LaPaugh,et al.  CLOVER: a timing constraints verification system , 1991, 28th ACM/IEEE Design Automation Conference.

[13]  David Hung-Chang Du,et al.  Path sensitization in critical path problem , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[14]  Alexander Miczo,et al.  Digital logic testing and simulation , 1986 .

[15]  Sharad Malik,et al.  Exploiting multi-cycle false paths in the performance optimization of sequential circuits , 1992, ICCAD.