Commit Graph

5706 Commits

Author SHA1 Message Date
Martin Whitaker 2e4810f172 Fix for br977 - preprocessor macros substitute text inside token.
When replacing macro formal parameters, the preprocessor should not
replace matching strings that are not complete tokens. The test for
this was incorrect, and failed when a match was found at the start
of the replacement text.
2015-05-17 20:16:40 +01:00
Cary R 3da546c7d2 Update fstapi.c to latest from GTKWave 2015-05-08 16:38:28 -07:00
Martin Whitaker 7b23a5c3c1 Fix br972 - assertion failure with combinational loop on logic function.
Backported from development.
2015-04-25 20:03:19 +01:00
Martin Whitaker 7d12216b14 Backported sorry messages for variable RHS on procedural force/CA. 2015-04-25 13:16:24 +01:00
Martin Whitaker 2f4b460f6e Fix for compiler crash on source code errors in always @* block loops.
Backported from devel, but due to the extra complexity of for loop
handling in v0.9, makes less effort to elaborate all the code before
giving up.
2015-04-13 16:42:40 +01:00
Martin Whitaker 904113db02 Backported fix for br970 from devel branch. 2015-04-13 16:41:03 +01:00
Cary R e2330a7eeb Update fstapi files to latest from GTKWave 2015-04-02 14:59:59 -07:00
Cary R e162258e9a V0.9: update fstapi.h to latest from GTKWave 2015-02-25 17:38:36 -08:00
Cary R 72e4c72069 VHDL: fix assert to check that the third octal token is a digit 2015-02-25 17:34:33 -08:00
Martin Whitaker 1f9703f1bc Fix for br968.
vthr_vec_get_value() assumed the source vector was unsigned.
2015-01-10 18:03:31 +00:00
Cary R c8184c31ef Update lz4 files from GTKWave 2014-12-28 09:26:13 -08:00
Martin Whitaker 82ef3780ec Fix for br967 - allow real value for repeat statement loop length. 2014-12-13 19:48:01 +00:00
Cary R 7d042accfd Revert: Back port variable initialization fix from development.
It turns out that the new feature was actually a bug.
2014-12-04 16:47:26 -08:00
Cary R 0bccde2e17 Back port variable initialization fix from development. 2014-12-02 13:56:43 -08:00
Cary R 387a923d50 Update lz4 files from GTKWave 2014-11-29 07:37:19 -08:00
Cary R 5569679de8 V0.9: Patch from github #44 2014-11-04 11:48:19 -08:00
Martin Whitaker a75fc86cb1 Fix for br961 - function return type elaborated in wrong scope.
The return type of a function should be elaborated in the context of
the enclosing scope, not in the context of the function itself.
2014-10-30 21:37:31 +00:00
Cary R 68e6fb48c9 V0.9: Update lz4 files from GTKWave 2014-10-27 15:41:28 -07:00
Cary R b18aedfa80 V0.9: Back port fixes for putting modpath delays and delay calculations 2014-10-27 14:40:50 -07:00
Cary R bf08fcd5e7 V0.9: Update files from GTKWave 2014-07-31 16:42:43 -07:00
Cary R 3a91148004 V0.9: fix memory leak in VAMS $simparam$str 2014-07-28 11:03:15 -07:00
Cary R c3171862ab V0.9: Add support for power operator in eval_const() 2014-07-07 18:18:04 -07:00
Cary R 0961eae27e Add support for one argumenr $urandom_range() 2014-06-14 14:17:13 -07:00
Cary R f7752caaac Update files from GTKWave to the latest from svn 2014-06-14 14:02:46 -07:00
Martin Whitaker 6183bf6cd7 Fix for GitHub issue 26 - compiler crash when module port has no internal net.
The compiler correctly reports an error when a module port has no
associated internal net/reg, but could crash when the module was
instantiated.
2014-05-23 23:15:14 +01:00
Cary R 9b38de596e Update FST files to latest from GTKWave 2013-10-25 15:07:17 -07:00
Cary R 0509bdd53e Mostly fix a portability problem in $rtoi (run time) 2013-10-11 17:33:21 -07:00
Cary R 4989afb153 V0.9: Fix another real to vpiIntVal conversion in the run time 2013-10-11 11:39:33 -07:00
Cary R 530c9cd895 V0.9: Fix $rtoi to correctly convert NaN and +/- infinity 2013-10-11 11:39:18 -07:00
Cary R 0d6925fe5b V0.9: Fix real to vpiIntVal conversion in run time 2013-10-11 11:38:52 -07:00
Martin Whitaker 65d751690b Fix for br937.
When writing a string value, vpi_put_value cannot assume the target vector
is a multiple of 8 bits wide.
2013-09-28 17:19:05 +01:00
Cary R f8219bf8ff v0.9: The seed passed to $random() should not change the implicit seed. 2013-09-23 17:52:50 -07:00
Stephen Williams 8288f7305d Prepare for Icarus Verilog version 0.9.7 release 2013-08-19 12:10:31 -07:00
Cary R 8b6ccc65d6 Update to latest FST API files from GTKWave 2013-08-09 11:35:07 -07:00
Cary R 452c1650f4 Update FST files to latest from GTkWave 2013-07-16 11:27:52 -07:00
Cary R 00337d2418 Fix space issue in vvp/vvp_net.cc 2013-07-15 16:19:23 -07:00
Cary R bf2b086669 Back port vector8 changes from development to eliminate compile warnings 2013-07-15 16:16:04 -07:00
Cary R 4289ae23f9 Update fstap files to the latest from GTKWave 2013-06-14 16:35:44 -07:00
Martin Whitaker 4efb601fee V0.9: Fix for br930 - support attributes on old-style port declarations. 2013-05-19 11:05:01 +01:00
Cary R c8c0a298e4 V0.9 Update fstapi.c to latest from SVN 2013-04-16 15:14:01 -07:00
Martin Whitaker f99ca8672c Fix VHDL code generator crash when a terneray operator has a real operand. 2013-04-12 23:50:16 +01:00
Martin Whitaker 19e266159e Fix for br924.
Prevent compiler crashes after a function argument fails to be
elaborated (back-ported from development).
2013-03-31 19:57:37 +01:00
Cary R 2777a8b00b V0.9: A concatenation may also need a BUFZ to hold the drive strength
Just like a select a concatenation needs a BUFZ to hold the drive strength.
2013-02-12 18:37:09 -08:00
Cary R c84eec1d60 V0.9: minor fixes to br916 patch 2013-02-04 11:45:42 -08:00
Martin Whitaker 0f4658135e V0.9: Stopgap fix for br916.
Currently, when a variable expression is passed to a system task,
the expression value is stored in thread memory. Values stored
in thread memory cannot safely be passed to $strobe or $monitor,
because the thread memory may get reused or deallocated before
the $strobe or $monitor task actually executes. As a temporary
measure, we just trap this case and terminate with a "sorry"
message. A proper fix would require the expression value to be
calculated at the time the $strobe or $monitor executes, not at
the time it is called.
2013-02-04 11:45:35 -08:00
Martin Whitaker 200951275c Fix logic value returned for unambiguous HiZ1 strength.
If a strength aware net has an unambiguous HiZ1 strength, VVP treats
it as a logic '1'. It should be treated as a logic 'z'. An ambiguous
HiZ1/HiZ0 strength should also be treated as a logic 'z'.
2013-01-28 19:07:08 -08:00
Cary R 9b1c1a5d48 Fix space issue 2013-01-25 10:34:34 -08:00
Cary R edf741106d V0.9: Handle undefined L-value selects
L-value bit selects were incorrectly converting an undefined index to 0.

L-value part selects were asserting if an undefined index was given.

This patch unifies how all these are handle (including indexed part selects).

The base is set to an undefined value and an appropriate width is used.
A warning message is always printed since this is not a simple out of
range issue. It is the responsibility of the code generator to skip the
assignment, but we always want to execute the R-value since it could have
a side effect.
2013-01-25 10:32:52 -08:00
Cary R 4b805a2b89 Remove space issues 2013-01-21 19:29:34 -08:00
Martin Whitaker 8ae15b93cf Fix for bug 915 (was 3592746).
probe_expr_width() must be called before calling elab_and_eval(), to
determine the expression type.
2013-01-21 19:12:07 -08:00