Timing analysis and optimization for high-performance digital circuits

Meeting performance constraints in synchronous digital circuits is crucial since a violation may cause an unexpected value to be latched in a memory element. To guarantee the absence of timing violations the performance of a design needs to be estimated accurately and verified against given performance constraints. This delay estimation is called timing analysis. The main difficulty of timing analysis for gate-level digital circuits is the existence of false paths. A false path is a topological path of a given circuit along which a signal event never propagates. Since false paths do not contribute to the delay of a circuit, they need to be excluded when the performance of a circuit is estimated. Although false path detection has been researched extensively in the last decade, it has always been studied in a specific problem, namely arrival time analysis of combinational circuits, in which the arrival times of the outputs of a circuit are estimated given the arrival times of the inputs. The main contribution of the first part of this dissertation is to introduce and present algorithms for a new problem: false-path-aware required time analysis of combinational circuits, in which the required times of the inputs of a circuit are estimated given the required times of the outputs. This problem forms the core of a rich set of novel timing analysis problems arising in hierarchical designs. The applications include false path detection and removal of combinational circuits under unknown surrounding environments and hierarchical false-path-aware timing analysis. To meet an aggressive performance goal, timing optimization algorithms play a key role in exploring a design space systematically. The second part of the dissertation focuses on timing optimization in a logic synthesis step called technology mapping, where a technology-independent circuit is translated to a circuit composed only of gates in a given gate library. Although the complexity of the technology mapping problem for area minimization is well-understood, technology mapping for delay minimization has been tackled using heuristic approaches without knowing its exact complexity. The contribution of the second part of the dissertation is a linear-time algorithm that solves the problem optimally under a load-independent delay model. There is no need to resort to heuristic approaches since the problem can be solved optimally and efficiently.

[1]  D. Gregory,et al.  SOCRATES: A System for Automatically Synthesizing and Optimizing Combinational Logic , 1986, 23rd ACM/IEEE Design Automation Conference.

[2]  Sharad Malik,et al.  Computation of floating mode delay in combinational circuits: theory and algorithms , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[3]  Tai-Ming Parng,et al.  A polynomial-time heuristic approach to solving the false path problem , 1996 .

[4]  J. Cong,et al.  An optimal technology mapping algorithm for delay optimization in lookup-table based FPGA designs , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.

[5]  Prabhakar Goel,et al.  An Implicit Enumeration Algorithm to Generate Tests for Combinational Logic Circuits , 1981, IEEE Transactions on Computers.

[6]  Robert K. Brayton,et al.  Timing-Safe Replaceability for Combinational DesignsAdnan , 1995 .

[7]  Norman P. Jouppi,et al.  TV: An nMOS Timing Analyzer , 1983 .

[8]  Jyuo-Min Shyu,et al.  A Polynomial-Time Heuristic Approach to Approximate a Solution to the False Path Problem , 1993, 30th ACM/IEEE Design Automation Conference.

[9]  Hugo De Man,et al.  Performance Through Hierarchy in Static Timing Verification , 1992, IFIP Congress.

[10]  Enrico Macii,et al.  Timing analysis of combinational circuits using ADDs , 1994, Proceedings of European Design and Test Conference EDAC-ETC-EUROASIC.

[11]  R. I. Bahar,et al.  Algebraic decision diagrams and their applications , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[12]  Sujit Dey,et al.  Fast true delay estimation during high level synthesis , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[13]  H. De Man,et al.  Hierarchical timing view generation including accurate modeling for false paths , 1989, 1989 Proceedings of the IEEE Custom Integrated Circuits Conference.

[14]  Hakan Yalcin Hierarchical timing analysis of digital circuits , 1997 .

[15]  Robert K. Brayton,et al.  Performance-oriented technology mapping , 1990 .

[16]  Robert K. Brayton,et al.  An exact minimizer for Boolean relations , 1989, 1989 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[17]  Kwang-Ting Cheng,et al.  Classification and identification of nonrobust untestable path delay faults , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[18]  David Hung-Chang Du,et al.  Efficient timing analysis for CMOS circuits considering data dependent delays , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[19]  Daniel Brand,et al.  Timing Analysis Using Functional Analysis , 1988, IEEE Trans. Computers.

[20]  Jyuo-Min Shyu,et al.  A new approach to solving false path problem in timing analysis , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[21]  Joel Grodstein,et al.  Optimal latch mapping and retiming within a tree , 1994, ICCAD.

[22]  C. Leonard Berman,et al.  The fanout problem: from theory to practice , 1989 .

[23]  Sharad Malik,et al.  Certified timing verification and the transition delay of a logic circuit , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[24]  Sharad Malik,et al.  Computation of floating mode delay in combinational circuits: practice and implementation , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[25]  Robert K. Brayton,et al.  Multilevel logic synthesis , 1990, Proc. IEEE.

[26]  Majid Sarrafzadeh,et al.  Complexity of the lookup-table minimization problem for FPGA technology mapping , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[27]  Andreas Kuehlmann,et al.  Timing analysis in high-level synthesis , 1992, ICCAD.

[28]  Sharad Malik,et al.  Delay abstraction in combinational logic circuits , 1995, ASP-DAC '95.

[29]  Jyuo-Min Shyu,et al.  Timed Boolean calculus and its applications in timing analysis , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[30]  Rajeev Murgai,et al.  Speeding up technology-independent timing optimization by network partitioning , 1997, 1997 Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[31]  Toshio Nakano,et al.  Path Delay Analysis for Hierarchical Building Block Layout System , 1983, DAC 1983.

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

[33]  Wentai Liu,et al.  Circuit delay calculation considering data dependent delays , 1994, Integr..

[34]  John P. Hayes,et al.  Hierarchical timing analysis using conditional delays , 1995, ICCAD.

[35]  Krishna P. Belkhale,et al.  Timing analysis with known false sub graphs , 1995, Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[36]  John P. Hayes,et al.  An approximate timing analysis method for datapath circuits , 1996, ICCAD 1996.

[37]  Kurt Keutzer DAGON: Technology Binding and Local Optimization by DAG Matching , 1987, DAC.

[38]  John K. Ousterhout Crystal: a Timing Analyzer for nMOS VLSI Circuits , 1983 .

[39]  Robert B. Hitchcock,et al.  Timing Analysis of Computer Hardware , 1982, IBM J. Res. Dev..

[40]  Hugo De Man,et al.  Timing verification using statically sensitizable paths , 1990, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[41]  Robert K. Brayton,et al.  MIS: A Multiple-Level Logic Optimization System , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[42]  Robert K. Brayton,et al.  Combinational test generation using satisfiability , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..