skip to main content
research-article
Public Access

PIMap: A Flexible Framework for Improving LUT-Based Technology Mapping via Parallelized Iterative Optimization

Authors Info & Claims
Published:09 January 2019Publication History
Skip Abstract Section

Abstract

Modern FPGA synthesis tools typically apply a predetermined sequence of logic optimizations on the input logic network before carrying out technology mapping. While the “known recipes” of logic transformations often lead to improved mapping results, there remains a nontrivial gap between the quality metrics driving the pre-mapping logic optimizations and those targeted by the actual technology mapping. Needless to mention, such miscorrelations would eventually result in suboptimal quality of results.

In this article, we propose PIMap, which couples logic transformations and technology mapping under an iterative improvement framework for LUT-based FPGAs. In each iteration, PIMap randomly proposes a transformation on the given logic network from an ensemble of candidate optimizations; it then invokes technology mapping and makes use of the mapping result to determine the likelihood of accepting the proposed transformation. By adjusting the optimization objective and incorporating required time constraints during the iterative process, PIMap can flexibly optimize for different objectives including area minimization, delay optimization, and delay-constrained area reduction. To mitigate the runtime overhead, we further introduce parallelization techniques to decompose a large design into multiple smaller sub-netlists that can be optimized simultaneously. Experimental results show that PIMap achieves promising quality improvement over a set of commonly used benchmarks, including improving the majority of the best-known area and delay records for the EPFL benchmark suite.

