IP Library › Granted Patent US 12,737,523
Granted Patent B2
US 12,737,523 · App. 18/192,195 · Granted Sep 15, 2026

Automated multi-stage design flow based on final quality of result

Inventors: Piyush Verma (Sunnyvale, CA); Joseph Robb Walston (Durham, NC); Robert Lawrence Walker (Boulder, CO); Pranay Prakash (Fremont, CA); Jagat Patel (Palo Alto, CA); Mark Thomas Williams (Los Gatos, CA); Navneedh Shivakumar Maudgalya (San Francisco, CA); Benoit Claudel (Grenoble, FR)
Assignee: Synopsys, Inc.
G06F30/396G06F30/373
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,737,523
App. No.
18/192,195
Granted
Sep 15, 2026
Kind
B2
Abstract

A plurality of design iterations are executed for a flow to design a circuit. The design flow includes a sequence of at least two stages. Each stage produces an output design of the circuit from an input design of the circuit, in accordance with parameters for that stage. The design iterations select parameter values for slices of one or more stages of the design flow. In the design iterations for at least one of the slices, parameter values for a non-final stage of the design flow are selected based on a final quality of result (QoR) of the design flow. The design iterations for this slice are adapted based on final QoRs produced by the design iterations.

Claims (36)

1 . A method comprising:

executing a plurality of design iterations for a design flow for a circuit; wherein:

the design flow comprises a sequence of at least two stages, and each stage produces an output design of the circuit from an input design of the circuit in accordance with parameters for that stage;

the design iterations comprise selecting parameter values for slices of one or more stages of the design flow;

the design iterations are executed according to a tree search strategy, in which the stages of the design flow represent different layers of the tree; and

the design iterations for a first one of the slices comprise selecting parameter values for a non-final stage of the design flow based on a final quality of result (QoR) of the design flow; and

adapting, by a processing device, the design iterations for the first slice based on final QoRs produced by the design iterations.

2 . The method of claim 1 wherein the design iterations comprise selecting parameter values for each of the non-final stages of the design flow based on the final QoR of the design flow.

3 . The method of claim 2 further comprising:

adapting the design iterations that select parameter values based on the final QoR of the design flow, based on final QoRs produced by the design iterations.

4 . The method of claim 1 wherein:

the stages include synthesis and placement, clock tree synthesis and routing; and

the final QoR is a function of routing congestion, total negative slack (TNS), total power and total standard cell area.

5 . The method of claim 1 wherein the final QoR comprises an aggregate of at least two performance metrics of the output design of the circuit from a final stage of the design flow.

6 . The method of claim 1 wherein the design iterations for the first slice select parameter values for all stages in the first slice based on the final QoR of the design flow.

7 . The method of claim 1 wherein adapting the design iterations for the first slice is further based on final QoRs produced by design iterations for other slices.

8 . The method of claim 1 further comprising:

for all design iterations that are based on the final QoR, adapting all such design iterations based on final QoRs produced by all complete sequences of stages from the design iterations.

9 . A system comprising:

a memory storing instructions; and

a processing device, coupled with the memory and to execute the instructions, the instructions when executed cause the processing device to:

receive instructions relating to design iterations for a design flow to design a circuit, wherein the design flow comprises a sequence of at least two stages, and each stage produces an output design of the circuit from an input design of the circuit in accordance with parameters for that stage;

execute a plurality of design iterations in accordance with the instructions; wherein each design iteration selects parameter values for a subflow of one or more stages, and the design iterations include final QoR-based design iterations that select parameter values for a non-final stage of the design flow based on a final QoR of the design flow, and the instructions specify parameter values that are given priority during the design iterations; and

adapting the final QoR-based design iterations based on the final QoRs produced in previously executed design iterations by sequences that include all stages in the design flow.

10 . The system of claim 9 wherein the instructions specify compute limits on the design iterations.

11 . The system of claim 9 wherein the instructions specify stop rules for early termination of design iterations.

12 . The system of claim 9 wherein the design flow includes a plurality of sessions that execute the plurality of design iterations, and the instructions specify which stages are included in the subflow for each session.

13 . The system of claim 9 wherein the instructions specify limits on a number of design iterations that are executed.

14 . The system of claim 9 wherein the instructions specify a tree search strategy for the design iterations on a scale ranging from a depth-first search to a breadth-first search.

15 . The system of claim 9 wherein the instructions specify the stages in the design flow, parameters for the stages, compute limits on the design iterations, the final QoR, and a goal for the final QoR.

16 . A non-transitory computer readable medium comprising stored instructions, which when executed by a processing device, cause the processing device to:

execute a plurality of design iterations for a design flow to design a circuit, wherein the design flow comprises a sequence of at least two stages, each stage produces an output design of the circuit from an input design of the circuit in accordance with parameters for that stage, each design iteration selects parameter values for a subflow of one or more stages, and the design iterations include final QoR-based design iterations that select parameter values for a non-final stage of the design flow based on a final QoR of the design flow; and

adapting the final QoR-based design iterations based on the final QoRs produced in previously executed design iterations by sequences that include all stages in the design flow; and

in addition to the final QoR-based design iterations, the design iterations also include local design iterations that select parameter values for a non-final stage of the design flow based on an intermediate quality of result (QoR) for that non-final stage.

17 . The non-transitory computer readable medium of claim 16 wherein most of the local design iterations are executed before most of the final QoR-based design iterations.

18 . The non-transitory computer readable medium of claim 16 wherein adapting the final QoR-based design iterations uses machine learning.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2023
From: VERMA, PIYUSH; WALSTON, JOSEPH ROBB; WALKER, ROBERT LAWRENCE; PRAKASH, PRANAY; PATEL, JAGAT; WILLIAMS, MARK THOMAS; MAUDGALYA, NAVNEEDH SHIVAKUMAR; CLAUDEL, BENOIT
To: SYNOPSYS, INC.
Reel/Frame 063167/0765 →
Continuity (1)
Related Publication 20240330562A1 · Oct 3, 2024
References Cited (6)
US 12260161B2 · Huang · 2025 [cited by examiner]
US 20120331436A1 · Formato · 2012 [cited by examiner]
Liang, R. et al. “FlowTuner: A multi-stage EDA flow tuner exploiting parameter knowledge transfer,” IEEE/ACM International Conference on Computer Aided Design, Nov. 1, 2021, pp. 1-9. [cited by applicant]
PCT International Search Report and Written Opinion, PCT Application No. PCT/US2024/013625, Jun. 10, 2024, 13 pages. [cited by applicant]
Xie, Z. et al. “FIST: A feature-importance sampling and tree-based method for automatic design flow parameter tuning,” 25th Asia and South Pacific Design Automation Conference, Jan. 13, 2020, pp. 1-7. [cited by applicant]
Murali et al., “A PPAStudy of Reinforced Placement Parameter Autotuning: Pseudo-3D vs. True-3D Placers”, Acm Transactions On Design Automation Of Electronic Systems, vol. 28, No. 5, Sep. 2023, pp. 1-22. [cited by applicant]