Maciej Suminski
5748018409
vhdlpp: Limited support for final wait statement.
2016-03-07 09:54:28 +01:00
Maciej Suminski
f6ee5d0f22
vhdlpp: Corrected an error message.
2016-03-07 09:54:28 +01:00
Maciej Suminski
2e6fb9b3f6
vhdlpp: shift_left/right() functions.
2016-03-07 09:54:28 +01:00
Maciej Suminski
03434efed3
vhdlpp: Elaborate ExpAttribute arguments.
2016-03-07 09:54:28 +01:00
Maciej Suminski
3af3c12b11
vhdlpp: Added system function NOW.
2016-03-07 09:54:28 +01:00
Maciej Suminski
2606d0e897
vhdlpp: Minor code clean up.
2016-03-07 09:54:28 +01:00
Maciej Suminski
52c912c4af
vhdlpp: Allow calling functions without parameters and brackets.
2016-03-07 09:54:28 +01:00
Maciej Suminski
b08ae23d0d
vhdlpp: line feed character (LF).
2016-03-07 09:54:28 +01:00
Maciej Suminski
054dfdf0cf
vhdlpp: Simpler enum definitions storage.
2016-03-07 09:54:28 +01:00
Maciej Suminski
f52de62729
vhdlpp: Elaborate if statement condition as bool.
2016-03-07 09:54:28 +01:00
Maciej Suminski
b6f1cb221e
vhdlpp: Fixes for subtypes handling.
2016-03-07 09:54:28 +01:00
Maciej Suminski
79f38b8c56
vhdlpp: Basic loop support (loop..end loop).
2016-03-07 09:54:28 +01:00
Martin Whitaker
b4d5248c67
Fix for br1000 - avoid infinite loop when processes share a for-loop index.
2016-03-05 17:43:25 +00:00
Stephen Williams
9a7f31c728
Functions that return strings pass the return value on the stack.
2016-03-01 15:38:28 -08:00
Cary R
7d21891147
Fix space issues.
2016-02-28 22:09:39 -08:00
Martin Whitaker
ca02b3ae53
vlog95 target enhanced to support constant input to LPM_SUBSTITUTE.
2016-02-27 21:13:57 +00:00
Martin Whitaker
f84f0535cf
Renamed synthsplit to exposenodes.
...
This was needed to avoid automatically setting the synth flag in the
compiler.
2016-02-27 20:24:28 +00:00
Martin Whitaker
a33255f0e0
Add support for LPM_SUBSTITUTE and wider LPM_MUX objects in vlog95 target.
2016-02-27 18:08:56 +00:00
Martin Whitaker
9d5f4ad048
Add new synthsplit functor.
...
This provides support for handling synthesis constructs in the vlog95
target.
2016-02-27 16:40:55 +00:00
Martin Whitaker
8348c25104
Take heed of disable_concatz_generation flag in mux synthesis.
2016-02-27 16:39:15 +00:00
Martin Whitaker
a0bee0a76f
Add support for real valued compressed assignment statements in tgt-vvp.
2016-02-23 22:02:03 +00:00
Martin Whitaker
a85c64d347
Revert "Add support for real valued compressed assignment statements in tgt-vvp."
...
This reverts commit 3fede95f5e .
2016-02-23 21:49:49 +00:00
Martin Whitaker
3fede95f5e
Add support for real valued compressed assignment statements in tgt-vvp.
2016-02-23 20:58:30 +00:00
Martin Whitaker
a7066e3686
Fix expression/operator type for compressed assignment/shift.
2016-02-23 20:57:30 +00:00
Martin Whitaker
0199ad129d
Fix expression type for compressed assignment statements.
...
A compressed assignment statement should give exactly the same
result as the equivalent uncompressed statement. This means
that the type (signed/unsigned) of the LHS affects the type of
the RHS expression (unlike in normal assignments). We need to
take care that bit/part selects and concatenations are correctly
identified as unsigned values, even in the cases where they
reduce to a single whole signal.
2016-02-23 16:53:01 +00:00
Martin Whitaker
241b6723e5
Fix lval extension for compressed assignment in constant function.
...
The type of extension (zero/sign) is determined by the expression
type, not the operand type, so we need to cast to the expression
type before extending the value.
2016-02-23 16:46:26 +00:00
Martin Whitaker
b77d758f19
Fix compressed assignments to concatenations.
...
When loading a lval concatenation, tgt-vvp was loading the elements
in the wrong order for the %concat instruction.
2016-02-23 16:44:03 +00:00
Martin Whitaker
1a78784205
Removed some dead code.
2016-02-23 11:58:27 +00:00
Martin Whitaker
f9f51db7ba
Extended constant function assignment operator support to real values.
...
Also output a "sorry" message if the LHS is a concatenation.
2016-02-22 23:31:35 +00:00
Martin Whitaker
74b8c04b91
Add support for SystemVerilog assignment operators in constant functions.
2016-02-22 22:22:22 +00:00
Stephen Williams
bc23bc71e3
Merge branch 'master' of github.com:steveicarus/iverilog
2016-02-22 09:49:28 -08:00
Peter Jakobsen
cbced021a1
Add missing symbols for dlltool to export
2016-02-22 09:49:06 -08:00
Martin Whitaker
f3cf7ca546
Updated comments for synthesis.
2016-02-21 22:39:52 +00:00
Martin Whitaker
f29935d8dd
Enhanced support for asynchronous set/reset in synthesis.
...
Added the ability to coalesce set/reset values to different parts
of the same vector. Also added a check that all bits of the vector
are assigned a value.
Enabled coalescence of asynchronous set/reset part-vectors
2016-02-21 21:46:36 +00:00
Martin Whitaker
3fc0204b99
Fix cleanup of NetEvWait class.
...
The destructor needs to delete the stored NetEvent objects. Failure
to do this was causing a compiler crash after synthesis if the
nodangle functor was disabled.
2016-02-21 21:22:35 +00:00
Martin Whitaker
5286fb858d
Synthesis rework.
...
Synthesis could only handle relatively simple conditional constructs.
This rework aims to make it handle anything the user can throw at it
(or output a sensible message as to why it can't).
2016-02-21 00:00:39 +00:00
Martin Whitaker
46105e0c5a
Delayed output of vvp dff to end of current time slot.
...
Flip-flops are generally modelled in behavioural code using non-blocking
assignments. This change makes the synthesised code behave the same as
the behavioural code. It's a more realistic model of a real flip-flop
too, which will always have some clock-to-output delay.
2016-02-21 00:00:39 +00:00
Cary R
70a350f2e8
Merge branch 'master' of github.com:steveicarus/iverilog
2016-02-10 22:33:21 -08:00
Cary R
03cb74ba57
Fix compile warning
2016-02-10 22:33:10 -08:00
Maciej Suminski
71084109f6
Save the time format suffix string.
...
In case of a vhdlpp-specific () call, the timeformat suffix string was overridden,
therefore it has to be restored to the previous value after the call.
2016-02-10 22:33:06 -08:00
Stephen Williams
12c39aa4bb
Fix broken "inherits dimensions from var/net" warning.
2016-02-10 10:56:14 -08:00
Stephen Williams
139c4154c3
Merge branch 'master' of github.com:steveicarus/iverilog
2016-02-06 16:08:15 -08:00
Stephen Williams
f3647578d4
Add the -Wimplicit-dimensions warning.
2016-02-06 16:07:50 -08:00
Cary R
eef3e8c09f
Fix memory leak in time suffix code (VHDL)
2016-02-04 07:21:22 -08:00
Cary R
3e52b2be66
Fix valgrind compile
2016-02-03 22:25:57 -08:00
Cary R
841593d013
Remove some compile warnings
2016-02-03 21:40:18 -08:00
Stephen Williams
76ced1cf7c
Fix %ret/* and %retload/* opcodes to search up for function thread.
2016-02-01 14:51:18 -08:00
Stephen Williams
f494b478cc
Merge branch 'master' into return-stack
...
# Conflicts:
# sv_vpi_user.h
2016-02-01 14:47:44 -08:00
Stephen Williams
469d4fefa7
Handle compressed assign to function return value.
2016-02-01 12:38:48 -08:00
Stephen Williams
ce692f90ad
Implement and use the %retload/real opcode.
2016-02-01 09:31:06 -08:00