diff --git a/ql-qlf-plugin/qlf_k6n10f/brams_map.v b/ql-qlf-plugin/qlf_k6n10f/brams_map.v
index 4df5ec2..798ebbe 100644
--- a/ql-qlf-plugin/qlf_k6n10f/brams_map.v
+++ b/ql-qlf-plugin/qlf_k6n10f/brams_map.v
@@ -93,91 +93,63 @@
 		1: begin
 			assign PORT_A_ADDR = A1EN ? A1ADDR_TOTAL : (B1EN ? B1ADDR_TOTAL : 15'd0);
 			assign PORT_B_ADDR = C1EN ? C1ADDR_TOTAL : (D1EN ? D1ADDR_TOTAL : 15'd0);
-			defparam _TECHMAP_REPLACE_.WMODE_A1_i = `MODE_1;
-			defparam _TECHMAP_REPLACE_.WMODE_A2_i = `MODE_1;
-			defparam _TECHMAP_REPLACE_.RMODE_A1_i = `MODE_1;
-			defparam _TECHMAP_REPLACE_.RMODE_A2_i = `MODE_1;
-			defparam _TECHMAP_REPLACE_.WMODE_B1_i = `MODE_1;
-			defparam _TECHMAP_REPLACE_.WMODE_B2_i = `MODE_1;
-			defparam _TECHMAP_REPLACE_.RMODE_B1_i = `MODE_1;
-			defparam _TECHMAP_REPLACE_.RMODE_B2_i = `MODE_1;
+            defparam _TECHMAP_REPLACE_.MODE_BITS = { 1'b0,
+                11'd10, 11'd10, 4'd0, `MODE_1, `MODE_1, `MODE_1, `MODE_1, 1'd0,
+                12'd10, 12'd10, 4'd0, `MODE_1, `MODE_1, `MODE_1, `MODE_1, 1'd0
+            };
 		end
 
 		2: begin
 			assign PORT_A_ADDR = A1EN ? (A1ADDR_TOTAL << 1) : (B1EN ? (B1ADDR_TOTAL << 1) : 15'd0);
 			assign PORT_B_ADDR = C1EN ? (C1ADDR_TOTAL << 1) : (D1EN ? (D1ADDR_TOTAL << 1) : 15'd0);
-			defparam _TECHMAP_REPLACE_.WMODE_A1_i = `MODE_2;
-			defparam _TECHMAP_REPLACE_.WMODE_A2_i = `MODE_2;
-			defparam _TECHMAP_REPLACE_.RMODE_A1_i = `MODE_2;
-			defparam _TECHMAP_REPLACE_.RMODE_A2_i = `MODE_2;
-			defparam _TECHMAP_REPLACE_.WMODE_B1_i = `MODE_2;
-			defparam _TECHMAP_REPLACE_.WMODE_B2_i = `MODE_2;
-			defparam _TECHMAP_REPLACE_.RMODE_B1_i = `MODE_2;
-			defparam _TECHMAP_REPLACE_.RMODE_B2_i = `MODE_2;
+            defparam _TECHMAP_REPLACE_.MODE_BITS = { 1'b0,
+                11'd10, 11'd10, 4'd0, `MODE_2, `MODE_2, `MODE_2, `MODE_2, 1'd0,
+                12'd10, 12'd10, 4'd0, `MODE_2, `MODE_2, `MODE_2, `MODE_2, 1'd0
+            };
 		end
 
 		4: begin
 			assign PORT_A_ADDR = A1EN ? (A1ADDR_TOTAL << 2) : (B1EN ? (B1ADDR_TOTAL << 2) : 15'd0);
 			assign PORT_B_ADDR = C1EN ? (C1ADDR_TOTAL << 2) : (D1EN ? (D1ADDR_TOTAL << 2) : 15'd0);
-			defparam _TECHMAP_REPLACE_.WMODE_A1_i = `MODE_4;
-			defparam _TECHMAP_REPLACE_.WMODE_A2_i = `MODE_4;
-			defparam _TECHMAP_REPLACE_.RMODE_A1_i = `MODE_4;
-			defparam _TECHMAP_REPLACE_.RMODE_A2_i = `MODE_4;
-			defparam _TECHMAP_REPLACE_.WMODE_B1_i = `MODE_4;
-			defparam _TECHMAP_REPLACE_.WMODE_B2_i = `MODE_4;
-			defparam _TECHMAP_REPLACE_.RMODE_B1_i = `MODE_4;
-			defparam _TECHMAP_REPLACE_.RMODE_B2_i = `MODE_4;
+            defparam _TECHMAP_REPLACE_.MODE_BITS = { 1'b0,
+                11'd10, 11'd10, 4'd0, `MODE_4, `MODE_4, `MODE_4, `MODE_4, 1'd0,
+                12'd10, 12'd10, 4'd0, `MODE_4, `MODE_4, `MODE_4, `MODE_4, 1'd0
+            };
 		end
 
 		8, 9: begin
 			assign PORT_A_ADDR = A1EN ? (A1ADDR_TOTAL << 3) : (B1EN ? (B1ADDR_TOTAL << 3) : 15'd0);
 			assign PORT_B_ADDR = C1EN ? (C1ADDR_TOTAL << 3) : (D1EN ? (D1ADDR_TOTAL << 3) : 15'd0);
-			defparam _TECHMAP_REPLACE_.WMODE_A1_i = `MODE_9;
-			defparam _TECHMAP_REPLACE_.WMODE_A2_i = `MODE_9;
-			defparam _TECHMAP_REPLACE_.RMODE_A1_i = `MODE_9;
-			defparam _TECHMAP_REPLACE_.RMODE_A2_i = `MODE_9;
-			defparam _TECHMAP_REPLACE_.WMODE_B1_i = `MODE_9;
-			defparam _TECHMAP_REPLACE_.WMODE_B2_i = `MODE_9;
-			defparam _TECHMAP_REPLACE_.RMODE_B1_i = `MODE_9;
-			defparam _TECHMAP_REPLACE_.RMODE_B2_i = `MODE_9;
+            defparam _TECHMAP_REPLACE_.MODE_BITS = { 1'b0,
+                11'd10, 11'd10, 4'd0, `MODE_9, `MODE_9, `MODE_9, `MODE_9, 1'd0,
+                12'd10, 12'd10, 4'd0, `MODE_9, `MODE_9, `MODE_9, `MODE_9, 1'd0
+            };
 		end
 
 		16, 18: begin
 			assign PORT_A_ADDR = A1EN ? (A1ADDR_TOTAL << 4) : (B1EN ? (B1ADDR_TOTAL << 4) : 15'd0);
 			assign PORT_B_ADDR = C1EN ? (C1ADDR_TOTAL << 4) : (D1EN ? (D1ADDR_TOTAL << 4) : 15'd0);
-			defparam _TECHMAP_REPLACE_.WMODE_A1_i = `MODE_18;
-			defparam _TECHMAP_REPLACE_.WMODE_A2_i = `MODE_18;
-			defparam _TECHMAP_REPLACE_.RMODE_A1_i = `MODE_18;
-			defparam _TECHMAP_REPLACE_.RMODE_A2_i = `MODE_18;
-			defparam _TECHMAP_REPLACE_.WMODE_B1_i = `MODE_18;
-			defparam _TECHMAP_REPLACE_.WMODE_B2_i = `MODE_18;
-			defparam _TECHMAP_REPLACE_.RMODE_B1_i = `MODE_18;
-			defparam _TECHMAP_REPLACE_.RMODE_B2_i = `MODE_18;
+            defparam _TECHMAP_REPLACE_.MODE_BITS = { 1'b0,
+                11'd10, 11'd10, 4'd0, `MODE_18, `MODE_18, `MODE_18, `MODE_18, 1'd0,
+                12'd10, 12'd10, 4'd0, `MODE_18, `MODE_18, `MODE_18, `MODE_18, 1'd0
+            };
 		end
 
 		32, 36: begin
 			assign PORT_A_ADDR = A1EN ? (A1ADDR_TOTAL << 5) : (B1EN ? (B1ADDR_TOTAL << 5) : 15'd0);
 			assign PORT_B_ADDR = C1EN ? (C1ADDR_TOTAL << 5) : (D1EN ? (D1ADDR_TOTAL << 5) : 15'd0);
-			defparam _TECHMAP_REPLACE_.WMODE_A1_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.WMODE_A2_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.RMODE_A1_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.RMODE_A2_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.WMODE_B1_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.WMODE_B2_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.RMODE_B1_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.RMODE_B2_i = `MODE_36;
+            defparam _TECHMAP_REPLACE_.MODE_BITS = { 1'b0,
+                11'd10, 11'd10, 4'd0, `MODE_36, `MODE_36, `MODE_36, `MODE_36, 1'd0,
+                12'd10, 12'd10, 4'd0, `MODE_36, `MODE_36, `MODE_36, `MODE_36, 1'd0
+            };
 		end
 		default: begin
 			assign PORT_A_ADDR = A1EN ? A1ADDR_TOTAL : (B1EN ? B1ADDR_TOTAL : 15'd0);
 			assign PORT_B_ADDR = C1EN ? C1ADDR_TOTAL : (D1EN ? D1ADDR_TOTAL : 15'd0);
-			defparam _TECHMAP_REPLACE_.WMODE_A1_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.WMODE_A2_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.RMODE_A1_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.RMODE_A2_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.WMODE_B1_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.WMODE_B2_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.RMODE_B1_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.RMODE_B2_i = `MODE_36;
+            defparam _TECHMAP_REPLACE_.MODE_BITS = { 1'b0,
+                11'd10, 11'd10, 4'd0, `MODE_36, `MODE_36, `MODE_36, `MODE_36, 1'd0,
+                12'd10, 12'd10, 4'd0, `MODE_36, `MODE_36, `MODE_36, `MODE_36, 1'd0
+            };
 		end
 	endcase
 
@@ -195,23 +167,7 @@
 	assign PL_ADDR_i = 24'b0;
 	assign PL_DATA_i = 36'b0;
 
-	TDP_BRAM36 #(
-		.UPAE1_i(12'd10),
-		.UPAF1_i(12'd10),
-		.UPAE2_i(12'd10),
-		.UPAF2_i(12'd10),
-		.SYNC_FIFO1_i(1'b0),
-		.SYNC_FIFO2_i(1'b0),
-		.FMODE1_i(1'b0),
-		.FMODE2_i(1'b0),
-		.POWERDN1_i(1'b0),
-		.POWERDN2_i(1'b0),
-		.SLEEP1_i(1'b0),
-		.SLEEP2_i(1'b0),
-		.PROTECT1_i(1'b0),
-		.PROTECT2_i(1'b0),
-		.SPLIT_i(1'b0)
-	) _TECHMAP_REPLACE_ (
+	TDP_BRAM36 _TECHMAP_REPLACE_ (
 		.WDATA_A1_i(B1DATA[17:0]),
 		.WDATA_A2_i(B1DATA[35:18]),
 		.RDATA_A1_o(A1DATA_TOTAL[17:0]),
@@ -444,9 +400,6 @@
 	reg [23:0] PL_ADDR_o;
 	wire [35:0] PL_DATA_o;
 
-	wire [2:0] WMODE;
-	wire [2:0] RMODE;
-
 	assign A1ADDR_CMPL = {15-CFG_ABITS{1'b0}};
 	assign B1ADDR_CMPL = {15-CFG_ABITS{1'b0}};
 
@@ -460,89 +413,61 @@
 		1: begin
 			assign A1ADDR_15 = A1ADDR_TOTAL;
 			assign B1ADDR_15 = B1ADDR_TOTAL;
-			defparam _TECHMAP_REPLACE_.WMODE_A1_i = `MODE_1;
-			defparam _TECHMAP_REPLACE_.WMODE_A2_i = `MODE_1;
-			defparam _TECHMAP_REPLACE_.RMODE_A1_i = `MODE_1;
-			defparam _TECHMAP_REPLACE_.RMODE_A2_i = `MODE_1;
-			defparam _TECHMAP_REPLACE_.WMODE_B1_i = `MODE_1;
-			defparam _TECHMAP_REPLACE_.WMODE_B2_i = `MODE_1;
-			defparam _TECHMAP_REPLACE_.RMODE_B1_i = `MODE_1;
-			defparam _TECHMAP_REPLACE_.RMODE_B2_i = `MODE_1;
+            defparam _TECHMAP_REPLACE_.MODE_BITS = { 1'b0,
+                11'd10, 11'd10, 4'd0, `MODE_1, `MODE_1, `MODE_1, `MODE_1, 1'd0,
+                12'd10, 12'd10, 4'd0, `MODE_1, `MODE_1, `MODE_1, `MODE_1, 1'd0
+            };
 		end
 
 		2: begin
 			assign A1ADDR_15 = A1ADDR_TOTAL << 1;
 			assign B1ADDR_15 = B1ADDR_TOTAL << 1;
-			defparam _TECHMAP_REPLACE_.WMODE_A1_i = `MODE_2;
-			defparam _TECHMAP_REPLACE_.WMODE_A2_i = `MODE_2;
-			defparam _TECHMAP_REPLACE_.RMODE_A1_i = `MODE_2;
-			defparam _TECHMAP_REPLACE_.RMODE_A2_i = `MODE_2;
-			defparam _TECHMAP_REPLACE_.WMODE_B1_i = `MODE_2;
-			defparam _TECHMAP_REPLACE_.WMODE_B2_i = `MODE_2;
-			defparam _TECHMAP_REPLACE_.RMODE_B1_i = `MODE_2;
-			defparam _TECHMAP_REPLACE_.RMODE_B2_i = `MODE_2;
+            defparam _TECHMAP_REPLACE_.MODE_BITS = { 1'b0,
+                11'd10, 11'd10, 4'd0, `MODE_2, `MODE_2, `MODE_2, `MODE_2, 1'd0,
+                12'd10, 12'd10, 4'd0, `MODE_2, `MODE_2, `MODE_2, `MODE_2, 1'd0
+            };
 		end
 
 		4: begin
 			assign A1ADDR_15 = A1ADDR_TOTAL << 2;
 			assign B1ADDR_15 = B1ADDR_TOTAL << 2;
-			defparam _TECHMAP_REPLACE_.WMODE_A1_i = `MODE_4;
-			defparam _TECHMAP_REPLACE_.WMODE_A2_i = `MODE_4;
-			defparam _TECHMAP_REPLACE_.RMODE_A1_i = `MODE_4;
-			defparam _TECHMAP_REPLACE_.RMODE_A2_i = `MODE_4;
-			defparam _TECHMAP_REPLACE_.WMODE_B1_i = `MODE_4;
-			defparam _TECHMAP_REPLACE_.WMODE_B2_i = `MODE_4;
-			defparam _TECHMAP_REPLACE_.RMODE_B1_i = `MODE_4;
-			defparam _TECHMAP_REPLACE_.RMODE_B2_i = `MODE_4;
+            defparam _TECHMAP_REPLACE_.MODE_BITS = { 1'b0,
+                11'd10, 11'd10, 4'd0, `MODE_4, `MODE_4, `MODE_4, `MODE_4, 1'd0,
+                12'd10, 12'd10, 4'd0, `MODE_4, `MODE_4, `MODE_4, `MODE_4, 1'd0
+            };
 		end
 		8, 9: begin
 			assign A1ADDR_15 = A1ADDR_TOTAL << 3;
 			assign B1ADDR_15 = B1ADDR_TOTAL << 3;
-			defparam _TECHMAP_REPLACE_.WMODE_A1_i = `MODE_9;
-			defparam _TECHMAP_REPLACE_.WMODE_A2_i = `MODE_9;
-			defparam _TECHMAP_REPLACE_.RMODE_A1_i = `MODE_9;
-			defparam _TECHMAP_REPLACE_.RMODE_A2_i = `MODE_9;
-			defparam _TECHMAP_REPLACE_.WMODE_B1_i = `MODE_9;
-			defparam _TECHMAP_REPLACE_.WMODE_B2_i = `MODE_9;
-			defparam _TECHMAP_REPLACE_.RMODE_B1_i = `MODE_9;
-			defparam _TECHMAP_REPLACE_.RMODE_B2_i = `MODE_9;
+            defparam _TECHMAP_REPLACE_.MODE_BITS = { 1'b0,
+                11'd10, 11'd10, 4'd0, `MODE_9, `MODE_9, `MODE_9, `MODE_9, 1'd0,
+                12'd10, 12'd10, 4'd0, `MODE_9, `MODE_9, `MODE_9, `MODE_9, 1'd0
+            };
 		end
 
 		16, 18: begin
 			assign A1ADDR_15 = A1ADDR_TOTAL << 4;
 			assign B1ADDR_15 = B1ADDR_TOTAL << 4;
-			defparam _TECHMAP_REPLACE_.WMODE_A1_i = `MODE_18;
-			defparam _TECHMAP_REPLACE_.WMODE_A2_i = `MODE_18;
-			defparam _TECHMAP_REPLACE_.RMODE_A1_i = `MODE_18;
-			defparam _TECHMAP_REPLACE_.RMODE_A2_i = `MODE_18;
-			defparam _TECHMAP_REPLACE_.WMODE_B1_i = `MODE_18;
-			defparam _TECHMAP_REPLACE_.WMODE_B2_i = `MODE_18;
-			defparam _TECHMAP_REPLACE_.RMODE_B1_i = `MODE_18;
-			defparam _TECHMAP_REPLACE_.RMODE_B2_i = `MODE_18;
+            defparam _TECHMAP_REPLACE_.MODE_BITS = { 1'b0,
+                11'd10, 11'd10, 4'd0, `MODE_18, `MODE_18, `MODE_18, `MODE_18, 1'd0,
+                12'd10, 12'd10, 4'd0, `MODE_18, `MODE_18, `MODE_18, `MODE_18, 1'd0
+            };
 		end
 		32, 36: begin
 			assign A1ADDR_15 = A1ADDR_TOTAL << 5;
 			assign B1ADDR_15 = B1ADDR_TOTAL << 5;
-			defparam _TECHMAP_REPLACE_.WMODE_A1_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.WMODE_A2_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.RMODE_A1_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.RMODE_A2_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.WMODE_B1_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.WMODE_B2_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.RMODE_B1_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.RMODE_B2_i = `MODE_36;
+            defparam _TECHMAP_REPLACE_.MODE_BITS = { 1'b0,
+                11'd10, 11'd10, 4'd0, `MODE_36, `MODE_36, `MODE_36, `MODE_36, 1'd0,
+                12'd10, 12'd10, 4'd0, `MODE_36, `MODE_36, `MODE_36, `MODE_36, 1'd0
+            };
 		end
 		default: begin
 			assign A1ADDR_15 = A1ADDR_TOTAL;
 			assign B1ADDR_15 = B1ADDR_TOTAL;
-			defparam _TECHMAP_REPLACE_.WMODE_A1_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.WMODE_A2_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.RMODE_A1_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.RMODE_A2_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.WMODE_B1_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.WMODE_B2_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.RMODE_B1_i = `MODE_36;
-			defparam _TECHMAP_REPLACE_.RMODE_B2_i = `MODE_36;
+            defparam _TECHMAP_REPLACE_.MODE_BITS = { 1'b0,
+                11'd10, 11'd10, 4'd0, `MODE_36, `MODE_36, `MODE_36, `MODE_36, 1'd0,
+                12'd10, 12'd10, 4'd0, `MODE_36, `MODE_36, `MODE_36, `MODE_36, 1'd0
+            };
 		end
 	endcase
 
@@ -558,23 +483,7 @@
 	assign PL_ADDR_i = 24'b0;
 	assign PL_DATA_i = 36'b0;
 
-	TDP_BRAM36 #(
-		.UPAE1_i(12'd10),
-		.UPAF1_i(12'd10),
-		.UPAE2_i(12'd10),
-		.UPAF2_i(12'd10),
-		.SYNC_FIFO1_i(1'b0),
-		.SYNC_FIFO2_i(1'b0),
-		.FMODE1_i(1'b0),
-		.FMODE2_i(1'b0),
-		.POWERDN1_i(1'b0),
-		.POWERDN2_i(1'b0),
-		.SLEEP1_i(1'b0),
-		.SLEEP2_i(1'b0),
-		.PROTECT1_i(1'b0),
-		.PROTECT2_i(1'b0),
-		.SPLIT_i(1'b0)
-	) _TECHMAP_REPLACE_ (
+	TDP_BRAM36 _TECHMAP_REPLACE_ (
 		.WDATA_A1_i(18'h3FFFF),
 		.WDATA_A2_i(18'h3FFFF),
 		.RDATA_A1_o(A1DATA_TOTAL[17:0]),
diff --git a/ql-qlf-plugin/qlf_k6n10f/cells_sim.v b/ql-qlf-plugin/qlf_k6n10f/cells_sim.v
index c669166..6c85937 100644
--- a/ql-qlf-plugin/qlf_k6n10f/cells_sim.v
+++ b/ql-qlf-plugin/qlf_k6n10f/cells_sim.v
@@ -542,31 +542,36 @@
     PL_ADDR_o,
     PL_DATA_o
 );
-    parameter SYNC_FIFO1_i = 1'b0;
-    parameter RMODE_A1_i = 3'b0;
-    parameter RMODE_B1_i = 3'b0;
-    parameter WMODE_A1_i = 3'b0;
-    parameter WMODE_B1_i = 3'b0;
-    parameter FMODE1_i = 1'b0;
-    parameter POWERDN1_i = 1'b0;
-    parameter SLEEP1_i = 1'b0;
-    parameter PROTECT1_i = 1'b0;
-    parameter UPAE1_i = 12'b0;
-    parameter UPAF1_i = 12'b0;
+    parameter [80:0] MODE_BITS = 81'd0;
 
-    parameter SYNC_FIFO2_i = 1'b0;
-    parameter RMODE_A2_i = 3'b0;
-    parameter RMODE_B2_i = 3'b0;
-    parameter WMODE_A2_i = 3'b0;
-    parameter WMODE_B2_i = 3'b0;
-    parameter FMODE2_i = 1'b0;
-    parameter POWERDN2_i = 1'b0;
-    parameter SLEEP2_i = 1'b0;
-    parameter PROTECT2_i = 1'b0;
-    parameter UPAE2_i = 12'b0;
-    parameter UPAF2_i = 12'b0;
+    // First 18K RAMFIFO (41 bits)
+    localparam [ 0:0] SYNC_FIFO1_i  = MODE_BITS[0];
+    localparam [ 2:0] RMODE_A1_i    = MODE_BITS[3 : 1];
+    localparam [ 2:0] RMODE_B1_i    = MODE_BITS[6 : 4];
+    localparam [ 2:0] WMODE_A1_i    = MODE_BITS[9 : 7];
+    localparam [ 2:0] WMODE_B1_i    = MODE_BITS[12:10];
+    localparam [ 0:0] FMODE1_i      = MODE_BITS[13];
+    localparam [ 0:0] POWERDN1_i    = MODE_BITS[14];
+    localparam [ 0:0] SLEEP1_i      = MODE_BITS[15];
+    localparam [ 0:0] PROTECT1_i    = MODE_BITS[16];
+    localparam [11:0] UPAE1_i       = MODE_BITS[28:17];
+    localparam [11:0] UPAF1_i       = MODE_BITS[40:29];
 
-    parameter SPLIT_i = 1'b0;
+    // Second 18K RAMFIFO (39 bits)
+    localparam [ 0:0] SYNC_FIFO2_i  = MODE_BITS[41];
+    localparam [ 0:0] RMODE_A2_i    = MODE_BITS[44:42];
+    localparam [ 0:0] RMODE_B2_i    = MODE_BITS[47:45];
+    localparam [ 0:0] WMODE_A2_i    = MODE_BITS[50:48];
+    localparam [ 0:0] WMODE_B2_i    = MODE_BITS[53:51];
+    localparam [ 0:0] FMODE2_i      = MODE_BITS[54];
+    localparam [ 0:0] POWERDN2_i    = MODE_BITS[55];
+    localparam [ 0:0] SLEEP2_i      = MODE_BITS[56];
+    localparam [ 0:0] PROTECT2_i    = MODE_BITS[57];
+    localparam [10:0] UPAE2_i       = MODE_BITS[68:58];
+    localparam [10:0] UPAF2_i       = MODE_BITS[79:69];
+
+    // Split (1 bit)
+    localparam [ 0:0] SPLIT_i       = MODE_BITS[80];
 
     parameter INITP_00 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
     parameter INITP_01 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
