steve
92cb1d4e2d
Use elab_and_eval for bit select expressions.
2006-09-19 23:00:15 +00:00
steve
50800fd3a1
Add support for real valued modulus.
2006-08-09 05:19:08 +00:00
steve
49b65e86fe
Add support for power in constant expressions.
2006-07-31 03:50:17 +00:00
steve
aab6fefd8a
Fix context determined with of constants.
2006-07-07 04:06:37 +00:00
steve
71faebd6df
Make elaborate_expr methods aware of the width that the context
...
requires of it. In the process, fix sizing of the width of unary
minus is context determined sizes.
2006-06-02 04:48:49 +00:00
steve
53ae1f29c9
Fix broken subtraction of small constants.
2006-06-01 03:54:51 +00:00
steve
fc5cf55400
Use elab_and_eval to evaluate genvar expressions.
2006-04-12 05:05:03 +00:00
steve
d434dd7296
Allow part selects of memory words in l-values.
2006-02-02 02:43:57 +00:00
steve
908955c72c
Handle bit select of parameter with ranges.
2005-11-27 05:56:20 +00:00
steve
b416ae047b
Fix compile warning.
2005-11-14 22:11:52 +00:00
steve
c02b3b8ac6
Reorganize signal part select handling, and add support for
...
indexed part selects.
Expand expression constant propagation to eliminate extra
sums in certain cases.
2005-11-10 13:28:11 +00:00
steve
a652719876
Add support for indexed select attached to parameters.
2005-10-04 04:09:25 +00:00
steve
be73be8c98
Spelling patches from Larry.
2005-09-19 21:45:35 +00:00
steve
9fd16575d9
Support bool expressions and compares handle them optimally.
2005-09-14 02:53:13 +00:00
steve
4902c222fb
Check operand types for compatibility.
2005-09-01 04:10:47 +00:00
steve
b9799cf6ec
Remove NetVariable and ivl_variable_t structures.
2005-07-11 16:56:50 +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
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
7f67afe9d5
Add support for $unsigned.
2004-08-28 15:42:11 +00:00
steve
49366d1334
Add the $is_signed function.
2004-08-26 03:51:51 +00:00
steve
b3529d8593
Help system function signedness survive elaboration.
2004-06-17 16:06:18 +00:00
steve
dd69872266
Special case for unary - of real literal.
2004-06-04 23:34:15 +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
a0ed5e9e29
Separate out the lookup_sys_func table, for eventual
...
support for function type tables.
Remove ipal compile flags.
2004-03-09 04:29:42 +00:00
steve
1295058e5d
parameter keys are per_strings.
2004-02-20 06:22:56 +00:00
steve
de7f87853d
Generate error when missing concatenation operands.
2004-01-21 04:57:40 +00:00
steve
e9f1fd012c
Put parameter name in NetEConstParam, not scope.
2003-10-09 16:52:52 +00:00
steve
da7956a797
Fix name search in elab_lval.
2003-09-19 03:30:04 +00:00
steve
21ff80075a
Various warnings fixed.
2003-06-24 01:38:02 +00:00
steve
71a404a546
Add arithmetic shift operators.
2003-06-18 03:55:18 +00:00
steve
6827aef285
PR735: bit select indices are signed constants.
2003-06-10 04:29:57 +00:00
steve
5903f0744c
Support parameters in real expressions and
...
as real expressions, and fix multiply and
divide with real results.
2003-05-30 02:55:32 +00:00
steve
f1cc9d865b
Support event names as expressions elements.
2003-04-22 04:48:29 +00:00
steve
2879ed4388
Set line number for ternary expressions.
2003-04-19 04:19:38 +00:00
steve
6fcbc0e59a
Fix xz extension of constants.
2003-04-02 04:25:26 +00:00
steve
9a1612b99b
Scope names can be relative.
2003-03-25 03:00:04 +00:00
steve
6d94f2ea55
Better organize the NetESFunc return type guesses.
2003-03-15 04:46:28 +00:00
steve
1222153cdf
Keep parameter constants for the ivl_target API.
2003-03-10 23:40:53 +00:00
steve
f40ea15cce
Implement $realtobits.
2003-03-07 02:44:33 +00:00
steve
8f0c02c0fa
Spelling fixes.
2003-01-27 05:09:17 +00:00
steve
46253ed873
Rework expression parsing and elaboration to
...
accommodate real/realtime values and expressions.
2003-01-26 21:15:58 +00:00
steve
c2070777b2
The $time system task returns the integer time
...
scaled to the local units. Change the internal
implementation of vpiSystemTime the $time functions
to properly account for this. Also add $simtime
to get the simulation time.
2002-12-21 00:55:57 +00:00
steve
0128286966
Allow constant bit selects out of range.
2002-09-21 21:28:18 +00:00
steve
616360d751
Spelling errors.
2002-09-18 04:08:45 +00:00
steve
dac99b9374
Add support for binary nand operator.
2002-09-12 15:49:43 +00:00
steve
4de141ab1d
Support parameters with defined ranges.
2002-08-19 02:39:16 +00:00
steve
52bf4e613f
conditional ident string using autoconfig.
2002-08-12 01:34:58 +00:00
steve
a82c178fd9
Fix expression width for repeat concatenations.
2002-06-14 21:38:41 +00:00
steve
fde7cd8f10
Add support for $bits (SystemVerilog)
2002-05-24 00:44:54 +00:00
steve
a3eb6868ea
Allow parameters in concatenation of widths are defined.
2002-05-06 02:30:27 +00:00
steve
8667b9a35d
Put off evaluation of concatenation repeat expresions
...
until after parameters are defined. This allows parms
to be used in repeat expresions.
Add the builtin $signed system function.
2002-05-05 21:11:49 +00:00
steve
84020b16e3
Preserve stringiness string part select and concatenation.
2002-04-27 05:03:46 +00:00
steve
7f8f0eb65a
Support selecting bits from parameters.
2002-04-27 02:38:04 +00:00
steve
c7107dc973
Evaluate constant bit select of constants.
2002-04-25 05:04:31 +00:00
steve
ea44866b2f
Evaluate logical not at elaboration time.
2002-04-14 21:16:48 +00:00
steve
5cf7355c91
Precalculate unary - if possible.
2002-04-14 03:55:25 +00:00
steve
6733f7625b
Detect missing indices to memories (PR#421)
2002-04-13 02:33:17 +00:00
steve
b7c2bd4f72
Add the NetUserFunc netlist node.
2002-03-09 02:10:22 +00:00
steve
364ffc9024
Add support for bit select of parameters.
...
This leads to a NetESelect node and the
vvp code generator to support that.
2002-01-28 00:52:41 +00:00
steve
c6a937e2e7
The stime system function is 32bits.
2002-01-11 05:25:45 +00:00
steve
51db00fb44
Support $signed cast of expressions.
2001-12-31 00:08:14 +00:00
steve
9c6b17c887
Allow escaped $ in identifiers.
2001-12-29 20:41:30 +00:00
steve
ab6c8cb4b8
Parser and pform use hierarchical names as hname_t
...
objects instead of encoded strings.
2001-12-03 04:47:14 +00:00
steve
9d1a81ce2c
Handle division and modulus by zero while
...
evaluating run-time constants.
2001-11-19 02:54:12 +00:00
steve
cfed3933fa
Port close cropping behavior from mcrgb
...
Move window array reset to libmc.
2001-11-19 01:54:14 +00:00
steve
bf72f39fe9
eval_const uses scope instead of a string path.
2001-11-07 04:01:59 +00:00
steve
ef08e43cf2
support local reference to scope in expressions.
2001-07-29 22:22:40 +00:00
steve
becc7cb56a
Handle part select expressions as variants of
...
NetESignal/IVL_EX_SIGNAL objects, instead of
creating new and useless temporary signals.
2001-07-27 04:51:44 +00:00
steve
b825f8d2b2
Create a config.h.in file to hold all the config
...
junk, and support gcc 3.0. (Stephan Boettcher)
2001-07-25 03:10:48 +00:00
steve
6b7b4e700a
Detect parameter mismatches.
2001-06-30 21:28:35 +00:00
steve
7bbedd1b55
Look up functor return register with tail of name.
2001-06-23 19:53:03 +00:00
steve
0550287658
Generate vvp code for functions with ports.
2001-04-06 02:28:02 +00:00
steve
f5d0211864
In the context of range declarations, use elab_and_eval instead
...
of the less robust eval_const methods.
2001-02-10 20:29:39 +00:00
steve
7ef3b44ab1
support evaluation of constant < in expressions.
2001-02-09 05:44:23 +00:00
steve
219df169a3
Generalize the evaluation of floating point delays, and
...
get it working with delay assignment statements.
Allow parameters to be referenced by hierarchical name.
2001-01-14 23:04:55 +00:00
steve
02fc59fbdf
Parse parameters within nested scopes.
2001-01-13 22:20:08 +00:00
steve
120a211e68
Support a bunch of unary operators in parameter expressions.
2001-01-02 04:21:13 +00:00
steve
084a464cf1
Support decimal constants in behavioral delays.
2000-12-10 22:01:35 +00:00
steve
ea921efced
synthesis for unary reduction ! and N operators.
2000-11-29 05:24:00 +00:00
steve
79b1c51e68
Detect indefinite widths where definite widths are required.
2000-09-26 05:05:58 +00:00
steve
cbe20e8bcf
fix null pointer when elaborating undefined task.
2000-09-24 17:41:13 +00:00
steve
eb781a7441
Handle out of range part select expressions.
2000-08-26 01:31:29 +00:00
steve
2f419f0e08
Catch part select of memories as an error.
2000-05-19 01:55:09 +00:00
steve
b28f258463
Import MCD support from Stephen Tell, and add
...
system function parameter support to the IVL core.
2000-05-07 18:20:07 +00:00
steve
fbe475ef7d
Add infrastructure for system functions, move
...
$time to that structure and add $random.
2000-05-04 03:37:58 +00:00
steve
69612ceb73
Move memories to the NetScope object.
2000-05-02 03:13:30 +00:00
steve
8d8f1e2401
Move signal tables to the NetScope class.
2000-05-02 00:58:11 +00:00
steve
2b40c7ce11
integer division in expressions properly get width.
2000-04-28 18:43:23 +00:00
steve
995f61ace4
Forgot to return elaborate result (Dan Nelsen)
2000-03-29 04:06:28 +00:00
steve
44d30ad127
select correct bit when reg has non-zero lsb.
2000-03-20 16:57:22 +00:00
steve
71a506a28a
Binary and unary operators in parameter expressions.
2000-03-12 18:22:11 +00:00
steve
e7efc2709a
Redesign the implementation of scopes and parameters.
...
I now generate the scopes and notice the parameters
in a separate pass over the pform. Once the scopes
are generated, I can process overrides and evalutate
paremeters before elaboration begins.
2000-03-08 04:36:53 +00:00
steve
b734ecf02f
Macintosh compilers do not support ident.
2000-02-23 02:56:53 +00:00
steve
aa8908c52f
Multiplication all the way to simulation.
2000-01-13 03:35:35 +00:00
steve
e6820ed169
Handle synthesis of concatenation.
2000-01-01 06:18:00 +00:00
steve
76655ce2bb
Allow memories without indices in expressions.
1999-12-12 06:03:14 +00:00
steve
998c039fd9
Match scope names as last resort.
1999-11-30 04:54:01 +00:00
steve
e96e8c62be
NetESignal object no longer need to be NetNode
...
objects. Let them keep a pointer to NetNet objects.
1999-11-28 23:42:02 +00:00
steve
4cfa3e4047
Support the creation of scopes.
1999-11-27 19:07:57 +00:00