Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency edu.berkeley.cs:chisel3 to v3.6.1 #10

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jan 30, 2025

This PR contains the following updates:

Package Update Change
edu.berkeley.cs:chisel3 (source) minor 3.5.5 -> 3.6.1

Release Notes

chipsalliance/chisel (edu.berkeley.cs:chisel3)

v3.6.1: Chisel v3.6.1

Compare Source

Features

API Deprecation

Backend Code Generation

Performance

Fixes

Documentation

Dependency Updates

Build and Internal Changes

Full Changelog: chipsalliance/chisel@v3.6.0...v3.6.1

v3.6.0: Chisel v3.6.0

Compare Source

The primary change in Chisel v3.6.0 is the transition from the Scala FIRRTL Compiler to the new MLIR FIRRTL Compiler. This will have a minimal impact on typical Chisel user APIs but a large impact on custom compiler flows. For more information, please see the ROADMAP.

Try it out using this Scastie! Also check out the API Docs.

Highlights

Deprecations

Note that many more deprecations are coming before the release of 3.6.0.

  • Compatibility mode (import Chisel._)
  • The Scala FIRRTL Compiler (import firrtl._)
    • This includes custom annotations and transformations
  • FixedPoint and related APIs
  • Intervals and related APIs
  • All public APIs in package chisel3.internal, these should never have been public
  • group API
  • chisel3.stage.ChiselStage, use circt.stage.ChiselStage instead
  • forceName on components, MFC only supports forceName on module instances
  • loadMemoryFromFile SFC Details (#​2986)
  • Protobuf emission
  • CIRCTStage
  • NoRunFirrtlCompilerAnnotation
  • LegacyModule, LegacyBlackbox, and ImplicitInvalidate

For users who wish to continue using the Scala FIRRTL Compiler or other removed APIs for the time being, please see Migration Off Deprecated Features below.

Removals

Many APIs deprecated in Chisel 3.5 have been removed in Chisel 3.6.
This includes (but is not limited to):

  • cloneType is now generated for Records, it is an error to implement cloneType manually
  • MultiIOModule (use Module)
  • Parenthesized forms of zero-arity methods (eg. .asUInt() is removed, use .asUInt)
  • RawModule.getPorts and chisel3.getModulePorts
  • stop with non-zero return code
  • APIs expecting hardware Strings (printf, assert, and assume) will error if you use a Data in an s-interpolated String (s"..."), use cf"..." instead.

Performance Improvements

The MLIR FIRRTL Compiler is much faster than the Scala FIRRTL Compiler (3-7x). Users should should substantial speedups by switching to using MFC.

In addition, while there have been many performance improvements to Chisel itself included in the 3.5 release line, there are some new improvements that only apply to 3.6. Preliminary results show a speedup of 22% and 5% reduction in heap use. These results are sensitive to particular user designs so actual results may vary.

Other Changes

  • New warnings for mismatched widths in dynamic bit selection of UInts
  • Add experimental Instantiate API for multiply instantiating modules
  • Support generate structured decoder with DecodeTable
  • SystemVerilog Parameters for BlackBoxes are now emitted in alphabetical order
  • Several APIs were moved between packages inside of chisel3
    • eg. chisel3.experimental.ChiselEnum was moved to package chisel3
  • CIRCT Intrinsics
  • Tweak MuxLookup API and add MuxLookup.fromEnum

Migration from Chisel 3.5

3.6.0 includes everything from 3.5.6 and before. Some features are newly deprecated in 3.5.6 that are removed in 3.6.0. Please bump to 3.5.6 before attempting to upgrade to 3.6.0.

Migration Off Deprecated Features

All users are encouraged to stop using deprecated features and migrate to the MLIR FIRRTL Compiler; however this may be difficult for some users. For users who depend on deprecated features for which there is no obvious replacement, please reach out to the Chisel developers by filing an issue: https://github.com/chipsalliance/chisel3/issues.

For those who cannot migrate yet and would like to suppress warnings about moving off of the Scala FIRRTL Compiler, you can use Scala's configurable warning support, to suppress the specific warnings. The easiest way to do this is to add the following Scalac option to your build flow: -Wconf:msg=Importing from firrtl:s". This will silence the warnings telling you to move off of SFC.

v3.5.6: Chisel v3.5.6

Compare Source

Deprecation

  • Deprecate TruthTable.sort (#​2935)
  • Promote ChiselEnum user APIs from experimental (#​2929)

Performance

  • Implement compressed Namespace (#​2856)
  • Improve performance of ChiselEnum annotations (#​2923)
  • TruthTable improvements: structural equality (#​2935)

BugFix

  • Fix names of OpaqueTypes in fullModulePorts (#​2845)
  • Make PriorityMux stack safe (#​2854)
  • Fix string interpolation in util.exprimental.decode.bitset (#​2882)
  • Check for Vec subaccess in NamedComponent and throw a nicer error (#​2907)

Other

  • Add versionScheme (PVP) to SBT publish settings (#​2871)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants