From f4f876335f394097456aca251fc2afe829b2856d Mon Sep 17 00:00:00 2001 From: John Wickerson Date: Wed, 14 Apr 2021 08:48:26 +0000 Subject: Update on Overleaf. --- conclusion.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'conclusion.tex') diff --git a/conclusion.tex b/conclusion.tex index 9a4bcfa..8ac9561 100644 --- a/conclusion.tex +++ b/conclusion.tex @@ -17,7 +17,7 @@ Beyond this, we plan to implement scheduling and loop pipelining, since this all Other optimisations include resource sharing to reduce the circuit area, and using tailored hardware operators that use hard IP blocks on chip and can be pipelined. % this could include multi-cycle operations and pipelining optimisations so that division and multiplication operators also become more efficient. -Finally, it's worth considering how trustworthy \vericert{} is compared to other HLS tools. The guarantee of full functional equivalence between input and output that $\vericert$ provides is a strong one, the semantics for the source and target languages are both well-established, and Coq is a mature and thoroughly tested system. However, \vericert{} cannot guarantee to provide an output for every valid input -- for instance, as remarked in Section~\ref{sec:proof:htl_verilog}, \vericert{} will error out if given a program with more than about four million instructions! -- but our evaluation indicates that it does not seem to error out too frequently. And of course, \vericert{} cannot guarantee that the final hardware produced will be correct, because the Verilog it generates must pass through a series of unverified tools along the way. This concern may be allayed in the future by ongoing work we are aware of to produce a verified hardware synthesis tool. +Finally, it's worth considering how trustworthy \vericert{} is compared to other HLS tools. The guarantee of full functional equivalence between input and output that $\vericert$ provides is a strong one, the semantics for the source and target languages are both well-established, and Coq is a mature and thoroughly tested system. However, \vericert{} cannot guarantee to provide an output for every valid input -- for instance, as remarked in Section~\ref{sec:proof:htl_verilog}, \vericert{} will error out if given a program with more than about four million instructions! -- but our evaluation indicates that it does not seem to error out too frequently. And of course, \vericert{} cannot guarantee that the final hardware produced will be correct, because the Verilog it generates must pass through a series of unverified tools along the way. This concern may be allayed in the future by ongoing work we are aware of to produce a verified hardware synthesis tool. \JW{Is this tool citable yet?} %%% Local Variables: -- cgit