IP Library Granted Patent US 8,683,408
Granted Patent B2
US 8,683,408 · App. 13/665,833 · Granted Mar 25, 2014

Sequential sizing in physical synthesis

Inventors: Mahesh A. Iyer (Fremont, CA); Amir H. Mottaez (Los Altos, CA)
Assignee: Synopsys, Inc.
G06F17/5081G06F17/505
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 8,683,408
App. No.
13/665,833
Granted
Mar 25, 2014
Kind
B2
Abstract

Techniques and systems for optimizing a circuit design are described. In some embodiments, a sequential cell is selected for optimization. Next, the system iterates through a set of candidate sequential cells that are functionally equivalent to the sequential cell that is being optimized. The system evaluates the global timing impact of each candidate sequential cell in a highly efficient manner. For each candidate sequential cell that is evaluated, a non-timing metric and a timing metric for a candidate sequential cell are compared with the corresponding non-timing metric and timing metric for the current best sequential cell. If a candidate sequential cell improves the timing metric, or maintains the timing metric and has better non-timing metric(s), then the candidate sequential cell is stored as the current best sequential cell. Once the process completes, the current best sequential cell is the optimized cell size for the sequential cell.

Claims (44)

1. A method for optimizing a circuit design, the method comprising:

determining a set of delays corresponding to a set of pins of a candidate sequential cell that is being considered as a replacement for a sequential cell in the circuit design, wherein each delay in the set of delays includes a transition-induced delay component that is computed using a transition-effect coefficient, and wherein each transition-induced delay component estimates an impact that a change in a transition at a pin has on delays of downstream gates;

computing a timing metric based on the set of delays, and a non-timing metric based on one or more non-timing parameters of the candidate cell; and

determining, by using a computer, that replacing the sequential cell with the candidate sequential cell improves the circuit design if the timing metric improves, or the non-timing metric improves without degrading the timing metric.

2. The method of claim 1 , wherein the non-timing metric is based on at least one of: an area of the candidate cell and a leakage power of the candidate cell.

3. The method of claim 1 , wherein said computing the timing metric includes:

determining a set of adjusted delays based on the set of delays, wherein an adjusted delay for a pin is equal to the delay for the pin if a margin for the pin is equal to zero, wherein the margin for the pin corresponds to the sequential cell, and wherein the adjusted delay for the pin is equal to the greater of the delay for the pin and a maximum allowed delay for the pin if the margin for the pin is greater than zero; and

determining the timing metric based on the set of adjusted delays.

4. The method of claim 3 , wherein the timing metric is a sum of the set of adjusted delays.

5. The method of claim 3 , wherein the timing metric is a tuple of a launch delay and a capture delay, wherein the launch delay is computed by summing delays in the set of adjusted delays corresponding to output pins in the set of pins, wherein the capture delay is computed by summing delays in the set of adjusted delays corresponding to input pins in the set of pins, and wherein the timing metric degrades if either the launch delay or the capture delay degrades.

6. The method of claim 3 , wherein the timing metric is a vector of the set of adjusted delays, wherein the timing metric degrades if at least one adjusted delay in the vector of the set of adjusted delays degrades.

7. The method of claim 1 , wherein said computing the timing metric includes:

determining a set of adjusted delays based on the set of delays, wherein an adjusted delay for a pin is equal to the greater of the delay for the pin and a required time for the pin if a margin for the pin is equal to zero, wherein the margin for the pin corresponds to the sequential cell, and wherein the adjusted delay for the pin is equal to the greater of the delay for the pin and a maximum allowed delay for the pin if the margin for the pin is greater than zero; and

determining the timing metric based on the set of adjusted delays.

8. A non-transitory computer-readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method for optimizing a circuit design, the method comprising:

determining a set of delays corresponding to a set of pins of a candidate sequential cell that is being considered as a replacement for a sequential cell in the circuit design, wherein each delay in the set of delays includes a transition-induced delay component that is computed using a transition-effect coefficient, and wherein each transition-induced delay component estimates an impact that a change in a transition at a pin has on delays of downstream gates; and

computing a timing metric based on the set of delays, and a non-timing metric based on one or more non-timing parameters of the candidate cell; and

determining that replacing the sequential cell with the candidate sequential cell improves the circuit design if the timing metric improves, or the non-timing metric improves without degrading the timing metric.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the non-timing metric is based on at least one of: an area of the candidate cell and a leakage power of the candidate cell.

10. The non-transitory computer-readable storage medium of claim 8 , wherein said computing the timing metric includes:

