Stephen Williams
0375ff3923
Handle some different integral types is class properties.
2013-01-27 20:10:25 -08:00
Cary R
59ce217ce2
vlog95: Add support for undefined selects.
2013-01-25 12:46:55 -08:00
Cary R
350369f3fc
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:36 -08:00
Cary R
d9c400ac0c
A scope port can be a uwire for some cases.
2013-01-24 18:28:04 -08:00
Cary R
922b74be9e
Fix uninitialized buffer when drawing a real VPI argument
2013-01-22 09:22:50 -08:00
Martin Whitaker
cd239a9857
Fix display of net array words when data type is signed.
...
When VVP compiles a .array statement for a net array, it does not
know the data type, so initialises the array signed_flag to false.
We need to set the signed_flag to the correct value once we know
the data type, to allow the VPI routines to correctly format the
data.
2013-01-21 18:46:48 -08:00
Cary R
8e515a9a64
Merge branch 'master' of github.com:steveicarus/iverilog
2013-01-11 15:10:17 -08:00
Martin Whitaker
45bb1313e7
Correctly handle negative genvar values.
...
During expression elaboration, genvar values were being erroneously
cast to unsigned values when creating a verinum for use in expression
evaluation.
2013-01-11 15:09:20 -08:00
Stephen Williams
d04aa4b234
Merge branch 'master' of github.com:steveicarus/iverilog
2013-01-05 16:40:14 -08:00
Stephen Williams
074055bc58
Implement static arrays of strings.
...
This means extending the vvp to add .array/str objects and
include instructions to access the array. Also add the parser
and code generator support.
2013-01-05 15:57:58 -08:00
Stephen Williams
d6726f62fc
Implement substring method for string expressions.
2013-01-05 11:40:12 -08:00
Stephen Williams
bc9e31a444
Cleanup of v2009.vpoi module.
2013-01-05 11:39:17 -08:00
Cary R
f682d9cad1
Clean up some more memory when using valgrind
...
When checking with valgrind clean up the following:
The arguments for invalid task/function calls.
The simulation callback queues (only needed when the runtime aborts).
Call pthread_exit(NULL) just before exiting to cleanup dynamic loading.
2013-01-03 17:57:15 -08:00
Cary R
1305d7659c
Remoce space issues.
2013-01-03 16:21:24 -08:00
Cary R
502a0708ea
Merge branch 'master' of github.com:steveicarus/iverilog
2013-01-03 16:19:18 -08:00
Cary R
c64407f7cf
Cleanup new darray in array structure
...
The valsr real array support was switched to a dynamic array vals. This
patch updates teh valgrind cleanup code to use the correct name.
2013-01-03 16:18:59 -08:00
Stephen Williams
cdbfe28c4e
Merge branch 'master' of github.com:steveicarus/iverilog
2013-01-03 11:49:50 -08:00
Stephen Williams
fbd2843cad
Runtime support for arrays of atom2 types.
...
This handles all of the atom integer types in unpacked arrays.
2013-01-03 11:33:47 -08:00
Cary R
10b5a82904
Remove redundent map clear.
2013-01-02 19:18:37 -08:00
Stephen Williams
1527b87595
Remove useless vvp_realarray_t
...
The vvp_darray_real class cal be used for static arrays as well
and this is a more general solution anyhow. Kill the now useless
vvp_realarray_t class.
2013-01-02 19:02:02 -08:00
Cary R
4407bc1d50
Fix memory leak when displaying a SV string variable.
2013-01-02 18:31:54 -08:00
Cary R
927edf03d6
Clean up SV class definition when using valgrind.
...
Also fix a memory leak when compiling class properties.
2013-01-02 17:00:49 -08:00
Cary R
f5717a6e87
Update the valgrind cleanup code to handle most tri constructs
2013-01-02 09:54:44 -08:00
Cary R
84a24f2a34
Remove a cppcheck warning and update suppression file
2013-01-01 16:56:58 -08:00
Cary R
60b1ade52d
Add support for valgrind cleanup of APV in task call.
2013-01-01 16:54:04 -08:00
Cary R
81ba40456f
Fix uninitialized value error in netvector_t constructor
2012-12-30 09:18:26 -08:00
Stephen Williams
1b684a4846
Fix build error for tgt-pcb on non-mac systems.
2012-12-26 15:58:12 -08:00
Stephen Williams
3b43fcfc21
Fix pcb.tgt build error.
2012-12-24 17:42:01 -08:00
Stephen Williams
4b3ef8a314
Merge branch 'master' of github.com:steveicarus/iverilog
2012-12-23 12:18:05 -08:00
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
Stephen Williams
a90e264ed7
Merge branch 'master' of github.com:steveicarus/iverilog
2012-12-18 12:47:34 -08:00
Stephen Williams
eaa315fc69
Prepare for snapshot 20121218
2012-12-18 12:40:09 -08:00
Cary R
b098e31cc7
Fix cppcheck warning and update suppression file
2012-12-18 11:54:26 -08:00
Cary R
c104586760
Merge branch 'master' of github.com:steveicarus/iverilog
2012-12-18 11:10:46 -08:00
Cary R
3fa7b3f05a
Remove some valgrind warnings and a few errors
...
Cleanup a few more of the new constructs and fix free/delete mismatches.
2012-12-18 11:10:16 -08:00
Stephen Williams
3ab3828aaf
Merge branch 'master' of github.com:steveicarus/iverilog
2012-12-18 10:43:24 -08:00
Stephen Williams
6cc1010281
Handle part select of packed struct members.
...
This fixes the case of part select of struct members
in continuous assignment l-values.
2012-12-18 10:43:07 -08:00
Cary R
317e53e784
The object ref count must be initialized in the constructor
2012-12-17 18:00:54 -08:00
Cary R
4019525580
Remove space issue in elab_lval.cc (spave before EOL)
2012-12-17 17:26:19 -08:00
Cary R
4b28694509
Remove vlog95 compile warning
2012-12-17 17:14:40 -08:00
Cary R
26193ea8bd
Fix compile on cygwin/MinGW
2012-12-17 17:04:44 -08:00
Stephen Williams
9a7155a1fa
Merge branch 'master' of github.com:steveicarus/iverilog
2012-12-17 09:13:30 -08:00
Cary R
620b00b322
Update fstapi.c to latest from GTKWave
2012-12-11 11:10:33 -08:00
Stephen Williams
860419a346
Draft run-time support for SystemVerilog class objects.
...
This provides the ivl_target.h interface for class definitions
and expressions, the vvp code generator support for class objects
and properties, and the vvp run time support. Trivial class objects
now seem to work.
2012-12-10 19:20:02 -08:00
Stephen Williams
70dff035a2
ivl_target API for class types with properties.
2012-12-10 19:20:02 -08:00
Stephen Williams
318a4033b8
Flesh out class type elaboration
...
Add properties to the classes, and elaborate expressions that
have class properties. Describe class object property references
all the way down to the stub target.
2012-12-10 19:20:02 -08:00
Stephen Williams
f7033ca19a
Handle class-type identifier expressions.
2012-12-10 19:13:44 -08:00
Stephen Williams
79903ecadd
Handle null objects in general.
2012-12-10 19:13:44 -08:00
Stephen Williams
e7c6829512
Create a stub vvp_cobject class.
2012-12-10 19:13:43 -08:00