steve
08e6bf2e27
Make simulation precision available to VPI.
2000-07-26 03:53:11 +00:00
steve
42e4ff47c8
Move inital value handling from NetNet to Nexus
...
objects. This allows better propogation of inital
values.
Clean up constant propagation a bit to account
for regs that are not really values.
2000-07-14 06:12:56 +00:00
steve
18eb34921f
Add support for non-constant delays in delay statements,
...
Support evaluating ! in constant expressions, and
move some code from netlist.cc to net_proc.cc.
2000-07-07 04:53:53 +00:00
steve
583868e74e
Redesign Links to include the Nexus class that
...
carries properties of the connected set of links.
2000-06-25 19:59:41 +00:00
steve
f3384c7da5
expression scan uses tgt_ to get output files.
2000-06-24 16:40:46 +00:00
steve
8f64656984
Binary expressions as operands to system tasks.
2000-06-15 04:23:17 +00:00
steve
66ae567b25
Index in memory assign should be a NetExpr.
2000-06-13 03:24:48 +00:00
steve
fcbbbfe3d6
Expand constants in its special case assignment. (Stephan Boettcher)
2000-06-06 02:32:45 +00:00
steve
161fa9c4e7
Do not attach temporaries to scopes.
2000-06-03 02:13:43 +00:00
steve
a674df662f
The NetESignal shortcut cannot expand an rvalue.
2000-05-31 03:52:07 +00:00
steve
0c62321402
Emin init code only once per nexus.
2000-05-25 06:02:12 +00:00
steve
1bde1b862d
Optimize assignment from signals.
2000-05-25 01:45:35 +00:00
steve
092b1bded5
Add vpi numbers to the bits table.
2000-05-20 02:48:51 +00:00
steve
b93415e8f1
Combine constants into a bit table.
2000-05-20 02:26:23 +00:00
steve
367db72c99
Add support for procedural continuous assignment.
2000-05-11 23:37:26 +00:00
steve
6021c7b192
Give strengths to logic and bufz devices.
2000-05-09 21:16:35 +00:00
steve
c4d8ded269
non-blocking assignment to a bit select.
2000-05-07 21:17:21 +00:00
steve
ca6631fdda
Fix connection of Direction of LMP_CLSHIFT
...
to constant values. Remember to add a signal
to the nexus and connect the receiver in vvm.
2000-05-07 19:40:26 +00:00
steve
b28f258463
Import MCD support from Stephen Tell, and add
...
system function parameter support to the IVL core.
2000-05-07 18:20:07 +00:00
steve
b90cda1f3f
Carry strength values from Verilog source to the
...
pform and netlist for gates.
Change vvm constants to use the driver_t to drive
a constant value. This works better if there are
multiple drivers on a signal.
2000-05-07 04:37:55 +00:00
steve
fbe475ef7d
Add infrastructure for system functions, move
...
$time to that structure and add $random.
2000-05-04 03:37:58 +00:00
steve
8d8f1e2401
Move signal tables to the NetScope class.
2000-05-02 00:58:11 +00:00
steve
2b40c7ce11
integer division in expressions properly get width.
2000-04-28 18:43:23 +00:00
steve
dab5999621
Handle assigning small values to big registers.
2000-04-26 18:35:11 +00:00
steve
a8114ae122
Add support for the procedural release statement.
2000-04-23 03:45:24 +00:00
steve
44838f8973
Add support for force assignment.
2000-04-22 04:20:19 +00:00
steve
7484feceb5
fork-join support in vvm.
2000-04-15 19:51:30 +00:00
steve
d033509359
Support chained events.
2000-04-15 02:25:32 +00:00
steve
df0808d5bb
No more class derivation from vvm_thread.
2000-04-14 23:31:53 +00:00
steve
4493e968da
Finally remove the NetNEvent and NetPEvent classes,
...
Get synthesis working with the NetEvWait class,
and get started supporting multiple events in a
wait in vvm.
2000-04-12 20:02:52 +00:00
steve
b1fd927acb
Named events really should be expressed with PEIdent
...
objects in the pform,
Handle named events within the mix of net events
and edges. As a unified lot they get caught together.
wait statements are broken into more complex statements
that include a conditional.
Do not generate NetPEvent or NetNEvent objects in
elaboration. NetEvent, NetEvWait and NetEvProbe
take over those functions in the netlist.
2000-04-12 04:23:57 +00:00
steve
8dbd64121f
All events now use the NetEvent class.
2000-04-10 05:26:05 +00:00
steve
cad5df1e9f
Donot create tables that have no entries.
2000-04-09 16:55:42 +00:00
steve
30e8289239
Simulate named event trigger and waits.
2000-04-04 03:20:15 +00:00
steve
b62a7ace5c
Remove the useless sref template.
2000-04-02 04:26:06 +00:00
steve
694ff934af
Add support for integer division.
2000-04-01 21:40:22 +00:00
steve
d97ab9be23
New and improved combinational primitives.
2000-03-29 04:37:10 +00:00
steve
8a10511105
vvm_bitset_t is no longer a template.
2000-03-26 16:28:31 +00:00
steve
9f84deeb56
signal bits are referenced at run time by the vpiSignal struct.
2000-03-25 05:02:24 +00:00
steve
dcaea50b8f
Remove all remain vvm_bitset_t return values,
...
and disallow vvm_bitset_t copying.
2000-03-25 02:43:56 +00:00
steve
c790ccca5a
Update vvm_ram_dq to nexus style.
2000-03-24 03:47:01 +00:00
steve
edc40f1792
vvm_unop and vvm_binop pass result by reference
...
instead of returning a value.
2000-03-24 02:43:36 +00:00
steve
eb9ed665f3
Do not create 0 length parameters to system tasks.
2000-03-23 03:24:39 +00:00
steve
a9e11d6546
Replace the vpip_bit_t with a typedef and
...
define values for all the different bit
values, including strengths.
2000-03-22 04:26:40 +00:00
steve
c5b64b4ad4
Do not link adder pins that ar unconnected.
2000-03-20 17:40:33 +00:00
steve
2deb379c06
Update the FF device to nexus style.
2000-03-18 23:22:37 +00:00
steve
80bd855329
Update bufz to nexus style.
2000-03-18 02:26:02 +00:00
steve
567de6ba39
Generate references into a table of nexus objects instead of
...
generating lots of isolated nexus objects. Easier on linkers
and compilers,
Add missing nexus support for l-value bit selects,
Detemplatize the vvm_mux type.
Fix up the vvm_nexus destructor to disconnect from drivers.
2000-03-18 01:26:59 +00:00
steve
3adaf23aab
Detemplatize the vvm_signal_t class.
2000-03-17 20:21:14 +00:00
steve
e71413123e
nor2 and and2 optimized gates.
2000-03-17 19:23:59 +00:00
steve
51e96a2d8b
Adder and comparator in nexus style.
2000-03-17 17:25:53 +00:00
steve
20712d3fcc
Update vvm_mult to nexus style.
2000-03-17 03:05:13 +00:00
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