Commit Graph

501 Commits

Author SHA1 Message Date
Ethan Sifferman bcb6d9b249 initial support for system tasks 2024-09-02 12:00:25 -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
Zachary Snow 896b375df0 replace tabs with spaces in test/dump/example.sv 2023-07-09 14:52:41 -04:00
Zachary Snow d0e3b794bc bump iverilog and use explicit named port connections in tests 2023-07-08 12:23:01 -04:00
Zachary Snow 0f8224023b test runner simplifications 2023-06-24 15:47:22 -04:00
Zachary Snow a29564459b remove long-deprecated CLI flag aliases 2023-06-24 13:11:21 -04:00
Zachary Snow 04d65bb388 added --write directory mode with one file per module 2023-06-21 08:25:42 -04:00
Zachary Snow 911243dac4 add --top for filtering uninstantiated modules 2023-06-18 22:36:43 -04:00
Zachary Snow 3b2a55a69c better error message for indexed atoms 2023-06-18 22:18:20 -04:00
Zachary Snow a05659cd06 better unfinished conditional directive error message 2023-06-17 12:56:23 -04:00
Zachary Snow 51c90baf5e support for loading from library directories 2023-06-13 22:53:36 -04:00
Zachary Snow aa429204ea minor AlwaysKW coverage improvements 2023-06-10 23:52:17 -04:00
CORRADI Quentin 4756f49750
avoid dangling procedural else
* Remove unneeded begin/end when the loop is a do/while
* Dangling else check passes through statement attributes (bug fix)
* Dangling else check passes through most control flow structures to reduce unneeded begin/end
* Add test case and update changelog

---------

Co-authored-by: qcorradi <q.corradi22@imperial.ac.uk>
Co-authored-by: Zachary Snow <zach@zachjs.com>
2023-06-06 00:08:56 -04:00
qcorradi 485ffffa01 always kw conversion visits items with attributes
* Fixing a bug where always_* are not converted when attributed
* Added tests and updated Changelog for the attributed always_* fix
2023-05-30 23:39:47 -04:00
Zachary Snow a129e3bc68 add test suite documentation 2023-05-30 22:36:54 -04:00