skip to main content

RWRoute: An Open-source Timing-driven Router for Commercial FPGAs

Published:29 November 2021Publication History
Skip Abstract Section

Abstract

One of the key obstacles to pervasive deployment of FPGA accelerators in data centers is their cumbersome programming model. Open source tooling is suggested as a way to develop alternative EDA tools to remedy this issue. Open source FPGA CAD tools have traditionally targeted academic hypothetical architectures, making them impractical for commercial devices. Recently, there have been efforts to develop open source back-end tools targeting commercial devices. These tools claim to follow an alternate data-driven approach that allows them to be more adaptable to the domain requirements such as faster compile time. In this paper, we present RWRoute, the first open source timing-driven router for UltraScale+ devices. RWRoute is built on the RapidWright framework and includes the essential and pragmatic features found in commercial FPGA routers that are often missing from open source tools. Another valuable contribution of this work is an open-source lightweight timing model with high fidelity timing approximations. By leveraging a combination of architectural knowledge, repeating patterns, and extensive analysis of Vivado timing reports, we obtain a slightly pessimistic, lumped delay model within 2% average accuracy of Vivado for UltraScale+ devices. Compared to Vivado, RWRoute results in a 4.9× compile time improvement at the expense of 10% Quality of Results (QoR) loss for 665 synthetic and six real designs. A main benefit of our router is enabling fast partial routing at the back-end of a domain-specific flow. Our initial results indicate that more than 9× compile time improvement is achievable for partial routing. The results of this paper show how such a router can be beneficial for a low touch flow to reduce dependency on commercial tools.

