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
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
f58b124101
Fix return value warnings.
2003-11-10 19:44:30 +00:00
steve
c26df174a1
Oops, missing pin_Sset implementation.
2003-09-03 23:32:10 +00:00
steve
e561819179
Add synthesis support for synchronous reset.
2003-08-15 02:23:52 +00:00
steve
77da147629
Fix some enumeration warnings.
2003-07-05 20:42:08 +00:00
steve
71a404a546
Add arithmetic shift operators.
2003-06-18 03:55:18 +00:00
steve
76295ac873
More complete bit range internal error message,
...
Better test of part select ranges on non-zero
signal ranges.
2003-05-01 01:13:57 +00:00
steve
d88d876501
Better guess of defualt ternary width.
2003-04-27 16:33:16 +00:00
steve
cdbf21a92d
NetSubsignal inherits port type from source.
2003-04-24 05:26:25 +00:00
steve
f1cc9d865b
Support event names as expressions elements.
2003-04-22 04:48:29 +00:00
steve
5d1d99a89f
Handle signed magnitude compare all the
...
way through to the vvp code generator.
2003-04-11 05:18:08 +00:00
steve
d18934d444
Sign extend NetMult inputs if result is signed.
2003-03-29 05:51:25 +00:00
steve
c602d94cef
Comparison operators do have defined width.
2003-03-15 18:08:43 +00:00
steve
1222153cdf
Keep parameter constants for the ivl_target API.
2003-03-10 23:40:53 +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
04ada23119
Support in various contexts the $realtime
...
system task.
2003-01-27 00:14:37 +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
588931fcf2
Add dup_expr for user defined function calls.
2002-11-09 00:25:27 +00:00
steve
de94d09706
No need to keep excess width from an
...
unsigned constant value, if it can
be trimmed safely.
2002-11-06 02:25:13 +00:00
steve
9ce2806710
Fix synth2 handling of aset/aclr signals where
...
flip-flops are split by begin-end blocks.
2002-10-23 01:45:24 +00:00
steve
166621bcb3
Generate vvp code for asynch set/reset of NetFF.
2002-09-26 03:18:04 +00:00
steve
7e1e44e87a
Properly cast signedness of parameters with ranges.
2002-09-01 03:01:48 +00:00
steve
8ab2ec6f86
Allow release to handle removal of target net.
2002-08-19 00:06:11 +00:00
steve
52bf4e613f
conditional ident string using autoconfig.
2002-08-12 01:34:58 +00:00
steve
89314d4772
Do not use hierarchical names of memories to
...
generate vvp labels. -tdll target does not
used hierarchical name string to look up the
memory objects in the design.
2002-08-04 18:28:14 +00:00
steve
76665b9404
Fix NetBlock destructor to delete substatements.
2002-07-28 23:58:44 +00:00
steve
58ec62c895
Rewrite find_similar_event to support doing
...
all event matching and replacement in one
shot, saving time in the scans.
2002-07-24 16:24:45 +00:00
steve
93bb4283b8
Change the signal to a net when assignments go away.
2002-07-02 03:02:57 +00:00
steve
5eca5d9948
Carry integerness throughout the compilation.
2002-06-21 04:59:35 +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
8667b9a35d
Put off evaluation of concatenation repeat expresions
...
until after parameters are defined. This allows parms
to be used in repeat expresions.
Add the builtin $signed system function.
2002-05-05 21:11:49 +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
e630ecdb0d
Ternary expressions can be signed.
2002-04-14 19:02:34 +00:00
steve
eb27dc8db3
Support signed integer division.
2002-04-14 18:41:34 +00:00
steve
9756cb6382
Propagate sign in unary minus.
2002-02-01 05:09:14 +00:00
steve
349be0f169
Precalculate constant results of memory index expressions.
2002-01-22 01:40:04 +00:00
steve
51db00fb44
Support $signed cast of expressions.
2001-12-31 00:08:14 +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
f28f5e01e5
Unary reduction operators are all 1-bit results.
2001-11-19 04:26:46 +00:00
steve
cfed3933fa
Port close cropping behavior from mcrgb
...
Move window array reset to libmc.
2001-11-19 01:54:14 +00:00
steve
1ff36dc892
shift expressions can have definite widths.
2001-11-06 04:32:37 +00:00
steve
874bab10e4
NetObj constructor finally requires a scope.
2001-10-28 01:14:53 +00:00
steve
177fa4062b
Support IVL_LPM_DIVIDE for structural divide.
2001-10-16 02:19:26 +00:00
steve
494b5ff1ee
parameter names do not have defined size.
2001-10-07 03:38:08 +00:00
steve
d46465845c
Fix the size of unsized constant operants to compare (PR#274)
2001-09-29 01:53:22 +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
becc7cb56a
Handle part select expressions as variants of
...
NetESignal/IVL_EX_SIGNAL objects, instead of
creating new and useless temporary signals.
2001-07-27 04:51:44 +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
ce589da58a
Support the NetESubSignal expressions in vvp.tgt.
2001-07-22 00:17:49 +00:00
steve
fb0c387b12
Detect and make available to t-dll the right shift.
2001-07-07 03:01:37 +00:00
steve
bcaa122fb9
handle left shifter in dll output.
2001-07-04 22:59:25 +00:00
steve
79b740284a
Make NetFF constructor take const char* for the name.
2001-07-01 00:27:34 +00:00
steve
4b82d26f5e
Add support for structural multiply in t-dll.
...
Add code generators and vvp support for both
structural and behavioral multiply.
2001-06-16 23:45:05 +00:00
steve
b3a5a0e5ab
Generate vvp code for GT and GE comparisons.
2001-06-15 04:14:18 +00:00
steve
f480943649
Support structural addition.
2001-06-07 02:12:43 +00:00
steve
66cf3ec8fa
More UDP consolidation from Stephan Boettcher.
2001-04-22 23:09:45 +00:00
steve
0550287658
Generate vvp code for functions with ports.
2001-04-06 02:28:02 +00:00
steve
f40d006c26
Generate code for task calls.
2001-04-02 02:28:12 +00:00
steve
7d7beeecc1
Binary operators with operands of indefinite width
...
has itself an indefinite width.
2001-02-10 21:20:38 +00:00
steve
d78c7392c2
Remove dead code.
2001-02-08 01:10:30 +00:00
steve
2fbc0af1ea
Fix expression widths for rvalues and parameters (PR#131,132)
2001-02-07 21:47:13 +00:00
steve
145ac49233
NetMux needs a scope. (PR#115)
2001-01-18 03:16:35 +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
5dbea64759
Add support for signed reg variables,
...
simulate in t-vvm signed comparisons.
2000-12-11 00:31:43 +00:00
steve
3b9a60414e
Make signal attributes available to ivl_target API.
2000-12-05 06:29:33 +00:00
steve
4f638882c9
Add Attrib class for holding NetObj attributes.
2000-12-04 17:37:03 +00:00
steve
a5c69b50e5
Do not delete synthesized signals used in expressions.
2000-11-29 23:16:18 +00:00
steve
ea921efced
synthesis for unary reduction ! and N operators.
2000-11-29 05:24:00 +00:00
steve
f4443a7dfa
Add support for supply nets (PR#17)
2000-11-20 00:58:40 +00:00
steve
a8da692540
Add support for the t-dll backend grabing flip-flops.
2000-11-11 00:03:36 +00:00
steve
3591e06c4e
Support time variables.
2000-10-31 17:49:02 +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
76e2c509d7
Put logic devices into scopes.
2000-10-07 19:45:42 +00:00
steve
6f69773c57
ivl_target updates, including more complete
...
handling of ivl_nexus_t objects. Much reduced
dependencies on pointers to netlist objects.
2000-10-06 23:46:50 +00:00
steve
41f3ba65a1
xor and constant devices.
2000-10-05 05:03:01 +00:00
steve
79b1c51e68
Detect indefinite widths where definite widths are required.
2000-09-26 05:05:58 +00:00
steve
8b581cef46
Remove the obsolete NetEIdent class.
2000-09-26 01:35:42 +00:00
steve
2be1c115ff
Move some NetNet method out of the header file.
2000-09-24 15:44:44 +00:00
steve
48ff3590bc
Access to the name of a system task call.
2000-09-22 03:58:30 +00:00
steve
ac81f6a201
Rearrange NetAssign to make NetAssign_ separate.
2000-09-02 20:54:20 +00:00
steve
ff32325d07
t-dll iterates signals, and passes them to the
...
target module.
Some of NetObj should return char*, not string.
2000-08-27 15:51:50 +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
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
e52ada617e
Get rid of useless next_link method.
2000-06-24 22:55:19 +00:00
steve
66ae567b25
Index in memory assign should be a NetExpr.
2000-06-13 03:24:48 +00:00
steve
413d852012
NetEParam supports dup_expr.
2000-06-12 03:57:10 +00:00
steve
fd09bc3e3e
Merge similar probes within a module.
2000-05-27 19:33:23 +00:00
steve
d9eed14972
Accept different widths for add operands.
2000-05-19 01:43:16 +00:00
steve
367db72c99
Add support for procedural continuous assignment.
2000-05-11 23:37:26 +00:00