]> git.nickg.me.uk Git - nvc.git/log
nvc.git
2 years agoHacky WIP multithreaded sim multithread
Nick Gasson [Wed, 27 Oct 2021 09:51:06 +0000 (17:51 +0800)]
Hacky WIP multithreaded sim

2 years agoAdd thread and mutex wrapper functions
Nick Gasson [Fri, 29 Oct 2021 02:53:57 +0000 (10:53 +0800)]
Add thread and mutex wrapper functions

2 years agoUse only signal-safe functions in rt_interrupt
Nick Gasson [Thu, 28 Oct 2021 09:31:14 +0000 (17:31 +0800)]
Use only signal-safe functions in rt_interrupt

2 years agoAdd atomic primitives
Nick Gasson [Wed, 27 Oct 2021 09:32:54 +0000 (17:32 +0800)]
Add atomic primitives

2 years agoMake _tmp_stack and _tmp_alloc thread local
Nick Gasson [Wed, 27 Oct 2021 09:27:20 +0000 (17:27 +0800)]
Make _tmp_stack and _tmp_alloc thread local

2 years agoRemove old workaround for lack of CLOCK_MONOTONIC on OS X
Nick Gasson [Fri, 29 Oct 2021 14:44:38 +0000 (22:44 +0800)]
Remove old workaround for lack of CLOCK_MONOTONIC on OS X

2 years agoAdd a configure option to enable thread sanitizer
Nick Gasson [Wed, 27 Oct 2021 09:25:13 +0000 (17:25 +0800)]
Add a configure option to enable thread sanitizer

2 years agoAdd another file I/O test
Nick Gasson [Mon, 15 Nov 2021 03:45:42 +0000 (11:45 +0800)]
Add another file I/O test

2 years agoFix binding of "all" block configuration
Nick Gasson [Sun, 14 Nov 2021 13:25:55 +0000 (21:25 +0800)]
Fix binding of "all" block configuration

2 years agoFix eopt error when vcode not loaded
Nick Gasson [Sun, 14 Nov 2021 07:06:43 +0000 (15:06 +0800)]
Fix eopt error when vcode not loaded

2 years agoSupport nested block configuration
Nick Gasson [Sun, 14 Nov 2021 06:59:45 +0000 (14:59 +0800)]
Support nested block configuration

2 years agoAdd another configuration test
Nick Gasson [Sun, 14 Nov 2021 06:46:49 +0000 (14:46 +0800)]
Add another configuration test

2 years agoElaboration of configurations. Issue #372
Nick Gasson [Sun, 14 Nov 2021 06:44:25 +0000 (14:44 +0800)]
Elaboration of configurations. Issue #372

2 years agoMove FFI code for conversion functions to a separate module
Nick Gasson [Sun, 14 Nov 2021 04:25:39 +0000 (12:25 +0800)]
Move FFI code for conversion functions to a separate module

2 years agoHandle case where component port order does not match entity
Nick Gasson [Sun, 14 Nov 2021 03:30:15 +0000 (11:30 +0800)]
Handle case where component port order does not match entity

2 years agoUpdate README.md
Nick Gasson [Sat, 13 Nov 2021 14:58:44 +0000 (22:58 +0800)]
Update README.md

2 years agoFix address sanitizer error
Nick Gasson [Sat, 13 Nov 2021 14:50:06 +0000 (22:50 +0800)]
Fix address sanitizer error

2 years agoMove conversion function closure out of rt_source_t
Nick Gasson [Sat, 13 Nov 2021 14:21:02 +0000 (22:21 +0800)]
Move conversion function closure out of rt_source_t

2 years agoFix 'EVENT and 'ACTIVE with inout ports
Nick Gasson [Sat, 13 Nov 2021 13:45:18 +0000 (21:45 +0800)]
Fix 'EVENT and 'ACTIVE with inout ports

2 years agoFix behaviour of inout ports
Nick Gasson [Sat, 13 Nov 2021 06:00:42 +0000 (14:00 +0800)]
Fix behaviour of inout ports

