US8584066B1 - System and method for generating a wire model - Google Patents

System and method for generating a wire model Download PDF

Info

Publication number
US8584066B1
US8584066B1 US13/603,052 US201213603052A US8584066B1 US 8584066 B1 US8584066 B1 US 8584066B1 US 201213603052 A US201213603052 A US 201213603052A US 8584066 B1 US8584066 B1 US 8584066B1
Authority
US
United States
Prior art keywords
wire
parasitic
file
configuration file
component values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
US13/603,052
Inventor
Hendrik Thomas Mau
Guntram Jummel
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.)
GlobalFoundries US Inc
Original Assignee
GlobalFoundries 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 GlobalFoundries Inc filed Critical GlobalFoundries Inc
Priority to US13/603,052 priority Critical patent/US8584066B1/en
Assigned to GLOBALFOUNDRIES INC. reassignment GLOBALFOUNDRIES INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: JUMMEL, GUNTRAM, MAU, HENDRIK THOMAS
Priority to TW102106169A priority patent/TWI483133B/en
Priority to CN201310397249.6A priority patent/CN103678755B/en
Application granted granted Critical
Publication of US8584066B1 publication Critical patent/US8584066B1/en
Assigned to WILMINGTON TRUST, NATIONAL ASSOCIATION reassignment WILMINGTON TRUST, NATIONAL ASSOCIATION SECURITY AGREEMENT Assignors: GLOBALFOUNDRIES INC.
Assigned to GLOBALFOUNDRIES U.S. INC. reassignment GLOBALFOUNDRIES U.S. INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GLOBALFOUNDRIES INC.
Assigned to GLOBALFOUNDRIES INC. reassignment GLOBALFOUNDRIES INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: WILMINGTON TRUST, NATIONAL ASSOCIATION
Assigned to GLOBALFOUNDRIES U.S. INC. reassignment GLOBALFOUNDRIES U.S. INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: WILMINGTON TRUST, NATIONAL ASSOCIATION
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/16Cables, cable trees or wire harnesses

