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: