Releases: Wren6991/Hazard3
v1.0.1
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
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
andhazard3_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:
v1.0-rc2
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
orsbcs.sbbusyerror
are set, causing spurious downstream reads and address increments: fixed by af08c0b
This release candidate has the following known errata:
v1.0-rc1
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
orsbcs.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