Merge branch 'CHERI' into jdw57-512axi
This commit is contained in:
@@ -147,6 +147,7 @@ module mkCoreW (CoreW_IFC #(t_n_irq));
|
||||
`endif
|
||||
, .ifc}
|
||||
<- mkCoreW_reset ( rst, reset_by newRst.new_rst);
|
||||
(* no_implicit_conditions, fire_when_enabled *)
|
||||
rule rl_forward_debug_reset (otherRst);
|
||||
newRst.assertReset;
|
||||
endrule
|
||||
|
||||
@@ -519,6 +519,8 @@ function DecodeResult decode(Instruction inst, Bool cap_mode);
|
||||
dInst.csr = tagged Invalid;
|
||||
dInst.execFunc = tagged Br AT;
|
||||
|
||||
if (funct3 != 0) illegalInst = True;
|
||||
|
||||
dInst.capChecks.check_enable = True;
|
||||
dInst.capChecks.check_low_src = Src1Addr;
|
||||
dInst.capChecks.check_high_src = Src1AddrPlus2;
|
||||
@@ -542,14 +544,18 @@ function DecodeResult decode(Instruction inst, Bool cap_mode);
|
||||
|
||||
opcBranch: begin
|
||||
dInst.iType = Br;
|
||||
dInst.execFunc = tagged Br (case(funct3)
|
||||
fnBEQ: Eq;
|
||||
fnBNE: Neq;
|
||||
fnBLT: Lt;
|
||||
fnBLTU: Ltu;
|
||||
fnBGE: Ge;
|
||||
fnBGEU: Geu;
|
||||
endcase);
|
||||
ExecFunc execFunc = ?;
|
||||
{illegalInst, execFunc} = case(funct3)
|
||||
fnBEQ: tuple2(False, Br(Eq));
|
||||
fnBNE: tuple2(False, Br(Neq));
|
||||
fnBLT: tuple2(False, Br(Lt));
|
||||
fnBLTU: tuple2(False, Br(Ltu));
|
||||
fnBGE: tuple2(False, Br(Ge));
|
||||
fnBGEU: tuple2(False, Br(Geu));
|
||||
default: tuple2(True, Br(?));
|
||||
endcase;
|
||||
dInst.execFunc = execFunc;
|
||||
|
||||
regs.dst = Invalid;
|
||||
regs.src1 = Valid(tagged Gpr rs1);
|
||||
regs.src2 = Valid(tagged Gpr rs2);
|
||||
|
||||
Reference in New Issue
Block a user