Cary R
228a3f123a
For some local nets fix the local flag and file/line information
2015-01-14 16:40:30 -08:00
Cary R
074f7a7a49
Fix undefined access in for loop synthesis
2015-01-14 15:11:36 -08:00
Stephen Williams
f642313e1b
Merge pull request #50 from orsonmmz/darray
...
Unpacked arrays extension
2015-01-12 14:08:22 -08:00
Stephen Williams
dd9d96eb07
Merge branch 'master' of github.com:steveicarus/iverilog
2015-01-12 09:24:07 -08:00
Maciej Suminski
35401f0e2c
ivl: Functions may return dynamic arrays.
2015-01-12 11:08:31 +01:00
Maciej Suminski
b6e16aea6b
ivl: Typedefs may use unpacked arrays.
2015-01-12 11:08:31 +01:00
Maciej Suminski
eeaf23041b
vvp: Support for dynamic arrays of logic type.
2015-01-12 11:08:31 +01:00
Maciej Suminski
e8096eda80
ivl: Support for unpacked arrays of structures.
2015-01-12 11:08:31 +01:00
Maciej Suminski
961d6a8f3b
vpi: $left and $right functions for arrays and strings.
2015-01-12 11:08:31 +01:00
Maciej Suminski
288ebf011c
vpi: Moved $ivl_darray_method$[from/to]_vec to sys_darray.c
2015-01-12 11:08:31 +01:00
Maciej Suminski
0ae304b6a8
vpi: Added $ivl_darray_method$from_vec.
...
Converts a vector to dynamic array of vectors.
2015-01-12 11:08:31 +01:00
Maciej Suminski
5e61bb64b7
vpi: Added $ivl_darray_method$to_vec.
...
Converts a dynamic array of vectors to a single vector.
2015-01-12 11:08:31 +01:00
Cary R
3f847fd927
Fix a compile warning
2015-01-10 16:28:55 -08:00
Cary R
4a41a53b42
For valgrind clean up the class definitions at the end.
2015-01-10 16:18:59 -08:00
Martin Whitaker
a1630e1d30
Fix for br968.
...
__vpiVThrVec4Stack::vpi_get_value_int_ was always treating the thread variable
as unsigned, rather than observing the value of __vpiVThrVec4Stack::signed_flag_.
Not sure why this was done - none of the regression tests broke when I changed
this.
2015-01-10 17:24:50 +00:00
Martin Whitaker
bca84d9dbb
Added parser support for SV modport declarations.
2015-01-10 11:10:41 +00:00
Cary R
e61ed48914
Clean up vals_words when a dynamic array is accessed using the vpi
2015-01-09 17:38:39 -08:00
Cary R
d29a6d134f
Fix valgrind cleanup of dynamic and queue arrays
2015-01-09 15:05:48 -08:00
Cary R
6310b47538
Fix a memory leak when searching for an element by name
2015-01-08 16:14:20 -08:00
Cary R
9c75a4b96b
Fix a memory leak when the dump file cannot be opened
2015-01-08 16:14:08 -08:00
Cary R
c57e68292c
Fix undefined value problem in compiler (found with valgrind)
2015-01-08 10:05:32 -08:00
Stephen Williams
0fecdcbeda
Icarus Verilog snapshot 2015-01-05
2015-01-05 10:34:18 -08:00
Cary R
23ad62f317
Update cppcheck results
2014-12-28 09:27:14 -08:00
Cary R
ac20008606
Update lz4 files from GTKWave
2014-12-28 09:25:54 -08:00
Stephen Williams
96d181efed
Support vpiStrengthVal for vec4 stack objects.
2014-12-23 14:42:45 -08:00
Stephen Williams
18bfe7d497
Merge branch 'master' of github.com:steveicarus/iverilog
2014-12-23 13:52:48 -08:00
Stephen Williams
86562e60ba
Work towards nested packed struct member vectors.
2014-12-23 13:52:38 -08:00
Martin Whitaker
b400532169
Added support for interface declaration and instantiation.
...
modport and extern tf declarations are not yet supported.
2014-12-19 23:10:14 +00:00
Stephen Williams
6fd10dedb6
Add some implicit support for std and textio libraries
...
Patch submitted by Fabrizio Ferrandi.
2014-12-18 08:20:19 -08:00
Cary R
c8255952a3
Update cppcheck supprression file
2014-12-16 16:47:00 -08:00
Martin Whitaker
71c4ea36e8
Pass -v compiler option to vvp in the output file shebang line.
...
Slightly modified version of the patch contributed by Stephan
Böttcheron iverilog-devel.
2014-12-16 21:22:19 +00:00
Martin Whitaker
5df179cd5f
Implement feature request #47 .
...
This causes vvp to evaluate all the input expressions for a user
function call before assigning any of them to the function input
variables. This stops the input variables being overwritten if
the same (non-automatic) function is used in one of the input
expressions.
2014-12-14 21:46:28 +00:00
Martin Whitaker
ce5c4ca8ba
Fix for br967 - allow real value for repeat statement loop length.
2014-12-13 19:50:33 +00:00
Martin Whitaker
6aa8e49b09
Add sorry message for unsupported arrays of named events.
2014-12-13 17:46:56 +00:00
Martin Whitaker
f29f4ff4e3
Fix for br965.
...
When performing constant propagation, we need to take into account
values driven through a tran object. For now, be pessimistic, and
assume that all tran objects connect to a variable driver.
2014-12-13 12:49:13 +00:00
Cary R
3ccc59eaa3
Fix compile with valgrind hooks after vec4-stack changes
2014-12-12 14:28:07 -08:00
Martin Whitaker
0282b8450c
Fix potential memory leak when a thread is disabled.
...
A disable statement can terminate a thread whilst it still has
local variables on the stack (e.g. the loop counter for a repeat
statement). We need to clear the thread stacks when this happens.
2014-12-11 20:10:17 +00:00
Cary R
43841af2f3
Fix a cppcheck warning and fix code style a bit
2014-12-11 09:59:15 -08:00
Cary R
b2d8d41e3f
Fix some cppcheck warnings in tgt-vvp
2014-12-10 16:30:55 -08:00
Cary R
0e38843ae9
Make verinum output match for either 32-bit or 64-bit systems
2014-12-10 15:11:45 -08:00
Cary R
96472e5537
For a signed R-value we can use the full width when converting to long
...
When trying to get the value we can use the full width of a long if the
expression is signed.
2014-12-10 14:41:27 -08:00
Cary R
48b0fed29e
Use uint64_t casting of constants since UL does not work on 32-bit machines
...
Using a UL constant in a unit64_t context does not work on a 32-bit
machine since UL is 32-bits. Instead create uint64_t constants using
static casts and the appropriate bit operators.
2014-12-10 14:41:18 -08:00
Cary R
1efa220773
Fix non-blocking assignment to an array error state handling
...
If either the index or part offset expressions generate an undefined
value then the assignment is skipped. This patch reworks the code that
handles the flags used to detect this. For some simple cases a global
flag is not needed, but for other cases one is needed since there are
two expressions that can generate an error and even when there is only
a variable expression this error state needs to be preserved if there
is a variable delay. An undefined delay value defaults to zero and is
not an error.
2014-12-09 17:29:18 -08:00
Cary R
2d6622e543
vlog95: for a 32-bit width we can generate a signed undefined value
2014-12-08 21:09:36 -08:00
Cary R
edf112b900
Update all the vvp examples to work correctly
2014-12-08 20:55:19 -08:00
Cary R
f0a0ab100f
vlog95: trim binary constants to save space and emit size of undef. consts.
...
This should not change the functionality, but to save space trim any
unneeded bits from a binary constant. Also for the case of emitting
a signed undefined value when the allow signed flag is not set add
the width to the constant.
2014-12-08 13:08:30 -08:00
Cary R
c28188618b
File example vvp code so make check passes.
2014-12-08 10:43:46 -08:00
Martin Whitaker
0d7daf5862
Fix vvp memory leak for user function calls in a continuous assignment.
2014-12-07 13:47:50 +00:00
Martin Whitaker
60ab1daa1f
Restore some master branch fixes lost in the vec4-stack merge.
2014-12-07 12:10:15 +00:00
Stephen Williams
105521b547
Merge branch 'master' into vec4-stack
2014-12-06 08:24:46 -08:00