]> Nick Gasson's Git Repositories - nvc.git/log
nvc.git
10 months agoMake tree_assert_kind a no-op on release builds
Nick Gasson [Sat, 13 Jan 2024 19:22:03 +0000 (19:22 +0000)]
Make tree_assert_kind a no-op on release builds

10 months agoAdd separate assoc_kind_t for 2008 slices and concatenations
Nick Gasson [Sat, 13 Jan 2024 19:21:45 +0000 (19:21 +0000)]
Add separate assoc_kind_t for 2008 slices and concatenations

10 months agoRefactor parse rules to avoid use of look_for
Nick Gasson [Sat, 13 Jan 2024 17:39:58 +0000 (17:39 +0000)]
Refactor parse rules to avoid use of look_for

10 months agoCov different top hierarchies (#828)
Blebowski [Sat, 13 Jan 2024 19:29:30 +0000 (14:29 -0500)]
Cov different top hierarchies (#828)

* src: Report multiple top hierarchies in the code coverage report.

* test: Add cover22 for multiple different top hierarchies.

* src: Warn if skipping a coverage scope due to missing source file.

* src: Fix incorrect vararg function.

* nvc: Extend manual with some details on merging.

10 months agoFix memory corruption evaluating aggregate with range association
Nick Gasson [Sat, 13 Jan 2024 12:16:38 +0000 (12:16 +0000)]
Fix memory corruption evaluating aggregate with range association

Issue #827

10 months agoFix incorrect aggregate direction with range association. Fixes #826
Nick Gasson [Fri, 12 Jan 2024 19:32:33 +0000 (19:32 +0000)]
Fix incorrect aggregate direction with range association. Fixes #826

10 months agoConsider aggregate choice expressions when building sensitivity lists
Nick Gasson [Wed, 10 Jan 2024 22:20:05 +0000 (22:20 +0000)]
Consider aggregate choice expressions when building sensitivity lists

Issue #825

10 months agoFurther restrictions on collapsing output ports. Issue #824
Nick Gasson [Mon, 8 Jan 2024 21:29:46 +0000 (21:29 +0000)]
Further restrictions on collapsing output ports. Issue #824

10 months agoParsing for anonymous types in interface declarations
Nick Gasson [Sun, 7 Jan 2024 12:55:40 +0000 (12:55 +0000)]
Parsing for anonymous types in interface declarations

10 months agoOnly call simplify_global once in elab_instance
Nick Gasson [Sun, 7 Jan 2024 10:00:19 +0000 (10:00 +0000)]
Only call simplify_global once in elab_instance

10 months agoSync NEWS.md from 1.11 branch
Nick Gasson [Thu, 4 Jan 2024 20:41:55 +0000 (20:41 +0000)]
Sync NEWS.md from 1.11 branch

10 months agoBump JIT_MAX_ARGS (#822)
sean-anderson-seco [Tue, 2 Jan 2024 21:59:19 +0000 (16:59 -0500)]
Bump JIT_MAX_ARGS (#822)

The mem_initialize procedure in the Lattice MachXO3 behavioural
simulation libraries takes arguments than JIT_MAX_ARGS. Bump
JIT_MAX_ARGS a bit so that this procedure elaborates.

10 months agoFix crash simplifying if-statement. Issue #821
Nick Gasson [Tue, 2 Jan 2024 19:47:24 +0000 (19:47 +0000)]
Fix crash simplifying if-statement. Issue #821

10 months agoFix longest static prefix calculation with constant array reference
Nick Gasson [Tue, 2 Jan 2024 19:31:43 +0000 (19:31 +0000)]
Fix longest static prefix calculation with constant array reference

Fixes #820

10 months agoAdd optimised SHA1 implementation using SSE intrinsics
Nick Gasson [Sat, 30 Dec 2023 22:37:35 +0000 (22:37 +0000)]
Add optimised SHA1 implementation using SSE intrinsics

10 months agoImprove checking for expanded names
Nick Gasson [Sat, 30 Dec 2023 15:43:15 +0000 (15:43 +0000)]
Improve checking for expanded names

10 months agoMore fixes for 2019 improved type generics
Nick Gasson [Sat, 30 Dec 2023 12:41:14 +0000 (12:41 +0000)]
More fixes for 2019 improved type generics

10 months agoAllow alias of type attribute
Nick Gasson [Sat, 30 Dec 2023 11:38:15 +0000 (11:38 +0000)]
Allow alias of type attribute

10 months agoFix crash with aliased enumeration literal in case choice
Nick Gasson [Fri, 29 Dec 2023 20:37:57 +0000 (20:37 +0000)]
Fix crash with aliased enumeration literal in case choice

Fixes #819

10 months agoFix calculation of aggregate bounds with concatenation
Nick Gasson [Fri, 29 Dec 2023 21:21:14 +0000 (21:21 +0000)]
Fix calculation of aggregate bounds with concatenation

10 months agoAdd a simple test for 2019 array type generics
Nick Gasson [Thu, 28 Dec 2023 21:17:17 +0000 (21:17 +0000)]
Add a simple test for 2019 array type generics

10 months agoImplement vhpiIsNullP and vhpiIsDiscreteP for ranges
Nick Gasson [Thu, 28 Dec 2023 19:17:14 +0000 (19:17 +0000)]
Implement vhpiIsNullP and vhpiIsDiscreteP for ranges

10 months agoDo not allow 'VALUE and 'IMAGE for non-scalar types prior to 2019
Nick Gasson [Sat, 23 Dec 2023 21:00:37 +0000 (21:00 +0000)]
Do not allow 'VALUE and 'IMAGE for non-scalar types prior to 2019

11 months agoAvoid illegal characters in design unit file names. Fixes #816
Nick Gasson [Wed, 20 Dec 2023 21:57:03 +0000 (21:57 +0000)]
Avoid illegal characters in design unit file names. Fixes #816

11 months agoIncorrect length check for non-static port map actual. Fixes #817
Nick Gasson [Wed, 20 Dec 2023 18:37:25 +0000 (18:37 +0000)]
Incorrect length check for non-static port map actual. Fixes #817

11 months agoUse lower_get_type_bounds in more places
Nick Gasson [Mon, 18 Dec 2023 20:13:13 +0000 (20:13 +0000)]
Use lower_get_type_bounds in more places

11 months agoAvoid repeated bounds evaluation for array-of-array
Nick Gasson [Sat, 16 Dec 2023 21:45:02 +0000 (21:45 +0000)]
Avoid repeated bounds evaluation for array-of-array

11 months agoSync NEWS.md from 1.11 branch
Nick Gasson [Sat, 16 Dec 2023 14:54:50 +0000 (14:54 +0000)]
Sync NEWS.md from 1.11 branch

11 months agoInclude Git SHA in version output when no tags available
Nick Gasson [Sat, 16 Dec 2023 10:52:40 +0000 (10:52 +0000)]
Include Git SHA in version output when no tags available

Fixes #813

11 months agoFix crash when subtype bounds depend on package instance generic
Nick Gasson [Wed, 13 Dec 2023 22:31:38 +0000 (22:31 +0000)]
Fix crash when subtype bounds depend on package instance generic

Fixes #815

11 months agoCorrect 'VALUE behaviour for arrays of character literals
Nick Gasson [Wed, 13 Dec 2023 21:37:14 +0000 (21:37 +0000)]
Correct 'VALUE behaviour for arrays of character literals

11 months agoAvoid multiple evaluation of subtype bounds
Nick Gasson [Wed, 6 Dec 2023 11:10:53 +0000 (11:10 +0000)]
Avoid multiple evaluation of subtype bounds

11 months agovhpi: Support types from package instances (#814)
sean-anderson-seco [Tue, 12 Dec 2023 18:34:04 +0000 (13:34 -0500)]
vhpi: Support types from package instances (#814)

Search declarations as well as statements so we can find package
instances. This allows VHPI to use signals which have types defined in
package instances.

Signed-off-by: Sean Anderson <sean.anderson@seco.com>
11 months agoReport error when object has unconstrained generic type
Nick Gasson [Sun, 10 Dec 2023 15:30:17 +0000 (15:30 +0000)]
Report error when object has unconstrained generic type

11 months agoAdd new module to handle instancing
Nick Gasson [Sun, 10 Dec 2023 15:04:26 +0000 (15:04 +0000)]
Add new module to handle instancing

11 months agoRemove vcode serialisation
Nick Gasson [Sat, 9 Dec 2023 18:24:50 +0000 (18:24 +0000)]
Remove vcode serialisation

11 months agoMake --jit work without --no-save
Nick Gasson [Sat, 9 Dec 2023 17:51:09 +0000 (17:51 +0000)]
Make --jit work without --no-save

11 months agoRestore interpreter-only mode
Nick Gasson [Sat, 9 Dec 2023 16:36:00 +0000 (16:36 +0000)]
Restore interpreter-only mode

11 months agoPass unit_registry_t instance into TCL shell
Nick Gasson [Fri, 8 Dec 2023 12:33:03 +0000 (12:33 +0000)]
Pass unit_registry_t instance into TCL shell

11 months agoCorrect type check in lower_port_ref
Nick Gasson [Thu, 7 Dec 2023 21:11:48 +0000 (21:11 +0000)]
Correct type check in lower_port_ref

11 months agoFix crash when simplifying if-statement. Issue #812
Nick Gasson [Thu, 7 Dec 2023 20:45:18 +0000 (20:45 +0000)]
Fix crash when simplifying if-statement. Issue #812

11 months agoBump version to 1.12-devel
Nick Gasson [Thu, 7 Dec 2023 19:48:13 +0000 (19:48 +0000)]
Bump version to 1.12-devel

11 months agoUpdate for 1.11 release r1.11.0
Nick Gasson [Wed, 6 Dec 2023 20:43:40 +0000 (20:43 +0000)]
Update for 1.11 release

11 months agoMissing length check for string literal
Nick Gasson [Tue, 5 Dec 2023 21:40:41 +0000 (21:40 +0000)]
Missing length check for string literal

11 months agoFix crash elaborating port map
Nick Gasson [Tue, 5 Dec 2023 20:51:48 +0000 (20:51 +0000)]
Fix crash elaborating port map

11 months agoCall TCL_Init on TCL interpreter object
Nick Gasson [Tue, 5 Dec 2023 20:22:20 +0000 (20:22 +0000)]
Call TCL_Init on TCL interpreter object

11 months agoFix regression passing unconstrained port to procedure
Nick Gasson [Mon, 4 Dec 2023 21:34:56 +0000 (21:34 +0000)]
Fix regression passing unconstrained port to procedure

11 months agoBuild VHPI subtypes dynamically for unconstrained ports and generics
Nick Gasson [Sun, 3 Dec 2023 11:00:27 +0000 (11:00 +0000)]
Build VHPI subtypes dynamically for unconstrained ports and generics

11 months agoFix crash with generic SFIXED example. Fixes #809
Nick Gasson [Sat, 2 Dec 2023 10:20:20 +0000 (10:20 +0000)]
Fix crash with generic SFIXED example. Fixes #809

11 months agoConstrain ports during code generation. Fixes #809
Nick Gasson [Fri, 1 Dec 2023 19:53:09 +0000 (19:53 +0000)]
Constrain ports during code generation. Fixes #809

11 months agoFix 'SUBTYPE for array-of-record
Nick Gasson [Thu, 30 Nov 2023 21:23:39 +0000 (21:23 +0000)]
Fix 'SUBTYPE for array-of-record

11 months agoArithmetic identities for **
Nick Gasson [Thu, 30 Nov 2023 21:23:39 +0000 (21:23 +0000)]
Arithmetic identities for **

11 months agoSimplify logic in lower_ports
Nick Gasson [Thu, 30 Nov 2023 21:23:39 +0000 (21:23 +0000)]
Simplify logic in lower_ports

11 months agoFix argument order to lower_check_array_sizes
Nick Gasson [Thu, 30 Nov 2023 21:23:39 +0000 (21:23 +0000)]
Fix argument order to lower_check_array_sizes

11 months agoCorrect VHDL-2008 rules for globally static attributes
Nick Gasson [Thu, 30 Nov 2023 21:23:39 +0000 (21:23 +0000)]
Correct VHDL-2008 rules for globally static attributes

11 months agoAdd separate entry point for scheduling process after delay
Nick Gasson [Wed, 29 Nov 2023 21:50:24 +0000 (21:50 +0000)]
Add separate entry point for scheduling process after delay

11 months agoAvoid an extra runtime call when suspending procedure
Nick Gasson [Wed, 29 Nov 2023 19:46:33 +0000 (19:46 +0000)]
Avoid an extra runtime call when suspending procedure

11 months agoDisable reflect5 test on FreeBSD
Nick Gasson [Mon, 27 Nov 2023 09:14:52 +0000 (09:14 +0000)]
Disable reflect5 test on FreeBSD

No way to get path from file descriptor

11 months agoAvoid calling VirtualProtect on zero length region. Issue #807
Nick Gasson [Sun, 26 Nov 2023 19:51:49 +0000 (19:51 +0000)]
Avoid calling VirtualProtect on zero length region. Issue #807

11 months agoAdd nvc_decommit to free committed pages
Nick Gasson [Sun, 26 Nov 2023 19:56:38 +0000 (19:56 +0000)]
Add nvc_decommit to free committed pages

11 months agoFix for random macOS dependency install failure
Nick Gasson [Sun, 26 Nov 2023 19:33:42 +0000 (19:33 +0000)]
Fix for random macOS dependency install failure

11 months agoAvoid bounds check failure on never-taken branch
Nick Gasson [Sun, 26 Nov 2023 18:26:56 +0000 (18:26 +0000)]
Avoid bounds check failure on never-taken branch

Fixes #806

11 months agoAdd support for Verilog unary ~ and ! operators
Nick Gasson [Sun, 26 Nov 2023 13:59:59 +0000 (13:59 +0000)]
Add support for Verilog unary ~ and ! operators

11 months agoAllow stdin as source of analysis file list
Nick Gasson [Sun, 26 Nov 2023 09:09:32 +0000 (09:09 +0000)]
Allow stdin as source of analysis file list

11 months agoFix parsing ABS followed by **. Fixes #805
Nick Gasson [Sun, 26 Nov 2023 08:58:42 +0000 (08:58 +0000)]
Fix parsing ABS followed by **. Fixes #805

11 months agoAvoid unnecessary comparisons in jit_attach_thread
Nick Gasson [Fri, 24 Nov 2023 17:41:57 +0000 (17:41 +0000)]
Avoid unnecessary comparisons in jit_attach_thread

11 months agoAvoid repeated calls to NOW in VitalGlitch
Nick Gasson [Fri, 24 Nov 2023 17:16:41 +0000 (17:16 +0000)]
Avoid repeated calls to NOW in VitalGlitch

11 months agoAdd more never_waits attributes to VITAL procedures
Nick Gasson [Fri, 24 Nov 2023 17:10:42 +0000 (17:10 +0000)]
Add more never_waits attributes to VITAL procedures

11 months agoOnly allow 'VALUE for one-dimensional arrays prior to 2019
Nick Gasson [Thu, 23 Nov 2023 22:07:28 +0000 (22:07 +0000)]
Only allow 'VALUE for one-dimensional arrays prior to 2019

11 months agoHook up __nvc_last_event
Nick Gasson [Thu, 23 Nov 2023 21:54:36 +0000 (21:54 +0000)]
Hook up __nvc_last_event

12 months agoTidy up logic in p_concurrent_statement
Nick Gasson [Wed, 22 Nov 2023 21:34:54 +0000 (21:34 +0000)]
Tidy up logic in p_concurrent_statement

12 months agoSplit PSL declarations from directives. Fixes #803
Nick Gasson [Wed, 22 Nov 2023 21:22:06 +0000 (21:22 +0000)]
Split PSL declarations from directives. Fixes #803

12 months agoFix crash with type alias in implicit condition conversion
Nick Gasson [Wed, 22 Nov 2023 19:57:34 +0000 (19:57 +0000)]
Fix crash with type alias in implicit condition conversion

Fixes #802

12 months agoAdd warning for predefined array comparisons with different lengths
Nick Gasson [Tue, 21 Nov 2023 19:21:29 +0000 (19:21 +0000)]
Add warning for predefined array comparisons with different lengths

Fixes #800

12 months agoFix crash with type alias and string literal
Nick Gasson [Tue, 21 Nov 2023 18:48:02 +0000 (18:48 +0000)]
Fix crash with type alias and string literal

Fixes #801

12 months agoWorkaround for macOS GitHub Actions failure
Nick Gasson [Tue, 21 Nov 2023 19:57:02 +0000 (19:57 +0000)]
Workaround for macOS GitHub Actions failure

12 months agoFix wrong result bounds when TO_UNSIGNED is constant folded
Nick Gasson [Mon, 20 Nov 2023 21:09:00 +0000 (21:09 +0000)]
Fix wrong result bounds when TO_UNSIGNED is constant folded

Fixes #799

12 months agoDisable __builtin_setjmp with Clang
Nick Gasson [Mon, 20 Nov 2023 17:51:01 +0000 (17:51 +0000)]
Disable __builtin_setjmp with Clang

Fixes #796

12 months agoCover functional exclude (#798)
Blebowski [Sun, 19 Nov 2023 20:43:52 +0000 (15:43 -0500)]
Cover functional exclude (#798)

* src: Fix forgotten loc when COVER_DEBUG_EMIT is enabled.

* src: Add exclude support for functional cover points.

* src: Add exclude button to functional cover points.

12 months agoBasic functional coverage from PSL cover directive
Nick Gasson [Sun, 19 Nov 2023 16:28:42 +0000 (16:28 +0000)]
Basic functional coverage from PSL cover directive

Issue #795

12 months agoRevert to using the old array macros in cov/
Nick Gasson [Sun, 19 Nov 2023 15:34:49 +0000 (15:34 +0000)]
Revert to using the old array macros in cov/

12 months agoMake cover_add_item take a generic object_t pointer
Nick Gasson [Sun, 19 Nov 2023 15:05:23 +0000 (15:05 +0000)]
Make cover_add_item take a generic object_t pointer

12 months agoDo not store tree kind directly in coverage database
Nick Gasson [Sun, 19 Nov 2023 15:00:00 +0000 (15:00 +0000)]
Do not store tree kind directly in coverage database

12 months agoAdd basic support for PSL cover directives
Nick Gasson [Sat, 18 Nov 2023 19:54:01 +0000 (19:54 +0000)]
Add basic support for PSL cover directives

Issue #795

12 months agoAvoid unnecessary scalar conversions
Nick Gasson [Fri, 17 Nov 2023 22:41:57 +0000 (22:41 +0000)]
Avoid unnecessary scalar conversions

12 months agoRemove unused solve_param function
Nick Gasson [Fri, 17 Nov 2023 21:08:29 +0000 (21:08 +0000)]
Remove unused solve_param function

12 months agoImprove handling of implicit literal conversions
Nick Gasson [Thu, 16 Nov 2023 22:28:47 +0000 (22:28 +0000)]
Improve handling of implicit literal conversions

12 months agoSimplify handling of implicit condition conversion
Nick Gasson [Wed, 15 Nov 2023 19:43:56 +0000 (19:43 +0000)]
Simplify handling of implicit condition conversion

12 months agoFix check for entity name in absolute external pathnames
Nick Gasson [Wed, 15 Nov 2023 22:17:20 +0000 (22:17 +0000)]
Fix check for entity name in absolute external pathnames

Fixes #794

12 months agoSingle elaboration function for Verilog and VHDL
Nick Gasson [Sun, 12 Nov 2023 21:00:08 +0000 (21:00 +0000)]
Single elaboration function for Verilog and VHDL

12 months agoAdd side-channel for passing JSON objects from TCL to GUI
Nick Gasson [Sun, 12 Nov 2023 20:28:31 +0000 (20:28 +0000)]
Add side-channel for passing JSON objects from TCL to GUI

12 months agoAdd TCL describe command to query object properties
Nick Gasson [Sun, 12 Nov 2023 15:07:45 +0000 (15:07 +0000)]
Add TCL describe command to query object properties

12 months agoAdd some initial support for Windows on Arm64
Nick Gasson [Sun, 12 Nov 2023 10:50:45 +0000 (10:50 +0000)]
Add some initial support for Windows on Arm64

12 months agoImprove overload resolution for partial associations. Fixes #793
Nick Gasson [Sun, 12 Nov 2023 10:01:21 +0000 (10:01 +0000)]
Improve overload resolution for partial associations. Fixes #793

12 months agoImprove error when architecture name hides object
Nick Gasson [Thu, 9 Nov 2023 22:18:47 +0000 (22:18 +0000)]
Improve error when architecture name hides object

Fixes #789

12 months agoAdd a --port option to set GUI port number
Nick Gasson [Thu, 9 Nov 2023 21:37:22 +0000 (21:37 +0000)]
Add a --port option to set GUI port number

12 months agoLimit maximum size of stack allocations to 64kB
Nick Gasson [Wed, 8 Nov 2023 21:39:53 +0000 (21:39 +0000)]
Limit maximum size of stack allocations to 64kB

Fixes #791

12 months agoServe static files using binary mode
Nick Gasson [Wed, 8 Nov 2023 21:38:47 +0000 (21:38 +0000)]
Serve static files using binary mode

12 months agoUse memset for aggregates with repeating string literals
Nick Gasson [Wed, 8 Nov 2023 21:31:25 +0000 (21:31 +0000)]
Use memset for aggregates with repeating string literals

12 months agoCrash with alias of protected type in VHDL-2002
Nick Gasson [Wed, 8 Nov 2023 19:20:50 +0000 (19:20 +0000)]
Crash with alias of protected type in VHDL-2002

Fixes #792