Commit Graph

907 Commits

Author SHA1 Message Date
Zachary Snow effeded6d1 support procedural continuous assignments 2022-05-10 12:11:32 -04:00
Zachary Snow e778a671e1 generate explicit sensitivity lists when necessary 2022-05-10 11:29:33 -04:00
Zachary Snow 9eceb55673 defer elaboration of void functions 2022-05-02 14:45:10 -06:00
Zachary Snow b7a2327668 simple for loop elaboration applies in more cases 2022-04-30 20:19:02 -06:00
Zachary Snow 5e17ef0df3 bump iverilog 2022-04-11 18:04:57 -06:00
Zachary Snow f68bf187af refactor event control internals
- event expressions use Expr over LHS
- stricter AST representation of event controls
- property specs use event expressions directly
2022-04-11 17:44:47 -06:00
Zachary Snow abbcaae02c default to python3 for number gen.py 2022-04-04 12:26:15 -06:00
Zachary Snow f868f06e88 write adjacent overwrites existing files 2022-03-16 15:34:29 +01:00
Zachary Snow ed09fe88cf support assignments within expressions 2022-03-12 23:57:17 +01:00
Zachary Snow 4ced649a87 convert do while loops 2022-03-11 11:32:54 +01:00
Zachary Snow 1315bed81c support cycle delay range in sequence expressions 2022-03-09 18:38:30 +01:00
Zachary Snow e6e96b622b support for edge event 2022-02-16 12:01:58 +01:00
Zachary Snow 53fa152fc4 upgrade to latest iverilog 2022-02-15 19:14:55 +01:00
Zachary Snow ccc6f174af drop trailing whitespace in notice file 2022-02-15 18:11:52 +01:00
Zachary Snow 3db72c4c2d logic conversion ignores LHSs in procedural assignment senses 2022-02-15 17:49:50 +01:00
Zachary Snow 5b5bed8c72 fix dev iverilog test incompatibilities 2022-02-15 15:38:16 +01:00
Zachary Snow dce7492c81 upgrade to GHC 8.10.7 2022-02-13 13:02:21 +01:00
Zachary Snow bcc404b8ae bump license year 2022-02-12 14:23:42 +01:00
Zachary Snow 96cfe18ca7 pass through support for functions with output ports 2022-02-07 23:38:11 +01:00
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