CN116776791A - Static time sequence analysis algorithm for eliminating pessimistic degree of public path - Google Patents

Static time sequence analysis algorithm for eliminating pessimistic degree of public path Download PDF

Info

Publication number
CN116776791A
CN116776791A CN202310621440.8A CN202310621440A CN116776791A CN 116776791 A CN116776791 A CN 116776791A CN 202310621440 A CN202310621440 A CN 202310621440A CN 116776791 A CN116776791 A CN 116776791A
Authority
CN
China
Prior art keywords
pin
credit
array
path
analysis algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310621440.8A
Other languages
Chinese (zh)
Inventor
俞文心
龚梦石
马杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southwest University of Science and Technology
Original Assignee
Southwest University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southwest University of Science and Technology filed Critical Southwest University of Science and Technology
Priority to CN202310621440.8A priority Critical patent/CN116776791A/en
Publication of CN116776791A publication Critical patent/CN116776791A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3315Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/396Clock trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

The invention discloses a static time sequence analysis algorithm for eliminating pessimistic degree of a public path, which comprises the following steps: global routing result and relevant time sequence constraint input, credit value table establishment, signal pin array construction, multi-pin unit output pin array combination and critical path search. The invention belongs to the technical field of pessimistic degree elimination algorithms, and particularly provides a key path searching algorithm without repeated path searching based on graph traversal; storing candidates of all critical paths with ordered numbers and no duplicate paths; establishing a credit value table in a parallel mode of independently establishing a table for each thread and finally combining the tables into a multi-thread unlocked type table; using the credit value difference as a filtering condition of the key path candidate to complete the combination of arrival time combinations of the output pins of the multi-input pin unit; a static timing analysis algorithm for removing pessimistic common paths for critical path lookups is accomplished with each slot value corresponding to one of the group of slot values in the preamble pin.

Description

