Parallel AIG Refactoring via Conflict Breaking
Ye Cai, Zonglin Yang, Liwei Ni, Junfeng Liu, Biwei Xie, Xingquan Li
TL;DR
This paper tackles the slowdown of sequential AIG-based logic refactoring in EDA by identifying two conflict types that arise in parallelization and introducing a levelization-based scheduler with a four-stage parallel framework. The method separates work into scheduling, parallel refactoring, replacement, and post-processing to exploit node-level parallelism while preserving topological order, employing per-thread local storage and MFFC recycling to mitigate data races and dependency conflicts. Empirical results on large AIGs expanded from EPFL benchmarks show an average speedup of $28x$ on up to $64$ cores with QoR comparable to the ABC baseline, demonstrating scalable performance without sacrificing optimization quality. The work offers a practical approach to parallelizing AIG refactoring, enabling faster EDA optimization for very large IC designs on multi-core platforms.
Abstract
Algorithm parallelization to leverage multi-core platforms for improving the efficiency of Electronic Design Automation~(EDA) tools plays a significant role in enhancing the scalability of Integrated Circuit (IC) designs. Logic optimization is a key process in the EDA design flow to reduce the area and depth of the circuit graph by finding logically equivalent graphs for substitution, which is typically time-consuming. To address these challenges, in this paper, we first analyze two types of conflicts that need to be handled in the parallelization framework of refactoring And-Inverter Graph~(AIG). We then present a fine-grained parallel AIG refactoring method, which strikes a balance between the degree of parallelism and the conflicts encountered during the refactoring operations. Experiment results show that our parallel refactor is 28x averagely faster than the sequential algorithm on large benchmark tests with 64 physical CPU cores, and has comparable optimization quality.
