Martin Whitaker
ecbbb60fb6
Remove "using namespace std" from compiler header files and fix the fallout.
2021-11-04 16:55:03 +00:00
Cary R
a56747b747
Update vhdlpp with changes suggested by cppcheck
2021-01-02 13:36:24 -08:00
Cary R
e633fcc199
Initial fix for GH449
2020-12-28 09:56:49 -08:00
Maciej Suminski
7cbb275ffe
vhdlpp: Handle limited-length strings in reports.
...
Currently limited-length strings (e.g. string(1 to 4)) are
emulated using 2D array of bits (e.g. bit [1:4][7:0]).
Because of that, ivl treats them as standard vectors and
$display() does not show them as strings. Now, they are
wrapped with $sformatf("%s", ..) to fix it.
2016-03-07 11:38:11 +01:00
Maciej Suminski
a7f4d65aaa
vhdlpp: More robust report messages display.
2016-03-07 09:54:28 +01:00
Maciej Suminski
3b165a5f25
vhdlpp: Skip package name emission when calling functions from the same package.
2016-03-07 09:54:28 +01:00
Maciej Suminski
00f5785f2c
vhdlpp: Minor changes to write_to_stream functions.
2016-03-07 09:54:28 +01:00
Maciej Suminski
5748018409
vhdlpp: Limited support for final wait statement.
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
Maciej Suminski
e0b2a5b337
vhdlpp: Refactored prange_t (class ExpRange).
2016-01-06 15:30:06 +01:00
Maciej Suminski
9276515e19
vhdlpp: Minor fix for ReportStmt::write_to_stream.
2016-01-05 14:23:25 +01:00
Maciej Suminski
1c4b1c12e4
vhdlpp: Fixes for 'wait for' statements emission.
2016-01-05 13:55:22 +01:00
Maciej Suminski
442750ca2c
vhdlpp: Refactored {Report,Assert}Stmt so they handle expressions instead of strings.
2016-01-05 13:55:22 +01:00
Maciej Suminski
9df470c341
vhdlpp: While loops.
2015-12-03 17:53:13 +01:00
Maciej Suminski
cb40a845e1
vhdlpp: Allow procedure calls with empty param list.
2015-12-01 10:33:20 +01:00
Maciej Suminski
925827d2c2
vhdlpp: Escape quotation marks in emitted strings.
2015-11-23 16:25:08 +01:00
Maciej Suminski
cc9b182eb6
vhdlpp: Procedure calls.
2015-06-24 23:53:32 +02:00
Maciej Suminski
29ddd5208f
vhdlpp: 'wait on' and 'wait until' statements.
2015-06-08 18:42:52 +02:00
Maciej Suminski
68f8007fc4
vhdlpp: 'wait for' statement.
2015-06-08 18:42:52 +02:00
Maciej Suminski
cfa43c7742
vhdlpp: Support for reports & asserts.
2015-04-23 11:58:40 +02:00
Maciej Suminski
5b7b980ead
vhdlpp: Support for multiple choices in case statements.
2015-02-05 12:00:25 +01:00
Maciej Suminski
9de69f2f24
vhdlpp: SequentialStmts write_to_stream() methods.
2015-02-05 11:25:03 +01:00
Maciej Suminski
25c3798248
vhdlpp: Elaborate and emit functions work with ScopeBase instead of Architecture.
2015-02-04 16:57:43 +01:00
Maciej Suminski
0592ba042e
vhdlpp: For-loop emission rewritten to handle 'range in subprograms.
2015-02-04 16:02:38 +01:00
Maciej Suminski
9ff9cbf4aa
vhdlpp: Smarter determining the direction in for loops.
2014-10-10 18:39:14 +02:00
Maciej Suminski
44da7de651
vhdlpp: prange_t may have the direction determined automatically.
2014-10-08 10:26:37 +02:00
Maciej Suminski
fddb3ec129
vhdlpp: ForLoopStatement emits range boundaries expressions instead of evaluating them.
...
Unfortunately without evaluation it is not possible to warn against
degenerated loops, so it had to be removed.
2014-10-07 14:25:00 +02:00
Stephen Williams
164b5f9348
Fix SV emit of ForLoopStatement and ReturnStmt.
2013-06-12 14:09:07 -07:00
Arun Persaud
f5aafc32f9
updated FSF-address
2012-08-29 10:12:10 -07:00
Stephen Williams
d9acfe57b1
Put off array bound evaluation / describe entity generics as parameters
...
Entity generics are easily implemented as module parameters, so make
it so. Give the parameters their default values from the generic declaration.
Array bounds may use values that cannot be evaluated right away, so
put off their evaluation.
2011-10-15 17:41:48 -07:00
Stephen Williams
8003382b3e
Elaborate and emit case statements.
2011-10-01 11:45:28 -07:00
Stephen Williams
677a22d353
Generate code for vhdl for loops.
2011-09-18 15:51:31 -07:00
Stephen Williams
e6a9b5532a
Report some missed emit error count.
2011-08-21 16:40:06 -07:00
Stephen Williams
f5220c54f1
Handle variables in process statements
...
Parse variables declared in the declaration section of process
statements, and support variable assignment statements.
2011-08-17 20:19:15 -07:00
Cary R
72769146ee
Remove all the user code compilation warnings
...
Remove all the compilation warnings that are from user changeable code.
There are still some warnings related to the flex generated lexor code.
2011-07-30 09:37:14 -07:00
Cary R
de356b03c8
Fix most of the cppcheck warnings in the vhdlpp directory.
...
Mostly using size() vs empty() in the STL and a missing initialization.
2011-07-30 09:35:12 -07:00
Pawel Szostek
60deb775ca
Add support for VHDL's loop statements
2011-07-12 19:20:04 -07:00
Pawel Szostek
ad31eaaea8
Add parser support for VHDL's procedure call
...
Parse procedure calls and put them into
abstract syntax tree. Elaboration and emission
still has to be done.
2011-07-08 18:10:30 -07:00
Stephen Williams
d14f60f28a
Elaborate and emit vhdl elsif sections.
...
The IfStatement contains a list of elsif sections that need
to be elaborated/emitted in the middle of the true and false
clauses.
2011-06-22 18:13:40 -07:00
Stephen Williams
fc25ccde06
Basic emit of sequential code
...
Infrastructure for debug and emit of sequential statements in processes.
This does not properly handle the actual semantics of the behavioral
code, but it provides an infrastructure where we can handle all the
tricky elaboration to come.
2011-05-15 11:07:42 -07:00