IP Library Granted Patent US 12711404
Granted Patent B1
US 12711404 · App. 17/211,618 · Granted Aug 18, 2026

Prediction of logic optimization algorithms using machine learning

Inventors: Akhil Tharad (Hyderabad, IN); Aman Gayasen (Hyderabad, IN); Padmini Gopalakrishnan (Hyderabad, IN); Jagadeesh Vasudevamurthy (San Jose, CA)
Assignee: XILINX, INC.
G06N5/04G06F30/337G06N20/00
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 12711404
App. No.
17/211,618
Granted
Aug 18, 2026
Kind
B1
Abstract

Embodiments herein describe optimizing a netlist using machine learning (ML) models that predict which of a plurality of optimization strategies (e.g., a plurality of optimization algorithms) will provide the best results. The netlist can then be optimized using the optimization strategy. Doing so provides significant time and compute resources savings since the netlist can be optimized only once using the selected optimization strategy rather than having to be optimized using each of the plurality of optimization strategies. Moreover, the embodiments herein can permit the addition of more optimization strategies, which could not be considered earlier because of runtime constraints.

Claims (54)

1 . A method, comprising:

partitioning a netlist into a plurality of partitions based on parameters of hardware represented in the plurality of partitions, wherein the netlist defines a schematic for fabricating an application-specific integrated circuit (ASIC);

for each of the plurality of partitions:

extracting a feature from the partition that defines the schematic for the ASIC including: information, statistics, or metadata derived from the partition;

providing the extracted feature as an input to a plurality of machine learning (ML) models, wherein each of the plurality of ML models corresponds to a respective one of a plurality of optimization algorithms, and wherein each of the plurality of ML models is one of: binary classification models, random forest models, gradient boosting models, or models based on a k-nearest neighbor (KNN) algorithm;

generating, at each ML model, a score indicating a likelihood that the respective optimization algorithm is better at optimizing the partition relative to the other plurality of optimization algorithms represented by the other ML models; and

implementing a selected optimization algorithm on optimizing the partition based on the scores output by the plurality of ML models, wherein at least one of the plurality of optimization algorithms is not used to optimize the partition; and

fabricating the ASIC using the optimized plurality of partitions of the netlist.

2 . The method of claim 1 , wherein the selected optimization algorithm has a best score among the scores generated by the plurality of ML models.

3 . The method of claim 1 , wherein the partition is optimized using only the optimization algorithm with the likelihood to be the best at optimizing the partition.

4 . The method of claim 1 , wherein the partition is optimized using multiple optimization algorithms forming a subset of the plurality of optimization algorithms in order to generate a plurality of optimized versions of the partition, the method further comprising:

evaluating the plurality of optimized versions of the partition using one or more heuristics in order to select which of the plurality of optimized versions of the partition to use while the remaining optimized versions of the partition are discarded.

5 . The method of claim 1 , further comprising, before extracting the feature of the partition:

training the plurality of ML models using (i) extracted features of a plurality of training netlists and (ii) labels, wherein the labels indicate which of the plurality of optimization algorithms is the best for optimizing the plurality of training netlists.

6 . The method of claim 5 , further comprising:

generating the labels by:

optimizing each of the plurality of training netlists using each of the plurality of optimization algorithms to generate a plurality of optimized versions of each of the plurality of training netlists; and

evaluating the plurality of optimization algorithms for each of the plurality of training netlists to determine which of the plurality of optimization algorithms provided the best optimized version, wherein the labels indicate which of the plurality of optimization algorithms provided the best optimized version and which of the plurality of optimization algorithms did not.

7 . A non-transitory computer readable storage medium storing instructions, which when executed on one or more processing devices, perform an operation, the operation comprising:

partitioning a netlist into a plurality of partitions based on parameters of hardware represented in the plurality of partitions, wherein the netlist defines a schematic for fabricating an application-specific integrated circuit (ASIC);

for each of the plurality of partitions:

extracting a feature from the partition that defines the schematic for the ASIC including: information, statistics, or metadata derived from the partition;

providing the extracted feature as an input to a plurality of machine learning (ML) models, wherein each of the plurality of ML models corresponds to a respective one of a plurality of optimization algorithms, and wherein each of the plurality of ML models is one of: binary classification models, random forest models, gradient boosting models, or models based on a k-nearest neighbor (KNN) algorithm;

