diff --git a/hdl/Makefile b/hdl/Makefile deleted file mode 100644 index 41ed439..0000000 --- a/hdl/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -DOTF=hazard3.f -TOP=hazard3_alu - -include $(SCRIPTS)/formal.mk diff --git a/hdl/hazard3_config.vh b/hdl/hazard3_config.vh index 6efac3d..44dc685 100644 --- a/hdl/hazard3_config.vh +++ b/hdl/hazard3_config.vh @@ -65,6 +65,9 @@ parameter MARCHID_VAL = 32'h0, // Implementation ID for this specific version of Hazard3. Git hash is perfect. 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 diff --git a/hdl/hazard3_config_inst.vh b/hdl/hazard3_config_inst.vh index 0a8d67b..a6ec8a3 100644 --- a/hdl/hazard3_config_inst.vh +++ b/hdl/hazard3_config_inst.vh @@ -13,6 +13,7 @@ .MVENDORID_VAL (MVENDORID_VAL), .MARCHID_VAL (MARCHID_VAL), .MIMPID_VAL (MIMPID_VAL), +.MHARTID_VAL (MHARTID_VAL), .REDUCED_BYPASS (REDUCED_BYPASS), .MULDIV_UNROLL (MULDIV_UNROLL), .MUL_FAST (MUL_FAST), diff --git a/hdl/hazard3_csr.v b/hdl/hazard3_csr.v index e5bb895..ba740a5 100644 --- a/hdl/hazard3_csr.v +++ b/hdl/hazard3_csr.v @@ -506,8 +506,7 @@ always @ (*) begin end MHARTID: if (CSR_M_MANDATORY) begin decode_match = !wen_soon; // MRO - // There is only one hart, and spec says this must be numbered 0. - rdata = {XLEN{1'b0}}; + rdata = MHARTID_VAL; end MSTATUS: if (CSR_M_MANDATORY || CSR_M_TRAP) begin