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};