diff --git a/src/fpnew_aux_fsm.sv b/src/fpnew_aux_fsm.sv index 4b1c6013..7ab7763f 100644 --- a/src/fpnew_aux_fsm.sv +++ b/src/fpnew_aux_fsm.sv @@ -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 diff --git a/src/fpnew_opgroup_multifmt_slice.sv b/src/fpnew_opgroup_multifmt_slice.sv index cc6f963a..390b918c 100644 --- a/src/fpnew_opgroup_multifmt_slice.sv +++ b/src/fpnew_opgroup_multifmt_slice.sv @@ -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