US11157670B2 - Systems and methods for inter-die block level design - Google Patents
Systems and methods for inter-die block level design Download PDFInfo
- Publication number
- US11157670B2 US11157670B2 US16/882,349 US202016882349A US11157670B2 US 11157670 B2 US11157670 B2 US 11157670B2 US 202016882349 A US202016882349 A US 202016882349A US 11157670 B2 US11157670 B2 US 11157670B2
- Authority
- US
- United States
- Prior art keywords
- die
- block
- repeatable
- design
- integrated circuit
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/12—Printed circuit boards [PCB] or multi-chip modules [MCM]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
Definitions
- the following description relates to the design of microelectronic structures. More specifically it relates to the design of the block configuration relationship between bonded dies.
- Microelectronics typically involve the use of thin semiconductor materials such as silicon wafers that may be formed into individual units or dies. Such elements are often used in integrated circuits (ICs) that may be subsequently installed onto printed circuit boards (PCBs).
- ICs integrated circuits
- PCBs printed circuit boards
- the EDA tools have limitations on the size of databases that can be used.
- the size limitation on the EDA databases and development of multi-layer die structures may exceed the capabilities of the infrastructure of EDA users.
- the complexity of a design will greatly increase when combining the principles of 3-D stacking because each level must function with the adjoining levels of the stack.
- the complexity of design and problem solving for manufacturing and testing can prove to be too much for an EDA database and users.
- Systems and methods in accordance with many embodiments provide an integrated circuit having a plurality of individual die configured to be stacked and designed according to the block level design such that the blocks of the die have functional definitions that span at least two die in a stack of die.
- Many embodiments are directed to an integrated circuit with a plurality of individual die configured to be stacked and a plurality of repeatable functional blocks, wherein the blocks are smaller functional subunits of an individual die and are designed using a process design kit such that they are timing closed at the block level and such that the plurality of blocks are configured to have a functional definition between at least any two of the plurality of individual die.
- the plurality of blocks spans more than one process design kit.
- the plurality of repeatable functional sub-blocks are instantiated across each of the plurality of individual die configured to be stacked prior to the die being stacked.
- the plurality of repeatable functional blocks spanning more than one die are instantiated as an LEF/DEF.
- the integrated circuit comprises at least two die configured to be stacked.
- Numerous embodiments include a method for designing an integrated circuit at the block level.
- the circuit may be designed by determining a repeatable functional block of an integrated circuit and then selecting a process design kit suitable to design an individual functional block, followed by designing the repeatable functional block of the integrated circuit such that the design of the block is configured to be timing closed at the block level and wherein the repeatable block is configured to span across more than one die such that the block has functional definitions on each die.
- the designed blocks may then be tested at the block level to ensure timing closure has been met.
- the blocks may then be instantiated on a plurality of individual die, wherein the plurality of individual die that are configured to be stacked with at least another individual die having corresponding instantiated blocks.
- the integrated circuit comprises a plurality of electrical components configured to be timing closed at the block level and wherein the plurality of electrical components are further configured to occupy a functional definition on more than one die.
- the functional block is instantiated across a plurality of individual die wherein the plurality of individual die are configured to be stacked in a multi-die configuration.
- the block is designed using a process design kit selected from a group consisting of multiple process design kits and a single process design kit.
- the block is instantiated as an LEF/DEF
- FIG. 1 illustrates an IC design according to current art
- FIG. 2 illustrates an example of a multiple die design configuration.
- FIG. 3 illustrates an example of individual die design combination
- FIG. 4 illustrates a flowchart of a method for forming die stack in accordance with embodiments.
- FIG. 5A illustrates an exemplary block level design for multiple die in accordance with embodiments.
- FIG. 5B illustrates an exemplary block level design for an individual die in accordance with embodiments.
- the IC is designed by determining the smallest repeatable functional block and designing a multilayer IC that is timing closed at the block level.
- the block is designed according to many embodiments to have functional definitions across multiple die and subsequently be instantiated on an individual die to be later stacked according to the designed block.
- Integrated circuit design generally deals with the creation of electrical components and the design and placement of such components onto a platform such as a silicon wafer.
- the design and layout of the electrical components is performed in such a way as to create functional blocks designed to perform certain processes of the integrated circuit.
- some blocks may be a complex layout comprising a core of a processor; others may serve as controllers such as memory or graphics controllers.
- the blocks can be as simple as amplifiers or gain blocks that may serve as attenuators or amplifiers.
- the blocks may be considered the building blocks of an integrated circuit and each one is a carefully mapped out plan of transistors, resistors, capacitors and metallic interconnects forming the functional blocks of the IC design.
- FIG. 1 illustrates an example of an IC with various “blocks” depicted.
- FIG. 1 illustrates an IC with various cores 110 as well as a memory controller block 130 , a graphics controller 140 , and a shared Level 3 (L3) cache 120 of the cores.
- L3 cache 120 may be examples of higher level blocks involving a variety of smaller sub-blocks.
- the overall IC and the individual blocks and sub-blocks may be designed using a Process Design Kit (PDK).
- PDK is a set of design rules and guidelines specific to a foundry, foundry node, and foundry process flavor used to design, simulate and verify the design before the IC is entered into production.
- PDK's typically include a collection of files that designers of IC's can use along with other database tools for designing the IC. Any number of process design kits may be used in the design. Normally a designer may only require a single PDK for designing the IC.
- timing is generally related to the clock frequency or the speed at which an integrated circuit functions. Timing can be limited by the physical and electrical layout and design of the integrated circuit, and is designed to be optimized to meet the desired parameters of the circuit. For example, the processing parameters of a mobile phone are likely to be much greater than those in a simple remote control for a television. A typical design process is planned such that the timing is closed.
- Timing is considered closed when the timing constraints and IC parameters have been satisfied through design optimization.
- a die is designed to be timing closed at the block level in hierarchical designs or at die level in flat designs. Both of these are done for the same monolithis silicon die.
- the increase in complexity of integrated circuit design increases the complex problems with respect to timing closure. Therefore, the complexity of meeting the timing constraints can be affected by the increased complexity of the overall IC with multiple die structures.
- IC design involving the use of EDA tools and databases to design, layout and test the IC components before approval for manufacture involves the formation or design of block type elements similar to those discussed previously.
- Each block or sub-block designed in the IC layout is placed based on the overall function of the IC.
- the IC displayed in FIG. 1 represents a complex IC design wherein more than a billion transistors are present.
- the overall design of an IC die can be complex.
- the current databases and EDA tools may be capable of handling single die designs.
- the demand for increased speed and functionality is increasing the demand for more complex structures capable of handling the needs of the consumer.
- the database tools used in EDA can be quickly overwhelmed when planning a die to die stacking design. For example, turning to FIGS. 2 and 3 , various method for designing the IC layout are presented.
- FIG. 2 illustrates a design methodology where the design of two die are simultaneously planned and is represented by the dashed line surrounding both die.
- Such a methodology may overwhelm the database in EDA due to the complexity of ensuring that the stack now functions as a whole rather than as individual die. This is due to the increased complexity of ensuring that that each portion of one die will function with the corresponding portions of the remaining die. This is critical to ensure the overall design parameters are met for the IC as a whole.
- FIG. 3 illustrates another alternative wherein the individual die are designed separately then stacked.
- Such methods are more likely to experience problems between the stacked die functionality as each die would be designed separately, and integration of the two becomes highly complex.
- Such designs may function they will leave a lot of the benefit of 3-D stacking on the table. In other words, the benefits of 3-D stacking will be limited because the designs must be simpler and will not have the ultimate functionality.
- FIGS. 4 to 5 b an interdie stacking that is time closed at the block level is illustrated in FIGS. 4 to 5 b .
- FIG. 4 illustrates a flow diagram of an exemplary embodiment for creating an IC that is time closed at the block level.
- FIGS. 5 a and 5 b are pictorial illustrations of the flow diagram according to many embodiments.
- the schematic illustration of FIG. 4 summarizes an exemplary embodiment of a method of producing an interdie level stack configured at the block level. It is preferred in accordance with many embodiments the smallest repeatable block may be determined so that the planning may be simplified when dealing with multiple die configurations.
- the repeatable blocks may be determined based on the overall function of the IC and may be any number of blocks from a complex core or controller to a simple amplifier. The smallest or smaller repeatable block is determined first by understanding the overall function of the IC.
- the IC may be a multi core processor that may have various blocks including cores and processing units or memory caches.
- the block(s) may be designed using a PDK.
- Selecting a PDK, step 420 may comprise a variety of PDKs selected from any on the known providers. Additionally, the blocks may be designed using a single PDK in conjunction with other EDA software and tools.
- step 430 in FIG. 4 illustrates the designing of a repeatable block that may have definitions or defined functions across multiple die.
- the design of a single repeatable block across multiple die simplifies the design process because only the block needs to be timing closed across the die vs the entire die.
- the end result would be a multiple die stack that is timing closed and meets the desired parameters of the manufacture.
- step 440 of FIG. 4 illustrates the next step in the process by instantiating the designed repeatable block across a plurality of individual die that are designed to be stacked within the IC.
- the instantiating of the blocks eventually forms the desired pattern of the IC, but does so in such a manner that multiple die may be stacked together and be timing closed without being limited by the constraints of the EDA tools.
- the overall IC stack of dies may be configurd to be timing closed at the die level as well.
- a backside bias may be added to one of the die thereby enabling timing closure between the die configured with the designed blocks or sub-blocks.
- at least one of the die configured to be stacked may be configured to have the bulk of the die biased to allow for easier timing closure between die.
- the final step in the process in accordance with many embodiments and as indicated in FIG. 4 may be the stacking of individual die to create a multiple die stack having an interdie block-level design configuration that has been timing closed at the block level.
- FIGS. 5 a and 5 b exemplary embodiments of the invention are illustrated in a graphical form of the previously discussed flow diagram of FIG. 4 .
- FIG. 5 a illustrates the selection of the smallest repeatable block 410 that may be designed across a plurality of die such that it is timing closed across more than one die.
- the designed repeatable interdie blocks 510 as previously described throughout the specification may serve a variety of functions within the IC on the die, including, but not limited to, processor to memory, partial processor to partial processor, memory to memory, or partial series to partial series. In many embodiments multiple blocks may serve the same function. A key embodiment involves selecting the smallest repeatable block of the IC that serves the same or similar function.
- the selection, design and testing (steps 410 - 440 ) of the smallest repeatable block may correspond to graphical representation of FIG. 5 a , wherein the block 510 is selected, designed and tested to be timing closed between a plurality of die.
- the die represented in FIG. 5 a illustrate the die to be stacked and are not necessarily representative of actual die and actual blocks but represent the design process of the block over the die.
- FIG. 5 a represents the process by which a block may be designed to be used in an IC rather than the actual fabrication of a block for an IC.
- the block may be designed and manufactured on an IC so that physical testing of the block may be performed to determine the efficacy of the design.
- the selected blocks 510 may be designed across die levels in a stacked die configuration as illustrated in FIG. 5 a .
- the selected blocks 510 are timing closed at the block level rather than the die level. Time closing at the block level vs the die level improves the efficiency of EDA by reducing the size and complexity of the EDA tools and databases used.
- the block can be broken down into smaller sub-blocks 520 illustrated in FIG. 5 b and instantiated on an individual die that is designed to be stacked.
- design can be repeated across an individual die such that the die may be configured to stack with a corresponding die with corresponding designed blocks.
- An exemplary embodiment of the instantiation of designed blocks is illustrated in FIG. 5 b.
- the designed block may be instantiated on a plurality of individual die as a simplified LEF/DEF keeping in mind that the designed block 510 has definitions on a plurality of die.
- Such sub-blocks 520 can then be reinstantiated across the individual die as illustrated in FIG. 4B .
- the overall design and timing closure is simplified to the block level designed to cross die boundaries and allow for increased complex stacking die designs to be used without the limiting effects of the EDA tools.
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)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
Description
Claims (18)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/882,349 US11157670B2 (en) | 2018-06-22 | 2020-05-22 | Systems and methods for inter-die block level design |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/016,347 US10664564B2 (en) | 2018-06-22 | 2018-06-22 | Systems and methods for inter-die block level design |
| US16/882,349 US11157670B2 (en) | 2018-06-22 | 2020-05-22 | Systems and methods for inter-die block level design |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/016,347 Continuation US10664564B2 (en) | 2018-06-22 | 2018-06-22 | Systems and methods for inter-die block level design |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20200356714A1 US20200356714A1 (en) | 2020-11-12 |
| US11157670B2 true US11157670B2 (en) | 2021-10-26 |
Family
ID=68981874
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/016,347 Active US10664564B2 (en) | 2018-06-22 | 2018-06-22 | Systems and methods for inter-die block level design |
| US16/882,349 Active US11157670B2 (en) | 2018-06-22 | 2020-05-22 | Systems and methods for inter-die block level design |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/016,347 Active US10664564B2 (en) | 2018-06-22 | 2018-06-22 | Systems and methods for inter-die block level design |
Country Status (1)
| Country | Link |
|---|---|
| US (2) | US10664564B2 (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100306719A1 (en) | 2007-02-20 | 2010-12-02 | Tela Innovations, Inc. | Integrated Circuit Cell Library with Cell-Level Process Compensation Technique (PCT) Application and Associated Methods |
| US8365113B1 (en) * | 2007-01-10 | 2013-01-29 | Cadence Design Systems, Inc. | Flow methodology for single pass parallel hierarchical timing closure of integrated circuit designs |
| US20140105246A1 (en) * | 2012-10-11 | 2014-04-17 | Easic Corporation | Temperature Controlled Structured ASIC Manufactured on a 28 NM CMOS Process Lithographic Node |
-
2018
- 2018-06-22 US US16/016,347 patent/US10664564B2/en active Active
-
2020
- 2020-05-22 US US16/882,349 patent/US11157670B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8365113B1 (en) * | 2007-01-10 | 2013-01-29 | Cadence Design Systems, Inc. | Flow methodology for single pass parallel hierarchical timing closure of integrated circuit designs |
| US20100306719A1 (en) | 2007-02-20 | 2010-12-02 | Tela Innovations, Inc. | Integrated Circuit Cell Library with Cell-Level Process Compensation Technique (PCT) Application and Associated Methods |
| US20140105246A1 (en) * | 2012-10-11 | 2014-04-17 | Easic Corporation | Temperature Controlled Structured ASIC Manufactured on a 28 NM CMOS Process Lithographic Node |
Also Published As
| Publication number | Publication date |
|---|---|
| US10664564B2 (en) | 2020-05-26 |
| US20200356714A1 (en) | 2020-11-12 |
| US20190392104A1 (en) | 2019-12-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9928333B2 (en) | Methods of designing a layout of a semiconductor device including field effect transistor and methods of manufacturing a semicondutor device using the same | |
| USRE49780E1 (en) | Methods of designing a layout of a semiconductor device including field effect transistor and methods of manufacturing a semiconductor device using the same | |
| US9171124B2 (en) | Parasitic extraction in an integrated circuit with multi-patterning requirements | |
| KR100939786B1 (en) | Design for manufacturability | |
| TWI833036B (en) | Method and system of generating circuit layout | |
| US11170150B2 (en) | Method for making a semiconductor device | |
| WO2008112605A9 (en) | Incremental layout analysis | |
| TW202008438A (en) | Method of generating a layout diagram of an integrated circuit device | |
| JP2008176303A (en) | Mask generation method, mask formation method, pattern formation method and semiconductor device | |
| CN105488244A (en) | Method and system for designing semiconductor device | |
| WO2010004666A1 (en) | Method for verifying mask layout of semiconductor integrated circuit | |
| US11157670B2 (en) | Systems and methods for inter-die block level design | |
| US7886240B2 (en) | Modifying layout of IC based on function of interconnect and related circuit and design structure | |
| US20210173998A1 (en) | Through-Silicon Vias in Integrated Circuit Packaging | |
| US9721051B2 (en) | Reducing clock skew in synthesized modules | |
| US10593631B2 (en) | Warping reduction in silicon wafers | |
| US8209654B2 (en) | Methodology for storing and updating on-chip revision level | |
| US9747404B2 (en) | Method for optimizing an integrated circuit layout design | |
| US7434194B2 (en) | Mask for fabricating semiconductor devices and method for designing the same | |
| US7797668B2 (en) | Method for optimally converting a circuit design into a semiconductor device | |
| JP4998347B2 (en) | How to create a mask pattern | |
| US20200201954A1 (en) | Method of designing a layout for a semiconductor integrated circuit | |
| TWI852470B (en) | Integrated circuit design method, system and computer program product | |
| KR100775714B1 (en) | Pattern making method, computer program and semiconductor device manufacturing method | |
| US8638120B2 (en) | Programmable gate array as drivers for data ports of spare latches |
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: XCELSIS CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DELACRUZ, JAVIER A.;NEQUIST, ERIC;KO, JUNG;AND OTHERS;SIGNING DATES FROM 20180620 TO 20181024;REEL/FRAME:053385/0753 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| AS | Assignment |
Owner name: XCELSIS CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DELACRUZ, JAVIER A.;NEQUIST, ERIC;KO, JUNG;AND OTHERS;SIGNING DATES FROM 20180627 TO 20181024;REEL/FRAME:053512/0853 |
|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO MICRO (ORIGINAL EVENT CODE: MICR); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
| 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 |