Martin Whitaker
cab9526e6c
vlog95 target: better solution for void functions with no arguments.
2019-11-09 20:14:57 +00:00
Martin Whitaker
39238fd1cd
vlog95 target: ! operator does not require explicit type conversion.
2019-11-09 16:52:28 +00:00
Martin Whitaker
58aa08ab64
Handle SV void functions in vlog95 target.
2019-11-09 16:14:09 +00:00
Cary R
ea4e41207c
Update cppcheck standards that are checked
2019-09-30 22:14:15 -07:00
Cary R
ba82ef463e
Fix some always_* issues
2019-09-29 16:59:59 -07:00
Martin Whitaker
0d20c50de4
Fix typo in last commit.
2018-10-06 20:22:12 +01:00
Martin Whitaker
f1608e163f
Fix implicit fallthrough warnings when building with recent GCC.
2018-10-06 20:15:42 +01:00
Cary R
e611e8acc0
Add support to convert always_comb/latch to vlog95
2017-12-03 20:17:42 -08:00
Cary R
585a0232cb
Add preliminary support for always_comb, always_ff and always_latch
2017-11-20 07:50:05 -08:00
Cary R
3fc9ad2db0
Add support for the wild compare operators ==? and !=?
2017-11-17 19:32:50 -08:00
Martin Whitaker
8461e1d9c4
Fix vlog95 target to handle hierarchical references in root-level tasks.
2016-07-26 22:01:22 +01:00
Martin Whitaker
b1b91f49c8
Update vlog95 target to handle timescales for root scope tasks/functions.
2016-07-23 00:10:01 +01:00
Martin Whitaker
9f88b26a67
Fix vlog95 target to handle delayed CA to vector part select.
2016-04-02 22:24:14 +01:00
Martin Whitaker
7c3cee5f7a
Updated comment in tgt-vlog95 to reflect changes in variable initialization.
2016-03-19 14:47:38 +00:00
Martin Whitaker
a5dac08a50
tgt-vlog95: Find the original signal when a port connection is cast.
2016-03-12 23:22:14 +00:00
Martin Whitaker
081f5e6960
tgt-vlog95: Fix infinite loop caused by searching the wrong scope.
2016-03-12 23:11:11 +00:00
Martin Whitaker
5d9a196819
tgt-vlog95: Handle variable initialisation in named blocks.
2016-03-12 23:06:54 +00:00
Martin Whitaker
b4d438ea9f
Fixed bug in vlog95 dff output when using asynchronous set.
2016-03-12 11:39:32 +00:00
Martin Whitaker
c0542af6bf
Updated copyright dates following previous patch.
2016-03-12 09:10:58 +00:00
Johann Klammer
89333fa3a5
add latch primitive for vlog95
2016-03-12 09:06:42 +00: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
Cary R
a65c007fdb
Fix some cppcheck warnings
2015-10-02 09:43:54 -07:00
Martin Whitaker
9f4b485c1c
Updated copyright dates displayed for main programs and targets.
2015-08-17 22:05:08 +01:00
Martin Whitaker
b242663cae
Support negedge flip-flops in synthesis and in vvp.
...
Also extend the support for FF asynchronous set values to vvp and
fix the dff functor in vvp to correctly model asynchronous set/clr
behaviour.
2015-06-13 16:47:57 +01:00
Larry Doolittle
2739f83702
Spelling fixes in C and C++ comments
2015-06-04 15:00:29 -07:00
Martin Whitaker
61ace52f31
Fix vlog95 target to not output data types in port declarations.
...
This avoids variable redeclaration errors.
2015-05-18 23:16:53 +01:00
Martin Whitaker
45dc13e496
Use uintptr_t/intptr_t when casting between pointer and integer.
...
The code was using (unsigned) long, but a long is 32-bits in the
Windows 64-bit ABI.
2015-05-05 23:00:09 +01:00
Martin Whitaker
1b3e321d35
Eliminate a few new compiler warnings.
2015-05-04 22:32:29 +01:00
Cary R
2d6622e543
vlog95: for a 32-bit width we can generate a signed undefined value
2014-12-08 21:09:36 -08:00
Cary R
f0a0ab100f
vlog95: trim binary constants to save space and emit size of undef. consts.
...
This should not change the functionality, but to save space trim any
unneeded bits from a binary constant. Also for the case of emitting
a signed undefined value when the allow signed flag is not set add
the width to the constant.
2014-12-08 13:08:30 -08:00
Cary R
08afbde08d
Update cppcheck suppression file for tgt-vlog.
2014-10-30 18:23:39 -07:00
Cary R
3fd622e4eb
vlog95: Add support for emitting global tasks and functions
2014-10-13 09:51:55 -07:00
Cary R
96d793ed6b
vlog95: switch to C99 real number classification routines
2014-09-05 15:18:13 -07:00
Cary R
1269c12054
vlog95: Handle a system task with a NULL last argument
2014-08-25 18:06:01 -07:00
Cary R
4fb91ec7c7
vlog95: Add SV queue specific error message and code generation.
2014-08-25 16:41:08 -07:00
Cary R
0a6d75f1db
Fix some cppcheck warnings (format string vs argument mismatches)
2014-08-01 18:55:44 -07:00
Cary R
d6b6b76015
Update header files to use a more standard name to prevent rereading
...
This is from github report #16 . There are likely a few more issues
that need to be addressed though this takes care of the major ones.
2014-07-23 13:42:56 -07:00
Cary R
f5e01081d1
vlog95: Report that substitute LPMS are not translated
2014-07-17 17:35:09 -07:00
Larry Doolittle
ae6743cf69
Easy changes for -Wmissing-prototypes
2014-07-10 14:07:30 -07:00
Cary R
774d173d69
Remove missing parameter warnings
2014-07-09 14:16:57 -07:00
Cary R
8f7277a5ab
Remove the unused parameter warnings in tgt-vlog
2014-07-09 09:34:44 -07:00
Larry Doolittle
e221a8ced9
Rearrange compiler warning flags
...
Before this patch, WARNING_FLAGS applied to both C and C++,
and WARNING_FLAGS_CXX applied to C++ only.
This patch adds a WARNING_FLAGS_CC that applies to C only.
That change should be generally useful; in particular the C
code is almost ready for -Wstrict-prototypes, which does not
apply to C++.
-Wextra (or -W) used to only apply to C++ via WARNING_FLAGS_CXX.
This patch moves it to WARNING_FLAGS, to apply to both C and C++.
Unfortunately, that triggers a ton of warnings.
For now, cover most of the new warnings up by adding
-Wno-unused -Wno-sign-compare -Wno-type-limits
to WARNING_FLAGS_CC. In the long run, I want to change the C coding
style, and take off these disable-warning flags. But those changes
can dribble in as separate commits; this patch is big enough already.
Actually fix a couple missing-field-initializers in libveriuser/veriusertfs.c.
2014-07-09 09:04:17 -07:00
Larry Doolittle
6ebb57195b
Fuss with C function prototypes
...
119 formal void parameters added to keep -Wstrict-prototypes happy.
Process found one real missing prototype in vpi/vcd_priv.h:
EXTERN void vcd_names_delete(struct vcd_names_list_s*tab);
8 such warnings left, all in Tony's code
2014-07-08 13:44:11 -07:00
Cary R
47ddb18d54
vlog95: Note that casex (==?) and casez (synthesis) operators are not supported
2014-07-06 17:16:05 -07:00
Larry Doolittle
642acb4082
Clean up some more sign-compare issues
...
The only known problems left are in files imported from gtkwave,
if not for them you could turn on -Wsign-compare.
Assumes c99 for c code, so the scope of for-loop indexes can be made sane.
2014-06-17 12:57:26 -07:00
Larry Doolittle
855bf9cfe8
Pick some low-hanging const fruit
...
Makes more of the code const-correct; there are still plenty of difficult-to-fix const problems left.
No behavior change expected.
2014-06-09 10:47:28 -07:00
Cary R
6547fdee3d
vlog95: for cppcheck the target functions are used by the compiler.
2014-05-21 09:04:49 -07:00
Cary R
e336eca00f
vlog95: Report that array ports are not supported.
2014-04-10 14:20:22 -07:00