Cary R
b7e7d3cb04
User tasks have empty nex_output().
...
This patch matches what is done in the development branch and
fixes the reported bug.
2008-05-13 11:09:12 -07:00
Cary R
0fc10d0262
v0_8: fix @* to correctly handle non-input nets.
...
This is a slightly modified version of the patch from the development
branch. Specifically it only allows outputs in the sensitivity list for
non-synthesis back ends. The text from the development patch follows.
@* was only expanding to input nets. nex_input() for blocks was removing
any output net that was also an input. There was also a bug in how output
nets were removed. Only outputs currently defined were removed from the
input list.
always @(*) begin
y = a;
z = y;
end
would report "a" as an input. While
always @(*) begin
z = y;
y = a;
end
would report both "a" and "y" as inputs.
To fix this all nex_inputs now take a flag that when true (the default)
correctly removes any output from the input list. Both the above cases
will now return "a". If the flag is false outputs which are also inputs
will be included in the input list. This is what the @* elaboration code
uses to get the correct sensitivity list.
2007-10-30 17:49:35 -07:00
steve
d16dd26660
Support Latch synthesis (Alan Feldstein)
2007-05-30 17:48:53 +00:00
steve
1470a061fd
Add synthesis of user defined functions.
2006-11-26 01:54:05 +00:00
steve
6d3b780791
Improve performance of unlink of heavily connected nexa.
2006-08-15 03:41:24 +00:00
steve
a0ec981c50
Improved nexus management performance.
2006-08-08 02:17:48 +00:00
steve
0e3768f829
Handle statement output override better in blocks.
2006-07-23 19:42:33 +00:00
steve
22884f2e64
Add support for full_case attribute.
2006-07-10 00:21:49 +00:00
steve
08dbe801c1
synthesis of NetCondit handles partial resets.
2006-06-23 03:49:46 +00:00
steve
3877b636df
synthesis for NetEBitSel.
2006-06-14 03:02:54 +00:00
steve
e0bbfa512c
Constant propagate addresses through NetRamDq read ports.
2006-04-23 04:26:13 +00:00
steve
f02b2c9d7a
Fix handling of exploded memories with partial or missing resets.
2006-04-16 19:26:37 +00:00
steve
058dac4290
Exploded memories accessed by constant indices.
2006-04-10 03:43:39 +00:00
steve
312d09dc1d
Handle asynchronous demux/bit replacements.
2006-03-26 23:09:21 +00:00
steve
5e8330a4ff
Better error messages when synthesis fails.
2006-03-18 18:43:21 +00:00
steve
ef8964c65a
Fix crash when memory exploding doesnot work
2006-03-16 05:40:18 +00:00
steve
b8bc531f05
Fix the memsynth1 case.
2006-03-12 07:34:16 +00:00
steve
7527c466ed
Handle synthesis of FF vectors with l-value decoder.
2006-02-19 00:11:31 +00:00
steve
eb0a78e9ce
When mux has wide select but sparse choices, use 1hot translation.
2006-01-21 21:42:31 +00:00
steve
52b8ed9077
Rework l-value handling to allow for more l-value type flexibility.
2006-01-18 01:23:23 +00:00
steve
3131fa68b7
Fix crashes caused bu synthesis of sqrt32.v.
2005-12-31 04:28:14 +00:00
steve
b997de63a5
Account for sync vs async muxes.
2005-12-14 00:54:29 +00:00
steve
c9d480028e
Allow for block output to be set throughout the statements.
2005-11-13 22:28:48 +00:00
steve
393102d43a
Evaluate magnitude compare with real operands.
2005-09-09 02:17:08 +00:00
steve
53156793fe
Add support for implicit defaults in case and conditions.
2005-08-22 01:00:41 +00:00
steve
8c73fa7840
Fix compilation warnings/errors with newer compilers.
2005-08-13 00:45:53 +00:00
steve
0510367b70
Fix compile errors with g++-4.
2005-07-06 22:41:34 +00:00
steve
e4ae832153
Clean up spurious trailing white space.
2004-10-04 01:10:51 +00:00
steve
526b87cae3
Remove inaccurate comment.
2004-10-04 00:25:18 +00:00
steve
9de786fc44
Add support for module instance arrays.
2004-09-05 17:44:41 +00:00
steve
62cffe16f4
PR1026: assignment statements can have sensitivities in the l-values.
2004-09-04 04:24:15 +00:00
steve
f02f5be3cc
Fix use of system tasks in AT_STAR statements.
2004-08-28 16:23:05 +00:00
steve
d76ad25778
Do not change reg to wire in NetAssign_ unless synthesizing.
2004-08-28 15:08:31 +00:00
steve
efe05a77cb
nex_output for NetPDelay statements.
2004-06-30 15:32:18 +00:00
steve
3dbc07f34d
Implement signed divide and signed right shift in nets.
2004-06-30 02:16:26 +00:00
steve
9949040285
Add support for the default_nettype directive.
2004-06-13 04:56:53 +00:00
steve
5472b27e1f
Rewire/generalize parsing an elaboration of
...
function return values to allow for better
speed and more type support.
2004-05-31 23:34:36 +00:00
steve
1295058e5d
parameter keys are per_strings.
2004-02-20 06:22:56 +00:00
steve
89acc41437
LPM, logic and Variables have perm_string names.
2004-02-19 07:06:57 +00:00
steve
536068bdfb
Memory and Event names use perm_string.
2004-02-19 06:57:10 +00:00
steve
27af95d402
Use perm_strings for named langiage items.
2004-02-18 17:11:54 +00:00
steve
57c3e86084
Debug dumps for synth2.
2003-12-17 16:52:39 +00:00
steve
43f28b53a3
Design::get_flag returns const char* instead of string.
2003-11-10 20:59:03 +00:00
steve
bc0ead2842
Spelling fixes in comments.
2003-11-08 20:06:21 +00:00
steve
7fd669fcc0
NetEUReduce has its own dup_expr method.
2003-10-31 02:47:11 +00:00
steve
edaa7df6d2
Output of While is output of while substatement.
2003-10-26 04:51:38 +00:00
steve
1f0c274e82
Obsolete find_symbol and find_event from the Design class.
2003-09-20 01:05:35 +00:00
steve
693794552c
Remove find_memory method from Design class.
2003-09-19 03:50:12 +00:00
steve
da7956a797
Fix name search in elab_lval.
2003-09-19 03:30:04 +00:00
steve
178847fc53
Spelling fixes.
2003-09-13 01:01:51 +00:00