From 6f13a2de8ff43807fd2e3159d5a4a406c0e4d983 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Tue, 23 Feb 2021 22:12:55 +0000 Subject: Remove diagram --- main.tex | 40 ---------------------------------------- 1 file changed, 40 deletions(-) diff --git a/main.tex b/main.tex index 3216f74..dbdcc44 100644 --- a/main.tex +++ b/main.tex @@ -222,46 +222,6 @@ Trusting the Verilog semantics is not that easy, since it is not quite clear whi Finally, it is interesting to compare the performance of \vericert{} compared to existing HLS tools, to see how correctness guarantees affect the size and speed of the final hardware. This was done on a common compiler benchmark called PolyBench/C~\cite{polybench}. -\begin{figure} -\definecolor{polycol}{HTML}{e6ab02} -\definecolor{polywocol}{HTML}{7570b3} -\begin{tikzpicture} -\begin{axis}[ - xmode=log, - ymode=log, - height=80mm, - width=80mm, - xlabel={\legup{} execution time (ms)}, - ylabel={\vericert{} execution time (ms)}, - xmin=10, - xmax=1000000, - ymax=1000000, - ymin=10, - legend pos=south east, - %log ticks with fixed point, - ] - - -\addplot[draw=none, mark=*, draw opacity=0, fill opacity=0.8, polycol] - table [x expr={\thisrow{legupcycles}/\thisrow{legupfreqMHz}}, y expr={\thisrow{vericertcycles}/\thisrow{vericertoldfreqMHz}}, col sep=comma] - {results/poly.csv}; - -\addlegendentry{PolyBench} - -\addplot[draw=none, mark=o, fill opacity=0, polywocol] - table [x expr={\thisrow{legupcycles}/\thisrow{legupfreqMHz}}, y expr={\thisrow{vericertcycles}/\thisrow{vericertfreqMHz}}, col sep=comma] - {results/poly.csv}; - -\addlegendentry{PolyBench w/o division} - -\addplot[dotted, domain=10:1000000]{x}; -%\addplot[dashed, domain=10:10000]{9.02*x + 442}; - -\end{axis} -\end{tikzpicture} -\caption{A comparison of the execution time of hardware designs generated by \vericert{} and by \legup{}. \YH{Need to update performance figures.}}\label{fig:comparison_time} -\end{figure} - \section{Improvements to \vericert{}} There are many optimisations that need to be added to \vericert{} to turn it into a viable and competitive HLS tool. First of all, the most important addition is a good scheduling implementation, which supports operation chaining and properly pipelining operators. Our main focus is trying to implement scheduling based on system of difference constraint~\cite{cong06_sdc}, which is the same algorithm which \legup{} uses. We have currently implemented the scheduling algorithm, as well as a simple verifier for the translation, but are missing the semantic preservation proofs that the verifier should produce. -- cgit