Skip to content

Commit

Permalink
Improved synchronization in case of faults in division and prevented …
Browse files Browse the repository at this point in the history
…potential cases where a bitflip causes a stall due to

activating a division lane that does not exist.
  • Loading branch information
Maurus Item committed Jul 4, 2024
1 parent 38dbfa1 commit 7a7fc6f
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/fpnew_aux_fsm.sv
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ module fpnew_aux_fsm #(
assign in_ready[NUM_INP_REGS] = fsm_in_ready;

// Done when all active lanes are done
assign fsm_ready = &(lane_fsm_ready_i | ~held_lane_active);
assign fsm_ready = &lane_fsm_ready_i;

// FSM to safely apply and receive data from DIVSQRT unit
always_comb begin : flag_fsm
Expand Down
2 changes: 1 addition & 1 deletion src/fpnew_opgroup_multifmt_slice.sv
Original file line number Diff line number Diff line change
Expand Up @@ -477,7 +477,7 @@ or on 16b inputs producing 32b outputs");
assign local_result = {(LANE_WIDTH){lane_ext_bit[0]}}; // sign-extend/nan box
assign lane_status[lane] = '0;
assign in_lane_active[lane] = 1'b0; // Lane does not exist, it can never be active
assign lane_fsm_ready[lane] = 1'b0; // Lane does not exist, it can not be ready
assign lane_fsm_ready[lane] = 1'b1; // Lane does not exist, it is always ready just in case erronous data gets to the FSM in this slot
end

// Generate result packing depending on float format
Expand Down

0 comments on commit 7a7fc6f

Please sign in to comment.