Just-in-Time Compilation for Verilog A New Technique for Improving the FPGA Programming Experience

被引:23
作者
Schkufza, Eric [1 ]
Wei, Michael [1 ]
Rossbach, Christopher J. [2 ,3 ]
机构
[1] VMware Res, Palo Alto, CA 94304 USA
[2] UT Austin, Austin, TX USA
[3] VMware Res, Austin, TX USA
来源
TWENTY-FOURTH INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS (ASPLOS XXIV) | 2019年
关键词
Cascade; Just-in-Time; JIT; Compiler; FPGA; Verilog; SYSTEMS;
D O I
10.1145/3297858.3304010
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
FPGAs offer compelling acceleration opportunities for modern applications. However compilation for FPGAs is painfully slow, potentially requiring hours or longer. We approach this problem with a solution from the software domain: the use of a JIT. Code is executed immediately in a software simulator, and compilation is performed in the background. When finished, the code is moved into hardware, and from the user's perspective it simply gets faster. We have embodied these ideas in Cascade: the first JIT compiler for Verilog. Cascade reduces the time between initiating compilation and running code to less than a second, and enables generic printf debugging from hardware. Cascade preserves program performance to within 3x in a debugging environment, and has minimal effect on a finalized design. Crucially, these properties hold even for programs that perform side effects on connected IO devices. A user study demonstrates the value to experts and non-experts alike: Cascade encourages more frequent compilation, and reduces the time to produce working hardware designs.
引用
收藏
页码:271 / 286
页数:16
相关论文
共 81 条
[71]   OLAF′16: Second International Workshop on Overlay Architectures for FPGAs [J].
So, Hayden Kwok-Hay ;
Wawrzynek, John .
PROCEEDINGS OF THE 2016 ACM/SIGDA INTERNATIONAL SYMPOSIUM ON FIELD-PROGRAMMABLE GATE ARRAYS (FPGA'16), 2016, :1-1
[72]  
So Hayden Kwok-Hay, 2007, THESIS
[73]  
So Hayden Kwok-Hay, 2008, ACM T EMBED COMPUT S, V7
[74]  
SRC Computers Inc, 2006, CART PROGR ENV
[75]   Operating systems for reconfigurable embedded platforms: Online scheduling of real-time tasks [J].
Steiger, C ;
Walder, H ;
Platzner, M .
IEEE TRANSACTIONS ON COMPUTERS, 2004, 53 (11) :1393-1407
[76]   Throughput-Optimized OpenCL-based FPGA Accelerator for Large-Scale Convolutional Neural Networks [J].
Suda, Naveen ;
Chandra, Vikas ;
Dasika, Ganesh ;
Mohanty, Abinash ;
Ma, Yufei ;
Vrudhula, Sarma ;
Seo, Jae-Sun ;
Cao, Yu .
PROCEEDINGS OF THE 2016 ACM/SIGDA INTERNATIONAL SYMPOSIUM ON FIELD-PROGRAMMABLE GATE ARRAYS (FPGA'16), 2016, :16-25
[77]  
Surhone L.M., 2010, Ram Air Turbine
[78]  
Tridgell A, 2016, CCACHE FAST 200 COMP
[79]  
Tsutsui A, 1995, INTERNATIONAL CONFERENCE ON COMPUTER DESIGN: VLSI IN COMPUTERS & PROCESSORS, PROCEEDINGS, P486, DOI 10.1109/ICCD.1995.528912
[80]  
Wiersema Tobias, 2014, 2014 International Conference on Reconfigurable Computing and FPGAs (ReConFig14), P1, DOI 10.1109/ReConFig.2014.7032514