US20200394279A1 - Method and system for fabricating integrated circuit with aid of programmable circuit synthesis - Google Patents
Method and system for fabricating integrated circuit with aid of programmable circuit synthesis Download PDFInfo
- Publication number
- US20200394279A1 US20200394279A1 US16/443,055 US201916443055A US2020394279A1 US 20200394279 A1 US20200394279 A1 US 20200394279A1 US 201916443055 A US201916443055 A US 201916443055A US 2020394279 A1 US2020394279 A1 US 2020394279A1
- Authority
- US
- United States
- Prior art keywords
- circuit
- cell
- layout
- unit cell
- parameter 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000015572 biosynthetic process Effects 0.000 title description 17
- 238000003786 synthesis reaction Methods 0.000 title description 16
- 238000013461 design Methods 0.000 claims description 117
- 238000003860 storage Methods 0.000 claims description 9
- 239000004065 semiconductor Substances 0.000 abstract description 2
- 238000004088 simulation Methods 0.000 description 27
- 230000004044 response Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- NRZWYNLTFLDQQX-UHFFFAOYSA-N p-tert-Amylphenol Chemical compound CCC(C)(C)C1=CC=C(O)C=C1 NRZWYNLTFLDQQX-UHFFFAOYSA-N 0.000 description 4
- 230000001052 transient effect Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000002194 synthesizing effect Effects 0.000 description 3
- 238000011960 computer-aided design Methods 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005137 deposition process Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000000059 patterning Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G06F17/5081—
-
- 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
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G06F17/5036—
-
- G06F17/505—
-
- G06F17/5063—
-
- G06F17/5072—
-
- G06F17/5077—
-
- 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
-
- 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
- G06F30/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/06—Structured ASICs
-
- 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/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- 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/337—Design optimisation
-
- 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/373—Design optimisation
Definitions
- the present disclosure relates to circuit design and, more particularly, to a method for fabricating an integrated circuit with the aid of programmable circuit synthesis, and a system for fabricating an integrated circuit.
- An integrated circuit also referred to as a microelectronic circuit, a microchip or a chip, is an assembly of electronic components integrated into a thin substrate of semiconductor material.
- the electronic components can include miniaturized active circuit elements and passive circuit devices.
- Integrated circuits can be classified into analog integrated circuits, digital integrated circuits and analog/mixed-signal (AMS) integrated circuits according to the type of signals used in the integrated circuits.
- An AMS integrated circuit is a combination of analog and digital circuitry on a single chip.
- AMS integrated circuits are widely used for applications such as internet of things (IoT), cellular phone systems or other high speed electronic systems.
- FIG. 1 illustrates an exemplary system for fabricating an integrated circuit in accordance with some embodiments of the present disclosure.
- FIG. 2A illustrates an exemplary circuit floorplan of an integrated circuit is illustrated in accordance with some embodiments of the present disclosure.
- FIG. 2B illustrates exemplary cell layouts of the guard ring cells shown in FIG. 2A in accordance with some embodiments of the present disclosure.
- FIG. 3 illustrates a flow chart of an exemplary method for synthesizing an integrated circuit in accordance with some embodiments of the present disclosure.
- FIG. 4 illustrates an exemplary cell schematic of a unit cell of an integrated circuit in accordance with some embodiments of the present disclosure.
- FIG. 5 illustrates an exemplary cell schematic of a unit cell of an integrated circuit in accordance with some embodiments of the present disclosure.
- FIG. 6 illustrates an exemplary cell layout transferred from the cell schematic shown in FIG. 5 in accordance with some embodiments of the present disclosure.
- FIG. 7 illustrates an exemplary circuit layout created using the cell layout shown in FIG. 6 in accordance with some embodiments of the present disclosure.
- FIG. 8 illustrates an exemplary circuit floorplan of an integrated circuit in accordance with some embodiments of the present disclosure.
- FIG. 9 illustrates an exemplary schematic design created using the cell schematic shown in FIG. 5 in accordance with some embodiments of the present disclosure.
- FIG. 10 is a flow chart of an exemplary method for fabricating an integrated circuit in accordance with some embodiments of the present disclosure.
- FIG. 11 is a flow chart of an exemplary method for fabricating an integrated circuit in accordance with some embodiments of the present disclosure.
- FIG. 12 illustrates an implementation of the control circuit and the program code shown in FIG. 1 in accordance with some embodiments of the present disclosure.
- first and second features are formed in direct contact
- additional features may be formed between the first and second features, such that the first and second features may not be in direct contact
- present disclosure may repeat reference numerals and/or letters in the various examples. This repetition is for the purpose of simplicity and clarity and does not in itself dictate a relationship between the various embodiments and/or configurations discussed.
- spatially relative terms such as “beneath,” “below,” “lower,” “above,” “upper” and the like, may be used herein for ease of description to describe one element or feature's relationship to another element(s) or feature(s) as illustrated in the figures.
- the spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures.
- the apparatus may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein may likewise be interpreted accordingly.
- AMS circuit designs utilize a more complex flow than strictly digital designs.
- a circuit designer has to repeatedly and manually modify circuit schematics and corresponding circuit layouts in order to find optimized design parameters.
- the circuit designer may create a schematic design of an AMS integrated circuit.
- the circuit designer assigns respective device sizes to circuit elements of the AMS integrated circuit according to a performance specification and a given technology node.
- a pre-layout simulation is performed upon the schematic design to simulate performance of the AMS integrated circuit. If the simulated performance does not satisfy the performance specification, the circuit designer has to modify at least one of the device sizes in the schematic design, and enables the pre-layout simulation again to determine if the performance specification can be satisfied.
- the device size selection of the circuit elements heavily depends on the experience and knowledge of the circuit designer, the device sizes are often modified multiple times before the simulated performance can satisfy the performance specification.
- a layout design is generated according to the schematic design which may have been modified multiple times.
- a post-layout simulation is performed on the layout design.
- the LDEs are incorporated into the post-layout simulation such that the resulting simulated performance can reflect actual circuit response more accurately.
- the post-layout simulation determines that the layout design does not satisfy the performance specification, the circuit designer has to interpret the simulation performance, and revises at least one of the layout design and the schematic design based on his or her own experience.
- the layout design is iteratively modified until both the pre-layout and post-layout simulation results satisfy the performance specification.
- the aforementioned trial-and-error process leads to a waste of human resources and increases manufacturing costs.
- the present disclosure describes exemplary methods for fabricating an integrated circuit with the aid of programmable circuit synthesis.
- the programmable circuit synthesis can be performed based on a unit cell of the integrated circuit.
- the integrated circuit may include a plurality of unit cells each having a similar/identical circuit structure. Each unit cell has programmable design parameters.
- the exemplary methods can create a suitable or optimized circuit design of a unit cell by determining suitable or optimized design parameter values for the unit cell. By assigning the determined circuit design of the unit cell to other unit cells, the exemplary methods can synthesize a suitable or optimized circuit design of the integrated circuit without manual iterations.
- the integrated circuit may be an analog integrated circuit or an AMS integrated circuit.
- a unit cell of the integrated circuit may be an analog circuit cell or an AMS circuit cell.
- the exemplary methods can provide programmable analog synthesis to fabricate the integrated circuit.
- a circuit design of a unit cell may include at least one of a schematic representation and a layout representation of the unit cell.
- the exemplary methods can realize an automated circuit design flow to save time and reduce cost. Further description is provided below.
- FIG. 1 illustrates an exemplary system for fabricating an integrated circuit in accordance with some embodiments of the present disclosure.
- the system 100 can provide a programmable circuit synthesis platform to realize an automated design flow.
- the integrated circuit (not shown in FIG. 1 ) can be an analog integrated circuit or an AMS integrated circuit, and the programmable circuit synthesis platform can be a programmable analog synthesis platform.
- the system 100 can be applied to fabricate other types of integrated circuits without departing from the scope the present disclosure.
- the system 100 includes, but is not limited, a circuit design system 110 and a circuit generation system 120 .
- the circuit design system 110 is configured to provide design information DI of the integrated circuit for the circuit generation system 120 .
- the circuit generation system 120 is configured to implement the integrated circuit according to the design information DI.
- the circuit generation system 120 is configured to form a circuit on a substrate using a plurality of photomasks in a multi-patterning deposition process and/or other suitable circuit manufacturing process according to a layout design included in the design information DI.
- the circuit design system 110 includes, but is not limited to, a control circuit 112 , a storage device 114 and an input/output (I/O) module 118 .
- the control circuit 112 including at least one processor or at least one controller, is operative to control operations of the circuit design system 102 .
- the control circuit 112 may include central processing unit(s), graphic processing unit(s), general purpose processor(s), digital signal processor(s), microprocessor(s) or other types of processors.
- the control circuit 112 may include microcontroller(s), application specific integrated circuit(s), field programmable gate array(s), programmable logic device(s) or other types of controllers.
- the storage device 114 may include any non-transitory computer readable medium capable of storing data, instructions, software programs, or combinations thereof.
- the storage device 114 may be implemented by a memory device including a read-only memory (ROM), a random access memory (RAM), a flash memory, a content addressable memory (CAM), a disk memory, a memory card or any other types of memory devices suitable for storing information.
- the storage device 114 may store program code PROG, i.e. a set of execution instructions, which causes the control circuit 112 to execute circuit design operations of a circuit design tool 113 .
- the circuit design operations may include at least one of schematic generation, layout generation, design rule verification and post-layout simulation.
- the circuit design tool 113 may include at least one of a computer aided design (CAD) tool and an electronic design automation (EDA) tool.
- the storage device 114 may also store a circuit design database 116 for the circuit design operations.
- CAD computer aided design
- EDA electronic design automation
- the I/O module 118 can be configured to receive input signals for designing the integrated circuit, and output associated information during a design process.
- the I/O module 118 may include a keyboard, a mouse, a display, a touch screen, other types of I/O devices, or combinations thereof.
- the control circuit 112 may control the I/O module 118 to display a graphic user interface associated with the circuit design tool 113 launching in the circuit design system 110 .
- the circuit design database 116 may store design data associated with a plurality of circuit cells.
- the program code PROG can cause the control circuit 112 to create a circuit design of a unit cell of the integrated circuit according to design data associated with a circuit cell, which has a circuit structure similar/identical to a circuit structure of the unit cell.
- the design data associated with the circuit cell may include different circuit characteristics possessed by the circuit cell of different cell sizes.
- the program code PROG may include one or more algorithms, such as artificial intelligence (AI) algorithms, to facilitate optimization of the circuit design.
- AI artificial intelligence
- the program code PROG can cause the control circuit 112 to select one of the cell sizes, which corresponds to a circuit characteristic satisfying performance specifications, as a cell size of the unit cell, thereby creating a suitable/optimized circuit design of the unit cell.
- the control circuit 112 can refer to the circuit design of the unit cell to generate respective circuit designs of other unit cells of the integrated circuit, thereby generating a suitable/optimized circuit design of the integrated circuit without timing consuming trial-and-error iterations.
- control circuit 112 can be configured to generate design data associated with one or more circuit cells stored in the circuit design database 116 .
- the control circuit 112 can perform circuit simulation upon a circuit cell of different cell sizes, and store corresponding circuit characteristics possessed by the circuit cell into the circuit design database 116 .
- the program code PROG can cause the control circuit 112 to access the circuit design database 116 to create a suitable/optimized circuit design for a unit cell of the integrated circuit.
- the circuit design system 110 can provide automated and programmable circuit synthesis to fabricate the integrated circuit.
- FIG. 2A an exemplary circuit floorplan 204 of an integrated circuit 202 is illustrated in accordance with some embodiments of the present disclosure.
- the integrated circuit 202 can represent an embodiment of the integrated circuit described with reference to the system 100 shown in FIG. 1 .
- the integrated circuit 202 can be implemented as, but is not limited to, an analog integrated circuit or an AMS integrated circuit.
- the integrated circuit 202 has a plurality of unit cells including active circuit cells and guard ring cells. Each active circuit cell, labeled AC_A, can provide electrical signal(s) and functionality.
- each active circuit cell AC_A may include one or more transistors.
- the guard ring cells can provide electrical isolation/protection for the active circuit cells AC_A.
- the guard ring cells can be classified into different groups according to cell positions thereof.
- Each of the guard ring cells GR_C is placed on a corner of the circuit floorplan 204 .
- Each of the guard ring cells GR_H is placed on a horizontal peripheral side of the circuit floorplan 204 .
- Each of the guard ring cells GR_V is placed on a vertical peripheral side of the circuit floorplan 204 .
- Each of the guard ring cells GR_I is placed inside the circuit floorplan 204 .
- FIG. 2B illustrates exemplary cell layouts of the guard ring cells GR_C, GR_H, GR_V and GR_I shown in FIG. 2A in accordance with some embodiments of the present disclosure.
- each unit cell can be assigned to a circuit block of the circuit floorplan 204 during an automated placement process, which may be enabled when associated instructions of program code are executed.
- an automated routing process may be enabled to electrically connect the unit cells.
- the program code PROG shown in FIG. 1 may cause the control circuit 112 shown in FIG. 1 to perform automated placement operation and automated routing operation, thereby realizing program-based circuit synthesis.
- FIG. 3 illustrates a flow chart of an exemplary method for synthesizing an integrated circuit in accordance with some embodiments of the present disclosure.
- the method 300 can be employed in the system 100 shown in FIG. 1 to realize a programmable circuit synthesis platform. It is worth noting that the method 300 can be employed in other systems for synthesizing an integrated circuit without departing from the scope of the present disclosure. Additionally, in some embodiments, other operations in the method 300 can be performed. In some other embodiments, operations of the method 300 can be performed in a different order and/or vary. In some other embodiments, one or more operations of the method 300 may be optional.
- the method 300 is described below with reference to the system 100 shown in FIG. 1 together with circuit design representations shown in FIG. 4 to FIG. 8 .
- the circuit design representations shown in FIG. 4 to FIG. 8 are related to an AMS integrated circuit, which can be implemented as a digital-to-analog converter (DAC).
- DAC digital-to-analog converter
- those skilled in the art will recognize that the method 300 can be used to synthesize integrated circuits having other circuit topologies without departing from the scope of the present disclosure.
- a cell schematic of a unit cell of the integrated circuit is created.
- the system 100 is configured to fabricate a current-steering DAC including a plurality of unit cells UC.
- Each unit cell UC may be referred to as a current cell of the current-steering DAC.
- the control circuit 112 can create a cell schematic CS 1 of the unit cell UC, i.e. a schematic representation of the unit cell UC.
- the cell schematic CS 1 can indicate a cell size of the unit cell UC.
- the I/O module 118 can be configured to display the cell schematic CS 1 .
- the unit cell UC includes, but is not limited to, a cascode current source and an output switch.
- the cascode current source can be implemented by a plurality of transistors M 1 and M 2 .
- the output switch can be implemented by a transistor M 3 .
- the cell size of the unit cell UC in the cell schematic CS 1 can be represented by a set of size parameters ⁇ sch_para ⁇ , which includes at least one transistor size parameter.
- the set of size parameters ⁇ sch_para ⁇ of the unit cell UC includes size parameters W 1 , Nf 1 , W 2 and Nf 2 , wherein the size parameters W 1 and Nf 1 represent the channel width and the number of fingers of the transistor M 1 respectively, and the size parameters W 2 and Nf 2 represent the channel width and the number of fingers of the transistor M 2 respectively.
- the set of size parameters ⁇ sch_para ⁇ of the unit cell UC in the cell schematic CS 1 may be assigned a set of parameter values according to a performance specification provided by the customer.
- the performance specification may define an output current of 1 ⁇ A.
- Each of the size parameters W 1 and W 2 shown in the cell schematic CS 1 can be assigned 2 accordingly, meaning that the respective channel widths of the transistors M 1 and M 2 are set to two times respective channel lengths.
- the respective channel lengths can be equal to a minimum channel length for a given technology node.
- each of the size parameters Nf 1 and Nf 2 shown in the cell schematic CS 1 can be assigned 2 accordingly, meaning that the respective numbers of fingers of the transistors M 1 and M 2 are set to two.
- the cell schematic CS 1 may be regarded as a schematic template.
- a set of parameter values for a set of size parameters of the unit cell in the cell schematic is revised according to a predetermined criterion.
- the unit cell characterized by the revised set of parameter values has a circuit characteristic meeting the predetermined criterion.
- another cell schematic indicating the revised set of parameter values for the set of size parameters of the unit cell is created.
- the control circuit 112 can execute one or more algorithms included in the program code PROG to revise the set of parameter values for the set of size parameters ⁇ sch_para ⁇ according to a predetermined criterion.
- the executed one or more algorithms may be one or more AI algorithms, including Decision Trees, Naive Bayes Classifiers, Ensemble Methods, Support Vector Machines and other machine learning algorithms.
- the unit cell UC characterized by the set of parameter values in the cell schematic CS 2 may possess a circuit characteristic meeting the predetermined criterion.
- the circuit characteristic may include, but is not limited to, a gain value of the unit cell UC.
- the predetermined criterion can specify a predetermined range of gain values.
- the predetermined criterion is met when the gain value of the unit cell UC falls within the predetermined range of gain values.
- the control circuit 112 can execute the program code PROG to enable a schematic generator, which can create a cell schematic CS 2 according to the revised set of parameter values.
- the circuit characteristic includes a gain value of the unit cell UC.
- the predetermined criterion can specify a predetermined range of gain values. The predetermined criterion is met when the gain value of the unit cell UC falls within the predetermined range of gain values.
- the predetermined criterion can specify a predetermined range of values for an intrinsic gain of a current source transistor, i.e. the product of transconductance gm and output resistance r o of the transistor M 1 /M 2 .
- the predetermined criterion is met when a value of the intrinsic gain of the transistor M 1 /M 2 falls within a predetermined range, e.g. 28 ⁇ gm ⁇ r o ⁇ 31.
- respective parameter values for the size parameters W 1 and Nf 1 are set to 8 and 2, respectively, such that an intrinsic gain of the transistor M 1 has a value falling within the predetermined range.
- Respective parameter values for the size parameters W 2 and Nf 2 are set to 8 and 4, respectively, such that an intrinsic gain of the transistor M 2 has a value falling within the predetermined range.
- a current-steering DAC having high output impedance can exhibit high linearity.
- Operating a current source transistor of a DAC unit cell, e.g. the transistor M 1 /M 2 , in a saturation region can increase the output impedance of the current-steering DAC.
- the predetermined criterion, specifying the predetermined range of values for the intrinsic gain of the current source transistor can ensure that the current source transistor operates in the saturation region, thus realizing the current-steering DAC with high linearity.
- the predetermined range specified by the predetermined creation may vary as long as the current source transistor of the DAC unit cell can operate in the saturation region.
- the predetermined range defined by the predetermined criterion may be gm ⁇ r o >20 in some embodiments.
- the control circuit 112 can determine the set of parameter values for the set of size parameters ⁇ sch_para ⁇ according to a plurality of candidate sets of parameter values for the set of size parameters ⁇ sch_para ⁇ stored in the circuit design database 116 .
- the program code PROG can cause the control circuit 112 to select a candidate set of parameter values from the candidate sets of parameter values for the set of size parameters ⁇ sch_para ⁇ .
- the control circuit 112 can use the selected candidate set of parameter values as the revised set of parameter values for the set of size parameters ⁇ sch_para ⁇ in the cell schematic CS 2 .
- a circuit layout is generated according to the revised set of parameter values for the set of size parameters of the unit cell.
- a cell layout of the unit cell may be generated according to the revised set of parameter values for the set of size parameters of the unit cell.
- the circuit layout may be generated by assigning the cell layout to each of circuit blocks in a circuit floorplan of the integrated circuit.
- the control circuit 112 can execute the program code PROG to enable a layout generator, which can create a cell layout 602 of the unit cell UC according to the revised set of parameter values for the set of size parameters ⁇ sch_para ⁇ in the cell schematic CS 2 .
- the cell layout 602 includes respective layout structures L_M 1 -L_M 3 of the transistors M 1 -M 3 . It is worth noting that the cell layout 602 may further include a plurality of layout structures L_GR 1 , L_RP and L_GR 2 . Each of the layout structures L_GR 1 and L_GR 2 is configured to define a guard ring structure, which is capable of providing electrical isolation/protection for the unit cell UC.
- the guard ring structures defined by the layout structures L_GR 1 and L_GR 2 may be tied to a power supply and ground, respectively.
- the layout structure L_RP is configured to define a track space available for routing. A plurality of electrical interconnection routing paths can be disposed in the track space.
- the layout generator can generate the cell layout 602 according to a layout template LT, which is provided in a unit-cell-based layout style.
- the layout template LT includes a plurality of guard ring areas ntap and ptap, a plurality of transistor areas pch 0 , nch 0 and nch 1 , and a routing area RA.
- Each of the guard ring areas ntap and ptap is configured to define a guard ring structure.
- the layout generator can characterize the guard ring areas ntap and ptap according to the set of parameter values for the set of size parameters ⁇ sch_para ⁇ in the cell schematic CS 2 , thereby generating the layout structures L_GR 1 and L_GR 2 , respectively.
- Each of the transistor areas pch 0 , nch 0 and nch 1 is configured to define a transistor structure.
- Each transistor area includes an oxide diffusion segment OD and one or more polygate segments PG.
- the layout generator can characterize the transistor areas pch 0 , nch 0 and nch 1 according to the revised set of parameter values for the set of size parameters ⁇ sch_para ⁇ in the cell schematic CS 2 , thereby generating the layout structures L_M 1 -L_M 3 , respectively.
- the routing area RA located between the transistor area nch 0 and the guard ring area ptap, is configured to define a track space available for routing.
- the track space can be expressed as the number of tracks tNum.
- the layout generator can determine the number of tracks tNum according to the revised set of parameter values for the set of size parameters ⁇ sch_para ⁇ in the cell schematic CS 2 , thereby generating the layout structure L_RP.
- the layout generator When the cell layout 602 of the unit cell UC is created, the layout generator, or the control circuit 112 , can generate a circuit layout according to a circuit floorplan and the cell layout 602 .
- the control circuit 112 can execute the program code PROG to assign the cell layout 602 to each of circuit blocks in a circuit floorplan 701 of the integrated circuit, thereby generating a circuit layout 702 .
- the circuit layout 702 also referred to as a top cell layout, can include a plurality of replicas of the cell layout 602 , which are arranged in correspondence with the circuit blocks in the circuit floorplan 701 , respectively.
- the integrated circuit can be implemented as, but is not limited to, a 6-bit binary-weighted current-steering DAC having 2 6 unit cells.
- the 2 6 unit cells, or 2 6 active circuit cells include 2 5 first most significant bit (MSB) unit cells, 2 4 second MSB unit cells, 2 3 third MSB unit cells, 2 2 fourth MSB unit cells, 2 1 fifth MSB unit cells and 2 2 least significant bit (LSB) unit cell.
- the 2 6 unit cells are assigned to 2 6 circuit blocks in the circuit floorplan 701 , respectively.
- the 2 5 first MSB unit cells are assigned to 2 5 circuit blocks (labeled 5 ), respectively.
- the 2 4 second MSB unit cells are assigned to 2 4 circuit blocks (labeled 4 ), respectively.
- the 2 3 third MSB unit cells are assigned to 2 3 circuit blocks (labeled 3 ), respectively.
- the 2 2 fourth MSB unit cells are assigned to 2 2 circuit blocks (labeled 2 ), respectively.
- the 2 1 fifth MSB unit cells are assigned to 2 1 circuit blocks (labeled 1 ), respectively.
- the 2 0 LSB unit cell are assigned to 2 0 circuit block (labeled 0 ).
- the cell layout 602 can be assigned to each of the 2 6 circuit blocks.
- the circuit floorplan 701 may further include a plurality of circuit blocks D and a circuit block Gm.
- Each circuit block D is assigned a dummy cell, which is a unit cell operating as a guard ring cell to provide electrical isolation/protection.
- the dummy cell can be used for DAC calibration.
- the circuit block Gm located at a reference position in the circuit floorplan 701 , can also be assigned a dummy cell. A position where a cell layout of a unit cell is placed in the circuit floorplan 701 can be determined according to the reference position.
- Other circuit blocks in the circuit floorplan 701 can be symmetrically located with respect to the circuit block Gm, i.e. the reference position.
- circuit blocks in the circuit 701 are arranged in an array having a plurality of rows ref, dmy 1 , dmy 2 and row 1 -row 6 .
- the reference position can be a center position of the array.
- circuit blocks in the circuit floorplan 701 may include a plurality of circuit block groups BG 1 -BG 4 arranged in a repeating pattern.
- the circuit floorplan 701 can be implemented as a row based floorplan, where circuit elements are placed in rows and channels run horizontally between rows of circuit elements.
- the circuit block groups BG 1 includes a plurality of adjacent circuit blocks, labeled 5 , 5 , 5 , 4 and 5 respectively, located in a row. Each of the rows row 1 and row 6 can utilize the circuit block group BG 1 to construct a same circuit block arrangement.
- the circuit block groups BG 2 includes a plurality of adjacent circuit blocks, labeled 5 , 5 , 4 , 3 and 4 respectively, located in a row.
- the circuit block groups BG 3 includes a plurality of adjacent circuit blocks, labeled 5 , 4 , 3 , 2 and 1 respectively, located in a row.
- Each of the rows row 3 and row 4 can utilize the circuit block group BG 3 to construct a same circuit block arrangement.
- the circuit block groups BG 4 includes a plurality of adjacent circuit blocks, labeled 5 , 5 , 4 and 0 respectively, located in a row.
- the row ref can utilize the circuit block group BG 4 to construct a circuit block arrangement thereof.
- the control circuit 112 can generate a plurality of cell layout groups LG 1 -LG 4 , respectively.
- the control circuit 112 can generate the circuit layout 702 .
- the circuit layout 702 may include a local interconnect structure such as a MO metal layer.
- a top cell layout e.g. the circuit layout 702
- a suitable/optimized unit cell layout an automated routing process can be enabled in a back-end design stage.
- one or more routing paths are provided on the circuit layout to generate a layout design of the integrated circuit.
- the integrated circuit can be fabricated according to the layout design.
- the program code PROG can cause the control circuit 112 to enable an automated routing tool.
- the automated routing tool also referred to as automatic router, can utilize routing specifications stored in the circuit design database 116 to provide one or more routing paths (not shown in FIG. 7 ) on the circuit layout 702 , thereby generating a layout design of the integrated circuit.
- the layout design can be a design rule check (DRC) clean and layout versus schematic (LVS) clean layout design.
- the routing specifications include the number of routing layers, routing layer coloring, routing wire lengths, routing wire widths, routing wire spacing, orientation of routing wires, and combinations thereof.
- the routing specifications include signal net definition, clock net definition, power net definition, and combinations thereof.
- the routing specifications include pin name definition, routing mismatch tolerance, routing electromigration (EM) tolerance, voltage levels associated with routing layers, and combinations thereof.
- a top cell layout of the integrated circuit can be created by assigning a unit cell layout, e.g. the cell layout 602 , to circuit floorplans having different circuit block topologies.
- circuit blocks in the circuit floorplan 801 may include a plurality of circuit block groups BG 1 ′-BG 3 ′ arranged in a repeating pattern.
- the circuit block groups BG 1 ′ includes a plurality of adjacent circuit blocks, labeled 5 , 5 , 5 and 5 respectively, located in a row.
- the circuit block groups BG 2 ′ includes a plurality of adjacent circuit blocks, labeled 4 , 4 , 4 and 4 respectively, located in a row.
- the circuit block groups BG 3 ′ includes a plurality of adjacent circuit blocks, labeled 3 , 3 , 3 and 3 respectively, located in a row.
- the circuit block groups BG 4 ′ includes a plurality of adjacent circuit blocks, labeled 2 , 2 , 1 and 0 respectively, located in a row.
- a schematic design of the integrated circuit can be created in a hierarchical manner at operation 306 .
- a circuit floorplan of the integrated circuit includes rows of circuit blocks. Each row of circuit blocks comprises a plurality of circuit blocks.
- respective block schematics of circuit blocks in each row of circuit blocks are created according to the another cell schematic.
- a circuit schematic of the row of circuit blocks is created according to the block schematics. According to respective circuit schematics for the rows of circuit blocks, the schematic design of the integrated circuit can be created.
- the schematic generator enabled by the control circuit 112 can create respective block schematics of circuit blocks in each row according to the cell schematic CS 2 , and create a circuit schematic of the row according to the block schematics.
- the circuit schematic of the row is a row based schematic created according to the cell schematic CS 2 .
- a circuit schematic S_row 1 of the row row 1 can be created according to the cell schematic CS 2 .
- the block schematics included in the circuit schematic S_row 1 are arranged in correspondence with the circuit blocks in the row row 1 , respectively.
- the block schematic S_ 5 corresponds to the circuit block labeled 5
- the block schematic S_ 4 corresponds to the circuit block labeled 4 .
- the block schematic S_D corresponds to the circuit block D which is assigned a dummy cell.
- the schematic generator enabled by the control circuit 112 can create a schematic design 802 of the integrated circuit accordingly.
- a test bench or a post-simulation is performed.
- a post-simulation can be performed upon the unit cell characterized by the revised set of parameter values to generate a simulation result.
- the simulation result does not satisfy another predetermined criterion, such as a predetermined frequency response, predetermined transient waveforms or other predetermined circuit characteristics
- the method 300 returns to operation 304 , such that the revised set of parameter values for the set of size parameters of the unit cell can be modified again.
- Another revised set of parameter values for the set of size parameters is obtained accordingly.
- the unit cell characterized by the another revised set of parameter values has a circuit characteristic meeting the predetermined criterion.
- a post-simulation can be performed upon the layout design of the integrated circuit to generate a simulation result.
- the simulation result does not satisfy another predetermined criterion, such as a predetermined frequency response, predetermined transient waveforms or other circuit characteristics
- the method 300 returns to operation 310 , such that the layout design of the integrated circuit can be modified.
- FIG. 10 is a flow chart of an exemplary method for fabricating an integrated circuit in accordance with some embodiments of the present disclosure.
- the method 1000 can be an embodiment of the method 300 .
- the method 1000 can be employed in the system 100 shown in FIG. 1 to realize a programmable circuit synthesis platform for integrated circuit fabrication.
- the method 1000 can be employed in other systems for fabricating an integrated circuit without departing from the scope of the present disclosure.
- other operations in the method 1000 can be performed.
- operations of the method 1000 can be performed in a different order and/or vary.
- one or more operations of the method 1000 may be optional
- the method 1000 may include operations 1022 A, 1024 A, 1022 B, 1024 B and 1030 .
- the operations 1022 A, 1024 A, 1022 B and 1024 B can be an embodiment of the operation 312 shown in FIG. 3 .
- control circuit 112 can perform a simulation upon the unit cell characterized by the revised set of parameter values to generate a first simulation result.
- the control circuit 112 can determine if the first simulation result satisfies another predetermined criterion, such as a predetermined frequency response, predetermined transient waveforms or other predetermined circuit characteristics. If the first simulation result satisfies the another predetermined criterion, the method 1000 proceeds to operation 308 ; otherwise, the method 900 returns to operation 304 .
- another predetermined criterion such as a predetermined frequency response, predetermined transient waveforms or other predetermined circuit characteristics.
- control circuit 112 can perform another simulation upon the layout design to generate a second simulation result.
- the control circuit 112 can determine if the second simulation result satisfies another predetermined criterion, such as a predetermined frequency response, predetermined transient waveforms or other predetermined circuit characteristics. If the second simulation result satisfies the another predetermined criterion, the method 1000 proceeds to operation 930 ; otherwise, the method 1000 returns to operation 310 .
- another predetermined criterion such as a predetermined frequency response, predetermined transient waveforms or other predetermined circuit characteristics.
- the circuit design system 110 can provide the design information DI including the layout design of the integrated circuit.
- the circuit generation system 120 can fabricate the integrated circuit according to the design information DI.
- the operations 302 - 308 , 1022 A and 1024 A can be performed at a front-end design stage to create a suitable/optimized top cell layout. In some embodiments, the operations 310 , 1022 B and 1024 B can be performed at a back-end design stage to enable an automated routing process.
- the circuit design system 110 can generate a suitable/optimized circuit design of the integrated circuit without timing consuming trial-and-error iterations. Also, with the use of automated floorplanning and routing, the circuit design system 100 can save layout efforts in passing DRC introduced by advanced technology nodes. Further, the circuit design system 100 can make easier transfer from a schematic design to a layout design for advanced technology nodes.
- FIG. 11 is a flow chart of an exemplary method for fabricating an integrated circuit in accordance with some embodiments of the present disclosure.
- the method 1100 can be an embodiment of the method 300 .
- the method 1100 is described with reference to the system 100 shown in FIG. 1 for illustrative purposes. Those skilled in the art should appreciate that the method 1100 can be employed in other systems for fabricating an integrated circuit without departing from the scope of the present disclosure. Additionally, in some embodiments, other operations in the method 1100 can be performed. In some embodiments, operations of the method 1100 can be performed in a different order and/or vary. In some other embodiments, one or more operations of the method 1100 may be optional.
- a cell schematic of a unit cell of the integrated circuit is received.
- the unit cell can be an analog circuit cell or an AMS circuit cell of the integrated circuit.
- the control circuit 112 can receive a schematic data input from the circuit designer to create a cell schematic of a unit cell.
- the control circuit 112 can select a schematic template stored in the circuit design database 116 as the cell schematic of the unit cell.
- the schematic template has a cell structure identical to that of the unit cell.
- at least part of the operation 1102 can be implemented by the operation 302 shown in FIG. 3 .
- a set of parameter values for a set of size parameters of the unit cell in the cell schematic is determined according to a predetermined criterion.
- the unit cell characterized by the set of parameter values has a circuit characteristic meeting the predetermined criterion. For example, by revising a set of parameter values for the set of size parameters ⁇ sch_para ⁇ indicated in the cell schematic CS 1 shown in FIG. 4 according to a predetermined criterion, the control circuit 112 can determine a set of parameter values for the set of size parameters ⁇ sch_para ⁇ indicated in the cell schematic CS 2 shown in FIG. 5 .
- the control circuit 112 can assign/determine a set of parameter values for the set of size parameters ⁇ sch_para ⁇ shown in FIG. 5 according to a predetermined criterion rather than create the cell schematic CS 1 shown in FIG. 4 in advance, thereby creating the cell schematic CS 2 of the unit cell UC shown in FIG. 5 .
- at least part of the operation 1104 can be implemented by the operation 304 shown in FIG. 3 .
- a cell layout of the unit cell is generated according to the cell schematic indicating the set of parameter values for the set of size parameters.
- the control circuit 112 can execute the program code PROG to enable a layout generator.
- the layout generator can create a unit cell layout, such as the cell layout 602 shown in FIG. 6 , according to the determined set of parameter values for the set of size parameters.
- a circuit layout can be generated by assigning the unit cell layout to each of circuit blocks in a circuit floorplan of the integrated circuit.
- the integrated circuit can be generated according to the circuit layout.
- the layout generator enabled by the control circuit 112 can assign the cell layout 602 to each circuit blocks in the circuit floorplan 701 to generate the circuit layout 702 , which can be used for fabricating the integrated circuit.
- at least part of the operation 1106 can be implemented by the operation 308 shown in FIG. 3 .
- the integrated circuit is fabricated according to the cell layout of the unit cell.
- the circuit generation system circuit generation system 120 can fabricate the integrated circuit according to the design information DI, which includes design data associated with a layout design of the integrated circuit.
- the layout design of the integrated circuit is created according to a unit cell layout.
- FIG. 12 illustrates an implementation of the control circuit 112 and the program code PROG shown in FIG. 1 in accordance with some embodiments of the present disclosure.
- the control circuit 112 and the program code PROG can be used to implement an analog design generator capable of providing a programmable analog synthesis platform.
- the program code PROG includes code C_sch for optimizing a schematic design, code C_lay for optimizing a layout design, code C_drc for DRC/LVS, and code C_sim for post-simulation.
- Input arguments Sch_spec supplied to the program code PROG may include, but is not limited to, specification data and design data associated with a schematic template.
- the code C_sch can cause the control circuit 112 to launch AI algorithms 1202 A, or designer-defined code, for schematic optimization by calling an application programming interface (API) 1204 .
- the code C_lay can cause the control circuit 112 to launch an EDA tool 1202 B for layout optimization included in the circuit design tool 113 through API calls.
- the code C_drc can cause the control circuit 112 to launch an EDA tool 1202 C for DRC/LVS included in the circuit design tool 113 through API calls.
- the code C_sim can cause the control circuit 112 to launch an EDA tool 1202 D for post-simulation included in the circuit design tool 113 through API calls.
- the system 100 can realize automated analog design synthesis.
- Some embodiments described herein may include a method for fabricating an integrated circuit.
- the method includes receiving a cell schematic of a unit cell of the integrated circuit; determining a set of parameter values for a set of size parameters of the unit cell in the cell schematic according to a predetermined criterion, wherein the unit cell characterized by the set of parameter values has a circuit characteristic meeting the predetermined criterion; generating a cell layout of the unit cell according to the cell schematic indicating the set of parameter values for the set of size parameters; and fabricating the integrated circuit according to the cell layout of the unit cell.
- Some embodiments described herein may include a method for fabricating an integrated circuit.
- the method includes assigning a set of parameter values to a set of size parameters of a unit cell of the integrated circuit in a unit cell schematic of the unit cell according to a predetermined criterion, wherein the unit cell characterized by the set of parameter values has a circuit characteristic meeting the predetermined criterion; generating a unit cell layout of the unit cell according to the unit cell schematic; generating a circuit layout comprising a plurality of replicas of the unit cell layout, the replicas of the unit cell layout being arranged in correspondence with circuit blocks in a circuit floorplan of the integrated circuit, respectively; and fabricating the integrated circuit according to the circuit layout.
- Some embodiments described herein may include a system for fabricating an integrated circuit.
- the system includes a control circuit and a storage device.
- the storage device coupled to the control circuit, is configured to store a circuit design database and a program code.
- the circuit design database stores a plurality of circuit characteristics corresponding to a unit cell of the integrated circuit.
- a plurality of candidate sets of parameter values for a set of size parameters of the unit cell are used to characterize the unit cell to obtain the circuit characteristics, respectively.
- the program code When executed by the control circuit, the program code causes the control circuit to create a cell schematic of the unit cell according to the circuit design database, wherein the set of size parameters of the unit cell in the cell schematic has one of the candidate set of parameter values, and the unit cell characterized by the one of the candidate set of parameter values has a circuit characteristic meeting a predetermined criterion; generate a cell layout of the unit cell according to the cell schematic; and fabricate the integrated circuit according to the cell layout of the unit cell.
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)
- Architecture (AREA)
- Computer Networks & Wireless Communication (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
Description
- The present disclosure relates to circuit design and, more particularly, to a method for fabricating an integrated circuit with the aid of programmable circuit synthesis, and a system for fabricating an integrated circuit.
- An integrated circuit (IC), also referred to as a microelectronic circuit, a microchip or a chip, is an assembly of electronic components integrated into a thin substrate of semiconductor material. The electronic components can include miniaturized active circuit elements and passive circuit devices. Integrated circuits can be classified into analog integrated circuits, digital integrated circuits and analog/mixed-signal (AMS) integrated circuits according to the type of signals used in the integrated circuits. An AMS integrated circuit is a combination of analog and digital circuitry on a single chip. AMS integrated circuits are widely used for applications such as internet of things (IoT), cellular phone systems or other high speed electronic systems.
- Aspects of the present disclosure are best understood from the following detailed description when read with the accompanying figures. It is noted that, in accordance with the standard practice in the industry, various features are not drawn to scale. In fact, the dimensions of the various features may be arbitrarily increased or reduced for clarity of discussion.
-
FIG. 1 illustrates an exemplary system for fabricating an integrated circuit in accordance with some embodiments of the present disclosure. -
FIG. 2A illustrates an exemplary circuit floorplan of an integrated circuit is illustrated in accordance with some embodiments of the present disclosure. -
FIG. 2B illustrates exemplary cell layouts of the guard ring cells shown inFIG. 2A in accordance with some embodiments of the present disclosure. -
FIG. 3 illustrates a flow chart of an exemplary method for synthesizing an integrated circuit in accordance with some embodiments of the present disclosure. -
FIG. 4 illustrates an exemplary cell schematic of a unit cell of an integrated circuit in accordance with some embodiments of the present disclosure. -
FIG. 5 illustrates an exemplary cell schematic of a unit cell of an integrated circuit in accordance with some embodiments of the present disclosure. -
FIG. 6 illustrates an exemplary cell layout transferred from the cell schematic shown inFIG. 5 in accordance with some embodiments of the present disclosure. -
FIG. 7 illustrates an exemplary circuit layout created using the cell layout shown inFIG. 6 in accordance with some embodiments of the present disclosure. -
FIG. 8 illustrates an exemplary circuit floorplan of an integrated circuit in accordance with some embodiments of the present disclosure. -
FIG. 9 illustrates an exemplary schematic design created using the cell schematic shown inFIG. 5 in accordance with some embodiments of the present disclosure. -
FIG. 10 is a flow chart of an exemplary method for fabricating an integrated circuit in accordance with some embodiments of the present disclosure. -
FIG. 11 is a flow chart of an exemplary method for fabricating an integrated circuit in accordance with some embodiments of the present disclosure. -
FIG. 12 illustrates an implementation of the control circuit and the program code shown inFIG. 1 in accordance with some embodiments of the present disclosure. - The following disclosure provides many different embodiments, or examples, for implementing different features of the provided subject matter. Specific examples of components and arrangements are described below to simplify the present disclosure. These are, of course, merely examples and are not intended to be limiting. For example, the formation of a first feature over or on a second feature in the description that follows may include embodiments in which the first and second features are formed in direct contact, and may also include embodiments in which additional features may be formed between the first and second features, such that the first and second features may not be in direct contact. In addition, the present disclosure may repeat reference numerals and/or letters in the various examples. This repetition is for the purpose of simplicity and clarity and does not in itself dictate a relationship between the various embodiments and/or configurations discussed.
- In addition, it will be understood that when an element is referred to as being “connected to” or “coupled to” another element, it may be directly connected to or coupled to the other element, or intervening elements may be present.
- Further, spatially relative terms, such as “beneath,” “below,” “lower,” “above,” “upper” and the like, may be used herein for ease of description to describe one element or feature's relationship to another element(s) or feature(s) as illustrated in the figures. The spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. The apparatus may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein may likewise be interpreted accordingly.
- AMS circuit designs utilize a more complex flow than strictly digital designs. During an AMS design process, a circuit designer has to repeatedly and manually modify circuit schematics and corresponding circuit layouts in order to find optimized design parameters. For example, the circuit designer may create a schematic design of an AMS integrated circuit. The circuit designer assigns respective device sizes to circuit elements of the AMS integrated circuit according to a performance specification and a given technology node. A pre-layout simulation is performed upon the schematic design to simulate performance of the AMS integrated circuit. If the simulated performance does not satisfy the performance specification, the circuit designer has to modify at least one of the device sizes in the schematic design, and enables the pre-layout simulation again to determine if the performance specification can be satisfied. However, as the device size selection of the circuit elements heavily depends on the experience and knowledge of the circuit designer, the device sizes are often modified multiple times before the simulated performance can satisfy the performance specification.
- When the simulated performance satisfies the performance specification, a layout design is generated according to the schematic design which may have been modified multiple times. A post-layout simulation is performed on the layout design. In contrast to the pre-layout simulation where layout-dependent effects (LDEs) of the AMS integrated circuit are not taken into account, the LDEs are incorporated into the post-layout simulation such that the resulting simulated performance can reflect actual circuit response more accurately. If the post-layout simulation determines that the layout design does not satisfy the performance specification, the circuit designer has to interpret the simulation performance, and revises at least one of the layout design and the schematic design based on his or her own experience. As a result, not only the schematic design but also the layout design is iteratively modified until both the pre-layout and post-layout simulation results satisfy the performance specification. The aforementioned trial-and-error process leads to a waste of human resources and increases manufacturing costs.
- The present disclosure describes exemplary methods for fabricating an integrated circuit with the aid of programmable circuit synthesis. The programmable circuit synthesis can be performed based on a unit cell of the integrated circuit. For example, the integrated circuit may include a plurality of unit cells each having a similar/identical circuit structure. Each unit cell has programmable design parameters. Before creating a circuit design of the integrated circuit, the exemplary methods can create a suitable or optimized circuit design of a unit cell by determining suitable or optimized design parameter values for the unit cell. By assigning the determined circuit design of the unit cell to other unit cells, the exemplary methods can synthesize a suitable or optimized circuit design of the integrated circuit without manual iterations.
- In some embodiments, the integrated circuit may be an analog integrated circuit or an AMS integrated circuit. A unit cell of the integrated circuit may be an analog circuit cell or an AMS circuit cell. The exemplary methods can provide programmable analog synthesis to fabricate the integrated circuit. In some embodiments, a circuit design of a unit cell may include at least one of a schematic representation and a layout representation of the unit cell.
- With the use of unit-cell-based programmable circuit synthesis, the exemplary methods can realize an automated circuit design flow to save time and reduce cost. Further description is provided below.
-
FIG. 1 illustrates an exemplary system for fabricating an integrated circuit in accordance with some embodiments of the present disclosure. Thesystem 100 can provide a programmable circuit synthesis platform to realize an automated design flow. In the present embodiment, the integrated circuit (not shown inFIG. 1 ) can be an analog integrated circuit or an AMS integrated circuit, and the programmable circuit synthesis platform can be a programmable analog synthesis platform. Those skilled in the art will recognize thesystem 100 can be applied to fabricate other types of integrated circuits without departing from the scope the present disclosure. - The
system 100 includes, but is not limited, acircuit design system 110 and acircuit generation system 120. Thecircuit design system 110 is configured to provide design information DI of the integrated circuit for thecircuit generation system 120. Thecircuit generation system 120 is configured to implement the integrated circuit according to the design information DI. By way of example but not limitation, thecircuit generation system 120 is configured to form a circuit on a substrate using a plurality of photomasks in a multi-patterning deposition process and/or other suitable circuit manufacturing process according to a layout design included in the design information DI. - In the present embodiment, the
circuit design system 110 includes, but is not limited to, acontrol circuit 112, astorage device 114 and an input/output (I/O)module 118. Thecontrol circuit 112, including at least one processor or at least one controller, is operative to control operations of the circuit design system 102. For example, thecontrol circuit 112 may include central processing unit(s), graphic processing unit(s), general purpose processor(s), digital signal processor(s), microprocessor(s) or other types of processors. As another example, thecontrol circuit 112 may include microcontroller(s), application specific integrated circuit(s), field programmable gate array(s), programmable logic device(s) or other types of controllers. - The
storage device 114 may include any non-transitory computer readable medium capable of storing data, instructions, software programs, or combinations thereof. For example, thestorage device 114 may be implemented by a memory device including a read-only memory (ROM), a random access memory (RAM), a flash memory, a content addressable memory (CAM), a disk memory, a memory card or any other types of memory devices suitable for storing information. In the present embodiment, thestorage device 114 may store program code PROG, i.e. a set of execution instructions, which causes thecontrol circuit 112 to execute circuit design operations of acircuit design tool 113. The circuit design operations may include at least one of schematic generation, layout generation, design rule verification and post-layout simulation. Thecircuit design tool 113 may include at least one of a computer aided design (CAD) tool and an electronic design automation (EDA) tool. Thestorage device 114 may also store acircuit design database 116 for the circuit design operations. - The I/
O module 118 can be configured to receive input signals for designing the integrated circuit, and output associated information during a design process. By way of example but not limitation, the I/O module 118 may include a keyboard, a mouse, a display, a touch screen, other types of I/O devices, or combinations thereof. When the program code PROG is executed, thecontrol circuit 112 may control the I/O module 118 to display a graphic user interface associated with thecircuit design tool 113 launching in thecircuit design system 110. - In some embodiments, the
circuit design database 116 may store design data associated with a plurality of circuit cells. When executed by thecontrol circuit 112, the program code PROG can cause thecontrol circuit 112 to create a circuit design of a unit cell of the integrated circuit according to design data associated with a circuit cell, which has a circuit structure similar/identical to a circuit structure of the unit cell. For example, the design data associated with the circuit cell may include different circuit characteristics possessed by the circuit cell of different cell sizes. The program code PROG may include one or more algorithms, such as artificial intelligence (AI) algorithms, to facilitate optimization of the circuit design. As a result, the program code PROG can cause thecontrol circuit 112 to select one of the cell sizes, which corresponds to a circuit characteristic satisfying performance specifications, as a cell size of the unit cell, thereby creating a suitable/optimized circuit design of the unit cell. Also, thecontrol circuit 112 can refer to the circuit design of the unit cell to generate respective circuit designs of other unit cells of the integrated circuit, thereby generating a suitable/optimized circuit design of the integrated circuit without timing consuming trial-and-error iterations. - In some embodiments, the
control circuit 112 can be configured to generate design data associated with one or more circuit cells stored in thecircuit design database 116. For example, thecontrol circuit 112 can perform circuit simulation upon a circuit cell of different cell sizes, and store corresponding circuit characteristics possessed by the circuit cell into thecircuit design database 116. When executed by thecontrol circuit 112, the program code PROG can cause thecontrol circuit 112 to access thecircuit design database 116 to create a suitable/optimized circuit design for a unit cell of the integrated circuit. - With the use of a suitable/optimized circuit design of a unit cell created based on program code, the
circuit design system 110 can provide automated and programmable circuit synthesis to fabricate the integrated circuit. Referring toFIG. 2A , anexemplary circuit floorplan 204 of anintegrated circuit 202 is illustrated in accordance with some embodiments of the present disclosure. Theintegrated circuit 202 can represent an embodiment of the integrated circuit described with reference to thesystem 100 shown inFIG. 1 . In the present embodiment, theintegrated circuit 202 can be implemented as, but is not limited to, an analog integrated circuit or an AMS integrated circuit. Theintegrated circuit 202 has a plurality of unit cells including active circuit cells and guard ring cells. Each active circuit cell, labeled AC_A, can provide electrical signal(s) and functionality. For example, each active circuit cell AC_A may include one or more transistors. The guard ring cells can provide electrical isolation/protection for the active circuit cells AC_A. In the present embodiment, the guard ring cells can be classified into different groups according to cell positions thereof. Each of the guard ring cells GR_C is placed on a corner of thecircuit floorplan 204. Each of the guard ring cells GR_H is placed on a horizontal peripheral side of thecircuit floorplan 204. Each of the guard ring cells GR_V is placed on a vertical peripheral side of thecircuit floorplan 204. Each of the guard ring cells GR_I is placed inside thecircuit floorplan 204.FIG. 2B illustrates exemplary cell layouts of the guard ring cells GR_C, GR_H, GR_V and GR_I shown inFIG. 2A in accordance with some embodiments of the present disclosure. - In the embodiment shown in
FIG. 2A , each unit cell can be assigned to a circuit block of thecircuit floorplan 204 during an automated placement process, which may be enabled when associated instructions of program code are executed. After a cell layout of each unit cell is placed in a circuit block of thecircuit floorplan 204, an automated routing process may be enabled to electrically connect the unit cells. For example, after a suitable/optimized cell layout of each unit cell is determined, the program code PROG shown inFIG. 1 may cause thecontrol circuit 112 shown inFIG. 1 to perform automated placement operation and automated routing operation, thereby realizing program-based circuit synthesis. -
FIG. 3 illustrates a flow chart of an exemplary method for synthesizing an integrated circuit in accordance with some embodiments of the present disclosure. Themethod 300 can be employed in thesystem 100 shown inFIG. 1 to realize a programmable circuit synthesis platform. It is worth noting that themethod 300 can be employed in other systems for synthesizing an integrated circuit without departing from the scope of the present disclosure. Additionally, in some embodiments, other operations in themethod 300 can be performed. In some other embodiments, operations of themethod 300 can be performed in a different order and/or vary. In some other embodiments, one or more operations of themethod 300 may be optional. - To facilitate understanding of the present disclosure, the
method 300 is described below with reference to thesystem 100 shown inFIG. 1 together with circuit design representations shown inFIG. 4 toFIG. 8 . The circuit design representations shown inFIG. 4 toFIG. 8 are related to an AMS integrated circuit, which can be implemented as a digital-to-analog converter (DAC). However, those skilled in the art will recognize that themethod 300 can be used to synthesize integrated circuits having other circuit topologies without departing from the scope of the present disclosure. - At
operation 302, a cell schematic of a unit cell of the integrated circuit is created. For example, with reference toFIG. 1 andFIG. 4 , thesystem 100 is configured to fabricate a current-steering DAC including a plurality of unit cells UC. Each unit cell UC may be referred to as a current cell of the current-steering DAC. Thecontrol circuit 112 can create a cell schematic CS1 of the unit cell UC, i.e. a schematic representation of the unit cell UC. The cell schematic CS1 can indicate a cell size of the unit cell UC. The I/O module 118 can be configured to display the cell schematic CS1. - In the present embodiment, the unit cell UC includes, but is not limited to, a cascode current source and an output switch. The cascode current source can be implemented by a plurality of transistors M1 and M2. The output switch can be implemented by a transistor M3. The cell size of the unit cell UC in the cell schematic CS1 can be represented by a set of size parameters {sch_para}, which includes at least one transistor size parameter. For example, the set of size parameters {sch_para} of the unit cell UC includes size parameters W1, Nf1, W2 and Nf2, wherein the size parameters W1 and Nf1 represent the channel width and the number of fingers of the transistor M1 respectively, and the size parameters W2 and Nf2 represent the channel width and the number of fingers of the transistor M2 respectively.
- The set of size parameters {sch_para} of the unit cell UC in the cell schematic CS1 may be assigned a set of parameter values according to a performance specification provided by the customer. By way of example but not limitation, the performance specification may define an output current of 1 μA. Each of the size parameters W1 and W2 shown in the cell schematic CS1 can be assigned 2 accordingly, meaning that the respective channel widths of the transistors M1 and M2 are set to two times respective channel lengths. The respective channel lengths can be equal to a minimum channel length for a given technology node. Also, each of the size parameters Nf1 and Nf2 shown in the cell schematic CS1 can be assigned 2 accordingly, meaning that the respective numbers of fingers of the transistors M1 and M2 are set to two. The cell schematic CS1 may be regarded as a schematic template.
- At
operation 304, a set of parameter values for a set of size parameters of the unit cell in the cell schematic is revised according to a predetermined criterion. The unit cell characterized by the revised set of parameter values has a circuit characteristic meeting the predetermined criterion. Atoperation 306, another cell schematic indicating the revised set of parameter values for the set of size parameters of the unit cell is created. - For example, with reference to
FIG. 1 andFIG. 5 , thecontrol circuit 112 can execute one or more algorithms included in the program code PROG to revise the set of parameter values for the set of size parameters {sch_para} according to a predetermined criterion. The executed one or more algorithms may be one or more AI algorithms, including Decision Trees, Naive Bayes Classifiers, Ensemble Methods, Support Vector Machines and other machine learning algorithms. The unit cell UC characterized by the set of parameter values in the cell schematic CS2 may possess a circuit characteristic meeting the predetermined criterion. The circuit characteristic may include, but is not limited to, a gain value of the unit cell UC. The predetermined criterion can specify a predetermined range of gain values. The predetermined criterion is met when the gain value of the unit cell UC falls within the predetermined range of gain values. After the revised set of parameter values for the set of size parameters {sch_para} is determined according to the predetermined criterion, thecontrol circuit 112 can execute the program code PROG to enable a schematic generator, which can create a cell schematic CS2 according to the revised set of parameter values. - In the present embodiment, the circuit characteristic includes a gain value of the unit cell UC. The predetermined criterion can specify a predetermined range of gain values. The predetermined criterion is met when the gain value of the unit cell UC falls within the predetermined range of gain values. By way of example but not limitation, the predetermined criterion can specify a predetermined range of values for an intrinsic gain of a current source transistor, i.e. the product of transconductance gm and output resistance ro of the transistor M1/M2. The predetermined criterion is met when a value of the intrinsic gain of the transistor M1/M2 falls within a predetermined range, e.g. 28<gm×ro<31. In the cell schematic CS2, respective parameter values for the size parameters W1 and Nf1 are set to 8 and 2, respectively, such that an intrinsic gain of the transistor M1 has a value falling within the predetermined range. Respective parameter values for the size parameters W2 and Nf2 are set to 8 and 4, respectively, such that an intrinsic gain of the transistor M2 has a value falling within the predetermined range.
- It is worth noting that a current-steering DAC having high output impedance can exhibit high linearity. Operating a current source transistor of a DAC unit cell, e.g. the transistor M1/M2, in a saturation region can increase the output impedance of the current-steering DAC. The predetermined criterion, specifying the predetermined range of values for the intrinsic gain of the current source transistor, can ensure that the current source transistor operates in the saturation region, thus realizing the current-steering DAC with high linearity. In addition, the predetermined range specified by the predetermined creation may vary as long as the current source transistor of the DAC unit cell can operate in the saturation region. By way of example but not limitation, the predetermined range defined by the predetermined criterion may be gm×ro>20 in some embodiments.
- In some embodiments, the
control circuit 112 can determine the set of parameter values for the set of size parameters {sch_para} according to a plurality of candidate sets of parameter values for the set of size parameters {sch_para} stored in thecircuit design database 116. For example, when executed by thecontrol circuit 112, the program code PROG can cause thecontrol circuit 112 to select a candidate set of parameter values from the candidate sets of parameter values for the set of size parameters {sch_para}. As the unit cell UC characterized by the selected candidate set of parameter values possesses the circuit characteristic meeting the predetermined criterion, thecontrol circuit 112 can use the selected candidate set of parameter values as the revised set of parameter values for the set of size parameters {sch_para} in the cell schematic CS2. - At
operation 308, a circuit layout is generated according to the revised set of parameter values for the set of size parameters of the unit cell. In the present embodiment, a cell layout of the unit cell may be generated according to the revised set of parameter values for the set of size parameters of the unit cell. The circuit layout may be generated by assigning the cell layout to each of circuit blocks in a circuit floorplan of the integrated circuit. - For example, referring first to
FIG. 1 andFIG. 6 , thecontrol circuit 112 can execute the program code PROG to enable a layout generator, which can create acell layout 602 of the unit cell UC according to the revised set of parameter values for the set of size parameters {sch_para} in the cell schematic CS2. Thecell layout 602 includes respective layout structures L_M1-L_M3 of the transistors M1-M3. It is worth noting that thecell layout 602 may further include a plurality of layout structures L_GR1, L_RP and L_GR2. Each of the layout structures L_GR1 and L_GR2 is configured to define a guard ring structure, which is capable of providing electrical isolation/protection for the unit cell UC. The guard ring structures defined by the layout structures L_GR1 and L_GR2 may be tied to a power supply and ground, respectively. The layout structure L_RP is configured to define a track space available for routing. A plurality of electrical interconnection routing paths can be disposed in the track space. - In the present embodiment, the layout generator, or the
control circuit 112, can generate thecell layout 602 according to a layout template LT, which is provided in a unit-cell-based layout style. The layout template LT includes a plurality of guard ring areas ntap and ptap, a plurality of transistor areas pch0, nch0 and nch1, and a routing area RA. Each of the guard ring areas ntap and ptap is configured to define a guard ring structure. The layout generator can characterize the guard ring areas ntap and ptap according to the set of parameter values for the set of size parameters {sch_para} in the cell schematic CS2, thereby generating the layout structures L_GR1 and L_GR2, respectively. - Each of the transistor areas pch0, nch0 and nch1 is configured to define a transistor structure. Each transistor area includes an oxide diffusion segment OD and one or more polygate segments PG. The layout generator can characterize the transistor areas pch0, nch0 and nch1 according to the revised set of parameter values for the set of size parameters {sch_para} in the cell schematic CS2, thereby generating the layout structures L_M1-L_M3, respectively.
- The routing area RA, located between the transistor area nch0 and the guard ring area ptap, is configured to define a track space available for routing. The track space can be expressed as the number of tracks tNum. The layout generator can determine the number of tracks tNum according to the revised set of parameter values for the set of size parameters {sch_para} in the cell schematic CS2, thereby generating the layout structure L_RP.
- When the
cell layout 602 of the unit cell UC is created, the layout generator, or thecontrol circuit 112, can generate a circuit layout according to a circuit floorplan and thecell layout 602. Referring toFIG. 1 and also toFIG. 7 , thecontrol circuit 112 can execute the program code PROG to assign thecell layout 602 to each of circuit blocks in acircuit floorplan 701 of the integrated circuit, thereby generating acircuit layout 702. As a result, thecircuit layout 702, also referred to as a top cell layout, can include a plurality of replicas of thecell layout 602, which are arranged in correspondence with the circuit blocks in thecircuit floorplan 701, respectively. In the present embodiment, the integrated circuit can be implemented as, but is not limited to, a 6-bit binary-weighted current-steering DAC having 26 unit cells. The 26 unit cells, or 26 active circuit cells, include 25 first most significant bit (MSB) unit cells, 2 4 second MSB unit cells, 23 third MSB unit cells, 22 fourth MSB unit cells, 21 fifth MSB unit cells and 22 least significant bit (LSB) unit cell. The 2 6 unit cells are assigned to 26 circuit blocks in thecircuit floorplan 701, respectively. For example, the 25 first MSB unit cells are assigned to 25 circuit blocks (labeled 5), respectively. The 24 second MSB unit cells are assigned to 24 circuit blocks (labeled 4), respectively. The 23 third MSB unit cells are assigned to 23 circuit blocks (labeled 3), respectively. The 22 fourth MSB unit cells are assigned to 22 circuit blocks (labeled 2), respectively. The 21 fifth MSB unit cells are assigned to 21 circuit blocks (labeled 1), respectively. The 20 LSB unit cell are assigned to 20 circuit block (labeled 0). As each of the 26 unit cells can use thecell layout 602 as a cell layout thereof, thecell layout 602 can be assigned to each of the 26 circuit blocks. - The
circuit floorplan 701 may further include a plurality of circuit blocks D and a circuit block Gm. Each circuit block D is assigned a dummy cell, which is a unit cell operating as a guard ring cell to provide electrical isolation/protection. In some embodiments, the dummy cell can be used for DAC calibration. The circuit block Gm, located at a reference position in thecircuit floorplan 701, can also be assigned a dummy cell. A position where a cell layout of a unit cell is placed in thecircuit floorplan 701 can be determined according to the reference position. Other circuit blocks in thecircuit floorplan 701 can be symmetrically located with respect to the circuit block Gm, i.e. the reference position. For example, circuit blocks in thecircuit 701 are arranged in an array having a plurality of rows ref, dmy1, dmy2 and row1-row6. The reference position can be a center position of the array. - In the present embodiment, circuit blocks in the
circuit floorplan 701 may include a plurality of circuit block groups BG1-BG4 arranged in a repeating pattern. By way of example but not limitation, thecircuit floorplan 701 can be implemented as a row based floorplan, where circuit elements are placed in rows and channels run horizontally between rows of circuit elements. The circuit block groups BG1 includes a plurality of adjacent circuit blocks, labeled 5, 5, 5, 4 and 5 respectively, located in a row. Each of the rows row1 and row6 can utilize the circuit block group BG1 to construct a same circuit block arrangement. The circuit block groups BG2 includes a plurality of adjacent circuit blocks, labeled 5, 5, 4, 3 and 4 respectively, located in a row. Each of the rows row2 and rows can utilize the circuit block group BG2 to construct a same circuit block arrangement. The circuit block groups BG3 includes a plurality of adjacent circuit blocks, labeled 5, 4, 3, 2 and 1 respectively, located in a row. Each of the rows row3 and row4 can utilize the circuit block group BG3 to construct a same circuit block arrangement. The circuit block groups BG4 includes a plurality of adjacent circuit blocks, labeled 5, 5, 4 and 0 respectively, located in a row. The row ref can utilize the circuit block group BG4 to construct a circuit block arrangement thereof. - By assigning the
cell layout 602 to each circuit block in the circuit block groups BG1-BG4, thecontrol circuit 112 can generate a plurality of cell layout groups LG1-LG4, respectively. In addition, by arranging the cell layout groups LG1-LG4 according to the repeating pattern, thecontrol circuit 112 can generate thecircuit layout 702. In the present embodiment, thecircuit layout 702 may include a local interconnect structure such as a MO metal layer. - After a top cell layout, e.g. the
circuit layout 702, is generated according to a circuit floorplan and a suitable/optimized unit cell layout, an automated routing process can be enabled in a back-end design stage. - At
operation 310, one or more routing paths are provided on the circuit layout to generate a layout design of the integrated circuit. The integrated circuit can be fabricated according to the layout design. For example, with reference toFIG. 1 andFIG. 7 , after thecircuit layout 702 is generated according to thecircuit floorplan 701 and thecell layout 602, the program code PROG can cause thecontrol circuit 112 to enable an automated routing tool. The automated routing tool, also referred to as automatic router, can utilize routing specifications stored in thecircuit design database 116 to provide one or more routing paths (not shown inFIG. 7 ) on thecircuit layout 702, thereby generating a layout design of the integrated circuit. The layout design can be a design rule check (DRC) clean and layout versus schematic (LVS) clean layout design. In some embodiments, the routing specifications include the number of routing layers, routing layer coloring, routing wire lengths, routing wire widths, routing wire spacing, orientation of routing wires, and combinations thereof. In some embodiments, the routing specifications include signal net definition, clock net definition, power net definition, and combinations thereof. In some embodiments, the routing specifications include pin name definition, routing mismatch tolerance, routing electromigration (EM) tolerance, voltage levels associated with routing layers, and combinations thereof. - It is worth noting that the layout styles shown in
FIG. 6 andFIG. 7 are provided for illustrative purposes, and are not intended to limit the scope of the present disclosure. For example, a top cell layout of the integrated circuit can be created by assigning a unit cell layout, e.g. thecell layout 602, to circuit floorplans having different circuit block topologies. - Referring to
FIG. 8 , a circuit floorplan having a circuit block topology different from that of thecircuit floorplan 701 shown inFIG. 7 is illustrated in accordance with some embodiments of the present disclosure. In the present embodiment, circuit blocks in thecircuit floorplan 801 may include a plurality of circuit block groups BG1′-BG3′ arranged in a repeating pattern. In the present embodiment, the circuit block groups BG1′ includes a plurality of adjacent circuit blocks, labeled 5, 5, 5 and 5 respectively, located in a row. The circuit block groups BG2′ includes a plurality of adjacent circuit blocks, labeled 4, 4, 4 and 4 respectively, located in a row. The circuit block groups BG3′ includes a plurality of adjacent circuit blocks, labeled 3, 3, 3 and 3 respectively, located in a row. The circuit block groups BG4′ includes a plurality of adjacent circuit blocks, labeled 2, 2, 1 and 0 respectively, located in a row. By assigning a suitable/optimized unit cell layout, such as thecell layout 602 shown inFIG. 6 , to each circuit block in the circuit block groups BG1′-BG4′, thecontrol circuit 112 shown inFIG. 1 can generate a top cell layout according to thecircuit floorplan 801 and the suitable/optimized unit cell layout. - In some embodiments, a schematic design of the integrated circuit can be created in a hierarchical manner at
operation 306. For example, a circuit floorplan of the integrated circuit includes rows of circuit blocks. Each row of circuit blocks comprises a plurality of circuit blocks. Atoperation 306, after the another cell schematic indicating the revised set of parameter values is created, respective block schematics of circuit blocks in each row of circuit blocks are created according to the another cell schematic. Also, a circuit schematic of the row of circuit blocks is created according to the block schematics. According to respective circuit schematics for the rows of circuit blocks, the schematic design of the integrated circuit can be created. - Referring to
FIG. 1 and also toFIG. 9 , the schematic generator enabled by thecontrol circuit 112 can create respective block schematics of circuit blocks in each row according to the cell schematic CS2, and create a circuit schematic of the row according to the block schematics. As a result, the circuit schematic of the row is a row based schematic created according to the cell schematic CS2. For example, a circuit schematic S_row1 of the row row1 can be created according to the cell schematic CS2. The block schematics included in the circuit schematic S_row1 are arranged in correspondence with the circuit blocks in the row row1, respectively. The block schematic S_5 corresponds to the circuit block labeled 5, and the block schematic S_4 corresponds to the circuit block labeled 4. Also, the block schematic S_D corresponds to the circuit block D which is assigned a dummy cell. After the circuit schematics S_ref, S_dmy1, S_dmy2 and S_row1-S_row6, corresponding to the rows ref, dmy1, dmy2 and row_1-row6 respectively, are created, the schematic generator enabled by thecontrol circuit 112 can create aschematic design 802 of the integrated circuit accordingly. - At
operation 312, a test bench or a post-simulation is performed. For example, a post-simulation can be performed upon the unit cell characterized by the revised set of parameter values to generate a simulation result. When the simulation result does not satisfy another predetermined criterion, such as a predetermined frequency response, predetermined transient waveforms or other predetermined circuit characteristics, themethod 300 returns tooperation 304, such that the revised set of parameter values for the set of size parameters of the unit cell can be modified again. Another revised set of parameter values for the set of size parameters is obtained accordingly. The unit cell characterized by the another revised set of parameter values has a circuit characteristic meeting the predetermined criterion. - As another example, a post-simulation can be performed upon the layout design of the integrated circuit to generate a simulation result. When the simulation result does not satisfy another predetermined criterion, such as a predetermined frequency response, predetermined transient waveforms or other circuit characteristics, the
method 300 returns tooperation 310, such that the layout design of the integrated circuit can be modified. -
FIG. 10 is a flow chart of an exemplary method for fabricating an integrated circuit in accordance with some embodiments of the present disclosure. Themethod 1000 can be an embodiment of themethod 300. Themethod 1000 can be employed in thesystem 100 shown inFIG. 1 to realize a programmable circuit synthesis platform for integrated circuit fabrication. Those skilled in the art should appreciate that themethod 1000 can be employed in other systems for fabricating an integrated circuit without departing from the scope of the present disclosure. Additionally, in some embodiments, other operations in themethod 1000 can be performed. In some embodiments, operations of themethod 1000 can be performed in a different order and/or vary. In some other embodiments, one or more operations of themethod 1000 may be optional - In addition to the operations 302-310 of the
method 300 shown inFIG. 3 , themethod 1000 may includeoperations operations operation 312 shown inFIG. 3 . - At
operation 1022A, after the revised set of parameter values for the set of size parameters is determined according to the predetermined criterion atoperation 304, thecontrol circuit 112 can perform a simulation upon the unit cell characterized by the revised set of parameter values to generate a first simulation result. - At
operation 1024A, thecontrol circuit 112 can determine if the first simulation result satisfies another predetermined criterion, such as a predetermined frequency response, predetermined transient waveforms or other predetermined circuit characteristics. If the first simulation result satisfies the another predetermined criterion, themethod 1000 proceeds tooperation 308; otherwise, the method 900 returns tooperation 304. - At
operation 1022B, after the layout design of the integrated circuit is generated atoperation 304, thecontrol circuit 112 can perform another simulation upon the layout design to generate a second simulation result. - At
operation 1024B, thecontrol circuit 112 can determine if the second simulation result satisfies another predetermined criterion, such as a predetermined frequency response, predetermined transient waveforms or other predetermined circuit characteristics. If the second simulation result satisfies the another predetermined criterion, themethod 1000 proceeds to operation 930; otherwise, themethod 1000 returns tooperation 310. - At
operation 1030, thecircuit design system 110 can provide the design information DI including the layout design of the integrated circuit. Thecircuit generation system 120 can fabricate the integrated circuit according to the design information DI. - In some embodiments, the operations 302-308, 1022A and 1024A can be performed at a front-end design stage to create a suitable/optimized top cell layout. In some embodiments, the
operations - With the use of a suitable/optimized circuit design of a unit cell created based on program code, the
circuit design system 110 can generate a suitable/optimized circuit design of the integrated circuit without timing consuming trial-and-error iterations. Also, with the use of automated floorplanning and routing, thecircuit design system 100 can save layout efforts in passing DRC introduced by advanced technology nodes. Further, thecircuit design system 100 can make easier transfer from a schematic design to a layout design for advanced technology nodes. -
FIG. 11 is a flow chart of an exemplary method for fabricating an integrated circuit in accordance with some embodiments of the present disclosure. Themethod 1100 can be an embodiment of themethod 300. Themethod 1100 is described with reference to thesystem 100 shown inFIG. 1 for illustrative purposes. Those skilled in the art should appreciate that themethod 1100 can be employed in other systems for fabricating an integrated circuit without departing from the scope of the present disclosure. Additionally, in some embodiments, other operations in themethod 1100 can be performed. In some embodiments, operations of themethod 1100 can be performed in a different order and/or vary. In some other embodiments, one or more operations of themethod 1100 may be optional. - At
operation 1102, a cell schematic of a unit cell of the integrated circuit is received. The unit cell can be an analog circuit cell or an AMS circuit cell of the integrated circuit. For example, thecontrol circuit 112 can receive a schematic data input from the circuit designer to create a cell schematic of a unit cell. As another example, thecontrol circuit 112 can select a schematic template stored in thecircuit design database 116 as the cell schematic of the unit cell. The schematic template has a cell structure identical to that of the unit cell. In some embodiments, at least part of theoperation 1102 can be implemented by theoperation 302 shown inFIG. 3 . - At
operation 1104, a set of parameter values for a set of size parameters of the unit cell in the cell schematic is determined according to a predetermined criterion. The unit cell characterized by the set of parameter values has a circuit characteristic meeting the predetermined criterion. For example, by revising a set of parameter values for the set of size parameters {sch_para} indicated in the cell schematic CS1 shown inFIG. 4 according to a predetermined criterion, thecontrol circuit 112 can determine a set of parameter values for the set of size parameters {sch_para} indicated in the cell schematic CS2 shown inFIG. 5 . As another example, after received a performance specification provided by the customer, thecontrol circuit 112 can assign/determine a set of parameter values for the set of size parameters {sch_para} shown inFIG. 5 according to a predetermined criterion rather than create the cell schematic CS1 shown inFIG. 4 in advance, thereby creating the cell schematic CS2 of the unit cell UC shown inFIG. 5 . In some embodiments, at least part of theoperation 1104 can be implemented by theoperation 304 shown inFIG. 3 . - At
operation 1106, a cell layout of the unit cell is generated according to the cell schematic indicating the set of parameter values for the set of size parameters. For example, thecontrol circuit 112 can execute the program code PROG to enable a layout generator. The layout generator can create a unit cell layout, such as thecell layout 602 shown inFIG. 6 , according to the determined set of parameter values for the set of size parameters. - In some embodiments, a circuit layout can be generated by assigning the unit cell layout to each of circuit blocks in a circuit floorplan of the integrated circuit. The integrated circuit can be generated according to the circuit layout. For example, with reference to
FIG. 1 andFIG. 7 , the layout generator enabled by thecontrol circuit 112 can assign thecell layout 602 to each circuit blocks in thecircuit floorplan 701 to generate thecircuit layout 702, which can be used for fabricating the integrated circuit. In some embodiments, at least part of theoperation 1106 can be implemented by theoperation 308 shown inFIG. 3 . - At
operation 1108, the integrated circuit is fabricated according to the cell layout of the unit cell. For example, the circuit generation systemcircuit generation system 120 can fabricate the integrated circuit according to the design information DI, which includes design data associated with a layout design of the integrated circuit. The layout design of the integrated circuit is created according to a unit cell layout. -
FIG. 12 illustrates an implementation of thecontrol circuit 112 and the program code PROG shown inFIG. 1 in accordance with some embodiments of the present disclosure. In the present embodiment, thecontrol circuit 112 and the program code PROG can be used to implement an analog design generator capable of providing a programmable analog synthesis platform. The program code PROG includes code C_sch for optimizing a schematic design, code C_lay for optimizing a layout design, code C_drc for DRC/LVS, and code C_sim for post-simulation. Input arguments Sch_spec supplied to the program code PROG may include, but is not limited to, specification data and design data associated with a schematic template. - When executed by the
control circuit 112, the code C_sch can cause thecontrol circuit 112 to launchAI algorithms 1202A, or designer-defined code, for schematic optimization by calling an application programming interface (API) 1204. When executed by thecontrol circuit 112, the code C_lay can cause thecontrol circuit 112 to launch anEDA tool 1202B for layout optimization included in thecircuit design tool 113 through API calls. When executed by thecontrol circuit 112, the code C_drc can cause thecontrol circuit 112 to launch anEDA tool 1202C for DRC/LVS included in thecircuit design tool 113 through API calls. When executed by thecontrol circuit 112, the code C_sim can cause thecontrol circuit 112 to launch anEDA tool 1202D for post-simulation included in thecircuit design tool 113 through API calls. - With the use of the programmable analog synthesis platform, the
system 100 can realize automated analog design synthesis. - Some embodiments described herein may include a method for fabricating an integrated circuit. The method includes receiving a cell schematic of a unit cell of the integrated circuit; determining a set of parameter values for a set of size parameters of the unit cell in the cell schematic according to a predetermined criterion, wherein the unit cell characterized by the set of parameter values has a circuit characteristic meeting the predetermined criterion; generating a cell layout of the unit cell according to the cell schematic indicating the set of parameter values for the set of size parameters; and fabricating the integrated circuit according to the cell layout of the unit cell.
- Some embodiments described herein may include a method for fabricating an integrated circuit. The method includes assigning a set of parameter values to a set of size parameters of a unit cell of the integrated circuit in a unit cell schematic of the unit cell according to a predetermined criterion, wherein the unit cell characterized by the set of parameter values has a circuit characteristic meeting the predetermined criterion; generating a unit cell layout of the unit cell according to the unit cell schematic; generating a circuit layout comprising a plurality of replicas of the unit cell layout, the replicas of the unit cell layout being arranged in correspondence with circuit blocks in a circuit floorplan of the integrated circuit, respectively; and fabricating the integrated circuit according to the circuit layout.
- Some embodiments described herein may include a system for fabricating an integrated circuit. The system includes a control circuit and a storage device. The storage device, coupled to the control circuit, is configured to store a circuit design database and a program code. The circuit design database stores a plurality of circuit characteristics corresponding to a unit cell of the integrated circuit. A plurality of candidate sets of parameter values for a set of size parameters of the unit cell are used to characterize the unit cell to obtain the circuit characteristics, respectively. When executed by the control circuit, the program code causes the control circuit to create a cell schematic of the unit cell according to the circuit design database, wherein the set of size parameters of the unit cell in the cell schematic has one of the candidate set of parameter values, and the unit cell characterized by the one of the candidate set of parameter values has a circuit characteristic meeting a predetermined criterion; generate a cell layout of the unit cell according to the cell schematic; and fabricate the integrated circuit according to the cell layout of the unit cell.
- The foregoing outlines features of several embodiments so that those skilled in the art may better understand the aspects of the present disclosure. Those skilled in the art should appreciate that they may readily use the present disclosure as a basis for designing or modifying other processes and structures for carrying out the same purposes and/or achieving the same advantages of the embodiments introduced herein. Those skilled in the art should also realize that such equivalent constructions do not depart from the spirit and scope of the present disclosure, and that they may make various changes, substitutions, and alterations herein without departing from the spirit and scope of the present disclosure.
Claims (20)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/443,055 US10860777B1 (en) | 2019-06-17 | 2019-06-17 | Method and system for fabricating integrated circuit with aid of programmable circuit synthesis |
TW109104801A TW202109344A (en) | 2019-06-17 | 2020-02-14 | Method and system for fabricating integrated circuit with aid of programmable circuit synthesis |
CN202010331620.9A CN112100966A (en) | 2019-06-17 | 2020-04-24 | Method and system for manufacturing integrated circuits by means of programmable circuit synthesis |
US17/103,724 US11238207B2 (en) | 2019-06-17 | 2020-11-24 | Method and system for fabricating integrated circuit with aid of programmable circuit synthesis |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/443,055 US10860777B1 (en) | 2019-06-17 | 2019-06-17 | Method and system for fabricating integrated circuit with aid of programmable circuit synthesis |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/103,724 Continuation US11238207B2 (en) | 2019-06-17 | 2020-11-24 | Method and system for fabricating integrated circuit with aid of programmable circuit synthesis |
Publications (2)
Publication Number | Publication Date |
---|---|
US10860777B1 US10860777B1 (en) | 2020-12-08 |
US20200394279A1 true US20200394279A1 (en) | 2020-12-17 |
Family
ID=73653741
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/443,055 Active US10860777B1 (en) | 2019-06-17 | 2019-06-17 | Method and system for fabricating integrated circuit with aid of programmable circuit synthesis |
US17/103,724 Active US11238207B2 (en) | 2019-06-17 | 2020-11-24 | Method and system for fabricating integrated circuit with aid of programmable circuit synthesis |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/103,724 Active US11238207B2 (en) | 2019-06-17 | 2020-11-24 | Method and system for fabricating integrated circuit with aid of programmable circuit synthesis |
Country Status (3)
Country | Link |
---|---|
US (2) | US10860777B1 (en) |
CN (1) | CN112100966A (en) |
TW (1) | TW202109344A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116757145A (en) * | 2023-08-16 | 2023-09-15 | 合肥奎芯集成电路设计有限公司 | Integrated circuit design layout processing method and device, electronic equipment and storage medium |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10860777B1 (en) * | 2019-06-17 | 2020-12-08 | Taiwan Semiconductor Manufacturing Company Ltd. | Method and system for fabricating integrated circuit with aid of programmable circuit synthesis |
CN117321601A (en) * | 2021-06-23 | 2023-12-29 | 华为技术有限公司 | Layout generation method and device of integrated circuit |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10628546B1 (en) * | 2018-06-29 | 2020-04-21 | Cadence Design Systems, Inc. | Method and system for automatically extracting layout design patterns for custom layout design reuse through interactive recommendations |
US10699051B1 (en) * | 2018-06-29 | 2020-06-30 | Cadence Design Systems, Inc. | Method and system for performing cross-validation for model-based layout recommendations |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4595943A (en) * | 1978-01-18 | 1986-06-17 | Harris Corporation | Reduced beta vertical transistors and method of fabrication |
US6230304B1 (en) * | 1997-12-24 | 2001-05-08 | Magma Design Automation, Inc. | Method of designing a constraint-driven integrated circuit layout |
US6453446B1 (en) * | 1997-12-24 | 2002-09-17 | Magma Design Automation, Inc. | Timing closure methodology |
WO2000031871A1 (en) * | 1998-11-25 | 2000-06-02 | Nanopower, Inc. | Improved flip-flops and other logic circuits and techniques for improving layouts of integrated circuits |
US7076415B1 (en) * | 1998-12-17 | 2006-07-11 | Cadence Design Systems, Inc. | System for mixed signal synthesis |
US6813597B1 (en) * | 1999-06-18 | 2004-11-02 | Cadence Design Systems, Inc. | Mixed signal synthesis |
AU1232501A (en) * | 1999-10-29 | 2001-05-14 | Antrim Design Systems, Inc. | Mixed signal synthesis behavioral models and use in circuit design optimization |
US6496962B1 (en) * | 2000-11-17 | 2002-12-17 | Lsi Logic Corporation | Standard library generator for cell timing model |
US6574779B2 (en) * | 2001-04-12 | 2003-06-03 | International Business Machines Corporation | Hierarchical layout method for integrated circuits |
WO2004072867A1 (en) * | 2003-02-14 | 2004-08-26 | Access Co., Ltd. | Browser program for performing table-layout |
US7530047B2 (en) * | 2003-09-19 | 2009-05-05 | Cadence Design Systems, Inc. | Optimized mapping of an integrated circuit design to multiple cell libraries during a single synthesis pass |
US8818784B1 (en) * | 2004-06-23 | 2014-08-26 | Cypress Semiconductor Corporation | Hardware description language (HDL) incorporating statistically derived data and related methods |
US7716612B1 (en) * | 2005-12-29 | 2010-05-11 | Tela Innovations, Inc. | Method and system for integrated circuit optimization by using an optimized standard-cell library |
US7498872B2 (en) * | 2006-04-28 | 2009-03-03 | Northrop Grumman Corporation | Transistor devices configured to operate above a first cutoff frequency |
US7784013B2 (en) * | 2007-01-03 | 2010-08-24 | PDF Acquisition Corp | Method for the definition of a library of application-domain-specific logic cells |
US8015517B1 (en) * | 2008-06-06 | 2011-09-06 | Nangate A/S | Library sizing |
US7512911B1 (en) * | 2008-09-04 | 2009-03-31 | International Business Machines Corporation | Method for creating a parameterized cell library dual-layered rule system for rapid technology migration |
WO2010073610A1 (en) * | 2008-12-24 | 2010-07-01 | パナソニック株式会社 | Standard cell library and semiconductor integrated circuit |
US8667444B2 (en) * | 2012-02-17 | 2014-03-04 | Synopsys, Inc. | Concurrent placement and routing using hierarchical constraints |
US8863058B2 (en) * | 2012-09-24 | 2014-10-14 | Atrenta, Inc. | Characterization based buffering and sizing for system performance optimization |
US9870441B1 (en) * | 2013-10-04 | 2018-01-16 | Pdf Solutions, Inc. | Snap-to valid pattern system and method |
US9785141B2 (en) * | 2014-09-03 | 2017-10-10 | Cadence Design Systems, Inc. | Method, system, and computer program product for schematic driven, unified thermal and electromagnetic interference compliance analyses for electronic circuit designs |
US10572620B2 (en) * | 2017-08-02 | 2020-02-25 | Oracle International Corporation | Custom piecewise digital layout generation |
US11106575B2 (en) * | 2018-09-28 | 2021-08-31 | Western Digital Technologies, Inc. | Systems and methods for data storage in a memory system |
US10860777B1 (en) * | 2019-06-17 | 2020-12-08 | Taiwan Semiconductor Manufacturing Company Ltd. | Method and system for fabricating integrated circuit with aid of programmable circuit synthesis |
-
2019
- 2019-06-17 US US16/443,055 patent/US10860777B1/en active Active
-
2020
- 2020-02-14 TW TW109104801A patent/TW202109344A/en unknown
- 2020-04-24 CN CN202010331620.9A patent/CN112100966A/en active Pending
- 2020-11-24 US US17/103,724 patent/US11238207B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10628546B1 (en) * | 2018-06-29 | 2020-04-21 | Cadence Design Systems, Inc. | Method and system for automatically extracting layout design patterns for custom layout design reuse through interactive recommendations |
US10699051B1 (en) * | 2018-06-29 | 2020-06-30 | Cadence Design Systems, Inc. | Method and system for performing cross-validation for model-based layout recommendations |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116757145A (en) * | 2023-08-16 | 2023-09-15 | 合肥奎芯集成电路设计有限公司 | Integrated circuit design layout processing method and device, electronic equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
US20210081594A1 (en) | 2021-03-18 |
US11238207B2 (en) | 2022-02-01 |
TW202109344A (en) | 2021-03-01 |
CN112100966A (en) | 2020-12-18 |
US10860777B1 (en) | 2020-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11238207B2 (en) | Method and system for fabricating integrated circuit with aid of programmable circuit synthesis | |
US12079555B2 (en) | Automated circuit generation | |
US11853676B2 (en) | Layout context-based cell timing characterization | |
US20180210421A1 (en) | Method and system for manufacturing an integrated circuit in consideration of a local layout effect | |
US11853682B2 (en) | Systems and methods for identification and elimination of geometrical design rule violations of a mask layout block | |
US11663392B2 (en) | Timing driven cell swapping | |
US12079558B2 (en) | On-the-fly multi-bit flip flop generation | |
US20220245319A1 (en) | Method for integrated circuit design | |
US11042682B2 (en) | Analog design tool having a cell set, and related methods | |
US7451413B1 (en) | Methods of minimizing leakage current by analyzing post layout information and associated threshold voltage and leakage current | |
US20120159412A1 (en) | Transistor-level layout synthesis | |
KR102434992B1 (en) | Method and system for manufacturing integrated circuit by considering local layout effect | |
CN118613801A (en) | Converting a logic netlist into a hierarchical parasitic netlist |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: TAIWAN SEMICONDUCTOR MANUFACTURING COMPANY LTD., TAIWAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHUANG, YUNG-HSU;CHOU, WEN-SHEN;HUANG, JIE-REN;AND OTHERS;REEL/FRAME:049692/0056 Effective date: 20190618 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |