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
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
73a9cc6750
logic conversion handles tf output ports
2024-06-17 23:47:38 -04:00
Zachary Snow
d3dbaf0684
handle resetall when creating implicit nets
2024-06-15 22:29:53 -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
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
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
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
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
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
d0e3b794bc
bump iverilog and use explicit named port connections in tests
2023-07-08 12:23:01 -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
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
1b8aace145
check for module or interface names used as type names
2023-05-07 13:45:56 -04: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
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
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
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