steve
25de448d34
Remove obsolete NetSubnet class.
2005-01-22 18:16:00 +00:00
steve
4d139b58aa
Properly pad vector widths in pgassign.
2005-01-12 03:17:36 +00:00
steve
9e94afe399
Use PartSelect/PV and VP to handle part selects through ports.
2005-01-09 20:16:00 +00:00
steve
8f2d679c8a
Unify elaboration of l-values for all proceedural assignments,
...
including assing, cassign and force.
Generate NetConcat devices for gate outputs that feed into a
vector results. Use this to hande gate arrays. Also let gate
arrays handle vectors of gates when the outputs allow for it.
2004-12-29 23:55:43 +00:00
steve
3947d7dd33
Force r-value padded to width.
2004-12-15 17:09:11 +00:00
steve
d19e76a193
Fix r-value width of continuous assign.
2004-12-12 18:13:39 +00:00
steve
65e9b6be12
Rework of internals to carry vectors through nexus instead
...
of single bits. Make the ivl, tgt-vvp and vvp initial changes
down this path.
2004-12-11 02:31:25 +00:00
steve
e4ae832153
Clean up spurious trailing white space.
2004-10-04 01:10:51 +00:00
steve
c10e572091
Support degenerat wait statements.
2004-09-05 21:07:26 +00:00
steve
9de786fc44
Add support for module instance arrays.
2004-09-05 17:44:41 +00:00
steve
8bf434754f
Propagate source line number in synthetic delay statements.
2004-06-30 15:32:02 +00:00
steve
76c0fe459c
Only pad the width of vector r-values.
2004-06-20 15:59:06 +00:00
steve
9949040285
Add support for the default_nettype directive.
2004-06-13 04:56:53 +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
55ba131997
Handle wait with constant-false expression.
2004-05-25 03:42:58 +00:00
steve
c6453a0854
primitive ports can bind bi name.
2004-03-08 00:47:44 +00:00
steve
413932e406
Verilog2001 new style port declartions for primitives.
2004-03-08 00:10:29 +00:00
steve
9531920685
MOre thorough use of elab_and_eval function.
2004-03-07 20:04:10 +00:00
steve
177b6ffb6a
Addtrbute keys are perm_strings.
2004-02-20 18:53:33 +00:00
steve
27af95d402
Use perm_strings for named langiage items.
2004-02-18 17:11:54 +00:00
steve
6a02613fca
Get rid of useless warning.
2004-01-21 04:35:03 +00:00
steve
e617e4a98c
Handle wide expressions in wait condition.
2004-01-13 03:42:49 +00:00
steve
ee172bdccf
Attach line number information to for loop parts.
2003-10-26 04:49:51 +00:00
steve
39b2928ad8
Summary list of missing modules.
2003-09-25 00:25:14 +00:00
steve
6abe797963
Evaluate nb-assign r-values using elab_and_eval.
2003-09-20 06:08:53 +00:00
steve
94a71fdee8
Evaluate gate array index constants using elab_and_eval.
2003-09-20 06:00:37 +00:00
steve
1f0c274e82
Obsolete find_symbol and find_event from the Design class.
2003-09-20 01:05:35 +00:00
steve
178847fc53
Spelling fixes.
2003-09-13 01:01:51 +00:00
steve
cee34f8a8a
Support time0 resolution of combinational threads.
2003-09-04 20:28:05 +00:00
steve
7c1401a2ba
Spelling patch.
2003-08-28 04:11:17 +00:00
steve
c96598a429
Primitive outputs have same limitations as continuous assignment.
2003-08-05 03:01:58 +00:00
steve
004ecd08dd
Elide empty begin-end in conditionals.
2003-07-02 04:19:16 +00:00
steve
61195c5daa
Harmless fixup of warnings.
2003-06-21 01:21:42 +00:00
steve
b43c543455
Handle assign of real to vector.
2003-06-13 19:10:20 +00:00
steve
17e93b7cbe
Implement the wait statement behaviorally instead of as nets.
2003-05-19 02:50:58 +00:00
steve
d958fd2c36
Fix truncation of signed constant in constant addition.
2003-05-04 20:04:08 +00:00
steve
5b726e09af
Include port name in port assignment error message.
2003-04-24 05:25:55 +00:00
steve
d18934d444
Sign extend NetMult inputs if result is signed.
2003-03-29 05:51:25 +00:00
steve
4e182ebf67
Some better internal error messages.
2003-03-26 06:16:38 +00:00
steve
badad63ab4
All NetObj objects have lex_string base names.
2003-03-06 00:28:41 +00:00
steve
4c67de5ca7
Add the lex_strings string handler, and put
...
scope names and system task/function names
into this table. Also, permallocate event
names from the beginning.
2003-03-01 06:25:30 +00:00
steve
cd572a74ce
Add the portbind warning.
2003-02-22 04:12:49 +00:00
steve
e571dd90d8
Calculate delay statement delays using elaborated
...
expressions instead of pre-elaborated expression
trees.
Remove the eval_pexpr methods from PExpr.
2003-02-08 19:49:21 +00:00
steve
55af069fe8
Rewrite delay statement elaboration of handle real expressions.
2003-02-07 02:49:24 +00:00
steve
e941e7e805
Spelling fixes.
2003-01-30 16:23:07 +00:00
steve
8f0c02c0fa
Spelling fixes.
2003-01-27 05:09:17 +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
f56d763411
Move strstream to ostringstream for compatibility.
2003-01-14 21:16:18 +00:00
steve
dedae73761
Account for local units in calculated delays.
2002-12-21 19:42:17 +00:00
steve
b89e138404
precalculate r-values of nb assignments and task arguments.
2002-12-05 04:15:14 +00:00
steve
807a758f7c
Do not set width if width is already OK.
2002-11-26 03:35:13 +00:00
steve
cfd8cbf850
Port expressions for output ports are lnets, not nets.
2002-11-09 19:20:48 +00:00
steve
3fca25181a
Evaluate nonblocking assign r-values.
2002-08-28 18:54:36 +00:00
steve
c0046e845e
Handle special case of empty system task argument list.
2002-08-15 02:11:54 +00:00
steve
d4eaede435
Do not elide named blocks.
2002-08-13 05:35:00 +00:00
steve
52bf4e613f
conditional ident string using autoconfig.
2002-08-12 01:34:58 +00:00
steve
37331d1c1b
Add port name to pin size error message.
2002-07-31 23:55:38 +00:00
steve
843e1f9c44
Save event matching for nodangle.
2002-07-24 16:22:59 +00:00
steve
15becdaee4
Need driver for sure in assign feedback and other cases.
2002-07-18 02:06:37 +00:00
steve
80c9db3c88
Careful with assign to self.
2002-07-18 00:24:22 +00:00
steve
3f1cd14f6c
Fix scope search for events.
2002-07-03 05:34:59 +00:00
steve
cd94019733
Remove NetTmp and add NetSubnet class.
2002-06-19 04:20:03 +00:00
steve
53d8cdd9f8
Add support for memory words in l-value of
...
non-blocking assignments, and remove the special
NetAssignMem_ and NetAssignMemNB classes.
2002-06-05 03:44:25 +00:00
steve
91a755d0e8
Add support for memory words in l-value of
...
blocking assignments, and remove the special
NetAssignMem class.
2002-06-04 05:38:43 +00:00
steve
422754f36f
Support carrying the scope of named begin-end
...
blocks down to the code generator, and have
the vvp code generator use that to support disable.
2002-05-27 00:08:45 +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
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
c787a36af2
Accept errors in memory index expression.
2002-05-12 19:16:58 +00:00
steve
f5d3b78653
Use else clause instead of ! to preface wait events.
2002-05-07 05:06:07 +00:00
steve
0696e3d558
Agressively evalutate case expressions.
2002-04-24 17:40:48 +00:00
steve
0976fd393b
Do not allow implicit wires in sensitivity lists.
2002-04-22 00:53:39 +00:00
steve
5882c6a481
Redo handling of assignment internal delays.
...
Leave it possible for them to be calculated
at run time.
2002-04-21 22:31:02 +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
6733f7625b
Detect missing indices to memories (PR#421)
2002-04-13 02:33:17 +00:00
steve
3d646aa92c
Constant expressions are not l-values for task ports.
2002-03-09 04:02:26 +00:00
steve
0b68639f7d
elaborate deassign lval as done for assign.
2002-01-23 05:56:22 +00:00
steve
a02cfe0f1b
Evaluate case guards, if possible.
2002-01-19 20:09:56 +00:00
steve
c9d6b5431d
Remove test print
2001-12-31 00:39:20 +00:00
steve
000d187c94
Do not delete delay expressions of UDP instances.
2001-12-29 20:19:31 +00:00
steve
4b174fd996
Forgot to evaluate UDP delays.
2001-12-06 05:04:49 +00:00
steve
dbf5509f4f
Support delays on UDP instances.
2001-12-06 04:44:11 +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
82831ea9a5
Use NetScope instead of string for scope path.
2001-11-22 06:20:59 +00:00
steve
7793a49854
Remove string paths from PExpr elaboration.
2001-11-08 05:15:50 +00:00
steve
6bfbcbdcf7
elaborate_lnet uses scope instead of string path.
2001-11-07 04:26:46 +00:00
steve
bf72f39fe9
eval_const uses scope instead of a string path.
2001-11-07 04:01:59 +00:00
steve
649428962e
Pad limited r-values in continuous assignments.
2001-11-04 23:12:29 +00:00
steve
b3e430c751
Give up if roots are missing.
2001-10-31 03:22:31 +00:00
steve
874bab10e4
NetObj constructor finally requires a scope.
2001-10-28 01:14:53 +00:00
steve
b01316ce12
Better error message for mising root module.
2001-10-22 23:26:37 +00:00
steve
990df42407
Handle activating tasks in another root.
2001-10-22 02:05:20 +00:00
steve
9f3e64e11a
Module types in pform are char* instead of string.
2001-10-21 00:42:47 +00:00
steve
6466d02eda
Add automatic module libraries.
2001-10-20 23:02:39 +00:00
steve
7a149a6943
Scope/module names are char* instead of string.
2001-10-20 05:21:51 +00:00
steve
d350620315
Support multiple root modules (Philip Blundell)
2001-10-19 21:53:24 +00:00
steve
e35ed6e91c
Change the NetAssign_ class to refer to the signal
...
instead of link into the netlist. This is faster
and uses less space. Make the NetAssignNB carry
the delays instead of the NetAssign_ lval objects.
Change the vvp code generator to support multiple
l-values, i.e. concatenations of part selects.
2001-08-25 23:50:02 +00:00
steve
d8141252e9
Accept empty port lists to module instantiation.
2001-08-01 05:17:31 +00:00
steve
e17f7f5146
Detect a missing task definition before it crashes me.
2001-07-28 22:13:11 +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
83de770387
Do not connect reg to module outputs.
2001-07-19 03:43:15 +00:00
steve
a033c331b6
Report line of unsupported cassign.
2001-06-27 18:34:43 +00:00
steve
5aee3b866a
do not assert if memory reference is invalid.
2001-05-17 03:35:22 +00:00
steve
a52b34cb64
Add pullup and pulldown devices.
2001-04-29 20:19:10 +00:00
steve
9bb2cee686
UDP instances need not have user supplied names.
2001-04-28 23:18:08 +00:00
steve
8dfa322b8b
Support for UDP devices in VVP (Stephen Boettcher)
2001-04-24 02:23:58 +00:00
steve
66cf3ec8fa
More UDP consolidation from Stephan Boettcher.
2001-04-22 23:09:45 +00:00
steve
f40d006c26
Generate code for task calls.
2001-04-02 02:28:12 +00:00
steve
2b0aaec8ab
FreeBSD port has a maintainer now.
2001-02-15 06:59:35 +00:00
steve
7ef3b44ab1
support evaluation of constant < in expressions.
2001-02-09 05:44:23 +00:00
steve
2fbc0af1ea
Fix expression widths for rvalues and parameters (PR#131,132)
2001-02-07 21:47:13 +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
5276752276
Build task outputs as lval instead of nets. (PR#98)
2001-01-10 03:13:23 +00:00
steve
6bf599e839
Cope with width mismatches to module ports (PR#89)
2001-01-09 05:58:47 +00:00
steve
5144725b8f
Accept x in outputs of primitive. (PR#84)
2000-12-15 01:24:17 +00:00
steve
084a464cf1
Support decimal constants in behavioral delays.
2000-12-10 22:01:35 +00:00
steve
9ddd0491f7
Support delays on continuous assignment from idents. (PR#40)
2000-12-10 06:41:59 +00:00
steve
f6507cba43
Check lvalue of procedural continuous assign (PR#29)
2000-12-06 06:31:09 +00:00
steve
e310532434
Handle null statements inside a wait. (PR#60)
2000-12-01 23:52:49 +00:00
steve
28bc621f11
change set for support of nmos, pmos, rnmos, rpmos, notif0, and notif1
...
change set to correct behavior of bufif0 and bufif1
(Tim Leight)
Also includes fix for PR#27
2000-11-11 01:52:09 +00:00
steve
f4ed0e35af
Handle connectsion to internally unconnected modules (PR#38)
2000-11-05 06:05:59 +00:00
steve
ad4931e813
Add scope to threads in vvm, pass that scope
...
to vpi sysTaskFunc objects, and add vpi calls
to access that information.
$display displays scope in %m (PR#1)
2000-10-28 00:51:41 +00:00
steve
f915efaf15
Fix handling of errors in behavioral lvalues. (PR#28)
2000-10-26 17:09:46 +00:00
steve
76e2c509d7
Put logic devices into scopes.
2000-10-07 19:45:42 +00:00
steve
40028f263f
Do not put noop statements into blocks.
2000-09-29 22:58:57 +00:00
steve
cbe20e8bcf
fix null pointer when elaborating undefined task.
2000-09-24 17:41:13 +00:00
steve
9067c91656
Correctly measure comples l-values of assignments.
2000-09-20 02:53:14 +00:00
steve
b6ce313e91
move lval elaboration to PExpr virtual methods.
2000-09-09 15:21:26 +00:00
steve
4cf75adf94
Fix bit padding of assign signal-to-signal
2000-09-07 01:29:44 +00:00
steve
49570b8cd9
encapsulate access to the l-value expected width.
2000-09-07 00:06:53 +00:00
steve
24e46723b0
Change elaborate_lval to return NetAssign_ objects.
2000-09-03 17:58:35 +00:00
steve
115d24a292
Pull NetAssign_ creation out of constructors.
2000-09-02 23:40:12 +00:00
steve
ac81f6a201
Rearrange NetAssign to make NetAssign_ separate.
2000-09-02 20:54:20 +00:00
steve
a59bbdeb4f
Proper error messages when port direction is missing.
2000-08-18 04:38:57 +00:00
steve
0243fca8dc
Rearrange task and function elaboration so that the
...
NetTaskDef and NetFuncDef functions are created during
signal enaboration, and carry these objects in the
NetScope class instead of the extra, useless map in
the Design class.
2000-07-30 18:25:43 +00:00
steve
4494a7a4f3
Support elaboration of disable statements.
2000-07-27 05:13:44 +00:00
steve
739365abe5
Parse disable statements to pform.
2000-07-26 05:08:07 +00:00
steve
286cef19fb
Parse and elaborate timescale to scopes.
2000-07-22 22:09:03 +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
66ae567b25
Index in memory assign should be a NetExpr.
2000-06-13 03:24:48 +00:00
steve
c1c0168893
Globally merge redundant event objects.
2000-05-31 02:26:49 +00:00
steve
fd09bc3e3e
Merge similar probes within a module.
2000-05-27 19:33:23 +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
e81ce68e8c
Use bufz to make assignments directional.
2000-05-08 05:28:29 +00:00
steve
c4d8ded269
non-blocking assignment to a bit select.
2000-05-07 21:17:21 +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
1db70a0c46
Move signal elaboration to a seperate pass.
2000-05-02 16:27:38 +00:00
steve
69612ceb73
Move memories to the NetScope object.
2000-05-02 03:13:30 +00:00
steve
8d8f1e2401
Move signal tables to the NetScope class.
2000-05-02 00:58:11 +00:00