steve
f001d0001a
Add support for generate loops w/ wires and gates.
2006-04-10 00:37:42 +00:00
steve
77a0d7f4db
task/function ports can have types.
2006-03-30 05:22:34 +00:00
steve
276f2d0032
Accept attributes in front of module instantiations.
2006-03-25 02:42:58 +00:00
steve
f4a44df2cc
Support more parameter syntax.
2006-03-18 22:53:38 +00:00
steve
d434dd7296
Allow part selects of memory words in l-values.
2006-02-02 02:43:57 +00:00
steve
1021e5acc8
Fixes for stubborn compilers.
2005-12-05 21:21:18 +00:00
steve
c02b3b8ac6
Reorganize signal part select handling, and add support for
...
indexed part selects.
Expand expression constant propagation to eliminate extra
sums in certain cases.
2005-11-10 13:28:11 +00:00
steve
a652719876
Add support for indexed select attached to parameters.
2005-10-04 04:09:25 +00:00
steve
8232b621f1
Fix parse errors related to pr766.
2005-07-27 14:54:51 +00:00
steve
b9799cf6ec
Remove NetVariable and ivl_variable_t structures.
2005-07-11 16:56:50 +00:00
steve
75ad90534b
Generalize signals to carry types.
2005-07-07 16:22:49 +00:00
steve
f7dc4307bd
Fix duplicate delete from pr1073.
2005-02-19 16:44:38 +00:00
steve
e4ae832153
Clean up spurious trailing white space.
2004-10-04 01:10:51 +00:00
steve
8dfe16f6d2
Parse attributes attached to reg declarations.
2004-09-14 18:24:56 +00:00
steve
1ab8879100
Fix syntax for $period to allow min:Ltyp:max expressions.
2004-09-05 21:01:51 +00:00
steve
2d498363d7
Handle instance array of port-less modules.
2004-09-05 18:09:47 +00:00
steve
95c8115fc7
Add support for localparam ranges.
2004-08-26 04:02:03 +00:00
steve
5472b27e1f
Rewire/generalize parsing an elaboration of
...
function return values to allow for better
speed and more type support.
2004-05-31 23:34:36 +00:00
steve
e7fa56981a
More identifier lists use perm_strings.
2004-05-25 19:21:06 +00:00
steve
559f73c135
Attach line numbers to wait statements.
2004-05-25 03:42:44 +00:00
steve
413932e406
Verilog2001 new style port declartions for primitives.
2004-03-08 00:10:29 +00:00
steve
177b6ffb6a
Addtrbute keys are perm_strings.
2004-02-20 18:53:33 +00:00
steve
1295058e5d
parameter keys are per_strings.
2004-02-20 06:22:56 +00:00
steve
27af95d402
Use perm_strings for named langiage items.
2004-02-18 17:11:54 +00:00
steve
d64295ed65
primitives support reg output name syntax.
2004-02-15 17:48:16 +00:00
steve
3bb408faf2
Add support for initialization assign in port list declaration of reg.
2004-01-21 03:37:12 +00:00
steve
1970e41041
Get value for vpoiConstType correct.
2004-01-13 02:55:50 +00:00
steve
5b0c7be6b7
Add ANSI style parameter port declarations.
2003-12-19 05:15:04 +00:00
steve
2e6cfd8c0d
min:typ:max delay values in specify statements.
2003-09-21 21:16:05 +00:00
steve
fdb5731b8b
Add $recrem to specify syntax.
2003-08-31 21:14:28 +00:00
steve
14150d6fba
ifdef idents correctly.
2003-08-26 16:26:01 +00:00
steve
5b351599f0
Allow attributes on Verilog 2001 port declarations.
2003-07-04 03:57:18 +00:00
steve
ccf4d4d7da
Module attributes from the parser
...
through to elaborated form.
2003-06-20 00:53:19 +00:00
steve
cc5f7a64b0
Add attributes to modules.
2003-06-19 18:54:49 +00:00
steve
71a404a546
Add arithmetic shift operators.
2003-06-18 03:55:18 +00:00
steve
dc90f0d52d
Task/functions can have signed ports.
2003-06-13 00:27:09 +00:00
steve
cb0a9b254e
More 2001 port declaration support.
2003-04-28 17:50:57 +00:00
steve
58f6755fa7
Ansi port declaration can take a list.
2003-04-25 02:28:53 +00:00
steve
561a268c9c
Break sized constants into a size token
...
and a based numeric constant.
2003-04-14 03:37:47 +00:00
steve
20c0d8f3ba
Add bx support for udps.
2003-03-18 01:36:14 +00:00
steve
e58030498f
specparams as far as pform.
2003-02-27 06:45:11 +00:00
steve
26b755d544
Fix handling of inline decloration without wire keyword.
2003-02-07 23:16:09 +00:00
steve
9adbdcb7c5
Add support for signed ports and nets.
2003-02-02 19:02:39 +00:00
steve
46253ed873
Rework expression parsing and elaboration to
...
accommodate real/realtime values and expressions.
2003-01-26 21:15:58 +00:00
steve
982474899b
Set proper line text for later bison.
2003-01-17 05:48:02 +00:00
steve
cca07fa42d
Account for bison 1.35 and stack manipulations.
2002-12-10 05:49:51 +00:00
steve
e62e1d89b6
Named event triggers can take hierarchical names.
2002-12-07 02:49:24 +00:00
steve
8604f922a5
specify delay can take an unbracketed simple value.
2002-11-26 03:56:10 +00:00
steve
b9188ad0ca
PATHPULSE specparam assignment syntax.
2002-11-21 17:40:11 +00:00
steve
e34e3a4875
spelling in a comment.
2002-11-09 02:22:07 +00:00
steve
86032c0aa5
Allow named events to be referenced by
...
hierarchical names.
2002-11-02 03:27:51 +00:00
steve
c0c67a101a
Fix spelling of the scalared keyword.
2002-10-13 05:01:44 +00:00
steve
8fbacc966e
compile error.
2002-09-16 00:28:51 +00:00
steve
dac99b9374
Add support for binary nand operator.
2002-09-12 15:49:43 +00:00
steve
7e1e44e87a
Properly cast signedness of parameters with ranges.
2002-09-01 03:01:48 +00:00
steve
4de141ab1d
Support parameters with defined ranges.
2002-08-19 02:39:16 +00:00
steve
5eca5d9948
Carry integerness throughout the compilation.
2002-06-21 04:59:35 +00:00
steve
0bbea355c2
More specify syntax.
2002-06-11 13:58:04 +00:00
steve
d6c946f390
Spelling patch (Larry Doolittle)
2002-06-11 03:34:33 +00:00
steve
bfad382fd1
Carry Verilog 2001 attributes with processes,
...
all the way through to the ivl_target API.
Divide signal reference counts between rval
and lval references.
2002-05-26 01:39:02 +00:00
steve
700887d657
Verilog 2001 attriubtes on nets/wires.
2002-05-24 04:36:23 +00:00
steve
e6c0629626
Add language support for Verilog-2001 attribute
...
syntax. Hook this support into existing $attribute
handling, and add number and void value types.
Add to the ivl_target API new functions for access
of complex attributes attached to gates.
2002-05-23 03:08:50 +00:00
steve
74c219f171
Add ranges and signed to port list declarations.
2002-05-20 02:06:01 +00:00
steve
bf10c5762a
Parse port_declaration_lists from the 2001 Standard.
2002-05-19 23:37:28 +00:00
steve
9dda15a186
implement nex_input for behavioral statements.
2002-04-21 17:43:12 +00:00
steve
b094bbdcf4
Add support for conbinational events by finding
...
the inputs to expressions and some statements.
Get case and assignment statements working.
2002-04-21 04:59:07 +00:00
steve
f7f61a8696
Detect mismatches in reg as module items and ports.
2002-04-12 02:57:08 +00:00
steve
65159a2733
Update for newer bison.
2002-03-31 04:06:49 +00:00
steve
853c1f4387
Detect incorrect function ports.
2002-01-23 03:35:17 +00:00
steve
361d4f2147
Drive strengths for continuous assignments.
2002-01-12 04:03:39 +00:00
steve
912749342c
Parse combinational event delay.
2001-12-31 05:23:13 +00:00
steve
03aebd7525
Support elaborate_net for PEString objects.
2001-12-30 21:32:03 +00:00
steve
4dd5f97a96
Parse and handle drive strengths of gates to vvp.
2001-12-14 02:05:13 +00:00
steve
c200c0c20e
Support integer for function return value.
2001-12-07 05:03:13 +00:00
steve
ab6c8cb4b8
Parser and pform use hierarchical names as hname_t
...
objects instead of encoded strings.
2001-12-03 04:47:14 +00:00
steve
33c7c47f73
Handle index identifiers in simple paths.
2001-12-01 02:42:39 +00:00
steve
65f835f3eb
Properly parse net_decl assignments with delays.
2001-11-29 17:37:51 +00:00
steve
4d0b840c26
Coerse input to inout when assigned to.
2001-11-10 02:08:49 +00:00
steve
0c4bea473c
Parse specparam parsepulse assignments.
2001-11-06 02:52:19 +00:00
steve
b624b6002e
Parse more [gosh darn] specify syntax.
2001-11-03 04:09:10 +00:00
steve
faa3a62259
detect module ports not declared within the module.
2001-10-31 03:11:15 +00:00
steve
8c9e0bafa9
more specify syntax (Stehpan Boettcher)
2001-10-26 03:22:56 +00:00
steve
467ecf5b33
Error messages for missing UDP port declarations.
2001-10-21 01:55:24 +00:00
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