Static time sequence analysis algorithm for eliminating pessimistic degree of public path
Technical Field
The invention belongs to the technical field of pessimistic degree elimination algorithms, and particularly relates to a static time sequence analysis algorithm for eliminating pessimistic degree of a public path.
Background
In advanced algorithms for static timing analysis common path pessimistic cancellation, performing critical path lookups for each pair of flip-flops (flip-flop) individually is a popular method of optimizing both timing analysis efficiency and accuracy, but this approach results in repeated path traversals over paired flip-flops that have a common unit of logical path. Graph-based algorithms are an effective way to eliminate such redundant computation, so designing an efficient graph-based common path pessimistic elimination algorithm is critical to static timing analysis. The static time sequence analysis plays a key role in reaching the standard of the design frequency of the whole circuit.
The existing common path pessimistic degree elimination method is poor in efficiency and accuracy of finding a large number of critical paths. In particular, existing path-based common path pessimistic cancellation algorithms are either path-based or block-based algorithms. Although the path-based method can find all critical paths, the speed of searching a large number of critical paths in millions of gate circuits and circuits above is seriously reduced; the block-based common path pessimistic cancellation algorithm prunes the same layers and paths as the circuit is traversed to reduce the computation of critical paths, but on millions of gates and beyond, the accuracy of finding critical paths is severely degraded. Under the condition of ensuring the precision, the searching efficiency of the key paths is improved, so that the circuit paths are traversed and the key paths are pruned according to the traversal of the graph, and under the condition of ensuring the precision, the searching efficiency of a large number of key paths is improved.
Disclosure of Invention
In order to solve the existing problems, the invention provides a key path searching algorithm without repeated path searching based on graph traversal; storing candidates of all critical paths using ordered sets and no duplicate paths; establishing a credit value table by using a parallel mode of independently establishing a table for each thread and finally combining the tables into a multi-thread unlocked type table; using the credit value difference as a filtering condition of the critical path candidate to complete the combination of arrival time combinations of the output pins of the multi-input pin unit; a static timing analysis algorithm for removing pessimistic common paths of a critical path full path lookup is accomplished using a pattern that each slot value corresponds to a group of slot values in a preamble pin.
The technical scheme adopted by the invention is as follows: the invention discloses a static time sequence analysis algorithm for eliminating pessimistic degree of a public path, which comprises the following steps:
step S1: the input of the global wiring result and the related time sequence constraint can update the arrival time of all pin signals according to the global wiring result and the related time sequence constraint;
step S2: establishing a credit value table, calculating credit values for all paired triggers through a clock tree, establishing the credit value table, and obtaining the difference value of the credit value boundary values through the credit value table;
step S3: signal pin array construction, storing signal arrival times at each pin using an ordered array (simultaneously storing ascending and descending arrays, wherein ascending corresponds to a hold time check and descending corresponds to a setup time check), and at the output pins of the multiple input pin unit;
step S4: the output pin arrays of the multi-pin unit are combined, and the input arrays are filtered by using the credit difference and are combined into an array (ascending order and descending order);
step S5: searching critical paths, namely sorting all arrays by using a heap at an end point trigger, and finding the required number of critical paths through pointers;
step S5: outputting the critical path.
Preferably, in step S2, the credit value table is built by mapping the common path delay calculation to the clock tree structure, converting the pairing trigger credit value calculation to the lowest common parent node (LCA) calculation of the clock tree, and using the calculation result to build the credit table, so as to obtain the boundary value difference value of the credit table, wherein the credit table is built by using multithread without locking, and an independent table is built for each thread independently, and finally, the two tables are combined into a table.
Preferably, in step S3, the signal pin array is constructed, and when the signal arrival time is calculated, all possible critical path results are stored by using the array, so that the accuracy is guaranteed to be completely accurate.
Preferably, in step S4, the multiple pin unit output pin arrays are combined, when updating each pin array, no operation is adopted for the single input unit output pin, the array is directly transferred to a lower unit, and at the multiple pin unit output pin, the combination is performed, so that the critical path searching range is greatly reduced, and any possible value is not missed.
Preferably, in step S5, the critical paths are searched, and at the end point trigger and the main output, the values in all the arrays and the corresponding credit values are calculated by searching the credit value table to obtain the final slack values, then the stack ordering mode is used to obtain the required number of slack values, and finally the required number of critical paths are obtained through the previous stage pins stored at each pin, so that the algorithm is simple, low in complexity and capable of achieving all correct results.
Preferably, the combination combining process: combining the multiple arrays into an array with the size of k (k is the number of critical paths to be searched), adding and summing the credit value difference value and the last value in the array, and inserting the value less than or equal to the sum in all the arrays.
The beneficial effects obtained by the invention by adopting the structure are as follows: the static time sequence analysis algorithm for eliminating the pessimistic degree of the public path provided by the scheme remarkably improves the efficiency of searching the key path after eliminating the pessimistic degree of the public path in the static time sequence analysis, and shows extremely strong stable searching time when searching the key path of ten thousand orders of magnitude or more on the scale of millions of gates and more. Static timing analysis is an important component of the whole computer chip aided design software (EDA) and can improve the quality of the computer chip aided design software, so that the performance of a chip designed by the computer chip aided design software can be improved.
Drawings
FIG. 1 is a flow chart of a static timing analysis algorithm for eliminating pessimistic degree of a common path according to the present scheme;
FIG. 2 is a clock tree established by the credit value table of the scheme, wherein FF is a trigger, r is a clock source, n is a circuit unit, and the value is a unit delay boundary value;
FIG. 3 is a schematic diagram of an array memory critical path of the static timing analysis algorithm for eliminating pessimistic degree of a common path according to the present embodiment;
fig. 4 is a combined schematic diagram of the static timing analysis algorithm for eliminating pessimistic degree of the common path according to the present embodiment.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are only some, but not all embodiments of the invention; all other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
The static time sequence analysis algorithm for eliminating the pessimistic degree of the public path, which is provided by the scheme, comprises the following steps:
step S1: the input of the global wiring result and the related time sequence constraint can update the arrival time of all pin signals according to the global wiring result and the related time sequence constraint;
step S2: establishing a credit value table, calculating credit values for all paired triggers through a clock tree, establishing the credit value table, and obtaining the difference value of the credit value boundary values through the credit value table;
step S3: signal pin array construction, storing signal arrival times at each pin using an ordered array (simultaneously storing ascending and descending arrays, wherein ascending corresponds to a hold time check and descending corresponds to a setup time check), and at the output pins of the multiple input pin unit;
step S4: the output pin arrays of the multi-pin unit are combined, and the input arrays are filtered by using the credit difference and are combined into an array (ascending order and descending order);
step S5: searching critical paths, namely sorting all arrays by using a heap at an end point trigger, and finding the required number of critical paths through pointers;
step S5: outputting the critical path.
The credit value table is built in step S2, by mapping the common path delay calculation into the clock tree structure, converting the pairing trigger credit value calculation into the clock tree lowest common parent node (LCA) calculation, and using the calculation result to build the credit table, calculating to obtain the boundary value difference value of the credit table, wherein the credit table is built by using multithread without locking, and an independent table is built for each thread independently, and finally, the two tables are combined into a table.
In step S3, an array of signal pins is constructed, and the array is used to store all possible critical path results during the calculation of the signal arrival time.
In step S4, the multiple pin unit output pin combinations are combined, when updating each pin array, no operation is adopted for the single input unit output pin, the array is directly transferred to a lower unit, and at the multiple pin unit output pin, the combination is performed, and the combination process is performed: combining the multiple arrays into an array with the size of k (k is the number of critical paths to be searched), adding and summing the credit value difference value and the last value in the array, and inserting the value less than or equal to the sum in all the arrays.
In step S5, the critical paths are searched, and at the end point trigger and the main output, the values in all the arrays and the corresponding credit values are calculated by searching the credit value table to obtain the final slack values, then the stack ordering mode is used to obtain the required number of slack values, and finally the required number of critical paths are obtained through the previous stage pins stored at each pin.
It is noted that relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
Although embodiments of the present invention have been shown and described, it will be understood by those skilled in the art that various changes, modifications, substitutions and alterations can be made therein without departing from the principles and spirit of the invention, the scope of which is defined in the appended claims and their equivalents.

