Add Hazard3's registered marchid value to hdl and docs

This commit is contained in:
Luke Wren 2021-11-28 19:46:08 +00:00
parent 1aa9dbcddd
commit 94a3d43f27
7 changed files with 1106 additions and 934 deletions

File diff suppressed because it is too large Load Diff

View File

@ -27,12 +27,13 @@ Vendor identifier. Read-only, configurable constant.
Address: `0xf12`
Architecture identifier for Hazard3. Read-only, configurable constant.
Architecture identifier for Hazard3. Read-only, constant.
[cols="10h,20h,~", options="header"]
|===
| Bits | Name | Description
| 31:0 | - | Default is currently all-zeroes as Hazard3 is unregistered.
| 31 | - | 0: Open-source implementation
| 30:0 | - | 0x1b (decimal 27): the https://github.com/riscv/riscv-isa-manual/blob/master/marchid.md[registered] architecture ID for Hazard3
|===
@ -291,7 +292,7 @@ Counter inhibit. Read-write. The table below lists the fields which are _not_ ha
|===
| Bits | Name | Description
| 2 | `ir` | When 1, inhibit counting of `minstret`/`minstreth`
| 0 | `cy` | When 1, inhibit counting
| 0 | `cy` | When 1, inhibit counting of `mcycle`/`mcycleh`
|===
==== mhpmevent3...31

View File

@ -247,7 +247,6 @@ hazard3_cpu_1port #(
.EXTENSION_ZBS (EXTENSION_ZBS),
.CSR_COUNTER (CSR_COUNTER),
.MVENDORID_VAL (MVENDORID_VAL),
.MARCHID_VAL (MARCHID_VAL),
.MIMPID_VAL (MIMPID_VAL),
.MHARTID_VAL (MHARTID_VAL),
.REDUCED_BYPASS (REDUCED_BYPASS),

View File

@ -76,9 +76,6 @@ parameter NUM_IRQ = 32,
// 31:7 is continuation code count, 6:0 is ID. Parity bit is not stored.
parameter MVENDORID_VAL = 32'h0,
// Architecture ID for Hazard3, currently 0 because unregistered. (TODO)
parameter MARCHID_VAL = 32'h0,
// Implementation ID for this specific version of Hazard3. Git hash is perfect.
parameter MIMPID_VAL = 32'h0,

View File

@ -16,7 +16,6 @@
.DEBUG_SUPPORT (DEBUG_SUPPORT),
.NUM_IRQ (NUM_IRQ),
.MVENDORID_VAL (MVENDORID_VAL),
.MARCHID_VAL (MARCHID_VAL),
.MIMPID_VAL (MIMPID_VAL),
.MHARTID_VAL (MHARTID_VAL),
.REDUCED_BYPASS (REDUCED_BYPASS),

View File

@ -604,7 +604,8 @@ always @ (*) begin
end
MARCHID: if (CSR_M_MANDATORY) begin
decode_match = !wen_soon; // MRO
rdata = MARCHID_VAL;
// Hazard3's open source architecture ID
rdata = 32'd27;
end
MIMPID: if (CSR_M_MANDATORY) begin
decode_match = !wen_soon; // MRO

View File

@ -191,7 +191,6 @@ hazard3_cpu_2port #(
.DEBUG_SUPPORT (1),
.NUM_IRQ (NUM_IRQ),
.MVENDORID_VAL (32'hdeadbeef),
.MARCHID_VAL (32'hfeedf00d),
.MIMPID_VAL (32'h12345678),
.MHARTID_VAL (32'h0),
.REDUCED_BYPASS (0),