Commit Graph

3257 Commits

Author SHA1 Message Date
Cary R 0e4dfa6732 Fix some compile warnings when using more modern compilers 2015-08-19 11:20:57 -07:00
Cary R 66b4843987 V0.8: Fix autoconf warning.
This just copies the same change that was done for development over to V0.8.
2011-11-23 10:48:42 -08:00
Cary R 4dee700ca5 V0.8: Add #! support for MinGW since newer shells support this. 2011-03-15 18:59:29 -07:00
Cary R 32e30f2d5b V0.8: Fix cleanup and cygwin out of source building
This patch adds a few missing files to clean/distclean and also
fixes the out of source directory building for cygwin/MinGW.
2011-03-14 16:56:03 -07:00
Cary R ac8fddfa01 V0.8: Update Makefile.in files to support cygwin compile.
Update the various Makefile.in files to support compiling in the source
directory with cygwin using a suffix (default).
2011-03-14 16:55:56 -07:00
Cary R 9aa80965bd V0.8: Remove more space issues. 2011-03-08 19:13:14 -08:00
Larry Doolittle ec0c4343e8 Drop trailing spaces
There weren't that many
2011-03-04 17:47:59 -08:00
Larry Doolittle 76103f2167 Spelling fixes
Mostly comments, but a few format strings
2011-03-04 17:46:57 -08:00
Larry Doolittle 09664bc52e Propagate default CFLAGS into vvp Makefile 2011-03-04 10:39:35 -08:00
Cary R 3f0e1bacc1 V0.8: Reduce synthesized DFF pessimism.
This patch updates the DFF UDP to have less pessimism.
2011-01-12 16:28:58 -08:00
Cary R 11fa67ebbe V0.8: rework latch synthesis and warn that async. set/clear are missing.
This patch reworks the latch synthesis that Alan submitted to be
more in line with the rest of the code and simplified it in a
few places. It also adds a warning that we do not currently
support synthesizing asynchronous set/clear signals for a latch.
2011-01-12 16:26:39 -08:00
Cary R 14926e7ce0 V0.8: Fail if both an LPM/wire and a reg drive a nexus.
In synthesis we transform registers into wires, but if there is bad
Verilog code where the register is written from non-synthesized code
then we can't do this! This patch adds a check in the code generator
for this and prints a error message instead of generating a .resolv
to combine the two, which is certainly not correct.
2011-01-12 16:24:50 -08:00
Cary R 34661e9af5 V0.8: Rework the NetLatch and back end code.
This patch reworks the NetLatch class to better match the NetFF class
(e.g. it adds a place for the async controls and value, adds a dump
routine, etc.) and moves it into the normal netlist.{h,cc} files. It
removes the unused Aload and Sload routines, etc. from the NetFF class.
It switches the latch to use the existing ff object to pass information
to the target and uses the existing FF routines as applicable.

ivl_lpm_async_clr()
ivl_lpm_async_set()
ivl_lpm_aset_value()
ivl_lpm_clk() for the gate
ivl_lpm_data()
ivl_lpm_q()

