From e75f3213e03ae716b6c95f243abf029f9a04cfe9 Mon Sep 17 00:00:00 2001
From: Reinier van der Walle <walle@astron.nl>
Date: Wed, 23 Sep 2020 11:45:23 +0200
Subject: [PATCH] Corrected address width of ST_SST

---
 .../qsys_lofar2_unb2b_filterbank_cpu_0.ip     |   4 +-
 ...qsys_lofar2_unb2b_filterbank_ram_st_sst.ip |  18 +--
 .../quartus/qsys_lofar2_unb2b_filterbank.qsys | 146 +++++++++---------
 .../src/vhdl/lofar2_unb2b_filterbank.vhd      |   4 +-
 .../src/vhdl/mmm_lofar2_unb2b_filterbank.vhd  |   2 +-
 .../vhdl/qsys_lofar2_unb2b_filterbank_pkg.vhd |   2 +-
 6 files changed, 88 insertions(+), 88 deletions(-)

diff --git a/applications/lofar2/designs/lofar2_unb2b_filterbank/quartus/ip/qsys_lofar2_unb2b_filterbank/qsys_lofar2_unb2b_filterbank_cpu_0.ip b/applications/lofar2/designs/lofar2_unb2b_filterbank/quartus/ip/qsys_lofar2_unb2b_filterbank/qsys_lofar2_unb2b_filterbank_cpu_0.ip
index 0090d9506f..fb2322ab7d 100644
--- a/applications/lofar2/designs/lofar2_unb2b_filterbank/quartus/ip/qsys_lofar2_unb2b_filterbank/qsys_lofar2_unb2b_filterbank_cpu_0.ip
+++ b/applications/lofar2/designs/lofar2_unb2b_filterbank/quartus/ip/qsys_lofar2_unb2b_filterbank/qsys_lofar2_unb2b_filterbank_cpu_0.ip
@@ -2218,7 +2218,7 @@
         <spirit:parameter>
           <spirit:name>dataSlaveMapParam</spirit:name>
           <spirit:displayName>dataSlaveMapParam</spirit:displayName>
