Releases: veryl-lang/veryl
Releases Β· veryl-lang/veryl
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
v0.16.0
What's Changed
Breaking Changes π
- Keep directory hierarchy for
target = {type = "directory"}by @dalance in #1513 - Change clock domain annotation symbol to
'by @dalance in #1517 - Unsupport enum/struct/union declarations in interface declaration by @taichi-ishitani in #1521
- Support typed generic boundary by @taichi-ishitani in #1548
- Forbid last item with ifdef in comma-separated list by @dalance in #1572
- Forbid project name starting with
__by @dalance in #1580
New Features π
- Introduce proto alias declaration by @taichi-ishitani in #1473
- Add elsif/else attribute by @dalance in #1453
- Implement modport expansion by @taichi-ishitani in #1512
- Skip to write files if no change by @dalance in #1518
- Define default project structure by @dalance in #1531
- Introduce interface prototype by @taichi-ishitani in #1532
- Introduce u8, u16, i8 and i16 fixed types by @taichi-ishitani in #1537
- Allow to use modport as function argument by @taichi-ishitani in #1554
- Implement AXI4, AXI3, AXI4-Lite interfaces and prototypes in veryl_std. by @janschiefer in #1577
Other Changes
- Fix path override of dependency is ignored by @dalance in #1479
- Refactor first/last token by @dalance in #1477
- Fix unexpected error by reset value initialized by function by @dalance in #1482
- Add checks for modport default member by @taichi-ishitani in #1483
- Fix unequivalent migration for if expression by @taichi-ishitani in #1490
- Fix detecting recursive function call as cyclic type error by @taichi-ishitani in #1489
- Fix panic at expression in package by @dalance in #1493
- Fix unexpected emission of #[els] by @dalance in #1494
- Rename
elsattribute withelseby @taichi-ishitani in #1495 - Improve analyze_pass3 performance by @dalance in #1497
- Fix clog2 evaluation by @dalance in #1498
- Fix unexpected error on LSP until background task done by @dalance in #1505
- Fix align after multi-line items by @dalance in #1507
- Change to tower-lsp-server by @dalance in #1510
- Highlight
connectkeyword by @taichi-ishitani in #1516 - Insert cast to enum variant value by @taichi-ishitani in #1522
- Detect identifier matched with type name as duplicated identifier by @taichi-ishitani in #1524
- Support assignment for number literal to clock/reset type by @taichi-ishitani in #1526
- Check non meaningful generic parameter by @taichi-ishitani in #1529
- Allow disabling analyzer_pass for performance debug by @dalance in #1530
- Fix ignored
omit_project_prefix = truewith generics by @dalance in #1535 - Trace member of generic parameter type by @dalance in #1492
- Fix link by @taichi-ishitani in #1540
- Fix wrong format at inst with empty port list by @dalance in #1545
- Move type_dag construction to post_pass1 by @dalance in #1546
- Fix namespace mismatch between symbol and namespace_table by @taichi-ishitani in #1551
- Trace
typeparameter by @taichi-ishitani in #1552 - Fix tracing type generic bound by @taichi-ishitani in #1555
- Fix incorrect format for empty body block with block comments by @taichi-ishitani in #1559
- Fix panic on adding symbol for enum item by @taichi-ishitani in #1561
- Evaluate enum member value if it is possible by @taichi-ishitani in #1568
- Fix errors related to proto interface by @taichi-ishitani in #1570
- Fix symbol resolution for generic instance with project prefix by @taichi-ishitani in #1575
- Remove
$character from project prefix ofstdlib by @taichi-ishitani in #1576 - Remove
$from emitted component name by @taichi-ishitani in #1584 - Fix width calcuration for width-less based number literal by @taichi-ishitani in #1586
- Remove unnecessary prefix from struct types and add some typedef by @taichi-ishitani in #1587
New Contributors
- @janschiefer made their first contribution in #1577
Full Changelog: v0.15.0...v0.16.0
v0.15.0
What's Changed
Breaking Changes π
- Remove
refdirection by @taichi-ishitani in #1351 - Remove
exportdeclaration by @taichi-ishitani in #1367 - Change dependency syntax by @dalance in #1373
- Simplify if expression notation by @taichi-ishitani in #1457
New Features π
- Introduce proto package by @taichi-ishitani in #1336
- Add fmt(compact) attribute by @dalance in #1335
- Add
--checkoption forveryl buildby @dalance in #1348 - Support package alias by @taichi-ishitani in #1342
- Support module and interface alias by @taichi-ishitani in #1374
- Add
samedirection to modport default member by @dalance in #1381 - Support default clock and reset by @taichi-ishitani in #1386
- Add waveform format option / Implement waveform for cocotb by @hellow554 in #1388
- Introduce
booltype by @taichi-ishitani in #1389 - Struct constructor support by @dalance in #1418
- Create git repo and default .gitignore at
veryl new/initby @dalance in #1437 - Introduce
connectoperation by @taichi-ishitani in #1423 - Function call with named argument by @dalance in #1452
- Add
veryl migrateto migrate breaking changes by @dalance in #1465
Other Changes
- Add build feature to avoid feature conflict by @dalance in #1338
- Suppress unexpected output of veryl fmt --check by @dalance in #1341
- Add var as nettype to module port by @dalance in #1345
- Fix panic at path selection of SystemVerilog items by @dalance in #1355
- Add timeout to LSP test by @dalance in #1358
- Introduce define context to symbol resolver by @dalance in #1357
- Fix panic at SystemVerilog member select by @dalance in #1360
- Treat symbols in $sv as static by @dalance in #1362
- Add contextual visibility check by @taichi-ishitani in #1365
- Add license check by cargo-deny by @dalance in #1366
- Report error for member reference via factor type variable by @taichi-ishitani in #1369
- Fix unexpected error at converse of modport having partial members by @dalance in #1382
- Support clock and reset inside interface by @dalance in #1385
- Fix unexpected symbol resolution failures related to alias by @taichi-ishitani in #1387
- Support nested generics by @taichi-ishitani in #1397
- Raise error for specifying imported function as modport member by @taichi-ishitani in #1407
- fix build_args with non
--testargument by @hellow554 in #1409 - Fix unexpected failure at SystemVerilog interface member by @dalance in #1417
- Fix unexpected output of SystemVerilog modport by @dalance in #1420
- Add commit hash to
veryl --versionby @dalance in #1425 - Add nightly build by @dalance in #1426
- Adjust version notation by @dalance in #1427
- Fix build failure caused by parallel build by @dalance in #1435
- Accurate
veryl cleanbased on generated file history by @dalance in #1436 - Multi-line case item support by @dalance in #1441
- Fix invalid
unassigned variableerror when using system function by @taichi-ishitani in #1443 - Fix conflict with creating cache directories by @dalance in #1451
- Fix panic at appling import on symbol_table by @dalance in #1449
- Remove entries defined in the given file from var_ref_list by @taichi-ishitani in #1466
- Fix wrong unused variable error for variable used as default clock by @taichi-ishitani in #1467
- Fix resolve error of sv struct members by @dalance in #1472
New Contributors
- @hellow554 made their first contribution in #1388
Full Changelog: v0.14.1...v0.15.0
v0.14.1
What's Changed
New Features π
Other Changes
- Optimize syntax definition by @dalance in #1318
- Fix mismatch type error of SystemVerilog modport by @dalance in #1319
- Fix zero width number emission by @dalance in #1320
- Update parol to v3 by @dalance in #1325
- Check usage of mangled enum member by @dalance in #1326
- Fix broken msb by @dalance in #1329
- Keep variable type through unary operation by @dalance in #1332
Full Changelog: v0.14.0...v0.14.1