US20130283223A1 - Enabling statistical testing using deterministic multi-corner timing analysis - Google Patents
Enabling statistical testing using deterministic multi-corner timing analysis Download PDFInfo
- Publication number
- US20130283223A1 US20130283223A1 US13/454,795 US201213454795A US2013283223A1 US 20130283223 A1 US20130283223 A1 US 20130283223A1 US 201213454795 A US201213454795 A US 201213454795A US 2013283223 A1 US2013283223 A1 US 2013283223A1
- Authority
- US
- United States
- Prior art keywords
- statistical
- timing data
- corner
- sensitivities
- timing
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31725—Timing aspects, e.g. clock distribution, skew, propagation delay
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/08—Probabilistic or stochastic CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
Definitions
- the present invention relates generally to design automation, and relates more particularly to timing analysis for testing of integrated circuit (IC) chips.
- IC chips When IC chips come off the manufacturing line, the chips are tested “at-speed” to ensure that they perform correctly (and to filter out chips that do not perform correctly). In particular, a set of paths is selected, and the set of paths is then tested for each chip in order to identify the chips in which one or more of the selected paths fail timing requirements. Parametric process variation delay defects that affect multiple cell and wire delays are among the most difficult defects to test.
- One way to detect process variation delay defects is through statistical testing, which relies on parameterized statistical timing information provided by a statistical timing analysis engine.
- many chips are designed using deterministic timing. In this case, the correctness of the chip design is verified using static timing analysis of the chip at several process corners.
- the deterministic timing data used here is not provided in a format that is compatible with more advanced statistical testing methodologies. Therefore, the existing deterministic design and test methodologies cannot use statistical testing methods for detecting process variation defects.
- the invention is a method and apparatus for enabling statistical testing using deterministic multi-corner timing analysis.
- One embodiment of a method for obtaining statistical timing data for an integrated circuit chip includes obtaining deterministic multi-corner timing data for the integrated circuit chip and constructing the statistical timing data from the deterministic multi-corner timing data.
- FIG. 1 is a flow diagram illustrating one embodiment of a method for testing a batch of integrated circuit chips, according to the present invention
- FIG. 2 is a graphical representation of a portion of the process variation space for an exemplary integrated circuit chip
- FIG. 3 is a schematic diagram illustrating a portion of an exemplary timing graph for an integrated circuit chip
- FIG. 4 is a flow diagram illustrating one embodiment of a method for reconstructing parameterized statistical timing information from deterministic multi-corner timing analysis data, according to the present invention.
- FIG. 5 is a high-level block diagram of the parameterized statistical timing information reconstruction method that is implemented using a general purpose computing device.
- the present invention is a method and apparatus for enabling statistical testing using deterministic multi-corner timing analysis.
- Embodiments of the invention leverage existing multi-corner timing analysis results to reconstruct accurate and consistent parameterized statistical timing information.
- the reconstruction of the parameterized statistical timing information may be performed in different ways depending on how the multi-corner timing analysis results are obtained.
- the solutions are formulated as very small scale optimization problems that can be efficiently solved. Deterministic multi-corner timing analysis techniques can advantageously utilize the results in order to benefit from the advanced capabilities offered by statistical testing.
- FIG. 1 is a flow diagram illustrating one embodiment of a method 100 for testing a batch of IC chips, according to the present invention. Specifically, the goal of the method 100 is to identify the chips in the batch that are “good” (i.e., pass timing requirements, which may be customer specified requirements) and the chips in the batch that are “bad” (i.e., fail timing requirements).
- the chips in the batch that are “good” (i.e., pass timing requirements, which may be customer specified requirements) and the chips in the batch that are “bad” (i.e., fail timing requirements).
- the method 100 is initialized at step 102 and proceeds to step 104 , where a circuit representing the batch of chips to be tested is acquired.
- step 106 deterministic multi-corner timing data is acquired for the IC chip.
- the deterministic timing information comprises timing information at multiple process corners for the IC chip.
- each process corner represents a combination of specific process parameters (e.g., metal thickness, wire width, transistor threshold voltage, transistor channel length, or the like) at particular values.
- step 108 statistical timing information is reconstructed for the IC chip using the deterministic multi-corner timing data.
- the result of the statistical timing analysis is a set of statistical timing information including, but not limited to, arrival times, required arrival times, and slacks.
- One embodiment of a method for statistical timing analysis using deterministic multi-corner timing information is discussed in more detail with respect to FIG. 2 .
- the statistical timing information is used to select a set of paths for testing the batch of IC chips. Specifically, the set of paths is selected to test the IC chips for parametric process variation delay defects.
- a set of test vectors is generated in accordance with the set of paths selected in step 110 .
- the set of test vectors is generated using an automatic test pattern generation (ATPG) tool that takes the set of paths as an input.
- ATG automatic test pattern generation
- step 114 at speed structural testing (ASST) is performed for the batch of IC chips using the set of test vectors. Each of the IC chips will either pass ASST or fail ASST.
- ASST structural testing
- step 116 the batch of IC chips is sorted into two groups: (1) a group that passes ASST; and (2) a group that fails ASST.
- the IC chips that pass ASST are considered “good” and are typically put into circulation, while the chips that fail ASST are considered “bad” and are typically withheld from circulation.
- the method 100 then terminates in step 118 .
- a goal of the present invention is to enable statistical testing using deterministic multi-corner timing analysis.
- the timing results according to deterministic multi-corner timing analysis are numbers, rather than the distributions that are produced by statistical timing analysis. Thus, one must use the deterministic timing information to reconstruct the parameterized statistical timing information that is required by statistical testing.
- FIG. 2 is a graphical representation of a portion of the process variation space 200 for an exemplary IC chip.
- the process variation space 200 is represented as a box (parallelepiped).
- Each edge of the box represents a range of values for one of three particular process parameters X 1 -X 3 (hereinafter collectively referred to as process parameters X), such as metal thickness, wire width, transistor threshold voltage, transistor channel length, or the like.
- process parameters X such as metal thickness, wire width, transistor threshold voltage, transistor channel length, or the like.
- process parameters X such as metal thickness, wire width, transistor threshold voltage, transistor channel length, or the like.
- each process parameter X provides two corners of the box, where each of the two corners represents an extreme value (e.g., minimum or maximum) for the corresponding process parameter X. It is understood that the proposed methods can be applied to any number of process parameters, however.
- FIG. 2 illustrates only a portion of the process variation space.
- 2 n corners for n process parameters are possible.
- FIG. 3 is a schematic diagram illustrating a portion of an exemplary timing graph 300 for an IC chip.
- the exemplary timing graph includes a plurality of nodes (designated by the letters a-c), which represent the inputs, outputs, and internal nodes of the corresponding IC chip.
- the nodes are connected to each other by timing edges, which represent signal propagation paths between gates or wires.
- FIG. 3 illustrates only one way of modeling a timing graph.
- FIG. 3 additionally provides in tabular form, for the nodes a and c, a portion of the timing information for n+1 process corners (i.e., Corner 0 -Corner n) at these nodes.
- FIG. 3 provides the arrival times (AT 0 -AT n ) and required arrival times (RAT 0 -RAT n ).
- the delay (d 0 -d n ) between nodes a and c is also provided for each of the n+1 corners.
- each node in the timing graph 300 has a corresponding table that provides timing data at each corner of the process variation space. This timing data is deterministic and can be obtained by running deterministic multi-corner timing analysis at n+1 corners of the process variation space as illustrated in FIG. 2 .
- FIG. 4 is a flow diagram illustrating one embodiment of a method 400 for reconstructing parameterized statistical timing information from deterministic multi-corner timing analysis data, according to the present invention.
- the method 400 may be implemented, for example, in accordance with step 208 of the method 200 , described above.
- the method 400 is initialized at step 402 and proceeds to step 404 , where the acquired deterministic multi-corner timing analysis data is represented in statistical parameterized form.
- the statistical parameterized form of the multi-corner timing data may be written as:
- a 1 -a n are sensitivities of the timing quantity (e.g., arrival time, required arrival time, delay, or timing slack) to corresponding process parameters X 1 -X n (i.e., how sensitive the timing quantity is to changes in the corresponding process parameter X)
- a 0 is a constant nominal value (e.g., the mean value of the timing quantity)
- R a is an independently random uncertainty (or uncorrelated random source of variation/uncorrelated sensitivity).
- a given statistical parameterized form as shown in EQN. 1 represents a random variable following a certain statistical distribution, and the given statistical parameterized form may take different values with different probabilities.
- the probability of the given statistical parameterized form taking a value smaller than a specific value can be computed based on its statistical distribution characteristics. Such a specific value is also called the “projected value” for the distribution with that particular probability.
- some typical projected values of interest include the mean value (i.e., the random variable would have a fifty percent probability of being smaller than the mean value) and the 3-sigma value (i.e., the random variable would have 99.87 percent probability of being smaller than the 3-sigma value).
- any user asserted sensitivities are obtained.
- the user asserted sensitivities are useful for taking into account timing variability due to process variation parameters that were not modeled in multi-corner deterministic timing
- any sensitivities a 1 -a n that are not user asserted are derived.
- at least some of the sensitivities are derived from finite differencing of the deterministic multi-corner timing analysis data for the appropriate process corners. For instance, referring back to FIG. 2 , the sensitivity of the process parameter X 1 can be obtained by finite differencing between the extreme values for X 1 (i.e., the values at the process corners c and c 1 ).
- the difference between the arrival times (or other timing quantities) is due to the difference in the process parameter X 1 (i.e., due to ⁇ X 1 ).
- At least some of the sensitivities are user asserted. For instance, a user may assert that an arrival time sensitivity to the independently random uncertainty R a is x percent of the mean (nominal) value of the arrival time.
- a set of sensitivities is considered to be “consistent” if the resultant parameterized values of the timing quantities projected to the process corners are approximately equivalent to the deterministic timing quantities obtained by deterministic multi-corner timing analysis.
- finite differencing there are multiple ways in which one can perform finite differencing, as discussed in greater detail below.
- the statistical parameterized solution will depend on how the multi-corner timing runs are defined at various parameter settings. For instance, some solutions may be exact, while other solutions may be approximated. Moreover, some solutions may be suitable for linear parameterized form, while other solutions may be better suited for nonlinear parameterized form.
- step 410 the statistical parameterized form (as represented in EQN. 1) is solved in accordance with the derived sensitivities, the user asserted sensitivities (if any), and the corner timing values.
- values at the corners are substituted for the corresponding AX variables in EQN. 1, while the derived and user asserted sensitivities are substituted for the corresponding sensitivity variables in EQN. 1.
- the resulting distribution should be consistent with what was timed at the corners and with any user asserted sensitivities.
- the method 400 terminates in step 412 .
- the statistical parameterized solution will depend on how the multi-corner timing runs are defined at various parameter settings.
- some special multi-corner timing circumstances can provide an exact solution. For instance, in one exemplary embodiment, N+1 corner timing data values are given, with each individual processing parameter X having a different value at a base corner (e.g., corner c of FIG. 2 ).
- the correlated sensitivity of the arrival time a i to changes in the processing parameter X i is expressed as
- the uncorrelated sensitivity a r is expressed via user assertion, for example as 0.05*.
- the mean value of a 0 can be obtained by matching the known deterministic timing value d 0 obtained at the base corner as
- a regression-based approach can yield a linear or nonlinear canonical form of the statistical parameterized solution. For instance, in one exemplary embodiment, N+1 corner timing data values are given, with each individual processing parameter X having at least two different values. Since each parameter has been changed at least once, the sensitivities of the arrival times to changes in the parameters are known. In this case, a linear parameterized form of the statistical parameterized solution can be obtained through regression by equating the uncorrelated sensitivity to the regression error. This can be expressed as:
- a nonlinear parameterized form of the statistical parameterized solution can also be obtained through regression by equating the uncorrelated sensitivity to the regression error.
- a bilinear parameterized form can be expressed as:
- the statistical parameterized solution can be formed as an optimization problem.
- the weighted total deviation from the user asserted sensitivities and the corner timing values is minimized according to:
- a k are the unknown sensitivities
- a asserted,k are the known user asserted sensitivities
- a prj,i are the projected timing quantities at the i th process corner
- T mcorner,i are the timing quantities obtained from the deterministic timing analysis performed at the i th process corner.
- the differences between the unknown sensitivities and user asserted sensitivities are measured by some mathematical norm (such as the 2-norm) represented by ⁇ . ⁇ ; the same description applies to the differences between the projected timing quantities and the timing quantities obtained from deterministic timing analysis.
- w assertion and w corner are weighting coefficients that can be user-specified.
- the total deviation from the multi-corner timing values with all non-user asserted sensitivities is minimized according to:
- the disclosed techniques allow one to construct parameterized statistical timing information that is consistent with available multi-corner timing results from a deterministic static timing analysis.
- one can obtain all timing quantities e.g., arrival times, required arrival times, slacks, and the like
- the ability to reconstruct the parameterized statistical timing information allows one to utilize statistical testing methodologies, statistical optimization, statistical synthesis, and parametric yield analysis for designs that use conventional multi-corner deterministic timing.
- the use of more advanced statistical testing methodologies results in improved design quality (e.g., in terms of testing, robustness, and the like).
- FIG. 5 is a high-level block diagram of the parameterized statistical timing information reconstruction method that is implemented using a general purpose computing device 500 .
- a general purpose computing device 500 comprises a processor 502 , a memory 504 , a reconstruction module 505 and various input/output (I/O) devices 506 such as a display, a keyboard, a mouse, a stylus, a wireless network access card, and the like.
- I/O devices 506 such as a display, a keyboard, a mouse, a stylus, a wireless network access card, and the like.
- at least one I/O device is a storage device (e.g., a disk drive, an optical disk drive, a floppy disk drive, a path selection tool, and/or a test pattern generation tool).
- the reconstruction module 505 can be implemented as a physical device or subsystem that is coupled to a processor through a communication channel.
- the reconstruction module 505 can be represented by one or more software applications (or even a combination of software and hardware, e.g., using Application Specific Integrated Circuits (ASIC)), where the software is loaded from a storage medium (e.g., I/O devices 506 ) and operated by the processor 502 in the memory 504 of the general purpose computing device 500 .
- ASIC Application Specific Integrated Circuits
- the reconstruction module 505 for reconstructing parameterized statistical timing information from deterministic multi-corner timing analysis data can be stored on a computer readable storage device (e.g., RAM, magnetic or optical drive or diskette, and the like).
- one or more steps of the methods described herein may include a storing, displaying and/or outputting step as required for a particular application.
- any data, records, fields, and/or intermediate results discussed in the methods can be stored, displayed, and/or outputted to another device as required for a particular application.
- steps or blocks in the accompanying Figures that recite a determining operation or involve a decision do not necessarily require that both branches of the determining operation be practiced. In other words, one of the branches of the determining operation can be deemed as an optional step.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
Description
- The present invention relates generally to design automation, and relates more particularly to timing analysis for testing of integrated circuit (IC) chips.
- When IC chips come off the manufacturing line, the chips are tested “at-speed” to ensure that they perform correctly (and to filter out chips that do not perform correctly). In particular, a set of paths is selected, and the set of paths is then tested for each chip in order to identify the chips in which one or more of the selected paths fail timing requirements. Parametric process variation delay defects that affect multiple cell and wire delays are among the most difficult defects to test.
- One way to detect process variation delay defects is through statistical testing, which relies on parameterized statistical timing information provided by a statistical timing analysis engine. However, many chips are designed using deterministic timing. In this case, the correctness of the chip design is verified using static timing analysis of the chip at several process corners. The deterministic timing data used here is not provided in a format that is compatible with more advanced statistical testing methodologies. Therefore, the existing deterministic design and test methodologies cannot use statistical testing methods for detecting process variation defects.
- In one embodiment, the invention is a method and apparatus for enabling statistical testing using deterministic multi-corner timing analysis. One embodiment of a method for obtaining statistical timing data for an integrated circuit chip includes obtaining deterministic multi-corner timing data for the integrated circuit chip and constructing the statistical timing data from the deterministic multi-corner timing data.
- So that the manner in which the above recited features of the present invention can be understood in detail, a more particular description of the invention may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of this invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.
-
FIG. 1 is a flow diagram illustrating one embodiment of a method for testing a batch of integrated circuit chips, according to the present invention; -
FIG. 2 is a graphical representation of a portion of the process variation space for an exemplary integrated circuit chip; -
FIG. 3 is a schematic diagram illustrating a portion of an exemplary timing graph for an integrated circuit chip; -
FIG. 4 is a flow diagram illustrating one embodiment of a method for reconstructing parameterized statistical timing information from deterministic multi-corner timing analysis data, according to the present invention; and -
FIG. 5 is a high-level block diagram of the parameterized statistical timing information reconstruction method that is implemented using a general purpose computing device. - In one embodiment, the present invention is a method and apparatus for enabling statistical testing using deterministic multi-corner timing analysis. Embodiments of the invention leverage existing multi-corner timing analysis results to reconstruct accurate and consistent parameterized statistical timing information. The reconstruction of the parameterized statistical timing information may be performed in different ways depending on how the multi-corner timing analysis results are obtained. In some embodiments, the solutions are formulated as very small scale optimization problems that can be efficiently solved. Deterministic multi-corner timing analysis techniques can advantageously utilize the results in order to benefit from the advanced capabilities offered by statistical testing.
-
FIG. 1 is a flow diagram illustrating one embodiment of amethod 100 for testing a batch of IC chips, according to the present invention. Specifically, the goal of themethod 100 is to identify the chips in the batch that are “good” (i.e., pass timing requirements, which may be customer specified requirements) and the chips in the batch that are “bad” (i.e., fail timing requirements). - The
method 100 is initialized atstep 102 and proceeds tostep 104, where a circuit representing the batch of chips to be tested is acquired. Instep 106, deterministic multi-corner timing data is acquired for the IC chip. The deterministic timing information comprises timing information at multiple process corners for the IC chip. In particular, each process corner represents a combination of specific process parameters (e.g., metal thickness, wire width, transistor threshold voltage, transistor channel length, or the like) at particular values. - In
step 108, statistical timing information is reconstructed for the IC chip using the deterministic multi-corner timing data. The result of the statistical timing analysis is a set of statistical timing information including, but not limited to, arrival times, required arrival times, and slacks. One embodiment of a method for statistical timing analysis using deterministic multi-corner timing information is discussed in more detail with respect toFIG. 2 . - In
step 110, the statistical timing information is used to select a set of paths for testing the batch of IC chips. Specifically, the set of paths is selected to test the IC chips for parametric process variation delay defects. - In
step 112, a set of test vectors is generated in accordance with the set of paths selected instep 110. In one embodiment, the set of test vectors is generated using an automatic test pattern generation (ATPG) tool that takes the set of paths as an input. - In
step 114, at speed structural testing (ASST) is performed for the batch of IC chips using the set of test vectors. Each of the IC chips will either pass ASST or fail ASST. - In
step 116, the batch of IC chips is sorted into two groups: (1) a group that passes ASST; and (2) a group that fails ASST. The IC chips that pass ASST are considered “good” and are typically put into circulation, while the chips that fail ASST are considered “bad” and are typically withheld from circulation. - The
method 100 then terminates instep 118. - As discussed above, a goal of the present invention is to enable statistical testing using deterministic multi-corner timing analysis. The timing results according to deterministic multi-corner timing analysis are numbers, rather than the distributions that are produced by statistical timing analysis. Thus, one must use the deterministic timing information to reconstruct the parameterized statistical timing information that is required by statistical testing.
-
FIG. 2 is a graphical representation of a portion of theprocess variation space 200 for an exemplary IC chip. As illustrated, theprocess variation space 200 is represented as a box (parallelepiped). Each edge of the box represents a range of values for one of three particular process parameters X1-X3 (hereinafter collectively referred to as process parameters X), such as metal thickness, wire width, transistor threshold voltage, transistor channel length, or the like. Thus, each process parameter X provides two corners of the box, where each of the two corners represents an extreme value (e.g., minimum or maximum) for the corresponding process parameter X. It is understood that the proposed methods can be applied to any number of process parameters, however. - More specifically, three edges representing three process parameters X meet at each corner. Thus, each combination of the extreme values of the process parameters X has 23=8 possibilities (yielding the eight corners of the box). As mentioned above, however,
FIG. 2 illustrates only a portion of the process variation space. Thus, in reality, 2n corners for n process parameters are possible. -
FIG. 3 is a schematic diagram illustrating a portion of anexemplary timing graph 300 for an IC chip. The exemplary timing graph includes a plurality of nodes (designated by the letters a-c), which represent the inputs, outputs, and internal nodes of the corresponding IC chip. The nodes are connected to each other by timing edges, which represent signal propagation paths between gates or wires. Those skilled in the art will recognize thatFIG. 3 illustrates only one way of modeling a timing graph. -
FIG. 3 additionally provides in tabular form, for the nodes a and c, a portion of the timing information for n+1 process corners (i.e., Corner 0-Corner n) at these nodes. Specifically,FIG. 3 provides the arrival times (AT0-ATn) and required arrival times (RAT0-RATn). The delay (d0-dn) between nodes a and c is also provided for each of the n+1 corners. Thus, each node in thetiming graph 300 has a corresponding table that provides timing data at each corner of the process variation space. This timing data is deterministic and can be obtained by running deterministic multi-corner timing analysis at n+1 corners of the process variation space as illustrated inFIG. 2 . -
FIG. 4 is a flow diagram illustrating one embodiment of amethod 400 for reconstructing parameterized statistical timing information from deterministic multi-corner timing analysis data, according to the present invention. Themethod 400 may be implemented, for example, in accordance with step 208 of themethod 200, described above. - The
method 400 is initialized atstep 402 and proceeds to step 404, where the acquired deterministic multi-corner timing analysis data is represented in statistical parameterized form. In one embodiment, the statistical parameterized form of the multi-corner timing data may be written as: -
a 0 +a 1 ΔX 1 +a 2 ΔX 2 + . . . +a n ΔX n +a n+1 ΔR a (EQN. 1) - where a1-an are sensitivities of the timing quantity (e.g., arrival time, required arrival time, delay, or timing slack) to corresponding process parameters X1-Xn (i.e., how sensitive the timing quantity is to changes in the corresponding process parameter X), a0 is a constant nominal value (e.g., the mean value of the timing quantity), and Ra is an independently random uncertainty (or uncorrelated random source of variation/uncorrelated sensitivity).
- A given statistical parameterized form as shown in EQN. 1 represents a random variable following a certain statistical distribution, and the given statistical parameterized form may take different values with different probabilities. The probability of the given statistical parameterized form taking a value smaller than a specific value can be computed based on its statistical distribution characteristics. Such a specific value is also called the “projected value” for the distribution with that particular probability. For a Gaussian distribution, for example, some typical projected values of interest include the mean value (i.e., the random variable would have a fifty percent probability of being smaller than the mean value) and the 3-sigma value (i.e., the random variable would have 99.87 percent probability of being smaller than the 3-sigma value).
- In
step 406, any user asserted sensitivities are obtained. The user asserted sensitivities are useful for taking into account timing variability due to process variation parameters that were not modeled in multi-corner deterministic timing Instep 408, any sensitivities a1-an that are not user asserted are derived. In one embodiment, at least some of the sensitivities are derived from finite differencing of the deterministic multi-corner timing analysis data for the appropriate process corners. For instance, referring back toFIG. 2 , the sensitivity of the process parameter X1 can be obtained by finite differencing between the extreme values for X1 (i.e., the values at the process corners c and c1). If the arrival time (or other timing quantity) at one process corner is known, and then the arrival time (or other timing quantity) at the opposite process corner is also known, the difference between the arrival times (or other timing quantities) is due to the difference in the process parameter X1 (i.e., due to ΔX1). - In another embodiment, at least some of the sensitivities are user asserted. For instance, a user may assert that an arrival time sensitivity to the independently random uncertainty Ra is x percent of the mean (nominal) value of the arrival time.
- Given a number L of corner timing information values and a number K of user asserted sensitivities for a number N of process parameters, there are multiple ways in which one can derive a set of consistent sensitivities for all timing quantities. Within the context of the present invention, a set of sensitivities is considered to be “consistent” if the resultant parameterized values of the timing quantities projected to the process corners are approximately equivalent to the deterministic timing quantities obtained by deterministic multi-corner timing analysis. For instance, there are multiple ways in which one can perform finite differencing, as discussed in greater detail below. However, it is important to verify that the projected timing from the reconstructed statistical timing information is consistent with the analyzed corners. That is, if values at the corners are substituted for the ΔX variables in EQN. 1, the resulting distribution should be consistent with what was timed at the corners. Moreover, the resulting distribution should be consistent with any user asserted sensitivities.
- The statistical parameterized solution will depend on how the multi-corner timing runs are defined at various parameter settings. For instance, some solutions may be exact, while other solutions may be approximated. Moreover, some solutions may be suitable for linear parameterized form, while other solutions may be better suited for nonlinear parameterized form.
- In
step 410, the statistical parameterized form (as represented in EQN. 1) is solved in accordance with the derived sensitivities, the user asserted sensitivities (if any), and the corner timing values. In one embodiment, values at the corners are substituted for the corresponding AX variables in EQN. 1, while the derived and user asserted sensitivities are substituted for the corresponding sensitivity variables in EQN. 1. As discussed above, the resulting distribution should be consistent with what was timed at the corners and with any user asserted sensitivities. - The
method 400 terminates in step 412. - As discussed above, the statistical parameterized solution will depend on how the multi-corner timing runs are defined at various parameter settings. In one embodiment, some special multi-corner timing circumstances can provide an exact solution. For instance, in one exemplary embodiment, N+1 corner timing data values are given, with each individual processing parameter X having a different value at a base corner (e.g., corner c of
FIG. 2 ). In this case, the correlated sensitivity of the arrival time ai to changes in the processing parameter Xi is expressed as -
- where di-d0 is the change in arrival time (Δd).
- Additionally, the uncorrelated sensitivity ar is expressed via user assertion, for example as 0.05*. The mean value of a0 can be obtained by matching the known deterministic timing value d0 obtained at the base corner as
-
- where X0,i are extreme values that jointly determine the base process corner, and ΔXd can be chosen as a value of three for the typical three-sigma variation of the independent random variation. This yields a linear canonical form of the statistical parameterized solution as:
-
- where ar=0.05*a0.
- In another embodiment, a regression-based approach can yield a linear or nonlinear canonical form of the statistical parameterized solution. For instance, in one exemplary embodiment, N+1 corner timing data values are given, with each individual processing parameter X having at least two different values. Since each parameter has been changed at least once, the sensitivities of the arrival times to changes in the parameters are known. In this case, a linear parameterized form of the statistical parameterized solution can be obtained through regression by equating the uncorrelated sensitivity to the regression error. This can be expressed as:
-
- A nonlinear parameterized form of the statistical parameterized solution can also be obtained through regression by equating the uncorrelated sensitivity to the regression error. For example, a bilinear parameterized form can be expressed as:
-
- In yet another embodiment, the statistical parameterized solution can be formed as an optimization problem. In one particular embodiment, the weighted total deviation from the user asserted sensitivities and the corner timing values is minimized according to:
-
- where ak are the unknown sensitivities, aasserted,k are the known user asserted sensitivities, Aprj,i are the projected timing quantities at the ith process corner, and Tmcorner,i are the timing quantities obtained from the deterministic timing analysis performed at the ith process corner. The differences between the unknown sensitivities and user asserted sensitivities are measured by some mathematical norm (such as the 2-norm) represented by ∥.∥; the same description applies to the differences between the projected timing quantities and the timing quantities obtained from deterministic timing analysis. wassertion and wcorner are weighting coefficients that can be user-specified.
- In another embodiment, the total deviation from the multi-corner timing values with all non-user asserted sensitivities is minimized according to:
-
- Both EQN. 6 and EQN. 7 are small optimization problems that can be solved efficiently, since the number of unknowns is small.
- The disclosed techniques allow one to construct parameterized statistical timing information that is consistent with available multi-corner timing results from a deterministic static timing analysis. In particular, one can obtain all timing quantities (e.g., arrival times, required arrival times, slacks, and the like) in both late and early models and in parameterized form. The ability to reconstruct the parameterized statistical timing information allows one to utilize statistical testing methodologies, statistical optimization, statistical synthesis, and parametric yield analysis for designs that use conventional multi-corner deterministic timing. The use of more advanced statistical testing methodologies results in improved design quality (e.g., in terms of testing, robustness, and the like).
-
FIG. 5 is a high-level block diagram of the parameterized statistical timing information reconstruction method that is implemented using a generalpurpose computing device 500. In one embodiment, a generalpurpose computing device 500 comprises aprocessor 502, amemory 504, areconstruction module 505 and various input/output (I/O)devices 506 such as a display, a keyboard, a mouse, a stylus, a wireless network access card, and the like. In one embodiment, at least one I/O device is a storage device (e.g., a disk drive, an optical disk drive, a floppy disk drive, a path selection tool, and/or a test pattern generation tool). It should be understood that thereconstruction module 505 can be implemented as a physical device or subsystem that is coupled to a processor through a communication channel. - Alternatively, the
reconstruction module 505 can be represented by one or more software applications (or even a combination of software and hardware, e.g., using Application Specific Integrated Circuits (ASIC)), where the software is loaded from a storage medium (e.g., I/O devices 506) and operated by theprocessor 502 in thememory 504 of the generalpurpose computing device 500. Thus, in one embodiment, thereconstruction module 505 for reconstructing parameterized statistical timing information from deterministic multi-corner timing analysis data, as described herein with reference to the preceding Figures, can be stored on a computer readable storage device (e.g., RAM, magnetic or optical drive or diskette, and the like). - It should be noted that although not explicitly specified, one or more steps of the methods described herein may include a storing, displaying and/or outputting step as required for a particular application. In other words, any data, records, fields, and/or intermediate results discussed in the methods can be stored, displayed, and/or outputted to another device as required for a particular application. Furthermore, steps or blocks in the accompanying Figures that recite a determining operation or involve a decision, do not necessarily require that both branches of the determining operation be practiced. In other words, one of the branches of the determining operation can be deemed as an optional step.
- While the foregoing is directed to embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof. Various embodiments presented herein, or portions thereof, may be combined to create further embodiments. Furthermore, terms such as top, side, bottom, front, back, and the like are relative or positional terms and are used with respect to the exemplary embodiments illustrated in the figures, and as such these terms may be interchangeable.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/454,795 US8560994B1 (en) | 2012-04-24 | 2012-04-24 | Enabling statistical testing using deterministic multi-corner timing analysis |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/454,795 US8560994B1 (en) | 2012-04-24 | 2012-04-24 | Enabling statistical testing using deterministic multi-corner timing analysis |
Publications (2)
Publication Number | Publication Date |
---|---|
US8560994B1 US8560994B1 (en) | 2013-10-15 |
US20130283223A1 true US20130283223A1 (en) | 2013-10-24 |
Family
ID=49321642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/454,795 Expired - Fee Related US8560994B1 (en) | 2012-04-24 | 2012-04-24 | Enabling statistical testing using deterministic multi-corner timing analysis |
Country Status (1)
Country | Link |
---|---|
US (1) | US8560994B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9519747B1 (en) | 2015-06-26 | 2016-12-13 | Globalfoundries Inc. | Dynamic and adaptive timing sensitivity during static timing analysis using look-up table |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9501609B1 (en) | 2015-12-02 | 2016-11-22 | International Business Machines Corporation | Selection of corners and/or margins using statistical static timing analysis of an integrated circuit |
US10796054B2 (en) | 2018-02-02 | 2020-10-06 | Samsung Electronics Co., Ltd. | Chip design method of optimizing circuit performance according to change in PVT operation conditions |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7092838B1 (en) * | 2004-06-04 | 2006-08-15 | Sierra Design Automation, Inc. | Method and apparatus for the analysis and optimization of variability in nanometer technologies |
US7487486B2 (en) | 2004-06-17 | 2009-02-03 | Mustafa Celik | Defining statistical sensitivity for timing optimization of logic circuits with large-scale process and environmental variations |
US7487475B1 (en) | 2004-10-15 | 2009-02-03 | Cadence Design Systems, Inc. | Systems, methods, and apparatus to perform statistical static timing analysis |
US7401307B2 (en) | 2004-11-03 | 2008-07-15 | International Business Machines Corporation | Slack sensitivity to parameter variation based timing analysis |
US7689954B2 (en) | 2006-05-25 | 2010-03-30 | Wisconsin Alumni Research Foundation | Efficient statistical timing analysis of circuits |
US7761826B1 (en) * | 2006-07-24 | 2010-07-20 | Cadence Design Systems, Inc. | Method and system for crosstalk analysis |
US7594210B2 (en) | 2006-11-16 | 2009-09-22 | Clk Design Automation, Inc. | Timing variation characterization |
US7555740B2 (en) | 2007-02-27 | 2009-06-30 | International Business Machines Corporation | Method and system for evaluating statistical sensitivity credit in path-based hybrid multi-corner static timing analysis |
US7620921B2 (en) | 2007-04-27 | 2009-11-17 | International Business Machines Corporation | IC chip at-functional-speed testing with process coverage evaluation |
US7873926B2 (en) | 2008-03-31 | 2011-01-18 | International Business Machines Corporation | Methods for practical worst test definition and debug during block based statistical static timing analysis |
US8086976B2 (en) | 2008-05-15 | 2011-12-27 | International Business Machines Corporation | Methods for statistical slew propagation during block-based statistical static timing analysis |
US8141012B2 (en) * | 2009-08-27 | 2012-03-20 | International Business Machines Corporation | Timing closure on multiple selective corners in a single statistical timing run |
US8418107B2 (en) * | 2010-11-10 | 2013-04-09 | International Business Machines Corporation | Performing statistical timing analysis with non-separable statistical and deterministic variations |
-
2012
- 2012-04-24 US US13/454,795 patent/US8560994B1/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9519747B1 (en) | 2015-06-26 | 2016-12-13 | Globalfoundries Inc. | Dynamic and adaptive timing sensitivity during static timing analysis using look-up table |
Also Published As
Publication number | Publication date |
---|---|
US8560994B1 (en) | 2013-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI828676B (en) | Methods for integrated circuit profiling and anomaly detection and relevant computer program products | |
JP5090521B2 (en) | Test method at functional speed of IC chip by process coverage evaluation | |
US7856607B2 (en) | System and method for generating at-speed structural tests to improve process and environmental parameter space coverage | |
US10067186B2 (en) | Method and apparatus for generating featured test pattern | |
CN106291324B (en) | A kind of on piece differential delay measuring system and recycling integrated circuit recognition methods | |
US8683409B2 (en) | Performing statistical timing analysis with non-separable statistical and deterministic variations | |
JPH0713974A (en) | Method and apparatus for simulation of performance of digital machine | |
US20050182587A1 (en) | Circuit quality evaluation method and apparatus, circuit quality evaluation program, and medium having the program recorded thereon | |
US7873925B2 (en) | Method and apparatus for computing test margins for at-speed testing | |
Barragan et al. | A procedure for alternate test feature design and selection | |
US20120210284A1 (en) | Method and Apparatus for Characterizing and Reducing Proximity Effect on Cell Electrical Characteristics | |
Appello et al. | System-level test: State of the art and challenges | |
US8560994B1 (en) | Enabling statistical testing using deterministic multi-corner timing analysis | |
Yelten et al. | Scalable and efficient analog parametric fault identification | |
US20090235217A1 (en) | Method to identify timing violations outside of manufacturing specification limits | |
CN103140767A (en) | High throughput semiconductor device testing | |
US20110296369A1 (en) | Operation analyzing method, operation analyzing apparatus, operation analyzing program, and operation analyzing system for semiconductor integrated circuits | |
US10235484B2 (en) | Automatic timing-sensitive circuit extraction | |
Sauer et al. | On the quality of test vectors for post-silicon characterization | |
US20210132147A1 (en) | Test pattern generating method, test pattern generating device and fault model generating method | |
JP4536647B2 (en) | Timing analysis apparatus and program thereof | |
Chen et al. | A non-intrusive and accurate inspection method for segment delay variabilities | |
US20050187751A1 (en) | Evaluation system, evaluation method and evaluation program using device simulation and circuit simulation | |
Gomes et al. | Modular fault simulation of mixed signal circuits with fault ranking by severity | |
CN112685800A (en) | Hardware Trojan horse detection method based on time window self-comparison |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AGRAWAL, BHAVNA;KUNG, DAVID S.;XIONG, JINJUN;AND OTHERS;SIGNING DATES FROM 20120418 TO 20120419;REEL/FRAME:029794/0886 |
|
AS | Assignment |
Owner name: GLOBALFOUNDRIES U.S. 2 LLC, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:036550/0001 Effective date: 20150629 |
|
AS | Assignment |
Owner name: GLOBALFOUNDRIES INC., CAYMAN ISLANDS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GLOBALFOUNDRIES U.S. 2 LLC;GLOBALFOUNDRIES U.S. INC.;REEL/FRAME:036779/0001 Effective date: 20150910 |
|
REMI | Maintenance fee reminder mailed | ||
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.) |
|
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: 20171015 |
|
AS | Assignment |
Owner name: GLOBALFOUNDRIES U.S. INC., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION;REEL/FRAME:056987/0001 Effective date: 20201117 |