summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2021-02-23 22:12:55 +0000
committerYann Herklotz <git@yannherklotz.com>2021-02-23 22:12:55 +0000
commit6f13a2de8ff43807fd2e3159d5a4a406c0e4d983 (patch)
tree1c618e9b33665567b22bdc5cde1bf923572158cc
parent4441d04c4f6aedac4b055df65e4adc480ddc3d89 (diff)
downloadlatte21_hlstpc-6f13a2de8ff43807fd2e3159d5a4a406c0e4d983.tar.gz
latte21_hlstpc-6f13a2de8ff43807fd2e3159d5a4a406c0e4d983.zip
Remove diagram
-rw-r--r--main.tex40
1 files changed, 0 insertions, 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.