Commit Graph

514 Commits

Author SHA1 Message Date
Zachary Snow c1ce7d067b add explicit unknown token error message 2025-11-01 22:04:34 -04:00
Zachary Snow 380c2b978a remove duplicate always_comb sensitivities 2025-05-18 17:04:23 -04:00
Zachary Snow 5d5723f65d added input port default conversion 2025-02-23 18:08:20 -05:00
Zachary Snow 4ec99fcffd add hierarchy path to inlined interface hash 2025-02-17 15:29:45 -05:00
Zachary Snow aa0a885699 warn on duplicate modules 2024-12-15 11:29:36 -05:00
Zachary Snow 576a804d90 improve binding resolution error messages 2024-12-15 00:42:14 -05:00
Zachary Snow 30677b3dcb fix early conversion cast struct types 2024-12-14 11:08:11 -05:00
Zachary Snow 12618d541e support gate arrays 2024-12-12 09:01:20 -05:00
Zachary Snow 5a636724d7 avoid excessive scoping of top-level variables 2024-12-11 08:51:39 -05:00
Zachary Snow 1c13bcf557 invert expression scoping application order 2024-12-11 08:51:29 -05:00
Zachary Snow c56a91b290 disambiguate struct names that shadow module names 2024-12-09 01:07:05 -05:00
Zachary Snow 7808819c48 drop attributes attached to nested generate regions 2024-10-27 01:00:51 -04:00
Zachary Snow 24ab7aee24 interface inlining records decls with attrs 2024-10-26 23:46:20 -04:00
Ethan Sifferman bc79e30fe5
convert severity and elaboration system tasks (#276) 2024-09-02 23:41:29 -04:00
Zachary Snow 12d977f070 visit nested LHSs in enum, typedef, and typeof conversions 2024-09-01 20:39:58 -04:00
Zachary Snow 4e989bc029 remove extra space after signed in scalar types 2024-08-05 00:11:20 -04:00
Zachary Snow 1b2734324e fix bare input signed declarations for inlined modules 2024-08-04 23:52:48 -04:00
Zachary Snow e3feeff152 cover --exclude assert in tests 2024-06-23 14:47:54 -04:00
Zachary Snow 52197df325 add bugpoint mode
This mode reduces the size of test cases that encounter conversion
errors or produce incorrect output. The logic developed slowly over the
past three years. It is in a state that I find useful when fielding bug
reports, but has some room for improvement in terms of constraints and
filtering.
2024-06-19 23:06:34 -04:00
Zachary Snow 73a9cc6750 logic conversion handles tf output ports 2024-06-17 23:47:38 -04:00
Zachary Snow 1c902773b4 parser support for not, strong, weak, nexttime, and s_nexttime 2024-06-17 22:42:12 -04:00
Zachary Snow d3dbaf0684 handle resetall when creating implicit nets 2024-06-15 22:29:53 -04:00
Zachary Snow 6eda946f57 handle directives when writing to a directory 2024-06-15 22:15:30 -04:00
Zachary Snow fdfa597115 upgrade system severity task AST representation 2024-06-09 18:31:06 -04:00
Zachary Snow 70ec448a31 remove iverilog workaround from typeof_scope.sv
With steveicarus/iverilog#483 resolved, this workaround is no longer
necessary.
2024-05-08 08:57:17 -04:00
Zachary Snow 7a7482c964 fix GitHub Actions setup
- refresh GitHub Actions versions
- manually install shUnit2 v2.1.8
- more portable usage check
- run-all.sh exits on ctrl-c
2024-05-01 09:07:31 -04:00
Zachary Snow d856c59a36 obey declaration order in reference output
The latest verion of iverilog enforces declaration ordering more
strictly. Update a few test cases to match. sv2v still supports
out-of-order items on a best-effort basis.
2024-05-01 09:07:31 -04:00
Zachary Snow fb604109bf don't sign-extend signed unsized numbers with a leading 1 bit
I'm opting for iverilog's interpretation of the specifications here. The
commercial simulators I tested seem to agree.
2024-05-01 09:07:31 -04:00
Ethan Sifferman df01650444
Added `full_case` and `parallel_case` attributes (#274) 2024-03-10 23:45:01 -04:00
Zachary Snow f4543872d9 partially bump iverilog 2024-02-11 19:04:48 -05:00
Zachary Snow 9825bb9bcb tweak codegen for bitwise binary followed by reduction unary 2024-01-04 22:09:04 -07:00
Zachary Snow f9917d94da execute always_comb/latch at time zero 2023-12-26 09:21:19 -07:00
Zachary Snow 756dbbb84f support stream within mux 2023-12-17 20:37:25 -05:00
Zachary Snow 81d822562a fix stringToInteger byte order 2023-12-07 23:43:19 -05:00
Zachary Snow e9c01d2434 support wait statements 2023-12-03 13:16:01 -05:00
Zachary Snow 2579bc8302 translate input reg to input wire 2023-11-05 11:02:51 -05:00
Zachary Snow 6ffa31ff9a small coverage improvements 2023-11-04 22:24:59 -04:00
Zachary Snow cd7b53c658 fix multipack conversion type and expr traversal 2023-11-04 20:36:51 -04:00
Zachary Snow fe90c7bbf4 fix inline explicit struct casts 2023-11-04 17:31:11 -04:00
Zachary Snow a4639fa9ef special case typenames when resolving pattern identifiers 2023-11-04 13:31:09 -04:00
Zachary Snow d5b9c1da59 visit function args in empty args conversion 2023-11-04 11:36:08 -04:00
Zachary Snow 764a11af7f more warnings for empty output scenarios 2023-08-20 13:56:03 -04:00
Zachary Snow aa451b66a2 stronger typename checks 2023-08-13 15:17:21 -04:00
Zachary Snow ba94920ee0 assign a unique identifier to every genvar 2023-08-11 21:52:03 -04:00
Zachary Snow a209335c30 disambiguate typenames and interface names 2023-08-09 22:45:52 -04:00
Zachary Snow b09fdaf76a simplify shadowing notes non-trivial localparams too 2023-08-08 22:30:36 -04:00
Zachary Snow 5b035613ee constant fold || and && 2023-08-08 22:25:39 -04:00
CORRADI Quentin 619bde4be1
support for attributes in unary, binary, and ternary expressions
Co-authored-by: qcorradi <q.corradi22@imperial.ac.uk>
Co-authored-by: Zachary Snow <zach@zachjs.com>
2023-07-31 22:52:28 -04:00
Zachary Snow 07caba64a5 simplify non-ANSI style port declaration dimensions 2023-07-31 21:31:34 -04:00
Zachary Snow bef9b1a3f0 allow inout task and function ports 2023-07-26 23:42:51 -04:00