✨ TL;DR
AutoPPA is an automated framework for optimizing circuit performance, power, and area (PPA) that learns optimization rules by contrasting code pairs rather than relying on manual rules. It outperforms existing methods including manual optimization and state-of-the-art automated approaches.
Optimizing performance, power, and area (PPA) in RTL (Register Transfer Level) circuit design is a critical but challenging task that requires deep understanding of circuit functionality and how different circuit structures affect PPA metrics. Existing automated approaches using large language models fall short in efficiency: feedback-based methods operate without prior knowledge and must explore solutions blindly, while knowledge-based methods depend heavily on manually-crafted optimization rules that are time-consuming to create and may not cover all optimization patterns. This creates a bottleneck in the design process where neither purely exploratory nor purely knowledge-driven approaches can efficiently find optimal circuit configurations.
AutoPPA introduces a fully automated framework that generates optimization rules automatically rather than relying on manual expertise. The core methodology is an Explore-Evaluate-Induce (E²I) workflow that generates diverse code pairs, evaluates their PPA characteristics, and then contrasts and abstracts optimization patterns from successful transformations to create a rule library. Instead of using predefined human knowledge, the system learns generalizable optimization rules by analyzing what structural changes lead to PPA improvements across different code examples. To enhance applicability across various circuits, AutoPPA implements an adaptive multi-step search framework that dynamically selects and applies the most effective rules for each specific circuit being optimized, allowing the system to tailor its optimization strategy to the particular characteristics of the design at hand.