US6832180B1 - Method for reducing noise in integrated circuit layouts - Google Patents
Method for reducing noise in integrated circuit layouts Download PDFInfo
- Publication number
- US6832180B1 US6832180B1 US09/430,350 US43035099A US6832180B1 US 6832180 B1 US6832180 B1 US 6832180B1 US 43035099 A US43035099 A US 43035099A US 6832180 B1 US6832180 B1 US 6832180B1
- Authority
- US
- United States
- Prior art keywords
- driver
- noise
- path length
- program instructions
- conductive paths
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
-
- 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/10—Noise analysis or noise optimisation
Definitions
- the present invention relates to noise problems in integrated circuits. More particularly, the present invention provides a method for inserting buffers into an integrated circuit layout during the place and route stage in order to reduce the overall noise introduced into conductive paths in a given design.
- a method for minimizing noise in an integrated circuit including choosing a net to be analyzed, determining that the total path length of conductive paths coupled to a driver within the net exceeds a maximum acceptable length for that driver according to the minimum acceptable noise levels for that given net, and inserting at least one buffer within the net at a position which is within the maximum acceptable length for conductive paths coupled to the driver.
- FIG. 1 is a block diagram of a prior art physical circuit layout having potential noise problems.
- FIG. 2 shows a prior art curve of noise amplitude vs. conductive path length.
- FIG. 3 is a flowchart depicting a method of the present invention.
- FIG. 4 shows the example of FIG. 1 after having placed buffers according to a method of the present invention.
- the present invention provides a method for correcting potentially noisy circuit layouts at the place and route stage during the process of converting an electronic design into a physical circuit layout.
- FIG. 1 is a block diagram of a prior art physical circuit layout having potential noise problems.
- layout 10 includes driver/receivers 12 and 14 coupled together using conductive path 16 . Further included are driver/receivers 18 and 20 , driver 22 and receiver 24 .
- Driver/receiver 18 is coupled to driver/receiver 20 using conductive path segments 26 and 28 . At the intersection of conductive path segments 26 and 28 , a conductive path segment 30 is coupled thereto.
- Driver 22 and receiver 24 are coupled to conductive path segments 32 and 34 respectively. Conductive path segments 32 and 34 are further coupled to conductive path segment 30 .
- the present invention analyzes each net (i.e., conducting path between connected drivers/receivers) individually to determine whether a given net is likely to have more than an acceptable level of noise coupled to it from external sources.
- External sources are considered to be anything other than net components such as driver/receiver combinations or drivers or receivers individually.
- the coupling capacitance between interconnects is a source of potential coupling noise problems
- the symptom of the noise peak is demonstrated at the output of the receiving cell.
- Different CMOS cells have differing tolerance for coupling noise impinging on their inputs. The choice for the maximum allowable wire length for noise violations to be prevented is therefore not only dependent on the strength of the victim and aggressor drivers, but also on the type of cell at the end of the victim interconnect.
- the present invention noise analysis is performed using well-known curves for various driver circuits of noise amplitude vs. the length of a conductive path coupled to that driver circuit. It is well-known that a conductive path of a given length being driven by a weak driver will have a higher susceptibility to noise than that same conductive path when driven by a stronger driver.
- FIG. 3 is a flowchart depicting a method of one embodiment of the present invention.
- the method begins at block 50 where a net is chosen for analysis. It is contemplated that all critical nets in a given design will be analyzed. However, not all nets in every design will necessarily be analyzed according to the present invention.
- the noise amplitude vs. distance i.e., conductor path length
- the acceptable noise levels previously determined for that given circuit type it is determined whether the net chosen at block 50 is likely to exceed the acceptable noise levels. That question is posed at block 54 , and if the chosen net is likely to exceed maximum acceptable noise levels, it is determined, at block 56 , whether a larger driver is available in the driver library which would solve the problem. If so, the method proceeds at block 58 where a larger driver is chosen to replace the previously determined weaker driver, thus solving the noise problem for this net.
- FIG. 2 An example of a larger driver solving the problem is seen in FIG. 2 where, in this example, the driver having the characteristics shown by curve 58 might have been originally chosen for the physical layout.
- point 60 on curve 58 represents the length of the conductive path being analyzed. It is easily seen that point 60 is above the acceptable noise level line 40 .
- curves 62 and 64 representing stronger drivers, for the same length of conductive path would result in acceptable noise levels as represented by points 66 and 68 respectively.
- a buffer is placed at a location which would increase signal levels on the net. Locations where buffers (i.e., drivers) are placed may be thought to be locations where the previous net ends and a new net begins. Thus, a buffer is placed at a location which would cause the conductive path between the driver and the buffer to be shorter than would otherwise have occurred. Since the conductive path is shorter, there is less susceptibility to noise.
- a conductive path includes all conductive path segments leaving a given driver, including all intersecting paths.
- the total length of conductive path segments between driver/receiver 18 and point 72 on conductive path segment 30 includes all of conductive path segment 26 , all of conductive path segment 28 , and that portion of conductive path 30 between point 72 and intersection point 74 .
- a net downstream from the stronger replacement driver inserted in block 58 may subsequently be found to have an unacceptable noise amplitude.
- one or more buffers can be inserted into the net downstream from the stronger driver as indicated in blocks 70 and 96 .
- driver/receiver 12 the net which includes driver/receiver 12 , driver/receiver 14 , and conductive path 16 has not been duplicated because it was previously determined that this net resulted in acceptable noise levels.
- the remaining net includes driver/receiver 18 and receiver 24 from FIG. 1, new driver/receiver 80 , and new driver 82 .
- driver/receiver 18 Assume now that it is time to analyze driver/receiver 18 and the conductive paths coupled thereto. Using the curve associated with driver/receiver 18 , a given maximum length for conductive paths coupled to driver/receiver 18 will be known because the maximum acceptable length for those conductive paths will have been determined by knowing the maximum acceptable noise level allowed on those conductive paths.
- conductive path segments 84 , 86 , 88 , and 90 add up to the maximum acceptable length for a conductive path coupled to driver/receiver 18 . It is acceptable then, to provide a buffer at any point on conductive paths 84 , 86 , 88 , or 90 .
- driver/receiver 18 and/or driver/receiver 80 determine if there are timing issues with respect to driver/receiver 18 and/or driver/receiver 80 which would make it more desirable to place a buffer in either conductive path segment 84 or either of conductive path segments 88 or 90 . If it is critical that signals being transmitted from driver/receiver 80 travel more quickly over the various conductive paths to, for example, receiver 24 , it would be more beneficial to place a required buffer within conductive path 84 , rather than, for example, within conductive path 86 .
- buffer 92 has been placed within conductive path 84 because it is necessary that signals from driver/receiver 80 arrive at receiver 24 as quickly as possible.
- the new question becomes whether the total conductive path length between the output of buffer (i.e., driver) 92 and the input to receiver 24 meets the previously defined criteria for noise.
- FIG. 2 curve to be used is that curve associated with buffer 92 .
- a new maximum acceptable path length will be determined from that curve, and it may be necessary to add a second buffer such as buffer 96 in FIG. 4 .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
Description
Claims (22)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/430,350 US6832180B1 (en) | 1999-10-29 | 1999-10-29 | Method for reducing noise in integrated circuit layouts |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/430,350 US6832180B1 (en) | 1999-10-29 | 1999-10-29 | Method for reducing noise in integrated circuit layouts |
Publications (1)
Publication Number | Publication Date |
---|---|
US6832180B1 true US6832180B1 (en) | 2004-12-14 |
Family
ID=33489290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/430,350 Expired - Lifetime US6832180B1 (en) | 1999-10-29 | 1999-10-29 | Method for reducing noise in integrated circuit layouts |
Country Status (1)
Country | Link |
---|---|
US (1) | US6832180B1 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010044709A1 (en) * | 2000-05-11 | 2001-11-22 | Fujitsu Limited | Noise countermeasure determination method and apparatus and storage medium |
US20040267994A1 (en) * | 2003-06-12 | 2004-12-30 | Arm Limited | Flexibility of design of a bus interconnect block for a data processing apparatus |
US20050132309A1 (en) * | 2003-12-16 | 2005-06-16 | Prashant Saxena | Automated noise convergence for cell-based integrated circuit design |
US20050141315A1 (en) * | 2003-12-25 | 2005-06-30 | Tomoyuki Yoda | System and method for adjusting noise |
US20050283750A1 (en) * | 2004-06-16 | 2005-12-22 | Fujitsu Limited | Method and apparatus for designing a layout, and computer product |
US20060026539A1 (en) * | 2004-07-28 | 2006-02-02 | Alexander Tetelbaum | Method of automated repair of crosstalk violations and timing violations in an integrated circuit design |
US20060136854A1 (en) * | 2004-12-21 | 2006-06-22 | International Business Machines Corporation | Method for placement of pipeline latches |
US7073140B1 (en) * | 2002-08-30 | 2006-07-04 | Cadence Design Systems, Inc. | Method and system for performing crosstalk analysis |
US20060271893A1 (en) * | 2005-05-26 | 2006-11-30 | International Business Machines Corporation | Method for isolating problem networks within an integrated circuit design |
US20090254874A1 (en) * | 2006-05-18 | 2009-10-08 | Subhasis Bose | Methods and systems for placement and routing |
US7921004B2 (en) | 2006-02-17 | 2011-04-05 | International Business Machines Corporation | Methods and apparatus for analyzing transmission lines with decoupling of connectors and other circuit elements |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5019724A (en) * | 1989-12-20 | 1991-05-28 | Sgs-Thomson Microelectronics, Inc. | Noise tolerant input buffer |
US5402356A (en) * | 1992-04-02 | 1995-03-28 | Vlsi Technology, Inc. | Buffer circuit design using back track searching of site trees |
US5596506A (en) * | 1995-02-09 | 1997-01-21 | Unisys Corporation | Method of fabricating IC chips with equation estimated peak crosstalk voltages being less than noise margin |
US5666288A (en) * | 1995-04-21 | 1997-09-09 | Motorola, Inc. | Method and apparatus for designing an integrated circuit |
US5799170A (en) * | 1996-06-18 | 1998-08-25 | International Business Machines Corporation | Simplified buffer manipulation using standard repowering function |
US5838581A (en) * | 1995-09-29 | 1998-11-17 | Nec Corporation | Layout system for logic circuit |
US5859776A (en) * | 1995-08-18 | 1999-01-12 | Sony Corporation | Method and apparatus for the design of a circuit |
US6044209A (en) * | 1997-09-15 | 2000-03-28 | International Business Machines Corporation | Method and system for segmenting wires prior to buffer insertion |
US6117182A (en) * | 1998-06-12 | 2000-09-12 | International Business Machines Corporation | Optimum buffer placement for noise avoidance |
US6341365B1 (en) * | 1999-09-15 | 2002-01-22 | International Business Machines Corporation | Method for automating the placement of a repeater device in an optimal location, considering pre-defined blockages, in high frequency very large scale integration/ultra large scale integration (VLSI/ULSI) electronic designs |
US6405350B1 (en) * | 1997-07-18 | 2002-06-11 | Nec Corporation | System and method for improving crosstalk errors via the insertion of delay gates |
-
1999
- 1999-10-29 US US09/430,350 patent/US6832180B1/en not_active Expired - Lifetime
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5019724A (en) * | 1989-12-20 | 1991-05-28 | Sgs-Thomson Microelectronics, Inc. | Noise tolerant input buffer |
US5402356A (en) * | 1992-04-02 | 1995-03-28 | Vlsi Technology, Inc. | Buffer circuit design using back track searching of site trees |
US5596506A (en) * | 1995-02-09 | 1997-01-21 | Unisys Corporation | Method of fabricating IC chips with equation estimated peak crosstalk voltages being less than noise margin |
US5666288A (en) * | 1995-04-21 | 1997-09-09 | Motorola, Inc. | Method and apparatus for designing an integrated circuit |
US5859776A (en) * | 1995-08-18 | 1999-01-12 | Sony Corporation | Method and apparatus for the design of a circuit |
US5838581A (en) * | 1995-09-29 | 1998-11-17 | Nec Corporation | Layout system for logic circuit |
US5799170A (en) * | 1996-06-18 | 1998-08-25 | International Business Machines Corporation | Simplified buffer manipulation using standard repowering function |
US6405350B1 (en) * | 1997-07-18 | 2002-06-11 | Nec Corporation | System and method for improving crosstalk errors via the insertion of delay gates |
US6044209A (en) * | 1997-09-15 | 2000-03-28 | International Business Machines Corporation | Method and system for segmenting wires prior to buffer insertion |
US6117182A (en) * | 1998-06-12 | 2000-09-12 | International Business Machines Corporation | Optimum buffer placement for noise avoidance |
US6341365B1 (en) * | 1999-09-15 | 2002-01-22 | International Business Machines Corporation | Method for automating the placement of a repeater device in an optimal location, considering pre-defined blockages, in high frequency very large scale integration/ultra large scale integration (VLSI/ULSI) electronic designs |
Non-Patent Citations (10)
Title |
---|
Alpert et al.; "Buffer insertion for noise and delay optimization"; IEEE Proc. 98 Design Automation Conf.; pp. 362-367; Jun. 1998.* * |
Cong; "Modeling and layout optimization of VLSI devices and interconnects in deep submicron design"; IEEE 97 Design Automation Conf.; pp. 121-126; Jan. 1997.* * |
Culetu et al.; "A practical repeater insertion method in high speed VLSI circuits"; IEEE 98 Design Automation Conf.; pp. 392-395; Jun. 1998.* * |
Davis et al.; Length, scaling, and material dependence of crosstalk between distributed RC Interconnects; IEEE Int. Conf. Interconnect Tech.; pp. 227-229; May 1999.* * |
Dhar et al.; "Optimun buffer circuits for driving long uniforn lines"; IEEE J. Solid State Ckts; pp. 32-40; Jan. 1991.* * |
Li et al.; "A repeater optimization methodology for deep sub-micron high performance processors"; IEEE Int. Conf. ICCD Proceedings; pp. 726-731; Oct. 1997.* * |
Lillis et al.: "Optimal wire sizing and buffer insertion for low power and a generalized delay model"; IEEE; pp. 437-447; Mar. 1996.* * |
Oh et al.; A scaling scheme and optimization methodology for deep sub-micron interconnect; IEEE Int. Conf. Computer Design; pp. 320-325; Oct. 1996.* * |
Shah et al.; "Wiresizing with buffer placement and sizing for power-delay tradoffs"; IEEE 96 Proc. Design Automation Conf; pp. 346-351; Jan. 1996. * |
Yang et al.; Deep submicron on-chip crosstalk; IEEE Proc. 16th Inst. Meas. Tech. Conf.; pp. 1788-1793; May 1999.* * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010044709A1 (en) * | 2000-05-11 | 2001-11-22 | Fujitsu Limited | Noise countermeasure determination method and apparatus and storage medium |
US7280953B2 (en) * | 2000-05-11 | 2007-10-09 | Fujitsu Limited | Noise countermeasure determination method and apparatus and storage medium |
US7549134B1 (en) * | 2002-08-30 | 2009-06-16 | Cadence Design Systems, Inc. | Method and system for performing crosstalk analysis |
US7073140B1 (en) * | 2002-08-30 | 2006-07-04 | Cadence Design Systems, Inc. | Method and system for performing crosstalk analysis |
US20040267994A1 (en) * | 2003-06-12 | 2004-12-30 | Arm Limited | Flexibility of design of a bus interconnect block for a data processing apparatus |
US7117277B2 (en) * | 2003-06-12 | 2006-10-03 | Arm Limited | Flexibility of design of a bus interconnect block for a data processing apparatus |
US7266792B2 (en) * | 2003-12-16 | 2007-09-04 | Intel Corporation | Automated noise convergence for cell-based integrated circuit design |
US20050132309A1 (en) * | 2003-12-16 | 2005-06-16 | Prashant Saxena | Automated noise convergence for cell-based integrated circuit design |
US20050141315A1 (en) * | 2003-12-25 | 2005-06-30 | Tomoyuki Yoda | System and method for adjusting noise |
US20050283750A1 (en) * | 2004-06-16 | 2005-12-22 | Fujitsu Limited | Method and apparatus for designing a layout, and computer product |
US7367005B2 (en) * | 2004-06-16 | 2008-04-29 | Fujitsu Limited | Method and apparatus for designing a layout, and computer product |
US20060026539A1 (en) * | 2004-07-28 | 2006-02-02 | Alexander Tetelbaum | Method of automated repair of crosstalk violations and timing violations in an integrated circuit design |
US20060136854A1 (en) * | 2004-12-21 | 2006-06-22 | International Business Machines Corporation | Method for placement of pipeline latches |
US20060271893A1 (en) * | 2005-05-26 | 2006-11-30 | International Business Machines Corporation | Method for isolating problem networks within an integrated circuit design |
US7506276B2 (en) * | 2005-05-26 | 2009-03-17 | International Business Machines Corporation | Method for isolating problem networks within an integrated circuit design |
US7921004B2 (en) | 2006-02-17 | 2011-04-05 | International Business Machines Corporation | Methods and apparatus for analyzing transmission lines with decoupling of connectors and other circuit elements |
US20090254874A1 (en) * | 2006-05-18 | 2009-10-08 | Subhasis Bose | Methods and systems for placement and routing |
US8332793B2 (en) * | 2006-05-18 | 2012-12-11 | Otrsotech, Llc | Methods and systems for placement and routing |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6832180B1 (en) | Method for reducing noise in integrated circuit layouts | |
US7207022B2 (en) | Layout design method for semiconductor integrated circuits | |
US7367004B2 (en) | Crosstalk error control apparatus, method, and program | |
US7644383B2 (en) | Method and system for correcting signal integrity crosstalk violations | |
US6993470B2 (en) | Method of evaluating test cases in a simulation environment by harvesting | |
CN114861578B (en) | Method, device, equipment and storage medium for repairing hold time violation | |
CN114841104A (en) | Time sequence optimization circuit and method, chip and electronic equipment | |
CN117688893B (en) | Chip conversion time violation repairing method and device, electronic equipment and storage medium | |
US5909374A (en) | System and method for verifying logic circuit based on signal line set affecting internal signal | |
US7148135B2 (en) | Method of designing low-power semiconductor integrated circuit | |
US20010044709A1 (en) | Noise countermeasure determination method and apparatus and storage medium | |
CN101527662B (en) | Method for optimizing high-speed channel and device thereof | |
US8201120B2 (en) | Timing point selection for a static timing analysis in the presence of interconnect electrical elements | |
CN116702664B (en) | Time violation repairing method and device, computer equipment and storage medium | |
US20020129341A1 (en) | Selective expansion of high-level design language macros for automated design modification | |
US12073160B1 (en) | Dynamic voltage drop model for timing analysis | |
US20080244484A1 (en) | Circuit design verification system, method and medium | |
US6499125B1 (en) | Method for inserting test circuit and method for converting test data | |
US6188934B1 (en) | Register correspondence method using I/O terminals, determined registers, the number of undetermined registers and self-feedback information to define unique registers | |
US20040139409A1 (en) | Automatic circuit design apparatus and computer-implemented automatic circuit design method | |
US7672827B1 (en) | Method and system for simulation of analog/digital interfaces with analog tri-state ioputs | |
US20030188272A1 (en) | Synchronous assert module for hardware description language library | |
US20050097491A1 (en) | Integrated circuit design method and system | |
US20030018949A1 (en) | Method and apparatus for laying out wires on a semiconductor integrated circuit | |
US20030159121A1 (en) | Variable stage ratio buffer insertion for noise optimization in a logic network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SUN MICROSYSTEMS, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SUTERA, MASSIMO;REEL/FRAME:010530/0704 Effective date: 19991014 |
|
AS | Assignment |
Owner name: SUN MICROSYSTEMS, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SUTERA, MASSIMO;SMITH, ALAN;REEL/FRAME:013950/0725 Effective date: 19991014 |
|
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 |
|
AS | Assignment |
Owner name: ORACLE AMERICA, INC., CALIFORNIA Free format text: MERGER AND CHANGE OF NAME;ASSIGNORS:ORACLE USA, INC.;SUN MICROSYSTEMS, INC.;ORACLE AMERICA, INC.;REEL/FRAME:037278/0790 Effective date: 20100212 |
|
FPAY | Fee payment |
Year of fee payment: 12 |