55
IRUS TotalDownloads
Altmetric
Finding and understanding bugs in FPGA synthesis tools
File | Description | Size | Format | |
---|---|---|---|---|
verismith_fpga20.pdf | Accepted version | 824.53 kB | Adobe PDF | View/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 |