diff --git a/hdl/data_serializer.vhd b/hdl/data_serializer.vhd
index 6592884be8715602132cebe0127546f39f446df0..f2eddc16a66577b3249943504d6151c4ffadfc96 100644
--- a/hdl/data_serializer.vhd
+++ b/hdl/data_serializer.vhd
@@ -126,8 +126,8 @@ begin
         pi_en_a     => pscid_table_i.en,
         pi_we_a     => pscid_table_i.we,
         pi_addr_a   => pscid_table_i.addr(C_W_SER_CNT-1 downto 0),
-        pi_data_a   => pscid_table_i.data,
-        po_data_a   => pscid_table_o.data,
+        pi_data_a   => pscid_table_i.data(C_W_PSCID-1 downto 0),
+        po_data_a   => pscid_table_o.data(C_W_PSCID-1 downto 0),
         pi_clk_b    => clk,
         pi_en_b     => '1',
         pi_we_b     => '0',
@@ -135,6 +135,7 @@ begin
         pi_data_b   => (others => '0'),
         po_data_b   => pscid
     );
+    pscid_table_o.data(31 downto C_W_PSCID) <= (others => '0');
 
     -----------------------
     -- OUTPUT CONNEXIONS --
diff --git a/hdl/matrix_mul.vhd b/hdl/matrix_mul.vhd
index c410766cf68ae4bcdc0c481eed766cdafccc07b3..a792301cc96c03b0ec9105eec300eb30ccf00edc 100644
--- a/hdl/matrix_mul.vhd
+++ b/hdl/matrix_mul.vhd
@@ -148,8 +148,8 @@ begin
             pi_en_a     => mm_coef_i(I).en,
             pi_we_a     => mm_coef_i(I).we,
             pi_addr_a   => mm_coef_i(I).addr(C_W_MM_IDCNT-1 downto 0),
-            pi_data_a   => mm_coef_i(I).data,
-            po_data_a   => mm_coef_o(I).data,
+            pi_data_a   => mm_coef_i(I).data(C_W_MM_COEF-1 downto 0),
+            po_data_a   => mm_coef_o(I).data(C_W_MM_COEF-1 downto 0),
             pi_clk_b    => clk,
             pi_en_b     => '1',
             pi_we_b     => '0',
@@ -157,6 +157,7 @@ begin
             pi_data_b   => (others => '0'),
             po_data_b   => table_coefx
         );
+        mm_coef_o(I).data(31 downto C_W_MM_COEF) <= (others => '0');
 
         inst_coefy_table: entity desy.ram_tdp
         generic map(
@@ -168,8 +169,8 @@ begin
             pi_en_a     => mm_coef_i(I+C_N_MM_PSC/2).en,
             pi_we_a     => mm_coef_i(I+C_N_MM_PSC/2).we,
             pi_addr_a   => mm_coef_i(I+C_N_MM_PSC/2).addr(C_W_MM_IDCNT-1 downto 0),
-            pi_data_a   => mm_coef_i(I+C_N_MM_PSC/2).data,
-            po_data_a   => mm_coef_o(I+C_N_MM_PSC/2).data,
+            pi_data_a   => mm_coef_i(I+C_N_MM_PSC/2).data(C_W_MM_COEF-1 downto 0),
+            po_data_a   => mm_coef_o(I+C_N_MM_PSC/2).data(C_W_MM_COEF-1 downto 0),
             pi_clk_b    => clk,
             pi_en_b     => '1',
             pi_we_b     => '0',
@@ -177,6 +178,7 @@ begin
             pi_data_b   => (others => '0'),
             po_data_b   => table_coefy
         );
+        mm_coef_o(I+C_N_MM_PSC/2).data(31 downto C_W_MM_COEF) <= (others => '0');
 
         ------------------------------------------------------------------
         -- MULT ACCU
diff --git a/rdl/corr_matrixpi.rdl b/rdl/corr_matrixpi.rdl
index 000e35169721c10d812483a792b9bb6b4ee04b0c..9aea5f9a59b98cea63ab72ed44df62949757de51 100644
--- a/rdl/corr_matrixpi.rdl
+++ b/rdl/corr_matrixpi.rdl
@@ -51,26 +51,26 @@ addrmap corr_matrixpi {
 
     mem {
         desc = "X Reference orbit.";
-        memwidth = `C_W_BPMPOS;
+        memwidth = 32;
         mementries = 2**`C_W_MM_IDCNT;
     } external REFORBITX;
 
     mem {
         desc = "Y Reference orbit.";
-        memwidth = `C_W_BPMPOS;
+        memwidth = 32;
         mementries = 2**`C_W_MM_IDCNT;
     } external REFORBITY;
 
     mem {
         desc = "PSC identifier table.";
-        memwidth = `C_W_PSCID;
-        mementries = `C_N_MM_PSC;
+        memwidth = 32;
+        mementries = `C_W_PSCID;
     } external PSCIDTABLE;
 
 
     mem {
         desc = "Matrix multiplication coefficients.";
-        memwidth = `C_W_MM_COEF;
+        memwidth = 32;
         mementries = 2**`C_W_MM_IDCNT;
     } external MATRIXCOEF[`C_N_MM_PSC];