Commit Graph

161 Commits

Author SHA1 Message Date
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