diff --git a/ql-qlf-plugin/qlf_k6n10f/dsp_map.v b/ql-qlf-plugin/qlf_k6n10f/dsp_map.v
index f9f9cfc..f0c5a8b 100644
--- a/ql-qlf-plugin/qlf_k6n10f/dsp_map.v
+++ b/ql-qlf-plugin/qlf_k6n10f/dsp_map.v
@@ -15,7 +15,7 @@
 
     wire [19:0] a;
     wire [17:0] b;
-    wire [63:0] z;
+    wire [37:0] z;
 
     assign a = (A_WIDTH == 20) ? A :
                (A_SIGNED) ? {{(20 - A_WIDTH){A[A_WIDTH-1]}}, A} :
@@ -26,20 +26,29 @@
                             {{(18 - B_WIDTH){1'b0}},         B};
 
     dsp_t1_20x18x64 _TECHMAP_REPLACE_ (
-        .a_i    (a),
-        .b_i    (b),
-        .z_o    (z),
+        .a_i                (a),
+        .b_i                (b),
+        .acc_fir_i          (4'd0),
+        .z_o                (z),
 
-        .register_inputs_i  (1'b0),
-        .subtraction_mode_i (1'b0),
-        .feedback_i         (2'b00),
-        .round_i            (1'b0),
-        .shift_right_i      (1'b0),
+        .feedback_i         (2'd0),
+        .load_acc_i         (1'b0),
+        .unsigned_a_i       (!A_SIGNED),
+        .unsigned_b_i       (!B_SIGNED),
+
+        .output_select_i    (2'd0),
         .saturate_enable_i  (1'b0),
-        .output_select_i    (1'b0)
+        .shift_right_i      (6'd0),
+        .round_i            (1'b0),
+        .subtract_i         (1'b0),
+        .register_inputs_i  (1'b0),
+        .coeff_0_i          (20'd0),
+        .coeff_1_i          (20'd0),
+        .coeff_2_i          (20'd0),
+        .coeff_3_i          (20'd0)
     );
 
-    assign Y = z[37:0];
+    assign Y = z;
 
 endmodule
 
@@ -52,7 +61,7 @@
 
     wire [ 9:0] a;
     wire [ 8:0] b;
-    wire [31:0] z;
+    wire [18:0] z;
 
     assign a = (A_WIDTH == 10) ? A :
                (A_SIGNED) ? {{(10 - A_WIDTH){A[A_WIDTH-1]}}, A} :
@@ -63,20 +72,29 @@
                             {{( 9 - B_WIDTH){1'b0}},         B};
 
     dsp_t1_10x9x32 _TECHMAP_REPLACE_ (
-        .a_i    (a),
-        .b_i    (b),
-        .z_o    (z),
+        .a_i                (a),
+        .b_i                (b),
+        .acc_fir_i          (4'd0),
+        .z_o                (z),
 
-        .register_inputs_i  (1'b0),
-        .subtraction_mode_i (1'b0),
-        .feedback_i         (2'b00),
-        .round_i            (1'b0),
-        .shift_right_i      (1'b0),
+        .feedback_i         (2'd0),
+        .load_acc_i         (1'b0),
+        .unsigned_a_i       (!A_SIGNED),
+        .unsigned_b_i       (!B_SIGNED),
+
+        .output_select_i    (2'd0),
         .saturate_enable_i  (1'b0),
-        .output_select_i    (1'b0)
+        .shift_right_i      (6'd0),
+        .round_i            (1'b0),
+        .subtract_i         (1'b0),
+        .register_inputs_i  (1'b0),
+        .coeff_0_i          (10'd0),
+        .coeff_1_i          (10'd0),
+        .coeff_2_i          (10'd0),
+        .coeff_3_i          (10'd0)
     );
 
-    assign Y = z[18:0];
+    assign Y = z;
 
 endmodule
 
