]> git.nickg.me.uk Git - nvc.git/log
nvc.git
7 months agoBump version to 1.10.3 r1.10.3
Nick Gasson [Sun, 17 Sep 2023 20:07:55 +0000 (21:07 +0100)]
Bump version to 1.10.3

7 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

7 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

7 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

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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 months agoAvoid race when checking if an existing directory is a library
Nick Gasson [Sun, 17 Sep 2023 19:36:25 +0000 (20:36 +0100)]
Avoid race when checking if an existing directory is a library

Fixes #746

8 months agoWrong name mangling with nested function inside unlabelled process
Nick Gasson [Thu, 24 Aug 2023 19:13:05 +0000 (20:13 +0100)]
Wrong name mangling with nested function inside unlabelled process

Issue #751

8 months agoCorrect Ubuntu version in release package matrix r1.10.2
Nick Gasson [Sun, 20 Aug 2023 11:40:00 +0000 (12:40 +0100)]
Correct Ubuntu version in release package matrix

8 months agoRepurpose MSYS2 package workflow as generic release package workflow
Nick Gasson [Sun, 20 Aug 2023 11:17:43 +0000 (12:17 +0100)]
Repurpose MSYS2 package workflow as generic release package workflow

8 months agoBump version to 1.10.2
Nick Gasson [Sun, 20 Aug 2023 11:52:53 +0000 (12:52 +0100)]
Bump version to 1.10.2

8 months agoFix stack corruption when function returns pointer to its argument
Nick Gasson [Sun, 20 Aug 2023 09:51:33 +0000 (10:51 +0100)]
Fix stack corruption when function returns pointer to its argument

8 months agoRemove a debugging report statement from std_logic ?<= operator
Nick Gasson [Wed, 16 Aug 2023 20:00:45 +0000 (21:00 +0100)]
Remove a debugging report statement from std_logic ?<= operator

8 months agoParse empty bit string literals
Nick Gasson [Tue, 15 Aug 2023 19:18:42 +0000 (20:18 +0100)]
Parse empty bit string literals

8 months agoImprove error checking for configuration specifications
Nick Gasson [Sat, 12 Aug 2023 20:33:07 +0000 (21:33 +0100)]
Improve error checking for configuration specifications

8 months agoFix regression of vhpi9 test case
Nick Gasson [Sat, 12 Aug 2023 10:28:43 +0000 (11:28 +0100)]
Fix regression of vhpi9 test case

8 months agoSplit Ubuntu package build into separate workflow step
Nick Gasson [Fri, 11 Aug 2023 17:57:20 +0000 (18:57 +0100)]
Split Ubuntu package build into separate workflow step

8 months agoFix error with use clause for instantiated package
Nick Gasson [Wed, 9 Aug 2023 19:27:18 +0000 (20:27 +0100)]
Fix error with use clause for instantiated package

8 months agoFix error with others => association in generic map with generic type
Nick Gasson [Wed, 9 Aug 2023 19:04:24 +0000 (20:04 +0100)]
Fix error with others => association in generic map with generic type

9 months agoArray bounds check incorrectly optimised out. Fixes #747
Nick Gasson [Mon, 31 Jul 2023 17:34:13 +0000 (18:34 +0100)]
Array bounds check incorrectly optimised out. Fixes #747

9 months agoBump version to 1.10.1 r1.10.1
Nick Gasson [Fri, 28 Jul 2023 20:23:02 +0000 (21:23 +0100)]
Bump version to 1.10.1

9 months agoAvoid name-based lookup for type declaration design unit in VHPI
Nick Gasson [Fri, 28 Jul 2023 08:26:12 +0000 (09:26 +0100)]
Avoid name-based lookup for type declaration design unit in VHPI

Fixes #744

9 months agoAdd PoC to GitHub Actions tests
Nick Gasson [Wed, 26 Jul 2023 21:07:06 +0000 (22:07 +0100)]
Add PoC to GitHub Actions tests

9 months agoFix data corruption in overloaded protected procedure call
Nick Gasson [Wed, 26 Jul 2023 20:37:00 +0000 (21:37 +0100)]
Fix data corruption in overloaded protected procedure call

9 months agoEnsure JIT is shut down before exiting
Nick Gasson [Wed, 26 Jul 2023 18:25:02 +0000 (19:25 +0100)]
Ensure JIT is shut down before exiting

9 months agoFix error with minimum/maximum predefined functions on array of physical
Nick Gasson [Wed, 26 Jul 2023 18:25:02 +0000 (19:25 +0100)]
Fix error with minimum/maximum predefined functions on array of physical

9 months agovhpi: Downgrade unimplemented iterators to error
Sean Anderson [Sun, 2 Jul 2023 18:48:56 +0000 (14:48 -0400)]
vhpi: Downgrade unimplemented iterators to error

We have implemented most of the critical iterator types, so the
remaining iterators don't necessarily represent a fatal bug in the
program. Just produce an error and keep going. This allows partial
functionality for VHPI programs which try these iterators.

9 months agovhpi: Add support for argv
Sean Anderson [Sun, 2 Jul 2023 18:25:45 +0000 (14:25 -0400)]
vhpi: Add support for argv

Add support for reading the argvs, allowing tools to parse out plusargs.

9 months agoFix crash simplifying locally static expression in package
Nick Gasson [Tue, 25 Jul 2023 19:01:42 +0000 (20:01 +0100)]
Fix crash simplifying locally static expression in package

Fixes #742

9 months agoChange format of to_string for time to match other implementations
Nick Gasson [Tue, 18 Jul 2023 19:11:50 +0000 (20:11 +0100)]
Change format of to_string for time to match other implementations

9 months agoHandle decimal string literals more than 64-bits wide
Nick Gasson [Tue, 18 Jul 2023 17:33:28 +0000 (18:33 +0100)]
Handle decimal string literals more than 64-bits wide

Fixes #731

9 months agoFix wrong 'EVENT result on delta cycle
Nick Gasson [Sat, 15 Jul 2023 08:42:25 +0000 (09:42 +0100)]
Fix wrong 'EVENT result on delta cycle

9 months agoFix incorrect sensitivity list with constant indexed name
Nick Gasson [Fri, 14 Jul 2023 20:22:54 +0000 (21:22 +0100)]
Fix incorrect sensitivity list with constant indexed name

9 months agoInclude Verilog test files in distribution
Nick Gasson [Fri, 14 Jul 2023 10:59:02 +0000 (11:59 +0100)]
Include Verilog test files in distribution

9 months agoUpdate for 1.10 release r1.10.0
Nick Gasson [Fri, 14 Jul 2023 10:33:55 +0000 (11:33 +0100)]
Update for 1.10 release

9 months agoWork around issues with dlclose on Alpine/musl
Nick Gasson [Fri, 14 Jul 2023 10:24:17 +0000 (11:24 +0100)]
Work around issues with dlclose on Alpine/musl

9 months agoUpdate Quartus installation script for 22.1
Nick Gasson [Fri, 14 Jul 2023 09:40:35 +0000 (10:40 +0100)]
Update Quartus installation script for 22.1

9 months agoRemove the SYNOPSYS.ATTRIBUTES package
Nick Gasson [Wed, 12 Jul 2023 21:55:12 +0000 (22:55 +0100)]
Remove the SYNOPSYS.ATTRIBUTES package

9 months agoUpdate builds.sr.ht configs
Nick Gasson [Wed, 12 Jul 2023 21:45:44 +0000 (22:45 +0100)]
Update builds.sr.ht configs

9 months agoAllow capturing all output from TCL shell
Nick Gasson [Tue, 11 Jul 2023 18:58:15 +0000 (19:58 +0100)]
Allow capturing all output from TCL shell

9 months agoAdd test case for PSL SEREs
Nick Gasson [Wed, 12 Jul 2023 15:12:33 +0000 (16:12 +0100)]
Add test case for PSL SEREs

9 months agoNamed associations in aggregate target. Fixes #712
Nick Gasson [Tue, 11 Jul 2023 18:20:45 +0000 (19:20 +0100)]
Named associations in aggregate target. Fixes #712

9 months agoFix crash when "add wave" called multiple times
Nick Gasson [Tue, 11 Jul 2023 18:20:45 +0000 (19:20 +0100)]
Fix crash when "add wave" called multiple times

9 months agoFix compile error in workqbench
Nick Gasson [Tue, 11 Jul 2023 18:20:45 +0000 (19:20 +0100)]
Fix compile error in workqbench

9 months agoAdd mechanism to redirect TCL stdout and stderr
Nick Gasson [Tue, 11 Jul 2023 18:20:45 +0000 (19:20 +0100)]
Add mechanism to redirect TCL stdout and stderr

9 months agoFix uninitialised variable warning
Nick Gasson [Mon, 10 Jul 2023 17:02:21 +0000 (18:02 +0100)]
Fix uninitialised variable warning

9 months agoHack to allow elaborated unit in unit_registry_get. Fixes #736
Nick Gasson [Sat, 8 Jul 2023 20:15:54 +0000 (21:15 +0100)]
Hack to allow elaborated unit in unit_registry_get. Fixes #736

9 months agoAdd record subtype mirrors
Nick Gasson [Sat, 8 Jul 2023 10:53:35 +0000 (11:53 +0100)]
Add record subtype mirrors

9 months agoAdd test for missing protected type method
Nick Gasson [Sat, 8 Jul 2023 10:10:27 +0000 (11:10 +0100)]
Add test for missing protected type method

9 months agoAdd shell event handler
Nick Gasson [Sun, 9 Jul 2023 08:05:28 +0000 (09:05 +0100)]
Add shell event handler

