]> Nick Gasson's Git Repositories - nvc.git/log
nvc.git
3 months agoFix potential overflows in mspace bitmask handling. Fixes #949
Nick Gasson [Wed, 21 Aug 2024 21:04:20 +0000 (22:04 +0100)]
Fix potential overflows in mspace bitmask handling. Fixes #949

3 months agoFix crash with signal alias in generic package. Fixes #946
Nick Gasson [Tue, 20 Aug 2024 19:03:09 +0000 (20:03 +0100)]
Fix crash with signal alias in generic package. Fixes #946

3 months agoMissing type check for conversion function actual. Fixes #945
Nick Gasson [Tue, 20 Aug 2024 18:06:27 +0000 (19:06 +0100)]
Missing type check for conversion function actual. Fixes #945

3 months agoAdd RPM-based dependencies to README for build-from-source (#947)
Blizzard Finnegan [Mon, 19 Aug 2024 19:23:24 +0000 (15:23 -0400)]
Add RPM-based dependencies to README for build-from-source (#947)

Update README.md

Include RPM-based dependencies

3 months agoFix precedence for Verilog binary operators
Nick Gasson [Sun, 18 Aug 2024 08:38:58 +0000 (09:38 +0100)]
Fix precedence for Verilog binary operators

3 months agoCode generation for Verilog primitive gates
Nick Gasson [Sat, 17 Aug 2024 20:49:23 +0000 (21:49 +0100)]
Code generation for Verilog primitive gates

3 months agoParsing for more Verilog gate instance types
Nick Gasson [Sat, 17 Aug 2024 17:15:40 +0000 (18:15 +0100)]
Parsing for more Verilog gate instance types

3 months agoVerilog implicit net declarations
Nick Gasson [Sat, 17 Aug 2024 16:40:31 +0000 (17:40 +0100)]
Verilog implicit net declarations

3 months agoLowering for sequential UDPs
Nick Gasson [Sat, 17 Aug 2024 16:18:14 +0000 (17:18 +0100)]
Lowering for sequential UDPs

3 months agoParsing for Verilog sequential UDP bodies
Nick Gasson [Sat, 17 Aug 2024 13:05:26 +0000 (14:05 +0100)]
Parsing for Verilog sequential UDP bodies

3 months agoAdd some semantic checks for Verilog UDPs
Nick Gasson [Sat, 17 Aug 2024 11:28:54 +0000 (12:28 +0100)]
Add some semantic checks for Verilog UDPs

3 months agoHandle nested packages in lower_context_for_call. Issue #943
Nick Gasson [Sat, 17 Aug 2024 10:13:33 +0000 (11:13 +0100)]
Handle nested packages in lower_context_for_call. Issue #943

3 months agoUse well_known instead of ident_new when parsing operators
Nick Gasson [Sat, 17 Aug 2024 08:15:23 +0000 (09:15 +0100)]
Use well_known instead of ident_new when parsing operators

3 months agoImplement LCS2016_I13 precedence of unary operators
Nick Gasson [Sat, 17 Aug 2024 07:56:47 +0000 (08:56 +0100)]
Implement LCS2016_I13 precedence of unary operators

3 months agoImplement LCS2016_I03 signature in generic association
Nick Gasson [Sat, 17 Aug 2024 07:47:30 +0000 (08:47 +0100)]
Implement LCS2016_I03 signature in generic association

3 months agoLowering for Verilog UDPs
Nick Gasson [Fri, 16 Aug 2024 17:32:09 +0000 (18:32 +0100)]
Lowering for Verilog UDPs

Issue #937

3 months agoParsing for Verilog user-defined primitives
Nick Gasson [Fri, 16 Aug 2024 17:30:09 +0000 (18:30 +0100)]
Parsing for Verilog user-defined primitives

Issue #937

3 months agoSimplify parse tracing
Nick Gasson [Thu, 15 Aug 2024 20:23:36 +0000 (21:23 +0100)]
Simplify parse tracing

3 months agoReplace T_FUNC and T_PROC types kinds with a single T_SIGNATURE
Nick Gasson [Thu, 15 Aug 2024 20:11:42 +0000 (21:11 +0100)]
Replace T_FUNC and T_PROC types kinds with a single T_SIGNATURE

3 months agoExclude fatal_trace and should_not_reach_here from test coverage
Nick Gasson [Thu, 15 Aug 2024 20:11:42 +0000 (21:11 +0100)]
Exclude fatal_trace and should_not_reach_here from test coverage

3 months agoDo not create coverage scopes for component implicit block
Nick Gasson [Thu, 15 Aug 2024 18:52:59 +0000 (19:52 +0100)]
Do not create coverage scopes for component implicit block

Fixes #941

3 months agoAdd separate cover_create_instance for instances
Nick Gasson [Thu, 15 Aug 2024 18:39:46 +0000 (19:39 +0100)]
Add separate cover_create_instance for instances

3 months agoNo longer need to force eager code generation with coverage
Nick Gasson [Wed, 14 Aug 2024 21:33:26 +0000 (22:33 +0100)]
No longer need to force eager code generation with coverage

3 months agoRemove cover_pop_scope
Nick Gasson [Wed, 14 Aug 2024 21:22:26 +0000 (22:22 +0100)]
Remove cover_pop_scope

3 months agoRemove top_scope state from cover_data_t
Nick Gasson [Wed, 14 Aug 2024 19:56:46 +0000 (20:56 +0100)]
Remove top_scope state from cover_data_t

3 months agoModify cover_{push,pop}_scope to take an explicit scope argument
Nick Gasson [Wed, 14 Aug 2024 19:40:25 +0000 (20:40 +0100)]
Modify cover_{push,pop}_scope to take an explicit scope argument

3 months agoRemove redundant nesting of case choice branch coverage
Nick Gasson [Wed, 14 Aug 2024 18:40:10 +0000 (19:40 +0100)]
Remove redundant nesting of case choice branch coverage

3 months agoAdd XML coverage dump format for testing
Nick Gasson [Tue, 13 Aug 2024 20:12:58 +0000 (21:12 +0100)]
Add XML coverage dump format for testing

3 months agoPrune empty coverage scopes
Nick Gasson [Tue, 13 Aug 2024 20:13:19 +0000 (21:13 +0100)]
Prune empty coverage scopes

3 months agoFix crash after empty interface list. Fixes #942
Nick Gasson [Mon, 12 Aug 2024 18:31:11 +0000 (19:31 +0100)]
Fix crash after empty interface list. Fixes #942

3 months agoReplace Bison Verilog parser with hand-written recursive descent
Nick Gasson [Sun, 11 Aug 2024 15:17:33 +0000 (16:17 +0100)]
Replace Bison Verilog parser with hand-written recursive descent

3 months agoAdd should_not_reach_here helper
Nick Gasson [Sun, 11 Aug 2024 21:03:24 +0000 (22:03 +0100)]
Add should_not_reach_here helper

3 months agoCoverage folding (#939)
Blebowski [Sun, 11 Aug 2024 15:13:02 +0000 (17:13 +0200)]
Coverage folding (#939)

* src, test: Rework exclude file handling

Parse first, and traverse hierarchy only then.
Add stub of "collapse" command.

* src, test: coverage fixes after rebase.

* man: Fix section title.

* src: Implement support for "fold" command into exclude file.

* src: Fix forgotten option of "cover_merge" command.

* test: Add cover23 test for coverage folding.

* src: Remove commented code for union creation during folding/

* man: Document coverage folding.

* src: Fix fold command array allocation issues.

* src: typo fix

* src: Simplify to_upper_str

* src: Remove excessive exclamation marks.

* src: Remove excessive debug prints.

* src: Make folding scope match print message only upon DEBUG build.

* nvc.1: Spelling fix.

* src: Apply comments from review

* test: Adapt tests for modified information messages.

* NEWS: fix conflicts.

* src, test: Remove "ifdef DEBUG".

* src: Remove two more occurences of debug print.

3 months agonvc.1: Minor consistency fix in generic documentation. Fixes #832. (#940)
Blebowski [Sun, 11 Aug 2024 14:45:01 +0000 (16:45 +0200)]
nvc.1: Minor consistency fix in generic documentation. Fixes #832. (#940)

3 months agoDetect msys/gcc in configure script. Fixes #936
Nick Gasson [Sun, 11 Aug 2024 11:02:05 +0000 (12:02 +0100)]
Detect msys/gcc in configure script. Fixes #936

3 months agoSync NEWS.md from 1.13 branch
Nick Gasson [Sun, 11 Aug 2024 10:31:48 +0000 (11:31 +0100)]
Sync NEWS.md from 1.13 branch

3 months agoEnable more VUnit tests
Nick Gasson [Sun, 11 Aug 2024 08:45:14 +0000 (09:45 +0100)]
Enable more VUnit tests

3 months agoReplace can_overload with a name mask bit
Nick Gasson [Sun, 11 Aug 2024 08:39:32 +0000 (09:39 +0100)]
Replace can_overload with a name mask bit

3 months agoIncorrect ambiguous subprogram error in 1993 mode
Nick Gasson [Sun, 11 Aug 2024 08:30:18 +0000 (09:30 +0100)]
Incorrect ambiguous subprogram error in 1993 mode

3 months agoSync fstapi.c to GtkWave d20056758
Nick Gasson [Fri, 9 Aug 2024 20:41:04 +0000 (21:41 +0100)]
Sync fstapi.c to GtkWave d20056758

3 months agoUse cmark for Markdown to HTML conversion
Nick Gasson [Fri, 9 Aug 2024 20:26:16 +0000 (21:26 +0100)]
Use cmark for Markdown to HTML conversion

3 months agoFix random segfault when heap is larger than 4g. Fixes #935
Nick Gasson [Fri, 9 Aug 2024 16:46:07 +0000 (17:46 +0100)]
Fix random segfault when heap is larger than 4g. Fixes #935

3 months agoUpdate to UVVM 2024.07.03b
Nick Gasson [Thu, 8 Aug 2024 19:37:05 +0000 (20:37 +0100)]
Update to UVVM 2024.07.03b

3 months agoFix crash with qualified expression. Fixes #934
Nick Gasson [Thu, 8 Aug 2024 19:01:29 +0000 (20:01 +0100)]
Fix crash with qualified expression. Fixes #934

3 months agoFix error generating VCD files on Windows UCRT. Issue #637
Nick Gasson [Wed, 7 Aug 2024 22:23:22 +0000 (23:23 +0100)]
Fix error generating VCD files on Windows UCRT. Issue #637

3 months agoAvoid linker errors on Windows with long command lines
Nick Gasson [Tue, 6 Aug 2024 21:03:19 +0000 (22:03 +0100)]
Avoid linker errors on Windows with long command lines

3 months agoRemove internal debug and deprecated options from --help
Nick Gasson [Sun, 4 Aug 2024 17:50:31 +0000 (18:50 +0100)]
Remove internal debug and deprecated options from --help

3 months agoFix HTML validation errors in coverage report
Nick Gasson [Sun, 4 Aug 2024 17:28:57 +0000 (18:28 +0100)]
Fix HTML validation errors in coverage report

3 months agoSplit -c sub-command into --cover-report and --cover-merge
Nick Gasson [Sun, 4 Aug 2024 16:18:31 +0000 (17:18 +0100)]
Split -c sub-command into --cover-report and --cover-merge

3 months agoUse fbuf_put_uint for coverage data and add magic number
Nick Gasson [Sun, 4 Aug 2024 10:47:41 +0000 (11:47 +0100)]
Use fbuf_put_uint for coverage data and add magic number

3 months agoCorrect documentation for foreign subprograms
Nick Gasson [Fri, 2 Aug 2024 18:28:17 +0000 (19:28 +0100)]
Correct documentation for foreign subprograms

3 months agoAdd a generic saturate_add macro
Nick Gasson [Fri, 2 Aug 2024 17:29:00 +0000 (18:29 +0100)]
Add a generic saturate_add macro

3 months agoRe-enable OSVVM testing in GitHub Actions workflow
Nick Gasson [Thu, 1 Aug 2024 20:48:41 +0000 (21:48 +0100)]
Re-enable OSVVM testing in GitHub Actions workflow

3 months agoWarn in some cases when inner declaration hides outer. Fixes #905
Nick Gasson [Wed, 31 Jul 2024 21:33:29 +0000 (22:33 +0100)]
Warn in some cases when inner declaration hides outer. Fixes #905

3 months agoUpdate OSVVM to 2024.07
Nick Gasson [Thu, 1 Aug 2024 19:11:08 +0000 (20:11 +0100)]
Update OSVVM to 2024.07

3 months agoImprove warning when identifier is a reserved word in future standard
Nick Gasson [Wed, 31 Jul 2024 21:41:40 +0000 (22:41 +0100)]
Improve warning when identifier is a reserved word in future standard

3 months agoAdjust generic type implicit operator lookup in 2008 to match 2019
Nick Gasson [Wed, 31 Jul 2024 19:34:38 +0000 (20:34 +0100)]
Adjust generic type implicit operator lookup in 2008 to match 2019

Issue #927, #686
See also ghdl/ghdl#2696

3 months agoAdd intrinsics for some Synopsys subprograms
Nick Gasson [Tue, 30 Jul 2024 21:26:33 +0000 (22:26 +0100)]
Add intrinsics for some Synopsys subprograms

3 months agoFix Windows installer build in GitHub Actions
Nick Gasson [Mon, 29 Jul 2024 18:05:12 +0000 (19:05 +0100)]
Fix Windows installer build in GitHub Actions

3 months agoOptimise redundant array range calculation
Nick Gasson [Sun, 28 Jul 2024 09:58:37 +0000 (10:58 +0100)]
Optimise redundant array range calculation

3 months agoFix incorrect bounds check error with partially constrained subtype
Nick Gasson [Sun, 28 Jul 2024 09:43:57 +0000 (10:43 +0100)]
Fix incorrect bounds check error with partially constrained subtype

Fixes #932

3 months agoRefactor implementation of 'stable and 'quiet
Nick Gasson [Thu, 25 Jul 2024 10:15:32 +0000 (11:15 +0100)]
Refactor implementation of 'stable and 'quiet

3 months agoSync NEWS.md from 1.3 branch
Nick Gasson [Thu, 25 Jul 2024 12:58:18 +0000 (13:58 +0100)]
Sync NEWS.md from 1.3 branch

3 months agoFix wrong result for slice of generic. Fixes #931
Nick Gasson [Thu, 25 Jul 2024 10:57:11 +0000 (11:57 +0100)]
Fix wrong result for slice of generic. Fixes #931

3 months agoFix longest static prefix for array slice with 'length. Fixes #930
Nick Gasson [Wed, 24 Jul 2024 18:15:32 +0000 (19:15 +0100)]
Fix longest static prefix for array slice with 'length. Fixes #930

3 months agoFix crash with unconstrained array-of-record port
Nick Gasson [Wed, 24 Jul 2024 11:37:48 +0000 (12:37 +0100)]
Fix crash with unconstrained array-of-record port

3 months agoFix crash with shared variable in generic package. Fixes #923
Nick Gasson [Wed, 24 Jul 2024 10:18:43 +0000 (11:18 +0100)]
Fix crash with shared variable in generic package. Fixes #923

3 months agoStop after errors in top-level generics
Nick Gasson [Wed, 24 Jul 2024 09:11:44 +0000 (10:11 +0100)]
Stop after errors in top-level generics

4 months agoFix "failed to suspend thread" error on macOS. Fixes #922
Nick Gasson [Mon, 22 Jul 2024 08:28:00 +0000 (09:28 +0100)]
Fix "failed to suspend thread" error on macOS. Fixes #922

4 months agoElaboration crash with generic package on entity. Fixes #925
Nick Gasson [Sun, 21 Jul 2024 20:04:44 +0000 (21:04 +0100)]
Elaboration crash with generic package on entity. Fixes #925

4 months agoAlso look up external names in port list. Issue #921
Nick Gasson [Sun, 21 Jul 2024 18:16:00 +0000 (19:16 +0100)]
Also look up external names in port list. Issue #921

4 months agoFix crash with subprogram alias in generic <>. Fixes #924
Nick Gasson [Sun, 21 Jul 2024 17:30:18 +0000 (18:30 +0100)]
Fix crash with subprogram alias in generic <>. Fixes #924

4 months agoAdd test for generic hints in elaboration errors
Nick Gasson [Sun, 21 Jul 2024 17:19:02 +0000 (18:19 +0100)]
Add test for generic hints in elaboration errors

4 months agoFix duplicate symbol error with 'DELAYED attribute
Nick Gasson [Sun, 21 Jul 2024 16:51:18 +0000 (17:51 +0100)]
Fix duplicate symbol error with 'DELAYED attribute

4 months agoFix crash with open unconstrained port
Nick Gasson [Sun, 21 Jul 2024 12:05:19 +0000 (13:05 +0100)]
Fix crash with open unconstrained port

4 months agoHint if overload would not be ambiguous with --relaxed
Nick Gasson [Sun, 21 Jul 2024 10:19:04 +0000 (11:19 +0100)]
Hint if overload would not be ambiguous with --relaxed

4 months agoRemove redundant check in elab_external_name
Nick Gasson [Sun, 21 Jul 2024 10:18:41 +0000 (11:18 +0100)]
Remove redundant check in elab_external_name

4 months agoCannot reference generic in external name. Fixes #921
Nick Gasson [Sun, 21 Jul 2024 09:58:04 +0000 (10:58 +0100)]
Cannot reference generic in external name. Fixes #921

4 months agoUse new GitHub Action for OSVVM workflow
Nick Gasson [Fri, 19 Jul 2024 20:20:49 +0000 (21:20 +0100)]
Use new GitHub Action for OSVVM workflow

4 months agoGenerate Windows installer file list dynamically
Nick Gasson [Sun, 21 Jul 2024 04:11:35 +0000 (05:11 +0100)]
Generate Windows installer file list dynamically

4 months agoAdd workaround for actions/checkout#290
Nick Gasson [Fri, 19 Jul 2024 21:56:47 +0000 (22:56 +0100)]
Add workaround for actions/checkout#290

4 months agoCover saturate toggle (#919)
Blebowski [Sun, 21 Jul 2024 06:07:50 +0000 (02:07 -0400)]
Cover saturate toggle (#919)

4 months agoOnly the initial PSL state should repeat
Nick Gasson [Thu, 18 Jul 2024 17:34:54 +0000 (18:34 +0100)]
Only the initial PSL state should repeat

4 months agoRefactor x86 JIT instruction emission
Nick Gasson [Mon, 15 Jul 2024 21:11:09 +0000 (22:11 +0100)]
Refactor x86 JIT instruction emission

4 months agoCover items to counters (#918)
Blebowski [Thu, 18 Jul 2024 17:31:45 +0000 (13:31 -0400)]
Cover items to counters (#918)

* src: Move toggle coverage emit (recursive array traversal) to "cov-data" from lower.

* src: Linearize control flow in cover_add_toggle_items_for.

* src, test: Convert toggle coverage to separate cover_item for 0->1 and 1->0.

* src: Set "num" by default to 1 -> Becomes valid for statements. Simplify cover chain append logic for COV_ITEM_STMT.

* src: Move "num" setting for COV_ITEM_TOGGLE to better place.

* WIP: Branch coverage - Conversion to counters.

* src: Convert branch items fully to single item per covered item in reports too.

* src: Move bin name append for toggle items to cover_add_item.

* src: Move FSM state coverage logic to "cover" and make it counter, not flag.

* src: Fix typo in Button that gives you coverage exclude command.

* src: Move "num" setting for COV_ITEM_TOGGLE to better place.

* WIP: Branch coverage - Conversion to counters.

* src: Convert branch items fully to single item per covered item in reports too.

* src: Move bin name append for toggle items to cover_add_item.

* src: Port fixes from #909 and #906 to coverage refactoring.

* src, test: Rework expression coverage conversion to counters.

* src: Unify reporting of COV_ITEM_FUNCTIONAL to use new conversion to cover_chain_t.

* src: Remove Exclude mask from cov_item_t, now handled by single flag.

* src: Fix build on MACOS.

* src, test: Fix leak in the branch coverage.

* src: Rename "num" to "consecutive" to better correspond to its meaning.

* src, test: Get rid of the BIN in the exclude file completely.

* src, test: Clarify that simultaneous covered + excluded will result in covered.

* src: Unify "cover_add_*" API towards lower.

* src, test: Merge VCODE_OP_COVER_STMT, VCODE_OP_COVER_BRANCH and VCODE_OP_COVER_EXPRESSION.

* src, test: Rename "STATE" to "BIN_STATE" to have the same naming as rest of bins.

* NEWS, www: Update documentation and changes.

* Apply comments from review.

* Revert "src, test: Merge VCODE_OP_COVER_STMT, VCODE_OP_COVER_BRANCH and VCODE_OP_COVER_EXPRESSION."

This reverts commit 9daa3dc0fd1d3ba1e3e63e1e9b4d0b0c020b90ac.

* src: Remove unused variable.

4 months agoAdd support for PSL "never" assertions. Fixes #914
Nick Gasson [Sat, 13 Jul 2024 20:07:14 +0000 (21:07 +0100)]
Add support for PSL "never" assertions. Fixes #914

4 months agoCrash with parenthesised PSL assertion. Fixes #911
Nick Gasson [Sat, 13 Jul 2024 19:43:44 +0000 (20:43 +0100)]
Crash with parenthesised PSL assertion. Fixes #911

4 months agoAvoid cascading errors from overload resolution
Nick Gasson [Sat, 13 Jul 2024 19:43:04 +0000 (20:43 +0100)]
Avoid cascading errors from overload resolution

4 months agoBump version to 1.14-devel
Nick Gasson [Sat, 13 Jul 2024 19:22:19 +0000 (20:22 +0100)]
Bump version to 1.14-devel

4 months agoUpdate for 1.13 release r1.13.0
Nick Gasson [Sat, 13 Jul 2024 08:57:37 +0000 (09:57 +0100)]
Update for 1.13 release

4 months agoFix handling of multi-line PSL comments
Nick Gasson [Thu, 11 Jul 2024 20:24:09 +0000 (21:24 +0100)]
Fix handling of multi-line PSL comments

Fixes #910
Fixes #913

4 months agoCheck result of realpath(3) for stdenv dir_open
Nick Gasson [Wed, 10 Jul 2024 21:06:37 +0000 (22:06 +0100)]
Check result of realpath(3) for stdenv dir_open

4 months agoDowngrade case totality errors to warnings with --relaxed
Nick Gasson [Wed, 10 Jul 2024 20:59:43 +0000 (21:59 +0100)]
Downgrade case totality errors to warnings with --relaxed

Issue #902

4 months agoFix build warnings on Windows and add installer sanity test step
Nick Gasson [Wed, 10 Jul 2024 20:10:06 +0000 (21:10 +0100)]
Fix build warnings on Windows and add installer sanity test step

Issue #786

4 months agoAllow function interface declarations to be pure or impure
Nick Gasson [Tue, 9 Jul 2024 19:24:15 +0000 (20:24 +0100)]
Allow function interface declarations to be pure or impure

Fixes #917

4 months agoHide source for diagnostics unless an explicit location is passed
Nick Gasson [Tue, 9 Jul 2024 19:40:44 +0000 (20:40 +0100)]
Hide source for diagnostics unless an explicit location is passed

4 months agoDump package signals to FST file. Fixes #901
Nick Gasson [Mon, 8 Jul 2024 20:53:22 +0000 (21:53 +0100)]
Dump package signals to FST file. Fixes #901

4 months agoFix unused variable warning on release build
Nick Gasson [Mon, 8 Jul 2024 21:05:03 +0000 (22:05 +0100)]
Fix unused variable warning on release build

4 months agoReplace list_* macros in rt_scope_t
Nick Gasson [Mon, 8 Jul 2024 20:04:40 +0000 (21:04 +0100)]
Replace list_* macros in rt_scope_t

4 months agoEnsure fatal_* functions are never inlined
Nick Gasson [Sun, 7 Jul 2024 08:46:08 +0000 (09:46 +0100)]
Ensure fatal_* functions are never inlined