A Multi-threaded Fast Hardware Compiler for HDLs

被引:0
|
作者
Wang, Sheng-Hong [1 ]
Coffman, Hunter James [1 ]
Mayer, Kenneth [1 ]
Garg, Sakshi [1 ]
Renau, Jose [1 ]
机构
[1] UC Santa Cruz, Santa Cruz, CA 95064 USA
关键词
HDL; Compiler Design; Parallel Compilation; LANGUAGE;
D O I
10.1145/3578360.3580254
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A set of new Hardware Description Languages (HDLs) are emerging to ease hardware design. HDL compilation time is a major bottleneck in the designer's productivity. Moreover, as the HDLs are developed independently, the possibility to share innovations in compilation technology is limited. We design and implement LiveHD, a new multi-threaded, fast, and generic compilation framework across many HDLs (FIRRTL, Verilog, and Pyrope). We propose new parallel full and bottom-up passes to handle HDLs. The resulting compiler can parallelize all the compiler steps. LiveHD can achieve 5.5x scalability speedup when elaborating a CHISEL RISC-V Manycore. It also gets from 7.7x to 8.4x scalability speedup for a benchmark designed in all three HDLs. This is achieved with a fast single-threaded LiveHD baseline with 6x speedup compared to compilers such as Scala-FIRRTL and 8.6x against Yosys on Verilog.
引用
收藏
页码:25 / 36
页数:12
相关论文
共 50 条
  • [21] Security Check for Multi-threaded Programs
    Tri Minh Ngo
    Tuan Van Nguyen
    2016 IEEE SIXTH INTERNATIONAL CONFERENCE ON COMMUNICATIONS AND ELECTRONICS (ICCE), 2016, : 465 - 470
  • [22] Extending Security for Multi-Threaded Servers
    Simmons, Sharon
    Edwards, Dennis
    WMSCI 2008: 12TH WORLD MULTI-CONFERENCE ON SYSTEMICS, CYBERNETICS AND INFORMATICS, VOL I, PROCEEDINGS, 2008, : 140 - 144
  • [23] A Multi-threaded Version of Field II
    Jensen, Jorgen Arendt
    2014 IEEE INTERNATIONAL ULTRASONICS SYMPOSIUM (IUS), 2014, : 2229 - 2232
  • [24] A Multi-Threaded Semantic Focused Crawler
    Punam Bedi
    Anjali Thukral
    Hema Banati
    Abhishek Behl
    Varun Mendiratta
    Journal of Computer Science and Technology, 2012, 27 : 1233 - 1242
  • [25] On-Line Multi-Threaded Paging
    Algorithmica, 2002, 32 : 36 - 60
  • [26] On-line multi-threaded scheduling
    Feuerstein, E
    Mydlarz, M
    Stougie, L
    JOURNAL OF SCHEDULING, 2003, 6 (02) : 167 - 181
  • [27] Information Declassification for Multi-Threaded Programs
    Zhu, Hao
    Zhuang, Yi
    Chen, Xiang
    APPLIED MATHEMATICS & INFORMATION SCIENCES, 2014, 8 (04): : 1911 - 1916
  • [28] On-line multi-threaded paging
    Feuerstein, E
    de Loma, AS
    ALGORITHMICA, 2002, 32 (01) : 36 - 60
  • [29] A Basis for Verifying Multi-threaded Programs
    Rustan, K.
    Leino, M.
    Mueller, Peter
    PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2009, 5502 : 378 - 393
  • [30] Verifying Multi-threaded Software with Impact
    Wachter, Bjoern
    Kroening, Daniel
    Ouaknine, Joel
    2013 FORMAL METHODS IN COMPUTER-AIDED DESIGN (FMCAD), 2013, : 210 - 217