-          <spirit:value spirit:format="string" spirit:id="dataSlaveMapParam"><![CDATA[<address-map><slave name='pio_system_info.mem' start='0x0' end='0x80' datawidth='32' /><slave name='avs_eth_0.mms_reg' start='0x80' end='0xC0' datawidth='32' /><slave name='reg_fpga_voltage_sens.mem' start='0xC0' end='0x100' datawidth='32' /><slave name='reg_wg.mem' start='0x100' end='0x200' datawidth='32' /><slave name='reg_aduh_monitor.mem' start='0x200' end='0x300' datawidth='32' /><slave name='reg_unb_pmbus.mem' start='0x300' end='0x400' datawidth='32' /><slave name='reg_bsn_monitor_input.mem' start='0x400' end='0x800' datawidth='32' /><slave name='ram_scrap.mem' start='0x800' end='0x1000' datawidth='32' /><slave name='rom_system_info.mem' start='0x1000' end='0x2000' datawidth='32' /><slave name='avs_eth_0.mms_tse' start='0x2000' end='0x3000' datawidth='32' /><slave name='reg_wdi.mem' start='0x3000' end='0x3008' datawidth='32' /><slave name='reg_bsn_scheduler.mem' start='0x3008' end='0x3010' datawidth='32' /><slave name='pio_wdi.s1' start='0x3010' end='0x3020' datawidth='32' /><slave name='timer_0.s1' start='0x3020' end='0x3040' datawidth='16' /><slave name='reg_dp_shiftram.mem' start='0x3040' end='0x3060' datawidth='32' /><slave name='reg_fpga_temp_sens.mem' start='0x3060' end='0x3080' datawidth='32' /><slave name='reg_epcs.mem' start='0x3080' end='0x30A0' datawidth='32' /><slave name='reg_remu.mem' start='0x30A0' end='0x30C0' datawidth='32' /><slave name='reg_bsn_source.mem' start='0x30C0' end='0x30D0' datawidth='32' /><slave name='reg_si.mem' start='0x30D0' end='0x30D8' datawidth='32' /><slave name='reg_mmdp_data.mem' start='0x30D8' end='0x30E0' datawidth='32' /><slave name='reg_mmdp_ctrl.mem' start='0x30E0' end='0x30E8' datawidth='32' /><slave name='reg_dpmm_data.mem' start='0x30E8' end='0x30F0' datawidth='32' /><slave name='reg_dpmm_ctrl.mem' start='0x30F0' end='0x30F8' datawidth='32' /><slave name='pio_pps.mem' start='0x30F8' end='0x3100' datawidth='32' /><slave name='reg_unb_sens.mem' start='0x3100' end='0x3200' datawidth='32' /><slave name='jtag_uart_0.avalon_jtag_slave' start='0x3200' end='0x3208' datawidth='32' /><slave name='cpu_0.debug_mem_slave' start='0x3800' end='0x4000' datawidth='32' /><slave name='jesd204b.mem' start='0x4000' end='0x8000' datawidth='32' /><slave name='reg_diag_data_buf_bsn.mem' start='0x8000' end='0xC000' datawidth='32' /><slave name='ram_aduh_monitor.mem' start='0xC000' end='0x10000' datawidth='32' /><slave name='ram_wg.mem' start='0x10000' end='0x20000' datawidth='32' /><slave name='onchip_memory2_0.s1' start='0x20000' end='0x40000' datawidth='32' /><slave name='ram_diag_data_buf_bsn.mem' start='0x40000' end='0x80000' datawidth='32' /><slave name='ram_diag_data_buf_jesd.mem' start='0x80000' end='0xC0000' datawidth='32' /><slave name='ram_fil_coefs.mem' start='0xC0000' end='0xD0000' datawidth='32' /><slave name='reg_diag_data_buf_jesd.mem' start='0xD0000' end='0xD4000' datawidth='32' /><slave name='ram_st_sst.mem' start='0xD4000' end='0xD6000' datawidth='32' /><slave name='avs_eth_0.mms_ram' start='0xD6000' end='0xD7000' datawidth='32' /></address-map>]]></spirit:value>
+          <spirit:value spirit:format="string" spirit:id="dataSlaveMapParam"><![CDATA[<address-map><slave name='pio_system_info.mem' start='0x0' end='0x80' datawidth='32' /><slave name='avs_eth_0.mms_reg' start='0x80' end='0xC0' datawidth='32' /><slave name='reg_fpga_voltage_sens.mem' start='0xC0' end='0x100' datawidth='32' /><slave name='reg_wg.mem' start='0x100' end='0x200' datawidth='32' /><slave name='reg_aduh_monitor.mem' start='0x200' end='0x300' datawidth='32' /><slave name='reg_unb_pmbus.mem' start='0x300' end='0x400' datawidth='32' /><slave name='reg_bsn_monitor_input.mem' start='0x400' end='0x800' datawidth='32' /><slave name='ram_scrap.mem' start='0x800' end='0x1000' datawidth='32' /><slave name='rom_system_info.mem' start='0x1000' end='0x2000' datawidth='32' /><slave name='avs_eth_0.mms_tse' start='0x2000' end='0x3000' datawidth='32' /><slave name='reg_wdi.mem' start='0x3000' end='0x3008' datawidth='32' /><slave name='reg_bsn_scheduler.mem' start='0x3008' end='0x3010' datawidth='32' /><slave name='pio_wdi.s1' start='0x3010' end='0x3020' datawidth='32' /><slave name='timer_0.s1' start='0x3020' end='0x3040' datawidth='16' /><slave name='reg_dp_shiftram.mem' start='0x3040' end='0x3060' datawidth='32' /><slave name='reg_fpga_temp_sens.mem' start='0x3060' end='0x3080' datawidth='32' /><slave name='reg_epcs.mem' start='0x3080' end='0x30A0' datawidth='32' /><slave name='reg_remu.mem' start='0x30A0' end='0x30C0' datawidth='32' /><slave name='reg_bsn_source.mem' start='0x30C0' end='0x30D0' datawidth='32' /><slave name='reg_si.mem' start='0x30D0' end='0x30D8' datawidth='32' /><slave name='reg_mmdp_data.mem' start='0x30D8' end='0x30E0' datawidth='32' /><slave name='reg_mmdp_ctrl.mem' start='0x30E0' end='0x30E8' datawidth='32' /><slave name='reg_dpmm_data.mem' start='0x30E8' end='0x30F0' datawidth='32' /><slave name='reg_dpmm_ctrl.mem' start='0x30F0' end='0x30F8' datawidth='32' /><slave name='pio_pps.mem' start='0x30F8' end='0x3100' datawidth='32' /><slave name='reg_unb_sens.mem' start='0x3100' end='0x3200' datawidth='32' /><slave name='jtag_uart_0.avalon_jtag_slave' start='0x3200' end='0x3208' datawidth='32' /><slave name='cpu_0.debug_mem_slave' start='0x3800' end='0x4000' datawidth='32' /><slave name='jesd204b.mem' start='0x4000' end='0x8000' datawidth='32' /><slave name='reg_diag_data_buf_bsn.mem' start='0x8000' end='0xC000' datawidth='32' /><slave name='ram_aduh_monitor.mem' start='0xC000' end='0x10000' datawidth='32' /><slave name='ram_wg.mem' start='0x10000' end='0x20000' datawidth='32' /><slave name='onchip_memory2_0.s1' start='0x20000' end='0x40000' datawidth='32' /><slave name='ram_diag_data_buf_bsn.mem' start='0x40000' end='0x80000' datawidth='32' /><slave name='ram_diag_data_buf_jesd.mem' start='0x80000' end='0xC0000' datawidth='32' /><slave name='ram_fil_coefs.mem' start='0xC0000' end='0xD0000' datawidth='32' /><slave name='ram_st_sst.mem' start='0xD0000' end='0xE0000' datawidth='32' /><slave name='reg_diag_data_buf_jesd.mem' start='0xE0000' end='0xE4000' datawidth='32' /><slave name='avs_eth_0.mms_ram' start='0xE4000' end='0xE5000' datawidth='32' /></address-map>]]></spirit:value>
         </spirit:parameter>
         <spirit:parameter>
           <spirit:name>tightlyCoupledDataMaster0MapParam</spirit:name>
@@ -3489,7 +3489,7 @@
                 <suppliedSystemInfos>
                     <entry>
                         <key>ADDRESS_MAP</key>
