Skip to content

Chisel v3.5.0-RC2

Compare
Choose a tag to compare
@jackkoenig jackkoenig released this 21 Dec 20:12

Please see the porting guide for upgrading from Chisel 3.4.[1]

3.5.0-RC2 includes all changes from 3.5.0-RC1 so please see the RC1 release notes.

Chisel is built on top of FIRRTL so some FIRRTL changes can affect Chisel users, please see the FIRRTL 1.5.0-RC2 release notes as well.

Feature

  • Add BitSet API (#2211)
  • Implement DataViews for Seq and Tuple (#2277)
  • Improve Data.toString (#2197)
  • implement trace API. (#2077)
  • Add type parameter support for @instantiable (#2206)
  • Support @public on unimplemented vals (#2182)
  • Circular-shift (rotate) operations for UInt (#1140)

API Changes

  • Require the chisel3 compiler plugin (#2271)
    The chisel3 compiler plugin is now required. See https://github.com/chipsalliance/chisel3#build-your-own-chisel-projects for instructions on how to add it to your project.
  • Refactor TruthTable to use Seq (#2217) -- this is changed from RC1
  • Remove v3.4.0 version of autoNameRecursively (#2149)
  • Remove .toBools (#2170)
  • Remove ChiselExecutionOptions and HasChiselExecutionOptions (#2267)
  • refactor Queue.hasFlush: Boolean to Queue.flush: Option[Bool]. (#2245) -- change from RC1
  • Remove all Bundle cloneTypes and chiselRuntimeDeprecate its use (#2052)
    This is technically an API change but due to the new chisel3 compiler plugin requirement, it should not affect users

API Deprecations

  • deprecate getModulePorts (#2284)
  • Deprecate chisel3.internal.firrtl.Port (#2302)
    Deprecate (instead of removing) chisel3.internal.firrtl.Port. Fix deprecation warnings on public APIs that return this type and add ScalaDoc to replacement APIs.
  • Deprecate chisel3.BackendCompilationUtilities (#2257)
  • Deprecate computeName (#2192)
  • Add nullary .fire to Valid and deprecate dummy version (#2156)
  • Deprecate auto-application of empty argument lists to parameterless functions (#2124)

BugFix

  • catch None.get in BitPat.apply(x: UInt): BitPat (#2276)
  • Fix isACloneOf (#2205)
  • Definition name index skipping with D/I (#2249)
  • Fixed bug with unary minus on FixedPoint and Interval (#2154)
  • Fix naming of unwrapped val io in Chisel.Modules (#2150)

Dependency Bumping

  • Update sbt to 1.5.7 (#2303)
  • Update sbt to 1.5.6 (#2300)
  • Update os-lib to 0.8.0 (#2301)
  • Add scala 2.13.7 to plugin build list (#2228)
  • Update sbt-mima-plugin to 1.0.1 (#2176)
  • Update sbt-ci-release to 1.5.10 (#2183)
  • Update sbt-scalafix to 0.9.33 (#2262)
  • Update sbt-site to 1.4.1 (#1676)
  • Update sbt-unidoc to 0.5.0
  • Update sbt-mdoc to 2.2.24 (#2196)
  • Update sbt-scoverage to 1.9.2 (#2229)
  • Update sbt-ci-release to 1.5.9 (#2139)
  • Update scalatest to 3.2.10 (#2140)

Miscellany

  • Improve exception message for aliased bundle fields (#2304)
  • [docs] Add "Upgrading From Chisel 3.4 to 3.5" (#2275)
  • Better MonoConnect error messages (#2248)
  • Add support for dynamic indexing on Vec identity views (#2298)
  • [docs] Update versioning appendix to include 3.5 (#2293)
  • [docs] Remove body from minimizing output bits recipe (#2290)
  • [docs] add minimizing output bits recipe (#2278)
  • reduceTree() now operates on Seq (#2292)
  • Add Hierarchy trait (#2204)
  • add documentation to decoder. (#2254)
  • Update bundles-and-vecs.md (#2173)
  • Update experimental-features.md (#2175)
  • Add field grouping ScalaDoc for ArbiterIO (#2208)
  • Add field grouping ScalaDoc for other subclasses of Bundle (#2214)
  • Exposing more APIs from D/I internals (#2220)
  • Add Select APIs for Hierarchy package (#2210)
  • Add java reflection to hierarchy (#2209)
  • [docs] Improve tieoff Bundle to 0 (#2218)
  • Fix GaloisLFSR comments (#2178)
  • [docs] Remove workaround for fixed issue in mdoc crash blocks (#2147)
  • Fix typos in documentation (#2141)
  • verification: fix off by one error in deprecation message (#2135)
  • make all verification statements publically available (#2089)

[1] You can contribute to the porting doc by opening PRs against https://github.com/chipsalliance/chisel3/blob/master/docs/src/appendix/upgrading-from-chisel-3-4.md