summaryrefslogtreecommitdiffstats
path: root/related.tex
diff options
context:
space:
mode:
authorJohn Wickerson <j.wickerson@imperial.ac.uk>2020-09-14 20:09:52 +0000
committeroverleaf <overleaf@localhost>2020-09-14 20:09:53 +0000
commit4b1d69cb269218b6fb58559e7a17428f4f69d29c (patch)
treed8e0955f8b475dbf98512ce64cbe8ba7b9d63d3f /related.tex
parentfd5db86cc6a02b911e9d3b7f5e09909b167d6ae0 (diff)
downloadfccm21_esrhls-4b1d69cb269218b6fb58559e7a17428f4f69d29c.tar.gz
fccm21_esrhls-4b1d69cb269218b6fb58559e7a17428f4f69d29c.zip
Update on Overleaf.
Diffstat (limited to 'related.tex')
-rw-r--r--related.tex2
1 files changed, 1 insertions, 1 deletions
diff --git a/related.tex b/related.tex
index 0a028b7..bf3c6c4 100644
--- a/related.tex
+++ b/related.tex
@@ -7,7 +7,7 @@ Other stages of the FPGA toolchain have been subjected to fuzzing. Herklotz et a
Several authors have taken steps toward more rigorously engineered HLS tools that may be more resilient to testing campaigns such as ours. One such example might be the Handel-C compiler by Perna and Woodcock~\cite{perna12_mechan_wire_wise_verif_handel_c_synth} which has been mechanically proven correct, at least in part, using the HOL theorem prover.
%However, the Handel-C language relies upon the user to perform the parallelisation that is necessary for good hardware performance, and would require many more checks to avoid data races.
However, the tool does not support C as input directly, so is not amenable to fuzzing.
-Another example is the SPARK HLS tool~\cite{gupta03_spark}, in which some passes, such as scheduling, are mechanically validated during compilation~\cite{chouksey20_verif_sched_condit_behav_high_level_synth}. Unfortunately, this tool is not readily available yet to test properly. Finally, the HLS tool Catapult C~\cite{mentor20_catap_high_level_synth} is designed only to produce an output netlist if it can mechanically prove it equivalent to the input program. It should therefore never produce wrong RTL. Future work will address testing Catapult-C as well, however, as Vivado HLS, LegUp HLS and Intel HLS are more prevalent these were prioritised. \JW{Obvious reader question at this point: why not test that claim by giving our Csmith test cases to Catapult C too? Can we address that here? No worries if not; but shall we try and do that after the deadline anyway?}\YH{Yes, definitely, it would be great to get an idea of how Catapult C performs, and I currently have it installed already. I have added a small sentence for that now, but let me know if I should mention this in the conclusion instead though. }
+Another example is the SPARK HLS tool~\cite{gupta03_spark}, in which some compiler passes, such as scheduling, are mechanically validated during compilation~\cite{chouksey20_verif_sched_condit_behav_high_level_synth}. Unfortunately, this tool is not readily available yet to test properly. Finally, the HLS tool Catapult C~\cite{mentor20_catap_high_level_synth} is designed only to produce an output netlist if it can mechanically prove it equivalent to the input program. It should therefore never produce wrong RTL. Future work will address testing Catapult-C as well, however, as Vivado HLS, LegUp HLS and Intel HLS are more prevalent these were prioritised. \JW{Obvious reader question at this point: why not test that claim by giving our Csmith test cases to Catapult C too? Can we address that here? No worries if not; but shall we try and do that after the deadline anyway?}\YH{Yes, definitely, it would be great to get an idea of how Catapult C performs, and I currently have it installed already. I have added a small sentence for that now, but let me know if I should mention this in the conclusion instead though. }
%%% Local Variables:
%%% mode: latex