-                        <value>&lt;address-map&gt;&lt;slave name='pio_system_info.mem' start='0x0' end='0x80' datawidth='32' /&gt;&lt;slave name='avs_eth_0.mms_reg' start='0x80' end='0xC0' datawidth='32' /&gt;&lt;slave name='reg_fpga_voltage_sens.mem' start='0xC0' end='0x100' datawidth='32' /&gt;&lt;slave name='reg_wg.mem' start='0x100' end='0x200' datawidth='32' /&gt;&lt;slave name='reg_aduh_monitor.mem' start='0x200' end='0x300' datawidth='32' /&gt;&lt;slave name='reg_unb_pmbus.mem' start='0x300' end='0x400' datawidth='32' /&gt;&lt;slave name='reg_bsn_monitor_input.mem' start='0x400' end='0x800' datawidth='32' /&gt;&lt;slave name='ram_scrap.mem' start='0x800' end='0x1000' datawidth='32' /&gt;&lt;slave name='rom_system_info.mem' start='0x1000' end='0x2000' datawidth='32' /&gt;&lt;slave name='avs_eth_0.mms_tse' start='0x2000' end='0x3000' datawidth='32' /&gt;&lt;slave name='reg_wdi.mem' start='0x3000' end='0x3008' datawidth='32' /&gt;&lt;slave name='reg_bsn_scheduler.mem' start='0x3008' end='0x3010' datawidth='32' /&gt;&lt;slave name='pio_wdi.s1' start='0x3010' end='0x3020' datawidth='32' /&gt;&lt;slave name='timer_0.s1' start='0x3020' end='0x3040' datawidth='16' /&gt;&lt;slave name='reg_dp_shiftram.mem' start='0x3040' end='0x3060' datawidth='32' /&gt;&lt;slave name='reg_fpga_temp_sens.mem' start='0x3060' end='0x3080' datawidth='32' /&gt;&lt;slave name='reg_epcs.mem' start='0x3080' end='0x30A0' datawidth='32' /&gt;&lt;slave name='reg_remu.mem' start='0x30A0' end='0x30C0' datawidth='32' /&gt;&lt;slave name='reg_bsn_source.mem' start='0x30C0' end='0x30D0' datawidth='32' /&gt;&lt;slave name='reg_si.mem' start='0x30D0' end='0x30D8' datawidth='32' /&gt;&lt;slave name='reg_mmdp_data.mem' start='0x30D8' end='0x30E0' datawidth='32' /&gt;&lt;slave name='reg_mmdp_ctrl.mem' start='0x30E0' end='0x30E8' datawidth='32' /&gt;&lt;slave name='reg_dpmm_data.mem' start='0x30E8' end='0x30F0' datawidth='32' /&gt;&lt;slave name='reg_dpmm_ctrl.mem' start='0x30F0' end='0x30F8' datawidth='32' /&gt;&lt;slave name='pio_pps.mem' start='0x30F8' end='0x3100' datawidth='32' /&gt;&lt;slave name='reg_unb_sens.mem' start='0x3100' end='0x3200' datawidth='32' /&gt;&lt;slave name='jtag_uart_0.avalon_jtag_slave' start='0x3200' end='0x3208' datawidth='32' /&gt;&lt;slave name='cpu_0.debug_mem_slave' start='0x3800' end='0x4000' datawidth='32' /&gt;&lt;slave name='jesd204b.mem' start='0x4000' end='0x8000' datawidth='32' /&gt;&lt;slave name='reg_diag_data_buf_bsn.mem' start='0x8000' end='0xC000' datawidth='32' /&gt;&lt;slave name='ram_aduh_monitor.mem' start='0xC000' end='0x10000' datawidth='32' /&gt;&lt;slave name='ram_wg.mem' start='0x10000' end='0x20000' datawidth='32' /&gt;&lt;slave name='onchip_memory2_0.s1' start='0x20000' end='0x40000' datawidth='32' /&gt;&lt;slave name='ram_diag_data_buf_bsn.mem' start='0x40000' end='0x80000' datawidth='32' /&gt;&lt;slave name='ram_diag_data_buf_jesd.mem' start='0x80000' end='0xC0000' datawidth='32' /&gt;&lt;slave name='ram_fil_coefs.mem' start='0xC0000' end='0xD0000' datawidth='32' /&gt;&lt;slave name='reg_diag_data_buf_jesd.mem' start='0xD0000' end='0xD4000' datawidth='32' /&gt;&lt;slave name='ram_st_sst.mem' start='0xD4000' end='0xD6000' datawidth='32' /&gt;&lt;slave name='avs_eth_0.mms_ram' start='0xD6000' end='0xD7000' datawidth='32' /&gt;&lt;/address-map&gt;</value>
+                        <value>&lt;address-map&gt;&lt;slave name='pio_system_info.mem' start='0x0' end='0x80' datawidth='32' /&gt;&lt;slave name='avs_eth_0.mms_reg' start='0x80' end='0xC0' datawidth='32' /&gt;&lt;slave name='reg_fpga_voltage_sens.mem' start='0xC0' end='0x100' datawidth='32' /&gt;&lt;slave name='reg_wg.mem' start='0x100' end='0x200' datawidth='32' /&gt;&lt;slave name='reg_aduh_monitor.mem' start='0x200' end='0x300' datawidth='32' /&gt;&lt;slave name='reg_unb_pmbus.mem' start='0x300' end='0x400' datawidth='32' /&gt;&lt;slave name='reg_bsn_monitor_input.mem' start='0x400' end='0x800' datawidth='32' /&gt;&lt;slave name='ram_scrap.mem' start='0x800' end='0x1000' datawidth='32' /&gt;&lt;slave name='rom_system_info.mem' start='0x1000' end='0x2000' datawidth='32' /&gt;&lt;slave name='avs_eth_0.mms_tse' start='0x2000' end='0x3000' datawidth='32' /&gt;&lt;slave name='reg_wdi.mem' start='0x3000' end='0x3008' datawidth='32' /&gt;&lt;slave name='reg_bsn_scheduler.mem' start='0x3008' end='0x3010' datawidth='32' /&gt;&lt;slave name='pio_wdi.s1' start='0x3010' end='0x3020' datawidth='32' /&gt;&lt;slave name='timer_0.s1' start='0x3020' end='0x3040' datawidth='16' /&gt;&lt;slave name='reg_dp_shiftram.mem' start='0x3040' end='0x3060' datawidth='32' /&gt;&lt;slave name='reg_fpga_temp_sens.mem' start='0x3060' end='0x3080' datawidth='32' /&gt;&lt;slave name='reg_epcs.mem' start='0x3080' end='0x30A0' datawidth='32' /&gt;&lt;slave name='reg_remu.mem' start='0x30A0' end='0x30C0' datawidth='32' /&gt;&lt;slave name='reg_bsn_source.mem' start='0x30C0' end='0x30D0' datawidth='32' /&gt;&lt;slave name='reg_si.mem' start='0x30D0' end='0x30D8' datawidth='32' /&gt;&lt;slave name='reg_mmdp_data.mem' start='0x30D8' end='0x30E0' datawidth='32' /&gt;&lt;slave name='reg_mmdp_ctrl.mem' start='0x30E0' end='0x30E8' datawidth='32' /&gt;&lt;slave name='reg_dpmm_data.mem' start='0x30E8' end='0x30F0' datawidth='32' /&gt;&lt;slave name='reg_dpmm_ctrl.mem' start='0x30F0' end='0x30F8' datawidth='32' /&gt;&lt;slave name='pio_pps.mem' start='0x30F8' end='0x3100' datawidth='32' /&gt;&lt;slave name='reg_unb_sens.mem' start='0x3100' end='0x3200' datawidth='32' /&gt;&lt;slave name='jtag_uart_0.avalon_jtag_slave' start='0x3200' end='0x3208' datawidth='32' /&gt;&lt;slave name='cpu_0.debug_mem_slave' start='0x3800' end='0x4000' datawidth='32' /&gt;&lt;slave name='jesd204b.mem' start='0x4000' end='0x8000' datawidth='32' /&gt;&lt;slave name='reg_diag_data_buf_bsn.mem' start='0x8000' end='0xC000' datawidth='32' /&gt;&lt;slave name='ram_aduh_monitor.mem' start='0xC000' end='0x10000' datawidth='32' /&gt;&lt;slave name='ram_wg.mem' start='0x10000' end='0x20000' datawidth='32' /&gt;&lt;slave name='onchip_memory2_0.s1' start='0x20000' end='0x40000' datawidth='32' /&gt;&lt;slave name='ram_diag_data_buf_bsn.mem' start='0x40000' end='0x80000' datawidth='32' /&gt;&lt;slave name='ram_diag_data_buf_jesd.mem' start='0x80000' end='0xC0000' datawidth='32' /&gt;&lt;slave name='ram_fil_coefs.mem' start='0xC0000' end='0xD0000' datawidth='32' /&gt;&lt;slave name='ram_st_sst.mem' start='0xD0000' end='0xE0000' datawidth='32' /&gt;&lt;slave name='reg_diag_data_buf_jesd.mem' start='0xE0000' end='0xE4000' datawidth='32' /&gt;&lt;slave name='avs_eth_0.mms_ram' start='0xE4000' end='0xE5000' datawidth='32' /&gt;&lt;/address-map&gt;</value>
                     </entry>
                     <entry>
                         <key>ADDRESS_WIDTH</key>
