diff options
author | Yann Herklotz <git@yannherklotz.com> | 2020-11-03 14:05:06 +0000 |
---|---|---|
committer | Yann Herklotz <git@yannherklotz.com> | 2020-11-03 14:05:06 +0000 |
commit | 641b195b629b36a6eb0c52dece9cad2f20540ed3 (patch) | |
tree | b7e54bf5cdd3d3d945ea9596a5959bb0b10878f2 | |
parent | 30b6a0f2a4709520d5aecec9959a2ea4f28b6529 (diff) | |
download | oopsla21_fvhls-641b195b629b36a6eb0c52dece9cad2f20540ed3.tar.gz oopsla21_fvhls-641b195b629b36a6eb0c52dece9cad2f20540ed3.zip |
Add new data
-rw-r--r-- | algorithm.tex | 4 | ||||
-rw-r--r-- | evaluation.tex | 2 | ||||
-rw-r--r-- | results/comparison.numbers | bin | 211040 -> 209253 bytes |
3 files changed, 4 insertions, 2 deletions
diff --git a/algorithm.tex b/algorithm.tex index 5144bb9..2db0b6e 100644 --- a/algorithm.tex +++ b/algorithm.tex @@ -69,7 +69,9 @@ Existing HLS compilers usually use LLVM IR as an intermediate representation whe Taking the simple accumulator program shown in Figure~\ref{fig:accumulator_c}, we can describe the main translation that is performed in Vericert to go from the behavioural description into a hardware design. -The first step of the translation is to use \compcert{} to transform the C code into the 3AC shown in Figure~\ref{fig:accumulator_rtl}, including many optimisations that are performed in the 3AC language. This includes optimisations such as constant propagation and dead-code elimination. Function inlining is also performed, and it is used as a way to support function calls instead of having to support the \texttt{Icall} 3AC instruction. The duplication of the function bodies caused by inlining does affect the total area of the hardware, +The first step of the translation is to use \compcert{} to transform the C code into the 3AC shown in Figure~\ref{fig:accumulator_rtl}, including many optimisations that are performed in the 3AC language. This includes optimisations such as constant propagation and dead-code elimination. Function inlining is also performed, and it is used as a way to support function calls instead of having to support the \texttt{Icall} 3AC instruction. The duplication of the function bodies caused by inlining does affect the total area of the hardware, however it improves performance of the hardware.\YH{TODO: Not sure how to justify inlining, apart from that it is an easy way to support function calls} + +3AC is transformed from \begin{figure*} \centering diff --git a/evaluation.tex b/evaluation.tex index 192f397..d923a1e 100644 --- a/evaluation.tex +++ b/evaluation.tex @@ -115,7 +115,7 @@ Figure~\ref{fig:comparison_comptime} compares the compilation times of \vericert \toprule Benchmark & Cycles & Frequency & LUTs & Registers & BRAMs & DSPs\\ \midrule - adpcm & XXX & 66.3 & 51626 & 42688 & 0 & 48 &\\ + adpcm & 121386 & 66.3 & 51626 & 42688 & 0 & 48 &\\ aes & 41958 & 19.6 & 104017 & 94239 & 0 & 6 \\ gsm & 21994 & 66.1 & 45764 & 33675 & 0 & 8\\ mips & 18482 & 78.43 & 10617 & 7690 & 0 & 0\\ diff --git a/results/comparison.numbers b/results/comparison.numbers Binary files differindex 07e4797..1ee4258 100644 --- a/results/comparison.numbers +++ b/results/comparison.numbers |