iverilog/tgt-vlog95
Cary R c4386da666 vlog95: Emit initial blocks for tasks or functions.
In SystemVerilog a task or function can initialize a variable in a task or
function. In Icarus this is done by creating an initial block that does
the assignment. We can translate this by emitting the initial block in the
enclosing module scope. This is not 100% correct since SystemVerilog
requires the initialization to be done before the other initial/always
blocks are processed. For SystemVerilog the current Icarus behavior is
incorrect, but even if it had a new process type that ran before the other
ones the best I can do for vlog95 is emit it before the normal module
processes which currently works.
2013-02-15 19:43:32 -08:00
..
Makefile.in updated FSF-address 2012-08-29 10:12:10 -07:00
event.c vlog95: Major rework of nexus emitting code, etc. 2012-01-02 11:29:42 -08:00
expr.c vlog95: for a part/pv look for the strength at the driver 2013-02-12 19:38:28 -08:00
logic_lpm.c vlog95: block generating a concat-Z LPM device in the compiler. 2013-02-13 19:19:21 -08:00
misc.c vlog95: Add support for undefined selects. 2013-01-25 12:46:55 -08:00
numbers.c Remove some new cppcheck warnings in tgt-vlog95 2012-09-03 11:58:43 -07:00
scope.c vlog95: Emit initial blocks for tasks or functions. 2013-02-15 19:43:32 -08:00
stmt.c vlog95: translate darray and class assignments/references 2013-02-08 19:16:24 -08:00
udp.c vlog95: Major rework of nexus emitting code, etc. 2012-01-02 11:29:42 -08:00
vlog95-s.conf vlog95: block generating a concat-Z LPM device in the compiler. 2013-02-13 19:19:21 -08:00
vlog95.c vlog95: Emit if using signed and add the number of errors to the output 2013-02-15 19:43:19 -08:00
vlog95.conf vlog95: block generating a concat-Z LPM device in the compiler. 2013-02-13 19:19:21 -08:00
vlog95_priv.h vlog95: Add support for some more SV constructs and add some sorry messages 2012-08-06 10:16:35 -07:00