IP Library › Granted Patent US 12,353,811
Granted Patent B2
US 12,353,811 · App. 17/674,890 · Granted Jul 8, 2025

Out-of-context timing constraints modification for interior pins

Inventors: Saurabh Gupta (Bangalore, IN); Chithra Ravindranath (Horamavu, IN); Gireesh Kumar K M (Bangalore, IN)
Assignee: International Business Machines Corporation
G06F30/3312G06F30/327G06F30/392G06F30/398G06F2119/12
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 12,353,811
App. No.
17/674,890
Granted
Jul 8, 2025
Kind
B2
Abstract

Embodiments are for using out-of-context timing constraints modification for pins of a macro an integrated circuit (IC). A technique includes moving at least one pin of a macro during synthesis for the IC, in response to performing synthesis on a specification for the IC and determining a distance that the at least one pin moved from an original location to a new location in the macro. The technique includes determining a delay based at least in part on the distance moved and using the delay to determine a signal timing at the least one pin at the new location in the macro.

Claims (45)

1. A computer-implemented method comprising:

moving at least one pin of a macro during synthesis for an integrated circuit (IC), the macro being part of a unit, the moving being in response to performing the synthesis on a specification for the IC;

determining a distance that the at least one pin moved from an original location to a new location in the macro;

checking whether parent layer information of the unit is available for interior pins to determine the delay of a metal layer associated with the distance, wherein a determination is made to use one of a first option or a second option for a metal level of the metal layer, wherein the first option comprises using the metal level according to that which is utilized in the unit when the parent layer information of the unit is available, wherein the second option comprises determining that the metal level is to be one level higher than that which is utilized in the macro;

determining a delay based at least in part on the distance that is moved and the metal level of the metal layer for one of the first option and the second option; and

using the delay to determine a signal timing at the least one pin at the new location in the macro.

2. The computer-implemented method of claim 1 , wherein the signal timing is determined based on the metal layer associated with the unit comprising the macro.

3. The computer-implemented method of claim 1 , wherein the signal timing is determined based on the metal layer that is greater than the metal layer ceiling of the macro.

4. The computer-implemented method of claim 1 , wherein the at least one pin is an output pin of the macro, the output pin being configured to output a signal on the metal layer associated with the unit comprising the macro.

5. The computer-implemented method of claim 1 , wherein the at least one pin is an input pin of the macro, the input pin being configured to receive input of a signal from the metal layer associated with the unit comprising the macro.

6. The computer-implemented method of claim 1 , wherein:

an input for performing the synthesis comprises the specification, the specification comprising placement of pins, timing constraints, and a list of pins to be moved, the list of pins comprising the at least one pin of the macro; and

an output resulting from performing the synthesis comprises a timing optimized netlist accounting for the new location of the at least one pin.

7. The computer-implemented method of claim 1 , wherein the metal layer is associated with the unit comprising the macro, the metal layer being coupled to the at least one pin and another macro in the unit; and

wherein the distance reflects a change distanced between the at least one pin in the macro and the another macro within the unit.

8. A system comprising:

a memory having computer readable instructions; and

one or more processors for executing the computer readable instructions, the computer readable instructions controlling the one or more processors to perform operations comprising:

moving at least one pin of a macro during synthesis for an integrated circuit (IC), the macro being part of a unit, the moving being in response to performing the synthesis on a specification for the IC;

determining a distance that the at least one pin moved from an original location to a new location in the macro;

checking whether parent layer information of the unit is available for interior pins to determine the delay of a metal layer associated with the distance, wherein a determination is made to use one of a first option or a second option for a metal level of the metal layer, wherein the first option comprises using the metal level according to that which is utilized in the unit when the parent layer information of the unit is available, wherein the second option comprises determining that the metal level is to be one level higher than that which is utilized in the macro;

determining a delay based at least in part on the distance that is moved and the metal level of the metal layer for one of the first option and the second option; and

using the delay to determine a signal timing at the least one pin at the new location in the macro.

9. The system of claim 8 , wherein the signal timing is determined based on the metal layer associated with the unit comprising the macro.

10. The system of claim 8 , wherein the signal timing is determined based on the metal layer that is greater than the metal layer ceiling of the macro.

