]> git.nickg.me.uk Git - nvc.git/log
nvc.git
19 months agoAllow selected name with unconstrained type in port map. Fixes #519
Nick Gasson [Tue, 20 Sep 2022 19:51:07 +0000 (20:51 +0100)]
Allow selected name with unconstrained type in port map. Fixes #519

19 months agoUse UVVM component_list.txt in install-uvvm.sh. Fixes #531
Nick Gasson [Mon, 19 Sep 2022 20:18:27 +0000 (21:18 +0100)]
Use UVVM component_list.txt in install-uvvm.sh. Fixes #531

Co-authored-by: Adam Barnes <ambarnes@gmail.com>
19 months agoHandle partial association of subprogram signal parameter. Issue #511
Nick Gasson [Mon, 19 Sep 2022 17:36:33 +0000 (18:36 +0100)]
Handle partial association of subprogram signal parameter. Issue #511

19 months agoImprove error message when assigning to input parameter
Nick Gasson [Mon, 19 Sep 2022 16:16:55 +0000 (17:16 +0100)]
Improve error message when assigning to input parameter

19 months agoHandle partial array associations in subprogram calls
Nick Gasson [Mon, 19 Sep 2022 16:04:54 +0000 (17:04 +0100)]
Handle partial array associations in subprogram calls

19 months agoHandle procedure call with aggregate out parameter. Issue #511
Nick Gasson [Mon, 19 Sep 2022 12:27:49 +0000 (13:27 +0100)]
Handle procedure call with aggregate out parameter. Issue #511

19 months agoFix uwtable handling with LLVM 15.0
Nick Gasson [Mon, 19 Sep 2022 10:24:26 +0000 (11:24 +0100)]
Fix uwtable handling with LLVM 15.0

19 months agoFix register array name for FreeBSD/arm. Issue #534
Nick Gasson [Mon, 19 Sep 2022 08:14:38 +0000 (09:14 +0100)]
Fix register array name for FreeBSD/arm. Issue #534

19 months agoFix overload resolution with partial named arguments. Issue #532
Nick Gasson [Mon, 19 Sep 2022 08:10:38 +0000 (09:10 +0100)]
Fix overload resolution with partial named arguments. Issue #532

19 months agoFix passing signals to JIT compiled subprograms
Nick Gasson [Sun, 18 Sep 2022 21:00:16 +0000 (22:00 +0100)]
Fix passing signals to JIT compiled subprograms

19 months agoLLVM translation of more JIT opcodes
Nick Gasson [Sun, 18 Sep 2022 19:57:52 +0000 (20:57 +0100)]
LLVM translation of more JIT opcodes

19 months agoGenerate LLVM basic blocks from CFG
Nick Gasson [Sun, 18 Sep 2022 13:53:12 +0000 (14:53 +0100)]
Generate LLVM basic blocks from CFG

19 months agoConstruct control flow graph
Nick Gasson [Sun, 18 Sep 2022 11:22:15 +0000 (12:22 +0100)]
Construct control flow graph

19 months agoOptimise flags usage
Nick Gasson [Sun, 18 Sep 2022 09:05:41 +0000 (10:05 +0100)]
Optimise flags usage

19 months agoRework how comparisons/jumps work in JIT IR
Nick Gasson [Sun, 18 Sep 2022 08:12:21 +0000 (09:12 +0100)]
Rework how comparisons/jumps work in JIT IR

19 months agoLLVM IR generation for some JIT opcodes
Nick Gasson [Fri, 16 Sep 2022 21:31:37 +0000 (22:31 +0100)]
LLVM IR generation for some JIT opcodes

19 months agoSkeleton for LLVM-based JIT backend
Nick Gasson [Thu, 15 Sep 2022 21:25:38 +0000 (22:25 +0100)]
Skeleton for LLVM-based JIT backend

19 months agoFix build with LLVM 15
Nick Gasson [Thu, 15 Sep 2022 19:33:32 +0000 (20:33 +0100)]
Fix build with LLVM 15

19 months agoAdd a simple benchmarking utility
Nick Gasson [Thu, 15 Sep 2022 19:24:26 +0000 (20:24 +0100)]
Add a simple benchmarking utility

19 months agoTemporarily skip Windows tests in GitHub Actions
Nick Gasson [Wed, 14 Sep 2022 21:39:19 +0000 (22:39 +0100)]
Temporarily skip Windows tests in GitHub Actions

19 months agoUnify error handling between interpreter and native code
Nick Gasson [Wed, 14 Sep 2022 20:13:10 +0000 (21:13 +0100)]
Unify error handling between interpreter and native code

19 months agoAllow re-registering global event callback
Nick Gasson [Mon, 12 Sep 2022 21:21:03 +0000 (22:21 +0100)]
Allow re-registering global event callback

19 months agoFix bug where multiple nvc_lock_t hash to the same parking_bay_t
Nick Gasson [Mon, 12 Sep 2022 21:20:40 +0000 (22:20 +0100)]
Fix bug where multiple nvc_lock_t hash to the same parking_bay_t

19 months agoSignal indexes with non-power-of-2 alignment
Nick Gasson [Sun, 11 Sep 2022 16:27:27 +0000 (17:27 +0100)]
Signal indexes with non-power-of-2 alignment

19 months agoOptimise memory management for waveforms
Nick Gasson [Sun, 11 Sep 2022 16:01:49 +0000 (17:01 +0100)]
Optimise memory management for waveforms

20 months agoMinor optimisation to avoid iterating in split_nexus
Nick Gasson [Sun, 11 Sep 2022 12:49:35 +0000 (13:49 +0100)]
Minor optimisation to avoid iterating in split_nexus

20 months agoUse a flat lookup table for signal indexes
Nick Gasson [Sun, 11 Sep 2022 11:47:35 +0000 (12:47 +0100)]
Use a flat lookup table for signal indexes

20 months agoImprove error message for unconstrained element type
Nick Gasson [Sat, 10 Sep 2022 14:00:16 +0000 (15:00 +0100)]
Improve error message for unconstrained element type

20 months agoDo not longjmp out of model_run
Nick Gasson [Sat, 10 Sep 2022 12:42:13 +0000 (13:42 +0100)]
Do not longjmp out of model_run

20 months agoAdd --gtkw option to write GtkWave save file. Issue #526
Nick Gasson [Thu, 8 Sep 2022 18:18:18 +0000 (19:18 +0100)]
Add --gtkw option to write GtkWave save file. Issue #526

20 months agoWrap waveform dumper state in a new wave_dumper_t
Nick Gasson [Thu, 8 Sep 2022 15:38:42 +0000 (16:38 +0100)]
Wrap waveform dumper state in a new wave_dumper_t

20 months agoReplace some uses of deprecate LLVMBuildStructGEP
Nick Gasson [Thu, 8 Sep 2022 11:15:10 +0000 (12:15 +0100)]
Replace some uses of deprecate LLVMBuildStructGEP

20 months agoImplement DIR_ITEM* functions from STD.ENV
Nick Gasson [Sun, 4 Sep 2022 21:00:53 +0000 (22:00 +0100)]
Implement DIR_ITEM* functions from STD.ENV

20 months agoUse static_alloc to allocate rt_net_t
Nick Gasson [Sun, 4 Sep 2022 13:54:06 +0000 (14:54 +0100)]
Use static_alloc to allocate rt_net_t

20 months agoAdd a separate free list for waveforms
Nick Gasson [Sat, 3 Sep 2022 17:11:36 +0000 (18:11 +0100)]
Add a separate free list for waveforms

20 months agoAccidentally disabled LTO
Nick Gasson [Sat, 3 Sep 2022 17:02:53 +0000 (18:02 +0100)]
Accidentally disabled LTO

20 months agoAlign rt_source_t and rt_nexus_t on cacheline boundary
Nick Gasson [Fri, 2 Sep 2022 21:27:54 +0000 (22:27 +0100)]
Align rt_source_t and rt_nexus_t on cacheline boundary

20 months agoCreate private mapping in nvc_mmap
Nick Gasson [Fri, 2 Sep 2022 20:38:50 +0000 (21:38 +0100)]
Create private mapping in nvc_mmap

20 months agoInvalid rewriting of package generic map. Fixes #520
Nick Gasson [Fri, 2 Sep 2022 19:40:50 +0000 (20:40 +0100)]
Invalid rewriting of package generic map. Fixes #520

20 months agoRefactor rtkern.c into a new model object
Nick Gasson [Thu, 1 Sep 2022 21:26:44 +0000 (22:26 +0100)]
Refactor rtkern.c into a new model object

