Stephen Williams
7132b8ff6b
Start runtime trace aids
...
The runtime is a vvp runtime engine debug aid that allows for
detailed dump into a debug log. The trace is enabled by setting
the VVP_DEBUG variable and activating specific debug messages
in the vvp source.
Signed-off-by: Stephen Williams <steve@icarus.com>
2007-07-11 21:38:56 -07:00
Stephen Williams
b54ef4f585
Variable drivers propogate initial values.
...
Make varable drivers (reg vectors and real) propagate their initial
values using a special init scheduler queue. This causes the net to
be loaded with reasonable initial values.
Signed-off-by: Stephen Williams <steve@icarus.com>
2007-07-11 21:31:09 -07:00
Stephen Williams
e75e7131ac
Fix signed compare with minus values
...
If the operands were negative, and not equal, the lt flag
would be set incorrectly.
Signed-off-by: Stephen Williams <steve@icarus.com>
2007-07-02 21:33:05 -07:00
Stephen Williams
21d6fb6bc6
Fix runtime crash dumping VCD
...
Words of net arrays were incorrectly added to the scope. They should
only be attached to the array, and accessed as a word of the array.
Signed-off-by: Stephen Williams <steve@icarus.com>
2007-06-30 09:34:02 -07:00
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
Stephen Williams
b525a63f50
Do not process back-slash escapes twice.
...
Backslash-escapes are processed early, during elaboration, so that
escaped characters show up in all places with the calculated value.
This means the $display formatting will get processed strings and
should not process back-slashes again.
Signed-off-by: Stephen Williams <steve@icarus.com>
2007-06-28 18:07:22 -07:00
Stephen Williams
ed698deeaa
Add support for collapsed/aliased arrays.
...
Arrays of nets that have all their words collapsed together can become
a collapsed array as a whole. Add support for this case in the vvp code
generator and runtime.
2007-06-24 18:17:37 -07:00
steve
e24e77660f
Detect and use the nan function.
2007-06-13 01:03:57 +00:00
steve
ae82eccdc4
handle constant inf values.
2007-06-12 02:36:58 +00:00
steve
fa18d9bc01
Do not propogate until initialized.
2007-06-12 02:25:00 +00:00
steve
0a38499941
Properly handle signed conversion to real
2007-06-07 03:20:15 +00:00
steve
55f8e5d364
int vs long expressions on 64bit arch (ldoolitt)
2007-06-05 21:52:22 +00:00
steve
67b1eee7ce
Better configuration messages (Alan Feldstein)
2007-05-16 23:59:12 +00:00
steve
26f47c26f0
Handle arrayed strength-aware net devices.
2007-04-19 01:19:06 +00:00
steve
401faef5b8
Fix vpi_get_value vpiRealVal of signed constants.
2007-04-18 01:57:07 +00:00
steve
089bdefad1
Fix div/mod calculation that caused a hang for some divisions.
2007-04-15 02:07:24 +00:00
steve
9931e4c013
Finish up part select of array words.
2007-04-14 04:43:01 +00:00
steve
acdb278b97
Handle system functions with no arguments.
2007-04-14 03:27:51 +00:00
steve
fb7ce1d330
Support for vpi_get_value of scaler values. (ravi@bluespec)
2007-04-12 04:45:52 +00:00
steve
8f9738719b
Add support for vpiSize on system task handle. (ravi@bluespec.com)
2007-04-12 04:33:39 +00:00
steve
31914c7fcd
vpip_make_binary_const cannot free the string passed in to it.
2007-04-12 04:25:58 +00:00
steve
65baeaed8f
vpi_free_object doesnot free callback out from under runtime.
2007-04-10 04:32:05 +00:00
steve
5047a3add3
variable arrays generated without writing a record for each word.
2007-04-10 01:26:15 +00:00
steve
611d2c81b3
Spelling fixes from Larry
2007-03-22 16:08:14 +00:00
steve
74ac5dbf58
Cast to remove ambiguities calling pow function.
2007-03-07 03:55:42 +00:00
steve
ae88f5cc68
Lint fixes.
2007-03-07 00:38:15 +00:00
steve
6f810e0dba
Assert that modpath finds a delay.
2007-03-04 06:26:58 +00:00
steve
b68f17483e
UDP schedules its output instead of pushing it.
2007-03-04 06:26:33 +00:00
steve
fc9a90c9e0
Add support for edge sensitive spec paths.
2007-03-02 06:13:22 +00:00
steve
243cf94165
Add support for conditional specify delay paths.
2007-03-01 06:19:38 +00:00
steve
d2ba78559a
Process Verilog escape sequences much earlier.
2007-02-25 23:08:24 +00:00
steve
2c32a81d91
Improved version of pr1639064 patch handles huge values. (larry doolittle)
2007-02-19 01:45:56 +00:00
steve
cd5b1b111c
Fix print of integers as real. <larry Doolittle>
2007-02-18 06:01:25 +00:00
steve
9d4fc92df5
Get page size from sysconf.
2007-02-16 23:30:14 +00:00
steve
4f74d9df98
Add the mov/wr opcode.
2007-02-14 05:58:14 +00:00
steve
7d2d87f7c6
NAND output is inverted once AFTER AND is calculated.
2007-02-12 05:08:27 +00:00
steve
3fd80b09f0
Administrative/Makefile fixes, mostly for windows. (Cary R.)
2007-02-06 05:07:31 +00:00
steve
d958a4a5af
Handle relink of continuous assignment.
2007-02-05 01:08:10 +00:00
steve
6d91be5b19
Use inttypes.h instead of stdint.h for portability.
2007-02-02 04:33:00 +00:00
steve
85ceea7358
Fix missing check for thread bits width in ADDI
2007-01-31 22:28:55 +00:00
steve
8e1c7e2891
More literal implementation of inertial delay model.
2007-01-26 05:15:41 +00:00
steve
17a508047b
Better size error details.
2007-01-20 02:09:54 +00:00
steve
11a83c352d
Add missing array source files to CVS.
2007-01-18 00:24:10 +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
0ae45e5644
Fix build error overloading pow function.
2006-12-10 17:15:48 +00:00
steve
316422d93b
Handle vpiRealVal reads of signals, and real anyedge events.
2006-12-09 19:06:53 +00:00
steve
4f8a7ea84a
Use new vvp_fun_XXX in place of old functor table for NAND/NOR/XNOR/EEQ.
2006-11-28 05:57:20 +00:00
steve
0af4ea7cbe
Better document the .scope record.
2006-11-23 23:02:36 +00:00
steve
2ac30824ac
Fix spurious event from net8 that is forced.
2006-11-22 06:10:05 +00:00
steve
f5a204720d
Support part writes into part select nodes.
2006-11-16 01:11:26 +00:00
steve
841378426f
Updates for Cygwin portability (pr1585922)
2006-10-30 22:45:36 +00:00
steve
26e2e85ffa
Handle non-constant delays on indexed non-blocking assignments.
2006-10-05 01:23:53 +00:00
steve
e1f712356f
Allow rosync events to create new rosync events.
2006-09-29 16:55:04 +00:00
steve
6593b603ad
Modpath delay chooses correct delay for edge.
2006-09-29 03:57:01 +00:00
steve
44ca0fe798
rwsync callback fixes from Ben Staveley (with modifications.)
2006-09-29 01:24:34 +00:00
steve
0edb5a7547
Basic support for specify timing.
2006-09-23 04:57:19 +00:00
steve
ceb6bf4afd
Correct return code for vpi_put_userdata.
2006-09-22 22:33:00 +00:00
steve
50800fd3a1
Add support for real valued modulus.
2006-08-09 05:19:08 +00:00
steve
fc0695beb6
Handle 64bit delay constants.
2006-08-08 05:11:37 +00:00
steve
00891db0d2
Fix typo in initialize of new event_time cell.
2006-08-06 18:17:00 +00:00
steve
898b0e0365
Support release of a for/linked reg.
2006-08-04 04:37:37 +00:00
steve
5bcf083662
Better comments for vpi_fopen function.
2006-08-03 05:05:31 +00:00
steve
1bd530c144
Fix infinite loop padding binary string to result.
2006-08-03 05:05:06 +00:00
steve
06d6ac4b33
Fix/implement signed right shift.
2006-07-30 02:51:35 +00:00
steve
5348ac14a5
Delay object supports real valued delays.
2006-07-08 21:48:00 +00:00
steve
80f30be9d0
Add support for system functions in continuous assignments.
2006-06-18 04:15:50 +00:00
steve
68e52ce6b7
Synchronous primitives only follow edges.
2006-05-18 05:13:45 +00:00
steve
f0e114d59f
Lexor os never interactive.
2006-05-17 04:15:12 +00:00
steve
1ef91f800f
Forgot to invert nand output.
2006-05-01 20:47:03 +00:00
steve
81bfbd1549
Reduce steps to make logic output.
2006-05-01 18:44:08 +00:00
steve
56f70ec702
Include math.h with lround implementation.
2006-04-28 15:44:37 +00:00
steve
949054e000
lround takes double, not float.
2006-04-28 15:40:30 +00:00
steve
fd94268315
Detect missing lround function.
2006-04-27 05:04:59 +00:00
steve
36039e13ec
schedule takes relative, not absolute, time.
2006-04-27 04:38:00 +00:00
steve
3727052000
Include bit value in assertion message.
2006-04-26 04:39:23 +00:00
steve
39ff233cf1
Detect the presence of stdint.h
2006-04-25 22:41:10 +00:00
steve
f001d0001a
Add support for generate loops w/ wires and gates.
2006-04-10 00:37:42 +00:00
steve
8defa4bcd0
Syntax for carrying sign with parameter.
2006-03-18 22:51:10 +00:00
steve
dabdcf0fc9
const/non-const clash.
2006-03-15 19:15:34 +00:00
steve
6f46d12e07
Add support for logic parameters.
2006-03-08 05:29:42 +00:00
steve
5f5a6b5396
Cleanup vpi_const to use vec4 values.
2006-03-06 05:43:15 +00:00
steve
1b911ad87a
Add support for memory value change callbacks.
2006-03-05 05:45:58 +00:00
steve
b0b614ae0e
Some trivial log message improvements.
2006-02-22 03:08:53 +00:00
steve
9c16c34422
Put strings for reg objects.
2006-02-21 05:31:54 +00:00
steve
170e57d662
Callbacks for named event triggers.
2006-02-21 04:57:26 +00:00
steve
065f342278
Remove dead code.
2006-02-21 03:19:03 +00:00
steve
a721586acb
Get vpiVectorVal from memory words.
2006-02-21 02:56:49 +00:00
steve
50ad415c0d
Support string values for memory words.
2006-02-21 02:39:27 +00:00
steve
d0de678d57
real-to-integer conversions round, not truncate.
2006-02-02 05:48:45 +00:00
steve
d434dd7296
Allow part selects of memory words in l-values.
2006-02-02 02:43:57 +00:00
steve
e1ce72e245
Support wide divide nodes.
2006-01-03 06:19:31 +00:00
steve
b7861fa6e8
Require explicit delay node from source.
2006-01-02 05:32:06 +00:00
steve
1021e5acc8
Fixes for stubborn compilers.
2005-12-05 21:21:18 +00:00
steve
0c73f209de
Be more careful with double types.
2005-12-05 21:19:55 +00:00
steve
0873c52474
vpi_signal supports vvp_fun_signal_vec types.
2005-11-30 00:42:14 +00:00
steve
6161904bf8
Fix type safety warning from gcc.
2005-11-27 16:47:14 +00:00
steve
2b8fd28a95
Force instruction that can be indexed.
2005-11-26 17:16:05 +00:00
steve
7efa6be236
stop/continue messages go through MCD for logging.
2005-11-25 18:35:38 +00:00
steve
35951510c5
Put vec8 and vec4 nets into seperate net classes.
2005-11-25 17:55:26 +00:00
steve
bebcc05aab
Handle very wide % and / operations using expanded vector2 support.
2005-11-10 13:27:16 +00:00