diff --git a/applications/lofar2/designs/lofar2_unb2b_filterbank/quartus/ip/qsys_lofar2_unb2b_filterbank/qsys_lofar2_unb2b_filterbank_ram_st_sst.ip b/applications/lofar2/designs/lofar2_unb2b_filterbank/quartus/ip/qsys_lofar2_unb2b_filterbank/qsys_lofar2_unb2b_filterbank_ram_st_sst.ip
index a41d5ec3d0..99eb42a96d 100644
--- a/applications/lofar2/designs/lofar2_unb2b_filterbank/quartus/ip/qsys_lofar2_unb2b_filterbank/qsys_lofar2_unb2b_filterbank_ram_st_sst.ip
+++ b/applications/lofar2/designs/lofar2_unb2b_filterbank/quartus/ip/qsys_lofar2_unb2b_filterbank/qsys_lofar2_unb2b_filterbank_ram_st_sst.ip
@@ -129,7 +129,7 @@
         <spirit:parameter>
           <spirit:name>addressSpan</spirit:name>
           <spirit:displayName>Address span</spirit:displayName>
-          <spirit:value spirit:format="string" spirit:id="addressSpan">8192</spirit:value>
+          <spirit:value spirit:format="string" spirit:id="addressSpan">65536</spirit:value>
         </spirit:parameter>
         <spirit:parameter>
           <spirit:name>addressUnits</spirit:name>
@@ -607,7 +607,7 @@
           <spirit:direction>in</spirit:direction>
           <spirit:vector>
             <spirit:left>0</spirit:left>
-            <spirit:right>10</spirit:right>
+            <spirit:right>13</spirit:right>
           </spirit:vector>
           <spirit:wireTypeDefs>
             <spirit:wireTypeDef>
@@ -703,7 +703,7 @@
           <spirit:direction>out</spirit:direction>
           <spirit:vector>
             <spirit:left>0</spirit:left>
-            <spirit:right>10</spirit:right>
+            <spirit:right>13</spirit:right>
           </spirit:vector>
           <spirit:wireTypeDefs>
             <spirit:wireTypeDef>
@@ -783,7 +783,7 @@
         <spirit:parameter>
           <spirit:name>g_adr_w</spirit:name>
           <spirit:displayName>g_adr_w</spirit:displayName>
-          <spirit:value spirit:format="long" spirit:id="g_adr_w">11</spirit:value>
+          <spirit:value spirit:format="long" spirit:id="g_adr_w">14</spirit:value>
         </spirit:parameter>
         <spirit:parameter>
           <spirit:name>g_dat_w</spirit:name>
@@ -846,7 +846,7 @@
                     <name>coe_address_export</name>
                     <role>export</role>
                     <direction>Output</direction>
-                    <width>11</width>
+                    <width>14</width>
                     <lowerBound>0</lowerBound>
                     <vhdlType>STD_LOGIC_VECTOR</vhdlType>
                 </port>
@@ -910,7 +910,7 @@
                     <name>avs_mem_address</name>
                     <role>address</role>
                     <direction>Input</direction>
-                    <width>11</width>
+                    <width>14</width>
                     <lowerBound>0</lowerBound>
                     <vhdlType>STD_LOGIC_VECTOR</vhdlType>
                 </port>
@@ -979,7 +979,7 @@
                     </entry>
                     <entry>
                         <key>addressSpan</key>
-                        <value>8192</value>
+                        <value>65536</value>
                     </entry>
                     <entry>
                         <key>addressUnits</key>
@@ -1374,11 +1374,11 @@
                 <consumedSystemInfos>
                     <entry>
                         <key>ADDRESS_MAP</key>
-                        <value>&lt;address-map&gt;&lt;slave name='mem' start='0x0' end='0x2000' datawidth='32' /&gt;&lt;/address-map&gt;</value>
+                        <value>&lt;address-map&gt;&lt;slave name='mem' start='0x0' end='0x10000' datawidth='32' /&gt;&lt;/address-map&gt;</value>
                     </entry>
                     <entry>
                         <key>ADDRESS_WIDTH</key>
-                        <value>13</value>
+                        <value>16</value>
                     </entry>
                     <entry>
                         <key>MAX_SLAVE_DATA_WIDTH</key>
diff --git a/applications/lofar2/designs/lofar2_unb2b_filterbank/quartus/qsys_lofar2_unb2b_filterbank.qsys b/applications/lofar2/designs/lofar2_unb2b_filterbank/quartus/qsys_lofar2_unb2b_filterbank.qsys
index 444d8045d2..5ada3248fc 100644
--- a/applications/lofar2/designs/lofar2_unb2b_filterbank/quartus/qsys_lofar2_unb2b_filterbank.qsys
+++ b/applications/lofar2/designs/lofar2_unb2b_filterbank/quartus/qsys_lofar2_unb2b_filterbank.qsys
@@ -22,7 +22,7 @@
    {
       datum baseAddress
       {
-         value = "876544";
+         value = "933888";
          type = "String";
       }
    }
