Machine learning-based hotspot prediction in electronic design automation (eda) applications
US-2023229845-A1 · Jul 20, 2023 · US
US12373627B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12373627-B2 |
| Application number | US-202217866270-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 15, 2022 |
| Priority date | Feb 10, 2022 |
| Publication date | Jul 29, 2025 |
| Grant date | Jul 29, 2025 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Methods and systems for generating a floorplan for a circuit are disclosed. A netlist graph of the circuit and block features associated with blocks of the circuit are obtained. A reinforcement learning (RL) agent is used to generate a sequence of corner block list (CBL) actions. Each CBL action is generated by: generating a current state embedding representing a current state of the floorplan; and inputting the current state embedding to a policy network of the RL agent to generate a predicted output vector, which is used to generate the CBL action. After each CBL action is generated, the current CBL representation of the floorplan and the block features are updated to reflect the state of the floorplan after applying the CBL action. The CBL representation is outputted as a final floorplan after all blocks have been placed.
Opening claim text (preview).
The invention claimed is: 1. A method for generating a floorplan for a circuit, the method comprising: obtaining a netlist graph of the circuit and a set of block features associated with blocks of the circuit; using a reinforcement learning (RL) agent to generate a sequence of corner block list (CBL) actions, each CBL action representing a block placement action and being generated by: generating, from the netlist graph, the set of block features and a current CBL representation of the floorplan, a current state embedding representing a current state of the floorplan; and inputting the current state embedding to a policy network of the RL agent to generate a predicted output vector, the predicted output vector from the policy network being used to generate the CBL action; wherein after each CBL action is generated the current CBL representation of the floorplan is updated with the generated CBL action and the set of block features is updated to reflect the state of the floorplan after applying the generated CBL action; and outputting the current CBL representation as a final floorplan after all blocks of the circuit have been placed by the sequence of CBL actions. 2. The method of claim 1 , wherein generating the current state embedding comprises: encoding the netlist graph and the set of block features into a graph embedding using a neural network; encoding the current CBL representation using a lookup table into a CBL embedding; and combining the graph embedding and the CBL embedding to generate the current state embedding. 3. The method of claim 2 , wherein encoding the netlist graph and the set of block features into the graph embedding comprises: encoding the netlist graph and the set of block features into node embeddings using a hypergraph graph convolutional network (GCN); and pooling the node embeddings into the graph embedding. 4. The method of claim 1 , wherein each generated CBL action comprises a block identifier (ID) value, an insertion direction value, and a T-junction value. 5. The method of claim 4 , wherein each generated CBL action further comprises a rotation value or an aspect ratio value. 6. The method of claim 4 , wherein the netlist graph and the set of block features are encoded into node embeddings and the node embeddings are pooled into the graph embedding, and wherein the predicted output vector from the policy network is used to determine the block ID value of the CBL action by: computing a dot product of the predicted output and the node embeddings to obtain a probability vector; and determining the block ID value to correspond to an index of a highest probability value in the probability vector. 7. The method of claim 1 , further comprising: computing a reward of the final floorplan; updating parameters of the RL agent including parameters of the policy network using the computed reward; and performing at least another iteration using the RL agent to output another final floorplan; wherein the iterations are repeated until a termination condition is met. 8. The method of claim 1 , further comprising: after each CBL action is generated, determining whether the generated CBL action is invalid; and in response to an invalid CBL action, generating a penalty feedback to the RL agent. 9. A computing system comprising: a memory storing instructions; and a processing unit coupled to the memory, the processing unit being configured to execute the instructions to cause the computing system to: obtain a netlist graph of a circuit and a set of block features associated with blocks of the circuit; use a reinforcement learning (RL) agent to generate a sequence of corner block list (CBL) actions, each CBL action representing a block placement action and being generated by: generating, from the netlist graph, the set of block features and a current CBL representation of a floorplan, a current state embedding representing a current state of the floorplan; and inputting the current state embedding to a policy network of the RL agent to generate a predicted output vector, the predicted output vector from the policy network being used to generate the CBL action; wherein after each CBL action is generated the current CBL representation of the floorplan is updated with the generated CBL action and the set of block features is updated to reflect the state of the floorplan after applying the generated CBL action; and output the current CBL representation as a final floorplan after all blocks of the circuit have been placed by the sequence of CBL actions. 10. The computing system of claim 9 , wherein the processing unit is further configured to execute the instructions to cause the computing system to generate the current state embedding by: encoding the netlist graph and the set of block features into a graph embedding using a neural network; encoding the current CBL representation using a lookup table into a CBL embedding; and combining the graph embedding and the CBL embedding to generate the current state embedding. 11. The computing system of claim 10 , wherein the processing unit is further configured to execute the instructions to cause the computing system to encode the netlist graph and the set of block features into the graph embedding by: encoding the netlist graph and the set of block features into node embeddings using a hypergraph graph convolutional network (GCN); and pooling the node embeddings into the graph embedding. 12. The computing system of claim 9 , wherein each generated CBL action comprises a block identifier (ID) value, an insertion direction value, and a T-junction value. 13. The computing system of claim 12 , wherein each generated CBL action further comprises a rotation value or an aspect ratio value. 14. The computing system of claim 12 , wherein the netlist graph and the set of block features are encoded into node embeddings and the node embeddings are pooled into the graph embedding, and wherein the predicted output vector from the policy network is used to determine the block ID value of the CBL action by: computing a dot product of the predicted output and the node embeddings to obtain a probability vector; and determining the block ID value to correspond to an index of a highest probability value in the probability vector. 15. The computing system of claim 9 , wherein the processing unit is further configured to execute the instructions to cause the computing system to: compute a reward of the final floorplan; update parameters of the RL agent including parameters of the policy network using the computed reward; and perform at least another iteration using the RL agent to output another final floorplan; wherein the iterations are repeated until a termination condition is met. 16. The computing system of claim 9 , wherein the processing unit is further configured to execute the instructions to cause the computing system to: after each CBL action is generated, determine whether the generated CBL action is invalid; and in response to an invalid CBL action, generate a penalty feedback to the RL agent. 17. A non-transitory computer readable medium having instructions encoded thereon, wherein the instructions, when executed by a processing unit of a computing system, cause the computing system to: obtain a netlist graph of a circuit and a set of block features associated with blocks of the circuit; use a reinforcement learning (RL) agent to generate a sequence of corner block list (CBL) actions, each CBL action representing a block placement action and being generated by: g
Design optimisation · CPC title
Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30) · CPC title
Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist · CPC title
Reliability analysis or reliability optimisation; Failure analysis, e.g. worst case scenario performance, failure mode and effects analysis [FMEA] · CPC title
Routing (G06F30/396 takes precedence) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.