Stephen Williams
d7c3a32b06
Fix code generation for real expressions
...
Real value are vector width of 1, fix real literal to reflect this.
fix leaking real registers in code generation for function arguments.
Load of signal should handle conversion from real to vector. Function
arguments, type vector passed a real value, are an example where this
comes up.
Signed-off-by: Stephen Williams <steve@icarus.com>
2007-06-29 21:10:37 -07:00
steve
9931e4c013
Finish up part select of array words.
2007-04-14 04:43:01 +00:00
steve
611d2c81b3
Spelling fixes from Larry
2007-03-22 16:08:14 +00:00
steve
6804732b9e
Spelling fixes (larry doolittle)
2007-02-26 19:49:48 +00:00
steve
521f66f040
Get padding right when loading array word into big vector.
2007-02-12 04:37:58 +00:00
steve
f07257067a
Handle real constants in vector expressions.
2007-01-19 05:24:53 +00:00
steve
f5a7ee0736
Remove dead code related to memories.
2007-01-17 04:39:18 +00:00
steve
91d84e7dc7
Major rework of array handling. Memories are replaced with the
...
more general concept of arrays. The NetMemory and NetEMemory
classes are removed from the ivl core program, and the IVL_LPM_RAM
lpm type is removed from the ivl_target API.
2007-01-16 05:44:14 +00:00
steve
d434dd7296
Allow part selects of memory words in l-values.
2006-02-02 02:43:57 +00:00
steve
58f182a159
Node delays can be more general expressions in structural contexts.
2006-01-02 05:33:19 +00:00
steve
e9bf00dff6
Pad part selects
2005-12-22 15:42:22 +00:00
steve
c75f0a930e
Remove the $ from signal labels. They do not help.
2005-10-11 18:54:10 +00:00
steve
bb3f3c1f46
Remove obsolete vvp_memory_label function.
2005-10-11 18:30:50 +00:00
steve
be73be8c98
Spelling patches from Larry.
2005-09-19 21:45:35 +00:00
steve
d22d88923d
Fix warnings about uninitialized variables.
2005-09-19 20:18:20 +00:00
steve
c4d8ab8509
Improve loading of part selects when easy.
2005-09-17 04:01:32 +00:00
steve
672aa61ae7
More robust use of precalculated expressions, and
...
Separate lookaside for written variables that can
also be reused.
2005-09-17 01:01:00 +00:00
steve
14d79a655e
Better reuse of IVL_EX_SELECT expressions.
2005-09-15 02:49:47 +00:00
steve
9fd16575d9
Support bool expressions and compares handle them optimally.
2005-09-14 02:53:13 +00:00
steve
5bfdd52391
Handle functions with real values.
2005-07-13 04:52:31 +00:00
steve
b9799cf6ec
Remove NetVariable and ivl_variable_t structures.
2005-07-11 16:56:50 +00:00
steve
f556452403
Handle function/task port vectors.
2005-03-12 23:45:33 +00:00
steve
85286cc086
Rearrange how memories are supported as vvp_vector4 arrays.
2005-03-03 04:33:10 +00:00
steve
2fcaac4060
Support constant part select writes to l-values, and large part select reads from signals.
2005-02-15 07:12:55 +00:00
steve
6be34bba4d
Special handling of constant shift 0.
2005-01-28 05:37:48 +00:00
steve
dfb7c7ba6f
Remove the NetEBitSel and combine all bit/part select
...
behavior into the NetESelect node and IVL_EX_SELECT
ivl_target expression type.
2005-01-24 05:28:30 +00:00
steve
edeb9d8eca
Part selects are done in the compiler, not here.
2005-01-24 05:08:02 +00:00
steve
65e9b6be12
Rework of internals to carry vectors through nexus instead
...
of single bits. Make the ivl, tgt-vvp and vvp initial changes
down this path.
2004-12-11 02:31:25 +00:00
steve
e4ae832153
Clean up spurious trailing white space.
2004-10-04 01:10:51 +00:00
steve
a8ee786036
Relaxed width constraint on pad_expression output.
2004-09-10 00:14:31 +00:00
steve
491df9c327
Watch out for real compared to constant. Handle as real.
2004-06-30 03:07:32 +00:00
steve
9ba1177a4d
Generate signed modulus if appropriate.
2004-06-19 16:17:37 +00:00
steve
3190eda414
Slightly more efficient unary minus.
2003-10-01 17:44:20 +00:00
steve
2970b3c39b
Clear expression lookaside after true cause of ternary.
2003-09-24 20:46:20 +00:00
steve
5e326cd90e
Subtract from constant values.
2003-08-03 03:53:38 +00:00
steve
bfe31e22bf
Start handling pad of expressions in code generators.
2003-07-26 03:34:42 +00:00
steve
71a404a546
Add arithmetic shift operators.
2003-06-18 03:55:18 +00:00
steve
96ca885aca
Remove short int restrictions from vvp opcodes.
2003-06-17 19:17:42 +00:00
steve
4da0cc4c8c
Fix fprintf warning.
2003-06-16 22:14:15 +00:00
steve
1b0408ac8f
More efficient code for ternary expressions.
2003-06-15 22:49:32 +00:00
steve
2f6826247a
Sign extend signed vectors.
2003-06-14 22:18:54 +00:00
steve
b43c543455
Handle assign of real to vector.
2003-06-13 19:10:20 +00:00
steve
0c7a5874d4
Proper pad of signed constants.
2003-06-11 02:23:45 +00:00
steve
2a93dc00f6
Proper width handling of || expressions.
2003-05-10 02:38:49 +00:00
steve
f354c43941
Use hash code for scope labels.
2003-03-25 02:15:48 +00:00
steve
06d5c8135c
Allow real-valued vpi functions to have arguments.
2003-03-15 04:45:18 +00:00
steve
970c4950f4
Merge vpi_call and vpi_func draw functions.
2003-02-28 20:21:13 +00:00
steve
7638ec05e7
Handle real value subtract and comparisons.
2003-02-07 02:46:16 +00:00
steve
04ada23119
Support in various contexts the $realtime
...
system task.
2003-01-27 00:14:37 +00:00
steve
46253ed873
Rework expression parsing and elaboration to
...
accommodate real/realtime values and expressions.
2003-01-26 21:15:58 +00:00