@@ -282,7 +282,7 @@
    {
       datum baseAddress
       {
-         value = "868352";
+         value = "851968";
          type = "String";
       }
    }
@@ -394,7 +394,7 @@
    {
       datum baseAddress
       {
-         value = "851968";
+         value = "917504";
          type = "String";
       }
    }
@@ -3744,29 +3744,37 @@
                 <isStart>true</isStart>
                 <ports>
                     <port>
-                        <name>d_readdata</name>
-                        <role>readdata</role>
-                        <direction>Input</direction>
-                        <width>32</width>
+                        <name>d_address</name>
+                        <role>address</role>
+                        <direction>Output</direction>
+                        <width>20</width>
                         <lowerBound>0</lowerBound>
                         <vhdlType>STD_LOGIC_VECTOR</vhdlType>
                     </port>
                     <port>
-                        <name>debug_mem_slave_debugaccess_to_roms</name>
-                        <role>debugaccess</role>
+                        <name>d_byteenable</name>
+                        <role>byteenable</role>
                         <direction>Output</direction>
-                        <width>1</width>
+                        <width>4</width>
                         <lowerBound>0</lowerBound>
-                        <vhdlType>STD_LOGIC</vhdlType>
+                        <vhdlType>STD_LOGIC_VECTOR</vhdlType>
                     </port>
                     <port>
-                        <name>d_write</name>
-                        <role>write</role>
+                        <name>d_read</name>
+                        <role>read</role>
                         <direction>Output</direction>
                         <width>1</width>
                         <lowerBound>0</lowerBound>
                         <vhdlType>STD_LOGIC</vhdlType>
                     </port>
+                    <port>
+                        <name>d_readdata</name>
+                        <role>readdata</role>
+                        <direction>Input</direction>
+                        <width>32</width>
+                        <lowerBound>0</lowerBound>
+                        <vhdlType>STD_LOGIC_VECTOR</vhdlType>
+                    </port>
                     <port>
                         <name>d_waitrequest</name>
                         <role>waitrequest</role>
@@ -3776,12 +3784,12 @@
                         <vhdlType>STD_LOGIC</vhdlType>
                     </port>
                     <port>
-                        <name>d_byteenable</name>
-                        <role>byteenable</role>
+                        <name>d_write</name>
+                        <role>write</role>
                         <direction>Output</direction>
-                        <width>4</width>
+                        <width>1</width>
                         <lowerBound>0</lowerBound>
-                        <vhdlType>STD_LOGIC_VECTOR</vhdlType>
+                        <vhdlType>STD_LOGIC</vhdlType>
                     </port>
                     <port>
                         <name>d_writedata</name>
@@ -3792,16 +3800,8 @@
                         <vhdlType>STD_LOGIC_VECTOR</vhdlType>
                     </port>
                     <port>
-                        <name>d_address</name>
-                        <role>address</role>
-                        <direction>Output</direction>
-                        <width>20</width>
-                        <lowerBound>0</lowerBound>
-                        <vhdlType>STD_LOGIC_VECTOR</vhdlType>
-                    </port>
-                    <port>
-                        <name>d_read</name>
-                        <role>read</role>
+                        <name>debug_mem_slave_debugaccess_to_roms</name>
+                        <role>debugaccess</role>
                         <direction>Output</direction>
                         <width>1</width>
                         <lowerBound>0</lowerBound>
@@ -3962,68 +3962,68 @@
                 <isStart>false</isStart>
                 <ports>
                     <port>
-                        <name>debug_mem_slave_readdata</name>
-                        <role>readdata</role>
-                        <direction>Output</direction>
-                        <width>32</width>
+                        <name>debug_mem_slave_address</name>
+                        <role>address</role>
+                        <direction>Input</direction>
+                        <width>9</width>
                         <lowerBound>0</lowerBound>
                         <vhdlType>STD_LOGIC_VECTOR</vhdlType>
                     </port>
                     <port>
-                        <name>debug_mem_slave_read</name>
-                        <role>read</role>
+                        <name>debug_mem_slave_byteenable</name>
+                        <role>byteenable</role>
                         <direction>Input</direction>
-                        <width>1</width>
+                        <width>4</width>
                         <lowerBound>0</lowerBound>
-                        <vhdlType>STD_LOGIC</vhdlType>
+                        <vhdlType>STD_LOGIC_VECTOR</vhdlType>
                     </port>
                     <port>
-                        <name>debug_mem_slave_write</name>
-                        <role>write</role>
+                        <name>debug_mem_slave_debugaccess</name>
+                        <role>debugaccess</role>
                         <direction>Input</direction>
                         <width>1</width>
                         <lowerBound>0</lowerBound>
                         <vhdlType>STD_LOGIC</vhdlType>
                     </port>
                     <port>
-                        <name>debug_mem_slave_address</name>
-                        <role>address</role>
+                        <name>debug_mem_slave_read</name>
+                        <role>read</role>
                         <direction>Input</direction>
-                        <width>9</width>
+                        <width>1</width>
                         <lowerBound>0</lowerBound>
-                        <vhdlType>STD_LOGIC_VECTOR</vhdlType>
+                        <vhdlType>STD_LOGIC</vhdlType>
                     </port>
                     <port>
-                        <name>debug_mem_slave_writedata</name>
-                        <role>writedata</role>
-                        <direction>Input</direction>
+                        <name>debug_mem_slave_readdata</name>
+                        <role>readdata</role>
+                        <direction>Output</direction>
                         <width>32</width>
                         <lowerBound>0</lowerBound>
                         <vhdlType>STD_LOGIC_VECTOR</vhdlType>
                     </port>
                     <port>
-                        <name>debug_mem_slave_debugaccess</name>
-                        <role>debugaccess</role>
-                        <direction>Input</direction>
+                        <name>debug_mem_slave_waitrequest</name>
+                        <role>waitrequest</role>
+                        <direction>Output</direction>
                         <width>1</width>
                         <lowerBound>0</lowerBound>
                         <vhdlType>STD_LOGIC</vhdlType>
                     </port>
                     <port>