20 months agoRemove accidentally committed debug dump
Nick Gasson [Thu, 1 Sep 2022 20:40:33 +0000 (21:40 +0100)]
Remove accidentally committed debug dump

20 months agoSync NEWS.md from 1.7 branch
Nick Gasson [Wed, 31 Aug 2022 20:54:37 +0000 (21:54 +0100)]
Sync NEWS.md from 1.7 branch

20 months agoDetect duplicate choices in array case statement. Issue #528
Nick Gasson [Mon, 29 Aug 2022 21:43:57 +0000 (22:43 +0100)]
Detect duplicate choices in array case statement. Issue #528

20 months agoHandle alias in case expression
Nick Gasson [Mon, 29 Aug 2022 17:21:00 +0000 (18:21 +0100)]
Handle alias in case expression

20 months agoHandle side effects in pulse reject interval expression. Fixed #527
Nick Gasson [Fri, 26 Aug 2022 18:05:31 +0000 (19:05 +0100)]
Handle side effects in pulse reject interval expression. Fixed #527

20 months agoUpdate Quartus install script
Nick Gasson [Thu, 25 Aug 2022 08:05:56 +0000 (09:05 +0100)]
Update Quartus install script

Co-authored-by: Adam Barnes <ambarnes@gmail.com>
20 months agoDumping for real value signals. Issue #524
Nick Gasson [Thu, 25 Aug 2022 07:21:52 +0000 (08:21 +0100)]
Dumping for real value signals. Issue #524

20 months agoFix crash parsing string literal with enumeration subtype index type
Nick Gasson [Wed, 24 Aug 2022 21:25:19 +0000 (22:25 +0100)]
Fix crash parsing string literal with enumeration subtype index type

20 months agoInclude Git commit hash in --version output
Nick Gasson [Wed, 24 Aug 2022 21:15:52 +0000 (22:15 +0100)]
Include Git commit hash in --version output

20 months agoAdd Quartus install script
Nick Gasson [Wed, 24 Aug 2022 20:43:22 +0000 (21:43 +0100)]
Add Quartus install script

Co-authored-by: Adam Barnes <ambarnes@gmail.com>
20 months agoError with "use work.all" when work library is not named "work"
Nick Gasson [Wed, 24 Aug 2022 20:40:41 +0000 (21:40 +0100)]
Error with "use work.all" when work library is not named "work"

20 months agoFix crash with constrained array declared in entity
Nick Gasson [Wed, 24 Aug 2022 20:05:25 +0000 (21:05 +0100)]
Fix crash with constrained array declared in entity

20 months agoLLVMBasicBlockRef shared by multiple contexts. Fixes #506
Nick Gasson [Wed, 24 Aug 2022 07:22:48 +0000 (08:22 +0100)]
LLVMBasicBlockRef shared by multiple contexts. Fixes #506

20 months agoTemporary workaround for issue #506
Nick Gasson [Tue, 23 Aug 2022 22:06:07 +0000 (23:06 +0100)]
Temporary workaround for issue #506

20 months agoFix bug simplifying case statements with range choices
Nick Gasson [Tue, 23 Aug 2022 19:18:10 +0000 (20:18 +0100)]
Fix bug simplifying case statements with range choices

20 months agoPrefix for debug messages should be "debug". Fixes #523
Nick Gasson [Tue, 23 Aug 2022 19:19:23 +0000 (20:19 +0100)]
Prefix for debug messages should be "debug". Fixes #523

20 months agoAvoid evaluating generic map expressions multiple times
Nick Gasson [Tue, 23 Aug 2022 07:33:03 +0000 (08:33 +0100)]
Avoid evaluating generic map expressions multiple times

20 months agoStart replacing some deprecated LLVM functions
Nick Gasson [Sun, 21 Aug 2022 09:37:14 +0000 (10:37 +0100)]
Start replacing some deprecated LLVM functions

20 months agoBump minimum LLVM version to 8.0
Nick Gasson [Sun, 21 Aug 2022 09:22:30 +0000 (10:22 +0100)]
Bump minimum LLVM version to 8.0

20 months agoOnly check file modification time once
Nick Gasson [Sat, 20 Aug 2022 20:42:53 +0000 (21:42 +0100)]
Only check file modification time once

