Skip to content

Chipyard Release 1.14.0

Latest

Choose a tag to compare

@jimfangx jimfangx released this 22 Jun 01:24

Chipyard 1.14.0 contains numerous new RTL, simulation, FPGA, toolchain, and documentation updates.

Chipyard is now returning to regular releases at a 3-4 month pace!

Major Features

  • AWS F2 support for FireSim, including F2-oriented FireSim bumps, build fixes, and new bitstreams.
  • Limited/Trial Chisel 7 support for Chipyard submodules that can be compiled against Chisel 7.13.0.
  • Modular / “lite” Chipyard builds with a reduced list of initialized submodules.
  • Multichip and CTC improvements, including CTC link support, multi-port CTC configurations, per-chiplet GraphML artifacts, and synchronized simulation success across chiptops.
  • Zephyr RTOS support in Chipyard.
  • Early version of Radiance/GPU project integration.
  • New/improved Chipyard config examples: async reset configs, externally clocked GCD, I2C peripheral, FastRAM, triple chiplet, JTAG/GDB debugging docs, and Intel/Altera FPGA support for FPGA Shells prototyping
  • Misc. CI, conda, and toolchain updates.

Full Release Notes

Added

Changed

  • Modularized Chipyard to support “lite” builds with a minimal subset of submodules (by @jerryz123 in #2212)
  • Modularized out most submodules and cores (by @jerryz123 in #2287)
  • Updated Chisel/Scala versions and submodules for newer Chisel annotation APIs (by @tymcauley in #2207)
  • Removed deprecated Rocket Chip annotation API usage (by @tymcauley in #2206)
  • Updated Chisel 7 version to 7.13.0 and enabled verification/assert layers for Chisel 7 simulations (by @tynan-jdwk in #2348)
  • Updated Rocket Chip, BOOM, Shuttle, Saturn, Spike, Gemmini, testchipip, riscv-spike-devices, and other submodules across the release
  • Added support for SRAM depth/width lists and explicit legal SRAM configuration combinations (by Richard Yan in #2303)
  • Improved Serial-TL PhyParams naming (by @jerryz123 in #2165)
  • Removed the hammer-mentor-plugins submodule from default Chipyard (by @elamdf in #2184)
  • Removed cake-pattern requirements from no-IO devices and several examples/submodules (by @jerryz123 in #2214)
  • Removed no-dont-touch workaround after the relevant CIRCT bug was fixed (by @jerryz123 in #2222)
  • Allowed overriding firtool in PATH with the FIRTOOL_BIN flag (by @jerryz123 in #2284)
  • Made scripts/init-submodules.sh more macOS-friendly (by @jerryz123 in #2279)
  • Added modern bash detection on macOS (by @jerryz123 in #2285)
  • Fixed support for non-GNU sed (by @jerryz123 in #2286)
  • Switched insert-includes.py to modern Python 3 (by @jerryz123 in #2288)
  • Unpolluted the init-submodules script (by @jerryz123 in #2294)
  • Made RISCV environment checks more precise so they only run for make targets that require RISCV (by @jerryz123 in #2282)
  • Relaxed simulator PATH checks for VCS, Verilator, and Xcelium (by @jerryz123 in #2280)
  • Added conda environment setup checks to the build flow (by @Fi50 in #2225)
  • Updated docs to note that libmamba is now the default conda solver (by @antonblanchard in #2132)
  • Precompiled marshal sources during build-setup.sh (by @raghav-g13 in #2107)
  • Avoided setting a nondefault CMAKE_RUNTIME_OUTPUT_DIRECTORY in tests (by @jerryz123 in #2106)
  • Disabled Ara CI / reduced Ara-related CI load (by @jerryz123 in #2099)
  • Temporarily disabled FPU model optimizations (by @abejgonzalez in #2157)

Fixed

  • Fixed FireChip CTCFireSimConfig to match new CTC changes (by @jimfangx in #2333)
  • Renamed BlockDevBridge.scala so the module is recognized in Goldengate (by @marie-anne-xu in #2318)
  • Fixed CTC bridge cycle-accuracy and improved CTC bridge/config/docs support
  • Synchronized simulation success between chiptops and added configurable success functions (by @schwarz-em in #2326)
  • Fixed single-clock broadcasting binder behavior and added an option for one IO cell per clock (by Richard Yan in #2321)
  • Updated BOOMv3 for RoCC fix (by Tianrui Wei in #2250)
  • Bumped BOOM for LSU exception overflow fix (by Tianrui Wei in #2200)
  • Bumped BOOM for LSU ordering fix (by Tianrui Wei in #2071)
  • Bumped vector components to fix whole-register vill behavior (by @jerryz123 in #2221)
  • Fixed glibc/setup behavior by replacing glibc with the system version and regenerating lockfiles (by @marie-anne-xu in #2271)
  • Pinned which to version 2.21 and a previous build to avoid environment breakage (by @jimfangx in #2325)
  • Bumped sysroot to fix VCS ABI incompatibility and regenerated lockfiles (by @hansungk in #2174)
  • Downgraded bcrypt<4.0.0 for FireSim on AWS EC2 CentOS 7 (by @abejgonzalez in #2087)
  • Fixed CI failures and CI documentation links/typos (by @jerryz123 in #2283, #2193)
  • Fixed documentation reference link syntax (by @ha0lyu in #2297)
  • Fixed Spike documentation to use EXTRA_SIM_FLAGS instead of EXTRA_SPIKE_FLAGS (by @HakamAtassi in #2217)
  • Bumped testchipip for DPI function changes and Xcelium-related fixes (by @tymcauley in #2262)
  • Bumped testchipip for improved cosimulation APIs with multiple RAMs (by @jerryz123 in #2064)
  • Added setup/build cleanup to prevent common failures (by @abejgonzalez in #2219, by @Fi50 in #2224, #2226)
  • Updated local bitstreams for BOOM LSU ordering fix (by @jerryz123 in #2072)

Other Direct Commits / Release-Branch Updates

  • Added documentation updates and build fixes.
  • Added dependencies to allow documentation builds on macOS.
  • Added new bitstreams.
  • Pinned FireSim commit with F2 support for AGFI builds.
  • Added libnuma and numactl packages to resolve conda environment issues.
  • Bumped Saturn and Shuttle.
  • Performed a round of submodule bumps for diplomacy, caliptra-aes-acc, compress-acc, fft-generator, gemmini, icenet, mempress, and nvdla where no code-level changes were included.

Full Changelog

Full Changelog: 1.13.0...1.14.0


Generators & Submodule updates

FireSim

Bump to: 1e65914

Rocket-Chip

Bump to: 55bcad0

Shuttle

Bump to: 622f08b

Constellation

Bump to: c1b42cd

  • Fix issue #86 for Chisel 7 compatibility: do not evaluate output of states().fifo_deps Reg if it was never assigned (by Maarten Boersma in ucb-bar/constellation#87)
  • Add custom topology and custom routing algorithms to Constellation (by Yash Kodali in ucb-bar/constellation#85)

Hardfloat

Bump to: 0ecaef0

Rocket Chip Blocks

Bump to: f8c7fdd

Rocket Chip Inclusive Cache

Bump to: 85420cf

testchipip

Bump to: 26f821b

Saturn Vectors

Bump to: dfe75de