-                        <name>debug_mem_slave_byteenable</name>
-                        <role>byteenable</role>
+                        <name>debug_mem_slave_write</name>
+                        <role>write</role>
                         <direction>Input</direction>
-                        <width>4</width>
+                        <width>1</width>
                         <lowerBound>0</lowerBound>
-                        <vhdlType>STD_LOGIC_VECTOR</vhdlType>
+                        <vhdlType>STD_LOGIC</vhdlType>
                     </port>
                     <port>
-                        <name>debug_mem_slave_waitrequest</name>
-                        <role>waitrequest</role>
-                        <direction>Output</direction>
-                        <width>1</width>
+                        <name>debug_mem_slave_writedata</name>
+                        <role>writedata</role>
+                        <direction>Input</direction>
+                        <width>32</width>
                         <lowerBound>0</lowerBound>
-                        <vhdlType>STD_LOGIC</vhdlType>
+                        <vhdlType>STD_LOGIC_VECTOR</vhdlType>
                     </port>
                 </ports>
                 <assignments>
@@ -4264,6 +4264,14 @@
                 <type>avalon</type>
                 <isStart>true</isStart>
                 <ports>
+                    <port>
+                        <name>i_address</name>
+                        <role>address</role>
+                        <direction>Output</direction>
+                        <width>18</width>
+                        <lowerBound>0</lowerBound>
+                        <vhdlType>STD_LOGIC_VECTOR</vhdlType>
+                    </port>
                     <port>
                         <name>i_read</name>
                         <role>read</role>
@@ -4280,14 +4288,6 @@
                         <lowerBound>0</lowerBound>
                         <vhdlType>STD_LOGIC_VECTOR</vhdlType>
                     </port>
-                    <port>
-                        <name>i_address</name>
-                        <role>address</role>
-                        <direction>Output</direction>
-                        <width>18</width>
-                        <lowerBound>0</lowerBound>
-                        <vhdlType>STD_LOGIC_VECTOR</vhdlType>
-                    </port>
                     <port>
                         <name>i_waitrequest</name>
                         <role>waitrequest</role>
@@ -4836,7 +4836,7 @@
                     <consumedSystemInfos>
                         <entry>
                             <key>ADDRESS_MAP</key>
