summaryrefslogtreecommitdiffstats
path: root/verilog.tex
diff options
context:
space:
mode:
authorJohn Wickerson <j.wickerson@imperial.ac.uk>2020-11-17 20:38:21 +0000
committeroverleaf <overleaf@localhost>2020-11-17 20:38:23 +0000
commiteeb34a66da54f8209968d5785ed136f2a4ad27ea (patch)
treeb4e4d17360d15c95ddd47a53b95bd2d3336b0e27 /verilog.tex
parentacd42bc567820461afb674795d524fb599b19cbe (diff)
downloadoopsla21_fvhls-eeb34a66da54f8209968d5785ed136f2a4ad27ea.tar.gz
oopsla21_fvhls-eeb34a66da54f8209968d5785ed136f2a4ad27ea.zip
Update on Overleaf.
Diffstat (limited to 'verilog.tex')
-rw-r--r--verilog.tex2
1 files changed, 1 insertions, 1 deletions
diff --git a/verilog.tex b/verilog.tex
index d7e04bb..8da7591 100644
--- a/verilog.tex
+++ b/verilog.tex
@@ -11,7 +11,7 @@ This semantics is quite practical as it is restricted to a small subset of Veril
The semantics of Verilog differs from regular programming languages, as it is used to describe hardware directly, which is inherently parallel, rather than an algorithm, which is usually sequential. The main construct in Verilog is the always block \JW{consider `always-block' as it's easier to parse}. \JWcouldcut{which is a construct that contains statements.}
A module can contain multiple always blocks, all of which run in parallel. These always blocks further contain statements such as if-statements or assignments to variables. Each always block also contains a list of events at which it should trigger, which could either contain signals that are assigned to other signals in that always block, or a different signal such as a clock which will trigger the always block periodically, only the latter are actually supported in our target semantics. \JW{That sentence is a bit wordy. Can you just say something like: `We support only \emph{synchronous} logic, which means that the always block is triggered on (and only on) the rising edge of a clock signal.'?}
-\NR{We should mention that variables cannot be driven by multiple \alwaysblock{}s, since one might get confused with data races when relating to concurrent processes in software.} \JW{Mm, }
+\NR{We should mention that variables cannot be driven by multiple \alwaysblock{}s, since one might get confused with data races when relating to concurrent processes in software.} \JW{Perhaps we coud }