Definitions

  • Embodiments of the subject matter described herein relate generally to integrated circuit design. More particularly, embodiments of the subject matter described herein relate to a system and method for generating a wire model for signal integrity analysis and functional design verification.
  • a simplified process for fabricating an integrated circuit comprises the steps of developing a product idea, designing a circuit, fabricating the circuit, packing and assembling the product.
  • the circuit design process can be further refined to include the steps of refining the product idea, creating a logic schematic, and verifying the functionality of a circuit layout.
  • circuit layouts more frequently fail to meet design requirements during functional verification of the circuit layout. These failures may be due to the close proximity of the circuit elements, which increases parasitic components (e.g., parasitic capacitance, parasitic resistance and parasitic inductance).
  • the parasitic components delay the propagation of electrical signals through the circuit and may cause signal integrity problems, preventing the circuit from meeting the design requirements. If the circuit design fails to meet the design requirements, the designer must modify the circuit design and retest the new design until all design requirements are met. This repetitive process adds additional cost to the process and delays the completion of the design.
  • a wire model may be utilized to determine the parasitic effects of the circuit design, in order to help avoid expensive redesign later in the design process. Silicon foundries or cell library vendors may develop the wire model from statistical information taken from various sample designs. However, in specific designs, a wire model may not be available, and the designer may be required to know the distributed resistance and capacitances of the wires. In addition, the wire models are complex, cumbersome, and time consuming to develop and use.
  • a method for generating a wire model comprises generating a wire configuration file.
  • the parasitic component values are determined from the wire configuration file and used to construct a table model incorporating the parasitic component values to calculate the signal integrity of a circuit.
  • the system comprises a processor coupled to a display device, a user input device, and a storage device.
  • the processor is configured to (1) generate a wire configuration file, (2) determine parasitic component values from the wire configuration file, and (3) construct a table model from the parasitic component values.
  • FIGS. 1 and 2 are flow charts illustrating the various steps in the design and fabrication of an integrated circuit in accordance with an embodiment
  • FIG. 3 is an exemplary embodiment of a process for generating a wire model
  • FIG. 4 is an exemplary embodiment of a system for generating a wire model.
  • a system and method for generating a wire model to determine the signal integrity issues e.g., signal delay, cross talk, and signal IR drop
  • parasitic components e.g., parasitic capacitance, parasitic resistance and parasitic inductance
  • This may be accomplished in accordance with an embodiment by generating a wire configuration, determining the parasitic component values from the wire configuration, and constructing a table model that uses the parasitic component values. This will allow designers to generate a wire model that is tailored to their requirements without the generation process to be to complex, cumbersome, and time consuming.
  • FIG. 1 is a flow chart 100 that illustrates simplified and exemplary steps in the design and fabrication of an integrated circuit in accordance with an embodiment.
  • a product idea is developed, (STEP 102 ) including a set of desired capabilities.
  • a circuit is then designed (STEP 104 ) to meet the set of desired capabilities (STEP 102 ), this process is further described in FIG. 2 .
  • the circuit design is then fabricated (STEP 106 ), packaged (STEP 108 ), and assembled (STEP 110 ). It is to be understood that this description is not meant to limit the present embodiment and is for illustrative purposes only. The described steps may be performed in a different sequence or not at all depending on the individual requirements of the design.
  • FIG. 2 is a flow chart 200 that further describes the circuit design process (STEP 102 , FIG. 1 ).
  • the product idea (STEP 102 , FIG. 1 ) is refined into a set of design requirements (STEP 202 ).
  • the design requirements may include the functionality of the designed block, limits on delay times, silicon area, power consumption/dissipation, and etc. Trade-offs may have to be made between certain design requirements. For example, the dimensions of the transistors may have to be increased in order to reduce the time delays. During this step, the designer may have a considerable amount of freedom to design the circuit, due to the fact there are multiple different ways of implementing a circuit design.
  • a logic schematic is created from the system design requirements (STEP 204 ).
  • a schematic editor may be employed to transform a high level description of the circuit into a transistor-level or gate-level schematic.
  • the logic schematic must accurately describe the electrical properties of all components and their interconnects. This is because the logic schematic will be used to create a corresponding netlist that will be tested to determine if the circuit design meets the design requirements (STEP 202 ).
  • a simulator is used to verify that the logic schematic (STEP 206 ) meets the design requirements (STEP 202 ).
  • Each circuit element e.g., resistors, capacitors, and inductors
  • Each circuit element has individual resistances, capacitances and inductances that are associated with each circuit element.
  • parasitic components e.g., parasitic capacitance, parasitic resistance
  • parasitic components are undesirable effects resulting from the close proximity of circuit elements in an integrated circuit. Such undesirable effects include reducing the speed that electrical signals propagate through the circuit, possibility resulting in the failure of the circuit to meet the design requirements.
  • an embodiment of a wire model is employed to estimate the impact of the parasitic components as is described in connection with FIG. 3 below.
  • a physical implementation of circuit elements (e.g. resistors, capacitors, and inductors) (STEP 208 ) is created to represent the logic schematic.
  • the circuit will be fabricated from this physical implementation.
  • a design rule checking tool e.g. Calibre or SNPS Hercules
  • the design rules help to ensure that the fabrication of the circuit is possible and that there is a low probability of fabrication defects.
  • the physical implementation is then verified (STEP 210 ) to ensure that it meets all circuit design requirements (STEP 112 , FIG. 1 ).
  • a simulator is utilized to detect the electrical performance and functionality of an extracted netlist from the physical implementation. The simulator can accurately predict the signal integrity of the physical implementation to determine if the design requirements are met.
  • FIG. 3 is a flow chart 300 illustrating an exemplary process for generating a wire model.
  • a technology e.g., twenty nanometers (nm), twenty-eight nm, thirty-two nm, and etc.
  • STEP 302 is selected to be used in the fabricating the circuit.
  • Each fabrication process has specific requirements that define the fabrication process. For example, the twenty-two nm manufacturing process requires that half the distance between identical features be substantially twenty-two nm. Other requirements of the fabrication process may include wire width and wire length.
  • the technology parameters and their ranges can be individually selected (STEP 304 ), to allow the embodiment of the wire model to be tailored to the specific requirements of the design.
  • the ranges of the technology parameters are based on the design requirements and the selected technology (STEP 302 ).
  • the technology parameters may include properties of the target wire, properties of neighbor wires, properties of adjacent layers, and other suitable technology parameters.
  • the parasitic component values will be determined from an individual wire (e.g. target wire).
  • the target wire technology parameters may include a target layer parameter (e.g., the composition), a wire width parameter (e.g., the physical width), and a wire length parameter (e.g., the physical length).
  • the adjacent layers technology parameters may include an above layer parameter and below layer parameter (e.g., the composition of the layers above and below the target wire, respectively).
  • the model may include a density above parameter and density below parameter (e.g., the ratio of wire width to the spacing above and below the target wire, respectively).
  • the neighbor wires technology parameters may include a spacing left parameter and spacing right parameter (e.g., the physical distance from the neighbor wire to the target wire).
  • the model may include a width of left parameter and width of right parameter (e.g., the physical width of the left and right neighbor wires, respectively).
  • a wire configuration is provided (STEP 306 ) for determining parasitic component values.
  • the provided wire configuration may be comprised of five wires, two wires to the left and two wires to the right of the target wire.
  • the wire configuration may be further defined with a perpendicular wire above and below the target wire. This specific configuration may be chosen due to the fact lithography limitations define the fabrication process which impacts both the wire width and spacing parameters. Each of these parameters contribute to the parasitic component values of the given wire configuration.
  • a processor 406 ( FIG. 4 ) is configured to populate a wire configuration file (STEP 308 ) using a parameterized cell generator (PCell).
  • the PCell will generate the file from the wire configuration (STEP 306 ) and the selected technology parameters (STEP 304 ).
  • the detailed netlist is then saved in a Design Exchange Format (DEF), Graphic Database System II (GDSII), Open Artwork System Interchange Standard (OASIS), OpenAccess, or any other suitable file formats. All of these formats may be accepted by a field solving program to calculate the parasitic component values.
  • the DEF file is an open specification for representing a netlist and circuit layout of an integrated circuit in an ASCII format.
  • the GDSII and OASIS are file formats that are used to represent geometric shapes.
  • GDSII is a binary file format for representing planar geometric shapes, text labels, and other information about the layout in hierarchical form. While OASIS represents shapes such as polygons, rectangles and trapezoids and defines properties each shape can have, how they can be organized, and location in relation to each other.
  • the OpenAccess format has been developed, deployed and has supported an open-sourced design database with shared controls.
  • the parasitic component values are determined (STEP 310 ) from the wire configuration file by utilizing a field solving program (e.g., Rapid3D).
  • the field solving program extracts the parasitic component values by solving a form of Maxwell's equations.
  • Maxwells' equations are typically solved by one of three different methods.
  • the first method uses a differential form of the governing equations and requires discretization of the entire domain in which the electromagnetic fields reside. While, most circuit design extraction problems are exterior problems, this method requires a solution to an extremely large number of elements in the discretization.
  • the second method uses integral equations and requires a discretization for only the sources of the electromagnetic field. This method may require less complicated calculations but may lack the accuracy required for complex circuit designs.
  • the third method is a random-walk method that uses both the differential and integral forms of the equations to reach a solution. The third method provides the required accuracy for complex circuit designs, while limiting the total number of elements that are required to be solved.
  • the parasitic component values are saved in a parasitic extraction file (STEP 312 ) in a Standard Parasitic Exchange Format (SPEF) or Detailed Standard Parasitic Format (DSPF) format.
  • SPEF Standard Parasitic Exchange Format
  • DSPF Detailed Standard Parasitic Format
  • the SPEF and DSPF are Institute of Electrical and Electronics Engineers (IEEE) standard format for representing parasitic data of wires in an integrated circuit in an ASCII format.
  • This file format is a standard format that the field solving program can export the determined parasitic component values.
  • the parasitic component values are extracted from the data strings contained in the parasitic extraction file.
  • the data strings are split based on punctuation contained in each data string and are saved in a Verilog-A table.
  • a Verilog-A model (STEP 314 ) incorporates the Verilog-A table and will be used in a simulation program with integrated circuit emphasis (SPICE) to calculate the signal integrity caused by the parasitic component values. If for a given wire configuration, data is missing from the Verilog-A table, the Verilog-A model will perform an interpolation function to estimate the missing values. However, if the missing data is outside of the discretized area, the embodied wire model has been created to throw an error. This ensures that there are no undetected inaccuracies when using the embodied wire model.
  • FIG. 4 illustrates a system 300 that can generate a wire model including a user interface 302 , one or more display devices 304 , a processor 306 , and a data source 308 .
  • the user interface 302 is in operable communication with the processor 306 and is configured to receive input from a user and, in response to the user input, supplies command signals to the processor 306 . For example, the user will enter various commands through the user interface 302 to control the processor to generate a wire configuration file.
  • the user interface 302 may be any one, or combination, of various known user interface devices including, but not limited to, one or more keyboards, curser controllers, buttons, switches, or knobs.
  • the processor 306 may be implemented or realized with a general purpose processor, a content addressable memory, a digital signal processor, an application specific integrated circuit, a field programmable gate array, any suitable programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination designed to perform the functions described herein.
  • a processor device may be realized as a microprocessor, a controller, a microcontroller, or a state machine.
  • a processor device may be implemented as a combination of computing devices, e.g., a combination of a digital signal processor and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a digital signal processor core, or any other such configuration.
  • the processor 306 includes on-board RAM (random access memory) 310 , and on-board ROM (read-only memory) 312 .
  • the program instructions that control the processor 306 may be stored in either or both the RAM 310 and the ROM 312 .
  • the operating system software may be stored in the ROM 312
  • various operating software may be stored in the RAM 310 . It will be appreciated that this is merely exemplary of one scheme for storing operating system software and software programs, and that various other storage schemes may be implemented.
  • the memory 310 and 312 may be realized as RAM memory, flash memory, EPROM memory, EEPROM memory, registers, or any other suitable storage medium.
  • the memory 310 , 312 can be coupled to the processor 306 such that the processor 306 can read information from, and write information to, the memory 310 , 312 .
  • the memory may be integrated into the processor 306 .
  • the processor 306 and the memory 310 , 312 may reside in an ASIC. No matter how the processor is specifically implemented, it is in operable communication with the software databases 308 , and the display devices 304 .
  • the processor 306 is configured, to generate a wire configuration file, determine parasitic component values from the wire configuration file, and construct a table model from the parasitic component values in response to commands from the user through the user interface devices 302 .
  • the display devices 304 in response to the user commands, will selectively render various types of textual, graphic, and/or iconic information to inform the user of the inputted commands.
  • the display devices 304 in response the user commands, selectively render various textual, graphic, and/or iconic information, and thereby supplies visual feedback to the user.
  • the display device 304 may be implemented using any one of numerous known display devices suitable for rendering textual, graphic, and/or iconic information in a format viewable by the user.
  • Non-limiting examples of such display devices include various cathode ray tube (CRT) displays, and various flat screen displays such as various types of LCD (liquid crystal display) and TFT (thin film transistor) displays.
  • the display devices 304 may additionally be implemented as a screen mounted display, or any one of numerous known technologies.
  • the wire model allows for estimation of the signal integrity of an integrated circuit early in the circuit design process without using complex functions.
  • the accuracy of the model varied depending on given requirements. This allows for efficient formation of the design to help ensure that the design schedule deadlines are met.
  • the wire model can provide the designer with information prior to the logic design step, of restrictions are imposed in a given technology. This information will help the designer to make informed decisions about circuit design requirements and to predict the design trade-offs.

