exception flag update fix
diff --git a/verilog/rtl/registers.sv b/verilog/rtl/registers.sv index 018094e..51bd760 100644 --- a/verilog/rtl/registers.sv +++ b/verilog/rtl/registers.sv
@@ -173,7 +173,7 @@ assign fflags_ns = fpu_result_valid ? exceptions[4:0] : wrdata; assign frm_ns = frm_addr ? wrdata[2:0] : wrdata[7:5]; - rvdffe #(5) fflags_ff (.clk(clk), .rst_l(rst_l), .en(wr_fflags_r | wr_fcsr_r), .din(fflags_ns[4:0]), .dout(fflags[4:0])); + rvdffe #(5) fflags_ff (.clk(clk), .rst_l(rst_l), .en(wr_fflags_r | wr_fcsr_r | fpu_result_valid), .din(fflags_ns[4:0]), .dout(fflags[4:0])); rvdffe #(3) frm_ff (.clk(clk), .rst_l(rst_l), .en(wr_frm_r | wr_fcsr_r), .din(frm_ns[2:0]), .dout(frm[2:0])); assign fcsr_read = {frm, fflags};