Cary R
d564e054e5
vlog95: translate most do/while loops
2013-09-23 17:31:39 -07:00
Cary R
8616e3d6fa
Fix space/tab problem.
2013-09-23 10:32:54 -07:00
Cary R
2c2ab24c8f
Fix problem when compiling with valgrind support
2013-09-23 10:29:45 -07:00
Stephen Williams
d025c8aa93
Non-method tasks/functions support default arguments.
2013-09-20 20:44:57 -07:00
Stephen Williams
7534abe325
Allow void functions to be called in functions.
2013-09-20 20:44:57 -07:00
Stephen Williams
7bc94d7810
Support functions that return void.
2013-09-20 20:44:57 -07:00
Stephen Williams
a9a1c50268
Support "this" for calling task methods.
2013-09-20 20:44:57 -07:00
Stephen Williams
5084a23417
Sorry messages for calls to superclass constructor.
2013-09-20 20:44:57 -07:00
Stephen Williams
46f551073e
Handle default expressions anywhere in port expression list.
2013-09-20 20:44:57 -07:00
Stephen Williams
d9e1bcf3d0
Handle task arguments with default expressions.
2013-09-20 20:44:57 -07:00
Stephen Williams
13bb927d8a
Handle strings as arguments to automatic functions.
2013-09-20 20:44:56 -07:00
Stephen Williams
16414f921f
Handle default arguments in class new functions.
2013-09-20 20:44:56 -07:00
Stephen Williams
9a116498a2
Handle task/function default expressions in parsing/pform.
...
This gets it to (but not through) the elaborator.
2013-09-20 20:44:56 -07:00
Cary R
d8f945be23
Add support for SV do/while
2013-09-16 20:02:09 -07:00
Stephen Williams
8412d0d55f
Automatic scope are OK in detached threads
...
...assuming certain conditions that should by definition be
true. So this patch amounts to improving an assert condition.
2013-09-09 19:47:22 -07:00
Cary R
07cc18284c
Fix print token/argument mismatches and other cppcheck fixes
2013-09-09 13:34:38 -07:00
Stephen Williams
7d6d93e4e2
Handle synthesis l-values that are part selects.
2013-09-08 18:18:31 -07:00
Stephen Williams
64b2345cf2
eval_as_long takes in const NetExpr arguments.
...
It is not the same as eval_tree, in particular it doesn't
rewrite the expression tree. So the NetExpr argument can
be constant.
2013-08-31 18:48:32 -07:00
Stephen Williams
9b3987bf3c
blif target supports wide LPM_PART_VP devices.
2013-08-31 16:43:37 -07:00
Stephen Williams
15cda5fef2
Fix subtle issues related to fork/join of tasks.
...
When a fork/join contains a task, the task completion may become
confused with the completion of another thread if any of the
threads are embedded in the main thread. So always create threads
for all the fork paths, and joins to match.
2013-08-29 20:31:26 -07:00
Stephen Williams
a10e07908e
Precompile vhdlpp/lexor_keyword.gperf in autoconf.sh
2013-08-28 14:53:29 -07:00
Stephen Williams
c2c9e09a49
snapshot 20130827
2013-08-27 19:55:20 -07:00
Stephen Williams
1b79df810f
Handle DFF with clock-enable in blif code generator
...
In the ASIC universe, it is (probably) OK to replace a DFF CE
with a mux of the D input with the Q output. The idea is that
if the CE is true, the DFF latches D, but if CE is false, the DFF
re-latches the current output.
2013-08-25 12:27:57 -07:00
Stephen Williams
9dde4b705d
Detect and synthesize FF clock enables.
...
Too bad BLIF doesn't support 'em.
2013-08-25 12:27:57 -07:00
Stephen Williams
1abf4f1aa1
Rework synchronous statement synthesis.
...
This changes the flow of the NetProc::synth_sync method, and
implements the NetBlock::synth_sync better.
2013-08-25 12:27:57 -07:00
Stephen Williams
a47447610f
Replace svector with vector in synth_sync methods.
2013-08-25 12:27:56 -07:00
Stephen Williams
d209d8ee39
blif support for IVL_LPM_FF devices.
2013-08-25 12:27:56 -07:00
Stephen Williams
8117f4b383
NetCase synth async measure width from map, not output.
...
Make sure the NetMux device has an output that is a net.
2013-08-25 12:27:56 -07:00
Stephen Williams
6b5ae5e4db
Force calculation of blif_nex_data_t width for lib_mux_s1 devices.
2013-08-25 12:27:56 -07:00
Stephen Williams
a40c8f6bca
Cleanup/simplify mux synthesis
...
Do not create useless NetNet objects for the inputs to the mux.
The synthesizer should already be creating these objects.
2013-08-25 12:27:56 -07:00
Stephen Williams
a6fb6be8b5
blif code generator support for arbitrary MUX devices.
2013-08-25 12:27:56 -07:00
Stephen Williams
ec99faff05
synthesis support for case statements with default cases.
2013-08-25 12:27:56 -07:00
Stephen Williams
1352abfc98
Fix up NetCondit synthesis to handle complex if/else clauses.
2013-08-25 12:27:56 -07:00
Stephen Williams
687d0a928b
Initial support for NetCondit synth_async.
2013-08-25 12:27:56 -07:00
Stephen Williams
947d642da7
Always turn on ivl synthesis for blif target.
2013-08-25 12:27:55 -07:00
Cary R
1cbd6c3a80
Expand the scope of the parent variable.
2013-08-23 15:28:54 -07:00
Stephen Williams
11be93ce55
Merge branch 'master' of github.com:steveicarus/iverilog
2013-08-12 19:50:52 -07:00
Stephen Williams
aaf35ca6ab
Fix blif handling of wide ligic gates.
2013-08-12 19:50:32 -07:00
Cary R
4294a47cec
Merge branch 'master' of github.com:steveicarus/iverilog
2013-08-12 16:37:05 -07:00
Cary R
b983d5546b
Fix cppcheck call in tgt-blif (use .cc instead of .c)
2013-08-12 16:35:45 -07:00
Stephen Williams
ed9a3c3b10
Merge branch 'master' of github.com:steveicarus/iverilog
2013-08-09 20:55:44 -07:00
Stephen Williams
d8f4ff4b57
Remove eval_expr during PEBinary elaboration
...
Turns out that call to eval_expr is redundant, and in degenerate
situations can lead to so many wasteful calls to eval_expr that
elaboration performance suffers dramatically.
2013-08-09 20:55:18 -07:00
Cary R
af29735f44
Update cppcheck suppression file to match latest fstapi.c
2013-08-09 11:34:29 -07:00
Cary R
638300045c
Update to latest FST API files from GTKWave
2013-08-09 11:34:16 -07:00
Cary R
71552b7d1a
Fix typo in verilog.spec it should be blif.tgt not blif.txt
2013-08-06 17:17:10 -07:00
Cary R
7c0a75cf0c
tgt-blif is C++ so use the extra C++ warning flags
2013-08-06 17:10:52 -07:00
Cary R
f054500fe2
Fix space issues in tgt-blif
2013-08-06 17:09:37 -07:00
Stephen Williams
6684b2db04
Add BLIF support for ternary (MUX) operators.
2013-08-01 17:28:04 -07:00
Stephen Williams
999a53ab75
Add blif LIB_RE_* gates support.
2013-08-01 17:28:04 -07:00
Stephen Williams
534d44ba55
blif support for bit selects.
2013-08-01 17:28:04 -07:00