skip to main content
research-article

FPGA technology mapping with encoded libraries and staged priority cuts

Published:28 December 2011Publication History
Skip Abstract Section

Abstract

Technology mapping is an important step in the FPGA CAD flow in which a network of simple gates is converted into a network of logic blocks. This article considers enhancements to a traditional LUT-based mapping algorithm for an FPGA comprised of logic blocks which implement only a subset of functions of up to k variables; specifically, the logic block is a partial LUT, but it possesses more inputs than a typical LUT. An analysis of the logic block is presented, and techniques for postmapping area recovery and timing-driven buffer insertion are also described. Numerical results are put forth which substantiate the efficacy of the proposed methods using real circuits mapped to a commercial FPGA architecture.

References

  1. Abdollanhi, A. and Pedram, M. 2005. A new canonical form for fast Boolean matching in logic synthesis and verification. In Proceedings of the Design Automation Conference (DAC). 379--384. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Actel Corporation. 2005. Axcelerator family FPGAs datasheet v2.6. Actel.Google ScholarGoogle Scholar
  3. Altera Corporation. 2007. Stratix II Device Handbook, Vol. 1. Altera.Google ScholarGoogle Scholar
  4. Chai, D. and Kuelmann, A. 2006. Building a better Boolean matcher and symmetry detector. In Proceedings of the Design, Automation and Test in Europe Conference (DATE). 1079--1084. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Chatterjee, S., Mishchenko, A., and Brayton, R. 2006. Factor cuts. In Proceedings of the International Conference on Computer Aided Design (ICCAD). 143--150. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Chen, D. and Cong, J. 2004. DAOmap: A depth-optimal area optimization mapping algorithm for FPGA designs. In Proceedings of the International Conference on Computer Aided Design (ICCAD). 752--759. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Cho, S., Chatterjee, S., Mishchenko, A., and Brayton, R. 2007. Efficient FPGA mapping using priority cuts. In Proceedings of the International Symposium on Field Programmable Gate Arrays (FPGA).Google ScholarGoogle Scholar
  8. Cong, J. and Ding, Y. 1994. FlowMap: An optimal technology mapping algorithm for delay optimization in lookup-table based fpga designs. Trans. Comput.-Aided Des. 13, 1, 1--12.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Cong, J. and Ding, Y. 1996. Combinational logic synthesis for LUT based field programmable gate arrays. ACM Trans. Des. Autom. Electron. Syst. 1, 2, 145--204. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Cong, J. and Minkovich, K. 2007. Improved SAT-based Boolean matching using implicants for LUT-based FPGAs. In Proceedings of the International Symposium on Field Programmable Gate Arrays (FPGA). 139--147. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Cong, J., Wu, C., and Ding, Y. 1999. Cut ranking and pruning: Enabling a general and efficient FPGA mapping solution. In Proceedings of the International Symposium on Field Programmable Gate Arrays (FPGA). 29--35. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Gunther, W. and Drechsler, R. 2000. ACTion: Combining logic synthesis and technology mapping for mux based FPGAs. In Proceedings of the EUROMICRO Conference. 130--137.Google ScholarGoogle Scholar
  13. Hu, Y., Das, S., Trimberger, S., and He, L. 2007a. Design, synthesis and evaluation of heterogeneous FPGA with mixed LUTs and macro-gates. In Proceedings of the International Conference on Computer Aided Design (ICCAD). 188--193. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Hu, Y., Shih, V., Majumdar, R., and He, L. 2007b. Exploiting symmetry in SAT-based Boolean matching for heterogeneous FPGA technology mapping. In Proceedings of the International Conference on Computer Aided Design (ICCAD). 350--353. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Hu, Y., Shih, V., Majumdar, R., and He, L. 2007c. Exploiting symmetry in SAT-based Boolean matching for heterogeneous FPGA technology mapping. In Proceedings of the International Workshop on Logic and Synthesis (IWLS). Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Hutton, M., Schleicher, J., Lewis, D., Pedersen, B., Yuan, R., et al. 2004. Improving FPGA performance and area using an adaptive logic module. In Proceedings of the International Conference on Field Programmable Logic and Applications (FPL). 135--144.Google ScholarGoogle ScholarCross RefCross Ref
  17. Jang, S., Chan, K., Mishchenko, A., and Brayton, R. K. 2008. WireMap: FPGA technology mapping for improved routability. In Proceedings of the International Symposium on Field Programmable Gate Arrays (FPGA). 47--55. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Kennings, A., Vorwerk, K., Kundu, A., Pevzner, V., and Fox, A. 2009. FPGA technology mapping with encoded libraries and staged priority cuts. In Proceedings of the International Symposium on Field Programmable Gate Arrays (FPGA). 143--150. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Lehman, E., Watanabe, Y., Grodstein, J., and Harkness, H. 1997. Logic decomposition during technology mapping. Trans. Comput.-Aided Des. 16, 8, 2331--2340.Google ScholarGoogle Scholar
  20. Lewis, D., Ahmed, E., Baeckler, G., Betz, V., Bourgeault, M., et al. 2005. The Stratix II logic and routing architecture. In Proceedings of the International Symposium on Field Programmable Gate Arrays (FPGA). 14--20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Ling, A., Singh, D., and Brown, S. 2005. FPGA technology mapping: A study in optimality. In Proceedings of the Design Automation Conference (DAC). 427--432. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Manohararajah, V., Brown, S. D., and Vranesic, Z. G. 2006. Heuristics for area minimization in LUT-based FPGA technology mapping. Trans. Comput.-Aided Des. 25, 11, 2331--2340. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Marik, M. and Pal, A. 2004. Logic synthesis and technology mapping of mux-based FPGAs for high performance and low power. In Proceedings of the TENCON Conference. 419--422. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Mishchenko, A., Chatterjee, S., and Brayton, R. 2007a. Improvements to technology mapping for LUT-based FPGAs. Trans. Comput.-Aided Des. 26, 2, 250--253. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Mishchenko, A., Chatterjee, S., Jiang, R., and Brayton, R. K. 2005. FRAIGs: A unifying representation for logic synthesis and verification. Tech. rep., ERL, University of California, Berkeley.Google ScholarGoogle Scholar
  26. Mishchenko, A., Cho, S., Chatterjee, S., and Brayton, R. 2007b. Combinational and sequential mapping with priority cuts. In Proceedings of the International Conference on Computer Aided Design (ICCAD). 354--361. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Safarpour, S., Veneris, A., Baecklet, G., and Yuan, R. 2006. Efficient SAT-based Boolean matching for FPGA technology mapping. In Proceedings of the Design Automation Conference (DAC). 466--471. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Stankovi C, R. S., Astola, J., and Steinbach, B. 2008. Former and recent work in classification of switching functions. In Proceedings of the Conference on Boolean Problems. 115--126.Google ScholarGoogle Scholar
  29. Yi, K. and Ohm, S. Y. 1999. A fast and exact cell matching method for mux-based FPGA technology mapping. In Proceedings of the International Conference on Computer Design (ICCD). 319--320. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. FPGA technology mapping with encoded libraries and staged priority cuts

      Recommendations

      Reviews

      Paparao S Kavalipati

      Synthesis flow involves translating a given design into an unbound logic network, followed by a technology mapping phase that targets different technologies and implementation styles. In the case of field-programmable gate arrays (FPGAs), this involves grouping various elements of the logic network into look-up tables (LUTs) and other structures like programmable logic blocks (PLBs). There are established algorithms for FPGA technology mapping targeting K -input LUTs that make use of feasible cuts at the nodes of the logic network to heuristically select good candidate cuts. Recent advances have demonstrated the efficiency and effectiveness of maintaining about four to eight priority cuts at the nodes instead of enumerating all the cuts. In an earlier work [1], the same authors showed that the priority cut-based method needed modification when mapping to PLBs, since not all of the enumerated cut functions can be represented. The cutset of the subject graph was divided into subsets, one for cuts with up to four inputs and another for cuts with five to eight inputs. The priority cut ranking was then separately applied to both subsets. The method was referred to as staging the priority cuts. For filtering cuts that are mappable to a PLB, they proposed offline generation of library cells using an encoding to represent equivalent classes of functions. In this work, Kennings et al. have extended their earlier work [1] with a detailed analysis of the logic coverage by Actel AX PLBs. Though some material appears common, the current paper addresses an area recovery strategy and timing-driven buffer insertion. The presentation style is pleasant and provides sufficient background information. Details on the AX cell given in section 3 are very useful and educational. As in [1], sections 4, 5 and 6 describe the staged priority cuts, library generation, and filtering of cuts for the technology mapping targeting PLBs. Section 7 shows that the heuristic area minimization done during technology mapping can be improved further by additional passes. Section 8 offers new contributions to the problem of buffer insertion after technology mapping. Heuristics based on measuring the impact on net delays are used to decide when to insert such buffers. Section 9 presents detailed experimental results. Though the authors are attempting a general technology mapping solution, the AX cell seems to be MUX based; therefore, further experimentation is needed to check if a methodology based on bucket-brigade devices could have given better results for this specific situation. Overall, the paper is very impressive. Combined with [1], the contributions here are significant. Online Computing Reviews Service

      Access critical reviews of Computing literature here

      Become a reviewer for Computing Reviews.

      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 4, Issue 4
        December 2011
        179 pages
        ISSN:1936-7406
        EISSN:1936-7414
        DOI:10.1145/2068716
        Issue’s Table of Contents

        Copyright © 2011 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 28 December 2011
        • Accepted: 1 November 2010
        • Revised: 1 July 2009
        • Received: 1 April 2009
        Published in trets Volume 4, 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
      About Cookies On This Site

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

      Learn more

      Got it!