Releases
v0.0.12
zachjs
released this
07 May 02:29
Breaking Changes
Removed deprecated CLI flags -d
/-e
/-i
, which have been aliased to -D
/-E
/-I
with a warning since late 2019
New Features
unique
, unique0
, and priority
case statements now produce corresponding parallel_case
and full_case
statement attributes
Added support for attributes in unary, binary, and ternary expressions
Added support for streaming concatenations within ternary expressions
Added support for shadowing interface names with local typenames
Added support for passing through wait
statements
Bug Fixes
Fixed signed unsized literals with a leading 1 bit (e.g., 'sb1
, 'sh8f
) incorrectly sign-extending in size and type casts
Fixed conflicting genvar names when inlining interfaces and modules that use them; all genvars are now given a design-wide unique name
Fixed unconverted structs within explicit type casts
Fixed byte order of strings in size casts
Fixed unconverted multidimensional struct fields within dimension queries
Fixed non-typenames (e.g., from packages or subsequent declarations) improperly shadowing the names of struct
pattern fields
Fixed shadowing of interface array indices passed to port connections
Fixed failure to resolve typenames suffixed with dimensions in contexts permitting both types and expressions, e.g., $bits(T[W-1:0])
Fixed an issue that prevented parsing tasks and functions with inout
ports
Fixed errant constant folding of shadowed non-trivial localparams
Fixed conversion of function calls with no arguments passed to other functions
Fixed certain non-ANSI style port declarations being incorrectly reported as incompatible
Other Enhancements
always_comb
and always_latch
now reliably execute at time zero
Added error checking for unresolved typenames
Added constant folding for ||
and &&
input reg
module ports are now converted to input wire
x | |y
and x & &y
are now output as x | (|y)
and x & (&y)
You can’t perform that action at this time.