Skip to content

Releases: Wren6991/Hazard3

v1.0

08 Aug 06:11
Compare
Choose a tag to compare

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)

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

v1.0-rc2

17 Mar 06:01
Compare
Choose a tag to compare
v1.0-rc2 Pre-release
Pre-release

Besides some new tests, script updates and maintenance, this release fixes the following three errata from the previous release:

  • Unpredictable behaviour when Zcmp cm.popret is interrupted during the PC-setting uop step: fixed by 2f6e983
  • SBA accesses fail to make progress when the processor clock is gated during sleep: fixed by c11581e
  • New SBA reads can still be initiated whilst sbcs.sberror or sbcs.sbbusyerror are set, causing spurious downstream reads and address increments: fixed by af08c0b

This release candidate has the following known errata:

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

v1.0-rc1

31 Mar 03:39
Compare
Choose a tag to compare
v1.0-rc1 Pre-release
Pre-release

This release candidate has the following known errata, fixed in later releases:

  • Unpredictable behaviour when Zcmp cm.popret is interrupted during the PC-setting uop step: fixed by 2f6e983
  • SBA accesses fail to make progress when the processor clock is gated during sleep: fixed by c11581e
  • New SBA reads can still be initiated whilst sbcs.sberror or sbcs.sbbusyerror are set, causing spurious downstream reads and address increments: fixed by af08c0b
  • PMPCFG fields R and X are transposed: fixed by 7d37029
  • mstatus.mie is not ignored in U-mode: fixed by a84742a