summaryrefslogtreecommitdiffstats
path: root/main.tex
diff options
context:
space:
mode:
authorJohn Wickerson <j.wickerson@imperial.ac.uk>2020-08-08 08:56:18 +0000
committeroverleaf <overleaf@localhost>2020-08-10 14:27:14 +0000
commitc45bea00f992666b09211acb1fc3f96f70426b8b (patch)
treefa06aed458a1ba3d37acdb354b14197bfda42d99 /main.tex
parentcbe7b05fbbecf8cda01f251d11064caca1f93d4e (diff)
downloadfccm21_esrhls-c45bea00f992666b09211acb1fc3f96f70426b8b.tar.gz
fccm21_esrhls-c45bea00f992666b09211acb1fc3f96f70426b8b.zip
Update on Overleaf.
Diffstat (limited to 'main.tex')
-rw-r--r--main.tex33
1 files changed, 18 insertions, 15 deletions
diff --git a/main.tex b/main.tex
index 02a723a..528c1c7 100644
--- a/main.tex
+++ b/main.tex
@@ -1,9 +1,5 @@
\documentclass[hyphens,prologue,x11names,rgb,sigconf]{acmart}
-\def\ymhgistrue{1}\def\ymhgident%
- {1}
-% ^^^ Set ident to 0 for anonymous, and 1 for personal info
-
\usepackage[english]{babel}
\usepackage{graphicx}
\usepackage{siunitx}
@@ -64,8 +60,8 @@
\postcode{SW7 2AZ}
}
-\author{Nadesh Ramanathan}
-\email{email@imperial.ac.uk}
+\author{Yann Herklotz}
+\email{yann.herklotz15@imperial.ac.uk}
\affiliation{%
\institution{Imperial College London}
\streetaddress{South Kensington Campus}
@@ -74,8 +70,8 @@
\postcode{SW7 2AZ}
}
-\author{Yann Herklotz}
-\email{yann.herklotz15@imperial.ac.uk}
+\author{Nadesh Ramanathan}
+\email{email@imperial.ac.uk}
\affiliation{%
\institution{Imperial College London}
\streetaddress{South Kensington Campus}
@@ -150,19 +146,26 @@ Abstract
\section{Introduction}
+High-level synthesis (HLS) is increasingly important. It is being adopted both by hardware engineers aiming to increase their productivity, and by software engineers aiming to attain the performance and energy-efficiency of custom hardware. It is even being used in safety-critical settings \cite{?}. As such, HLS tools are increasingly trusted. But are they trustworthy? In this paper, we investigate how reliable existing HLS tools are.
+Our method is brought over from the compiler testing literature. We use a tool called Csmith~\cite{?} to generate well-formed C programs from the subset of the C language that is supported by all the HLS tools we test. We synthesise each C program to RTL, and use a Verilog simulator to calculate its return value. If synthesis crashes, or if this return value differs from the return value obtained by executing a binary compiled from the C program by gcc, then we have found a candidate bug. We then use trial-and-error to reduce the C program to a minimal version that still triggers a bug.
-\section{Conclusion and further work}
-
+We have tested three widely used HLS tools: LegUp~\cite{?}, Xilinx Vivado HLS~\cite{?}, and the Intel HLS Compiler~\cite{?}. For all three tools, we were able to find valid C programs that cause crashes while compiling and valid C programs that cause wrong RTL to be generated. We have submitted a total of \ref{?} bug reports to the developers, \ref{?} of which have been confirmed and \ref{?} of which have now been fixed at the time of writing.
+\section{Method}
+\begin{itemize}
+\item How Csmith works.
+\item How we configure Csmith so that it only generates HLS-friendly programs.
+\item How we process the programs generated by Csmith to add in labels on loops etc.
+\item How we generate a TCL script for each program.
+\item How we run each HLS tool, using timeouts as appropriate.
+\end{itemize}
-\begin{acks}
-We acknowledge
-\end{acks}
+%\begin{acks}
+%For final version of paper.
+%\end{acks}
\bibliographystyle{ACM-Reference-Format}
-\addtolength{\textheight}{-310pt}
-% \balance
\bibliography{conference.bib}
\end{document}