Skip to content

v1.0

Compare
Choose a tag to compare
@Wren6991 Wren6991 released this 08 Aug 06:11
· 6 commits to stable since this release

This is the first stable release of Hazard3. It fixes the following errata from the v1.0-rc2 release candidate:

  • PMPCFG fields R and X are transposed: fixed by 7d37029
  • mstatus.mie is not ignored in U-mode: fixed by a84742a

It adds one new hardware feature:

  • Set the misa.b bit when ZbaZbbZbs are all present (B was recently ratified as this combination)

It contains the following improvements:

  • Fix compatibility issues with Verilator related to parameter-controlled widths of parameters
  • General RTL cleanup: now lint-clean with Verilator
  • Updates to documentation including documenting all top-level ports of hazard3_cpu_1port and hazard3_cpu_2port
  • Updates to Readme.md instructions to work with the latest versions of tools
  • Updates to software Makefiles etc to all work with the GCC 14 configuration recommended in Readme.md
  • Remove global environment variables like $PROJ_ROOT which caused issues like #8
  • Minor PPA improvements due to streamlining of Zcmp decode, and decoding bypass controls at the end of stage 1
  • Improvements to the rvcpp simulator to cover more Hazard3 implementation-defined behaviour (and all of its ISA support)
  • Fix fence.i being promoted to a trap in Debug mode (this was a deliberate choice at the time but is confusing/inconsistent; fixed by 96e0e66)

This release has one known erratum:

  • Abstract access commands initiated via abstractauto access the wrong core GPR: reported in #20, fixed by cb700f3.

The attached documentation PDF is built from this tag. It contains one known documentation erratum:

  • The encoding tables for h3.bextm and h3.bextmi are incorrect as they duplicate bits 1:0; discussed in #17, fixed in f14432c