]>
git.nickg.me.uk Git - nvc.git/log
Nick Gasson [Sun, 16 Jul 2023 09:09:14 +0000 (10:09 +0100)]
Freeing units
Nick Gasson [Sun, 16 Jul 2023 08:56:57 +0000 (09:56 +0100)]
Lazify all type helpers
Nick Gasson [Tue, 27 Jun 2023 19:39:55 +0000 (20:39 +0100)]
WIP lazy lowering
Nick Gasson [Tue, 18 Jul 2023 19:11:50 +0000 (20:11 +0100)]
Change format of to_string for time to match other implementations
Nick Gasson [Fri, 9 Jun 2023 11:36:41 +0000 (12:36 +0100)]
Add an experimental WebSocket interface to control simulator
Nick Gasson [Tue, 18 Jul 2023 17:33:28 +0000 (18:33 +0100)]
Handle decimal string literals more than 64-bits wide
Fixes #731
Nick Gasson [Sun, 16 Jul 2023 09:25:24 +0000 (10:25 +0100)]
Make 'event fast-path work for any single-element signal
Nick Gasson [Sun, 16 Jul 2023 09:19:23 +0000 (10:19 +0100)]
Add another PSL test
Nick Gasson [Sat, 15 Jul 2023 15:23:21 +0000 (16:23 +0100)]
Implement shell restart command
Nick Gasson [Fri, 14 Jul 2023 20:13:57 +0000 (21:13 +0100)]
Rework translation of PSL clock declarations
Nick Gasson [Sat, 15 Jul 2023 08:42:25 +0000 (09:42 +0100)]
Fix wrong 'EVENT result on delta cycle
Nick Gasson [Fri, 14 Jul 2023 20:22:54 +0000 (21:22 +0100)]
Fix incorrect sensitivity list with constant indexed name
Nick Gasson [Fri, 14 Jul 2023 10:59:13 +0000 (11:59 +0100)]
Bump version to 1.11-devel
Nick Gasson [Fri, 14 Jul 2023 10:59:02 +0000 (11:59 +0100)]
Include Verilog test files in distribution
Nick Gasson [Fri, 14 Jul 2023 10:33:55 +0000 (11:33 +0100)]
Update for 1.10 release
Nick Gasson [Fri, 14 Jul 2023 10:24:17 +0000 (11:24 +0100)]
Work around issues with dlclose on Alpine/musl
Nick Gasson [Fri, 14 Jul 2023 09:40:35 +0000 (10:40 +0100)]
Update Quartus installation script for 22.1
Nick Gasson [Wed, 12 Jul 2023 21:55:12 +0000 (22:55 +0100)]
Remove the SYNOPSYS.ATTRIBUTES package
Nick Gasson [Wed, 12 Jul 2023 21:45:44 +0000 (22:45 +0100)]
Update builds.sr.ht configs
Nick Gasson [Tue, 11 Jul 2023 18:58:15 +0000 (19:58 +0100)]
Allow capturing all output from TCL shell
Nick Gasson [Wed, 12 Jul 2023 15:12:33 +0000 (16:12 +0100)]
Add test case for PSL SEREs
Nick Gasson [Tue, 11 Jul 2023 18:20:45 +0000 (19:20 +0100)]
Named associations in aggregate target. Fixes #712
Nick Gasson [Tue, 11 Jul 2023 18:20:45 +0000 (19:20 +0100)]
Fix crash when "add wave" called multiple times
Nick Gasson [Tue, 11 Jul 2023 18:20:45 +0000 (19:20 +0100)]
Fix compile error in workqbench
Nick Gasson [Tue, 11 Jul 2023 18:20:45 +0000 (19:20 +0100)]
Add mechanism to redirect TCL stdout and stderr
Nick Gasson [Mon, 10 Jul 2023 17:02:21 +0000 (18:02 +0100)]
Fix uninitialised variable warning
Nick Gasson [Sat, 8 Jul 2023 20:15:54 +0000 (21:15 +0100)]
Hack to allow elaborated unit in unit_registry_get. Fixes #736
Nick Gasson [Sat, 8 Jul 2023 10:53:35 +0000 (11:53 +0100)]
Add record subtype mirrors
Nick Gasson [Sat, 8 Jul 2023 10:10:27 +0000 (11:10 +0100)]
Add test for missing protected type method
Nick Gasson [Sun, 9 Jul 2023 08:05:28 +0000 (09:05 +0100)]
Add shell event handler
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>
Nick Gasson [Sat, 8 Jul 2023 08:32:28 +0000 (09:32 +0100)]
Implement GET methods for array value mirrors
Nick Gasson [Sat, 8 Jul 2023 07:35:52 +0000 (08:35 +0100)]
Fix incorrect parsing of conditional return statement
Nick Gasson [Fri, 7 Jul 2023 21:16:36 +0000 (22:16 +0100)]
Add enumeration value/subtype mirrors
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.
Nick Gasson [Fri, 7 Jul 2023 16:43:11 +0000 (17:43 +0100)]
Fix unused variable warning in list_get macro
Nick Gasson [Fri, 7 Jul 2023 08:05:27 +0000 (09:05 +0100)]
Hide homographs within a declaration. Issue #733
Nick Gasson [Fri, 7 Jul 2023 07:28:39 +0000 (08:28 +0100)]
Remove unused internal warn-on-hidden option
Nick Gasson [Thu, 6 Jul 2023 20:41:04 +0000 (21:41 +0100)]
Missing index check for null array. Fixes #734
Nick Gasson [Thu, 6 Jul 2023 20:19:10 +0000 (21:19 +0100)]
Fix crash folding IEEE matching operators
Nick Gasson [Thu, 6 Jul 2023 18:29:55 +0000 (19:29 +0100)]
Parsing for VHDL-2019 improved type generics
Nick Gasson [Wed, 5 Jul 2023 18:54:48 +0000 (19:54 +0100)]
More attributes for array subtype mirrors
Nick Gasson [Fri, 30 Jun 2023 08:18:00 +0000 (09:18 +0100)]
Get rid of global vcode unit registry
Nick Gasson [Sun, 2 Jul 2023 20:31:57 +0000 (21:31 +0100)]
Add floating value and subtype mirrors
Nick Gasson [Sat, 1 Jul 2023 21:25:40 +0000 (22:25 +0100)]
Integer subtype mirrors and subtype reflection
Nick Gasson [Sat, 1 Jul 2023 11:41:08 +0000 (12:41 +0100)]
Use cover scope to store hierarchy information
Nick Gasson [Sat, 1 Jul 2023 09:23:53 +0000 (10:23 +0100)]
Simplify interface between lower and coverage
Nick Gasson [Sat, 1 Jul 2023 08:36:55 +0000 (09:36 +0100)]
Store coverage scopes directly in database
Nick Gasson [Fri, 30 Jun 2023 16:31:17 +0000 (17:31 +0100)]
Use a single namespace for cover tags
Nick Gasson [Fri, 30 Jun 2023 16:15:41 +0000 (17:15 +0100)]
Fix crash getting expression coverage with function bodies
Nick Gasson [Thu, 29 Jun 2023 21:13:54 +0000 (22:13 +0100)]
Inferring constraints from initial values for signals and variables
Nick Gasson [Wed, 28 Jun 2023 21:17:30 +0000 (22:17 +0100)]
Tidy up library makefiles
Nick Gasson [Wed, 28 Jun 2023 20:21:54 +0000 (21:21 +0100)]
Move matching relational operators to 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 .
Nick Gasson [Wed, 28 Jun 2023 19:37:50 +0000 (20:37 +0100)]
Fix several minor memory leaks
Nick Gasson [Wed, 28 Jun 2023 09:13:46 +0000 (10:13 +0100)]
Fix memory leak when parsing conditional analysis tokens
Nick Gasson [Tue, 27 Jun 2023 18:28:37 +0000 (19:28 +0100)]
Allow 'PATH_NAME, etc. on instance labels. Fixes #730
Nick Gasson [Sun, 25 Jun 2023 16:50:42 +0000 (17:50 +0100)]
Add empty array value/subtype mirrors
Nick Gasson [Sun, 25 Jun 2023 08:49:33 +0000 (09:49 +0100)]
Add plumbing for subtype mirrors
Nick Gasson [Sun, 25 Jun 2023 08:12:06 +0000 (09:12 +0100)]
Fix crashes calling methods on result of 'REFLECT
Nick Gasson [Sat, 24 Jun 2023 22:36:34 +0000 (23:36 +0100)]
Initial support for reflection
Nick Gasson [Sat, 24 Jun 2023 19:43:03 +0000 (20:43 +0100)]
Code generation for accesses to protected types
Nick Gasson [Sat, 24 Jun 2023 17:52:54 +0000 (18:52 +0100)]
Checking for VHDL-2019 pointers-to-protected-types
Nick Gasson [Sat, 24 Jun 2023 16:31:12 +0000 (17:31 +0100)]
Missing checks that access cannot designate file/protected type
Nick Gasson [Sat, 24 Jun 2023 16:09:33 +0000 (17:09 +0100)]
Parsing for 'REFLECT attribute
Nick Gasson [Sat, 24 Jun 2023 12:52:59 +0000 (13:52 +0100)]
Stub out VHDL-2019 STD.REFLECTION body
Nick Gasson [Sat, 24 Jun 2023 08:34:56 +0000 (09:34 +0100)]
Partial implementation of vhpiCaseNameP for declarations. Issue #723
Nick Gasson [Sat, 24 Jun 2023 09:23:13 +0000 (10:23 +0100)]
Import strndup from gnulib
Nick Gasson [Sat, 24 Jun 2023 07:53:00 +0000 (08:53 +0100)]
Speed up finding source line in diag_get_source
Nick Gasson [Fri, 23 Jun 2023 17:08:26 +0000 (18:08 +0100)]
Add a regression test for issue #653
Nick Gasson [Thu, 22 Jun 2023 21:43:06 +0000 (22:43 +0100)]
Improve test coverage for dumper
Nick Gasson [Thu, 22 Jun 2023 21:01:17 +0000 (22:01 +0100)]
Remove concurrent modification warning in debug mode
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")
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.
Sean Anderson [Thu, 22 Jun 2023 01:00:43 +0000 (21:00 -0400)]
vhpi: Add get/set support for selected names
Inhomogenous types are create scopes instead of signals. Additionally,
inhomogenous arrays have nested scopes for their elements. Add the
necessary machinery to determine the scope for a name/objDecl, and look
up the signal at the final level.
In the style of vhpi7, assign a value to each element of the test
records, and try to change them. To avoid needing to repeat the same
code while recursing through records, we just print out the values and
check them against the golden output. We cheat a bit for
multidimensional arrays because array properties are checked properly in
vhpi7.
Sean Anderson [Thu, 22 Jun 2023 00:42:18 +0000 (20:42 -0400)]
vhpi: Add support for selected names
The other major type of prefixed names is selected names. Add support
for them. In many ways they are simpler than indexed names, since we
don't have to keep track of multiple indices. Getting/setting is not
supported, but it will be addressed in the next commit.
Sean Anderson [Wed, 21 Jun 2023 23:40:38 +0000 (19:40 -0400)]
vhpi: Support NumFields
Add support for the NumFields property of record types.
Sean Anderson [Wed, 21 Jun 2023 23:32:14 +0000 (19:32 -0400)]
vhpi: Support record elements
Add support for record elements. Convert the vhpi5 test to gold to make
it easier to check recursive structures, and change the record
definition to something a little more interesting.
Sean Anderson [Wed, 21 Jun 2023 23:45:24 +0000 (19:45 -0400)]
vhpi: Add support for vhpiPrefixP
Back when prefixnames got added I forgot to add support for the prefix
property itself. Add it now.
Sean Anderson [Sun, 18 Jun 2023 21:29:01 +0000 (17:29 -0400)]
vhpi: Pre-calculate names' offsets
We have all the information necessary to determine the offset of indexed
names when creating them. To simplify the process of determining the
offset by pre-calculating them.
Nick Gasson [Wed, 21 Jun 2023 19:20:07 +0000 (20:20 +0100)]
Fix another case of index-of-function-call parsed incorrectly
Issue #727
Nick Gasson [Tue, 20 Jun 2023 19:38:46 +0000 (20:38 +0100)]
Fix remaining instances where VHDL integers are passed as int32_t
Nick Gasson [Tue, 20 Jun 2023 19:37:33 +0000 (20:37 +0100)]
Change calling convention for FILE_OPEN to handle different integer sizes
Fixes #724
Nick Gasson [Tue, 20 Jun 2023 19:14:28 +0000 (20:14 +0100)]
Fix crash indexing protected function call that returns an array
E.g. P.F(X) where F takes no argument and returns an array.
Issue #726
Nick Gasson [Tue, 20 Jun 2023 19:05:44 +0000 (20:05 +0100)]
Add regression test for issue #725
Nick Gasson [Tue, 20 Jun 2023 19:02:12 +0000 (20:02 +0100)]
Ensure diagnostic messages are correctly ordered wrt. textio output
Nick Gasson [Tue, 20 Jun 2023 18:53:08 +0000 (19:53 +0100)]
Remove pointless directory search in lib_get_aux
Nick Gasson [Tue, 20 Jun 2023 18:49:54 +0000 (19:49 +0100)]
Revert to using timestamps to determine most recently analysed
Nick Gasson [Mon, 19 Jun 2023 07:12:10 +0000 (08:12 +0100)]
Remove separate PARALLEL_MAKEFLAGS variable
Nick Gasson [Sun, 18 Jun 2023 18:14:41 +0000 (19:14 +0100)]
Fix build warning on Windows
Nick Gasson [Sun, 18 Jun 2023 18:11:21 +0000 (19:11 +0100)]
Fix command line parsing crash. Issue #722
Nick Gasson [Sun, 18 Jun 2023 17:50:08 +0000 (18:50 +0100)]
Remove dead code in lower_wrap_element. Fixes #721
Nick Gasson [Sun, 18 Jun 2023 17:36:27 +0000 (18:36 +0100)]
Use nanosecond-resolution timestamps consistently on all platforms
Nick Gasson [Sun, 18 Jun 2023 13:38:35 +0000 (14:38 +0100)]
Fix OSVMM workflow and schedule weekly
Ondrej Ille [Sun, 18 Jun 2023 17:12:15 +0000 (19:12 +0200)]
src: Use pedantic_diag to throw error that can be demoted to warning.
Ondrej Ille [Sun, 18 Jun 2023 16:17:06 +0000 (18:17 +0200)]
src: Turn non-explicit class or mode match to warning with FRELAXED.
Ondrej Ille [Sun, 18 Jun 2023 16:10:44 +0000 (18:10 +0200)]
test: Add test for issue660.
Ondrej Ille [Sun, 18 Jun 2023 15:24:53 +0000 (17:24 +0200)]
src: strict subprogram specification and body matching.
Sean Anderson [Sat, 17 Jun 2023 20:14:14 +0000 (16:14 -0400)]
vhpi: Support EndOfTimeStep callbacks
Add support for EndOfTimeStep callbacks, which are the final callbacks
to occur in a timestep.
Sean Anderson [Sun, 11 Jun 2023 19:01:05 +0000 (15:01 -0400)]
vhpi: Support EnumLiterals
Add support for the various *Literals properties of enums. Although
`EnumLiteral`s are generalizations of both `expr`s and `decl`s, we only
really support single-inheritance at the moment. Make c_enumLiteral a
subtype of c_abstractDecl, since there are more properties in `decl`s
than in `expr`s. This should be the only exception in this area we need
to make, since other literals aren't generalizations of decl.