]>
git.nickg.me.uk Git - nvc.git/log
Nick Gasson [Fri, 30 Sep 2022 20:44:36 +0000 (21:44 +0100)]
Hack to allow interpreter to be called with FFI protocol
Nick Gasson [Wed, 28 Sep 2022 20:50:19 +0000 (21:50 +0100)]
Pass JIT handle instead of raw function pointer with closure
Nick Gasson [Tue, 27 Sep 2022 21:09:52 +0000 (22:09 +0100)]
Convert Windows to Unix path in install-vivado.sh. Issue #537
Nick Gasson [Tue, 27 Sep 2022 21:08:36 +0000 (22:08 +0100)]
Fix division by zero error handling in interpreter
Nick Gasson [Mon, 26 Sep 2022 21:21:04 +0000 (22:21 +0100)]
FST dumping for arrays of integer. Fixes #536
Nick Gasson [Sun, 25 Sep 2022 20:46:13 +0000 (21:46 +0100)]
JIT IR generation for last event/active
Nick Gasson [Sun, 25 Sep 2022 20:33:56 +0000 (21:33 +0100)]
Add stub for resolve signal opcode in JIT
Nick Gasson [Sun, 25 Sep 2022 17:21:36 +0000 (18:21 +0100)]
Remove INIT_SIGNALS exit
Nick Gasson [Sun, 25 Sep 2022 10:39:59 +0000 (11:39 +0100)]
LLVM generation for JIT call ops
Nick Gasson [Sat, 24 Sep 2022 17:31:27 +0000 (18:31 +0100)]
Use liveness information to generate LLVM IR
Nick Gasson [Sat, 24 Sep 2022 14:18:47 +0000 (15:18 +0100)]
Add liveness computation for JIT registers
Nick Gasson [Sat, 24 Sep 2022 13:11:46 +0000 (14:11 +0100)]
Fix JIT bug with arrays of signals
Nick Gasson [Sat, 24 Sep 2022 12:02:44 +0000 (13:02 +0100)]
Fix storing/loading signal uarrays
Nick Gasson [Sat, 24 Sep 2022 10:46:29 +0000 (11:46 +0100)]
Interleave JIT dump with vcode
Nick Gasson [Thu, 22 Sep 2022 21:14:50 +0000 (22:14 +0100)]
Fix sorting of diagnostics
Nick Gasson [Thu, 22 Sep 2022 20:57:40 +0000 (21:57 +0100)]
Fix map const in interpreter
Nick Gasson [Wed, 21 Sep 2022 21:05:07 +0000 (22:05 +0100)]
Fixes for interpreter stack trace
Nick Gasson [Wed, 21 Sep 2022 20:22:49 +0000 (21:22 +0100)]
Add a test for pulse rejection limit
Nick Gasson [Wed, 21 Sep 2022 20:07:56 +0000 (21:07 +0100)]
Relax handling of alias subtype for UVVM. Fixes #509
Nick Gasson [Tue, 20 Sep 2022 20:30:10 +0000 (21:30 +0100)]
Add unit test for signal index
Nick Gasson [Tue, 20 Sep 2022 19:51:07 +0000 (20:51 +0100)]
Allow selected name with unconstrained type in port map. Fixes #519
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>
Nick Gasson [Mon, 19 Sep 2022 17:36:33 +0000 (18:36 +0100)]
Handle partial association of subprogram signal parameter. Issue #511
Nick Gasson [Mon, 19 Sep 2022 16:16:55 +0000 (17:16 +0100)]
Improve error message when assigning to input parameter
Nick Gasson [Mon, 19 Sep 2022 16:04:54 +0000 (17:04 +0100)]
Handle partial array associations in subprogram calls
Nick Gasson [Mon, 19 Sep 2022 12:27:49 +0000 (13:27 +0100)]
Handle procedure call with aggregate out parameter. Issue #511
Nick Gasson [Mon, 19 Sep 2022 10:24:26 +0000 (11:24 +0100)]
Fix uwtable handling with LLVM 15.0
Nick Gasson [Mon, 19 Sep 2022 08:14:38 +0000 (09:14 +0100)]
Fix register array name for FreeBSD/arm. Issue #534
Nick Gasson [Mon, 19 Sep 2022 08:10:38 +0000 (09:10 +0100)]
Fix overload resolution with partial named arguments. Issue #532
Nick Gasson [Sun, 18 Sep 2022 21:00:16 +0000 (22:00 +0100)]
Fix passing signals to JIT compiled subprograms
Nick Gasson [Sun, 18 Sep 2022 19:57:52 +0000 (20:57 +0100)]
LLVM translation of more JIT opcodes
Nick Gasson [Sun, 18 Sep 2022 13:53:12 +0000 (14:53 +0100)]
Generate LLVM basic blocks from CFG
Nick Gasson [Sun, 18 Sep 2022 11:22:15 +0000 (12:22 +0100)]
Construct control flow graph
Nick Gasson [Sun, 18 Sep 2022 09:05:41 +0000 (10:05 +0100)]
Optimise flags usage
Nick Gasson [Sun, 18 Sep 2022 08:12:21 +0000 (09:12 +0100)]
Rework how comparisons/jumps work in JIT IR
Nick Gasson [Fri, 16 Sep 2022 21:31:37 +0000 (22:31 +0100)]
LLVM IR generation for some JIT opcodes
Nick Gasson [Thu, 15 Sep 2022 21:25:38 +0000 (22:25 +0100)]
Skeleton for LLVM-based JIT backend
Nick Gasson [Thu, 15 Sep 2022 19:33:32 +0000 (20:33 +0100)]
Fix build with LLVM 15
Nick Gasson [Thu, 15 Sep 2022 19:24:26 +0000 (20:24 +0100)]
Add a simple benchmarking utility
Nick Gasson [Wed, 14 Sep 2022 21:39:19 +0000 (22:39 +0100)]
Temporarily skip Windows tests in GitHub Actions
Nick Gasson [Wed, 14 Sep 2022 20:13:10 +0000 (21:13 +0100)]
Unify error handling between interpreter and native code
Nick Gasson [Mon, 12 Sep 2022 21:21:03 +0000 (22:21 +0100)]
Allow re-registering global event callback
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
Nick Gasson [Sun, 11 Sep 2022 16:27:27 +0000 (17:27 +0100)]
Signal indexes with non-power-of-2 alignment
Nick Gasson [Sun, 11 Sep 2022 16:01:49 +0000 (17:01 +0100)]
Optimise memory management for waveforms
Nick Gasson [Sun, 11 Sep 2022 12:49:35 +0000 (13:49 +0100)]
Minor optimisation to avoid iterating in split_nexus
Nick Gasson [Sun, 11 Sep 2022 11:47:35 +0000 (12:47 +0100)]
Use a flat lookup table for signal indexes
Nick Gasson [Sat, 10 Sep 2022 14:00:16 +0000 (15:00 +0100)]
Improve error message for unconstrained element type
Nick Gasson [Sat, 10 Sep 2022 12:42:13 +0000 (13:42 +0100)]
Do not longjmp out of model_run
Nick Gasson [Thu, 8 Sep 2022 18:18:18 +0000 (19:18 +0100)]
Add --gtkw option to write GtkWave save file. Issue #526
Nick Gasson [Thu, 8 Sep 2022 15:38:42 +0000 (16:38 +0100)]
Wrap waveform dumper state in a new wave_dumper_t
Nick Gasson [Thu, 8 Sep 2022 11:15:10 +0000 (12:15 +0100)]
Replace some uses of deprecate LLVMBuildStructGEP
Nick Gasson [Sun, 4 Sep 2022 21:00:53 +0000 (22:00 +0100)]
Implement DIR_ITEM* functions from STD.ENV
Nick Gasson [Sun, 4 Sep 2022 13:54:06 +0000 (14:54 +0100)]
Use static_alloc to allocate rt_net_t
Nick Gasson [Sat, 3 Sep 2022 17:11:36 +0000 (18:11 +0100)]
Add a separate free list for waveforms
Nick Gasson [Sat, 3 Sep 2022 17:02:53 +0000 (18:02 +0100)]
Accidentally disabled LTO
Nick Gasson [Fri, 2 Sep 2022 21:27:54 +0000 (22:27 +0100)]
Align rt_source_t and rt_nexus_t on cacheline boundary
Nick Gasson [Fri, 2 Sep 2022 20:38:50 +0000 (21:38 +0100)]
Create private mapping in nvc_mmap
Nick Gasson [Fri, 2 Sep 2022 19:40:50 +0000 (20:40 +0100)]
Invalid rewriting of package generic map. Fixes #520
Nick Gasson [Thu, 1 Sep 2022 21:26:44 +0000 (22:26 +0100)]
Refactor rtkern.c into a new model object
Nick Gasson [Thu, 1 Sep 2022 20:40:33 +0000 (21:40 +0100)]
Remove accidentally committed debug dump
Nick Gasson [Wed, 31 Aug 2022 20:54:37 +0000 (21:54 +0100)]
Sync NEWS.md from 1.7 branch
Nick Gasson [Mon, 29 Aug 2022 21:43:57 +0000 (22:43 +0100)]
Detect duplicate choices in array case statement. Issue #528
Nick Gasson [Mon, 29 Aug 2022 17:21:00 +0000 (18:21 +0100)]
Handle alias in case expression
Nick Gasson [Fri, 26 Aug 2022 18:05:31 +0000 (19:05 +0100)]
Handle side effects in pulse reject interval expression. Fixed #527
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>
Nick Gasson [Thu, 25 Aug 2022 07:21:52 +0000 (08:21 +0100)]
Dumping for real value signals. Issue #524
Nick Gasson [Wed, 24 Aug 2022 21:25:19 +0000 (22:25 +0100)]
Fix crash parsing string literal with enumeration subtype index type
Nick Gasson [Wed, 24 Aug 2022 21:15:52 +0000 (22:15 +0100)]
Include Git commit hash in --version output
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>
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"
Nick Gasson [Wed, 24 Aug 2022 20:05:25 +0000 (21:05 +0100)]
Fix crash with constrained array declared in entity
Nick Gasson [Wed, 24 Aug 2022 07:22:48 +0000 (08:22 +0100)]
LLVMBasicBlockRef shared by multiple contexts. Fixes #506
Nick Gasson [Tue, 23 Aug 2022 22:06:07 +0000 (23:06 +0100)]
Temporary workaround for issue #506
Nick Gasson [Tue, 23 Aug 2022 19:18:10 +0000 (20:18 +0100)]
Fix bug simplifying case statements with range choices
Nick Gasson [Tue, 23 Aug 2022 19:19:23 +0000 (20:19 +0100)]
Prefix for debug messages should be "debug". Fixes #523
Nick Gasson [Tue, 23 Aug 2022 07:33:03 +0000 (08:33 +0100)]
Avoid evaluating generic map expressions multiple times
Nick Gasson [Sun, 21 Aug 2022 09:37:14 +0000 (10:37 +0100)]
Start replacing some deprecated LLVM functions
Nick Gasson [Sun, 21 Aug 2022 09:22:30 +0000 (10:22 +0100)]
Bump minimum LLVM version to 8.0
Nick Gasson [Sat, 20 Aug 2022 20:42:53 +0000 (21:42 +0100)]
Only check file modification time once
Nick Gasson [Sat, 20 Aug 2022 19:55:29 +0000 (20:55 +0100)]
Add opcodes for scalar to string conversion
Nick Gasson [Sat, 20 Aug 2022 17:22:52 +0000 (18:22 +0100)]
Dedicated vcode opcodes for string conversions
Nick Gasson [Wed, 17 Aug 2022 18:11:39 +0000 (19:11 +0100)]
Incorrect behaviour of resolution functions with nested records. Issue #516
Nick Gasson [Sat, 20 Aug 2022 09:32:35 +0000 (10:32 +0100)]
Avoid unnecessary copy on output of resolution function
Nick Gasson [Sat, 20 Aug 2022 07:47:39 +0000 (08:47 +0100)]
Fix build with old versions of Glibc
Nick Gasson [Fri, 19 Aug 2022 21:23:53 +0000 (22:23 +0100)]
Incorrect code generation with array type declared in function
Nick Gasson [Fri, 19 Aug 2022 20:03:18 +0000 (21:03 +0100)]
Always build VITAL on Windows
Nick Gasson [Fri, 19 Aug 2022 20:02:33 +0000 (21:02 +0100)]
Update Vivado compile script to use new --install framework
Nick Gasson [Thu, 18 Aug 2022 21:15:23 +0000 (22:15 +0100)]
Implement working directory functions from VHDL-2019
Nick Gasson [Thu, 18 Aug 2022 13:22:36 +0000 (14:22 +0100)]
External names with record signals. Fixes #520
Nick Gasson [Wed, 17 Aug 2022 17:24:05 +0000 (18:24 +0100)]
Bug in simplification of wait until statement with no sensitivity list
Nick Gasson [Wed, 17 Aug 2022 16:54:20 +0000 (17:54 +0100)]
Fix crash with expressions like X'DELAYED'STABLE. Issue #517
Nick Gasson [Wed, 17 Aug 2022 12:52:45 +0000 (13:52 +0100)]
Increase default delta cycle limit to 10000. Issue #521
Nick Gasson [Tue, 16 Aug 2022 20:47:48 +0000 (21:47 +0100)]
Crash with type conversion in generic map. Fixes #518
Nick Gasson [Tue, 16 Aug 2022 20:40:14 +0000 (21:40 +0100)]
Fix regression of ctrl-C interrupt handling
Nick Gasson [Tue, 16 Aug 2022 20:12:28 +0000 (21:12 +0100)]
Fix crash after out-of-memory. Issue #515
Nick Gasson [Tue, 16 Aug 2022 20:11:40 +0000 (21:11 +0100)]
Improve dumping for qualified expressions
Nick Gasson [Tue, 16 Aug 2022 10:15:19 +0000 (11:15 +0100)]
Basic support for partial record association in parameter map. Issue #511
Nick Gasson [Mon, 15 Aug 2022 20:55:57 +0000 (21:55 +0100)]
Refactor subprogram call argument checking
Nick Gasson [Mon, 15 Aug 2022 13:56:51 +0000 (14:56 +0100)]
Move some STD.STANDARD functions to a separate file