LLHD: A Multi-level Intermediate Representation for Hardware Description Languages

被引:24
|
作者
Schuiki, Fabian [1 ]
Kurth, Andreas [1 ]
Grosser, Tobias [2 ]
Benini, Luca [1 ]
机构
[1] Swiss Fed Inst Technol, Integrated Syst Lab IIS, Zurich, Switzerland
[2] Swiss Fed Inst Technol, Scalable Parallel Comp Lab SPCL, Zurich, Switzerland
来源
PROCEEDINGS OF THE 41ST ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '20) | 2020年
关键词
hardware description languages; intermediate representations; transformation passes;
D O I
10.1145/3385412.3386024
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Modern Hardware Description Languages (HDLs) such as SystemVerilog or VHDL are, due to their sheer complexity, insufficient to transport designs through modern circuit design flows. Instead, each design automation tool lowers HDLs to its own Intermediate Representation (IR). These tools are monolithic and mostly proprietary, disagree in their implementation of HDLs, and while many redundant IRs exists, no IR today can be used through the entire circuit design flow. To solve this problem, we propose the LLHD multi-level IR. LLHD is designed as simple, unambiguous reference description of a digital circuit, yet fully captures existing HDLs. We show this with our reference compiler on designs as complex as full CPU cores. LLHD comes with lowering passes to a hardware-near structural IR, which readily integrates with existing tools. LLHD establishes the basis for innovation in HDLs and tools without redundant compilers or disjoint IRs. For instance, we implement an LLHD simulator that runs up to 2.4x faster than commercial simulators but produces equivalent, cycle-accurate results. An initial vertically-integrated research prototype is capable of representing all levels of the IR, implements lowering from the behavioural to the structural IR, and covers a sufficient subset of SystemVerilog to support a full CPU design.
引用
收藏
页码:258 / 271
页数:14
相关论文
共 50 条
  • [1] HECTOR: A Multi-level Intermediate Representation for Hardware Synthesis Methodologies
    Xu, Ruifan
    Xiao, Youwei
    Luo, Jin
    Liang, Yun
    2022 IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER AIDED DESIGN, ICCAD, 2022,
  • [2] Condensed graphs: A multi-level, parallel, intermediate representation
    Morrison, JP
    Dalton, NJ
    EURO-PAR'99: PARALLEL PROCESSING, 1999, 1685 : 866 - 876
  • [3] Multi-level molecular representation
    Olivier, P
    Nakata, K
    Landon, M
    ARTIFICIAL INTELLIGENCE IN DESIGN '96, 1996, : 3 - 20
  • [4] ScaleHLS: A New Scalable High-Level Synthesis Framework on Multi-Level Intermediate Representation
    Ye, Hanchen
    Hao, Cong
    Cheng, Jianyi
    Jeong, Hyunmin
    Huang, Jack
    Neuendorffer, Stephen
    Chen, Deming
    2022 IEEE INTERNATIONAL SYMPOSIUM ON HIGH-PERFORMANCE COMPUTER ARCHITECTURE (HPCA 2022), 2022, : 741 - 755
  • [5] HARDWARE DESCRIPTION LANGUAGES
    PAWIAK, A
    MICROPROCESSING AND MICROPROGRAMMING, 1991, 32 (1-5): : 515 - 515
  • [6] Hardware description languages
    CAE, Computer-Aided Engineering, 1993, 12 (07): : 26 - 30
  • [7] HARDWARE DESCRIPTION LANGUAGES
    PAWLAK, A
    MICROPROCESSING AND MICROPROGRAMMING, 1986, 18 (1-5): : 547 - 547
  • [8] Modeling multi-level intrusions in Z languages
    Zhuang, CH
    Yang, CH
    Zhou, CL
    PROCEEDINGS OF THE 8TH INTERNATIONAL CONFERENCE ON COMPUTER SUPPORTED COOPERATIVE WORK IN DESIGN, VOL 2, 2004, : A7 - A12
  • [9] Synthesizing Efficient Hardware from High-Level Functional Hardware Description Languages
    Shahmohammadian, Mahshid
    Mainland, Geoffrey
    2019 26TH IEEE INTERNATIONAL CONFERENCE ON ELECTRONICS, CIRCUITS AND SYSTEMS (ICECS), 2019, : 634 - 637
  • [10] HIR: An MLIR-based Intermediate Representation for Hardware Accelerator Description
    Majumder, Kingshuk
    Bondhugula, Uday
    PROCEEDINGS OF THE 28TH ACM INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS, ASPLOS 2023, VOL 4, 2023, : 189 - 201