IP Library Granted Patent US 12,430,485
Granted Patent B2
US 12,430,485 · App. 18/051,984 · Granted Sep 30, 2025

VLSI placement optimization using self-supervised graph clustering

Inventors: Yi-Chen Lu (Tucker, GA); Tian Yang (Austin, TX); Haoxing Ren (Austin, TX)
Assignee: NVIDIA Corporation
G06F30/327G06F30/337G06F30/347G06F30/392G06F30/398
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,430,485
App. No.
18/051,984
Granted
Sep 30, 2025
Kind
B2
Abstract

A VLSI placement optimization framework receives a cell connectivity representation and cell characteristics and uses self-supervised graph clustering to optimize cell cluster assignments for power, performance, and area (PPA). The framework provides cell clustering constraints as placement guidance to commercial placers. Specifically, graph learning techniques are used to formulate the PPA metrics as machine learning loss functions that can be minimized directly through gradient descent. The framework improves the PPA metrics at the placement stage and the improvements endure to the post-route stage.

Claims (49)

1. A computer-implemented method, comprising:

receiving a connectivity representation for cell instances of an integrated circuit;

processing, according to parameters, the connectivity representation and characteristics for each cell instance to generate clustering guidance for each cell instance;

updating the parameters to optimize metrics using the clustering guidance;

repeating the processing using the updated parameters to update the clustering guidance; and

producing cell cluster assignments for the cell instances based on the updated clustering guidance.

2. The computer-implemented method of claim 1 , further comprising initializing the parameters by:

producing learned embeddings for each cell instance from the connectivity representation and the characteristics; and

computing a first portion of the parameters to minimize a similarity loss for the learned embeddings.

3. The computer-implemented method of claim 2 , further comprising computing a second portion of the parameters from the learned embeddings.

4. The computer-implemented method of claim 1 , wherein the connectivity representation comprises a netlist graph and each cell instance corresponds to a node in the netlist graph.

5. The computer-implemented method of claim 4 , further comprising, before processing the connectivity representation, transforming the netlist graph by inserting an edge corresponding to a timing path between a start point and an end point of the timing path, the edge bypassing at least one node between the start point and the end point.

6. The computer-implemented method of claim 1 , wherein the characteristics for each cell instance comprise estimated timing, power consumption, and congestion for an initial placement.

7. The computer-implemented method of claim 1 , wherein the clustering guidance comprises clustering probabilities for each cell instance.

8. The computer-implemented method of claim 1 , wherein the processing comprises:

producing learned embeddings for each cell instance by applying a first portion of the parameters to the connectivity representation and the characteristics; and

applying a second portion of the parameters to the learned embeddings to compute the clustering guidance for each cell instance.

9. The computer-implemented method of claim 1 , wherein updating the parameters comprises minimizing a loss function computed using the clustering guidance for the metrics that include at least one of a timing loss, a congestion loss, and a power loss.

10. The computer-implemented method of claim 9 , wherein the loss function includes a clustering loss that is computed using the clustering guidance.

11. The computer-implemented method of claim 1 , wherein producing the cell cluster assignments comprises, for each cell instance, identifying a highest probability value defined in the updated clustering guidance.

12. The computer-implemented method of claim 1 , wherein at least one of the steps of receiving, processing, updating, and producing are performed on a server or in a data center to produce the cell cluster assignments, and the cell cluster assignments are streamed to a user device.

13. The computer-implemented method of claim 1 , wherein at least one of the steps of receiving, processing, updating, and producing are performed within a cloud computing environment.

14. The computer-implemented method of claim 1 , wherein the integrated circuit is employed in a machine, robot, or autonomous vehicle.

15. The computer-implemented method of claim 1 , wherein at least one of the steps of receiving, processing, updating, and producing is performed on a virtual machine comprising a portion of a graphics processing unit.

16. The computer-implemented method of claim 1 , wherein updating the parameters comprises:

computing a congestion score for each cell instance; and

equalizing the congestion scores across the cell clusters to minimize a congestion loss function.

17. The computer-implemented method of claim 1 , wherein updating the parameters comprises:

computing switching activity for each cell instance; and

aggregating the cell instances with high switching activity into a subset of the cell clusters to minimize a power loss function.

18. The computer-implemented method of claim 1 , wherein updating the parameters comprises:

computing cut sizes of timing critical paths for each cell instance; and

minimizing a timing loss function using the cut sizes.

19. A system, comprising:

a memory that stores a connectivity representation for cell instances of an integrated circuit; and

a processor that is connected to the memory, wherein the processor is configured to produce cell cluster assignments for the cell instances by:

process, according to parameters, the connectivity representation and characteristics for each cell instance to generate clustering guidance for each cell instance;

update the parameters to optimize metrics using the clustering guidance;

repeat the processing using the updated parameters to update the clustering guidance; and

produce the cell cluster assignments based on the updated clustering guidance.

