Commit Graph

3243 Commits

Author SHA1 Message Date
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
Cary R 8deb2c0b60 V0.8: only return a real time value for $realtime.
This patch mirrors what was done in development to only return a
real value when realtime is called.
2008-11-24 20:49:53 -08:00
Cary R 451783056d V0.8: Can not have and undefined repeat.
This patch mirrors what was done in development to fail when the
repeat has an undefined value.
2008-11-24 20:44:28 -08:00
Cary R 322bbed7c7 V0.8: Don't crash on invalid input.
This patch mirrors what was done in development to prevent a crash
when given invalid input.
2008-11-24 20:42:48 -08:00
Cary R e8bb9b1f76 V0.8: `timescale can not be inside module definition.
This patch mirrors what was done in development to complain
about a `timescale inside of a module definition.
2008-11-24 20:39:49 -08:00
Cary R f112b77d3b V0.8: Fix single bit reductions with 1'bz input.
This patch mirrors what was done in development to support single
bit reductions correctly.
2008-11-20 20:25:39 -08:00
Cary R ddf68ca14c Don't let -I block -ivl!
When -I was added it was blocking -ivl since the string comparison
is case insensitive.
(cherry picked from commit a412149e2c)
2008-11-20 20:23:52 -08:00
Cary R d8fdcd5a38 Add verilog<suffix> to MinGW iverilog-vpi tool
When changing where the include files were located the MinGW
iverilog-vpi tool was missed.
(cherry picked from commit 45f2d68d33)
2008-11-20 20:12:45 -08:00
Stephen Williams 408e25f6bc Make the 0.8 series use --enable-suffix by default
This we are working on closing out this release series,
install with the 0.8 suffix enabled by default from
now on.
2008-11-20 09:53:52 -08:00
Cary R 3dd2c74ebe V0.8: For scheduled put values save the string and free it after the put.
Users expect that vpi_put_value() will keep a copy of the string
that is passed to it. This patch implements this buy copying the
string and then freeing it after the actual put_value call.
2008-11-20 09:31:52 -08:00
Cary R d260052940 Fix MinGW suffix configuration.
In the driver-vpi file we need to use g for the suffix replacement
so that both libraries get changed.

Also added an end line to the config.h.in file.
2008-11-20 07:35:30 -08:00
Stephen Williams 146f64992c Create support for the --enable-suffix configuration option.
This configure option causes the installed commands to have
a suffix string that makes them distinct from other versions
that also have a suffix string. This allows for multiple
installed versions of Icarus Verilog.

Also, move installed C/C++ header files into a subdirectory of
their own under the target include directory, to make clearer
the purpose and source of those files.

(cherry picked from commit 4bc90f7cfd)
2008-11-19 22:39:10 -08:00
Cary R 74e2343e52 V0.8: fix shifting of 0 or signed constant.
This patch matches the one from development. If just returns the
L-value if the shift is a NOP.
2008-11-16 11:07:58 -08:00
Cary R b4b9667def Fix signed divide for words that match the machine word.
There was an error when calculating the negative of a value that
was the same width as the native machine word. This patch is similar
to what was done in 0.9 to fix the problem there.
2008-11-16 11:05:04 -08:00
Cary R 5e401055e8 V0.8: do signed comparisons and fix verinum < and <=
This patch fixes the verinum < and <= operators to directly
compare the long result not the difference. Because of overflow
the difference can give an incorrect value. Using a long value
is technically wrong, but that will need to be a different
patch. It also fixes the eval_leeq_() routine to correctly build
the largest value in a signed comparison.
2008-08-23 09:30:37 -07:00