20 months agoAdd opcodes for scalar to string conversion
Nick Gasson [Sat, 20 Aug 2022 19:55:29 +0000 (20:55 +0100)]
Add opcodes for scalar to string conversion

20 months agoDedicated vcode opcodes for string conversions
Nick Gasson [Sat, 20 Aug 2022 17:22:52 +0000 (18:22 +0100)]
Dedicated vcode opcodes for string conversions

20 months agoIncorrect behaviour of resolution functions with nested records. Issue #516
Nick Gasson [Wed, 17 Aug 2022 18:11:39 +0000 (19:11 +0100)]
Incorrect behaviour of resolution functions with nested records. Issue #516

20 months agoAvoid unnecessary copy on output of resolution function
Nick Gasson [Sat, 20 Aug 2022 09:32:35 +0000 (10:32 +0100)]
Avoid unnecessary copy on output of resolution function

20 months agoFix build with old versions of Glibc
Nick Gasson [Sat, 20 Aug 2022 07:47:39 +0000 (08:47 +0100)]
Fix build with old versions of Glibc

20 months agoIncorrect code generation with array type declared in function
Nick Gasson [Fri, 19 Aug 2022 21:23:53 +0000 (22:23 +0100)]
Incorrect code generation with array type declared in function

20 months agoAlways build VITAL on Windows
Nick Gasson [Fri, 19 Aug 2022 20:03:18 +0000 (21:03 +0100)]
Always build VITAL on Windows

20 months agoUpdate Vivado compile script to use new --install framework
Nick Gasson [Fri, 19 Aug 2022 20:02:33 +0000 (21:02 +0100)]
Update Vivado compile script to use new --install framework

20 months agoImplement working directory functions from VHDL-2019
Nick Gasson [Thu, 18 Aug 2022 21:15:23 +0000 (22:15 +0100)]
Implement working directory functions from VHDL-2019

20 months agoExternal names with record signals. Fixes #520
Nick Gasson [Thu, 18 Aug 2022 13:22:36 +0000 (14:22 +0100)]
External names with record signals. Fixes #520

20 months agoBug in simplification of wait until statement with no sensitivity list
Nick Gasson [Wed, 17 Aug 2022 17:24:05 +0000 (18:24 +0100)]
Bug in simplification of wait until statement with no sensitivity list

20 months agoFix crash with expressions like X'DELAYED'STABLE. Issue #517
Nick Gasson [Wed, 17 Aug 2022 16:54:20 +0000 (17:54 +0100)]
Fix crash with expressions like X'DELAYED'STABLE. Issue #517

20 months agoIncrease default delta cycle limit to 10000. Issue #521
Nick Gasson [Wed, 17 Aug 2022 12:52:45 +0000 (13:52 +0100)]
Increase default delta cycle limit to 10000. Issue #521

20 months agoCrash with type conversion in generic map. Fixes #518
Nick Gasson [Tue, 16 Aug 2022 20:47:48 +0000 (21:47 +0100)]
Crash with type conversion in generic map. Fixes #518

20 months agoFix regression of ctrl-C interrupt handling
Nick Gasson [Tue, 16 Aug 2022 20:40:14 +0000 (21:40 +0100)]
Fix regression of ctrl-C interrupt handling

20 months agoFix crash after out-of-memory. Issue #515
Nick Gasson [Tue, 16 Aug 2022 20:12:28 +0000 (21:12 +0100)]
Fix crash after out-of-memory. Issue #515

20 months agoImprove dumping for qualified expressions
Nick Gasson [Tue, 16 Aug 2022 20:11:40 +0000 (21:11 +0100)]
Improve dumping for qualified expressions

20 months agoBasic support for partial record association in parameter map. Issue #511
Nick Gasson [Tue, 16 Aug 2022 10:15:19 +0000 (11:15 +0100)]
Basic support for partial record association in parameter map. Issue #511

20 months agoRefactor subprogram call argument checking
Nick Gasson [Mon, 15 Aug 2022 20:55:57 +0000 (21:55 +0100)]
Refactor subprogram call argument checking

20 months agoMove some STD.STANDARD functions to a separate file
Nick Gasson [Mon, 15 Aug 2022 13:56:51 +0000 (14:56 +0100)]
Move some STD.STANDARD functions to a separate file

20 months agoFix memory leak when forcing signals
Nick Gasson [Mon, 15 Aug 2022 13:49:22 +0000 (14:49 +0100)]
Fix memory leak when forcing signals

