steve
b734ecf02f
Macintosh compilers do not support ident.
2000-02-23 02:56:53 +00:00
steve
e77bcf6910
Include some block matching from Larry.
2000-02-13 04:35:43 +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
e6820ed169
Handle synthesis of concatenation.
2000-01-01 06:18:00 +00:00
steve
b6d1bb1fa7
Propogate constant 0 in low bits of adders.
1999-12-30 04:19:12 +00:00
steve
4de8ba489d
Rewrite the cprop functor to use the functor_t interface.
1999-12-17 06:18:15 +00:00
steve
65ae92859c
NetConst can now hold wide constants.
1999-12-17 03:38:46 +00:00
steve
d54cc14ca2
Simulate carry output on adders.
1999-12-16 02:42:14 +00:00
steve
76655ce2bb
Allow memories without indices in expressions.
1999-12-12 06:03:14 +00:00
steve
4a6d3a5104
Fix const/non-const errors.
1999-12-09 06:00:00 +00:00
steve
09de918198
Generate XNF RAMS from synthesized memories.
1999-12-05 19:30:42 +00:00
steve
3e2bb85f58
Synthesize LPM_RAM_DQ for writes into memories.
1999-12-05 02:24:08 +00:00
steve
b30b695ff0
Redo synth to use match_proc_t scanner.
1999-12-01 06:06:16 +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
4cfa715092
Memory name lookup handles scopes.
1999-11-21 17:35:37 +00:00
steve
a81dcd7955
Support memories in continuous assignments.
1999-11-21 00:13:08 +00:00
steve
fae40cf380
handle duplicate connect to a nexus.
1999-11-19 05:02:37 +00:00
steve
8b81d6e416
Detect flip-flops connected to opads and turn
...
them into OUTFF devices. Inprove support for
the XNF-LCA attribute in the process.
1999-11-19 03:02:25 +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
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
2cce0ce238
Patch to synthesize LPM_ADD_SUB from expressions,
...
Thanks to Larry Doolittle. Also handle constants
in expressions.
Synthesize adders in XNF, based on a patch from
Larry. Accept synthesis of constants from Larry
as is.
1999-11-05 04:40:40 +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
b66e7b1713
Add the synthesize method to NetExpr to handle
...
synthesis of expressions, and use that method
to improve r-value handling of LPM_FF synthesis.
Modify the XNF target to handle LPM_FF objects.
1999-11-02 04:55:34 +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
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
19b8615363
Support evaluating + operator at compile time.
1999-10-10 23:29:37 +00:00
steve
70a1236626
Structural case equals device.
1999-10-10 01:59:54 +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
efa5222c66
Handle mutual reference of tasks by elaborating
...
task definitions in two passes, like functions.
1999-09-30 21:28:34 +00:00
steve
c63a3acf93
Elaborate ~^ and ~| operators.
1999-09-30 02:43:01 +00:00
steve
a64a33e65a
Full case support
1999-09-29 18:36:02 +00:00
steve
900949ab56
Get the bit widths of unary operators that return one bit.
1999-09-28 03:11:29 +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
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
0955058fbe
Catch parallel blocks in vvm emit.
1999-09-22 16:57:23 +00:00
steve
349f9ae302
Support parameters that reference other paramters.
1999-09-21 00:13:40 +00:00
steve
3a5e55b229
Elaborate parameters in phases.
1999-09-20 02:21:10 +00:00
steve
dab04c221d
Detect constant lessthen-equal expressions.
1999-09-18 01:53:08 +00:00
steve
4594ac1c2c
elaborate concatenation repeats.
1999-09-16 04:18:15 +00:00
steve
b04148b754
Elaborate non-blocking assignment to memories.
1999-09-15 01:55:06 +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
steve
1c238f1948
Support ternary and <= operators in vvm.
1999-09-11 04:43:17 +00:00
steve
d6fbc30cd5
Allow assign to not match rvalue width.
1999-09-08 04:05:30 +00:00
steve
41a1c6bb02
elaborate the binary plus operator.
1999-09-03 04:28:38 +00:00
steve
9f7eb4a935
Handle recursive functions and arbitrary function
...
references to other functions, properly pass
function parameters and save function results.
1999-09-01 20:46:19 +00:00
steve
e69345b9fe
Elaborate and emit to vvm procedural functions.
1999-08-31 22:38:29 +00:00
steve
23acca48ff
elaborate some aspects of functions.
1999-08-25 22:22:41 +00:00
steve
031d91f813
Fixup spelling and some error messages. <LRDoolittle@lbl.gov>
1999-08-18 04:00:02 +00:00
steve
c33b0c2262
Handle scope of parameters.
1999-08-06 04:05:28 +00:00
steve
444c83b19a
set width of procedural r-values when then
...
l-value is a memory word.
1999-08-01 21:48:11 +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
d2f77defe6
move binary operators to derived classes.
1999-07-31 03:16:54 +00:00
steve
93a77a2efd
Elaborate task input ports.
1999-07-24 02:11:19 +00:00
steve
563ec1bb81
Add support for CE input to XNF DFF, and do
...
complete cleanup of replaced design nodes.
1999-07-18 21:17:50 +00:00
steve
7d876f7735
xnfsyn generates DFF objects for XNF output, and
...
properly rewrites the Design netlist in the process.
1999-07-18 05:52:46 +00:00
steve
9754507eb0
Add the functor interface for functor transforms.
1999-07-17 22:01:13 +00:00
steve
a5921ceae8
netlist support for ternary operator.
1999-07-17 19:50:59 +00:00
steve
13cd13d9d5
part select in expressions.
1999-07-17 03:08:31 +00:00
steve
b155202dd2
set_width for NetESubSignal.
1999-07-16 04:33:41 +00:00
steve
e58844f1be
Emit vvm for user defined tasks.
1999-07-07 04:20:57 +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
740c63291a
l-value part select for procedural assignments.
1999-06-13 23:51:16 +00:00
steve
0d210c90e5
More unary operators.
1999-06-13 17:30:23 +00:00
steve
6a823cde59
Unify the NetAssign constructors a bit.
1999-06-13 16:30:06 +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
caae00f1fd
Compile time evalutation of constant expressions.
1999-06-03 05:16:25 +00:00
steve
f3a91a10b3
Line information with nets.
1999-06-02 15:38:46 +00:00
steve
982cce6086
Exressions are trees that can duplicate, and not DAGS.
1999-05-30 01:11:46 +00:00
steve
5ef3970714
Handle expression bit widths with non-fatal errors.
1999-05-27 04:13:08 +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
295306aad5
emit NetAssignMem objects in vvm target.
1999-05-12 04:03:19 +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
5d00f17448
Handle wide events, such as @(a) where a has
...
many bits in it.
Add to vvm the binary ^ and unary & operators.
Dump events a bit more completely.
1999-05-01 20:43:55 +00:00
steve
41f9a84a4b
Handle much more complex event expressions.
1999-05-01 02:57:52 +00:00
steve
4b73655537
Generate SubSignal refrences in vvm.
1999-04-25 22:52:32 +00:00
steve
09cfbc6240
Core handles subsignal expressions.
1999-04-25 00:44:10 +00:00
steve
d3350c9b27
Add to vvm proceedural memory references.
1999-04-22 04:56:58 +00:00
steve
5895d3c98d
Add memories to the parse and elaboration phases.
1999-04-19 01:59:36 +00:00
steve
b7f833dd71
Support more operators, especially logical.
1999-03-15 02:43:32 +00:00
steve
13a6f05463
Prevent the duplicate allocation of ESignal objects.
1999-03-01 03:27:53 +00:00
steve
e2a37a8ccd
Add support for module parameters.
1999-02-21 17:01:57 +00:00
steve
e5f5f41515
Elaborate gate ranges.
1999-02-15 02:06:15 +00:00
steve
30a3953c85
Turn the NetESignal into a NetNode so
...
that it can connect to the netlist.
Implement the case statement.
Convince t-vvm to output code for
the case statement.
1999-02-08 02:49:56 +00:00
steve
8bdd381cdf
Parse and elaborate the Verilog CASE statement.
1999-02-03 04:20:11 +00:00
steve
a7ad8985ac
Carry some line info to the netlist,
...
Dump line numbers for processes.
Elaborate prints errors about port vector
width mismatch
Emit better handles null statements.
1999-02-01 00:26:48 +00:00
steve
63a8b4abe2
Function to calculate wire initial value.
1998-12-20 02:05:41 +00:00
steve
2c1df3e6f7
Parse more UDP input edge descriptions.
1998-12-18 05:16:25 +00:00
steve
4e2c0036aa
VVM support for small sequential UDP objects.
1998-12-17 23:54:58 +00:00
steve
10b345bd16
Fully elaborate Sequential UDP behavior.
1998-12-14 02:01:34 +00:00
steve
9a73433759
Generate OBUF or IBUF attributes (and the gates
...
to garry them) where a wire is a pad. This involved
figuring out enough of the netlist to know when such
was needed, and to generate new gates and signales
to handle what's missing.
1998-12-07 04:53:16 +00:00