mirror of https://github.com/zachjs/sv2v.git
2.3 KiB
2.3 KiB
Unreleased
Breaking Changes
- Unsized number literals exceeding the maximum width of 32 bits (e.g.,
'h1_ffff_ffff,4294967296) are now truncated and produce a warning, rather than being silently extended- Support for unsized number literals exceeding the standard-imposed 32-bit
limit can be re-enabled with
--oversized-numbers
- Support for unsized number literals exceeding the standard-imposed 32-bit
limit can be re-enabled with
- Input source files are now decoded as UTF-8 on all platforms, with transcoding failures tolerated, enabling reading files encoded using other ASCII supersets (e.g., Latin-1)
New Features
- Added support for non-ANSI style port declarations where the port declaration is separate from the corresponding net or variable declaration
- Added support for typed value parameters declared in parameter port lists
without explicitly providing a leading
parameterorlocalparammarker - Added support for tasks and functions with implicit port directions
- Added support for parameters which use a type-of as the data type
- Added support for bare delay controls with real number delays
- Added support for deferred immediate assertions
Other Enhancements
- Explicitly-sized number literals with non-zero bits exceeding the given width
(e.g.,
1'b11,3'sd8,2'o7) are now truncated and produce a warning, rather than yielding a cryptic error - Number literals with leading zeroes which extend beyond the width of the
literal (e.g.,
1'b01,'h0_FFFF_FFFF) now produce a warning - Non-positive integer size casts are now detected and forbidden
- Negative indices in struct pattern literals are now detected and forbidden
- Escaped vendor block comments in macro bodies are now tolerated
Bug Fixes
- Fixed parsing of sized ports with implicit directions
- Fixed flattening of arrays used in nested ternary expressions
- Fixed preprocessing of line comments which are neither preceded nor followed by whitespace except for the newline which terminates the comment
- Fixed parsing of alternate spacings of
@(*) - Fixed conversion of interface-based typedefs when used with explicit modports, unpacked arrays, or in designs with multi-dimensional instances
- Fixed conversion of module-scoped references to modports
- Fixed conversion of references to modports nested within types in expressions
v0.0.8
Future releases will have complete change logs.