US6732339B2 - Cell-based noise characterization and evaluation - Google Patents

Cell-based noise characterization and evaluation Download PDF

Info

Publication number
US6732339B2
US6732339B2 US10/300,549 US30054902A US6732339B2 US 6732339 B2 US6732339 B2 US 6732339B2 US 30054902 A US30054902 A US 30054902A US 6732339 B2 US6732339 B2 US 6732339B2
Authority
US
United States
Prior art keywords
noise
cell
noise pulse
output
dimensional
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 - Lifetime, expires
Application number
US10/300,549
Other versions
US20030079191A1 (en
Inventor
Nagaraj N. Savithri
John Apostol
Anthony M.-Hill
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Priority to US10/300,549 priority Critical patent/US6732339B2/en
Publication of US20030079191A1 publication Critical patent/US20030079191A1/en
Application granted granted Critical
Publication of US6732339B2 publication Critical patent/US6732339B2/en
Adjusted expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods

Definitions

  • This invention relates to methods for designing and fabricating digital circuits, and in particular to simulation and analysis of the circuit design in order to detect and eliminate crosstalk induced by capacitive coupling.
  • a trial design is first analyzed by simulating the operation of the proposed circuits that are to be included within the integrated circuit. Simulation is used to verify correct functional operation of the circuit, as well as to verify correct dynamic timing operation.
  • Simulation is used to verify correct functional operation of the circuit, as well as to verify correct dynamic timing operation.
  • SOC system on chip
  • IC integrated circuit
  • SOC designs have CPU cores, memory blocks, logic blocks and possibly analog design blocks, all on one chip.
  • Dynamic simulation of large designs with millions of parasitics is computationally prohibitive; in order reduce computational loads, static noise verification is used. Magnitude of the parasitic coupling, behavior of victim drivers during noise injection and dependency between factors like timing and parasitic coupling are some of key challenges in noise verification.
  • SPICE SPICE
  • each signal line has capacitance which is distributed throughout the line; and each signal line also has a resistance which is distributed throughout the line.
  • each signal line needs to be represented by a RC ladder circuit which has about two dozen nodes; with each node having a resistor to the next node, a capacitor to ground, and a capacitor to any adjacent signal line.
  • Y is an n-x-n matrix
  • V is an n ⁇ 1 matrix
  • I is an n ⁇ 1 matrix; where n is the number of nodes in the circuit.
  • n is (24 nodes per net) ⁇ (21 nets) or 504.
  • the SPICE program For each increment in time the SPICE program makes about five iterations before it converges on a solution. This iterative process is repeated for each of the subsequent time increments.
  • Using a current state of the art workstation it takes about ten minutes to perform a SPICE simulation of a single circuit which has 500 nodes and for which a solution is sought for 1,000 time increments.
  • Such a circuit represents a typical victim net with twenty aggressor nets. Consequently, to simulate a chip which has 40,000 nets would take about 400,000 minutes, or more than 270 days to complete!
  • a primary object of the present invention is to provide a method of designing circuit chips by which the above problems are overcome.
  • a methodology is provided that is a practical approach to full-chip crosstalk noise verification.
  • a multi-dimensional noise lookup table is formed for a cell used within the IC, wherein the multi-dimensional noise table relates a set of input noise pulse characteristics and a-set of output loading characteristics to an output noise pulse characteristic of the cell.
  • a noise pulse on an input to an instantiation of a cell is determined and then characterized.
  • An output loading characteristic of the cell is also made.
  • a prediction of whether the instantiation of cell will propagate the noise pulse is made by selecting an output noise pulse characteristic from the multi-dimensional noise table corresponding to the noise pulse characteristic and to the output loading characteristic. Other instantiations of the cell are evaluated using the same multi-dimensional noise table.
  • a prediction of whether each instantiation of cell will propagate the noise pulse is made by selecting an output noise pulse characteristic from the multi-dimensional noise table corresponding to the noise pulse characteristic and to the output loading characteristic associated with each instantiation of the cell.
  • an integrated circuit is fabricated according to a modified trial layout.
  • a computer system which as a mass storage device that holds a design program for designing an integrated circuit according to the above described method.
  • FIG. 1 illustrates a schmoo diagram depicting a crosstalk induced failure
  • FIG. 2 is an illustration of noise characterization of a cell, according to an aspect of the present invention.
  • FIG. 3 is a conceptual flow chart of a cell based noise characterization scheme for verification of a circuit layout of an integrated circuit that incorporates a multi-dimensional noise look-up table, according to an aspect of the present invention
  • FIG. 4A is an example of cell, being a three input AND gate
  • FIG. 4B is an example of a set of sensitization vectors used to stimulate the cell of FIG. 4A in order to create a multi-dimensional noise look-up table for the flow chart of FIG. 3;
  • FIG. 5 is a timing diagram illustrating an example input noise pulse that is correlated with the sensitization vectors of FIG. 4B;
  • FIGS. 6A, 6 B, and 6 C are schematic diagrams illustrating examples of load models that may be used to produce the multi-dimensional noise look-up table of FIG. 3;
  • FIG. 7 is an illustration of a minimum-region network in which crosstalk induced noise is analyzed using the multi-dimensional noise look-up table scheme of FIG. 3;
  • FIG. 8A illustrates a conceptual block diagram of a crosstalk verification methodology, according to aspects of the present invention
  • FIG. 8B is a process chart illustrating the methodology of FIG. 8A in more detail
  • FIG. 9 is an illustration of a computer system that contains a design program for designing integrated circuits incorporating aspects of the present invention.
  • FIG. 10 is a block diagram of the computer of FIG. 9.
  • FIG. 11 is a block diagram of an integrated circuit that is designed and fabricated according to aspects of the present invention.
  • interconnect parasitic coupling has two effects, at least, that are important in the design of an integrated circuit.
  • a first effect is on the delay due to different switching patterns and this affects the performance of the chip besides potential race conditions.
  • the second effect is induced glitches or noise that could cause functional failure by switching logic-states.
  • a method for improving simulation results in view of the second effect is described co-assigned application Ser. No. 09/608,309 Method for Verification of Crosstalk Noise in a CMOS Design and is incorporated herein by reference.
  • Methods for improving simulation results in view of the first effect is disclosed in co-assigned application Ser. No. 09/240,993 entitled Method for Analyzing Circuit Delays Caused by Capacitive Coupling in Digital Circuits and is incorporated herein by reference. Methods described in Ser. No. 09/608,309 and Ser. No. 09/240,993 may be advantageously combined with methods described herein.
  • FIG. 1 illustrates a schmoo diagram (plot of operating voltage vs. frequency of operation) depicting how a crosstalk induced failure could manifest in practice in the operation of an integrated circuit (IC).
  • IC integrated circuit
  • induced noise could cause an operational failure of the IC at certain frequencies and voltages, such as in region 300 , whereas the IC could operate correctly at neighboring frequencies outside of region 300 .
  • This could be a hard problem to detect during product qualification as a schmoo is generally created at discrete frequencies.
  • a complete set of test vectors used to exercise the IC may not be complete during product qualification, which could leave room for failure if crosstalk noise is not detected during the design phase.
  • lumped refers to a net or portion of a net where the resistance and parasitics inductance of the net are not modeled. In this case the capa- citance would be lumped on a single node that would model a net or portion of a net. net a collection of electrically connected interconnect lines. node an electrical junction where one or more resistors/inductors are joined. Nodes may be added to a net when resistors/ inductors are used to model the parasitics of the inter- connect lines making up a net. victim a net that is being affected by transitions on a nearby aggressor net. aggressor a net that is affecting the operation of the victim net.
  • noise signal characteristics and cell environment can be represented in a multi-dimensional table for a given cell. This table can then be used to quickly predict the operation of the cell.
  • FIG. 2 is an illustration of noise characterization of a cell, according to an aspect of the present invention.
  • a cell is composed of multiple transistors, for example: an inverter, a RAM, or an AND 200 gate of FIG. 2 .
  • This black box has both input signals, such as a, b, c and output signals such as y where the voltage levels on the output signals are functions of the inputs.
  • the key question in noise analysis is: will a glitch 210 that has a certain voltage/time function z (t), on an input propagate through this black box to the output and if so, how severe is the output glitch 220 ?
  • Voltage magnitude 222 represents a voltage delta associated with output glitch 220 , which correlates to severity of the glitch.
  • Load capacitor 230 represents the load environment of the cell.
  • FIG. 3 is a conceptual flow chart of a cell based noise characterization scheme for verification of a circuit layout of an integrated circuit that incorporates a multi-dimensional noise look-up table 300 , according to an aspect of the present invention.
  • a given cell such as cell 200 , for example, is first thoroughly analyzed during an analysis phase 310 to form multi-dimensional table 300 .
  • a timing characterization tool 320 such as SPICE, for example, is provided with a SPICE model 321 of the cell, cell SPICE subcircuits 322 , cell boolean equations 323 , cell input/output constraints 324 and process parameters, voltage parameters and temperature parameters 325 .
  • Timing characterization tool 320 determines timing related operation of the cell and produces a set of cell sensitization vectors 330 .
  • a noise characterization tool 340 which may also be SPICE for example, then applies the set of cell sensitization vectors 330 to SPICE model 321 of the cell, along with cell SPICE subcircuits 322 , cell boolean equations 323 , cell input/output constraints 324 and process parameters, voltage parameters and temperature parameters 325 to form multi-dimensional noise look-up table 300 .
  • Noise characterization tool 340 also receives noise pulse characteristics 342 that define peak, area and range of a set of noise pulses and forms the multi-dimensional noise look-up table in response to the set of noise pulses 342 .
  • multi-dimensional noise look-up table 300 is three dimensional with the three axes representing: noise peak value, noise pulse width, and cell output load.
  • an output noise pulse characteristic is stored that represents a pulse that would be generated for that index value of input noise peak value, input noise pulse width and cell output load.
  • Noise tool 350 determines what kind of noise pulse will occur on an input of the cell instance, and the noise pulse is characterized to form a tabulation of resultant noise pulse characteristics 352 .
  • resultant noise pulse characteristics 352 include a peak value and noise pulse width for each noise pulse that is detected, which are described in more detail with reference to FIG. 5 .
  • Noise tool 350 is a crosstalk noise analysis tool, and is described in more detail with reference to FIGS. 8A and 8B.
  • Noise propagation checker 360 then accesses multi-dimensional noise look-up table 300 for the cell instance using resultant noise pulse characteristic 352 and the cell output load environment of the cell instance as indexes to select an output noise pulse characteristic. Based on the output noise characteristic selected from the table, noise propagation checker can predict if the noise pulse will propagate through the cell instance. Predictions of noise propagation are indicated as a violation 362 . Violations are analyzed in further detail and may lead to several actions, such as determination that they will not affect operation of the IC, or result in redesigning the IC to eliminate or reduce the input noise pulse, for example.
  • FIG. 4A is an example of a cell, being a three input AND gate 200 , having three inputs a, b, and c and output y.
  • timing characterization tool 320 determines that a set of sensitization vectors illustrated in FIG. 4B can be used to stimulate the cell of FIG. 4A in order to create a multi-dimensional noise look-up table.
  • this results in the output state y y1, . . . , ym.
  • z(t) is applied to that input.
  • FIG. 5 is a timing diagram illustrating an example input noise pulse 500 that is correlated with the sensitization vectors of FIG. 4 B.
  • z(t) is a triangular waveform characterized by its peak voltage value Vpk, duration d, and breakpoint at time 510 .
  • Vpk peak voltage value
  • duration d duration d
  • breakpoint 510 the pulse is increasing and describes an attack area 520 .
  • the pulse decays and describes a decay area 522 .
  • a total area of the pulse is represented as the sum of attack area 520 and decay area 522 .
  • only peak voltage Vpk and pulse width d are used as characteristics of the noise pulse for purposes of indexing the multi-dimensional noise look-up table; however, another embodiment may use other characteristics, such as total area or breakpoint positions, for example.
  • FIGS. 6A, 6 B, and 6 C are schematic diagrams illustrating examples of load models that may be used to produce the multi-dimensional noise look-up tables of FIG. 3 .
  • the loading on output yi can be any arbitrary R(L)C load. Commonly, it will be either a lumped capacitive load, illustrated in FIG. 6A, or a driving point admittance pi model (C-R-C), as illustrated in FIG. 6 B. Inductance may also be included in the pi model (C-R-L-C), as illustrated in FIG. 6 C.
  • These load models represent the output load seen by an output of a cell.
  • Various values of loading are modeled during analysis phase 310 of FIG. 3 to create the third dimension of the multi-dimensional noise look-up table.
  • a multi-dimensional lookup table can be constructed by noise characterization tool 340 which relates the input voltage and output loading characteristics of a cell to the output noise pulse characteristics of the cell.
  • the cell output loading represents an environment seen be a given instance of the cell, and various instances of a cell may see different load environments.
  • a standard cell library is characterized with a noise pulse represented as a function of input peak voltage; input duration, assuming rising waveform accounts for 1 ⁇ 3 of the duration and falling 2 ⁇ 3 of the duration; and a lumped capacitive load on the output.
  • Vpk peak voltage of the aggressor voltage glitch
  • noise tables are calculated for both glitches away from a nominal gnd voltage level and glitches away from the nominal vcc voltage level.
  • FIG. 7 is an illustration of a minimum-region network in which crosstalk induced noise is analyzed using the multi-dimensional noise look-up table scheme of FIG. 3 .
  • Noise pulses V 1 and V 3 are determined by noise tool 350 of FIG. 3 .
  • Noise pulse V 1 represents a noise pulse that is induced on an input of inverter cell 702 .
  • Noise pulse V 3 represents crosstalk noise on an input of AND cell 704 that is coupled from aggressor signal lines 710 - 712 in response to signal transitions on those signal lines.
  • output voltage V 2 is obtained from a multi-dimensional noise look-up table associated with an inverter cell using noise pulse characteristics of pulse V 1 .
  • output voltage V 4 is obtained from a multi-dimensional noise look-up table associated with an AND cell using noise pulse characteristics of pulse V 3 .
  • a minimum region network can be as simple as the channel connected components or can include complete drivers for victims/aggressors.
  • Minimum region network 700 includes victim signal 710 and victim driver 702 , along with aggressor signals 711 - 713 and corresponding aggressor drivers 711 a , 712 a , and 713 a.
  • Previous approaches to noise analysis include: tx-level noise analysis, which requires large run-times; and heuristic (capacitive divider) approaches which are inaccurate.
  • the present invention enables very fast noise analysis in a cell-based flow.
  • the crosstalk verification methodology described herein emphasizes pruning the total number of nets in a proposed integrated circuit design to find potential victim clusters and to analyze these clusters independently.
  • a victim cluster is a victim and its associated aggressors.
  • a conceptual flow diagram for this methodology is described in FIG. 8 A.
  • Pruning based on previous characterization of cells is very fast. It also provides greater accuracy than capacitive divider approaches and results in fewer potential noise problems which designers must evaluate.
  • Pruning will be described briefly herein with reference to FIGS. 8A and 8B. Pruning is described in more detail in application Ser. No. 09/608,309 Method for Verification of Crosstalk Noise in a CMOS Design incorporated herein by reference.
  • step 400 Coupled Network Extraction, involves detailed parasitic extraction of the entire design including all the coupled parasitics. Typically, this is the most time consuming portion as some form of quasi-3-D or 2.5 D approach is used.
  • Step 410 Victim/Aggressor Selection, involves identification of potential victims and associated aggressors. Both spatial and temporal correlations are typically used in this process. This reduces the problem space and helps focus on potential problems.
  • Step 420 Cluster Network Generation and Sensitization, involves building a “minimum region network” which constitutes the victim, aggressors and associated R(L)C parasitics.
  • Minimum region networks could be as simple as only the channel connected components, i.e., the source/drain connected transistors that make up the output stage of a driver, or can include complete drivers for victims/aggressors as shown in FIG. 7 .
  • Step 430 Crosstalk Noise Computation, involves actual crosstalk noise computation and checking for noise propagation. This is typically done using analytical models or some form of electrical simulation. Techniques for reduced order modeling of parasitic networks is known and are helpful in reducing computation times. Failure is typically determined based on noise margins of the victim receivers and using set-up time information from timing analysis.
  • FIG. 8B is a process chart illustrating the methodology of FIG. 8A in more detail.
  • a trial layout of an integrated circuit design is completed in step 440 , using known layout tools.
  • a parasitic extraction step 401 produces a parasitic database 402 that is translated for use by other simulation modules by translation step 403 .
  • filter step 411 makes use of logic correlation step 412 and temporal correlation step 413 to identify potential victim nets and associated aggressor nets.
  • a minimum region network is built in step 421 using command file information 422 , and library information 423 . Since a minimum region net is truncated from the rest of the circuitry, tie-off schemes and stimulus models are provided in step 424 .
  • step 430 various analytical models, such as Spice 431 a , or other reduced order modeling tools 431 n are used to simulate crosstalk noise and to check for noise propagation.
  • step 450 victim nets which are susceptible to crosstalk noise are identified based on the results of step 430 .
  • noise tool 350 is representative of the crosstalk analysis done in steps 400 , 410 , 420 and 430 of FIG. 8 B.
  • noise results 352 represent failed victims 450 of FIG. 8 B.
  • cell based noise propagation analysis need be done only to failed victims identified after pruning of the entire IC design, advantageously reducing the total amount of analysis work.
  • Pruning to identify potential victims plays a crucial role in not only minimizing the scope of the problem, but also ensure that all the realistic aggressors are accounted for.
  • the grouping approach to pruning has been very effective in the absence of timing information and for manual inspection of most sensitive victims. Timing-based pruning is critical for reducing pessimism, especially on random logic modules.
  • Crosstalk analysis on independent clusters helps to parallelize computation. Noise propagation could be achieved by instantiating the receivers and DPA model. As most of the reduced order modeling techniques provide reasonably accurate interconnect models, driver models contribute significantly to overall accuracy of crosstalk noise.
  • FIG. 9 is an illustration of a computer system 1000 which contains a design program incorporating aspects of the present invention
  • FIG. 10 is a block diagram of the computer of FIG. 9.
  • a design program that contains steps for designing an integrated circuit according to aspects of the present invention, as described in the following paragraphs, is stored on a hard drive 1152 .
  • This design program can be introduced into a computer 1000 via a compact disk installed in a compact disk drive 1153 , or down loaded via network interact 1156 , or by other means, such as a floppy disk or tape, for example.
  • the program is transferred to memory 1141 and instructions which comprise the program are executed by processor 1140 . Portions of the integrated circuit design are displayed on monitor 1004 .
  • the design program includes a simulator for modeling and extracting parasitic effects and simulating the operation of the integrated circuit according to aspects of the present invention.
  • FIG. 11 is a block diagram of a microprocessor 1 , which can be designed using aspects of the present invention.
  • Microprocessor 1 is a VLIW digital signal processor (“DSP”).
  • DSP digital signal processor
  • FIG. 11 only shows those portions of microprocessor 1 that are relevant to an understanding of an embodiment of the present invention. Details of general construction for DSPs are well known, and may be found readily elsewhere. For example, U.S. Pat. No. 5,072,418 issued to Frederick Boutaud, et al, describes a DSP in detail and is incorporated herein by reference. U.S. Pat. No. 5,329,471 issued to Gary Swoboda, et al, describes in detail how to test and emulate a DSP and is incorporated herein by reference. Details of portions of microprocessor 1 relevant to an embodiment of the present invention are explained in sufficient detail hereinbelow, so as to enable one of ordinary skill in the microprocessor art to make and use the invention.
  • CPU 10 central processing unit 10 , data memory 22 , program memory 23 , peripherals 60 and an external memory interface (EMIF) with a direct memory access (DMA) 61 .
  • CPU 10 further has an instruction fetch/decode unit 10 a-c , a plurality of execution units, including an arithmetic and load/store unit D 1 , a multiplier M 1 , an ALU/shifter unit S 1 , an arithmetic logic unit (“ALU”) L 1 , a shared multiport register file 20 a from which data are read and to which data are written.
  • CPU 10 further has an instruction fetch/decode unit 10 a-c , a plurality of execution units, including an arithmetic and load/store unit D 1 , a multiplier M 1 , an ALU/shifter unit S 1 , an arithmetic logic unit (“ALU”) L 1 , a shared multiport register file 20 a from which data are read and to which data are written.
  • ALU arithm
  • Decoded instructions are provided from the instruction fetch/decode unit 10 a-c to the functional units D 1 , M 1 , S 1 , and L 1 over various sets of control lines which are not shown.
  • Data are provided to/from the register file 20 a from/to to load/store units D 1 over a first set of busses 32 a , to multiplier M 1 over a second set of busses 34 a , to ALU/shifter unit S 1 over a third set of busses 36 a and to ALU L 1 over a fourth set of busses 38 a .
  • Data are provided to/from the memory 22 from/to the load/store units D 1 via a fifth set of busses 40 a .
  • Emulation unit 50 provides access to the internal operation of integrated circuit 42 which can be controlled by an external test system 51 .
  • memory 22 and memory 23 are shown in FIG. 11 to be a part of a microprocessor 1 integrated circuit, the extent of which is represented by the box 42 .
  • the memories 22 - 23 could just as well be external to the microprocessor 1 integrated circuit 42 , or part of it could reside on the integrated circuit 42 and part of it be external to the integrated circuit 42 . Also, an alternate number of execution units can be used.
  • RAM Random Access Memory
  • ROM Read Only Memory
  • Disk 72 Disk 72
  • Bus 73 is connected to the External Memory Interface (EMIF) which is part of functional block 61 within integrated circuit 42 .
  • EMIF External Memory Interface
  • DMA Direct Memory Access
  • the DMA controller is generally used to move data between memory and peripherals within microprocessor 1 and memory and peripherals which are external to microprocessor 1 .
  • An aspect of the present invention advantageously provides a practical method to perform static noise verification using a cell based noise characterization scheme for verification by using a multi-dimensional noise look-up table, on integrated circuit 42 before it is fabricated.
  • pruning methods based on grouping enables better coverage of potential victims and their associated aggressors, even in absence of timing. For example, buses such as 32 a , 34 a , 36 a 38 a , 40 a and 41 can be grouped for victim pruning.
  • timing-based pruning generally reduces pessimism around 30%; required timing information can be determined for integrated circuit 42 using simulation.
  • Fabrication of data processing device 1 after the design is completed and crosstalk violations have been dealt with according to aspects of the present invention involves multiple steps of implanting various amounts of impurities into a semiconductor substrate and diffusing the impurities to selected depths within the substrate to form transistor devices. Masks are formed to control the placement of the impurities. Multiple layers of conductive material and insulative material are deposited and etched to interconnect the various devices. These steps are performed in a clean room environment.
  • a significant portion of the cost of producing the data processing device involves testing. While in wafer form, individual devices are biased to an operational state and probe tested for basic operational functionality. The wafer is then separated into individual dice which may be sold as bare die or packaged. After packaging, finished parts are biased into an operational state and tested for operational functionality.
  • Crosstalk verification is a complex problem involving several sources of error. It is important to know these sources of error and bound the crosstalk problem according to ensure circuit functionality.
  • Sources of error include:
  • cell based analysis can quickly determine if a noise signal will be propagated to other nets.
  • the number of aggressor groups that could act on a given victim can be controlled in the pruning process in response to cell based noise analysis, in an embodiment of the present invention.
  • having a methodology for efficient noise analysis minimizes overdesign of an integrated circuit. For example, hold times can be analyzed with actual parasitic elements instead of excessive guardbanding. This results in faster time-to-market and less area/power overhead.
  • the methodology of the present invention accounts for the complete energy being transmitted by an aggressor signal. Previous approaches have tended to look at noise simply as a function of peak aggressor current.
  • noise characterization methodology allows more failures to be caught on particularly sensitive circuits, which could have been missed if simple global noise thresholds were used.
  • connection means electrically connected, including where additional elements may be in the electrical connection path.

Abstract

In deep submicron technologies, coupling capacitance significantly dominates the total parasitic capacitance. This causes crosstalk noise to be induced on quiescent signals which could lead to catastrophic failures. A methodology is provided that is a practical approach to full-chip crosstalk noise verification. A multi-dimensional noise lookup table is formed for a cell used within the IC, wherein the multi-dimensional noise table relates a set of input noise pulse characteristics and a set of output loading characteristics to an output noise pulse characteristic of the cell. A noise pulse on an input to an instantiation of a cell is determined and then characterized. An output loading characteristic of the cell is also made. A prediction of whether the instantiation of cell will propagate the noise pulse is made by selecting an output noise pulse characteristic from the multi-dimensional noise table corresponding to the noise pulse characteristic and to the output loading characteristic. Other instantiations of the cell are evaluated using the same multi-dimensional noise table. A prediction of whether each instantiation of cell will propagate the noise pulse is made by selecting an output noise pulse characteristic from the multi-dimensional noise table corresponding to the noise pulse characteristic and to the output loading characteristic associated with each instantiation of the cell.

Description

This application claims priority under 35 USC §119(e)(1) of Provisional Application No. 60/143,972; Ser. No. 09/617,575, filed Jul. 15, 1999; Jul. 17, 2000, now abandoned; and is a divisional of Non-Provisional conversion patent application Ser. No. 09/617,575 filed Jul. 17, 2000 now U.S. Pat. No. 6,493,853.
CROSS REFERENCE TO RELATED APPLICATIONS
This application is related to co-assigned application Ser. No. 09/608,309 filed contemporaneously herewith and incorporated herein by reference.
TECHNICAL FIELD OF THE INVENTION
This invention relates to methods for designing and fabricating digital circuits, and in particular to simulation and analysis of the circuit design in order to detect and eliminate crosstalk induced by capacitive coupling.
BACKGROUND OF THE INVENTION
Before an integrated circuit is fabricated, a trial design is first analyzed by simulating the operation of the proposed circuits that are to be included within the integrated circuit. Simulation is used to verify correct functional operation of the circuit, as well as to verify correct dynamic timing operation. When two signal lines on an integrated circuit are physically adjacent there is a capacitance between the signal lines that may cause signal interference due to signal coupling.
Signal integrity is one of the key challenges in design and test, now and beyond 100 nm technologies. Rapid technology scaling is causing increased coupling capacitances due to reduced signal to signal spacing and increased distance from the substrate. Among several types of noise, crosstalk noise introduced due to parasitic coupling is predominant in digital designs. Interconnect parasitic coupling has two effects, at least. A first effect is on the delay due to different switching patterns and this affects the performance of the chip besides potential race conditions. A second effect is induced glitches or noise that could cause functional failure by switching logic-states. In the case of designs employing dynamic logic design styles, this problem is more severe due to increased noise sensitivities of pre-charged nodes. In the case of static logic, except for asynchronous signals such as preset/clear and clock nodes, a failure could result only when data inputs connected to storage elements are latched during the active phase of the clock.
Design complexities are increasing with system on chip (SOC) designs and increased length of interconnect at full-chip level is one of the major sources of crosstalk noise problem. This refers to integration of system level functions, for example, many functions in a cellular telephone integrated into one integrated circuit (IC). Typically, SOC designs have CPU cores, memory blocks, logic blocks and possibly analog design blocks, all on one chip. Dynamic simulation of large designs with millions of parasitics is computationally prohibitive; in order reduce computational loads, static noise verification is used. Magnitude of the parasitic coupling, behavior of victim drivers during noise injection and dependency between factors like timing and parasitic coupling are some of key challenges in noise verification.
A commonly used simulator for designing integrated circuits is SPICE, which is available from the University of California at Berkeley, via the Department of Electrical Engineering and Computer Sciences. However, a SPICE simulation of all the nets in an entire chip is far too complex to be practical.
In order to perform a SPICE simulation of a circuit, all of the nodes between every component in the circuit need to be numbered. Then those nodes, the type of components at each node, and the component magnitudes are entered into the SPICE program.
If the circuit which is being simulated is an entire integrated circuit chip, then the number of nodes and corresponding components which need to be entered into the SPICE program is overwhelming. Firstly, the number of nets may be 40,000 in a current typical integrated circuit design. Secondly, for each such net, about seventy discreet components need to be entered because in the actual chip, the net components are distributed. Specifically, each signal line has capacitance which is distributed throughout the line; and each signal line also has a resistance which is distributed throughout the line. To simulate these distributed components, each signal line needs to be represented by a RC ladder circuit which has about two dozen nodes; with each node having a resistor to the next node, a capacitor to ground, and a capacitor to any adjacent signal line.
After all of the nodes and corresponding components for all the nets are entered into the SPICE program, the program operates to determine the voltages which occur on each node in sequential increments of time. Typically, about 1,000 increments of ten picoseconds each are needed to obtain the entire voltage waveform on a node in one net in an integrated circuit chip. To determine the voltages for just one time increment the SPICE program repetitively solves a matrix equation which is of the form [Y][V]=[1]. Here, Y is an n-x-n matrix, V is an n×1 matrix, and I is an n×1 matrix; where n is the number of nodes in the circuit. Thus, for a single victim net with twenty aggressor nets, n is (24 nodes per net)×(21 nets) or 504.
For each increment in time the SPICE program makes about five iterations before it converges on a solution. This iterative process is repeated for each of the subsequent time increments. Using a current state of the art workstation, it takes about ten minutes to perform a SPICE simulation of a single circuit which has 500 nodes and for which a solution is sought for 1,000 time increments. Such a circuit represents a typical victim net with twenty aggressor nets. Consequently, to simulate a chip which has 40,000 nets would take about 400,000 minutes, or more than 270 days to complete!
Accordingly, a primary object of the present invention is to provide a method of designing circuit chips by which the above problems are overcome.
Other objects and advantages will be apparent to those of ordinary skill in the art having reference to the following figures and specification.
SUMMARY OF THE INVENTION
A methodology is provided that is a practical approach to full-chip crosstalk noise verification. A multi-dimensional noise lookup table is formed for a cell used within the IC, wherein the multi-dimensional noise table relates a set of input noise pulse characteristics and a-set of output loading characteristics to an output noise pulse characteristic of the cell. A noise pulse on an input to an instantiation of a cell is determined and then characterized. An output loading characteristic of the cell is also made. A prediction of whether the instantiation of cell will propagate the noise pulse is made by selecting an output noise pulse characteristic from the multi-dimensional noise table corresponding to the noise pulse characteristic and to the output loading characteristic. Other instantiations of the cell are evaluated using the same multi-dimensional noise table. A prediction of whether each instantiation of cell will propagate the noise pulse is made by selecting an output noise pulse characteristic from the multi-dimensional noise table corresponding to the noise pulse characteristic and to the output loading characteristic associated with each instantiation of the cell.
In another form of the invention, an integrated circuit is fabricated according to a modified trial layout.
In another form of the invention, a computer system is provided which as a mass storage device that holds a design program for designing an integrated circuit according to the above described method.
These and other features of the invention that will be apparent to those skilled in the art from the following detailed description of the invention, taken together with the accompanying drawings.
DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a schmoo diagram depicting a crosstalk induced failure;
FIG. 2 is an illustration of noise characterization of a cell, according to an aspect of the present invention;
FIG. 3 is a conceptual flow chart of a cell based noise characterization scheme for verification of a circuit layout of an integrated circuit that incorporates a multi-dimensional noise look-up table, according to an aspect of the present invention;
FIG. 4A is an example of cell, being a three input AND gate;
FIG. 4B is an example of a set of sensitization vectors used to stimulate the cell of FIG. 4A in order to create a multi-dimensional noise look-up table for the flow chart of FIG. 3;
FIG. 5 is a timing diagram illustrating an example input noise pulse that is correlated with the sensitization vectors of FIG. 4B;
FIGS. 6A, 6B, and 6C are schematic diagrams illustrating examples of load models that may be used to produce the multi-dimensional noise look-up table of FIG. 3;
FIG. 7 is an illustration of a minimum-region network in which crosstalk induced noise is analyzed using the multi-dimensional noise look-up table scheme of FIG. 3;
FIG. 8A illustrates a conceptual block diagram of a crosstalk verification methodology, according to aspects of the present invention;
FIG. 8B is a process chart illustrating the methodology of FIG. 8A in more detail
FIG. 9 is an illustration of a computer system that contains a design program for designing integrated circuits incorporating aspects of the present invention;
FIG. 10 is a block diagram of the computer of FIG. 9; and
FIG. 11 is a block diagram of an integrated circuit that is designed and fabricated according to aspects of the present invention.
Corresponding numerals and symbols in the different figures and tables refer to corresponding parts unless otherwise indicated.
DETAILED DESCRIPTION OF THE INVENTION
Aspects of the present invention include methods and apparatus for designing an integrated circuit. In the following description, specific information is set forth to provide a thorough understanding of the present invention. Well-known circuits and devices are included in block diagram form in order to not to complicate the description unnecessarily. Moreover, it will be apparent to one skilled in the art that specific details of these blocks are not required in order to practice the present invention. As discussed above, interconnect parasitic coupling has two effects, at least, that are important in the design of an integrated circuit. A first effect is on the delay due to different switching patterns and this affects the performance of the chip besides potential race conditions. The second effect is induced glitches or noise that could cause functional failure by switching logic-states. A method for improving simulation results in view of the second effect is described co-assigned application Ser. No. 09/608,309 Method for Verification of Crosstalk Noise in a CMOS Design and is incorporated herein by reference. Methods for improving simulation results in view of the first effect is disclosed in co-assigned application Ser. No. 09/240,993 entitled Method for Analyzing Circuit Delays Caused by Capacitive Coupling in Digital Circuits and is incorporated herein by reference. Methods described in Ser. No. 09/608,309 and Ser. No. 09/240,993 may be advantageously combined with methods described herein.
FIG. 1 illustrates a schmoo diagram (plot of operating voltage vs. frequency of operation) depicting how a crosstalk induced failure could manifest in practice in the operation of an integrated circuit (IC). Depending on the timing relationship, induced noise could cause an operational failure of the IC at certain frequencies and voltages, such as in region 300, whereas the IC could operate correctly at neighboring frequencies outside of region 300. This could be a hard problem to detect during product qualification as a schmoo is generally created at discrete frequencies. Also, a complete set of test vectors used to exercise the IC may not be complete during product qualification, which could leave room for failure if crosstalk noise is not detected during the design phase.
Table 1 defines several terms that are used throughout this document.
TABLE 1
Definitions of Terms
coupled Refers to two nets with the capacitance between them
modeled as a capacitor connected to the two nets of value
equal to the capacitance between the nets. (also known as
true C);
decoupled refers to two nets with the capacitance between them modeled
as two capacitors. Each capacitor has one terminal connected
to GND and one terminal connected to each of the nets. The
value of both capacitors is equal in value to the capacitance
between the nets. The only time the values are different than
the capacitance between the two nets is when coupling com-
pensation is being performed. (also known as lump c)
distributed refers to a net modeled as a network of resistors, capacitors.
parasitics and/or inductors with possibly capacitance at each of the
nodes in the net.
lumped refers to a net or portion of a net where the resistance and
parasitics inductance of the net are not modeled. In this case the capa-
citance would be lumped on a single node that would model a
net or portion of a net.
net a collection of electrically connected interconnect lines.
node an electrical junction where one or more resistors/inductors
are joined. Nodes may be added to a net when resistors/
inductors are used to model the parasitics of the inter-
connect lines making up a net.
victim a net that is being affected by transitions on a nearby
aggressor net.
aggressor a net that is affecting the operation of the victim net.
It has now been discovered that very fast noise analysis can be performed by taking advantage of a cell-based environment. Most designs are built in a cell-based flow where all transistors are encapsulated within gates. An individual gate may be included as a cell in a design cell library for reuse in various IC designs. Also, a functional circuit that includes many gates can also be designated as a cell in a design cell library. A further aspect of interconnect parasitic coupling of noise is that for a given cell; if the magnitude of the coupled noise exceeds a threshold value of that cell, then the coupled noise will be propagated by that cell; however, the threshold may vary depending on various characteristics of the coupled noise signal and the environment in which the cell is instantiated. Conversely, if a given noise signal with identified characteristics does not exceed a threshold associated with a given cell and associated cell environment, then the cell will not propagate the noise signal. It has now been discovered that noise signal characteristics and cell environment can be represented in a multi-dimensional table for a given cell. This table can then be used to quickly predict the operation of the cell.
FIG. 2 is an illustration of noise characterization of a cell, according to an aspect of the present invention. Consider any black box logic cell where a cell is composed of multiple transistors, for example: an inverter, a RAM, or an AND 200 gate of FIG. 2. This black box has both input signals, such as a, b, c and output signals such as y where the voltage levels on the output signals are functions of the inputs. The key question in noise analysis is: will a glitch 210 that has a certain voltage/time function z (t), on an input propagate through this black box to the output and if so, how severe is the output glitch 220? Voltage magnitude 222 represents a voltage delta associated with output glitch 220, which correlates to severity of the glitch. Load capacitor 230 represents the load environment of the cell.
FIG. 3 is a conceptual flow chart of a cell based noise characterization scheme for verification of a circuit layout of an integrated circuit that incorporates a multi-dimensional noise look-up table 300, according to an aspect of the present invention. A given cell, such as cell 200, for example, is first thoroughly analyzed during an analysis phase 310 to form multi-dimensional table 300. A timing characterization tool 320, such as SPICE, for example, is provided with a SPICE model 321 of the cell, cell SPICE subcircuits 322, cell boolean equations 323, cell input/output constraints 324 and process parameters, voltage parameters and temperature parameters 325. Timing characterization tool 320 determines timing related operation of the cell and produces a set of cell sensitization vectors 330.
A noise characterization tool 340, which may also be SPICE for example, then applies the set of cell sensitization vectors 330 to SPICE model 321 of the cell, along with cell SPICE subcircuits 322, cell boolean equations 323, cell input/output constraints 324 and process parameters, voltage parameters and temperature parameters 325 to form multi-dimensional noise look-up table 300. Noise characterization tool 340 also receives noise pulse characteristics 342 that define peak, area and range of a set of noise pulses and forms the multi-dimensional noise look-up table in response to the set of noise pulses 342.
This process is repeated for each cell in a cell design library to form a set of multi-dimensional noise look-up tables, such that each cell has a corresponding multi-dimensional noise look-up table. Of course, cells with similar characteristics may refer to a common noise table such that there may be a fewer number of tables than the number of cells. In this embodiment of the invention, multi-dimensional noise look-up table 300 is three dimensional with the three axes representing: noise peak value, noise pulse width, and cell output load. However, other embodiments of the invention may incorporate even more or different dimensions than included in this embodiment. At each index point of the table, an output noise pulse characteristic is stored that represents a pulse that would be generated for that index value of input noise peak value, input noise pulse width and cell output load.
After an IC has been initially designed by instantiating one or more copies of various cells from the cell design library, instantiated cells can then be quickly analyzed for noise propagation by using a multi-dimensional noise look-up table associated with that cell instance. Noise tool 350 determines what kind of noise pulse will occur on an input of the cell instance, and the noise pulse is characterized to form a tabulation of resultant noise pulse characteristics 352. In this embodiment, resultant noise pulse characteristics 352 include a peak value and noise pulse width for each noise pulse that is detected, which are described in more detail with reference to FIG. 5. Noise tool 350 is a crosstalk noise analysis tool, and is described in more detail with reference to FIGS. 8A and 8B.
Noise propagation checker 360 then accesses multi-dimensional noise look-up table 300 for the cell instance using resultant noise pulse characteristic 352 and the cell output load environment of the cell instance as indexes to select an output noise pulse characteristic. Based on the output noise characteristic selected from the table, noise propagation checker can predict if the noise pulse will propagate through the cell instance. Predictions of noise propagation are indicated as a violation 362. Violations are analyzed in further detail and may lead to several actions, such as determination that they will not affect operation of the IC, or result in redesigning the IC to eliminate or reduce the input noise pulse, for example.
FIG. 4A is an example of a cell, being a three input AND gate 200, having three inputs a, b, and c and output y. Referring again to FIG. 3, timing characterization tool 320 determines that a set of sensitization vectors illustrated in FIG. 4B can be used to stimulate the cell of FIG. 4A in order to create a multi-dimensional noise look-up table. Let x=x1, . . . , xn represents a state vector for the n inputs where xi takes values from the set {gnd, vcc}. Suppose this results in the output state y=y1, . . . , ym. To evaluate the effect of a glitch on input xj, a time-varying glitch, z(t) is applied to that input.
FIG. 5 is a timing diagram illustrating an example input noise pulse 500 that is correlated with the sensitization vectors of FIG. 4B. Commonly, z(t) is a triangular waveform characterized by its peak voltage value Vpk, duration d, and breakpoint at time 510. Prior to breakpoint 510, the pulse is increasing and describes an attack area 520. After breakpoint 510, the pulse decays and describes a decay area 522. A total area of the pulse is represented as the sum of attack area 520 and decay area 522. In the present embodiment, only peak voltage Vpk and pulse width d are used as characteristics of the noise pulse for purposes of indexing the multi-dimensional noise look-up table; however, another embodiment may use other characteristics, such as total area or breakpoint positions, for example.
FIGS. 6A, 6B, and 6C are schematic diagrams illustrating examples of load models that may be used to produce the multi-dimensional noise look-up tables of FIG. 3. The loading on output yi can be any arbitrary R(L)C load. Commonly, it will be either a lumped capacitive load, illustrated in FIG. 6A, or a driving point admittance pi model (C-R-C), as illustrated in FIG. 6B. Inductance may also be included in the pi model (C-R-L-C), as illustrated in FIG. 6C. These load models represent the output load seen by an output of a cell. Various values of loading are modeled during analysis phase 310 of FIG. 3 to create the third dimension of the multi-dimensional noise look-up table.
By varying the parameters on z(t) and the loading on each of the yi output signals, a multi-dimensional lookup table can be constructed by noise characterization tool 340 which relates the input voltage and output loading characteristics of a cell to the output noise pulse characteristics of the cell. The cell output loading represents an environment seen be a given instance of the cell, and various instances of a cell may see different load environments.
As an example implementation, a standard cell library is characterized with a noise pulse represented as a function of input peak voltage; input duration, assuming rising waveform accounts for ⅓ of the duration and falling ⅔ of the duration; and a lumped capacitive load on the output. Specifically, the input waveform is given by: z ( t ) = Vpk * t ( 3 / d ) t > 0 , t < d / 3 - Vpk / ( 2 * d / 3 ) * t + 3 * Vpk / 2 t > d / 3 , t < d
Figure US06732339-20040504-M00001
where:
d=duration of the voltage glitch (in sec)
Vpk=peak voltage of the aggressor voltage glitch
Note: the above assumes a rising input glitch on xi, i.e., xi nominally at gnd; however, a glitch from xi=vcc can also occur and is considered in actual implementation. In other words, noise tables are calculated for both glitches away from a nominal gnd voltage level and glitches away from the nominal vcc voltage level.
FIG. 7 is an illustration of a minimum-region network in which crosstalk induced noise is analyzed using the multi-dimensional noise look-up table scheme of FIG. 3. Using the characterization data described above, and data available from parasitic extraction of the IC design, the probability that a glitch will propagate can be quickly evaluated. If no propagation of the glitch can be generated, the signal attached to the cell input will have no significant noise problems. Noise pulses V1 and V3 are determined by noise tool 350 of FIG. 3. Noise pulse V1 represents a noise pulse that is induced on an input of inverter cell 702. Noise pulse V3 represents crosstalk noise on an input of AND cell 704 that is coupled from aggressor signal lines 710-712 in response to signal transitions on those signal lines. For cell instance 702 of an inverter cell, output voltage V2 is obtained from a multi-dimensional noise look-up table associated with an inverter cell using noise pulse characteristics of pulse V1. For cell instance 704 of an AND cell, output voltage V4 is obtained from a multi-dimensional noise look-up table associated with an AND cell using noise pulse characteristics of pulse V3.
A minimum region network can be as simple as the channel connected components or can include complete drivers for victims/aggressors. Minimum region network 700 includes victim signal 710 and victim driver 702, along with aggressor signals 711-713 and corresponding aggressor drivers 711 a, 712 a, and 713 a.
Previous approaches to noise analysis include: tx-level noise analysis, which requires large run-times; and heuristic (capacitive divider) approaches which are inaccurate. Advantageously, the present invention enables very fast noise analysis in a cell-based flow.
The crosstalk verification methodology described herein emphasizes pruning the total number of nets in a proposed integrated circuit design to find potential victim clusters and to analyze these clusters independently. A victim cluster is a victim and its associated aggressors. A conceptual flow diagram for this methodology is described in FIG. 8A.
Pruning based on previous characterization of cells is very fast. It also provides greater accuracy than capacitive divider approaches and results in fewer potential noise problems which designers must evaluate.
Pruning will be described briefly herein with reference to FIGS. 8A and 8B. Pruning is described in more detail in application Ser. No. 09/608,309 Method for Verification of Crosstalk Noise in a CMOS Design incorporated herein by reference.
In FIG. 8A, step 400, Coupled Network Extraction, involves detailed parasitic extraction of the entire design including all the coupled parasitics. Typically, this is the most time consuming portion as some form of quasi-3-D or 2.5 D approach is used.
Step 410, Victim/Aggressor Selection, involves identification of potential victims and associated aggressors. Both spatial and temporal correlations are typically used in this process. This reduces the problem space and helps focus on potential problems.
Step 420, Cluster Network Generation and Sensitization, involves building a “minimum region network” which constitutes the victim, aggressors and associated R(L)C parasitics. Minimum region networks could be as simple as only the channel connected components, i.e., the source/drain connected transistors that make up the output stage of a driver, or can include complete drivers for victims/aggressors as shown in FIG. 7.
Step 430, Crosstalk Noise Computation, involves actual crosstalk noise computation and checking for noise propagation. This is typically done using analytical models or some form of electrical simulation. Techniques for reduced order modeling of parasitic networks is known and are helpful in reducing computation times. Failure is typically determined based on noise margins of the victim receivers and using set-up time information from timing analysis.
FIG. 8B is a process chart illustrating the methodology of FIG. 8A in more detail. A trial layout of an integrated circuit design is completed in step 440, using known layout tools. In step 400, a parasitic extraction step 401 produces a parasitic database 402 that is translated for use by other simulation modules by translation step 403. In step 410, filter step 411 makes use of logic correlation step 412 and temporal correlation step 413 to identify potential victim nets and associated aggressor nets. In step 420, a minimum region network is built in step 421 using command file information 422, and library information 423. Since a minimum region net is truncated from the rest of the circuitry, tie-off schemes and stimulus models are provided in step 424. In step 430, various analytical models, such as Spice 431 a, or other reduced order modeling tools 431 n are used to simulate crosstalk noise and to check for noise propagation. In step 450, victim nets which are susceptible to crosstalk noise are identified based on the results of step 430.
Referring again to FIG. 3, noise tool 350 is representative of the crosstalk analysis done in steps 400, 410, 420 and 430 of FIG. 8B. In FIG. 3, noise results 352 represent failed victims 450 of FIG. 8B. Thus, cell based noise propagation analysis need be done only to failed victims identified after pruning of the entire IC design, advantageously reducing the total amount of analysis work.
Pruning to identify potential victims plays a crucial role in not only minimizing the scope of the problem, but also ensure that all the realistic aggressors are accounted for. The grouping approach to pruning has been very effective in the absence of timing information and for manual inspection of most sensitive victims. Timing-based pruning is critical for reducing pessimism, especially on random logic modules. Crosstalk analysis on independent clusters helps to parallelize computation. Noise propagation could be achieved by instantiating the receivers and DPA model. As most of the reduced order modeling techniques provide reasonably accurate interconnect models, driver models contribute significantly to overall accuracy of crosstalk noise.
It has been found that number of potential victims in a large SOC type of designs, is typically 3-8% of total number of signals, of which typically less than 1% of signals turn out to be real problems. Proper design guidelines for spacing/repeaters and signal transition times often helps minimize the number of potential victims and resulting failures.
FIG. 9 is an illustration of a computer system 1000 which contains a design program incorporating aspects of the present invention, and FIG. 10 is a block diagram of the computer of FIG. 9. A design program that contains steps for designing an integrated circuit according to aspects of the present invention, as described in the following paragraphs, is stored on a hard drive 1152. This design program can be introduced into a computer 1000 via a compact disk installed in a compact disk drive 1153, or down loaded via network interact 1156, or by other means, such as a floppy disk or tape, for example. The program is transferred to memory 1141 and instructions which comprise the program are executed by processor 1140. Portions of the integrated circuit design are displayed on monitor 1004. The design program includes a simulator for modeling and extracting parasitic effects and simulating the operation of the integrated circuit according to aspects of the present invention.
FIG. 11 is a block diagram of a microprocessor 1, which can be designed using aspects of the present invention. Microprocessor 1 is a VLIW digital signal processor (“DSP”). In the interest of clarity, FIG. 11 only shows those portions of microprocessor 1 that are relevant to an understanding of an embodiment of the present invention. Details of general construction for DSPs are well known, and may be found readily elsewhere. For example, U.S. Pat. No. 5,072,418 issued to Frederick Boutaud, et al, describes a DSP in detail and is incorporated herein by reference. U.S. Pat. No. 5,329,471 issued to Gary Swoboda, et al, describes in detail how to test and emulate a DSP and is incorporated herein by reference. Details of portions of microprocessor 1 relevant to an embodiment of the present invention are explained in sufficient detail hereinbelow, so as to enable one of ordinary skill in the microprocessor art to make and use the invention.
In microprocessor 1 there are shown a central processing unit (CPU) 10, data memory 22, program memory 23, peripherals 60 and an external memory interface (EMIF) with a direct memory access (DMA) 61. CPU 10 further has an instruction fetch/decode unit 10 a-c, a plurality of execution units, including an arithmetic and load/store unit D1, a multiplier M1, an ALU/shifter unit S1, an arithmetic logic unit (“ALU”) L1, a shared multiport register file 20 a from which data are read and to which data are written. Decoded instructions are provided from the instruction fetch/decode unit 10 a-c to the functional units D1, M1, S1, and L1 over various sets of control lines which are not shown. Data are provided to/from the register file 20 a from/to to load/store units D1 over a first set of busses 32 a, to multiplier M1 over a second set of busses 34 a, to ALU/shifter unit S1 over a third set of busses 36 a and to ALU L1 over a fourth set of busses 38 a. Data are provided to/from the memory 22 from/to the load/store units D1 via a fifth set of busses 40 a. Note that the entire data path described above is duplicated with register file 20 b and execution units D2, M2, S2, and L2. Instructions are fetched by fetch unit 10 a from instruction memory 23 over a set of busses 41. Emulation unit 50 provides access to the internal operation of integrated circuit 42 which can be controlled by an external test system 51.
Note that the memory 22 and memory 23 are shown in FIG. 11 to be a part of a microprocessor 1 integrated circuit, the extent of which is represented by the box 42. The memories 22-23 could just as well be external to the microprocessor 1 integrated circuit 42, or part of it could reside on the integrated circuit 42 and part of it be external to the integrated circuit 42. Also, an alternate number of execution units can be used.
When microprocessor 1 is incorporated in a data processing system, additional memory or peripherals may be connected to microprocessor 1, as illustrated in FIG. 11. For example, Random Access Memory (RAM) 70, a Read Only Memory (ROM) 71 and a Disk 72 are shown connected via an external bus 73. Bus 73 is connected to the External Memory Interface (EMIF) which is part of functional block 61 within integrated circuit 42. A Direct Memory Access (DMA) controller is also included within block 61. The DMA controller is generally used to move data between memory and peripherals within microprocessor 1 and memory and peripherals which are external to microprocessor 1.
With technology scaling, crosstalk noise has become a problem in a DSM design such as integrated circuit 42. Unlike timing problems, crosstalk noise could manifest only intermittently when certain combinations of signal switching are satisfied. Such failures could happen in the end-application as testers fail to detect them during product qualification. An aspect of the present invention advantageously provides a practical method to perform static noise verification using a cell based noise characterization scheme for verification by using a multi-dimensional noise look-up table, on integrated circuit 42 before it is fabricated. Advantageously, pruning methods based on grouping enables better coverage of potential victims and their associated aggressors, even in absence of timing. For example, buses such as 32 a, 34 a, 36 a 38 a, 40 a and 41 can be grouped for victim pruning. Advantageously, timing-based pruning generally reduces pessimism around 30%; required timing information can be determined for integrated circuit 42 using simulation.
Several example systems which can benefit from aspects of the present invention are described in U.S. Pat. No. 5,072,418, which was incorporated by reference herein, particularly with reference to FIGS. 2-18 of U.S. Pat. No. 5,072,418. A microprocessor incorporating an aspect of the present invention to improve performance or reduce cost can be used to further improve the systems described in U.S. Pat. No. 5,072,418. Such systems include, but are not limited to, industrial process controls, automotive vehicle systems, motor controls, robotic control systems, satellite telecommunication systems, echo canceling systems, modems, video imaging systems, speech recognition systems, vocoder-modem systems with encryption, and such.
Fabrication of data processing device 1 after the design is completed and crosstalk violations have been dealt with according to aspects of the present invention, involves multiple steps of implanting various amounts of impurities into a semiconductor substrate and diffusing the impurities to selected depths within the substrate to form transistor devices. Masks are formed to control the placement of the impurities. Multiple layers of conductive material and insulative material are deposited and etched to interconnect the various devices. These steps are performed in a clean room environment.
A significant portion of the cost of producing the data processing device involves testing. While in wafer form, individual devices are biased to an operational state and probe tested for basic operational functionality. The wafer is then separated into individual dice which may be sold as bare die or packaged. After packaging, finished parts are biased into an operational state and tested for operational functionality.
Crosstalk verification is a complex problem involving several sources of error. It is important to know these sources of error and bound the crosstalk problem according to ensure circuit functionality. Sources of error include:
error in parasitic resistance and coupling capacitance
error in victim selection
error in obtaining worst case sensitization of drivers
error in obtaining switching windows for timing analysis
error in obtaining logic correlation between signals
error due to non-linear loads
error in SPICE models
error in selecting combinations of strong/weak/nominal SPICE models
process variation on interconnect and transistors.
Performing a worst case analysis in view of the above would result in highly pessimistic results and needlessly burden the design of an integrated circuit. Advantageously, in a crosstalk verification methodology embodying aspects of the present invention, cell based analysis can quickly determine if a noise signal will be propagated to other nets.
Advantageously, the number of aggressor groups that could act on a given victim can be controlled in the pruning process in response to cell based noise analysis, in an embodiment of the present invention.
Advantageously, having a methodology for efficient noise analysis minimizes overdesign of an integrated circuit. For example, hold times can be analyzed with actual parasitic elements instead of excessive guardbanding. This results in faster time-to-market and less area/power overhead.
The methodology of the present invention accounts for the complete energy being transmitted by an aggressor signal. Previous approaches have tended to look at noise simply as a function of peak aggressor current.
Using a noise characterization methodology according to the present invention allows more failures to be caught on particularly sensitive circuits, which could have been missed if simple global noise thresholds were used.
As used herein, the terms “applied,” connected,” and “connection” mean electrically connected, including where additional elements may be in the electrical connection path.
While the invention has been described with reference to illustrative embodiments, this description is not intended to be construed in a limiting sense. Various other embodiments of the invention will be apparent to persons skilled in the art upon reference to this description. It is therefore contemplated that the appended claims will cover any such modifications of the embodiments as fall within the true scope and spirit of the invention.

Claims (7)

What is claimed is:
1. A mass storage device for holding a library of cells, wherein the library of cells is useful for designing an integrated circuit (IC) which contains a plurality of logic cells with interconnecting signal lines in close proximity, such that capacitive coupling among the signal lines is operable to induce a crosstalk noise pulse on at least one of the signal lines, the library of logic cells comprising:
a set cell descriptors, wherein each cell descriptor comprises a description of a set of transistors and interconnecting signal lines for forming an instantiation of the cell;
a set of multi-dimensional noise lookup tables, such that each multi-dimensional noise lookup table is associated with a corresponding cell descriptor, wherein each multi-dimensional noise table relates a set of input noise pulse characteristics and a set of output loading characteristics to an output noise pulse characteristic of the corresponding cell descriptor,
wherein each multi-dimensional noise lookup table comprises:
an axis for input noise peak values;
an axis for input noise pulse width;
an axis for output loading; and
a plurality of indexed entries, wherein each entry is either a null value if an input noise pulse will not be propagated by the cell represented by the cell descriptor, or is selected from the set of output noise pulse characteristics if an input an input noise pulse will be propagated by the represented cell.
2. The mass storage device of claim 1, wherein a first multi-dimensional noise lookup table is associated with two or more cell descriptors that have similar noise characteristics.
3. The mass storage device of claim 1, wherein a first cell descriptor describes a gate and a second cell descriptor describes a plurality of gates with interconnecting signal lines.
4. The mass storage device of claim 3, wherein a third cell descriptor describes a random access memory (RAM) cell.
5. The mass storage device of claim 1, wherein each set of noise pulse characteristics comprises a plurality of input noise peak values and a plurality of input noise pulse width values.
6. The mass storage device of claim 5, wherein each entry in each multi-dimensional noise table is either a null value if an input noise pulse will not be propagated by the represented cell, or is selected from the set of output noise pulse characteristics if an input noise pulse will be propagated by the represented cell.
7. The mass storage device of claim 6, wherein each one of the set of noise pulse characteristics comprises an output noise peak value and an output noise pulse width value.
US10/300,549 1999-07-15 2002-11-20 Cell-based noise characterization and evaluation Expired - Lifetime US6732339B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/300,549 US6732339B2 (en) 1999-07-15 2002-11-20 Cell-based noise characterization and evaluation

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14397299P 1999-07-15 1999-07-15
US15359999P 1999-09-13 1999-09-13
US09/617,575 US6493853B1 (en) 1999-07-15 2000-07-17 Cell-based noise characterization and evaluation
US10/300,549 US6732339B2 (en) 1999-07-15 2002-11-20 Cell-based noise characterization and evaluation

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/617,575 Division US6493853B1 (en) 1999-07-15 2000-07-17 Cell-based noise characterization and evaluation

Publications (2)

Publication Number Publication Date
US20030079191A1 US20030079191A1 (en) 2003-04-24
US6732339B2 true US6732339B2 (en) 2004-05-04

Family

ID=27386012

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/617,575 Expired - Lifetime US6493853B1 (en) 1999-07-15 2000-07-17 Cell-based noise characterization and evaluation
US10/300,549 Expired - Lifetime US6732339B2 (en) 1999-07-15 2002-11-20 Cell-based noise characterization and evaluation

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/617,575 Expired - Lifetime US6493853B1 (en) 1999-07-15 2000-07-17 Cell-based noise characterization and evaluation

Country Status (1)

Country Link
US (2) US6493853B1 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030145296A1 (en) * 2001-12-19 2003-07-31 Rajit Chandra Formal automated methodology for optimal signal integrity characterization of cell libraries
US20040015737A1 (en) * 2002-07-19 2004-01-22 Martin Robert J. Method and apparatus for automated signal integrity checking based on storage device functionality
US20040103381A1 (en) * 2002-06-27 2004-05-27 Matsushita Elec. Ind. Co. Ltd. Semiconductor integrated circuit designing apparatus, semiconductor integrated circuit designing method, semiconductor integrated circuit manufacturing method, and readable recording media
US20040162693A1 (en) * 2001-10-30 2004-08-19 Corr William E. Apparatus and method for determining effect of on-chip noise on signal propagation
US20040205680A1 (en) * 2003-04-09 2004-10-14 Entire Interest Method and apparatus for characterizing the propagation of noise through a cell in an integrated circuit
US20050060675A1 (en) * 2003-09-17 2005-03-17 Alexander Tetelbaum Method of noise analysis and correction of noise violations for an integrated circuit design
US20060015831A1 (en) * 2004-07-16 2006-01-19 Texas Instruments Incorporated Minimizing Computational Complexity in Cell-level Noise Characterization
US20060248485A1 (en) * 2005-04-27 2006-11-02 International Business Machines Corporation Priortizing of nets for coupled noise analysis
US20070006106A1 (en) * 2005-06-30 2007-01-04 Texas Instruments Incorporated Method and system for desensitization of chip designs from perturbations affecting timing and manufacturability
US20070006109A1 (en) * 2005-06-30 2007-01-04 Texas Instruments Incorporated Method and system for correcting signal integrity crosstalk violations
US20090172618A1 (en) * 2007-12-28 2009-07-02 Fujitsu Limited Technique for creating analysis model and technique for creating circuit board model
US8656327B2 (en) * 2009-03-06 2014-02-18 Synopsys, Inc. Statistical formal activity analysis with consideration of temporal and spatial correlations
US8707234B1 (en) 2012-11-09 2014-04-22 Lsi Corporation Circuit noise extraction using forced input noise waveform
US8719752B1 (en) 2013-01-22 2014-05-06 Lsi Corporation Hierarchical crosstalk noise analysis model generation
US10248753B2 (en) 2016-10-07 2019-04-02 International Business Machines Corporation Pessimism reduction in hierarchical blockage aggressors using estimated resistor and capacitor values
US10324122B2 (en) 2015-12-14 2019-06-18 International Business Machines Corporation Predicting noise propagation in circuits

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7013253B1 (en) * 2000-04-03 2006-03-14 Magma Design Automation, Inc. Method and apparatus for calculation of crosstalk noise in integrated circuits
JP2002203000A (en) * 2000-12-28 2002-07-19 Mitsubishi Electric Corp Load model forming method for glitch analysis and storage medium
US6588002B1 (en) * 2001-08-28 2003-07-01 Conexant Systems, Inc. Method and system for predictive layout generation for inductors with reduced design cycle
US6721924B2 (en) * 2001-09-28 2004-04-13 Intel Corporation Noise and power optimization in high performance circuits
US6907586B1 (en) * 2001-10-02 2005-06-14 Lsi Logic Corporation Integrated design system and method for reducing and avoiding crosstalk
US6665847B1 (en) * 2001-10-05 2003-12-16 Cypress Semiconductor Corporation Accurate and realistic corner characterization of standard cells
US6760893B2 (en) * 2001-12-12 2004-07-06 Agilent Technologies, Inc. Using transition time checks to determine noise problems on signal lines of an integrated circuit
US6675365B2 (en) * 2001-12-14 2004-01-06 Intel Corporation Method and system for predicting worst-case capacitive and inductive switching vector
US6631506B1 (en) * 2002-04-02 2003-10-07 Hewlett-Packard Development Company, L.P. Method and apparatus for identifying switching race conditions in a circuit design
AU2003248557A1 (en) * 2002-06-07 2003-12-22 Cadence Design Systems, Inc. Shape based noise characterization and analysis of lsi
US6826736B2 (en) * 2002-06-07 2004-11-30 Cadence Design Systems, Inc. Shape based noise tolerance characterization and analysis of LSI
AU2003249656A1 (en) * 2002-06-07 2003-12-22 Cadence Design System, Inc. Shape based noise tolerance characterization and analysis of lsi
US7177783B2 (en) * 2002-06-07 2007-02-13 Cadence Design Systems, Inc. Shape based noise characterization and analysis of LSI
US20040049745A1 (en) * 2002-09-06 2004-03-11 Sun Microsystems, Inc. Method and apparatus for waiving noise violations
US6925616B2 (en) * 2002-10-04 2005-08-02 Sun Microsystems, Inc. Method to test power distribution system
US7263676B2 (en) * 2003-04-09 2007-08-28 Synopsys, Inc. Method and apparatus for detecting and analyzing the propagation of noise through an integrated circuit
US7043708B2 (en) * 2003-06-09 2006-05-09 Lsi Logic Corporation Intelligent crosstalk delay estimator for integrated circuit design flow
JP3974081B2 (en) * 2003-06-20 2007-09-12 株式会社東芝 Noise analysis system and noise analysis method
JP2005339060A (en) * 2004-05-25 2005-12-08 Nec Electronics Corp Crosstalk computing apparatus and crosstalk computing method
US7181716B1 (en) * 2004-05-28 2007-02-20 Sun Microsystems, Inc. Method and apparatus for generating circuit model for static noise analysis
US7254788B2 (en) * 2004-10-29 2007-08-07 Synopsys, Inc. Nonlinear driver model for multi-driver systems
US7346867B2 (en) * 2005-02-01 2008-03-18 International Business Machines Corporation Method for estimating propagation noise based on effective capacitance in an integrated circuit chip
US7889943B1 (en) * 2005-04-18 2011-02-15 Picture Code Method and system for characterizing noise
US8059905B1 (en) 2005-06-21 2011-11-15 Picture Code Method and system for thresholding
JP4600823B2 (en) * 2005-06-30 2010-12-22 富士通株式会社 Electronic circuit analysis program, method and apparatus
JP4637707B2 (en) * 2005-09-30 2011-02-23 富士通セミコンダクター株式会社 CIRCUIT DESIGN METHOD, CIRCUIT DESIGN SYSTEM, AND PROGRAM FOR CAUSING COMPUTER TO PROCESS IN THE CIRCUIT DESIGN METHOD
US7363604B2 (en) * 2005-09-30 2008-04-22 Texas Instruments Incorporated Accurate noise modeling in digital designs
US20070129924A1 (en) * 2005-12-06 2007-06-07 Verheyen Henry T Partitioning of tasks for execution by a VLIW hardware acceleration system
US7941775B2 (en) 2008-03-07 2011-05-10 International Business Machines Corporation Arbitrary waveform propagation through a logic gate using timing analysis results
US8077534B2 (en) * 2008-07-31 2011-12-13 International Business Machines Corporation Adaptive noise suppression using a noise look-up table
US8239801B2 (en) * 2008-12-31 2012-08-07 Lsi Corporation Architecturally independent noise sensitivity analysis of integrated circuits having a memory storage device and a noise sensitivity analyzer
US8606557B2 (en) * 2010-02-02 2013-12-10 International Business Machines Corporation Table lookup method for physics based models for SPICE-like simulators
US8302063B2 (en) * 2010-05-18 2012-10-30 International Business Machines Corporation Method and system to optimize semiconductor products for power, performance, noise, and cost through use of variable power supply voltage compression
US9053267B2 (en) * 2011-12-22 2015-06-09 Intel Corporation Noise analysis using timing models
US20150046891A1 (en) 2013-08-12 2015-02-12 International Business Machines Corporation Cross-Talk Noise Computation Using Mixed Integer Linear Program Problems And Their Solutions
JP6860518B2 (en) * 2018-03-20 2021-04-14 株式会社東芝 Circuit design support device and circuit design support method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535133A (en) 1995-02-09 1996-07-09 Unisys Corporation Method of fabricating IC chips with table look-up estimated crosstalk voltages being less than noise margin
US5568395A (en) * 1994-06-29 1996-10-22 Lsi Logic Corporation Modeling and estimating crosstalk noise and detecting false logic

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6449753B1 (en) * 2000-02-25 2002-09-10 Sun Microsystems, Inc. Hierarchical coupling noise analysis for submicron integrated circuit designs

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5568395A (en) * 1994-06-29 1996-10-22 Lsi Logic Corporation Modeling and estimating crosstalk noise and detecting false logic
US5535133A (en) 1995-02-09 1996-07-09 Unisys Corporation Method of fabricating IC chips with table look-up estimated crosstalk voltages being less than noise margin

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Ashok Vittal, et al.; Modeling Crosstalk in Resistive VLSI Interconnections, IEEE, VLSI Design, 1999, pp. 470-475.

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040162693A1 (en) * 2001-10-30 2004-08-19 Corr William E. Apparatus and method for determining effect of on-chip noise on signal propagation
US6925404B2 (en) * 2001-10-30 2005-08-02 Micron Technology, Inc. Apparatus and method for determining effect of on-chip noise on signal propagation
US20030145296A1 (en) * 2001-12-19 2003-07-31 Rajit Chandra Formal automated methodology for optimal signal integrity characterization of cell libraries
US20040103381A1 (en) * 2002-06-27 2004-05-27 Matsushita Elec. Ind. Co. Ltd. Semiconductor integrated circuit designing apparatus, semiconductor integrated circuit designing method, semiconductor integrated circuit manufacturing method, and readable recording media
US7139989B2 (en) * 2002-06-27 2006-11-21 Matsushita Electric Industrial Co., Ltd. Semiconductor integrated circuit designing apparatus, semiconductor integrated circuit designing method, semiconductor integrated circuit manufacturing method, and readable recording media
US20040015737A1 (en) * 2002-07-19 2004-01-22 Martin Robert J. Method and apparatus for automated signal integrity checking based on storage device functionality
US20040205680A1 (en) * 2003-04-09 2004-10-14 Entire Interest Method and apparatus for characterizing the propagation of noise through a cell in an integrated circuit
US7007252B2 (en) * 2003-04-09 2006-02-28 Synopsys, Inc. Method and apparatus for characterizing the propagation of noise through a cell in an integrated circuit
US20050060675A1 (en) * 2003-09-17 2005-03-17 Alexander Tetelbaum Method of noise analysis and correction of noise violations for an integrated circuit design
US7062731B2 (en) * 2003-09-17 2006-06-13 Lsi Logic Corporation Method of noise analysis and correction of noise violations for an integrated circuit design
US20060015831A1 (en) * 2004-07-16 2006-01-19 Texas Instruments Incorporated Minimizing Computational Complexity in Cell-level Noise Characterization
US7284212B2 (en) 2004-07-16 2007-10-16 Texas Instruments Incorporated Minimizing computational complexity in cell-level noise characterization
US7181711B2 (en) 2005-04-27 2007-02-20 International Business Machines Corporation Prioritizing of nets for coupled noise analysis
US20060248485A1 (en) * 2005-04-27 2006-11-02 International Business Machines Corporation Priortizing of nets for coupled noise analysis
US7644383B2 (en) 2005-06-30 2010-01-05 Texas Instruments Incorporated Method and system for correcting signal integrity crosstalk violations
US20070006106A1 (en) * 2005-06-30 2007-01-04 Texas Instruments Incorporated Method and system for desensitization of chip designs from perturbations affecting timing and manufacturability
US20070006109A1 (en) * 2005-06-30 2007-01-04 Texas Instruments Incorporated Method and system for correcting signal integrity crosstalk violations
US8104003B2 (en) 2007-12-28 2012-01-24 Fujitsu Limited Technique for creating analysis model and technique for creating circuit board model
US8042077B2 (en) * 2007-12-28 2011-10-18 Fujitsu Limited Technique for creating analysis model and technique for creating circuit board model
US20090172618A1 (en) * 2007-12-28 2009-07-02 Fujitsu Limited Technique for creating analysis model and technique for creating circuit board model
US8656327B2 (en) * 2009-03-06 2014-02-18 Synopsys, Inc. Statistical formal activity analysis with consideration of temporal and spatial correlations
US9195790B2 (en) 2009-03-06 2015-11-24 Synopsys, Inc. Statistical formal activity analysis with consideration of temporal and spatial correlations
US8707234B1 (en) 2012-11-09 2014-04-22 Lsi Corporation Circuit noise extraction using forced input noise waveform
US8719752B1 (en) 2013-01-22 2014-05-06 Lsi Corporation Hierarchical crosstalk noise analysis model generation
US10324122B2 (en) 2015-12-14 2019-06-18 International Business Machines Corporation Predicting noise propagation in circuits
US10527665B2 (en) 2015-12-14 2020-01-07 International Business Machines Corporation Predicting noise propagation in circuits
US10248753B2 (en) 2016-10-07 2019-04-02 International Business Machines Corporation Pessimism reduction in hierarchical blockage aggressors using estimated resistor and capacitor values
US10552570B2 (en) 2016-10-07 2020-02-04 International Business Machines Corporation Pessimism reduction in hierarchical blockage aggressors using estimated resistor and capacitor values

Also Published As

Publication number Publication date
US20030079191A1 (en) 2003-04-24
US6493853B1 (en) 2002-12-10

Similar Documents

Publication Publication Date Title
US6732339B2 (en) Cell-based noise characterization and evaluation
US6499131B1 (en) Method for verification of crosstalk noise in a CMOS design
US6363516B1 (en) Method for hierarchical parasitic extraction of a CMOS design
US6378109B1 (en) Method of simulation for gate oxide integrity check on an entire IC
US6253359B1 (en) Method for analyzing circuit delays caused by capacitive coupling in digital circuits
US7549134B1 (en) Method and system for performing crosstalk analysis
US7761828B2 (en) Partitioning electronic circuit designs into simulation-ready blocks
US7937256B2 (en) Systems and methods of efficient library characterization for integrated circuit cell libraries
US7890915B2 (en) Statistical delay and noise calculation considering cell and interconnect variations
US6499129B1 (en) Method of estimating performance of integrated circuit designs
US6327542B1 (en) System and method for approximating the coupling voltage noise on a node
US6014510A (en) Method for performing timing analysis of a clock circuit
US20070094623A1 (en) Timing, noise, and power analysis of integrated circuits
US6278964B1 (en) Hot carrier effect simulation for integrated circuits
US20080016477A1 (en) Method for Soft Error Modeling with Double Current Pulse
US6567773B1 (en) Use of static noise analysis for integrated circuits fabricated in a silicon-on-insulator process technology
US6587815B1 (en) Windowing scheme for analyzing noise from multiple sources
US20110099531A1 (en) Statistical delay and noise calculation considering cell and interconnect variations
Mohanram Simulation of transients caused by single-event upsets in combinational logic
US6550041B1 (en) Method and apparatus for evaluating the design quality of network nodes
US6601220B1 (en) Method for transistor-level calculation of the precharge time of domino logic circuits with unlocked evaluation paths
US8091052B2 (en) Optimization of post-layout arrays of cells for accelerated transistor level simulation
US6305003B1 (en) System and method for propagating clock nodes in a netlist of circuit design
Thaker et al. A test evaluation technique for VLSI circuits using register-transfer level fault modeling
US20200327207A1 (en) Transient Sensitivity Analysis

Legal Events

Date Code Title Description
STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12