Formal Verification of High-Level Synthesis

被引:9
|
作者
Herklotz, Yann [1 ]
Pollard, James D. [1 ]
Ramanathan, Nadesh [1 ]
Wickerson, John [1 ]
机构
[1] Imperial Coll London, London, England
来源
基金
英国工程与自然科学研究理事会;
关键词
CompCert; Coq; high-level synthesis; C; Verilog; COMPILER;
D O I
10.1145/3485494
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
High-level synthesis (HLS), which refers to the automatic compilation of software into hardware, is rapidly gaining popularity. In a world increasingly reliant on application-specific hardware accelerators, HLS promises hardware designs of comparable performance and energy efficiency to those coded by hand in a hardware description language such as Verilog, while maintaining the convenience and the rich ecosystem of software development. However, current HLS tools cannot always guarantee that the hardware designs they produce are equivalent to the software they were given, thus undermining any reasoning conducted at the software level. Furthermore, there is mounting evidence that existing HLS tools are quite unreliable, sometimes generating wrong hardware or crashing when given valid inputs. To address this problem, we present the first HLS tool that is mechanically verified to preserve the behaviour of its input software. Our tool, called Vericert, extends the CompCert verified C compiler with a new hardware-oriented intermediate language and a Verilog back end, and has been proven correct in Coq. Vericert supports most C constructs, including all integer operations, function calls, local arrays, structs, unions, and general control-flow statements. An evaluation on the PolyBench/C benchmark suite indicates that Vericert generates hardware that is around an order of magnitude slower (only around 2x slower in the absence of division) and about the same size as hardware generated by an existing, optimising (but unverified) HLS tool.
引用
收藏
页数:30
相关论文
共 50 条
  • [1] A formal verification method of scheduling in high-level synthesis
    Karfa, C.
    Mandal, C.
    Sarkar, D.
    Pentakota, S. R.
    Reade, Chris
    [J]. ISQED 2006: PROCEEDINGS OF THE 7TH INTERNATIONAL SYMPOSIUM ON QUALITY ELECTRONIC DESIGN, 2006, : 71 - +
  • [2] Integration of high-level modeling, formal verification, and high-level synthesis in ATM switch design
    Rajan, SP
    Fujita, M
    [J]. ELEVENTH INTERNATIONAL CONFERENCE ON VLSI DESIGN, PROCEEDINGS, 1997, : 552 - 557
  • [3] Formal Verification of Optimizing Transformations during High-level Synthesis
    Chouksey, Ramanuj
    Karfa, Chandan
    Bhaduri, Purandar
    [J]. PROCEEDINGS OF THE 12TH INNOVATIONS ON SOFTWARE ENGINEERING CONFERENCE (ISEC), 2019,
  • [4] A study about the efficiency of formal high-level synthesis applied to verification
    Mendías, JM
    Hermida, R
    Peñalba, O
    [J]. INTEGRATION-THE VLSI JOURNAL, 2002, 31 (02) : 101 - 131
  • [5] A Symbolic Methodology for Formal Verification of High-level Data-Flow Synthesis
    Yang, Zhi
    Lv, Chao
    Ma, Guangsheng
    Shao, Jingbo
    [J]. 2008 9TH INTERNATIONAL CONFERENCE ON SOLID-STATE AND INTEGRATED-CIRCUIT TECHNOLOGY, VOLS 1-4, 2008, : 2345 - +
  • [6] Formal Verification of GCSE in the Scheduling of High-level Synthesis: Work-in-Progress
    Hu, Jian
    Hu, Yongyang
    Yu, Long
    Wang, Wentao
    Yang, Haitao
    Kang, Yun
    Cheng, Jie
    [J]. PROCEEDINGS OF THE 2020 INTERNATIONAL CONFERENCE ON HARDWARE/SOFTWARE CODESIGN AND SYSTEM SYNTHESIS (CODES+ISSS), 2019, : 1 - 2
  • [7] Formal verification of high-level conformance with symbolic simulation
    Kaivola, R
    Naik, A
    [J]. HLDVT'05: TENTH ANNUAL IEEE INTERNATIONAL HIGH-LEVEL DESIGN VALIDATION AND TEST WORKSHOP, PROCEEDINGS, 2005, : 153 - 159
  • [8] Utilizing high-level information for formal hardware verification
    Johannsen, P
    Drechsler, R
    [J]. ADVANCED COMPUTER SYSTEMS, PROCEEDINGS, 2002, 664 : 419 - 431
  • [9] Verification of scheduling in high-level synthesis
    Karfa, C.
    Mandal, C.
    Sarkar, D.
    Pentakota, S. R.
    Reade, Chris
    [J]. IEEE COMPUTER SOCIETY ANNUAL SYMPOSIUM ON VLSI, PROCEEDINGS: EMERGING VLSI TECHNOLOGIES AND ARCHITECTURES, 2006, : 141 - +
  • [10] A Survey of Verification for High-level Synthesis
    Hu, Jian
    Hu, Yongyang
    Wang, Guanwu
    Chen, Guilin
    Yang, Haitao
    Kang, Yun
    Wang, Kang
    Li, Sikun
    [J]. Jisuanji Fuzhu Sheji Yu Tuxingxue Xuebao/Journal of Computer-Aided Design and Computer Graphics, 2021, 33 (02): : 287 - 297