Stephen Williams
523de1b69c
Handle the abs() function in net context.
...
In net context we have to create a node that does the abs() function
for us. Elaborate that node and handle it all the way down to vvp.
2008-05-06 20:37:00 -07:00
Cary R
e7ea90c812
Explicitly initialize real values to 0.0.
...
This patch explicitly initializes real values to 0.0. Not doing
this was creating an intermittent time zero value problem.
2008-02-15 15:12:55 -08:00
Cary R
331faa2217
Add signed bit based power to continuous assignments.
...
This patch adds the power operator for signed bit based values
in a continuous assignment. It also fixes a few other power
expression width problems. The expression width is still not
calculated correctly, since the correct method can produce huge
possible bit widths. The result is currently limited to the width
of the native long. This is because lround() is used to convert
from a double to an integer. A check in the code generator protects
the runtime from this limitation.
2008-02-11 20:06:41 -08:00
Cary R
85229a6cdc
Add unsigned bit based power to continuous assignments.
...
This patch adds the power operator for unsigned bit based values
in a continuous assignment. It also refactors the power code for
normal expressions and continuous assignments.
2008-02-06 14:38:16 -08:00
Cary R
f049426f25
Add support for real % in a continuous assignment.
...
This patch adds conditional support (2001X) for the real modulus
operator in a continuous assignment.
2008-01-31 16:56:11 -08:00
Cary R
5e8a1bd8cc
Add power operator (**) for real values in a continuous assignment.
...
This patch adds the power operator for real values in a continuous
assignment.
2008-01-31 16:48:52 -08:00
Cary R
1ff31db2cc
Add real comparisons in continuous assignments.
...
This patch adds real comparisons in continuous assignments.
It also converts bit based constants to real values when needed
by the comparisons.
2008-01-15 19:48:26 -08:00
Cary R
e01e7b1280
Add arith/mult.r and arith/sum.r
...
This patch adds the missing real multiplication and summation operators
and the code to generate them when needed.
2008-01-04 15:41:01 -08:00
Cary R
81a45cdc5f
Make vpi_put_value to a real accept an integer value and add diagnostic code.
...
Modified the code that deals with real variables to accept an integer
value when using vpi_put_value(). Also added some type of diagnostic
message for all switch defaults that have an assert(0) to indicate an
error condition, removed CVS comments and removed a small section of
unreachable code.
2007-08-29 20:02:12 -07:00
steve
17a508047b
Better size error details.
2007-01-20 02:09:54 +00:00
steve
06d6ac4b33
Fix/implement signed right shift.
2006-07-30 02:51:35 +00:00
steve
e1ce72e245
Support wide divide nodes.
2006-01-03 06:19:31 +00:00
steve
bebcc05aab
Handle very wide % and / operations using expanded vector2 support.
2005-11-10 13:27:16 +00:00
steve
5ec7dde52f
Use iostream instead of stdio.
2005-09-15 22:54:04 +00:00
steve
3ac79c294a
Implement real valued signals and arith nodes.
2005-07-06 04:29:25 +00:00
steve
7091915b73
Reduce vvp_vector4 copies by using const references.
2005-06-22 00:04:48 +00:00
steve
ca488dff4e
Handle LPM shifts.
2005-03-19 06:23:49 +00:00
steve
bae8507c90
Implement .arith/mod.
2005-03-12 06:42:28 +00:00
steve
1c5b4881d7
Handle case inequality in netlists.
2005-03-09 05:52:03 +00:00
steve
5fe5d9184d
Handle signed divide.
2005-02-19 02:41:23 +00:00
steve
589eb1d315
Implement .arith/div.
2005-02-19 01:32:52 +00:00
steve
b48abb2148
Add wide .arith/mult, and vvp_vector2_t vectors.
2005-02-04 05:13:02 +00:00
steve
84b3e8e2dc
Get .arith/sub working.
2005-01-30 05:06:49 +00:00
steve
a121e703f3
Add vector4 implementation of .arith/mult.
2005-01-28 05:34:25 +00:00
steve
6a23f16860
.cmp/x supports signed magnitude compare.
2005-01-22 17:36:15 +00:00
steve
6c5e840617
Implement vectored CMP_EQ and NE
2005-01-22 16:21:11 +00:00
steve
b86fdd6bbc
Implement the .cmp/eeq LPM node.
2005-01-22 01:06:20 +00:00
steve
1c3668ea7f
Reimplement comparators as vvp_vector4_t nodes.
2005-01-16 04:19:08 +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
6d40326a2f
Fix LPM GE to match LPM GT behavior.
2004-09-22 16:44:07 +00:00
steve
57b8ca191f
Add signed LPM divide.
2004-06-30 02:15:57 +00:00
steve
35619771dd
Add structural equality compare nodes.
2004-06-16 16:33:25 +00:00
steve
d6420f9e0c
Fix arithmetic operators in 64bit processors.
2003-08-01 00:58:34 +00:00
steve
2c1e36ae9a
Add signed versions of .cmp/gt/ge
2003-04-11 05:15:38 +00:00
steve
52bf4e613f
conditional ident string using autoconfig.
2002-08-12 01:34:58 +00:00
steve
68f1316eba
Fix uninitialized memory accesses.
2002-05-07 04:15:43 +00:00
steve
dd79885f6d
Add structural modulus support down to vvp.
2002-01-03 04:19:01 +00:00
steve
ec4f8c80d5
Support functor delays for gates and UDP devices.
...
(Stephan Boettcher)
2001-12-06 03:31:24 +00:00
steve
fa23dafdae
Use functor pointers where vvp_ipoint_t is unneeded.
2001-11-07 03:34:41 +00:00
steve
cc5ddc0b6b
MacOSX 10.1 updates.
2001-11-04 05:03:21 +00:00
steve
a75326e2e0
Rewrite the functor type to have fewer functor modes,
...
and use objects to manage the different types.
(Stephan Boettcher)
2001-10-31 04:27:46 +00:00
steve
96a50d635d
Minor rework of summation carry propagation (Stephan Boettcher)
2001-10-27 03:22:26 +00:00
steve
4bb1bd4315
Get Division error into the division method!
2001-10-16 03:10:20 +00:00
steve
0164ad78be
Catch division by zero in .arith/div.
2001-10-16 03:06:18 +00:00
steve
36e1eab3f4
Add arith/div object.
2001-10-16 02:47:37 +00:00
steve
2fcab15704
Forgot to propagate carry.
2001-10-14 17:36:18 +00:00
steve
cfbad49d33
Very wide multiplication (Anthony Bybell)
2001-10-14 16:36:43 +00:00
steve
15a952a143
Remove width restriction on subtraction.
2001-07-13 00:38:57 +00:00
steve
da828a218f
Add support for REadOnlySync and monitors.
2001-07-11 02:27:21 +00:00