summaryrefslogtreecommitdiffstats
path: root/related.tex
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2020-06-26 14:48:56 +0100
committerYann Herklotz <git@yannherklotz.com>2020-06-26 14:48:56 +0100
commitc1a09b2c1bbd5bc614c1c175aff35f638f09953d (patch)
treec7952893f771d5f5fd101be8ef7c1a9c7c773eb7 /related.tex
parent991391632395aa74f4a2513bab281d62e9caff32 (diff)
downloadoopsla21_fvhls-c1a09b2c1bbd5bc614c1c175aff35f638f09953d.tar.gz
oopsla21_fvhls-c1a09b2c1bbd5bc614c1c175aff35f638f09953d.zip
Work more on the introduction
Diffstat (limited to 'related.tex')
-rw-r--r--related.tex2
1 files changed, 2 insertions, 0 deletions
diff --git a/related.tex b/related.tex
index 9deb788..f38a7c9 100644
--- a/related.tex
+++ b/related.tex
@@ -1,5 +1,7 @@
\section{Related Work}
+Work is being done to prove the equivalence between the generated hardware and the original behavioural description in C. An example of a tool that implements this is Mentor's Catapult~\cite{mentor20_catap_high_level_synth}, which tries to match the states in the register transfer level (RTL) description to states in the original C code after an unverified translation. This technique is called translation validation~\cite{pnueli98_trans}, whereby the translation that the HLS tool performed is proven to have been correct for that input, by showing that they behave in the same way for all possible inputs. Using translation validation is quite effective for proving complex optimisations such as scheduling~\cite{kim04_autom_fsmd,karfa06_formal_verif_method_sched_high_synth,chouksey20_verif_sched_condit_behav_high_level_synth} or code motion~\cite{banerjee14_verif_code_motion_techn_using_value_propag,chouksey19_trans_valid_code_motion_trans_invol_loops}, however, the validation has to be run every time the high-level synthesis is performed. In addition to that, the proofs are often not mechanised or directly related to the actual implementation, meaning the verifying algorithm might be wrong and could give false positives or false negatives.
+
\JW{Some papers to cite somewhere:
\begin{itemize}
\item \citet{kundu08_valid_high_level_synth} have done translation validation on an HLS tool called SPARK. They don't have \emph{very} strong evidence that HLS tools are buggy; they just say ``HLS tools are large and complex software systems, often with hundreds of