]> git.nickg.me.uk Git - nvc.git/log
nvc.git
7 months agoAvoid calling lower_debug_locus for bounds checks which always pass
Nick Gasson [Mon, 2 Oct 2023 17:22:58 +0000 (18:22 +0100)]
Avoid calling lower_debug_locus for bounds checks which always pass

7 months agoSimplify some basic expressions without generating code
Nick Gasson [Mon, 2 Oct 2023 17:22:58 +0000 (18:22 +0100)]
Simplify some basic expressions without generating code

7 months agoFix intermittent crash with LLVM JIT
Nick Gasson [Sun, 1 Oct 2023 10:17:43 +0000 (11:17 +0100)]
Fix intermittent crash with LLVM JIT

7 months agoSwitch back to master branch of Microwatt for regression tests
Nick Gasson [Sun, 1 Oct 2023 08:28:45 +0000 (09:28 +0100)]
Switch back to master branch of Microwatt for regression tests

7 months agoTemporarily enable debug mode in Debian package
Nick Gasson [Sat, 30 Sep 2023 19:43:42 +0000 (20:43 +0100)]
Temporarily enable debug mode in Debian package

7 months agoFix crash with concurrent assignment to array of records
Nick Gasson [Sat, 30 Sep 2023 19:24:05 +0000 (20:24 +0100)]
Fix crash with concurrent assignment to array of records

Fixes #765

7 months agoFix unused variable warnings
Nick Gasson [Sat, 30 Sep 2023 11:27:30 +0000 (12:27 +0100)]
Fix unused variable warnings

7 months agoAdd cocotb to regression tests
Nick Gasson [Sat, 30 Sep 2023 10:38:35 +0000 (11:38 +0100)]
Add cocotb to regression tests

7 months agoFix assertion failure lowering reference to alias
Nick Gasson [Sat, 30 Sep 2023 10:13:33 +0000 (11:13 +0100)]
Fix assertion failure lowering reference to alias

7 months agoFix occasional install failure with make -j
Nick Gasson [Sat, 30 Sep 2023 09:51:05 +0000 (10:51 +0100)]
Fix occasional install failure with make -j

7 months agoFix VHPI crash with non-static signal bounds
Nick Gasson [Fri, 29 Sep 2023 16:23:11 +0000 (17:23 +0100)]
Fix VHPI crash with non-static signal bounds

7 months agoAdd Grlib to regression tests
Nick Gasson [Thu, 28 Sep 2023 20:59:58 +0000 (21:59 +0100)]
Add Grlib to regression tests

7 months agoTweak handling of pragmas outside of design units
Nick Gasson [Thu, 28 Sep 2023 20:59:26 +0000 (21:59 +0100)]
Tweak handling of pragmas outside of design units

7 months agoSwitch from pkg-config to pkgconf on MSYS2
Nick Gasson [Wed, 27 Sep 2023 20:36:58 +0000 (21:36 +0100)]
Switch from pkg-config to pkgconf on MSYS2

7 months agoRemove dependency initialisation code from model
Nick Gasson [Wed, 27 Sep 2023 19:14:47 +0000 (20:14 +0100)]
Remove dependency initialisation code from model

7 months agoLLVM JIT no longer uses LLJIT interface
Nick Gasson [Tue, 26 Sep 2023 22:04:19 +0000 (23:04 +0100)]
LLVM JIT no longer uses LLJIT interface

7 months agoRespect Linux CPU affinity when calculating maximum number of threads
Nick Gasson [Tue, 26 Sep 2023 21:30:20 +0000 (22:30 +0100)]
Respect Linux CPU affinity when calculating maximum number of threads

7 months agoAdd script to install Free Model Foundry common packages
Nick Gasson [Tue, 26 Sep 2023 20:43:21 +0000 (21:43 +0100)]
Add script to install Free Model Foundry common packages

7 months agoFix visibility in block statement generic map
Nick Gasson [Tue, 26 Sep 2023 20:07:57 +0000 (21:07 +0100)]
Fix visibility in block statement generic map

7 months agoAdditional checking for LCS2016-059
Nick Gasson [Mon, 25 Sep 2023 16:51:53 +0000 (17:51 +0100)]
Additional checking for LCS2016-059

