# US 2020/0401668 A1 · Apparatus and method for circuit timing fixing using extension metal sections and alternate vias

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2020/0401668 A1
- Document ID: US20200401668A1
- Status: Published application
- Kind: A1
- Application number: 16/663,332
- Filed: 2019-10-24
- Published: 2020-12-24
- Earliest claimed: 2019-06-18
- Assignees: Samsung Electronics Co., Ltd.
- Applicants: Samsung Electronics Co., Ltd.
- Inventors: Hongda LU; Kok-Hoong CHIU; Vaibhav SHARMA
- Web page: https://patentgrep.com/patent/US20200401668A1

## CPC

- G06F 30/398: Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM] (optical proximity correction [OPC] design processes G03F1/36)
- G06F 30/3312: Timing analysis
- G06F 30/394: Routing (G06F30/396 takes precedence)
- G06F 30/337: Design optimisation
- G06F 30/367: Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
- G06F 30/39: Circuit design at the physical level (physical level design for reconfigurable circuits G06F30/347)
- G06F 2119/12: Timing analysis or timing optimisation
- G06F 2119/18: Manufacturability analysis or optimisation for manufacturability
- Y02P 90/02: Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02P: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS

## Abstract

A timing fixing logic section may select a timing path from among a plurality of timing paths. For the selected timing path, multiple nets along the path may be traversed. For a particular net, multiple metal layers may be traversed. For a particular metal layer, multiple shapes that are associated with the particular net may be traversed. A timing fixing logic section may examine space that is nearby each of the shapes, and identify unused space. The timing fixing logic section may add an extension metal section to the shape. In addition, the timing fixing logic section may identify an existing via of a first type, and select an alternate via of a second type having a resistance that is higher or lower than the existing via. The existing via may be replaced with the alternate via. Accordingly, hold and setup timing of a circuit may be improved.

## Claims

### Claim 1

A non-transitory machine-readable medium comprising instructions executable by one or more processors, the instructions comprising instructions to:
receive, by an input logic section, a timing violation report;
select, by a design rules checking logic section, a timing path from among a plurality of timing paths;
for the selected timing path, traverse each of a plurality of nets along the path;
for a particular net from among the plurality of nets, traverse each of a plurality of metal layers;
for a particular metal layer from among the plurality of metal layers, traverse each of a plurality of shapes that are associated with the particular net;
examine, by a timing fixing logic section, space that is nearby each of the plurality of shapes;
identify, by the timing fixing logic section, unused space within the examined space; and
add, by the timing fixing logic section, an extension metal section to at least one of the shapes from among the plurality of shapes.

### Claim 2 (depends on 1)

The non-transitory machine-readable medium of claim 1, further comprising instructions to:
identify, by the timing fixing logic section, an existing via of a first type from among a plurality of vias associated with the examined space;
select, by the timing fixing logic section, an alternate via of a second type having a resistance that is higher than the existing via; and
replace the existing via with the alternate via.

### Claim 3 (depends on 2)

The non-transitory machine-readable medium of claim 2, further comprising instructions to:
improve hold timing of a circuit dependent on at least one of the extension metal section or the alternate via.

### Claim 4 (depends on 2)

The non-transitory machine-readable medium of claim 2, further comprising instructions to:
improve setup timing of a circuit dependent on at least one of the extension metal section or the alternate via.

### Claim 5 (depends on 1)

The non-transitory machine-readable medium of claim 1, further comprising instructions to:
receive a user-defined value representing a number of nets from among the plurality of nets to be traversed; and
limit the plurality of nets to be traversed to the user-defined value.

### Claim 6 (depends on 1)

The non-transitory machine-readable medium of claim 1, further comprising instructions to:
track, by the timing fixing logic section, a number of extension metal sections that are added;
track, by the timing fixing logic section, a number of vias that are replaced; and
when at least one of the number of extension metal sections or the number of vias exceeds a predefined threshold, output an improved netlist.

### Claim 7 (depends on 6)

The non-transitory machine-readable medium of claim 6, further comprising instructions to:
perform a lookup operation in a lookup table, wherein the lookup table includes resistance information associated with each of the plurality of metal layers.

### Claim 8 (depends on 7)

The non-transitory machine-readable medium of claim 7, wherein the lookup table includes capacitance information associated with each of the plurality of metal layers.

### Claim 9 (depends on 8)

The non-transitory machine-readable medium of claim 8, wherein the lookup table includes resistance information associated with each of the plurality of vias.

### Claim 10 (depends on 9)

The non-transitory machine-readable medium of claim 9, wherein the lookup table includes driver sizes information.

### Claim 11 (depends on 10)

The non-transitory machine-readable medium of claim 10, further comprising instructions to:
perform the lookup operation in the lookup table to guide addition of the extension metal section.

### Claim 12 (depends on 10)

The non-transitory machine-readable medium of claim 10, further comprising instructions to:
perform the lookup operation in the lookup table to guide the number of extension metal sections that are added.

### Claim 13 (depends on 10)

The non-transitory machine-readable medium of claim 10, further comprising instructions to:
perform the lookup operation in the lookup table to guide the number of vias that are replaced.

### Claim 14

A method for circuit timing fixing using extension metal sections and alternate vias, the method comprising:
receiving, by an input logic section, a timing violation report;
selecting, by a timing fixing logic section, a timing path from among a plurality of timing paths;
for the selected timing path, traversing each of a plurality of nets along the path;
for a particular net from among the plurality of nets, traversing each of a plurality of metal layers;
for a particular metal layer from among the plurality of metal layers, traversing each of a plurality of shapes that are associated with the particular net;
examining, by a timing fixing logic section, space that is nearby each of the plurality of shapes;
identifying, by the timing fixing logic section, unused space within the examined space; and
adding, by the timing fixing logic section, an extension metal section to at least one of the shapes from among the plurality of shapes.

### Claim 15 (depends on 14)

The method of claim 14, further comprising:
identifying, by the timing fixing logic section, an existing via of a first type from among a plurality of vias associated with the examined space;
selecting, by the timing fixing logic section, an alternate via of a second type having a resistance that is higher than the existing via; and
replacing the existing via with the alternate via.

### Claim 16 (depends on 14)

The method of claim 14, further comprising:
improving hold timing of a circuit dependent on at least one of the extension metal section or the alternate via.

### Claim 17 (depends on 14)

The method of claim 14, further comprising:
improving setup timing of a circuit dependent on at least one of the extension metal section or the alternate via.

### Claim 18 (depends on 14)

The method of claim 14, further comprising:
receiving a user-defined value representing a number of nets from among the plurality of nets to be traversed; and
limiting the plurality of nets to be traversed to the user-defined value.

### Claim 19 (depends on 14)

The method of claim 14, further comprising:
tracking, by the timing fixing logic section, a number of extension metal sections that are added;
tracking, by the timing fixing logic section, a number of vias that are replaced; and
when at least one of the number of extension metal sections or the number of vias exceeds a predefined threshold, outputing an improved netlist.