2 years agoAvoid repeated driver updates
Nick Gasson [Wed, 10 Nov 2021 14:36:15 +0000 (22:36 +0800)]
Avoid repeated driver updates

2 years agoFix misleading trace message
Nick Gasson [Wed, 10 Nov 2021 14:13:24 +0000 (22:13 +0800)]
Fix misleading trace message

2 years agoMicro optimisation to _sched_waveform
Nick Gasson [Wed, 10 Nov 2021 13:03:55 +0000 (21:03 +0800)]
Micro optimisation to _sched_waveform

2 years agoNo need to call rt_update_inputs from rt_update_driver
Nick Gasson [Wed, 10 Nov 2021 13:03:55 +0000 (21:03 +0800)]
No need to call rt_update_inputs from rt_update_driver

2 years agoAvoid searching for source in rt_update_driver
Nick Gasson [Sun, 7 Nov 2021 14:33:30 +0000 (22:33 +0800)]
Avoid searching for source in rt_update_driver

2 years agoSkip input update for rank zero
Nick Gasson [Sun, 7 Nov 2021 14:19:20 +0000 (22:19 +0800)]
Skip input update for rank zero

2 years agoEager nexus update
Nick Gasson [Sun, 7 Nov 2021 13:38:53 +0000 (21:38 +0800)]
Eager nexus update

2 years agoUse heap for nexuses with rank greater than zero
Nick Gasson [Sun, 7 Nov 2021 13:33:53 +0000 (21:33 +0800)]
Use heap for nexuses with rank greater than zero

2 years agoInline heap_size
Nick Gasson [Sun, 7 Nov 2021 13:27:12 +0000 (21:27 +0800)]
Inline heap_size

2 years agoCollapse ports in more cases
Nick Gasson [Sun, 7 Nov 2021 13:17:48 +0000 (21:17 +0800)]
Collapse ports in more cases

2 years agoOptimise 'ACTIVE and 'EVENT calculation
Nick Gasson [Sun, 7 Nov 2021 12:50:47 +0000 (20:50 +0800)]
Optimise 'ACTIVE and 'EVENT calculation

2 years agoFix eopt unit tests
Nick Gasson [Sun, 7 Nov 2021 10:01:27 +0000 (18:01 +0800)]
Fix eopt unit tests

2 years agoPort collapsing optimisation
Nick Gasson [Sun, 7 Nov 2021 09:10:54 +0000 (17:10 +0800)]
Port collapsing optimisation

2 years agoIntroduce port abstraction in elaboration and runtime
Nick Gasson [Sat, 30 Oct 2021 15:08:00 +0000 (23:08 +0800)]
Introduce port abstraction in elaboration and runtime

2 years agoFix wrong debug info for subprograms in architecture body
Nick Gasson [Wed, 10 Nov 2021 13:33:48 +0000 (21:33 +0800)]
Fix wrong debug info for subprograms in architecture body

2 years agoFix wrong data in multidimensional array aggregate
Nick Gasson [Fri, 5 Nov 2021 14:30:41 +0000 (22:30 +0800)]
Fix wrong data in multidimensional array aggregate

2 years agoFix sem crash following syntax error
Nick Gasson [Fri, 5 Nov 2021 13:18:06 +0000 (21:18 +0800)]
Fix sem crash following syntax error

2 years agoFix bit_vector read with whitespace
Nick Gasson [Fri, 5 Nov 2021 13:18:06 +0000 (21:18 +0800)]
Fix bit_vector read with whitespace

2 years agoAdd an option to disable IEEE warnings
Nick Gasson [Fri, 5 Nov 2021 13:18:06 +0000 (21:18 +0800)]
Add an option to disable IEEE warnings

2 years agoImprove error with attributes in VHDL-93 package body
Nick Gasson [Fri, 5 Nov 2021 13:18:06 +0000 (21:18 +0800)]
Improve error with attributes in VHDL-93 package body

