Chisel v7.2.0
Features
- [svsim] Add -j, --build-jobs, and --verilate-jobs (by @seldridge in #5051)
- ChiselEnum convenience functions; support string interaction (by @maartenboersma in #5036)
Convenience functions to interact between ChiselEnum and String. Allows RTL readability improvements, especially if Enum values are not yet known at compile time (e.g. decode tables in separate files) - Make BitPat accept ChiselEnum (by @maartenboersma in #5046)
BitPat now accept ChiselEnum as an input. - Add option to suppress emission of source locators (by @jackkoenig in #5053)
Users can now pass--no-source-infoto suppress emission of source locators in emitted.fir.
API Deprecation
- Add HasSerializationOverrides (by @jackkoenig in #5044)
This is a deprecated API in firrtl.annotations that is similar to HasSerializationHints but allows for overriding the serialization class like OverrideSerializationClass does for Annotations themselves.
Also remove the Annotation self typing on OverrideSerializationClass because it is pointless.
Fixes
- [svsim] Fix bugs in generated simulation code for Verilator backend. (by @xiaoh105 in #5054)
Fix therun_simulationAPI in resource filesimulation-driver.cppfor verilator backend to allow delayed events fromBlackBoxbe scheduled by Verilator properly.
Dependency Updates
- [cd] Bump CIRCT from firtool-1.131.0 to firtool-1.132.0 (by @chiselbot in #5034)
- Bump to Scala 2.13.17 (by @jackkoenig in #5039)
Note: Scala 2.13.17 has a new warning for inferred structural types as a Scala 3 compatibility issue. This warning applies to the commonval io = IO(new Bundle { ... })pattern in Chisel. It is not actually a problem because Chisel uses Programmatic Structural Types in Scala 3. You can suppress this warning in your build by adding-Wconf:msg=will no longer have a structural type:sto your scalacOptions. See configurable warnings for more details on-Wconf. - [cd] Bump CIRCT from firtool-1.132.0 to firtool-1.133.0 (by @chiselbot in #5045)
Build and Internal Changes
- [main] Enable MiMa for v7.1.1 (by @chiselbot in #5035)
- [Scala3] Move CIRCT LTL from src/main/scala-2 to src/main/scala/ (by @adkian-sifive in #5047)
- [Scala3] BundlePhase updates (by @adkian-sifive in #5043)
BundlePhase now runs after PickleQuotes to sidestep Scala 3 compiler bug scala/scala3#23793 - [Scala3] Rewrite svsim Verilator backend argument stringification (by @adkian-sifive in #5042)
Svsim Verilator Backend argument generation was refactored to work with Scala 3 - [Scala3] Add apply methods to assert, assume, cover (by @adkian-sifive in #5048)
Added Scala 3 assert, assume, cover apply methods for Scala 3 - [Scala3] Add BundleSpec and enable Scala3 CI testing (by @adkian-sifive in #5050)
Enable CI testing in Scala 3 starting with BundleSpec
Full Changelog: v7.1.1...v7.2.0