Releases: veryl-lang/veryl
Releases · veryl-lang/veryl
v0.19.0
What's Changed
Breaking Changes 🛠
- Report
ReferringBeforeDefinitionfor function called before definition by @taichi-ishitani in #2240
New Features 🎉
- Support inferable enum width by @taichi-ishitani in #2199
- Add interface definition of AXI stream as std library by @Annrtl in #2208
Other Changes
- Performe
check_generic_argson alias target by @taichi-ishitani in #2200 - Fix emitter mistake of concatenation assignment in alwyas_ff by @dalance in #2206
- Enable function arity check when assignment destination can't be detetermined by @dalance in #2218
- Refactor Value type by @dalance in #2211
- Ignore size limit error when the code block is not used for IR by @dalance in #2220
- Fix wrong
unassign_variablewarning by @taichi-ishitani in #2204 - Fix wildcard equality evaluation by @dalance in #2222
- Add MaskCache for BigUint evaluation by @dalance in #2228
- Change BigInt crate to malachite-bigint by @dalance in #2229
- Fix panic at comparison between u64 and u128 by @dalance in #2230
- Move daggy,indent to workspace by @dalance in #2233
- Use binary Sub instead of combination of binary Add and unary Sub by @dalance in #2234
- Add FfTable for simulator by @dalance in #2232
- Add FromStr for VarPath by @dalance in #2235
- Fix signed evaluation by @dalance in #2237
- Update parol to 4.3 by @dalance in #2250
- Change emittion of array notation by @taichi-ishitani in #2241
- Fix emitter panic happened when vertical align mode is off by @taichi-ishitani in #2251
- Fixes incorrect constant folding for 64-bit arithmetic right shift (>>>). by @tignear in #2245
- Changed version to optional in project metadata by @prokie in #2244
- Report warning for struct/union with mixed 2-state/4-state members by @taichi-ishitani in #2255
- Fix signed evaluation of unary operator by @dalance in #2257
- Add Value convertor to some types by @dalance in #2256
- Move some crates to workspace root by @dalance in #2258
- fixes incorrect
context_widthpropagation in concatenation constant folding by @tignear in #2253 - fix(analyzer): correct EqWildcard/NeWildcard by @tignear in #2264
- Fix unexpected missing reset statement warning caused by parts assignment by @dalance in #2271
- Update package-lock.json by @dalance in #2272
- Fix
unevaluatable_valueerror reported for width cast by @taichi-ishitani in #2274 - prevent keywords from being highlighted as port references by @prokie in #2265
- Support proto package functions in IR conversion by @tignear in #2276
- Fix spelling and minor refactors by @prokie in #2278
- Fix analyzer panic during converting binary op b/w large width variable and
'0literal by @taichi-ishitani in #2280 - Fix formatter panic when vertical align mode is off by @prokie in #2277
- Introduce Comptime to Expression by @dalance in #2261
- Fix comptime evaluation of assignment operator by @dalance in #2285
- Restore by @taichi-ishitani in #2286
- Allow to reference function before definition by @taichi-ishitani in #2284
- Fix
referring_before_definitionerror during converting type expression by @taichi-ishitani in #2288
New Contributors
Full Changelog: v0.18.0...v0.19.0
v0.18.0
What's Changed
Breaking Changes 🛠
- Allow concatenation assignment in always, and add
blockkeyword by @dalance in #2175 - Split
booltype tobboolandlbooltypes by @taichi-ishitani in #2186
New Features 🎉
Other Changes
- Fix LSP panic at symbol reference by @dalance in #2142
- Fix unassign error in some tests by @dalance in #2143
- Fix attribute error message by @dalance in #2148
- Fix panic during emitting function call via generic interface by @taichi-ishitani in #2152
- Fix comment pattern by @taichi-ishitani in #2155
- Fix unassign variables in test by @dalance in #2158
- Update tower-lsp-server to 0.23.0 by @dalance in #2111
- Change iter::chain to itertools for wasm compile by Rust 1.89.0 by @dalance in #2165
- Mdbook plugin ignores some errors by @dalance in #2166
- Fix issue where unnecessary generic function instances are emitted by @taichi-ishitani in #2162
- Increase stack size of veryl-ls by @dalance in #2168
- Refactor AnalyzerError and add snapshot test by @dalance in #2167
- Fix unexpected
unassignable_outputof $sv member by @dalance in #2173 - Add tree-sitter as submodule by @dalance in #2176
- Suppress unassign in modules with unevaluable generic parameters by @dalance in #2177
- BugFix: Keyword completion now works as expected in helix editor by @eirikki931 in #2182
- Fix highlightgen failure by @dalance in #2190
- Refactor IR by @dalance in #2192
- Add BigInt wrapper by @dalance in #2193
- Remove redundant nested concatenation by @dalance in #2195
- Fix
boolmigration doesn't work by @dalance in #2196
New Contributors
- @eirikki931 made their first contribution in #2182
Full Changelog: v0.17.2...v0.18.0
v0.17.2
What's Changed
New Features 🎉
Other Changes
- Fix wrong
invalid_factorerror by @taichi-ishitani in #2090 - Remove clone from item gather converter by @dalance in #2095
- Fix analyze error and wrong emission related to functions with modport args by @taichi-ishitani in #2092
- Introduce literal_table by @dalance in #2100
- Fix the issue that modport default members may not be linked by @taichi-ishitani in #2102
- Fix clippy error caused by Rust 1.92.0 by @dalance in #2105
- Fix emitter panick when const reference via package is used as generic arg by @taichi-ishitani in #2107
- Use
sourcesinstead ofsourcein default TOML by @dalance in #2112 - Fix
unknown_membererror reported for struct defined in SV by @taichi-ishitani in #2116 - Fix invalid testcases by @dalance in #2124
- Fix panic when dependency path does not exist by @dalance in #2135
- Fix inline union construction by @MurakamiShun in #2129
New Contributors
Full Changelog: v0.17.1...v0.17.2
v0.17.1
What's Changed
New Features 🎉
- Add
DSimrunner by @taichi-ishitani in #2034 - Add build and verilator outputs to .gitignore template by @mchoo7 in #2030
- Add basic synchronizer implementation by @taichi-ishitani in #2036
- Add vertical_align format option (on by default) by @Timmmm in #2065
Other Changes
- Create version file for nightly build by @dalance in #2027
- Allow to use user defined types as generic arg for generic components defined in dependent projects by @taichi-ishitani in #2026
- Add references to variables specified as modport default member from the modport by @taichi-ishitani in #2031
- Fix modport default member resolution by @taichi-ishitani in #2033
- Implement self reference check for modport default member by @taichi-ishitani in #2037
- Fix analyzer panic by @taichi-ishitani in #2039
- Fix benchmark failure by @dalance in #2041
- Improve parse error for some cases by @dalance in #2043
- Fix
undefined identifiererror by @taichi-ishitani in #2045 - Fix
anonymous_identifier_usageerror cuased by mangled path mismatch by @taichi-ishitani in #2050 - Fix unexpected modport mismatch error by @taichi-ishitani in #2054
- Fix emit position of
constdeclaration in statement block by @taichi-ishitani in #2055 - Simplify generic reference resolution by @taichi-ishitani in #2061
- Fix reference error related to pacakge alias defined in package by @taichi-ishitani in #2072
- Exclude $std from check mode of build by @dalance in #2076
- Fix issue that cyclic dependency in generic reference may not be detected by @taichi-ishitani in #2078
- fix: Evaluator panic on unknown static values by @dxur in #2082
- Fix
unknown_membererror caused by package alias by @taichi-ishitani in #2083 - Fix
mismatch typeerror caused by proto alias by @taichi-ishitani in #2085 - Remove debug print by @taichi-ishitani in #2086
New Contributors
- @mchoo7 made their first contribution in #2030
- @Timmmm made their first contribution in #2065
- @dxur made their first contribution in #2082
Full Changelog: v0.17.0...v0.17.1
v0.17.0
What's Changed
Breaking Changes 🛠
New Features 🎉
Other Changes
- Evaluation support of larger number than 64bit by @dalance in #1951
- Fix insertion of dag edge between generic arg and base symbol by @taichi-ishitani in #1955
- Remove
array selectfrom identifier used as generic arg by @taichi-ishitani in #1957 - Make cocotb version check stricter by @omasanori in #1959
- Fix syntax error on
boolkeyword in generic param list by @taichi-ishitani in #1965 - Change publisher of VSCode extension by @dalance in #1966
- Change name of VSCode extension by @dalance in #1967
- Fix unexpected
unresolvable_generic_argumenterror by @taichi-ishitani in #1970 - Fix lsp no response by @dalance in #1975
- Allow clock domain annotation to SV items by @dalance in #1977
- Fix filelist order by @taichi-ishitani in #1972
- Fix panic happened during executing
resolve_user_definedby @taichi-ishitani in #1982 - Restore scanner state assignment for keywords by @taichi-ishitani in #1985
- Fix unexpected multiple assign caused by inst declaration by @dalance in #1983
- Fix alignment of single line inst declaration in SV by @dalance in #1987
- Fix
mismatch_typeforinstdeclaration with proto alias module by @taichi-ishitani in #1989 - Add aarch64-linux support of VSCode extension by @dalance in #1991
- Add aarch64-windows support by @dalance in #1993
- Check SV keyword in struct/union/enum items by @dalance in #1998
- Change visibility of
fifo_contollertopublicby @taichi-ishitani in #2000 - Implement type expression check by @taichi-ishitani in #1999
- Fix unexpected
unknown_membererror by @taichi-ishitani in #2010 - Resolve
importeddurling unaliasing by @taichi-ishitani in #2013 - Fix emission of type keywords used as literal by @taichi-ishitani in #2016
- Fix invalid factor error caused by interface instance in $sv by @dalance in #2017
- Fix invalid factor error caused by interface alias by @dalance in #2019
- Support Python 3.6+ by @omasanori in #1960
- Eliminate unnecessary exception capture by @omasanori in #2023
New Contributors
- @omasanori made their first contribution in #1959
Full Changelog: v0.16.5...v0.17.0
v0.16.5
What's Changed
Other Changes
- Fix
undefined identifiererror for generic instance used as bind target by @taichi-ishitani in #1897 - fix unexpected
mismatch_generics_arityerror by @taichi-ishitani in #1899 - Fix wrong emittion including import declaration with generic package by @taichi-ishitani in #1902
- Set valid column value to comment tokens by @taichi-ishitani in #1911
- Fix unexpected syntax error on
{{{by @taichi-ishitani in #1914 - Fix panic on emitting
binddeclaration by @taichi-ishitani in #1917 - Fix local build version detection by @dalance in #1919
- Fix the issue that filelist does not include SV files containing
embeddeclaration only by @taichi-ishitani in #1923 - Fix emittion of
importdeclaration ingenerateblock by @taichi-ishitani in #1924 - Fix wrong unaliasing logic by @taichi-ishitani in #1929
- Fix unexpected moved comment around import declaration by @dalance in #1928
- Fix lsp panic by @dalance in #1930
- Remove duplicated new lines around import declaration by @dalance in #1932
- Fix emitting identifier with duplicated project prefix by @taichi-ishitani in #1936
- Fix emitting member reference of const struct by @taichi-ishitani in #1938
- Do
unassign_variablewith 1st assignment only by @taichi-ishitani in #1940 - Fix value evaluation with overflow by @dalance in #1942
- Fix lsp panic by @dalance in #1943
- Add InvalidResetNonElaborative to lsp temporary ignore error by @dalance in #1944
- Add mutex for conflictable tests by @dalance in #1946
- Update codspeed by @dalance in #1948
Full Changelog: v0.16.4...v0.16.5
v0.16.4
What's Changed
New Features 🎉
- Support embed identifier by @taichi-ishitani in #1836
- Add
error_count_limitbuild option by @taichi-ishitani in #1864 - Support
binddeclaration by @taichi-ishitani in #1887
Other Changes
- Update Parol v4 by @taichi-ishitani in #1827
- Fix
unresolvable_generic_argumenterror on member referecne via alias package by @taichi-ishitani in #1834 - Fix clippy by @dalance in #1845
- Fix analyze errors for expression identifier given as generic arg by @taichi-ishitani in #1841
- support_modport_within_proto_module_declaration by @MurakamiShun in #1849
- Resolve clippy error about large enum variant by @dalance in #1860
- Add automated npm publish by @dalance in #1861
- Check work_done_progress capability by @dalance in #1863
- Fix
invalid_reset_non_elaborativeerror for generic parameter used for reset value by @taichi-ishitani in #1879 - Fix
invalid_casterror for clock/reset variable referenced via modport by @taichi-ishitani in #1881 - Improve message of File IO error by @dalance in #1884
- Fix regex of multiline comment by @dalance in #1892
New Contributors
- @MurakamiShun made their first contribution in #1849
Full Changelog: v0.16.3...v0.16.4
v0.16.3
What's Changed
New Features 🎉
- Support omittable RHS value of proto param by @taichi-ishitani in #1778
- Support
forloop in descending order by @taichi-ishitani in #1783 - Add
fmt(skip)attribute by @taichi-ishitani in #1804 - Incremental build support by @dalance in #1823
Other Changes
- Fix
unknown_msberror for type imported from proto package by @taichi-ishitani in #1774 - Typo fix by @onsdagens in #1780
- Fix
unknown_membererror for struct type referenced via typedef by @taichi-ishitani in #1775 - Fix
invalid_msberror for array item selected by loop variable by @taichi-ishitani in #1777 - Fix compile failure of tokio-util by @dalance in #1791
- fix issue that prefix/suffix are not added to clock/reset signal in expression identifier by @taichi-ishitani in #1787
- Fix emition of boolean literal given as generic arg by @taichi-ishitani in #1792
- Fix unexpected proto type mismatch error by @taichi-ishitani in #1794
- Fix visibility of indirectly dependent projects by @taichi-ishitani in #1796
veryl fmtformats soruce files of the main project only by @taichi-ishitani in #1802- Add syntax highlight generator by @dalance in #1799
- Fix
private namespaceerror reported from dpendet project by @taichi-ishitani in #1807 - Check use of unsigned loop variable in descending order for loop by @taichi-ishitani in #1810
- Update vscode plugin dependencies by @dalance in #1811
- Add rouge support by @dalance in #1813
- Report error for fixed type with signed modifier by @taichi-ishitani in #1816
- Remove
ClockDomainscanner state by @taichi-ishitani in #1817 - Add file DAG by @dalance in #1818
- Store build time information by @dalance in #1819
- Store veryl version information by @dalance in #1822
- Add syntax highlight for sublime text by @dalance in #1825
- Fix panic on resolving generic instance with enum member generic arg by @taichi-ishitani in #1829
Full Changelog: v0.16.2...v0.16.3
v0.16.2
What's Changed
New Features 🎉
- Add const declarations to StatementBlockItems by @onsdagens in #1695
- Support reference to type symbol defined in existing package via proto package by @taichi-ishitani in #1691
- Merge Waveform Render into Veryl VS Code Extension by @pkalyankumar1010 in #1713
- Support embed declaration in component declaration by @taichi-ishitani in #1712
- Add support for including additional files for tests by @onsdagens in #1718
- Add support for additional files with cocotb runner by @jbeaurivage in #1729
- Allow to specify multiple source directories by @taichi-ishitani in #1747
Other Changes
- Fix emission of inst parameter/port item assigned by name by @taichi-ishitani in #1693
- Fix resolve error for grandchild dependencies specified by
pathfield by @taichi-ishitani in #1700 - Fix spurious
unassign variableerror by @taichi-ishitani in #1711 - Fix generic argument resolution performed during generic path resolution by @taichi-ishitani in #1715
- Replace proto package with actual package when resolving import by @taichi-ishitani in #1710
- Fix wrong filelist order by @taichi-ishitani in #1717
- Fix panic on
resolve_importedby @taichi-ishitani in #1722 - Fix panic when emitting generic function with imported proto items by @taichi-ishitani in #1724
- Remove empty inst parameter list by @taichi-ishitani in #1726
- Fix mismatch type error on proto const used for width cast by @taichi-ishitani in #1728
- Fix
invalid importerror for items defined in a proto package by @taichi-ishitani in #1732 - Fix clippy issues by @taichi-ishitani in #1742
- Resolve relationship between proto and impl when it is required by @taichi-ishitani in #1734
- Move import declarations to component header by @taichi-ishitani in #1737
- Update tower-lsp-server by @dalance in #1743
- Add aarch64-linux build by @dalance in #1741
- Place include files into the
sim_builddirectory for cocotb runner by @jbeaurivage in #1744 - Fix racing of file operations by @dalance in #1750
- Add components referenced only as alias target to filelist by @taichi-ishitani in #1749
- Fix wrong emitting location of import delcarations by @taichi-ishitani in #1759
- fix case that prefix/suffix are not added to clock/reset ports by @taichi-ishitani in #1757
- Fix issue that formatter removes RHS of proto typedef by @taichi-ishitani in #1762
- Update dependencies by @dalance in #1764
- Fix unexpected cyclic dependencies error by @taichi-ishitani in #1766
- Fix panic on function call in proto module declaration by @taichi-ishitani in #1767
- Fix compile error in testcase by @dalance in #1768
New Contributors
- @onsdagens made their first contribution in #1695
- @pkalyankumar1010 made their first contribution in #1713
- @jbeaurivage made their first contribution in #1729
Full Changelog: v0.16.1...v0.16.2
v0.16.1
What's Changed
New Features 🎉
- Support flattened array modport/instance by @taichi-ishitani in #1566
- Add a build option to hashed mangle-name by @taichi-ishitani in #1614
Other Changes
- Add profile for verylup local install by @dalance in #1591
- Rename
StripPrefixerror withInvalidSourceLocationerror by @taichi-ishitani in #1596 - Check return statement in void function by @taichi-ishitani in #1597
- Allow to use
proto constas generic argument by @taichi-ishitani in #1601 - Allow to use fixed type as argument for generic type parameter by @taichi-ishitani in #1604
- Fix resolving generic references by @taichi-ishitani in #1605
- Not resolve inner symbol of the last path element by @taichi-ishitani in #1607
- Referctor type check for generic argument by @taichi-ishitani in #1611
- Fix ignored arity check in generic function by @dalance in #1620
- Fix type dag insertion between member objects defined in packages by @taichi-ishitani in #1628
- Fix member reference via alias interface by @taichi-ishitani in #1630
- Fix clippy by @dalance in #1631
- Import generic function, struct and union as-is by @taichi-ishitani in #1624
- Fix emission of function args of which type is modport by @taichi-ishitani in #1632
- Fix emittion of mixed type function argument list by @taichi-ishitani in #1634
- Check function arity in identifier statemenit by @taichi-ishitani in #1635
- Fix emittion of alias generic interface by @taichi-ishitani in #1640
- Wrap connect statement with begin/end block by @taichi-ishitani in #1641
- Fix wrong collection of modport default members by @taichi-ishitani in #1643
- Fix member reference via generic parameter by @taichi-ishitani in #1645
- Fix emittion of struct/union member given as generic argument by @taichi-ishitani in #1647
- Remove case item indent by @dalance in #1648
- Fix nested case format by @dalance in #1649
- Fix unexpected
anonymous_identifier_usageerror on generic module instance by @taichi-ishitani in #1651 - Fix member reference via proto const by @taichi-ishitani in #1653
- Replace bit type with bool type by @taichi-ishitani in #1654
- Improve debug build performance by @dalance in #1655
- Import slicer module from pzbcm by @taichi-ishitani in #1656
- Fix emittion of referecne to function modport arg with bit select by @taichi-ishitani in #1661
- Fix stack overflow by @taichi-ishitani in #1663
- Insert type dag edge between base and actual generic arg by @taichi-ishitani in #1660
- Rename
shorten_mangled_namewithhashed_mangled_nameby @taichi-ishitani in #1682
Full Changelog: v0.16.0...v0.16.1