US2014258963A1PendingUtilityA1

Placement and routing on a circuit

Assignee: SYNOPSYS INCPriority: Jun 11, 2002Filed: May 19, 2014Published: Sep 11, 2014
Est. expiryJun 11, 2022(expired)· nominal 20-yr term from priority
G06F 30/394G06F 30/3312G06F 30/398G06F 30/392G06F 17/5077G06F 17/5072G06F 17/5081
52
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods and apparatuses to place and route cells on integrated circuit chips along paths is described. In one embodiment, the method to layout an integrated circuit, the method comprises routing a wire to connect a first cell of the integrated circuit and a second cell of the integrated circuit, and placing a third cell of the integrated circuit after said routing the wire to connect the first cell and the second cell.

Claims

exact text as granted — not AI-modified
We claim: 
     
         1 . A method to layout an integrated circuit, the method comprising:
 routing a wire to connect a first cell of the integrated circuit and a second cell of the integrated circuit; and   placing a third cell of the integrated circuit after said routing the wire to connect the first cell and the second cell.   
     
     
         2 . The method of  claim 1 , wherein the first, the second and the third cells are on a first path. 
     
     
         3 . The method of  claim 2 , wherein the third cell is connected to one of the first and second cells on the first path by only one net. 
     
     
         4 . The method of  claim 3 , further comprising:
 selecting the first path from a set of paths; and   placing the first and second cells before the routing the wire to connect the first cell and the second cell.   
     
     
         5 . The method of  claim 4 , further comprising:
 analyzing timing using a route of the wire connecting the first cell and the second cell to generate first timing information;   selecting a second path from the set of paths from a timing analysis using the first timing information; and   placing a cell on the second path.   
     
     
         6 . The method of  claim 3 , wherein the placing of the third cell comprises:
 determining whether or not the third cell is previously placed; and   relocating the third cell in response to a determination that:
 the third cell is previously placed on a third path, 
 the third cell is one of a converging point and a diverging point of the first path and the third path, and 
 the third cell has positive slack. 
   
     
     
         7 . The method of  claim 1 , wherein the placing of the third cell comprises:
 determining wire delays for placing the third cell at a plurality of locations; and   selecting a first location from the plurality of locations for the third cell according to timing based on the wire delays.   
     
     
         8 . The method of  claim 7 , wherein the first location results in one or more of:
 a lowest routing congestion and slack larger than a threshold, for the third cell among the plurality of locations; and   a largest slack for the third cell among the plurality of locations.   
     
     
         9 . A machine readable medium containing executable computer program instructions which when executed by a digital processing system cause said system to perform a method to layout an integrated circuit, the method comprising:
 routing a wire to connect a first cell of the integrated circuit and a second cell of the integrated circuit; and   placing a third cell of the integrated circuit after said routing the wire to connect the first cell and the second cell.   
     
     
         10 . The medium of  claim 9 , wherein the first, the second and the third cells are on a first path. 
     
     
         11 . The medium of  claim 10 , wherein the third cell is connected to one of the first and second cells on the first path by only one net. 
     
     
         12 . The medium of  claim 11 , wherein the method further comprises:
 selecting the first path from a set of paths; and   placing the first and second cells before said routing the wire to connect the first cell and the second cell.   
     
     
         13 . The medium of  claim 12 , wherein the method further comprises:
 analyzing timing using a route of the wire connecting the first cell and the second cell to generate first timing information;   selecting a second path from the set of paths from a timing analysis using the first timing information; and   placing a cell on the second path.   
     
     
         14 . The medium of  claim 11 , wherein said placing the third cell comprises:
 determining whether or not the third cell is previously placed; and   relocating the third cell in response to a determination that: the third cell is previously placed on a third path, the third cell is one of a converging point and a diverging point of the first path and the third path, and the third cell has positive slack.   
     
     
         15 . The medium of  claim 19 , wherein said placing the third cell comprises:
 determining wire delays for placing the third cell at a plurality of locations; and   selecting a first location from the plurality of locations for the third cell according to timing based on the wire delays.   
     
     
         16 . The medium of  claim 15 , wherein the first location results in one or more of:
 a lowest routing congestion and a slack larger than a threshold for the third cell among the plurality of locations, and   a largest slack for the third cell among the plurality of locations.   
     
     
         17 . A digital processing system to layout an integrated circuit, the digital processing system comprising:
 means for routing a wire to connect a first cell of the integrated circuit and a second cell of the integrated circuit; and   means for placing a third cell of the integrated circuit after the wire is routed to connect the first cell and the second cell.   
     
     
         18 . The digital processing system of  claim 17 , wherein the first, second and third cells are on a first path, the system further comprising:
 means for selecting the first path from a set of paths; and   means for placing the first and second cells before the wire is routed to connect the first cell and the second cell.   
     
     
         19 . The digital processing system of  claim 18 , further comprising:
 means for analyzing timing using a route of the wire connecting the first cell and the second cell to generate first timing information;   means for selecting a second path from the set of paths from a timing analysis using the first timing information; and   means for placing a cell on the second path.   
     
     
         20 . The digital processing system of  claim 19 , wherein the means for placing the third cell comprises one or more of:
 means for determining whether or not the third cell is previously placed, and means for relocating the third cell in response to a determination that: the third cell is previously placed on a third path, the third cell is one of a converging point and a diverging point of the first path and the third path, and the third cell has positive slack; and   means for determining wire delays for placing the third cell at a plurality of locations and means for selecting a first location from the plurality of locations for the third cell according to timing based on the wire delays.   
     
     
         21 . The digital processing system of  claim 20  wherein the first location results in one or more of:
 a lowest routing congestion and a slack larger than a threshold for the third cell among the plurality of locations; and 
 a largest slack for the third cell among the plurality of locations.

Join the waitlist — get patent alerts

Track US2014258963A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.