summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Wickerson <j.wickerson@imperial.ac.uk>2021-09-13 08:30:51 +0000
committernode <node@git-bridge-prod-0>2021-09-13 08:30:54 +0000
commit93037375fcfbf2c15232d3172dada168cf9685af (patch)
treeb70e52ad6c822eb215f0bb4ecafb3f21cd65df51
parent2da5f1a3c8db73a14b3dfd5b6dc593589060a20f (diff)
downloadoopsla21_fvhls-93037375fcfbf2c15232d3172dada168cf9685af.tar.gz
oopsla21_fvhls-93037375fcfbf2c15232d3172dada168cf9685af.zip
Update on Overleaf.
-rw-r--r--proof.tex2
1 files changed, 1 insertions, 1 deletions
diff --git a/proof.tex b/proof.tex
index 14badd1..8bcf025 100644
--- a/proof.tex
+++ b/proof.tex
@@ -148,7 +148,7 @@ HTL can only represent a single state machine, so we must model the RAM abstract
\subsubsection{From Implementation to Specification}
-The first step in proving the simulation correct is to build a specification of the translation algorithm. There are three possibilities for the transformation of an instruction. For each Verilog statement in the map at location $i$, either the statement is a load, a store or neither. The load or store is translated to the equivalent representation using the RAM specification and all other instructions are left intact. An example of the specification for the translation of the store instruction is shown below, where $\sigma$ is state register, $r$ is the RAM, $d$ and $c$ are the input data-path and control logic maps and $i$ is the current state. $n$ is the newly inserted state which only applies to the translation of loads.
+The first step in proving the simulation correct is to build a specification of the translation algorithm. There are three possibilities for the transformation of an instruction. For each Verilog statement in the map at location $i$, the statement is either a load, a store or neither. The load or store is translated to the equivalent representation using the RAM specification and all other instructions are left intact. An example of the specification for the translation of the store instruction is shown below, where $\sigma$ is state register, $r$ is the RAM, $d$ and $c$ are the input data-path and control logic maps and $i$ is the current state. $n$ is the newly inserted state which only applies to the translation of loads.
\begin{gather*}
\inferrule[Store Spec]{ d[i] = (r.mem\texttt{[}e_{1}\texttt{]} \texttt{ <= } e_{2}) \\ t = (r.u\_en \texttt{ <= } \neg r.u\_en; r.wr\_en \texttt{ <= } 1; r.d\_in \texttt{ <= } e_{2}; r.addr \texttt{ <= } e_{1})}%