Landscapes

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

Abstract

An exemplary embodiment of a system and a method for generating a wire model is provided. The system comprises a processor coupled to a display device, a user input device, and a storage device. The processor is configured to (1) generate a wire configuration file, (2) determine parasitic component values from the wire configuration file, and (3) construct a table model from the parasitic component values.

Description

TECHNICAL FIELD
Embodiments of the subject matter described herein relate generally to integrated circuit design. More particularly, embodiments of the subject matter described herein relate to a system and method for generating a wire model for signal integrity analysis and functional design verification.
BACKGROUND
A simplified process for fabricating an integrated circuit comprises the steps of developing a product idea, designing a circuit, fabricating the circuit, packing and assembling the product. The circuit design process can be further refined to include the steps of refining the product idea, creating a logic schematic, and verifying the functionality of a circuit layout. As manufacturing processes have decreased below 50 nanometers, circuit layouts more frequently fail to meet design requirements during functional verification of the circuit layout. These failures may be due to the close proximity of the circuit elements, which increases parasitic components (e.g., parasitic capacitance, parasitic resistance and parasitic inductance). The parasitic components delay the propagation of electrical signals through the circuit and may cause signal integrity problems, preventing the circuit from meeting the design requirements. If the circuit design fails to meet the design requirements, the designer must modify the circuit design and retest the new design until all design requirements are met. This repetitive process adds additional cost to the process and delays the completion of the design.
A wire model may be utilized to determine the parasitic effects of the circuit design, in order to help avoid expensive redesign later in the design process. Silicon foundries or cell library vendors may develop the wire model from statistical information taken from various sample designs. However, in specific designs, a wire model may not be available, and the designer may be required to know the distributed resistance and capacitances of the wires. In addition, the wire models are complex, cumbersome, and time consuming to develop and use.
Considering the foregoing, it would be desirable to provide a system and method for generating a wire model without complex functions that would allow a designer to vary the accuracy of the model depending on given requirements. Furthermore, other desirable features and characteristics will become apparent from the following detailed description and the appended claims taken in conjunction with the accompanying drawings and this Background.
BRIEF SUMMARY
In an exemplary embodiment, a method for generating a wire model is provided. The method comprises generating a wire configuration file. The parasitic component values are determined from the wire configuration file and used to construct a table model incorporating the parasitic component values to calculate the signal integrity of a circuit.
Also provided is an exemplary method for generating a wire model by providing a wire geometry and selecting a technology having a plurality of technology parameters. A range for each one of the plurality of technology parameters are defined. A wire configuration file is then created from the wire configuration and the plurality of technology parameters. Parasitic component values are determined from the wire configuration file and incorporated into a Verilog-A table model to calculate the signal integrity of a circuit.
Furthermore, an exemplary embodiment of a system for generating a wire model is provided. The system comprises a processor coupled to a display device, a user input device, and a storage device. The processor is configured to (1) generate a wire configuration file, (2) determine parasitic component values from the wire configuration file, and (3) construct a table model from the parasitic component values.
BRIEF DESCRIPTION OF THE DRAWINGS
A more complete understanding of the subject matter may be derived by referring to the detailed description and claims when considered in conjunction with the following figures, wherein like reference numerals refer to similar elements throughout the figures, and wherein:
FIGS. 1 and 2 are flow charts illustrating the various steps in the design and fabrication of an integrated circuit in accordance with an embodiment;
FIG. 3 is an exemplary embodiment of a process for generating a wire model; and
FIG. 4 is an exemplary embodiment of a system for generating a wire model.
DETAILED DESCRIPTION
The following detailed description of the invention is merely illustrative in nature and is not intended to limit the embodiments of the subject matter or the application and uses of such embodiments. As used herein, the word “exemplary” means “serving as an example, instance or illustration.” Any implementation described herein as exemplary is not necessarily to be construed as preferred or advantageous over other implementations. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the preceding Technical Field, Background, Brief Summary or the following Detailed Description.
As stated previously, it would be desirable to provide a system and method for generating a wire model to determine the signal integrity issues (e.g., signal delay, cross talk, and signal IR drop) caused by parasitic components (e.g., parasitic capacitance, parasitic resistance and parasitic inductance) in an integrated circuit. This may be accomplished in accordance with an embodiment by generating a wire configuration, determining the parasitic component values from the wire configuration, and constructing a table model that uses the parasitic component values. This will allow designers to generate a wire model that is tailored to their requirements without the generation process to be to complex, cumbersome, and time consuming.
FIG. 1 is a flow chart 100 that illustrates simplified and exemplary steps in the design and fabrication of an integrated circuit in accordance with an embodiment. A product idea is developed, (STEP 102) including a set of desired capabilities. A circuit is then designed (STEP 104) to meet the set of desired capabilities (STEP 102), this process is further described in FIG. 2. The circuit design is then fabricated (STEP 106), packaged (STEP 108), and assembled (STEP 110). It is to be understood that this description is not meant to limit the present embodiment and is for illustrative purposes only. The described steps may be performed in a different sequence or not at all depending on the individual requirements of the design.
FIG. 2 is a flow chart 200 that further describes the circuit design process (STEP 102, FIG. 1). The product idea (STEP 102, FIG. 1) is refined into a set of design requirements (STEP 202). The design requirements may include the functionality of the designed block, limits on delay times, silicon area, power consumption/dissipation, and etc. Trade-offs may have to be made between certain design requirements. For example, the dimensions of the transistors may have to be increased in order to reduce the time delays. During this step, the designer may have a considerable amount of freedom to design the circuit, due to the fact there are multiple different ways of implementing a circuit design.
A logic schematic is created from the system design requirements (STEP 204). A schematic editor may be employed to transform a high level description of the circuit into a transistor-level or gate-level schematic. The logic schematic must accurately describe the electrical properties of all components and their interconnects. This is because the logic schematic will be used to create a corresponding netlist that will be tested to determine if the circuit design meets the design requirements (STEP 202).
A simulator is used to verify that the logic schematic (STEP 206) meets the design requirements (STEP 202). Each circuit element (e.g., resistors, capacitors, and inductors) has individual resistances, capacitances and inductances that are associated with each circuit element. However, based on the vertical and lateral spacing of circuit elements parasitic components (e.g., parasitic capacitance, parasitic resistance) may be created and add to the overall resistance and capacitance of the circuit. Parasitic components are undesirable effects resulting from the close proximity of circuit elements in an integrated circuit. Such undesirable effects include reducing the speed that electrical signals propagate through the circuit, possibility resulting in the failure of the circuit to meet the design requirements. To help ensure that the parasitic components can be accounted for at this design stage, an embodiment of a wire model is employed to estimate the impact of the parasitic components as is described in connection with FIG. 3 below.
A physical implementation of circuit elements (e.g. resistors, capacitors, and inductors) (STEP 208) is created to represent the logic schematic. The circuit will be fabricated from this physical implementation. A design rule checking tool (e.g. Calibre or SNPS Hercules) is then used to verify that the physical implementation conforms to a set of design rules. The design rules help to ensure that the fabrication of the circuit is possible and that there is a low probability of fabrication defects. The physical implementation is then verified (STEP 210) to ensure that it meets all circuit design requirements (STEP 112, FIG. 1). A simulator is utilized to detect the electrical performance and functionality of an extracted netlist from the physical implementation. The simulator can accurately predict the signal integrity of the physical implementation to determine if the design requirements are met.
FIG. 3 is a flow chart 300 illustrating an exemplary process for generating a wire model. A technology (e.g., twenty nanometers (nm), twenty-eight nm, thirty-two nm, and etc.) is selected (STEP 302) to be used in the fabricating the circuit. Each fabrication process has specific requirements that define the fabrication process. For example, the twenty-two nm manufacturing process requires that half the distance between identical features be substantially twenty-two nm. Other requirements of the fabrication process may include wire width and wire length.
The technology parameters and their ranges can be individually selected (STEP 304), to allow the embodiment of the wire model to be tailored to the specific requirements of the design. The ranges of the technology parameters are based on the design requirements and the selected technology (STEP 302). The technology parameters may include properties of the target wire, properties of neighbor wires, properties of adjacent layers, and other suitable technology parameters. The parasitic component values will be determined from an individual wire (e.g. target wire). The target wire technology parameters may include a target layer parameter (e.g., the composition), a wire width parameter (e.g., the physical width), and a wire length parameter (e.g., the physical length). The adjacent layers technology parameters may include an above layer parameter and below layer parameter (e.g., the composition of the layers above and below the target wire, respectively). In addition, the model may include a density above parameter and density below parameter (e.g., the ratio of wire width to the spacing above and below the target wire, respectively). The neighbor wires technology parameters may include a spacing left parameter and spacing right parameter (e.g., the physical distance from the neighbor wire to the target wire). Furthermore, the model may include a width of left parameter and width of right parameter (e.g., the physical width of the left and right neighbor wires, respectively).
A wire configuration is provided (STEP 306) for determining parasitic component values. For example, the provided wire configuration may be comprised of five wires, two wires to the left and two wires to the right of the target wire. The wire configuration may be further defined with a perpendicular wire above and below the target wire. This specific configuration may be chosen due to the fact lithography limitations define the fabrication process which impacts both the wire width and spacing parameters. Each of these parameters contribute to the parasitic component values of the given wire configuration.
A processor 406 (FIG. 4) is configured to populate a wire configuration file (STEP 308) using a parameterized cell generator (PCell). The PCell will generate the file from the wire configuration (STEP 306) and the selected technology parameters (STEP 304). The detailed netlist is then saved in a Design Exchange Format (DEF), Graphic Database System II (GDSII), Open Artwork System Interchange Standard (OASIS), OpenAccess, or any other suitable file formats. All of these formats may be accepted by a field solving program to calculate the parasitic component values. The DEF file is an open specification for representing a netlist and circuit layout of an integrated circuit in an ASCII format. The GDSII and OASIS are file formats that are used to represent geometric shapes. GDSII is a binary file format for representing planar geometric shapes, text labels, and other information about the layout in hierarchical form. While OASIS represents shapes such as polygons, rectangles and trapezoids and defines properties each shape can have, how they can be organized, and location in relation to each other. The OpenAccess format has been developed, deployed and has supported an open-sourced design database with shared controls.
The parasitic component values are determined (STEP 310) from the wire configuration file by utilizing a field solving program (e.g., Rapid3D). The field solving program extracts the parasitic component values by solving a form of Maxwell's equations. Maxwells' equations are typically solved by one of three different methods. The first method uses a differential form of the governing equations and requires discretization of the entire domain in which the electromagnetic fields reside. While, most circuit design extraction problems are exterior problems, this method requires a solution to an extremely large number of elements in the discretization. The second method uses integral equations and requires a discretization for only the sources of the electromagnetic field. This method may require less complicated calculations but may lack the accuracy required for complex circuit designs. The third method is a random-walk method that uses both the differential and integral forms of the equations to reach a solution. The third method provides the required accuracy for complex circuit designs, while limiting the total number of elements that are required to be solved.
After the parasitic components have been determined from the wire configuration file, the parasitic component values are saved in a parasitic extraction file (STEP 312) in a Standard Parasitic Exchange Format (SPEF) or Detailed Standard Parasitic Format (DSPF) format. The SPEF and DSPF are Institute of Electrical and Electronics Engineers (IEEE) standard format for representing parasitic data of wires in an integrated circuit in an ASCII format. This file format is a standard format that the field solving program can export the determined parasitic component values.
The parasitic component values are extracted from the data strings contained in the parasitic extraction file. The data strings are split based on punctuation contained in each data string and are saved in a Verilog-A table. A Verilog-A model (STEP 314) incorporates the Verilog-A table and will be used in a simulation program with integrated circuit emphasis (SPICE) to calculate the signal integrity caused by the parasitic component values. If for a given wire configuration, data is missing from the Verilog-A table, the Verilog-A model will perform an interpolation function to estimate the missing values. However, if the missing data is outside of the discretized area, the embodied wire model has been created to throw an error. This ensures that there are no undetected inaccuracies when using the embodied wire model.
FIG. 4 illustrates a system 300 that can generate a wire model including a user interface 302, one or more display devices 304, a processor 306, and a data source 308. The user interface 302 is in operable communication with the processor 306 and is configured to receive input from a user and, in response to the user input, supplies command signals to the processor 306. For example, the user will enter various commands through the user interface 302 to control the processor to generate a wire configuration file. The user interface 302 may be any one, or combination, of various known user interface devices including, but not limited to, one or more keyboards, curser controllers, buttons, switches, or knobs.
The processor 306 may be implemented or realized with a general purpose processor, a content addressable memory, a digital signal processor, an application specific integrated circuit, a field programmable gate array, any suitable programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination designed to perform the functions described herein. A processor device may be realized as a microprocessor, a controller, a microcontroller, or a state machine. Moreover, a processor device may be implemented as a combination of computing devices, e.g., a combination of a digital signal processor and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a digital signal processor core, or any other such configuration. In the depicted embodiment, the processor 306 includes on-board RAM (random access memory) 310, and on-board ROM (read-only memory) 312. The program instructions that control the processor 306 may be stored in either or both the RAM 310 and the ROM 312. For example, the operating system software may be stored in the ROM 312, whereas various operating software may be stored in the RAM 310. It will be appreciated that this is merely exemplary of one scheme for storing operating system software and software programs, and that various other storage schemes may be implemented.
The memory 310 and 312, may be realized as RAM memory, flash memory, EPROM memory, EEPROM memory, registers, or any other suitable storage medium. In this regard, the memory 310, 312 can be coupled to the processor 306 such that the processor 306 can read information from, and write information to, the memory 310, 312. In the alternative, the memory may be integrated into the processor 306. As an example, the processor 306 and the memory 310, 312 may reside in an ASIC. No matter how the processor is specifically implemented, it is in operable communication with the software databases 308, and the display devices 304. The processor 306 is configured, to generate a wire configuration file, determine parasitic component values from the wire configuration file, and construct a table model from the parasitic component values in response to commands from the user through the user interface devices 302. The display devices 304, in response to the user commands, will selectively render various types of textual, graphic, and/or iconic information to inform the user of the inputted commands.
The display devices 304, as noted above, in response the user commands, selectively render various textual, graphic, and/or iconic information, and thereby supplies visual feedback to the user. It will be appreciated that the display device 304 may be implemented using any one of numerous known display devices suitable for rendering textual, graphic, and/or iconic information in a format viewable by the user. Non-limiting examples of such display devices include various cathode ray tube (CRT) displays, and various flat screen displays such as various types of LCD (liquid crystal display) and TFT (thin film transistor) displays. The display devices 304 may additionally be implemented as a screen mounted display, or any one of numerous known technologies.
Thus, there has been provided a system and method for generating a wire model. The wire model allows for estimation of the signal integrity of an integrated circuit early in the circuit design process without using complex functions. In addition, the accuracy of the model varied depending on given requirements. This allows for efficient formation of the design to help ensure that the design schedule deadlines are met. Furthermore, the wire model can provide the designer with information prior to the logic design step, of restrictions are imposed in a given technology. This information will help the designer to make informed decisions about circuit design requirements and to predict the design trade-offs.
While at least one exemplary embodiment has been presented in the foregoing detailed description, it should be appreciated that a vast number of variations exist. It should also be appreciated that the exemplary embodiment or exemplary embodiments are only examples, and are not intended to limit the scope, applicability, or configuration of the invention in any way. Rather, the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing an exemplary embodiment of the invention, it being understood that various changes may be made in the function and arrangement of elements described in an exemplary embodiment without departing from the scope of the invention as set forth in the appended claims.

