steve
57c3e86084
Debug dumps for synth2.
2003-12-17 16:52:39 +00:00
steve
bfe31e22bf
Start handling pad of expressions in code generators.
2003-07-26 03:34:42 +00:00
steve
77da147629
Fix some enumeration warnings.
2003-07-05 20:42:08 +00:00
steve
ccf4d4d7da
Module attributes from the parser
...
through to elaborated form.
2003-06-20 00:53:19 +00:00
steve
71a404a546
Add arithmetic shift operators.
2003-06-18 03:55:18 +00:00
steve
5903f0744c
Support parameters in real expressions and
...
as real expressions, and fix multiply and
divide with real results.
2003-05-30 02:55:32 +00:00
steve
f1cc9d865b
Support event names as expressions elements.
2003-04-22 04:48:29 +00:00
steve
1222153cdf
Keep parameter constants for the ivl_target API.
2003-03-10 23:40:53 +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
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
43501809b1
Redo the parameter vector support to allow
...
parameter names in range expressions.
2002-10-19 22:59:49 +00:00
steve
8ab2ec6f86
Allow release to handle removal of target net.
2002-08-19 00:06:11 +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
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
cd94019733
Remove NetTmp and add NetSubnet class.
2002-06-19 04:20:03 +00:00
steve
a82c178fd9
Fix expression width for repeat concatenations.
2002-06-14 21:38:41 +00:00
steve
9cef973d9b
Add NetRamDq synthsesis from memory l-values.
2002-06-08 23:42:46 +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
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
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
b7c2bd4f72
Add the NetUserFunc netlist node.
2002-03-09 02:10:22 +00:00
steve
e20acfc9f9
Include s indicator in dump of signed numbers.
2001-12-31 00:02:33 +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
659624c71f
Print typename is fallback expression node dump.
2001-11-19 01:46:38 +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
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
629a02cccf
Fix binding of dangling function ports. do not elide them.
2001-07-27 02:41:55 +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
a52b34cb64
Add pullup and pulldown devices.
2001-04-29 20:19:10 +00:00
steve
66cf3ec8fa
More UDP consolidation from Stephan Boettcher.
2001-04-22 23:09:45 +00:00
steve
78355b6038
Check that the port really exists here.
2001-02-17 05:13:36 +00:00
steve
145ac49233
NetMux needs a scope. (PR#115)
2001-01-18 03:16:35 +00:00
steve
02fc59fbdf
Parse parameters within nested scopes.
2001-01-13 22:20:08 +00:00
steve
8ae4e25720
Detect recursive instantiations (PR#2)
2000-12-16 01:45:47 +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
9ddd0491f7
Support delays on continuous assignment from idents. (PR#40)
2000-12-10 06:41:59 +00:00
steve
4f638882c9
Add Attrib class for holding NetObj attributes.
2000-12-04 17:37:03 +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
a8da692540
Add support for the t-dll backend grabing flip-flops.
2000-11-11 00:03:36 +00:00
steve
61ad0b23c8
Apply sequential UDP rework from Stephan Boettcher (PR#39)
2000-11-04 06:36:24 +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
8b581cef46
Remove the obsolete NetEIdent class.
2000-09-26 01:35:42 +00:00
steve
89d7176734
Add support for modulus (Eric Aardoom)
2000-09-17 21:26:15 +00:00
steve
8a69c54886
elaborate complex l-values
2000-09-10 02:18:16 +00:00
steve
ac81f6a201
Rearrange NetAssign to make NetAssign_ separate.
2000-09-02 20:54:20 +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
39c71ef68a
fix problem coalescing events w/ probes.
2000-07-29 03:55:38 +00:00
steve
4494a7a4f3
Support elaboration of disable statements.
2000-07-27 05:13:44 +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
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
367db72c99
Add support for procedural continuous assignment.
2000-05-11 23:37:26 +00:00
steve
b28f258463
Import MCD support from Stephen Tell, and add
...
system function parameter support to the IVL core.
2000-05-07 18:20:07 +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
fbe475ef7d
Add infrastructure for system functions, move
...
$time to that structure and add $random.
2000-05-04 03:37:58 +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
steve
acfb5c177d
Over agressive signal elimination in constant probadation.
2000-04-28 21:00:28 +00:00
steve
a8114ae122
Add support for the procedural release statement.
2000-04-23 03:45:24 +00:00
steve
44838f8973
Add support for force assignment.
2000-04-22 04:20:19 +00:00
steve
4493e968da
Finally remove the NetNEvent and NetPEvent classes,
...
Get synthesis working with the NetEvWait class,
and get started supporting multiple events in a
wait in vvm.
2000-04-12 20:02:52 +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
8dbd64121f
All events now use the NetEvent class.
2000-04-10 05:26:05 +00:00
steve
30e8289239
Simulate named event trigger and waits.
2000-04-04 03:20:15 +00:00
steve
b62a7ace5c
Remove the useless sref template.
2000-04-02 04:26:06 +00:00
steve
694ff934af
Add support for integer division.
2000-04-01 21:40:22 +00:00
steve
d97ab9be23
New and improved combinational primitives.
2000-03-29 04:37:10 +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
b734ecf02f
Macintosh compilers do not support ident.
2000-02-23 02:56:53 +00:00
steve
aa8908c52f
Multiplication all the way to simulation.
2000-01-13 03:35:35 +00:00
steve
fac3bde2c8
Elaborate parameters afer binding of overrides.
2000-01-10 01:35:23 +00:00
steve
65ae92859c
NetConst can now hold wide constants.
1999-12-17 03:38:46 +00:00
steve
76655ce2bb
Allow memories without indices in expressions.
1999-12-12 06:03:14 +00:00
steve
3e2bb85f58
Synthesize LPM_RAM_DQ for writes into memories.
1999-12-05 02:24:08 +00:00
steve
e96e8c62be
NetESignal object no longer need to be NetNode
...
objects. Let them keep a pointer to NetNet objects.
1999-11-28 23:42:02 +00:00
steve
4cfa3e4047
Support the creation of scopes.
1999-11-27 19:07:57 +00:00
steve
26288eeeb4
Detect and list scope names.
1999-11-24 04:01:58 +00:00
steve
a81dcd7955
Support memories in continuous assignments.
1999-11-21 00:13:08 +00:00
steve
513ade9b95
Support combinatorial comparators.
1999-11-14 23:43:45 +00:00
steve
1624afe1ba
Add support for the LPM_CLSHIFT device.
1999-11-14 20:24:28 +00:00
steve
cb5fc54b5e
Patch to synthesize unary ~ and the ternary operator.
...
Thanks to Larry Doolittle <LRDoolittle@lbl.gov>.
Add the LPM_MUX device, and integrate it with the
ternary synthesis from Larry. Replace the lpm_mux
generator in t-xnf.cc to use XNF EQU devices to
put muxs into function units.
Rewrite elaborate_net for the PETernary class to
also use the LPM_MUX device.
1999-11-04 03:53:26 +00:00
steve
50e47c4173
Elaborate combinational UDP devices.
1999-11-04 01:12:41 +00:00
steve
89881adece
Add the synth functor to do generic synthesis
...
and add the LPM_FF device to handle rows of
flip-flops.
1999-11-01 02:07:40 +00:00
steve
e1bbbe5614
Include subtraction in LPM_ADD_SUB device.
1999-10-31 20:08:24 +00:00
steve
71ecf8c143
Add to netlist links pin name and instance number,
...
and arrange in vvm for pin connections by name
and instance number.
1999-10-31 04:11:27 +00:00
steve
70a1236626
Structural case equals device.
1999-10-10 01:59:54 +00:00
steve
11eccfc033
Fix dump of sase statements.
1999-10-08 02:00:35 +00:00
steve
f949f96df1
Add non-const bit select in l-value of assignment.
1999-10-07 05:25:33 +00:00
steve
1d215998b2
Move the rvalue into NetAssign_ common code.
1999-10-06 05:06:16 +00:00
steve
4d8c0c79d6
Add support for reduction NOR.
1999-10-05 06:19:46 +00:00