ABSTRACT
Parallel computing is a trend to enhance scalability of electronic design automation (EDA) tools using widely available multicore platforms. In order to benefit from parallelism, well-known EDA algorithms have to be reformulated and optimized for multicore implementation. This paper introduces a set of principles to enable a fine-grain parallel AND-inverter graph (AIG) rewriting. It presents a novel method to discover and rewrite in parallel parts of the AIG, without the need for graph partitioning. Experiments show that, when synthesizing large designs composed of millions of AIG nodes, the parallel rewriting on 40 physical cores is up to 36x and 68x faster than ABC commands rewrite −l and drw, respectively, with comparable quality of results in terms of AIG size and depth.
- [1].Berkeley Logic Synthesis and Verification Group. ABC: A System for Sequential Synthesis and Verification. http://www-cad.eecs.berkeley.edu/~alanmi/abcGoogle Scholar
- [2]. . “Majority-inverter graph: A novel data-structure and algorithms for efficient logic optimization”. In Proc. DAC'14.Google Scholar
- [3]. . “The EPFL Combinational Benchmark Suite”. In Proc. IWLS'15.Google Scholar
- [4]. . “Enabling exact delay synthesis”. In Proc. IC-CAD'17, pp. 352–359.Google Scholar
- [5]. . “DAG-aware circuit compression for formal verification”. In Proc. ICCAD'04.Google Scholar
- [6]. . “The Decomposition and Factorization of Boolean Expressions”. In Proc. ISCAS'82, pp. 29–54.Google Scholar
- [7]. . “Reducing structural bias in technology mapping”. IEEE Trans. on Comput.-Aided Design of Integr. Circuits and Syst., 25 (12), 2006.Google Scholar
- [8]. . “Timing-driven logic bi-decomposition”. IEEE Trans. on Comp.-Aided Design of Integr. Circuits and Syst., 22 (6): 675–685, 2003.Google ScholarDigital Library
- [9]. . “TACUE: A timing-aware cuts enumeration algorithm for parallel synthesis”. In Proc. DAC'14.Google Scholar
- [10]. . “A novel basis for logic rewriting”. In Proc. ASP-DAC'17, pp. 151–156.Google Scholar
- [11]. . “Scaling Runtimes for Irregular Algorithms to Large-Scale NUMA Systems”. Computer, 48 (8): 35–44, 2015.Google ScholarDigital Library
- [12]. . “Parallel graph analytics”. Comm. of the ACM, 59 (5), 2016.Google Scholar
- [13]. . “AIG rewriting using 5-input cuts”. In Proc. ICCD'11, pp. 429–430.Google Scholar
- [14]. . “A Parallelized Iterative Improvement Approach to Area Optimization for LUT-Based Technology Mapping”. In Proc. FPGA'17.Google Scholar
- [15]. . “Scalable logic synthesis using a simple circuit structure”. In Proc. IWLS'06.Google Scholar
- [16]. . “Combinational and Sequential Mapping with Priority Cuts”. In Proc. ICCAD'17, pp. 354–361.Google Scholar
- [17]. . “DAG-aware AIG rewriting: a fresh look at combinational logic synthesis”. In Proc. DAC'06, pp. 532–535.Google Scholar
- [18]. . “Parallel FPGA routing based on the operator formulation”. In Proc. DAC'14.Google Scholar
- [19]. “The tao of parallelism in algorithms”. In ACM Sigplan Notices, volume 46 of number 6, 2011.Google Scholar
- [20]. . “Optimizing Majority-Inverter Graphs with functional hashing”. In Proc. DATE'16, pp. 1030–1035.Google ScholarDigital Library
- [21]. . “Developing Parallel EDA Tools [The Last Byte]”. IEEE Design Test, 30 (1): 65–66, 2013.Google ScholarCross Ref
- [22]. . “The Next 25 Years in EDA: A Cloudy Future?” IEEE Design & Test, 31 (2), 2014.Google Scholar
- [23]. . “Lazy man's logic synthesis”. In Proc. ICCAD'12, pp. 597–604.Google Scholar
Index Terms
- Unlocking Fine-Grain Parallelism for AIG Rewriting
Recommendations
Fine-grain parallelism using multi-core, Cell/BE, and GPU Systems
Currently, we are facing a situation where applications exhibit increasing computational demands and where a large variety of parallel processor systems are available. In this paper we focus on exploiting fine-grain parallelism for three applications ...
Characterizing Fine-Grain Parallelism on Modern Multicore Platform
ICPADS '11: Proceedings of the 2011 IEEE 17th International Conference on Parallel and Distributed SystemsSince chip multiprocessors have dominated the processor market, developing a parallel programming model with proper trade-off between productivity and efficiency become increasingly important. As a typical fine-grain parallelism model, Intel Threading ...
Comments