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]));