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
a275133ff9
LPM objects store only their base names.
2003-02-26 01:29:24 +00:00
steve
8f0c02c0fa
Spelling fixes.
2003-01-27 05:09:17 +00:00
steve
07a427bf28
Detect null arguments to concatenation operator.
2003-01-19 00:35:39 +00:00
steve
ca3bf14fb6
Remove useless variable.
2003-01-17 05:48:35 +00:00
steve
c032186133
Reword some error messages for clarity.
2002-12-06 03:08:19 +00:00
steve
cfd8cbf850
Port expressions for output ports are lnets, not nets.
2002-11-09 19:20:48 +00:00
steve
3d3116d48b
Add support for binary NOR operator.
2002-09-18 04:29:55 +00:00
steve
dac99b9374
Add support for binary nand operator.
2002-09-12 15:49:43 +00:00
steve
447fee6f43
Fix padding of operand of unary minus.
2002-09-08 01:37:13 +00:00
steve
7b6678b2a1
Fix reverse bit ordered bit select in continuous assignment.
2002-08-31 03:48:50 +00:00
steve
63f97d8ec6
Carry mux output delays.
2002-08-21 02:28:03 +00:00
steve
640767b748
Constants can self-size themselves in unsized contexts.
2002-08-14 03:57:27 +00:00
steve
52bf4e613f
conditional ident string using autoconfig.
2002-08-12 01:34:58 +00:00
steve
693e9e5ad0
Store only the base name of memories.
2002-08-05 04:18:45 +00:00
steve
301040a67a
Avoid emitting to vvp local net symbols.
2002-07-05 21:26:17 +00:00
steve
b6a15b2f4d
Wide unary minus in continuous assignments.
2002-06-22 04:22:40 +00:00
steve
cd94019733
Remove NetTmp and add NetSubnet class.
2002-06-19 04:20:03 +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
9ef49379f4
Add support for non-constant bit select.
2002-04-23 03:53:59 +00:00
steve
0976fd393b
Do not allow implicit wires in sensitivity lists.
2002-04-22 00:53:39 +00:00
steve
b7c2bd4f72
Add the NetUserFunc netlist node.
2002-03-09 02:10:22 +00:00
steve
5f09e01a44
No implicit declaration in assign l-values.
2002-01-23 05:23:17 +00:00
steve
dd79885f6d
Add structural modulus support down to vvp.
2002-01-03 04:19:01 +00:00
steve
4bb91c4f98
Elaborate multiply nets with constant operands ad NetConst.
2001-12-31 04:23:59 +00:00
steve
03aebd7525
Support elaborate_net for PEString objects.
2001-12-30 21:32:03 +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
4d0b840c26
Coerse input to inout when assigned to.
2001-11-10 02:08:49 +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
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
176be94be9
dead code.
2001-09-14 04:20:49 +00:00
steve
3c8d598eed
Elaborate == to NetCompare instead of XNOR and AND
...
gates. This allows code generators to generate
better code in certain cases.
2001-09-14 04:16:52 +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
b8c5aff0cb
Generate !== an an inverted ===
2001-07-07 04:37:18 +00:00
steve
bcaa122fb9
handle left shifter in dll output.
2001-07-04 22:59:25 +00:00
steve
eeabc7234c
Make sure tmp net gets connected to ramdq output
2001-07-01 23:37:48 +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
3ce86f5664
Make error message include error: prefix.
2001-05-17 03:34:47 +00:00
steve
d0d6189874
Less picky about ternary operands.
2001-04-14 22:50:39 +00:00
steve
2b0aaec8ab
FreeBSD port has a maintainer now.
2001-02-15 06:59:35 +00:00
steve
2b903f5d0e
Detect part select out of range in nets. (PR#138)
2001-02-09 20:18:15 +00:00
steve
d78c7392c2
Remove dead code.
2001-02-08 01:10:30 +00:00
steve
88a2ca2168
Handle wide net constants with unary minus.
2001-01-25 02:05:16 +00:00
steve
41242735ed
Handle some special cases of unary 2's complement,
...
and improve netlist expression width handling.
2001-01-24 02:52:30 +00:00
steve
145ac49233
NetMux needs a scope. (PR#115)
2001-01-18 03:16:35 +00:00
steve
f224ed3a90
Fix out-of-bound pins for comparator (PR#108)
2001-01-16 04:51:52 +00:00
steve
5276752276
Build task outputs as lval instead of nets. (PR#98)
2001-01-10 03:13:23 +00:00
steve
8ee00ec562
Fix net division to cope with small output sizes.
2001-01-05 03:19:47 +00:00
steve
4eed86d519
Detect part select errors on l-values.
2000-12-01 02:55:37 +00:00
steve
ff514aab72
pad different width inputs to muxes. (PR#14)
2000-11-04 05:06:04 +00:00
steve
f2997d7767
Detect reverse bit order in part select. (PR#33)
2000-10-30 21:35:40 +00:00
steve
7df9943679
get width right for reversed part select net. (PR#33)
2000-10-30 20:55:53 +00:00
steve
f526d235d1
Check for missing concat subexpressions (PR#11)
2000-10-14 02:23:02 +00:00
steve
4819d54d51
Fix repeat concatenation with multiple expressions (PR#10)
2000-10-08 04:59:36 +00:00
steve
76e2c509d7
Put logic devices into scopes.
2000-10-07 19:45:42 +00:00
steve
79b1c51e68
Detect indefinite widths where definite widths are required.
2000-09-26 05:05:58 +00:00
steve
89d7176734
Add support for modulus (Eric Aardoom)
2000-09-17 21:26:15 +00:00
steve
44438c9678
more robust abut ternary bit widths.
2000-09-07 21:28:51 +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
60c2046be6
Extend x or z that is top bit of a constant.
2000-08-01 22:44:26 +00:00
steve
2a08824ae9
Detect muxing Vz as a bufufN.
2000-07-15 05:13:43 +00:00
steve
9b59001cf9
Eleminate reduction gate for 1-bit compares.
2000-07-08 04:59:20 +00:00
steve
cdb3eb7e6b
Connect all the l and r bits of a NE expression.
2000-07-06 18:13:24 +00:00
steve
c2b134e7d6
Output signal of + is a temporary.
2000-06-03 02:13:15 +00:00
steve
e0dcdf6b72
Handle wide conditions in ternary operator.
2000-05-26 05:26:11 +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
35a2690d75
Properly elaborate repeat concatenations.
2000-05-07 20:48:14 +00:00
steve
ca6631fdda
Fix connection of Direction of LMP_CLSHIFT
...
to constant values. Remember to add a signal
to the nexus and connect the receiver in vvm.
2000-05-07 19:40:26 +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
0a70a8a954
Allow ternary result to be padded to result width.
2000-05-03 21:21:36 +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
694ff934af
Add support for integer division.
2000-04-01 21:40:22 +00:00
steve
b9d19d3358
Speling error.
2000-03-27 04:38:15 +00:00
steve
3265f3f63a
Remove dangerous tmp signal delete.
2000-03-20 17:54:10 +00:00
steve
48de739506
Switch to control warnings.
2000-03-17 21:50:25 +00:00
steve
2563e2b717
Revise the VVM backend to use nexus objects so that
...
drivers and resolution functions can be used, and
the t-vvm module doesn't need to write a zillion
output functions.
2000-03-16 19:03:03 +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
b354cf68b8
Fix up width matching in structural bitwise operators.
2000-02-16 03:58:27 +00:00
steve
a9264d71c6
Unary reduction operators do not set their operand width
2000-02-14 06:04:52 +00:00
steve
57d28e4f86
Support structural XNOR.
2000-01-18 04:53:40 +00:00
steve
aa8908c52f
Multiplication all the way to simulation.
2000-01-13 03:35:35 +00:00
steve
3d1ffced57
Elaborate net widths of constants to as small
...
as is possible, obeying context constraints.
Comparison operators can handle operands with
different widths.
2000-01-11 04:20:57 +00:00
steve
ba7fdb580d
Add a signal to nexus of padding constant.
2000-01-02 22:07:09 +00:00
steve
9e5ff89ef3
Add structural reduction NAND,
...
Fix size coercion of structural shifts.
2000-01-02 21:45:31 +00:00
steve
0d5e4b40d0
Structural reduction XNOR.
2000-01-02 19:39:03 +00:00
steve
65ae92859c
NetConst can now hold wide constants.
1999-12-17 03:38:46 +00:00
steve
ced7cc6d60
Structural logical or.
1999-12-16 03:46:39 +00:00
steve
d54cc14ca2
Simulate carry output on adders.
1999-12-16 02:42:14 +00:00
steve
cdb99e7638
Elaborate net repeat concatenations.
1999-12-02 04:08:10 +00:00
steve
80b8ea95bb
Put implicitly defined signals in the scope.
1999-11-30 04:33:41 +00:00
steve
4cfa3e4047
Support the creation of scopes.
1999-11-27 19:07:57 +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
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
5171846d72
Forgot to return the mux for use after elaboration.
1999-11-05 23:36:31 +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