Zachary Snow
eb42042c1c
pass through support for DPI imports and exports
2022-01-25 20:52:14 -07:00
Zachary Snow
2e43dfeeaa
fix failed indirection of unassigned function results
2022-01-23 22:40:43 -07:00
Zachary Snow
4c3dcf5219
support for enumerated type ranges
2021-12-10 13:16:34 -07:00
Zachary Snow
03a913ad65
fix illegal removal of width-extending `+ 0` and `* 1`
2021-11-15 21:26:08 +01:00
Zachary Snow
5105ccbb39
use scoped errors in struct conversion
2021-10-17 21:40:12 -06:00
Zachary Snow
c843efd504
add UnbasedUnsized to --exclude help message
2021-10-13 20:18:15 -06:00
Zachary Snow
150b7f2af1
enum item conflict raises scoped error
2021-10-10 22:04:51 -06:00
Zachary Snow
fd64d4e3f2
remove two unreachable LHS conversion errors
2021-10-09 21:18:44 -06:00
Zachary Snow
d1d81eb8d6
use scoped errors in interface conversion
2021-10-07 21:06:45 -06:00
Zachary Snow
84edbae503
preliminary scoped errors with approximate source location
...
- scoped traversals can now raise errors which contain the path of the
current scope and an approximate source location based on preceding
trace comments, if available
- initially, this new error messaging has only been added for the
illegal size cast checks in the TypeOf and Cast conversions
- error suite tests can provide a verbose mode expected source location
2021-10-06 22:17:41 -06:00
Zachary Snow
f061e88214
cleanup error suite infrastructure
...
- error suite runs in both regular and verbose mode
- add helper for extracting "flags" from test files
- common assertMatch, assertNotMatch helpers
- remove unused assertExists helper
- fix un-escaped wildcard in assert_deferred_nonzero.sv
2021-10-05 14:25:10 -06:00
Zachary Snow
3abe12dfbd
support exclusion of the unbased unsized conversion
2021-10-03 15:00:59 -06:00
Zachary Snow
c822d2e8c6
release v0.0.9
2021-09-28 22:48:12 -06:00
Zachary Snow
ff241115c4
forbid bit-selects and part-selects of scalar struct fields
2021-09-27 21:52:37 -06:00
Zachary Snow
814f96597e
fix assertion removal in verbose mode causing orphaned statements
2021-09-24 12:36:49 -04:00
Zachary Snow
540a0c8ec1
minor readme tweaks
2021-09-21 22:11:02 -04:00
Zachary Snow
e82ff0ca86
organize and revise unreleased changelog entries
2021-09-21 22:01:21 -04:00
Zachary Snow
55afc58f73
simplify interface parameter override logic
2021-09-20 23:49:43 -04:00
Zachary Snow
b1f1b822e9
fix conversion of interface-based typedefs
2021-09-18 21:46:32 -04:00
Zachary Snow
6788ecbf82
fix interface traversal of exprs in types, and support module-scoped modport refs
2021-09-18 21:01:28 -04:00
Zachary Snow
e42fbfa23c
restructure scoper run and eval interface
2021-09-16 23:35:16 -04:00
Zachary Snow
e169c907f4
fix preprocessing of line comments not preceded by whitespace
2021-09-13 20:46:59 -04:00
Saw Xue Zheng
8ecd2c6e52
fix common_module_item to include deferred_assertion_item ( #178 )
2021-09-11 15:22:04 -04:00
Zachary Snow
88d632fb14
restrict implicit logic to output ports
2021-09-07 13:06:24 -04:00
Zachary Snow
598b4260b6
apply port standardization to tasks and functions
2021-09-06 21:48:08 -04:00
Zachary Snow
95c2bc996c
support for common non-ANSI style port declarations
...
Specifically, support has been added for non-ANSI style port
declarations where the port declaration is separate from the
corresponding net or variable declaration.
2021-09-06 21:10:49 -04:00
Zachary Snow
407ba59042
add internal --dump-prefix utility
2021-09-05 19:54:36 -04:00
Zachary Snow
d335d2ff25
use UTF-8 across all platforms
...
- all inputs are now decoded as UTF-8, regardless of the platform
- decoding failures are now tolerated via transliteration given errant
characters are generally expected to appear in comments
2021-08-30 10:39:49 -06:00
Zachary Snow
bceec39339
standardize input handle logic
2021-08-26 14:26:22 -06:00
Zachary Snow
40f66e0212
add type signatures for all parser rules
...
This works around a compilation performance regression in GHC 9.0.1:
https://gitlab.haskell.org/ghc/ghc/-/issues/20261 . This also speeds up
compilation on other versions.
2021-08-24 09:20:55 -06:00
Zachary Snow
da2d4117f2
specialized parsing for parameter port lists
...
This adds support for typed valued parameters declared in parameter port
lists without explicitly providing a leading `parameter` or `localparam`
marker.
2021-08-20 18:08:14 -06:00
Zachary Snow
109964bfc3
limit compilation to two threads
2021-08-19 22:17:31 -06:00
Zachary Snow
77ee49a80e
allow space between @ and *
2021-08-19 16:01:45 -06:00
Zachary Snow
47c05c04b8
support parameters which use a type-of as the data type
2021-08-18 13:33:40 -06:00
Zachary Snow
bf029068af
move exprToType utility outside to language module
2021-08-18 13:07:42 -06:00
Zachary Snow
9acdb848c9
ensure arrays used in nested ternary expressions are properly flattened
2021-08-18 10:25:14 -06:00
Zachary Snow
95e1ed8dda
add changelog to artifacts
2021-08-17 11:27:52 -06:00
Zachary Snow
7ccab1c70a
fix parsing of sized ports with implicit directions
2021-08-17 10:27:17 -06:00
Zachary Snow
7325bd7976
support bare delay controls with real number delays
2021-08-17 09:53:28 -06:00
Zachary Snow
69874edc80
add missing changelog entries
2021-08-17 09:46:59 -06:00
Zachary Snow
cd45696ace
parse alternate spacings of sense star
2021-08-16 22:39:33 -06:00
Zachary Snow
c17d859988
tolerate escaped vendor comments within macros
2021-08-16 18:22:04 -06:00
Zachary Snow
581a7911de
support for deferred immediate assertion statements
2021-08-16 17:50:23 -06:00
Zachary Snow
4ded2a598d
apply implicit port directions to tasks and functions
2021-08-15 12:25:32 -07:00
Zachary Snow
61ccf3cb22
remove unintentional tabs in struct_pattern_cast.v
2021-08-15 12:23:13 -07:00
Zachary Snow
30acc3e3f9
fix spacing of as-patterns for future GHC upgrade
2021-08-12 16:13:12 -06:00
Zachary Snow
536eba46b9
use bimapM for mapBothM
2021-08-10 09:48:13 -06:00
Zachary Snow
306d71334b
refactor sizing and truncation of integer literals
...
- use iverilog's -gstrict-expr-width throughout test suite
- add warnings for excess bits or padding zeroes in number literals
- add new --oversized-numbers parameter to retain support for unsized
numbers wider than 32 bits
- localized use of oversized numbers to new truncate test suite which
verifies the behavior of both modes, and compares against the known
behavior of iverilog
2021-08-09 22:10:29 -06:00
Zachary Snow
5e5ddca444
fix broken two's complement logic
2021-08-08 21:36:36 -06:00
Zachary Snow
59d37468a4
fix internal interpretation of negative number literals
...
- detect and forbid non-positive size casts
- detect and forbid negative struct pattern literal indices
- avoid invalid constant folding of negative based literals
2021-08-07 21:11:35 -06:00