Stephen Williams
931d08a9fc
Add local_flag syntax to .net and .var statements.
2007-12-27 17:56:32 -07:00
Larry Doolittle
752cf21790
Warnings and spelling fixes.
...
Correct a variety of spelling errors, and eliminate
a variety of compile time warnings.
2007-12-17 17:42:09 -08:00
Stephen Williams
5bcbd09ed9
Make the modpath source define the VPI modpath object.
...
The modpath source node defines the modpath object, and carries the
nodes for the source expression. The modpath outputs are references
by pointers to the vpiModPath that is not in itself a vpi object
any more. This makes the VPI view of a module path look like the
source-destinaiton pair that is the IEEE1364 description of the
modpath.
2007-11-05 19:58:20 -08: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
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
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
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
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
5047a3add3
variable arrays generated without writing a record for each word.
2007-04-10 01:26:15 +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
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
2ac30824ac
Fix spurious event from net8 that is forced.
2006-11-22 06:10:05 +00:00
steve
0edb5a7547
Basic support for specify timing.
2006-09-23 04:57:19 +00:00
steve
06d6ac4b33
Fix/implement signed right shift.
2006-07-30 02:51:35 +00:00
steve
80f30be9d0
Add support for system functions in continuous assignments.
2006-06-18 04:15:50 +00:00
steve
8defa4bcd0
Syntax for carrying sign with parameter.
2006-03-18 22:51:10 +00:00
steve
6f46d12e07
Add support for logic parameters.
2006-03-08 05:29:42 +00:00
steve
b7861fa6e8
Require explicit delay node from source.
2006-01-02 05:32:06 +00:00
steve
35951510c5
Put vec8 and vec4 nets into seperate net classes.
2005-11-25 17:55:26 +00:00
steve
560c5a2584
Add alias nodes.
2005-10-12 17:23:15 +00:00
steve
a8d49921ee
gcc4 compile errors.
2005-07-14 23:34:18 +00:00
steve
3ac79c294a
Implement real valued signals and arith nodes.
2005-07-06 04:29:25 +00:00
steve
4cc421b3b7
Make functors know their own width.
2005-06-17 03:46:52 +00:00
steve
b6fd4f610b
Add a sign-extension node.
2005-05-24 01:43:27 +00:00
steve
7dd0d255a6
Add support for variable part select.
2005-05-08 23:40:14 +00:00
steve
99aff5f10b
Remove dead functor code.
2005-04-28 04:59:53 +00:00
steve
f884652c19
Add DFF nodes.
2005-04-24 20:07:25 +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
53da6e9a33
Add support for LPM_UFUNC user defined functions.
2005-03-18 02:56:03 +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
85286cc086
Rearrange how memories are supported as vvp_vector4 arrays.
2005-03-03 04:33:10 +00:00
steve
ca1bbc79a3
Add .repeat functor and BIFIF functors.
2005-02-07 22:42:42 +00:00
steve
018014368b
Add support for reduction logic gates.
2005-02-03 04:55:13 +00:00
steve
b86fdd6bbc
Implement the .cmp/eeq LPM node.
2005-01-22 01:06:20 +00:00
steve
9735b0e8b3
Add the .part/pv node and related functionality.
2005-01-09 20:11:15 +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
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
57b8ca191f
Add signed LPM divide.
2004-06-30 02:15:57 +00:00
steve
35619771dd
Add structural equality compare nodes.
2004-06-16 16:33:25 +00:00
steve
59c5759fdf
Add $push flag for threads.
2003-09-04 20:26:30 +00:00
steve
8cfef65bd8
Implement acc_fetch_defname and its infrastructure in vvp.
2003-05-29 02:21:45 +00:00
steve
2c1e36ae9a
Add signed versions of .cmp/gt/ge
2003-04-11 05:15:38 +00:00
steve
654ad4c97e
Direct support for string parameters.
2003-03-10 23:37:07 +00:00
steve
b726395d1e
Spelling fixes.
2003-02-09 23:33:26 +00:00
steve
04ada23119
Support in various contexts the $realtime
...
system task.
2003-01-27 00:14:37 +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
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
52bf4e613f
conditional ident string using autoconfig.
2002-08-12 01:34:58 +00:00
steve
41239078a9
Fix initialization of symbol table string heap.
2002-07-15 00:21:42 +00:00
steve
f4a4ee00d0
Add support for special integer vectors.
2002-06-21 04:58:55 +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
de252965ac
Add the .ufunc statement.
2002-03-18 00:19:34 +00:00
steve
dd79885f6d
Add structural modulus support down to vvp.
2002-01-03 04:19:01 +00:00
steve
1ca6fe5519
Support strength syntax on functors.
2001-12-14 02:04:49 +00:00
steve
ec4f8c80d5
Support functor delays for gates and UDP devices.
...
(Stephan Boettcher)
2001-12-06 03:31:24 +00:00
steve
bf9a8f5021
Code rearrange. (Stephan Boettcher)
2001-11-06 03:07:21 +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
36e1eab3f4
Add arith/div object.
2001-10-16 02:47:37 +00:00
steve
42dab181cd
Carry the type of the scope (Stephan Boettcher)
2001-10-15 02:58:27 +00:00
steve
4e700bffb8
support postpone of $systask parameters. (Stephan Boettcher)
2001-07-11 04:43:57 +00:00
steve
608e5a4dbb
Add the .shift/r functor.
2001-07-07 02:57:33 +00:00
steve
39c39f0162
Add structural left shift (.shift/l)
2001-07-06 04:46:44 +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
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
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
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
224af78463
Add support for system function calls.
2001-05-20 00:46:12 +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
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
8b4befd4fc
Add support for memory objects. (Stephan Boettcher)
2001-05-01 01:09:39 +00:00
steve
c997c090a1
Document the UDP implementation.
2001-04-25 04:35:05 +00:00
steve
8dfa322b8b
Support for UDP devices in VVP (Stephen Boettcher)
2001-04-24 02:23:58 +00:00
steve
9e8005f7b7
Put threads into scopes.
2001-04-18 04:21:23 +00:00
steve
60d068a33e
support the .event/or statement.
2001-04-14 05:10:56 +00:00
steve
6a236061de
Add the .var/s and .net/s statements for VPI support.
2001-04-05 01:34:26 +00:00
steve
ae1d5227de
Support empty statements for hanging labels.
2001-04-01 06:40:44 +00:00
steve
609d5fe727
Support named events as mode 2 functors.
2001-03-29 03:46:36 +00:00
steve
79ce94b585
Add the .event statement and the %wait instruction.
2001-03-26 04:00:39 +00:00
steve
9e04ef4abd
Add the .net statement.
2001-03-25 00:35:35 +00:00
steve
2858c2f09b
Add the :module header statement.
2001-03-23 02:40:22 +00:00
steve
548ff4f89a
Detect undefined system tasks at compile time.
2001-03-22 22:38:13 +00:00
steve
2b8d9abd3e
Allow var objects as vpiHandle arguments to %vpi_call.
2001-03-21 05:13:03 +00:00
steve
52c7108782
Add support for variable vectors.
2001-03-20 06:16:23 +00:00
steve
6779f01f3a
Add support for string constants to VPI.
2001-03-18 04:35:18 +00:00
steve
66f7ef97da
Add support for vpi scopes.
2001-03-18 00:37:55 +00:00
steve
f2c1902984
Add structures for VPI support, and all the %vpi_call
...
instruction. Get linking of VPI modules to work.
2001-03-16 01:44:34 +00:00
steve
cbc3be0304
Functor values and propagation.
2001-03-11 22:42:11 +00:00
steve
cb65ee5e00
Add the vvp engine to cvs.
2001-03-11 00:29:38 +00:00