summaryrefslogtreecommitdiffstats
path: root/verilog.tex
diff options
context:
space:
mode:
authorJohn Wickerson <j.wickerson@imperial.ac.uk>2020-11-10 13:41:46 +0000
committeroverleaf <overleaf@localhost>2020-11-12 10:54:46 +0000
commita758545c7c61d7861404fb43b8b20e644fd2a7fd (patch)
tree0538b35e212c1336332493a3ac8a7e2e426ce965 /verilog.tex
parente87f0d5314b30f0e485a5103bc71e49871052714 (diff)
downloadoopsla21_fvhls-a758545c7c61d7861404fb43b8b20e644fd2a7fd.tar.gz
oopsla21_fvhls-a758545c7c61d7861404fb43b8b20e644fd2a7fd.zip
Update on Overleaf.
Diffstat (limited to 'verilog.tex')
-rw-r--r--verilog.tex2
1 files changed, 2 insertions, 0 deletions
diff --git a/verilog.tex b/verilog.tex
index 023a5a9..dfa378e 100644
--- a/verilog.tex
+++ b/verilog.tex
@@ -1,5 +1,7 @@
\section{Verilog}
+\JW{I'm not sure the Verilog syntax figure adds enough value to be worthy of inclusion in the body -- perhaps it could be demoted to an appendix. Instead, I think it would be interesting to see a bit more about how the semantics works. Not the whole gamut of inference rules or anything, but a little bit about how the rules work and what the appropriate notion of state is.}
+
This section describes the Verilog semantics that were chosen for the target language, including the changes that were made to the semantics to be a better fit as an HLS target.
Verilog~\cite{06_ieee_stand_veril_hardw_descr_languag} is a hardware description language commonly used to design hardware. A Verilog design can then be synthesised into logic gates which describes how different gates connect to each other, called a netlist. This representation can then be mapped onto either a field-programmable gate array (FPGA) or turned into an application-specific integrated circuit (ASIC) to implement the design that was described in Verilog. The Verilog standard is quite large though, and not all Verilog features are needed to be able to describe hardware. Many Verilog features are only useful for simulation and do not affect the actual hardware itself, we can therefore restrict the Verilog semantics to the synthesisable subset of Verilog~\cite{05_ieee_stand_veril_regis_trans_level_synth}. In addition to that, HLS dictates which Verilog constructs are generated, meaning the Verilog subset that has to be modelled by the semantics can be reduced even further to only support the constructs that are needed. Supporting a smaller subset in the semantics also means that there is less chance that the standard is misunderstood, and that the semantics actually model how the Verilog is simulated and synthesised by existing tools and how it is dictated by the standard.