Skip to content

Chisel v6.1.0

Compare
Choose a tag to compare
@jackkoenig jackkoenig released this 23 Feb 19:39
· 107 commits to 6.x since this release
1880906

Features

  • Support checking isVisible with reflect.DataMirror (by @poemonsense in #3753)
  • Provide ImplicitClock and ImplicitReset (backport #3714) (by @mergify[bot] in #3769)
    These traits implement the functionality formerly only implemented in Module such that they can now be used by RawModules. They also define new protected virtual methods implicitClock and implicitReset that can be overridden within Module to change what values are used as the implicit clock and implicit reset respectively.
  • Support isLit for Property types. (backport #3782) (by @mergify[bot] in #3789)
    Since we override litOption to always be None, we need to override isLit to check the Binding.
  • Support isProperty query in DataMirror. (backport #3783) (by @mergify[bot] in #3790)
    This adds an API to DataMirror to query if a Data is a Property.
  • Support Property in BoringUtils. (backport #3784) (by @mergify[bot] in #3791)
    This adds support for BoringUtils.bore to bore and connect Property ports.
  • Add a new DynamicObject.apply method to create Class instances. (backport #3792) (by @mergify[bot] in #3797)
    This is in addition to the existing support in Definition.apply. Sometimes it is not possible to use Definition.apply, for example, if you plan to bore ports through the Class being constructed. The new DynamicObject.apply method supports this, and creates a DynamicObject from the newly elaborated Class.
  • Make SRAMInterface parameters publicly available (backport #3826) (by @mergify[bot] in #3828)
    memSize, dataType, numReadPorts, numWritePorts, numReadwritePorts, masked parameters are now visible for SRAMInterface.
  • Add Property expressions, starting with addition. (backport #3810) (by @mergify[bot] in #3843)
    This allows Properties to be used to build up expressions in terms of input Properties and literals.
  • Add Property expression for integer multiplication. (backport #3844) (by @mergify[bot] in #3845)
    This adds an API for integer Property multiplication.
  • Add Property expression for integer shift right. (backport #3846) (by @mergify[bot] in #3850)
    This adds an API for integer Property shift right.
  • Add DataProduct for Iterables and primitive types (backport #3856) (by @mergify[bot] in #3860)

Fixes

  • Support === on empty Aggregates (by @jackkoenig in #3747)
  • Fix Reg() to properly handle clocks as rvalues (backport #3775) (by @mergify[bot] in #3780)
    • Clocks are now properly supported by DataView (including FlatIO)
    • Users will also received better error messages when providing invalid clocks to Reg()
  • Report source locator in when scoping error messages (backport #3804) (by @mergify[bot] in #3808)
  • Fix visibility for views (backport #3818) (by @mergify[bot] in #3821)
    DataMirror.isVisible and other things checking visibility now work properly for views.
  • [svsim] Better error message when verilator not on PATH (backport #3829) (by @mergify[bot] in #3833)
  • Remove extra bit from SRAMInterface address width (backport #3830) (by @mergify[bot] in #3840)
  • [svsim] Make EphemeralSimulator multi-processing friendly (backport #3847) (by @mergify[bot] in #3849)
    • Grab a unique temporary directory for every invocation using Java API
    • Allow multiple EphemeralSimulators to run in the same JVM (no longer necessary to single-thread)
    • Use pure Scala code to recursively delete directory at end rather than platform specific rm -rf

Documentation

  • [docs] Minor updates to README and SETUP for Chisel 6 (by @jackkoenig in #3745)
  • Update CONTRIBUTING.md (backport #3785) (by @mergify[bot] in #3788)
    Update CONTRIBUTING instructions to clarify backport process and branch to target.

Dependency Updates

  • de-bump to sbt 1.9.7 (backport #3852) (by @mergify[bot] in #3854)
    De-bumping to sbt 1.9.7 to avoid glibc issues for users, manifesting as:
    java.lang.UnsatisfiedLinkError: Error looking up function 'stat': java: undefined symbol: stat
    
  • Add Scala 2.13.13 to cross-build (backport #3851) (by @mergify[bot] in #3864)

Build and Internal Changes

  • [main] Enable MiMa for v6.0.0 (by @chiselbot in #3743)
  • Enhance release notes automation (by @jackkoenig in #3751)
    • Bump mikepenz/release-changelog-builder-action to v4.1.1
    • It now tabs every line included in the Release Notes section of the PR template
  • Update Scala CLI Template (backport #3757) (by @mergify[bot] in #3861)
    • Use "dep" instead of deprecated "lib"
    • Move ChiselStage import above import chisel3._
      • This makes users less likely to run into issues adding import chisel3.util._
    • Bump versions in Github workflows

Full Changelog: v6.0.0...v6.1.0