Zachary Snow
2aff725ea2
drop tf block edge case
...
- The deleted chunk in TFBlock has been unreachable since 57ef23ef . The
RemoveComments change would make it reachable by dropping the leading
Null in a task or function body.
- The optimization in TFBlock was unsound because the nested block could
shadow identifiers used (but not defined) in the tail of the outer
block.
- The optimization is not clearly necessary, so I'm dropping it for now.
- Expand tf_block test coverage.
2023-05-14 23:18:58 -04:00
Zachary Snow
0fb3a41ed3
additional test coverage
...
- test deprecated flags
- test struct const edge cases
- test implicit net edge cases
- test dump-prefix
2023-05-14 00:54:22 -04:00
Zachary Snow
6c4ee8f4bc
keep explicitly unconnected port bindings
...
These are now kept while still supporting optional trailing commas and
without introducing pass-through inconsistencies.
2023-05-10 08:48:15 -04:00
Zachary Snow
83f2dbde6b
clean up interface check decl type
2023-05-08 23:55:58 -04:00
Zachary Snow
11a5d0479d
support for sequence and property declarations
2023-05-07 16:45:06 -04:00
Zachary Snow
646cb21b49
updated readme
2023-05-07 14:15:31 -04:00
Zachary Snow
1b8aace145
check for module or interface names used as type names
2023-05-07 13:45:56 -04:00
Zachary Snow
b7738a3238
don't use positional error message on extra named bindings
2023-04-26 09:07:18 -04:00
Zachary Snow
e4c47363bb
ignore port connection attributions
2023-04-21 08:29:27 -04:00
Zachary Snow
eca8714de7
skip start of block before looking for its end
2023-03-07 23:54:56 -05:00
Zachary Snow
4ce177c074
multipack conversion visits exprs within types
2023-02-22 00:15:39 -05:00
Zachary Snow
9bab0448e3
drop explicit string type from parameters
2023-01-07 18:27:25 -07:00
Zachary Snow
c840bcd623
prefer larger base when concatenating numbers
2022-12-24 09:56:27 -07:00
Zachary Snow
96a108ded7
constant folding extensions
...
- fold string literal comparisons
- fold non-decimal bit shifts
- fold non-decimal integer comparisons
- fold decimal bitwise AND and OR
- simplify cast expressions before elaboration
- remove duplicate cast expression traversal
- flatten concatenated numbers in a single pass
2022-12-24 01:12:50 -07:00
Zachary Snow
e09aea48e0
type inference for localparams performed lazily
...
The implicit type of a localparam is not always needed. This improves
performance when complex localparam expressions are processed.
2022-12-24 01:01:38 -07:00
Zachary Snow
9de4d44305
simplify handles shadowing via vars and genvars
2022-12-24 00:51:05 -07:00
Zachary Snow
72ab639699
forbid non-void return inside void functions
2022-12-23 19:55:44 -07:00
Zachary Snow
36cff4ab0f
bump actions/cache to v3
2022-10-29 14:08:50 -04:00
Zachary Snow
c49fad1dba
drop unneeded module-scoped references
2022-10-29 13:22:53 -04:00
Zachary Snow
086eb78688
elaborate accesses to fields of struct constants
2022-10-23 11:52:22 -07:00
Zachary Snow
4533e4fffb
don't inline module-level constants into static prefixes
2022-10-22 18:02:54 -07:00
Zachary Snow
c00f508e81
upgrade deprecated github actions runner
2022-07-24 13:45:40 -04:00
Zachary Snow
87642c0975
release v0.0.10
2022-07-23 19:28:21 -04:00
Zachary Snow
e00582de8f
check for conflicts with unused declarations
2022-07-18 21:05:21 -04:00
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
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