Releases: Wren6991/Hazard3
Releases · Wren6991/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)
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