References

  1. Luca Amarú, Pierre-Emmanuel Gaillardon, and Giovanni De Micheli. 2014. Majority-inverter graph: A novel data-structure and algorithms for efficient logic optimization. In Proceedings of the Design Automation Conference (DAC’14). Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Luca Amarú, Pierre-Emmanuel Gaillardon, and Giovanni De Micheli. 2015. The EPFL combinational benchmark suite. In Proceedings of the International Workshop on Logic 8 Synthesis (IWLS’15).Google ScholarGoogle Scholar
  3. Luca Amarú, Pierre-Emmanuel Gaillardon, and Giovanni De Micheli. 2016. Majority-inverter graph: A new paradigm for logic optimization. IEEE Trans. Comput.-Aid. Des. Integr. Circ. Syst. 35, 5 (2016), 806--819. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Luca Amarú, Mathias Soeken, Patrick Vuillod, Jiong Luo, Alan Mishchenko, Pierre-Emmanuel Gaillardon, Janet Olson, Robert Brayton, and Giovanni De Micheli. 2017. Enabling exact delay synthesis. In Proceedings of the International Conference on Computer-Aided Design (ICCAD’17). Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Berkeley Logic Synthesis and Verification Group, ABC: A System for Sequential Synthesis and Verification, Release 60413. 2017. Retrieved from http://www.eecs.berkeley.edu/∼alanmi/abc/.Google ScholarGoogle Scholar
  6. Andrea Casotto, Fabio Romeo, and Alberto Sangiovanni-Vincentelli. 1987. A parallel simulated annealing algorithm for the placement of macro-cells. IEEE Trans. Comput.-Aid. Des. Integr. Circ. Syst. 6, 5 (1987), 838--847. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Deming Chen, Jason Cong, and Peichen Pan. 2006. FPGA design automation: A survey. Found. Trends Electron. Des. Autom. 1, 3 (2006), 139--169. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Doris Chen and Deshanand Singh. 2010. Parallelizing FPGA technology mapping using graphics processing units (GPUs). In Proceedings of the International Conference on Field Programmable Logic and Applications (FPL’10). Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Jordi Cortadella. 2003. Timing-driven logic bi-decomposition. IEEE Trans. Comput.-Aid. Des. Integr. Circ. Syst. 22, 6 (2003), 675--685. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Giovanni De Micheli. 1991. Synchronous logic synthesis: Algorithms for cycle-time minimization. IEEE Trans. Comput.-Aid. Des. Integr. Circ. Syst. 10, 1 (1991), 63--73. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Amir H. Farrahi and Majid Sarrafzadeh. 1994. Complexity of the lookup-table minimization problem for FPGA technology mapping. IEEE Trans. Comput.-Aid. Des. Integr. Circ. Syst. 13, 11 (1994). Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Petr Fišer and Jan Schmidt. 2010. It is better to run iterative resynthesis on parts of the circuit. In Proceedings of the International Workshop on Logic 8 Synthesis (IWLS’10).Google ScholarGoogle Scholar
  13. Petr Fišer and Jan Schmidt. 2012. Improving the iterative power of resynthesis. In Proceedings of the International Symposium on Design and Diagnostics of Electronic Circuits and Systems (DDECS'12).Google ScholarGoogle ScholarCross RefCross Ref
  14. Petr Fišer, Jan Schmidt, Zdenĕk Vašíč, Lukáš Sekanina, et al. 2010. On logic synthesis of conventionally hard to synthesize circuits using genetic programming. In Proceedings of the IEEE International Symposium on Design and Diagnostics of Electronic Circuits and Systems. 346--351.Google ScholarGoogle ScholarCross RefCross Ref
  15. Charles J. Geyer. 1992. Practical Markov chain Monte Carlo. Statist. Sci. 7, 4 (1992), 473--483.Google ScholarGoogle ScholarCross RefCross Ref
  16. W. Keith Hastings. 1970. Monte Carlo sampling methods using Markov chains and their applications. Biometrika 57, 1 (1970), 97--109.Google ScholarGoogle ScholarCross RefCross Ref
  17. Yu Hu, Victor Shih, Rupak Majumdar, and Lei He. 2008. FPGA area reduction by multi-output function based sequential resynthesis. In Proceedings of the Design Automation Conference (DAC’08). Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Andrew Kennings and Chirag Ravishankar. 2011. Parallel FPGA technology mapping using multi-core architectures. In Proceedings of the Canadian Conference on Electrical and Computer Engineering (CCECE’11).Google ScholarGoogle ScholarCross RefCross Ref
  19. Scott Kirkpatrick, C. Daniel Gelatt, and Mario P. Vecchi. 1983. Optimization by simmulated annealing. Science 220, 4598 (1983), 671--680.Google ScholarGoogle Scholar
  20. Laurent Lemarchand. 1999. Parallel performance directed technology mapping for FPGA. In Proceedings of the Southwest Symposium on Mixed-Signal Design.Google ScholarGoogle ScholarCross RefCross Ref
  21. Gai Liu and Zhiru Zhang. 2017. A parallelized iterative improvement approach to area optimization for LUT-based technology mapping. In Proceedings of the International Symposium on Field-Programmable Gate Arrays (FPGA’17). Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. A. Mishchenko and R. K. Brayton. 2006. Scalable logic synthesis using a simple circuit structure. In Proceedings of the International Workshop on Logic 8 Synthesis (IWLS’06). 15--22.Google ScholarGoogle Scholar
  23. Alan Mishchenko, Robert Brayton, and Satrajit Chatterjee. 2008. Boolean factoring and decomposition of logic networks. In Proceedings of the International Conference on Computer-Aided Design (ICCAD’08). Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Alan Mishchenko, Satrajit Chatterjee, and Robert Brayton. 2006. DAG-aware AIG rewriting a fresh look at combinational logic synthesis. In Proceedings of the Design Automation Conference (DAC’06). Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Alan Mishchenko, Satrajit Chatterjee, and Robert K. Brayton. 2007. Improvements to technology mapping for LUT-based FPGAs. IEEE Trans. Comput.-Aid. Des. Integr. Circ. Syst. 26, 2 (2007), 240--253. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Peichen Pan, Arvind K. Karandikar, and C. L. Liu. 1998. Optimal clock period clustering for sequential circuits with retiming. IEEE Trans. Comput.-Aid. Des. Integr. Circ. Syst. 17, 6 (1998), 489--498. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Eric Schkufza, Rahul Sharma, and Alex Aiken. 2013. Stochastic superoptimization. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’13). Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Bruno Schmitt, Alan Mishchenko, and Robert Brayton. 2018. SAT-based area recovery in structural technology mapping. In Proceedings of the Asia and South Pacific Design Automation Conference (ASP-DAC’18). Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Carl Sechen. 1988. Chip-planning, placement, and global routing of macro/custom cell integrated circuits using simulated annealing. In Proceedings of the Design Automation Conference (DAC’88). Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Chuyu Shen, Zili Lin, Ping Fan, Xianglong Meng, and Weikang Qian. 2016. Parallelizing FPGA technology mapping through partitioning. In Proceedings of the IEEE Symposium on Field Programmable Custom Computing Machines (FCCM’16).Google ScholarGoogle ScholarCross RefCross Ref
  31. Mathias Soeken, Luca Gaetano Amaru, Pierre-Emmanuel Gaillardon, and Giovanni De Micheli. 2017. Exact synthesis of majority-inverter graphs and its applications. IEEE Trans. Comput.-Aid. Des. Integr. Circ. Syst. 36, 11 (2017), 1842--1855.Google ScholarGoogle ScholarCross RefCross Ref
  32. Mathias Soeken, Giovanni De Micheli, and Alan Mishchenko. 2017. Busy man’s synthesis: Combinational delay optimization with SAT. In Proceedings of the Design, Automation, and Test in Europe Conference (DATE’17). Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Simon Szykman and Jonathan Cagan. 1995. A simulated annealing-based approach to three-dimensional component packing. J. Mech. Des. 117, 2A (1995), 308--314.Google ScholarGoogle ScholarCross RefCross Ref
  34. Zdenek Vasicek and Lukas Sekanina. 2011. A global postsynthesis optimization method for combinational circuits. In Proceedings of the Design, Automation, and Test in Europe Conference (DATE’11).Google ScholarGoogle ScholarCross RefCross Ref
  35. Saeyang Yang. 1991. Logic Synthesis and Optimization Benchmarks. Microelectronics Center of North Carolina (MCNC).Google ScholarGoogle Scholar
  36. Wenlong Yang, Lingli Wang, and Alan Mishchenko. 2012. Lazy man’s logic synthesis. In Proceedings of the International Conference on Computer-Aided Design (ICCAD’13).Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. PIMap: A Flexible Framework for Improving LUT-Based Technology Mapping via Parallelized Iterative Optimization

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Reconfigurable Technology and Systems
        ACM Transactions on Reconfigurable Technology and Systems  Volume 11, Issue 4
        December 2018
        93 pages
        ISSN:1936-7406
        EISSN:1936-7414
        DOI:10.1145/3303942
        • Editor:
        • Steve Wilton
        Issue’s Table of Contents

        Copyright © 2019 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 9 January 2019
        • Accepted: 1 August 2018
        • Revised: 1 July 2018
        • Received: 1 January 2018
        Published in trets Volume 11, Issue 4

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      HTML Format

      View this article in HTML Format .

      View HTML Format
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!