ABSTRACT
With the end of Dennard scaling and Moore's Law reaching its limits, domain-specific hardware specialization has become a crucial method for improving compute performance and efficiency for various important applications. Leading companies in competitive fields, such as machine learning and video processing, are building their own in-house technology stacks to better suit their accelerator design needs. However, currently this approach is only a viable option for a few large enterprises that can afford to invest in teams of experts in hardware, systems, and compiler development for high-value applications. In particular, the high license cost of commercial electronic design automation (EDA) tools presents a significant barrier for small and mid-size engineering teams to create new hardware accelerators. These tools are essential for designing, simulating, and testing new hardware, but can be too expensive for smaller teams with limited budgets, reducing their ability to innovate and compete with larger organizations.
More recently, open-source EDA toolflows [1] [12] [11] [5] have emerged which offer a promising alternative to commercial tools, with the potential to provide more cost-effective solutions for hardware development. For example, OpenROAD [1] allows the design of custom ASICs with minimal human intervention and no licensing fees. During initial development, it was also able to take advantage of existing tools such as Yosys [14] and KLayout [6] to reduce the amount of new code required to get a working flow. However, early adoption of open-source alternatives carries risk, as open-source EDA projects often lack important features and are less reliable than commercial options. Additionally, current open-source EDA tools may produce less competitive quality of results (QoR) and may not be able to catch up to commercial solutions anytime soon. Even when EDA tool access is not an issue, designing and implementing special-purpose accelerators using conventional RTL methodology can be unproductive and incurs high non-recurring engineering (NRE) costs. High-level synthesis (HLS) has become increasingly popular in both academia and industry to automatically generate RTL designs from software programs. However, existing HLS tools do not help maintain domain-specific context throughout the design flow (e.g., placement, routing), which makes achieving good QoR difficult without significant manual fine-tuning. This hinders wider adoption of HLS.
We advocate for open EDA verticals as a solution to enabling more widespread use of domain-specific hardware acceleration. The objective is to empower small teams of domain experts to productively develop high-performance accelerators using programming interfaces they are already familiar with. For example, this means supporting domain-specific frameworks like PyTorch or TensorFlow for ML applications. In order for EDA verticals to proliferate, there must first be extensible infrastructure similar to LLVM [8] and MLIR [9] from which to build new tool flows. The proper EDA infrastructure would include novel intermediate representations specifically tailored to the unique challenges in gradually lowering high-level code down to gates.
- T. Ajayi, V. Chhabria, M. Fogaça, S. Hashemi, A. Hosny, A. Kahng, M. Kim, J. Lee, U. Mallappa, M. Neseem, G. Pradipta, S. Reda, M. Saligane, S. Sapatnekar, C. Sechen, M. Shalan, W. Swartz, L. Wang, Z. Wang, M. Woo, and B. Xu. 2019. Toward an Open-Source Digital Flow: First Learnings from the OpenROAD Project. Design Automation Conference (DAC) (2019).Google Scholar
- CIRCT 2020. CIRCT Charter. Retrieved January 28, 2023 from https://circt.llvm. org/docs/Charter/Google Scholar
- L. Guo, Y. Chi, J. Wang, J Lau, W. Qiao, E. Ustun, Z. Zhang, and J. Cong. 2021. "AutoBridge: Coupling Coarse-Grained Floorplanning and Pipelining for High-Frequency HLS Design on Multi-Die FPGAs". Int'l Symp. on Field-Programmable Gate Arrays (FPGA) (2021).Google Scholar
- L. Guo, P. Maidee, Y. Zhou, C. Lavin, J. Wang, Y. Chi, W. Qiao, A. Kaviani, Z. Zhang, and J. Cong. 2022. "RapidStream: Parallel Physical Implementation of FPGA HLS Designs". Int'l Symp. on Field-Programmable Gate Arrays (FPGA) (2022).Google Scholar
- Florent Kermarrec, Sébastien Bourdeauducq, Jean-Christophe Le Lann, and Hannah Badier. 2020. "LiteX: an open-source SoC builder and library based on Migen Python DSL". (2020). https://doi.org/10.48550/ARXIV.2005.02506Google ScholarCross Ref
- KLayout 2006. KLayout. Retrieved January 28, 2023 from https://www.klayout.deGoogle Scholar
- Y. Lai, Y. Chi, Y. Hu, J. Wang, C. Yu, Y. Zhou, J. Cong, and Z. Zhang. 2019. "HeteroCL: A Multi-Paradigm Programming Infrastructure for Software-Defined Reconfigurable Computing". Int'l Symp. on Field-Programmable Gate Arrays (FPGA) (2019).Google Scholar
- C. Lattner and V. Adve. 2004. LLVM: A compilation framework for lifelong program analysis and transformation. Int'l Symp. on Code Generation and Optimization (2004).Google Scholar
- C. Lattner, J. A. Pienaar, M. Amini, U. Bondhugula, R. Riddle, A. Cohen, T. Shpeisman, A. Davis, N. Vasilache, and O. Zinenko. 2020. "MLIR: A Compiler Infrastructure for the End of Moore's Law". CoRR (2020). [arXiv]2002.11054Google Scholar
- C. Lavin and A. Kaviani. 2018. "RapidWright: Enabling Custom Crafted Implementations for FPGAs". Int'l Symp. on Field-Programmable Custom Computing Machines (FCCM) (2018).Google Scholar
- K. Murray, M. Elgammal, V. Betz, T. Ansell, K. Rothman, and A. Comodi. 2020a. "SymbiFlow and VPR: An Open-Source Design Flow for Commercial and Novel FPGAs". IEEE Micro (2020).Google Scholar
- K. E. Murray, O. Petelin, S. Zhong, J. M. Wang, M. ElDafrawy, J.-P. Legault, E. Sha, A. G. Graham, J. Wu, M. J. P. Walker, H. Zeng, P. Patros, J. Luu, K. B. Kent, and V. Betz. 2020b. "VTR 8: High Performance CAD and Customizable FPGA Architecture Modelling". ACM Transactions on Reconfigurable Technology and Systems (TRETS) (2020).Google Scholar
- R. Nigam, S. Thomas, Z. Li, and A. Sampson. 2021. "A Compiler Infrastructure for Accelerator Generators". Int'l Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) (2021).Google Scholar
- D. Shah, E. Hung, C. Wolf, S. Bazanski, D. Gisselquist, and M. Milanovic. 2019. "Yosysnextpnr: An Open Source Framework from Verilog to Bitstream for Commercial FPGAs". Int'l Symp. on Field-Programmable Custom Computing Machines (FCCM) (2019).Google Scholar
Index Terms
- A Case for Open EDA Verticals
Recommendations
FPGA Implementation of F2-Linear Pseudorandom Number Generators based on Zynq MPSoC: A Chaotic Iterations Post Processing Case Study
ICETE 2016: Proceedings of the 13th International Joint Conference on e-Business and TelecommunicationsPseudorandom number generation (PRNG) is a key element in hardware security platforms like fieldprogrammable
gate array FPGA circuits. In this article, 18 PRNGs belonging in 4 families (xorshift, LFSR,
TGFSR, and LCG) are physically implemented in a ...
Open-source and FPGAs: Hardware, Software, Both or None?
FPGA '23: Proceedings of the 2023 ACM/SIGDA International Symposium on Field Programmable Gate ArraysFollowing the footsteps of the open-source software movement that is at the foundation of many fundamental infrastructures today, e.g., Linux, the internet, etc., a growing amount of open-source hardware initiatives have been impacting our field, e.g., ...
The missing pieces of open design enablement: a recent history of google efforts
ICCAD '20: Proceedings of the 39th International Conference on Computer-Aided DesignIn an initiative to advance the open-source electronic design automation (EDA) and hardware design community, Google has been spearheading a global collaborative effort involving investigators from academia, start-ups as well as foundries. Open-source ...
Comments