operation csr logic fix
diff --git a/verilog/rtl/registers.sv b/verilog/rtl/registers.sv index 582db3b..018094e 100644 --- a/verilog/rtl/registers.sv +++ b/verilog/rtl/registers.sv
@@ -138,8 +138,8 @@ wire [12:0] op_ns; assign addr_op = (addr[31:0] == OPERATION); - assign wr_op = addr_op && wren; - assign op_ns = wrdata; + assign wr_op = |op_valids | (addr_op && wren); + assign op_ns = |op_valids ? 13'b0 : wrdata; rvdffe #(13) op_ff (.clk(clk), .rst_l(rst_l), .en(wr_op), .din(op_ns), .dout(op_valids));