Releases: veryl-lang/veryl
Releases Β· veryl-lang/veryl
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
StripPrefix
error withInvalidSourceLocation
error by @taichi-ishitani in #1596 - Check return statement in void function by @taichi-ishitani in #1597
- Allow to use
proto const
as 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_usage
error 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_name
withhashed_mangled_name
by @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
els
attribute withelse
by @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
connect
keyword 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 = true
with 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
type
parameter 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 ofstd
lib 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
ref
direction by @taichi-ishitani in #1351 - Remove
export
declaration 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
--check
option forveryl build
by @dalance in #1348 - Support package alias by @taichi-ishitani in #1342
- Support module and interface alias by @taichi-ishitani in #1374
- Add
same
direction 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
bool
type by @taichi-ishitani in #1389 - Struct constructor support by @dalance in #1418
- Create git repo and default .gitignore at
veryl new/init
by @dalance in #1437 - Introduce
connect
operation by @taichi-ishitani in #1423 - Function call with named argument by @dalance in #1452
- Add
veryl migrate
to 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
--test
argument 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 --version
by @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 clean
based on generated file history by @dalance in #1436 - Multi-line case item support by @dalance in #1441
- Fix invalid
unassigned variable
error 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
v0.14.0
What's Changed
Breaking Changes π
- Remove variable declaration from package by @taichi-ishitani in #1305
New Features π
- [Fix] Basic Support for File Renaming and Deleting by @Hamster5295 in #1226
- Introduce new type checker by @dalance in #1216
- Check type at assignment by @dalance in #1239
- Trace parameter overrides through instantiation by @dalance in #1264
- Check type at port connection by @dalance in #1240
- Support clock domain annotation for interface instance by @taichi-ishitani in #1279
- Add align attribute by @dalance in #1283
- Support default member of modport by @dalance in #1288
- Enable assign to concatenation by @dalance in #1298
Other Changes
- Fix unexpected unassigned variable error by @taichi-ishitani in #1231
- Fix reset type in async_fifo_reset_sync.veryl by @dalance in #1232
- Enable unasigned variable check on instance of module specified by generic by @taichi-ishitani in #1233
- Fix syntax error at type with modifier in expression by @dalance in #1236
- Fix miss fomratted SV by @taichi-ishitani in #1237
- Fix SV format around default port value by @dalance in #1245
- Update parol to v2 by @dalance in #1247
- Move create_reference to analyze_post_pass1 by @dalance in #1254
- Fix wrong namespace by #1254 by @dalance in #1255
- Identify abstract interface type by @dalance in #1262
- Use serde's default for impl Default by @dalance in #1263
- Move InstanceHistory to thread local storage by @dalance in #1265
- Introduce text_table by @dalance in #1266
- Error with multi sources support by @dalance in #1267
- Fix panic at unconnected port by @dalance in #1269
- Fix missing table drop on languageserver by @dalance in #1270
- Multi-line concatenation support by @dalance in #1276
- Emit let declaration into single line by @dalance in #1284
- Fix mis-formatting of nested multi-line concatenation by @dalance in #1285
- Migrate to Rust 2024 by @dalance in #1274
- Format short if expression into single line by @dalance in #1286
- Fix panic caused by modport with defalut member by @dalance in #1289
- Fix wrong port definition by @taichi-ishitani in #1290
- Fix infinite recursive caused by wrong modport namespace by @dalance in #1291
- Fix wrong too_large_number error for unsized zero by @dalance in #1292
- Fix lsp panic by @dalance in #1293
- [WIP] Introduce
package
generic boundary by @taichi-ishitani in #1294 - Fix panic on some parse failure by @dalance in #1295
- Fix lsp panic on compilation by @dalance in #1297
- Add veryl-simulator crate by @dalance in #1301
- Remove ScopedBaseIdentifier by @taichi-ishitani in #1303
- Fix panic on emitting based zero value by @dalance in #1302
- Multi-line array literal support by @dalance in #1306
- Improve analyzer performance by @dalance in #1310
- Fix mdbook-veryl checking order by @dalance in #1313
- Handle cocotb execute error by @dalance in #1316
- Disable package generic boundary temporarily by @dalance in #1317
New Contributors
- @Hamster5295 made their first contribution in #1226
Full Changelog: v0.13.5...v0.14.0
v0.13.5
What's Changed
New Features π
- Introduce
inst
generic boundary by @taichi-ishitani in #1192 - Support to override dependencies with local path by @dalance in #1206
Other Changes
- Fix codspeed abort by @dalance in #1176
- Resolve SymbolId of user defined types after pass1 by @dalance in #1183
- Improve VarRefPath::included performance by @dalance in #1184
- Remove unnecessary error constructor by @dalance in #1185
- Add workaround for VCS bug by @taichi-ishitani in #1195
- Add link to web site by @taichi-ishitani in #1196
- Allow benches on non-Linuxes by @jsinger67 in #1199
Full Changelog: v0.13.4...v0.13.5
v0.13.4
What's Changed
New Features π
- Support relative path dependency by @dalance in #1099
- Apply ifdef attributes in statement block by @taichi-ishitani in #1136
- Add mux/demux modules to std library by @taichi-ishitani in #1148
- Support port default value by @taichi-ishitani in #1164
Other Changes
- Stabilize filelist order by @dalance in #1104
- Fix unexpected member resolution error by @taichi-ishitani in #1107
- Add RgGen to
Related Projects
section by @taichi-ishitani in #1111 - Fix unknown member error on generic interface by @taichi-ishitani in #1115
- Fix mis-indent of case item with comment by @dalance in #1117
- Fix panic with explicit clock and implicit reset by @dalance in #1116
- Restrict use of anonymous identifier by @taichi-ishitani in #1124
- Introduce separator checker by @taichi-ishitani in #1129
- Fix panic on
check_var_ref
checker by @taichi-ishitani in #1130 - Fix unexpected enum variant resolution by @taichi-ishitani in #1134
- Remove trailing comma from concatenation and array literal by @taichi-ishitani in #1135
- Fix issue that
generic_references
are unexpectedly cleared by @taichi-ishitani in #1138 - Fix unexpected identifier emittion by @dalance in #1143
- Merge
create_type_dag
handler withcreate_reference
handler by @taichi-ishitani in #1147 - Implement variable assignment check in function call by @taichi-ishitani in #1152
- Refactor
msb
check and emittion by @taichi-ishitani in #1154 - Fix issue that
unassign_variable
error is reported many times unexpectedly by @taichi-ishitani in #1157 - Fix ambiguous error message for
invalid_assignment
error by @taichi-ishitani in #1159 - Remove analyzer error from benchmark by @dalance in #1168
- Raise error for package referecne before defnition by @taichi-ishitani in #1170
- Change build status with warnings to success by @dalance in #1179
- Temporarily disable port default value for function by @taichi-ishitani in #1181
Full Changelog: v0.13.3...v0.13.4
v0.13.3
What's Changed
New Features π
- Add pre-defined vector types by @taichi-ishitani in #1044
- Remove map and doc files by
clean
command by @taichi-ishitani in #1061 cond_type
attribute by @dalance in #1043- Support generic interface with modport by @taichi-ishitani in #1089
- Support width cast by @taichi-ishitani in #1095
Other Changes
- Raise error when unassigned variable is refered by @taichi-ishitani in #1036
- Fix unexpected unassigned variable error by @taichi-ishitani in #1063
- Fix broken map path by @dalance in #1067
- Add filelist test by @dalance in #1068
- Remove files including test only from generated filelist by @taichi-ishitani in #1064
- Remove unused dependencies from filelist by @dalance in #1072
- Clear resolve cache by each test by @dalance in #1074
- Merge aligner into emitter/formatter by @dalance in #1083
- Expand imported name in generics mangling by @dalance in #1084
- Add
Publications
section to README by @taichi-ishitani in #1090 - Fix language server panic on Windows by @dalance in #1093
- Fix resolve of generic interface with imported items by @dalance in #1096
Full Changelog: v0.13.2...v0.13.3
v0.13.2
What's Changed
New Features π
Other Changes
- Fix wrong modport separator by @taichi-ishitani in #1025
- Filelist order considering generics by @dalance in #1026
- Allow to use loop variable as reset value by @dalance in #1027
- Resolve imported generic arguments by @dalance in #1034
- Improve error message by unresolvable generic argument by @dalance in #1035
Full Changelog: v0.13.1...v0.13.2
v0.13.1
What's Changed
Other Changes
- Add shell completion support by @dalance in #965
- Treat genvar as static value by @dalance in #974
- Add
#[inline(never)]
toexpression*
as a workaround for long time compilation by @dianqk in #976 - Add workaround for long compile time and enable LTO by @dalance in #977
- Allow msb for port by @dalance in #979
- Allow type with generic parameter as generic argument by @dalance in #989
- Fix error by repeated generics usage by @dalance in #993
- Fix case item misindent by @dalance in #994
- Fix format of generic argument by @dalance in #995
- Change minimum supported version of VSCode to 1.51.0 by @dalance in #1008
- Fix member access failure of generic instance by @dalance in #1009
- Report error for interface port with direction by @taichi-ishitani in #1010
- Execute
type check
afeter resolving generics by @taichi-ishitani in #1011
New Contributors
Full Changelog: v0.13.0...v0.13.1