Commit Graph

204 Commits

Author SHA1 Message Date
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
steve fef81958bc Do not generate code for signals,
instead use the NetESignal node to
 generate gate-like signal devices.
1999-02-08 03:55:55 +00:00
steve 30a3953c85 Turn the NetESignal into a NetNode so
that it can connect to the netlist.
 Implement the case statement.
 Convince t-vvm to output code for
 the case statement.
1999-02-08 02:49:56 +00:00
steve d1e2b036fc Add startup after initialization. 1999-01-01 01:46:01 +00:00
steve 63a8b4abe2 Function to calculate wire initial value. 1998-12-20 02:05:41 +00:00
steve 4e2c0036aa VVM support for small sequential UDP objects. 1998-12-17 23:54:58 +00:00
steve af8d6fbf01 NetAssign handles lvalues as pin links
instead of a signal pointer,
 Wire attributes added,
 Ability to parse UDP descriptions added,
 XNF generates EXT records for signals with
 the PAD attribute.
1998-11-23 00:20:22 +00:00
steve 7859de1e4e Add support it vvm target for level-sensitive
triggers (i.e. the Verilog wait).
 Fix display of $time is format strings.
1998-11-10 00:48:31 +00:00
steve ebad845fc3 Add procedural while loops,
Parse procedural for loops,
 Add procedural wait statements,
 Add constant nodes,
 Add XNOR logic gate,
 Make vvm output look a bit prettier.
1998-11-09 18:55:33 +00:00
steve 47a444fb92 Calculate expression widths at elaboration time. 1998-11-07 19:17:10 +00:00
steve b118634189 Handle procedural conditional, and some
of the conditional expressions.

 Elaborate signals and identifiers differently,
 allowing the netlist to hold signal information.
1998-11-07 17:05:05 +00:00
steve 3fb7a053be Introduce verilog to CVS. 1998-11-03 23:28:49 +00:00