steve
393a76d57a
threshold of $width is optional.
2001-10-14 02:03:51 +00:00
steve
3734b5e7f1
spec reference events can be identifiers.
2001-10-09 18:11:58 +00:00
steve
c507379f09
Handle more path polarity cases.
2001-08-31 21:08:35 +00:00
steve
47031767fa
Parse $setuphold statements.
2001-08-31 17:38:41 +00:00
steve
8654412844
lsb vs msb in error message.
2001-07-28 22:00:27 +00:00
steve
b825f8d2b2
Create a config.h.in file to hold all the config
...
junk, and support gcc 3.0. (Stephan Boettcher)
2001-07-25 03:10:48 +00:00
steve
7eab75ded1
Parse a lot more specify syntax.
2001-07-01 23:44:43 +00:00
steve
c3960f8e6a
Support macromodule as module.
2001-06-23 00:31:06 +00:00
steve
e40efec4bd
Add more UDP edge types, and finish up compile
...
and run-time support. (Stephan Boettcher)
2001-06-18 00:51:23 +00:00
steve
3ca55bf327
Better handling of module item errors.
2001-04-29 20:18:34 +00:00
steve
4f3bdd9f38
Accept single strengths for pullup and pulldown.
2001-04-28 22:56:15 +00:00
steve
c97692d715
Generate code for disable.
2001-04-21 00:55:46 +00:00
steve
219df169a3
Generalize the evaluation of floating point delays, and
...
get it working with delay assignment statements.
Allow parameters to be referenced by hierarchical name.
2001-01-14 23:04:55 +00:00
steve
02fc59fbdf
Parse parameters within nested scopes.
2001-01-13 22:20:08 +00:00
steve
cc18d065aa
declaration initialization for time variables.
2001-01-06 06:31:58 +00:00
steve
68e672e61a
Support arrays of integers.
2001-01-06 02:29:35 +00:00
steve
c9881c115a
Spelling error.
2000-12-16 17:16:08 +00:00
steve
5dbea64759
Add support for signed reg variables,
...
simulate in t-vvm signed comparisons.
2000-12-11 00:31:43 +00:00
steve
084a464cf1
Support decimal constants in behavioral delays.
2000-12-10 22:01:35 +00:00
steve
f6507cba43
Check lvalue of procedural continuous assign (PR#29)
2000-12-06 06:31:09 +00:00
steve
789e862ca4
parse real and realtime declarations.
2000-12-05 22:32:05 +00:00
steve
3591e06c4e
Support time variables.
2000-10-31 17:49:02 +00:00
steve
88c8547486
Remove C++ string from variable lists.
2000-10-31 17:00:04 +00:00
steve
f526d235d1
Check for missing concat subexpressions (PR#11)
2000-10-14 02:23:02 +00:00
steve
3a2eff2265
Parse specify delay values.
2000-09-23 03:04:10 +00:00
steve
67472379b4
Error message for invalid variable list.
2000-09-13 16:32:26 +00:00
steve
30a81731dd
Introduce min:typ:max support.
2000-07-29 17:58:20 +00:00
steve
739365abe5
Parse disable statements to pform.
2000-07-26 05:08:07 +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
056a3f7220
Allow unary operators in constant expressions.
2000-06-30 15:50:20 +00:00
steve
042724612e
Handle delay_value_lists in simple paths. (Wen-jung Tseng)
2000-06-27 16:00:40 +00:00
steve
14d87e3e11
Typo saving third delay value in list.
2000-05-31 01:31:52 +00:00
steve
8fc2dc2cd1
Better parsing of expressions lists will empty expressoins.
2000-05-23 16:03:13 +00:00
steve
3676d66408
Module ports are really special PEIdent
...
expressions, because a name can be used
many places in the port list.
2000-05-16 04:05:15 +00:00
steve
367db72c99
Add support for procedural continuous assignment.
2000-05-11 23:37:26 +00:00
steve
de1a7a0933
Deliver gate output strengths to the netlist.
2000-05-08 05:30:19 +00:00
steve
ca2fd41bb6
Carry assignment strength to pform.
2000-05-06 15:41:56 +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
44838f8973
Add support for force assignment.
2000-04-22 04:20:19 +00:00
steve
23725cf42c
Catch bad operand to some unary operators.
2000-04-21 03:22:18 +00:00
steve
7484feceb5
fork-join support in vvm.
2000-04-15 19:51:30 +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
67bdd433a9
Detect the signed keyword.
2000-04-02 04:25:39 +00:00
steve
2dd010dc04
Named events as far as the pform.
2000-04-01 19:31:57 +00:00
steve
6eef54595f
Support localparam.
2000-03-12 17:09:40 +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
1698a19cf6
Parse all the various edge types.
2000-03-05 18:26:51 +00:00
steve
b734ecf02f
Macintosh compilers do not support ident.
2000-02-23 02:56:53 +00:00
steve
2de887c2ff
Support named parameter override lists.
2000-01-09 05:50:48 +00:00
steve
645c24289e
Handle general constant expressions in delays.
2000-01-02 01:59:52 +00:00
steve
7e37b61a05
Fix module parameter override syntax.
2000-01-01 23:47:58 +00:00
steve
31f1ceea9f
delay1 expressions can take parentheses.
1999-12-31 17:39:00 +00:00
steve
5ce35e3e60
Fix event trigger and repeat control parse errors.
1999-12-31 03:24:30 +00:00
steve
6d0edcf58a
Support reg initial assignment syntax.
1999-12-30 19:06:14 +00:00
steve
a4a0ba670d
Allow qualified identifiers. They really do work.
1999-11-15 04:43:52 +00:00
steve
f7526c6c4b
parse drive strengths.
1999-11-05 19:36:36 +00:00
steve
2fb754cd54
Parse empty source files.
1999-10-15 05:03:33 +00:00
steve
c63a3acf93
Elaborate ~^ and ~| operators.
1999-09-30 02:43:01 +00:00
steve
b37fcf3593
Handle declaration of integers (including scope) in functions.
1999-09-30 01:22:37 +00:00
steve
076cecb6cd
Handle null returns from function_item
1999-09-30 00:48:04 +00:00
steve
5ee7cfb854
Fix shift/reduce warnings and ?:. (dhn@qedinc.com)
1999-09-29 22:56:31 +00:00
steve
93f05306e7
Standardize error/sorry messages.
1999-09-29 21:16:32 +00:00
steve
a64a33e65a
Full case support
1999-09-29 18:36:02 +00:00
steve
bb38653654
Parse system function calls.
1999-09-25 02:57:29 +00:00
steve
12b9071f49
Parse and elaborate named for/join blocks.
1999-09-22 04:30:04 +00:00
steve
da4a7ea80a
assignment with blocking event delay.
1999-09-22 02:00:48 +00:00
steve
424e6a750c
Handle unconnected module ports.
1999-09-17 02:06:25 +00:00
steve
287d21f300
Handle integers at task parameters.
1999-09-10 05:02:09 +00:00
steve
6fb7120158
Parse non-blocking assignment delays.
1999-09-02 01:59:27 +00:00
steve
3017636c05
continuous assignment lists.
1999-08-27 15:08:37 +00:00
steve
23acca48ff
elaborate some aspects of functions.
1999-08-25 22:22:41 +00:00
steve
9eae940ebd
Parameter overrides support from Peter Monta
...
AND and XOR support wide expressions.
1999-08-23 16:48:39 +00:00
steve
0fdc7657ef
Fix handling of port name when . notation is used.
1999-08-03 04:48:51 +00:00
steve
5f10342f52
Parse into pform arbitrarily complex module
...
port declarations.
1999-08-03 04:14:49 +00:00
steve
4b057c2d93
Get gat names, instead of the first character.
1999-08-01 23:25:51 +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
e0a988bf7e
Add functions up to elaboration (Ed Carter)
1999-07-31 19:14:47 +00:00
steve
55654db9df
quietly ignore specify code.
1999-07-28 03:47:24 +00:00
steve
93a77a2efd
Elaborate task input ports.
1999-07-24 02:11:19 +00:00
steve
6852a62e5a
procedural blocking assignment delays.
1999-07-12 00:59:36 +00:00
steve
c8d13d7a1c
Support concatenate in l-values.
1999-07-10 02:19:26 +00:00
steve
46df679fc5
remove string from lexical phase.
1999-07-10 01:03:18 +00:00
steve
3ff6912bdd
Elaborate user defined tasks.
1999-07-03 02:12:51 +00:00
steve
11b2b1740a
Handle expression widths for EEE and NEE operators,
...
add named blocks and scope handling,
add registers declared in named blocks.
1999-06-24 04:24:18 +00:00
steve
853ad247a1
Elaborate and supprort to vvm the forever
...
and repeat statements.
1999-06-19 21:06:16 +00:00
steve
c01399fcda
Parse some more specify syntax.
1999-06-19 03:21:21 +00:00
steve
37b60a4c52
Clean up interface of the PWire class,
...
Properly match wire ranges.
1999-06-17 05:34:42 +00:00
steve
add2803267
More syntax parse with sorry stubs.
1999-06-16 03:13:29 +00:00
steve
fabb146342
Support case expression lists.
1999-06-15 05:38:39 +00:00
steve
430d7b22e4
Add lexical support for real numbers.
1999-06-15 02:50:02 +00:00
steve
0d210c90e5
More unary operators.
1999-06-13 17:30:23 +00:00
steve
a22e43cb7a
Handle part selects as l-values to continuous assign.
1999-06-12 23:16:37 +00:00
steve
29da349106
parse more verilog.
1999-06-12 20:35:27 +00:00
steve
63627de7fa
More parseable syntax.
1999-06-12 03:42:57 +00:00
steve
fdaae4aa2a
Forgot to return th for statement object.
1999-06-10 05:33:12 +00:00
steve
7c2cf8b2fa
Add support for the Ternary operator,
...
Add support for repeat concatenation,
Correct some seg faults cause by elaboration
errors,
Parse the casex anc casez statements.
1999-06-10 04:03:52 +00:00
steve
1464851e0e
Add support for procedural concatenation expression.
1999-06-09 03:00:05 +00:00
steve
7605a7b1f0
Add parse and elaboration of non-blocking assignments,
...
Replace list<PCase::Item*> with an svector version,
Add integer support.
1999-06-06 20:45:38 +00:00
steve
f3a91a10b3
Line information with nets.
1999-06-02 15:38:46 +00:00
steve
2a85ee5059
Net declaration assignments.
1999-06-02 02:56:29 +00:00
steve
0ca5a282e5
parse functions and tasks and delay value lists.
1999-05-30 03:12:56 +00:00
steve
35893919e0
module parameter bind by name.
1999-05-29 02:36:17 +00:00
steve
c1dbb56b70
Line number information.
1999-05-27 03:31:29 +00:00
steve
0352864470
Much expression parsing work,
...
mark continuous assigns with source line info,
replace some assertion failures with Sorry messages.
1999-05-20 04:31:45 +00:00
steve
10ffaeda90
Redo constant expression detection to happen
...
after parsing.
Parse more operators and expressions.
1999-05-16 05:08:42 +00:00
steve
5de9b7c9f1
Parse and elaborate the concatenate operator
...
in structural contexts, Replace vector<PExpr*>
and list<PExpr*> with svector<PExpr*>, evaluate
constant expressions with parameters, handle
memories as lvalues.
Parse task declarations, integer types.
1999-05-10 00:16:57 +00:00
steve
6625ea71c2
Parse more things.
1999-05-08 20:19:20 +00:00
steve
8e73ff2376
Parse more complex continuous assign lvalues.
1999-05-07 04:26:49 +00:00
steve
a568e526c6
Get rid of list<lgate> types.
1999-05-06 04:37:17 +00:00
steve
b2b9097488
Parse more constant expressions.
1999-05-06 04:09:28 +00:00
steve
10f46dae66
More intelligent selection of module to elaborate.
1999-05-05 03:27:14 +00:00
steve
41f9a84a4b
Handle much more complex event expressions.
1999-05-01 02:57:52 +00:00
steve
ce49708442
Parse OR of event expressions.
1999-04-29 02:16:26 +00:00
steve
5895d3c98d
Add memories to the parse and elaboration phases.
1999-04-19 01:59:36 +00:00
steve
bd40e5dfe1
Support sized decimal numbers,
...
Fix operator precedence order.
1999-03-16 04:44:45 +00:00
steve
b7f833dd71
Support more operators, especially logical.
1999-03-15 02:43:32 +00:00
steve
e2a37a8ccd
Add support for module parameters.
1999-02-21 17:01:57 +00:00
steve
e5f5f41515
Elaborate gate ranges.
1999-02-15 02:06:15 +00:00
steve
8bdd381cdf
Parse and elaborate the Verilog CASE statement.
1999-02-03 04:20:11 +00:00
steve
fb439c78b9
Add the LineInfo class to carry the source file
...
location of things. PGate, Statement and PProcess.
elaborate handles module parameter mismatches,
missing or incorrect lvalues for procedural
assignment, and errors are propogated to the
top of the elaboration call tree.
Attach line numbers to processes, gates and
assignment statements.
1999-01-25 05:45:56 +00:00
steve
2c1df3e6f7
Parse more UDP input edge descriptions.
1998-12-18 05:16:25 +00:00
steve
10b345bd16
Fully elaborate Sequential UDP behavior.
1998-12-14 02:01:34 +00:00
steve
e097c999d5
Elaborate UDP devices,
...
Support UDP type attributes, and
pass those attributes to nodes that
are instantiated by elaboration,
Put modules into a map instead of
a simple list.
1998-12-01 00:42:13 +00:00
steve
91aad30e1f
Parse UDP primitives all the way to pform.
1998-11-25 02:35:53 +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
6b2fa19429
Handle while loops.
1998-11-11 03:13:04 +00:00
steve
d27f260bc1
Check net ranges in declarations.
1998-11-11 00:01:51 +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
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