7 months agoAdd VHDL-2019 for VUnit library installation. (#764)
Brian Padalino [Mon, 25 Sep 2023 16:03:22 +0000 (12:03 -0400)]
Add VHDL-2019 for VUnit library installation. (#764)

7 months agoRefactor subprogram overload resolution
Nick Gasson [Sun, 24 Sep 2023 20:16:29 +0000 (21:16 +0100)]
Refactor subprogram overload resolution

Issue #761

7 months agoStop including deprecated LLVM headers in cgen.c
Nick Gasson [Sun, 24 Sep 2023 21:36:28 +0000 (22:36 +0100)]
Stop including deprecated LLVM headers in cgen.c

7 months agoLowering for Verilog variables with packed dimensions
Nick Gasson [Fri, 22 Sep 2023 19:43:01 +0000 (20:43 +0100)]
Lowering for Verilog variables with packed dimensions

7 months agoDetect Bison -Wcounterexamples support in configure script
Nick Gasson [Fri, 22 Sep 2023 10:45:01 +0000 (11:45 +0100)]
Detect Bison -Wcounterexamples support in configure script

7 months agoLowering for Verilog if statements
Nick Gasson [Fri, 22 Sep 2023 10:37:22 +0000 (11:37 +0100)]
Lowering for Verilog if statements

7 months agoLowering for Verilog delay control
Nick Gasson [Thu, 21 Sep 2023 21:13:41 +0000 (22:13 +0100)]
Lowering for Verilog delay control

7 months agoLook up VHPI array subtype bounds dynamically from JIT
Nick Gasson [Tue, 19 Sep 2023 19:49:17 +0000 (20:49 +0100)]
Look up VHPI array subtype bounds dynamically from JIT

Issue #762

7 months agoOptimise unsigned addition with natural
Nick Gasson [Tue, 19 Sep 2023 18:19:48 +0000 (19:19 +0100)]
Optimise unsigned addition with natural

7 months agoOptimise equals operator for standard enum vector types
Nick Gasson [Tue, 19 Sep 2023 18:19:48 +0000 (19:19 +0100)]
Optimise equals operator for standard enum vector types

7 months agoOptimised subtract operation for signed/unsigned types
Nick Gasson [Tue, 19 Sep 2023 18:19:48 +0000 (19:19 +0100)]
Optimised subtract operation for signed/unsigned types

7 months agoOptimised multiply operation for signed/unsigned types
Nick Gasson [Tue, 19 Sep 2023 18:19:48 +0000 (19:19 +0100)]
Optimised multiply operation for signed/unsigned types

7 months agoDo not build VHPI model until design fully initialised
Nick Gasson [Tue, 19 Sep 2023 18:19:48 +0000 (19:19 +0100)]
Do not build VHPI model until design fully initialised

7 months agoLower declarations in a single pass
Nick Gasson [Mon, 18 Sep 2023 20:46:24 +0000 (21:46 +0100)]
Lower declarations in a single pass

7 months agoAvoid repeated evaluation of array bounds in aggregate
Nick Gasson [Mon, 18 Sep 2023 20:44:12 +0000 (21:44 +0100)]
Avoid repeated evaluation of array bounds in aggregate

7 months agoStore non-constant subtype bounds in a variable
Nick Gasson [Mon, 18 Sep 2023 20:14:44 +0000 (21:14 +0100)]
Store non-constant subtype bounds in a variable

8 months agoSync NEWS.md from 1.10 branch
Nick Gasson [Sun, 17 Sep 2023 20:36:44 +0000 (21:36 +0100)]
Sync NEWS.md from 1.10 branch

8 months agoBump OSVVM version to 2023.07
Nick Gasson [Sun, 17 Sep 2023 19:15:09 +0000 (20:15 +0100)]
Bump OSVVM version to 2023.07

8 months agoFix crash overriding predefined function in package body only
Nick Gasson [Sun, 17 Sep 2023 19:29:20 +0000 (20:29 +0100)]
Fix crash overriding predefined function in package body only

Issue #760

8 months agoPartial implementation of LCS2016-059
Nick Gasson [Sun, 17 Sep 2023 10:08:24 +0000 (11:08 +0100)]
Partial implementation of LCS2016-059

8 months agoImplement remaining LCS2016-018 changes
Nick Gasson [Sat, 16 Sep 2023 21:30:19 +0000 (22:30 +0100)]
Implement remaining LCS2016-018 changes

8 months agoImprove location reporting in VHPI errors
Nick Gasson [Sat, 16 Sep 2023 14:45:50 +0000 (15:45 +0100)]
Improve location reporting in VHPI errors

8 months agoMerge Prefix and simpleName fields in c_prefixedName
Nick Gasson [Sat, 16 Sep 2023 13:21:33 +0000 (14:21 +0100)]
Merge Prefix and simpleName fields in c_prefixedName

Makes handling prefixed names where the prefix is another prefixed name
a lot simpler.

8 months agoAllow VHPI indexed name access to generic arrays
Nick Gasson [Sat, 16 Sep 2023 11:11:46 +0000 (12:11 +0100)]
Allow VHPI indexed name access to generic arrays

8 months agoExtend layout_of to work with nested arrays
Nick Gasson [Sat, 16 Sep 2023 10:18:45 +0000 (11:18 +0100)]
Extend layout_of to work with nested arrays

8 months agoAllow reading record generic fields in vhpi_get_value
Nick Gasson [Sat, 16 Sep 2023 09:26:33 +0000 (10:26 +0100)]
Allow reading record generic fields in vhpi_get_value

8 months agoFix crash constant folding during elaboration with coverage enabled
Nick Gasson [Sat, 16 Sep 2023 08:16:08 +0000 (09:16 +0100)]
Fix crash constant folding during elaboration with coverage enabled

Issue #759

8 months agoRevert the VHPI CaseName hack as it is unreliable
Nick Gasson [Sat, 16 Sep 2023 08:02:02 +0000 (09:02 +0100)]
Revert the VHPI CaseName hack as it is unreliable

8 months agoImplement VHPI access to for-generate blocks
Nick Gasson [Wed, 13 Sep 2023 16:06:41 +0000 (17:06 +0100)]
Implement VHPI access to for-generate blocks

8 months agoFix accessing sub-region in vhpi_handle_by_name
Nick Gasson [Wed, 13 Sep 2023 14:43:33 +0000 (15:43 +0100)]
Fix accessing sub-region in vhpi_handle_by_name

8 months agoSupport plusargs for passing arguments to VHPI plugins
Nick Gasson [Wed, 13 Sep 2023 14:10:07 +0000 (15:10 +0100)]
Support plusargs for passing arguments to VHPI plugins

8 months agoFix use-after-free in vhpi10 test
Nick Gasson [Wed, 13 Sep 2023 13:44:04 +0000 (14:44 +0100)]
Fix use-after-free in vhpi10 test

8 months agoAllow vhpi_get with vhpiSizeP for unconstrained array types
Nick Gasson [Tue, 12 Sep 2023 21:13:50 +0000 (22:13 +0100)]
Allow vhpi_get with vhpiSizeP for unconstrained array types

8 months agoSupport reading unconstrained array values from VHPI
Nick Gasson [Tue, 12 Sep 2023 20:50:06 +0000 (21:50 +0100)]
Support reading unconstrained array values from VHPI

8 months agoVHPI support for component instance statements
Nick Gasson [Tue, 12 Sep 2023 20:50:06 +0000 (21:50 +0100)]
VHPI support for component instance statements

8 months agoCheck pragmas always appear in pair within a design unit
Nick Gasson [Mon, 11 Sep 2023 19:34:27 +0000 (20:34 +0100)]
Check pragmas always appear in pair within a design unit

Fixes #753

8 months agoAdd a test for new --shuffle option
Nick Gasson [Mon, 11 Sep 2023 19:15:52 +0000 (20:15 +0100)]
Add a test for new --shuffle option

8 months agoAdd --shuffle option to run processes in random order
Nick Gasson [Mon, 11 Sep 2023 08:09:54 +0000 (09:09 +0100)]
Add --shuffle option to run processes in random order

Issue #614

8 months agoSet numElems for scalar vhpi_get_value
Nick Gasson [Sun, 10 Sep 2023 20:00:05 +0000 (21:00 +0100)]
Set numElems for scalar vhpi_get_value

8 months agoOptimise simple concurrent signal assignment
Nick Gasson [Sun, 10 Sep 2023 12:44:40 +0000 (13:44 +0100)]
Optimise simple concurrent signal assignment

8 months agoAllow VHPI access to types declared in blocks
Nick Gasson [Sun, 10 Sep 2023 09:26:05 +0000 (10:26 +0100)]
Allow VHPI access to types declared in blocks

8 months agoAdd a thread barrier abstraction
Nick Gasson [Sat, 9 Sep 2023 19:48:52 +0000 (20:48 +0100)]
Add a thread barrier abstraction

8 months agoAvoid calls to memcmp for small arrays
Nick Gasson [Sat, 9 Sep 2023 16:08:07 +0000 (17:08 +0100)]
Avoid calls to memcmp for small arrays

8 months agoImport David Bishop's real_tests.vhd
Nick Gasson [Sat, 9 Sep 2023 12:26:59 +0000 (13:26 +0100)]
Import David Bishop's real_tests.vhd

8 months agoImprove code generation for constant array aggregates
Nick Gasson [Sat, 9 Sep 2023 12:20:13 +0000 (13:20 +0100)]
Improve code generation for constant array aggregates

8 months agoCatch more aggregate length errors at analysis time
Nick Gasson [Sat, 9 Sep 2023 10:02:57 +0000 (11:02 +0100)]
Catch more aggregate length errors at analysis time

8 months agoAdd optimised implementations for SIN and COS
Nick Gasson [Fri, 8 Sep 2023 20:19:46 +0000 (21:19 +0100)]
Add optimised implementations for SIN and COS

8 months agoUse specialised run queue rather than workq_t in model
Nick Gasson [Fri, 8 Sep 2023 08:52:05 +0000 (09:52 +0100)]
Use specialised run queue rather than workq_t in model

8 months agoOptimise case where concurrent procedure call never waits
Nick Gasson [Thu, 7 Sep 2023 19:43:34 +0000 (20:43 +0100)]
Optimise case where concurrent procedure call never waits

8 months agoEnable VHPI access to block statements
Nick Gasson [Thu, 7 Sep 2023 19:38:22 +0000 (20:38 +0100)]
Enable VHPI access to block statements

8 months agoImplement vhpiRelease mode for vhpi_put_value
Nick Gasson [Tue, 5 Sep 2023 21:00:34 +0000 (22:00 +0100)]
Implement vhpiRelease mode for vhpi_put_value

8 months agoAdd support for accessing constant declarations in VHPI
Nick Gasson [Tue, 5 Sep 2023 18:30:11 +0000 (19:30 +0100)]
Add support for accessing constant declarations in VHPI

8 months agoAllow iterating generic declarations from VHPI
Nick Gasson [Mon, 4 Sep 2023 21:12:51 +0000 (22:12 +0100)]
Allow iterating generic declarations from VHPI

8 months agoImprove debugging for VHPI error messages
Nick Gasson [Mon, 4 Sep 2023 21:03:20 +0000 (22:03 +0100)]
Improve debugging for VHPI error messages

8 months agoDo not write numElems for non-scalar vhpi_get_value
Nick Gasson [Mon, 4 Sep 2023 20:00:14 +0000 (21:00 +0100)]
Do not write numElems for non-scalar vhpi_get_value

8 months agoFix memory leak in print_deps_cmd
Nick Gasson [Mon, 4 Sep 2023 18:41:17 +0000 (19:41 +0100)]
Fix memory leak in print_deps_cmd

8 months agoFix crash deserialising JIT bytecode
Nick Gasson [Mon, 4 Sep 2023 18:38:18 +0000 (19:38 +0100)]
Fix crash deserialising JIT bytecode

8 months agoImplement VHPI IsLocal property
Nick Gasson [Mon, 4 Sep 2023 18:17:14 +0000 (19:17 +0100)]
Implement VHPI IsLocal property

8 months agoAllow reading generic value from VHPI
Nick Gasson [Mon, 4 Sep 2023 18:17:14 +0000 (19:17 +0100)]
Allow reading generic value from VHPI

8 months agoAllow enumerating top-level generics in VHPI
Nick Gasson [Mon, 4 Sep 2023 18:17:14 +0000 (19:17 +0100)]
Allow enumerating top-level generics in VHPI

8 months agoRefactor simulator interface to VHPI
Nick Gasson [Mon, 4 Sep 2023 18:17:14 +0000 (19:17 +0100)]
Refactor simulator interface to VHPI

8 months agoIntroduce vhpi_context_t to hold VHPI global variables
Nick Gasson [Mon, 4 Sep 2023 18:17:14 +0000 (19:17 +0100)]
Introduce vhpi_context_t to hold VHPI global variables

8 months agoFix crash for allocator with unconstrained array element
Nick Gasson [Mon, 4 Sep 2023 18:17:14 +0000 (19:17 +0100)]
Fix crash for allocator with unconstrained array element

Fixes #756

8 months agoFix crash with alias of alias of subprogram
Nick Gasson [Mon, 4 Sep 2023 18:17:14 +0000 (19:17 +0100)]
Fix crash with alias of alias of subprogram

Fixes #755

8 months agoCheck for valid operator symbol
Nick Gasson [Sat, 2 Sep 2023 20:57:51 +0000 (21:57 +0100)]
Check for valid operator symbol

8 months agoMissed VHDL-2008 rule for predefined operator visibility
Nick Gasson [Sat, 2 Sep 2023 20:40:07 +0000 (21:40 +0100)]
Missed VHDL-2008 rule for predefined operator visibility

8 months agoOptimise TO_UNSIGNED and TO_SIGNED
Nick Gasson [Thu, 31 Aug 2023 18:20:54 +0000 (19:20 +0100)]
Optimise TO_UNSIGNED and TO_SIGNED

8 months agoDo not assume arena root is first object created
Nick Gasson [Fri, 1 Sep 2023 20:45:37 +0000 (21:45 +0100)]
Do not assume arena root is first object created

8 months agoFix crash with pragma outside of design unit
Nick Gasson [Fri, 1 Sep 2023 08:36:20 +0000 (09:36 +0100)]
Fix crash with pragma outside of design unit

Fixes #752

8 months agoOptimise "xor" for std_logic_vector
Nick Gasson [Wed, 30 Aug 2023 20:07:14 +0000 (21:07 +0100)]
Optimise "xor" for std_logic_vector

8 months agoOptimise "and" and "or" for std_logic_vector
Nick Gasson [Tue, 29 Aug 2023 21:19:07 +0000 (22:19 +0100)]
Optimise "and" and "or" for std_logic_vector

8 months agoAdd a framework for optimised implementations of standard functions
Nick Gasson [Mon, 22 May 2023 21:27:26 +0000 (22:27 +0100)]
Add a framework for optimised implementations of standard functions

8 months agoParsing for Verilog conditional statements
Nick Gasson [Sun, 27 Aug 2023 15:30:19 +0000 (16:30 +0100)]
Parsing for Verilog conditional statements

8 months agoImprove error message for missing package body
Nick Gasson [Sat, 26 Aug 2023 16:22:45 +0000 (17:22 +0100)]
Improve error message for missing package body

8 months agoVHDL-2019 composition with protected types
Nick Gasson [Sat, 26 Aug 2023 15:23:02 +0000 (16:23 +0100)]
VHDL-2019 composition with protected types

8 months agoAllow alias of protected type method
Nick Gasson [Sat, 26 Aug 2023 14:20:46 +0000 (15:20 +0100)]
Allow alias of protected type method

8 months agoAdjust check for existing library directory
Nick Gasson [Sat, 26 Aug 2023 10:29:55 +0000 (11:29 +0100)]
Adjust check for existing library directory

8 months agoDowngrade "directory already exists" error to a warning
Nick Gasson [Fri, 25 Aug 2023 19:57:59 +0000 (20:57 +0100)]
Downgrade "directory already exists" error to a warning

8 months agoAvoid race when checking if an existing directory is a library
Nick Gasson [Fri, 25 Aug 2023 19:44:54 +0000 (20:44 +0100)]
Avoid race when checking if an existing directory is a library

Fixes #746

8 months agoRestrict copying for instantiation of nested package
Nick Gasson [Wed, 23 Aug 2023 15:13:12 +0000 (16:13 +0100)]
Restrict copying for instantiation of nested package

Fixes #732