REFERENCES

  1. [1] Betz Vaughn and Rose Jonathan. 1997. VPR: A new packing, placement and routing tool for FPGA research. In Proceedings of the 7th International Workshop on Field-Programmable Logic and Applications (FPL’97). 213222. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. [2] Glick D., Grigg J., Nelson B., and Wirthlin M.. 2019. Maverick: A stand-alone CAD flow for partially reconfigurable FPGA modules. In 2019 IEEE 27th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM). 916. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. [3] Gojman Benjamin and DeHon André. 2014. GROK-INT: Generating real on-chip knowledge for interconnect delays using timing extraction. In 2014 IEEE 22nd Annual International Symposium on Field-Programmable Custom Computing Machines. 8895. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. [4] Gojman B., Nalmela S., Mehta N., Howarth N., and DeHon A.. 2014. GORK-LAB: Generating real on-chip knowledge for intra-cluster delays using timing extraction. ACM Transactions on Reconfigurable Technology and Systems 7, 4 (2014). Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. [5] Haroldsen Travis, Nelson Brent, and Hutchings Brad. 2015. RapidSmith 2: A framework for BEL-Level CAD exploration on Xilinx FPGAs. Association for Computing Machinery, New York, NY, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. [6] Hung E., Eslami F., and Wilton S. J. E.. 2013. Escaping the academic sandbox: Realizing VPR circuits on Xilinx devices. In 2013 IEEE 21st Annual International Symposium on Field-Programmable Custom Computing Machines. 4552. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. [7] Inc. Xilinx2019. UltraScale Architecture and Product Data Sheet: Overview (DS890).Google ScholarGoogle Scholar
  8. [8] Inc. Xilinx2020. UltraScale Architecture Clocking Resources User Guide (UG572).Google ScholarGoogle Scholar
  9. [9] Javaid H., Ignjatovic A., and Parameswaran S.. 2010. Fidelity metrics for estimation models. In 2010 IEEE/ACM International Conference on Computer-Aided Design (ICCAD). 1–8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. [10] Lavin Chris and Kaviani Alireza. 2018. RapidWright: Enabling custom crafted implementations for FPGAs. In 2018 IEEE 26th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM). 133140.Google ScholarGoogle ScholarCross RefCross Ref
  11. [11] Lavin Chris and Kaviani Alireza. 2019. Build your own domain-specific solutions with RapidWright: Invited tutorial. Association for Computing Machinery, New York, NY, USA, 14–22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. [12] Lavin C., Padilla M., Lamprecht J., Lundrigan P., Nelson B., and Hutchings B.. 2011. RapidSmith: Do-it-yourself CAD tools for xilinx FPGAs. In 2011 21st International Conference on Field Programmable Logic and Applications. 349355. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. [13] Liu Leo and Kapre Nachiket. 2019. Timing-aware routing in the RapidWright framework. In 2019 29th International Conference on Field Programmable Logic and Applications (FPL). 2430.Google ScholarGoogle ScholarCross RefCross Ref
  14. [14] Liu Leo, Weng Jay, and Kapre Nachiket. 2019. RapidRoute: Fast assembly of communication structures for FPGA overlays. In 2019 27th International Symposium on Field-Programmable Custom Computing Machines (FCCM). 6164.Google ScholarGoogle Scholar
  15. [15] Maidee P., Neely C., Kaviani A., and Lavin C.. 2019. An open-source lightweight timing model for RapidWright. In 2019 International Conference on Field-Programmable Technology (ICFPT). 171178.Google ScholarGoogle ScholarCross RefCross Ref
  16. [16] McMurchie L. and Ebeling C.. 1995. PathFinder: A negotiation-based performance-driven router for FPGAs. In Third International ACM Symposium on Field-Programmable Gate Arrays. 111117. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. [17] Murray K. E., Elgammal M. A., Betz V., Ansell T., Rothman K., and Comodi A.. 2020. SymbiFlow and VPR: An open-source design flow for commercial and novel FPGAs. IEEE Micro 40, 4 (2020), 4957.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. [18] RapidWright. 2021. https://github.com/Xilinx/RapidWright.Google ScholarGoogle Scholar
  19. [19] Russell J. T. and Jacome M. F.. 2003. Architecture-level performance evaluation of component-based embedded systems. In 2003 40th ACM/EDAC/IEEE Design Automation Conference (DAC). Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. [20] Shah D., Hung E., Wolf C., Bazanski S., Gisselquist D., and Milanovic M.. 2019. Yosys+nextpnr: An open source framework from Verilog to bitstream for commercial FPGAs. In 2019 IEEE 27th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM). 14.Google ScholarGoogle Scholar
  21. [21] Steiner Neil, Wood Aaron, Shojaei Hamid, Couch Jacob, Athanas Peter, and French Matthew. 2011. Torc: Towards an open-source tool flow. Association for Computing Machinery, New York, NY, USA, 41–44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. [22] SymbiFlow. 2021. FPGA interchange schema definitions. https://github.com/SymbiFlow/fpga-interchange-schema.Google ScholarGoogle Scholar
  23. [23] Thomas James, Lavin Chris, and Kaviani Alireza. 2021. Software-like compilation for data center FPGA accelerators. Association for Computing Machinery, New York, NY, USA, Article 3, 6 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. [24] Vansteenkiste E., Bruneel K., and Stroobandt D.. 2013. A connection-based router for FPGAs. In 2013 International Conference on Field-Programmable Technology (FPT). 326329.Google ScholarGoogle ScholarCross RefCross Ref
  25. [25] Vercruyce D., Vansteenkiste E., and Stroobandt D.. 2019. CRoute: A fast high-quality timing-driven connection-based FPGA router. In 2019 IEEE 27th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM). 5360.Google ScholarGoogle ScholarCross RefCross Ref
  26. [26] Xiao Yuanlong, Ahmed Syed Tousif, and DeHon André. 2020. Fast linking of separately-compiled FPGA blocks without a NoC. In 2020 International Conference on Field-Programmable Technology (ICFPT). 196205.Google ScholarGoogle ScholarCross RefCross Ref
  27. [27] YosysHQ. 2021. nextpnr – a portable FPGA place and route tool. https://github.com/YosysHQ/nextpnr.Google ScholarGoogle Scholar
  28. [28] Zhou Yuan, Gupta Udit, Dai Steve, Zhao Ritchie, Srivastava Nitish, Jin Hanchen, Featherston Joseph, Lai Yi-Hsiang, Liu Gai, Velasquez Gustavo Angarita, Wang Wenping, and Zhang Zhiru. 2018. Rosetta: A realistic high-level synthesis benchmark suite for software programmable FPGAs. Association for Computing Machinery, New York, NY, USA, 269–278. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. [29] Zhou Yun, Vercruyce Dries, and Stroobandt Dirk. 2020. Accelerating FPGA routing through algorithmic enhancements and connection-aware parallelization. ACM Transactions on Reconfigurable Technology and Systems 13, 4 (2020), 26 pages.Google ScholarGoogle Scholar

Index Terms

  1. RWRoute: An Open-source Timing-driven Router for Commercial FPGAs

      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 15, Issue 1
        March 2022
        262 pages
        ISSN:1936-7406
        EISSN:1936-7414
        DOI:10.1145/3494949
        • Editor:
        • Deming Chen
        Issue’s Table of Contents

        Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s).

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 29 November 2021
        • Accepted: 1 October 2021
        • Revised: 1 August 2021
        • Received: 1 June 2021
        Published in trets Volume 15, Issue 1

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Full Text

      View this article in Full Text.

      View Full Text

      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!