Finding and understanding bugs in FPGA synthesis tools
File(s)verismith_fpga20.pdf (824.53 KB)
Accepted version
Author(s)
Herklotz Grave, Yann
Wickerson, John
Type
Conference Paper
Abstract
All software ultimately relies on hardware functioning correctly.Hardware correctness is becoming increasingly important due tothe growing use of custom accelerators using FPGAs to speed upapplications on servers. Furthermore, the increasing complexity ofhardware also leads to ever more reliance on automation, meaningthat the correctness of synthesis tools is vital for the reliability ofthe hardware.This paper aims to improve the quality of FPGA synthesis toolsby introducing a method to test them automatically using randomlygenerated, correct Verilog, and checking that the synthesised netlistis always equivalent to the original design. The main contributionsof this work are twofold: firstly a method for generating randombehavioural Verilog free of undefined values, and secondly a Verilogtest case reducer used to locate the cause of the bug that was found.These are implemented in a tool called Verismith. This paper alsoprovides a qualitative and quantitative analysis of the bugs found inYosys, Vivado, XST and Quartus Prime. Every synthesis tool exceptQuartus Prime was found to introduce discrepancies between thenetlist and the design. In addition to that, Vivado and a developmentversion of Yosys were found to crash when given valid input. UsingVerismith, eleven bugs were reported to tool vendors, of which sixhave already been fixed.
Date Issued
2020-02-23
Date Acceptance
2019-11-22
Citation
2020, pp.277-287
Publisher
ACM
Start Page
277
End Page
287
Copyright Statement
© 2020 Association for Computing Machinery.
Sponsor
Engineering & Physical Science Research Council (E
National Cybersecurity Centre
The National Cyber Security Centre (NCSC)
Identifier
https://dl.acm.org/doi/abs/10.1145/3373087.3375310
Grant Number
Ref: 542716
4214174 / RFA 20601
Source
ACM/SIGDA International Symposium on Field-Programmable Gate Arrays
Publication Status
Published
Start Date
2020-02-23
Finish Date
2020-02-25
Coverage Spatial
Monterey, California, USA
Date Publish Online
2020-02