55
IRUS Total
Downloads
  Altmetric

Finding and understanding bugs in FPGA synthesis tools

File Description SizeFormat 
verismith_fpga20.pdfAccepted version824.53 kBAdobe PDFView/Open
Title: Finding and understanding bugs in FPGA synthesis tools
Authors: Herklotz Grave, Y
Wickerson, J
Item 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.
Issue Date: 23-Feb-2020
Date of Acceptance: 22-Nov-2019
URI: http://hdl.handle.net/10044/1/75755
DOI: 10.1145/3373087.3375310
Publisher: ACM
Start Page: 277
End Page: 287
Copyright Statement: © 2020 Association for Computing Machinery.
Sponsor/Funder: Engineering & Physical Science Research Council (E
National Cybersecurity Centre
The National Cyber Security Centre (NCSC)
Funder's Grant Number: Ref: 542716
4214174 / RFA 20601
Conference Name: ACM/SIGDA International Symposium on Field-Programmable Gate Arrays
Publication Status: Published
Start Date: 2020-02-23
Finish Date: 2020-02-25
Conference Place: Monterey, California, USA
Online Publication Date: 2020-02
Appears in Collections:Electrical and Electronic Engineering
Faculty of Engineering