Claims (9)

What is claimed is:
1. A system for generating a wire model, comprising:
a display device;
a user input device;
a storage device; and
a processor coupled to the display device, the user input device, and the storage device and configured to perform the following electronically-implemented process steps:
generating a wire configuration file, wherein the step of generating the wire configuration file, comprises:
providing a wire geometry, wherein the wire geometry comprises a target wire, two wires to the left of the target wire, two wires to the right of the target wire, and a perpendicular wire both above and below the target wire;
selecting a technology having a plurality of technology parameters, wherein the technology parameters comprise each of a target layer, wire width, and wire length, above layer, below layer, density above, and density below, space left, space right, width of left neighbor, and width of right neighbor;
defining a range for the plurality of technology parameters; and
creating the wire configuration file from the wire geometry and the plurality of technology parameters;
determining parasitic component values from the wire configuration file, wherein the parasitic component values comprise each of a resistance, capacitance, and inductance, wherein determining the parasitic component values, comprises:
determining the parasitic component values from the wire configuration file by solving Maxwell's equations; and
creating a parasitic extraction file that incorporates the parasitic component values in the form of data strings; and
constructing a table model incorporating the parasitic component values, wherein constructing a table model comprises:
extracting the parasitic component values from the parasitic extraction file;
creating a look-up table that incorporates the parasitic component values; and
constructing the table model from the look-up table, wherein the table comprises a Verilog-A table and the table model is a Verilog-A table model, and wherein the table model is configured to perform and interpolation function to estimate missing table values.
2. The method according to claim 1 wherein creating the wire configuration file comprises saving the wire configuration file in a Design Exchange Format file type.
3. The method according to claim 1 wherein creating the wire configuration file comprises saving the wire configuration file in a Graphic Database System II file type.
4. The method according to claim 1 wherein creating the wire configuration file comprises saving the wire configuration file in an Open Artwork System Interchange Standard file type.
5. The method according to claim 1 wherein creating the parasitic extraction file comprises saving the parasitic extraction file in a Standard Parasitic Exchange format file format.
6. The method according to claim 1 wherein creating the parasitic extraction file comprises saving the parasitic extraction file in a Detailed Standard Parasitic Format file format.
7. The system of claim 1, wherein solving Maxwell's equations is performed by utilizing: a differential form of governing equations.
8. The system of claim 1, wherein solving Maxwell's equations is performed by utilizing: an integral form of governing equations.
9. The system of claim 1, wherein solving Maxwell's equations is performed by utilizing: a random-walk method.
US13/603,052 2012-09-04 2012-09-04 System and method for generating a wire model Expired - Fee Related US8584066B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/603,052 US8584066B1 (en) 2012-09-04 2012-09-04 System and method for generating a wire model
TW102106169A TWI483133B (en) 2012-09-04 2013-02-22 A system and method for generating a wire model
CN201310397249.6A CN103678755B (en) 2012-09-04 2013-09-04 Produce the system and method for circuit model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/603,052 US8584066B1 (en) 2012-09-04 2012-09-04 System and method for generating a wire model