-                            <value>&lt;address-map&gt;&lt;slave name='pio_system_info.mem' start='0x0' end='0x80' datawidth='32' /&gt;&lt;slave name='avs_eth_0.mms_reg' start='0x80' end='0xC0' datawidth='32' /&gt;&lt;slave name='reg_fpga_voltage_sens.mem' start='0xC0' end='0x100' datawidth='32' /&gt;&lt;slave name='reg_wg.mem' start='0x100' end='0x200' datawidth='32' /&gt;&lt;slave name='reg_aduh_monitor.mem' start='0x200' end='0x300' datawidth='32' /&gt;&lt;slave name='reg_unb_pmbus.mem' start='0x300' end='0x400' datawidth='32' /&gt;&lt;slave name='reg_bsn_monitor_input.mem' start='0x400' end='0x800' datawidth='32' /&gt;&lt;slave name='ram_scrap.mem' start='0x800' end='0x1000' datawidth='32' /&gt;&lt;slave name='rom_system_info.mem' start='0x1000' end='0x2000' datawidth='32' /&gt;&lt;slave name='avs_eth_0.mms_tse' start='0x2000' end='0x3000' datawidth='32' /&gt;&lt;slave name='reg_wdi.mem' start='0x3000' end='0x3008' datawidth='32' /&gt;&lt;slave name='reg_bsn_scheduler.mem' start='0x3008' end='0x3010' datawidth='32' /&gt;&lt;slave name='pio_wdi.s1' start='0x3010' end='0x3020' datawidth='32' /&gt;&lt;slave name='timer_0.s1' start='0x3020' end='0x3040' datawidth='16' /&gt;&lt;slave name='reg_dp_shiftram.mem' start='0x3040' end='0x3060' datawidth='32' /&gt;&lt;slave name='reg_fpga_temp_sens.mem' start='0x3060' end='0x3080' datawidth='32' /&gt;&lt;slave name='reg_epcs.mem' start='0x3080' end='0x30A0' datawidth='32' /&gt;&lt;slave name='reg_remu.mem' start='0x30A0' end='0x30C0' datawidth='32' /&gt;&lt;slave name='reg_bsn_source.mem' start='0x30C0' end='0x30D0' datawidth='32' /&gt;&lt;slave name='reg_si.mem' start='0x30D0' end='0x30D8' datawidth='32' /&gt;&lt;slave name='reg_mmdp_data.mem' start='0x30D8' end='0x30E0' datawidth='32' /&gt;&lt;slave name='reg_mmdp_ctrl.mem' start='0x30E0' end='0x30E8' datawidth='32' /&gt;&lt;slave name='reg_dpmm_data.mem' start='0x30E8' end='0x30F0' datawidth='32' /&gt;&lt;slave name='reg_dpmm_ctrl.mem' start='0x30F0' end='0x30F8' datawidth='32' /&gt;&lt;slave name='pio_pps.mem' start='0x30F8' end='0x3100' datawidth='32' /&gt;&lt;slave name='reg_unb_sens.mem' start='0x3100' end='0x3200' datawidth='32' /&gt;&lt;slave name='jtag_uart_0.avalon_jtag_slave' start='0x3200' end='0x3208' datawidth='32' /&gt;&lt;slave name='cpu_0.debug_mem_slave' start='0x3800' end='0x4000' datawidth='32' /&gt;&lt;slave name='jesd204b.mem' start='0x4000' end='0x8000' datawidth='32' /&gt;&lt;slave name='reg_diag_data_buf_bsn.mem' start='0x8000' end='0xC000' datawidth='32' /&gt;&lt;slave name='ram_aduh_monitor.mem' start='0xC000' end='0x10000' datawidth='32' /&gt;&lt;slave name='ram_wg.mem' start='0x10000' end='0x20000' datawidth='32' /&gt;&lt;slave name='onchip_memory2_0.s1' start='0x20000' end='0x40000' datawidth='32' /&gt;&lt;slave name='ram_diag_data_buf_bsn.mem' start='0x40000' end='0x80000' datawidth='32' /&gt;&lt;slave name='ram_diag_data_buf_jesd.mem' start='0x80000' end='0xC0000' datawidth='32' /&gt;&lt;slave name='ram_fil_coefs.mem' start='0xC0000' end='0xD0000' datawidth='32' /&gt;&lt;slave name='reg_diag_data_buf_jesd.mem' start='0xD0000' end='0xD4000' datawidth='32' /&gt;&lt;slave name='ram_st_sst.mem' start='0xD4000' end='0xD6000' datawidth='32' /&gt;&lt;slave name='avs_eth_0.mms_ram' start='0xD6000' end='0xD7000' datawidth='32' /&gt;&lt;/address-map&gt;</value>
+                            <value>&lt;address-map&gt;&lt;slave name='pio_system_info.mem' start='0x0' end='0x80' datawidth='32' /&gt;&lt;slave name='avs_eth_0.mms_reg' start='0x80' end='0xC0' datawidth='32' /&gt;&lt;slave name='reg_fpga_voltage_sens.mem' start='0xC0' end='0x100' datawidth='32' /&gt;&lt;slave name='reg_wg.mem' start='0x100' end='0x200' datawidth='32' /&gt;&lt;slave name='reg_aduh_monitor.mem' start='0x200' end='0x300' datawidth='32' /&gt;&lt;slave name='reg_unb_pmbus.mem' start='0x300' end='0x400' datawidth='32' /&gt;&lt;slave name='reg_bsn_monitor_input.mem' start='0x400' end='0x800' datawidth='32' /&gt;&lt;slave name='ram_scrap.mem' start='0x800' end='0x1000' datawidth='32' /&gt;&lt;slave name='rom_system_info.mem' start='0x1000' end='0x2000' datawidth='32' /&gt;&lt;slave name='avs_eth_0.mms_tse' start='0x2000' end='0x3000' datawidth='32' /&gt;&lt;slave name='reg_wdi.mem' start='0x3000' end='0x3008' datawidth='32' /&gt;&lt;slave name='reg_bsn_scheduler.mem' start='0x3008' end='0x3010' datawidth='32' /&gt;&lt;slave name='pio_wdi.s1' start='0x3010' end='0x3020' datawidth='32' /&gt;&lt;slave name='timer_0.s1' start='0x3020' end='0x3040' datawidth='16' /&gt;&lt;slave name='reg_dp_shiftram.mem' start='0x3040' end='0x3060' datawidth='32' /&gt;&lt;slave name='reg_fpga_temp_sens.mem' start='0x3060' end='0x3080' datawidth='32' /&gt;&lt;slave name='reg_epcs.mem' start='0x3080' end='0x30A0' datawidth='32' /&gt;&lt;slave name='reg_remu.mem' start='0x30A0' end='0x30C0' datawidth='32' /&gt;&lt;slave name='reg_bsn_source.mem' start='0x30C0' end='0x30D0' datawidth='32' /&gt;&lt;slave name='reg_si.mem' start='0x30D0' end='0x30D8' datawidth='32' /&gt;&lt;slave name='reg_mmdp_data.mem' start='0x30D8' end='0x30E0' datawidth='32' /&gt;&lt;slave name='reg_mmdp_ctrl.mem' start='0x30E0' end='0x30E8' datawidth='32' /&gt;&lt;slave name='reg_dpmm_data.mem' start='0x30E8' end='0x30F0' datawidth='32' /&gt;&lt;slave name='reg_dpmm_ctrl.mem' start='0x30F0' end='0x30F8' datawidth='32' /&gt;&lt;slave name='pio_pps.mem' start='0x30F8' end='0x3100' datawidth='32' /&gt;&lt;slave name='reg_unb_sens.mem' start='0x3100' end='0x3200' datawidth='32' /&gt;&lt;slave name='jtag_uart_0.avalon_jtag_slave' start='0x3200' end='0x3208' datawidth='32' /&gt;&lt;slave name='cpu_0.debug_mem_slave' start='0x3800' end='0x4000' datawidth='32' /&gt;&lt;slave name='jesd204b.mem' start='0x4000' end='0x8000' datawidth='32' /&gt;&lt;slave name='reg_diag_data_buf_bsn.mem' start='0x8000' end='0xC000' datawidth='32' /&gt;&lt;slave name='ram_aduh_monitor.mem' start='0xC000' end='0x10000' datawidth='32' /&gt;&lt;slave name='ram_wg.mem' start='0x10000' end='0x20000' datawidth='32' /&gt;&lt;slave name='onchip_memory2_0.s1' start='0x20000' end='0x40000' datawidth='32' /&gt;&lt;slave name='ram_diag_data_buf_bsn.mem' start='0x40000' end='0x80000' datawidth='32' /&gt;&lt;slave name='ram_diag_data_buf_jesd.mem' start='0x80000' end='0xC0000' datawidth='32' /&gt;&lt;slave name='ram_fil_coefs.mem' start='0xC0000' end='0xD0000' datawidth='32' /&gt;&lt;slave name='ram_st_sst.mem' start='0xD0000' end='0xE0000' datawidth='32' /&gt;&lt;slave name='reg_diag_data_buf_jesd.mem' start='0xE0000' end='0xE4000' datawidth='32' /&gt;&lt;slave name='avs_eth_0.mms_ram' start='0xE4000' end='0xE5000' datawidth='32' /&gt;&lt;/address-map&gt;</value>
                         </entry>
                         <entry>
                             <key>ADDRESS_WIDTH</key>
@@ -11803,7 +11803,7 @@
                         <name>coe_address_export</name>
                         <role>export</role>
                         <direction>Output</direction>
-                        <width>11</width>
+                        <width>14</width>
                         <lowerBound>0</lowerBound>
                         <vhdlType>STD_LOGIC_VECTOR</vhdlType>
                     </port>
@@ -11867,7 +11867,7 @@
                         <name>avs_mem_address</name>
                         <role>address</role>
                         <direction>Input</direction>
-                        <width>11</width>
+                        <width>14</width>
                         <lowerBound>0</lowerBound>
                         <vhdlType>STD_LOGIC_VECTOR</vhdlType>
                     </port>
@@ -11936,7 +11936,7 @@
                         </entry>
                         <entry>
                             <key>addressSpan</key>
