IP Library Granted Patent US 7,475,376
Granted Patent B2
US 7,475,376 · App. 11/448,168 · Granted Jan 6, 2009

Method and system for performing non-local geometric operations for the layout design of a semiconductor device

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,475,376
App. No.
11/448,168
Granted
Jan 6, 2009
Kind
B2
Abstract

In one embodiment, an automatic check is performed to determine if the output of a parent region is compatible with the output of a current region of a cell. If the output of the parent region is compatible with the output of the current region of a cell, the output of the parent region is reduced (e.g., an ANDNOT operation) taking into account the current region. If the output of the parent region is not compatible with the output of the current region of a cell, the incompatible output of the sub-region is copied to a promote container and the incompatible output is promoted to the output of all other parent regions. These steps are performed for all parent regions. The layout hierarchy is first generated from the input data, and then is also generated from the region data. The difference between the layout hierarchy generated from the input data and the layout hierarchy generated from the region data is determined.

Claims (56)

1. A method for generating a layout for a semiconductor device, the method comprising:

for all parent regions, determining if an output of the parent region is compatible with an output of a current region of a cell,

when the output of the parent region is compatible with the output of the current region of a cell, reducing the output of the parent region taking into account the current region; or

when the output of the parent region is not compatible with the output of the current region of a cell, copying an incompatible output of a sub-region to a promote container and promoting the incompatible output to an output of all other parent regions;

generating a layout hierarchy from input data;

generating a layout hierarchy from region data, wherein the layout hierarchy from the input data and the layout hierarchy from the region data are determined using an inverse layout tree (ILT); and

determining a difference between the layout hierarchy generated from the input data and the layout hierarchy generated from the region data;

the method further comprising:

generating an empty ILT;

for all parent regions, choosing a next parent region of a current region and adding a path from a current cell to a cell-instance of the current parent region in the ILT;

checking if an ILT-node is a leaf and, if the ILT-node is a leaf, ending the recursion;

when the ILT-node is not a leaf, selecting a next parent instance of the cell and checking if there is a corresponding branch in the current ILT-Node, and if there is a corresponding branch, recursively following the corresponding ILT branch; and

when there is no corresponding branch in the current ILT-Node, generating an output of the promote containers of the current region in the parent instance;

wherein the layout can be used in the fabrication of a semiconductor device.

2. The method according to claim 1 , wherein the layout hierarchy from the input data is generated before the layout hierarchy from the region data.

3. The method according to claim 1 , wherein determining if the output of the parent region is compatible with the output of the current region of a cell comprises performing an automatic check.

4. The method according to claim 1 , wherein the layout hierarchy from the input data and the layout hierarchy from the region data are determined using an inverse layout tree (ILT).

5. The method according to claim 4 , further comprising:

generating an empty ILT;

for all parent regions, choosing a next parent region of a current region and adding a path from a current cell to a cell-instance of the current parent region in the ILT;

checking if an ILT-node is a leaf and, if the ILT-node is a leaf, ending the recursion;

if the ILT-node is not a leaf, selecting a next parent instance of the cell and checking if there is a corresponding branch in the current ILT-Node, and if there is a corresponding branch, recursively following the corresponding ILT branch; and

if there is no corresponding branch in the current ILT-Node, generating an output of the promote containers of the current region in the parent instance.

6. The method according to claim 1 , further comprising, after determining if the output of the parent region is compatible with the output of the current region for all parent regions, producing a dataset with content of an output of an output container.

7. The method according to claim 1 , wherein ones of the steps are performed in parallel.

8. A method of making a semiconductor device, the method comprising:

determining a layout for a semiconductor device, the determining comprising the steps of:

for all parent regions, determining if an output of the parent region is compatible with an output of a current region of a cell, and

when the output of the parent region is compatible with the output of the current region of a cell, reducing the output of the parent region taking into account the current region, or

when the output of the parent region is not compatible with the output of the current region of a cell, copying an incompatible output of a sub-region to a promote container and promoting the incompatible output to an output of all other parent regions;

generating a layout hierarchy from input data;

generating a layout hierarchy from region data, wherein the layout hierarchy from the input data and the layout hierarchy from the region data are determined using an inverse layout tree (ILT);

determining a difference between the layout hierarchy generated from the input data and the layout hierarchy generated from the region data;

generating an empty ILT;

for all parent regions, choosing a next parent region of a current region and adding a path from a current cell to a cell instance of the current parent region in the ILT;

checking if an ILT-node is a leaf and, if the ILT-node is a leaf, ending the recursion;

when the ILT-node is not a leaf, selecting a next parent instance of the cell and checking if there is a corresponding branch in the current ILT-Node, and if there is a corresponding branch, recursively following the corresponding ILT branch;

when there is no corresponding branch in the current ILT-Node, generating an output of the promote containers of the current region in the parent instance; and

fabricating the device using the layout.

9. The method according to claim 8 , wherein the semiconductor device comprises a DRAM memory chip.

10. The method according to claim 8 , wherein the layout hierarchy from the input data is generated before the layout hierarchy from the region data.

11. The method according to claim 8 , wherein determining if the output of the parent region is compatible with the output of the current region of a cell comprises performing an automatic check.

12. The method according to claim 8 , further comprising, after determining if the output of the parent region is compatible with the output of the current region for all parent regions, producing a dataset with content of an output of an output container.

13. The method according to claim 8 , wherein ones of the steps are performed in parallel.

14. A system for performing non-local geometric operations for design of a layout for a semiconductor device, the system comprising:

means for determining if an output of a parent region is compatible with an output of a current region of a cell;

means for processing the output of the parent region according to the determination of compatibility;

means for promoting an incompatible output to an output of all other parent regions;

means for generating a layout hierarchy from input data;

means for generating a layout hierarchy from region data, wherein the layout hierarchy from the input data and the layout hierarchy from the region data are determined using an inverse layout tree (ILT); and

means for determining a difference between the layout hierarchy from the input data and the layout hierarchy from the region data;

generating an empty ILT;

means for choosing a next parent region of a current region for all parent regions, and adding a path from a current cell to a cell instance of the current parent region in the ILT;

means for checking if an ILT-node is a leaf and, if the ILT-node is a leaf, ending the recursion;

means for, when the ILT-node is not a leaf, selecting a next parent instance of the cell and checking if there is a corresponding branch in the current ILT-Node, and if there is a corresponding branch, recursively following the corresponding ILT branch; and

means for, when there is no corresponding branch in the current ILT-Node, generating an output of the promote containers of the current region in the parent instance.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2015
From: INFINEON TECHNOLOGIES AG
To: POLARIS INNOVATIONS LIMITED
Reel/Frame 036908/0923 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2015
From: QIMONDA AG
To: INFINEON TECHNOLOGIES AG
Reel/Frame 035623/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2008
From: INFINEON TECHNOLOGIES AG
To: QIMONDA AG
Reel/Frame 021793/0863 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2006
From: SEIDL, ALEXANDER; MEYER, DIRK
To: INFINEON TECHNOLOGIES AG
Reel/Frame 018264/0315 →