valid out bug fix
diff --git a/verilog/rtl/user_proj_example.sv b/verilog/rtl/user_proj_example.sv
index 1c056fc..c660de5 100644
--- a/verilog/rtl/user_proj_example.sv
+++ b/verilog/rtl/user_proj_example.sv
@@ -86,6 +86,7 @@
   wire [31:0] addr;        
 
   wire        wb_valid_f;
+  wire        wb_valid_ns;
 
   assign la_write_en              = |la_write;
   assign addr                     = la_write_en ? la_addr : rdwraddr;
@@ -190,7 +191,9 @@
   
   assign valid_out                = {sqrt_valid_out,div_valid_out,valid_in[8:0]};
 
-  rvdff #(1) wb_valid_ff (.clk(clk), .rst_l(rst_l), .din(wb_valid), .dout(wb_valid_f));
+  assign wb_valid_ns              = |valid_out ? wb_valid : wb_valid_f;
+
+  rvdff #(1) wb_valid_ff (.clk(clk), .rst_l(rst_l), .din(wb_valid_ns), .dout(wb_valid_f));
 
 // return output data according to module enable
   assign {out, exceptions}        = ({37{illegal_op}}                   & {32'b0      ,5'b0              })  |