2021-10-03 23:00:59 +02:00
|
|
|
## Unreleased
|
|
|
|
|
|
2022-03-16 15:34:29 +01:00
|
|
|
### Breaking Changes
|
|
|
|
|
|
|
|
|
|
* `--write adjacent` no longer forbids overwriting existing generated files
|
|
|
|
|
|
2021-10-03 23:00:59 +02:00
|
|
|
### New Features
|
|
|
|
|
|
2022-03-12 23:57:17 +01:00
|
|
|
* Added support for assignments within expressions (e.g., `x = ++y;`)
|
2021-10-03 23:00:59 +02:00
|
|
|
* Added support for excluding the conversion of unbased unsized literals (e.g.,
|
|
|
|
|
`'1`, `'x`) via `--exclude UnbasedUniszed`
|
2021-12-10 21:16:34 +01:00
|
|
|
* Added support for enumerated type ranges (e.g., `enum { X[3:5] }`)
|
2022-04-12 01:44:47 +02:00
|
|
|
* Added support for complex event expressions (e.g., `@(x ^ y)`)
|
2022-02-16 12:01:58 +01:00
|
|
|
* Added support for the SystemVerilog `edge` event
|
2022-03-09 18:37:48 +01:00
|
|
|
* Added support for cycle delay ranges in assertion sequence expressions
|
2022-03-11 11:32:54 +01:00
|
|
|
* Added conversion for `do` `while` loops
|
2022-01-26 04:52:14 +01:00
|
|
|
* Added support for passing through DPI imports and exports
|
2022-02-07 23:38:11 +01:00
|
|
|
* Added support for passing through functions with output ports
|
2022-05-01 04:19:02 +02:00
|
|
|
* Extended applicability of simplified Yosys-compatible `for` loop elaboration
|
2021-10-03 23:00:59 +02:00
|
|
|
|
2021-10-07 06:17:41 +02:00
|
|
|
### Other Enhancements
|
|
|
|
|
|
|
|
|
|
* Certain errors raised during conversion now also provide hierarchical and
|
|
|
|
|
approximate source location information to help locate the error
|
|
|
|
|
|
2021-11-15 21:26:08 +01:00
|
|
|
### Bug Fixes
|
|
|
|
|
|
|
|
|
|
* Fixed inadvertent design behavior changes caused by constant folding removing
|
|
|
|
|
intentional width-extending operations such as `+ 0` and `* 1`
|
2022-02-15 17:49:50 +01:00
|
|
|
* Fixed forced conversion to `reg` of data sensed in an edge-controlled
|
|
|
|
|
procedural assignment
|
2021-11-15 21:26:08 +01:00
|
|
|
|
2021-09-29 06:47:08 +02:00
|
|
|
## v0.0.9
|
2021-08-08 05:11:35 +02:00
|
|
|
|
2021-09-22 04:01:21 +02:00
|
|
|
### Breaking Changes
|
|
|
|
|
|
2021-08-10 06:10:29 +02:00
|
|
|
* Unsized number literals exceeding the maximum width of 32 bits (e.g.,
|
2021-09-22 04:01:21 +02:00
|
|
|
`'h1_ffff_ffff`, `4294967296`) are now truncated and produce a warning, rather
|
2021-08-10 06:10:29 +02:00
|
|
|
than being silently extended
|
|
|
|
|
* Support for unsized number literals exceeding the standard-imposed 32-bit
|
|
|
|
|
limit can be re-enabled with `--oversized-numbers`
|
2021-09-22 04:01:21 +02:00
|
|
|
* 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 `parameter` or `localparam` marker
|
|
|
|
|
* 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
|
2021-08-10 06:10:29 +02:00
|
|
|
* Number literals with leading zeroes which extend beyond the width of the
|
|
|
|
|
literal (e.g., `1'b01`, `'h0_FFFF_FFFF`) now produce a warning
|
2021-08-08 05:11:35 +02:00
|
|
|
* Non-positive integer size casts are now detected and forbidden
|
|
|
|
|
* Negative indices in struct pattern literals are now detected and forbidden
|
2021-09-22 04:01:21 +02:00
|
|
|
* Escaped vendor block comments in macro bodies are now tolerated
|
2021-09-28 05:51:53 +02:00
|
|
|
* Illegal bit-selects and part-selects of scalar struct fields are now detected
|
|
|
|
|
and forbidden, rather than yielding an internal assertion failure
|
2021-09-22 04:01:21 +02:00
|
|
|
|
|
|
|
|
### 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,
|
2021-09-19 03:46:32 +02:00
|
|
|
unpacked arrays, or in designs with multi-dimensional instances
|
2021-09-22 04:01:21 +02:00
|
|
|
* Fixed conversion of module-scoped references to modports
|
|
|
|
|
* Fixed conversion of references to modports nested within types in expressions
|
2021-09-24 18:36:49 +02:00
|
|
|
* Fixed assertion removal in verbose mode causing orphaned statements
|
2021-08-08 05:11:35 +02:00
|
|
|
|
2021-07-31 20:27:20 +02:00
|
|
|
## v0.0.8
|
|
|
|
|
|
|
|
|
|
Future releases will have complete change logs.
|