20 months agoImprove folding of for-generate expressions. Issue #514
Nick Gasson [Sun, 14 Aug 2022 13:05:02 +0000 (14:05 +0100)]
Improve folding of for-generate expressions. Issue #514

20 months agoMove some runtime error handlers to src/jit
Nick Gasson [Sat, 13 Aug 2022 15:03:22 +0000 (16:03 +0100)]
Move some runtime error handlers to src/jit

20 months agoMove some generic runtime helpers to src/jit
Nick Gasson [Sun, 7 Aug 2022 19:27:35 +0000 (20:27 +0100)]
Move some generic runtime helpers to src/jit

20 months agoFix crash reading resolved value of record signal. Issue #502
Nick Gasson [Sat, 13 Aug 2022 08:20:18 +0000 (09:20 +0100)]
Fix crash reading resolved value of record signal. Issue #502

20 months agoImplement STD.ENV.GMTIME
Nick Gasson [Fri, 12 Aug 2022 21:02:38 +0000 (22:02 +0100)]
Implement STD.ENV.GMTIME

20 months agoAdd support for else and elsif in generate statements. Issue #510
Nick Gasson [Fri, 12 Aug 2022 20:45:43 +0000 (21:45 +0100)]
Add support for else and elsif in generate statements. Issue #510

20 months agoRefactoring before adding else-generate
Nick Gasson [Fri, 12 Aug 2022 20:01:38 +0000 (21:01 +0100)]
Refactoring before adding else-generate

20 months agoMissing dependency of IEEE.STD_LOGIC_MISC on SYNOPSYS.ATTRIBUTES
Nick Gasson [Fri, 12 Aug 2022 18:21:32 +0000 (19:21 +0100)]
Missing dependency of IEEE.STD_LOGIC_MISC on SYNOPSYS.ATTRIBUTES

20 months agoLowering for 'ELEMENT attribute. Fixes #508
Nick Gasson [Fri, 12 Aug 2022 07:45:06 +0000 (08:45 +0100)]
Lowering for 'ELEMENT attribute. Fixes #508

21 months agoAdd --no-save option to not persist elaborated design. Issue 507
Nick Gasson [Thu, 11 Aug 2022 21:00:42 +0000 (22:00 +0100)]
Add --no-save option to not persist elaborated design. Issue 507

21 months agoFix crash with recursive entity instantiation. Issue #502
Nick Gasson [Thu, 11 Aug 2022 20:23:44 +0000 (21:23 +0100)]
Fix crash with recursive entity instantiation. Issue #502

21 months agoRegenerate dependencies for STD.ENV
Nick Gasson [Thu, 11 Aug 2022 08:16:10 +0000 (09:16 +0100)]
Regenerate dependencies for STD.ENV

21 months agoRefactor lower_context_for_call. Issue #502
Nick Gasson [Wed, 10 Aug 2022 21:49:59 +0000 (22:49 +0100)]
Refactor lower_context_for_call. Issue #502

21 months agoFix off by one for FreeBSD/powerpc* (#504)
pkubaj [Wed, 10 Aug 2022 21:45:14 +0000 (21:45 +0000)]
Fix off by one for FreeBSD/powerpc* (#504)

There are actually 32 GPR on POWER architecture.

21 months agoImplement fill_cpu_state for FreeBSD/i386. Issue #501
Nick Gasson [Wed, 10 Aug 2022 18:26:46 +0000 (19:26 +0100)]
Implement fill_cpu_state for FreeBSD/i386. Issue #501

21 months agoImplement EPOCH and LOCALTIME
Nick Gasson [Wed, 10 Aug 2022 08:07:52 +0000 (09:07 +0100)]
Implement EPOCH and LOCALTIME

21 months agoAdd support for FreeBSD/powerpc* (#503)
pkubaj [Wed, 10 Aug 2022 17:14:36 +0000 (17:14 +0000)]
Add support for FreeBSD/powerpc* (#503)

21 months agoImplement some more miscellaneous STD.ENV functions
Nick Gasson [Mon, 8 Aug 2022 22:24:18 +0000 (23:24 +0100)]
Implement some more miscellaneous STD.ENV functions

21 months agoImplement GETENV function
Nick Gasson [Mon, 8 Aug 2022 22:08:25 +0000 (23:08 +0100)]
Implement GETENV function