diff options
author | Yann Herklotz <git@yannherklotz.com> | 2020-11-05 09:37:17 +0000 |
---|---|---|
committer | Yann Herklotz <git@yannherklotz.com> | 2020-11-05 09:37:17 +0000 |
commit | dc1f84fbcfb3c275a551393650118bf7494f8ddf (patch) | |
tree | 4bbcc01836c2b8e6b8da844001d1d2a8612e61e0 | |
parent | f56dac43ebce6f29635d6a575902242e62ffaf87 (diff) | |
download | oopsla21_fvhls-dc1f84fbcfb3c275a551393650118bf7494f8ddf.tar.gz oopsla21_fvhls-dc1f84fbcfb3c275a551393650118bf7494f8ddf.zip |
Add more
-rw-r--r-- | verilog.tex | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/verilog.tex b/verilog.tex index a963a99..a1fa4ac 100644 --- a/verilog.tex +++ b/verilog.tex @@ -31,7 +31,7 @@ The Verilog semantics are based on the semantics proposed by \citet{loow19_verif The semantics of Verilog differ from regular programming languages, as it is used to describe hardware directly, which is inherently parallel, instead of describing an algorithm, which is often done sequentially. The main construct in Verilog is the always block, which is construct that contains statements. A module can contain multiple always blocks, which all run in parallel. 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 b lock periodically. Two types of assignments are also supported in always blocks: nonblocking and blocking assignment. Nonblocking assignment modifies the signal at the end of the timestep, and atomically, meaning a swap operation can be implement without a temporary variable. Blocking assignment, on the other hand, assigns the variable directly in the always block for later signals to pick up. Using these constructs it is therefore possible to describe how hardware functions, where always blocks that are triggered by a clock periodically get translated into flip-flops and always blocks triggered by changes in any internal signals are translated into combinational logic. - +When targeting a hardware description language such as Verilog, it is important to be consistent between simulating the hardware and the behaviour of the synthesised result on actual hardware. In the target Verilog semantics, only clocked always blocks are supported. \subsection{Changes to the Semantics} |