2 years agoFix format buffer overflow in fmt_nexus_r
Nick Gasson [Fri, 5 Nov 2021 13:18:06 +0000 (21:18 +0800)]
Fix format buffer overflow in fmt_nexus_r

2 years agoOptimise LSB calculation in eopt_post_process_nexus
Nick Gasson [Fri, 5 Nov 2021 13:18:06 +0000 (21:18 +0800)]
Optimise LSB calculation in eopt_post_process_nexus

2 years agoSimplify nexus update
Nick Gasson [Sat, 30 Oct 2021 13:48:33 +0000 (21:48 +0800)]
Simplify nexus update

2 years agoMore improvements to configuration parsing and checking
Nick Gasson [Sat, 30 Oct 2021 04:23:36 +0000 (12:23 +0800)]
More improvements to configuration parsing and checking

2 years agoAdd tree_primary as link between primary and secondary units
Nick Gasson [Sat, 30 Oct 2021 02:05:34 +0000 (10:05 +0800)]
Add tree_primary as link between primary and secondary units

2 years agoFix issues with resolved arrays
Nick Gasson [Sat, 30 Oct 2021 00:13:44 +0000 (08:13 +0800)]
Fix issues with resolved arrays

2 years agoDisable the separate signal stack
Nick Gasson [Sat, 30 Oct 2021 00:13:44 +0000 (08:13 +0800)]
Disable the separate signal stack

2 years agoMissing bounds checks for generics. Fixes #228
Nick Gasson [Sat, 30 Oct 2021 00:13:44 +0000 (08:13 +0800)]
Missing bounds checks for generics. Fixes #228

2 years agoImprovements to aggregate variable/signal assignment
Nick Gasson [Sat, 30 Oct 2021 00:13:44 +0000 (08:13 +0800)]
Improvements to aggregate variable/signal assignment

2 years agoStore eopt data with elaborated tree
Nick Gasson [Mon, 25 Oct 2021 15:12:19 +0000 (23:12 +0800)]
Store eopt data with elaborated tree

2 years agoMore friendly message is a dependent object cannot be found
Nick Gasson [Mon, 25 Oct 2021 14:27:52 +0000 (22:27 +0800)]
More friendly message is a dependent object cannot be found

2 years agoVarious OpenBSD fixes
Nick Gasson [Mon, 25 Oct 2021 13:25:32 +0000 (21:25 +0800)]
Various OpenBSD fixes

2 years agoFix various bugs with pointers to arrays
Nick Gasson [Mon, 25 Oct 2021 13:00:29 +0000 (21:00 +0800)]
Fix various bugs with pointers to arrays

2 years agoFix crash with alias of array
Nick Gasson [Mon, 25 Oct 2021 13:00:29 +0000 (21:00 +0800)]
Fix crash with alias of array

2 years agoFix textio read with uppercase time constants
Nick Gasson [Mon, 25 Oct 2021 13:00:29 +0000 (21:00 +0800)]
Fix textio read with uppercase time constants

2 years agoTrack bounds of function call result
Nick Gasson [Mon, 25 Oct 2021 13:00:29 +0000 (21:00 +0800)]
Track bounds of function call result

2 years agoFix out of memory with range choice in case statement
Nick Gasson [Mon, 25 Oct 2021 13:00:29 +0000 (21:00 +0800)]
Fix out of memory with range choice in case statement

2 years agoImprovements to VESTS test runner
Nick Gasson [Mon, 25 Oct 2021 13:00:29 +0000 (21:00 +0800)]
Improvements to VESTS test runner

2 years agoSpurious error with potentially visible homograph
Nick Gasson [Mon, 25 Oct 2021 13:00:29 +0000 (21:00 +0800)]
Spurious error with potentially visible homograph

2 years agoMissing simplification rules for some logical identities
Nick Gasson [Sun, 24 Oct 2021 13:27:01 +0000 (21:27 +0800)]
Missing simplification rules for some logical identities

2 years agoFix crash with array-of-record port
Nick Gasson [Sun, 24 Oct 2021 13:14:31 +0000 (21:14 +0800)]
Fix crash with array-of-record port

