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
Cary R
397054d5fc
Update cppcheck suppressions in fst/lxt2 files.
2012-11-15 15:32:36 -08:00
Cary R
afdc1fa923
Update fstapi.c and lxt2_write.c to latest from GTKWave
...
This just fixes warnings in cppcheck
2012-11-15 15:32:29 -08:00
Cary R
f01a106c25
Remove a space issue
2012-11-12 18:15:33 -08:00
Cary R
15fb58f8e4
Remove some cppcheck warnings, etc.
2012-11-12 18:15:25 -08:00
Martin Whitaker
78128dd95d
Fix for pr3582052.
...
The code that calculated the canonical index for a multi-dimensional
array access did not correctly estimate the index expression width
in the case that the first index value was a constant zero. This
patch fixes the problem, and, in passing, also makes the expression
calculation more efficient if any of the indices are constant zeroes.
2012-11-03 10:30:17 -07:00
Stephen Williams
bad8ed39c1
Parse VHDL subprogram bodies and return statements.
2012-11-03 09:54:07 -07:00
Stephen Williams
0ccb1b4990
Delect class_new and print "sorry" message.
2012-11-03 08:40:03 -07:00
Stephen Williams
5651e6e001
Improve error handling.
2012-11-02 19:30:12 -07:00
Cary R
b32e1bcbcb
Fix space before EOL in vvp/vthread.cc
2012-10-25 10:37:08 -07:00
Cary R
e72852d53f
Fix make check in vvp and windows (cygwin) compile
2012-10-25 09:59:06 -07:00
Stephen Williams
222b683849
Clean up invokations of the vector4_to_value template.
2012-10-25 09:13:09 -07:00
Stephen Williams
559d965681
Merge branch 'x-mil4'
...
Conflicts:
tgt-vvp/eval_real.c
vvp/codes.h
vvp/compile.cc
vvp/opcodes.txt
2012-10-23 14:48:25 -07:00
Stephen Williams
9d3548798c
Clean up the API for the string stack.
2012-10-22 17:37:51 -07:00
Stephen Williams
a5fd5363b3
Rewire real value expressions to use a stack instead of register space.
...
This will hopefully improve performance slightly, but also this
intended as a model for what to do when I get around to doing the
same thing to other data types.
2012-10-22 17:20:43 -07:00
Stephen Williams
0339f5ed57
Parse package import declarations.
2012-10-21 15:06:23 -07:00
Stephen Williams
62be9c5b46
Parse (with sorry message) package declarations.
2012-10-21 11:42:19 -07:00
Stephen Williams
0059fb1ec7
Support for dynamic arrays of strings.
...
Strings, when put into dynamic arrays, are treated as first class
types much line reals. Add the code generator and vvp support for
this situation. Also fix a bug distinguishing between character
selects from strings and select form arrays of strings.
2012-10-14 17:16:47 -07:00
Stephen Williams
d6efece5dd
Handle DARRAYs of real variables
...
This involves working out the code to get the base type of a select
expression of a darray. Also added the runtime support for darrays
with real value elements.
2012-10-14 17:16:47 -07:00
Stephen Williams
1326f9aef1
Handle darray objects of all integral atom types.
...
Clean up the vector4_to_value to use templates and explicit
instantiations. This makes the interface much cleaner for a
wider variety of integral types.
2012-10-14 17:16:47 -07:00
Stephen Williams
e071bd81ee
Handle select of darray signals in general expressions.
2012-10-14 17:16:47 -07:00
Stephen Williams
a2d980540d
Get some type information to the "new" expression for darrays.
2012-10-14 17:16:47 -07:00
Stephen Williams
1aa21aa9e8
ivl_target interface to packed type details.
...
The darray in particular needs to know about the subtype info.
In the process, clean up some of the type information.
2012-10-14 17:16:47 -07:00