Claims (6)

1. The static time sequence analysis algorithm for eliminating the pessimistic degree of the public path is characterized in that: the method comprises the following steps:
step S1: the input of the global wiring result and the related time sequence constraint can update the arrival time of all pin signals according to the global wiring result and the related time sequence constraint;
step S2: establishing a credit value table, calculating credit values for all paired triggers through a clock tree, establishing the credit value table, and obtaining the difference value of the credit value boundary values through the credit value table;
step S3: constructing a signal pin array, storing signal arrival time at each pin in an ordered array mode, and simultaneously storing an ascending order and a descending order array, wherein the ascending order corresponds to a hold time check, the descending order corresponds to a setup time check, and the descending order corresponds to an output pin of the multi-input pin unit;
step S4: the output pin arrays of the multi-pin unit are combined, and the input multiple arrays are filtered by using the credit difference value and are combined into one array;
step S5: searching critical paths, namely sorting all arrays by using a heap at an end point trigger, and finding the required number of critical paths through pointers;
step S5: outputting the critical path.
2. The static timing analysis algorithm for eliminating common path pessimism of claim 1, wherein: in step S2, the credit value table is built, the common path delay calculation is mapped into the clock tree structure, the pairing trigger credit value calculation is converted into the calculation of the lowest common father node of the clock tree, the credit table is built by using the calculation result, the boundary value difference value of the credit table is obtained by calculation, the multi-thread is used for unlocking when the credit table is built, an independent table is built for each thread independently, and finally the independent tables are combined into one table.
3. The static timing analysis algorithm for eliminating common path pessimism of claim 1, wherein: in step S3, an array of signal pins is constructed, and the array is used to store all possible critical path results during the calculation of the signal arrival time.
4. The static timing analysis algorithm for eliminating common path pessimism of claim 1, wherein: in step S4, the multiple pin unit output pin combinations are combined, and when updating each pin array, the single input unit output pin is not operated at all, the array is directly transferred to a lower unit, and the multiple pin unit output pins are combined.
5. The static timing analysis algorithm for eliminating common path pessimism of claim 1, wherein: in step S5, the critical paths are searched, and at the end point trigger and the main output, the values in all the arrays and the corresponding credit values are calculated by searching the credit value table to obtain the final slots, then the stack ordering mode is used to obtain the required number of slots, and finally the required number of critical paths are obtained through the previous stage pins stored at each pin.
6. The static timing analysis algorithm for eliminating common path pessimism of claim 4, wherein: the combination and combination process is as follows: combining the multiple arrays into an array with the size of k, wherein k is the number of critical paths to be searched, adding and summing the credit value difference value and the last value in the array, and inserting the value less than or equal to the sum in all the arrays.
CN202310621440.8A 2023-05-30 2023-05-30 Static time sequence analysis algorithm for eliminating pessimistic degree of public path Pending CN116776791A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310621440.8A CN116776791A (en) 2023-05-30 2023-05-30 Static time sequence analysis algorithm for eliminating pessimistic degree of public path

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310621440.8A CN116776791A (en) 2023-05-30 2023-05-30 Static time sequence analysis algorithm for eliminating pessimistic degree of public path