Publications (1)

Publication Number Publication Date
US8584066B1 true US8584066B1 (en) 2013-11-12

Family

ID=49518201

Family Applications (1)

Application Number Title Priority Date Filing Date
US13/603,052 Expired - Fee Related US8584066B1 (en) 2012-09-04 2012-09-04 System and method for generating a wire model

Country Status (3)

Country Link
US (1) US8584066B1 (en)
CN (1) CN103678755B (en)
TW (1) TWI483133B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150278424A1 (en) * 2014-03-28 2015-10-01 Megachips Corporation Semiconductor device and method for designing a semiconductor device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6743503B1 (en) 1999-10-05 2004-06-01 Seagate Technology Llc Ultra-thin seed layer for multilayer superlattice magnetic recording media
US6856148B2 (en) * 2002-03-08 2005-02-15 Hewlett-Packard Development Company, L.P. Method and program product for evaluating a circuit
US20060036421A1 (en) * 2004-08-11 2006-02-16 Fujitsu Limited Electromagnetic field simulator, medium for storing electromagnetic field simulation program, and electromagnetic field simulation method
US20060236303A1 (en) * 2005-03-29 2006-10-19 Wilson Thomas G Jr Dynamically adjustable simulator, such as an electric circuit simulator
US20070099314A1 (en) * 2005-10-24 2007-05-03 Haizhou Chen Modeling device variations in integrated circuit design
US20090077507A1 (en) * 2007-09-17 2009-03-19 Cliff Hou Method of Generating Technology File for Integrated Circuit Design Tools

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005111874A2 (en) * 2004-05-07 2005-11-24 Mentor Graphics Corporation Integrated circuit layout design methodology with process variation bands

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6743503B1 (en) 1999-10-05 2004-06-01 Seagate Technology Llc Ultra-thin seed layer for multilayer superlattice magnetic recording media
US6856148B2 (en) * 2002-03-08 2005-02-15 Hewlett-Packard Development Company, L.P. Method and program product for evaluating a circuit
US20060036421A1 (en) * 2004-08-11 2006-02-16 Fujitsu Limited Electromagnetic field simulator, medium for storing electromagnetic field simulation program, and electromagnetic field simulation method
US20060236303A1 (en) * 2005-03-29 2006-10-19 Wilson Thomas G Jr Dynamically adjustable simulator, such as an electric circuit simulator
US20070099314A1 (en) * 2005-10-24 2007-05-03 Haizhou Chen Modeling device variations in integrated circuit design
US20090077507A1 (en) * 2007-09-17 2009-03-19 Cliff Hou Method of Generating Technology File for Integrated Circuit Design Tools

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150278424A1 (en) * 2014-03-28 2015-10-01 Megachips Corporation Semiconductor device and method for designing a semiconductor device
US9754066B2 (en) * 2014-03-28 2017-09-05 Megachips Corporation Semiconductor device and method for designing a semiconductor device
US10216886B2 (en) 2014-03-28 2019-02-26 Megachips Corporation Semiconductor device and method for designing a semiconductor device

