[go: up one dir, main page]

US7320118B2 - Delay analysis device, delay analysis method, and computer product - Google Patents

Delay analysis device, delay analysis method, and computer product Download PDF

Info

Publication number
US7320118B2
US7320118B2 US11/315,173 US31517305A US7320118B2 US 7320118 B2 US7320118 B2 US 7320118B2 US 31517305 A US31517305 A US 31517305A US 7320118 B2 US7320118 B2 US 7320118B2
Authority
US
United States
Prior art keywords
delay
circuit
distribution
detecting
computing
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.)
Expired - Fee Related, expires
Application number
US11/315,173
Other versions
US20070074138A1 (en
Inventor
Katsumi Homma
Toshiyuki Shibuya
Hidetoshi Matsuoka
Izumi Nitta
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Assigned to FUJITSU LIMITED reassignment FUJITSU LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HOMMA, KATSUMI, MATSUOKA, HIDETOSHI, NITTA, IZUMI, SHIBUYA, TOSHIYUKI
Publication of US20070074138A1 publication Critical patent/US20070074138A1/en
Application granted granted Critical
Publication of US7320118B2 publication Critical patent/US7320118B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Definitions

  • the present invention relates to a technology for analyzing delay occurring of a circuit.
  • VLSI very large scale integration
  • circuit delay is minimized at a logical level called partial collapsing.
  • circuit delay is minimized without carrying out a timing analysis.
  • an accurate circuit delay cannot be estimated.
  • a computer-readable recording medium stores therein a computer program for analyzing circuit delay.
  • the computer program makes a computer execute receiving a result of a timing analysis of a target circuit to be analyzed; detecting, based on the result, critical paths having delays within a predetermined range; and computing a statistical delay of the target circuit based on a cumulative probability distribution of the delays of the critical paths.
  • a delay analysis device is for analyzing circuit delay.
  • the delay analysis device includes a receiving unit configured to receive a result of a timing analysis of a target circuit to be analyzed; a detecting unit configured to detect, based on the result, critical paths having delays within a predetermined range; and a statistical-delay computing unit configured to compute a statistical delay of the target circuit based on a cumulative probability distribution of the delays of the critical paths.
  • a delay analysis method is of analyzing circuit delay.
  • the delay analysis method includes receiving a result of a timing analysis of a target circuit to be analyzed; detecting, based on the result, critical paths having delays within a predetermined range; and computing a statistical delay of the target circuit based on a cumulative probability distribution of the delays of the critical paths.
  • FIG. 1 is a schematic of a delay analysis device according to an embodiment of the present invention
  • FIG. 2 is a schematic for illustrating contents stored in a circuit element library
  • FIG. 3A is a schematic of a target circuit to be analyzed according to the embodiment.
  • FIG. 3B is a schematic of critical paths that are detected based on a result of a timing analysis on the target circuit
  • FIG. 4 is a schematic of a timing list according to the embodiment.
  • FIG. 5 is a block diagram of the delay analysis device
  • FIG. 6 is a graph of a probability density distribution of delay
  • FIG. 7 is a schematic of partial circuits according to the embodiment.
  • FIG. 8 is a schematic of the probability density distribution and a cumulative probability distribution of delay
  • FIG. 9 is a graph of the cumulative probability distribution
  • FIG. 10 is a flowchart of a delay analyzing process in the delay analysis device
  • FIG. 11 is a flowchart of a critical-path detecting process in the delay analysis device
  • FIG. 12 is a flowchart of a statistical-delay computing process in the delay analysis device.
  • FIG. 13 is a flowchart of a partial-circuit generating process in the delay analysis device.
  • FIG. 1 is a schematic of a delay analysis device according to an embodiment of the present invention.
  • the delay analysis device includes a central processing unit (CPU) 101 , a read only memory (ROM) 102 , a random access memory (RAM) 103 , a hard disk drive (HDD) 104 , a hard disk (HD) 105 , a flexible disk drive (FDD) 106 , a flexible disk (FD) 107 as an example of a removable recording medium, a display 108 , an interface 109 , a keyboard 110 , a mouse 111 , a scanner 112 , and a printer 113 .
  • Paths 100 connect each component.
  • the CPU 101 controls the entire delay analysis device.
  • the ROM 102 stores programs such as a boot program.
  • the RAM 103 is used as a work area of the CPU 101 .
  • the HDD 104 controls reading of data from and writing of data to the HD 105 according to the control exercised by the CPU 101 .
  • the HD 105 stores data that is written as a result of control exercised by the HDD 104 .
  • the FDD 106 controls reading of data from and writing of data to the FD 107 according to the control exercised by the CPU 101 .
  • the FD 107 stores data that is written as a result of control exercised by the FDD 106 and causes the delay analysis device to read the data that is stored in the FD 107 .
  • a compact disk-read only memory (compact disk-recordable (CD-R), compact disk-rewriteable (CD-RW)), a magneto optical (MO) disk, a digital versatile disk (DVD), and a memory card can also be used as a removable recording medium.
  • the display 108 displays a cursor, an icon, or a toolbox as well as data such as text, images, and function data.
  • a cathode ray tube (CRT), a thin film transistor (TFT) liquid crystal display, and a plasma display can also be used as the display 108 .
  • the interface 109 is connected to a network 114 such as the Internet via communication lines.
  • the interface 109 is connected to other devices via the network 114 .
  • the interface 109 controls input and output of data towards external devices via the network 114 and an internal interface.
  • a modem or a Local Area Network (LAN) adapter can be used as the interface 109 .
  • the keyboard 110 carries out input of data by using keys that are provided for inputting text, numerals, and various types of instructions.
  • a touch panel type input pad or a numeric keypad can also be used as the keyboard 110 .
  • the mouse 111 moves the cursor, selects cursor range, moves a window, and changes window size.
  • a trackball or a joystick provided with similar functions can also be used as a pointing device.
  • the scanner 112 optically reads an image and fetches image data into the delay analysis device.
  • the scanner 112 can also be provided with an optical character recognition (OCR) function.
  • OCR optical character recognition
  • the printer 113 prints image data or text data.
  • a laser printer or an inkjet printer can also be used as the printer 113 .
  • FIG. 2 is a schematic for illustrating contents stored in a circuit element library 200 .
  • the circuit element library 200 stores circuit-element-delay distribution data 200 - 1 through 200 -n for each circuit element.
  • the circuit-element-delay distribution data 200 - 1 through 200 -n include a circuit element name and probability density distribution parameters related to clock delay for each circuit element.
  • the probability density distribution parameters related to clock delay include average delay and standard deviation of the circuit element.
  • a circuit element Ci has average delay mi, a standard deviation ⁇ i, and a probability density distribution Pi as a distribution function.
  • the circuit elements include a buffer, an inverter, and a logic gate.
  • FIG. 3A is a schematic of a target circuit 300 to be analyzed according to the embodiment. A part of the target circuit 300 is extracted and displayed as shown in FIG. 3A .
  • the target circuit 300 shown in FIG. 3A includes circuit elements C 1 through C 20 .
  • FIG. 3B is a schematic of critical paths that are detected based on a timing analysis result of the target circuit 300 . As shown in FIG. 3B , four critical paths CP 1 through CP 4 are detected based on the timing analysis result of the target circuit 300 .
  • the critical path CP 1 passes through the circuit elements C 1 , C 2 , C 3 , and C 7 .
  • the critical path CP 2 passes through the circuit elements C 8 , C 2 , C 12 , and C 13 .
  • the critical path CP 3 passes through the circuit elements C 14 , C 15 , C 16 , and C 13 .
  • the critical path CP 4 passes through the circuit elements C 17 , C 18 , C 19 , and C 20 .
  • FIG. 4 is a schematic of a timing list 400 that is the timing analysis result.
  • the timing list 400 shown in FIG. 4 is created as a result of the timing analysis (STA) of the target circuit 300 .
  • STA timing analysis
  • the timing list 400 includes a description of the circuit elements forming the circuit path, average delay of the circuit elements, and cumulative delay.
  • the critical path CP 1 includes the circuit elements C 1 , C 2 , C 6 , and C 7 .
  • the circuit element library 200 shown in FIG. 2 is used for the timing analysis. Average delays of the circuit elements C 1 , C 2 , C 6 , and C 7 are m 1 , m 2 , m 6 , and m 7 respectively.
  • the cumulative delay of a circuit element is a total of average delays until the circuit element.
  • the cumulative delays of the last circuit element are average delays M 1 through Mz of the critical paths CP 1 through CPz respectively.
  • the average delay M 1 which is a total of the cumulative delays of the critical path CP 1 is equal to the total of delays until the last circuit element C 7 (m 1 +m 2 +m 6 +m 7 ).
  • FIG. 5 is a block diagram of a delay analysis device 500 according to the embodiment of the present invention.
  • the delay analysis device 500 includes a receiving unit 501 , a probability-density-distribution computing unit 502 , a detecting unit 503 , a generating unit 504 , a cumulative-probability-distribution computing unit 505 , and a statistical-delay computing unit 506 .
  • the receiving unit 501 receives an input of the timing analysis result of the target circuit 300 . Specifically, the receiving unit 501 receives, for example, the timing list 400 shown in FIG. 4 .
  • the timing analysis result (the timing list 400 ) received is output to the probability-density-distribution computing unit 502 or to the detecting unit 503 .
  • the probability-density-distribution computing unit 502 computes a probability density distribution of delay of the critical path having the greatest delay in the timing analysis result. Specifically, the probability-density-distribution computing unit 502 computes, for example, the probability density distribution of delay of the critical path having the greatest cumulative delay among the cumulative delays M 1 through Mz from the timing list 400 received by the receiving unit 501 . If the cumulative delays M 1 through Mz from the timing list 400 are sorted according to the length of time, because the cumulative delay M 1 of the critical path CP 1 is the greatest, the probability-density-distribution computing unit 502 computes the probability density distribution of delay of the critical path CP 1 .
  • the probability-density-distribution computing unit 502 refers to the circuit element library 200 . Because the critical path CP 1 includes the circuit elements C 1 , C 2 , C 6 , and C 7 , the probability-density-distribution computing unit 502 computes a standard deviation ⁇ of the critical path CP 1 from the standard deviations ⁇ 1 , ⁇ 2 , ⁇ 6 , and ⁇ 7 of the circuit elements C 1 , C 2 , C 6 , and C 7 respectively by using Equation 1.
  • a probability density distribution PM 1 of delay of the critical path CP 1 having the greatest cumulative delay can be computed from the average delay M 1 and the standard deviation ⁇ .
  • FIG. 6 is a graph of the probability density distribution of delay. As shown in FIG. 6 , the probability density distribution PM 1 of delay of the critical path CP 1 is represented as a normal distribution consisting of the average delay M 1 and the standard deviation ⁇ .
  • the detecting unit 503 Based on the timing analysis result received by the receiving unit 501 , the detecting unit 503 detects the critical paths having delays within a predetermined range. Specifically, based on the probability density distribution PM 1 that is computed by the probability-density-distribution computing unit 502 , for example, the detecting unit 503 detects the critical paths having (average) delays within the predetermined range.
  • the detecting unit 503 detects the critical paths CP 2 and CP 3 , having the average delays M 2 and M 3 respectively, within the range of the probability density distribution PM 1 such that the probability density distribution PM 1 is between (M 1 ⁇ 3 ⁇ ) and the average delay M 1 .
  • Probability density distributions PM 2 and PM 3 of the critical paths CP 2 and CP 3 respectively are shown in FIG. 6 .
  • a probability density distribution PMz of the critical path CPz having the average delay Mz that is less than (M 1 ⁇ 3 ⁇ ) of the probability density distribution PM 1 is also shown in FIG. 6 .
  • the delay of the entire target circuit 300 is affected by less than one percent. Due to this, the influence of statistical factors can be determined by analyzing only the critical paths having average delays within the range of the probability density distribution PM 1 such that the probability density distribution PM 1 is between (M 1 ⁇ 3 ⁇ ) and the average delay M 1 .
  • the detecting unit 503 detects a predetermined number of critical paths in the descending order of delays beginning from the critical path having the greatest cumulative delay. Specifically, if the target circuit 300 of 0.11 ⁇ includes 150,000 critical paths, approximately first 900 critical paths in the timing list 400 (equivalent to 0.6 percent of the total) are included in the range (M 1 ⁇ 3 ⁇ ) of the probability density distribution PM 1 . Thus, restricting the number of critical paths to first x number of critical paths enables to enhance the speed of the delay analyzing process by a hundred times.
  • FIG. 7 is a schematic of the partial circuits according to the embodiment of the present invention. As shown in FIG. 7 , the target circuit 300 includes partial circuits S 1 and S 2 .
  • the critical path CP 1 includes the circuit elements C 1 , C 2 , C 6 , and C 7 .
  • the generating unit 504 searches the critical path CP 2 that shares the circuit element C 2 .
  • the critical path CP 2 includes the circuit elements C 8 , C 2 , C 12 , and C 13 .
  • the generating unit 504 searches the critical path CP 3 that shares the circuit element C 13 . In other words, the critical paths CP 1 and CP 2 share the circuit element C 2 . Similarly, the critical paths CP 2 and CP 3 share the circuit element C 13 .
  • the critical path CP 1 and the critical path CP 3 do not share a circuit element, because the critical paths CP 1 and CP 3 are indirectly related via the critical path CP 2 , a circuit that includes the critical paths CP 1 through CP 3 forms the partial circuit SP 1 .
  • the circuit elements C 3 through C 5 , C 9 through C 11 are not included in the partial circuit S 1 .
  • the critical path CP 4 includes the circuit elements C 17 through C 20 , because of non existence of a critical path that shares the circuit elements C 17 through C 20 with the critical path CP 4 , the critical path CP 4 forms the partial circuit S 2 by itself.
  • the cumulative-probability-distribution computing unit 505 computes a cumulative probability distribution of delay for each partial circuit that is generated by the generating unit 504 .
  • FIG. 8 is a schematic of the probability density distribution and the cumulative probability distribution of delay. As shown in FIG. 8 , a probability density distribution P of delay is integrated to get a cumulative probability distribution Q.
  • the delay distribution a is represented as a probability density function by a probability density distribution Pa.
  • the delay distribution b is represented as a probability density function by a probability density distribution Pb.
  • the delay distribution a is represented as a cumulative probability function by a cumulative probability distribution Qa.
  • the delay distribution b is represented as a cumulative probability function by a cumulative probability distribution Qb.
  • the statistical sum of the probability density distributions Pa and Pb can be represented by using the following Equation 2.
  • the statistical sum of the cumulative probability distributions Qa and Qb can be expressed as:
  • the cumulative-probability-distribution computing unit 505 computes the probability density distribution of delay of each circuit element in the partial circuits.
  • the cumulative-probability-distribution computing unit 505 computes the statistical sum (Equation 2) of the probability density distribution of delay of the circuit elements if the circuit elements are serial, thereby computing the probability density distribution of delay of the serial points.
  • the cumulative-probability-distribution computing unit 505 computes the cumulative distribution product (Equation 4) of the probability density distribution of delay of the circuit elements if the circuit elements are parallel, thereby computing the cumulative distribution product of the parallel points.
  • the partial circuit S 1 includes the circuit element C 2 that is shared by the critical paths CP 1 and CP 2 .
  • the partial circuit S 1 also includes the circuit element C 13 that is shared by the critical path CP 2 and the critical path CP 3 .
  • Equation 2 indicates the cumulative probability distribution of delay of the circuit element C 1
  • Q 2 indicates the cumulative probability distribution of delay of the circuit element C 2
  • Q 8 indicates the cumulative probability distribution of delay of the circuit element C 8 .
  • Equation 2 the cumulative probability distribution of delay of the circuit element C 13 can be expressed as Equation 2 (see Expression 7.
  • Q 14 indicates the cumulative probability distribution of delay of the circuit element C 14
  • Q 15 indicates the cumulative probability distribution of delay of the circuit element C 15
  • Q 16 indicates the cumulative probability distribution of delay of the circuit element C 16 .
  • a cumulative probability distribution QS 1 of delay of the partial circuit S 1 can be expressed as Equation 8 below.
  • P 1 , P 2 , P 6 through P 8 , and P 12 through P 16 are probability density distributions of delays of the circuit elements C 1 , C 2 , C 6 through C 8 , and C 12 through C 16 respectively.
  • Equation 8 it is possible to apply the cumulative distribution product for the probability density distributions of the circuit elements around the shared circuit elements C 2 and C 13 , thereby simplifying the computation process and speeding up the computation process.
  • a cumulative probability distribution QS 2 of delay of the partial circuit S 2 can be represented by using the following Equation 9.
  • Q 17 through Q 20 are cumulative probability distributions of delays of the circuit elements C 17 through C 20 respectively.
  • QS 2 Q 17 *Q 18 *Q 19 *Q 20 (9)
  • the statistical-delay computing unit 506 Based on the cumulative probability distributions of delays of the critical paths that are detected by the detecting unit 503 , the statistical-delay computing unit 506 computes a statistical delay related to the target circuit 300 . Specifically, based on the cumulative probability distributions, which are computed by the cumulative-probability-distribution computing unit 505 , of the partial circuits, the statistical-delay computing unit 506 computes the statistical delay related to the target circuit 300 .
  • FIG. 9 is a graph of the cumulative probability distribution.
  • a cumulative probability distribution Q related to the target circuit 300 can be represented by using the cumulative probability distribution QS 1 of delay of the partial circuit S 1 and the cumulative probability distribution QS 2 of delay of the partial circuit QS 2 according to the following Equation 10.
  • Q QS 1 ⁇ QS 2 (10)
  • the statistical-delay computing unit 506 computes the statistical delay related to the target circuit 300 . For example, if m indicates average delay and ⁇ indicates standard deviation in the cumulative probability distribution Q, the statistical delay of m+3 ⁇ (99.86 percent) is indicated by td as shown in FIG. 9 .
  • the functions of the receiving unit 501 , the probability-density-distribution computing unit 502 , the detecting unit 503 , the generating unit 504 , the cumulative-probability-distribution computing unit 505 , and the statistical-delay computing unit 506 can be realized, for example, by using a computer program that is recorded in a recording medium such as the ROM 102 , the RAM 103 , and the HD 105 shown in FIG. 1 , and causing the CPU 101 to execute the computer program.
  • the computer program can also be executed by using the interface 109 .
  • FIG. 10 is a flowchart of a delay analyzing process in the delay analysis device 500 .
  • the receiving unit 501 awaits input of the timing analysis result (“NO” at step S 1001 ).
  • the detecting unit 503 executes a critical-path detecting process (step S 1002 ).
  • the statistical-delay computing unit 506 executes a statistical-delay computing process (step S 1003 ), thereby completing a series of the delay analyzing process.
  • FIG. 11 is a flowchart of the critical-path detecting process.
  • the detecting unit 503 detects a critical path having the greatest cumulative delay (greatest delay path) (step S 1101 ). Then, the detecting unit 503 computes a probability density distribution of delay of the greatest delay path (step S 1102 ). The detecting unit 503 detects x number of critical paths having cumulative delays within the probability density distribution, and the critical-path detecting process proceeds to step S 1003 shown in FIG. 10 .
  • FIG. 12 is a flowchart of the statistical-delay computing process.
  • the generating unit 504 executes a partial-circuit generating process (step S 1201 ).
  • the cumulative-probability-distribution computing unit 505 computes the cumulative probability distribution of a partial circuit Sk (step S 1203 ).
  • the statistical-delay computing unit 506 increments k (step S 1204 ) and determines whether k is greater than m (step S 1205 ) where m is the total number of partial circuits Sk. If k is not greater than m (“NO” at step S 1205 ), the statistical-delay computing process returns to step S 1203 and the cumulative-probability-distribution computing unit 505 computes the cumulative probability distribution of delay of the partial circuit Sk.
  • the cumulative-probability-distribution computing unit 505 computes the cumulative probability distribution of delay of the target circuit 300 (step S 1206 ), and based on the cumulative probability distribution of delay of the target circuit 300 , computes the statistical delay of the target circuit 300 (step S 1207 ).
  • FIG. 13 is a flowchart of the partial-circuit generating process.
  • the generating unit 504 extracts a critical path CPj from x number of critical paths that are detected by the detecting unit 503 (step S 1302 ).
  • the generating unit 504 searches for a critical path (shared critical path) that shares circuit elements with the critical path CPj (step S 1303 ).
  • the generating unit 504 searches for a critical path (shared critical path) that shares circuit elements with the found shared critical path (step S 1305 ), and the partial-circuit generating process returns to step S 1304 . If a shared critical path is not found (“NO” at step S 1304 ), the generating unit 504 increments k (step S 1306 ) and generates a partial circuit Sk (step S 1307 ).
  • the partial circuit Sk includes the circuit elements that form the critical path CPj and the circuit elements that form the shared critical path.
  • the generating unit 504 increments j (step S 1308 ), and determines if j is greater than x (step S 1309 ). If j is greater than x (“YES” at step S 1309 ), the generating unit 504 determines whether the critical path CPj is found as a shared critical path (step S 1310 ). If the critical path CPj is found as the shared critical path (“YES” at step S 1310 ), the partial-circuit generating process returns to step S 1308 , and the generating unit 504 further increments j.
  • the partial-circuit generating process returns to step S 1303 , and the generating unit 504 searches a critical path (shared critical path) that shares circuit elements with the critical path CPj. If j is not greater than x (NO′′ at step 1309 ), the partial-circuit generating process proceeds to step S 1202 shown in FIG. 12 .
  • a target circuit to be analyzed that has critical paths can be reconfigured as a cluster of partial circuits that include only the circuit elements forming the critical paths.
  • the circuit elements that are not related to the critical paths are excluded from analysis object, thereby speeding up the analyzing process.
  • the critical paths are detected based on the probability density distribution of the greatest delay path computed by the probability-density-distribution computing unit 502 .
  • x number of critical paths having cumulative delays within the probability density distribution may be detected only based on the timing list, thereby omitting the computing process by the probability-density-distribution computing unit 502 and speeding up the delay analyzing process.
  • circuit delay of a circuit can efficiently and accurately be analyze, thereby reducing the burden on a circuit designer and the designing time.
  • the delay analysis method explained in the present embodiment can be realized by executing a computer program prepared in advance using a computer such as a personal computer and a workstation.
  • the computer program can be recorded on a computer-readable recording medium, such as a HD, a flexible disk, a CD-ROM, an MO disk, and a DVD, and read out by the computer from the recording medium to be executed.
  • the program can also be a transmission medium that can be distributed via a network such as the Internet.
  • circuit delay of a circuit can be efficiently and accurately analyzed, thereby reducing the burden on a circuit designer and the designing time.

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

A delay analysis device includes a receiving unit that receives a result of a timing analysis of a target circuit to be analyzed, a detecting unit that detects critical paths having delays within a predetermined range, a statistical-delay computing unit that computes a statistical delay of the target circuit based on a cumulative probability distribution of the delays of the critical paths, and a probability-density-distribution computing unit that computes a probability density distribution of delay of a critical path that has the greatest delay in the result. The detecting unit detects x number of critical paths having cumulative delays within computed probability density distribution.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS
This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2005-278763, filed on Sep. 26, 2005, the entire contents of which are incorporated herein by reference.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a technology for analyzing delay occurring of a circuit.
2. Description of the Related Art
Recently, in very large scale integration (VLSI) manufacturing, influence of statistical factors, for example, of process variation, is increasing due to fragmentation of processes. A technology for decreasing delay considering the influence of statistical factors is required in VLSI designing to obtain high yield in creating circuits that have required performance. Conventionally, a statistical delay analysis method is developed that considers process variation and eliminates unnecessary delay margin (for example, Japanese Patent Laid-Open Publication No. 2004-252831). Furthermore, a delay minimizing device is developed that minimizes delay of a logic circuit (for example, Japanese Patent Laid-Open Publication No. H7-334530).
However, in the conventional technology, it is difficult to accurately deal with statistical factors. For example, when dealing with statistical factors in a conventional static timing analysis (STA), values of the statistical factors are estimated based on the worst case scenario, thereby resulting in unrealistic and inaccurate values of circuit delay. This leads to a repetition of circuit designing, thereby increasing the burden on a designer, and causing further delay in designing time.
Carrying out a delay analysis of all paths in a chip by using such conventional technology greatly increases the processing time of the delay analysis, thereby further increasing the designing time. In the above conventional technology, circuit delay is minimized at a logical level called partial collapsing. Thus, circuit delay is minimized without carrying out a timing analysis. In other words, because circuit delay is minimized without considering a delay of critical paths, an accurate circuit delay cannot be estimated.
SUMMARY OF THE INVENTION
It is an object of the present invention to at least solve the problems in the conventional technology.
A computer-readable recording medium according to one aspect of the present invention stores therein a computer program for analyzing circuit delay. The computer program makes a computer execute receiving a result of a timing analysis of a target circuit to be analyzed; detecting, based on the result, critical paths having delays within a predetermined range; and computing a statistical delay of the target circuit based on a cumulative probability distribution of the delays of the critical paths.
A delay analysis device according to another aspect of the present invention is for analyzing circuit delay. The delay analysis device includes a receiving unit configured to receive a result of a timing analysis of a target circuit to be analyzed; a detecting unit configured to detect, based on the result, critical paths having delays within a predetermined range; and a statistical-delay computing unit configured to compute a statistical delay of the target circuit based on a cumulative probability distribution of the delays of the critical paths.
A delay analysis method according to still another aspect of the present invention is of analyzing circuit delay. The delay analysis method includes receiving a result of a timing analysis of a target circuit to be analyzed; detecting, based on the result, critical paths having delays within a predetermined range; and computing a statistical delay of the target circuit based on a cumulative probability distribution of the delays of the critical paths.
The other objects, features, and advantages of the present invention are specifically set forth in or will become apparent from the following detailed description of the invention when read in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic of a delay analysis device according to an embodiment of the present invention;
FIG. 2 is a schematic for illustrating contents stored in a circuit element library;
FIG. 3A is a schematic of a target circuit to be analyzed according to the embodiment;
FIG. 3B is a schematic of critical paths that are detected based on a result of a timing analysis on the target circuit;
FIG. 4 is a schematic of a timing list according to the embodiment;
FIG. 5 is a block diagram of the delay analysis device;
FIG. 6 is a graph of a probability density distribution of delay;
FIG. 7 is a schematic of partial circuits according to the embodiment;
FIG. 8 is a schematic of the probability density distribution and a cumulative probability distribution of delay;
FIG. 9 is a graph of the cumulative probability distribution;
FIG. 10 is a flowchart of a delay analyzing process in the delay analysis device;
FIG. 11 is a flowchart of a critical-path detecting process in the delay analysis device;
FIG. 12 is a flowchart of a statistical-delay computing process in the delay analysis device; and
FIG. 13 is a flowchart of a partial-circuit generating process in the delay analysis device.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Exemplary embodiments of the present invention will be explained below with reference to accompanying drawings.
FIG. 1 is a schematic of a delay analysis device according to an embodiment of the present invention. As shown in FIG. 1, the delay analysis device includes a central processing unit (CPU) 101, a read only memory (ROM) 102, a random access memory (RAM) 103, a hard disk drive (HDD) 104, a hard disk (HD) 105, a flexible disk drive (FDD) 106, a flexible disk (FD) 107 as an example of a removable recording medium, a display 108, an interface 109, a keyboard 110, a mouse 111, a scanner 112, and a printer 113. Paths 100 connect each component.
The CPU 101 controls the entire delay analysis device. The ROM 102 stores programs such as a boot program. The RAM 103 is used as a work area of the CPU 101. The HDD 104 controls reading of data from and writing of data to the HD 105 according to the control exercised by the CPU 101. The HD 105 stores data that is written as a result of control exercised by the HDD 104.
The FDD 106 controls reading of data from and writing of data to the FD 107 according to the control exercised by the CPU 101. The FD 107 stores data that is written as a result of control exercised by the FDD 106 and causes the delay analysis device to read the data that is stored in the FD 107.
Apart from the FD 107, a compact disk-read only memory (CD-ROM) (compact disk-recordable (CD-R), compact disk-rewriteable (CD-RW)), a magneto optical (MO) disk, a digital versatile disk (DVD), and a memory card can also be used as a removable recording medium. The display 108 displays a cursor, an icon, or a toolbox as well as data such as text, images, and function data. A cathode ray tube (CRT), a thin film transistor (TFT) liquid crystal display, and a plasma display can also be used as the display 108.
The interface 109 is connected to a network 114 such as the Internet via communication lines. The interface 109 is connected to other devices via the network 114. The interface 109 controls input and output of data towards external devices via the network 114 and an internal interface. A modem or a Local Area Network (LAN) adapter can be used as the interface 109.
The keyboard 110 carries out input of data by using keys that are provided for inputting text, numerals, and various types of instructions. A touch panel type input pad or a numeric keypad can also be used as the keyboard 110. The mouse 111 moves the cursor, selects cursor range, moves a window, and changes window size. A trackball or a joystick provided with similar functions can also be used as a pointing device.
The scanner 112 optically reads an image and fetches image data into the delay analysis device. The scanner 112 can also be provided with an optical character recognition (OCR) function. The printer 113 prints image data or text data. A laser printer or an inkjet printer can also be used as the printer 113.
FIG. 2 is a schematic for illustrating contents stored in a circuit element library 200. The circuit element library 200 stores circuit-element-delay distribution data 200-1 through 200-n for each circuit element. The circuit-element-delay distribution data 200-1 through 200-n include a circuit element name and probability density distribution parameters related to clock delay for each circuit element.
The probability density distribution parameters related to clock delay include average delay and standard deviation of the circuit element. For example, a circuit element Ci has average delay mi, a standard deviation σi, and a probability density distribution Pi as a distribution function. The circuit elements include a buffer, an inverter, and a logic gate.
FIG. 3A is a schematic of a target circuit 300 to be analyzed according to the embodiment. A part of the target circuit 300 is extracted and displayed as shown in FIG. 3A. The target circuit 300 shown in FIG. 3A includes circuit elements C1 through C20.
FIG. 3B is a schematic of critical paths that are detected based on a timing analysis result of the target circuit 300. As shown in FIG. 3B, four critical paths CP1 through CP4 are detected based on the timing analysis result of the target circuit 300.
The critical path CP1 passes through the circuit elements C1, C2, C3, and C7. The critical path CP2 passes through the circuit elements C8, C2, C12, and C13. The critical path CP3 passes through the circuit elements C14, C15, C16, and C13. The critical path CP4 passes through the circuit elements C17, C18, C19, and C20.
FIG. 4 is a schematic of a timing list 400 that is the timing analysis result. The timing list 400 shown in FIG. 4 is created as a result of the timing analysis (STA) of the target circuit 300. For each of the circuit paths CP1 through CPz, the timing list 400 includes a description of the circuit elements forming the circuit path, average delay of the circuit elements, and cumulative delay.
For example, the critical path CP1 includes the circuit elements C1, C2, C6, and C7. The circuit element library 200 shown in FIG. 2 is used for the timing analysis. Average delays of the circuit elements C1, C2, C6, and C7 are m1, m2, m6, and m7 respectively.
The cumulative delay of a circuit element is a total of average delays until the circuit element. In the critical paths CP1 through CPz, the cumulative delays of the last circuit element are average delays M1 through Mz of the critical paths CP1 through CPz respectively. For example, the average delay M1, which is a total of the cumulative delays of the critical path CP1 is equal to the total of delays until the last circuit element C7 (m1+m2+m6+m7).
FIG. 5 is a block diagram of a delay analysis device 500 according to the embodiment of the present invention. As shown in FIG. 5, the delay analysis device 500 includes a receiving unit 501, a probability-density-distribution computing unit 502, a detecting unit 503, a generating unit 504, a cumulative-probability-distribution computing unit 505, and a statistical-delay computing unit 506.
The receiving unit 501 receives an input of the timing analysis result of the target circuit 300. Specifically, the receiving unit 501 receives, for example, the timing list 400 shown in FIG. 4. The timing analysis result (the timing list 400) received is output to the probability-density-distribution computing unit 502 or to the detecting unit 503.
The probability-density-distribution computing unit 502 computes a probability density distribution of delay of the critical path having the greatest delay in the timing analysis result. Specifically, the probability-density-distribution computing unit 502 computes, for example, the probability density distribution of delay of the critical path having the greatest cumulative delay among the cumulative delays M1 through Mz from the timing list 400 received by the receiving unit 501. If the cumulative delays M1 through Mz from the timing list 400 are sorted according to the length of time, because the cumulative delay M1 of the critical path CP1 is the greatest, the probability-density-distribution computing unit 502 computes the probability density distribution of delay of the critical path CP1.
A method to compute the probability density distribution is explained next by taking the critical path CP1 as an example. When computing the probability density distribution, the probability-density-distribution computing unit 502 refers to the circuit element library 200. Because the critical path CP1 includes the circuit elements C1, C2, C6, and C7, the probability-density-distribution computing unit 502 computes a standard deviation σ of the critical path CP1 from the standard deviations σ1, σ2, σ6, and σ7 of the circuit elements C1, C2, C6, and C7 respectively by using Equation 1.
σ = σ 1 2 + σ2 2 + σ6 2 + σ7 2 ( 1 )
A probability density distribution PM1 of delay of the critical path CP1 having the greatest cumulative delay can be computed from the average delay M1 and the standard deviation σ. FIG. 6 is a graph of the probability density distribution of delay. As shown in FIG. 6, the probability density distribution PM1 of delay of the critical path CP1 is represented as a normal distribution consisting of the average delay M1 and the standard deviation σ.
Based on the timing analysis result received by the receiving unit 501, the detecting unit 503 detects the critical paths having delays within a predetermined range. Specifically, based on the probability density distribution PM1 that is computed by the probability-density-distribution computing unit 502, for example, the detecting unit 503 detects the critical paths having (average) delays within the predetermined range.
Specifically, as shown in FIG. 6, the detecting unit 503 detects the critical paths CP2 and CP3, having the average delays M2 and M3 respectively, within the range of the probability density distribution PM1 such that the probability density distribution PM1 is between (M1−3σ) and the average delay M1. Probability density distributions PM2 and PM3 of the critical paths CP2 and CP3 respectively are shown in FIG. 6. Moreover, a probability density distribution PMz of the critical path CPz having the average delay Mz that is less than (M1−3σ) of the probability density distribution PM1 is also shown in FIG. 6.
According to logical estimation, even if the target circuit 300 includes one hundred thousand critical paths having cumulative delays that are less than (M1−3σ) of the probability density distribution PM1, the delay of the entire target circuit 300 is affected by less than one percent. Due to this, the influence of statistical factors can be determined by analyzing only the critical paths having average delays within the range of the probability density distribution PM1 such that the probability density distribution PM1 is between (M1−3σ) and the average delay M1.
If the probability density distribution PM1 is not computed by the probability-density-distribution computing unit 502, based on the timing analysis result, the detecting unit 503 detects a predetermined number of critical paths in the descending order of delays beginning from the critical path having the greatest cumulative delay. Specifically, if the target circuit 300 of 0.11μ includes 150,000 critical paths, approximately first 900 critical paths in the timing list 400 (equivalent to 0.6 percent of the total) are included in the range (M1−3σ) of the probability density distribution PM1. Thus, restricting the number of critical paths to first x number of critical paths enables to enhance the speed of the delay analyzing process by a hundred times.
Among the circuit paths that are detected by the detecting unit 503, the generating unit 504 searches the circuit paths which share the circuit elements that form the target circuit 300 and generates partial circuits that form a part of the target circuit 300. FIG. 7 is a schematic of the partial circuits according to the embodiment of the present invention. As shown in FIG. 7, the target circuit 300 includes partial circuits S1 and S2.
The critical path CP1 includes the circuit elements C1, C2, C6, and C7. The generating unit 504 searches the critical path CP2 that shares the circuit element C2. The critical path CP2 includes the circuit elements C8, C2, C12, and C13. The generating unit 504 searches the critical path CP3 that shares the circuit element C13. In other words, the critical paths CP1 and CP2 share the circuit element C2. Similarly, the critical paths CP2 and CP3 share the circuit element C13. Although the critical path CP1 and the critical path CP3 do not share a circuit element, because the critical paths CP1 and CP3 are indirectly related via the critical path CP2, a circuit that includes the critical paths CP1 through CP3 forms the partial circuit SP1. The circuit elements C3 through C5, C9 through C11 are not included in the partial circuit S1.
Although the critical path CP4 includes the circuit elements C17 through C20, because of non existence of a critical path that shares the circuit elements C17 through C20 with the critical path CP4, the critical path CP4 forms the partial circuit S2 by itself.
The cumulative-probability-distribution computing unit 505 computes a cumulative probability distribution of delay for each partial circuit that is generated by the generating unit 504. FIG. 8 is a schematic of the probability density distribution and the cumulative probability distribution of delay. As shown in FIG. 8, a probability density distribution P of delay is integrated to get a cumulative probability distribution Q.
Definitions of “statistical sum (symbol: *)” and “cumulative distribution product (symbol x)” are explained next. For sake of convenience, the definitions are explained by using two delay distributions a and b. The delay distribution a is represented as a probability density function by a probability density distribution Pa. The delay distribution b is represented as a probability density function by a probability density distribution Pb. The delay distribution a is represented as a cumulative probability function by a cumulative probability distribution Qa. The delay distribution b is represented as a cumulative probability function by a cumulative probability distribution Qb.
The statistical sum of the probability density distributions Pa and Pb can be represented by using the following Equation 2.
( Pa * Pb ) ( t ) = x Pa ( t - x ) · Pb ( x ) ( 2 )
The statistical sum of the cumulative probability distributions Qa and Qb can be expressed as:
( Qa * Qb ) ( t ) = x Qa ( t - x ) · Pb ( x ) ( 3 )
The cumulative distribution product of the probability density distributions Pa and Pb can be expressed as:
(Pa×Pb)(t)=Pa(tQb(t)+Pb(tQa(t)  (4)
The cumulative distribution product of the cumulative probability distributions Qa and Qb can be expressed as:
(Qa×Qb)(t)=Qa(tQb(t)  (5)
Specifically, the cumulative-probability-distribution computing unit 505 computes the probability density distribution of delay of each circuit element in the partial circuits. The cumulative-probability-distribution computing unit 505 computes the statistical sum (Equation 2) of the probability density distribution of delay of the circuit elements if the circuit elements are serial, thereby computing the probability density distribution of delay of the serial points. The cumulative-probability-distribution computing unit 505 computes the cumulative distribution product (Equation 4) of the probability density distribution of delay of the circuit elements if the circuit elements are parallel, thereby computing the cumulative distribution product of the parallel points.
The partial circuit S1 includes the circuit element C2 that is shared by the critical paths CP1 and CP2. The partial circuit S1 also includes the circuit element C13 that is shared by the critical path CP2 and the critical path CP3.
Because the circuit elements C1 and C8 are parallel, the cumulative probability distribution of delay of the circuit element C2 can be expressed as Equation 2 and Equation 4 (see Equation 6 below). Q1 indicates the cumulative probability distribution of delay of the circuit element C1, Q2 indicates the cumulative probability distribution of delay of the circuit element C2, and Q8 indicates the cumulative probability distribution of delay of the circuit element C8.
(Q1×Q8)*Q2  (6)
Because the circuit elements C14 through C16 are serial, the cumulative probability distribution of delay of the circuit element C13 can be expressed as Equation 2 (see Expression 7. Q14 indicates the cumulative probability distribution of delay of the circuit element C14, Q15 indicates the cumulative probability distribution of delay of the circuit element C15, and Q16 indicates the cumulative probability distribution of delay of the circuit element C16.
Q14*Q15*Q16  (7)
Thus, a cumulative probability distribution QS1 of delay of the partial circuit S1 can be expressed as Equation 8 below. P1, P2, P6 through P8, and P12 through P16 are probability density distributions of delays of the circuit elements C1, C2, C6 through C8, and C12 through C16 respectively.
QS 1 ( t ) = - x - y [ ( P 1 × P 8 ) * P 2 ] ( x ) · ( Q 14 * Q 15 * Q 16 ) ( t - y ) · Q 12 ( t - x - y ) · ( Q 6 * Q 7 ) ( t - x ) · P 13 ( y ) ( 8 )
Based on Equation 8, it is possible to apply the cumulative distribution product for the probability density distributions of the circuit elements around the shared circuit elements C2 and C13, thereby simplifying the computation process and speeding up the computation process.
Because the partial circuit S2 does not include any shared circuit elements, a cumulative probability distribution QS2 of delay of the partial circuit S2 can be represented by using the following Equation 9. Q17 through Q20 are cumulative probability distributions of delays of the circuit elements C17 through C20 respectively.
QS2=Q17*Q18*Q19*Q20  (9)
Based on the cumulative probability distributions of delays of the critical paths that are detected by the detecting unit 503, the statistical-delay computing unit 506 computes a statistical delay related to the target circuit 300. Specifically, based on the cumulative probability distributions, which are computed by the cumulative-probability-distribution computing unit 505, of the partial circuits, the statistical-delay computing unit 506 computes the statistical delay related to the target circuit 300.
FIG. 9 is a graph of the cumulative probability distribution. Based on Equation 5, a cumulative probability distribution Q related to the target circuit 300 can be represented by using the cumulative probability distribution QS1 of delay of the partial circuit S1 and the cumulative probability distribution QS2 of delay of the partial circuit QS2 according to the following Equation 10.
Q=QS1×QS2  (10)
Based on the cumulative probability distribution Q related to the target circuit 300, the statistical-delay computing unit 506 computes the statistical delay related to the target circuit 300. For example, if m indicates average delay and σ indicates standard deviation in the cumulative probability distribution Q, the statistical delay of m+3σ (99.86 percent) is indicated by td as shown in FIG. 9.
The functions of the receiving unit 501, the probability-density-distribution computing unit 502, the detecting unit 503, the generating unit 504, the cumulative-probability-distribution computing unit 505, and the statistical-delay computing unit 506 can be realized, for example, by using a computer program that is recorded in a recording medium such as the ROM 102, the RAM 103, and the HD 105 shown in FIG. 1, and causing the CPU 101 to execute the computer program. The computer program can also be executed by using the interface 109.
FIG. 10 is a flowchart of a delay analyzing process in the delay analysis device 500. As shown in FIG. 10, the receiving unit 501 awaits input of the timing analysis result (“NO” at step S1001). Upon receiving the timing analysis result (“YES” at step S1001), the detecting unit 503 executes a critical-path detecting process (step S1002). Next, the statistical-delay computing unit 506 executes a statistical-delay computing process (step S1003), thereby completing a series of the delay analyzing process.
FIG. 11 is a flowchart of the critical-path detecting process. As shown in FIG. 11, the detecting unit 503 detects a critical path having the greatest cumulative delay (greatest delay path) (step S1101). Then, the detecting unit 503 computes a probability density distribution of delay of the greatest delay path (step S1102). The detecting unit 503 detects x number of critical paths having cumulative delays within the probability density distribution, and the critical-path detecting process proceeds to step S1003 shown in FIG. 10.
FIG. 12 is a flowchart of the statistical-delay computing process. As shown in FIG. 12, the generating unit 504 executes a partial-circuit generating process (step S1201). Assuming k=1 (step S1202), the cumulative-probability-distribution computing unit 505 computes the cumulative probability distribution of a partial circuit Sk (step S1203).
The statistical-delay computing unit 506 increments k (step S1204) and determines whether k is greater than m (step S1205) where m is the total number of partial circuits Sk. If k is not greater than m (“NO” at step S1205), the statistical-delay computing process returns to step S1203 and the cumulative-probability-distribution computing unit 505 computes the cumulative probability distribution of delay of the partial circuit Sk. If k is greater than m (“YES” at step S1205), the cumulative-probability-distribution computing unit 505 computes the cumulative probability distribution of delay of the target circuit 300 (step S1206), and based on the cumulative probability distribution of delay of the target circuit 300, computes the statistical delay of the target circuit 300 (step S1207).
FIG. 13 is a flowchart of the partial-circuit generating process. As shown in FIG. 13, assuming j=1 and k=0 (step S1301), the generating unit 504 extracts a critical path CPj from x number of critical paths that are detected by the detecting unit 503 (step S1302). The generating unit 504 searches for a critical path (shared critical path) that shares circuit elements with the critical path CPj (step S1303).
If a shared critical path is found (“YES” at step S1304), the generating unit 504 searches for a critical path (shared critical path) that shares circuit elements with the found shared critical path (step S1305), and the partial-circuit generating process returns to step S1304. If a shared critical path is not found (“NO” at step S1304), the generating unit 504 increments k (step S1306) and generates a partial circuit Sk (step S1307). The partial circuit Sk includes the circuit elements that form the critical path CPj and the circuit elements that form the shared critical path.
Then, the generating unit 504 increments j (step S1308), and determines if j is greater than x (step S1309). If j is greater than x (“YES” at step S1309), the generating unit 504 determines whether the critical path CPj is found as a shared critical path (step S1310). If the critical path CPj is found as the shared critical path (“YES” at step S1310), the partial-circuit generating process returns to step S1308, and the generating unit 504 further increments j.
If the critical path CPj is not found as the shared critical path (NO″ at step S1310), the partial-circuit generating process returns to step S1303, and the generating unit 504 searches a critical path (shared critical path) that shares circuit elements with the critical path CPj. If j is not greater than x (NO″ at step 1309), the partial-circuit generating process proceeds to step S1202 shown in FIG. 12.
According to the embodiment described above, a target circuit to be analyzed that has critical paths can be reconfigured as a cluster of partial circuits that include only the circuit elements forming the critical paths. Thus, the circuit elements that are not related to the critical paths are excluded from analysis object, thereby speeding up the analyzing process.
In the above embodiment, the critical paths are detected based on the probability density distribution of the greatest delay path computed by the probability-density-distribution computing unit 502. However, x number of critical paths having cumulative delays within the probability density distribution may be detected only based on the timing list, thereby omitting the computing process by the probability-density-distribution computing unit 502 and speeding up the delay analyzing process.
As described above, with the delay analysis program, the recording medium that stores the delay analysis program, the delay analysis device, and the delay analysis method according to the present invention, circuit delay of a circuit can efficiently and accurately be analyze, thereby reducing the burden on a circuit designer and the designing time.
The delay analysis method explained in the present embodiment can be realized by executing a computer program prepared in advance using a computer such as a personal computer and a workstation. The computer program can be recorded on a computer-readable recording medium, such as a HD, a flexible disk, a CD-ROM, an MO disk, and a DVD, and read out by the computer from the recording medium to be executed. The program can also be a transmission medium that can be distributed via a network such as the Internet.
According to the embodiment described above, circuit delay of a circuit can be efficiently and accurately analyzed, thereby reducing the burden on a circuit designer and the designing time.
Although the invention has been described with respect to a specific embodiment for a complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modifications and alternative constructions that may occur to one skilled in the art that fairly fall within the basic teaching herein set forth.

Claims (12)

1. A computer-readable recording medium that stores therein a computer program for analyzing circuit delay, the computer program making a computer execute:
receiving a result of a timing analysis of a target circuit to be analyzed;
detecting, based on the result, critical paths having delays within a predetermined range; and
computing a statistical delay of the target circuit based on a cumulative probability distribution of the delays of the critical paths.
2. The computer-readable recording medium according to claim 1, wherein the computer program further makes the computer execute
computing a probability density distribution of delay of a critical path that has the greatest delay in the result, wherein
the detecting includes detecting critical paths having delays within computed probability density distribution.
3. The computer-readable recording medium according to claim 1, wherein the detecting includes detecting, based on the result, critical paths ranked higher than a predetermined rank in an amount of delay.
4. The computer-readable recording medium according to claim 1, wherein the computer program further makes the computer execute:
generating a partial circuit that forms a part of the target circuit, by detecting a critical path that shares circuit elements forming the target circuit, from among the critical paths detected at the detecting; and
computing a cumulative probability distribution of delay of generated partial circuit, wherein
the computing a statistical delay includes computing the statistical delay based on the cumulative probability distribution of the generated partial circuit.
5. A delay analysis device for analyzing circuit delay, comprising:
a receiving unit configured to receive a result of a timing analysis of a target circuit to be analyzed;
a detecting unit configured to detect, based on the result, critical paths having delays within a predetermined range; and
a statistical-delay computing unit configured to compute a statistical delay of the target circuit based on a cumulative probability distribution of the delays of the critical paths.
6. The delay analysis device according to claim 5, further comprising
a probability-density-distribution computing unit configured to compute a probability density distribution of delay of a critical path that has the greatest delay in the result, wherein
the detecting unit is configured to detect critical paths having delays within computed probability density distribution.
7. The delay analysis device according to claim 5, wherein the detecting unit is configured to detect, based on the result, critical paths ranked higher than a predetermined rank in an amount of delay.
8. The delay analysis device according to claim 5, further comprising:
a generating unit configured to generate a partial circuit that forms a part of the target circuit, by detecting a critical path that shares circuit elements forming the target circuit, from among the critical paths detected at the detecting; and
a cumulative-probability-distribution computing unit configured to compute a cumulative probability distribution of delay of generated partial circuit, wherein
the statistical-delay computing unit is configured to compute the statistical delay based on the cumulative probability distribution of the generated partial circuit.
9. A delay analysis method of analyzing circuit delay, comprising:
receiving a result of a timing analysis of a target circuit to be analyzed;
detecting, based on the result, critical paths having delays within a predetermined range; and
computing a statistical delay of the target circuit based on a cumulative probability distribution of the delays of the critical paths.
10. The delay analysis method according to claim 9, further comprising
computing a probability density distribution of delay of a critical path that has the greatest delay in the result, wherein
the detecting includes detecting critical paths having delays within computed probability density distribution.
11. The delay analysis method according to claim 9, wherein the detecting includes detecting, based on the result, critical paths ranked higher than a predetermined rank in an amount of delay.
12. The delay analysis method according to claim 9, further comprising:
generating a partial circuit that forms a part of the target circuit, by detecting a critical path that shares circuit elements forming the target circuit, from among the critical paths detected at the detecting; and
computing a cumulative probability distribution of delay of generated partial circuit, wherein
the computing a statistical delay includes computing the statistical delay based on the cumulative probability distribution of the generated partial circuit.
US11/315,173 2005-09-26 2005-12-23 Delay analysis device, delay analysis method, and computer product Expired - Fee Related US7320118B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005-278763 2005-09-26
JP2005278763A JP4275659B2 (en) 2005-09-26 2005-09-26 Delay analysis program, delay analysis apparatus, and delay analysis method

Publications (2)

Publication Number Publication Date
US20070074138A1 US20070074138A1 (en) 2007-03-29
US7320118B2 true US7320118B2 (en) 2008-01-15

Family

ID=37895667

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/315,173 Expired - Fee Related US7320118B2 (en) 2005-09-26 2005-12-23 Delay analysis device, delay analysis method, and computer product

Country Status (2)

Country Link
US (1) US7320118B2 (en)
JP (1) JP4275659B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070150847A1 (en) * 2005-12-26 2007-06-28 Fujitsu Limited Integrated circuit layout device, method thereof and program thereof
US20070204248A1 (en) * 2006-02-28 2007-08-30 Fujitsu Limited Delay analyzing method, delay analyzing apparatus, and computer product
US20080010558A1 (en) * 2006-07-05 2008-01-10 Fujitsu Limited Method of evaluating pessimistic error in statistical static timing analysis
US20090100393A1 (en) * 2007-10-11 2009-04-16 Chandramouli Visweswariah Method and apparatus for incrementally computing criticality and yield gradient
US7557626B1 (en) * 2006-03-02 2009-07-07 Pmc-Sierra, Inc. Systems and methods of reducing power consumption of digital integrated circuits

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4082616B2 (en) * 2005-01-17 2008-04-30 インターナショナル・ビジネス・マシーンズ・コーポレーション Signal propagation path drawing apparatus, drawing method and program thereof
JP4644142B2 (en) * 2006-02-24 2011-03-02 富士通セミコンダクター株式会社 Critical path estimation program, estimation apparatus, estimation method, and integrated circuit design program.
JPWO2008155831A1 (en) * 2007-06-20 2010-08-26 富士通株式会社 Timing analysis apparatus, timing analysis program, and timing analysis method
JP5397083B2 (en) * 2009-08-17 2014-01-22 富士通株式会社 Circuit design support method, circuit design support apparatus, and circuit design support program
JP5381591B2 (en) * 2009-10-05 2014-01-08 富士通株式会社 Delay analysis apparatus, delay analysis method, and delay analysis program
CN108234227B (en) * 2016-12-15 2021-08-20 华为技术有限公司 Delay measurement method and device for network node equipment and network node equipment
US10664555B2 (en) * 2018-06-06 2020-05-26 Sas Institute Inc. Two-stage distributed estimation system
US11301606B1 (en) 2021-05-11 2022-04-12 Windbond Electronics Corp. Counting method for counting the stage number passing through a signal path on a graphical user interface

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5365463A (en) * 1990-12-21 1994-11-15 International Business Machines Corporation Method for evaluating the timing of digital machines with statistical variability in their delays
JPH07334530A (en) 1994-06-03 1995-12-22 Nec Corp Delay minimizing device/method for logic circuit
US20020104065A1 (en) * 2000-11-22 2002-08-01 Matsushita Electric Industrial Co., Ltd. Delay distribution calculation method, circuit evaluation method and false path extraction method
US20040002844A1 (en) * 2002-06-27 2004-01-01 Jess Jochen A.G. System and method for statistical modeling and statistical timing analysis of integrated circuits
US20040025123A1 (en) * 2002-08-01 2004-02-05 Angilivelil Josey G. System and method to facilitate evaluation of integrated circuits through delay testing
JP2004252831A (en) 2003-02-21 2004-09-09 Matsushita Electric Ind Co Ltd LSI statistical delay simulation apparatus and simulation method thereof
US20050066298A1 (en) * 2003-09-19 2005-03-24 International Business Machines Corporation System and method for probabilistic criticality prediction of digital circuits
US6907590B1 (en) * 2001-10-02 2005-06-14 Lsi Logic Corporation Integrated circuit design system and method for reducing and avoiding crosstalk
US20060112158A1 (en) * 2004-11-19 2006-05-25 Ls Logic Corporation Method of estimating a total path delay in an integrated circuit design with stochastically weighted conservatism
US20070089074A1 (en) * 2003-05-30 2007-04-19 Champaka Ramachandran Method and apparatus for automated circuit design
US20070204248A1 (en) * 2006-02-28 2007-08-30 Fujitsu Limited Delay analyzing method, delay analyzing apparatus, and computer product

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5365463A (en) * 1990-12-21 1994-11-15 International Business Machines Corporation Method for evaluating the timing of digital machines with statistical variability in their delays
JPH07334530A (en) 1994-06-03 1995-12-22 Nec Corp Delay minimizing device/method for logic circuit
US20070033554A1 (en) * 2000-11-22 2007-02-08 Matsushita Electric Industrial Co., Ltd. Delay distribution calculation method, circuit evaluation method and false path extraction method
US20020104065A1 (en) * 2000-11-22 2002-08-01 Matsushita Electric Industrial Co., Ltd. Delay distribution calculation method, circuit evaluation method and false path extraction method
US6907590B1 (en) * 2001-10-02 2005-06-14 Lsi Logic Corporation Integrated circuit design system and method for reducing and avoiding crosstalk
US20040002844A1 (en) * 2002-06-27 2004-01-01 Jess Jochen A.G. System and method for statistical modeling and statistical timing analysis of integrated circuits
US20040025123A1 (en) * 2002-08-01 2004-02-05 Angilivelil Josey G. System and method to facilitate evaluation of integrated circuits through delay testing
JP2004252831A (en) 2003-02-21 2004-09-09 Matsushita Electric Ind Co Ltd LSI statistical delay simulation apparatus and simulation method thereof
US20070089074A1 (en) * 2003-05-30 2007-04-19 Champaka Ramachandran Method and apparatus for automated circuit design
US20050066298A1 (en) * 2003-09-19 2005-03-24 International Business Machines Corporation System and method for probabilistic criticality prediction of digital circuits
US7086023B2 (en) * 2003-09-19 2006-08-01 International Business Machines Corporation System and method for probabilistic criticality prediction of digital circuits
US20060112158A1 (en) * 2004-11-19 2006-05-25 Ls Logic Corporation Method of estimating a total path delay in an integrated circuit design with stochastically weighted conservatism
US20070204248A1 (en) * 2006-02-28 2007-08-30 Fujitsu Limited Delay analyzing method, delay analyzing apparatus, and computer product

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070150847A1 (en) * 2005-12-26 2007-06-28 Fujitsu Limited Integrated circuit layout device, method thereof and program thereof
US7424694B2 (en) * 2005-12-26 2008-09-09 Fujitsu Limited Integrated circuit layout device, method thereof and program thereof
US20070204248A1 (en) * 2006-02-28 2007-08-30 Fujitsu Limited Delay analyzing method, delay analyzing apparatus, and computer product
US7516432B2 (en) * 2006-02-28 2009-04-07 Fujitsu Limited Circuit delay analyzing method, circuit delay analyzing apparatus, and computer product
US7557626B1 (en) * 2006-03-02 2009-07-07 Pmc-Sierra, Inc. Systems and methods of reducing power consumption of digital integrated circuits
US20080010558A1 (en) * 2006-07-05 2008-01-10 Fujitsu Limited Method of evaluating pessimistic error in statistical static timing analysis
US7689956B2 (en) * 2006-07-05 2010-03-30 Fujitsu Limited Method of evaluating pessimistic error in statistical static timing analysis
US20090100393A1 (en) * 2007-10-11 2009-04-16 Chandramouli Visweswariah Method and apparatus for incrementally computing criticality and yield gradient
US7861199B2 (en) * 2007-10-11 2010-12-28 International Business Machines Corporation Method and apparatus for incrementally computing criticality and yield gradient

Also Published As

Publication number Publication date
JP2007087342A (en) 2007-04-05
JP4275659B2 (en) 2009-06-10
US20070074138A1 (en) 2007-03-29

Similar Documents

Publication Publication Date Title
US7516432B2 (en) Circuit delay analyzing method, circuit delay analyzing apparatus, and computer product
US7320118B2 (en) Delay analysis device, delay analysis method, and computer product
US20090288050A1 (en) Statistical delay and noise calculation considering cell and interconnect variations
JP2005092885A (en) System and method for statistical timing analysis of digital circuits
US7222319B2 (en) Timing analysis method and apparatus
US8074186B2 (en) Leakage current analyzing apparatus, leakage current analyzing method, and computer product
US8024685B2 (en) Delay analysis support apparatus, delay analysis support method and computer product
US7934182B2 (en) Method and apparatus for supporting delay analysis, and computer product
US8418116B2 (en) Zone-based optimization framework for performing timing and design rule optimization
US7870533B2 (en) Delay analysis apparatus, delay analysis method and computer product
US20050108668A1 (en) Device and method for floorplanning semiconductor integrated circuit
US8942968B2 (en) Analysis support computer product, apparatus, and method
US7653889B2 (en) Method and apparatus for repeat execution of delay analysis in circuit design
US7681161B2 (en) Circuit delay analyzer, circuit delay analyzing method, and computer product
US7308665B2 (en) Method and apparatus for analyzing clock-delay, and computer product
US20060190861A1 (en) Method and apparatus for evaluating coverage of circuit, and computer product
US20060236279A1 (en) Design supporting apparatus, design supporting method, and computer product
US8423944B2 (en) Supporting program, design supporting device and design supporting method
US7552411B2 (en) LSI analysis method, LSI analysis apparatus, and computer product
US8762905B2 (en) Numerical delay model for a technology library cell
JP2010271853A (en) Verification support program, verification support apparatus, and verification support method

Legal Events

Date Code Title Description
AS Assignment

Owner name: FUJITSU LIMITED, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HOMMA, KATSUMI;SHIBUYA, TOSHIYUKI;MATSUOKA, HIDETOSHI;AND OTHERS;REEL/FRAME:017414/0535

Effective date: 20051122

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20200115