Allow MHARTID to be configured at instantiation

This commit is contained in:
Luke Wren 2021-07-07 16:08:08 +01:00
parent 58a6b8b4c8
commit 6a38fc33a6
4 changed files with 5 additions and 6 deletions

View File

@ -1,4 +0,0 @@
DOTF=hazard3.f
TOP=hazard3_alu
include $(SCRIPTS)/formal.mk

View File

@ -65,6 +65,9 @@ parameter MARCHID_VAL = 32'h0,
// Implementation ID for this specific version of Hazard3. Git hash is perfect. // Implementation ID for this specific version of Hazard3. Git hash is perfect.
parameter MIMPID_VAL = 32'h0, parameter MIMPID_VAL = 32'h0,
// Each core has a single hardware thread. Multiple cores should have unique IDs.
parameter MHARTID_VAL = 32'h0,
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// Performance/size options // Performance/size options

View File

@ -13,6 +13,7 @@
.MVENDORID_VAL (MVENDORID_VAL), .MVENDORID_VAL (MVENDORID_VAL),
.MARCHID_VAL (MARCHID_VAL), .MARCHID_VAL (MARCHID_VAL),
.MIMPID_VAL (MIMPID_VAL), .MIMPID_VAL (MIMPID_VAL),
.MHARTID_VAL (MHARTID_VAL),
.REDUCED_BYPASS (REDUCED_BYPASS), .REDUCED_BYPASS (REDUCED_BYPASS),
.MULDIV_UNROLL (MULDIV_UNROLL), .MULDIV_UNROLL (MULDIV_UNROLL),
.MUL_FAST (MUL_FAST), .MUL_FAST (MUL_FAST),

View File

@ -506,8 +506,7 @@ always @ (*) begin
end end
MHARTID: if (CSR_M_MANDATORY) begin MHARTID: if (CSR_M_MANDATORY) begin
decode_match = !wen_soon; // MRO decode_match = !wen_soon; // MRO
// There is only one hart, and spec says this must be numbered 0. rdata = MHARTID_VAL;
rdata = {XLEN{1'b0}};
end end
MSTATUS: if (CSR_M_MANDATORY || CSR_M_TRAP) begin MSTATUS: if (CSR_M_MANDATORY || CSR_M_TRAP) begin