IP Library › Granted Patent US 11,663,392
Granted Patent B2
US 11,663,392 · App. 17/227,462 · Granted May 30, 2023

Timing driven cell swapping

Inventor: Yen-Hung Lin (Hsinchu, TW)
Assignee: Taiwan Semiconductor Manufacturing Company, Ltd.
G06F30/398G06F30/394
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 11,663,392
App. No.
17/227,462
Granted
May 30, 2023
Kind
B2
Abstract

A method for cell swapping is provided. A location for swapping a first cell is determined. One or more legal positions for cell placement are determined at the location. A plurality of cells is determined for of the plurality of legal positions. A second cell from the plurality of cells is determined based on timing information associated with each of the plurality. The first cell is swapped with the second cell.

Claims (58)

1. A method for cell swapping, the method comprising:

determining a cell violating a physical design constraint associated with a circuit;

determining a location for swapping the cell;

determining a plurality of cell versions of the cell for placement at the location;

determining a cell version from the plurality of cell versions based on displacement information associated with each of the plurality of cell versions; and

swapping the cell with the cell version.

2. The method of claim 1 , wherein determining the plurality of cell versions for placement at the location comprises:

determining a plurality of legal positions for cell placement at the location; and

determining the plurality of cell versions for placement at the plurality of legal positions.

3. The method of claim 2 , wherein determining the plurality of legal positions at the location comprises determining the plurality of legal locations using a location searching window.

4. The method of claim 1 , wherein determining the location for swapping the cell comprises:

identifying a first location associated with the cell;

determining that the first location is not a legal location for the cell placement; and

determining, in response to determining that the first location is not the legal location, a second location comprising the legal location for the cell placement.

5. The method of claim 1 , wherein determining the plurality of cell versions comprises determining the plurality of cell versions of a cell type associated with the cell.

6. The method of claim 5 , wherein determining the plurality of cell versions of the cell type associated with the cell comprises determining the plurality of cell versions, of the cell type associated with the cell, having associated physical design constraint not violating a physical design constraint of a circuit when placed at a respective legal position.

7. The method of claim 1 , further comprising:

creating a photomask of an integrated circuit comprising the cell version; and

fabricating the integrated circuit based on the created photomask.

8. A system for cell swapping, the system comprising:

a memory storage having instructions stored thereon; and

a processing unit coupled to the memory storage, wherein the processing unit is operative to execute the instructions, and wherein the instructions when executed by the processing unit are operative to:

determining a location for swapping a first cell;

determining a plurality of cells for placement at the location;

determining a second cell from the plurality of cells based on displacement information associated with each of the plurality of cells; and

swapping the first cell with the second cell.

9. The system of claim 8 , wherein the processing unit being operative to determine the plurality of cells for placement at the location comprises the processing unit being operative to:

determine a plurality of legal positions for cell placement at the location; and

determine the plurality of cells for placement at the plurality of legal positions.

10. The system of claim 9 , wherein the plurality of legal locations are determined using a location searching window.

11. The system of claim 8 , wherein the processing unit being operative to determine the location for swapping the first cell comprises the processing unit being operative to:

identify a first location associated with the first cell;

determine that the first location is not a legal location for the cell placement; and

determine, in response to determining that the first location is not the legal location, a second location comprising the legal location for the cell placement.

12. The system of claim 8 , wherein the processing unit being operative to determine the second cell from the plurality of cells based on displacement information comprises the processing unit being operative to:

determine a minimum displacement for each of the plurality of cells; and

determine the second cell from the plurality of cells that minimizes the minimum displacement and a cell delay.

13. The system of claim 8 , wherein the processing unit being operative to determine the second cell from the plurality of cells based on displacement information comprises the processing unit being operative to:

determine a maximum displacement for each of the plurality of cells; and

determine the second cell from the plurality of cells that maximizes a cell delay and the maximum displacement.

14. The system of claim 13 , wherein the processing unit being operative to determine the maximum displacement comprises the processing unit being operative to determine the maximum displacement from an initial position of a location searching window employed to determine the plurality of legal positions.

15. The system of claim 8 , wherein the processing unit is further operative to:

create a photomask of an integrated circuit comprising the second cell; and

fabricate the integrated circuit based on the created photomask.

16. A non-transitory computer-readable medium that stores a set of instructions which when executed perform a method for cell swapping, the method executed by the set of instructions comprising:

determining a cell violating a physical design constraint associated with a circuit;

determining a location for swapping the cell;

determining a plurality of legal positions for cell placement at the location;

determining a plurality of cell versions of the cell for the plurality of legal positions;

determining a cell version from the plurality of cell versions based on displacement information associated with each of the plurality of cells; and

swapping the cell with the cell version.

17. The non-transitory computer-readable medium of claim 16 , wherein determining the location for swapping the cell comprises:

identifying a first location associated with the cell;

determining that the first location is not a legal location for the cell placement; and

determining, in response to determining that the first location is not the legal location, a second location comprising the legal location for the cell placement.

18. The non-transitory computer-readable medium of claim 16 , wherein the displacement information comprises a minimum displacement and a maximum displacement of each of the plurality of legal positions at the determined location.

19. The non-transitory computer-readable medium of claim 16 , wherein the cell version is determined to minimize a displacement and minimize a cell delay.

20. The non-transitory computer-readable medium of claim 16 , wherein the cell version is determined to maximize a displacement and minimize a cell delay.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2021
From: LIN, YEN-HUNG
To: TAIWAN SEMICONDUCTOR MANUFACTURING COMPANY, LTD.
Reel/Frame 055887/0583 →
Continuity (3)
Continuation 16257822 · Jan 25, 2019
Provisional Application 62624182 · Jan 31, 2018
Related Publication 20210232749A1 · Jul 29, 2021
Cited By (1)
US 12,271,677