diff --git a/ql-qlf-plugin/qlf_k6n10f/cells_sim.v b/ql-qlf-plugin/qlf_k6n10f/cells_sim.v
index 6270f49..fc5beb4 100644
--- a/ql-qlf-plugin/qlf_k6n10f/cells_sim.v
+++ b/ql-qlf-plugin/qlf_k6n10f/cells_sim.v
@@ -685,11 +685,11 @@
 
 (* blackbox *)
 module QL_DSP2 ( // TODO: Name subject to change
-    input  [NBITS_A-1:0] a,
-    input  [NBITS_B-1:0] b,
-    input  [NBITS_AF-1:0] acc_fir,
-    output [NBITS_Z-1:0] z,
-    output [NBITS_B-1:0] dly_b,
+      input  [19:0] a,
+      input  [17:0] b,
+      input  [3:0] acc_fir,
+      output [37:0] z,
+      output [17:0] dly_b,
 
     (* clkbuf_sink *)
     input         clk,
@@ -709,10 +709,10 @@
     input         register_inputs
 );
 
-    parameter [NBITS_COEF-1:0] COEFF_0 = 20'd0;
-    parameter [NBITS_COEF-1:0] COEFF_1 = 20'd0;
-    parameter [NBITS_COEF-1:0] COEFF_2 = 20'd0;
-    parameter [NBITS_COEF-1:0] COEFF_3 = 20'd0;
+    parameter [19:0] COEFF_0 = 20'd0;
+    parameter [19:0] COEFF_1 = 20'd0;
+    parameter [19:0] COEFF_2 = 20'd0;
+    parameter [19:0] COEFF_3 = 20'd0;
 
       localparam NBITS_ACC = 64;
       localparam NBITS_A = 20;
@@ -852,7 +852,7 @@
     input [NBITS_A-1:0] a_i,
     input [NBITS_B-1:0] b_i,
     output [NBITS_Z-1:0] z_o,
-    output [NBITS_B-1:0] dly_b_o,
+    output reg [NBITS_B-1:0] dly_b_o,
 
     input [NBITS_AF-1:0] acc_fir_i,
     input [2:0] feedback_i,
@@ -896,6 +896,7 @@
     reg			r_subtract;
     reg			r_sat;
     reg			r_rnd;
+    reg [NBITS_ACC-1:0] acc;
 
     always @(posedge clock_i or negedge reset_n_i) begin
         if (~reset_n_i) begin
@@ -949,11 +950,6 @@
     // Shift right control
     wire [5:0] shift_d1 = register_inputs_i ? r_shift_d1 : shift_right_i;
     wire [5:0] shift_d2 = output_select_i[1] ? shift_d1 : r_shift_d2;
-    //localparam SHIFT_SEL = {register_inputs_i, output_select_i[1]};
-    //wire [5:0] shift_right = (SHIFT_SEL == 2'b00) ?   shift_right_i :
-                             //(SHIFT_SEL == 2'b01) ?   r_shift_d1 :
-                             //(SHIFT_SEL == 2'b10) ?   r_shift_d1 :
-                           //[>(SHIFT_SEL == 2'b11) ?<] r_shift_d2;
 
     // Multiplier
     wire unsigned_mode = unsigned_a & unsigned_b;
@@ -996,8 +992,7 @@
 
     wire [NBITS_ACC-1:0] add_o = add_a + add_b;
 
-    // Accumulator
-    reg [NBITS_ACC-1:0] acc;
+    // Accumulator    
     always @(posedge clock_i or negedge reset_n_i)
         if (~reset_n_i) acc <= 'h0;
         else begin
@@ -1052,8 +1047,6 @@
 					       z1;	// if output_select_i == 3'h7
 
     // B input delayed passthrough
-    reg [NBITS_B-1:0] dly_b_o;
-
     always @(posedge clock_i or negedge reset_n_i)
         if (!reset_n_i)
             dly_b_o <= 0;
diff --git a/ql-qlf-plugin/qlf_k6n10f/dsp_final_map.v b/ql-qlf-plugin/qlf_k6n10f/dsp_final_map.v
index b8423e5..0ae6f3b 100644
--- a/ql-qlf-plugin/qlf_k6n10f/dsp_final_map.v
+++ b/ql-qlf-plugin/qlf_k6n10f/dsp_final_map.v
@@ -109,7 +109,7 @@
     ) _TECHMAP_REPLACE_ (
         .a                  ({10'd0, a_i}),
         .b                  ({ 9'd0, b_i}),
-        .acc_fir            (acc_fir_i),
+        .acc_fir            ({ 2'd0, acc_fir_i}),
         .z                  (z),
         .dly_b              (dly_b),
 
diff --git a/ql-qlf-plugin/qlf_k6n10f/dsp_map.v b/ql-qlf-plugin/qlf_k6n10f/dsp_map.v
index e10df2a..9606c4f 100644
--- a/ql-qlf-plugin/qlf_k6n10f/dsp_map.v
+++ b/ql-qlf-plugin/qlf_k6n10f/dsp_map.v
@@ -70,10 +70,10 @@
     dsp_t1_10x9x32 _TECHMAP_REPLACE_ (
         .a_i                (a),
         .b_i                (b),
-        .acc_fir_i          (3'd0),
+        .acc_fir_i          (2'd0),
         .z_o                (z),
 
-        .feedback_i         (2'd0),
+        .feedback_i         (3'd0),
         .load_acc_i         (1'b0),
         .unsigned_a_i       (!A_SIGNED),
         .unsigned_b_i       (!B_SIGNED),
