Stephen Williams
679ef3a380
Collapse concatenation of constants into concatenated constant.
2012-12-20 11:02:29 -08:00
Stephen Williams
367d7bf94b
Blend NetPartSelect(PV) objects into NetConcat
...
If a signal s driven by multiple non-overlapping NetPartSelect(PV)
objects, then combine them into a single NetConcat object. This
eliminates the need for resolvers in the target.
2012-12-19 19:01:22 -08:00
Arun Persaud
f5aafc32f9
updated FSF-address
2012-08-29 10:12:10 -07:00
Cary R
391073a750
Update __vpiNamedEvent to remove struct and remove extra class statements
...
The clang compiler does not like using struct to reference a class object.
This patch removes all the struct keywords for __vpiNamedEvent objects
since they are now a class and can be called without a struct/class
qualifier.
This patch also removes all the extra class qualifiers from the rest of
the source code.
2012-02-12 13:22:32 -08:00
Cary R
20f3d7c26c
Remove some more cppcheck warnings.
...
This patch removes some more simple cppcheck warnings and updates two of
the cppcheck suppression files.
2011-01-12 16:34:42 -08:00
Cary R
bb5ca97f2d
Fix some -Wextra warnings and some other bug fixes/enhancements.
...
This patch covers more than it should. It removes many of the -Wextra
warnings in the main ivl directory. It also makes some minor code
improvements, adds support for constant logicals in eval_tree (&&/||),
adds support for correctly sign extending === and !==, it starts to
standardize the eval_tree debug messages and fixes a strength bug
in the target interface (found with -Wextra). The rest of the warnings
and eval_tree() rework will need to come as a second patch.
2010-11-02 11:05:11 -07:00
Cary R
225ca1e205
Change iterators to use prefix ++ since it is more efficient.
...
This patch changes all the iterator code to use a prefix ++ instead
of postfix since it is more efficient (no need for a temporary). It
is likely that the compiler could optimize this away, but lets make
it efficient from the start.
2010-11-02 10:43:16 -07:00
Stephen Williams
b1d9d1bda2
Dramatically improve NetScope child lookup.
...
In physical models, there are often very many child scopes in any
given scope. The lookup for child scope needs to be optimized.
2009-12-08 15:14:55 -08:00
Stephen Williams
27410f5d88
Remove the now obsolete NetNet list in NetScopes.
...
Now that NetNet objects in NetScopes are kept in a map, remove the
linked list for scanning them. This improves the lookup process from
an O(e**N) process to more like O(log(N)). This matters for very
large designs.
2008-10-26 20:42:11 -07:00
Stephen Williams
e91243e1c6
Elaborate abs() is continuous assign expressions.
...
In continuous assign expressions, the abs() operator can't easily be
burried in generic unary handling, so add the IVL_LPM_ABS type and
generate it as needed.
2008-05-05 22:00:39 -07:00
Cary R
5e8a1bd8cc
Add power operator (**) for real values in a continuous assignment.
...
This patch adds the power operator for real values in a continuous
assignment.
2008-01-31 16:48:52 -08:00
steve
75ad90534b
Generalize signals to carry types.
2005-07-07 16:22:49 +00:00
steve
739a1839ed
Do sign extension of structuran nets.
2005-05-24 01:44:27 +00:00
steve
97f83ffbe3
laborate reduction gates into LPM_RED_ nodes.
2005-02-03 04:56:20 +00:00
steve
e4ae832153
Clean up spurious trailing white space.
2004-10-04 01:10:51 +00:00
steve
c794aa02b8
Fix intermix of node functors and node delete.
2002-08-16 05:18:27 +00:00
steve
52bf4e613f
conditional ident string using autoconfig.
2002-08-12 01:34:58 +00:00
steve
bc86bd4efa
Remove useless error messages.
2002-08-10 22:07:38 +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
d350620315
Support multiple root modules (Philip Blundell)
2001-10-19 21:53:24 +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
457d193238
Fix cases where signal iteration might die early.
2000-11-19 20:48:30 +00:00
steve
da926fa08b
Watch out in functor, it may delete the last signal.
2000-11-18 04:53:04 +00:00
steve
89d7176734
Add support for modulus (Eric Aardoom)
2000-09-17 21:26:15 +00:00
steve
d677f226f3
Support <= in synthesis of DFF and ram devices.
2000-08-01 02:48:41 +00:00
steve
741b17245d
Handle some edge cases during node scans.
2000-07-16 04:56:07 +00:00
steve
2a08824ae9
Detect muxing Vz as a bufufN.
2000-07-15 05:13:43 +00:00
steve
8d8f1e2401
Move signal tables to the NetScope class.
2000-05-02 00:58:11 +00:00
steve
2094a2f466
Catch some simple identity compareoptimizations.
2000-04-20 00:28:03 +00:00
steve
74c43032b3
Clean up unneeded NetEvent objects.
2000-04-18 04:50:19 +00:00
steve
726f7b8b11
Synthesis of comparator in expressions.
...
Connect the NetEvent and related classes
together better.
2000-04-16 23:32:18 +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
694ff934af
Add support for integer division.
2000-04-01 21:40:22 +00:00
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
87d6df5204
Handle nodes running out during node scan.
2000-01-02 17:57:20 +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
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
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
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
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