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
steve
77361fb8a0
Overly aggressive eliding of task calls.
2000-04-28 23:12:12 +00:00
steve
3a9be680a4
Skip empty tasks.
2000-04-28 22:17:47 +00:00
steve
08e9a114a2
Catch memory word parameters to tasks.
2000-04-28 16:50:53 +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
99a891b8a1
Bit padding in assignment to memory.
2000-04-21 04:38:15 +00:00
steve
4f07c43976
Minor cleanup of NetTaskDef.
2000-04-18 01:02:53 +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
72b3508911
Catch event declarations during scope elaborate.
2000-04-09 17:44:30 +00:00
steve
e9b06f1022
Catch event names in parentheses.
2000-04-09 16:43:50 +00:00
steve
30e8289239
Simulate named event trigger and waits.
2000-04-04 03:20:15 +00:00
steve
6150be2324
detect unsupported block on named events.
2000-04-01 22:14:19 +00:00
steve
2dd010dc04
Named events as far as the pform.
2000-04-01 19:31:57 +00:00
steve
d97ab9be23
New and improved combinational primitives.
2000-03-29 04:37:10 +00:00
steve
94270ff988
Fix lval part select of non-blocking assign.
2000-03-20 15:28:58 +00:00
steve
01c5147079
Connect output of NB assign to indexed pin.
2000-03-12 21:41:47 +00:00
steve
78ab1a7bba
Locate scopes in statements.
2000-03-11 03:25:51 +00:00
steve
61822d48aa
Handle defparam to partial hierarchical names.
2000-03-10 06:20:48 +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
5b52c384d6
Catch module instantiation arrays.
2000-02-18 05:15:02 +00:00
steve
bd09bed662
Mark the line numbers of NetCondit nodes.
2000-02-14 00:11:11 +00:00
steve
ee180f6cf0
Include the scope in named gates.
2000-02-06 23:13:14 +00:00
steve
fac3bde2c8
Elaborate parameters afer binding of overrides.
2000-01-10 01:35:23 +00:00
steve
9125a4c451
Careful with wires connected to multiple ports.
2000-01-09 20:37:57 +00:00
steve
2de887c2ff
Support named parameter override lists.
2000-01-09 05:50:48 +00:00
steve
0d5e4b40d0
Structural reduction XNOR.
2000-01-02 19:39:03 +00:00
steve
142b9e667d
Do not overrun the pin index when the LSB != 0.
2000-01-02 18:25:37 +00:00
steve
e6820ed169
Handle synthesis of concatenation.
2000-01-01 06:18:00 +00:00
steve
6e3c258edb
Detect duplicate scopes.
1999-12-14 23:42:16 +00:00
steve
3e1738dcec
Fix support for attaching attributes to primitive gates.
1999-12-11 05:45:41 +00:00
steve
3e2bb85f58
Synthesize LPM_RAM_DQ for writes into memories.
1999-12-05 02:24:08 +00:00
steve
cdb99e7638
Elaborate net repeat concatenations.
1999-12-02 04:08:10 +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
85ab6d160b
Handle multiply in constant expressions.
1999-11-21 20:03:24 +00:00
steve
4cfa715092
Memory name lookup handles scopes.
1999-11-21 17:35:37 +00:00
steve
b4aade1e4c
Fix coding errors handling names of logic devices,
...
and add support for buf device in vvm.
1999-11-21 01:16:51 +00:00
steve
a81dcd7955
Support memories in continuous assignments.
1999-11-21 00:13:08 +00:00
steve
9d6392fda9
Turn NetTmp objects into normal local NetNet objects,
...
and add the nodangle functor to clean up the local
symbols generated by elaboration and other steps.
1999-11-18 03:52:19 +00:00
steve
82f3f0f741
Create the vpiMemory handle type.
1999-11-10 02:52:24 +00:00
steve
206b37e5de
Fix NetConst being set to zero width, and clean
...
up elaborate_set_cmp_ for NetEBinary.
1999-11-05 21:45:19 +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
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
8ab03fa90f
Catch unindexed memory reference.
1999-10-18 00:02:21 +00:00
steve
475dd5760a
Remove commented out do_assign.
1999-10-13 03:16:36 +00:00
steve
70a1236626
Structural case equals device.
1999-10-10 01:59:54 +00:00
steve
7201865554
Support parameters in continuous assignments.
1999-10-09 21:30:16 +00:00
steve
aa11f57b57
Better message for combinational operators.
1999-10-09 19:24:04 +00:00
steve
29abc5a69e
Support + in constant expressions.
1999-10-08 17:48:08 +00:00
steve
5b7d783979
Accept adder parameters with different widths,
...
and simplify continuous assign construction.
1999-10-08 17:27:23 +00:00
steve
f949f96df1
Add non-const bit select in l-value of assignment.
1999-10-07 05:25:33 +00:00
steve
1cc68f745a
== and != connected to the wrong pins of the compare.
1999-10-06 00:39:00 +00:00
steve
4d8c0c79d6
Add support for reduction NOR.
1999-10-05 06:19:46 +00:00
steve
d513cf8f60
sorry message for non-constant l-value bit select.
1999-10-05 02:00:06 +00:00
steve
efa5222c66
Handle mutual reference of tasks by elaborating
...
task definitions in two passes, like functions.
1999-09-30 21:28:34 +00:00
steve
ed9aeec591
catch non-constant delays as unsupported.
1999-09-30 17:22:33 +00:00
steve
c63a3acf93
Elaborate ~^ and ~| operators.
1999-09-30 02:43:01 +00:00
steve
6e486e9bcf
Cope with errors during ternary operator elaboration.
1999-09-30 00:48:49 +00:00
steve
db7044850a
Move code to elab_expr.cc
1999-09-29 22:57:10 +00:00
steve
a64a33e65a
Full case support
1999-09-29 18:36:02 +00:00
steve
0fb4ba7907
Allow expanding of additive operators.
1999-09-29 00:42:50 +00:00
steve
bb38653654
Parse system function calls.
1999-09-25 02:57:29 +00:00
steve
1a21d2fe9d
Support shift operators.
1999-09-23 03:56:57 +00:00
steve
095995f09c
internal error message for funky comparison width.
1999-09-23 02:28:27 +00:00
steve
1c41f8ebd2
Move set_width methods into a single file,
...
Add the NetEBLogic class for logic expressions,
Fix error setting with of && in if statements.
1999-09-23 00:21:54 +00:00
steve
59b1b4c7b9
Expand bits in delayed assignments.
1999-09-22 21:25:42 +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
3a5e55b229
Elaborate parameters in phases.
1999-09-20 02:21:10 +00:00
steve
5fde1b3e05
Match bit widths comming out of task output ports.
1999-09-18 22:23:50 +00:00
steve
fbf104bf4d
report non-constant part select expressions.
1999-09-18 02:51:35 +00:00
steve
dab04c221d
Detect constant lessthen-equal expressions.
1999-09-18 01:53:08 +00:00
steve
424e6a750c
Handle unconnected module ports.
1999-09-17 02:06:25 +00:00
steve
4594ac1c2c
elaborate concatenation repeats.
1999-09-16 04:18:15 +00:00
steve
a890724b40
Handle implicit !=0 in if statements.
1999-09-16 00:33:45 +00:00
steve
31bdb87c8f
separate assign lval elaboration for error checking.
1999-09-15 04:17:52 +00:00
steve
b04148b754
Elaborate non-blocking assignment to memories.
1999-09-15 01:55:06 +00:00
steve
39bc45ce67
implicitly declare wires if needed.
1999-09-14 01:50:52 +00:00
steve
7a211b9136
Clarify msb/lsb in context of netlist. Properly
...
handle part selects in lval and rval of expressions,
and document where the least significant bit goes
in NetNet objects.
1999-09-13 03:10:59 +00:00