summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--evaluation.tex58
1 files changed, 34 insertions, 24 deletions
diff --git a/evaluation.tex b/evaluation.tex
index a946452..2a444df 100644
--- a/evaluation.tex
+++ b/evaluation.tex
@@ -62,12 +62,12 @@ Our evaluation is designed to answer the following three research questions. \JW
table [x expr={\thisrow{legupcycles}/\thisrow{legupfreqMHz}}, y expr={\thisrow{vericertcycles}/\thisrow{vericertfreqMHz}}, col sep=comma]
{results/poly.csv};
-%\addplot[dashed, domain=10:10000]{x};
-\addplot[dashed, domain=10:10000]{10*x};
+\addplot[dotted, domain=10:10000]{x};
+\addplot[dashed, domain=10:10000]{9.02*x};
\end{axis}
\end{tikzpicture}
-\caption{A comparison of the execution time of hardware designs generated by \vericert{} and by LegUp. The diagonal is at $y=10x$.}
+\caption{A comparison of the execution time of hardware designs generated by \vericert{} and by LegUp. The diagonal is at $y=9x$.}
\label{fig:comparison_time}
\end{figure}
@@ -85,13 +85,14 @@ The difference in cycle counts shows the degree of parallelism that \legup{}'s
xlabel={LegUp (\%)},
ylabel={\vericert{} (\%)},
xmin=0, ymin=0,
+ xmax=1, ymax=30,
]
\addplot[draw=none, mark=*, draw opacity=0, fill opacity=0.3]
table [x expr=(\thisrow{legupluts}/427200*100), y expr=(\thisrow{vericertluts}/427200*100), col sep=comma]
{results/poly.csv};
- \addplot[dashed, domain=0:1]{30*x};
+ %\addplot[dashed, domain=0:1]{-1.415 *x+10.6};
\end{axis}
\end{tikzpicture}
@@ -101,28 +102,37 @@ The difference in cycle counts shows the degree of parallelism that \legup{}'s
Figure~\ref{fig:comparison_area} compares the size of the hardware designs generated by \vericert{} and by LegUp, with each data point corresponding to one of the PolyBench/C benchmarks. We see that \vericert{} designs use between 1\% and 30\% of the available logic on the FPGA, averaging at around 10\%, whereas LegUp designs all use less than 1\% of the FPGA, averaging at around 0.45\%. The main reason for this is mainly because RAM is not inferred automatically for the Verilog that is generated by \vericert{}. Other synthesis tools can infer the RAM correctly for \vericert{} output, so this issue could be solved by either using a different synthesis tool and targeting a different FPGA, or by generating the correct template which allows Quartus to identify the RAM automatically.
-%\subsection{RQ3: How long does \vericert{} take to produce hardware?}
-%
-%\begin{figure}
-%\begin{tikzpicture}
-%\begin{axis}[
-% height=80mm,
-% width=80mm,
-% xlabel={LegUp (s)},
-% ylabel={\vericert{} (s)},
-% ]
-
-%\addplot[draw=none, mark=*, draw opacity=0, fill opacity=0.3]
-% table [x=legupcomptime, y=vericertcomptime, col sep=comma]
-% {results/comparison.csv};
+\subsection{RQ3: How long does \vericert{} take to produce hardware?}
+
+\begin{figure}
+\begin{tikzpicture}
+\begin{axis}[
+ height=80mm,
+ width=80mm,
+ xlabel={LegUp (s)},
+ ylabel={\vericert{} (s)},
+ yticklabel style={
+ /pgf/number format/fixed,
+ /pgf/number format/precision=2},
+ xmin=4.6,
+ xmax=5.1,
+ ymin=0.06,
+ ymax=0.20,
+ ]
-%\end{axis}
-%\end{tikzpicture}
-%\caption{A comparison of compilation time for \vericert{} and for LegUp \JW{Numbers for \vericert{} not ready yet.} \JW{This graph might end up being cut -- we might just summarise the numbers in the paragraph.}}
-%\label{fig:comparison_comptime}
-%\end{figure}
+\addplot[draw=none, mark=*, draw opacity=0, fill opacity=0.3]
+ table [x=legupcomptime, y=vericertcomptime, col sep=comma]
+ {results/poly.csv};
+
+ %\addplot[dashed, domain=4.5:5.1]{0.1273*x-0.5048};
+
+\end{axis}
+\end{tikzpicture}
+\caption{A comparison of compilation time for \vericert{} and for LegUp}
+\label{fig:comparison_comptime}
+\end{figure}
-%Figure~\ref{fig:comparison_comptime} compares the compilation times of \vericert{} and by LegUp, with each data point corresponding to one of the PolyBench/C benchmarks. We see that \vericert{} compilation is about ten times faster than LegUp compilation. The simple reason for this is that \vericert{} omits many of the complicated and time-consuming optimisations that LegUp performs, such as scheduling multiple operations into clock cycles.
+Figure~\ref{fig:comparison_comptime} compares the compilation times of \vericert{} and by LegUp, with each data point corresponding to one of the PolyBench/C benchmarks. We see that \vericert{} compilation is about ten times faster than LegUp compilation. The simple reason for this is that \vericert{} omits many of the complicated and time-consuming optimisations that LegUp performs, such as scheduling multiple operations into clock cycles.
%%% Local Variables:
%%% mode: latex