It adds support for generating a latch UDP just like is done for the
D flip-flop in the tgt-vvp code generator and fixes a bug in the
generation of the clear signal when both the Aclr and Aset signals
clear the register.
2011-01-12 16:19:32 -08:00
Cary R 678dd7bdaa V0.8: Add support for negedge FF and Aclr/Aset both clear.
This patch fixes the bugs reported in pr1757438. These are fpga/edif
code generation bugs. For a DFF we need to add an inverter for a
negedge device and if both the Aclr and Aset signals clear the FF
we need to create the OR of these signals to drive the Aclr pin.
2011-01-12 16:17:13 -08:00
Cary R 3a162ea69f V0.8: Fix dffsynth code generation bug.
If both the async. clr and set pins clear a flip-flop then we need to
create an OR gate to combine the two signals to connect to the single
DFF clr pin. This patch fixes the tgt-vvp code generator to implement
this functionality.
2011-01-12 16:14:52 -08:00
Cary R 5f3e5f6b35 V0.8: add a warning that a latch primitive is not supported.
At the moment a latch primitive is not supported by vvp.
2011-01-12 15:55:09 -08:00
Cary R 3cc12e8446 V0.8: Update PLI_BYTE definition.
The standard defines this as char not signed char. Using signed char was
causing some compiler warnings in the vpi tests with modern compilers.
2011-01-12 15:52:49 -08:00
Cary R 9bab275716 V0.8: Remove some more compile warnings.
This patch removes some more compile warnings when compiling using
the default gcc compiler for Ubuntu-10.10.
2011-01-12 15:52:32 -08:00
Cary R ae14a58bff V0.8: Remove deprecated #ident and fix some other compile warnings
This patch removes #ident since it is deprecated in recent gcc
versions. It also removes all the CVS comments and fixes a few
other compilation warnings. There are still a few compilation
warnings, but this takes care of most of them. Fixing the rest
will require a bit more thought.
2011-01-12 15:49:03 -08:00
Alan M. Feldstein 5b9a72dbbf Add -h option to usage output. 2010-11-25 09:24:18 -08:00
Alan M. Feldstein bd9923dbbd latch synthesis fix: Connect gate pin in netlist. 2010-11-25 09:21:46 -08:00
Cary R 35c68d8c58 V0.8: Ignore system tasks/functions NULL arguments in @* calculation.
System tasks and functions can be defined to have NULL arguments.
This patch makes the @* sensitivity list calculation skip these
NULL (constant) arguments.
2010-11-25 09:15:11 -08:00
Alan M. Feldstein 867c864132 Use appropriate makefile dependencies option for Sun Studio 12 C++ compiler. 2010-01-25 15:53:56 -08:00
Alan M. Feldstein b6e6225d81 Not all C++ compilers recognize (or need) -Wall. 2010-01-25 15:51:53 -08:00
Alan M. Feldstein 80ef9522dd Not all C compilers recognize (or need) -Wall. 2010-01-25 15:48:28 -08:00
Cary R 90d65ae48f Format the --enable-suffix help correctly.
(Cherry-picked from 537ba93fe4)
2009-10-08 16:49:33 -07:00
Stephen Williams 95a0face2b Minor portability fixes from Alan Feldstein. 2009-08-21 15:35:44 -07:00
Cary R c88583264c V0.8 add .gitignore file
Add a .gitignore file like V0.9 and development have. This is
a slightly modified version to match V0.8.
2009-08-02 11:13:58 -07:00
Cary R 89bcbc75d3 V0.8: Remove check for ivl in driver/main.c
This check could be useful, but it was making make check fail
since it was before base was redefined by -B. This check is
not in V0.9, so it was easier to just remove it from V0.8. This
would only happen if <path>/lib/ivl-0.8/ivl did not already
exist (on a pristine system).
2009-07-06 15:22:53 -07:00
Stephen Williams cfd0162176 Remove CVS .cvsignore files.
We are in git now. We don't want these files, they
are just clutter, especially in packages.
2009-01-02 15:59:34 -08:00
Werner Hoch e4df6f7966 Add missing DESTDIR to the Makefiles 2009-01-02 15:28:53 -08:00
Jared Casper 3e39109b0e Compatibility with gcc-4.3
Using auto_ptr in elab_net.cc (added in commit 15702f1, "Fix bad
memory reference." on 2008-11-28) requires #include <memory> when
compiling with gcc-4.3.
2008-12-12 07:41:16 -08:00
Cary R 27be6e88bc V0.8: backport of check primitive port count code.
This patch backports from multiple places checks that verify
that the various primitives are given the correct number of
port expressions.
2008-12-09 19:21:48 -08:00
Cary R 918b0a410f V0.8: backport $random fix.
Back port a $random fix from development.
2008-12-09 15:43:28 -08:00
Stephen Williams ec85377d13 Prepare for 0.8.7 release. 2008-12-09 09:47:42 -08:00
Cary R a22124a198 V0.8: Mostly back port the version checking code from development.
This is a back port from development of the code to put and check
that the vvp input file is the right version. It also adds the -V
flag to vvp. It does not add the VERSION_TAG information so will
only produce the single string ivl_version tag. The runtime will
read both forms since if it is feed a V0.9 file we want it to
complain nicely (no syntax error). To change the displayed version
for the various programs and checks change version.h.
2008-12-05 22:01:13 -08:00
Cary R e8bc5aefb4 V0.8: Get arrayed instance ports correct.
This is a back port from development of the code to get the
arrayed instance port order correct (MSB to LSB).
2008-12-05 21:57:57 -08:00
Cary R ca5d265350 V0.8: left shift of integer value needs to use integer size
This is a back port from development of the code to resize an
unsized constant value to 32 bits. Development used integer_width,
but that is not supported in V0.8. Development also supports using
the expression width which V0.8 does not.
2008-12-05 21:54:59 -08:00
Cary R 113312a0c1 V0.8: do not schedule function calls.
This patch mirrors what was done in development to force a function
call to be run immediately.
2008-11-28 10:16:23 -08:00
Cary R 12d5aa08e2 V0.8: A $signed can make a concat signed.
This patch mirrors what was done in development to fix the
signed concat problem.
2008-11-28 10:12:11 -08:00
Stephen Williams 15702f1b87 Fix bad memory reference.
The expression for the repeat expression was deleted before the
tests for expression sanity.
2008-11-28 10:00:57 -08:00
Stephen Williams 9b5ef0bbb9 Checkin some developer convenience scripts. 2008-11-28 09:32:22 -08:00
Cary R b8d9f19eb0 Use MOS instead of bufif devices for mux optimization.
This patch mirrors what was done in development to fix the mux
with one input as Z optimization. It should use a MOS device
instead of a bufif device.
2008-11-28 09:16:21 -08:00
Cary R 8d9f7e2e26 Include directory should be 0.8 not 0.0.
The include directory had the wrong version.
2008-11-28 09:11:58 -08:00
Stephen Williams 65326fd6a9 Put header files in include/iverilog dir.
The include/verilog directory is a bit too
generic. Use the include/iverilog dir instead.
2008-11-25 16:29:30 -08:00
Cary R bb92974839 V0.8: Fail on a zero width repeat
This patch mirrors what was done in development to fail for zero
width repeats. Actually development supports them in some contexts,
this is allowed in 1364-2005, but V0.8 doesn't support them at all.
2008-11-24 21:07:51 -08:00
Cary R 7dc473db8d V0.8: fix signed parameter multiply
This patch mirrors what was done in development to fix the
multiplication of signed values.
2008-11-24 21:03:11 -08:00
Cary R abc2aa17d2 V0.8: complain about a negative repeat value.
This patch mirrors what was done in development to complain
about a negative repeat value.
2008-11-24 21:00:58 -08:00
Cary R c8bffe728a V0.8: fix verinum XOR with z input
This patch mirrors what was done in development to fix the XOR
of a z bit in verinum.
2008-11-24 20:56:48 -08:00
Cary R d134f6f074 V0.8: fix $ungetc argument order.
This patch mirrors what was done in development to fix $ungetc.
2008-11-24 20:52:38 -08:00