Publications (1)

Publication Number Publication Date
CN116776791A true CN116776791A (en) 2023-09-19

Family

ID=87985121

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310621440.8A Pending CN116776791A (en) 2023-05-30 2023-05-30 Static time sequence analysis algorithm for eliminating pessimistic degree of public path

Country Status (1)

Country Link
CN (1) CN116776791A (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050066297A1 (en) * 2003-09-18 2005-03-24 Kerim Kalafala System and method for correlated process pessimism removal for static timing analysis
US20080209372A1 (en) * 2007-02-26 2008-08-28 International Business Machines Corporation Estimation Of Process Variation Impact Of Slack In Multi-Corner Path-Based Static Timing Analysis
US20120023466A1 (en) * 2010-07-22 2012-01-26 International Business Machines Corporation Implementing forward tracing to reduce pessimism in static timing of logic blocks laid out in parallel structures on an integrated circuit chip
US20120124534A1 (en) * 2010-11-11 2012-05-17 International Business Machines Corporation System and Method for Performing Static Timing Analysis in the Presence of Correlations Between Asserted Arrival Times
US20120311515A1 (en) * 2011-06-02 2012-12-06 International Business Machines Corporation Method For Performing A Parallel Static Timing Analysis Using Thread-Specific Sub-Graphs
US8938703B1 (en) * 2014-07-22 2015-01-20 Cadence Design Systems, Inc. Method and apparatus for comprehension of common path pessimism during timing model extraction
CN114997098A (en) * 2022-04-27 2022-09-02 西南科技大学 Rapid maze routing-based circuit global wiring method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050066297A1 (en) * 2003-09-18 2005-03-24 Kerim Kalafala System and method for correlated process pessimism removal for static timing analysis
US20080209372A1 (en) * 2007-02-26 2008-08-28 International Business Machines Corporation Estimation Of Process Variation Impact Of Slack In Multi-Corner Path-Based Static Timing Analysis
US20120023466A1 (en) * 2010-07-22 2012-01-26 International Business Machines Corporation Implementing forward tracing to reduce pessimism in static timing of logic blocks laid out in parallel structures on an integrated circuit chip
US20120124534A1 (en) * 2010-11-11 2012-05-17 International Business Machines Corporation System and Method for Performing Static Timing Analysis in the Presence of Correlations Between Asserted Arrival Times
US20120311515A1 (en) * 2011-06-02 2012-12-06 International Business Machines Corporation Method For Performing A Parallel Static Timing Analysis Using Thread-Specific Sub-Graphs
US8938703B1 (en) * 2014-07-22 2015-01-20 Cadence Design Systems, Inc. Method and apparatus for comprehension of common path pessimism during timing model extraction
CN114997098A (en) * 2022-04-27 2022-09-02 西南科技大学 Rapid maze routing-based circuit global wiring method

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
FU ZHAOQI,YU WENXIN AND ETC, .: "An Efficient Maze Routing Algorithm for Fast Global Routing", PROCEEDINGS OF THE 32ND GREAT LAKES SYMPOSIUM ON VLSI 2022, 1 January 2022 (2022-01-01) *
J HU, G SCHAEFFER, V GARG: "TAU 2015 Contest on Incremental Timing Analysis:Incremental Timing and CPPR Analysis", IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER-AIDED DESIGN, 2 November 2015 (2015-11-02) *
唐有情;: "纳米级工艺下系统级芯片的物理设计", 中国科技信息, no. 05, 1 March 2010 (2010-03-01) *
楼久怀;宋勇;: "芯片设计中CPPR问题的分析和解决", 集成电路应用, no. 05, 3 May 2018 (2018-05-03) *
胡云生;胡越黎;王伟平;承文龙;杨晔晨;: "16nm工艺下的新一代静态时序分析技术SOCV", 计算机测量与控制, no. 04, 25 April 2017 (2017-04-25) *
贺旭;王耀;傅智勇;李暾;屈婉霞;万海;张吉良: "敏捷设计中基于机器学习的静态时序分析方法综述", 计算机辅助设计与图形学学报, 21 February 2023 (2023-02-21) *

Similar Documents

Publication Publication Date Title
Kahng et al. Optimization of linear placements for wirelength minimization with free sites
Wu et al. A robust functional ECO engine by SAT proof minimization and interpolation techniques
US11922106B2 (en) Memory efficient scalable distributed static timing analysis using structure based self-aligned parallel partitioning
Pomeranz et al. An efficient nonenumerative method to estimate the path delay fault coverage in combinational circuits
Papenbrock et al. A hybrid approach for efficient unique column combination discovery
US8028260B1 (en) Determination of most critical timing paths in digital circuits
CN113779924A (en) Method and apparatus for optimizing wiring of superconducting integrated circuit, storage medium, and terminal
CN111553120A (en) Method for generating SPICE netlist of digital circuit local clock network
WO2018177598A1 (en) Method for automatic detection of a functional primitive in a model of a hardware system
US7356747B2 (en) Decision selection and associated learning for computing all solutions in automatic test pattern generation (ATPG) and satisfiability
Bo et al. Entity resolution acceleration using Micron’s Automata Processor
CN111914502A (en) Reset network extraction method based on RTL netlist
Pomeranz et al. On the number of tests to detect all path delay faults in combinational logic circuits
CN116776791A (en) Static time sequence analysis algorithm for eliminating pessimistic degree of public path
CN112651197A (en) Circuit division preprocessing method and gate-level circuit parallel simulation method
Huang et al. A robust ECO engine by resource-constraint-aware technology mapping and incremental routing optimization
CN111460747B (en) Standard unit tracking method for integrated circuit design
CN114741993A (en) Script-based dataflow graph generation method and device
CN113919256A (en) Boolean satisfiability verification method, system, CNF generation method and storage device
CN112084742B (en) Integrated circuit design method and non-transitory computer readable medium thereof
Kuehlmann et al. Equivalence checking
JP2604951B2 (en) Method and apparatus for solving a numerical problem using a plurality of processing elements operating in parallel
CN111444180A (en) Double-layer structure index and query method thereof
CN118278327A (en) Logic layer chip design information grouping processing method, electronic equipment and medium
Ashar et al. Implicit state transition graphs: Applications to sequential logic synthesis and test

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination