]> git.nickg.me.uk Git - nvc.git/log
nvc.git
12 months agovhpi: Support designUnits
Sean Anderson [Tue, 16 May 2023 21:06:57 +0000 (17:06 -0400)]
vhpi: Support designUnits

Support getting the designUnit of the rootInst.

12 months agovhpi: Add support for name properties
Sean Anderson [Mon, 15 May 2023 17:26:17 +0000 (13:26 -0400)]
vhpi: Add support for name properties

Support name properties for more objects. When we don't support a
particular property (for now), just return NULL instead of dying.

12 months agovhpi: Expand support for abstractregion/decl
Sean Anderson [Mon, 15 May 2023 19:17:17 +0000 (15:17 -0400)]
vhpi: Expand support for abstractregion/decl

Add the is_... helper functions for abstractRegion and abstractDecl.
Additionally, expand the number of types supported for abstractDecl.

12 months agovhpi: Fix vhpiCbAfterDelay
Sean Anderson [Tue, 16 May 2023 23:37:45 +0000 (19:37 -0400)]
vhpi: Fix vhpiCbAfterDelay

vhpiCbAfterDelay registers a callback relative to the current time, not
since the start of simulation:

> The trigger event for [vhpiCbAfterDelay] is the expiry of the timeout
> interval after the callback was registered.

12 months agovhpi: Don't error in is_typeDecl
Sean Anderson [Tue, 16 May 2023 21:55:05 +0000 (17:55 -0400)]
vhpi: Don't error in is_typeDecl

is_... functions shouldn't emit errors (unlike cast_...).

Fixes: 6a93ffc5 ("Refactor VHPI implementation")
12 months agoImplement VHDL-2019 shared variables on entity interface (LCS2016-47)
Nick Gasson [Tue, 16 May 2023 21:10:19 +0000 (22:10 +0100)]
Implement VHDL-2019 shared variables on entity interface (LCS2016-47)

12 months agoRefactoring to allow ports with variable class
Nick Gasson [Mon, 15 May 2023 21:30:07 +0000 (22:30 +0100)]
Refactoring to allow ports with variable class

12 months agoEnable "function knows vector size" for unconstrained records
Nick Gasson [Mon, 15 May 2023 18:43:06 +0000 (19:43 +0100)]
Enable "function knows vector size" for unconstrained records

12 months agoAllow "function knows vector size" in declarations and signal assignments
Nick Gasson [Sun, 14 May 2023 16:08:54 +0000 (17:08 +0100)]
Allow "function knows vector size" in declarations and signal assignments

12 months agoAdd some basic support for LCS2016-72b "function knows vector size"
Nick Gasson [Sun, 14 May 2023 13:41:02 +0000 (14:41 +0100)]
Add some basic support for LCS2016-72b "function knows vector size"

12 months agoOptimise lookup_item
Nick Gasson [Sun, 14 May 2023 09:30:51 +0000 (10:30 +0100)]
Optimise lookup_item

12 months agoStore Verilog numbers in AST
Nick Gasson [Sat, 13 May 2023 20:47:18 +0000 (21:47 +0100)]
Store Verilog numbers in AST

12 months agoCover conditional return test (#692)
Blebowski [Sat, 13 May 2023 19:50:12 +0000 (21:50 +0200)]
Cover conditional return test (#692)

12 months agoAdd support for conditional return statements in VHDL-2019
Nick Gasson [Sat, 13 May 2023 08:56:43 +0000 (09:56 +0100)]
Add support for conditional return statements in VHDL-2019

12 months agoReplace T_COND_VAR_ASSIGN with T_COND_VALUE
Nick Gasson [Sat, 13 May 2023 08:24:55 +0000 (09:24 +0100)]
Replace T_COND_VAR_ASSIGN with T_COND_VALUE

12 months agoImplement VHDL-2019 conditional expression in declarations
Nick Gasson [Fri, 12 May 2023 16:31:20 +0000 (17:31 +0100)]
Implement VHDL-2019 conditional expression in declarations

12 months agoImprove handling interface package generic map aspect. Issue #644
Nick Gasson [Fri, 12 May 2023 09:10:16 +0000 (10:10 +0100)]
Improve handling interface package generic map aspect. Issue #644

12 months agoImprove test case for issue #644
Nick Gasson [Thu, 11 May 2023 21:40:46 +0000 (22:40 +0100)]
Improve test case for issue #644

12 months agoFix assertion failure when passing package as generic. Issue #644
Nick Gasson [Thu, 11 May 2023 21:04:06 +0000 (22:04 +0100)]
Fix assertion failure when passing package as generic. Issue #644

12 months agoX86 backend support for CCMP and $MEMSET
Nick Gasson [Wed, 10 May 2023 14:55:32 +0000 (15:55 +0100)]
X86 backend support for CCMP and $MEMSET

12 months agoParsing for mode view declarations
Nick Gasson [Wed, 10 May 2023 12:58:52 +0000 (13:58 +0100)]
Parsing for mode view declarations

12 months agoAdd a type to represent Verilog numbers
Nick Gasson [Wed, 10 May 2023 08:16:02 +0000 (09:16 +0100)]
Add a type to represent Verilog numbers

12 months agoFix length calculation for nested array of record signals. Issue #690
Nick Gasson [Wed, 10 May 2023 08:25:24 +0000 (09:25 +0100)]
Fix length calculation for nested array of record signals. Issue #690

12 months agoFormat string handling for $display and $write
Nick Gasson [Mon, 8 May 2023 09:21:48 +0000 (10:21 +0100)]
Format string handling for $display and $write

12 months agoAdd basic support for $display
Nick Gasson [Mon, 8 May 2023 08:00:26 +0000 (09:00 +0100)]
Add basic support for $display

12 months agoParsing for Verilog strings
Nick Gasson [Sun, 7 May 2023 20:36:18 +0000 (21:36 +0100)]
Parsing for Verilog strings

12 months agoAdd more lowering for Verilog
Nick Gasson [Sun, 7 May 2023 14:03:39 +0000 (15:03 +0100)]
Add more lowering for Verilog

12 months agoAdd a script to run Questa for test comparison
Nick Gasson [Sun, 7 May 2023 10:11:21 +0000 (11:11 +0100)]
Add a script to run Questa for test comparison

12 months agoImport strchrnul from gnulib. Fixes #689
Nick Gasson [Mon, 8 May 2023 07:43:03 +0000 (08:43 +0100)]
Import strchrnul from gnulib. Fixes #689

12 months agoRework handling of generic type predefined operators
Nick Gasson [Sat, 6 May 2023 14:04:22 +0000 (15:04 +0100)]
Rework handling of generic type predefined operators

Fixes #686
Fixes #658

12 months agoFix dumping for if-generate
Nick Gasson [Sat, 6 May 2023 14:02:42 +0000 (15:02 +0100)]
Fix dumping for if-generate

12 months agoFix visibility issue with selected names. Issue #688
Nick Gasson [Fri, 5 May 2023 19:35:24 +0000 (20:35 +0100)]
Fix visibility issue with selected names. Issue #688

12 months agoFix memory leak of identifier hash table
Nick Gasson [Fri, 5 May 2023 19:35:53 +0000 (20:35 +0100)]
Fix memory leak of identifier hash table

12 months agoAdd parsing of Compound SERE (#679)
Blebowski [Fri, 5 May 2023 19:38:00 +0000 (21:38 +0200)]
Add parsing of Compound SERE (#679)

12 months agoError in record aggregate when field has the same name as a type. Issue #687
Nick Gasson [Tue, 2 May 2023 19:41:48 +0000 (20:41 +0100)]
Error in record aggregate when field has the same name as a type. Issue #687

12 months agoRearrange type check for indexed name prefix. Fixes #685
Nick Gasson [Tue, 2 May 2023 17:36:17 +0000 (18:36 +0100)]
Rearrange type check for indexed name prefix. Fixes #685

12 months agoManual formatting tweaks
Nick Gasson [Tue, 2 May 2023 17:23:12 +0000 (18:23 +0100)]
Manual formatting tweaks

12 months agoPass JIT instance into elaboration
Nick Gasson [Mon, 1 May 2023 17:45:03 +0000 (18:45 +0100)]
Pass JIT instance into elaboration

12 months agoGet rid of eval_t type
Nick Gasson [Mon, 1 May 2023 15:42:26 +0000 (16:42 +0100)]
Get rid of eval_t type

12 months agoAllow multiple JIT code pages. Issue #672
Nick Gasson [Mon, 1 May 2023 10:55:37 +0000 (11:55 +0100)]
Allow multiple JIT code pages. Issue #672

12 months agoSync NEWS.md from 1.9 branch
Nick Gasson [Mon, 1 May 2023 09:44:01 +0000 (10:44 +0100)]
Sync NEWS.md from 1.9 branch

12 months agoAdd basic tab completion
Nick Gasson [Sat, 29 Apr 2023 18:00:35 +0000 (19:00 +0100)]
Add basic tab completion

12 months agoAdd an "examine" shell command
Nick Gasson [Sat, 29 Apr 2023 13:23:17 +0000 (14:23 +0100)]
Add an "examine" shell command

12 months agoFix TCL shell line editing with coloured prompt
Nick Gasson [Sat, 29 Apr 2023 09:10:22 +0000 (10:10 +0100)]
Fix TCL shell line editing with coloured prompt

12 months agoFix corner case releasing signal without driver. Fixes #681
Nick Gasson [Fri, 28 Apr 2023 19:52:51 +0000 (20:52 +0100)]
Fix corner case releasing signal without driver. Fixes #681

12 months agoImplement Mach-O relocations for x86_64. Issue #680
Nick Gasson [Fri, 28 Apr 2023 17:31:16 +0000 (18:31 +0100)]
Implement Mach-O relocations for x86_64. Issue #680

12 months agoRemove active_scope global variable
Nick Gasson [Tue, 25 Apr 2023 21:08:45 +0000 (22:08 +0100)]
Remove active_scope global variable

12 months agoUse ptr_list_t for scope child list
Nick Gasson [Tue, 25 Apr 2023 21:00:29 +0000 (22:00 +0100)]
Use ptr_list_t for scope child list

12 months agoTemporarily use fork of Microwatt for VUnit tests
Nick Gasson [Tue, 25 Apr 2023 20:28:52 +0000 (21:28 +0100)]
Temporarily use fork of Microwatt for VUnit tests

12 months agoBump UVVM to 2023.03.21. Issue #614
Nick Gasson [Sun, 23 Apr 2023 20:14:35 +0000 (21:14 +0100)]
Bump UVVM to 2023.03.21. Issue #614

12 months agoFix crash when signal assignment contains only "unaffected". Issue #677
Nick Gasson [Mon, 24 Apr 2023 21:37:15 +0000 (22:37 +0100)]
Fix crash when signal assignment contains only "unaffected". Issue #677

12 months agoHandle next and exit statements in process(all). Issue #676
Nick Gasson [Sun, 23 Apr 2023 19:51:59 +0000 (20:51 +0100)]
Handle next and exit statements in process(all). Issue #676

12 months agoUse same version scheme for MSYS2 and Debian
Nick Gasson [Sun, 23 Apr 2023 17:35:22 +0000 (18:35 +0100)]
Use same version scheme for MSYS2 and Debian

12 months agoBuild Debian package in GitHub Actions. Issue #642
Nick Gasson [Sun, 23 Apr 2023 14:16:59 +0000 (15:16 +0100)]
Build Debian package in GitHub Actions. Issue #642

12 months agoAdd support for PSL properties in runtime
Nick Gasson [Sun, 23 Apr 2023 13:01:16 +0000 (14:01 +0100)]
Add support for PSL properties in runtime

12 months agoMissing driver for protected procedure call signal argument. Fixes #675
Nick Gasson [Sat, 22 Apr 2023 14:05:40 +0000 (15:05 +0100)]
Missing driver for protected procedure call signal argument. Fixes #675

12 months agoStack corruption with large number of arguments. Fixes #665
Nick Gasson [Sat, 22 Apr 2023 13:11:53 +0000 (14:11 +0100)]
Stack corruption with large number of arguments. Fixes #665

12 months agoBump OSVVM to 2023.04
Nick Gasson [Sat, 22 Apr 2023 13:11:37 +0000 (14:11 +0100)]
Bump OSVVM to 2023.04

12 months agoAdd script to install VUnit libraries
Nick Gasson [Sat, 22 Apr 2023 09:56:13 +0000 (10:56 +0100)]
Add script to install VUnit libraries

12 months agoEnable 64-bit integers in VHDL-2019
Nick Gasson [Sat, 22 Apr 2023 09:02:52 +0000 (10:02 +0100)]
Enable 64-bit integers in VHDL-2019

12 months agoStore array bounds as 64-bit
Nick Gasson [Sat, 22 Apr 2023 08:50:24 +0000 (09:50 +0100)]
Store array bounds as 64-bit

12 months agoChange const rep opcode to return an array
Nick Gasson [Fri, 21 Apr 2023 20:16:49 +0000 (21:16 +0100)]
Change const rep opcode to return an array

12 months agoPSL repeated SERE parsing (#673)
Blebowski [Thu, 20 Apr 2023 21:21:33 +0000 (23:21 +0200)]
PSL repeated SERE parsing (#673)

12 months agoRevert "Temporarily use nickg/vunit fork of VUnit"
Nick Gasson [Thu, 20 Apr 2023 20:05:50 +0000 (21:05 +0100)]
Revert "Temporarily use nickg/vunit fork of VUnit"

This reverts commit 077bc00bd33a9f91562c4920e2fa5eb48e07ad75.

12 months agoAdd a chained comparison JIT opcode
Nick Gasson [Thu, 20 Apr 2023 19:47:40 +0000 (20:47 +0100)]
Add a chained comparison JIT opcode

12 months agoAdd skeleton for mixed VHDL/Verilog elaboration
Nick Gasson [Sun, 16 Apr 2023 13:39:09 +0000 (14:39 +0100)]
Add skeleton for mixed VHDL/Verilog elaboration

12 months agoStore object locus instead of raw tree pointer in JIT IR
Nick Gasson [Wed, 19 Apr 2023 07:55:21 +0000 (08:55 +0100)]
Store object locus instead of raw tree pointer in JIT IR

13 months agoHandle external names in wait statements. Issue #674
Nick Gasson [Tue, 18 Apr 2023 20:06:50 +0000 (21:06 +0100)]
Handle external names in wait statements. Issue #674

13 months agoAdd a simple VITAL test
Nick Gasson [Tue, 18 Apr 2023 19:23:33 +0000 (20:23 +0100)]
Add a simple VITAL test

13 months agoOptimise range length translation where direction is a constant
Nick Gasson [Mon, 17 Apr 2023 19:50:42 +0000 (20:50 +0100)]
Optimise range length translation where direction is a constant

13 months agoOptimise identities for XOR
Nick Gasson [Mon, 17 Apr 2023 19:35:45 +0000 (20:35 +0100)]
Optimise identities for XOR

13 months agoSync fstapi.c to GtkWave ed77c770
Nick Gasson [Sun, 16 Apr 2023 20:46:09 +0000 (21:46 +0100)]
Sync fstapi.c to GtkWave ed77c770

13 months agoUse a ptr_list_t to store list of processes
Nick Gasson [Sun, 16 Apr 2023 14:30:24 +0000 (15:30 +0100)]
Use a ptr_list_t to store list of processes

13 months agoSimplify packing scheme for locations
Nick Gasson [Sun, 16 Apr 2023 08:09:54 +0000 (09:09 +0100)]
Simplify packing scheme for locations

13 months agoReduce size of serialised JIT bytecode
Nick Gasson [Sat, 15 Apr 2023 20:27:14 +0000 (21:27 +0100)]
Reduce size of serialised JIT bytecode

13 months agoOptimise array ref translation where argument is a constant
Nick Gasson [Sat, 15 Apr 2023 16:02:40 +0000 (17:02 +0100)]
Optimise array ref translation where argument is a constant

13 months agoUse a shared ZSTD context for compression/decompression
Nick Gasson [Sat, 15 Apr 2023 15:43:59 +0000 (16:43 +0100)]
Use a shared ZSTD context for compression/decompression

13 months agoCompress library files with Zstandard instead of FastLZ
Nick Gasson [Sat, 15 Apr 2023 13:07:39 +0000 (14:07 +0100)]
Compress library files with Zstandard instead of FastLZ

13 months agoSync NEWS.md from 1.9 branch
Nick Gasson [Sat, 15 Apr 2023 11:27:00 +0000 (12:27 +0100)]
Sync NEWS.md from 1.9 branch

13 months agoAdjust external test paths
Nick Gasson [Sat, 15 Apr 2023 11:23:38 +0000 (12:23 +0100)]
Adjust external test paths

13 months agoFix wrong bounds for direct mapped port. Issue #668
Nick Gasson [Sat, 15 Apr 2023 11:00:29 +0000 (12:00 +0100)]
Fix wrong bounds for direct mapped port. Issue #668

13 months agoTemporarily use nickg/vunit fork of VUnit
Nick Gasson [Sat, 15 Apr 2023 10:29:26 +0000 (11:29 +0100)]
Temporarily use nickg/vunit fork of VUnit

13 months agoFix elaboration error with recursive instantiation
Nick Gasson [Fri, 14 Apr 2023 19:35:41 +0000 (20:35 +0100)]
Fix elaboration error with recursive instantiation

13 months agoAdd an install script for Microchip Libero
Nick Gasson [Fri, 14 Apr 2023 17:01:26 +0000 (18:01 +0100)]
Add an install script for Microchip Libero

13 months agoHandle linking against ___chkstk_ms on MinGW as a special case. Issue #671
Nick Gasson [Thu, 13 Apr 2023 20:08:38 +0000 (21:08 +0100)]
Handle linking against ___chkstk_ms on MinGW as a special case. Issue #671

13 months agoAllow ; as separator in library mappings on Windows. Issue #671
Nick Gasson [Wed, 12 Apr 2023 21:14:38 +0000 (22:14 +0100)]
Allow ; as separator in library mappings on Windows. Issue #671

13 months agoFix "failed to resolve symbol memcpy" error on Windows. Issue #671
Nick Gasson [Wed, 12 Apr 2023 20:51:04 +0000 (21:51 +0100)]
Fix "failed to resolve symbol memcpy" error on Windows. Issue #671

13 months agoPass -no_fixup_chains when linking on macOS. Issue #667
Nick Gasson [Wed, 12 Apr 2023 08:24:51 +0000 (09:24 +0100)]
Pass -no_fixup_chains when linking on macOS. Issue #667

13 months agoCache 'EVENT flag for single-element signals
Nick Gasson [Tue, 11 Apr 2023 18:32:11 +0000 (19:32 +0100)]
Cache 'EVENT flag for single-element signals

13 months agoAdd a separate field for signal flags
Nick Gasson [Tue, 11 Apr 2023 18:32:11 +0000 (19:32 +0100)]
Add a separate field for signal flags

13 months agoMove composite signal offset field from sig_shared_t to rt_signal_t
Nick Gasson [Tue, 11 Apr 2023 18:32:11 +0000 (19:32 +0100)]
Move composite signal offset field from sig_shared_t to rt_signal_t

13 months agoReplace linked list of pointers with an array
Nick Gasson [Tue, 11 Apr 2023 18:32:11 +0000 (19:32 +0100)]
Replace linked list of pointers with an array

13 months agoMissing locks in some model functions
Nick Gasson [Tue, 11 Apr 2023 18:43:51 +0000 (19:43 +0100)]
Missing locks in some model functions

13 months agoHandle matching case statement in process(all). Issue #670
Nick Gasson [Mon, 10 Apr 2023 17:49:07 +0000 (18:49 +0100)]
Handle matching case statement in process(all). Issue #670

13 months agoFix bug in interpreter real to integer conversion. Issue #669
Nick Gasson [Mon, 10 Apr 2023 17:44:42 +0000 (18:44 +0100)]
Fix bug in interpreter real to integer conversion. Issue #669

13 months agoFix alignment of new TCL help options
Nick Gasson [Mon, 10 Apr 2023 16:54:20 +0000 (17:54 +0100)]
Fix alignment of new TCL help options

13 months agoFix crash elaborating subprogram in for-generate. Issue #668
Nick Gasson [Mon, 10 Apr 2023 09:55:28 +0000 (10:55 +0100)]
Fix crash elaborating subprogram in for-generate. Issue #668

13 months agoRestore TCL shell
Nick Gasson [Sat, 8 Apr 2023 15:24:22 +0000 (16:24 +0100)]
Restore TCL shell

13 months agoBump version to 1.10-devel
Nick Gasson [Sun, 9 Apr 2023 19:58:45 +0000 (20:58 +0100)]
Bump version to 1.10-devel

13 months agoAdd a generic list-of-pointers
Nick Gasson [Sat, 8 Apr 2023 16:29:37 +0000 (17:29 +0100)]
Add a generic list-of-pointers