20. The system of claim 19 , wherein the characteristics for each cell instance comprise estimated timing, power consumption, and congestion for an initial placement.

21. The system of claim 19 , wherein updating the parameters comprises minimizing a loss function computed using the clustering guidance for the metrics that include at least one of a timing loss, a congestion loss, and a power loss.

22. A non-transitory computer-readable media storing computer instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of:

receiving a connectivity representation for cell instances of an integrated circuit;

processing, according to parameters, the connectivity representation and characteristics for each cell instance to generate clustering guidance for each cell instance;

updating the parameters to optimize metrics using the clustering guidance;

repeating the processing using the updated parameters to update the clustering guidance; and

producing cell cluster assignments for the cell instances based on the updated clustering guidance.

23. The non-transitory computer-readable media of claim 22 , wherein the characteristics for each cell instance comprise estimated timing, power consumption, and congestion for an initial placement.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2022
From: LU, YI-CHEN; YANG, TIAN; REN, HAOXING
To: NVIDIA CORPORATION
Reel/Frame 061632/0122 →
Continuity (2)
Provisional Application 63344486 · May 20, 2022
Related Publication 20230376659A1 · Nov 23, 2023
References Cited (57)
US 5659717A · Tse · 1997 [cited by examiner]
US 6480991B1 · Cho · 2002 [cited by examiner]
US 9424282B2 · Plattner · 2016 [cited by examiner]
US 11165646B1 · Ushijima-Mwesigwa · 2021 [cited by examiner]
US 11617122B2 · Ushijima-Mwesigwa · 2023 [cited by examiner]
US 11861474B2 · Foerster · 2024 [cited by examiner]
US 11868951B2 · Fu · 2024 [cited by examiner]
US 11900238B1 · Teig · 2024 [cited by examiner]
US 20050229139A1 · Tsai · 2005 [cited by examiner]
US 20060064654A1 · Zhang · 2006 [cited by examiner]
US 20060239506A1 · Zhang · 2006 [cited by examiner]
US 20090210881A1 · Duller · 2009 [cited by examiner]
US 20130331109A1 · Dhillon · 2013 [cited by examiner]
US 20150269243A1 · Kobayashi · 2015 [cited by examiner]
US 20180307792A1 · Kim · 2018 [cited by examiner]
US 20200065656A1 · Song · 2020 [cited by examiner]
US 20200285900A1 · He · 2020 [cited by examiner]
US 20200342297A1 · Dai · 2020 [cited by examiner]
US 20220058328A1 · Castle · 2022 [cited by examiner]
US 20220067071A1 · Romm · 2022 [cited by examiner]
US 20220156117A1 · Chen · 2022 [cited by examiner]
US 20220159549A1 · Ushijima-Mwesigwa · 2022 [cited by examiner]
US 20230280810A1 · Lu · 2023 [cited by examiner]
Cao et al., Chinese Patent Document No. CN-107341277-A, published Nov. 10, 2017, 3 pages including abstract, claim and 1 drawing. (Year: 2017). [cited by examiner]
Agnesina, A., et al., “VLSI Placement Parameter Optimization Using Deep Reinforcement Learning,” in Proceedings of the 39th Int'l Conference on Computer-Aided Design, 1-9, 2020. [cited by applicant]
Cheng, C.K., et al., “ReP1Ace: Advancing Solution Quality and Rotatability Validation in Global Placement,” IEEE Transactions on Computer-Aided Design and Integrated Circuits and Systems, 38, 9 (2018), 1717-1730. [cited by applicant]
Cheon, Y., et al., “Power-Aware Placement,” In Proceedings of the 42nd Annual Design Automation Conference, 795-800, 2005. [cited by applicant]
Guo, Z., et al., “A Timing Engine Inspired Graph Neural Network Model for Pre-Routing Slack Prediction,” In 2022 59th ACM/IEEE Design Automation Conference (DAC), IEEE. [cited by applicant]
Hagen, L., et al., “A New Approach to Effective Circuit Clustering,” In IEEE/ACM International Conference on Computer Aided Design (ICCAD), IEEE, 422-427. [cited by applicant]
Hamilton, W., et al., “Inductive Representation Learning on Large Graphs,” Advances in Neural Information Processing Systems 30, 2017. [cited by applicant]
He, X., et al., “Ripple 2.0: Improved Movement of Cells in Routability-Driven Placement,” ACM Transactions on Design Automation of Electronic Systems (TODAES) 22, 1 (2016), 1-26. [cited by applicant]
Juang, C.C., et al., “Detailed-Routing-Driven Analytical Standard-Cell Placement,” in the 20th Asia and South Pacific Design Automation Conference, IEEE, 378-383, 2015. [cited by applicant]
Huang, G., et al., “Machine Learning for Electronic Design Automation: A Survey,” ACM Transactions on Design Automation of Electronic Systems (TODAES) 26, 5 (2021), 1-46. [cited by applicant]
Jin, W., et al., “EMGraph: Fast Learning-Based Electromigration Analysis for Multi-Segment Interconnect Using Graph Convolution Networks,” In 2021 58th ACM/IEEE Design Automation Conference (DAC), IEEE, 919-924. [cited by applicant]
Kahng, A., “Advancing Placement,” In Proceedings of the 2021 International Symposium of Physical Design, 15-22. [cited by applicant]
Kingma, D., et al., “Adam: A Method for Stochastic Optimization,” arXiv preprint arXiv:1412.6980 (2014. [cited by applicant]
Kullback, S., et al., “On Information and Sufficiency,” The Annals of Mathematical Statistics 22, 1 (1951), 79-86. [cited by applicant]
Lin, Y., et al., “Dreamplace: Deep Learning Toolkit-Enabled GPU Acceleration for Modern VLSI Placement,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 40, 4 (2020), 748-761. [cited by applicant]
Lloyd, S., “Least Squares Quantization in PCM,” IEEE Transactions on Information Theory 28, 2 (1982), 129-137. [cited by applicant]
Lu, Y.C., et al., “Doomed Run Prediction in Physical Design by Exploiting Sequential Flow and Graph Learning,” in 2021 IEEE/ACM International Conference on Computer Aided Design (ICCAD), IEEE, 1-9. [cited by applicant]
Lu, Y.C., et al., “R1-Sizer: VLSI Gate Sizing for Timing Optimization Using Deep Reinforcement Learning,” In 2021 58th ACM/IEEE Design Automation Conference (DAC), IEEE, 733-738. [cited by applicant]
Lu, Y.C., et al., “A Fast Learning-Driven Signoff Power Optimization Framework,” In Proceedings of the 2021 International Symposium on Physical Design, 7-14. [cited by applicant]
Lu, Y.C., et al., “TP-GNN: A Graph Neural Network Framework for Tier Partitioning in Monolithic 3D ICs,” In 2020 57th ICM/IEEE Design Automation Conference (DAC), IEEE, 1-6. [cited by applicant]
Mallappa, U., et al., “GRA-LPO: Graph Convolution Based Leakage Power Optimization,” In 2021 26th Asia and South Pacific Design Automation Conference (ASP-DAC), IEEE, 697-702. [cited by applicant]
Mirhoseini, A., et al., “A Graph Placement Methodology for Fast Chip Design,” Nature 594, 7862 (2021), 207-212. [cited by applicant]
Nath, S., et al., “Machine Learning-Enabled High-Frequency Low-Power Digital Design Implementation at Advanced Process Nodes,” In Proceedings of the 2021 International Symposium on Physical Design, 83-90. [cited by applicant]
Nazi, A., et al., “GAP: Generalizable Approximate Graph Partitioning Framework,” arXiv preprint arXiv:1903.00614 (2019). [cited by applicant]
Pan, D., et al., “Timing-Driven Placement,” Handbook of Algorithms for Physical Design Automation (2008), 423-446. [cited by applicant]
Reimers, N., et al., “Sentence-BERT: Sentence Embeddings Using Siamese BERT-Networks,” arXiv preprint arXiv:1908.10084 (2019). [cited by applicant]
Shannon, C.E., “A Mathematical Theory of Communication,” The Bell System Technical Journal 27, 3 (1948), 379-423. [cited by applicant]
Van Der Maaten, L., et al., “Visualizing Data Using T-SNE,” Journal of Machine Learning Research 9, 11 (2008). [cited by applicant]
Vashist, D., et al., “Placement in Integrated Circuits Using Cyclic Reinforcement Learning and Simulated Annealing,” arXiv preprint arXiv:2011.07577 (2020). [cited by applicant]
Ward, S., et al., “PADE: A High-Performance Placer with Automatic Datapath Extraction and Evaluation Through High-Dimensional Data Learning,” in DAC Design Automation Conference 2012. IEEE. [cited by applicant]
Xie, J., et al., “Unsupervised Deep Embedding for Clustering Analysis,” In International Conference on Machine Learning, PMLR, 478-487, 2016. [cited by applicant]
Xie, Z., et al., “RouteNet: Routability Prediction for Mixed-Size Designs Using Convolutional Neural Network,” In 2018 EEE/ACM International Conference on Computer-Aided Design (ICCAD), IEEE, 1-8. [cited by applicant]
Xie, Z., et al., “Net2: A Graph Attention Network Method Customized for Pre-Placement Net Length Estimation,” In 2021 26th Asia and South Pacific Design Automation Conference (ASP-DAC), IEEE, 671-677. [cited by applicant]
Zhang, Y., et al., “GRANNITE: Graph Neural Network Inference for Transferable Power Estimation,” In 2020 57th Annual ACM/IEEE Design Automation Conference (DAC), IEEE, 1-6. [cited by applicant]