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
34b5a31ff4
Add test_width methods for PETernary and PEString.
2006-11-10 04:54:26 +00:00
steve
c339dc4bbc
Remove last bits of relax_width methods, and use test_width
...
to calculate the width of an r-value expression that may
contain unsized numbers.
2006-11-04 06:19:24 +00:00
steve
2302693201
Expression widths with unsized literals are pseudo-infinite width.
2006-10-30 05:44:49 +00:00
steve
80f30be9d0
Add support for system functions in continuous assignments.
2006-06-18 04:15:50 +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
a2c036d5ab
Allow concatenations as arguments to inout ports.
2006-04-28 04:28:35 +00:00
steve
a978bb1e14
Cleanup lval part select handling.
2006-04-16 00:54:04 +00:00
steve
707af782b3
Fix part selects in l-values.
2006-04-16 00:15:43 +00:00
steve
13a660b591
Get rid of excess PESTring:: prefix within class declaration.
2006-03-25 02:36:26 +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
101b373293
Allow constant concat expressions.
2005-12-07 04:04:23 +00:00
steve
8ed504b064
Fix for stubborn compiler.
2005-11-27 17:01:56 +00:00
steve
908955c72c
Handle bit select of parameter with ranges.
2005-11-27 05:56:20 +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
4a8be3db9c
Implement bi-directional part selects.
2005-08-06 17:58:16 +00:00
steve
75ad90534b
Generalize signals to carry types.
2005-07-07 16:22:49 +00:00
steve
9e94afe399
Use PartSelect/PV and VP to handle part selects through ports.
2005-01-09 20:16:00 +00:00
steve
8f2d679c8a
Unify elaboration of l-values for all proceedural assignments,
...
including assing, cassign and force.
Generate NetConcat devices for gate outputs that feed into a
vector results. Use this to hande gate arrays. Also let gate
arrays handle vectors of gates when the outputs allow for it.
2004-12-29 23:55:43 +00:00
steve
e4ae832153
Clean up spurious trailing white space.
2004-10-04 01:10:51 +00:00
steve
e571dd90d8
Calculate delay statement delays using elaborated
...
expressions instead of pre-elaborated expression
trees.
Remove the eval_pexpr methods from PExpr.
2003-02-08 19:49:21 +00:00
steve
e941e7e805
Spelling fixes.
2003-01-30 16:23:07 +00:00
steve
cfd8cbf850
Port expressions for output ports are lnets, not nets.
2002-11-09 19:20:48 +00:00
steve
52bf4e613f
conditional ident string using autoconfig.
2002-08-12 01:34:58 +00:00
steve
91a755d0e8
Add support for memory words in l-value of
...
blocking assignments, and remove the special
NetAssignMem class.
2002-06-04 05:38:43 +00:00
steve
e6c0629626
Add language support for Verilog-2001 attribute
...
syntax. Hook this support into existing $attribute
handling, and add number and void value types.
Add to the ivl_target API new functions for access
of complex attributes attached to gates.
2002-05-23 03:08:50 +00:00
steve
9ef49379f4
Add support for non-constant bit select.
2002-04-23 03:53:59 +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
3d646aa92c
Constant expressions are not l-values for task ports.
2002-03-09 04:02:26 +00:00
steve
b7c2bd4f72
Add the NetUserFunc netlist node.
2002-03-09 02:10:22 +00:00
steve
03aebd7525
Support elaborate_net for PEString objects.
2001-12-30 21:32:03 +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
7793a49854
Remove string paths from PExpr elaboration.
2001-11-08 05:15:50 +00:00
steve
6bfbcbdcf7
elaborate_lnet uses scope instead of string path.
2001-11-07 04:26:46 +00:00
steve
bf72f39fe9
eval_const uses scope instead of a string path.
2001-11-07 04:01:59 +00:00
steve
9572ddd7e8
Support more real arithmetic in delay constants.
2001-11-06 06:11:55 +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
f4671a3082
Evaluate <= and ?: in parameter expressions (PR#81)
2000-12-16 19:03:30 +00:00
steve
084a464cf1
Support decimal constants in behavioral delays.
2000-12-10 22:01:35 +00:00
steve
f6507cba43
Check lvalue of procedural continuous assign (PR#29)
2000-12-06 06:31:09 +00:00
steve
89d7176734
Add support for modulus (Eric Aardoom)
2000-09-17 21:26:15 +00:00
steve
b6ce313e91
move lval elaboration to PExpr virtual methods.
2000-09-09 15:21:26 +00:00
steve
d86b37d90f
Support unary + and - in constants.
2000-09-07 22:38:13 +00:00
steve
056a3f7220
Allow unary operators in constant expressions.
2000-06-30 15:50:20 +00:00
steve
80878e2e53
Support concatenation in parameter expressions.
2000-06-13 05:22:16 +00:00
steve
9c1dc92d74
Parameters can be strings.
2000-06-01 02:31:39 +00:00
steve
3676d66408
Module ports are really special PEIdent
...
expressions, because a name can be used
many places in the port list.
2000-05-16 04:05:15 +00:00