Machine-learning based clustering for clock tree synthesis

US11645441B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-11645441-B1
Application numberUS-202017139657-A
CountryUS
Kind codeB1
Filing dateDec 31, 2020
Priority dateDec 31, 2020
Publication dateMay 9, 2023
Grant dateMay 9, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Aspects of the present disclosure address systems and methods for performing a machine-learning based clustering of clock sinks during clock tree synthesis. An integrated circuit (IC) design comprising a clock net that includes a plurality of clock sinks is accessed. An initial number of clusters to generate from the set of clock sinks is determined using a machine-learning model. A first set of clusters is generated from the set of clocks sinks and includes the initial number of clusters. A timing analysis is performed to determine whether each cluster in the first set of clusters satisfies design rule constraints. The initial number of clusters is adjusted based on the timing analysis and a clustering solution is generated based on the adjusted number of clusters.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: one or more processors of a machine; and a computer-storage medium storing instructions, which when executed by the one or more processors, configure the machine to perform operations comprising: accessing, from memory, an integrated circuit design comprising a clock net comprising a set of clock sinks; determining, using a machine-learning model, an initial number of clusters to generate from the set of clock sinks such that each cluster satisfies one or more design rule constraints; generating a first set of clusters from the set of clock sinks of the clock net, the first set of clusters comprising the initial number of clusters; performing an initial timing analysis to evaluate the first set of clusters to determine whether each cluster in the first set of clusters satisfies the one or more design rule constraints; adjusting the initial number of clusters based on a result of the initial timing analysis, the adjusting of the initial number of clusters comprising decrementing the initial number of clusters based on determining each cluster in the first set of clusters satisfies the one or more design rule constraints, the adjusting of the initial number of clusters resulting in an adjusted number of clusters; and generating a clustering solution for the clock net based on the adjusted number of clusters. 2. The system of claim 1 , wherein adjusting the initial number of clusters comprises: determining whether each cluster in the first set of clusters satisfies the one or more design rule constraints based on the initial timing analysis. 3. The system of claim 1 , wherein: the adjusting the initial number of clusters further comprises: generating a second set of clusters comprising a second number of clusters, the second number of clusters resulting from decrementing the initial number of clusters; and based on determining each cluster in the second set of clusters satisfies the one or more design rule constraints, decrementing the second number of clusters. 4. The system of claim 3 , wherein the adjusting the initial number of clusters further comprises: generating a third set of clusters comprising a third number of clusters, the third number of clusters resulting from decrementing the second number of clusters; determining at least one cluster in the third set of clusters fails to satisfy the one or more design rule constraints based on a subsequent timing analysis; and based on determining that at least one cluster in the third set of clusters fails to satisfy the one or more design rule constraints, selecting the second number of clusters as the adjusted number of clusters. 5. The system of claim 1 , wherein the machine-learning model is generated by using one or more machine-learning algorithms to analyze training data to find correlations among a set of identified features that affect whether clusters satisfy design rule constraints. 6. The system of claim 5 , wherein: the training data comprises clusters of clock sinks that are labeled according to respective satisfaction of the design rule constraints; and the set of identified features includes one or more of: driver location, driver size, input slew of driver, number of sinks, sink sizes, sink locations, bounding box area, average clock net radius, routing topology, total wirelength, and resistance and capacitance characteristics. 7. The system of claim 1 , wherein the one or more design rule constraints comprise at least one timing target. 8. The system of claim 1 , wherein the operations further comprise generating a layout instance based on the clustering solution, the layout instance defining physical layout dimensions of the integrated circuit design. 9. A method comprising: accessing, from memory, an integrated circuit design comprising a clock net comprising a set of clock sinks; determining, using a machine-learning model, an initial number of clusters to generate from the set of clock sinks such that each cluster satisfies one or more design rule constraints; generating, using one or more processors of a machine, a first set of clusters by clustering the set of clock sinks of the clock net, the first set of clusters comprising the initial number of clusters; adjusting the initial number of clusters based on whether each cluster in the first set of clusters satisfies one or more design rule constraints, the adjusting of the initial number of clusters comprising decrementing the initial number of clusters based on determining each cluster in the set of clusters satisfies the one or more design rule constraints, the adjusting of the initial number of clusters resulting in an adjusted number of clusters; generating a clustering solution for the clock net based on the adjusted number of clusters; and generating a layout instance based on the clustering solution, the layout instance defining physical layout dimensions of the integrated circuit design. 10. The method of claim 9 , wherein the adjusting the initial number of clusters comprises: determining whether each cluster in the first set of clusters satisfies the one or more design rule constraints based on a timing analysis. 11. The method of claim 9 , wherein: the adjusting the initial number of clusters further comprises: generating a second set of clusters comprising a second number of clusters, the second number of clusters resulting from decrementing the initial number of clusters; and based on determining each cluster in the second set of clusters satisfies the one or more design rule constraints, decrementing the second number of clusters. 12. The method of claim 11 , wherein the adjusting the initial number of clusters further comprises: generating a third set of clusters comprising a third number of clusters, the third number of clusters resulting from decrementing the second number of clusters; determining at least one cluster in the third set of clusters fails to satisfy the one or more design rule constraints based on a subsequent timing analysis; and based on determining that at least one cluster in the third set of clusters fails to satisfy the one or more design rule constraints, selecting the second number of clusters as the adjusted number of clusters. 13. The method of claim 9 , further comprising generating the machine-learning model by using one or more machine-learning algorithms to analyze training data to find correlations among a set of identified features that affect whether clusters satisfy design rule constraints. 14. The method of claim 13 , wherein: the training data comprises clusters of clock sinks that are labeled according to respective satisfaction of the design rule constraints; and the set of identified features include one or more of: driver location, driver size, input slew of driver, number of sinks, sink sizes, sink locations, bounding box area, average clock net radius, routing topology, total wirelength, and resistance and capacitance characteristics. 15. The method of claim 9 , wherein the one or more design rule constraints comprise at least one timing target. 16. A system comprising: one or more processors of a machine; and a computer storage medium storing instructions, which when executed by the machine, cause the machine to perform operations comprising: accessing, from memory, an integrated circuit design comprising a clock net comprising a set of clock sinks; determining, using a machine-learning model, an initial number of clusters to generate from the set of clock sinks such that each cluster satisfies one or more design rule constrain

Assignees

Inventors

Classifications

  • 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) · CPC title

  • Clock trees · CPC title

  • Floor-planning or layout, e.g. partitioning or placement · CPC title

  • G06F30/27Primary

    using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model · CPC title

  • Machine learning · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11645441B1 cover?
Aspects of the present disclosure address systems and methods for performing a machine-learning based clustering of clock sinks during clock tree synthesis. An integrated circuit (IC) design comprising a clock net that includes a plurality of clock sinks is accessed. An initial number of clusters to generate from the set of clock sinks is determined using a machine-learning model. A first set o…
Who is the assignee on this patent?
Cadence Design Systems Inc
What technology area does this patent fall under?
Primary CPC classification G06F30/27. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 09 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).