🐛 Fix missed exception

This commit is contained in:
Florian Zaruba 2017-08-28 17:17:43 +02:00
parent 940a586873
commit c0f7a36e66
2 changed files with 5 additions and 3 deletions

View file

@ -92,7 +92,7 @@ module branch_unit (
branch_result_o = next_pc;
// save PC - we need this to get the target row in the branch target buffer
// we play this trick with the branch instruction which wraps a byte boundary:
// we play this trick with the branch instruction which wraps a word boundary:
// /---------- Place the prediction on this PC
// \/
// ____________________________________________________

View file

@ -224,6 +224,8 @@ module load_unit (
if (ex_i.valid) begin
// the next state will be the idle state
NS = IDLE;
// pop load
pop_ld_o = 1'b1;
end
// if we just flushed and the queue is not empty or we are getting an rvalid this cycle wait in a extra stage
@ -247,9 +249,9 @@ module load_unit (
valid_o = 1'b1;
end
// an exception occurred during translation
if (CS == WAIT_TRANSLATION && ex_i.valid) begin
if (ex_i.valid) begin
valid_o = 1'b1;
// if we are waiting for the translation to finish do not give a valid signal
// if we are waiting for the translation to finish do not give a valid signal yet
end else if (CS == WAIT_TRANSLATION) begin
valid_o = 1'b0;
end