Stephen Williams
80fad3df32
Clean up excess debug print from modpath patch
...
Clean up excess debug print from modpath patch.
Signed-off-by: Stephen Williams <steve@icarus.com>
2007-11-02 20:52:06 -07:00
Stephen Williams
68cf5baba5
Out path term for modpaths
...
Add vvp support for modpath path term outputs. This also introduces
the concept of path terms and moves towards the path term in general
for getting at the endpoits of a modpath.
2007-11-02 19:59:08 -07:00
Stephen Williams
148e6768f6
Clean up modpath vpi interface
...
Clean up rather poorly written modpath vpi support, fixing the
parse of the modpath syntax element to not use pointless globals.
Collect the modpath code into the delay.cc file instead of the
inapropriate vpi_signal.cc source file.
Signed-off-by: Stephen Williams <steve@icarus.com>
2007-10-30 20:14:40 -07:00
Stephen Williams
acdbe274f9
Fix signed ocmpare of negative numbers.
...
signed compare in proceedural code was comparing the absolute
value if both operands were negative. Wrong!
Signed-off-by: Stephen Williams <steve@icarus.com>
2007-10-03 22:26:42 -07:00
Stephen Williams
5d750b7779
Optomize runtime using immediate compare
...
Implement compare-immediate instructions and generate code to use
these new instructions to improve runtime performance.
Signed-off-by: Stephen Williams <steve@icarus.com>
2007-10-03 20:58:40 -07:00
Cary R
3258b7726b
Pass local scope precision from compiler to vvp/etc.
...
This patch adds ivl_scope_time_precision() to the compiler which can
be used to extract the local scope precision. tgt-stub and tgt-vvp
have been modified to use this new function and output a value that
is appropriate. The vvp runtime has been altered to use this new
data which is accessed with the vpip_time_precision_from_handle()
function. vpiTimePrecision uses this function to return the correct
precision.
2007-09-28 15:08:02 -07:00
Cary R
d186f2da04
Ambiguous resolution needs to preserve the MSB for StL/etc. signals.
...
The MSB was not being preserved for L strength signals. This caused
undefined signals (x) to become defined (0).
2007-09-24 17:20:01 -07:00
Larry Doolittle
bcc034f634
Compile time warnings
...
Fix compile time warnings detected by gccc 4.2.
2007-09-20 17:20:48 -07:00
yang yun ju
9d39b3a514
Access to modpaths via VPI
...
Add support for accessing the modpath nodes via PLI,
and add support for the vpi_set_delays and vpi_put_delays
functions to set the delays on those paths.
- GSoC 2007
2007-09-10 15:30:00 -07:00
Cary R
7c852aa075
Add cmos/rcmos primitives.
...
This patch adds the cmos and rcmos primitives.
2007-09-06 18:46:22 -07:00
Martin Whitaker
963b26283a
Generate scopes are more like begin-end scopes
...
Apparently making generate scopes look like module instances
confuses some 3rd party tools that see this information in the
VCD dump.
2007-09-01 15:06:53 -07:00
Cary R
c7538386fc
Start of simulation event needed to be run after initialization events.
...
This patch splits the end of compile and the start of simulation call
backs code into two different procedures. The end of compile events are
still executed at the same time they alway were. The start of simulation
events are now run after initialization.
2007-08-29 20:20:03 -07:00
Cary R
fa1c0ae2a2
$finish() now stops at the end of the time step not immediately.
...
The event loop used to check for $finish at every iteration. This patch
alters this behavior to only check just before you advance to the next
time step. This allows events for the current time step to complete.
2007-08-29 20:07:55 -07: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
Stephen Williams
76b7346ee0
forgot to check it initialization calls
...
Signed-off-by: Stephen Williams <steve@icarus.com>
2007-08-28 17:32:04 -07:00
Stephen Williams
bef55d4426
Nets initialize with z value.
...
At time zero, nets (not variables) need to be initialized with z
instead of x.
Signed-off-by: Stephen Williams <steve@icarus.com>
2007-08-28 16:56:01 -07:00
Stephen Williams
11ec505697
Logic gates can take part select inputs
...
It is possible for the compiler to generate logic gates that have
inputs from part select nodes. This implements the part select
input methods.
Signed-off-by: Stephen Williams <steve@icarus.com>
2007-08-28 16:52:44 -07:00
Cary R
15058a31b9
vpiFullName for real variables will now return the correct value.
...
This patch makes vpiFullName for real variables return the correct
value. A Scope reference was added to the base structure along with
the relevant code to support generating the full name. A couple of
memory leaks were plugged and some formatting fixed as well.
2007-08-17 11:40:01 -07:00
Cary R
6653202e91
Enhance vpi_handle_by_name to accept either a scope or a module.
...
It appears that other simulators allow the second argument to
vpi_handle_by_name to be either a scope or a module. Allowing
a module in addition to a scope significantly increases the
usability of this function.
2007-08-16 14:36:06 -07:00
Cary R
951f9f2bbf
Add vpiType to the vpi_get_str() function.
...
vpi_get_str() can now return a reasonable value for most of the
types used in vvp. I'm not certain I got all of them, but they
are easy to add if any are missing. I also fixed a couple of
typos that I found while looking for all the different types.
2007-08-16 10:48:28 -07:00
Cary R
06c15862e8
Add the vpiFullName property to binary and string parameters.
...
This patch adds the missing vpiFullName property to binary and
string parameters (FYI real parameters are not currently supported
by the VPI interface).
2007-08-15 10:06:41 -07:00
Cary R
239523b3c7
Implement the swrite* and sformat system tasks plus a few other fixes.
...
This patch implements the swrite* and sformat system tasks. It also
makes $simtime distinguishable from the other integer time tasks.
This was needed to get the correct time units when $simtime was given
as an argument to $swrite*. The string constant code was also modified
to allow a string to be returned as a vector (0/1 bit pattern).
Here are some more specifics about the swrite* changes.
1. They do not share formatting code with the other display functions,
so they may/will produce different results.
2. All %{alpha} codes allow a width and justification. Others have been
enhanced (%t allows the default width and precision to be overridden,
time functions print with time formatting, better error checking and
messages, etc.).
3. %u and %z formatting codes have been added. It is important to note
that these two formats can produce embedded NULLs, since these
functions are returning a string anything after the first NULL will
not be reachable! memcpy is used instead of regular string processing
where needed so that the original string will contain the total
result. The size returned when the string is created is the true
length. A warning will be printed if a string with embedded NULLs is
produced (strlen() does not match the true length).
4. Real numbers are printed with %g instead of %f.
Once this new formatting code has been evaluated we should incorporate
the changes/fixes into the formatting code for the other functions or
the other functions could be modified to use this new code. The true
string length is available so we should be able to work around the
embedded NULL problem.
2007-08-13 20:07:12 -07:00
Stephen Williams
1942899a3f
Fix return of net strength value.
...
The calculated return value for the calculated strength value of
a net was left dangling. This patch fixes that. See pr1770199 in
the regression test suite.
Signed-off-by: Stephen Williams <steve@icarus.com>
2007-08-10 21:51:13 -07:00
Cary R
1aa4394d75
Check the random function seed type and a fix to handle time variables.
...
The standard states that the seed for the random functions should be
an integer/time variable or a register. This patch fixes the compiletf
routines to check for this. There is also a small patch to
vvp/vpi_signal.cc that removes an assert that was failing and replaces
it with appropriate code. The assert was verifying that the source was
not bigger than an integer. The problem with this is that a time
variable or register may be bigger than an integer. I altered the code
to remove the assert and copy only the lower (8 * sizeof integer) bits.
The potential overflow/loss of precision is not checked. This passes
the regression tests.
2007-07-25 21:36:06 -07:00
Stephen Williams
8dc23dad59
Delay compiletf until bindings are complete
...
Delat the compiletf calls until after all the label references
are resolved and link bindings are complete. Otherwise, there may
be dangling references.
Signed-off-by: Stephen Williams <steve@icarus.com>
2007-07-24 18:24:24 -07:00
Cary R
b23eb1b917
[PATCH] Add compiletf routine for deposit system task and fix string constants.
...
This patch adds a compiletf routine to the $deposit system task and
simplifies the calltf routine. It also patches the constant string code
to return an appropriate integer value when needed. A number of compiletf
routines that check for this can now be simplified since this (string
constants) no longer causes an assert in an integer environment.
2007-07-23 21:23:55 -07:00
Stephen Williams
a6bd1ff3ce
Vector parts into reduction nets
...
In rare cases, the reduction logic nodes may get vector part inputs.
This patch adds support for vector parts entering a reduction node.
Signed-off-by: Stephen Williams <steve@icarus.com>
2007-07-22 21:52:28 -07:00
Stephen Williams
3d51810f01
Merge branch 'master' of steve-icarus@icarus.com:git/verilog
2007-07-20 19:35:22 -07:00
Stephen Williams
dd5e34dc90
Invalid assertion on udp port count
...
The port input count assertion was triggering incorrectly. It was
comparing the count with the bytes instead of bits in a word.
Signed-off-by: Stephen Williams <steve@icarus.com>
2007-07-20 19:31:27 -07:00
Cary R
a359ec45f7
Pass the finish and stop system task argument correctly.
...
The argument passed to $finish and $stop is not currently used, but it
is now passed down to the functions that may someday do something
useful with it (schedule_finish() and schedule_stop() in vvp/schedule.cc).
2007-07-20 14:01:35 -07:00
Stephen Williams
b327b86e4a
Propagate real values properly
...
Be careful to include bitwise differences in double values, because
it is the bit pattern we are passing aroung, not the arithmetic value.
Signed-off-by: Stephen Williams <steve@icarus.com>
2007-07-13 18:42:35 -07:00
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
steve
8d49abf967
Document the MUXZ functor.
2005-11-10 13:25:31 +00:00
steve
8e2898e51a
Fix compile of net/real aliases.
2005-10-12 17:28:07 +00:00
steve
560c5a2584
Add alias nodes.
2005-10-12 17:23:15 +00:00
steve
2842a65fd1
Make sure the new size sticks in resize method.
2005-10-04 04:41:07 +00:00
steve
01a6dd61ca
Support put_value of string values.
2005-09-21 01:04:59 +00:00
steve
bf8b085159
Clean up compiler warnings.
2005-09-20 18:34:01 +00:00
steve
ee22550047
Lazy processing of vvp_fun_part functor.
2005-09-20 00:51:53 +00:00
steve
2b07c7a685
Prevent some excess scheduling of logic propagation events.
2005-09-19 22:47:28 +00:00
steve
be73be8c98
Spelling patches from Larry.
2005-09-19 21:45:35 +00:00
steve
e2a1b90b12
Use lazy eval of BUF/NOT/OR/XOR gates.
2005-09-19 21:45:09 +00:00
steve
988a0a7048
Add the load/v.p instruction.
2005-09-17 04:01:01 +00:00
steve
5ec7dde52f
Use iostream instead of stdio.
2005-09-15 22:54:04 +00:00
steve
65584e6dde
Add word integer compares.
2005-09-14 02:50:07 +00:00
steve
ad761069c7
Support MUXR functors.
2005-09-01 04:08:47 +00:00
steve
3ff2488d4f
Clean up a few overflowed shifts.
2005-08-30 00:49:42 +00:00
steve
efd7825964
minor correction to address check in of_MOV1XZ
2005-08-30 00:49:21 +00:00
steve
70f146924a
Safe handling of C left shift.
2005-08-29 04:46:52 +00:00
steve
7c19eb51e7
Minor cleanup.
2005-08-29 04:46:13 +00:00
steve
6f839aa5df
Eliminate int to vvp_bit4_t casts.
2005-08-29 02:38:50 +00:00
steve
5cf2ce6499
Fix bit destination address in of_AND
2005-08-27 03:28:57 +00:00
steve
73453996a9
Be more cautios about accessing out-of-range bits.
2005-08-27 03:28:16 +00:00
steve
bc489a7761
Bring threads into the vvp_vector4_t structure.
2005-08-27 02:34:42 +00:00
steve
a8d49921ee
gcc4 compile errors.
2005-07-14 23:34:18 +00:00
steve
559a1fd359
Remove the .word statement.
2005-07-13 04:58:29 +00:00
steve
3ac79c294a
Implement real valued signals and arith nodes.
2005-07-06 04:29:25 +00:00
steve
60b9121c6c
Make vector2 multiply more portable.
2005-06-27 21:13:14 +00:00
steve
e3f300f4c2
AND functor explicitly knows its width.
2005-06-26 21:08:38 +00:00
steve
1c6be44724
More verbose debugging of part select width errors.
2005-06-26 21:08:11 +00:00
steve
9cac88330b
AND gates propogate through scheduler, not directly.
2005-06-26 18:06:29 +00:00
steve
de1dd2f2b3
Make bit masks of vector4_t 64bit aware.
2005-06-26 01:57:22 +00:00
steve
6c8e1f7834
inline the vvp_send_vec4_pv function.
2005-06-24 02:16:42 +00:00
steve
b58705b829
Inline more simple stuff, and more vector4_t by const reference for performance.
2005-06-22 18:30:12 +00:00
steve
7091915b73
Reduce vvp_vector4 copies by using const references.
2005-06-22 00:04:48 +00:00
steve
5513974b78
Optimize vvp_scalar_t handling, and fun_buf Z handling.
2005-06-21 22:48:23 +00:00
steve
ad78af2f91
Inline some commonly called vvp_vector4_t methods.
2005-06-20 01:28:14 +00:00
steve
1b30bac9f3
Optimize the LOAD_VEC implementation.
2005-06-19 18:42:00 +00:00
steve
094dd7e4de
threads member for waitable_hook_s needs initailizing.
2005-06-17 23:47:02 +00:00
steve
3b91db96cd
Support set of IntVal to memory words.
2005-06-17 05:13:07 +00:00
steve
4cc421b3b7
Make functors know their own width.
2005-06-17 03:46:52 +00:00
steve
466ab5c2c7
Resolv do not propogate inputs that do not change.
2005-06-15 00:47:15 +00:00
steve
cd14ee77ae
Add the assign_v0_d instruction.
2005-06-14 01:44:09 +00:00
steve
21c7abf090
Accomodate fussy compilers.
2005-06-14 00:42:06 +00:00
steve
80cac983c6
More unified vec4 to hex string functions.
2005-06-13 00:54:04 +00:00
steve
f5ba93eeb6
Remove unused ft_MOS truth tables.
2005-06-12 21:56:16 +00:00
steve
668781788b
Support resistive mos devices.
2005-06-12 15:13:37 +00:00
steve
86729f52ca
Remove functor classes, no longer needed.
2005-06-12 01:42:20 +00:00
steve
fb8ddbbfde
Remove useless references to functor.h
2005-06-12 01:25:27 +00:00
steve
2736859d8f
Remove useless references to functor.h
2005-06-12 01:10:26 +00:00
steve
a59f3b1fa6
Implement nmos and pmos devices.
2005-06-12 00:44:49 +00:00
steve
dd4f765b06
Remove unneeded references to functor.h
2005-06-11 18:11:18 +00:00
steve
f465bca305
UD delays use delay node.
2005-06-11 16:21:08 +00:00
steve
cb967c10fe
Handle all edge types of a synchronous UDP.
2005-06-11 02:04:48 +00:00
steve
3607fb584d
Support UDP initial values.
2005-06-09 05:04:45 +00:00
steve
77792dcc2f
Support sequential UDP devices.
2005-06-09 04:12:30 +00:00
steve
42433f4df9
Add support for notif0/1 gates.
...
Make delay nodes support inertial delay.
Add the %force/link instruction.
2005-06-02 16:02:11 +00:00
steve
aa2e178667
Handle event/or with specific, efficient nodes.
2005-05-25 05:44:51 +00:00
steve
b6fd4f610b
Add a sign-extension node.
2005-05-24 01:43:27 +00:00
steve
28168e0f57
Fixup structural GT comparators.
2005-05-18 03:46:01 +00:00
steve
3a8e2e688d
Clean up definition of vvp_vector4_t insertion into ostream.
2005-05-17 20:54:56 +00:00
steve
037ab9efe9
Document real behavior of set/v instruction.
2005-05-17 20:54:00 +00:00
steve
d6a89a40cf
Clean up instruction type reverences to bits.
2005-05-17 20:51:06 +00:00
steve
870395e627
Move functor delays to vvp_delay_fun object.
2005-05-14 19:43:23 +00:00
steve
c701fb615b
Give buffers support for simple delays.
2005-05-13 05:13:12 +00:00
steve
ed78c5b677
Force part base out of bounds if index is invalid.
2005-05-09 00:36:58 +00:00
steve
7dd0d255a6
Add support for variable part select.
2005-05-08 23:40:14 +00:00
steve
5277124c76
Implement non-blocking part assign.
2005-05-07 03:15:42 +00:00
steve
f6da64e2ec
ostream insert for vvp_vector4_t objects.
2005-05-07 03:14:50 +00:00
steve
2894cdefc7
Add cassign/link instruction.
2005-05-01 22:05:21 +00:00
steve
99aff5f10b
Remove dead functor code.
2005-04-28 04:59:53 +00:00
steve
e9bf021f6c
vvp_fun_signal eliminates duplicate propagations.
2005-04-25 04:42:17 +00:00
steve
f884652c19
Add DFF nodes.
2005-04-24 20:07:25 +00:00
steve
a3f696cd06
Add vvp driver functor for logic outputs,
...
Add ostream output operators for debugging.
2005-04-13 06:34:20 +00:00
steve
061fdf5a0d
scalars with 0-drivers are hiZ by definition.
2005-04-09 06:00:58 +00:00
steve
fe91ebe77c
Default behavior for recv_vec8 methods.
2005-04-09 05:30:38 +00:00
steve
c5cf77dc7e
Support row level wildcards.
2005-04-04 05:13:59 +00:00
steve
20d3a8508e
Remove dead fvectors class.
2005-04-03 06:13:34 +00:00
steve
f16b69c1e5
Remove dead fvectors class.
2005-04-03 06:13:34 +00:00
steve
573e07225d
Rework the vvp_delay_t class.
2005-04-03 05:45:51 +00:00
steve
b7ef2fcb0a
Reimplement combinational UDPs.
2005-04-01 06:02:45 +00:00
steve
d8a456bd67
The indexed set can write a vector, not just a bit.
2005-03-22 05:18:34 +00:00
steve
ca488dff4e
Handle LPM shifts.
2005-03-19 06:23:49 +00:00
steve
53da6e9a33
Add support for LPM_UFUNC user defined functions.
2005-03-18 02:56:03 +00:00
steve
bae8507c90
Implement .arith/mod.
2005-03-12 06:42:28 +00:00
steve
313502f360
Implement VPI access to signal strengths,
...
Fix resolution of ambiguous drive pairs,
Fix spelling of scalar.
2005-03-12 04:27:42 +00:00
steve
1c5b4881d7
Handle case inequality in netlists.
2005-03-09 05:52:03 +00:00
steve
789c95b1c1
reimplement memory ports.
2005-03-09 04:52:40 +00:00
steve
72240c460e
Remove dead code from scheduler.
2005-03-06 17:25:03 +00:00
steve
8e135a1020
Non blocking assign to memory words.
2005-03-06 17:07:48 +00:00
steve
e7c2e06260
Check that lead.mv vector width matches word.
2005-03-05 05:45:18 +00:00
steve
73997f813c
Get read width of unitialized memory words right.
2005-03-05 05:44:32 +00:00
steve
75af32bd3c
Get base address from word ranges that VPI user passed.
2005-03-05 05:43:03 +00:00
steve
85286cc086
Rearrange how memories are supported as vvp_vector4 arrays.
2005-03-03 04:33:10 +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
c5e7e2ec0a
Signals may receive part vectors from %set/x0
...
instructions. Re-implement the %set/x0 to do
just that. Remove the useless %set/x0/x instruction.
2005-02-14 01:50:23 +00:00
steve
ff067bb959
tri0 and tri1 resolvers must replace HiZ with 0/1 after resolution.
2005-02-13 05:26:30 +00:00
steve
97e0723bd1
Cleanup unused truth tables.
2005-02-12 23:05:25 +00:00
steve
85d9ebded8
Implement the vvp_fun_muxz functor.
2005-02-12 22:50:52 +00:00
steve
355ead0002
Add debug dumps for vectors, and fix vvp_scaler_t make from BIT4_X values.
2005-02-12 06:13:22 +00:00
steve
4fce321900
Support C8 constants.
2005-02-12 03:27:18 +00:00
steve
2e6d2f8e98
Support scheduling vvp_vector8_t objects.
2005-02-12 03:26:14 +00:00
steve
a0583ef124
Simplify vvp_scaler strength representation.
2005-02-10 04:54:41 +00:00
steve
ca1bbc79a3
Add .repeat functor and BIFIF functors.
2005-02-07 22:42:42 +00:00
steve
b48abb2148
Add wide .arith/mult, and vvp_vector2_t vectors.
2005-02-04 05:13:02 +00:00
steve
018014368b
Add support for reduction logic gates.
2005-02-03 04:55:13 +00:00
steve
84b3e8e2dc
Get .arith/sub working.
2005-01-30 05:06:49 +00:00
steve
0609c5f18c
Use scheduler to initialize constant functor inputs.
2005-01-29 17:53:25 +00:00
steve
d51503ffd8
move AND to buitin instead of table.
2005-01-29 17:52:06 +00:00
steve
07f64bc603
Support interactive mode even without readline.
2005-01-29 06:29:17 +00:00
steve
bf3679b7d4
Add the -s flag to start up interactive.
2005-01-29 06:28:19 +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
1d1dda5a5d
Implement the %load/x instruction.
2005-01-22 00:58:22 +00:00
steve
3222031970
Add missing concat.cc to cvs
2005-01-22 00:01:09 +00:00
steve
1c3668ea7f
Reimplement comparators as vvp_vector4_t nodes.
2005-01-16 04:19:08 +00:00
steve
9735b0e8b3
Add the .part/pv node and related functionality.
2005-01-09 20:11:15 +00:00
steve
d5c33420ab
vvp_fun_signal propagates vvp_vector8_t vectors when appropriate.
2005-01-01 02:12:34 +00:00
steve
34a14b983b
Implement .resolv functors, and stub signals recv_vec8 method.
2004-12-31 06:00:06 +00:00
steve
d1e2538aba
No need to draw BUF or BUFZ tables.
2004-12-31 05:57:25 +00:00
steve
8bfc75d1ee
Add specific BUFZ functor.
2004-12-31 05:56:36 +00:00
steve
b1b93f860c
Fix uninitialized fun pointer for resolver nodes.
2004-12-31 05:54:46 +00:00
steve
1674d692b7
Add the part concatenation node (.concat).
...
Add a vvp_event_anyedge class to handle the special
case of .event statements of edge type. This also
frees the posedge/negedge types to handle all 4 inputs.
Implement table functor recv_vec4 method to receive
and process vectors.
2004-12-29 23:45:13 +00:00
steve
7166598ed0
Fix missing output propagation of part node.
2004-12-29 23:44:39 +00:00
steve
8939467ac5
Rework named events and event/or.
2004-12-18 18:52:44 +00:00
steve
26d97558c4
Replace single release with release/net and release/reg.
2004-12-17 04:47:47 +00:00
steve
78dda42493
Add the force/v instruction.
2004-12-15 17:17:42 +00:00
steve
36f36bd2ac
Add basic force/release capabilities.
2004-12-15 17:16: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
b3a3428b9a
Clean up bin32 files.
2004-10-04 01:09:07 +00:00
steve
e827f8f8c1
Cleanup and factoring of autoconf.
2004-09-27 22:34:10 +00:00
steve
6d40326a2f
Fix LPM GE to match LPM GT behavior.
2004-09-22 16:44:07 +00:00
steve
ba3790dc2b
.net range values can be signed.
2004-08-28 16:26:41 +00:00
steve
6cd7c1a650
Some explination of vpi_func arguments.
2004-06-30 03:00:36 +00:00
steve
57b8ca191f
Add signed LPM divide.
2004-06-30 02:15:57 +00:00
steve
51fd249d8a
Watch type of mak bit matches masked value.
2004-06-19 16:17:02 +00:00
steve
050ec6f325
Add signed modulus operator.
2004-06-19 15:52:53 +00:00
steve
35619771dd
Add structural equality compare nodes.
2004-06-16 16:33:25 +00:00
steve
8d3102388b
Pick sign bit from the right place in the exponent number.
2004-06-04 23:26:34 +00:00
steve
a7ae8adf9b
Support delayed/non-blocking assignment to reals and others.
2004-05-19 03:26:24 +00:00
steve
324ba713e5
Handle explicit set of unsigned long width. For -m32
2004-05-18 18:45:11 +00:00
steve
69ebd0c49e
Allow vpiParamter as a string type.
2004-05-18 18:43:38 +00:00
steve
dd7472d125
Mingw needs -liberty, but Cygwin cannot tolerate it.
2004-03-11 06:06:59 +00:00
steve
33783385d2
Get vpiModule of signals.
2004-03-09 03:11:02 +00:00
steve
914746f6f3
Minor spelling fixes.
2004-03-08 02:33:49 +00:00
steve
efef8fba85
Add load command to interactive stop.
...
Support decimal constants passed interactive to system tasks.
2004-02-21 00:44:34 +00:00
steve
a4c5ff0bd3
vpiStringVal does not include leading nulls.
2004-02-20 01:52:25 +00:00
steve
8d2858c555
vpiStringVal writes need to set all the bits of a reg.
2004-02-19 21:31:59 +00:00
steve
2d7380c03b
PRototypes match the standard.
2004-02-18 17:52:00 +00:00
steve
17c891bc9c
Fix type mismatches of various VPI functions.
2004-02-18 02:51:59 +00:00
steve
081a6a4088
Cleanup configure detection of win32.
2004-02-15 03:17:36 +00:00
steve
8188c4c690
Makefile cleanup.
2004-02-10 19:25:00 +00:00
steve
8aca824c0f
Further unify the configure.in scripts.
2004-01-15 20:52:32 +00:00
steve
d4525ddc16
Some systems dlsym requires leading _ or not on whim.
2003-12-12 05:43:08 +00:00
steve
4c8c14ceec
Ducument lxt2 access.
2003-12-07 20:05:56 +00:00
steve
2c4358c9ff
Propagate named event outputs, if any.
2003-11-26 01:47:18 +00:00
steve
995cd449c5
Include config.h
2003-11-10 20:19:32 +00:00
steve
9db45e398e
Make sure makefile picks up include paths.
2003-11-08 16:20:33 +00:00
steve
1dfbe0f7f2
Fix conditional compilation of readline history.
2003-11-07 05:58:02 +00:00
steve
3e44a7121d
Include net objects in list display.
2003-10-15 02:17:39 +00:00
steve
468ffa4bd0
Default vpidir1 must match that of parent configure.
2003-10-09 05:58:06 +00:00
steve
9a232d545d
Completely support vvp32 when enabled.
2003-10-08 23:09:09 +00:00
steve
fc44f44879
Check for libhistory library.
2003-10-06 21:42:25 +00:00
steve
9b821c0dbd
Segregate 64bit and 32bit files on AMD64.
2003-10-06 18:58:32 +00:00
steve
52b756a6fa
Configure control for the vpi subdirectory.
2003-10-02 21:30:40 +00:00
steve
01d22e2005
Put libraries in libdir64.
2003-10-02 19:33:44 +00:00
steve
07ece95383
Slight performance tweaks of scheduler.
2003-09-26 02:15:15 +00:00
steve
2231b830db
Standard udp scheduling behavior.
2003-09-24 20:46:48 +00:00
steve
ed792c5321
Internal documentation of UDP devices.
2003-09-17 03:39:55 +00:00
steve
7e7735ce21
Get rid of spurious parse.cc.h error messages.
2003-09-13 00:59:56 +00:00
steve
537fe0547a
Comments.
2003-09-13 00:59:02 +00:00
steve
2418ab9063
Reimpelement scheduler to divide nonblocking assign queue out.
2003-09-09 00:56:45 +00:00
steve
2df976b4c6
Cross compile patches.
2003-09-05 18:04:16 +00:00
steve
59c5759fdf
Add $push flag for threads.
2003-09-04 20:26:30 +00:00
steve
2272843511
32bit vs 64bit handling in SUBI.
2003-09-01 04:03:38 +00:00
steve
14150d6fba
ifdef idents correctly.
2003-08-26 16:26:01 +00:00
steve
64d795c53a
Preserve variable ranges all the way to the vpi.
2003-08-22 23:14:26 +00:00
steve
ec07674d40
Fix Makefiles to support read-only source directory.
2003-08-22 04:27:10 +00:00
steve
3dc73aa292
vpiIntVal treats x and z bits as 0.
2003-08-15 18:23:56 +00:00
steve
adcafb6f24
Install man pages on Windows build.
2003-08-10 00:39:13 +00:00
steve
38d851f04e
Ignore automake files.
2003-08-03 21:16:16 +00:00
steve
d6420f9e0c
Fix arithmetic operators in 64bit processors.
2003-08-01 00:58:34 +00:00
steve
2d5b48ce0a
Initialize allocated memory.
2003-08-01 00:58:03 +00:00
steve
d653a7e88d
Add support for triand and trior.
2003-07-30 01:13:28 +00:00
steve
c6cf7e017b
Forgot to read the /x parameter for %load/x
2003-07-22 20:30:24 +00:00
steve
5e954e94fa
Overflow of unsigned when calculating unsigned long value.
2003-07-21 02:39:15 +00:00
steve
4b7b32d385
vpi_mcd_vprintf can only scan the va_list once.
2003-07-21 01:20:59 +00:00
steve
0cfac55d8a
Update config.guess and config.sub
2003-07-20 18:18:09 +00:00
steve
dccd7ec7e2
Remove the vvp_cpoint_t indirect code pointer.
2003-07-03 20:03:36 +00:00
steve
e8a222e783
Fix mingw portability problems.
2003-06-25 04:04:19 +00:00
steve
996d4c76db
vpi_handle diagnostic message.
2003-06-22 04:19:26 +00:00
steve
71a404a546
Add arithmetic shift operators.
2003-06-18 03:55:18 +00:00
steve
ae418c6a6d
Account for all 64 bits in results of $time.
2003-06-18 00:54:28 +00:00
steve
2321df4bfc
Remove short int restrictions from vvp opcodes. (part 2)
2003-06-17 21:28:59 +00:00
steve
96ca885aca
Remove short int restrictions from vvp opcodes.
2003-06-17 19:17:42 +00:00
steve
bbdf03b457
1) setlinebuf() for vpi_trace
...
2) Addes error checks for trace file opens
3) removes now extraneous flushes
4) fixes acc_next() bug
2003-06-17 16:55:07 +00:00
steve
54e809ffa4
Include verbose messages in log output.
2003-06-13 19:51:08 +00:00
steve
83dfce00d2
support vpiVectorVal for value of thread vector.
2003-06-11 05:07:31 +00:00
steve
218693794d
Use -mieee for alpha compiles.
2003-06-11 05:07:07 +00:00
steve
1c65ea08e8
1) Adds configure logic to clean up compiler warnings
...
2) adds acc_compare_handle, acc_fetch_range, acc_next_scope and
tf_isetrealdelay, acc_handle_scope
3) makes acc_next reentrant
4) adds basic vpiWire type support
5) fills in some acc_object_of_type() and acc_fetch_{full}type()
6) add vpiLeftRange/RigthRange to signals
2003-06-04 01:56:20 +00:00
steve
bc91ec41f2
Add tf_strgetp functions.
2003-05-30 04:22:13 +00:00
steve
0555a5f182
vpi_trace of vpi_free_object.
2003-05-30 04:08:28 +00:00
steve
e7b3168466
Add tf_getp/putp support for integers
...
and real valued arguments.
Add tf_mipname function.
2003-05-29 03:46:21 +00:00
steve
8cfef65bd8
Implement acc_fetch_defname and its infrastructure in vvp.
2003-05-29 02:21:45 +00:00
steve
ea2cef34ae
Some asserts that check for thread vector overflow.
2003-05-28 03:10:52 +00:00
steve
5c34f53e9c
PLI get time units/precision.
2003-05-27 16:22:10 +00:00
steve
e157b3f9c5
Add the set/x0/x instruction.
2003-05-26 04:44:54 +00:00
steve
c29b1639e1
Useless cast.
2003-05-25 03:04:55 +00:00
steve
639d3aad1e
More thorough overflow error message.
2003-05-24 02:48:37 +00:00
steve
e3e4e648d7
Add vpi_fopen and vpi_get_file.
2003-05-23 04:04:02 +00:00
steve
3770dda0b8
Assert that parameters fix into opcode.
2003-05-23 03:44:34 +00:00
steve
0d779098f0
Fix spelling of HAVE_LIBREADLINE
2003-05-20 03:48:23 +00:00
steve
218d74f7bb
Fallback functionality if readline is not present.
2003-05-16 03:50:28 +00:00
steve
2e3ce49400
Arrange for mcd id=00_00_00_01 to go to stdout
...
as well as a user specified log file, set log
file to buffer lines.
Add vpi_flush function, and clear up some cunfused
return codes from other vpi functions.
Adjust $display and vcd/lxt messages to use the
standard output/log file.
2003-05-15 16:51:08 +00:00
steve
04d32a4d4c
Return all 64bits of time in vpi_get_time.
2003-05-15 01:24:46 +00:00
steve
4ace97a083
ufunc calls to functions can have scheduling complexities.
2003-05-07 03:39:12 +00:00
steve
1b7c876fd8
Event callbacks support vpi_remove_cb.
2003-05-04 20:43:36 +00:00
steve
78a2ef04a9
Add put_value with transport delay.
2003-05-02 04:29:57 +00:00
steve
60229d96a5
Support vpiScaledRealTime.
2003-04-27 04:19:24 +00:00
steve
6df92f7cca
Properly skip cancelled callbacks.
2003-04-25 04:36:42 +00:00
steve
d5642e6bdf
Preserve user specifiec CFLAGS/CPPFLAGS.
2003-04-23 05:27:44 +00:00
steve
54ea845f34
VPI Access to named events.
2003-04-23 03:09:25 +00:00
steve
299f6f8551
acc_fetch_value support for %v format.
2003-04-20 02:49:07 +00:00
steve
59aa9052f8
Add support for cbNextSimTime.
2003-04-19 23:32:57 +00:00
steve
8ac644c746
Add vpoiScalarVal support for signals.
2003-04-12 18:56:57 +00:00
steve
2c1e36ae9a
Add signed versions of .cmp/gt/ge
2003-04-11 05:15:38 +00:00
steve
e4ddf1e8c0
Propagate output of sequential udp like non-blocksing assign.
2003-04-01 05:32:56 +00:00
steve
4b543de7f9
Add support for division of real operands.
2003-03-28 02:33:56 +00:00
steve
6b71345142
Add the q edge flag.
2003-03-18 01:32:33 +00:00
steve
1afad677e9
Make a safe copy of const string values.
2003-03-17 23:47:25 +00:00
steve
08154ec4d1
Remove excess assignment.
2003-03-15 05:44:50 +00:00
steve
857ec1079a
Refix vpiRealVal scaling of time.
2003-03-14 18:01:00 +00:00
steve
380a52cde7
More detail in vpi tracing.
2003-03-14 05:02:34 +00:00
steve
a6e0e34c6e
Streamline parameter string value, get paramete scope.
2003-03-14 05:02:13 +00:00
steve
d34045b904
vpiModule handle of scope is parent scope.
2003-03-14 05:01:22 +00:00
steve
fd4985cc62
Support vpi_get of vpiTimeUnit.
2003-03-14 05:00:44 +00:00
steve
e6db4113a5
Warnings about long long time.
2003-03-13 20:31:40 +00:00
steve
8d0cb2aa7f
signed/unsigned warnings.
2003-03-13 05:07:10 +00:00
steve
9e9326cc6d
Use rbufs instead of static buffers.
2003-03-13 04:59:21 +00:00
steve
f45fd155c4
Remove the obsolete functor delete functions.
2003-03-13 04:36:57 +00:00
steve
c2ce8bb26b
Add VPI_TRACE tracing of VPI calls.
...
vpi_handle_by_name takes a const char*.
2003-03-13 04:34:18 +00:00
steve
385a688830
Add VPI tracing.
2003-03-12 02:50:32 +00:00
steve
654ad4c97e
Direct support for string parameters.
2003-03-10 23:37:07 +00:00
steve
aff8faf44d
More carful about shifting beyond word size.
2003-03-10 19:14:27 +00:00
steve
2b543ddf16
Missing include ctype.h.
2003-03-08 20:59:41 +00:00
steve
90d1877856
Include LDFLAGS in build lines.
2003-03-08 20:59:23 +00:00
steve
0aaf0218ca
Support vector put of function return values.
2003-03-07 02:44:14 +00:00
steve
cc1e952d0b
Add means to suppress wveform output
2003-03-06 20:04:42 +00:00
steve
ef47ea31fa
Use hashed name strings for identifiers.
2003-03-06 04:32:00 +00:00
steve
59f820aacd
Include all libs, not just extra libs.
2003-03-04 03:13:57 +00:00
steve
85991e88e8
Support vpiName for system task/function calls.
2003-03-03 03:27:35 +00:00
steve
c4f57e74ee
.scope directives store only the base names.
2003-03-03 01:47:50 +00:00
steve
c2f90ac911
Careful about compiletf calls.
2003-03-01 00:46:13 +00:00
steve
21b0f4955e
Allow read of realvar as int.
2003-02-28 21:20:34 +00:00
steve
feee40603c
Makefile cleanups to better support concurrent make.
2003-02-27 22:13:22 +00:00
steve
3a653c73e7
Add scope type have a vpi_get function.
2003-02-27 21:54:44 +00:00
steve
aa3297a925
Add the cvt/vr instruction.
2003-02-27 20:36:29 +00:00
steve
5ca6991067
Some error messages around asserts.
2003-02-25 01:17:28 +00:00
steve
70daee399f
Interactive task calls take string arguments.
2003-02-24 06:35:45 +00:00
steve
7f8433148c
Add to interactive stop mode support for
...
current scope, the ability to scan/traverse
scopes, and the ability to call system tasks.
2003-02-23 06:41:54 +00:00
steve
5b7c1bc7e2
Basic support for system task calls.
2003-02-22 06:32:36 +00:00
steve
2935e28ffb
When checking for stop, remember to reschedule.
2003-02-22 06:26:58 +00:00
steve
1951a81a0b
Use ranlib where available, for MacOSX
2003-02-22 04:39:32 +00:00
steve
19c6bd2139
Check for stopped flag in certain strategic points.
2003-02-22 02:52:06 +00:00
steve
2de0597038
Add vpiStop and interactive mode.
2003-02-21 03:40:35 +00:00
steve
de4bfe4e4f
Document new -lxt and -vcd extended arguments.
2003-02-20 00:50:28 +00:00
steve
ec48049a69
Strict correctness of vpi_free_object results.
2003-02-17 00:58:38 +00:00
steve
74192632fa
Permanent allocate vpiSignals more efficiently.
2003-02-16 23:40:05 +00:00
steve
fe4546498b
Take the global_flag to ivl_dlopen.
2003-02-16 05:42:06 +00:00
steve
66785b7997
Support .vpl files as loadable LIBRARIES.
2003-02-16 02:21:20 +00:00
steve
2713694338
Include vpiRealVar objects in vpiVariables scan.
2003-02-11 05:20:45 +00:00
steve
dcbb8d0780
Add value change callbacks to real variables.
2003-02-10 05:20:10 +00:00
steve
b726395d1e
Spelling fixes.
2003-02-09 23:33:26 +00:00
steve
3c18663c3f
Mke getopt ignore options after the file name.
2003-02-07 02:45:05 +00:00
steve
dd56d9a17c
Add the %sub/wr instruction.
2003-02-06 17:41:47 +00:00
steve
68de9bf5d2
Support constant types for thread words.
2003-02-06 17:41:33 +00:00
steve
be4be5c650
Add hex and binary formatting of real values.
2003-02-04 04:03:40 +00:00
steve
ce489d8d84
Allow $display of $simtime.
2003-02-03 01:09:20 +00:00
steve
27f7a00df0
Proper rounding of scaled integer time.
2003-02-02 02:14:14 +00:00
steve
222f15c293
Five vpi_free_object a default behavior.
2003-02-02 01:40:24 +00:00
steve
fec6a10771
Make $time and $realtime available to $display uniquely.
2003-02-01 05:50:04 +00:00
steve
04ada23119
Support in various contexts the $realtime
...
system task.
2003-01-27 00:14:37 +00:00
steve
7de4108bad
Add %cvt/ir and %cvt/ri instructions, and support
...
real values passed as arguments to VPI tasks.
2003-01-26 18:16:22 +00:00
steve
9a5a00f836
Add thread word array, and add the instructions,
...
%add/wr, %cmp/wr, %load/wr, %mul/wr and %set/wr.
2003-01-25 23:48:05 +00:00
steve
dfc9a9474a
Add a dummy function to reduce confusion on some systems.
2003-01-19 00:03:23 +00:00
steve
ddd43f1378
Add a means to clear the module search path.
2003-01-18 23:55:35 +00:00
steve
4ec91047dd
Ignore vvp.exp
2003-01-10 19:02:47 +00:00
steve
0579ae08cd
Add missing vpi entry points.
2003-01-10 19:02:21 +00:00
steve
9074999666
Remove thunks from vpi init.
2003-01-10 19:01:38 +00:00
steve
301cbe31ad
Remove vpithunk, and move libvpi to vvp directory.
2003-01-10 03:06:32 +00:00
steve
6416f8b90e
Add vpi_put_userdata
2003-01-09 04:09:44 +00:00
steve
e6eae5fd15
Allocate res-buf in bigger chunks
2003-01-07 18:07:50 +00:00
steve
aa3a6dba4e
Schedule wait lists of threads as a single event,
...
to save on events. Also, improve efficiency of
event_s allocation. Add some event statistics to
get an idea where performance is really going.
2003-01-06 23:57:26 +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
8ab909a765
Add vpi_handle_by_name to the VPI interface,
...
and bump the vpithunk magic number.
2002-12-11 23:55:22 +00:00
steve
ef55086543
Support put of vpiStringVal to signals.
2002-11-25 23:33:45 +00:00
steve
8e30bc9f9e
Careful of left operands to shift that are constant.
2002-11-22 00:01:50 +00:00
steve
03afbf157b
%set/x0 instruction to support bounds checking.
2002-11-21 22:43:13 +00:00
steve
4539632f34
Add vpiScope iterate on vpiScope objects.
2002-11-15 22:14:12 +00:00
steve
013b18b3dc
leading underscore test for Windows more robust.
2002-11-09 06:03:57 +00:00
steve
1b84893ccb
Add the %assign/v0 instruction.
2002-11-08 04:59:57 +00:00
steve
b0a7909162
functor_set takes bit and strength, not 2 strengths.
2002-11-07 03:11:43 +00:00
steve
d7ae85a13a
Add vector set and load instructions.
2002-11-07 02:32:39 +00:00
steve
4e5dd49a37
Fix mask calculate when MOV_b is right on the word boundary.
2002-11-05 03:46:44 +00:00
steve
8463dcc878
ignore parse.output
2002-11-05 02:19:37 +00:00
steve
e4540c3d0d
Better error message for load failure on Windows.
2002-11-05 02:11:56 +00:00
steve
20c8550139
Compiler error wrt ptrdiff_t.
2002-11-03 20:33:43 +00:00
steve
6c67a64fc3
Get VectorVals from constant values.
2002-11-03 02:07:24 +00:00
steve
7557a46382
Remove some now useless asserts.
2002-09-21 23:47:30 +00:00
steve
acd5e86e04
Fix disable in arbitrary fork/join situations.
2002-09-21 04:55:00 +00:00
steve
ab94b0a636
disable threads with children.
2002-09-20 03:59:34 +00:00
steve
de6d696667
Add support for cbAfterDelay.
2002-09-20 02:42:11 +00:00
steve
3d3116d48b
Add support for binary NOR operator.
2002-09-18 04:29:55 +00:00
steve
7a5c30d297
printf size warning.
2002-09-18 03:34:07 +00:00
steve
466656b167
Allow forward references of memories.
2002-09-18 02:55:18 +00:00
steve
ed9a2c4b3f
Proper initialization of the memories table.
2002-09-17 00:42:22 +00:00
steve
dac99b9374
Add support for binary nand operator.
2002-09-12 15:49:43 +00:00
steve
1573477caf
Account for buffer overrun in memory word names.
2002-09-12 15:13:07 +00:00
steve
0277035496
Fix wrecked rbuf in vpi_get_str of signals and memories.
2002-09-11 16:06:57 +00:00
steve
33f462fdf6
Actually set strength pointer when getting strength val.
2002-09-10 02:27:11 +00:00
steve
c9212a9a09
Implement vpi_remove_cb for cbValueChange.
2002-09-07 04:54:51 +00:00
steve
ea21fab379
Add support for %v is the display system task.
...
Change the encoding of H and L outputs from
the bufif devices so that they are logic x.
2002-09-06 04:56:28 +00:00
steve
e79f62c5fa
Generate x out for x select on wide muxes.
2002-08-29 03:04:01 +00:00
steve
cbca31555d
Add the %subi instruction, and use it where possible.
2002-08-28 18:38:07 +00:00
steve
1db8319bce
Add the %load/nx opcode to index vpi nets.
2002-08-28 17:15:06 +00:00
steve
aa390f2a91
Fix l-value indexing of memories and vectors so that
...
an unknown (x) index causes so cell to be addresses.
Fix tangling of label identifiers in the fork-join
code generator.
2002-08-27 05:39:57 +00:00
steve
c34e318f8c
Fix = vs == error.
2002-08-24 05:02:58 +00:00
steve
985c34bfd9
Fix behavioral eval of x?a:b expressions.
2002-08-22 03:38:40 +00:00
steve
ac21d96bd8
x in index values leads to 0.
2002-08-18 01:05:50 +00:00
steve
52bf4e613f
conditional ident string using autoconfig.
2002-08-12 01:34:58 +00:00
steve
774f78cd3e
Autoconfig ident support.
2002-08-12 00:27:10 +00:00
steve
aca1dcf848
Add missing Log and Ident strings.
2002-08-11 23:47:04 +00:00
steve
faff19af7b
vvp.pdf comes from the man page.
2002-08-10 22:12:01 +00:00
steve
ea779ac7dd
Documentation, and excessive inlines.
2002-08-07 00:54:20 +00:00
steve
db2c842d15
Account for the tail readonly callbacks.
2002-07-31 03:22:44 +00:00
steve
c0e22a6533
Set vpi_mode_flag to represent cpReadOnlySync actions.
2002-07-31 03:22:23 +00:00
steve
e2f537628f
integral type/ptrdiff_t warning.
2002-07-23 15:11:41 +00:00
steve
7fcaeacd65
Careful not to overrun vector buffer.
2002-07-23 02:36:34 +00:00
steve
57aee7ca26
Add vpi_chk_error and vpi_control functions.
2002-07-19 01:57:26 +00:00
steve
2fcfe9f2c3
vpi_iterate returns 0 on error.
2002-07-19 01:12:50 +00:00
steve
2df2619029
Support put of wide vpiVectorVal to signal.
2002-07-19 00:36:36 +00:00
steve
c5d03d3a25
Fix uninitialized thread pointer in named event.
2002-07-17 18:30:01 +00:00
steve
9e1570dc80
Implementation of vpi_handle_by_name, and
...
add the vpiVariables iterator.
2002-07-17 05:13:43 +00:00
steve
41239078a9
Fix initialization of symbol table string heap.
2002-07-15 00:21:42 +00:00
steve
fbaf8f91bb
Fix vpiScope iterator.
2002-07-14 02:52:05 +00:00
steve
329e943e4e
Use result buf for event and scope names.
2002-07-12 18:23:30 +00:00
steve
26a80005d6
Fix typo.
2002-07-12 16:30:44 +00:00
steve
e41ee7632d
Document the IVERILOG_DUMPER variable.
2002-07-12 02:35:35 +00:00
steve
b7aaf51fbd
vpiIntegerVars can have callbacks.
2002-07-12 02:07:36 +00:00
steve
5a885165b2
vpi_iterate return null if there is nothing to iterate.
2002-07-12 02:04:44 +00:00
steve
e1a4e27173
Dynamic resizevpi result buf in more places.
2002-07-09 03:24:37 +00:00
steve
2b06a293b6
Fix split of root btree node.
2002-07-09 03:20:51 +00:00
steve
54b96ea7bd
Count different types of functors.
2002-07-05 20:08:44 +00:00
steve
fd8ceac170
Names of vpi objects allocated as vpip_strings.
2002-07-05 17:14:15 +00:00
steve
a05d8c2823
Symbol table uses more efficient key string allocator,
...
and remove all the symbol tables after compile is done.
2002-07-05 04:40:59 +00:00
steve
626f418ab0
Track opcode memory space.
2002-07-05 03:46:43 +00:00
steve
5792220dcb
Remove the vpi object symbol table after compile.
2002-07-05 02:50:57 +00:00
steve
b2762f63a2
Fix s_vpi_vecval array byte size.
2002-07-04 16:37:07 +00:00
steve
d3e63088d8
Dynamic size result buffer for _str and _get_value functions.
2002-07-03 23:39:57 +00:00
steve
ccbb1e5f5a
don't pollute name space
...
fix vecval for Z/X cases
2002-07-03 23:16:27 +00:00
steve
3f80bead1b
vpiName, vpiFullName support in memory types,
...
length checks for *_get_str() buffers,
temporary buffers for *_get_str() data,
dynamic storage for vpi_get_data() in memory types
shared with signal white space
2002-07-03 02:09:38 +00:00
steve
c5bde6560c
Limit word writing to vector limits.
2002-07-01 15:36:12 +00:00
steve
210010a390
Get vpiVectorVal for memories.
2002-06-30 04:35:47 +00:00
steve
99b3cc4464
vpiVectorVal of very wide signals.
2002-06-30 02:52:36 +00:00
steve
d8d07eb129
trivial performance boost.
2002-06-23 18:23:09 +00:00
steve
f4a4ee00d0
Add support for special integer vectors.
2002-06-21 04:58:55 +00:00
steve
870c35eece
sign extend signed vectors vpiIntVal.
2002-06-14 22:05:28 +00:00
steve
2be3507422
Stub value change callbacks for consts and modules.
2002-06-11 03:47:34 +00:00
steve
a91c4f66ce
Check for null pointers from users.
2002-06-02 19:05:50 +00:00
steve
d68153dea3
Add %cmpi/u instruction.
2002-06-02 18:55:58 +00:00
steve
1ce50993f0
Add the %muli instruction.
2002-05-31 20:04:22 +00:00
steve
af6f0c800f
Slight improvement in %mov performance.
2002-05-31 04:09:58 +00:00
steve
48f65cef40
Word oriented bit storage.
2002-05-31 00:05:49 +00:00
steve
b6b364a09d
Add %addi, which is faster to simulate.
2002-05-29 16:29:34 +00:00
steve
f704d4d3ff
Use binary search to speed up deep lookups.
2002-05-29 05:37:35 +00:00
steve
450b9ab85c
Callbacks can happen during calltf functions.
2002-05-28 22:55:20 +00:00
steve
bcd49b94dd
Able to disable thread self.
2002-05-27 00:53:10 +00:00
steve
d63e994ea5
Detect long division by zero.
2002-05-24 04:55:13 +00:00
steve
7ce713356e
Define SIZEOF_UNSIGNED_LONG_LONG
2002-05-24 00:43:16 +00:00
steve
cfab250671
Add callbacks for vpiNamedEvent objects.
2002-05-19 05:18:16 +00:00
steve
b1c0f7306d
Add vpi support for named events.
...
Add vpi_mode_flag to track the mode of the
vpi engine. This is for error checking.
2002-05-18 02:34:11 +00:00
steve
a7b7781fe9
Rewire vpiMemory and vpiMemoryWord handles to
...
support proper iteration of words, and the
vpiIndex value.
2002-05-17 04:12:19 +00:00
steve
21fe6afe8d
null terminate the reversed decimal string
2002-05-17 04:05:38 +00:00
steve
48da46986b
Support set by string for reg objects.
2002-05-15 04:48:46 +00:00
steve
94cef20e49
task calls and forks push the thread event in the queue.
2002-05-12 23:44:41 +00:00
steve
da0c4c7565
Get thread vectors by vpiIntVal.
2002-05-12 00:32:21 +00:00
steve
9c28f085d8
Set and get memory words by string value.
2002-05-11 04:39:35 +00:00
steve
e9af0c7485
Support scope iterate over vpiNet,vpiReg/vpiMemory.
2002-05-10 16:00:57 +00:00
steve
88ae1b7b3c
Handle null time and calltf pointers.
2002-05-09 03:34:31 +00:00
steve
68f1316eba
Fix uninitialized memory accesses.
2002-05-07 04:15:43 +00:00
steve
822a085d97
Properly free vpi callback objects.
2002-05-04 03:17:29 +00:00
steve
f23aec7f14
Add simulator event callbacks.
2002-05-04 03:03:17 +00:00
steve
fb457128bf
Add vpiModule iterator to vpiScope objects.
2002-05-03 15:44:11 +00:00
steve
844fe3b9bc
Trim leading nulls from string forms.
2002-04-27 23:26:24 +00:00
steve
271855377f
Support drawing vpiBinaryConst in hex.
2002-04-27 22:36:39 +00:00
steve
52ea13819a
Add the assign/d instruction for computed delays.
2002-04-21 22:29:49 +00:00
steve
eb708c1540
Support specified times in cbReadOnlySync, and
...
add support for cbReadWriteSync.
Keep simulation time in a 64bit number.
2002-04-20 04:33:23 +00:00
steve
eb27dc8db3
Support signed integer division.
2002-04-14 18:41:34 +00:00
steve
a18662ed13
Allow signed constant vectors for call_vpi parameters.
2002-04-14 03:53:20 +00:00
steve
3275d1f252
Support signed expressions through to VPI.
2002-04-14 02:56:19 +00:00
steve
e1a6bb10de
Formally define extended arguments to vvp.
2002-04-12 02:44:02 +00:00
steve
fa97ba0d9a
Set vpip_cur_task while calling compileft
2002-04-07 02:34:10 +00:00
steve
0c04e2976b
minor cleanup of formatting.
2002-04-07 00:46:21 +00:00
steve
c98c24b9ff
cbValueChange automatically replays.
2002-04-06 20:25:45 +00:00
steve
65159a2733
Update for newer bison.
2002-03-31 04:06:49 +00:00
steve
362b2aa604
vpip_bits_to_dec_str takes a bit array in a specific format.
2002-03-18 05:33:24 +00:00
steve
de252965ac
Add the .ufunc statement.
2002-03-18 00:19:34 +00:00
steve
f5049c2f14
Do not push values through logic gates.
2002-03-17 05:48:49 +00:00
steve
f77c7f3d18
Clean up edge detection code.
2002-03-17 03:24:34 +00:00
steve
f75fb3cd95
Force the push flags to be explicit.
2002-03-17 03:23:10 +00:00
steve
b0a489fb7f
Debug code for write to constants.
2002-03-08 05:41:45 +00:00
steve
01b9d5e023
Better linker error messages.
2002-03-05 05:31:52 +00:00
steve
6fa9415482
Initialize all the codes tables.
2002-03-01 05:43:59 +00:00
steve
c159ff3134
Add cleanup to verbose messages.
2002-03-01 05:43:14 +00:00
steve
efa5338e3b
out-of-memory asserts.
2002-03-01 05:42:50 +00:00
steve
6dcf880482
carriage return is white space.
2002-02-27 05:46:33 +00:00
steve
d55a890fdd
get bin or hex string values of memory words.
2002-02-06 04:48:34 +00:00
steve
f2cff31b6e
Clean up warnings.
2002-02-04 00:41:34 +00:00
steve
ddd3566d50
Add CVS tokens.
2002-02-03 05:51:31 +00:00
steve
ec82af0c74
Use Larrys bits-to-decimal-string code.
2002-02-03 01:01:51 +00:00
steve
9fa0f95003
Full support for $readmem ranges (Tom Verbeure)
2002-01-31 04:28:17 +00:00
steve
b906f4c0a1
Handle x in l-value of set/x
2002-01-26 02:08:07 +00:00
steve
d67ad166cd
Support display of strings with umber formats. (Tom Verbeure)
2002-01-25 03:24:19 +00:00
steve
a9be4e009f
Spelling in comment.
2002-01-24 04:17:46 +00:00
steve
6a98764b3b
Load modules with RTLD_LAZY
2002-01-23 04:54:37 +00:00
steve
da8d59757e
return calculated oval from UDP (Stephan Boettcher)
2002-01-20 23:27:51 +00:00
steve
a697157257
Support DesSTrVal for binary constants.
2002-01-15 03:21:18 +00:00
steve
ec070ee65b
Support vpiSize and vpiSigned for time objects.
2002-01-15 03:06:29 +00:00
steve
b274dada85
Support the BUFZ logic device.
2002-01-12 04:02:16 +00:00
steve
dee52dd2d0
Magic stime object support.
2002-01-11 05:21:47 +00:00
steve
4d3611c5f1
odd width thread vectors as strings.
2002-01-10 01:54:04 +00:00
steve
77c4c88a4c
String prints of non-round vectors (PR378)
2002-01-09 03:29:12 +00:00
steve
4291866b9f
Add vpi_get_vlog_info support.
2002-01-09 03:15:23 +00:00
steve
0aa033ddf3
Support scope for functors. (Stephan Boettcher)
2002-01-06 17:50:50 +00:00
steve
edba542c7a
Feedback output, not propagated output. (Stephan Boettcher)
2002-01-06 17:35:01 +00:00
steve
03d188fc52
Support weak functor inputs.
2002-01-06 03:15:13 +00:00
steve
6e1e658922
VPI access to root module scopes.
2002-01-06 00:48:39 +00:00
steve
71660fbaa5
Implement vpi_mcd_printf.
2002-01-04 02:26:36 +00:00
steve
dd79885f6d
Add structural modulus support down to vvp.
2002-01-03 04:19:01 +00:00
steve
51ffeb7c06
Use my own cfltype to defend against bison 1.30.
2002-01-02 02:39:34 +00:00
steve
a3fe753826
Account for negatives in cmp/s
2001-12-31 00:01:16 +00:00
steve
fd5c0cfa28
Support vpiStringVal in vhtread vectors.
2001-12-30 21:31:38 +00:00
steve
357a0ff23e
Detect bison and flex in configure.in
2001-12-30 17:20:33 +00:00
steve
5de8e0555c
push events through event/or lists.
2001-12-29 23:59:06 +00:00
steve
7c9fe0c173
clarify bufif output strenghts.
2001-12-19 23:43:03 +00:00
steve
fd0cb30a4d
Improved functor debug dumps.
2001-12-18 05:32:11 +00:00
steve
125c631091
Remove result length restrictions for vpi_get_value.
2001-12-18 05:31:54 +00:00
steve
ace6b0a767
Give tri0 and tri1 their proper strengths.
2001-12-15 02:11:51 +00:00
steve
7d494fd3d5
Support tri0 and tri1 resolvers.
2001-12-15 01:54:38 +00:00
steve
a0526cdd32
Arrange bufif to support notif as well.
2001-12-14 06:03:17 +00:00
steve
1ca6fe5519
Support strength syntax on functors.
2001-12-14 02:04:49 +00:00
steve
6b2c604124
Better variable names for functor chunks.
2001-12-14 01:59:28 +00:00
steve
a8c4729cf5
vpi_put_value of vpiIntVal for memory words.
2001-12-07 23:23:05 +00:00
steve
ec4f8c80d5
Support functor delays for gates and UDP devices.
...
(Stephan Boettcher)
2001-12-06 03:31:24 +00:00
steve
a50fe36ef8
Ignore foo and a.out.
2001-11-22 04:44:23 +00:00
steve
54bb59ae99
Support compile on MacosX 10.1.1 (Timothy J. Wood)
2001-11-17 17:57:58 +00:00
steve
d8970752b6
include stdlib.h for portability.
2001-11-16 04:22:27 +00:00
steve
4a74ae1795
Runtime support for functor delays. (Stephan Boettcher)
2001-11-10 18:07:11 +00:00
steve
aca5afa95c
Support vpiIntVal from memory.
2001-11-09 03:39:07 +00:00
steve
fa23dafdae
Use functor pointers where vvp_ipoint_t is unneeded.
2001-11-07 03:34:41 +00:00
steve
bf9a8f5021
Code rearrange. (Stephan Boettcher)
2001-11-06 03:07:21 +00:00
steve
cc5ddc0b6b
MacOSX 10.1 updates.
2001-11-04 05:03:21 +00:00
steve
58b5b583a7
Comment the scope type parser.
2001-11-02 05:43:11 +00:00
steve
9e385e6947
Implement split_node for symbol table (hendrik)
2001-11-02 04:48:03 +00:00
steve
7a0e73ef3d
Handle procedural constant functor pointers.
2001-11-01 04:42:39 +00:00
steve
82c0a2ebac
Add force/cassign/release/deassign support. (Stephan Boettcher)
2001-11-01 03:00:19 +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
438605fad5
Account for new scope type syntax on scope.
2001-10-31 03:07:11 +00:00
steve
21194c909a
Propagate functor push, to make assign better.
2001-10-27 03:43:56 +00:00
steve
96a50d635d
Minor rework of summation carry propagation (Stephan Boettcher)
2001-10-27 03:22:26 +00:00
steve
4e92501864
VPI support for callback to return values.
2001-10-25 04:19:53 +00:00
steve
b2f6953259
npmos outputs have 3bit strengths, not 2.
2001-10-24 03:18:52 +00:00
steve
2adea8de48
Fix carry between works for %add instruction.
2001-10-23 03:49:13 +00:00
steve
e45546e6f3
Install pdf version of the man pages.
2001-10-21 21:59:49 +00:00
steve
56954356db
Catch and X division by 0.
2001-10-20 23:20:32 +00:00
steve
acf3a4ec16
Print memory usage information if requested (Stephan Boettcher)
2001-10-20 01:03:42 +00:00
steve
73283768a5
Support rnpmos devices. (Philip Blundell)
2001-10-18 17:30:25 +00:00
steve
3924c51097
Support vpiVectorVal for signals. (Philip Blundell)
2001-10-18 04:52:31 +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
a3217db7b2
Add %div support (Anthony Bybell)
2001-10-16 01:26:54 +00:00
steve
42dab181cd
Carry the type of the scope (Stephan Boettcher)
2001-10-15 02:58:27 +00:00
steve
98d71de50f
sign warning.
2001-10-15 02:55:03 +00:00
steve
706f2ffc89
Support getting scope of scope, and scope of signals.
2001-10-15 01:49:50 +00:00
steve
a7054a91e5
libiberty is needed for mingw, and useable under cygwin.
2001-10-14 19:54:05 +00:00
steve
ad44b411fb
Try appending .vpi to module names with directories.
2001-10-14 18:42:46 +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
1b69bb5d2f
Handle mode-42 functor init.
2001-10-14 03:41:58 +00:00
steve
4b3b41cd79
Propogate strength-only changes from resolver.
2001-10-14 01:45:11 +00:00
steve
eab5793dda
Account for non-0 start address for memories (Stephan Boettcher)
2001-10-14 01:36:12 +00:00
steve
6cf2ddf541
M42 implementation of mode 2 (Stephan Boettcher)
2001-10-12 03:00:08 +00:00
steve
ad6bbe539f
functor lookup includes vpi signal search.
2001-10-12 02:53:47 +00:00
steve
f12864f69e
Propagate initial value of UDP.
2001-10-11 18:29:21 +00:00
steve
b61c89c104
npmos devices pass strength.
2001-10-11 18:20:51 +00:00
steve
de985ac3fd
Document the behavioral reduction or.
2001-10-10 04:48:12 +00:00
steve
789efb9832
Collect functor reference handling into a single function. (Stephan Boettcher)
2001-10-09 16:57:47 +00:00
steve
64ff74df37
Add the PMOS and NMOS functor types.
2001-10-09 02:28:16 +00:00
steve
41384a0e41
Reduce VCD output by removing duplicates. (Stephan Boettcher)
2001-09-30 05:18:46 +00:00
steve
3854e12024
Fencepost error in memory writes. (Stephan Boettcher)
2001-09-29 20:55:42 +00:00
steve
ff55af1e9e
Check address is in range for set. (Stephan Boettcher)
2001-09-29 04:45:20 +00:00
steve
a73cfbc2b5
MacOS X compile time changes. (Timothy Wood)
2001-09-20 03:21:01 +00:00
steve
21c844363a
Change UDP output only if table matches.
2001-09-19 04:10:40 +00:00
steve
3109906514
Detect C name mangling for dlsym.
2001-09-17 22:26:33 +00:00
steve
b2b8b89cd8
Make configure detect malloc.h
2001-09-15 18:27:04 +00:00
steve
03b635604a
initial structural memory propagation (Stephan Boettcher)
2001-09-11 01:54:58 +00:00
steve
0c5ce9dfec
Redo of_SUBU in a more obvious algorithm, that
...
is not significantly slower. Also, clean up the
implementation of %mov from a constant.
Fix initial clearing of vector by vector_to_array
2001-09-07 23:29:28 +00:00
steve
c29e11ed36
Add the assign/x0 and set/x opcodes.
2001-08-26 22:59:32 +00:00
steve
794ce68a6c
Only use fvectors for nets and vars.
2001-08-25 17:22:32 +00:00
steve
820d8b9edc
Support various other string formats for time.
2001-08-16 03:29:31 +00:00
steve
a98b5023a8
Describe the new .net behavior.
2001-08-10 04:31:27 +00:00
steve
645c8913f1
Neaten and document the resolv object.
2001-08-10 04:31:09 +00:00
steve
066284d5c2
Make sure arithmetic objects run at time 0.
2001-08-10 00:50:50 +00:00
steve
ca801574e3
Include functor address in debug functor print.
2001-08-09 22:25:30 +00:00
steve
606c1d38bb
Nets (wires) do not use their own functors.
...
Modifications to propagation of values.
(Stephan Boettcher)
2001-08-09 19:38:23 +00:00
steve
147ee59940
memory port bug fix.
2001-08-09 19:37:05 +00:00
steve
2e3fc89831
rearrange bison parameters for compatability.
2001-08-09 19:35:29 +00:00
steve
82bccd335d
Initial implementation of vvp_fvectors.
...
(Stephan Boettcher)
2001-08-08 01:05:06 +00:00
steve
bfc05e2d71
Unused variable warnings.
2001-08-08 00:57:20 +00:00
steve
c8135595be
signed/unsigned warnings?
2001-08-08 00:53:50 +00:00
steve
f5b9c26735
Detect system function used as a task.
2001-08-03 06:50:44 +00:00
steve
ed86dee65d
Initialize initial functor tables.
2001-07-30 03:53:01 +00:00
steve
537757a7b9
Cleanup defines and types for mingw compile.
2001-07-30 02:44:05 +00:00
steve
1583b1e84a
Reference the iverilog man page.
2001-07-29 22:50:44 +00:00
steve
140533db50
If module name has a /, skip the path search.
2001-07-28 03:29:42 +00:00
steve
7e0b0d7328
Support C<su0> and C<su1> special symbols.
2001-07-28 03:12:39 +00:00
steve
c5234e95cd
Make the -M flag add module search paths.
2001-07-26 03:13:51 +00:00
steve
7b79fd98e5
Fast UDP tables (Stephan Boettcher)
2001-07-24 01:44:50 +00:00
steve
6d5fcf5853
Implement string value for signals.
2001-07-24 01:34:56 +00:00
steve
b59cc5ff6d
Update config.sub and config.guess scripts.
2001-07-22 19:50:55 +00:00
steve
0bb9359c05
ignore config.cache.
2001-07-22 00:17:22 +00:00
steve
54140dadcf
Add the load/x instruction for bit selects.
2001-07-22 00:04:50 +00:00
steve
60c22aefeb
Add the -h flag for help. (Stephan Boettcher)
2001-07-21 21:18:55 +00:00
steve
69a2331791
Document the -l flag (Stephan Boettcher)
2001-07-21 21:15:51 +00:00
steve
bf67f386de
Add the vvp man page.
2001-07-21 04:34:25 +00:00
steve
a2f07011c1
Fix blending of ambiguous pairs.
2001-07-21 02:34:39 +00:00
steve
0bd6cf7b6f
Fix of_END when a middle thread ends.
2001-07-20 04:57:00 +00:00
steve
e773ccfe49
Add support for the delayx opcode.
2001-07-19 04:40:55 +00:00
steve
b3a8098506
EOF is the same as resume.
2001-07-19 02:20:55 +00:00
steve
e4139f4819
Schedule instead of propagating UDP output. (Stephan Boettcher)
2001-07-16 19:08:32 +00:00
steve
cfbfd9ec1d
Properly pad unknow values. (Stephan Boettcher)
2001-07-16 18:48:07 +00:00
steve
ae209a144f
Add a stdlog output for vvp, and vvp options
...
to direct them around. (Stephan Boettcher.)
2001-07-16 18:40:19 +00:00
steve
0e20be774e
Initialize allocated functors (Stephan Boettcher)
2001-07-16 18:06:01 +00:00
steve
c3ae00ae49
Merge sig and old_ival into union to save space.
2001-07-16 17:57:51 +00:00
steve
a7328ecce1
Rewire signal callback support for fast lookup. (Stephan Boettcher)
2001-07-13 03:02:34 +00:00
steve
15a952a143
Remove width restriction on subtraction.
2001-07-13 00:38:57 +00:00
steve
4e700bffb8
support postpone of $systask parameters. (Stephan Boettcher)
2001-07-11 04:43:57 +00:00
steve
7b2d4c9ef6
Get endian of vpiIntVal from constants.
2001-07-11 04:40:52 +00:00
steve
da828a218f
Add support for REadOnlySync and monitors.
2001-07-11 02:27:21 +00:00
steve
608e5a4dbb
Add the .shift/r functor.
2001-07-07 02:57:33 +00:00
steve
1e231c3338
Properly initialize unconnected shift inputs.
2001-07-06 05:02:43 +00:00
steve
39c39f0162
Add structural left shift (.shift/l)
2001-07-06 04:46:44 +00:00
steve
96403de903
Describe .shift behavior.
2001-07-04 22:59:04 +00:00
steve
ab5cad18de
Relax limit on behavioral subtraction.
2001-07-04 04:57:10 +00:00
steve
4c54e070ed
header statements donot necessarily end in a string.
2001-07-01 23:43:58 +00:00
steve
ab7b353ace
support fast programming by only writing the bits
...
that are listed in the input file.
2001-06-30 23:03:16 +00:00
steve
baac893d22
Support non-const right shift (unsigned).
2001-06-30 21:07:26 +00:00
steve
ae837a6347
Relax limit on width of structural sum.
2001-06-29 01:20:20 +00:00
steve
426fc18d10
Relax limit on width of structural sum.
2001-06-29 01:20:20 +00:00
steve
2531ed89cd
Properly support signal full names.
2001-06-29 00:44:56 +00:00
steve
64cabd8074
Give task/function definitions a vpi type object.
2001-06-25 03:12:06 +00:00
steve
a2d465804f
Add the %shiftl/i0 instruction.
2001-06-23 18:26:26 +00:00
steve
3c5d32637c
Only try the readline library if vvp_debus is enabled.
2001-06-23 18:26:12 +00:00
steve
c93cb71162
Allow forward references of task scopes. (Stephan Boettcher)
2001-06-23 01:04:07 +00:00
steve
1f1bfd0eab
Infinitely wide behavioral add.
2001-06-22 00:03:05 +00:00
steve
1f3eedcfd7
Some documentation of callback behavior.
2001-06-21 23:05:08 +00:00
steve
541f269c20
Support cbValueChange callbacks.
2001-06-21 22:54:12 +00:00
steve
81536481cc
Add structural EEQ gates (Stephan Boettcher)
2001-06-19 03:01:10 +00:00
steve
82e8e51736
1. Logic with more than 4 inputs
...
2. Id and name mangling
3. A memory leak in draw_net_in_scope()
(Stephan Boettcher)
2001-06-18 03:10:34 +00:00
steve
4159c98c58
More behavioral unary reduction operators.
...
(Stephan Boettcher)
2001-06-18 01:09:32 +00:00
steve
e40efec4bd
Add more UDP edge types, and finish up compile
...
and run-time support. (Stephan Boettcher)
2001-06-18 00:51:23 +00:00
steve
4b82d26f5e
Add support for structural multiply in t-dll.
...
Add code generators and vvp support for both
structural and behavioral multiply.
2001-06-16 23:45:05 +00:00
steve
63a02d1c0a
Relax width restriction for structural comparators.
2001-06-16 03:36:03 +00:00
steve
e002b1c1c4
Add .cmp statements for structural comparison.
2001-06-15 04:07:57 +00:00
steve
7009dc8d9b
Change the VPI call process so that loaded .vpi modules
...
use a function table instead of implicit binding.
2001-06-15 03:28:30 +00:00
steve
b6e1d63cb0
Change the VPI call process so that loaded .vpi modules
...
use a function table instead of implicit binding.
2001-06-12 03:53:10 +00:00
steve
5a279dbdc8
Instructions can forward reference functors.
2001-06-10 17:12:51 +00:00
steve
3ad3a2ab57
support scan of scope from VPI.
2001-06-10 16:47:49 +00:00
steve
19a7f3faeb
Implement .arith/sub subtraction.
2001-06-07 03:09:03 +00:00
steve
f3019ff5a0
Add structural addition.
2001-06-05 03:05:41 +00:00
steve
33ee5c26b0
Fix the fork example.
2001-06-03 20:36:52 +00:00
steve
1e9184f0f9
Make the bufif0 and bufif1 gates strength aware,
...
and accurately propagate strengths of outputs.
2001-05-31 04:12:43 +00:00
steve
19251f7a79
Propagate strength-values instead of drive strengths.
2001-05-30 03:02:35 +00:00
steve
39ffe91230
Add behavioral modulus.
2001-05-24 04:20:10 +00:00
steve
150fc6f3ee
correctly interpret signed decimal values.
2001-05-22 04:08:49 +00:00
steve
a7411eb00d
Get the initial inputs to functors set at xxxx.
2001-05-22 04:08:16 +00:00
steve
660fd7c1d4
Update the mingw build to not require cygwin files.
2001-05-22 02:14:47 +00:00
steve
176d707e0a
configure detect exe suffixes.
2001-05-22 02:05:50 +00:00
steve
e69a3ed934
declare getopt by hand in mingw32 compile.
2001-05-20 17:34:53 +00:00
steve
de8c725890
Mingw32 support (Venkat Iyer)
2001-05-20 15:09:39 +00:00
steve
e6f1510a40
Make vthread_put_but expand the space if needed.
2001-05-20 00:56:48 +00:00
steve
224af78463
Add support for system function calls.
2001-05-20 00:46:12 +00:00
steve
983bf5cbab
include missing externs on vthread_put_bit.
2001-05-20 00:45:43 +00:00
steve
96bcf6eac4
Get bit ordering right when making decimal strings.
2001-05-20 00:40:12 +00:00
steve
e85b669307
Add the glossary file.
2001-05-15 15:09:08 +00:00
steve
bf96986c38
test width of target with bit size of long.
2001-05-14 00:42:32 +00:00
steve
26cfbb2b7b
calculate the output of resolvers.
2001-05-13 21:05:06 +00:00
steve
f05b13c630
A resolver that understands some simple strengths.
2001-05-12 20:38:06 +00:00
steve
a6524e47e2
Silly copyright typo.
2001-05-12 01:48:57 +00:00
steve
02b9aa9163
No entry breakpoint if debug is compiled out.
2001-05-11 03:26:31 +00:00
steve
38db6fde0c
Help for enable-vvp-debug
2001-05-11 02:10:30 +00:00
steve
4f804577f9
Add the --enable-vvp-debug option to the configure
...
script of vvp, and detect getopt.h.
2001-05-11 02:06:14 +00:00
steve
44a182d92c
VVP support for memories in expressions,
...
including general support for thread bit
vectors as system task parameters.
(Stephan Boettcher)
2001-05-10 00:26:53 +00:00
steve
a88f030b52
Now that the interactive debugger exists,
...
there is no use for the output dump.
2001-05-09 04:23:18 +00:00
steve
4537de8120
Implement the .resolv syntax.
2001-05-09 02:53:25 +00:00
steve
100bdedac3
input file for memory test.
2001-05-09 02:48:53 +00:00
steve
914ad85e63
Add ivl and vvp.tgt support for memories in
...
expressions and l-values. (Stephan Boettcher)
2001-05-08 23:59:33 +00:00
steve
b3c2ad0a65
preliminary resolver documentation.
2001-05-08 23:58:43 +00:00
steve
2e12635494
Add to the debugger the ability to view and
...
break on functors.
Add strengths to functors at compile time,
and Make functors pass their strengths as they
propagate their output.
2001-05-08 23:32:26 +00:00
steve
e328cf9fed
Add the %ix/get instruction. (Stephan Boettcher)
2001-05-06 17:42:22 +00:00
steve
78af3dbdc0
Regularize the mode-42 functor handling.
2001-05-06 03:51:37 +00:00
steve
372674b4c0
Add the memory.vvp example.
2001-05-06 03:50:26 +00:00
steve
8d0f7e1594
Propagate non-x constant net values.
2001-05-06 00:18:13 +00:00
steve
de5930f7d8
Add the beginnings of an interactive debugger.
2001-05-05 23:55:46 +00:00
steve
e09a14aa44
Forward the simulation time for every event.
2001-05-05 23:51:49 +00:00
steve
12229e4826
Fix handling of a mode 1 functor that feeds into a
...
mode 2 functor. Feed the result only if the event
is triggered, and do pass to the output even if no
threads are waiting.
2001-05-03 04:54:33 +00:00
steve
a225fe304d
Document memory related opcodes,
...
parser uses numbv_s structures instead of the
symbv_s and a mess of unions,
Add the %is/sub instruction.
(Stephan Boettcher)
2001-05-02 23:16:50 +00:00
steve
0f9eb13245
Remove the init parameter of functors, and instead use
...
the special C<?> symbols to initialize inputs. This is
clearer and more regular.
2001-05-02 04:05:16 +00:00
steve
06437b7fba
Support behavioral subtraction.
2001-05-02 01:57:25 +00:00
steve
ba910c0fac
Describe a generic event a bit.
2001-05-02 01:38:13 +00:00
steve
28278d3c09
initialize is_schedule.
2001-05-02 01:37:38 +00:00
steve
2bf7653ab9
Implement %ix/load.
2001-05-01 05:00:02 +00:00
steve
cb39b3b65c
Account for ipoint_input_index behavior in inputs_connect.
2001-05-01 02:18:15 +00:00
steve
8b4befd4fc
Add support for memory objects. (Stephan Boettcher)
2001-05-01 01:09:39 +00:00
steve
f758010f01
Describe constant functor inputs in the symbol section.
2001-04-30 04:51:27 +00:00
steve
8057faccc1
Fix up functor inputs to support C<?> values.
2001-04-30 03:53:19 +00:00
steve
431b16639d
Add bufif0 and bufif1 functors.
2001-04-29 23:13:33 +00:00
steve
014e68b62f
Support .net constant inputs.
2001-04-29 22:59:46 +00:00
steve
efe41c2435
input connect cleanup. (Stephan Boettcher)
2001-04-28 20:24:03 +00:00
steve
f855cb19b8
Excessive header include.
2001-04-28 20:09:05 +00:00
steve
986885bd70
Add the mode-42 functor concept to UDPs.
2001-04-26 15:52:22 +00:00
steve
73c4893ef7
Implement simple MUXZ for ?: operators.
2001-04-26 05:12:02 +00:00
steve
62c9f39297
Redo and simplify UDP behavior.
2001-04-26 03:10:55 +00:00
steve
8b5f62a5e5
Support $deposit to a wire or reg.
2001-04-26 00:01:33 +00:00
steve
aec5841c7f
Implement vpi_put_value for signals.
2001-04-25 04:45:52 +00:00
steve
c997c090a1
Document the UDP implementation.
2001-04-25 04:35:05 +00:00
steve
ae23a8f6bf
Fix underflow when UDP has 1 input.
2001-04-24 03:48:53 +00:00
steve
8dfa322b8b
Support for UDP devices in VVP (Stephen Boettcher)
2001-04-24 02:23:58 +00:00
steve
102fd24dd2
Support unconnected .net objects.
2001-04-23 00:37:58 +00:00
steve
7c6f496765
Add NAND and XNOR functors.
2001-04-21 02:04:01 +00:00
steve
66f83f3b08
Working %disable and reap handling references from scheduler.
2001-04-21 00:34:39 +00:00
steve
57cd770650
%end complete the %join for the parent.
2001-04-18 05:04:19 +00:00
steve
3194b0c53a
Resolve forward references for %fork.
2001-04-18 05:03:49 +00:00
steve
9e8005f7b7
Put threads into scopes.
2001-04-18 04:21:23 +00:00
steve
41ce198a1f
add XOR support.
2001-04-15 16:37:48 +00:00
steve
05e30ed43b
Add support for behavioral xnor.
2001-04-15 04:07:56 +00:00
steve
60d068a33e
support the .event/or statement.
2001-04-14 05:10:56 +00:00
steve
e1a4b457c2
Initialize the waiting_for_event member.
2001-04-14 05:10:05 +00:00
steve
86e18226eb
More complete reap of all threads.
2001-04-13 03:55:18 +00:00
steve
6a236061de
Add the .var/s and .net/s statements for VPI support.
2001-04-05 01:34:26 +00:00
steve
898639d7bf
Get signed compares working correctly in vvp.
2001-04-05 01:12:27 +00:00
steve
6322400b83
support decimal strings from signals.
2001-04-04 17:43:19 +00:00
steve
9b7341889d
Get intval from a binary constant.
2001-04-04 05:07:19 +00:00
steve
48ff66cbce
Take vector form as parameters to vpi_call.
2001-04-04 04:33:08 +00:00
steve
15398a8f58
VPI access time as a decimal string, and
...
stub vpi access to the scopes.
2001-04-03 03:46:14 +00:00
steve
9d2e22576e
support functor_set push for blocking assignment.
2001-04-03 03:18:34 +00:00
steve
f40d006c26
Generate code for task calls.
2001-04-02 02:28:12 +00:00
steve
003f103408
Take numbers as system task parameters.
2001-04-02 00:24:30 +00:00
steve
bf30a0bc07
Add the reduction nor instruction.
2001-04-01 22:25:33 +00:00
steve
311e1ce9ee
Add the buf functor type.
2001-04-01 21:31:46 +00:00
steve
c4e438d4ba
Implement the less-then and %or instructions.
2001-04-01 07:22:08 +00:00
steve
ae1d5227de
Support empty statements for hanging labels.
2001-04-01 06:40:44 +00:00
steve
5769bbe15e
Add the bitwise %and instruction.
2001-04-01 06:12:13 +00:00
steve
29a50a52ca
Implement %cmp/x and %cmp/z instructions.
2001-04-01 04:34:28 +00:00
steve
e29ecdc234
Fix compilation warnings.
2001-03-31 19:29:23 +00:00
steve
a4c722b195
Add VPI support for the simulation time.
2001-03-31 19:00:43 +00:00