summaryrefslogtreecommitdiffstats
path: root/proof.tex
diff options
context:
space:
mode:
authorYann Herklotz <ymh15@ic.ac.uk>2021-04-17 10:27:17 +0000
committeroverleaf <overleaf@localhost>2021-04-17 10:31:48 +0000
commit204b9b668aa418fbab1ed8b591f2cf7fabb6bc2c (patch)
treefc292d92bdea9cc10c33d7c5855f2f328bd523cb /proof.tex
parent811e65af1394197ff32e99dbe89295f9258baaee (diff)
downloadoopsla21_fvhls-204b9b668aa418fbab1ed8b591f2cf7fabb6bc2c.tar.gz
oopsla21_fvhls-204b9b668aa418fbab1ed8b591f2cf7fabb6bc2c.zip
Update on Overleaf.
Diffstat (limited to 'proof.tex')
-rw-r--r--proof.tex3
1 files changed, 1 insertions, 2 deletions
diff --git a/proof.tex b/proof.tex
index 1a04fc7..1668d88 100644
--- a/proof.tex
+++ b/proof.tex
@@ -14,10 +14,9 @@ The main correctness theorem is analogous to that stated in \compcert{}~\cite{le
\end{theorem}
The theorem is a `backwards simulation' result (from target to source), following the terminology used in the \compcert{} literature. The theorem does not demand the `if' direction too, because compilers are permitted to resolve any non-determinism present in their source programs.
-
In practice, Clight programs are all deterministic, as are the Verilog programs in the fragment we consider. This means that we can prove the correctness theorem above by first inverting it to become a forwards simulation result, following standard \compcert{} practice.
-The second observation that needs to be made is that to prove this forward simulation, it suffices to prove forward simulations between each intermediate language, as these results can be composed to prove the correctness of the whole HLS tool.
+Furthermore, to prove the forward simulation, it suffices to prove forward simulations between each intermediate language, as these results can be composed to prove the correctness of the whole HLS tool.
The forward simulation from 3AC to HTL is stated in Lemma~\ref{lemma:htl} (Section~\ref{sec:proof:3ac_htl}), the forward simulation for the RAM insertion is shown in Lemma~\ref{lemma:htl_ram} (Section~\ref{sec:proof:ram_insertion}), then the forward simulation between HTL and Verilog is shown in Lemma~\ref{lemma:verilog} (Section~\ref{sec:proof:htl_verilog}) and finally, the proof that Verilog is deterministic is given in Lemma~\ref{lemma:deterministic} (Section~\ref{sec:proof:deterministic}).
\subsection{Forward simulation from 3AC to HTL}\label{sec:proof:3ac_htl}