-                            <value>8192</value>
+                            <value>65536</value>
                         </entry>
                         <entry>
                             <key>addressUnits</key>
@@ -12342,11 +12342,11 @@
                     <suppliedSystemInfos>
                         <entry>
                             <key>ADDRESS_MAP</key>
-                            <value>&lt;address-map&gt;&lt;slave name='mem' start='0x0' end='0x2000' datawidth='32' /&gt;&lt;/address-map&gt;</value>
+                            <value>&lt;address-map&gt;&lt;slave name='mem' start='0x0' end='0x10000' datawidth='32' /&gt;&lt;/address-map&gt;</value>
                         </entry>
                         <entry>
                             <key>ADDRESS_WIDTH</key>
-                            <value>13</value>
+                            <value>16</value>
                         </entry>
                         <entry>
                             <key>MAX_SLAVE_DATA_WIDTH</key>
@@ -26795,7 +26795,7 @@
    version="18.0"
    start="cpu_0.data_master"
    end="ram_st_sst.mem">
-  <parameter name="baseAddress" value="0x000d4000" />
+  <parameter name="baseAddress" value="0x000d0000" />
  </connection>
  <connection
    kind="avalon"
@@ -26830,7 +26830,7 @@
    version="18.0"
    start="cpu_0.data_master"
    end="reg_diag_data_buf_jesd.mem">
-  <parameter name="baseAddress" value="0x000d0000" />
+  <parameter name="baseAddress" value="0x000e0000" />
  </connection>
  <connection
    kind="avalon"
@@ -26914,7 +26914,7 @@
    version="18.0"
    start="cpu_0.data_master"
    end="avs_eth_0.mms_ram">
-  <parameter name="baseAddress" value="0x000d6000" />
+  <parameter name="baseAddress" value="0x000e4000" />
  </connection>
  <connection
    kind="avalon"
diff --git a/applications/lofar2/designs/lofar2_unb2b_filterbank/src/vhdl/lofar2_unb2b_filterbank.vhd b/applications/lofar2/designs/lofar2_unb2b_filterbank/src/vhdl/lofar2_unb2b_filterbank.vhd
index e1457d0b26..f30c3533b3 100644
--- a/applications/lofar2/designs/lofar2_unb2b_filterbank/src/vhdl/lofar2_unb2b_filterbank.vhd
+++ b/applications/lofar2/designs/lofar2_unb2b_filterbank/src/vhdl/lofar2_unb2b_filterbank.vhd
@@ -249,8 +249,7 @@ ARCHITECTURE str OF lofar2_unb2b_filterbank IS
 
   SIGNAL ait_sosi_arr               : t_dp_sosi_arr(c_nof_streams-1 DOWNTO 0);         
   SIGNAL pfb_sosi_arr               : t_dp_sosi_arr(c_sdp_P_pfb-1 DOWNTO 0);         
-
-
+  SIGNAL fsub_sosi_arr              : t_dp_sosi_arr(c_sdp_P_pfb-1 DOWNTO 0);         
 
 BEGIN
 
@@ -541,6 +540,7 @@ BEGIN
                                             
     in_sosi_arr        => ait_sosi_arr,    
     pfb_sosi_arr       => pfb_sosi_arr,
+    fsub_sosi_arr      => fsub_sosi_arr,
                                             
     mm_rst             => mm_rst, 
     mm_clk             => mm_clk, 
diff --git a/applications/lofar2/designs/lofar2_unb2b_filterbank/src/vhdl/mmm_lofar2_unb2b_filterbank.vhd b/applications/lofar2/designs/lofar2_unb2b_filterbank/src/vhdl/mmm_lofar2_unb2b_filterbank.vhd
index a395da6990..8810eaad05 100644
--- a/applications/lofar2/designs/lofar2_unb2b_filterbank/src/vhdl/mmm_lofar2_unb2b_filterbank.vhd
+++ b/applications/lofar2/designs/lofar2_unb2b_filterbank/src/vhdl/mmm_lofar2_unb2b_filterbank.vhd
@@ -522,7 +522,7 @@ BEGIN
 
       ram_st_sst_clk_export                     => OPEN,
       ram_st_sst_reset_export                   => OPEN,
-      ram_st_sst_address_export                 => ram_st_sst_mosi.address(11-1 DOWNTO 0),
+      ram_st_sst_address_export                 => ram_st_sst_mosi.address(14-1 DOWNTO 0),
       ram_st_sst_write_export                   => ram_st_sst_mosi.wr,
       ram_st_sst_writedata_export               => ram_st_sst_mosi.wrdata(c_word_w-1 DOWNTO 0),
       ram_st_sst_read_export                    => ram_st_sst_mosi.rd,
diff --git a/applications/lofar2/designs/lofar2_unb2b_filterbank/src/vhdl/qsys_lofar2_unb2b_filterbank_pkg.vhd b/applications/lofar2/designs/lofar2_unb2b_filterbank/src/vhdl/qsys_lofar2_unb2b_filterbank_pkg.vhd
index b221fba548..64ab8120f1 100644
--- a/applications/lofar2/designs/lofar2_unb2b_filterbank/src/vhdl/qsys_lofar2_unb2b_filterbank_pkg.vhd
+++ b/applications/lofar2/designs/lofar2_unb2b_filterbank/src/vhdl/qsys_lofar2_unb2b_filterbank_pkg.vhd
@@ -105,7 +105,7 @@ PACKAGE qsys_lofar2_unb2b_filterbank_pkg IS
             ram_scrap_reset_export                  : out std_logic;                                        -- export
             ram_scrap_write_export                  : out std_logic;                                        -- export
             ram_scrap_writedata_export              : out std_logic_vector(31 downto 0);                    -- export
-            ram_st_sst_address_export               : out std_logic_vector(10 downto 0);                    -- export
+            ram_st_sst_address_export               : out std_logic_vector(13 downto 0);                    -- export
             ram_st_sst_clk_export                   : out std_logic;                                        -- export
             ram_st_sst_read_export                  : out std_logic;                                        -- export
             ram_st_sst_readdata_export              : in  std_logic_vector(31 downto 0) := (others => 'X'); -- export
-- 
GitLab