Skip to content

Releases: Wren6991/Hazard3

v1.0.1

12 Oct 19:12
8272910
Compare
Choose a tag to compare

This point release fixes one erratum from the previous release, v1.0:

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

This erratum mainly affects debugger memory downloads without the use of System Bus Access. It is not present on the Hazard3 version used on RP2350.

This release also contains some minor documentation updates since v1.0, clarifying PMP region types supported by 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)

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

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