summaryrefslogtreecommitdiffstats
path: root/proof.tex
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2020-11-17 20:38:13 +0000
committerYann Herklotz <git@yannherklotz.com>2020-11-17 20:39:09 +0000
commite125ae119a37c449986a5c72dfd762e28d95c2b3 (patch)
treeb0be07653eec6d5243928f99de8c2cff1cea39ba /proof.tex
parent6e303a3088b827a90eefb1eb2850117329fc5619 (diff)
downloadoopsla21_fvhls-e125ae119a37c449986a5c72dfd762e28d95c2b3.tar.gz
oopsla21_fvhls-e125ae119a37c449986a5c72dfd762e28d95c2b3.zip
Edit more proof
Diffstat (limited to 'proof.tex')
-rw-r--r--proof.tex2
1 files changed, 1 insertions, 1 deletions
diff --git a/proof.tex b/proof.tex
index c0b7a27..4926d1f 100644
--- a/proof.tex
+++ b/proof.tex
@@ -38,7 +38,7 @@ The forward simulation between C and Verilog can be separated into forward simul
\subsubsection{3AC to HTL forward simulation}
-As HTL is quite different to 3AC, this first translation is the most involved translation and therefore requires a larger proof, as the translation from 3AC instructions to Verilog statements needs to be proven correct. In addition to that, the semantics of HTL are also quite different to the 3AC semantics, as instead of defining small-step semantics for each construct in Verilog, the semantics are instead defined over one clock cycle.
+As HTL is quite different to 3AC, this first translation is the most involved and therefore requires a larger proof, because the translation from 3AC instructions to Verilog statements needs to be proven correct in this step. In addition to that, the semantics of HTL are also quite different to the 3AC semantics, as instead of defining small-step semantics for each construct in Verilog, the semantics are instead defined over one clock cycle and mirror the semantics defined for Verilog.
The first step in proving the forward simulation is to define a relation that matches an 3AC state to an HTL state, which shows when the states are equivalent. This relation also defines assumptions that are made about the 3AC code that we receive, so that these assumptions can be used to prove the translations correct. These assumptions then have to be proven to always hold assuming the HTL code was created by the translation algorithm. The \texttt{match\_states} predicate that is used to match the states of the 3AC code to the HTL code is shown in Figure~\ref{fig:match_states}. The type \texttt{match\_states} declared in Figure~\ref{fig:match_states} has three constructors.