11. The system of claim 8 , wherein the at least one pin is an output pin of the macro, the output pin being configured to output a signal on the metal layer associated with the unit comprising the macro.

12. The system of claim 8 , wherein the at least one pin is an input pin of the macro, the input pin being configured to receive input of a signal from the metal layer associated with the unit comprising the macro.

13. The system of claim 8 , wherein:

an input for performing the synthesis comprises the specification, the specification comprising placement of pins, timing constraints, and a list of pins to be moved, the list of pins comprising the at least one pin of the macro; and

an output resulting from performing the synthesis comprises a timing optimized netlist accounting for the new location of the at least one pin.

14. The system of claim 8 , wherein the metal layer is associated with the unit comprising the macro, the metal layer being coupled to the at least one pin and another macro in the unit; and

wherein the distance reflects a change distanced between the at least one pin in the macro and the another macro within the unit.

15. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by one or more processors to cause the one or more processors to perform operations comprising:

moving at least one pin of a macro during synthesis for an integrated circuit (IC), the macro being part of a unit, the moving being in response to performing the synthesis on a specification for the IC;

determining a distance that the at least one pin moved from an original location to a new location in the macro;

checking whether parent layer information of the unit is available for interior pins to determine the delay of a metal layer associated with the distance, wherein a determination is made to use one of a first option or a second option for a metal level of the metal layer, wherein the first option comprises using the metal level according to that which is utilized in the unit when the parent layer information of the unit is available, wherein the second option comprises determining that the metal level is to be one level higher than that which is utilized in the macro;

determining a delay based at least in part on the distance that is moved and the metal level of the metal layer for one of the first option and the second option; and

using the delay to determine a signal timing at the least one pin at the new location in the macro.

16. The computer program product of claim 15 , wherein the signal timing is determined based on the metal layer associated with the unit comprising the macro.

17. The computer program product of claim 15 , wherein the signal timing is determined based on the metal layer that is greater than the metal layer ceiling of the macro.

18. The computer program product of claim 15 , wherein the at least one pin is an output pin of the macro, the output pin being configured to output a signal on the metal layer associated with the unit comprising the macro.

19. The computer program product of claim 15 , wherein the at least one pin is an input pin of the macro, the input pin being configured to receive input of a signal from the metal layer associated with the unit comprising the macro.

20. The computer program product of claim 15 , wherein:

an input for performing the synthesis comprises the specification, the specification comprising placement of pins, timing constraints, and a list of pins to be moved, the list of pins comprising the at least one pin of the macro; and

an output resulting from performing the synthesis comprises a timing optimized netlist accounting for the new location of the at least one pin.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2022
From: GUPTA, SAURABH; RAVINDRANATH, CHITHRA; K M, GIREESH KUMAR
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 059045/0921 →
Continuity (1)
Related Publication 20230267251A1 · Aug 24, 2023
References Cited (15)
US 6014506A · Hossain et al. · 2000 [cited by applicant]
US 6606730B1 · Yoshimaru · 2003 [cited by examiner]
US 7577933B1 · Wu et al. · 2009 [cited by applicant]
US 9639644B1 · Liu · 2017 [cited by examiner]
US 9858377B2 · Berry et al. · 2018 [cited by applicant]
US 9910952B2 · Affeldt et al. · 2018 [cited by applicant]
US 10146902B2 · Pandey et al. · 2018 [cited by applicant]
US 10157255B2 · Affeldt et al. · 2018 [cited by applicant]
US 10289797B1 · Viswanathan et al. · 2019 [cited by applicant]
US 10360341B2 · Chakraborty · 2019 [cited by examiner]
US 20060190884A1 · Nishida · 2006 [cited by examiner]
US 20160232276A1 · Daellenbach · 2016 [cited by examiner]
US 20170132349A1 · Berry · 2017 [cited by examiner]
Kim et al. “ICCAD—2015 CAD contest in incremental timing-driven placement and benchmark suite,” 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), 2015, pp. 921-926. [cited by applicant]
Viswanathan et al., “ITOP: Integrating Timing Optimization Within Placement,” Proceedings of the 19th International Symposium on Physical Design, Mar. 14-17, 2010, pp. 83-90. [cited by applicant]