Abstract
The FPGA community is at an exciting juncture in the development of 3rd party CAD tools for FPGA design. Much has been learned in the past decade in the development and use of 3rd party tools such RapidSmith, Torc, and IceStorm. New independent open-source CAD tool projects are emerging which promise to provide alternatives to existing vendor tools. The recent release of the RapidWright tool suggests that Xilinx itself is interested in enabling the user community to develop new use cases and specialized tools for FPGA design. This paper provides a survey of the current landscape, discusses parts of what has been learned over the past decade in the author’s work with 3rd party CAD tool development, and provides some thoughts on the future.
This work was supported in part by the I/UCRC Program of the National Science Foundation within the NSF center for Space, High-performance, and Resilient Computing (SHREC) under Grant No. 1738550.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Missing from the discussion in this paper are the myriad tools which provide high-level design paradigms and functionality such as domain specific languages or HLS tools. Also missing are tools such as floorplanning tools and PR management tools. Rather, the focus here is on physical design tools, specifically the steps of synthesis through bitstream generation.
- 2.
The Torc tool [19] was developed at approximately the same time as RapidSmith and the two tools are similar in many ways. Interestingly, both tool suites have their roots in a common joint research project between their respective development teams.
- 3.
RapidSmith2, Tincr, and VDI are all available open-source at GitHub.
References
Abdelfattah, M., et al.: Transparent structural online test for reconfigurable systems. In: 2012 IEEE 18th International On-Line Testing Symposium (IOLTS), pp. 37–42, June 2012. https://doi.org/10.1109/IOLTS.2012.6313838
Cannon, M., Keller, A., Wirthlin, M.: Improving the effectiveness of TMR designs on FPGAs with SEU-aware incremental placement. In: 2018 IEEE 26th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM), pp. 141–148, April 2018. https://doi.org/10.1109/FCCM.2018.00031
Cannon, M.J., Keller, A.M., Rowberry, H.C., Thurlow, C.A., Pérez-Celis, A., Wirthlin, M.J.: Strategies for removing common mode failures from TMR designs deployed on SRAM FPGAs. IEEE Trans. Nuclear Sci. 1 (2018). https://doi.org/10.1109/TNS.2018.2877579
Das, A., Venkataraman, S., Kumar, A.: Improving autonomous soft-error tolerance of FPGA through LUT configuration bit manipulation. In: 2013 23rd International Conference on Field Programmable Logic and Applications (FPL), pp. 1–8, September 2013. https://doi.org/10.1109/FPL.2013.6645498
Gantel, L., Benkhelifa, M., Lemonnier, F., Verdier, F.: Module Relocation in heterogeneous reconfigurable systems-on-chip using the Xilinx isolation design flow. In: 2012 International Conference on Reconfigurable Computing and FPGAs (ReConFig), pp. 1–6, December 2012. https://doi.org/10.1109/ReConFig.2012.6416763
Haroldsen, T., Nelson, B., Hutchings, B.: Packing a modern Xilinx FPGA using RapidSmith. In: 2016 International Conference on ReConFigurable Computing and FPGAs (ReConFig), pp. 1–6, November 2016. https://doi.org/10.1109/ReConFig.2016.7857180
Haroldsen, T., Nelson, B., Hutchings, B.: RapidSmith 2: a framework for BEL-level CAD exploration on Xilinx FPGAs. In: Proceedings of the 2015 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, FPGA 2015, pp. 66–69. ACM, New York (2015). https://doi.org/10.1145/2684746.2689085
Haroldsen, T.D.: Academic packing for commercial FPGA architectures. Ph.D. thesis, Brigham Young University (BYU), Provo, Utah (2017). https://scholarsarchive.byu.edu/etd/6526
Hung, E., Eslami, F., Wilton, S.: Escaping the academic sandbox: realizing VPR circuits on Xilinx devices. In: 2013 IEEE 21st Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM), pp. 45–52, April 2013. https://doi.org/10.1109/FCCM.2013.40
Hutchings, B.L., Keeley, J.: Rapid post-map insertion of embedded logic analyzers for Xilinx FPGAs. In: 2014 IEEE 22nd Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM), pp. 72–79, May 2014. https://doi.org/10.1109/FCCM.2014.29
Hutchings, B.L., Monson, J., Savory, D., Keeley, J.: A power side-channel-based digital to analog converterfor Xilinx FPGAs. In: Proceedings of the 2014 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, FPGA 2014, pp. 113–116. ACM, New York (2014). https://doi.org/10.1145/2554688.2554770
Lavin, C., Padilla, M., Lamprecht, J., Lundrigan, P., Nelson, B., Hutchings, B.: HMFlow: accelerating FPGA compilation with hard macros for rapid prototyping. In: 2011 IEEE 19th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM), pp. 117–124, May 2011. https://doi.org/10.1109/FCCM.2011.17
Lavin, C., Kaviani, A.: RapidWright: enabling custom crafted implementations for FPGAs. In: 2018 IEEE 26th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM), May 2018
Otero, A., de la Torre, E., Riesgo, T.: Dreams: a tool for the design of dynamically reconfigurable embedded and modular systems. In: 2012 International Conference on Reconfigurable Computing and FPGAs (ReConFig), pp. 1–8, December 2012. https://doi.org/10.1109/ReConFig.2012.6416740
Peterson, D., Bringmann, O., Schweizer, T., Rosenstiel, W.: StML: bridging the gap between FPGA design and HDL circuit description. In: 2013 International Conference on Field-Programmable Technology (FPT), pp. 278–285, December 2013. https://doi.org/10.1109/FPT.2013.6718366
Pham, H., Pillement, S., Piestrak, S.J.: Low-overhead fault-tolerance technique for a dynamically reconfigurable softcore processor. IEEE Trans. Comput. 62(6), 1179–1192 (2013). https://doi.org/10.1109/TC.2012.55
Sari, A., Agiakatsikas, D., Psarakis, M.: A soft error vulnerability analysis framework for Xilinx FPGAs. In: Proceedings of the 2014 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, FPGA 2014, pp. 237–240. ACM, New York (2014). https://doi.org/10.1145/2554688.2554767
Soll, O., Korak, T., Muehlberghuber, M., Hutter, M.: EM-based detection of hardware trojans on FPGAs. In: 2014 IEEE International Symposium on Hardware-Oriented Security and Trust (HOST), pp. 84–87, May 2014. https://doi.org/10.1109/HST.2014.6855574
Steiner, N., Wood, A., Shojaei, H., Couch, J., Athanas, P., French, M.: Torc: towards an open-source tool flow. In: Proceedings of the 19th ACM/SIGDA International Symposium on Field Programmable Gate Arrays, FPGA 2011, pp. 41–44. ACM, New York (2011). https://doi.org/10.1145/1950413.1950425
Townsend, T.J.: Vivado design interface: enabling CAD-tool design for next generation Xilinx FPGA devices. Master’s thesis, Brigham Young University (BYU), Provo, Utah, July 2017. https://scholarsarchive.byu.edu/etd/6492
Wenzel, J., Hochberger, C.: RapidSoC: short turnaround creation of FPGA based SoCs. In: 2016 International Symposium on Rapid System Prototyping, RSP 2016, Pittsburg, PA, USA, 6–7 October 2016, pp. 86–92 (2016). https://doi.org/10.1145/2990299.2990314
White, B., Nelson, B.: Tincr—a custom CAD tool framework for Vivado. In: 2014 International Conference on ReConFigurable Computing and FPGAs (ReConFig14), pp. 1–6, December 2014. https://doi.org/10.1109/ReConFig.2014.7032560
White, B.S.: Tincr: integrating custom CAD tool frameworks with the Xilinx Vivado design suite. Master’s thesis, Brigham Young University (BYU), Provo, Utah, December 2014. https://scholarsarchive.byu.edu/etd/4338
Wirthlin, M., Jensen, J., Wilson, A., Howes, W., Wen, S.J., Wong, R.: Placement of repair circuits for in-field FPGA repair. In: Proceedings of the ACM/SIGDA International Symposium on Field Programmable Gate Arrays, FPGA 2013, pp. 115–124. ACM, New York (2013). https://doi.org/10.1145/2435264.2435286
Wolf, C., Amesberger, D., Humenberger, E.: icoBoard (2016). http://icoboard.org/
Wolf, C., Glaser, J.: Yosys - a free Verilog synthesis suite. In: Proceedings of Austrochip, October 2013
Wolf, C., McMaster, J., Altherr, R., Ansell, T., et al.: Project X-ray (2018). https://github.com/SymbiFlow/prjxray/
Wolf, C., Milanović, M., Shah, D., Bazanski, S., Gisselquist, D., Hung, E., et al.: nextpnr (2018). https://github.com/YosysHQ/nextpnr
Xilinx: Conversation with Xilinx Research Labs, pp. 76–80 (2018). https://www.xilinx.com/content/dam/xilinx/imgs/developer-forum/2018-silicon-valley/XUP-Conversations-with-Xilinx-Research-Labs.pdf
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Nelson, B.E. (2019). Third Party CAD Tools for FPGA Design—A Survey of the Current Landscape. In: Hochberger, C., Nelson, B., Koch, A., Woods, R., Diniz, P. (eds) Applied Reconfigurable Computing. ARC 2019. Lecture Notes in Computer Science(), vol 11444. Springer, Cham. https://doi.org/10.1007/978-3-030-17227-5_25
Download citation
DOI: https://doi.org/10.1007/978-3-030-17227-5_25
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-17226-8
Online ISBN: 978-3-030-17227-5
eBook Packages: Computer ScienceComputer Science (R0)