generating, at each ML model, a score indicating a likelihood that the respective optimization algorithm is better at optimizing the partition relative to the other plurality of optimization algorithms represented by the other ML models; and

implementing a selected optimization algorithm on optimizing the partition based on the scores output by the plurality of ML models, wherein at least one of the plurality of optimization algorithms is not used to optimize the partition; and

fabricating the ASIC using the optimized plurality of partitions of the netlist.

8 . The non-transitory computer readable storage medium of claim 7 , wherein the selected optimization algorithm has a best score among the scores output by the plurality of ML models.

9 . The non-transitory computer readable storage medium of claim 7 , wherein the partition is optimized using only the optimization algorithm with the likelihood to be the best at optimizing the partition.

10 . The non-transitory computer readable storage medium of claim 7 , wherein the partition is optimized using multiple optimization algorithms forming a subset of the plurality of optimization algorithms in order to generate a plurality of optimized versions of the partition, the non-transitory computer readable storage medium further comprising:

evaluating the plurality of optimized versions of the partition using one or more heuristics in order to select which of the plurality of optimized versions of the partition to use while the remaining optimized versions of the partition are discarded.

11 . The non-transitory computer readable storage medium of claim 7 , further comprising, before extracting the feature of the partition:

training the plurality of ML models using (i) extracted features of a plurality of training netlists and (ii) labels, wherein the labels indicate which of the plurality of optimization algorithms is the best for optimizing the plurality of training netlists.

12 . The non-transitory computer readable storage medium of claim 11 , further comprising:

generating the labels by:

optimizing each of the plurality of training netlists using each of the plurality of optimization algorithms to generate a plurality of optimized versions of each of the plurality of training netlists; and

evaluating the plurality of optimization algorithms for each of the plurality of training netlists to determine which of the plurality of optimization algorithms provided the best optimized version, wherein the labels indicate which of the plurality of optimization algorithms provided the best optimized version and which of the plurality of optimization algorithms did not.

13 . A method, comprising:

partitioning a netlist into a plurality of partitions based on parameters of hardware represented in the plurality of partitions, wherein the netlist defines a schematic for fabricating an application-specific integrated circuit (ASIC);

for each of the plurality of partitions:

extracting a feature from the partition that defines the schematic for the ASIC including: information, statistics, or metadata derived from the partition;

providing the extracted feature as an input to a plurality of machine learning (ML) models, wherein each of the plurality of ML models corresponds to a respective one of a plurality of optimization algorithms, and wherein each of the plurality of ML models is one of: binary classification models, random forest models, gradient boosting models, or models based on a k-nearest neighbor (KNN) algorithm;

receiving scores from the plurality of ML models indicating a likelihood that the respective optimization algorithm is better at optimizing the partition relative to the other plurality of optimization algorithms represented by the other ML models as a result of processing the extracted feature;

selecting one of the plurality of optimization algorithms based on comparing the scores; and

implementing the selected one of the plurality of optimization algorithms on optimizing the partition, wherein at least one of the plurality of optimization algorithms is not used to optimize the partition; and

fabricating the ASIC using the optimized plurality of partitions of the netlist.

14 . The method of claim 13 , wherein the partition is implemented with only the optimization algorithm corresponding to a best score among the scores received from the plurality of ML models.

15 . The method of claim 13 , wherein the partition is optimized using multiple optimization algorithms forming a subset of the plurality of optimization algorithms in order to generate a plurality of optimized versions of the partition, the method further comprising:

evaluating the plurality of optimized versions of the partition using one or more heuristics in order to select which of the plurality of optimized versions of the partition to use while the remaining ones optimized versions of the partition are discarded.

16 . The method of claim 13 , further comprising, before extracting the feature of the partition:

training the plurality of ML models using (i) extracted features of a plurality of training netlists and (ii) labels, wherein the labels indicate which of the plurality of optimization algorithms is best for optimizing the plurality of training netlists.

17 . The method of claim 16 , further comprising:

generating the labels by:

optimizing each of the plurality of training netlists using each of the plurality of optimization algorithms to generate a plurality of optimized versions of each of the plurality of training netlists; and

evaluating the plurality of optimization algorithms for each of the plurality of training netlists to determine which of the plurality of optimization algorithms provided the best optimized version, wherein the labels indicate which of the plurality of optimization algorithms provided the best optimized version and which of the plurality of optimization algorithms did not.