summaryrefslogtreecommitdiffstats
path: root/verilog.tex
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2021-04-14 00:03:47 +0100
committerYann Herklotz <git@yannherklotz.com>2021-04-14 00:03:47 +0100
commit2e70aee3a563ca6c78c75be1922c9f657a3fc40a (patch)
treec2972b4c15b218090df602275635369d2dd61e30 /verilog.tex
parentb9891db033123ed317a3eb71a1e75930a933378a (diff)
downloadoopsla21_fvhls-2e70aee3a563ca6c78c75be1922c9f657a3fc40a.tar.gz
oopsla21_fvhls-2e70aee3a563ca6c78c75be1922c9f657a3fc40a.zip
Some small fixes
Diffstat (limited to 'verilog.tex')
-rw-r--r--verilog.tex1
1 files changed, 1 insertions, 0 deletions
diff --git a/verilog.tex b/verilog.tex
index c2a8add..ad9af9f 100644
--- a/verilog.tex
+++ b/verilog.tex
@@ -22,6 +22,7 @@ An example of a rule for executing an \alwaysblock{} that is triggered at the po
Two types of assignments are supported in \alwaysblock{}s: nonblocking and blocking assignment. Nonblocking assignments all take effect simultaneously at the end of the clock cycle, %and atomically.
while blocking assignments happen instantly so that later assignments in the clock cycle can pick them up. To model both of these assignments, the state $\Sigma$ has to be split into two maps: $\Gamma$, which contains the current values of all variables and arrays, and $\Delta$, which contains the values that will be assigned at the end of the clock cycle. %, we can therefore say that $\Sigma = (\Gamma, \Delta)$.
+$\Gamma$ and $\Delta$ each contain
Nonblocking assignment can therefore be expressed as follows:
\begin{equation*}
\inferrule[Nonblocking Reg]{\yhkeyword{name}\ d = \yhkeyword{OK}\ n \\ (\Gamma, e) \downarrow_{\text{expr}} v}{((\Gamma, \Delta), d\ \yhkeyword{ <= } e) \downarrow_{\text{stmnt}} (\Gamma, \Delta [n \mapsto v])}\\