determining a set of adjusted delays based on the set of delays, wherein an adjusted delay for a pin is equal to the delay for the pin if a margin for the pin is equal to zero, wherein the margin for the pin corresponds to the sequential cell, and wherein the adjusted delay for the pin is equal to the greater of the delay for the pin and a maximum allowed delay for the pin if the margin for the pin is greater than zero; and

determining the timing metric based on the set of adjusted delays.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the timing metric is a sum of the set of adjusted delays.

12. The non-transitory computer-readable storage medium of claim 10 , wherein the timing metric is a vector of a launch delay and a capture delay, wherein the launch delay is computed by summing delays in the set of adjusted delays corresponding to output pins in the set of pins, wherein the capture delay is computed by summing delays in the set of adjusted delays corresponding to input pins in the set of pins, and wherein the timing metric degrades if either the launch delay or the capture delay degrades.

13. The non-transitory computer-readable storage medium of claim 10 , wherein the timing metric is a vector of the set of adjusted delays, wherein the timing metric degrades if at least one adjusted delay in the vector of the set of delays degrades.

14. The non-transitory computer-readable storage medium of claim 8 , wherein said computing the timing metric includes:

determining a set of adjusted delays based on the set of delays, wherein an adjusted delay for a pin is equal to the greater of the delay for the pin and a required time for the pin if a margin for the pin is equal to zero, wherein the margin for the pin corresponds to the sequential cell, and wherein the adjusted delay for the pin is equal to the greater of the delay for the pin and a maximum allowed delay for the pin if the margin for the pin is greater than zero; and

determining the timing metric based on the set of adjusted delays.

15. A computer system, comprising:

a processor; and

a computer-readable storage medium storing instructions that, when executed by the processor, cause the computer system to perform a method for optimizing a circuit design, the method comprising:

determining a set of delays corresponding to a set of pins of a candidate sequential cell that is being considered as a replacement for a sequential cell in the circuit design, wherein each delay in the set of delays includes a transition-induced delay component that is computed using a transition-effect coefficient, and wherein each transition-induced delay component estimates an impact that a change in a transition at a pin has on delays of downstream gates; and

computing a timing metric based on the set of delays, and a non-timing metric based on one or more non-timing parameters of the candidate cell; and

determining that replacing the sequential cell with the candidate sequential cell improves the circuit design if the timing metric improves, or the non-timing metric improves without degrading the timing metric.

16. The computer system of claim 15 , wherein the non-timing metric is based on at least one of: an area of the candidate cell and a leakage power of the candidate cell.

17. The computer system of claim 15 , wherein said computing the timing metric includes:

determining a set of adjusted delays based on the set of delays, wherein an adjusted delay for a pin is equal to the delay for the pin if a margin for the pin is equal to zero, wherein the margin for the pin corresponds to the sequential cell, and wherein the adjusted delay for the pin is equal to the greater of the delay for the pin and a maximum allowed delay for the pin if the margin for the pin is greater than zero; and

determining the timing metric based on the set of adjusted delays.

18. The computer system of claim 17 , wherein the timing metric is a sum of the set of adjusted delays.

19. The computer system of claim 17 , wherein the timing metric is a vector of a launch delay and a capture delay, wherein the launch delay is computed by summing delays in the set of adjusted delays corresponding to output pins in the set of pins, wherein the capture delay is computed by summing delays in the set of adjusted delays corresponding to input pins in the set of pins, and wherein the timing metric degrades if either the launch delay or the capture delay degrades.

20. The computer system of claim 17 , wherein the timing metric is a vector of the set of adjusted delays, wherein the timing metric degrades if at least one adjusted delay in the vector of the set of adjusted delays degrades.

21. The computer system of claim 15 , wherein said computing the timing metric includes:

determining a set of adjusted delays based on the set of delays, wherein an adjusted delay for a pin is equal to the greater of the delay for the pin and a required time for the pin if a margin for the pin is equal to zero, wherein the margin for the pin corresponds to the sequential cell, and wherein the adjusted delay for the pin is equal to the greater of the delay for the pin and a maximum allowed delay for the pin if the margin for the pin is greater than zero; and

determining the timing metric based on the set of adjusted delays.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2012
From: IYER, MAHESH A.; MOTTAEZ, AMIR H.
To: SYNOPSYS, INC.
Reel/Frame 029435/0833 →
Continuity (2)
Provisional Application 61566464 · Dec 2, 2011
Related Publication 20130145331A1 · Jun 6, 2013