steve
8cbf4f815e
vvm_clshift implementation without templates.
2000-03-17 02:22:03 +00:00
steve
5ea3610d4a
Update LPM_MUX to nexus style.
2000-03-16 23:13:49 +00:00
steve
9deb7f6ba5
Update LMP_CLSHIFT to use nexus interface.
2000-03-16 21:47:27 +00:00
steve
2563e2b717
Revise the VVM backend to use nexus objects so that
...
drivers and resolution functions can be used, and
the t-vvm module doesn't need to write a zillion
output functions.
2000-03-16 19:03:03 +00:00
steve
e7efc2709a
Redesign the implementation of scopes and parameters.
...
I now generate the scopes and notice the parameters
in a separate pass over the pform. Once the scopes
are generated, I can process overrides and evalutate
paremeters before elaboration begins.
2000-03-08 04:36:53 +00:00
steve
aae17041ef
Remove excess variable.
2000-02-29 05:20:21 +00:00
steve
1d7cf5bb8c
Handle scope of complex guards when writing case in functions.
2000-02-29 05:02:30 +00:00
steve
59c240bc9b
I no longer need to declare string and number tables early.
2000-02-24 01:57:10 +00:00
steve
b734ecf02f
Macintosh compilers do not support ident.
2000-02-23 02:56:53 +00:00
steve
e0873f6c14
Support case in functions.
2000-02-14 01:20:50 +00:00
steve
b8ddbcf62b
support if-else in function definitions.
2000-02-14 00:12:09 +00:00
steve
1ee4015aa8
Handle selecting memory words at run time.
2000-02-13 19:59:33 +00:00
steve
a8d787bd66
Accept memory words as parameter to $display.
2000-02-13 19:18:27 +00:00
steve
121b6c2ecb
missing break is switch.
2000-01-18 04:53:57 +00:00
steve
d84b72609d
Add the XNOR operator.
2000-01-13 06:05:46 +00:00
steve
ef98be1192
Support for multiple VPI modules.
2000-01-13 05:11:24 +00:00
steve
aa8908c52f
Multiplication all the way to simulation.
2000-01-13 03:35:35 +00:00
steve
fdf2c1b0d0
Non-blocking memory writes.
2000-01-08 03:09:14 +00:00
steve
f3b76d958d
It is possible for node to initialize several pins of a signal.
2000-01-02 17:57:56 +00:00
steve
65ae92859c
NetConst can now hold wide constants.
1999-12-17 03:38:46 +00:00
steve
d54cc14ca2
Simulate carry output on adders.
1999-12-16 02:42:14 +00:00
steve
6be5421c8a
Remove the useless vvm_simulation class.
1999-12-12 19:47:54 +00:00
steve
76655ce2bb
Allow memories without indices in expressions.
1999-12-12 06:03:14 +00:00
steve
3e2bb85f58
Synthesize LPM_RAM_DQ for writes into memories.
1999-12-05 02:24:08 +00:00
steve
22d89c5984
Update case comparison (Eric Aardoom).
1999-12-02 16:58:58 +00:00
steve
bb68753bd2
Properly initialize registers.
1999-11-29 00:38:27 +00:00
steve
dab47610ed
Remove useless tests for NetESignal.
1999-11-28 23:59:22 +00:00
steve
e96e8c62be
NetESignal object no longer need to be NetNode
...
objects. Let them keep a pointer to NetNet objects.
1999-11-28 23:42:02 +00:00
steve
fa088f8baa
Set VPI_MODULE_PATH in the target code, if desired.
1999-11-28 18:05:37 +00:00
steve
48b6726cf4
gate outputs need to set signal values.
1999-11-28 01:16:18 +00:00
steve
bf42be12de
Build up the lists in the scope of a module,
...
and get $dumpvars to scan the scope for items.
1999-11-28 00:56:08 +00:00
steve
4cfa3e4047
Support the creation of scopes.
1999-11-27 19:07:57 +00:00
steve
680c35a845
LT and GT fixes from Eric Aardoom.
1999-11-24 04:38:49 +00:00
steve
b4aade1e4c
Fix coding errors handling names of logic devices,
...
and add support for buf device in vvm.
1999-11-21 01:16:51 +00:00
steve
a81dcd7955
Support memories in continuous assignments.
1999-11-21 00:13:08 +00:00
steve
513ade9b95
Support combinatorial comparators.
1999-11-14 23:43:45 +00:00
steve
1624afe1ba
Add support for the LPM_CLSHIFT device.
1999-11-14 20:24:28 +00:00
steve
2602505885
Support the LPM_MUX in vvm.
1999-11-13 03:46:52 +00:00
steve
82f3f0f741
Create the vpiMemory handle type.
1999-11-10 02:52:24 +00:00
steve
c688d95cb8
Put number constants into a static table.
1999-11-06 16:00:17 +00:00
steve
89881adece
Add the synth functor to do generic synthesis
...
and add the LPM_FF device to handle rows of
flip-flops.
1999-11-01 02:07:40 +00:00
steve
e1bbbe5614
Include subtraction in LPM_ADD_SUB device.
1999-10-31 20:08:24 +00:00
steve
71ecf8c143
Add to netlist links pin name and instance number,
...
and arrange in vvm for pin connections by name
and instance number.
1999-10-31 04:11:27 +00:00
steve
0721615345
gate output pins use vpip_bit_t (Eric Aardoom)
1999-10-28 21:51:21 +00:00
steve
2862178a6f
Get rid of monitor_t and fold __vpiSignal into signal.
1999-10-28 21:36:00 +00:00
steve
162b895e1b
Put strings into a single string table.
1999-10-28 04:48:29 +00:00
steve
d6450599d6
Rewrite vvm VPI support to make objects more
...
persistent, rewrite the simulation scheduler
in C (to interface with VPI) and add VPI support
for callbacks.
1999-10-28 00:47:24 +00:00
steve
409c8ff47d
assignment to bit select is aa single bit.
1999-10-23 16:27:53 +00:00
steve
2e40152ff2
Make generated code ISO legal.
1999-10-21 02:15:06 +00:00
steve
70a1236626
Structural case equals device.
1999-10-10 01:59:54 +00:00
steve
6997971884
vvm supports unary | operator.
1999-10-08 02:00:48 +00:00
steve
f949f96df1
Add non-const bit select in l-value of assignment.
1999-10-07 05:25:33 +00:00
steve
492d76e71d
The $finish task should work immediately.
1999-10-06 01:28:18 +00:00
steve
4d8c0c79d6
Add support for reduction NOR.
1999-10-05 06:19:46 +00:00
steve
a7f48c86e2
Relaxed width handling for <= assignment.
1999-10-05 04:02:10 +00:00
steve
efdc1769e6
Add some vvm operators from Eric Aardoom.
1999-10-01 15:26:28 +00:00
steve
e1c697a746
More resilient assignment to memory location.
1999-10-01 03:58:36 +00:00
steve
393c9ab108
Rewrite vvm output to separateclass declarations
...
from method definitions. This is required to allow
for mutual referencing, for example by tasks.
1999-10-01 03:15:00 +00:00
steve
8317d8707e
Remember to declare the calee_ member.
1999-09-30 21:26:59 +00:00
steve
a64a33e65a
Full case support
1999-09-29 18:36:02 +00:00
steve
f274c9cade
Comment on where binary operator came from.
1999-09-29 00:42:25 +00:00
steve
a8a2b3e8f3
Use files instead of strstreams for delayed output,
...
and fix a missing ends in case output code.
1999-09-28 23:45:09 +00:00
steve
9f30615a91
save the thread class name so that behaviors in tasks have it.
1999-09-28 03:11:09 +00:00
steve
a964e0479b
Generate code for repeat concatenations.
1999-09-28 01:53:37 +00:00
steve
6d7ac5d67b
Proper syntax for method pointers.
1999-09-28 01:21:27 +00:00
steve
470b0d3d34
Support in vvm > and >= behavioral operators.
1999-09-28 01:13:15 +00:00
steve
1a21d2fe9d
Support shift operators.
1999-09-23 03:56:57 +00:00
steve
0955058fbe
Catch parallel blocks in vvm emit.
1999-09-22 16:57:23 +00:00
steve
12b9071f49
Parse and elaborate named for/join blocks.
1999-09-22 04:30:04 +00:00
steve
4594ac1c2c
elaborate concatenation repeats.
1999-09-16 04:18:15 +00:00
steve
1c238f1948
Support ternary and <= operators in vvm.
1999-09-11 04:43:17 +00:00
steve
9d82d19d07
Empty conditionals (pmonta@imedia.com)
1999-09-08 02:24:39 +00:00
steve
8f68a07476
Add support for delayed non-blocking assignments.
1999-09-04 19:11:45 +00:00
steve
555d447180
Generate fake adder code in vvm.
1999-09-04 01:57:15 +00:00
steve
9f7eb4a935
Handle recursive functions and arbitrary function
...
references to other functions, properly pass
function parameters and save function results.
1999-09-01 20:46:19 +00:00
steve
e69345b9fe
Elaborate and emit to vvm procedural functions.
1999-08-31 22:38:29 +00:00
steve
2d0e11283d
Convert vvm to implement system tasks with vpi.
1999-08-15 01:23:56 +00:00
steve
c9b0bb8ea8
Get rid of excess set/init of NetESignal objects.
1999-08-02 00:19:16 +00:00
steve
71d35f32b2
Parse and elaborate rise/fall/decay times
...
for gates, and handle the rules for partial
lists of times.
1999-08-01 16:34:50 +00:00
steve
563ec1bb81
Add support for CE input to XNF DFF, and do
...
complete cleanup of replaced design nodes.
1999-07-18 21:17:50 +00:00
steve
7ba7b925ed
simplified process scan for targets.
1999-07-17 03:39:11 +00:00
steve
aa938a309d
Proper initialization of registers.
1999-07-10 03:00:05 +00:00
steve
15e6c7d4b0
Handle number constants as parameters.
1999-07-10 01:02:08 +00:00
steve
e58844f1be
Emit vvm for user defined tasks.
1999-07-07 04:20:57 +00:00
steve
3ff6912bdd
Elaborate user defined tasks.
1999-07-03 02:12:51 +00:00
steve
33d4133217
Add the === and !== binary operators.
1999-06-24 04:21:45 +00:00
steve
853ad247a1
Elaborate and supprort to vvm the forever
...
and repeat statements.
1999-06-19 21:06:16 +00:00
steve
f69becd5e0
Do not bother trying to print lvalue name in comment.
1999-06-10 04:03:43 +00:00
steve
1464851e0e
Add support for procedural concatenation expression.
1999-06-09 03:00:05 +00:00
steve
4932dc7c5e
Support non-blocking assignment down to vvm.
1999-06-07 02:23:31 +00:00
steve
295306aad5
emit NetAssignMem objects in vvm target.
1999-05-12 04:03:19 +00:00
steve
9e82ed240c
Restore support for wait event control.
1999-05-03 01:51:29 +00:00
steve
5d00f17448
Handle wide events, such as @(a) where a has
...
many bits in it.
Add to vvm the binary ^ and unary & operators.
Dump events a bit more completely.
1999-05-01 20:43:55 +00:00
steve
41f9a84a4b
Handle much more complex event expressions.
1999-05-01 02:57:52 +00:00
steve
4b73655537
Generate SubSignal refrences in vvm.
1999-04-25 22:52:32 +00:00
steve
d3350c9b27
Add to vvm proceedural memory references.
1999-04-22 04:56:58 +00:00
steve
5895d3c98d
Add memories to the parse and elaboration phases.
1999-04-19 01:59:36 +00:00
steve
b7f833dd71
Support more operators, especially logical.
1999-03-15 02:43:32 +00:00
steve
a2bc27318f
Handle default case.
1999-02-22 03:01:12 +00:00
steve
e5f5f41515
Elaborate gate ranges.
1999-02-15 02:06:15 +00:00