ack logic update
diff --git a/verilog/rtl/fpu.sv b/verilog/rtl/fpu.sv
index c6c5b01..04326bb 100644
--- a/verilog/rtl/fpu.sv
+++ b/verilog/rtl/fpu.sv
@@ -26,7 +26,7 @@
   input  wire [31:0]     la_addr,                // wire analyzer address
 //outputs
   output wire            illegal_op,
-  output wire            inter_gen,
+  output wire            ack,
 
   output wire [31:0]     rddata,                 // read  data sent to wb
   output wire [31:0]     out,                    // to GPIO
@@ -102,7 +102,7 @@
                                    .opC             (c                        ),
                                    .frm             (round_mode               ),
                                    .op_valids       ({valid_in, op_in}        ),
-                                   .inter_gen       (inter_gen                ));  
+                                   .ack             (ack                      ));  
 
   f_class #(8,24) fpu_fclass      ( .in             (a                        ),
                                     .result         (fclass_out               ) );
diff --git a/verilog/rtl/registers.sv b/verilog/rtl/registers.sv
index bbfaa17..f2bfb43 100644
--- a/verilog/rtl/registers.sv
+++ b/verilog/rtl/registers.sv
@@ -1,14 +1,14 @@
 module fpu_registers(
-    input  wire        clk,
-    input  wire        rst_l,
-    input  wire [31:0] fpu_result,
-    input  wire [12:0] fpu_valids,
-    input  wire [31:0] addr,
-    input  wire        wren,
-    input  wire [31:0] wrdata,
-    input  wire [4:0]  exceptions,
+    input  wire         clk,
+    input  wire         rst_l,
+    input  wire  [31:0] fpu_result,
+    input  wire  [12:0] fpu_valids,
+    input  wire  [31:0] addr,
+    input  wire         wren,
+    input  wire  [31:0] wrdata,
+    input  wire  [4:0]  exceptions,
 
-    output wire        inter_gen,
+    output wire         ack,
     output wire  [31:0] rddata,
     output wire  [31:0] opA,
     output wire  [31:0] opB,
@@ -117,7 +117,7 @@
    wire        addr_intr_gen;
    wire        wr_intr_gen;
    wire        intr_gen_ns;
-   //wire        inter_gen;
+   wire        inter_gen;
 
    assign addr_intr_gen = (addr[31:0] == INTERRUPT_GENERATION);
    assign wr_intr_gen   = (addr_intr_gen && !wren) || fpu_result_valid;
@@ -189,4 +189,6 @@
                       ({32{fflags_addr}}   & {27'b0, fflags})    |
                       ({32{fcsr_addr}}     & {24'b0, fcsr_read});
 
+    assign ack = inter_gen | wr_opA | wr_opB | wr_opC | wr_op | wr_fflags_r | wr_frm_r | wr_fcsr_r;
+
 endmodule
diff --git a/verilog/rtl/user_proj_example.sv b/verilog/rtl/user_proj_example.sv
index a85198d..569ae4f 100644
--- a/verilog/rtl/user_proj_example.sv
+++ b/verilog/rtl/user_proj_example.sv
@@ -333,7 +333,7 @@
 	.wrdata(wdata),
 	.rddata(rdata),
 	.illegal_op(illegal_op),
-	.inter_gen(wbs_ack_o),
+	.ack(wbs_ack_o),
 	.exceptions(exceptions),
 	.out(io_out[31:0]));