9 months agoCoverage report enhancements (#738)
Blebowski [Sun, 9 Jul 2023 06:53:46 +0000 (08:53 +0200)]
Coverage report enhancements (#738)

* src/cover: Show LHS/RHS arrows in the HTML report.

* src/cover: Add function name for expression coverage. Split loc and tree for emitted cover tags to distinguish branch type and branch condition location. Add titles and print also multi-line code samples for coverage tags.

---------

Co-authored-by: Ondrej Ille <ondrej.ille@tropicsqaure.com>
9 months agoImplement GET methods for array value mirrors
Nick Gasson [Sat, 8 Jul 2023 08:32:28 +0000 (09:32 +0100)]
Implement GET methods for array value mirrors

9 months agoFix incorrect parsing of conditional return statement
Nick Gasson [Sat, 8 Jul 2023 07:35:52 +0000 (08:35 +0100)]
Fix incorrect parsing of conditional return statement

9 months agoAdd enumeration value/subtype mirrors
Nick Gasson [Fri, 7 Jul 2023 21:16:36 +0000 (22:16 +0100)]
Add enumeration value/subtype mirrors

9 months agoCover HTML report enhancements (#735)
Blebowski [Fri, 7 Jul 2023 17:19:36 +0000 (19:19 +0200)]
Cover HTML report enhancements (#735)

* src/cover: Format printed HTML nicely for debug. Avoid printing past text buffer. Dont print newlines in code samples.

* src: Reduce size of generated coverage report, add CSS classes for common properties.

9 months agoFix unused variable warning in list_get macro
Nick Gasson [Fri, 7 Jul 2023 16:43:11 +0000 (17:43 +0100)]
Fix unused variable warning in list_get macro

9 months agoHide homographs within a declaration. Issue #733
Nick Gasson [Fri, 7 Jul 2023 08:05:27 +0000 (09:05 +0100)]
Hide homographs within a declaration. Issue #733

9 months agoRemove unused internal warn-on-hidden option
Nick Gasson [Fri, 7 Jul 2023 07:28:39 +0000 (08:28 +0100)]
Remove unused internal warn-on-hidden option

9 months agoMissing index check for null array. Fixes #734
Nick Gasson [Thu, 6 Jul 2023 20:41:04 +0000 (21:41 +0100)]
Missing index check for null array. Fixes #734

9 months agoFix crash folding IEEE matching operators
Nick Gasson [Thu, 6 Jul 2023 20:19:10 +0000 (21:19 +0100)]
Fix crash folding IEEE matching operators

9 months agoParsing for VHDL-2019 improved type generics
Nick Gasson [Thu, 6 Jul 2023 18:29:55 +0000 (19:29 +0100)]
Parsing for VHDL-2019 improved type generics

10 months agoMore attributes for array subtype mirrors
Nick Gasson [Wed, 5 Jul 2023 18:54:48 +0000 (19:54 +0100)]
More attributes for array subtype mirrors

10 months agoGet rid of global vcode unit registry
Nick Gasson [Fri, 30 Jun 2023 08:18:00 +0000 (09:18 +0100)]
Get rid of global vcode unit registry

10 months agoAdd floating value and subtype mirrors
Nick Gasson [Sun, 2 Jul 2023 20:31:57 +0000 (21:31 +0100)]
Add floating value and subtype mirrors

10 months agoInteger subtype mirrors and subtype reflection
Nick Gasson [Sat, 1 Jul 2023 21:25:40 +0000 (22:25 +0100)]
Integer subtype mirrors and subtype reflection

10 months agoUse cover scope to store hierarchy information
Nick Gasson [Sat, 1 Jul 2023 11:41:08 +0000 (12:41 +0100)]
Use cover scope to store hierarchy information

10 months agoSimplify interface between lower and coverage
Nick Gasson [Sat, 1 Jul 2023 09:23:53 +0000 (10:23 +0100)]
Simplify interface between lower and coverage

10 months agoStore coverage scopes directly in database
Nick Gasson [Sat, 1 Jul 2023 08:36:55 +0000 (09:36 +0100)]
Store coverage scopes directly in database

10 months agoUse a single namespace for cover tags
Nick Gasson [Fri, 30 Jun 2023 16:31:17 +0000 (17:31 +0100)]
Use a single namespace for cover tags

10 months agoFix crash getting expression coverage with function bodies
Nick Gasson [Fri, 30 Jun 2023 16:15:41 +0000 (17:15 +0100)]
Fix crash getting expression coverage with function bodies

10 months agoInferring constraints from initial values for signals and variables
Nick Gasson [Thu, 29 Jun 2023 21:13:54 +0000 (22:13 +0100)]
Inferring constraints from initial values for signals and variables

10 months agoTidy up library makefiles
Nick Gasson [Wed, 28 Jun 2023 21:17:30 +0000 (22:17 +0100)]
Tidy up library makefiles

10 months agoMove matching relational operators to ieee_support package
Nick Gasson [Wed, 28 Jun 2023 20:21:54 +0000 (21:21 +0100)]
Move matching relational operators to ieee_support package

10 months agoRestore NVC.IEEE_SUPPORT package
Nick Gasson [Wed, 28 Jun 2023 19:43:08 +0000 (20:43 +0100)]
Restore NVC.IEEE_SUPPORT package

This reverts commit f956783b22fd92adfe20e1e012d14fe201b9e6fe.

10 months agoFix several minor memory leaks
Nick Gasson [Wed, 28 Jun 2023 19:37:50 +0000 (20:37 +0100)]
Fix several minor memory leaks

10 months agoFix memory leak when parsing conditional analysis tokens
Nick Gasson [Wed, 28 Jun 2023 09:13:46 +0000 (10:13 +0100)]
Fix memory leak when parsing conditional analysis tokens

10 months agoAllow 'PATH_NAME, etc. on instance labels. Fixes #730
Nick Gasson [Tue, 27 Jun 2023 18:28:37 +0000 (19:28 +0100)]
Allow 'PATH_NAME, etc. on instance labels. Fixes #730

10 months agoAdd empty array value/subtype mirrors
Nick Gasson [Sun, 25 Jun 2023 16:50:42 +0000 (17:50 +0100)]
Add empty array value/subtype mirrors

10 months agoAdd plumbing for subtype mirrors
Nick Gasson [Sun, 25 Jun 2023 08:49:33 +0000 (09:49 +0100)]
Add plumbing for subtype mirrors

10 months agoFix crashes calling methods on result of 'REFLECT
Nick Gasson [Sun, 25 Jun 2023 08:12:06 +0000 (09:12 +0100)]
Fix crashes calling methods on result of 'REFLECT

10 months agoInitial support for reflection
Nick Gasson [Sat, 24 Jun 2023 22:36:34 +0000 (23:36 +0100)]
Initial support for reflection

10 months agoCode generation for accesses to protected types
Nick Gasson [Sat, 24 Jun 2023 19:43:03 +0000 (20:43 +0100)]
Code generation for accesses to protected types

10 months agoChecking for VHDL-2019 pointers-to-protected-types
Nick Gasson [Sat, 24 Jun 2023 17:52:54 +0000 (18:52 +0100)]
Checking for VHDL-2019 pointers-to-protected-types

10 months agoMissing checks that access cannot designate file/protected type
Nick Gasson [Sat, 24 Jun 2023 16:31:12 +0000 (17:31 +0100)]
Missing checks that access cannot designate file/protected type

10 months agoParsing for 'REFLECT attribute
Nick Gasson [Sat, 24 Jun 2023 16:09:33 +0000 (17:09 +0100)]
Parsing for 'REFLECT attribute

10 months agoStub out VHDL-2019 STD.REFLECTION body
Nick Gasson [Sat, 24 Jun 2023 12:52:59 +0000 (13:52 +0100)]
Stub out VHDL-2019 STD.REFLECTION body

10 months agoPartial implementation of vhpiCaseNameP for declarations. Issue #723
Nick Gasson [Sat, 24 Jun 2023 08:34:56 +0000 (09:34 +0100)]
Partial implementation of vhpiCaseNameP for declarations. Issue #723

10 months agoImport strndup from gnulib
Nick Gasson [Sat, 24 Jun 2023 09:23:13 +0000 (10:23 +0100)]
Import strndup from gnulib

10 months agoSpeed up finding source line in diag_get_source
Nick Gasson [Sat, 24 Jun 2023 07:53:00 +0000 (08:53 +0100)]
Speed up finding source line in diag_get_source

10 months agoAdd a regression test for issue #653
Nick Gasson [Fri, 23 Jun 2023 17:08:26 +0000 (18:08 +0100)]
Add a regression test for issue #653

10 months agoImprove test coverage for dumper
Nick Gasson [Thu, 22 Jun 2023 21:43:06 +0000 (22:43 +0100)]
Improve test coverage for dumper

10 months agoRemove concurrent modification warning in debug mode
Nick Gasson [Thu, 22 Jun 2023 21:01:17 +0000 (22:01 +0100)]
Remove concurrent modification warning in debug mode

10 months agovhpi: Fix error message in vhpi_get_value
Sean Anderson [Thu, 22 Jun 2023 04:53:36 +0000 (00:53 -0400)]
vhpi: Fix error message in vhpi_get_value

This error message unconditionally references decl, but sometimes all we
have is pn. Fix it.

Fixes: cdddab99 ("vhpi: Add get/set support for selected names")
10 months agovhpi: Add support for getting record types by name
Sean Anderson [Thu, 22 Jun 2023 01:10:26 +0000 (21:10 -0400)]
vhpi: Add support for getting record types by name

When cocotb tries to access an object with a name like `VHPI5.O.F`, it
doesn't know whether O is a signal or a record. This ambiguity could be
resolved by trying to look up the name like `:VHPI5:O.F` or
`:VHPI5:O:F`, but cocotb can't determine which to use ahead of time.
This is a limitation of cocotb, but probably not one which will ever get
resolved.

Add support for looking up record types by name, primarily to allow
cocotb to access them.