Fix jump target being unstable during a CIR-locked branch-to-self on a partial predicted branch match, due to the addr_is_regoffs decode not being tied off.
This commit is contained in:
parent
8ef9d77be8
commit
173f5dba9d
|
@ -347,16 +347,17 @@ always @ (*) begin
|
||||||
else if (d_invalid && !d_starved)
|
else if (d_invalid && !d_starved)
|
||||||
d_except = EXCEPT_INSTR_ILLEGAL;
|
d_except = EXCEPT_INSTR_ILLEGAL;
|
||||||
end
|
end
|
||||||
if (cir_lock_prev) begin
|
if (partial_predicted_branch) begin
|
||||||
d_branchcond = BCOND_NEVER;
|
|
||||||
end else if (partial_predicted_branch) begin
|
|
||||||
d_addr_is_regoffs = 1'b0;
|
d_addr_is_regoffs = 1'b0;
|
||||||
d_branchcond = BCOND_ALWAYS;
|
d_branchcond = BCOND_ALWAYS;
|
||||||
end
|
end
|
||||||
|
if (cir_lock_prev) begin
|
||||||
|
d_branchcond = BCOND_NEVER;
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
`ifndef YOSYS
|
`ifndef YOSYS
|
||||||
`default_nettype wire
|
`default_nettype wire
|
||||||
`endif
|
`endif
|
||||||
|
|
Loading…
Reference in New Issue