Zachary Snow
a9f00cce2a
avoid name conflicts when elaborating packages
2022-07-17 22:02:15 -04:00
Zachary Snow
a54be8dae6
instances supply names during reordering
2022-07-17 20:58:36 -04:00
Zachary Snow
59b416f9b4
isolate interface name resolution checks
2022-07-17 20:32:56 -04:00
Zachary Snow
6e8659a537
support hierarchical calls to functions with no inputs
2022-07-10 22:43:33 -04:00
Zachary Snow
5dcbce5f45
fix conversion of casts to structs containing multidimensional fields
2022-06-19 21:55:19 -04:00
Zachary Snow
e7fc1e6147
remove legacy tagging logic in array flattening conversion
2022-06-19 19:27:17 -04:00
Zachary Snow
336812ff21
fix conversion of signed struct fields accessed directly
2022-06-19 16:13:56 -04:00
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
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
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
3db72c4c2d
logic conversion ignores LHSs in procedural assignment senses
2022-02-15 17:49:50 +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
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
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
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
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
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
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
581a7911de
support for deferred immediate assertion statements
2021-08-16 17:50:23 -06: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
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
Zachary Snow
fd96b8a710
unbased unsized conversion inlines module stubs
...
- support ports with sizes which depend on constant functions
- restore package item injection utility to package conversion module
- additional unbased unsized conversion test coverage
2021-07-29 19:54:20 -04:00
Zachary Snow
37c8938eff
attempt number cast simplification after substitution
2021-07-29 13:11:25 -04:00
Zachary Snow
1aa30ea813
allow genvars to be shadowed
2021-07-27 19:17:03 -04:00
Zachary Snow
93ba497c12
allow simple unbased-unsized RHSs to sign extend
2021-07-26 22:00:00 -04:00
Zachary Snow
17b01b1683
simplify mod 1 to 0
2021-07-26 13:03:01 -04:00
Zachary Snow
5345a72c9e
elaborate `wire integer` to `wire signed [31:0]`
2021-07-25 15:37:27 -04:00
Zachary Snow
121fea5aec
avoid unnecessary casts on substituted hierarchical constants
2021-07-24 17:01:17 -04:00
Zachary Snow
46be0edbdf
simplify cast scoper lookup and removal
2021-07-24 16:41:31 -04:00
Zachary Snow
1311e449fe
fix errant expr resolution flagging
...
- references to other instances are no longer flagged
- special handling for genvars to avoid flagging and modport scoping
- interface inlining visits expressions in declarations
- Scoper has interface for removing entries
2021-07-23 19:59:26 -04:00
Zachary Snow
1e6fa7b858
fix looping simplification on unfolded based literals
2021-07-22 12:45:53 -04:00