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
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
a7ae8adf9b
Support delayed/non-blocking assignment to reals and others.
2004-05-19 03:26:24 +00:00
steve
59c5759fdf
Add $push flag for threads.
2003-09-04 20:26:30 +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
dccd7ec7e2
Remove the vvp_cpoint_t indirect code pointer.
2003-07-03 20:03:36 +00:00
steve
71a404a546
Add arithmetic shift operators.
2003-06-18 03:55:18 +00:00
steve
96ca885aca
Remove short int restrictions from vvp opcodes.
2003-06-17 19:17:42 +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
3770dda0b8
Assert that parameters fix into opcode.
2003-05-23 03:44:34 +00:00
steve
54ea845f34
VPI Access to named events.
2003-04-23 03:09:25 +00:00
steve
2c1e36ae9a
Add signed versions of .cmp/gt/ge
2003-04-11 05:15:38 +00:00
steve
4b543de7f9
Add support for division of real operands.
2003-03-28 02:33:56 +00:00
steve
f45fd155c4
Remove the obsolete functor delete functions.
2003-03-13 04:36:57 +00:00
steve
654ad4c97e
Direct support for string parameters.
2003-03-10 23:37:07 +00:00
steve
aa3297a925
Add the cvt/vr instruction.
2003-02-27 20:36:29 +00:00
steve
b726395d1e
Spelling fixes.
2003-02-09 23:33:26 +00:00
steve
dd56d9a17c
Add the %sub/wr instruction.
2003-02-06 17:41:47 +00:00
steve
ce489d8d84
Allow $display of $simtime.
2003-02-03 01:09:20 +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
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
03afbf157b
%set/x0 instruction to support bounds checking.
2002-11-21 22:43:13 +00:00
steve
1b84893ccb
Add the %assign/v0 instruction.
2002-11-08 04:59:57 +00:00
steve
d7ae85a13a
Add vector set and load instructions.
2002-11-07 02:32:39 +00:00
steve
3d3116d48b
Add support for binary NOR operator.
2002-09-18 04:29:55 +00:00
steve
466656b167
Allow forward references of memories.
2002-09-18 02:55:18 +00:00
steve
dac99b9374
Add support for binary nand operator.
2002-09-12 15:49:43 +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
985c34bfd9
Fix behavioral eval of x?a:b expressions.
2002-08-22 03:38:40 +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
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
5792220dcb
Remove the vpi object symbol table after compile.
2002-07-05 02:50:57 +00:00
steve
f4a4ee00d0
Add support for special integer vectors.
2002-06-21 04:58:55 +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
b6b364a09d
Add %addi, which is faster to simulate.
2002-05-29 16:29:34 +00:00
steve
e9af0c7485
Support scope iterate over vpiNet,vpiReg/vpiMemory.
2002-05-10 16:00:57 +00:00
steve
68f1316eba
Fix uninitialized memory accesses.
2002-05-07 04:15:43 +00:00
steve
52ea13819a
Add the assign/d instruction for computed delays.
2002-04-21 22:29:49 +00:00
steve
eb27dc8db3
Support signed integer division.
2002-04-14 18:41:34 +00:00
steve
3275d1f252
Support signed expressions through to VPI.
2002-04-14 02:56:19 +00:00
steve
de252965ac
Add the .ufunc statement.
2002-03-18 00:19:34 +00:00
steve
b0a489fb7f
Debug code for write to constants.
2002-03-08 05:41:45 +00:00
steve
dee52dd2d0
Magic stime object support.
2002-01-11 05:21:47 +00:00
steve
03d188fc52
Support weak functor inputs.
2002-01-06 03:15:13 +00:00
steve
dd79885f6d
Add structural modulus support down to vvp.
2002-01-03 04:19:01 +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
ec4f8c80d5
Support functor delays for gates and UDP devices.
...
(Stephan Boettcher)
2001-12-06 03:31:24 +00:00
steve
fa23dafdae
Use functor pointers where vvp_ipoint_t is unneeded.
2001-11-07 03:34:41 +00:00
steve
bf9a8f5021
Code rearrange. (Stephan Boettcher)
2001-11-06 03:07:21 +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
73283768a5
Support rnpmos devices. (Philip Blundell)
2001-10-18 17:30:25 +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
1b69bb5d2f
Handle mode-42 functor init.
2001-10-14 03:41:58 +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
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
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
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
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
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
82bccd335d
Initial implementation of vvp_fvectors.
...
(Stephan Boettcher)
2001-08-08 01:05:06 +00:00
steve
ed86dee65d
Initialize initial functor tables.
2001-07-30 03:53:01 +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
54140dadcf
Add the load/x instruction for bit selects.
2001-07-22 00:04:50 +00:00
steve
e773ccfe49
Add support for the delayx opcode.
2001-07-19 04:40:55 +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
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
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
a2d465804f
Add the %shiftl/i0 instruction.
2001-06-23 18:26:26 +00:00
steve
c93cb71162
Allow forward references of task scopes. (Stephan Boettcher)
2001-06-23 01:04:07 +00:00
steve
81536481cc
Add structural EEQ gates (Stephan Boettcher)
2001-06-19 03:01:10 +00:00
steve
4159c98c58
More behavioral unary reduction operators.
...
(Stephan Boettcher)
2001-06-18 01:09:32 +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
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
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
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
224af78463
Add support for system function calls.
2001-05-20 00:46:12 +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
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
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
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
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
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
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
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
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
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
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
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
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
a4c722b195
Add VPI support for the simulation time.
2001-03-31 19:00:43 +00:00
steve
2f1d258acb
Add the jmp/1 instruction.
2001-03-31 17:36:02 +00:00
steve
4a058632b2
Add the ADD instrunction.
2001-03-31 01:59:58 +00:00
steve
386958f9a0
Add fork and join instructions.
2001-03-30 04:55:22 +00:00
steve
609d5fe727
Support named events as mode 2 functors.
2001-03-29 03:46:36 +00:00
steve
b0c003dc34
include string.h for strcmp et al.
2001-03-28 17:24:32 +00:00
steve
79ce94b585
Add the .event statement and the %wait instruction.
2001-03-26 04:00:39 +00:00
steve
25d25ff7fe
Support NOR and NOT gates.
2001-03-25 19:38:23 +00:00
steve
c6088c8820
Add JMP0XZ and postpone net inputs when needed.
2001-03-25 03:54:26 +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
fa46de1021
Add code label forward references.
2001-03-22 05:28:41 +00:00
steve
aacce5ef1b
implement %load, %inv, %jum/0 and %cmp/u
2001-03-22 05:08:00 +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
970ba895c9
Compact the vvp_code_s structure.
2001-03-11 23:06:49 +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