Also Published As

Publication number Publication date
TWI483133B (en) 2015-05-01
CN103678755A (en) 2014-03-26
TW201411385A (en) 2014-03-16
CN103678755B (en) 2017-01-04

Similar Documents

Publication Publication Date Title
US8689169B2 (en) Method, apparatus, and article of manufacture for providing in situ, customizable information in designing electronic circuits with electrical awareness
US8782577B2 (en) Method, apparatus, and article of manufacture for providing in situ, customizable information in designing electronic circuits with electrical awareness
US9754070B2 (en) Path-based floorplan analysis
US20210240905A1 (en) Advanced cell-aware fault model for yield analysis and physical failure analysis
US11651131B2 (en) Glitch source identification and ranking
US20220075920A1 (en) Automated Debug of Falsified Power-Aware Formal Properties using Static Checker Results
US8281269B2 (en) Method of semiconductor integrated circuit device and program
US10346573B1 (en) Method and system for performing incremental post layout simulation with layout edits
US20240086591A1 (en) Systems and methods for simulating printed circuit board components
CN110199279B (en) Integrated circuit design system
US8584066B1 (en) System and method for generating a wire model
US20230110560A1 (en) Unified framework and method for accurate context-aware timing modeling
US11416661B2 (en) Automatic derivation of integrated circuit cell mapping rules in an engineering change order flow
US11301614B1 (en) Feasibility analysis of engineering change orders
US20210256189A1 (en) Continuous global representation of local data using effective areas in integrated circuit layouts
US11087059B2 (en) Clock domain crossing verification of integrated circuit design using parameter inference
US11972192B2 (en) Superseding design rule check (DRC) rules in a DRC-correct interactive router
US11080450B1 (en) Calculating inductance based on a netlist
US20240249053A1 (en) Timing analysis in stacked dies
US20230252208A1 (en) Transforming a logical netlist into a hierarchical parasitic netlist
US9026974B2 (en) Semiconductor integrated circuit partitioning and timing
US11836435B1 (en) Machine learning based parasitic estimation for an integrated circuit chip design
US12073156B2 (en) Propagating physical design information through logical design hierarchy of an electronic circuit
US11328873B2 (en) Parallel plate capacitor resistance modeling and extraction
US20220382955A1 (en) Constraint file-based novel framework for net-based checking technique

