Releases: chipsalliance/chisel
Releases · chipsalliance/chisel
Release list
Chisel v7.13.0
Features
- ChiselTest Compatibility Layer for Chisel 7 (by @EhsanKhodadad in #5221)
- [debug] Add circt_debug_* intrinsics for Chisel type metadata (by @fkhaidari in #5276)
Backend Code Generation
- Bump FIRRTL version to 7.0.0 (by @seldridge in #5307)
Fixes
- [core] Fix definitions not propagating domains (by @seldridge in #5355)
- Support OpaqueTypes in Lookupable (by @jackkoenig in #5400)
Documentation
- [docs] Add AI Tool Use Policy (by @seldridge in #5359)
- [documentation] Revamp PR template (by @adkian-sifive in #5363)
- Use dropdown menus per Chisel major version (by @jackkoenig in #5370)
Dependency Updates
- [cd] Bump CIRCT from firtool-1.146.0 to firtool-1.147.0 (by @chiselbot in #5356)
- [cd] Bump CIRCT from firtool-1.147.0 to firtool-1.148.0 (by @chiselbot in #5378)
- [cd] Bump CIRCT from firtool-1.147.0 to firtool-1.148.0 (by @chiselbot in #5379)
- [cd] Bump CIRCT from firtool-1.148.0 to firtool-1.149.0 (by @chiselbot in #5401)
Build and Internal Changes
- [Scala3] Move SimulatorSpec (by @adkian-sifive in #5342)
- [Scala3] Move VecSpec (by @adkian-sifive in #5343)
- [Scala3] Move ExtModuleSpec (by @adkian-sifive in #5344)
- [Scala3] Move TraceSpec (by @adkian-sifive in #5345)
- [Scala3] Move LayerSpec (by @adkian-sifive in #5347)
- [Scala3] Move ModulePrefixSpec (by @adkian-sifive in #5348)
- [Scala3] Move HasCLIOptionsSpec (by @adkian-sifive in #5350)
- [Scala3] Move ClassSpec (by @adkian-sifive in #5352)
- [Scala3] Move ChiselAnnotationSpec (by @adkian-sifive in #5353)
- [Scala3] Move PublicModuleSpec (by @adkian-sifive in #5338)
- [Scala3] Move DecoderSpec (by @adkian-sifive in #5341)
- [Scala3] Move ForceNameSpec (by @adkian-sifive in #5340)
- [main] Enable MiMa for v7.12.0 (by @chiselbot in #5358)
- [cd] Support any number of # for release notes header (by @jackkoenig in #5366)
- Bump fast-uri from 3.1.0 to 3.1.2 in /website (by @dependabot[bot] in #5296)
- Bump @babel/plugin-transform-modules-systemjs from 7.28.5 to 7.29.4 in /website (by @dependabot[bot] in #5297)
- Bump postcss from 8.5.6 to 8.5.14 in /website (by @dependabot[bot] in #5367)
- [Scala3] Move CIRCTSRAMSpec (by @adkian-sifive in #5360)
- [Scala3] Move ChiselSimSpec (by @adkian-sifive in #5351)
- [Scala3] Move ProbeSpec (by @adkian-sifive in #5337)
- Bump webpack-dev-server from 5.2.2 to 5.2.4 in /website (by @dependabot[bot] in #5368)
- [Scala3] Move WarningConfigurationSpec (by @adkian-sifive in #5346)
- [Scala3] Rename private HasId.forceName to _forceName (by @jackkoenig in #5369)
- [Scala3] Add DataView macros and move tests (by @adkian-sifive in #5334)
- [Scala3] Add SelectAPI (by @adkian-sifive in #5333)
- [Scala3] Add AutoTypeName support to BundlePhase (by @adkian-sifive in #5361)
- [Scala3] Move CloneModuleSpec (by @adkian-sifive in #5336)
- [Scala3] Move DPISpec (by @adkian-sifive in #5349)
- [Scala3] Move RawModuleSpec (by @adkian-sifive in #5339)
- [Scala3] [bugfix] BundlePhase: add manual handling of NamedArgs (by @adkian-sifive in #5373)
- [Scala3] [bugfix] Bundlephase: update field name to mangledString (by @adkian-sifive in #5371)
- [Scala3] [bugfix] BundlePhase: skip cloning by-name Bundle params (by @adkian-sifive in #5372)
- [Scala3] [bugfix] BundlePhase: update isBundle with the correct recursion guard (by @adkian-sifive in #5374)
- [Scala3] Update BundleSelect to support refined structural type access (by @adkian-sifive in #5362)
- [Scala3] NamingPhase: fix naming for things inside Option/Iterables (by @adkian-sifive in #5381)
- [Scala3] Move BetterNamingTests (by @adkian-sifive in #5382)
- [Scala3] Move AutoBlackboxSpec (by @adkian-sifive in #5364)
- [Scala3] Move FixedIOModuleSpec (by @adkian-sifive in #5385)
- [Scala3] Add source locators to BitsIntf, move BitwiseSpec (by @adkian-sifive in #5395)
- [Scala3] Move tests to src/test/scala/ (by @adkian-sifive in #5388)
- [Scala3] Move TestingDirectorySpec (by @adkian-sifive in #5390)
- [Scala3] Update MuxIntf shape to match Scala 2, move spec (by @adkian-sifive in #5392)
- [Scala3] Update ModuleChoice.apply to match Scala 2, move tests (by @adkian-sifive in #5391)
- [Scala3] Add staging to Scala 3 test build in build.mill (by @adkian-sifive in #5386)
- Scala 2: skip mixing in IsInstantiable if mixed in already (by @adkian-sifive in #5384)
New Contributors
- @EhsanKhodadad made their first contribution in #5221
- @fkhaidari made their first contribution in #5276
Full Changelog: v7.12.0...v7.13.0
Chisel v7.12.0
Features
- [core] Synchronous, Rational Clock Domains (by @seldridge in #5270)
- API to set extmodule defname separately from desiredName (by @trmckay in #5281)
- [core] Add ClockDomain assert helpers (by @seldridge in #5290)
- Add BaseModule.ignoreParentPrefix (by @jackkoenig in #5292)
API Deprecation
- Deprecate Scala versions <= 2.13.8 (by @jackkoenig in #5295)
Backend Code Generation
Dependency Updates
- [cd] Bump CIRCT from firtool-1.144.0 to firtool-1.145.0 (by @chiselbot in #5282)
- [cd] Bump CIRCT from firtool-1.145.0 to firtool-1.145.1 (by @chiselbot in #5285)
- [cd] Bump CIRCT from firtool-1.145.0 to firtool-1.145.1 (by @chiselbot in #5286)
- [cd] Bump CIRCT from firtool-1.145.1 to firtool-1.146.0 (by @chiselbot in #5287)
Build and Internal Changes
- [main] Enable MiMa for v7.11.0 (by @chiselbot in #5275)
- [Scala3] Add Definition/Instance API (by @adkian-sifive in #5277)
- [Scala3] Add Instantiate API (by @adkian-sifive in #5278)
- [Scala3] Bugfix: AffectsChiselPrefix bug in plugin helpers (by @adkian-sifive in #5289)
- [Scala3] Move InstanceNameSpec (by @adkian-sifive in #5293)
- [Scala3] Remove prefix.applyString and add apply handling in NamingPhase (by @adkian-sifive in #5294)
- [Scala3] Move Mem and SRAM tests (by @adkian-sifive in #5288)
Full Changelog: v7.11.0...v7.12.0
Chisel v7.11.0
Features
- [core] Add Wire association support (by @seldridge in #5251)
- Add DynamicGroup for runtime-defined option groups (by @uenoku in #5229)
- Add LTL past operator (by @fabianschuiki in #5260)
- svsim: add configurable expect failure value formatting (by @MrAMS in #5222)
API Deprecation
- Deprecate Convert phase (by @jackkoenig in #5258)
Fixes
- [bugfix] Rename Module def layers to moduleLayers (by @adkian-sifive in #5261)
- Rename all object interface traits, $ => Obj (by @jackkoenig in #5274)
Documentation
- Bump picomatch from 2.3.1 to 2.3.2 in /website (by @dependabot[bot] in #5246)
- Bump node-forge from 1.3.2 to 1.4.0 in /website (by @dependabot[bot] in #5252)
- Bump path-to-regexp from 0.1.12 to 0.1.13 in /website (by @dependabot[bot] in #5253)
- Bump brace-expansion from 1.1.12 to 1.1.13 in /website (by @dependabot[bot] in #5254)
- [NFC] Use FileCheck for LTLSpec, use doc refs in LTL comments (by @fabianschuiki in #5262)
- Bump lodash from 4.17.23 to 4.18.1 in /website (by @dependabot[bot] in #5264)
- Update mdoc to 2.9.0 (by @scala-steward in #5267)
- Bump follow-redirects from 1.15.11 to 1.16.0 in /website (by @dependabot[bot] in #5271)
Dependency Updates
- [cd] Bump CIRCT from firtool-1.143.0 to firtool-1.144.0 (by @chiselbot in #5257)
- Update scalatest to 3.2.20 (by @scala-steward in #5247)
- Bump firtool-resolver to 2.1.0 (by @jackkoenig in #5266)
- [scala3] Cross-build the plugin against 3.8.3 (by @jackkoenig in #5272)
- Bump firtool-resolver to 2.1.1 (by @jackkoenig in #5273)
Build and Internal Changes
- [main] Enable MiMa for v7.10.0 (by @chiselbot in #5245)
- Update Github Actions (by @jackkoenig in #5269)
Full Changelog: v7.10.0...v7.11.0
Chisel v7.10.0
Features
- Add asReset cast for bools (by @fabianschuiki in #5207)
- Add Instance Choice Support to ChiselSim (by @uenoku in #5228)
- [svsim] Add control of
-debug_access(by @seldridge in #5234) - Add domain subfield access operation (by @seldridge in #5238)
- Add string concatenation support (by @seldridge in #5241)
- Add domain instantiation operation (by @seldridge in #5239)
API Modification
- Change ClockDomain fields, period -> synchronousTo (by @seldridge in #5237)
Fixes
- Add InstanceChoiceBinding, fix bulk connect of instance choice (by @jackkoenig in #5236)
Documentation
- Bump qs from 6.14.1 to 6.14.2 in /website (by @dependabot[bot] in #5210)
- Bump ajv in /website (by @dependabot[bot] in #5211)
- Bump svgo from 3.3.2 to 3.3.3 in /website (by @dependabot[bot] in #5224)
- Bump minimatch and serve-handler in /website (by @dependabot[bot] in #5225)
- Fix minor typo in LFSR documentation comment (by @nibrunieAtSi5 in #5235)
Dependency Updates
- [cd] Bump CIRCT from firtool-1.140.0 to firtool-1.141.0 (by @chiselbot in #5214)
- [cd] Bump CIRCT from firtool-1.141.0 to firtool-1.141.1 (by @chiselbot in #5215)
- [cd] Bump CIRCT from firtool-1.141.1 to firtool-1.142.0 (by @chiselbot in #5226)
- [cd] Bump CIRCT from firtool-1.142.0 to firtool-1.143.0 (by @chiselbot in #5242)
Build and Internal Changes
- [main] Enable MiMa for v7.9.0 (by @chiselbot in #5209)
- [Scala3] Add support for handling unapplys in NamingPhase (by @adkian-sifive in #5198)
- [Scala3] Move BitPatSpec and 14 other files (by @adkian-sifive in #5217)
- [scala3] Cross-build the plugin against 3.8.2 (by @jackkoenig in #5223)
Full Changelog: v7.9.0...v7.10.0
Chisel v7.9.0
Features
- Add parameter to ExtModule for requirements (by @trmckay in #5174)
- svsim: add Verilator coverage settings and reporting (by @MrAMS in #5200)
Fixes
- Bugfix: .toDefinition should update Builder.definitions (by @azidar in #5197)
- Fix memory corruption in svsim (by @fabianschuiki in #5203)
- Fix .toDefinition called on imported definition (by @azidar in #5206)
Dependency Updates
- [cd] Bump CIRCT from firtool-1.139.0 to firtool-1.140.0 (by @chiselbot in #5195)
Build and Internal Changes
- [main] Enable MiMa for v7.8.0 (by @chiselbot in #5194)
- [build] Use Mill 1.1.1-6-480a23 (by @jackkoenig in #5196)
- [build] Revert back to Mill 1.0.6 (by @jackkoenig in #5204)
- Bump webpack from 5.103.0 to 5.105.0 in /website (by @dependabot[bot] in #5201)
Full Changelog: v7.8.0...v7.9.0
Chisel v7.8.0
Features
- Add noModulePrefix (by @trmckay in #5147)
- Add chisel3.SimulationTestHarnessInterface and chisel3.SimulationTestHarness (by @trmckay in #5155)
- Add FlattenInstanceAllowDedup (by @jackkoenig in #5162)
- layer: add requireNotElideBlocksContext. (by @dtzSiFive in #5164)
- Add RunUntilFinished and RunUntilSuccess stimulus for SimulationTestHarnessInterface (by @trmckay in #5175)
- Add ChiselSim.simulateTest and SimulationTestStimulus (by @trmckay in #5176)
- Allow ChiselSim to link in prebuilt software libraries (by @fabianschuiki in #5189)
- Add ChiselSim Settings.defaultTest for SimulationTestHarnessInterface modules (by @trmckay in #5192)
Fixes
- [core] Add elideBlocks to Instantiate cache key (by @seldridge in #5150)
- [core] Propagate elideBlocks state in D/I (by @seldridge in #5152)
- Respect period parameter in InlineTestStimulus (by @trmckay in #5177)
- Fix timeout behavior of InlineTestStimulus (by @trmckay in #5180)
Build and Internal Changes
- [scala3] Implement SourceInfoMacro for Scala 3 (by @jackkoenig in #5139)
- [main] Enable MiMa for v7.7.0 (by @chiselbot in #5143)
- [Scala3] Add cross-compiling tests (by @adkian-sifive in #5141)
- [ci] Increase timeout for ChiselSim test to 60 seconds (by @jackkoenig in #5146)
- Enhance CI with separate buckets for Scala 2 and 3 (by @jackkoenig in #5145)
- Bump mikepenz/release-changelog-builder-action to v6.0.1 (by @jackkoenig in #5144)
- [scala3] Generate source locators for modules in compiler plugin (by @jackkoenig in #5149)
- [scala3] Bump to Scala 3.3.7 (by @jackkoenig in #5151)
- Prepare macros subproject for Scala 3 (by @jackkoenig in #5156)
- [scala3] Add initial support for publishing for Scala 3 (by @jackkoenig in #5157)
- [Scala3] Add Bundle parent field handling as in Scala 2 (by @adkian-sifive in #5154)
- [Scala3] Handle private Bundle parameters (by @adkian-sifive in #5153)
- [Scala3] Move AnalogIntegration, AsyncReset, Connect, Reset specs (by @adkian-sifive in #5165)
- Bump lodash from 4.17.21 to 4.17.23 in /website (by @dependabot[bot] in #5166)
- Add mill command to test modules marked as UnitTest (by @fabianschuiki in #5163)
- [Scala3] Bugfix: Add recursive checking for enclosing members (by @adkian-sifive in #5167)
- [Scala3] Move ValidSpec (by @adkian-sifive in #5169)
- [Scala3] Move DecoupledSpec (by @adkian-sifive in #5159)
- Limit unit tests to Chisel runpath; align closer with ScalaTest (by @fabianschuiki in #5171)
- Add simple module elaboration tracing to generate flamegraphs (by @fabianschuiki in #5168)
- [Scala3] Move AutoClonetypeSpec and 13 other tests (by @adkian-sifive in #5172)
- [Scala3] Move TypeAliasSpec and 11 other tests (by @adkian-sifive in #5173)
- [scala3] Start publishing SNAPSHOTs for Scala 3 (by @jackkoenig in #5178)
- Update mill bootstrap script (by @jackkoenig in #5181)
- [Scala3] Bugfix: Use correct printf.appy in PrintfIntf (by @adkian-sifive in #5183)
- [scala3] Add support for ScalaDoc (by @jackkoenig in #5184)
- [Scala3] Add Switch macro and move SwitchSpec (by @adkian-sifive in #5179)
- [Scala3] Bugfix: Correctly handle overriden values in BundlePhase field extraction (by @adkian-sifive in #5186)
- [Scala3] Implement ChiselEnum macro (by @adkian-sifive in #5182)
- [Scala3] Move ComplexAssign and 30 other tests (by @adkian-sifive in #5188)
- [scala3] Split LTL public API (by @jackkoenig in #5193)
Full Changelog: v7.7.0...v7.8.0
Chisel v7.7.0
Features
Fixes
- Use DedupGroup Phase in ChiselStage$ (by @seldridge in #4728)
- Add a workaround to verification directory path problem on Windows and firtool 1.138.0 (by @Siudya in #5134)
- [svsim] Fix deadlock in long simulations by flushing expectation queue (by @Emin017 in #5132)
Documentation
- Bump qs from 6.14.0 to 6.14.1 in /website (by @dependabot[bot] in #5136)
Dependency Updates
- [cd] Bump CIRCT from firtool-1.138.0 to firtool-1.139.0 (by @chiselbot in #5140)
Build and Internal Changes
- [main] Enable MiMa for v7.6.0 (by @chiselbot in #5131)
Full Changelog: v7.6.0...v7.7.0
Chisel v7.6.0
Features
- [core] Add associate method for Seq of ports (by @seldridge in #5122)
- Add runpath option to UnitTests main (by @fabianschuiki in #5125)
Backend Code Generation
- Fix name prefixing from views on rhs of connection (by @jackkoenig in #5117)
Previously views when used on the LHS of a connection operator, views would provide the prefixview_. Now, at least for 1-1 views, the prefix is derived from the name of the target of the view. This is a common issue when usingFlatIO.
Fixes
- Add source locators to more module kinds (by @seldridge in #5116)
- [svsim] Improve error message on illegal poke (by @seldridge in #5124)
Dependency Updates
- Update commons-text to 1.15.0 (by @scala-steward in #5119)
Build and Internal Changes
- [main] Enable MiMa for v7.5.0 (by @chiselbot in #5113)
- Update mdoc to 2.8.1 (by @scala-steward in #5120)
- [Scala3] Update BundlePhase to handle Bundles with type parameters (by @adkian-sifive in #5126)
Full Changelog: v7.5.0...v7.6.0
Chisel v7.5.0
API Deprecation
- Move ExtModule and Params out of experimental (by @seldridge in #5099)
- [core] Deprecate ExtModule, Params in experimental (by @seldridge in #5101)
- [core] Deprecate ExtModule utility traits (by @seldridge in #5102)
- [core] Deprecate BlackBox in favor of ExtModule (by @seldridge in #5103)
Fixes
- Support simple views in domain association (by @jackkoenig in #5106)
Also give a useful error message for non-simple views. - Fix boring taps of views of ExtModule ports (by @jackkoenig in #5110)
This is a common issue when usingFlatIOwithExtModules. - Support absolute path source locators (by @jackkoenig in #5111)
The default behavior of Scala-cli is to use a Bloop server running in the root directory for compilation. This results in absolute paths in for source locators at compile time, but our logic had assumed we always had relative paths and was manually stripping the leading forward slash in source locator paths. Instead, we strip the leading forward slash for relative paths by including it in the path prefix we remove, and then in error reporting we add support for paths that are already absolute.
Documentation
- Update mdoc to 2.7.2 (by @scala-steward in #5095)
- [website] npm update to fix security vulnerabilities (by @jackkoenig in #5105)
Dependency Updates
- Update json4s-native to 4.1.0 (by @scala-steward in #5094)
- Update commons-text to 1.14.0 (by @scala-steward in #5093)
- [cd] Bump CIRCT from firtool-1.137.0 to firtool-1.138.0 (by @chiselbot in #5108)
Build and Internal Changes
- [main] Enable MiMa for v7.4.0 (by @chiselbot in #5091)
- Remove all panama related stuff (by @jackkoenig in #5104)
Remove all Panama-related code. Refresh lit-based tests and put them in CI. - Simplify cross build (by @jackkoenig in #5098)
You now run mill cross builds with just major version, e.g.mill chisel[2.13].compileandmill chisel[3].compilerather thanmill chisel[2.13.18].compileandmill chisel[3.3.4].compile.
Full Changelog: v7.4.0...v7.5.0
Chisel v7.4.0
API Modification
- Make object Type in ClassType public (by @adkian-sifive in #5075)
Update object Type in properties ClassType to be public - Add SimulationTest marker (by @fabianschuiki in #4849)
Fixes
- [svsim] Use filelist for source files (by @seldridge in #5070)
- [svsim] Fix FSDB generation for VCS 2024+ (by @seldridge in #5071)
Documentation
- [chisel3.simulator.scalatest.Cli] fixing EmitVpd option description (by @nibrunieAtSi5 in #5072)
Dependency Updates
- [cd] Bump CIRCT from firtool-1.135.0 to firtool-1.136.0 (by @chiselbot in #5069)
- Bump to Scala 2.13.18 (by @jackkoenig in #5081)
- [cd] Bump CIRCT from firtool-1.136.0 to firtool-1.137.0 (by @chiselbot in #5090)
Build and Internal Changes
- [main] Enable MiMa for v7.3.0 (by @chiselbot in #5068)
- Add missing implies for BitsIntf (by @adkian-sifive in #5055)
Addimpliessupport to Scala 3 Bits - Bump to mill 1.0.6 (by @jackkoenig in #5079)
- [Scala3] Add missing PrintfIntf implementation (by @adkian-sifive in #5086)
Add missing Scala3 PrintfIntf implementation - [Scala3] Support multiple parameter lists for Bundles (by @adkian-sifive in #5085)
Support multiple parameter lists in Bundles - [Scala3] Add support for Selectable Modules (by @adkian-sifive in #5087)
Make Modules Selectable in Scala 3
Full Changelog: v7.3.0...v7.4.0