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
Stephen Williams
a186e5ad31
Garbage collection of DARRAY and CLASS objects.
...
While we're at it, provide a stub class_new runtime.
2012-12-10 19:13:43 -08:00
Stephen Williams
b6eb86d696
Blend new_darray and new_class expression nodes.
2012-12-10 19:13:43 -08:00
Stephen Williams
7a2ad01f2e
Class new expressions, down to the ivl_target.h API.
2012-12-10 19:13:43 -08:00
Stephen Williams
3e7adbeda0
Stub class object variables.
...
Create stub class objects at the vvp level and generate the code
to invoke that stub. Implement the routines needed to implement
a test for null object references.
2012-12-10 19:13:43 -08:00
Stephen Williams
6278a5760c
Rationalize the vvp_object_t stack API to match other types.
2012-12-10 19:13:43 -08:00
Stephen Williams
77d24cd095
Elaborate class_new and (null) expressions
...
This gets the types right for class_new and null expressions, and
elaborate them down to the ivl_target.h API.
2012-12-10 19:13:43 -08:00
Stephen Williams
55bebc8c39
Stub to pform class properties and null expressions.
2012-12-10 19:13:43 -08:00
Cary R
80fe66b224
Update cppcheck suppression file to match new fstapi.c
2012-11-27 09:28:45 -08:00
Cary R
cb1d4ab359
Update fstapi.c from GTKWave to fix MinGW compile.
2012-11-27 09:19:18 -08:00