Legal Events

Date Code Title Description
AS Assignment

Owner name: GLOBALFOUNDRIES INC., CAYMAN ISLANDS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MAU, HENDRIK THOMAS;JUMMEL, GUNTRAM;SIGNING DATES FROM 20120825 TO 20120829;REEL/FRAME:028894/0504

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: WILMINGTON TRUST, NATIONAL ASSOCIATION, DELAWARE

Free format text: SECURITY AGREEMENT;ASSIGNOR:GLOBALFOUNDRIES INC.;REEL/FRAME:049490/0001

Effective date: 20181127

AS Assignment

Owner name: GLOBALFOUNDRIES U.S. INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GLOBALFOUNDRIES INC.;REEL/FRAME:054633/0001

Effective date: 20201022

AS Assignment

Owner name: GLOBALFOUNDRIES INC., CAYMAN ISLANDS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION;REEL/FRAME:054636/0001

Effective date: 20201117

AS Assignment

Owner name: GLOBALFOUNDRIES U.S. INC., NEW YORK

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION;REEL/FRAME:056987/0001

Effective date: 20201117

FEPP Fee payment procedure

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

LAPS Lapse for failure to pay maintenance fees

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

STCH Information on status: patent discontinuation

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

FP Lapsed due to failure to pay maintenance fee

Effective date: 20211112