2 years agoFix crash when concatenating records
Nick Gasson [Sun, 24 Oct 2021 13:08:09 +0000 (21:08 +0800)]
Fix crash when concatenating records

2 years agoImprove parsing of configurations. Issue #372
Nick Gasson [Sun, 24 Oct 2021 12:57:23 +0000 (20:57 +0800)]
Improve parsing of configurations. Issue #372

2 years agoRename PATH_SEP to DIR_SEP
Nick Gasson [Sun, 24 Oct 2021 06:08:31 +0000 (14:08 +0800)]
Rename PATH_SEP to DIR_SEP

2 years agoUse temporary directory for regression test results
Nick Gasson [Sun, 24 Oct 2021 06:06:03 +0000 (14:06 +0800)]
Use temporary directory for regression test results

2 years agoFix bug with library directory mapping
Nick Gasson [Sun, 24 Oct 2021 04:40:13 +0000 (12:40 +0800)]
Fix bug with library directory mapping

2 years agoRemove unused object, pointer, and string attributes
Nick Gasson [Sun, 24 Oct 2021 02:40:09 +0000 (10:40 +0800)]
Remove unused object, pointer, and string attributes

2 years agoStop using tree attributes for range check elimination
Nick Gasson [Sun, 24 Oct 2021 02:29:39 +0000 (10:29 +0800)]
Stop using tree attributes for range check elimination

2 years agoUpdate run_vests.rb to actually run the test
Nick Gasson [Sat, 23 Oct 2021 15:34:40 +0000 (23:34 +0800)]
Update run_vests.rb to actually run the test

2 years agoRemove unreachable statement warning
Nick Gasson [Sat, 23 Oct 2021 14:54:47 +0000 (22:54 +0800)]
Remove unreachable statement warning

2 years agoRemove unused configuration code
Nick Gasson [Sat, 23 Oct 2021 14:53:25 +0000 (22:53 +0800)]
Remove unused configuration code

2 years agoInstall libraries under lib/ instead of share/
Nick Gasson [Sat, 23 Oct 2021 09:56:10 +0000 (17:56 +0800)]
Install libraries under lib/ instead of share/

2 years agoCompile Synopsys libraries for VHDL 2008 too
Nick Gasson [Sat, 23 Oct 2021 09:37:26 +0000 (17:37 +0800)]
Compile Synopsys libraries for VHDL 2008 too

2 years agoHandle case where generic is not declared in component
Nick Gasson [Sat, 23 Oct 2021 09:17:59 +0000 (17:17 +0800)]
Handle case where generic is not declared in component

2 years agoRemove object_read_begin and object_read_end
Nick Gasson [Sat, 23 Oct 2021 08:01:28 +0000 (16:01 +0800)]
Remove object_read_begin and object_read_end

2 years agoRemove tree_read_begin and tree_read_end
Nick Gasson [Sat, 23 Oct 2021 07:38:24 +0000 (15:38 +0800)]
Remove tree_read_begin and tree_read_end

2 years agoRewrite object code to use allocation arenas
Nick Gasson [Thu, 7 Oct 2021 14:02:10 +0000 (22:02 +0800)]
Rewrite object code to use allocation arenas

2 years agoDisable LLVM optimisation for reset functions
Nick Gasson [Wed, 20 Oct 2021 05:44:56 +0000 (13:44 +0800)]
Disable LLVM optimisation for reset functions

2 years agoAdd a tool to analyse LLVM -time-trace output
Nick Gasson [Wed, 20 Oct 2021 05:44:28 +0000 (13:44 +0800)]
Add a tool to analyse LLVM -time-trace output

2 years agoAdd ikwzm/Dummy_Plug to regression tests
Nick Gasson [Tue, 19 Oct 2021 14:37:24 +0000 (22:37 +0800)]
Add ikwzm/Dummy_Plug to regression tests

2 years agoUse new address-of operator for constant arrays too
Nick Gasson [Tue, 19 Oct 2021 14:29:50 +0000 (22:29 +0800)]
Use new address-of operator for constant arrays too

2 years agoAvoid storing by-value LLVM structs
Nick Gasson [Tue, 19 Oct 2021 14:29:50 +0000 (22:29 +0800)]
Avoid storing by-value LLVM structs

2 years agoSimplify concurrent assertion that always passes
Nick Gasson [Sun, 17 Oct 2021 09:21:44 +0000 (17:21 +0800)]
Simplify concurrent assertion that always passes

2 years agoHandle last value optimisation exclusively in eopt stage
Nick Gasson [Sun, 17 Oct 2021 09:06:26 +0000 (17:06 +0800)]
Handle last value optimisation exclusively in eopt stage

2 years agoOnly link as C++ when using LLVM static library
Nick Gasson [Thu, 15 Jul 2021 05:58:23 +0000 (13:58 +0800)]
Only link as C++ when using LLVM static library

Needs patched automake.

2 years agoUse libgen for path base and directory name
Nick Gasson [Wed, 13 Oct 2021 02:19:15 +0000 (10:19 +0800)]
Use libgen for path base and directory name

2 years agoFix crash when signal assigned in nested procedure. Issue #430
Nick Gasson [Sat, 16 Oct 2021 07:24:12 +0000 (15:24 +0800)]
Fix crash when signal assigned in nested procedure. Issue #430

2 years agoMissing some checks for signal assignment target in procedure
Nick Gasson [Thu, 14 Oct 2021 13:50:08 +0000 (21:50 +0800)]
Missing some checks for signal assignment target in procedure

2 years agoMissing scalar bounds check for signal initialisation. Issue #98
Nick Gasson [Tue, 12 Oct 2021 15:06:35 +0000 (23:06 +0800)]
Missing scalar bounds check for signal initialisation. Issue #98

2 years agoBuffer too small for printing TIME'HIGH. Issue #98
Nick Gasson [Tue, 12 Oct 2021 14:51:24 +0000 (22:51 +0800)]
Buffer too small for printing TIME'HIGH. Issue #98

2 years agoRestore missing NVC_ELAB_VERBOSE
Nick Gasson [Tue, 12 Oct 2021 15:07:00 +0000 (23:07 +0800)]
Restore missing NVC_ELAB_VERBOSE

2 years agoAdd another regression test for record generics
Nick Gasson [Tue, 12 Oct 2021 13:03:35 +0000 (21:03 +0800)]
Add another regression test for record generics

2 years agoAnother bug with subprograms in architecture body. Fixes #429
Nick Gasson [Sun, 10 Oct 2021 02:56:41 +0000 (10:56 +0800)]
Another bug with subprograms in architecture body. Fixes #429

2 years agoFix test failures on Windows and with address sanitiser
Nick Gasson [Sun, 10 Oct 2021 09:20:44 +0000 (17:20 +0800)]
Fix test failures on Windows and with address sanitiser

2 years agoEmbed coverage CSS directly in output file
Nick Gasson [Sun, 10 Oct 2021 08:17:51 +0000 (16:17 +0800)]
Embed coverage CSS directly in output file

2 years agoRework coverage reporting
Nick Gasson [Wed, 9 Jun 2021 05:00:59 +0000 (13:00 +0800)]
Rework coverage reporting

2 years agoFix incorrect code generation with empty package body
Nick Gasson [Sun, 10 Oct 2021 05:23:46 +0000 (13:23 +0800)]
Fix incorrect code generation with empty package body

2 years agoOnly inline trivial constants
Nick Gasson [Sun, 10 Oct 2021 03:59:21 +0000 (11:59 +0800)]
Only inline trivial constants

2 years agoRework protected type initialisation
Nick Gasson [Sun, 10 Oct 2021 02:29:20 +0000 (10:29 +0800)]
Rework protected type initialisation

2 years agoUse mmap_guarded for signal stack
Nick Gasson [Sat, 9 Oct 2021 10:06:31 +0000 (18:06 +0800)]
Use mmap_guarded for signal stack