Automated Placement of Analog Integrated Circuits using Priority-based Constructive Heuristic
Josef Grus, Zden\v{e}k Hanz\'alek

TL;DR
This paper introduces a heuristic for analog IC placement that considers complex features like pockets and minimum distances, optimizing layout perimeter and wire length, and employs evolutionary strategies and reinforcement learning for enhanced performance.
Contribution
The paper presents a novel priority-based constructive heuristic for analog IC placement that incorporates complex placement constraints and uses evolutionary algorithms and reinforcement learning for optimization.
Findings
Effective on synthetic and real industrial instances with over 200 devices.
Outperforms state-of-the-art methods on MCNC and GSRC datasets.
Handles complex placement rules and constraints successfully.
Abstract
This paper presents a heuristic approach for solving the placement of Analog and Mixed-Signal Integrated Circuits. Placement is a crucial step in the physical design of integrated circuits. During this step, designers choose the position and variant of each circuit device. We focus on the specific class of analog placement, which requires so-called pockets, their possible merging, and parametrizable minimum distances between devices, which are features mostly omitted in recent research and literature. We formulate the problem using Integer Linear Programming and propose a priority-based constructive heuristic inspired by algorithms for the Facility Layout Problem. Our solution minimizes the perimeter of the circuit's bounding box and the approximated wire length. Multiple variants of the devices with different dimensions are considered. Furthermore, we model constraints crucial for the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
MethodsFocus
