diff --git a/applications/compaan/designs/compaan_unb1_10g_param_stream/hdllib.cfg b/applications/compaan/designs/compaan_unb1_10g_param_stream/hdllib.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..aa9d3751a69d42702935ddb51ac24b3172ff14ca
--- /dev/null
+++ b/applications/compaan/designs/compaan_unb1_10g_param_stream/hdllib.cfg
@@ -0,0 +1,36 @@
+hdl_lib_name = compaan_unb1_10g_param_stream
+hdl_library_clause_name = compaan_unb1_10g_param_stream_lib
+hdl_lib_uses_synth = common unb1_board dp eth tech_tse diag tr_10GbE param_stream
+hdl_lib_technology = ip_stratixiv
+
+synth_files =
+    src/vhdl/compaan_design.vhd
+    src/vhdl/mmm_compaan_unb1_10g_param_stream.vhd    
+    src/vhdl/compaan_unb1_10g_param_stream.vhd
+    
+    $RADIOHDL/applications/compaan/designs/compaan_unb1_10g_bg_db/src/vhdl/mmm_compaan_unb1_10g_bg_db.vhd
+    $RADIOHDL/applications/compaan/designs/compaan_unb1_10g_bg_db/src/vhdl/compaan_unb1_10g_bg_db.vhd
+    
+test_bench_files =   
+    tb/vhdl/tb_compaan_unb1_10g_param_stream.vhd
+
+
+[modelsim_project_file]
+
+
+[quartus_project_file]
+synth_top_level_entity =
+
+quartus_copy_files = quartus/qsys_compaan_unb1_10g_param_stream.qsys .  
+
+quartus_qsf_files = 
+    $RADIOHDL/boards/uniboard1/libraries/unb1_board/quartus/unb1_board.qsf
+    
+quartus_tcl_files =
+    quartus/compaan_unb1_10g_param_stream_pins.tcl
+    
+quartus_qip_files = $HDL_BUILD_DIR/unb1/quartus/compaan_unb1_10g_param_stream/qsys_compaan_unb1_10g_param_stream/synthesis/qsys_compaan_unb1_10g_param_stream.qip
+
+quartus_sdc_files =
+    $RADIOHDL/boards/uniboard1/libraries/unb1_board/quartus/unb1_board.sdc
+
diff --git a/applications/compaan/designs/compaan_unb1_10g_param_stream/mmm.cfg b/applications/compaan/designs/compaan_unb1_10g_param_stream/mmm.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..8417b7e4515fa04ad3ad5cb1b86db33d41ed7ed1
--- /dev/null
+++ b/applications/compaan/designs/compaan_unb1_10g_param_stream/mmm.cfg
@@ -0,0 +1,29 @@
+mmm_name = compaan_unb1_10g_param_stream
+
+board_select = unb1
+
+custom_peripherals = 
+    reg_bsn_monitor                     4  4
+    reg_dp_offload_tx                   1  1
+    reg_dp_offload_tx_hdr_dat           1  6    
+    reg_dp_offload_tx_hdr_ovr           1  5    
+    reg_dp_offload_rx_hdr_dat           1  7
+    reg_dp_offload_rx_filter_hdr_fields 1  7                                    
+    reg_diag_data_buffer                1  5
+    ram_diag_data_buffer                1 14
+    reg_diag_bg                         1  3    
+    ram_diag_bg                         1  9
+    reg_mdio_0                          1  3
+    reg_mdio_1                          1  3
+    reg_mdio_2                          1  3        
+    reg_tr_10gbe                        1 15    
+    reg_tr_xaui                         1 11   
+    reg_compaan                         1 19 
+
+input_clks = mm_clk
+    
+synth_master = qsys
+
+vhdl_output_path = src/vhdl/
+ 
+
diff --git a/applications/compaan/designs/compaan_unb1_10g_param_stream/quartus/compaan_unb1_10g_param_stream_pins.tcl b/applications/compaan/designs/compaan_unb1_10g_param_stream/quartus/compaan_unb1_10g_param_stream_pins.tcl
new file mode 100644
index 0000000000000000000000000000000000000000..111bf0bafb3056d9c045c22a3ef0a0a7dbf09805
--- /dev/null
+++ b/applications/compaan/designs/compaan_unb1_10g_param_stream/quartus/compaan_unb1_10g_param_stream_pins.tcl
@@ -0,0 +1,29 @@
+###############################################################################
+#
+# Copyright (C) 2014
+# ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
+# P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+###############################################################################
+
+source $::env(UNB)/Firmware/designs/unb_common/src/tcl/COMMON_NODE_general_pins.tcl
+source $::env(UNB)/Firmware/designs/unb_common/src/tcl/COMMON_NODE_other_pins.tcl
+source $::env(UNB)/Firmware/designs/unb_common/src/tcl/COMMON_NODE_1Gbe_pins.tcl
+source $::env(UNB)/Firmware/designs/unb_common/src/tcl/COMMON_NODE_sensor_pins.tcl
+source $::env(UNB)/Firmware/designs/unb_common/src/tcl/pins_tr_front_pcs_clk.tcl
+source $::env(UNB)/Firmware/designs/unb_common/src/tcl/pins_tr_front_pcs_0.tcl
+
+
diff --git a/applications/compaan/designs/compaan_unb1_10g_param_stream/quartus/qsys_compaan_unb1_10g_param_stream.qsys b/applications/compaan/designs/compaan_unb1_10g_param_stream/quartus/qsys_compaan_unb1_10g_param_stream.qsys
new file mode 100644
index 0000000000000000000000000000000000000000..0cf56e79cc37b2d9b65f6f87d8b0e6bdc478f739
--- /dev/null
+++ b/applications/compaan/designs/compaan_unb1_10g_param_stream/quartus/qsys_compaan_unb1_10g_param_stream.qsys
@@ -0,0 +1,2582 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<system name="$${FILENAME}">
+ <component
+   name="$${FILENAME}"
+   displayName="$${FILENAME}"
+   version="1.0"
+   description=""
+   tags=""
+   categories="System" />
+ <parameter name="bonusData"><![CDATA[bonusData 
+{
+   element $${FILENAME}
+   {
+   }
+   element jtag_uart_0.avalon_jtag_slave
+   {
+      datum baseAddress
+      {
+         value = "12296";
+         type = "long";
+      }
+   }
+   element avs_eth_0
+   {
+      datum _sortIndex
+      {
+         value = "0";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element clk_input
+   {
+      datum _sortIndex
+      {
+         value = "21";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element cpu_0
+   {
+      datum _sortIndex
+      {
+         value = "2";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element cpu_0.jtag_debug_module
+   {
+      datum baseAddress
+      {
+         value = "28672";
+         type = "long";
+      }
+   }
+   element jtag_uart_0
+   {
+      datum _sortIndex
+      {
+         value = "5";
+         type = "int";
+      }
+      datum megawizard_uipreferences
+      {
+         value = "{}";
+         type = "String";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element pio_system_info.mem
+   {
+      datum _lockedAddress
+      {
+         value = "1";
+         type = "boolean";
+      }
+      datum baseAddress
+      {
+         value = "0";
+         type = "long";
+      }
+   }
+   element ram_diag_bg.mem
+   {
+      datum baseAddress
+      {
+         value = "14336";
+         type = "long";
+      }
+   }
+   element reg_dp_offload_rx_hdr_dat.mem
+   {
+      datum baseAddress
+      {
+         value = "512";
+         type = "long";
+      }
+   }
+   element reg_mdio_2.mem
+   {
+      datum baseAddress
+      {
+         value = "12320";
+         type = "long";
+      }
+   }
+   element reg_dp_offload_tx_hdr_dat.mem
+   {
+      datum baseAddress
+      {
+         value = "1536";
+         type = "long";
+      }
+   }
+   element reg_mdio_1.mem
+   {
+      datum baseAddress
+      {
+         value = "2016";
+         type = "long";
+      }
+   }
+   element reg_compaan.mem
+   {
+      datum baseAddress
+      {
+         value = "2097152";
+         type = "long";
+      }
+   }
+   element reg_dp_offload_rx_filter_hdr_fields.mem
+   {
+      datum baseAddress
+      {
+         value = "1024";
+         type = "long";
+      }
+   }
+   element pio_pps.mem
+   {
+      datum baseAddress
+      {
+         value = "12464";
+         type = "long";
+      }
+   }
+   element rom_system_info.mem
+   {
+      datum _lockedAddress
+      {
+         value = "1";
+         type = "boolean";
+      }
+      datum baseAddress
+      {
+         value = "4096";
+         type = "long";
+      }
+   }
+   element reg_diag_bg.mem
+   {
+      datum baseAddress
+      {
+         value = "12416";
+         type = "long";
+      }
+   }
+   element reg_mdio_0.mem
+   {
+      datum baseAddress
+      {
+         value = "12352";
+         type = "long";
+      }
+   }
+   element ram_diag_data_buffer.mem
+   {
+      datum baseAddress
+      {
+         value = "65536";
+         type = "long";
+      }
+   }
+   element reg_dp_offload_tx_hdr_ovr.mem
+   {
+      datum baseAddress
+      {
+         value = "1792";
+         type = "long";
+      }
+   }
+   element reg_tr_xaui.mem
+   {
+      datum baseAddress
+      {
+         value = "16384";
+         type = "long";
+      }
+   }
+   element reg_bsn_monitor.mem
+   {
+      datum baseAddress
+      {
+         value = "256";
+         type = "long";
+      }
+   }
+   element reg_unb_sens.mem
+   {
+      datum baseAddress
+      {
+         value = "12384";
+         type = "long";
+      }
+   }
+   element reg_diag_data_buffer.mem
+   {
+      datum baseAddress
+      {
+         value = "128";
+         type = "long";
+      }
+   }
+   element reg_tr_10GbE.mem
+   {
+      datum _tags
+      {
+         value = "";
+         type = "String";
+      }
+      datum baseAddress
+      {
+         value = "262144";
+         type = "long";
+      }
+   }
+   element reg_dp_offload_tx.mem
+   {
+      datum baseAddress
+      {
+         value = "12472";
+         type = "long";
+      }
+   }
+   element reg_wdi.mem
+   {
+      datum _lockedAddress
+      {
+         value = "1";
+         type = "boolean";
+      }
+      datum baseAddress
+      {
+         value = "12288";
+         type = "long";
+      }
+   }
+   element avs_eth_0.mms_ram
+   {
+      datum baseAddress
+      {
+         value = "24576";
+         type = "long";
+      }
+   }
+   element avs_eth_0.mms_reg
+   {
+      datum baseAddress
+      {
+         value = "1920";
+         type = "long";
+      }
+   }
+   element avs_eth_0.mms_tse
+   {
+      datum baseAddress
+      {
+         value = "8192";
+         type = "long";
+      }
+   }
+   element onchip_memory2_0
+   {
+      datum _sortIndex
+      {
+         value = "4";
+         type = "int";
+      }
+      datum megawizard_uipreferences
+      {
+         value = "{output_language=VHDL, output_directory=D:\\svnroot\\UniBoard_FP7\\UniBoard\\trunk\\Firmware\\designs\\unb_unb1_minimal\\build\\synth\\quartus}";
+         type = "String";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element pio_debug_wave
+   {
+      datum _sortIndex
+      {
+         value = "3";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element pio_pps
+   {
+      datum _sortIndex
+      {
+         value = "15";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element pio_system_info
+   {
+      datum _sortIndex
+      {
+         value = "1";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element pio_wdi
+   {
+      datum _sortIndex
+      {
+         value = "6";
+         type = "int";
+      }
+      datum megawizard_uipreferences
+      {
+         value = "{}";
+         type = "String";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element ram_diag_bg
+   {
+      datum _sortIndex
+      {
+         value = "24";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element ram_diag_data_buffer
+   {
+      datum _sortIndex
+      {
+         value = "8";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element avs_eth_0.ram_write
+   {
+      datum _tags
+      {
+         value = "";
+         type = "String";
+      }
+   }
+   element reg_diag_data_buffer.read
+   {
+      datum _tags
+      {
+         value = "";
+         type = "String";
+      }
+   }
+   element reg_bsn_monitor.read
+   {
+      datum _tags
+      {
+         value = "";
+         type = "String";
+      }
+   }
+   element reg_bsn_monitor
+   {
+      datum _sortIndex
+      {
+         value = "20";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element reg_compaan
+   {
+      datum _sortIndex
+      {
+         value = "27";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "1";
+         type = "boolean";
+      }
+   }
+   element reg_diag_bg
+   {
+      datum _sortIndex
+      {
+         value = "23";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element reg_diag_data_buffer
+   {
+      datum _sortIndex
+      {
+         value = "9";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element reg_dp_offload_rx_filter_hdr_fields
+   {
+      datum _sortIndex
+      {
+         value = "28";
+         type = "int";
+      }
+   }
+   element reg_dp_offload_rx_hdr_dat
+   {
+      datum _sortIndex
+      {
+         value = "13";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element reg_dp_offload_tx
+   {
+      datum _sortIndex
+      {
+         value = "25";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element reg_dp_offload_tx_hdr_dat
+   {
+      datum _sortIndex
+      {
+         value = "22";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element reg_dp_offload_tx_hdr_ovr
+   {
+      datum _sortIndex
+      {
+         value = "26";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "1";
+         type = "boolean";
+      }
+   }
+   element reg_mdio_0
+   {
+      datum _sortIndex
+      {
+         value = "10";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element reg_mdio_1
+   {
+      datum _sortIndex
+      {
+         value = "11";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element reg_mdio_2
+   {
+      datum _sortIndex
+      {
+         value = "12";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element reg_tr_10GbE
+   {
+      datum _sortIndex
+      {
+         value = "18";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element reg_tr_xaui
+   {
+      datum _sortIndex
+      {
+         value = "19";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element reg_unb_sens
+   {
+      datum _sortIndex
+      {
+         value = "14";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element reg_wdi
+   {
+      datum _sortIndex
+      {
+         value = "16";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element rom_system_info
+   {
+      datum _sortIndex
+      {
+         value = "17";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element pio_debug_wave.s1
+   {
+      datum baseAddress
+      {
+         value = "12304";
+         type = "long";
+      }
+   }
+   element pio_wdi.s1
+   {
+      datum baseAddress
+      {
+         value = "12448";
+         type = "long";
+      }
+   }
+   element timer_0.s1
+   {
+      datum baseAddress
+      {
+         value = "1984";
+         type = "long";
+      }
+   }
+   element onchip_memory2_0.s1
+   {
+      datum _lockedAddress
+      {
+         value = "1";
+         type = "boolean";
+      }
+      datum baseAddress
+      {
+         value = "131072";
+         type = "long";
+      }
+   }
+   element reg_wdi.system_reset
+   {
+      datum _tags
+      {
+         value = "";
+         type = "String";
+      }
+   }
+   element timer_0
+   {
+      datum _sortIndex
+      {
+         value = "7";
+         type = "int";
+      }
+      datum sopceditor_expanded
+      {
+         value = "0";
+         type = "boolean";
+      }
+   }
+   element reg_diag_data_buffer.write
+   {
+      datum _tags
+      {
+         value = "";
+         type = "String";
+      }
+   }
+   element reg_wdi.writedata
+   {
+      datum _tags
+      {
+         value = "";
+         type = "String";
+      }
+   }
+}
+]]></parameter>
+ <parameter name="clockCrossingAdapter" value="HANDSHAKE" />
+ <parameter name="device" value="EP4SGX230KF40C2" />
+ <parameter name="deviceFamily" value="STRATIXIV" />
+ <parameter name="deviceSpeedGrade" value="" />
+ <parameter name="fabricMode" value="QSYS" />
+ <parameter name="generateLegacySim" value="false" />
+ <parameter name="generationId" value="0" />
+ <parameter name="globalResetBus" value="false" />
+ <parameter name="hdlLanguage" value="VHDL" />
+ <parameter name="maxAdditionalLatency" value="0" />
+ <parameter name="projectName" value="" />
+ <parameter name="sopcBorderPoints" value="false" />
+ <parameter name="systemHash" value="1" />
+ <parameter name="timeStamp" value="1461842596935" />
+ <parameter name="useTestBenchNamingPattern" value="false" />
+ <instanceScript></instanceScript>
+ <interface
+   name="pio_debug_wave_external_connection"
+   internal="pio_debug_wave.external_connection"
+   type="conduit"
+   dir="end">
+  <port name="out_port_from_the_pio_debug_wave" internal="out_port" />
+ </interface>
+ <interface
+   name="pio_wdi_external_connection"
+   internal="pio_wdi.external_connection"
+   type="conduit"
+   dir="end">
+  <port name="out_port_from_the_pio_wdi" internal="out_port" />
+ </interface>
+ <interface
+   name="ram_diag_data_buffer_readdata"
+   internal="ram_diag_data_buffer.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_data_buffer_read"
+   internal="ram_diag_data_buffer.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_data_buffer_writedata"
+   internal="ram_diag_data_buffer.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_data_buffer_write"
+   internal="ram_diag_data_buffer.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_data_buffer_address"
+   internal="ram_diag_data_buffer.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_data_buffer_clk"
+   internal="ram_diag_data_buffer.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_data_buffer_reset"
+   internal="ram_diag_data_buffer.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_data_buffer_readdata"
+   internal="reg_diag_data_buffer.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_data_buffer_read"
+   internal="reg_diag_data_buffer.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_data_buffer_writedata"
+   internal="reg_diag_data_buffer.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_data_buffer_write"
+   internal="reg_diag_data_buffer.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_data_buffer_address"
+   internal="reg_diag_data_buffer.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_data_buffer_clk"
+   internal="reg_diag_data_buffer.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_data_buffer_reset"
+   internal="reg_diag_data_buffer.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_mdio_0_reset"
+   internal="reg_mdio_0.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_mdio_0_clk"
+   internal="reg_mdio_0.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_mdio_0_address"
+   internal="reg_mdio_0.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_mdio_0_write"
+   internal="reg_mdio_0.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_mdio_0_read"
+   internal="reg_mdio_0.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_mdio_0_writedata"
+   internal="reg_mdio_0.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_mdio_0_readdata"
+   internal="reg_mdio_0.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_mdio_1_reset"
+   internal="reg_mdio_1.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_mdio_1_readdata"
+   internal="reg_mdio_1.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_mdio_1_clk"
+   internal="reg_mdio_1.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_mdio_1_address"
+   internal="reg_mdio_1.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_mdio_1_write"
+   internal="reg_mdio_1.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_mdio_1_writedata"
+   internal="reg_mdio_1.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_mdio_1_read"
+   internal="reg_mdio_1.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_mdio_2_reset"
+   internal="reg_mdio_2.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_mdio_2_clk"
+   internal="reg_mdio_2.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_mdio_2_address"
+   internal="reg_mdio_2.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_mdio_2_write"
+   internal="reg_mdio_2.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_mdio_2_writedata"
+   internal="reg_mdio_2.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_mdio_2_read"
+   internal="reg_mdio_2.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_mdio_2_readdata"
+   internal="reg_mdio_2.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_rx_hdr_dat_reset"
+   internal="reg_dp_offload_rx_hdr_dat.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_rx_hdr_dat_clk"
+   internal="reg_dp_offload_rx_hdr_dat.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_rx_hdr_dat_address"
+   internal="reg_dp_offload_rx_hdr_dat.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_rx_hdr_dat_write"
+   internal="reg_dp_offload_rx_hdr_dat.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_rx_hdr_dat_writedata"
+   internal="reg_dp_offload_rx_hdr_dat.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_rx_hdr_dat_read"
+   internal="reg_dp_offload_rx_hdr_dat.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_rx_hdr_dat_readdata"
+   internal="reg_dp_offload_rx_hdr_dat.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="eth1g_mm_rst"
+   internal="avs_eth_0.reset"
+   type="conduit"
+   dir="end" />
+ <interface name="eth1g_mm_clk" internal="avs_eth_0.clk" type="conduit" dir="end" />
+ <interface
+   name="eth1g_tse_address"
+   internal="avs_eth_0.tse_address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="eth1g_tse_write"
+   internal="avs_eth_0.tse_write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="eth1g_tse_read"
+   internal="avs_eth_0.tse_read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="eth1g_tse_writedata"
+   internal="avs_eth_0.tse_writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="eth1g_tse_readdata"
+   internal="avs_eth_0.tse_readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="eth1g_tse_waitrequest"
+   internal="avs_eth_0.tse_waitrequest"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="eth1g_reg_address"
+   internal="avs_eth_0.reg_address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="eth1g_reg_write"
+   internal="avs_eth_0.reg_write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="eth1g_reg_read"
+   internal="avs_eth_0.reg_read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="eth1g_reg_writedata"
+   internal="avs_eth_0.reg_writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="eth1g_reg_readdata"
+   internal="avs_eth_0.reg_readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="eth1g_ram_address"
+   internal="avs_eth_0.ram_address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="eth1g_ram_write"
+   internal="avs_eth_0.ram_write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="eth1g_ram_read"
+   internal="avs_eth_0.ram_read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="eth1g_ram_writedata"
+   internal="avs_eth_0.ram_writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="eth1g_ram_readdata"
+   internal="avs_eth_0.ram_readdata"
+   type="conduit"
+   dir="end" />
+ <interface name="eth1g_irq" internal="avs_eth_0.irq" type="conduit" dir="end" />
+ <interface
+   name="reg_unb_sens_reset"
+   internal="reg_unb_sens.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_unb_sens_clk"
+   internal="reg_unb_sens.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_unb_sens_address"
+   internal="reg_unb_sens.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_unb_sens_write"
+   internal="reg_unb_sens.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_unb_sens_writedata"
+   internal="reg_unb_sens.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_unb_sens_read"
+   internal="reg_unb_sens.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_unb_sens_readdata"
+   internal="reg_unb_sens.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="pio_system_info_reset"
+   internal="pio_system_info.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="pio_system_info_clk"
+   internal="pio_system_info.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="pio_system_info_address"
+   internal="pio_system_info.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="pio_system_info_write"
+   internal="pio_system_info.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="pio_system_info_writedata"
+   internal="pio_system_info.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="pio_system_info_read"
+   internal="pio_system_info.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="pio_system_info_readdata"
+   internal="pio_system_info.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="pio_pps_reset"
+   internal="pio_pps.reset"
+   type="conduit"
+   dir="end" />
+ <interface name="pio_pps_clk" internal="pio_pps.clk" type="conduit" dir="end" />
+ <interface
+   name="pio_pps_address"
+   internal="pio_pps.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="pio_pps_write"
+   internal="pio_pps.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="pio_pps_writedata"
+   internal="pio_pps.writedata"
+   type="conduit"
+   dir="end" />
+ <interface name="pio_pps_read" internal="pio_pps.read" type="conduit" dir="end" />
+ <interface
+   name="pio_pps_readdata"
+   internal="pio_pps.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_wdi_reset"
+   internal="reg_wdi.reset"
+   type="conduit"
+   dir="end" />
+ <interface name="reg_wdi_clk" internal="reg_wdi.clk" type="conduit" dir="end" />
+ <interface
+   name="reg_wdi_address"
+   internal="reg_wdi.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_wdi_write"
+   internal="reg_wdi.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_wdi_writedata"
+   internal="reg_wdi.writedata"
+   type="conduit"
+   dir="end" />
+ <interface name="reg_wdi_read" internal="reg_wdi.read" type="conduit" dir="end" />
+ <interface
+   name="reg_wdi_readdata"
+   internal="reg_wdi.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="rom_system_info_reset"
+   internal="rom_system_info.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="rom_system_info_clk"
+   internal="rom_system_info.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="rom_system_info_address"
+   internal="rom_system_info.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="rom_system_info_write"
+   internal="rom_system_info.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="rom_system_info_writedata"
+   internal="rom_system_info.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="rom_system_info_read"
+   internal="rom_system_info.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="rom_system_info_readdata"
+   internal="rom_system_info.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_tr_10gbe_reset"
+   internal="reg_tr_10GbE.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_tr_10gbe_clk"
+   internal="reg_tr_10GbE.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_tr_10gbe_address"
+   internal="reg_tr_10GbE.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_tr_10gbe_write"
+   internal="reg_tr_10GbE.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_tr_10gbe_writedata"
+   internal="reg_tr_10GbE.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_tr_10gbe_read"
+   internal="reg_tr_10GbE.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_tr_10gbe_readdata"
+   internal="reg_tr_10GbE.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_tr_10gbe_waitrequest"
+   internal="reg_tr_10GbE.waitrequest"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_tr_xaui_reset"
+   internal="reg_tr_xaui.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_tr_xaui_clk"
+   internal="reg_tr_xaui.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_tr_xaui_address"
+   internal="reg_tr_xaui.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_tr_xaui_write"
+   internal="reg_tr_xaui.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_tr_xaui_read"
+   internal="reg_tr_xaui.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_tr_xaui_writedata"
+   internal="reg_tr_xaui.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_tr_xaui_readdata"
+   internal="reg_tr_xaui.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_tr_xaui_waitrequest"
+   internal="reg_tr_xaui.waitrequest"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_bsn_monitor_reset"
+   internal="reg_bsn_monitor.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_bsn_monitor_clk"
+   internal="reg_bsn_monitor.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_bsn_monitor_address"
+   internal="reg_bsn_monitor.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_bsn_monitor_write"
+   internal="reg_bsn_monitor.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_bsn_monitor_writedata"
+   internal="reg_bsn_monitor.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_bsn_monitor_read"
+   internal="reg_bsn_monitor.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_bsn_monitor_readdata"
+   internal="reg_bsn_monitor.readdata"
+   type="conduit"
+   dir="end" />
+ <interface name="clk_in" internal="clk_input.clk_in" type="clock" dir="end" />
+ <interface
+   name="reset_in"
+   internal="clk_input.clk_in_reset"
+   type="reset"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_tx_hdr_dat_reset"
+   internal="reg_dp_offload_tx_hdr_dat.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_tx_hdr_dat_clk"
+   internal="reg_dp_offload_tx_hdr_dat.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_tx_hdr_dat_address"
+   internal="reg_dp_offload_tx_hdr_dat.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_tx_hdr_dat_write"
+   internal="reg_dp_offload_tx_hdr_dat.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_tx_hdr_dat_writedata"
+   internal="reg_dp_offload_tx_hdr_dat.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_tx_hdr_dat_read"
+   internal="reg_dp_offload_tx_hdr_dat.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_tx_hdr_dat_readdata"
+   internal="reg_dp_offload_tx_hdr_dat.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_bg_reset"
+   internal="reg_diag_bg.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_bg_clk"
+   internal="reg_diag_bg.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_bg_address"
+   internal="reg_diag_bg.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_bg_write"
+   internal="reg_diag_bg.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_bg_writedata"
+   internal="reg_diag_bg.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_bg_read"
+   internal="reg_diag_bg.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_diag_bg_readdata"
+   internal="reg_diag_bg.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_bg_reset"
+   internal="ram_diag_bg.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_bg_clk"
+   internal="ram_diag_bg.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_bg_address"
+   internal="ram_diag_bg.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_bg_write"
+   internal="ram_diag_bg.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_bg_writedata"
+   internal="ram_diag_bg.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_bg_read"
+   internal="ram_diag_bg.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="ram_diag_bg_readdata"
+   internal="ram_diag_bg.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_tx_reset"
+   internal="reg_dp_offload_tx.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_tx_clk"
+   internal="reg_dp_offload_tx.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_tx_address"
+   internal="reg_dp_offload_tx.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_tx_write"
+   internal="reg_dp_offload_tx.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_tx_writedata"
+   internal="reg_dp_offload_tx.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_tx_read"
+   internal="reg_dp_offload_tx.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_tx_readdata"
+   internal="reg_dp_offload_tx.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_tx_hdr_ovr_reset"
+   internal="reg_dp_offload_tx_hdr_ovr.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_tx_hdr_ovr_clk"
+   internal="reg_dp_offload_tx_hdr_ovr.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_tx_hdr_ovr_address"
+   internal="reg_dp_offload_tx_hdr_ovr.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_tx_hdr_ovr_write"
+   internal="reg_dp_offload_tx_hdr_ovr.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_tx_hdr_ovr_writedata"
+   internal="reg_dp_offload_tx_hdr_ovr.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_tx_hdr_ovr_read"
+   internal="reg_dp_offload_tx_hdr_ovr.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_tx_hdr_ovr_readdata"
+   internal="reg_dp_offload_tx_hdr_ovr.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_compaan_reset"
+   internal="reg_compaan.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_compaan_clk"
+   internal="reg_compaan.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_compaan_address"
+   internal="reg_compaan.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_compaan_write"
+   internal="reg_compaan.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_compaan_writedata"
+   internal="reg_compaan.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_compaan_read"
+   internal="reg_compaan.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_rx_filter_hdr_fields_readdata"
+   internal="reg_dp_offload_rx_filter_hdr_fields.readdata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_rx_filter_hdr_fields_read"
+   internal="reg_dp_offload_rx_filter_hdr_fields.read"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_rx_filter_hdr_fields_writedata"
+   internal="reg_dp_offload_rx_filter_hdr_fields.writedata"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_rx_filter_hdr_fields_write"
+   internal="reg_dp_offload_rx_filter_hdr_fields.write"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_rx_filter_hdr_fields_address"
+   internal="reg_dp_offload_rx_filter_hdr_fields.address"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_rx_filter_hdr_fields_clk"
+   internal="reg_dp_offload_rx_filter_hdr_fields.clk"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_dp_offload_rx_filter_hdr_fields_reset"
+   internal="reg_dp_offload_rx_filter_hdr_fields.reset"
+   type="conduit"
+   dir="end" />
+ <interface
+   name="reg_compaan_readdata"
+   internal="reg_compaan.readdata"
+   type="conduit"
+   dir="end" />
+ <module
+   kind="altera_avalon_onchip_memory2"
+   version="11.1"
+   enabled="1"
+   name="onchip_memory2_0">
+  <parameter name="allowInSystemMemoryContentEditor" value="false" />
+  <parameter name="autoInitializationFileName">qsys_compaan_unb1_10g_app_onchip_memory2_0</parameter>
+  <parameter name="blockType" value="M144K" />
+  <parameter name="dataWidth" value="32" />
+  <parameter name="deviceFamily" value="Stratix IV" />
+  <parameter name="dualPort" value="false" />
+  <parameter name="initMemContent" value="true" />
+  <parameter name="initializationFileName" value="onchip_memory2_0" />
+  <parameter name="instanceID" value="NONE" />
+  <parameter name="memorySize" value="131072" />
+  <parameter name="readDuringWriteMode" value="DONT_CARE" />
+  <parameter name="simAllowMRAMContentsFile" value="false" />
+  <parameter name="simMemInitOnlyFilename" value="0" />
+  <parameter name="singleClockOperation" value="false" />
+  <parameter name="slave1Latency" value="1" />
+  <parameter name="slave2Latency" value="1" />
+  <parameter name="useNonDefaultInitFile" value="true" />
+  <parameter name="useShallowMemBlocks" value="false" />
+  <parameter name="writable" value="true" />
+ </module>
+ <module
+   kind="altera_avalon_jtag_uart"
+   version="11.1"
+   enabled="1"
+   name="jtag_uart_0">
+  <parameter name="allowMultipleConnections" value="false" />
+  <parameter name="hubInstanceID" value="0" />
+  <parameter name="readBufferDepth" value="64" />
+  <parameter name="readIRQThreshold" value="8" />
+  <parameter name="simInputCharacterStream"><![CDATA[a
+q]]></parameter>
+  <parameter name="simInteractiveOptions">INTERACTIVE_ASCII_OUTPUT</parameter>
+  <parameter name="useRegistersForReadBuffer" value="false" />
+  <parameter name="useRegistersForWriteBuffer" value="false" />
+  <parameter name="useRelativePathForSimFile" value="false" />
+  <parameter name="writeBufferDepth" value="64" />
+  <parameter name="writeIRQThreshold" value="8" />
+ </module>
+ <module
+   kind="altera_avalon_pio"
+   version="11.1"
+   enabled="1"
+   name="pio_debug_wave">
+  <parameter name="bitClearingEdgeCapReg" value="false" />
+  <parameter name="bitModifyingOutReg" value="false" />
+  <parameter name="captureEdge" value="false" />
+  <parameter name="clockRate" value="25000000" />
+  <parameter name="direction" value="Output" />
+  <parameter name="edgeType" value="RISING" />
+  <parameter name="generateIRQ" value="false" />
+  <parameter name="irqType" value="LEVEL" />
+  <parameter name="resetValue" value="0" />
+  <parameter name="simDoTestBenchWiring" value="false" />
+  <parameter name="simDrivenValue" value="0" />
+  <parameter name="width" value="32" />
+ </module>
+ <module kind="altera_avalon_pio" version="11.1" enabled="1" name="pio_wdi">
+  <parameter name="bitClearingEdgeCapReg" value="false" />
+  <parameter name="bitModifyingOutReg" value="false" />
+  <parameter name="captureEdge" value="false" />
+  <parameter name="clockRate" value="25000000" />
+  <parameter name="direction" value="Output" />
+  <parameter name="edgeType" value="RISING" />
+  <parameter name="generateIRQ" value="false" />
+  <parameter name="irqType" value="LEVEL" />
+  <parameter name="resetValue" value="0" />
+  <parameter name="simDoTestBenchWiring" value="false" />
+  <parameter name="simDrivenValue" value="0" />
+  <parameter name="width" value="1" />
+ </module>
+ <module kind="altera_avalon_timer" version="11.1" enabled="1" name="timer_0">
+  <parameter name="alwaysRun" value="true" />
+  <parameter name="counterSize" value="32" />
+  <parameter name="fixedPeriod" value="true" />
+  <parameter name="period" value="1" />
+  <parameter name="periodUnits" value="MSEC" />
+  <parameter name="resetOutput" value="false" />
+  <parameter name="snapshot" value="false" />
+  <parameter name="systemFrequency" value="25000000" />
+  <parameter name="timeoutPulseOutput" value="false" />
+  <parameter name="timerPreset">SIMPLE_PERIODIC_INTERRUPT</parameter>
+ </module>
+ <module kind="altera_nios2_qsys" version="11.1" enabled="1" name="cpu_0">
+  <parameter name="setting_showUnpublishedSettings" value="false" />
+  <parameter name="setting_showInternalSettings" value="false" />
+  <parameter name="setting_preciseSlaveAccessErrorException" value="false" />
+  <parameter name="setting_preciseIllegalMemAccessException" value="false" />
+  <parameter name="setting_preciseDivisionErrorException" value="false" />
+  <parameter name="setting_performanceCounter" value="false" />
+  <parameter name="setting_illegalMemAccessDetection" value="false" />
+  <parameter name="setting_illegalInstructionsTrap" value="false" />
+  <parameter name="setting_fullWaveformSignals" value="false" />
+  <parameter name="setting_extraExceptionInfo" value="false" />
+  <parameter name="setting_exportPCB" value="false" />
+  <parameter name="setting_debugSimGen" value="false" />
+  <parameter name="setting_clearXBitsLDNonBypass" value="true" />
+  <parameter name="setting_bit31BypassDCache" value="true" />
+  <parameter name="setting_bigEndian" value="false" />
+  <parameter name="setting_bhtIndexPcOnly" value="false" />
+  <parameter name="setting_avalonDebugPortPresent" value="false" />
+  <parameter name="setting_alwaysEncrypt" value="true" />
+  <parameter name="setting_allowFullAddressRange" value="false" />
+  <parameter name="setting_activateTrace" value="true" />
+  <parameter name="setting_activateTestEndChecker" value="false" />
+  <parameter name="setting_activateMonitors" value="true" />
+  <parameter name="setting_activateModelChecker" value="false" />
+  <parameter name="setting_HDLSimCachesCleared" value="true" />
+  <parameter name="setting_HBreakTest" value="false" />
+  <parameter name="muldiv_divider" value="false" />
+  <parameter name="mpu_useLimit" value="false" />
+  <parameter name="mpu_enabled" value="false" />
+  <parameter name="mmu_enabled" value="false" />
+  <parameter name="mmu_autoAssignTlbPtrSz" value="true" />
+  <parameter name="manuallyAssignCpuID" value="false" />
+  <parameter name="debug_triggerArming" value="true" />
+  <parameter name="debug_embeddedPLL" value="true" />
+  <parameter name="debug_debugReqSignals" value="false" />
+  <parameter name="debug_assignJtagInstanceID" value="false" />
+  <parameter name="dcache_omitDataMaster" value="false" />
+  <parameter name="cpuReset" value="false" />
+  <parameter name="is_hardcopy_compatible" value="false" />
+  <parameter name="setting_shadowRegisterSets" value="0" />
+  <parameter name="mpu_numOfInstRegion" value="8" />
+  <parameter name="mpu_numOfDataRegion" value="8" />
+  <parameter name="mmu_TLBMissExcOffset" value="0" />
+  <parameter name="debug_jtagInstanceID" value="0" />
+  <parameter name="resetOffset" value="0" />
+  <parameter name="exceptionOffset" value="32" />
+  <parameter name="cpuID" value="0" />
+  <parameter name="cpuID_stored" value="0" />
+  <parameter name="breakOffset" value="32" />
+  <parameter name="userDefinedSettings" value="" />
+  <parameter name="resetSlave" value="onchip_memory2_0.s1" />
+  <parameter name="mmu_TLBMissExcSlave" value="" />
+  <parameter name="exceptionSlave" value="onchip_memory2_0.s1" />
+  <parameter name="breakSlave">cpu_0.jtag_debug_module</parameter>
+  <parameter name="setting_perfCounterWidth" value="32" />
+  <parameter name="setting_interruptControllerType" value="Internal" />
+  <parameter name="setting_branchPredictionType" value="Automatic" />
+  <parameter name="setting_bhtPtrSz" value="8" />
+  <parameter name="muldiv_multiplierType" value="DSPBlock" />
+  <parameter name="mpu_minInstRegionSize" value="12" />
+  <parameter name="mpu_minDataRegionSize" value="12" />
+  <parameter name="mmu_uitlbNumEntries" value="4" />
+  <parameter name="mmu_udtlbNumEntries" value="6" />
+  <parameter name="mmu_tlbPtrSz" value="7" />
+  <parameter name="mmu_tlbNumWays" value="16" />
+  <parameter name="mmu_processIDNumBits" value="8" />
+  <parameter name="impl" value="Small" />
+  <parameter name="icache_size" value="4096" />
+  <parameter name="icache_ramBlockType" value="Automatic" />
+  <parameter name="icache_numTCIM" value="0" />
+  <parameter name="icache_burstType" value="None" />
+  <parameter name="dcache_bursts" value="false" />
+  <parameter name="debug_level" value="Level1" />
+  <parameter name="debug_OCIOnchipTrace" value="_128" />
+  <parameter name="dcache_size" value="2048" />
+  <parameter name="dcache_ramBlockType" value="Automatic" />
+  <parameter name="dcache_numTCDM" value="0" />
+  <parameter name="dcache_lineSize" value="32" />
+  <parameter name="instAddrWidth" value="18" />
+  <parameter name="dataAddrWidth" value="22" />
+  <parameter name="tightlyCoupledDataMaster0AddrWidth" value="1" />
+  <parameter name="tightlyCoupledDataMaster1AddrWidth" value="1" />
+  <parameter name="tightlyCoupledDataMaster2AddrWidth" value="1" />
+  <parameter name="tightlyCoupledDataMaster3AddrWidth" value="1" />
+  <parameter name="tightlyCoupledInstructionMaster0AddrWidth" value="1" />
+  <parameter name="tightlyCoupledInstructionMaster1AddrWidth" value="1" />
+  <parameter name="tightlyCoupledInstructionMaster2AddrWidth" value="1" />
+  <parameter name="tightlyCoupledInstructionMaster3AddrWidth" value="1" />
+  <parameter name="instSlaveMapParam"><![CDATA[<address-map><slave name='cpu_0.jtag_debug_module' start='0x7000' end='0x7800' /><slave name='onchip_memory2_0.s1' start='0x20000' end='0x40000' /></address-map>]]></parameter>
+  <parameter name="dataSlaveMapParam"><![CDATA[<address-map><slave name='pio_system_info.mem' start='0x0' end='0x80' /><slave name='reg_diag_data_buffer.mem' start='0x80' end='0x100' /><slave name='reg_bsn_monitor.mem' start='0x100' end='0x200' /><slave name='reg_dp_offload_rx_hdr_dat.mem' start='0x200' end='0x400' /><slave name='reg_dp_offload_rx_filter_hdr_fields.mem' start='0x400' end='0x600' /><slave name='reg_dp_offload_tx_hdr_dat.mem' start='0x600' end='0x700' /><slave name='reg_dp_offload_tx_hdr_ovr.mem' start='0x700' end='0x780' /><slave name='avs_eth_0.mms_reg' start='0x780' end='0x7C0' /><slave name='timer_0.s1' start='0x7C0' end='0x7E0' /><slave name='reg_mdio_1.mem' start='0x7E0' end='0x800' /><slave name='rom_system_info.mem' start='0x1000' end='0x2000' /><slave name='avs_eth_0.mms_tse' start='0x2000' end='0x3000' /><slave name='reg_wdi.mem' start='0x3000' end='0x3008' /><slave name='jtag_uart_0.avalon_jtag_slave' start='0x3008' end='0x3010' /><slave name='pio_debug_wave.s1' start='0x3010' end='0x3020' /><slave name='reg_mdio_2.mem' start='0x3020' end='0x3040' /><slave name='reg_mdio_0.mem' start='0x3040' end='0x3060' /><slave name='reg_unb_sens.mem' start='0x3060' end='0x3080' /><slave name='reg_diag_bg.mem' start='0x3080' end='0x30A0' /><slave name='pio_wdi.s1' start='0x30A0' end='0x30B0' /><slave name='pio_pps.mem' start='0x30B0' end='0x30B8' /><slave name='reg_dp_offload_tx.mem' start='0x30B8' end='0x30C0' /><slave name='ram_diag_bg.mem' start='0x3800' end='0x4000' /><slave name='reg_tr_xaui.mem' start='0x4000' end='0x6000' /><slave name='avs_eth_0.mms_ram' start='0x6000' end='0x7000' /><slave name='cpu_0.jtag_debug_module' start='0x7000' end='0x7800' /><slave name='ram_diag_data_buffer.mem' start='0x10000' end='0x20000' /><slave name='onchip_memory2_0.s1' start='0x20000' end='0x40000' /><slave name='reg_tr_10GbE.mem' start='0x40000' end='0x60000' /><slave name='reg_compaan.mem' start='0x200000' end='0x400000' /></address-map>]]></parameter>
+  <parameter name="clockFrequency" value="25000000" />
+  <parameter name="deviceFamilyName" value="Stratix IV" />
+  <parameter name="internalIrqMaskSystemInfo" value="7" />
+  <parameter name="customInstSlavesSystemInfo" value="&lt;info/&gt;" />
+  <parameter name="deviceFeaturesSystemInfo">ADDRESS_STALL 1 CELL_LEVEL_BACK_ANNOTATION_DISABLED 0 COMPILER_SUPPORT 1 DSP 1 DSP_SHIFTER_BLOCK 1 DUMP_ASM_LAB_BITS_FOR_POWER 1 EMUL 0 ENABLE_ADVANCED_IO_ANALYSIS_GUI_FEATURES 1 EPCS 1 ESB 0 FAKE1 0 FAKE2 0 FAKE3 0 FITTER_USE_FALLING_EDGE_DELAY 1 GENERATE_DC_ON_CURRENT_WARNING_FOR_INTERNAL_CLAMPING_DIODE 1 HARDCOPY 0 HAS_18_BIT_MULTS 1 HAS_ACE_SUPPORT 1 HAS_ADJUSTABLE_OUTPUT_IO_TIMING_MEAS_POINT 1 HAS_ADVANCED_IO_INVERTED_CORNER 1 HAS_ADVANCED_IO_POWER_SUPPORT 1 HAS_ADVANCED_IO_TIMING_SUPPORT 1 HAS_ALM_SUPPORT 1 HAS_ATOM_AND_ROUTING_POWER_MODELED_TOGETHER 0 HAS_AUTO_DERIVE_CLOCK_UNCERTAINTY_SUPPORT 1 HAS_AUTO_FIT_SUPPORT 1 HAS_BALANCED_OPT_TECHNIQUE_SUPPORT 1 HAS_BENEFICIAL_SKEW_SUPPORT 1 HAS_BITLEVEL_DRIVE_STRENGTH_CONTROL 1 HAS_BSDL_FILE_GENERATION 1 HAS_CGA_SUPPORT 1 HAS_CHECK_NETLIST_SUPPORT 1 HAS_CLOCK_REGION_CHECKER_ENABLED 1 HAS_CORE_JUNCTION_TEMP_DERATING 0 HAS_CROSSTALK_SUPPORT 0 HAS_CUSTOM_REGION_SUPPORT 1 HAS_DATA_DRIVEN_ACVQ_HSSI_SUPPORT 0 HAS_DDB_FDI_SUPPORT 0 HAS_DESIGN_ANALYZER_SUPPORT 1 HAS_DETAILED_IO_RAIL_POWER_MODEL 1 HAS_DETAILED_LEIM_STATIC_POWER_MODEL 0 HAS_DETAILED_LE_POWER_MODEL 1 HAS_DETAILED_ROUTING_MUX_STATIC_POWER_MODEL 0 HAS_DETAILED_THERMAL_CIRCUIT_PARAMETER_SUPPORT 1 HAS_DEVICE_MIGRATION_SUPPORT 1 HAS_DIAGONAL_MIGRATION_SUPPORT 0 HAS_EMIF_TOOLKIT_SUPPORT 1 HAS_FAMILY_VARIANT_MIGRATION_SUPPORT 0 HAS_FANOUT_FREE_NODE_SUPPORT 1 HAS_FAST_FIT_SUPPORT 1 HAS_FITTER_EARLY_TIMING_ESTIMATE_SUPPORT 1 HAS_FITTER_ECO_SUPPORT 1 HAS_FIT_NETLIST_OPT_RETIME_SUPPORT 1 HAS_FIT_NETLIST_OPT_SUPPORT 1 HAS_FORMAL_VERIFICATION_SUPPORT 1 HAS_FPGA_XCHANGE_SUPPORT 1 HAS_FSAC_LUTRAM_REGISTER_PACKING_SUPPORT 0 HAS_FULL_DAT_MIN_TIMING_SUPPORT 1 HAS_FULL_INCREMENTAL_DESIGN_SUPPORT 1 HAS_FUNCTIONAL_SIMULATION_SUPPORT 1 HAS_GLITCH_FILTERING_SUPPORT 1 HAS_HC_READY_SUPPORT 1 HAS_HIGH_SPEED_LOW_POWER_TILE_SUPPORT 1 HAS_HOLD_TIME_AVOIDANCE_ACROSS_CLOCK_SPINE_SUPPORT 1 HAS_HSPICE_WRITER_SUPPORT 1 HAS_HSSI_POWER_CALCULATOR 1 HAS_IBISO_WRITER_SUPPORT 0 HAS_INCREMENTAL_DAT_SUPPORT 1 HAS_INCREMENTAL_SYNTHESIS_SUPPORT 1 HAS_IO_ASSIGNMENT_ANALYSIS_SUPPORT 1 HAS_IO_DECODER 1 HAS_IO_PLACEMENT_OPTIMIZATION_SUPPORT 1 HAS_IO_SMART_RECOMPILE_SUPPORT 0 HAS_JITTER_SUPPORT 1 HAS_JTAG_SLD_HUB_SUPPORT 1 HAS_LOGIC_LOCK_SUPPORT 1 HAS_MICROPROCESSOR 0 HAS_MIF_SMART_COMPILE_SUPPORT 1 HAS_MINMAX_TIMING_MODELING_SUPPORT 1 HAS_MIN_TIMING_ANALYSIS_SUPPORT 1 HAS_MUX_RESTRUCTURE_SUPPORT 1 HAS_NEW_HC_FLOW_SUPPORT 0 HAS_NEW_SERDES_MAX_RESOURCE_COUNT_REPORTING_SUPPORT 1 HAS_NEW_VPR_SUPPORT 1 HAS_NONSOCKET_TECHNOLOGY_MIGRATION_SUPPORT 1 HAS_NO_JTAG_USERCODE_SUPPORT 0 HAS_OPERATING_SETTINGS_AND_CONDITIONS_REPORTING_SUPPORT 1 HAS_PAD_LOCATION_ASSIGNMENT_SUPPORT 0 HAS_PARTIAL_RECONFIG_SUPPORT 0 HAS_PHYSICAL_NETLIST_OUTPUT 0 HAS_PHYSICAL_ROUTING_SUPPORT 1 HAS_PIN_SPECIFIC_VOLTAGE_SUPPORT 1 HAS_PLDM_REF_SUPPORT 1 HAS_POWER_ESTIMATION_SUPPORT 1 HAS_PRELIMINARY_CLOCK_UNCERTAINTY_NUMBERS 0 HAS_PRE_FITTER_FPP_SUPPORT 0 HAS_PRE_FITTER_LUTRAM_NETLIST_CHECKER_ENABLED 1 HAS_PVA_SUPPORT 1 HAS_RCF_SUPPORT 1 HAS_RCF_SUPPORT_FOR_DEBUGGING 0 HAS_RED_BLACK_SEPARATION_SUPPORT 0 HAS_RE_LEVEL_TIMING_GRAPH_SUPPORT 1 HAS_RISEFALL_DELAY_SUPPORT 1 HAS_SIGNAL_PROBE_SUPPORT 1 HAS_SIGNAL_TAP_SUPPORT 1 HAS_SIMULATOR_SUPPORT 0 HAS_SPLIT_IO_SUPPORT 1 HAS_SPLIT_LC_SUPPORT 1 HAS_SYNTH_FSYN_NETLIST_OPT_SUPPORT 1 HAS_SYNTH_NETLIST_OPT_RETIME_SUPPORT 1 HAS_SYNTH_NETLIST_OPT_SUPPORT 1 HAS_TECHNOLOGY_MIGRATION_SUPPORT 1 HAS_TEMPLATED_REGISTER_PACKING_SUPPORT 1 HAS_TIME_BORROWING_SUPPORT 0 HAS_TIMING_DRIVEN_SYNTHESIS_SUPPORT 1 HAS_TIMING_INFO_SUPPORT 1 HAS_TIMING_OPERATING_CONDITIONS 1 HAS_TIMING_SIMULATION_SUPPORT 1 HAS_TITAN_BASED_MAC_REGISTER_PACKER_SUPPORT 1 HAS_USER_HIGH_SPEED_LOW_POWER_TILE_SUPPORT 1 HAS_USE_FITTER_INFO_SUPPORT 0 HAS_VCCPD_POWER_RAIL 1 HAS_VERTICAL_MIGRATION_SUPPORT 1 HAS_VIEWDRAW_SYMBOL_SUPPORT 0 HAS_VIO_SUPPORT 1 HAS_VIRTUAL_DEVICES 0 HAS_WYSIWYG_DFFEAS_SUPPORT 1 HAS_XIBISO_WRITER_SUPPORT 1 INCREMENTAL_DESIGN_SUPPORTS_COMPATIBLE_CONSTRAINTS 1 INSTALLED 0 IS_CONFIG_ROM 0 IS_DEFAULT_FAMILY 0 IS_HARDCOPY_FAMILY 0 LVDS_IO 1 M10K_MEMORY 0 M144K_MEMORY 1 M20K_MEMORY 0 M4K_MEMORY 0 M512_MEMORY 0 M9K_MEMORY 1 MLAB_MEMORY 1 MRAM_MEMORY 0 NOT_LISTED 0 NO_RPE_SUPPORT 0 NO_SUPPORT_FOR_LOGICLOCK_CONTENT_BACK_ANNOTATION 1 NO_SUPPORT_FOR_STA_CLOCK_UNCERTAINTY_CHECK 0 NO_TDC_SUPPORT 0 POSTFIT_BAK_DATABASE_EXPORT_ENABLED 1 POSTMAP_BAK_DATABASE_EXPORT_ENABLED 1 PROGRAMMER_SUPPORT 1 QFIT_IN_DEVELOPMENT 0 QMAP_IN_DEVELOPMENT 0 RAM_LOGICAL_NAME_CHECKING_IN_CUT_ENABLED 1 REPORTS_METASTABILITY_MTBF 1 REQUIRES_INSTALLATION_PATCH 0 REQUIRES_LIST_OF_TEMPERATURE_AND_VOLTAGE_OPERATING_CONDITIONS 1 RESERVES_SIGNAL_PROBE_PINS 0 RESOLVE_MAX_FANOUT_EARLY 1 RESOLVE_MAX_FANOUT_LATE 0 RESPECTS_FIXED_SIZED_LOCKED_LOCATION_LOGICLOCK 1 RESTRICTED_USER_SELECTION 0 RISEFALL_SUPPORT_IS_HIDDEN 0 SUPPORTS_ADDITIONAL_OPTIONS_FOR_UNUSED_IO 1 SUPPORTS_CRC 1 SUPPORTS_DIFFERENTIAL_AIOT_BOARD_TRACE_MODEL 1 SUPPORTS_DSP_BALANCING_BACK_ANNOTATION 0 SUPPORTS_GENERATION_OF_EARLY_POWER_ESTIMATOR_FILE 1 SUPPORTS_GLOBAL_SIGNAL_BACK_ANNOTATION 1 SUPPORTS_MAC_CHAIN_OUT_ADDER 1 SUPPORTS_RAM_PACKING_BACK_ANNOTATION 0 SUPPORTS_REG_PACKING_BACK_ANNOTATION 0 SUPPORTS_SIGNALPROBE_REGISTER_PIPELINING 1 SUPPORTS_SINGLE_ENDED_AIOT_BOARD_TRACE_MODEL 1 SUPPORTS_USER_MANUAL_LOGIC_DUPLICATION 1 TMV_RUN_CUSTOMIZABLE_VIEWER 1 TMV_RUN_INTERNAL_DETAILS 1 TMV_RUN_INTERNAL_DETAILS_ON_IO 0 TMV_RUN_INTERNAL_DETAILS_ON_IOBUF 1 TMV_RUN_INTERNAL_DETAILS_ON_LCELL 0 TMV_RUN_INTERNAL_DETAILS_ON_LRAM 0 TRANSCEIVER_3G_BLOCK 1 TRANSCEIVER_6G_BLOCK 1 USES_ACV_FOR_FLED 1 USES_ADB_FOR_BACK_ANNOTATION 1 USES_ASIC_ROUTING_POWER_CALCULATOR 0 USES_DATA_DRIVEN_PLL_COMPUTATION_UTIL 1 USES_DEV 1 USES_ICP_FOR_ECO_FITTER 0 USES_LIBERTY_TIMING 0 USES_POWER_SIGNAL_ACTIVITIES 1 USES_THIRD_GENERATION_TIMING_MODELS_TIS 1 USE_ADVANCED_IO_POWER_BY_DEFAULT 1 USE_ADVANCED_IO_TIMING_BY_DEFAULT 1 USE_BASE_FAMILY_DDB_PATH 0 USE_OCT_AUTO_CALIBRATION 0 USE_RISEFALL_ONLY 1 USE_SEPARATE_LIST_FOR_TECH_MIGRATION 1 USE_SINGLE_COMPILER_PASS_PLL_MIF_FILE_WRITER 1 USE_TITAN_IO_BASED_IO_REGISTER_PACKER_UTIL 1 WYSIWYG_BUS_WIDTH_CHECKING_IN_CUT_ENABLED 1</parameter>
+  <parameter name="tightlyCoupledDataMaster0MapParam" value="" />
+  <parameter name="tightlyCoupledDataMaster1MapParam" value="" />
+  <parameter name="tightlyCoupledDataMaster2MapParam" value="" />
+  <parameter name="tightlyCoupledDataMaster3MapParam" value="" />
+  <parameter name="tightlyCoupledInstructionMaster0MapParam" value="" />
+  <parameter name="tightlyCoupledInstructionMaster1MapParam" value="" />
+  <parameter name="tightlyCoupledInstructionMaster2MapParam" value="" />
+  <parameter name="tightlyCoupledInstructionMaster3MapParam" value="" />
+ </module>
+ <module
+   kind="avs_common_mm"
+   version="1.0"
+   enabled="1"
+   name="ram_diag_data_buffer">
+  <parameter name="g_adr_w" value="14" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="25000000" />
+ </module>
+ <module
+   kind="avs_common_mm"
+   version="1.0"
+   enabled="1"
+   name="reg_diag_data_buffer">
+  <parameter name="g_adr_w" value="5" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="25000000" />
+ </module>
+ <module kind="avs_common_mm" version="1.0" enabled="1" name="reg_mdio_0">
+  <parameter name="g_adr_w" value="3" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="25000000" />
+ </module>
+ <module kind="avs_common_mm" version="1.0" enabled="1" name="reg_mdio_1">
+  <parameter name="g_adr_w" value="3" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="25000000" />
+ </module>
+ <module kind="avs_common_mm" version="1.0" enabled="1" name="reg_mdio_2">
+  <parameter name="g_adr_w" value="3" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="25000000" />
+ </module>
+ <module
+   kind="avs_common_mm"
+   version="1.0"
+   enabled="1"
+   name="reg_dp_offload_rx_hdr_dat">
+  <parameter name="g_adr_w" value="7" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="25000000" />
+ </module>
+ <module kind="avs2_eth_coe" version="1.0" enabled="1" name="avs_eth_0">
+  <parameter name="AUTO_MM_CLOCK_RATE" value="25000000" />
+ </module>
+ <module kind="avs_common_mm" version="1.0" enabled="1" name="reg_unb_sens">
+  <parameter name="g_adr_w" value="3" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="25000000" />
+ </module>
+ <module kind="avs_common_mm" version="1.0" enabled="1" name="pio_system_info">
+  <parameter name="g_adr_w" value="5" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="25000000" />
+ </module>
+ <module kind="avs_common_mm" version="1.0" enabled="1" name="pio_pps">
+  <parameter name="g_adr_w" value="1" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="25000000" />
+ </module>
+ <module kind="avs_common_mm" version="1.0" enabled="1" name="reg_wdi">
+  <parameter name="g_adr_w" value="1" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="25000000" />
+ </module>
+ <module kind="avs_common_mm" version="1.0" enabled="1" name="rom_system_info">
+  <parameter name="g_adr_w" value="10" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="25000000" />
+ </module>
+ <module
+   kind="avs_common_mm_readlatency0"
+   version="1.0"
+   enabled="1"
+   name="reg_tr_10GbE">
+  <parameter name="g_adr_w" value="15" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="25000000" />
+ </module>
+ <module
+   kind="avs_common_mm_readlatency0"
+   version="1.0"
+   enabled="1"
+   name="reg_tr_xaui">
+  <parameter name="g_adr_w" value="11" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="25000000" />
+ </module>
+ <module kind="avs_common_mm" version="1.0" enabled="1" name="reg_bsn_monitor">
+  <parameter name="g_adr_w" value="6" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="25000000" />
+ </module>
+ <module kind="clock_source" version="11.1" enabled="1" name="clk_input">
+  <parameter name="clockFrequency" value="25000000" />
+  <parameter name="clockFrequencyKnown" value="true" />
+  <parameter name="inputClockFrequency" value="0" />
+  <parameter name="resetSynchronousEdges" value="NONE" />
+ </module>
+ <module
+   kind="avs_common_mm"
+   version="1.0"
+   enabled="1"
+   name="reg_dp_offload_tx_hdr_dat">
+  <parameter name="g_adr_w" value="6" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="25000000" />
+ </module>
+ <module kind="avs_common_mm" version="1.0" enabled="1" name="reg_diag_bg">
+  <parameter name="g_adr_w" value="3" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="25000000" />
+ </module>
+ <module kind="avs_common_mm" version="1.0" enabled="1" name="ram_diag_bg">
+  <parameter name="g_adr_w" value="9" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="25000000" />
+ </module>
+ <module
+   kind="avs_common_mm"
+   version="1.0"
+   enabled="1"
+   name="reg_dp_offload_tx">
+  <parameter name="g_adr_w" value="1" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="25000000" />
+ </module>
+ <module
+   kind="avs_common_mm"
+   version="1.0"
+   enabled="1"
+   name="reg_dp_offload_tx_hdr_ovr">
+  <parameter name="g_adr_w" value="5" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="25000000" />
+ </module>
+ <module kind="avs_common_mm" version="1.0" enabled="1" name="reg_compaan">
+  <parameter name="g_adr_w" value="19" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="25000000" />
+ </module>
+ <module
+   kind="avs_common_mm"
+   version="1.0"
+   enabled="1"
+   name="reg_dp_offload_rx_filter_hdr_fields">
+  <parameter name="g_adr_w" value="7" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="25000000" />
+ </module>
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.instruction_master"
+   end="cpu_0.jtag_debug_module">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x7000" />
+ </connection>
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="cpu_0.jtag_debug_module">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x7000" />
+ </connection>
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.instruction_master"
+   end="onchip_memory2_0.s1">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x00020000" />
+ </connection>
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="onchip_memory2_0.s1">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x00020000" />
+ </connection>
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="jtag_uart_0.avalon_jtag_slave">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x3008" />
+ </connection>
+ <connection
+   kind="interrupt"
+   version="11.1"
+   start="cpu_0.d_irq"
+   end="jtag_uart_0.irq">
+  <parameter name="irqNumber" value="0" />
+ </connection>
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="pio_debug_wave.s1">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x3010" />
+ </connection>
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="pio_wdi.s1">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x30a0" />
+ </connection>
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="timer_0.s1">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x07c0" />
+ </connection>
+ <connection kind="interrupt" version="11.1" start="cpu_0.d_irq" end="timer_0.irq">
+  <parameter name="irqNumber" value="1" />
+ </connection>
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="onchip_memory2_0.reset1" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="jtag_uart_0.reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="pio_debug_wave.reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="pio_wdi.reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="timer_0.reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="cpu_0.reset_n" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="ram_diag_data_buffer.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="reg_diag_data_buffer.system_reset" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="ram_diag_data_buffer.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x00010000" />
+ </connection>
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="reg_diag_data_buffer.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x0080" />
+ </connection>
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="reg_mdio_0.system_reset" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="reg_mdio_1.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x07e0" />
+ </connection>
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="reg_mdio_1.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="reg_mdio_2.system_reset" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="reg_mdio_2.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x3020" />
+ </connection>
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="reg_dp_offload_rx_hdr_dat.system_reset" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="reg_dp_offload_rx_hdr_dat.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x0200" />
+ </connection>
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="reg_mdio_0.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x3040" />
+ </connection>
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="avs_eth_0.mms_tse">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x2000" />
+ </connection>
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="avs_eth_0.mms_reg">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x0780" />
+ </connection>
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="avs_eth_0.mms_ram">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x6000" />
+ </connection>
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="reg_unb_sens.system_reset" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="reg_unb_sens.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x3060" />
+ </connection>
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="pio_system_info.system_reset" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="pio_system_info.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x0000" />
+ </connection>
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="pio_pps.system_reset" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="pio_pps.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x30b0" />
+ </connection>
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="reg_wdi.system_reset" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="reg_wdi.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x3000" />
+ </connection>
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="rom_system_info.system_reset" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="rom_system_info.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x1000" />
+ </connection>
+ <connection
+   kind="interrupt"
+   version="11.1"
+   start="cpu_0.d_irq"
+   end="avs_eth_0.interrupt">
+  <parameter name="irqNumber" value="2" />
+ </connection>
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="reg_tr_10GbE.system_reset" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="reg_tr_10GbE.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x00040000" />
+ </connection>
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="reg_tr_xaui.system_reset" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="reg_tr_xaui.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x4000" />
+ </connection>
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="reg_bsn_monitor.system_reset" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="reg_bsn_monitor.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x0100" />
+ </connection>
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="avs_eth_0.mm_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="reg_diag_data_buffer.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="reg_mdio_0.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="reg_mdio_1.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="reg_mdio_2.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="reg_dp_offload_rx_hdr_dat.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="reg_unb_sens.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="pio_pps.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="reg_wdi.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="rom_system_info.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="reg_tr_10GbE.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="reg_tr_xaui.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="reg_bsn_monitor.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="ram_diag_data_buffer.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="timer_0.reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="pio_wdi.reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="jtag_uart_0.reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="onchip_memory2_0.reset1" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="pio_debug_wave.reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="cpu_0.reset_n" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="pio_system_info.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="avs_eth_0.mm_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="reg_dp_offload_tx_hdr_dat.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="reg_dp_offload_tx_hdr_dat.system_reset" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="reg_dp_offload_tx_hdr_dat.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x0600" />
+ </connection>
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="reg_diag_bg.system_reset" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="reg_diag_bg.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x3080" />
+ </connection>
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="ram_diag_bg.system_reset" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="ram_diag_bg.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x3800" />
+ </connection>
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="ram_diag_bg.system" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="reg_diag_bg.system" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="reg_dp_offload_tx_hdr_dat.system" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="reg_diag_data_buffer.system" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="reg_bsn_monitor.system" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="reg_mdio_2.system" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="reg_tr_xaui.system" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="reg_tr_10GbE.system" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="rom_system_info.system" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="reg_wdi.system" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="pio_pps.system" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="reg_unb_sens.system" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="reg_dp_offload_rx_hdr_dat.system" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="reg_mdio_1.system" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="reg_mdio_0.system" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="ram_diag_data_buffer.system" />
+ <connection kind="clock" version="11.1" start="clk_input.clk" end="timer_0.clk" />
+ <connection kind="clock" version="11.1" start="clk_input.clk" end="pio_wdi.clk" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="jtag_uart_0.clk" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="onchip_memory2_0.clk1" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="pio_debug_wave.clk" />
+ <connection kind="clock" version="11.1" start="clk_input.clk" end="cpu_0.clk" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="pio_system_info.system" />
+ <connection kind="clock" version="11.1" start="clk_input.clk" end="avs_eth_0.mm" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="reg_dp_offload_tx.system" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="reg_dp_offload_tx_hdr_ovr.system" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="reg_dp_offload_tx.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="reg_dp_offload_tx.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="reg_dp_offload_tx_hdr_ovr.system_reset" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="reg_dp_offload_tx_hdr_ovr.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x0700" />
+ </connection>
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="reg_dp_offload_tx.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x30b8" />
+ </connection>
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="reg_diag_bg.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="ram_diag_bg.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="reg_dp_offload_tx_hdr_ovr.system_reset" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="reg_compaan.system" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="reg_compaan.system_reset" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="reg_compaan.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x00200000" />
+ </connection>
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_input.clk"
+   end="reg_dp_offload_rx_filter_hdr_fields.system" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="clk_input.clk_reset"
+   end="reg_dp_offload_rx_filter_hdr_fields.system_reset" />
+ <connection
+   kind="reset"
+   version="11.1"
+   start="cpu_0.jtag_debug_module_reset"
+   end="reg_dp_offload_rx_filter_hdr_fields.system_reset" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="reg_dp_offload_rx_filter_hdr_fields.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x0400" />
+ </connection>
+</system>
diff --git a/applications/compaan/designs/compaan_unb1_10g_param_stream/src/vhdl/compaan_design.vhd b/applications/compaan/designs/compaan_unb1_10g_param_stream/src/vhdl/compaan_design.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..379c14fb9e4ae50a82a7b0fa8620611a12344a0e
--- /dev/null
+++ b/applications/compaan/designs/compaan_unb1_10g_param_stream/src/vhdl/compaan_design.vhd
@@ -0,0 +1,132 @@
+------------------------------------------------------------------
+-- TOP LEVEL                                                      
+------------------------------------------------------------------
+library IEEE, dp_lib, param_stream_lib;                                                     
+use IEEE.STD_LOGIC_1164.ALL;          
+USE dp_lib.dp_stream_pkg.ALL;                           
+                                                                  
+entity compaan_design is                                                  
+  generic (                                                       
+    	BLOCKS_PER_SYNC : natural := 10                             
+  );                                                              
+  port (                                                                                                                             
+    
+    -- ST sink
+    snk_out         : OUT t_dp_siso := c_dp_siso_rdy;
+    snk_in          : IN  t_dp_sosi; 
+        
+    -- ST source
+    src_in          : IN  t_dp_siso;
+    src_out         : OUT t_dp_sosi;                                 
+                                                                  
+    TEST_STOP       : out std_logic_vector(2 downto 0 );                
+    TEST_ERROR      : out std_logic_vector(2 downto 0 );               
+    TEST_FIFO_FULL  : out std_logic_vector(1 downto 0 );           
+    TEST_BLOCK_RD   : out std_logic_vector(2 downto 0 );           
+    address         : in std_logic_vector(18 downto 0 );                  
+    read_data       : out std_logic_vector(31 downto 0 );               
+    read_en         : in std_logic;                                       
+    write_en        : in std_logic;                                      
+    write_data      : in std_logic_vector(31 downto 0 );               
+                                                                  
+    MM_CLK          : in std_logic;                               
+                                       
+    KPN_CLK         : in std_logic;                                       
+    KPN_RST         : in std_logic                                        
+  );                                                              
+end compaan_design;                                                       
+                                                                  
+architecture STRUCTURE of compaan_design is
+
+
+	signal data_in_Data : std_logic_vector(63 downto 0);
+	signal data_in_control : std_logic;
+	signal data_in_Read : std_logic;
+	signal data_in_Exists : std_logic; 	
+	signal data_in_SOP : std_logic;
+	signal data_in_EOP : std_logic;   
+	
+  signal data_out_Data_c : std_logic_vector(63 downto 0);
+  signal data_out_Control_c : std_logic;
+	signal data_out_Write_c : std_logic;	
+	
+  signal data_out_Data : std_logic_vector(63 downto 0);
+  signal data_out_Control : std_logic;
+	signal data_out_Write : std_logic;
+	signal data_out_Full : std_logic;
+	signal data_out_SOP : std_logic;
+	signal data_out_EOP : std_logic;
+	
+	signal snk_in_nop : t_dp_sosi := c_dp_sosi_rst;
+	                                                                                                                                                                                                                                              
+begin 
+	
+	snk_out.ready <= data_in_Read; --'1';
+	
+  -- wrapper -> ipcore     		
+	data_in_Data <= snk_in.data(63 downto 0);      
+	data_in_Exists <= snk_in.valid;    
+	data_in_SOP <= snk_in.sop;
+	data_in_EOP <= snk_in.eop;
+		
+	-- ipcore --> wrapper	
+	--src_out.valid <= data_out_Write;
+	--src_out.data <= RESIZE_DP_DATA(data_out_Data);
+	--src_out.sop <= data_out_SOP;
+	--src_out.eop <= data_out_EOP;   
+
+          
+	
+	snk_in_nop.valid <= data_out_Write_c;
+	snk_in_nop.data <= RESIZE_DP_DATA(data_out_Data_c);   
+	data_out_Full <= not src_in.ready;                      		 
+                        
+  -- Compaan ipcore                                         
+  u_compaan_design : ENTITY param_stream_lib.param_stream                                                             
+  PORT MAP (                                                
+                                                            
+    data_in_Data        => data_in_Data,                    
+    data_in_Control     => data_in_Control,                 
+    data_in_Read        => data_in_Read,                    
+    data_in_Exists      => data_in_Exists,	
+                                                            
+    data_out_Data       => data_out_Data_c,                   
+    data_out_Control    => data_out_Control_c,                
+    data_out_Write      => data_out_Write_c,                  
+    data_out_Full       => data_out_Full,	                                     
+                                                            
+    TEST_STOP           => open,                       
+    TEST_ERROR          => open,                      
+    TEST_FIFO_FULL      => open,                  
+    TEST_BLOCK_RD       => open,                   
+    address             => address,                         
+    read_data           => read_data,                       
+    read_en             => read_en,                         
+    write_en            => write_en,                        
+    write_data          => write_data,                      
+    
+    pci_clk              => MM_CLK,  
+--    MM_RST              => MM_RST,                                                        
+    KPN_CLK             => KPN_CLK,                          
+    KPN_RST             => KPN_RST                           
+  );                                                        
+                                                          
+	u_pkg_signals_gen : ENTITY dp_lib.dp_block_gen
+	GENERIC MAP (                     
+    g_use_src_in        => FALSE,  -- when true use src_in.ready else use snk_in.valid for flow control
+    g_nof_data          => BLOCKS_PER_SYNC    -- nof data per block                 
+	)    
+	port map (
+    rst        					=> KPN_RST,
+    clk         				=> KPN_CLK,
+    -- Streaming sink
+    snk_in     => snk_in_nop,
+    -- Streaming source
+    src_in     => src_in,
+    src_out    => src_out,
+    -- MM control
+    en         => '1'
+	);
+                                                                  
+end architecture STRUCTURE;                                       
+
diff --git a/applications/compaan/designs/compaan_unb1_10g_param_stream/src/vhdl/compaan_unb1_10g_param_stream.vhd b/applications/compaan/designs/compaan_unb1_10g_param_stream/src/vhdl/compaan_unb1_10g_param_stream.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..04dc36e580020ee64ad6108061e3f0d7c1382ced
--- /dev/null
+++ b/applications/compaan/designs/compaan_unb1_10g_param_stream/src/vhdl/compaan_unb1_10g_param_stream.vhd
@@ -0,0 +1,944 @@
+-------------------------------------------------------------------------------
+--
+-- Copyright (C) 2013
+-- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
+-- JIVE (Joint Institute for VLBI in Europe) <http://www.jive.nl/>
+-- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
+--
+-- This program is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program.  If not, see <http://www.gnu.org/licenses/>.
+--
+-------------------------------------------------------------------------------
+
+-- Purpose:
+-- . Test dp_offload_tx and dp_offload_rx components
+-- Description:
+-- . Block generators generate data blocks that flow from dp_offload_tx to dp_offload_rx 
+--   instances via 10GbE (64b user interface)
+
+LIBRARY IEEE, common_lib, unb1_board_lib, dp_lib, eth_lib, tech_tse_lib, diag_lib, tr_10GbE_lib, technology_lib;
+use IEEE.STD_LOGIC_1164.ALL;
+USE IEEE.NUMERIC_STD.ALL;
+USE common_lib.common_pkg.ALL;
+USE common_lib.common_str_pkg.ALL;
+USE common_lib.common_mem_pkg.ALL;
+USE common_lib.common_network_layers_pkg.ALL;
+USE common_lib.common_interface_layers_pkg.ALL;
+USE unb1_board_lib.unb1_board_pkg.ALL;
+USE unb1_board_lib.unb1_board_peripherals_pkg.ALL;
+USE dp_lib.dp_stream_pkg.ALL;
+USE tech_tse_lib.tech_tse_pkg.ALL;
+USE eth_lib.eth_pkg.ALL;
+USE common_lib.common_network_layers_pkg.ALL;
+USE diag_lib.diag_pkg.ALL;
+USE common_lib.common_field_pkg.ALL;
+USE technology_lib.technology_pkg.ALL;
+
+ENTITY compaan_unb1_10g_param_stream IS
+  GENERIC (
+    g_design_name  : STRING  := "compaan_unb1_10g_param_stream"; 
+    g_design_note  : STRING  := "revision info"; 
+    g_technology   : NATURAL := c_tech_stratixiv;
+    g_sim          : BOOLEAN := FALSE;                 -- set by     ModelSim
+    g_sim_unb_nr   : NATURAL := 0;                     -- set by     ModelSim
+    g_sim_node_nr  : NATURAL := 0;                     -- set by     ModelSim
+    g_stamp_date   : NATURAL := 0;  -- Date (YYYYMMDD) -- set by QSF
+    g_stamp_time   : NATURAL := 0;  -- Time (HHMMSS)   -- set by QSF
+    g_stamp_svn    : NATURAL := 0   -- SVN revision    -- set by QSF
+  );
+  PORT (
+    -- GENERAL
+    CLK           : IN    STD_LOGIC; -- dp_clk is generated by SOPC altpll
+    PPS           : IN    STD_LOGIC; 
+    WDI           : OUT   STD_LOGIC; 
+    INTA          : INOUT STD_LOGIC; 
+    INTB          : INOUT STD_LOGIC; 
+                                                                                 
+    -- Others
+    VERSION       : IN    STD_LOGIC_VECTOR(c_unb1_board_aux.version_w-1 DOWNTO 0);
+    ID            : IN    STD_LOGIC_VECTOR(c_unb1_board_aux.id_w-1 DOWNTO 0);
+    TESTIO        : INOUT STD_LOGIC_VECTOR(c_unb1_board_aux.testio_w-1 DOWNTO 0);
+
+    -- I2C Interface to Sensors
+    sens_sc       : INOUT STD_LOGIC;
+    sens_sd       : INOUT STD_LOGIC;
+  
+    -- 1GbE Control Interface
+    ETH_clk       : IN    STD_LOGIC;
+    ETH_SGIN      : IN    STD_LOGIC;
+    ETH_SGOUT     : OUT   STD_LOGIC;
+    
+    -- Transceiver clocks
+    SA_CLK        : IN  STD_LOGIC := '0'; -- SerDes Clock BN-BI / SI_FN
+
+    -- Serial I/O: 10GbE receivers 
+    SI_FN_0_TX    : OUT   STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0);
+    SI_FN_0_RX    : IN    STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0);
+    SI_FN_1_TX    : OUT   STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0);
+    SI_FN_1_RX    : IN    STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0);
+    SI_FN_2_TX    : OUT   STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0);
+    SI_FN_2_RX    : IN    STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0);
+    SI_FN_3_TX    : OUT   STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0);
+    SI_FN_3_RX    : IN    STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0);
+
+    SI_FN_0_CNTRL : INOUT STD_LOGIC_VECTOR(c_unb1_board_ci.tr.cntrl_w-1 DOWNTO 0);
+    SI_FN_1_CNTRL : INOUT STD_LOGIC_VECTOR(c_unb1_board_ci.tr.cntrl_w-1 DOWNTO 0);
+    SI_FN_2_CNTRL : INOUT STD_LOGIC_VECTOR(c_unb1_board_ci.tr.cntrl_w-1 DOWNTO 0);
+    SI_FN_3_CNTRL : INOUT STD_LOGIC_VECTOR(c_unb1_board_ci.tr.cntrl_w-1 DOWNTO 0);
+    SI_FN_RSTN    : OUT   STD_LOGIC := '1' -- ResetN is pulled up in the Vitesse chip, but pulled down again by external 1k resistor.
+                                           -- So we need to assign a '1' to it.
+  );
+END compaan_unb1_10g_param_stream;
+
+
+ARCHITECTURE str OF compaan_unb1_10g_param_stream IS
+
+  -- Firmware version x.y                                                 
+  CONSTANT c_fw_version                 : t_unb1_board_fw_version := (1, 1);  -- 
+
+  CONSTANT c_use_compaan                : BOOLEAN := TRUE;                                                   
+
+  -- Revision controlled constants
+  CONSTANT c_use_1GbE                   : BOOLEAN := TRUE;
+  CONSTANT c_nof_streams                : NATURAL := 1;
+  CONSTANT c_nof_10GbE_streams          : NATURAL := c_nof_streams;
+  CONSTANT c_nof_bsn_mon_streams        : NATURAL := 4;
+
+  CONSTANT c_data_w                     : NATURAL := 64; -- c_tech_tse_data_w; 
+
+  -- Block generator
+  CONSTANT c_bg_addr_w                  : NATURAL := 9;  
+  CONSTANT c_bg_block_size              : NATURAL := 1117;
+  CONSTANT c_bg_gapsize                 : NATURAL := c_bg_block_size/2; -- Full (no gaps in data) BG output rate = 200MHz * 64b = 12.8Gbps. Including gap size: (365/(365+182))*12.8Gbps=8.54Gbps.
+  CONSTANT c_bg_calc_blocks_per_sync    : NATURAL := 200000000/(c_bg_block_size+c_bg_gapsize);
+  CONSTANT c_bg_blocks_per_sync         : NATURAL := sel_a_b(g_sim, 10, c_bg_calc_blocks_per_sync); -- 200000*(900+100) = 200000000 cycles = 1 second
+  CONSTANT c_bg_ctrl                    : t_diag_block_gen := ('0',                                -- enable             
+                                                               '0',                                -- enable_sync        
+                                                              TO_UVEC(     c_bg_block_size, c_diag_bg_samples_per_packet_w),
+                                                              TO_UVEC(c_bg_blocks_per_sync, c_diag_bg_blocks_per_sync_w),
+                                                              TO_UVEC(        c_bg_gapsize, c_diag_bg_gapsize_w),
+                                                              TO_UVEC(                   0, c_diag_bg_mem_low_adrs_w),
+                                                              TO_UVEC(   c_bg_block_size-1, c_diag_bg_mem_high_adrs_w),
+                                                              TO_UVEC(                   0, c_diag_bg_bsn_init_w));
+
+  -- dp_offload_tx
+  -- . IP total length : 2948 (UDP total lenth) + 20 (Ip header length) = 2968
+  -- . UDP total length: 8 (UDP header) + 20 (usr header) +  2920 (payload bytes) = 2948     -- 1488
+  CONSTANT c_ip_length      : NATURAL := c_bg_block_size*8 + 50; --2970;
+  CONSTANT c_udp_length     : NATURAL := c_bg_block_size*8 + 30; --2950;
+  CONSTANT c_nof_hdr_fields : NATURAL := 3+12+4+9+1;  -- Total header bits = 512
+  CONSTANT c_hdr_field_arr  : t_common_field_arr(c_nof_hdr_fields-1 DOWNTO 0) := ( ( field_name_pad("eth_dst_mac"        ), "  ", 48, field_default(0) ),
+                                                                                   ( field_name_pad("eth_src_mac"        ), "  ", 48, field_default(0) ),
+                                                                                   ( field_name_pad("eth_type"           ), "  ", 16, field_default(x"0800") ),
+                                                                                   ( field_name_pad("ip_version"         ), "  ",  4, field_default(4) ),
+                                                                                   ( field_name_pad("ip_header_length"   ), "  ",  4, field_default(5) ),
+                                                                                   ( field_name_pad("ip_services"        ), "  ",  8, field_default(0) ),
+                                                                                   ( field_name_pad("ip_total_length"    ), "  ", 16, field_default(c_ip_length) ),        --1508) ),
+                                                                                   ( field_name_pad("ip_identification"  ), "  ", 16, field_default(0) ),
+                                                                                   ( field_name_pad("ip_flags"           ), "  ",  3, field_default(2) ),
+                                                                                   ( field_name_pad("ip_fragment_offset" ), "  ", 13, field_default(0) ),
+                                                                                   ( field_name_pad("ip_time_to_live"    ), "  ",  8, field_default(127) ),
+                                                                                   ( field_name_pad("ip_protocol"        ), "  ",  8, field_default(17) ),
+                                                                                   ( field_name_pad("ip_header_checksum" ), "  ", 16, field_default(0) ),
+                                                                                   ( field_name_pad("ip_src_addr"        ), "  ", 32, field_default(0) ),
+                                                                                   ( field_name_pad("ip_dst_addr"        ), "  ", 32, field_default(0) ),
+                                                                                   ( field_name_pad("udp_src_port"       ), "  ", 16, field_default(0) ), 
+                                                                                   ( field_name_pad("udp_dst_port"       ), "  ", 16, field_default(0) ), 
+                                                                                   ( field_name_pad("udp_total_length"   ), "  ", 16, field_default(c_udp_length) ),         --1488) ),
+                                                                                   ( field_name_pad("udp_checksum"       ), "  ", 16, field_default(0) ),
+                                                                                   ( field_name_pad("usr_sync"           ), "  ",  1, field_default(1) ),
+                                                                                   ( field_name_pad("usr_bsn"            ), "  ", 60, field_default(0) ),
+                                                                                   ( field_name_pad("usr_hdr_field_0"    ), "  ",  7, field_default(0) ),
+                                                                                   ( field_name_pad("usr_hdr_field_1"    ), "  ",  9, field_default(0) ),
+                                                                                   ( field_name_pad("usr_hdr_field_2"    ), "  ", 10, field_default(0) ),
+                                                                                   ( field_name_pad("usr_hdr_field_3"    ), "  ", 33, field_default(0) ),
+                                                                                   ( field_name_pad("usr_hdr_field_4"    ), "  ",  5, field_default(0) ),
+                                                                                   ( field_name_pad("usr_hdr_field_5"    ), "  ",  8, field_default(0) ),
+                                                                                   ( field_name_pad("usr_hdr_field_6"    ), "  ", 27, field_default(0) ),
+                                                                                   ( field_name_pad("usr_hdr_word_align" ), "  ", 16, field_default(0) ) );   
+                                                                                   
+  
+  
+  
+  CONSTANT c_bypass_rx_filter           : BOOLEAN := FALSE;
+                                          
+  CONSTANT c_hdr_field_ovr_init         : STD_LOGIC_VECTOR(c_nof_hdr_fields-1 DOWNTO 0) := "111"&"111111111111"&"0011"&"101111111"&"0";
+  
+  CONSTANT c_fifo_size                  : NATURAL := 2*c_bg_block_size;
+  CONSTANT c_nof_header_words           : NATURAL := field_slv_len(c_hdr_field_arr) / c_data_w;
+  CONSTANT c_nof_header_bytes           : NATURAL := field_slv_len(c_hdr_field_arr) / c_byte_w;
+  CONSTANT c_nof_crc_words              : NATURAL := 0;
+  CONSTANT c_def_nof_blocks_per_packet  : NATURAL := 1; 
+
+  SIGNAL hdr_fields_out_arr             : t_slv_1024_arr(c_nof_streams-1 DOWNTO 0);
+
+  -- System                           
+  SIGNAL sa_rst                         : STD_LOGIC := '0';
+  SIGNAL cs_sim                         : STD_LOGIC;
+  SIGNAL xo_clk                         : STD_LOGIC;
+  SIGNAL xo_rst                         : STD_LOGIC;
+  SIGNAL xo_rst_n                       : STD_LOGIC;
+  SIGNAL mm_clk                         : STD_LOGIC;
+  SIGNAL mm_locked                      : STD_LOGIC;
+  SIGNAL mm_rst                         : STD_LOGIC;  
+  SIGNAL dp_rst                         : STD_LOGIC;
+  SIGNAL dp_clk                         : STD_LOGIC;  
+  SIGNAL dp_pps                         : STD_LOGIC;
+  SIGNAL epcs_clk                       : STD_LOGIC;   
+  -- PIOs
+  SIGNAL pout_wdi                       : STD_LOGIC;
+
+  SIGNAL eth1g_tse_clk                  : STD_LOGIC;
+  SIGNAL eth1g_mm_rst                   : STD_LOGIC;
+  SIGNAL eth1g_tse_mosi                 : t_mem_mosi;
+  SIGNAL eth1g_tse_miso                 : t_mem_miso;
+  SIGNAL eth1g_reg_mosi                 : t_mem_mosi;
+  SIGNAL eth1g_reg_miso                 : t_mem_miso;
+  SIGNAL eth1g_reg_interrupt            : STD_LOGIC;
+  SIGNAL eth1g_ram_mosi                 : t_mem_mosi;
+  SIGNAL eth1g_ram_miso                 : t_mem_miso;
+
+  SIGNAL reg_wdi_mosi                   : t_mem_mosi;
+  SIGNAL reg_wdi_miso                   : t_mem_miso;
+  SIGNAL reg_unb_system_info_mosi       : t_mem_mosi;
+  SIGNAL reg_unb_system_info_miso       : t_mem_miso;
+  SIGNAL rom_unb_system_info_mosi       : t_mem_mosi;
+  SIGNAL rom_unb_system_info_miso       : t_mem_miso;
+  SIGNAL reg_unb_sens_mosi              : t_mem_mosi;
+  SIGNAL reg_unb_sens_miso              : t_mem_miso;
+
+  SIGNAL reg_diag_bg_mosi               : t_mem_mosi;
+  SIGNAL reg_diag_bg_miso               : t_mem_miso;
+  SIGNAL ram_diag_bg_mosi               : t_mem_mosi;
+  SIGNAL ram_diag_bg_miso               : t_mem_miso;
+
+  SIGNAL reg_dp_offload_tx_mosi         : t_mem_mosi;
+  SIGNAL reg_dp_offload_tx_miso         : t_mem_miso;
+  SIGNAL reg_dp_offload_tx_hdr_dat_mosi : t_mem_mosi;
+  SIGNAL reg_dp_offload_tx_hdr_dat_miso : t_mem_miso;
+  SIGNAL reg_dp_offload_tx_hdr_ovr_mosi : t_mem_mosi;
+  SIGNAL reg_dp_offload_tx_hdr_ovr_miso : t_mem_miso;
+  SIGNAL reg_dp_offload_rx_hdr_dat_mosi : t_mem_mosi;
+  SIGNAL reg_dp_offload_rx_hdr_dat_miso : t_mem_miso;
+  
+  --. 10G Receiver       
+  SIGNAL reg_tr_10GbE_mosi              : t_mem_mosi;
+  SIGNAL reg_tr_10GbE_miso              : t_mem_miso;
+  SIGNAL reg_tr_xaui_mosi               : t_mem_mosi;
+  SIGNAL reg_tr_xaui_miso               : t_mem_miso;
+  SIGNAL reg_mdio_mosi_arr              : t_mem_mosi_arr(c_unb1_board_nof_mdio-1 DOWNTO 0);
+  SIGNAL reg_mdio_miso_arr              : t_mem_miso_arr(c_unb1_board_nof_mdio-1 DOWNTO 0);
+
+  SIGNAL reg_mdio_0_mosi                : t_mem_mosi;
+  SIGNAL reg_mdio_0_miso                : t_mem_miso;
+  SIGNAL reg_mdio_1_mosi                : t_mem_mosi;
+  SIGNAL reg_mdio_1_miso                : t_mem_miso;
+  SIGNAL reg_mdio_2_mosi                : t_mem_mosi;
+  SIGNAL reg_mdio_2_miso                : t_mem_miso;
+
+  SIGNAL reg_bsn_monitor_mosi           : t_mem_mosi;
+  SIGNAL reg_bsn_monitor_miso           : t_mem_miso;
+  SIGNAL ram_diag_data_buffer_mosi      : t_mem_mosi;
+  SIGNAL ram_diag_data_buffer_miso      : t_mem_miso;
+  SIGNAL reg_diag_data_buffer_mosi      : t_mem_mosi;
+  SIGNAL reg_diag_data_buffer_miso      : t_mem_miso;  
+
+  SIGNAL reg_ppsh_mosi                  : t_mem_mosi;     
+  SIGNAL reg_ppsh_miso                  : t_mem_miso;  
+
+  SIGNAL reg_compaan_mosi               : t_mem_mosi;     
+  SIGNAL reg_compaan_miso               : t_mem_miso;
+  
+  SIGNAL reg_dp_offload_rx_filter_hdr_fields_mosi : t_mem_mosi;  
+  SIGNAL reg_dp_offload_rx_filter_hdr_fields_miso : t_mem_miso; 
+  
+  SIGNAL block_gen_src_out_arr          : t_dp_sosi_arr(c_nof_streams-1 DOWNTO 0);
+  SIGNAL block_gen_src_in_arr           : t_dp_siso_arr(c_nof_streams-1 DOWNTO 0) := (OTHERS=> c_dp_siso_rdy);
+  SIGNAL block_gen_src_in_arr_temp      : t_dp_siso_arr(c_nof_streams-1 DOWNTO 0) := (OTHERS=> c_dp_siso_rdy);
+
+  SIGNAL dp_offload_tx_snk_in_arr       : t_dp_sosi_arr(c_nof_streams-1 DOWNTO 0);
+  SIGNAL dp_offload_tx_snk_out_arr      : t_dp_siso_arr(c_nof_streams-1 DOWNTO 0);
+  
+  SIGNAL dp_offload_tx_src_out_arr      : t_dp_sosi_arr(c_nof_streams-1 DOWNTO 0);
+  SIGNAL dp_offload_tx_src_in_arr       : t_dp_siso_arr(c_nof_streams-1 DOWNTO 0); 
+  
+  SIGNAL dp_offload_rx_filter_src_out_arr : t_dp_sosi_arr(c_nof_streams-1 DOWNTO 0);
+  SIGNAL dp_offload_rx_filter_src_in_arr  : t_dp_siso_arr(c_nof_streams-1 DOWNTO 0);
+  
+  SIGNAL dp_offload_rx_snk_in_arr       : t_dp_sosi_arr(c_nof_streams-1 DOWNTO 0);
+  SIGNAL dp_offload_rx_snk_out_arr      : t_dp_siso_arr(c_nof_streams-1 DOWNTO 0);
+
+  SIGNAL dp_offload_rx_src_out_arr      : t_dp_sosi_arr(c_nof_streams-1 DOWNTO 0);
+  SIGNAL dp_offload_rx_src_in_arr       : t_dp_siso_arr(c_nof_streams-1 DOWNTO 0) := (OTHERS=> c_dp_siso_rdy);
+
+  SIGNAL dp_fifo_snk_in_arr             : t_dp_sosi_arr(c_nof_streams-1 DOWNTO 0);
+  SIGNAL dp_fifo_snk_out_arr            : t_dp_siso_arr(c_nof_streams-1 DOWNTO 0) := (OTHERS=> c_dp_siso_rdy);
+  
+  SIGNAL dp_fifo_src_in_arr             : t_dp_siso_arr(c_nof_streams-1 DOWNTO 0);
+  SIGNAL dp_fifo_src_out_arr            : t_dp_sosi_arr(c_nof_streams-1 DOWNTO 0);
+
+  SIGNAL diag_data_buf_snk_in_arr       : t_dp_sosi_arr(c_nof_streams-1 DOWNTO 0);
+  SIGNAL diag_data_buf_snk_out_arr      : t_dp_siso_arr(c_nof_streams-1 DOWNTO 0);      
+  
+  SIGNAL bsn_monitor_snk_in_arr         : t_dp_sosi_arr(c_nof_bsn_mon_streams-1 DOWNTO 0);                                                            
+  SIGNAL bsn_monitor_snk_out_arr        : t_dp_siso_arr(c_nof_bsn_mon_streams-1 DOWNTO 0) := (OTHERS=> c_dp_siso_rdy);
+
+  -- Interface: 10GbE                                    
+  SIGNAL xaui_tx_arr                    : t_xaui_arr(c_nof_10GbE_streams-1 DOWNTO 0);
+  SIGNAL xaui_rx_arr                    : t_xaui_arr(c_nof_10GbE_streams-1 DOWNTO 0);
+  SIGNAL unb_xaui_tx_arr                : t_unb1_board_xaui_sl_2arr(c_nof_10GbE_streams-1 DOWNTO 0);
+  SIGNAL unb_xaui_rx_arr                : t_unb1_board_xaui_sl_2arr(c_nof_10GbE_streams-1 DOWNTO 0);
+  SIGNAL mdio_mdc_arr                   : STD_LOGIC_VECTOR(c_nof_10GbE_streams-1 DOWNTO 0);  
+  SIGNAL mdio_mdat_in_arr               : STD_LOGIC_VECTOR(c_nof_10GbE_streams-1 DOWNTO 0);
+  SIGNAL mdio_mdat_oen_arr              : STD_LOGIC_VECTOR(c_nof_10GbE_streams-1 DOWNTO 0);
+
+  SIGNAL TEST_STOP                      : STD_LOGIC_VECTOR(2 downto 0 );          
+  SIGNAL TEST_ERROR                     : STD_LOGIC_VECTOR(2 downto 0 );
+  SIGNAL TEST_FIFO_FULL                 : STD_LOGIC_VECTOR(1 downto 0 );
+  SIGNAL TEST_BLOCK_RD                  : STD_LOGIC_VECTOR(2 downto 0 );
+  SIGNAL address                        : STD_LOGIC_VECTOR(18 downto 0 );  
+  SIGNAL read_data                      : STD_LOGIC_VECTOR(31 downto 0 );
+  SIGNAL read_en                        : STD_LOGIC;
+  SIGNAL write_en                       : STD_LOGIC;
+  SIGNAL write_data                     : STD_LOGIC_VECTOR(31 downto 0 );
+  
+  SIGNAL fi_snk_out                     : t_dp_siso;
+  SIGNAL fi_snk_in                      : t_dp_sosi;
+  SIGNAL fi_src_in                      : t_dp_siso;
+  SIGNAL fi_src_out                     : t_dp_sosi;
+  SIGNAL fo_snk_out                     : t_dp_siso;
+  SIGNAL fo_snk_in                      : t_dp_sosi;
+  SIGNAL fo_src_in                      : t_dp_siso;
+  SIGNAL fo_src_out                     : t_dp_sosi;
+  SIGNAL compaan_snk_out                : t_dp_siso;
+  SIGNAL compaan_snk_in                 : t_dp_sosi;
+  SIGNAL compaan_src_in                 : t_dp_siso;
+  SIGNAL compaan_src_out                : t_dp_sosi;  
+  SIGNAL hdr_fields_in_arr              : t_slv_1024_arr(c_nof_streams-1 DOWNTO 0);
+                                        
+BEGIN
+
+    -----------------------------------------------------------------------------
+    -- Interface : 10GbE
+    -----------------------------------------------------------------------------
+    -- Wire together different types
+    gen_wires: FOR i IN 0 TO c_nof_10GbE_streams-1 GENERATE
+      unb_xaui_tx_arr(i) <= xaui_tx_arr(i);
+      xaui_rx_arr(i)     <= unb_xaui_rx_arr(i);
+    END GENERATE;
+    
+    u_front_io : ENTITY unb1_board_lib.unb1_board_front_io
+    GENERIC MAP (
+      g_nof_xaui => c_nof_10GbE_streams
+    )
+    PORT MAP (
+      xaui_tx_arr       => unb_xaui_tx_arr,
+      xaui_rx_arr       => unb_xaui_rx_arr,
+     
+      mdio_mdc_arr      => mdio_mdc_arr,
+      mdio_mdat_in_arr  => mdio_mdat_in_arr,
+      mdio_mdat_oen_arr => mdio_mdat_oen_arr,
+    
+      -- Serial I/O
+      SI_FN_0_TX        => SI_FN_0_TX,
+      SI_FN_0_RX        => SI_FN_0_RX,
+      SI_FN_1_TX        => SI_FN_1_TX,
+      SI_FN_1_RX        => SI_FN_1_RX,
+      SI_FN_2_TX        => SI_FN_2_TX,
+      SI_FN_2_RX        => SI_FN_2_RX,
+    
+      SI_FN_0_CNTRL     => SI_FN_0_CNTRL,
+      SI_FN_1_CNTRL     => SI_FN_1_CNTRL,
+      SI_FN_2_CNTRL     => SI_FN_2_CNTRL,
+      SI_FN_3_CNTRL     => SI_FN_3_CNTRL
+    );
+    
+    u_areset_sa_rst : ENTITY common_lib.common_areset
+    GENERIC MAP(
+      g_rst_level => '1',
+      g_delay_len => 4
+    )
+    PORT MAP(
+      clk     => SA_CLK,
+      in_rst  => '0',
+      out_rst => sa_rst
+    );    
+    
+    u_tr_10GbE: ENTITY tr_10GbE_lib.tr_10GbE
+    GENERIC MAP(
+      g_sim             => g_sim,
+      g_sim_level       => 1,
+      g_nof_macs        => c_nof_10GbE_streams,
+      g_use_mdio        => TRUE
+    )                      
+    
+    PORT MAP (  
+      -- Transceiver PLL reference clock
+      tr_ref_clk_156    => SA_CLK, 
+      tr_ref_rst_156    => sa_rst,
+    
+      -- Calibration & reconfig clock
+      cal_rec_clk       => mm_clk,
+      
+      -- MM interface       
+      mm_rst            => mm_rst,  
+      mm_clk            => mm_clk,
+    
+      reg_mac_mosi      => reg_tr_10GbE_mosi,
+      reg_mac_miso      => reg_tr_10GbE_miso,
+    
+      xaui_mosi         => reg_tr_xaui_mosi,
+      xaui_miso         => reg_tr_xaui_miso,
+    
+      mdio_mosi_arr     => reg_mdio_mosi_arr(c_nof_10GbE_streams-1 DOWNTO 0),
+      mdio_miso_arr     => reg_mdio_miso_arr(c_nof_10GbE_streams-1 DOWNTO 0),
+    
+      -- DP interface
+      dp_rst            => dp_rst,
+      dp_clk            => dp_clk,
+      
+      -- Data received by 10G
+      src_out_arr       => dp_offload_rx_snk_in_arr,
+      src_in_arr        => dp_offload_rx_snk_out_arr,
+      
+      -- Data to be send by 10G
+      snk_out_arr       =>  dp_offload_tx_src_in_arr,--dp_fifo_fill_src_in_arr,  
+      snk_in_arr        =>  dp_offload_tx_src_out_arr,--dp_fifo_fill_src_out_arr, 
+    
+      -- Serial XAUI IO
+      xaui_tx_arr       => xaui_tx_arr, 
+      xaui_rx_arr       => xaui_rx_arr, 
+    
+      -- MDIO interface
+      mdio_rst          => SI_FN_RSTN,
+      mdio_mdc_arr      => mdio_mdc_arr,
+      mdio_mdat_in_arr  => mdio_mdat_in_arr,
+      mdio_mdat_oen_arr => mdio_mdat_oen_arr
+    );
+
+
+  
+  gen_dp_fifo_sc : FOR i IN 0 TO c_nof_streams-1 GENERATE
+    u_dp_fifo_sc : ENTITY dp_lib.dp_fifo_sc
+    GENERIC MAP (
+      g_data_w    => c_data_w,
+      g_fifo_size => 3*c_bg_block_size 
+    )
+    PORT MAP (
+      rst         => dp_rst,
+      clk         => dp_clk,
+      -- ST sink (BG)
+      snk_out     => dp_fifo_snk_out_arr(i),
+      snk_in      => dp_fifo_snk_in_arr(i),
+      -- ST source (tx_offload)
+      src_in      => dp_offload_tx_snk_out_arr(i),
+      src_out     => dp_offload_tx_snk_in_arr(i)
+    );
+    
+    
+    
+  END GENERATE;
+  
+  
+  -----------------------------------------------------------------------------
+  -- TX: dp_offload_tx
+  -----------------------------------------------------------------------------
+  u_dp_offload_tx : ENTITY dp_lib.dp_offload_tx
+  GENERIC MAP (
+    g_nof_streams               => c_nof_streams,
+    g_data_w                    => c_data_w,
+    g_use_complex               => FALSE,
+--    g_max_nof_words_per_block   => c_max_nof_words_per_block,
+    g_nof_words_per_block       => c_bg_block_size,
+--    g_max_nof_blocks_per_packet => c_max_nof_blocks_per_packet,
+    g_nof_blocks_per_packet     => c_def_nof_blocks_per_packet,
+    g_hdr_field_arr             => c_hdr_field_arr,
+    g_hdr_field_sel             => c_hdr_field_ovr_init,
+    g_use_post_split_fifo       => TRUE
+   )
+  PORT MAP (
+    mm_rst                => mm_rst,
+    mm_clk                => mm_clk,
+    
+    dp_rst                => dp_rst,
+    dp_clk                => dp_clk,
+
+--    reg_mosi              => reg_dp_offload_tx_mosi,
+--    reg_miso              => reg_dp_offload_tx_miso,
+
+    reg_hdr_dat_mosi      => reg_dp_offload_tx_hdr_dat_mosi,
+    reg_hdr_dat_miso      => reg_dp_offload_tx_hdr_dat_miso,
+
+    snk_in_arr            => dp_offload_tx_snk_in_arr,
+    snk_out_arr           => dp_offload_tx_snk_out_arr,
+
+    src_out_arr           => dp_offload_tx_src_out_arr,
+    src_in_arr            => dp_offload_tx_src_in_arr,
+
+    hdr_fields_in_arr     => hdr_fields_in_arr
+  );
+  
+  gen_hdr_in_fields : FOR i IN 0 TO c_nof_streams-1 GENERATE
+    -- dst = src
+    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "eth_src_mac"       ) DOWNTO field_lo(c_hdr_field_arr, "eth_src_mac"        )) <= x"00228608" & B"000"&ID(7 DOWNTO 3) & RESIZE_UVEC(ID(2 DOWNTO 0), c_byte_w);
+    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "eth_dst_mac"       ) DOWNTO field_lo(c_hdr_field_arr, "eth_dst_mac"        )) <= x"00228608" & B"000"&ID(7 DOWNTO 3) & RESIZE_UVEC(ID(2 DOWNTO 0), c_byte_w);
+                                                                                                                               
+    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "ip_src_addr"       ) DOWNTO field_lo(c_hdr_field_arr, "ip_src_addr"        )) <= x"0A63" & B"000"&ID(7 DOWNTO 3) & INCR_UVEC(RESIZE_UVEC(ID(2 DOWNTO 0), c_byte_w), 1);
+    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "ip_dst_addr"       ) DOWNTO field_lo(c_hdr_field_arr, "ip_dst_addr"        )) <= x"0A63" & B"000"&ID(7 DOWNTO 3) & INCR_UVEC(RESIZE_UVEC(ID(2 DOWNTO 0), c_byte_w), 1);
+                                                                                                                               
+    -- dst port goes through 4000,4001,4002                                                                                    
+    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "udp_src_port"      ) DOWNTO field_lo(c_hdr_field_arr, "udp_src_port"       )) <= TO_UVEC(4000+i, 16);
+    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "udp_dst_port"      ) DOWNTO field_lo(c_hdr_field_arr, "udp_dst_port"       )) <= TO_UVEC(4000+i, 16);
+                                                                                                                               
+    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "usr_sync"          ) DOWNTO field_lo(c_hdr_field_arr, "usr_sync"           )) <= slv(block_gen_src_out_arr(i).sync);
+    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "usr_bsn"           ) DOWNTO field_lo(c_hdr_field_arr, "usr_bsn"            )) <= block_gen_src_out_arr(i).bsn(59 DOWNTO 0);   
+    
+    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "usr_hdr_word_align") DOWNTO field_lo(c_hdr_field_arr, "usr_hdr_word_align" )) <= TO_UVEC(0, 16);
+    hdr_fields_in_arr(i)(field_hi(c_hdr_field_arr, "ip_total_length"   ) DOWNTO field_lo(c_hdr_field_arr, "ip_total_length"    )) <= TO_UVEC(c_ip_length, 16);
+  END GENERATE;
+
+
+  -----------------------------------------------------------------------------
+  -- DP loopback dp_offload_rx to dp_offload_tx
+  -----------------------------------------------------------------------------
+  gen_compaan : IF c_use_compaan = TRUE GENERATE     
+  
+  
+    -- RX --> FIFO in
+    fi_snk_in <= dp_offload_rx_filter_src_out_arr(0);--dp_offload_rx_src_out_arr(0);
+    dp_offload_rx_filter_src_in_arr(0) <= fi_snk_out;      --dp_offload_rx_src_in_arr(0);  
+    
+    -- FIFO out --> Tx     
+    dp_fifo_snk_in_arr(0) <= fo_src_out;
+    fo_src_in <= dp_fifo_snk_out_arr(0);       				
+		
+		                   
+		-- Loop FIFO in              
+	  g_fifo_in_header : ENTITY dp_lib.dp_fifo_sc
+	  GENERIC MAP (  
+	    g_data_w         => c_data_w, -- Should be 2 times the c_complex_w if g_use_complex = TRUE
+	    g_bsn_w          => 1,
+	    g_empty_w        => 1,
+	    g_channel_w      => 1,
+	    g_error_w        => 1,
+	    g_use_bsn        => FALSE,
+	    g_use_empty      => FALSE,
+	    g_use_channel    => FALSE,
+	    g_use_error      => FALSE,
+	    g_use_sync       => FALSE,
+	    g_use_ctrl       => TRUE,  -- sop & eop
+	    g_use_complex    => FALSE, -- TRUE feeds the concatenated complex fields (im & re) through the FIFO instead of the data field.
+	    g_fifo_size      => c_fifo_size*2,   -- (16+2) * 512 = 1 M9K, g_data_w+2 for sop and eop
+	    g_fifo_af_margin => 4,     -- >=4, Nof words below max (full) at which fifo is considered almost full
+	    g_fifo_rl        => 0      
+	  )
+	  PORT MAP (
+	    rst         => dp_rst,
+	    clk         => dp_clk,
+	    -- Monitor FIFO filling
+	    wr_ful      => open,
+	    usedw       => open,
+	    rd_emp      => open,
+	    -- ST sink
+	    snk_out     => fi_snk_out,
+	    snk_in      => fi_snk_in,
+	    -- ST source
+	    src_in      => compaan_snk_out,
+	    src_out     => compaan_snk_in
+	  );
+	  	
+	  
+		-- Loop FIFO out                  
+	  g_fifo_out : ENTITY dp_lib.dp_fifo_sc
+	  GENERIC MAP (  
+	    g_data_w         => c_data_w, -- Should be 2 times the c_complex_w if g_use_complex = TRUE
+	    g_bsn_w          => 1,
+	    g_empty_w        => 1,
+	    g_channel_w      => 1,
+	    g_error_w        => 1,
+	    g_use_bsn        => FALSE,
+	    g_use_empty      => FALSE,
+	    g_use_channel    => FALSE,
+	    g_use_error      => FALSE,
+	    g_use_sync       => FALSE,
+	    g_use_ctrl       => TRUE,  -- sop & eop
+	    g_use_complex    => FALSE, -- TRUE feeds the concatenated complex fields (im & re) through the FIFO instead of the data field.
+	    g_fifo_size      => c_fifo_size,   -- (16+2) * 512 = 1 M9K, g_data_w+2 for sop and eop
+	    g_fifo_af_margin => 4,     -- >=4, Nof words below max (full) at which fifo is considered almost full
+	    g_fifo_rl        => 1      
+	  )
+	  PORT MAP (
+	    rst         => dp_rst,
+	    clk         => dp_clk,
+	    -- Monitor FIFO filling
+	    wr_ful      => open,
+	    usedw       => open,
+	    rd_emp      => open,
+	    -- ST sink
+	    snk_out     => compaan_src_in,
+	    snk_in      => compaan_src_out,
+	    -- ST source
+	    src_in      => fo_src_in,
+	    src_out     => fo_src_out
+	  );		  	                   
+
+                    
+    -- Compaan design    
+    
+    
+    g_compaan_design : ENTITY work.compaan_design
+    GENERIC MAP (
+    	BLOCKS_PER_SYNC => c_bg_block_size
+    )
+	  PORT MAP (
+   
+	    -- ST sink                
+	    snk_out             => compaan_snk_out,
+	    snk_in              => compaan_snk_in, 
+	    
+	    -- ST source                      
+	    src_in              => compaan_src_in, 
+	    src_out             => compaan_src_out, 
+      
+	    TEST_STOP           => TEST_STOP,
+	    TEST_ERROR          => TEST_ERROR,
+	    TEST_FIFO_FULL      => TEST_FIFO_FULL,
+	    TEST_BLOCK_RD       => TEST_BLOCK_RD,
+	    address             => reg_compaan_mosi.address(18 DOWNTO 0),
+	    read_data           => reg_compaan_miso.rddata(c_word_w -1 DOWNTO 0),
+	    read_en             => reg_compaan_mosi.rd,
+	    write_en            => reg_compaan_mosi.wr,
+	    write_data          => reg_compaan_mosi.wrdata(c_word_w -1 DOWNTO 0),
+	    
+	    MM_CLK              => mm_clk,  
+	    
+	    KPN_CLK             => dp_clk,
+	    KPN_RST             => dp_rst
+	  );  
+	  
+    gen_hdr_out_fields : FOR i IN 0 TO c_nof_streams-1 GENERATE
+      diag_data_buf_snk_in_arr(i).sync <=          sl(hdr_fields_out_arr(i)(field_hi(c_hdr_field_arr, "usr_sync") DOWNTO field_lo(c_hdr_field_arr, "usr_sync" )));
+      diag_data_buf_snk_in_arr(i).bsn  <= RESIZE_UVEC(hdr_fields_out_arr(i)(field_hi(c_hdr_field_arr, "usr_bsn" ) DOWNTO field_lo(c_hdr_field_arr, "usr_bsn"  )), c_dp_stream_bsn_w);
+    END GENERATE;
+  
+    -----------------------------------------------------------------------------
+    -- RX: Data buffers and BSN monitors
+    -----------------------------------------------------------------------------
+    gen_bsn_mon_in : FOR i IN 0 TO c_nof_streams-1 GENERATE
+      diag_data_buf_snk_in_arr(i).data  <= dp_offload_rx_src_out_arr(i).data;
+      diag_data_buf_snk_in_arr(i).valid <= dp_offload_rx_src_out_arr(i).valid;
+      diag_data_buf_snk_in_arr(i).sop   <= dp_offload_rx_src_out_arr(i).sop;
+      diag_data_buf_snk_in_arr(i).eop   <= dp_offload_rx_src_out_arr(i).eop;
+      diag_data_buf_snk_in_arr(i).err   <= dp_offload_rx_src_out_arr(i).err;
+    END GENERATE;
+  END GENERATE;
+
+  gen_clean_loopback : IF c_use_compaan = FALSE GENERATE
+    -- Rx --> Tx
+    -- Create loopback without compaan. 
+    dp_fifo_snk_in_arr <= dp_offload_rx_filter_src_out_arr;
+    dp_offload_rx_filter_src_in_arr <= dp_fifo_snk_out_arr;
+  END GENERATE;
+        
+  -----------------------------------------------------------------------------
+  -- RX: dp_offload_rx
+  -----------------------------------------------------------------------------
+  u_dp_offload_rx : ENTITY dp_lib.dp_offload_rx
+  GENERIC MAP (
+    g_nof_streams         => c_nof_streams,
+    g_data_w              => c_data_w,
+    g_hdr_field_arr       => c_hdr_field_arr,
+    g_remove_crc          => c_use_1GbE,
+    g_crc_nof_words       => c_nof_crc_words
+   )
+  PORT MAP (
+    mm_rst                => mm_rst,
+    mm_clk                => mm_clk,
+    
+    dp_rst                => dp_rst,
+    dp_clk                => dp_clk,
+
+    reg_hdr_dat_mosi      => reg_dp_offload_rx_hdr_dat_mosi,
+    reg_hdr_dat_miso      => reg_dp_offload_rx_hdr_dat_miso,
+
+    snk_in_arr            => dp_offload_rx_snk_in_arr,
+    snk_out_arr           => dp_offload_rx_snk_out_arr,
+               
+    src_out_arr           => dp_offload_rx_src_out_arr,
+    src_in_arr            => dp_offload_rx_src_in_arr,
+
+    hdr_fields_out_arr    => hdr_fields_out_arr
+  );
+  
+  -----------------------------------------------------------------------------
+  -- RX: dp_offload_rx_filter
+  ----------------------------------------------------------------------------- 
+  u_header_check : ENTITY dp_lib.dp_offload_rx_filter_mm
+  GENERIC MAP(
+    g_bypass							=> c_bypass_rx_filter,
+    g_nof_streams         => c_nof_streams,     --: POSITIVE;
+    g_data_w              => c_data_w,          --: NATURAL; 
+    g_hdr_field_arr       => c_hdr_field_arr    --: t_common_field_arr 
+  ) 
+  PORT MAP(
+    
+    dp_rst             => dp_rst,                         
+    dp_clk             => dp_clk, 
+                            
+    mm_rst             => mm_rst,
+    mm_clk             => mm_clk,
+    
+    reg_dp_offload_rx_filter_hdr_fields_mosi => reg_dp_offload_rx_filter_hdr_fields_mosi,
+    reg_dp_offload_rx_filter_hdr_fields_miso => reg_dp_offload_rx_filter_hdr_fields_miso,
+                                               
+    snk_in_arr              => dp_offload_rx_src_out_arr,  
+    snk_out_arr             => dp_offload_rx_src_in_arr,   
+                            
+    src_out_arr             => dp_offload_rx_filter_src_out_arr,       
+    src_in_arr              => dp_offload_rx_filter_src_in_arr,         
+
+    hdr_fields_to_check_arr => hdr_fields_out_arr,             
+    
+    hdr_fields_val          => '1'          
+  );
+  
+
+  
+  
+  
+  
+  u_dp_bsn_monitor : ENTITY dp_lib.mms_dp_bsn_monitor
+  GENERIC MAP (
+    g_nof_streams        => c_nof_bsn_mon_streams,
+    g_cross_clock_domain => TRUE,
+    g_sync_timeout       => 210000000,--c_bg_blocks_per_sync*(c_bg_block_size+c_bg_gapsize),
+    g_cnt_sop_w          => ceil_log2(c_bg_blocks_per_sync+1),
+    g_cnt_valid_w        => ceil_log2(c_bg_blocks_per_sync*c_bg_block_size+1),
+    g_log_first_bsn      => TRUE
+  )
+  PORT MAP (
+    mm_rst      => mm_rst,
+    mm_clk      => mm_clk,
+    reg_mosi    => reg_bsn_monitor_mosi,
+    reg_miso    => reg_bsn_monitor_miso,
+    
+    dp_rst      => dp_rst,
+    dp_clk      => dp_clk,
+    in_siso_arr => bsn_monitor_snk_out_arr,
+    in_sosi_arr => bsn_monitor_snk_in_arr
+  );            
+    
+  bsn_monitor_snk_in_arr(0)  <= dp_offload_tx_snk_in_arr(0);
+  bsn_monitor_snk_out_arr(0) <= dp_offload_tx_snk_out_arr(0);  
+  
+  bsn_monitor_snk_in_arr(1)  <= dp_offload_tx_src_out_arr(0);
+  bsn_monitor_snk_out_arr(1) <= dp_offload_tx_src_in_arr(0);
+  
+  bsn_monitor_snk_in_arr(2)  <= dp_offload_rx_snk_in_arr(0);  
+  bsn_monitor_snk_out_arr(2) <= dp_offload_rx_snk_out_arr(0);    
+
+  bsn_monitor_snk_in_arr(3)  <= diag_data_buf_snk_in_arr(0);  
+  bsn_monitor_snk_out_arr(3) <= diag_data_buf_snk_out_arr(0);    
+
+  diag_data_buf_snk_out_arr <= (OTHERS=>c_dp_siso_rdy);
+
+  u_diag_data_buffer : ENTITY diag_lib.mms_diag_data_buffer
+  GENERIC MAP (    
+    g_nof_streams  => c_nof_streams,
+    g_data_w       => c_data_w, 
+    g_buf_nof_data => 1024,
+    g_buf_use_sync => FALSE 
+  )
+  PORT MAP (
+    mm_rst            => mm_rst,
+    mm_clk            => mm_clk,
+    dp_rst            => dp_rst,
+    dp_clk            => dp_clk,
+
+    ram_data_buf_mosi => ram_diag_data_buffer_mosi,
+    ram_data_buf_miso => ram_diag_data_buffer_miso,
+    reg_data_buf_mosi => reg_diag_data_buffer_mosi,
+    reg_data_buf_miso => reg_diag_data_buffer_miso,
+
+    in_sync           => diag_data_buf_snk_in_arr(0).sync,
+    in_sosi_arr       => diag_data_buf_snk_in_arr
+  );
+
+  -----------------------------------------------------------------------------
+  -- General control function
+  -----------------------------------------------------------------------------
+  u_ctrl_unb1_board : ENTITY unb1_board_lib.ctrl_unb1_board
+  GENERIC MAP (
+    g_sim                     => g_sim,
+    g_sim_flash_model         => FALSE,
+    g_design_name             => g_design_name, 
+    g_design_note             => g_design_note,
+    g_fw_version              => c_fw_version,
+    g_stamp_date              => g_stamp_date,
+    g_stamp_time              => g_stamp_time, 
+    g_stamp_svn               => g_stamp_svn, 
+    g_mm_clk_freq             => c_unb1_board_mm_clk_freq_50M,
+    g_udp_offload             => FALSE,
+    g_udp_offload_nof_streams => c_nof_streams,
+    g_dp_clk_use_pll          => TRUE,
+    g_xo_clk_use_pll          => TRUE
+  )
+  PORT MAP (
+   -- Clock and reset signals
+   
+    cs_sim                   => cs_sim,
+    xo_clk                   => xo_clk,
+    xo_rst                   => xo_rst,
+    xo_rst_n                 => xo_rst_n,
+
+    mm_clk_out               => mm_clk,
+    mm_clk                   => mm_clk,
+    mm_rst                   => mm_rst,
+
+    mm_locked                => mm_locked,
+    mm_locked_out            => mm_locked,
+
+    epcs_clk                 => epcs_clk,
+    epcs_clk_out             => epcs_clk,
+    
+    dp_rst                   => dp_rst,
+    dp_clk                   => dp_clk,
+    dp_pps                   => OPEN,
+    dp_rst_in                => dp_rst,
+    dp_clk_in                => dp_clk,
+    
+    -- PIOs
+    pout_wdi                 => pout_wdi,
+
+    -- Manual WDI override
+    reg_wdi_mosi             => reg_wdi_mosi,
+    reg_wdi_miso             => reg_wdi_miso,
+
+    reg_ppsh_mosi            => reg_ppsh_mosi,
+    reg_ppsh_miso            => reg_ppsh_miso,
+
+    -- eth1g
+    eth1g_tse_clk_out        => eth1g_tse_clk,
+    eth1g_tse_clk            => eth1g_tse_clk,
+    eth1g_mm_rst             => eth1g_mm_rst,
+    eth1g_tse_mosi           => eth1g_tse_mosi,
+    eth1g_tse_miso           => eth1g_tse_miso,
+    eth1g_reg_mosi           => eth1g_reg_mosi,
+    eth1g_reg_miso           => eth1g_reg_miso,
+    eth1g_reg_interrupt      => eth1g_reg_interrupt,
+    eth1g_ram_mosi           => eth1g_ram_mosi,
+    eth1g_ram_miso           => eth1g_ram_miso,
+
+    -- system_info
+    reg_unb_system_info_mosi => reg_unb_system_info_mosi,
+    reg_unb_system_info_miso => reg_unb_system_info_miso, 
+    rom_unb_system_info_mosi => rom_unb_system_info_mosi,
+    rom_unb_system_info_miso => rom_unb_system_info_miso, 
+
+    -- UniBoard I2C sensors
+    reg_unb_sens_mosi        => reg_unb_sens_mosi,
+    reg_unb_sens_miso        => reg_unb_sens_miso,    
+        
+    -- UniBoard FPGA pins
+    CLK                      => CLK,
+    PPS                      => PPS,
+    WDI                      => WDI,
+    INTA                     => INTA,
+    INTB                     => INTB,
+    VERSION                  => VERSION,
+    ID                       => ID,
+    TESTIO                   => TESTIO,
+    sens_sc                  => sens_sc,
+    sens_sd                  => sens_sd,
+    ETH_clk                  => ETH_clk,
+    ETH_SGIN                 => ETH_SGIN,
+    ETH_SGOUT                => ETH_SGOUT
+  );
+
+  -----------------------------------------------------------------------------
+  -- MM master
+  -----------------------------------------------------------------------------
+ u_inst_mmm_compaan_unb1_10g_param_stream : ENTITY work.mmm_compaan_unb1_10g_param_stream
+   GENERIC MAP(
+     g_sim         => g_sim,
+     g_sim_unb_nr  => g_sim_unb_nr,
+     g_sim_node_nr => g_sim_node_nr
+   )
+   PORT MAP(
+     mm_clk                         =>  mm_clk,
+     mm_rst                         =>  mm_rst,
+     pout_wdi                       =>  pout_wdi,
+     reg_wdi_mosi                   =>  reg_wdi_mosi,
+     reg_wdi_miso                   =>  reg_wdi_miso,
+     reg_unb_system_info_mosi       =>  reg_unb_system_info_mosi,
+     reg_unb_system_info_miso       =>  reg_unb_system_info_miso,
+     rom_unb_system_info_mosi       =>  rom_unb_system_info_mosi,
+     rom_unb_system_info_miso       =>  rom_unb_system_info_miso,
+     reg_unb_sens_mosi              =>  reg_unb_sens_mosi,
+     reg_unb_sens_miso              =>  reg_unb_sens_miso,
+     reg_ppsh_mosi                  =>  reg_ppsh_mosi,
+     reg_ppsh_miso                  =>  reg_ppsh_miso,
+     eth1g_mm_rst                   =>  eth1g_mm_rst,
+     eth1g_reg_interrupt            =>  eth1g_reg_interrupt,
+     eth1g_ram_mosi                 =>  eth1g_ram_mosi,
+     eth1g_ram_miso                 =>  eth1g_ram_miso,
+     eth1g_reg_mosi                 =>  eth1g_reg_mosi,
+     eth1g_reg_miso                 =>  eth1g_reg_miso,
+     eth1g_tse_mosi                 =>  eth1g_tse_mosi,
+     eth1g_tse_miso                 =>  eth1g_tse_miso,
+     reg_bsn_monitor_mosi           =>  reg_bsn_monitor_mosi,
+     reg_bsn_monitor_miso           =>  reg_bsn_monitor_miso,
+     reg_dp_offload_tx_mosi         =>  reg_dp_offload_tx_mosi,
+     reg_dp_offload_tx_miso         =>  reg_dp_offload_tx_miso,
+     reg_dp_offload_tx_hdr_dat_mosi =>  reg_dp_offload_tx_hdr_dat_mosi,
+     reg_dp_offload_tx_hdr_dat_miso =>  reg_dp_offload_tx_hdr_dat_miso,
+     reg_dp_offload_tx_hdr_ovr_mosi =>  reg_dp_offload_tx_hdr_ovr_mosi,
+     reg_dp_offload_tx_hdr_ovr_miso =>  reg_dp_offload_tx_hdr_ovr_miso,
+     reg_dp_offload_rx_hdr_dat_mosi =>  reg_dp_offload_rx_hdr_dat_mosi,
+     reg_dp_offload_rx_hdr_dat_miso =>  reg_dp_offload_rx_hdr_dat_miso,
+     reg_diag_data_buffer_mosi      =>  reg_diag_data_buffer_mosi,
+     reg_diag_data_buffer_miso      =>  reg_diag_data_buffer_miso,
+     ram_diag_data_buffer_mosi      =>  ram_diag_data_buffer_mosi,
+     ram_diag_data_buffer_miso      =>  ram_diag_data_buffer_miso,
+     reg_diag_bg_mosi               =>  reg_diag_bg_mosi,
+     reg_diag_bg_miso               =>  reg_diag_bg_miso,
+     ram_diag_bg_mosi               =>  ram_diag_bg_mosi,
+     ram_diag_bg_miso               =>  ram_diag_bg_miso,
+     reg_mdio_0_mosi                =>  reg_mdio_0_mosi,
+     reg_mdio_0_miso                =>  reg_mdio_0_miso,
+     reg_mdio_1_mosi                =>  reg_mdio_1_mosi,
+     reg_mdio_1_miso                =>  reg_mdio_1_miso,
+     reg_mdio_2_mosi                =>  reg_mdio_2_mosi,
+     reg_mdio_2_miso                =>  reg_mdio_2_miso,
+     reg_tr_10gbe_mosi              =>  reg_tr_10gbe_mosi,
+     reg_tr_10gbe_miso              =>  reg_tr_10gbe_miso,
+     reg_tr_xaui_mosi               =>  reg_tr_xaui_mosi,
+     reg_tr_xaui_miso               =>  reg_tr_xaui_miso,
+     reg_compaan_mosi               =>  reg_compaan_mosi,
+     reg_compaan_miso               =>  reg_compaan_miso,
+     reg_dp_offload_rx_filter_hdr_fields_mosi => reg_dp_offload_rx_filter_hdr_fields_mosi,
+		 reg_dp_offload_rx_filter_hdr_fields_miso => reg_dp_offload_rx_filter_hdr_fields_miso
+
+   );
+
+  reg_mdio_mosi_arr(0) <= reg_mdio_0_mosi;
+  reg_mdio_mosi_arr(1) <= reg_mdio_1_mosi;
+  reg_mdio_mosi_arr(2) <= reg_mdio_2_mosi;
+  
+  reg_mdio_0_miso <= reg_mdio_miso_arr(0);
+  reg_mdio_1_miso <= reg_mdio_miso_arr(1);
+  reg_mdio_2_miso <= reg_mdio_miso_arr(2);
+
+END str;
+
+
diff --git a/applications/compaan/designs/compaan_unb1_10g_param_stream/src/vhdl/mmm_compaan_unb1_10g_param_stream.vhd b/applications/compaan/designs/compaan_unb1_10g_param_stream/src/vhdl/mmm_compaan_unb1_10g_param_stream.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..f783890f450501c52a66ff0725905b2d25d5a365
--- /dev/null
+++ b/applications/compaan/designs/compaan_unb1_10g_param_stream/src/vhdl/mmm_compaan_unb1_10g_param_stream.vhd
@@ -0,0 +1,693 @@
+--------------------------------------------------------------------------------
+--
+-- Copyright (C) 2014
+-- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
+-- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
+--
+-- This program is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program.  If not, see <http://www.gnu.org/licenses/>.
+--
+--------------------------------------------------------------------------------
+
+-- u_inst_mmm_compaan_unb1_10g_param_stream : ENTITY work.mmm_compaan_unb1_10g_param_stream
+--   GENERIC MAP(
+--     g_sim         => g_sim,
+--     g_sim_unb_nr  => g_sim_unb_nr,
+--     g_sim_node_nr => g_sim_node_nr
+--   )
+--   PORT MAP(
+--     mm_clk                                   =>  mm_clk,
+--     mm_rst                                   =>  mm_rst,
+--     pout_wdi                                 =>  pout_wdi,
+--     reg_wdi_mosi                             =>  reg_wdi_mosi,
+--     reg_wdi_miso                             =>  reg_wdi_miso,
+--     reg_unb_system_info_mosi                 =>  reg_unb_system_info_mosi,
+--     reg_unb_system_info_miso                 =>  reg_unb_system_info_miso,
+--     rom_unb_system_info_mosi                 =>  rom_unb_system_info_mosi,
+--     rom_unb_system_info_miso                 =>  rom_unb_system_info_miso,
+--     reg_unb_sens_mosi                        =>  reg_unb_sens_mosi,
+--     reg_unb_sens_miso                        =>  reg_unb_sens_miso,
+--     reg_ppsh_mosi                            =>  reg_ppsh_mosi,
+--     reg_ppsh_miso                            =>  reg_ppsh_miso,
+--     eth1g_mm_rst                             =>  eth1g_mm_rst,
+--     eth1g_reg_interrupt                      =>  eth1g_reg_interrupt,
+--     eth1g_ram_mosi                           =>  eth1g_ram_mosi,
+--     eth1g_ram_miso                           =>  eth1g_ram_miso,
+--     eth1g_reg_mosi                           =>  eth1g_reg_mosi,
+--     eth1g_reg_miso                           =>  eth1g_reg_miso,
+--     eth1g_tse_mosi                           =>  eth1g_tse_mosi,
+--     eth1g_tse_miso                           =>  eth1g_tse_miso,
+--     reg_bsn_monitor_mosi                     =>  reg_bsn_monitor_mosi,
+--     reg_bsn_monitor_miso                     =>  reg_bsn_monitor_miso,
+--     reg_dp_offload_tx_mosi                   =>  reg_dp_offload_tx_mosi,
+--     reg_dp_offload_tx_miso                   =>  reg_dp_offload_tx_miso,
+--     reg_dp_offload_tx_hdr_dat_mosi           =>  reg_dp_offload_tx_hdr_dat_mosi,
+--     reg_dp_offload_tx_hdr_dat_miso           =>  reg_dp_offload_tx_hdr_dat_miso,
+--     reg_dp_offload_tx_hdr_ovr_mosi           =>  reg_dp_offload_tx_hdr_ovr_mosi,
+--     reg_dp_offload_tx_hdr_ovr_miso           =>  reg_dp_offload_tx_hdr_ovr_miso,
+--     reg_dp_offload_rx_hdr_dat_mosi           =>  reg_dp_offload_rx_hdr_dat_mosi,
+--     reg_dp_offload_rx_hdr_dat_miso           =>  reg_dp_offload_rx_hdr_dat_miso,
+--     reg_dp_offload_rx_filter_hdr_fields_mosi =>  reg_dp_offload_rx_filter_hdr_fields_mosi,
+--     reg_dp_offload_rx_filter_hdr_fields_miso =>  reg_dp_offload_rx_filter_hdr_fields_miso,
+--     reg_diag_data_buffer_mosi                =>  reg_diag_data_buffer_mosi,
+--     reg_diag_data_buffer_miso                =>  reg_diag_data_buffer_miso,
+--     ram_diag_data_buffer_mosi                =>  ram_diag_data_buffer_mosi,
+--     ram_diag_data_buffer_miso                =>  ram_diag_data_buffer_miso,
+--     reg_diag_bg_mosi                         =>  reg_diag_bg_mosi,
+--     reg_diag_bg_miso                         =>  reg_diag_bg_miso,
+--     ram_diag_bg_mosi                         =>  ram_diag_bg_mosi,
+--     ram_diag_bg_miso                         =>  ram_diag_bg_miso,
+--     reg_mdio_0_mosi                          =>  reg_mdio_0_mosi,
+--     reg_mdio_0_miso                          =>  reg_mdio_0_miso,
+--     reg_mdio_1_mosi                          =>  reg_mdio_1_mosi,
+--     reg_mdio_1_miso                          =>  reg_mdio_1_miso,
+--     reg_mdio_2_mosi                          =>  reg_mdio_2_mosi,
+--     reg_mdio_2_miso                          =>  reg_mdio_2_miso,
+--     reg_tr_10gbe_mosi                        =>  reg_tr_10gbe_mosi,
+--     reg_tr_10gbe_miso                        =>  reg_tr_10gbe_miso,
+--     reg_tr_xaui_mosi                         =>  reg_tr_xaui_mosi,
+--     reg_tr_xaui_miso                         =>  reg_tr_xaui_miso,
+--     reg_compaan_mosi                         =>  reg_compaan_mosi,
+--     reg_compaan_miso                         =>  reg_compaan_miso
+--   );
+-- 
+-- SIGNAL reg_wdi_mosi                             : t_mem_mosi;
+-- SIGNAL reg_wdi_miso                             : t_mem_miso;
+-- SIGNAL reg_unb_system_info_mosi                 : t_mem_mosi;
+-- SIGNAL reg_unb_system_info_miso                 : t_mem_miso;
+-- SIGNAL rom_unb_system_info_mosi                 : t_mem_mosi;
+-- SIGNAL rom_unb_system_info_miso                 : t_mem_miso;
+-- SIGNAL reg_unb_sens_mosi                        : t_mem_mosi;
+-- SIGNAL reg_unb_sens_miso                        : t_mem_miso;
+-- SIGNAL reg_ppsh_mosi                            : t_mem_mosi;
+-- SIGNAL reg_ppsh_miso                            : t_mem_miso;
+-- SIGNAL eth1g_ram_mosi                           : t_mem_mosi;
+-- SIGNAL eth1g_ram_miso                           : t_mem_miso;
+-- SIGNAL eth1g_reg_mosi                           : t_mem_mosi;
+-- SIGNAL eth1g_reg_miso                           : t_mem_miso;
+-- SIGNAL eth1g_tse_mosi                           : t_mem_mosi;
+-- SIGNAL eth1g_tse_miso                           : t_mem_miso;
+-- SIGNAL reg_bsn_monitor_mosi                     : t_mem_mosi;
+-- SIGNAL reg_bsn_monitor_miso                     : t_mem_miso;
+-- SIGNAL reg_dp_offload_tx_mosi                   : t_mem_mosi;
+-- SIGNAL reg_dp_offload_tx_miso                   : t_mem_miso;
+-- SIGNAL reg_dp_offload_tx_hdr_dat_mosi           : t_mem_mosi;
+-- SIGNAL reg_dp_offload_tx_hdr_dat_miso           : t_mem_miso;
+-- SIGNAL reg_dp_offload_tx_hdr_ovr_mosi           : t_mem_mosi;
+-- SIGNAL reg_dp_offload_tx_hdr_ovr_miso           : t_mem_miso;
+-- SIGNAL reg_dp_offload_rx_hdr_dat_mosi           : t_mem_mosi;
+-- SIGNAL reg_dp_offload_rx_hdr_dat_miso           : t_mem_miso;
+-- SIGNAL reg_dp_offload_rx_filter_hdr_fields_mosi : t_mem_mosi;
+-- SIGNAL reg_dp_offload_rx_filter_hdr_fields_miso : t_mem_miso;
+-- SIGNAL reg_diag_data_buffer_mosi                : t_mem_mosi;
+-- SIGNAL reg_diag_data_buffer_miso                : t_mem_miso;
+-- SIGNAL ram_diag_data_buffer_mosi                : t_mem_mosi;
+-- SIGNAL ram_diag_data_buffer_miso                : t_mem_miso;
+-- SIGNAL reg_diag_bg_mosi                         : t_mem_mosi;
+-- SIGNAL reg_diag_bg_miso                         : t_mem_miso;
+-- SIGNAL ram_diag_bg_mosi                         : t_mem_mosi;
+-- SIGNAL ram_diag_bg_miso                         : t_mem_miso;
+-- SIGNAL reg_mdio_0_mosi                          : t_mem_mosi;
+-- SIGNAL reg_mdio_0_miso                          : t_mem_miso;
+-- SIGNAL reg_mdio_1_mosi                          : t_mem_mosi;
+-- SIGNAL reg_mdio_1_miso                          : t_mem_miso;
+-- SIGNAL reg_mdio_2_mosi                          : t_mem_mosi;
+-- SIGNAL reg_mdio_2_miso                          : t_mem_miso;
+-- SIGNAL reg_tr_10gbe_mosi                        : t_mem_mosi;
+-- SIGNAL reg_tr_10gbe_miso                        : t_mem_miso;
+-- SIGNAL reg_tr_xaui_mosi                         : t_mem_mosi;
+-- SIGNAL reg_tr_xaui_miso                         : t_mem_miso;
+-- SIGNAL reg_compaan_mosi                         : t_mem_mosi;
+-- SIGNAL reg_compaan_miso                         : t_mem_miso;
+-- 
+LIBRARY IEEE, common_lib, unb1_board_lib, mm_lib, eth_lib, technology_lib, tech_tse_lib;
+USE IEEE.STD_LOGIC_1164.ALL;
+USE IEEE.NUMERIC_STD.ALL;
+USE common_lib.common_pkg.ALL;
+USE common_lib.common_mem_pkg.ALL;
+USE common_lib.tb_common_mem_pkg.ALL;
+USE common_lib.common_field_pkg.ALL;
+USE common_lib.common_network_total_header_pkg.ALL;
+USE common_lib.common_network_layers_pkg.ALL;
+USE common_lib.common_mem_pkg.ALL;
+USE unb1_board_lib.unb1_board_pkg.ALL;
+USE unb1_board_lib.unb1_board_peripherals_pkg.ALL;
+USE mm_lib.mm_file_pkg.ALL;
+USE mm_lib.mm_file_unb_pkg.ALL;
+USE eth_lib.eth_pkg.ALL;
+USE technology_lib.technology_pkg.ALL;
+USE tech_tse_lib.tech_tse_pkg.ALL;
+USE tech_tse_lib.tb_tech_tse_pkg.ALL;
+
+ENTITY mmm_compaan_unb1_10g_param_stream IS
+  GENERIC (
+    g_sim         : BOOLEAN := FALSE;
+    g_sim_unb_nr  : NATURAL := 0;
+    g_sim_node_nr : NATURAL := 0
+  );
+  PORT (
+    mm_clk                                   : IN  STD_LOGIC := '1';
+    mm_rst                                   : IN  STD_LOGIC := '1';
+    pout_wdi                                 : OUT STD_LOGIC := '1';
+    reg_wdi_mosi                             : OUT t_mem_mosi;
+    reg_wdi_miso                             : IN  t_mem_miso := c_mem_miso_rst;
+    reg_unb_system_info_mosi                 : OUT t_mem_mosi;
+    reg_unb_system_info_miso                 : IN  t_mem_miso := c_mem_miso_rst;
+    rom_unb_system_info_mosi                 : OUT t_mem_mosi;
+    rom_unb_system_info_miso                 : IN  t_mem_miso := c_mem_miso_rst;
+    reg_unb_sens_mosi                        : OUT t_mem_mosi;
+    reg_unb_sens_miso                        : IN  t_mem_miso := c_mem_miso_rst;
+    reg_ppsh_mosi                            : OUT t_mem_mosi;
+    reg_ppsh_miso                            : IN  t_mem_miso := c_mem_miso_rst;
+    eth1g_mm_rst                             : OUT STD_LOGIC;
+    eth1g_reg_interrupt                      : IN  STD_LOGIC;
+    eth1g_ram_mosi                           : OUT t_mem_mosi;
+    eth1g_ram_miso                           : IN  t_mem_miso := c_mem_miso_rst;
+    eth1g_reg_mosi                           : OUT t_mem_mosi;
+    eth1g_reg_miso                           : IN  t_mem_miso := c_mem_miso_rst;
+    eth1g_tse_mosi                           : OUT t_mem_mosi;
+    eth1g_tse_miso                           : IN  t_mem_miso := c_mem_miso_rst;
+    reg_bsn_monitor_mosi                     : OUT t_mem_mosi;
+    reg_bsn_monitor_miso                     : IN  t_mem_miso := c_mem_miso_rst;
+    reg_dp_offload_tx_mosi                   : OUT t_mem_mosi;
+    reg_dp_offload_tx_miso                   : IN  t_mem_miso := c_mem_miso_rst;
+    reg_dp_offload_tx_hdr_dat_mosi           : OUT t_mem_mosi;
+    reg_dp_offload_tx_hdr_dat_miso           : IN  t_mem_miso := c_mem_miso_rst;
+    reg_dp_offload_tx_hdr_ovr_mosi           : OUT t_mem_mosi;
+    reg_dp_offload_tx_hdr_ovr_miso           : IN  t_mem_miso := c_mem_miso_rst;
+    reg_dp_offload_rx_hdr_dat_mosi           : OUT t_mem_mosi;
+    reg_dp_offload_rx_hdr_dat_miso           : IN  t_mem_miso := c_mem_miso_rst;
+    reg_dp_offload_rx_filter_hdr_fields_mosi : OUT t_mem_mosi;
+    reg_dp_offload_rx_filter_hdr_fields_miso : IN  t_mem_miso := c_mem_miso_rst;
+    reg_diag_data_buffer_mosi                : OUT t_mem_mosi;
+    reg_diag_data_buffer_miso                : IN  t_mem_miso := c_mem_miso_rst;
+    ram_diag_data_buffer_mosi                : OUT t_mem_mosi;
+    ram_diag_data_buffer_miso                : IN  t_mem_miso := c_mem_miso_rst;
+    reg_diag_bg_mosi                         : OUT t_mem_mosi;
+    reg_diag_bg_miso                         : IN  t_mem_miso := c_mem_miso_rst;
+    ram_diag_bg_mosi                         : OUT t_mem_mosi;
+    ram_diag_bg_miso                         : IN  t_mem_miso := c_mem_miso_rst;
+    reg_mdio_0_mosi                          : OUT t_mem_mosi;
+    reg_mdio_0_miso                          : IN  t_mem_miso := c_mem_miso_rst;
+    reg_mdio_1_mosi                          : OUT t_mem_mosi;
+    reg_mdio_1_miso                          : IN  t_mem_miso := c_mem_miso_rst;
+    reg_mdio_2_mosi                          : OUT t_mem_mosi;
+    reg_mdio_2_miso                          : IN  t_mem_miso := c_mem_miso_rst;
+    reg_tr_10gbe_mosi                        : OUT t_mem_mosi;
+    reg_tr_10gbe_miso                        : IN  t_mem_miso := c_mem_miso_rst;
+    reg_tr_xaui_mosi                         : OUT t_mem_mosi;
+    reg_tr_xaui_miso                         : IN  t_mem_miso := c_mem_miso_rst;
+    reg_compaan_mosi                         : OUT t_mem_mosi;
+    reg_compaan_miso                         : IN  t_mem_miso := c_mem_miso_rst
+  );
+END ENTITY mmm_compaan_unb1_10g_param_stream;
+
+ARCHITECTURE str OF mmm_compaan_unb1_10g_param_stream IS
+
+  CONSTANT c_sim_node_type         : STRING(1 TO 2)                                := sel_a_b(g_sim_node_nr<4, "FN", "BN");
+  CONSTANT c_sim_node_nr           : NATURAL                                       := sel_a_b(c_sim_node_type="BN", g_sim_node_nr-4, g_sim_node_nr);
+  CONSTANT c_sim_eth_src_mac       : STD_LOGIC_VECTOR(c_network_eth_mac_slv'RANGE) := X"00228608" & TO_UVEC(g_sim_unb_nr, c_byte_w) & TO_UVEC(g_sim_node_nr, c_byte_w);
+  CONSTANT c_sim_eth_control_rx_en : NATURAL                                       := 2**c_eth_mm_reg_control_bi.rx_en;
+
+  SIGNAL sim_eth_mm_bus_switch : STD_LOGIC ;
+  SIGNAL sim_eth_psc_access    : STD_LOGIC ;
+  SIGNAL i_eth1g_reg_mosi      : t_mem_mosi;
+  SIGNAL i_eth1g_reg_miso      : t_mem_miso;
+  SIGNAL mm_rst_n              : STD_LOGIC ;
+  SIGNAL sim_eth1g_reg_mosi    : t_mem_mosi;
+
+  COMPONENT mm_file IS
+    GENERIC (
+      g_file_prefix      : STRING ;
+      g_mm_clk_period    : TIME    := 8 ns;
+      g_update_on_change : BOOLEAN := FALSE;
+      g_mm_rd_latency    : NATURAL := 1
+    );
+    PORT (
+      mm_rst        : IN  STD_LOGIC;
+      mm_clk        : IN  STD_LOGIC;
+      mm_master_out : OUT t_mem_mosi := c_mem_mosi_rst;
+      mm_master_in  : IN  t_mem_miso := c_mem_miso_rst
+    );
+  END COMPONENT mm_file;
+  
+  COMPONENT qsys_compaan_unb1_10g_param_stream IS
+    PORT (
+      reg_diag_bg_reset_export                             : out std_logic;
+      reg_dp_offload_tx_hdr_dat_write_export               : out std_logic;
+      reg_dp_offload_tx_hdr_ovr_reset_export               : out std_logic;
+      ram_diag_bg_read_export                              : out std_logic;
+      eth1g_reg_readdata_export                            : in  std_logic_vector(31 downto 0) := (others => '0');
+      reg_dp_offload_tx_reset_export                       : out std_logic;
+      reset_in_reset_n                                     : in  std_logic := '0';
+      pio_pps_address_export                               : out std_logic;
+      pio_system_info_address_export                       : out std_logic_vector(4 downto 0);
+      reg_dp_offload_rx_filter_hdr_fields_clk_export       : out std_logic;
+      pio_pps_reset_export                                 : out std_logic;
+      eth1g_tse_writedata_export                           : out std_logic_vector(31 downto 0);
+      reg_mdio_1_clk_export                                : out std_logic;
+      reg_tr_10gbe_write_export                            : out std_logic;
+      reg_dp_offload_rx_filter_hdr_fields_address_export   : out std_logic_vector(6 downto 0);
+      eth1g_ram_readdata_export                            : in  std_logic_vector(31 downto 0) := (others => '0');
+      ram_diag_data_buffer_reset_export                    : out std_logic;
+      reg_mdio_0_readdata_export                           : in  std_logic_vector(31 downto 0) := (others => '0');
+      eth1g_ram_address_export                             : out std_logic_vector(9 downto 0);
+      pio_pps_readdata_export                              : in  std_logic_vector(31 downto 0) := (others => '0');
+      reg_dp_offload_rx_hdr_dat_clk_export                 : out std_logic;
+      reg_diag_data_buffer_read_export                     : out std_logic;
+      reg_dp_offload_rx_filter_hdr_fields_writedata_export : out std_logic_vector(31 downto 0);
+      reg_diag_bg_writedata_export                         : out std_logic_vector(31 downto 0);
+      pio_system_info_writedata_export                     : out std_logic_vector(31 downto 0);
+      eth1g_reg_writedata_export                           : out std_logic_vector(31 downto 0);
+      reg_unb_sens_reset_export                            : out std_logic;
+      reg_tr_xaui_write_export                             : out std_logic;
+      eth1g_tse_address_export                             : out std_logic_vector(9 downto 0);
+      reg_wdi_reset_export                                 : out std_logic;
+      reg_tr_xaui_writedata_export                         : out std_logic_vector(31 downto 0);
+      clk_in_clk                                           : in  std_logic := '0';
+      reg_dp_offload_rx_filter_hdr_fields_read_export      : out std_logic;
+      ram_diag_data_buffer_writedata_export                : out std_logic_vector(31 downto 0);
+      reg_dp_offload_tx_readdata_export                    : in  std_logic_vector(31 downto 0) := (others => '0');
+      reg_dp_offload_tx_read_export                        : out std_logic;
+      rom_system_info_clk_export                           : out std_logic;
+      reg_unb_sens_read_export                             : out std_logic;
+      reg_compaan_readdata_export                          : in  std_logic_vector(31 downto 0) := (others => '0');
+      reg_unb_sens_write_export                            : out std_logic;
+      reg_dp_offload_rx_hdr_dat_readdata_export            : in  std_logic_vector(31 downto 0) := (others => '0');
+      reg_mdio_0_clk_export                                : out std_logic;
+      ram_diag_bg_reset_export                             : out std_logic;
+      eth1g_tse_readdata_export                            : in  std_logic_vector(31 downto 0) := (others => '0');
+      eth1g_ram_write_export                               : out std_logic;
+      reg_dp_offload_tx_write_export                       : out std_logic;
+      reg_dp_offload_tx_hdr_ovr_read_export                : out std_logic;
+      ram_diag_data_buffer_clk_export                      : out std_logic;
+      reg_tr_xaui_address_export                           : out std_logic_vector(10 downto 0);
+      reg_unb_sens_clk_export                              : out std_logic;
+      reg_dp_offload_rx_filter_hdr_fields_write_export     : out std_logic;
+      reg_compaan_writedata_export                         : out std_logic_vector(31 downto 0);
+      ram_diag_bg_write_export                             : out std_logic;
+      ram_diag_bg_address_export                           : out std_logic_vector(8 downto 0);
+      reg_dp_offload_tx_hdr_dat_writedata_export           : out std_logic_vector(31 downto 0);
+      reg_diag_data_buffer_reset_export                    : out std_logic;
+      reg_mdio_0_write_export                              : out std_logic;
+      reg_dp_offload_rx_hdr_dat_write_export               : out std_logic;
+      eth1g_ram_read_export                                : out std_logic;
+      reg_wdi_read_export                                  : out std_logic;
+      reg_dp_offload_rx_hdr_dat_read_export                : out std_logic;
+      eth1g_reg_read_export                                : out std_logic;
+      ram_diag_bg_writedata_export                         : out std_logic_vector(31 downto 0);
+      reg_tr_10gbe_read_export                             : out std_logic;
+      reg_dp_offload_rx_hdr_dat_reset_export               : out std_logic;
+      reg_bsn_monitor_reset_export                         : out std_logic;
+      eth1g_tse_write_export                               : out std_logic;
+      reg_unb_sens_readdata_export                         : in  std_logic_vector(31 downto 0) := (others => '0');
+      reg_dp_offload_tx_writedata_export                   : out std_logic_vector(31 downto 0);
+      reg_bsn_monitor_write_export                         : out std_logic;
+      reg_mdio_2_readdata_export                           : in  std_logic_vector(31 downto 0) := (others => '0');
+      reg_tr_xaui_waitrequest_export                       : in  std_logic := '0';
+      pio_pps_clk_export                                   : out std_logic;
+      eth1g_reg_address_export                             : out std_logic_vector(3 downto 0);
+      reg_diag_bg_address_export                           : out std_logic_vector(2 downto 0);
+      pio_system_info_readdata_export                      : in  std_logic_vector(31 downto 0) := (others => '0');
+      reg_dp_offload_tx_hdr_ovr_address_export             : out std_logic_vector(4 downto 0);
+      reg_diag_data_buffer_readdata_export                 : in  std_logic_vector(31 downto 0) := (others => '0');
+      reg_tr_xaui_reset_export                             : out std_logic;
+      rom_system_info_writedata_export                     : out std_logic_vector(31 downto 0);
+      reg_compaan_clk_export                               : out std_logic;
+      reg_dp_offload_tx_hdr_dat_reset_export               : out std_logic;
+      reg_dp_offload_rx_filter_hdr_fields_readdata_export  : in  std_logic_vector(31 downto 0) := (others => '0');
+      reg_dp_offload_tx_hdr_dat_address_export             : out std_logic_vector(5 downto 0);
+      reg_diag_data_buffer_address_export                  : out std_logic_vector(4 downto 0);
+      reg_mdio_2_read_export                               : out std_logic;
+      reg_mdio_1_writedata_export                          : out std_logic_vector(31 downto 0);
+      reg_dp_offload_tx_hdr_ovr_writedata_export           : out std_logic_vector(31 downto 0);
+      reg_dp_offload_tx_hdr_ovr_readdata_export            : in  std_logic_vector(31 downto 0) := (others => '0');
+      reg_bsn_monitor_read_export                          : out std_logic;
+      reg_mdio_2_reset_export                              : out std_logic;
+      reg_tr_10gbe_writedata_export                        : out std_logic_vector(31 downto 0);
+      reg_diag_bg_clk_export                               : out std_logic;
+      reg_wdi_address_export                               : out std_logic;
+      pio_system_info_write_export                         : out std_logic;
+      reg_tr_10gbe_readdata_export                         : in  std_logic_vector(31 downto 0) := (others => '0');
+      pio_pps_write_export                                 : out std_logic;
+      rom_system_info_write_export                         : out std_logic;
+      rom_system_info_read_export                          : out std_logic;
+      reg_dp_offload_tx_hdr_dat_clk_export                 : out std_logic;
+      reg_dp_offload_rx_hdr_dat_address_export             : out std_logic_vector(6 downto 0);
+      reg_diag_data_buffer_writedata_export                : out std_logic_vector(31 downto 0);
+      reg_dp_offload_rx_hdr_dat_writedata_export           : out std_logic_vector(31 downto 0);
+      reg_mdio_2_clk_export                                : out std_logic;
+      ram_diag_data_buffer_read_export                     : out std_logic;
+      reg_diag_bg_read_export                              : out std_logic;
+      reg_mdio_1_readdata_export                           : in  std_logic_vector(31 downto 0) := (others => '0');
+      reg_mdio_2_address_export                            : out std_logic_vector(2 downto 0);
+      eth1g_tse_read_export                                : out std_logic;
+      ram_diag_bg_clk_export                               : out std_logic;
+      reg_tr_xaui_readdata_export                          : in  std_logic_vector(31 downto 0) := (others => '0');
+      reg_unb_sens_writedata_export                        : out std_logic_vector(31 downto 0);
+      reg_mdio_1_read_export                               : out std_logic;
+      eth1g_ram_writedata_export                           : out std_logic_vector(31 downto 0);
+      reg_compaan_address_export                           : out std_logic_vector(18 downto 0);
+      reg_mdio_2_writedata_export                          : out std_logic_vector(31 downto 0);
+      reg_dp_offload_tx_address_export                     : out std_logic;
+      out_port_from_the_pio_debug_wave                     : out std_logic_vector(31 downto 0);
+      reg_mdio_1_address_export                            : out std_logic_vector(2 downto 0);
+      reg_tr_xaui_read_export                              : out std_logic;
+      reg_wdi_writedata_export                             : out std_logic_vector(31 downto 0);
+      pio_system_info_reset_export                         : out std_logic;
+      reg_bsn_monitor_writedata_export                     : out std_logic_vector(31 downto 0);
+      pio_system_info_read_export                          : out std_logic;
+      reg_bsn_monitor_address_export                       : out std_logic_vector(5 downto 0);
+      reg_mdio_1_reset_export                              : out std_logic;
+      reg_wdi_clk_export                                   : out std_logic;
+      reg_diag_bg_write_export                             : out std_logic;
+      reg_dp_offload_tx_hdr_dat_readdata_export            : in  std_logic_vector(31 downto 0) := (others => '0');
+      eth1g_mm_rst_export                                  : out std_logic;
+      reg_dp_offload_rx_filter_hdr_fields_reset_export     : out std_logic;
+      reg_tr_10gbe_reset_export                            : out std_logic;
+      reg_compaan_read_export                              : out std_logic;
+      reg_tr_10gbe_clk_export                              : out std_logic;
+      reg_dp_offload_tx_hdr_ovr_clk_export                 : out std_logic;
+      out_port_from_the_pio_wdi                            : out std_logic;
+      reg_bsn_monitor_clk_export                           : out std_logic;
+      eth1g_reg_write_export                               : out std_logic;
+      reg_mdio_1_write_export                              : out std_logic;
+      reg_diag_bg_readdata_export                          : in  std_logic_vector(31 downto 0) := (others => '0');
+      ram_diag_data_buffer_readdata_export                 : in  std_logic_vector(31 downto 0) := (others => '0');
+      reg_compaan_reset_export                             : out std_logic;
+      reg_dp_offload_tx_hdr_dat_read_export                : out std_logic;
+      rom_system_info_readdata_export                      : in  std_logic_vector(31 downto 0) := (others => '0');
+      reg_wdi_write_export                                 : out std_logic;
+      reg_tr_xaui_clk_export                               : out std_logic;
+      reg_wdi_readdata_export                              : in  std_logic_vector(31 downto 0) := (others => '0');
+      reg_compaan_write_export                             : out std_logic;
+      pio_pps_read_export                                  : out std_logic;
+      reg_mdio_2_write_export                              : out std_logic;
+      reg_dp_offload_tx_clk_export                         : out std_logic;
+      pio_system_info_clk_export                           : out std_logic;
+      reg_tr_10gbe_address_export                          : out std_logic_vector(14 downto 0);
+      pio_pps_writedata_export                             : out std_logic_vector(31 downto 0);
+      eth1g_tse_waitrequest_export                         : in  std_logic := '0';
+      reg_mdio_0_writedata_export                          : out std_logic_vector(31 downto 0);
+      reg_tr_10gbe_waitrequest_export                      : in  std_logic := '0';
+      reg_bsn_monitor_readdata_export                      : in  std_logic_vector(31 downto 0) := (others => '0');
+      reg_diag_data_buffer_write_export                    : out std_logic;
+      eth1g_mm_clk_export                                  : out std_logic;
+      rom_system_info_reset_export                         : out std_logic;
+      ram_diag_data_buffer_write_export                    : out std_logic;
+      reg_unb_sens_address_export                          : out std_logic_vector(2 downto 0);
+      reg_mdio_0_reset_export                              : out std_logic;
+      rom_system_info_address_export                       : out std_logic_vector(9 downto 0);
+      eth1g_irq_export                                     : in  std_logic := '0';
+      reg_mdio_0_address_export                            : out std_logic_vector(2 downto 0);
+      reg_diag_data_buffer_clk_export                      : out std_logic;
+      ram_diag_bg_readdata_export                          : in  std_logic_vector(31 downto 0) := (others => '0');
+      reg_dp_offload_tx_hdr_ovr_write_export               : out std_logic;
+      reg_mdio_0_read_export                               : out std_logic;
+      ram_diag_data_buffer_address_export                  : out std_logic_vector(13 downto 0)
+    );
+  END COMPONENT qsys_compaan_unb1_10g_param_stream;
+  
+
+BEGIN
+
+  ----------------------------------------------------------------------------
+  -- MM <-> file I/O for simulation. The files are created in $UPE/sim.
+  ----------------------------------------------------------------------------
+  gen_mm_file_io : IF g_sim = TRUE GENERATE
+    u_mm_file_reg_wdi  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_WDI")
+          PORT MAP(mm_rst, mm_clk, reg_wdi_mosi, reg_wdi_miso );
+    u_mm_file_reg_unb_system_info  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "PIO_SYSTEM_INFO")
+          PORT MAP(mm_rst, mm_clk, reg_unb_system_info_mosi, reg_unb_system_info_miso );
+    u_mm_file_rom_unb_system_info  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "ROM_SYSTEM_INFO")
+          PORT MAP(mm_rst, mm_clk, rom_unb_system_info_mosi, rom_unb_system_info_miso );
+    u_mm_file_reg_unb_sens  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_UNB_SENS")
+          PORT MAP(mm_rst, mm_clk, reg_unb_sens_mosi, reg_unb_sens_miso );
+    u_mm_file_reg_ppsh  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "PIO_PPS")
+          PORT MAP(mm_rst, mm_clk, reg_ppsh_mosi, reg_ppsh_miso );
+    u_mm_file_eth1g_ram  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "ETH1G_RAM")
+          PORT MAP(mm_rst, mm_clk, eth1g_ram_mosi, eth1g_ram_miso );
+    u_mm_file_eth1g_reg  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "AVS_ETH_0_MMS_REG")
+          PORT MAP(mm_rst, mm_clk, eth1g_reg_mosi, eth1g_reg_miso );
+    u_mm_file_eth1g_tse  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "ETH1G_TSE")
+          PORT MAP(mm_rst, mm_clk, eth1g_tse_mosi, eth1g_tse_miso );
+    u_mm_file_reg_bsn_monitor  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR")
+          PORT MAP(mm_rst, mm_clk, reg_bsn_monitor_mosi, reg_bsn_monitor_miso );
+    u_mm_file_reg_dp_offload_tx  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_OFFLOAD_TX")
+          PORT MAP(mm_rst, mm_clk, reg_dp_offload_tx_mosi, reg_dp_offload_tx_miso );
+    u_mm_file_reg_dp_offload_tx_hdr_dat  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_OFFLOAD_TX_HDR_DAT")
+          PORT MAP(mm_rst, mm_clk, reg_dp_offload_tx_hdr_dat_mosi, reg_dp_offload_tx_hdr_dat_miso );
+    u_mm_file_reg_dp_offload_tx_hdr_ovr  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_OFFLOAD_TX_HDR_OVR")
+          PORT MAP(mm_rst, mm_clk, reg_dp_offload_tx_hdr_ovr_mosi, reg_dp_offload_tx_hdr_ovr_miso );
+    u_mm_file_reg_dp_offload_rx_hdr_dat  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_OFFLOAD_RX_HDR_DAT")
+          PORT MAP(mm_rst, mm_clk, reg_dp_offload_rx_hdr_dat_mosi, reg_dp_offload_rx_hdr_dat_miso );
+    u_mm_file_reg_dp_offload_rx_filter_hdr_fields  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_OFFLOAD_RX_FILTER_HDR_FIELDS")
+          PORT MAP(mm_rst, mm_clk, reg_dp_offload_rx_filter_hdr_fields_mosi, reg_dp_offload_rx_filter_hdr_fields_miso );
+    u_mm_file_reg_diag_data_buffer  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_DATA_BUFFER")
+          PORT MAP(mm_rst, mm_clk, reg_diag_data_buffer_mosi, reg_diag_data_buffer_miso );
+    u_mm_file_ram_diag_data_buffer  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_DIAG_DATA_BUFFER")
+          PORT MAP(mm_rst, mm_clk, ram_diag_data_buffer_mosi, ram_diag_data_buffer_miso );
+    u_mm_file_reg_diag_bg  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_BG")
+          PORT MAP(mm_rst, mm_clk, reg_diag_bg_mosi, reg_diag_bg_miso );
+    u_mm_file_ram_diag_bg  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_DIAG_BG")
+          PORT MAP(mm_rst, mm_clk, ram_diag_bg_mosi, ram_diag_bg_miso );
+    u_mm_file_reg_mdio_0  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_MDIO_0")
+          PORT MAP(mm_rst, mm_clk, reg_mdio_0_mosi, reg_mdio_0_miso );
+    u_mm_file_reg_mdio_1  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_MDIO_1")
+          PORT MAP(mm_rst, mm_clk, reg_mdio_1_mosi, reg_mdio_1_miso );
+    u_mm_file_reg_mdio_2  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_MDIO_2")
+          PORT MAP(mm_rst, mm_clk, reg_mdio_2_mosi, reg_mdio_2_miso );
+    u_mm_file_reg_tr_10gbe  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_TR_10GBE")
+          PORT MAP(mm_rst, mm_clk, reg_tr_10gbe_mosi, reg_tr_10gbe_miso );
+    u_mm_file_reg_tr_xaui  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_TR_XAUI")
+          PORT MAP(mm_rst, mm_clk, reg_tr_xaui_mosi, reg_tr_xaui_miso );
+    u_mm_file_reg_compaan  :  mm_file GENERIC MAP(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_COMPAAN")
+          PORT MAP(mm_rst, mm_clk, reg_compaan_mosi, reg_compaan_miso );
+    ----------------------------------------------------------------------------
+    -- 1GbE setup sequence normally performed by unb_os@NIOS
+    ----------------------------------------------------------------------------
+    eth1g_mm_rst  <= '1', '0' AFTER 40 ns;
+    p_eth_setup : PROCESS
+    BEGIN
+      sim_eth_mm_bus_switch <= '1';
+      eth1g_tse_mosi.wr <= '0';
+      eth1g_tse_mosi.rd <= '0';
+      WAIT FOR 400 ns;
+      WAIT UNTIL rising_edge(mm_clk);
+      proc_tech_tse_setup(c_tech_stratixiv, FALSE, c_tech_tse_tx_fifo_depth, c_tech_tse_rx_fifo_depth, c_tech_tse_tx_ready_latency, c_sim_eth_src_mac, sim_eth_psc_access, mm_clk, eth1g_tse_miso, eth1g_tse_mosi);
+      -- Enable RX
+      proc_mem_mm_bus_wr(c_eth_reg_control_wi+0, c_sim_eth_control_rx_en, mm_clk, eth1g_reg_miso, sim_eth1g_reg_mosi);  -- control rx en
+      sim_eth_mm_bus_switch <= '0';
+      WAIT;
+    END PROCESS;
+    
+    p_switch : PROCESS(sim_eth_mm_bus_switch, sim_eth1g_reg_mosi, i_eth1g_reg_mosi)
+    BEGIN
+      IF sim_eth_mm_bus_switch = '1' THEN
+        eth1g_reg_mosi <= sim_eth1g_reg_mosi;
+      ELSE
+        eth1g_reg_mosi <= i_eth1g_reg_mosi;
+      END IF;
+    END PROCESS;
+    ----------------------------------------------------------------------------
+    -- Procedure that polls a sim control file that can be used to e.g. get
+    -- the simulation time in ns
+    ----------------------------------------------------------------------------
+    mmf_poll_sim_ctrl_file(c_mmf_unb_file_path & "sim.ctrl", c_mmf_unb_file_path & "sim.stat");
+    
+  END GENERATE;
+  ----------------------------------------------------------------------------
+  -- SOPC or QSYS for synthesis
+  ----------------------------------------------------------------------------
+  gen_qsys_compaan_unb1_10g_param_stream : IF g_sim = FALSE GENERATE
+  
+    mm_rst_n <= NOT(mm_rst);
+    
+    u_qsys_compaan_unb1_10g_param_stream : qsys_compaan_unb1_10g_param_stream
+      PORT MAP(
+      clk_in_clk                                           => mm_clk,
+      eth1g_irq_export                                     => eth1g_reg_interrupt,
+      eth1g_mm_clk_export                                  => OPEN,
+      eth1g_mm_rst_export                                  => eth1g_mm_rst,
+      eth1g_ram_address_export                             => eth1g_ram_mosi.address(9 DOWNTO 0),
+      eth1g_ram_read_export                                => eth1g_ram_mosi.rd,
+      eth1g_ram_readdata_export                            => eth1g_ram_miso.rddata(c_word_w-1 DOWNTO 0),
+      eth1g_ram_write_export                               => eth1g_ram_mosi.wr,
+      eth1g_ram_writedata_export                           => eth1g_ram_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      eth1g_reg_address_export                             => eth1g_reg_mosi.address(3 DOWNTO 0),
+      eth1g_reg_read_export                                => eth1g_reg_mosi.rd,
+      eth1g_reg_readdata_export                            => eth1g_reg_miso.rddata(c_word_w-1 DOWNTO 0),
+      eth1g_reg_write_export                               => eth1g_reg_mosi.wr,
+      eth1g_reg_writedata_export                           => eth1g_reg_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      eth1g_tse_address_export                             => eth1g_tse_mosi.address(9 DOWNTO 0),
+      eth1g_tse_read_export                                => eth1g_tse_mosi.rd,
+      eth1g_tse_readdata_export                            => eth1g_tse_miso.rddata(c_word_w-1 DOWNTO 0),
+      eth1g_tse_waitrequest_export                         => eth1g_tse_miso.waitrequest,
+      eth1g_tse_write_export                               => eth1g_tse_mosi.wr,
+      eth1g_tse_writedata_export                           => eth1g_tse_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      out_port_from_the_pio_debug_wave                     => OPEN,
+      out_port_from_the_pio_wdi                            => pout_wdi,
+      pio_pps_address_export                               => reg_ppsh_mosi.address(0),
+      pio_pps_clk_export                                   => OPEN,
+      pio_pps_read_export                                  => reg_ppsh_mosi.rd,
+      pio_pps_readdata_export                              => reg_ppsh_miso.rddata(c_word_w-1 DOWNTO 0),
+      pio_pps_reset_export                                 => OPEN,
+      pio_pps_write_export                                 => reg_ppsh_mosi.wr,
+      pio_pps_writedata_export                             => reg_ppsh_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      pio_system_info_address_export                       => reg_unb_system_info_mosi.address(4 DOWNTO 0),
+      pio_system_info_clk_export                           => OPEN,
+      pio_system_info_read_export                          => reg_unb_system_info_mosi.rd,
+      pio_system_info_readdata_export                      => reg_unb_system_info_miso.rddata(c_word_w-1 DOWNTO 0),
+      pio_system_info_reset_export                         => OPEN,
+      pio_system_info_write_export                         => reg_unb_system_info_mosi.wr,
+      pio_system_info_writedata_export                     => reg_unb_system_info_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      ram_diag_bg_address_export                           => ram_diag_bg_mosi.address(8 DOWNTO 0),
+      ram_diag_bg_clk_export                               => OPEN,
+      ram_diag_bg_read_export                              => ram_diag_bg_mosi.rd,
+      ram_diag_bg_readdata_export                          => ram_diag_bg_miso.rddata(c_word_w-1 DOWNTO 0),
+      ram_diag_bg_reset_export                             => OPEN,
+      ram_diag_bg_write_export                             => ram_diag_bg_mosi.wr,
+      ram_diag_bg_writedata_export                         => ram_diag_bg_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      ram_diag_data_buffer_address_export                  => ram_diag_data_buffer_mosi.address(13 DOWNTO 0),
+      ram_diag_data_buffer_clk_export                      => OPEN,
+      ram_diag_data_buffer_read_export                     => ram_diag_data_buffer_mosi.rd,
+      ram_diag_data_buffer_readdata_export                 => ram_diag_data_buffer_miso.rddata(c_word_w-1 DOWNTO 0),
+      ram_diag_data_buffer_reset_export                    => OPEN,
+      ram_diag_data_buffer_write_export                    => ram_diag_data_buffer_mosi.wr,
+      ram_diag_data_buffer_writedata_export                => ram_diag_data_buffer_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      reg_bsn_monitor_address_export                       => reg_bsn_monitor_mosi.address(5 DOWNTO 0),
+      reg_bsn_monitor_clk_export                           => OPEN,
+      reg_bsn_monitor_read_export                          => reg_bsn_monitor_mosi.rd,
+      reg_bsn_monitor_readdata_export                      => reg_bsn_monitor_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_bsn_monitor_reset_export                         => OPEN,
+      reg_bsn_monitor_write_export                         => reg_bsn_monitor_mosi.wr,
+      reg_bsn_monitor_writedata_export                     => reg_bsn_monitor_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      reg_compaan_address_export                           => reg_compaan_mosi.address(18 DOWNTO 0),
+      reg_compaan_clk_export                               => OPEN,
+      reg_compaan_read_export                              => reg_compaan_mosi.rd,
+      reg_compaan_readdata_export                          => reg_compaan_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_compaan_reset_export                             => OPEN,
+      reg_compaan_write_export                             => reg_compaan_mosi.wr,
+      reg_compaan_writedata_export                         => reg_compaan_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      reg_diag_bg_address_export                           => reg_diag_bg_mosi.address(2 DOWNTO 0),
+      reg_diag_bg_clk_export                               => OPEN,
+      reg_diag_bg_read_export                              => reg_diag_bg_mosi.rd,
+      reg_diag_bg_readdata_export                          => reg_diag_bg_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_diag_bg_reset_export                             => OPEN,
+      reg_diag_bg_write_export                             => reg_diag_bg_mosi.wr,
+      reg_diag_bg_writedata_export                         => reg_diag_bg_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      reg_diag_data_buffer_address_export                  => reg_diag_data_buffer_mosi.address(4 DOWNTO 0),
+      reg_diag_data_buffer_clk_export                      => OPEN,
+      reg_diag_data_buffer_read_export                     => reg_diag_data_buffer_mosi.rd,
+      reg_diag_data_buffer_readdata_export                 => reg_diag_data_buffer_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_diag_data_buffer_reset_export                    => OPEN,
+      reg_diag_data_buffer_write_export                    => reg_diag_data_buffer_mosi.wr,
+      reg_diag_data_buffer_writedata_export                => reg_diag_data_buffer_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      reg_dp_offload_rx_filter_hdr_fields_address_export   => reg_dp_offload_rx_filter_hdr_fields_mosi.address(6 DOWNTO 0),
+      reg_dp_offload_rx_filter_hdr_fields_clk_export       => OPEN,
+      reg_dp_offload_rx_filter_hdr_fields_read_export      => reg_dp_offload_rx_filter_hdr_fields_mosi.rd,
+      reg_dp_offload_rx_filter_hdr_fields_readdata_export  => reg_dp_offload_rx_filter_hdr_fields_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_dp_offload_rx_filter_hdr_fields_reset_export     => OPEN,
+      reg_dp_offload_rx_filter_hdr_fields_write_export     => reg_dp_offload_rx_filter_hdr_fields_mosi.wr,
+      reg_dp_offload_rx_filter_hdr_fields_writedata_export => reg_dp_offload_rx_filter_hdr_fields_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      reg_dp_offload_rx_hdr_dat_address_export             => reg_dp_offload_rx_hdr_dat_mosi.address(6 DOWNTO 0),
+      reg_dp_offload_rx_hdr_dat_clk_export                 => OPEN,
+      reg_dp_offload_rx_hdr_dat_read_export                => reg_dp_offload_rx_hdr_dat_mosi.rd,
+      reg_dp_offload_rx_hdr_dat_readdata_export            => reg_dp_offload_rx_hdr_dat_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_dp_offload_rx_hdr_dat_reset_export               => OPEN,
+      reg_dp_offload_rx_hdr_dat_write_export               => reg_dp_offload_rx_hdr_dat_mosi.wr,
+      reg_dp_offload_rx_hdr_dat_writedata_export           => reg_dp_offload_rx_hdr_dat_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      reg_dp_offload_tx_address_export                     => reg_dp_offload_tx_mosi.address(0),
+      reg_dp_offload_tx_clk_export                         => OPEN,
+      reg_dp_offload_tx_hdr_dat_address_export             => reg_dp_offload_tx_hdr_dat_mosi.address(5 DOWNTO 0),
+      reg_dp_offload_tx_hdr_dat_clk_export                 => OPEN,
+      reg_dp_offload_tx_hdr_dat_read_export                => reg_dp_offload_tx_hdr_dat_mosi.rd,
+      reg_dp_offload_tx_hdr_dat_readdata_export            => reg_dp_offload_tx_hdr_dat_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_dp_offload_tx_hdr_dat_reset_export               => OPEN,
+      reg_dp_offload_tx_hdr_dat_write_export               => reg_dp_offload_tx_hdr_dat_mosi.wr,
+      reg_dp_offload_tx_hdr_dat_writedata_export           => reg_dp_offload_tx_hdr_dat_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      reg_dp_offload_tx_hdr_ovr_address_export             => reg_dp_offload_tx_hdr_ovr_mosi.address(4 DOWNTO 0),
+      reg_dp_offload_tx_hdr_ovr_clk_export                 => OPEN,
+      reg_dp_offload_tx_hdr_ovr_read_export                => reg_dp_offload_tx_hdr_ovr_mosi.rd,
+      reg_dp_offload_tx_hdr_ovr_readdata_export            => reg_dp_offload_tx_hdr_ovr_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_dp_offload_tx_hdr_ovr_reset_export               => OPEN,
+      reg_dp_offload_tx_hdr_ovr_write_export               => reg_dp_offload_tx_hdr_ovr_mosi.wr,
+      reg_dp_offload_tx_hdr_ovr_writedata_export           => reg_dp_offload_tx_hdr_ovr_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      reg_dp_offload_tx_read_export                        => reg_dp_offload_tx_mosi.rd,
+      reg_dp_offload_tx_readdata_export                    => reg_dp_offload_tx_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_dp_offload_tx_reset_export                       => OPEN,
+      reg_dp_offload_tx_write_export                       => reg_dp_offload_tx_mosi.wr,
+      reg_dp_offload_tx_writedata_export                   => reg_dp_offload_tx_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      reg_mdio_0_address_export                            => reg_mdio_0_mosi.address(2 DOWNTO 0),
+      reg_mdio_0_clk_export                                => OPEN,
+      reg_mdio_0_read_export                               => reg_mdio_0_mosi.rd,
+      reg_mdio_0_readdata_export                           => reg_mdio_0_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_mdio_0_reset_export                              => OPEN,
+      reg_mdio_0_write_export                              => reg_mdio_0_mosi.wr,
+      reg_mdio_0_writedata_export                          => reg_mdio_0_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      reg_mdio_1_address_export                            => reg_mdio_1_mosi.address(2 DOWNTO 0),
+      reg_mdio_1_clk_export                                => OPEN,
+      reg_mdio_1_read_export                               => reg_mdio_1_mosi.rd,
+      reg_mdio_1_readdata_export                           => reg_mdio_1_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_mdio_1_reset_export                              => OPEN,
+      reg_mdio_1_write_export                              => reg_mdio_1_mosi.wr,
+      reg_mdio_1_writedata_export                          => reg_mdio_1_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      reg_mdio_2_address_export                            => reg_mdio_2_mosi.address(2 DOWNTO 0),
+      reg_mdio_2_clk_export                                => OPEN,
+      reg_mdio_2_read_export                               => reg_mdio_2_mosi.rd,
+      reg_mdio_2_readdata_export                           => reg_mdio_2_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_mdio_2_reset_export                              => OPEN,
+      reg_mdio_2_write_export                              => reg_mdio_2_mosi.wr,
+      reg_mdio_2_writedata_export                          => reg_mdio_2_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      reg_tr_10gbe_address_export                          => reg_tr_10gbe_mosi.address(14 DOWNTO 0),
+      reg_tr_10gbe_clk_export                              => OPEN,
+      reg_tr_10gbe_read_export                             => reg_tr_10gbe_mosi.rd,
+      reg_tr_10gbe_readdata_export                         => reg_tr_10gbe_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_tr_10gbe_reset_export                            => OPEN,
+      reg_tr_10gbe_waitrequest_export                      => reg_tr_10gbe_miso.waitrequest,
+      reg_tr_10gbe_write_export                            => reg_tr_10gbe_mosi.wr,
+      reg_tr_10gbe_writedata_export                        => reg_tr_10gbe_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      reg_tr_xaui_address_export                           => reg_tr_xaui_mosi.address(10 DOWNTO 0),
+      reg_tr_xaui_clk_export                               => OPEN,
+      reg_tr_xaui_read_export                              => reg_tr_xaui_mosi.rd,
+      reg_tr_xaui_readdata_export                          => reg_tr_xaui_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_tr_xaui_reset_export                             => OPEN,
+      reg_tr_xaui_waitrequest_export                       => reg_tr_xaui_miso.waitrequest,
+      reg_tr_xaui_write_export                             => reg_tr_xaui_mosi.wr,
+      reg_tr_xaui_writedata_export                         => reg_tr_xaui_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      reg_unb_sens_address_export                          => reg_unb_sens_mosi.address(2 DOWNTO 0),
+      reg_unb_sens_clk_export                              => OPEN,
+      reg_unb_sens_read_export                             => reg_unb_sens_mosi.rd,
+      reg_unb_sens_readdata_export                         => reg_unb_sens_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_unb_sens_reset_export                            => OPEN,
+      reg_unb_sens_write_export                            => reg_unb_sens_mosi.wr,
+      reg_unb_sens_writedata_export                        => reg_unb_sens_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      reg_wdi_address_export                               => reg_wdi_mosi.address(0),
+      reg_wdi_clk_export                                   => OPEN,
+      reg_wdi_read_export                                  => reg_wdi_mosi.rd,
+      reg_wdi_readdata_export                              => reg_wdi_miso.rddata(c_word_w-1 DOWNTO 0),
+      reg_wdi_reset_export                                 => OPEN,
+      reg_wdi_write_export                                 => reg_wdi_mosi.wr,
+      reg_wdi_writedata_export                             => reg_wdi_mosi.wrdata(c_word_w-1 DOWNTO 0),
+      reset_in_reset_n                                     => mm_rst_n,
+      rom_system_info_address_export                       => rom_unb_system_info_mosi.address(9 DOWNTO 0),
+      rom_system_info_clk_export                           => OPEN,
+      rom_system_info_read_export                          => rom_unb_system_info_mosi.rd,
+      rom_system_info_readdata_export                      => rom_unb_system_info_miso.rddata(c_word_w-1 DOWNTO 0),
+      rom_system_info_reset_export                         => OPEN,
+      rom_system_info_write_export                         => rom_unb_system_info_mosi.wr,
+      rom_system_info_writedata_export                     => rom_unb_system_info_mosi.wrdata(c_word_w-1 DOWNTO 0)
+    );
+  END GENERATE;
+  
+END str;
diff --git a/applications/compaan/designs/compaan_unb1_10g_param_stream/tb/python/tc_compaan_unb1_10g_param_stream.py b/applications/compaan/designs/compaan_unb1_10g_param_stream/tb/python/tc_compaan_unb1_10g_param_stream.py
new file mode 100644
index 0000000000000000000000000000000000000000..179f22247e2802b439e1b7f85fe72931ba96da3a
--- /dev/null
+++ b/applications/compaan/designs/compaan_unb1_10g_param_stream/tb/python/tc_compaan_unb1_10g_param_stream.py
@@ -0,0 +1,247 @@
+#! /usr/bin/env python
+###############################################################################
+#
+# Copyright (dC) 2015
+# ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
+# P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+###############################################################################
+
+# Purpose: 
+# . Scripts make 10G settings for FN0 and FN1:
+#
+#   Where FN0 and FN1 contain both the compaan_unb1_10g_bg_db design. 
+#
+# Description: 
+# . BG outputs blocks of 365 64b words = 2920 bytes;
+# . BG uses inter-block gap size of c_gap_size = 3000 words to limit BG output rate to 
+
+# Usage:
+# . Load the following images on the following nodes:
+#   . FN0 - compaan_unb1_10g_loopback or compaan_unb1_10g_compaan
+#   . FN1 - compaan_unb1_10g_blockgen
+# . python tc_compaan_unb1_10g_bg_lb.py --unb # --fn 0,1
+# . Use tcpdump to view the received packets.
+
+
+# FN2 = lcu(bg and db), FN3 = dut(app)
+
+from common import *
+import test_case
+import node_io
+import pi_dp_offload_tx_hdr_dat_compaan_unb1_10g_bg_db
+import pi_dp_offload_rx_hdr_fields_compaan_unb1_10g_bg_db
+import pi_diag_block_gen
+import pi_diag_data_buffer
+import pi_eth     
+import pi_compaan
+from eth import *
+                 
+# Some definitions                 
+c_10g_data_w          = 64     # 64 bit internal data
+c_blocksize           = 16    # 365 samples * 8 bytes(= 64bit) = 2920 bytes
+c_bg_nof_streams      = 1 
+c_bg_ram_size         = 512
+c_gap_size            = 100 
+c_nof_blocks_per_sync = 10
+c_write_block_gen     = True
+
+# Instantiate testcase and IO
+tc = test_case.Testcase('TB - ', '')
+io = node_io.NodeIO(tc.nodeImages, tc.base_ip)                                                  
+
+ca = pi_compaan.PiCompaan(tc, io, nof_inst=1)
+
+# rx fields reg
+rx_filter_hdr = pi_dp_offload_rx_hdr_fields_compaan_unb1_10g_bg_db.PiDpOffloadRxFilterHdrFieldsCompaanUnb110gBgDb(tc, io, nof_inst=1)
+
+# Instantiate 10G offload objects: FN0=[0], FN1=[1]
+dpotx_hdr_dat = pi_dp_offload_tx_hdr_dat_compaan_unb1_10g_bg_db.PiDpOffloadTxHdrDatCompaanUnb110GBgDb(tc, io, nof_inst=1)
+
+# Create block generator/data buffer instance (only FN2)
+bg = pi_diag_block_gen.PiDiagBlockGen(tc, io, c_bg_nof_streams, c_bg_ram_size, tc.nodeFn2Nrs )
+db = pi_diag_data_buffer.PiDiagDataBuffer(tc, io, instanceName = '', nofStreams=c_bg_nof_streams, ramSizePerStream=2048, nodeNr = tc.nodeFn2Nrs )
+
+# MAC Addresses
+eth_src_mac = 0x2286080008  # 10G MAC base address for UniBoard
+eth_dst_mac = 0x074306C700 #+ 1  # 10G MAC address jop63
+
+# Fixed header constants 
+IP_HEADER_LENGTH   = 20
+UDP_HEADER_LENGTH  =  8
+USR_HEADER_LENGTH  = 20
+USR_HDR_WORD_ALIGN = 2
+NOF_PAYLOAD_BYTES  = c_blocksize * 8 #2920
+
+###############################################################################
+# The IP header field values. All fixed except ip_src_addr 
+# (and concequently the ip_header_checksum).
+###############################################################################
+ip_version         = 4 
+ip_header_length   = 5 # 5 32b words
+ip_services        = 0 
+ip_total_length    = IP_HEADER_LENGTH+UDP_HEADER_LENGTH+USR_HEADER_LENGTH+USR_HDR_WORD_ALIGN+NOF_PAYLOAD_BYTES - 7 # 6196B
+ip_identification  = 0 
+ip_flags           = 2 
+ip_fragment_offset = 0 
+ip_time_to_live    = 127 
+ip_protocol        = 17 
+ip_header_checksum = 0            # to be calculated
+#ip_src_addr_fn0    = 0xc0a80164   # 0xc0a80164 = 192.168.1.100
+#ip_src_addr_fn1    = 0xc0a80165   # 0xc0a80165 = 192.168.1.101
+ip_src_addr_fn2    = 0xc0a80166   # 0xc0a80164 = 192.168.1.102
+ip_src_addr_fn3    = 0xc0a80167   # 0xc0a80165 = 192.168.1.103
+ip_dst_addr        = 0xc0a80102   # 0xc0a80102 = 192.168.1.2 = IP-address 10G in jop63
+
+###############################################################################
+# Calculate and print the IP header checksum for FN0
+###############################################################################
+hdr_bits_common = CommonBits(ip_version         ,4)  & \
+                  CommonBits(ip_header_length   ,4)  & \
+                  CommonBits(ip_services        ,8)  & \
+                  CommonBits(ip_total_length    ,16) & \
+                  CommonBits(ip_identification  ,16) & \
+                  CommonBits(ip_flags           ,3)  & \
+                  CommonBits(ip_fragment_offset ,13) & \
+                  CommonBits(ip_time_to_live    ,8)  & \
+                  CommonBits(ip_protocol        ,8)  & \
+                  CommonBits(ip_header_checksum ,16)
+
+#hdr_bits_fn0    = hdr_bits_common & \
+#                  CommonBits(ip_src_addr_fn0    ,32) & \
+#                  CommonBits(ip_dst_addr        ,32)
+
+#hdr_bits_fn1    = hdr_bits_common & \
+#                  CommonBits(ip_src_addr_fn1    ,32) & \
+#                  CommonBits(ip_dst_addr        ,32)
+
+hdr_bits_fn2    = hdr_bits_common & \
+                  CommonBits(ip_src_addr_fn2    ,32) & \
+                  CommonBits(ip_dst_addr        ,32)
+
+hdr_bits_fn3    = hdr_bits_common & \
+                  CommonBits(ip_src_addr_fn3    ,32) & \
+                  CommonBits(ip_dst_addr        ,32)
+
+#hdr_bytes_fn0   = CommonBytes(hdr_bits_fn0.data, 20)
+#hdr_bytes_fn1   = CommonBytes(hdr_bits_fn1.data, 20)
+hdr_bytes_fn2   = CommonBytes(hdr_bits_fn2.data, 20)
+hdr_bytes_fn3   = CommonBytes(hdr_bits_fn3.data, 20)
+
+#tc.append_log(3, 'IP header checksum FN0: %d' % ip_hdr_checksum(hdr_bytes_fn0))
+#tc.append_log(3, 'IP header checksum FN1: %d' % ip_hdr_checksum(hdr_bytes_fn1))
+tc.append_log(3, 'IP header checksum FN2: %d' % ip_hdr_checksum(hdr_bytes_fn2))
+tc.append_log(3, 'IP header checksum FN3: %d' % ip_hdr_checksum(hdr_bytes_fn3))
+
+#hdr_bits = CommonBits(ip_version         ,4)  & \
+#           CommonBits(ip_header_length   ,4)  & \
+#           CommonBits(ip_services        ,8)  & \
+#           CommonBits(ip_total_length    ,16) & \
+#           CommonBits(ip_identification  ,16) & \
+#           CommonBits(ip_flags           ,3)  & \
+#           CommonBits(ip_fragment_offset ,13) & \
+#           CommonBits(ip_time_to_live    ,8)  & \
+#           CommonBits(ip_protocol        ,8)  & \
+#           CommonBits(ip_header_checksum ,16) & \
+#           CommonBits(ip_src_addr_fn0    ,32) & \
+#           CommonBits(ip_dst_addr        ,32)
+#
+#hdr_bytes = CommonBytes(hdr_bits.data, 20)
+#
+#print ip_hdr_checksum(hdr_bytes)
+
+# Write setting for the block generator:   
+
+#ca.write(node_nrs=tc.nodeNrs[1],registers=[('register_name_0', 15)]) 
+#ca.write(node_nrs=tc.nodeNrs[1],registers=[('register_name_4', 20)])
+
+bg.write_block_gen_settings(samplesPerPacket=c_blocksize, blocksPerSync=c_nof_blocks_per_sync, gapSize=c_gap_size, memLowAddr=0, memHighAddr=c_bg_ram_size-1, BSNInit=10)
+
+
+# Configure 10G of FN2
+dpotx_hdr_dat.write(node_nrs=tc.nodeNrs[0], inst_nrs=tc.gpNumbers, registers=[('eth_src_mac', eth_src_mac + 2)], regmap=dpotx_hdr_dat.regmap)
+dpotx_hdr_dat.write(node_nrs=tc.nodeNrs[0], inst_nrs=tc.gpNumbers, registers=[('eth_dst_mac', eth_dst_mac)],     regmap=dpotx_hdr_dat.regmap)
+dpotx_hdr_dat.write(node_nrs=tc.nodeNrs[0], inst_nrs=tc.gpNumbers, registers=[('ip_src_addr', ip_src_addr_fn2)], regmap=dpotx_hdr_dat.regmap)
+dpotx_hdr_dat.write(node_nrs=tc.nodeNrs[0], inst_nrs=tc.gpNumbers, registers=[('ip_dst_addr', ip_dst_addr)],     regmap=dpotx_hdr_dat.regmap)
+dpotx_hdr_dat.write(node_nrs=tc.nodeNrs[0], inst_nrs=tc.gpNumbers, registers=[('ip_header_checksum', ip_hdr_checksum(hdr_bytes_fn2))], regmap=dpotx_hdr_dat.regmap)
+
+# Configure 10G of FN3
+dpotx_hdr_dat.write(node_nrs=tc.nodeNrs[1], inst_nrs=tc.gpNumbers, registers=[('eth_src_mac', eth_src_mac + 3)], regmap=dpotx_hdr_dat.regmap)
+dpotx_hdr_dat.write(node_nrs=tc.nodeNrs[1], inst_nrs=tc.gpNumbers, registers=[('eth_dst_mac', eth_dst_mac)],     regmap=dpotx_hdr_dat.regmap)
+dpotx_hdr_dat.write(node_nrs=tc.nodeNrs[1], inst_nrs=tc.gpNumbers, registers=[('ip_src_addr', ip_src_addr_fn3)], regmap=dpotx_hdr_dat.regmap)
+dpotx_hdr_dat.write(node_nrs=tc.nodeNrs[1], inst_nrs=tc.gpNumbers, registers=[('ip_dst_addr', ip_dst_addr)],     regmap=dpotx_hdr_dat.regmap)
+dpotx_hdr_dat.write(node_nrs=tc.nodeNrs[1], inst_nrs=tc.gpNumbers, registers=[('ip_header_checksum', ip_hdr_checksum(hdr_bytes_fn3))], regmap=dpotx_hdr_dat.regmap)
+
+# Configure rx filter
+rx_filter_hdr.write(node_nrs=tc.nodeNrs[1], inst_nrs=tc.gpNumbers, registers=[('eth_dst_mac', eth_src_mac + 3)], regmap=rx_filter_hdr.regmap)
+rx_filter_hdr.write(node_nrs=tc.nodeNrs[1], inst_nrs=tc.gpNumbers, registers=[('ip_dst_addr', ip_src_addr_fn3)], regmap=rx_filter_hdr.regmap)
+rx_filter_hdr.write(node_nrs=tc.nodeNrs[1], inst_nrs=tc.gpNumbers, registers=[('udp_dst_port', 4000)],           regmap=rx_filter_hdr.regmap)
+rx_filter_hdr.write(node_nrs=tc.nodeNrs[1], inst_nrs=tc.gpNumbers, registers=[('ip_total_length', ip_total_length)],regmap=rx_filter_hdr.regmap)   
+
+rx_filter_hdr.write(node_nrs=tc.nodeNrs[1], inst_nrs=tc.gpNumbers, registers=[('eth_dst_mac_ena', 0)],           regmap=rx_filter_hdr.regmap)
+rx_filter_hdr.write(node_nrs=tc.nodeNrs[1], inst_nrs=tc.gpNumbers, registers=[('ip_dst_addr_ena', 0)],           regmap=rx_filter_hdr.regmap)
+rx_filter_hdr.write(node_nrs=tc.nodeNrs[1], inst_nrs=tc.gpNumbers, registers=[('ip_total_length_ena', 0)],       regmap=rx_filter_hdr.regmap)
+rx_filter_hdr.write(node_nrs=tc.nodeNrs[1], inst_nrs=tc.gpNumbers, registers=[('udp_dst_port_ena', 0)],          regmap=rx_filter_hdr.regmap)
+
+rx_filter_hdr.write(node_nrs=tc.nodeNrs[0], inst_nrs=tc.gpNumbers, registers=[('eth_dst_mac_ena', 0)],           regmap=rx_filter_hdr.regmap)
+rx_filter_hdr.write(node_nrs=tc.nodeNrs[0], inst_nrs=tc.gpNumbers, registers=[('ip_dst_addr_ena', 0)],           regmap=rx_filter_hdr.regmap)
+rx_filter_hdr.write(node_nrs=tc.nodeNrs[0], inst_nrs=tc.gpNumbers, registers=[('ip_total_length_ena', 0)],       regmap=rx_filter_hdr.regmap)
+rx_filter_hdr.write(node_nrs=tc.nodeNrs[0], inst_nrs=tc.gpNumbers, registers=[('udp_dst_port_ena', 0)],          regmap=rx_filter_hdr.regmap)
+
+
+
+################################################################################
+##
+## Write data and settings to block generator
+##
+################################################################################
+# Write setting for the block generator:
+bg.write_block_gen_settings(samplesPerPacket=c_blocksize+1, blocksPerSync=c_nof_blocks_per_sync, gapSize=c_gap_size, memLowAddr=0, memHighAddr=c_bg_ram_size-1, BSNInit=10)
+
+bg_data = []
+#bg_data.append(0xC7000022)
+for i in range(c_bg_ram_size):
+    bg_data.append(i)
+
+
+# Write the stimuli to the block generator and enable the block generator
+if c_write_block_gen == True:
+    for i in range(c_bg_nof_streams):
+        bg.write_waveform_ram(data=bg_data, channelNr= i)
+
+# BG: Enable the blockgenerator
+bg.write_enable()
+
+################################################################################
+##
+## Read data from the databuffer
+##
+################################################################################
+#time.sleep(10)
+db_out = []  
+#ca.read(node_nrs=tc.nodeNrs[1],registers='register_name_0') 
+
+
+do_until_ge(db.read_nof_words, ms_retry=1000, val=1024, s_timeout=3600) 
+
+for i in range(1): 
+    db_out.append(flatten(db.read_data_buffer(streamNr=i, n=2048, radix='uns', width=64, nofColumns=1))) #n=2048 (32 bit word) = 1024 (64 bit word)
+    
+    
+    
+    
+print db_out
+
diff --git a/applications/compaan/designs/compaan_unb1_10g_param_stream/tb/vhdl/tb_compaan_unb1_10g_param_stream.vhd b/applications/compaan/designs/compaan_unb1_10g_param_stream/tb/vhdl/tb_compaan_unb1_10g_param_stream.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..3410ce740a4c5680d2032ef035f395fefba5da95
--- /dev/null
+++ b/applications/compaan/designs/compaan_unb1_10g_param_stream/tb/vhdl/tb_compaan_unb1_10g_param_stream.vhd
@@ -0,0 +1,163 @@
+
+-------------------------------------------------------------------------------
+--
+-- Copyright (C) 2012
+-- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
+-- JIVE (Joint Institute for VLBI in Europe) <http://www.jive.nl/>
+-- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
+--
+-- This program is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program.  If not, see <http://www.gnu.org/licenses/>.
+--
+-------------------------------------------------------------------------------
+
+-- Purpose: 
+-- . Test bench compaan_unb1_dp_offload.
+-- Description:
+-- . The block generator in the design is enabled by default.
+-- . Design 'compaan_unb1_dp_offload' requires the 1GbE demux to be set up so
+--   received streams are forwarded based on the received destination UDP port.
+--   This is done by /tb/python/tc_unb1_board1_dp_offload.py.
+-- Usage (manual mode, run compaan_unb1_dp_offload.py for auto mode):
+-- . Start ModelSim
+-- . lp compaan_unb1_dp_offload
+-- . mk compile
+-- . double click simulation configuration
+-- . as 8
+-- . run 2us (wait until MM master did the initial ETH settings before Python ETH access)
+-- . in separate console: python tc_unb1_board1_dp_offload.py --unb 0 --fn 0 -r 0:2 --sim
+-- . run -a
+
+LIBRARY IEEE, common_lib, unb1_board_lib, i2c_lib;
+USE IEEE.std_logic_1164.ALL;
+USE IEEE.numeric_std.ALL;
+USE common_lib.common_pkg.ALL;
+USE unb1_board_lib.unb1_board_pkg.ALL;
+USE common_lib.tb_common_pkg.ALL;
+
+ENTITY tb_compaan_unb1_10g_param_stream IS
+END tb_compaan_unb1_10g_param_stream;
+
+ARCHITECTURE tb OF tb_compaan_unb1_10g_param_stream IS
+
+  CONSTANT c_sim             : BOOLEAN := TRUE;
+
+  CONSTANT c_unb1_board_nr   : NATURAL := 0; -- UniBoard 0
+  CONSTANT c_node_nr_bg_db   : NATURAL := 2; -- FN2
+  CONSTANT c_node_nr_app     : NATURAL := 3; -- FN3
+  CONSTANT c_id_bg_db        : STD_LOGIC_VECTOR(7 DOWNTO 0) := TO_UVEC(c_unb1_board_nr, c_unb1_board_nof_uniboard_w ) & TO_UVEC(c_node_nr_bg_db, c_unb1_board_nof_chip_w);
+  CONSTANT c_id_app          : STD_LOGIC_VECTOR(7 DOWNTO 0) := TO_UVEC(c_unb1_board_nr, c_unb1_board_nof_uniboard_w ) & TO_UVEC(c_node_nr_app,   c_unb1_board_nof_chip_w);
+  CONSTANT c_version         : STD_LOGIC_VECTOR(1 DOWNTO 0) := "00";
+
+  CONSTANT c_eth_clk_period  : TIME := 40 ns;
+  CONSTANT c_sa_clk_period   : TIME := 6.4 ns;  
+  CONSTANT c_clk_period      : TIME := 5 ns; 
+
+  SIGNAL clk                 : STD_LOGIC := '0';  
+  SIGNAL sa_clk              : STD_LOGIC := '1';
+
+  SIGNAL eth_clk             : STD_LOGIC := '0';
+  SIGNAL eth_txp             : STD_LOGIC;       
+  SIGNAL eth_rxp             : STD_LOGIC;       
+
+  SIGNAL si_fn_0_lcu_tx      : STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0);
+  SIGNAL si_fn_1_lcu_tx      : STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0);
+  SIGNAL si_fn_2_lcu_tx      : STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0);
+  SIGNAL si_fn_3_lcu_tx      : STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0);
+
+  SIGNAL si_fn_0_lcu_rx      : STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0);
+  SIGNAL si_fn_1_lcu_rx      : STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0);
+  SIGNAL si_fn_2_lcu_rx      : STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0);
+  SIGNAL si_fn_3_lcu_rx      : STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0);
+ 
+  SIGNAL VERSION             : STD_LOGIC_VECTOR(c_unb1_board_aux.version_w-1 DOWNTO 0) := c_version; 
+  SIGNAL ID_bg_db        	   : STD_LOGIC_VECTOR(c_unb1_board_aux.id_w-1 DOWNTO 0) := c_id_bg_db;
+  SIGNAL ID_app          	   : STD_LOGIC_VECTOR(c_unb1_board_aux.id_w-1 DOWNTO 0) := c_id_app;
+BEGIN
+
+  ----------------------------------------------------------------------------
+  -- Externally generated clocks 
+  ----------------------------------------------------------------------------
+  clk     <= NOT clk AFTER c_clk_period/2;        -- External clock (200 MHz)
+  eth_clk <= NOT eth_clk AFTER c_eth_clk_period/2;  -- Ethernet ref clock (25 MHz)
+  sa_clk  <= NOT sa_clk  AFTER c_sa_clk_period/2;  
+  
+  ------------------------------------------------------------------------------
+  -- u_lcu
+  ------------------------------------------------------------------------------
+  u_lcu : ENTITY work.compaan_unb1_10g_bg_db
+  GENERIC MAP (
+    g_sim          => c_sim,
+    g_sim_unb_nr   => c_unb1_board_nr,
+    g_sim_node_nr  => c_node_nr_bg_db
+  )
+  PORT MAP (
+    CLK         => clk,
+    PPS         => '0',
+    VERSION     => VERSION,
+    ID          => ID_bg_db,
+  
+    -- 1GbE Control Interface
+    ETH_clk     => eth_clk,
+    ETH_SGIN    => eth_rxp,
+    ETH_SGOUT   => eth_txp,
+  
+    -- Transceiver clocks
+    SA_CLK      => sa_clk,
+  
+    -- Serial I/O
+    SI_FN_0_RX  => si_fn_0_lcu_rx,
+    SI_FN_1_RX  => si_fn_1_lcu_rx,
+    SI_FN_2_RX  => si_fn_2_lcu_rx,
+    SI_FN_3_RX  => si_fn_3_lcu_rx,
+    SI_FN_0_TX  => si_fn_0_lcu_tx,
+    SI_FN_1_TX  => si_fn_1_lcu_tx,
+    SI_FN_2_TX  => si_fn_2_lcu_tx,
+    SI_FN_3_TX  => si_fn_3_lcu_tx
+  );
+
+  ------------------------------------------------------------------------------
+  -- u_dut
+  ------------------------------------------------------------------------------
+  u_dut : ENTITY work.compaan_unb1_10g_param_stream
+  GENERIC MAP ( 
+    g_sim          => c_sim,
+    g_sim_unb_nr   => c_unb1_board_nr,
+    g_sim_node_nr  => c_node_nr_app
+  )
+  PORT MAP (
+    CLK         => clk,    
+    PPS         => '0',
+    VERSION     => VERSION,
+    ID          => ID_app,
+ 
+    -- 1GbE Control Interface
+    ETH_clk     => eth_clk,
+    ETH_SGIN    => eth_rxp,
+    ETH_SGOUT   => eth_txp,
+
+    -- Transceiver clocks
+    SA_CLK      => sa_clk,  
+
+    -- Serial I/O
+    SI_FN_0_RX  => si_fn_0_lcu_tx,
+    SI_FN_1_RX  => si_fn_1_lcu_tx,
+    SI_FN_2_RX  => si_fn_2_lcu_tx,
+    SI_FN_3_RX  => si_fn_3_lcu_tx,
+    SI_FN_0_TX  => si_fn_0_lcu_rx,
+    SI_FN_1_TX  => si_fn_1_lcu_rx,
+    SI_FN_2_TX  => si_fn_2_lcu_rx,
+    SI_FN_3_TX  => si_fn_3_lcu_rx
+  );
+
+END tb;
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/functions/hdllib.cfg b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/functions/hdllib.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..0a2495d2a345d9b065c33d27176dde4e8bf0b824
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/functions/hdllib.cfg
@@ -0,0 +1,20 @@
+hdl_lib_name = compaandesign_com_param_stream2rtl_functions_1
+hdl_library_clause_name = compaandesign_com_param_stream2rtl_functions_1_lib
+hdl_lib_uses_synth = compaandesign_com_common_hwnode_1 compaandesign_com_common_common_1 
+hdl_lib_technology = ip_stratixiv
+
+build_dir_sim = $HDL_BUILD_DIR
+build_dir_synth = $HDL_BUILD_DIR
+
+# Specify here all the files you want to be included in the library.
+synth_files =
+	src/vhdl/compaan_outlinedproc0.vhd
+	src/vhdl/compaan_outlinedproc0_pipeline.vhd
+	src/vhdl/transformer.vhd
+	src/vhdl/transformer_pipeline.vhd
+	src/vhdl/compaan_outlinedproc1.vhd
+	src/vhdl/compaan_outlinedproc1_pipeline.vhd
+
+test_bench_files =
+
+modelsim_copy_files =
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/functions/src/vhdl/compaan_outlinedproc0.vhd b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/functions/src/vhdl/compaan_outlinedproc0.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..3752cc86cd534864749694a354d069548f36ac7c
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/functions/src/vhdl/compaan_outlinedproc0.vhd
@@ -0,0 +1,161 @@
+-- File automatically generated by KpnMapper
+-- This file descibes the orignal Function
+-- Function "compaan_outlinedproc0"
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library compaandesign_com_common_common_1_lib;
+use compaandesign_com_common_common_1_lib.hw_node_pkg.all;
+
+library compaandesign_com_common_hwnode_1_lib;
+use compaandesign_com_common_hwnode_1_lib.all;
+
+
+entity compaan_outlinedproc0 is
+   generic (
+      STIM_DIR   : string  := "bla";
+      c_STAGES   : natural := 1;
+      N_CNTRS    : natural := 1;
+      CNTR_QUANT : natural := 32;
+      CNTR_WIDTH : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 )
+   );
+   port (
+      RST   : in  std_logic;
+      CLK   : in  std_logic;
+      -- Inputs 
+      ip_tmp1  : in  std_logic_vector(63 downto 0);
+      EXIST : in  std_logic_vector(0 downto 0);
+      READF : out std_logic_vector(0 downto 0);
+      -- Iterators 
+      it_i : in  std_logic_vector(CNTR_WIDTH(0)-1 downto 0);
+      -- Outputs 
+      op_tmp0 : out std_logic_vector(63 downto 0);
+      FULL  : in  std_logic_vector(0 downto 0);
+      WRITEF: out std_logic_vector(0 downto 0);
+      --
+      STOP_RD : in  std_logic;
+      STOP_WR : in  std_logic;
+      ERROR   : out std_logic
+   );
+end compaan_outlinedproc0;
+
+architecture RTL of compaan_outlinedproc0 is
+
+   component compaan_outlinedproc0_pipeline is
+      generic (
+         STIM_DIR   : string  := "bla";
+         c_STAGES   : natural := 1;
+         N_CNTRS    : natural := 1; 
+         CNTR_QUANT : natural := 32; 
+         CNTR_WIDTH : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 ) 
+      );
+      port (
+         RST   : in std_logic;
+         CLK   : in std_logic;
+         -- Inputs 
+         ip_tmp1  : in  std_logic_vector(63 downto 0);  
+         -- Iterators 
+         it_i : in  std_logic_vector(CNTR_WIDTH(0)-1 downto 0);
+         -- Outputs 
+         op_tmp0 : out std_logic_vector(63 downto 0);
+
+         ENi   : in  std_logic;
+         EN    : in  std_logic_vector(c_STAGES-1 downto 0);
+         STALL_FRONT  : out std_logic_vector(c_STAGES-1 downto 0);
+         STALL_BACK   : out std_logic_vector(c_STAGES-1 downto 0);
+         ERROR : out std_logic
+      );
+   end component;
+
+   component CONTROLLER is
+      generic ( 
+         N_STAGES  : natural := 1;
+         BLOCKING  : natural := 0
+      ); 
+      port (
+         READ      : out std_logic;
+         EXIST     : in  std_logic;
+         WRITE     : out std_logic;
+         FULL      : in  std_logic;
+         --
+         ENABLE_EX    : out std_logic_vector(N_STAGES-1 downto 0);
+         STALL_FRONT  : in  std_logic_vector(N_STAGES-1 downto 0);
+         STALL_BACK   : in  std_logic_vector(N_STAGES-1 downto 0);
+         --
+         CLK       : in  std_logic;
+         RST       : in  std_logic
+      );
+   end component;
+
+   constant c_BLOCKING : natural := 1;
+
+   signal sl_EXIST : std_logic;
+   signal sl_READ  : std_logic;
+   signal sl_FULL  : std_logic;
+   signal sl_WRITE : std_logic;
+   signal sl_EN    : std_logic_vector(c_STAGES-1 downto 0);
+   signal sl_STALL_FRONT  : std_logic_vector(c_STAGES-1 downto 0);
+   signal sl_STALL_BACK   : std_logic_vector(c_STAGES-1 downto 0);
+   --
+
+   --
+
+   --
+
+begin
+
+   -- if all arguments exist, and we do not stop reading, make sl_EXIST high mean you can fire
+   sl_EXIST <= '1' when ((STOP_RD='0') and (EXIST=(EXIST'range=>'1'))) else '0';
+   -- Functional Evaluation. Only when all signals are high, we can set READF high.
+   READF    <= (READF'range =>sl_READ);
+   sl_FULL  <= '0' when ((STOP_WR='0') and (FULL =(FULL'range =>'0'))) else '1';
+   WRITEF   <= (WRITEF'range=>sl_WRITE);
+
+   PIPELINE : compaan_outlinedproc0_pipeline
+   generic map (
+         STIM_DIR      => STIM_DIR,
+         c_STAGES      => c_STAGES,
+         N_CNTRS       => N_CNTRS,
+         CNTR_QUANT    => CNTR_QUANT,
+         CNTR_WIDTH    => CNTR_WIDTH
+   )
+   port map (
+      CLK   => CLK,
+      RST   => RST,
+      -- Inputs 
+      ip_tmp1 => ip_tmp1,
+      -- Iterators 
+      it_i => it_i,
+      -- Outputs 
+      op_tmp0 => op_tmp0,
+      --
+      ENi         => sl_READ,
+      EN          => sl_EN,
+      STALL_FRONT => sl_STALL_FRONT,
+      STALL_BACK  => sl_STALL_BACK,
+      ERROR       => ERROR
+   );
+
+   CTRL : CONTROLLER
+   generic map (
+      N_STAGES   => c_STAGES,
+      BLOCKING   => c_BLOCKING
+   )
+   port map (
+      RST        => RST,
+      CLK        => CLK,
+      READ       => sl_READ,
+      EXIST      => sl_EXIST,
+      --
+      ENABLE_EX   => sl_EN,
+      STALL_FRONT => sl_STALL_FRONT,
+      STALL_BACK  => sl_STALL_BACK,
+      --
+      WRITE      => sl_WRITE,
+      FULL       => sl_FULL
+   );
+
+end RTL;
+
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/functions/src/vhdl/compaan_outlinedproc0_pipeline.vhd b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/functions/src/vhdl/compaan_outlinedproc0_pipeline.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..e4e2bbc7d4af14a9edb9b55baf91fce518bf2d5e
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/functions/src/vhdl/compaan_outlinedproc0_pipeline.vhd
@@ -0,0 +1,91 @@
+-- File automatically generated by KpnMapper
+-- This file defines a template for pipelined function implementation
+-- Function "compaan_outlinedproc0"
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library compaandesign_com_common_common_1_lib;
+use compaandesign_com_common_common_1_lib.hw_node_pkg.all;
+
+
+entity compaan_outlinedproc0_pipeline is
+   generic (
+      STIM_DIR   : string  := "bla";
+      c_STAGES   : natural := 1;
+      N_CNTRS    : natural := 1;
+      CNTR_QUANT : natural := 32;
+      CNTR_WIDTH : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 )
+   );
+   port (
+      RST   : in  std_logic;
+      CLK   : in  std_logic;
+      -- Inputs 
+      ip_tmp1  : in  std_logic_vector(63 downto 0);
+      -- Iterators 
+      it_i : in  std_logic_vector(CNTR_WIDTH(0)-1 downto 0);
+      -- Outputs 
+      op_tmp0 : out std_logic_vector(63 downto 0);
+      --
+      ENi   : in  std_logic;
+      EN    : in  std_logic_vector(c_STAGES-1 downto 0);
+      STALL_FRONT  : out std_logic_vector(c_STAGES-1 downto 0);
+      STALL_BACK   : out std_logic_vector(c_STAGES-1 downto 0);
+      ERROR : out std_logic
+   );
+end compaan_outlinedproc0_pipeline;
+
+architecture RTL of compaan_outlinedproc0_pipeline is
+--
+    constant error_int : integer := -1;
+    constant reset_int : std_logic_vector(0 downto 0) := b"0";
+    -- Input registers
+    signal ipr_tmp1 : std_logic_vector(63 downto 0);
+
+    -- Iterator registers 
+    signal itr_i : std_logic_vector(CNTR_WIDTH(0)-1 downto 0);
+    -- Output signals
+
+    --
+    -- Your pipeline signals
+    --
+    -- STAGE_0
+    signal s0_tmp1 : std_logic_vector(63 downto 0);
+    signal r0_tmp1 : std_logic_vector(63 downto 0);
+
+begin
+
+    PIPE_REGS : process(CLK)
+    begin
+        if rising_edge(CLK) then
+            if (RST='1') then
+                -- Something to reset?
+            else
+                if( ENi = '1' ) then
+                    -- Input Registers 
+                    ipr_tmp1 <= ip_tmp1;
+                    -- Iterator Registers 
+                    itr_i <= it_i;
+                end if;
+                -- Pipeline Depth: 1 stages
+                -- STAGE_0
+                if( EN(0) = '1' ) then
+                    r0_tmp1 <= s0_tmp1;
+                end if;
+            end if;
+        end if;
+    end process;    -- PIPE_REGS
+    --
+    -- Output
+    op_tmp0 <= STD_LOGIC_VECTOR(RESIZE(UNSIGNED(r0_tmp1), op_tmp0'Length));
+    --
+    -- PIPE_COMB:
+    s0_tmp1 <= ipr_tmp1;
+    --
+    STALL_FRONT  <= (others=>'0');
+    STALL_BACK   <= (others=>'0');
+    ERROR <= '0';
+end RTL;
+
+
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/functions/src/vhdl/compaan_outlinedproc1.vhd b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/functions/src/vhdl/compaan_outlinedproc1.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..c784274692f3f9816f36d31fc18accc19b0ca8cf
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/functions/src/vhdl/compaan_outlinedproc1.vhd
@@ -0,0 +1,161 @@
+-- File automatically generated by KpnMapper
+-- This file descibes the orignal Function
+-- Function "compaan_outlinedproc1"
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library compaandesign_com_common_common_1_lib;
+use compaandesign_com_common_common_1_lib.hw_node_pkg.all;
+
+library compaandesign_com_common_hwnode_1_lib;
+use compaandesign_com_common_hwnode_1_lib.all;
+
+
+entity compaan_outlinedproc1 is
+   generic (
+      STIM_DIR   : string  := "bla";
+      c_STAGES   : natural := 1;
+      N_CNTRS    : natural := 1;
+      CNTR_QUANT : natural := 32;
+      CNTR_WIDTH : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 )
+   );
+   port (
+      RST   : in  std_logic;
+      CLK   : in  std_logic;
+      -- Inputs 
+      ip_tmp1  : in  std_logic_vector(63 downto 0);
+      EXIST : in  std_logic_vector(0 downto 0);
+      READF : out std_logic_vector(0 downto 0);
+      -- Iterators 
+      it_x : in  std_logic_vector(CNTR_WIDTH(0)-1 downto 0);
+      -- Outputs 
+      op_tmp0 : out std_logic_vector(63 downto 0);
+      FULL  : in  std_logic_vector(0 downto 0);
+      WRITEF: out std_logic_vector(0 downto 0);
+      --
+      STOP_RD : in  std_logic;
+      STOP_WR : in  std_logic;
+      ERROR   : out std_logic
+   );
+end compaan_outlinedproc1;
+
+architecture RTL of compaan_outlinedproc1 is
+
+   component compaan_outlinedproc1_pipeline is
+      generic (
+         STIM_DIR   : string  := "bla";
+         c_STAGES   : natural := 1;
+         N_CNTRS    : natural := 1; 
+         CNTR_QUANT : natural := 32; 
+         CNTR_WIDTH : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 ) 
+      );
+      port (
+         RST   : in std_logic;
+         CLK   : in std_logic;
+         -- Inputs 
+         ip_tmp1  : in  std_logic_vector(63 downto 0);  
+         -- Iterators 
+         it_x : in  std_logic_vector(CNTR_WIDTH(0)-1 downto 0);
+         -- Outputs 
+         op_tmp0 : out std_logic_vector(63 downto 0);
+
+         ENi   : in  std_logic;
+         EN    : in  std_logic_vector(c_STAGES-1 downto 0);
+         STALL_FRONT  : out std_logic_vector(c_STAGES-1 downto 0);
+         STALL_BACK   : out std_logic_vector(c_STAGES-1 downto 0);
+         ERROR : out std_logic
+      );
+   end component;
+
+   component CONTROLLER is
+      generic ( 
+         N_STAGES  : natural := 1;
+         BLOCKING  : natural := 0
+      ); 
+      port (
+         READ      : out std_logic;
+         EXIST     : in  std_logic;
+         WRITE     : out std_logic;
+         FULL      : in  std_logic;
+         --
+         ENABLE_EX    : out std_logic_vector(N_STAGES-1 downto 0);
+         STALL_FRONT  : in  std_logic_vector(N_STAGES-1 downto 0);
+         STALL_BACK   : in  std_logic_vector(N_STAGES-1 downto 0);
+         --
+         CLK       : in  std_logic;
+         RST       : in  std_logic
+      );
+   end component;
+
+   constant c_BLOCKING : natural := 1;
+
+   signal sl_EXIST : std_logic;
+   signal sl_READ  : std_logic;
+   signal sl_FULL  : std_logic;
+   signal sl_WRITE : std_logic;
+   signal sl_EN    : std_logic_vector(c_STAGES-1 downto 0);
+   signal sl_STALL_FRONT  : std_logic_vector(c_STAGES-1 downto 0);
+   signal sl_STALL_BACK   : std_logic_vector(c_STAGES-1 downto 0);
+   --
+
+   --
+
+   --
+
+begin
+
+   -- if all arguments exist, and we do not stop reading, make sl_EXIST high mean you can fire
+   sl_EXIST <= '1' when ((STOP_RD='0') and (EXIST=(EXIST'range=>'1'))) else '0';
+   -- Functional Evaluation. Only when all signals are high, we can set READF high.
+   READF    <= (READF'range =>sl_READ);
+   sl_FULL  <= '0' when ((STOP_WR='0') and (FULL =(FULL'range =>'0'))) else '1';
+   WRITEF   <= (WRITEF'range=>sl_WRITE);
+
+   PIPELINE : compaan_outlinedproc1_pipeline
+   generic map (
+         STIM_DIR      => STIM_DIR,
+         c_STAGES      => c_STAGES,
+         N_CNTRS       => N_CNTRS,
+         CNTR_QUANT    => CNTR_QUANT,
+         CNTR_WIDTH    => CNTR_WIDTH
+   )
+   port map (
+      CLK   => CLK,
+      RST   => RST,
+      -- Inputs 
+      ip_tmp1 => ip_tmp1,
+      -- Iterators 
+      it_x => it_x,
+      -- Outputs 
+      op_tmp0 => op_tmp0,
+      --
+      ENi         => sl_READ,
+      EN          => sl_EN,
+      STALL_FRONT => sl_STALL_FRONT,
+      STALL_BACK  => sl_STALL_BACK,
+      ERROR       => ERROR
+   );
+
+   CTRL : CONTROLLER
+   generic map (
+      N_STAGES   => c_STAGES,
+      BLOCKING   => c_BLOCKING
+   )
+   port map (
+      RST        => RST,
+      CLK        => CLK,
+      READ       => sl_READ,
+      EXIST      => sl_EXIST,
+      --
+      ENABLE_EX   => sl_EN,
+      STALL_FRONT => sl_STALL_FRONT,
+      STALL_BACK  => sl_STALL_BACK,
+      --
+      WRITE      => sl_WRITE,
+      FULL       => sl_FULL
+   );
+
+end RTL;
+
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/functions/src/vhdl/compaan_outlinedproc1_pipeline.vhd b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/functions/src/vhdl/compaan_outlinedproc1_pipeline.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..7bea02bb535fb088452dba24c862af6d9930fae3
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/functions/src/vhdl/compaan_outlinedproc1_pipeline.vhd
@@ -0,0 +1,91 @@
+-- File automatically generated by KpnMapper
+-- This file defines a template for pipelined function implementation
+-- Function "compaan_outlinedproc1"
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library compaandesign_com_common_common_1_lib;
+use compaandesign_com_common_common_1_lib.hw_node_pkg.all;
+
+
+entity compaan_outlinedproc1_pipeline is
+   generic (
+      STIM_DIR   : string  := "bla";
+      c_STAGES   : natural := 1;
+      N_CNTRS    : natural := 1;
+      CNTR_QUANT : natural := 32;
+      CNTR_WIDTH : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 )
+   );
+   port (
+      RST   : in  std_logic;
+      CLK   : in  std_logic;
+      -- Inputs 
+      ip_tmp1  : in  std_logic_vector(63 downto 0);
+      -- Iterators 
+      it_x : in  std_logic_vector(CNTR_WIDTH(0)-1 downto 0);
+      -- Outputs 
+      op_tmp0 : out std_logic_vector(63 downto 0);
+      --
+      ENi   : in  std_logic;
+      EN    : in  std_logic_vector(c_STAGES-1 downto 0);
+      STALL_FRONT  : out std_logic_vector(c_STAGES-1 downto 0);
+      STALL_BACK   : out std_logic_vector(c_STAGES-1 downto 0);
+      ERROR : out std_logic
+   );
+end compaan_outlinedproc1_pipeline;
+
+architecture RTL of compaan_outlinedproc1_pipeline is
+--
+    constant error_int : integer := -1;
+    constant reset_int : std_logic_vector(0 downto 0) := b"0";
+    -- Input registers
+    signal ipr_tmp1 : std_logic_vector(63 downto 0);
+
+    -- Iterator registers 
+    signal itr_x : std_logic_vector(CNTR_WIDTH(0)-1 downto 0);
+    -- Output signals
+
+    --
+    -- Your pipeline signals
+    --
+    -- STAGE_0
+    signal s0_tmp1 : std_logic_vector(63 downto 0);
+    signal r0_tmp1 : std_logic_vector(63 downto 0);
+
+begin
+
+    PIPE_REGS : process(CLK)
+    begin
+        if rising_edge(CLK) then
+            if (RST='1') then
+                -- Something to reset?
+            else
+                if( ENi = '1' ) then
+                    -- Input Registers 
+                    ipr_tmp1 <= ip_tmp1;
+                    -- Iterator Registers 
+                    itr_x <= it_x;
+                end if;
+                -- Pipeline Depth: 1 stages
+                -- STAGE_0
+                if( EN(0) = '1' ) then
+                    r0_tmp1 <= s0_tmp1;
+                end if;
+            end if;
+        end if;
+    end process;    -- PIPE_REGS
+    --
+    -- Output
+    op_tmp0 <= STD_LOGIC_VECTOR(RESIZE(UNSIGNED(r0_tmp1), op_tmp0'Length));
+    --
+    -- PIPE_COMB:
+    s0_tmp1 <= ipr_tmp1;
+    --
+    STALL_FRONT  <= (others=>'0');
+    STALL_BACK   <= (others=>'0');
+    ERROR <= '0';
+end RTL;
+
+
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/functions/src/vhdl/transformer.vhd b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/functions/src/vhdl/transformer.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..0db3f33ee3360057e82306426e20e3ba5ca55885
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/functions/src/vhdl/transformer.vhd
@@ -0,0 +1,167 @@
+-- File automatically generated by KpnMapper
+-- This file descibes the orignal Function
+-- Function "transformer"
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library compaandesign_com_common_common_1_lib;
+use compaandesign_com_common_common_1_lib.hw_node_pkg.all;
+
+library compaandesign_com_common_hwnode_1_lib;
+use compaandesign_com_common_hwnode_1_lib.all;
+
+
+entity transformer is
+   generic (
+      STIM_DIR   : string  := "bla";
+      c_STAGES   : natural := 1;
+      N_CNTRS    : natural := 1;
+      CNTR_QUANT : natural := 32;
+      CNTR_WIDTH : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 )
+   );
+   port (
+      RST   : in  std_logic;
+      CLK   : in  std_logic;
+      --  Non Syncronized Parameters
+      rf_brightness     : in  std_logic_vector( 32-1 downto 0); -- input
+      -- Inputs 
+      ip_a  : in  std_logic_vector(63 downto 0);
+      EXIST : in  std_logic_vector(0 downto 0);
+      READF : out std_logic_vector(0 downto 0);
+      -- Iterators 
+      it_j : in  std_logic_vector(CNTR_WIDTH(0)-1 downto 0);
+      -- Outputs 
+      op_b : out std_logic_vector(63 downto 0);
+      FULL  : in  std_logic_vector(0 downto 0);
+      WRITEF: out std_logic_vector(0 downto 0);
+      --
+      STOP_RD : in  std_logic;
+      STOP_WR : in  std_logic;
+      ERROR   : out std_logic
+   );
+end transformer;
+
+architecture RTL of transformer is
+
+   component transformer_pipeline is
+      generic (
+         STIM_DIR   : string  := "bla";
+         c_STAGES   : natural := 1;
+         N_CNTRS    : natural := 1; 
+         CNTR_QUANT : natural := 32; 
+         CNTR_WIDTH : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 ) 
+      );
+      port (
+         RST   : in std_logic;
+         CLK   : in std_logic;
+      --  Non Syncronized Parameters
+      rf_brightness     : in  std_logic_vector( 32-1 downto 0); --input
+         -- Inputs 
+         ip_a  : in  std_logic_vector(63 downto 0);  
+         -- Iterators 
+         it_j : in  std_logic_vector(CNTR_WIDTH(0)-1 downto 0);
+         -- Outputs 
+         op_b : out std_logic_vector(63 downto 0);
+
+         ENi   : in  std_logic;
+         EN    : in  std_logic_vector(c_STAGES-1 downto 0);
+         STALL_FRONT  : out std_logic_vector(c_STAGES-1 downto 0);
+         STALL_BACK   : out std_logic_vector(c_STAGES-1 downto 0);
+         ERROR : out std_logic
+      );
+   end component;
+
+   component CONTROLLER is
+      generic ( 
+         N_STAGES  : natural := 1;
+         BLOCKING  : natural := 0
+      ); 
+      port (
+         READ      : out std_logic;
+         EXIST     : in  std_logic;
+         WRITE     : out std_logic;
+         FULL      : in  std_logic;
+         --
+         ENABLE_EX    : out std_logic_vector(N_STAGES-1 downto 0);
+         STALL_FRONT  : in  std_logic_vector(N_STAGES-1 downto 0);
+         STALL_BACK   : in  std_logic_vector(N_STAGES-1 downto 0);
+         --
+         CLK       : in  std_logic;
+         RST       : in  std_logic
+      );
+   end component;
+
+   constant c_BLOCKING : natural := 1;
+
+   signal sl_EXIST : std_logic;
+   signal sl_READ  : std_logic;
+   signal sl_FULL  : std_logic;
+   signal sl_WRITE : std_logic;
+   signal sl_EN    : std_logic_vector(c_STAGES-1 downto 0);
+   signal sl_STALL_FRONT  : std_logic_vector(c_STAGES-1 downto 0);
+   signal sl_STALL_BACK   : std_logic_vector(c_STAGES-1 downto 0);
+   --
+
+   --
+
+   --
+
+begin
+
+   -- if all arguments exist, and we do not stop reading, make sl_EXIST high mean you can fire
+   sl_EXIST <= '1' when ((STOP_RD='0') and (EXIST=(EXIST'range=>'1'))) else '0';
+   -- Functional Evaluation. Only when all signals are high, we can set READF high.
+   READF    <= (READF'range =>sl_READ);
+   sl_FULL  <= '0' when ((STOP_WR='0') and (FULL =(FULL'range =>'0'))) else '1';
+   WRITEF   <= (WRITEF'range=>sl_WRITE);
+
+   PIPELINE : transformer_pipeline
+   generic map (
+         STIM_DIR      => STIM_DIR,
+         c_STAGES      => c_STAGES,
+         N_CNTRS       => N_CNTRS,
+         CNTR_QUANT    => CNTR_QUANT,
+         CNTR_WIDTH    => CNTR_WIDTH
+   )
+   port map (
+      CLK   => CLK,
+      RST   => RST,
+      --  Non Syncronized Parameters
+      rf_brightness     => rf_brightness,
+      -- Inputs 
+      ip_a => ip_a,
+      -- Iterators 
+      it_j => it_j,
+      -- Outputs 
+      op_b => op_b,
+      --
+      ENi         => sl_READ,
+      EN          => sl_EN,
+      STALL_FRONT => sl_STALL_FRONT,
+      STALL_BACK  => sl_STALL_BACK,
+      ERROR       => ERROR
+   );
+
+   CTRL : CONTROLLER
+   generic map (
+      N_STAGES   => c_STAGES,
+      BLOCKING   => c_BLOCKING
+   )
+   port map (
+      RST        => RST,
+      CLK        => CLK,
+      READ       => sl_READ,
+      EXIST      => sl_EXIST,
+      --
+      ENABLE_EX   => sl_EN,
+      STALL_FRONT => sl_STALL_FRONT,
+      STALL_BACK  => sl_STALL_BACK,
+      --
+      WRITE      => sl_WRITE,
+      FULL       => sl_FULL
+   );
+
+end RTL;
+
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/functions/src/vhdl/transformer_pipeline.vhd b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/functions/src/vhdl/transformer_pipeline.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..ae11626e463320233cf7f2569af7a4c3b575bc95
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/functions/src/vhdl/transformer_pipeline.vhd
@@ -0,0 +1,101 @@
+-- File automatically generated by KpnMapper
+-- This file defines a template for pipelined function implementation
+-- Function "transformer"
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library compaandesign_com_common_common_1_lib;
+use compaandesign_com_common_common_1_lib.hw_node_pkg.all;
+
+
+entity transformer_pipeline is
+   generic (
+      STIM_DIR   : string  := "bla";
+      c_STAGES   : natural := 1;
+      N_CNTRS    : natural := 1;
+      CNTR_QUANT : natural := 32;
+      CNTR_WIDTH : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 )
+   );
+   port (
+      RST   : in  std_logic;
+      CLK   : in  std_logic;
+      --  Non Syncronized Parameters
+      rf_brightness     : in  std_logic_vector( 32-1 downto 0); -- input
+      -- Inputs 
+      ip_a  : in  std_logic_vector(63 downto 0);
+      ip_brightness  : in  std_logic_vector(31 downto 0);
+      -- Iterators 
+      it_j : in  std_logic_vector(CNTR_WIDTH(0)-1 downto 0);
+      -- Outputs 
+      op_b : out std_logic_vector(63 downto 0);
+      --
+      ENi   : in  std_logic;
+      EN    : in  std_logic_vector(c_STAGES-1 downto 0);
+      STALL_FRONT  : out std_logic_vector(c_STAGES-1 downto 0);
+      STALL_BACK   : out std_logic_vector(c_STAGES-1 downto 0);
+      ERROR : out std_logic
+   );
+end transformer_pipeline;
+
+architecture RTL of transformer_pipeline is
+--
+    constant error_int : integer := -1;
+    constant reset_int : std_logic_vector(0 downto 0) := b"0";
+    -- Input registers
+    signal ipr_a : std_logic_vector(63 downto 0);
+
+    signal ipr_brightness : std_logic_vector(31 downto 0);
+
+    -- Iterator registers 
+    signal itr_j : std_logic_vector(CNTR_WIDTH(0)-1 downto 0);
+    -- Output signals
+
+    --
+    -- Your pipeline signals
+    --
+    -- STAGE_0
+    signal s0_a : std_logic_vector(63 downto 0);
+    signal r0_a : std_logic_vector(63 downto 0);
+    signal s0_brightness : std_logic_vector(31 downto 0);
+    signal r0_brightness : std_logic_vector(31 downto 0);
+
+begin
+
+    PIPE_REGS : process(CLK)
+    begin
+        if rising_edge(CLK) then
+            if (RST='1') then
+                -- Something to reset?
+            else
+                if( ENi = '1' ) then
+                    -- Input Registers 
+                    ipr_a <= ip_a;
+                    ipr_brightness <= ip_brightness;
+                    -- Iterator Registers 
+                    itr_j <= it_j;
+                end if;
+                -- Pipeline Depth: 1 stages
+                -- STAGE_0
+                if( EN(0) = '1' ) then
+                    r0_a <= s0_a;
+                    r0_brightness <= s0_brightness;
+                end if;
+            end if;
+        end if;
+    end process;    -- PIPE_REGS
+    --
+    -- Output
+    op_b <= STD_LOGIC_VECTOR(RESIZE(UNSIGNED(rf_brightness), op_b'Length));
+    --
+    -- PIPE_COMB:
+    s0_a <= ipr_a;
+    s0_brightness <= ipr_brightness;
+    --
+    STALL_FRONT  <= (others=>'0');
+    STALL_BACK   <= (others=>'0');
+    ERROR <= '0';
+end RTL;
+
+
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_2/hdllib.cfg b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_2/hdllib.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..672baaeb5d784abf32f542fcc07b52ad62763970
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_2/hdllib.cfg
@@ -0,0 +1,18 @@
+hdl_lib_name = compaandesign_com_param_stream2rtl_hwn_nd_2_1
+hdl_library_clause_name = compaandesign_com_param_stream2rtl_hwn_nd_2_1_lib
+hdl_lib_uses_synth = compaandesign_com_param_stream2rtl_functions_1 compaandesign_com_common_hwnode_1 compaandesign_com_common_common_1 compaandesign_com_common_extern_connector_1 
+hdl_lib_technology = ip_stratixiv
+
+build_dir_sim = $HDL_BUILD_DIR
+build_dir_synth = $HDL_BUILD_DIR
+
+# Specify here all the files you want to be included in the library.
+synth_files =
+	src/vhdl/param_stream2rtl_hwn_nd_2_execution_unit.vhd
+	src/vhdl/param_stream2rtl_hwn_nd_2_eval_logic_rd.vhd
+	src/vhdl/param_stream2rtl_hwn_nd_2_eval_logic_wr.vhd
+	src/vhdl/param_stream2rtl_hwn_nd_2.vhd
+
+test_bench_files =
+
+modelsim_copy_files =
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_2/src/vhdl/param_stream2rtl_hwn_nd_2.vhd b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_2/src/vhdl/param_stream2rtl_hwn_nd_2.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..60f440383faa9dff3c1c3cf78dbe70532a35986f
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_2/src/vhdl/param_stream2rtl_hwn_nd_2.vhd
@@ -0,0 +1,462 @@
+-- HWN Entity File automatically generated by KpnMapper (writeHdlHWNodeFile)
+-- Top level file for a Hardware Accelerator
+-- Function "compaan_outlinedproc0"
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library compaandesign_com_common_common_1_lib;
+use compaandesign_com_common_common_1_lib.hw_node_pkg.all;
+
+library compaandesign_com_common_hwnode_1_lib;
+use compaandesign_com_common_hwnode_1_lib.all;
+
+library compaandesign_com_common_extern_connector_1_lib;
+use compaandesign_com_common_extern_connector_1_lib.all;
+
+entity param_stream2rtl_hwn_nd_2 is
+   generic (
+      STIM_DIR   : string  := "bla";
+      RESET_HIGH : natural := 1;
+      PAR_WIDTH  : natural := 16;
+      QUANT      : natural := 32;
+      WRAP       : boolean := true
+   );
+   port (
+
+      -- Dataflow input interfaces
+      data_in_Rd    : out std_logic;
+      data_in_Din   : in  std_logic_vector(63 downto 0);
+      data_in_Exist : in  std_logic; 
+      data_in_CLK   : out std_logic;
+      data_in_CTRL  : in  std_logic;
+
+      -- Dataflow Control Input interfaces
+      -- Dataflow output interfaces
+      -- ED_1 : out_0
+      ND_2OP_1_Wr   : out std_logic;
+      ND_2OP_1_Dout : out std_logic_vector(63 downto 0);
+      ND_2OP_1_Full : in  std_logic;
+      ND_2OP_1_CLK  : out std_logic;
+      ND_2OP_1_CTRL : out std_logic;
+
+      PARAM_DT : in  std_logic_vector(PAR_WIDTH+10-1 downto 0);
+      PARAM_LD : in  std_logic;
+
+      RST      : in  std_logic;
+      CLK      : in  std_logic;
+      STOP     : out std_logic;
+      ERROR    : out std_logic;
+      BLOCK_RD : out std_logic
+   );
+end param_stream2rtl_hwn_nd_2;
+
+architecture RTL of param_stream2rtl_hwn_nd_2 is
+   --
+   -- ====================================
+   -- =     Constants declaration        =
+   -- ====================================
+   -- Setting the parameters of the HW Node
+   constant c_IN_PORTS     : natural := 1; -- number of input ports of a HW node
+   constant c_OUT_PORTS    : natural := 1; -- number of output ports of a HW node
+   constant c_IN_FUNC_VAR  : natural := 1; -- number of input ports of a HW IP
+   constant c_OUT_FUNC_VAR : natural := 1; -- number of output ports of a HW IP
+   constant c_COUNTERS     : natural := 1; -- number of iterators
+   -- ===========================================
+   -- = Iterators run from Inner to Outer loop  =
+   -- ===========================================
+   constant c_CNTR_QUANT   : natural := 5;
+   constant c_CNTR_STEPS   : t_counter_step  := ( 0=>1, others=>1 );
+   constant c_CNTR_WIDTHS  : t_counter_width := ( 0=>5, others=>10 );
+   constant c_STAGES       : natural := 1; -- number of pipeline stages or delay
+   constant c_IP_RESET     : natural := 1; -- active level of the HW IP reset signal
+   constant c_WRAP         : boolean := WRAP; -- Operation mode: Single_Shot (false) or Continuous (true)
+   constant c_EXT_PAR      : natural := 0; -- number of external parameters
+   constant c_INT_PAR      : natural := 0; -- number of internal parameters
+   constant c_N_PAR        : natural := 0; -- no parameters are used
+   constant c_PAR_BITWIDTH : natural := PAR_WIDTH; -- aggregate bitwidth of the parameter vector
+   constant c_PAR_VECTOR   : t_par_vector:= ( -- (Lower Bound, Upper Bound, Default Value, Bitwidth)
+       (0,0,0,0), (0,0,0,0)    -- two dummy elements
+   );
+   --
+   -- ====================================
+   -- =     Components declaration       =
+   -- ====================================
+   component param_stream2rtl_EVAL_LOGIC_RD_hwn_nd_2 is
+      generic (
+         N_IN_PORTS    : natural := 1;
+         WRAP          : boolean := true;
+         N_CNTRS       : natural := 1; 
+         QUANT         : natural := 32;
+         PAR_BITWIDTH  : natural :=1;
+         CNTR_STEP     : t_counter_step  := ( 0=> 1, 1=> 1, 2=>1, others=> 1 );
+         CNTR_WIDTH    : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 )
+      );
+      port (
+         RST           : in  std_logic;
+         CLK           : in  std_logic;
+         REG_CNTRS     : out std_logic_vector(N_CNTRS*QUANT-1  downto 0); 
+         READ_EN       : out std_logic_vector(c_IN_FUNC_VAR-1  downto 0);
+         READ_ST       : in  std_logic_vector(c_IN_FUNC_VAR-1  downto 0);
+         HALT          : in  std_logic;
+         FIRE          : out std_logic;
+         DONE          : out std_logic;
+         STOP          : out std_logic;
+         CONTROL       : out std_logic_vector(N_IN_PORTS-1 downto 0);
+         OBTAIN        : out std_logic_vector(N_IN_PORTS-1 downto 0);
+         RELEASE       : out std_logic_vector(N_IN_PORTS-1 downto 0)
+      );
+   end component;
+
+   component READ_MUX is
+      generic (
+         N_PORTS    : natural := 1;
+         PORT_WIDTH : natural := 32  
+      );
+      port(
+         IN_PORTS   : in  std_logic_vector(N_PORTS*PORT_WIDTH-1 downto 0);
+         EXISTS     : in  std_logic_vector(N_PORTS-1 downto 0);
+         READS      : out std_logic_vector(N_PORTS-1 downto 0);
+         SOFS       : in  std_logic_vector(N_PORTS-1 downto 0);
+
+         OUT_PORT   : out std_logic_vector(PORT_WIDTH-1 downto 0);
+         EXIST      : out std_logic;
+         READ       : in  std_logic;
+         SOF        : in  std_logic;
+		CLK        : in std_logic;
+
+         READ_EN    : in  std_logic;
+         READ_ST    : out std_logic;
+         CONTROL    : in  std_logic_vector(N_PORTS-1 downto 0);
+         OBTAIN     : in  std_logic_vector(N_PORTS-1 downto 0);
+         RELEASE    : in  std_logic_vector(N_PORTS-1 downto 0)
+      );
+   end component;
+
+   component param_stream2rtl_EVAL_LOGIC_WR_hwn_nd_2 is
+      generic ( 
+         N_OUT_PORTS   : natural := 1;
+         WRAP          : boolean := true;
+         N_CNTRS       : natural := 1; 
+         QUANT         : natural := 32;
+         PAR_BITWIDTH  : natural :=1;
+         CNTR_STEP     : t_counter_step  := ( 0=> 1, 1=> 1, 2=>1, others=> 1 );
+         CNTR_WIDTH    : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 )
+      );
+      port (
+         RST           : in  std_logic;
+         CLK           : in  std_logic;
+         WRITE_EN      : out std_logic_vector(c_OUT_FUNC_VAR-1 downto 0);
+         WRITE_ST      : in  std_logic_vector(c_OUT_FUNC_VAR-1 downto 0);
+         HALT          : in  std_logic;
+         FIRE          : out std_logic;
+         DONE          : out std_logic;
+         STOP          : out std_logic;
+         CONTROL       : out std_logic_vector(N_OUT_PORTS-1 downto 0)
+      );
+   end component;
+
+   component WRITE_DEMUX is
+      generic (
+         N_PORTS : natural := 1
+      );
+      port(
+         WRITES   : out std_logic_vector(N_PORTS-1 downto 0);
+         WRITE    : in  std_logic;
+
+         FULLS    : in  std_logic_vector(N_PORTS-1 downto 0);
+         FULL     : out std_logic;
+
+         WRITE_EN : in  std_logic;
+         WRITE_ST : out std_logic;
+         CONTROL  : in  std_logic_vector(N_PORTS-1 downto 0)
+      );
+   end component;
+
+
+   component param_stream2rtl_EXECUTION_UNIT_hwn_nd_2 is
+      generic (
+         N_INPORTS  : natural := 1;
+         N_OUTPORTS : natural := 1;
+         IP_RESET   : natural := 1;
+         QUANT      : natural := 32;
+         STIM_DIR   : string  := "bla";
+         c_STAGES   : natural := 1;
+         N_CNTRS    : natural := 1;
+         CNTR_QUANT : natural := 32;
+         CNTR_WIDTH : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 ) 
+      );
+      port (
+         RST        : in  std_logic;
+         CLK        : in  std_logic;
+
+         -- Iterators
+         REG_CNTRS_RD : in  std_logic_vector(N_CNTRS*CNTR_QUANT -1 downto 0);
+         -- Func. Input parameters
+         IN_PORT_0 : in  std_logic_vector(63 downto 0); -- tmp1
+         READ       : out std_logic_vector(N_INPORTS-1 downto 0);
+         EXIST      : in  std_logic_vector(N_INPORTS-1 downto 0);
+         -- Func. Output parameters
+         OUT_PORT_0 : out std_logic_vector(63 downto 0); -- tmp0
+         WRITE      : out std_logic_vector(N_OUTPORTS-1 downto 0);
+         FULL       : in  std_logic_vector(N_OUTPORTS-1 downto 0);
+         --
+         STOP_RD    : in  std_logic;
+         STOP_WR    : in  std_logic;
+         ERROR      : out std_logic
+      );
+   end component;
+
+   component INTERNAL_PARAMETERS is 
+      generic (
+         PAR_BITWIDTH : natural:=1;
+         PAR_VECTOR   : t_par_vector;
+         N_PAR        : natural:=0;
+         START_IN_RUN  : boolean := FALSE
+      );
+      port (  
+         RST        : in  std_logic;
+         CLK        : in  std_logic;
+
+         HALT_RD    : out std_logic;
+         HALT_WR    : out std_logic;
+         SOF_RD     : in  std_logic;
+         SOF_WR     : in  std_logic;
+         LOAD_PARAM : out std_logic;
+
+         par_one_in_Rd    : out std_logic;
+         par_one_in_Din   : in std_logic_vector(32-1 downto 0);
+         par_one_in_Exist : in std_logic;
+         par_one_in_CLK   : out std_logic;
+         par_one_in_CTRL  : in std_logic;
+
+         PARAMETERS_RD : out std_logic_vector(32-1 downto 0);
+         PARAMETERS_WR : out std_logic_vector(32-1 downto 0)
+      );
+   end component;
+
+   --
+   -- ====================================
+   -- =       Signals declaration        =
+   -- ====================================
+   -- 
+   -- HW Node Input Ports
+   signal sl_IN_PORTS_0   : std_logic_vector(1*64-1 downto 0); -- tmp1
+   signal sl_EXISTS       : std_logic_vector(c_IN_PORTS-1 downto 0);
+   signal sl_READS        : std_logic_vector(c_IN_PORTS-1 downto 0);
+   signal sl_CTRLS        : std_logic_vector(c_IN_PORTS-1 downto 0);
+   signal sl_control_rd   : std_logic_vector(c_IN_PORTS-1 downto 0);
+   signal sl_obtain_rd    : std_logic_vector(c_IN_PORTS-1 downto 0);
+   signal sl_release_rd   : std_logic_vector(c_IN_PORTS-1 downto 0);
+   -- 
+   -- Func. Input parameters
+   signal sl_in_port_0    : std_logic_vector(63 downto 0); -- tmp1
+   signal sl_exist        : std_logic_vector(c_IN_FUNC_VAR-1 downto 0);
+   signal sl_read         : std_logic_vector(c_IN_FUNC_VAR-1 downto 0);
+   signal sl_read_en      : std_logic_vector(c_IN_FUNC_VAR-1 downto 0);
+   signal sl_read_st      : std_logic_vector(c_IN_FUNC_VAR-1 downto 0);
+   -- 
+   signal sl_REG_CNTRS_RD : std_logic_vector(c_COUNTERS*c_CNTR_QUANT-1 downto 0);
+   -- 
+   -- HW Node Output Ports
+   signal sl_WRITES       : std_logic_vector(c_OUT_PORTS-1 downto 0);
+   signal sl_FULLS        : std_logic_vector(c_OUT_PORTS-1 downto 0);
+   signal sl_control_wr   : std_logic_vector(c_OUT_PORTS-1 downto 0);
+   signal sl_lortnoc_wr   : std_logic_vector(c_OUT_PORTS-1 downto 0);
+   -- 
+   -- Func. Output parameters
+   signal sl_out_port_0   : std_logic_vector(63 downto 0); -- tmp0
+   signal sl_full         : std_logic_vector(c_OUT_FUNC_VAR-1 downto 0);
+   signal sl_write        : std_logic_vector(c_OUT_FUNC_VAR-1 downto 0);
+   signal sl_write_en     : std_logic_vector(c_OUT_FUNC_VAR-1 downto 0);
+   signal sl_write_st     : std_logic_vector(c_OUT_FUNC_VAR-1 downto 0);
+   -- 
+   -- 
+   signal sl_halt             : std_logic;
+   signal sl_halted           : std_logic;
+   signal sl_halt_wr          : std_logic;
+   signal sl_halt_rd          : std_logic;
+   signal sl_param_halt_wr    : std_logic;
+   signal sl_param_halt_rd    : std_logic;
+   signal sl_done_wr          : std_logic;
+   signal sl_done_rd          : std_logic;
+   signal sl_stop_wr          : std_logic;
+   signal sl_stop_rd          : std_logic;
+   signal sl_fire_wr          : std_logic;
+   signal sl_fire_rd          : std_logic;
+   signal sl_sof_wr           : std_logic;
+   signal sl_sof_rd           : std_logic;
+   signal sl_error            : std_logic;
+   signal sl_load_param       : std_logic;
+
+   --  
+   -- Parameter related signals 
+   signal sl_param_fifo_full     : std_logic;
+   signal sl_sync_num            : std_logic_vector(9 downto 0);
+
+   signal sl_RST : std_logic;
+
+begin 
+
+   sl_RST <= RST when RESET_HIGH=1 else not RST;
+      data_in_CLK   <= CLK;
+      ND_2OP_1_CLK  <= CLK;
+
+   --
+   -- ==========================================================
+   -- =       HWN Input related modules                        =
+   -- ==========================================================
+   -- Func. Input param. "tmp1"
+   RD_MUX_0 : READ_MUX
+   generic map (
+      N_PORTS    => 1,
+      PORT_WIDTH => 64
+   )
+   port map (
+      IN_PORTS   => sl_IN_PORTS_0,
+      EXISTS     => sl_EXISTS(0 downto 0),
+      READS      => sl_READS(0 downto 0),
+      SOFS       => sl_CTRLS(0 downto 0),
+
+      OUT_PORT   => sl_in_port_0,
+      EXIST      => sl_exist(0),
+      READ       => sl_read(0),
+      SOF        => sl_sof_rd,
+      CLK        => CLK,
+
+      READ_EN    => sl_read_en(0),
+      READ_ST    => sl_read_st(0),
+      CONTROL    => sl_control_rd(0 downto 0),
+      OBTAIN     => sl_obtain_rd(0 downto 0),
+      RELEASE    => sl_release_rd(0 downto 0)
+   );
+
+   data_in_Rd   <= sl_READS(0);
+
+   sl_IN_PORTS_0 <= data_in_Din;
+
+   sl_EXISTS(0)   <= data_in_Exist ;
+   sl_CTRLS(0)    <= data_in_CTRL ;
+
+   EVAL_RD : param_stream2rtl_EVAL_LOGIC_RD_hwn_nd_2
+   generic map ( 
+      N_IN_PORTS    => c_IN_PORTS,
+      WRAP          => c_WRAP,
+      N_CNTRS       => c_COUNTERS,
+      QUANT         => c_CNTR_QUANT,
+      PAR_BITWIDTH  => c_PAR_BITWIDTH,
+      CNTR_STEP     => c_CNTR_STEPS,
+      CNTR_WIDTH    => c_CNTR_WIDTHS
+   )
+   port map(
+      RST           => sl_RST,
+      CLK           => CLK,
+      REG_CNTRS     => sl_REG_CNTRS_RD,
+      READ_EN       => sl_read_en,
+      READ_ST       => sl_read_st,
+      HALT          => sl_halt_rd,
+      FIRE          => sl_fire_rd,
+      DONE          => sl_done_rd,
+      STOP          => sl_stop_rd,
+      CONTROL       => sl_control_rd,
+      OBTAIN        => sl_obtain_rd,
+      RELEASE       => sl_release_rd
+   );
+
+   --
+   -- ==========================================================
+   -- =       HWN Output related modules                       =
+   -- ==========================================================
+   -- 
+   -- Func. Output param. "tmp0"
+   DEMUX_0 : WRITE_DEMUX
+   generic map (
+      N_PORTS => 1
+   )
+   port map (
+      WRITES   => sl_WRITES(0 downto 0),
+      FULLS    => sl_FULLS(0 downto 0),
+      CONTROL  => sl_lortnoc_wr(0 downto 0),
+      WRITE    => sl_write(0),
+      FULL     => sl_full(0),
+      WRITE_EN => sl_write_en(0),
+      WRITE_ST => sl_write_st(0)
+   );
+   --
+   ND_2OP_1_Dout <= sl_out_port_0;  -- Func. Output param. "tmp0"
+   ND_2OP_1_CTRL <= sl_sof_wr ;
+   ND_2OP_1_Wr   <= sl_WRITES(0);
+   sl_FULLS(0) <= ND_2OP_1_Full;
+   sl_lortnoc_wr(0) <= sl_control_wr(0);
+   --
+   --
+   EVAL_WR : param_stream2rtl_EVAL_LOGIC_WR_hwn_nd_2
+   generic map ( 
+      N_OUT_PORTS   => c_OUT_PORTS,
+      WRAP          => c_WRAP,
+      N_CNTRS       => c_COUNTERS,
+      QUANT         => c_CNTR_QUANT,
+      PAR_BITWIDTH  => c_PAR_BITWIDTH,
+      CNTR_STEP     => c_CNTR_STEPS,
+      CNTR_WIDTH    => c_CNTR_WIDTHS
+   )
+   port map (
+      RST           => sl_RST,
+      CLK           => CLK,
+      WRITE_EN      => sl_write_en,
+      WRITE_ST      => sl_write_st,
+      HALT          => sl_halt_wr,
+      FIRE          => sl_fire_wr,
+      DONE          => sl_done_wr,
+      STOP          => sl_stop_wr,
+      CONTROL       => sl_control_wr
+   );
+
+   --
+   -- ==========================================================
+   -- =       HWN Execution Unit                               =
+   -- ==========================================================
+   EX : param_stream2rtl_EXECUTION_UNIT_hwn_nd_2
+   generic map (
+      N_INPORTS  => c_IN_FUNC_VAR,
+      N_OUTPORTS => c_OUT_FUNC_VAR, 
+      IP_RESET   => c_IP_RESET,
+      QUANT      => QUANT,
+      STIM_DIR   => STIM_DIR,
+      c_STAGES   => c_STAGES,
+      N_CNTRS    => c_COUNTERS,
+      CNTR_QUANT => c_CNTR_QUANT,
+      CNTR_WIDTH => c_CNTR_WIDTHS
+   )
+   port map (
+      RST        => sl_RST,
+      CLK        => CLK,
+      -- Iterators
+      REG_CNTRS_RD => sl_REG_CNTRS_RD,
+      -- Func. Input parameters
+      IN_PORT_0    => sl_in_port_0,
+      READ       => sl_read,
+      EXIST      => sl_exist,
+      -- Func. Output parameters
+      OUT_PORT_0   => sl_out_port_0,
+      WRITE      => sl_write,
+      FULL       => sl_full,
+      --
+      STOP_WR    => sl_stop_wr,
+      STOP_RD    => sl_stop_rd,
+      ERROR      => sl_error
+   );
+
+   -- ==========================================================
+   -- =       PARAMETERIZATION                                 =
+   -- ==========================================================
+   -- no parameters
+   sl_halt_rd <= '0';
+   sl_halt_wr <= '0';
+--   sl_halted  <= sl_sof_rd;
+   STOP <= sl_done_wr;
+   ERROR <= sl_error;
+   BLOCK_RD <= not (  (  sl_READS(0)  ) );
+
+end RTL;
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_2/src/vhdl/param_stream2rtl_hwn_nd_2_eval_logic_rd.vhd b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_2/src/vhdl/param_stream2rtl_hwn_nd_2_eval_logic_rd.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..0c2cbd4381e79fd1f81799ff849b1a2b22e269e2
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_2/src/vhdl/param_stream2rtl_hwn_nd_2_eval_logic_rd.vhd
@@ -0,0 +1,286 @@
+-- File automatically generated by KpnMapper
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library compaandesign_com_common_hwnode_1_lib;
+use compaandesign_com_common_hwnode_1_lib.all;
+library compaandesign_com_common_common_1_lib;
+use compaandesign_com_common_common_1_lib.hw_node_pkg.all;
+
+entity param_stream2rtl_EVAL_LOGIC_RD_hwn_nd_2 is
+   generic (
+      N_IN_PORTS    : natural := 1;
+      WRAP          : boolean := true;
+      N_CNTRS       : natural := 1; 
+      QUANT         : natural := 32;
+      PAR_BITWIDTH  : natural  :=1;
+      CNTR_STEP     : t_counter_step  := ( 0=> 1, 1=> 1, 2=>1, others=> 1 );
+      CNTR_WIDTH    : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 )
+   );
+   port (
+      RST           : in  std_logic;
+      CLK           : in  std_logic;
+      REG_CNTRS     : out std_logic_vector(N_CNTRS*QUANT-1 downto 0);
+      READ_EN       : out std_logic_vector(0 downto 0);
+      READ_ST       : in  std_logic_vector(0 downto 0);
+      HALT          : in  std_logic;
+      FIRE          : out std_logic;
+      DONE          : out std_logic;
+      STOP          : out std_logic;
+      CONTROL       : out std_logic_vector(N_IN_PORTS-1 downto 0);
+      OBTAIN        : out std_logic_vector(N_IN_PORTS-1 downto 0);
+      RELEASE       : out std_logic_vector(N_IN_PORTS-1 downto 0)
+   );
+end param_stream2rtl_EVAL_LOGIC_RD_hwn_nd_2;
+
+architecture RTL of param_stream2rtl_EVAL_LOGIC_RD_hwn_nd_2 is
+   -- 
+   component counter is 
+      generic( 
+         C_STEP    : natural := 10; 
+         C_WIDTH   : natural := 10 
+      ); 
+      port ( 
+         RST       : in  std_logic; 
+         CLK       : in  std_logic; 
+         ENABLE    : in  std_logic; 
+         LOAD      : in  std_logic; 
+         LOWER_BND : in  std_logic_vector(C_WIDTH-1 downto 0); 
+         UPPER_BND : in  std_logic_vector(C_WIDTH-1 downto 0); 
+         ITERATOR  : out std_logic_vector(C_WIDTH-1 downto 0); 
+         REG_CNTR  : out std_logic_vector(C_WIDTH-1 downto 0); 
+         DONE      : out std_logic 
+      ); 
+   end component; 
+   -- 
+   component it_mod is 
+   generic( 
+      C_MOD     : natural := 10; 
+      C_WIDTH   : natural := 10; 
+      C_INIT    : natural :=  1; 
+      C_STEP    : natural :=  1  
+   ); 
+   port ( 
+      RST       : in  std_logic; 
+      CLK       : in  std_logic; 
+      LOAD      : in  std_logic; 
+      ENABLE    : in  std_logic; 
+      MODULE    : out std_logic_vector(C_WIDTH-1 downto 0) 
+   ); 
+   end component; 
+   -- 
+   --  
+   -- Parameter related signals 
+   -- 
+   -- Iterator (counter) related signals 
+   signal sl_low_i, sl_high_i : integer;
+   signal sl_loop_i, sl_loop_i_rg : integer;
+   signal sl_lower_bnd, sl_upper_bnd : std_logic_vector(N_CNTRS*QUANT-1 downto 0); 
+   signal sl_iterators, sl_reg_cntrs : std_logic_vector(N_CNTRS*QUANT-1 downto 0); 
+   -- 
+   signal sl_cntr_en  : std_logic_vector(N_CNTRS   downto 0); 
+   signal sl_done     : std_logic_vector(N_CNTRS-1 downto 0); 
+   signal sl_done_all : std_logic; 
+   signal sl_load     : std_logic_vector(N_CNTRS-1 downto 0); 
+   signal sl_stop     : std_logic; 
+   signal sl_fire     : std_logic; 
+   signal sl_sof      : std_logic; 
+   signal sl_eof      : std_logic; 
+   signal sl_count    : std_logic; 
+
+   -- alias signals 
+   alias update_i : std_logic is sl_cntr_en(0);
+   alias load_i : std_logic is sl_load(0);
+
+   -- Trigger signals 
+   signal sl_trigger_i : std_logic;
+
+   -- Special Control signal
+   signal sl_CONTROL       : std_logic_vector(N_IN_PORTS-1 downto 0);
+   signal sl_no_request    : std_logic;
+   -- 
+   -- Multirate related signals
+   signal sl_bla_en   : std_logic_vector(0 downto 0); 
+   signal sl_mr_en    : std_logic_vector(0 downto 0); 
+   signal sl_mr_done  : std_logic_vector(0 downto 0); 
+   signal sl_mr_lock  : std_logic_vector(0 downto 0); 
+   signal sl_enables  : std_logic_vector(0 downto 0); 
+   signal sl_enable   : std_logic; 
+   signal ENABLE      : std_logic; 
+   -- Function input parameter "data_in[i]", multirate=1 
+   constant sl_mr_lbnd_0 : std_logic_vector(0 downto 0) := STD_LOGIC_VECTOR(TO_UNSIGNED(0,1)); 
+   constant sl_mr_ubnd_0 : std_logic_vector(0 downto 0) := STD_LOGIC_VECTOR(TO_UNSIGNED(0,1)); 
+
+   signal e0, e1 : boolean;
+
+   signal sl_obtain0  : std_logic;
+   signal sl_release0 : std_logic;
+
+   -- define control variables 
+
+   type state_type is (s_idle, s_halt, s_count, s_release);
+   signal state : state_type;
+   signal halt_cnt : integer;
+   signal sl_halt : std_logic;
+
+   signal sl_cnt_rst : std_logic;
+   signal cnt_rst : std_logic;
+
+begin
+
+   -- =============================================
+   -- =             MOD Functions                  
+   -- =============================================
+   -- END of MOD definitions 
+   -- =============================================
+   -- =             Parameter Functions            
+   -- =============================================
+   sl_cnt_rst <= '0';
+   sl_halt <= HALT;
+
+   -- END of Parameter definitions 
+   sl_loop_i    <= TO_INTEGER(SIGNED(sl_iterators(CNTR_WIDTH(0)+0*QUANT-1 downto 0*QUANT)));
+   sl_loop_i_rg <= TO_INTEGER(SIGNED(sl_reg_cntrs(CNTR_WIDTH(0)+0*QUANT-1 downto 0*QUANT)));
+
+   -- Const bounds for-loops 
+   sl_low_i  <= 0;
+   sl_high_i <= 9;
+
+
+   load_i <= '0';
+
+   sl_lower_bnd(1*QUANT-1 downto 0*QUANT) <= STD_LOGIC_VECTOR(TO_UNSIGNED(sl_low_i,QUANT));
+
+   sl_upper_bnd(1*QUANT-1 downto 0*QUANT) <= STD_LOGIC_VECTOR(TO_UNSIGNED(sl_high_i,QUANT));
+   -- Special definitions 
+
+   -- Entity and control variables
+   -- Release matrix expressions
+   e0 <= sl_loop_i_rg>=0;
+   e1 <= -sl_loop_i_rg + 9>=0;
+
+   sl_fire <= ('1');
+
+   -- Convert FIFO Read Port in_1 : EXTERNAL
+   sl_obtain0 <= ('1');  -- set obtain/release to const value; not used
+   sl_release0 <= ('1');
+
+   sl_CONTROL(0) <= sl_fire and b2std((e0 and e1));
+   OBTAIN(0) <= sl_obtain0;
+   RELEASE(0) <= sl_release0;
+
+   FIRE <= sl_fire;
+
+   cnt_rst <= sl_cnt_rst or RST;
+
+   -- 
+   -- =============================================
+   -- =             Multirate                      
+   -- =============================================
+   -- Function input parameter "data_in[i]", multirate=1 
+   CNTR_MR0 : counter 
+      generic map ( 
+         C_STEP    => 1,
+         C_WIDTH   => 1
+      )
+      port map (
+         CLK       => CLK,
+         RST       => RST,
+         ENABLE    => sl_mr_en(0),
+         LOAD      => '0',
+         LOWER_BND => sl_mr_lbnd_0,
+         UPPER_BND => sl_mr_ubnd_0,
+         ITERATOR  => open,
+         REG_CNTR  => open,
+         DONE      => sl_mr_done(0)
+      );
+   -- READ_EN indicates if READ_MUX can read data
+   sl_bla_en   <= (others=>'1') when ((sl_stop='0') and (sl_fire='1')) else (others=>'0');  
+   READ_EN     <= (others=>'0') when (HALT='1') else sl_bla_en;  
+   sl_mr_en   <= READ_ST; 
+   sl_enables <= sl_mr_lock or (sl_mr_done and sl_mr_en); 
+   sl_enable  <= '1' when (sl_enables=(sl_enables'range=>'1')) else '0'; -- and_reduce 
+   ENABLE     <=  sl_enable or (not sl_fire);
+   -- 
+   LOCK_PRCS: process(CLK) 
+   begin 
+       if rising_edge(CLK) then 
+           if( RST = '1' ) then 
+               sl_mr_lock <= (others=>'0'); 
+           else  
+               if (ENABLE='1') then 
+                   sl_mr_lock <= (others=>'0'); 
+               else 
+                   for i in 0 to 0 loop 
+                       if (sl_mr_done(i)='1' and sl_mr_en(i)='1') then 
+                           sl_mr_lock(i) <= '1'; 
+                       end if; 
+                   end loop; 
+               end if; 
+           end if; 
+       end if; 
+   end process; 
+   -- END of Multirate definitions 
+   -- 
+   -- =============================================
+   -- =             Iterators                      
+   -- =============================================
+   GEN_CNTR_RD : for i in 0 to N_CNTRS-1 generate
+   	CNTR_RD : counter
+   	generic map ( 
+   		C_STEP    => CNTR_STEP(i),
+   		C_WIDTH   => CNTR_WIDTH(i)
+   	)
+  	 port map (
+   		CLK       => CLK,
+   		RST       => cnt_rst,
+   		ENABLE    => sl_cntr_en(i),
+			LOAD      => sl_load(i),
+   		LOWER_BND => sl_lower_bnd(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		UPPER_BND => sl_upper_bnd(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		ITERATOR  => sl_iterators(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		REG_CNTR  => sl_reg_cntrs(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		DONE      => sl_done(i)
+   	);
+   end generate;
+   --
+   DONE_PRCS: process(CLK)
+   begin
+   	if rising_edge(CLK) then
+          if( RST = '1' ) then
+   		    sl_stop     <= '0';
+   		    sl_done_all <= '0';
+   		    sl_sof      <= '1';
+   	    else 
+   		    if (sl_cntr_en(N_CNTRS)='1' and (WRAP=false or sl_halt='1')) then
+   			    sl_stop <= '1';
+   		    elsif (WRAP=true) then
+   			    sl_stop <= '0';
+   		    end if;
+   		    if (sl_stop='0') then
+   			    sl_done_all <= sl_cntr_en(N_CNTRS);
+   		    end if;
+   		    if (ENABLE='1') then
+   			    sl_sof <= sl_eof;
+   		    end if;
+   	    end if;
+   	end if;
+   end process;
+   --
+   sl_no_request <= '0' when (sl_CONTROL=(sl_CONTROL'range =>'0') and sl_halt='0') else '1';
+   CONTROL <= sl_CONTROL;
+   --
+   REG_CNTRS <= sl_reg_cntrs; 
+   DONE <= sl_done_all;     -- '1' in the clock cycle when the counters roll over (from the last point in the space to the firts pont)
+   STOP <= sl_stop;         -- '1' = The couter stoped after the end of the itteration space. 
+   --
+   sl_count      <=  '0' when (sl_stop='1') else
+                     '1' when (((sl_fire='0') or (ENABLE='1') or (sl_no_request='0'))) else '0';
+   sl_cntr_en(0) <=  sl_count; -- makes the EVAL_LOGIC count
+   --
+   sl_cntr_en(N_CNTRS  downto 1) <= sl_cntr_en(N_CNTRS-1  downto 0) and sl_done(N_CNTRS-1  downto 0);
+   sl_eof <= sl_cntr_en(N_CNTRS);   -- End-of-frame
+   --
+end RTL;
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_2/src/vhdl/param_stream2rtl_hwn_nd_2_eval_logic_wr.vhd b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_2/src/vhdl/param_stream2rtl_hwn_nd_2_eval_logic_wr.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..4e1d43f013babacda8ee760c60981544a747f661
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_2/src/vhdl/param_stream2rtl_hwn_nd_2_eval_logic_wr.vhd
@@ -0,0 +1,273 @@
+-- File automatically generated by KpnMapper
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library compaandesign_com_common_hwnode_1_lib;
+use compaandesign_com_common_hwnode_1_lib.all;
+library compaandesign_com_common_common_1_lib;
+use compaandesign_com_common_common_1_lib.hw_node_pkg.all;
+
+entity param_stream2rtl_EVAL_LOGIC_WR_hwn_nd_2 is
+   generic ( 
+      N_OUT_PORTS   : natural := 1;
+      WRAP          : boolean := true;
+      N_CNTRS       : natural := 1;
+      QUANT         : natural := 32;
+      PAR_BITWIDTH  : natural :=1;
+      CNTR_STEP     : t_counter_step  := ( 0=> 1, 1=> 1, 2=>1, others=> 1 );
+      CNTR_WIDTH    : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 )
+   );
+   port (
+      RST           : in  std_logic;
+      CLK           : in  std_logic;
+      WRITE_EN      : out std_logic_vector(0 downto 0);
+      WRITE_ST      : in  std_logic_vector(0 downto 0);
+      HALT          : in  std_logic;
+      FIRE          : out std_logic;
+      DONE          : out std_logic;
+      STOP          : out std_logic;
+      CONTROL       : out std_logic_vector(N_OUT_PORTS-1 downto 0)
+   );
+end param_stream2rtl_EVAL_LOGIC_WR_hwn_nd_2;
+
+architecture RTL of param_stream2rtl_EVAL_LOGIC_WR_hwn_nd_2 is	
+   -- 
+   component counter is 
+      generic( 
+         C_STEP    : natural := 10; 
+         C_WIDTH   : natural := 10 
+      ); 
+      port ( 
+         RST       : in  std_logic; 
+         CLK       : in  std_logic; 
+         ENABLE    : in  std_logic; 
+         LOAD      : in  std_logic; 
+         LOWER_BND : in  std_logic_vector(C_WIDTH-1 downto 0); 
+         UPPER_BND : in  std_logic_vector(C_WIDTH-1 downto 0); 
+         ITERATOR  : out std_logic_vector(C_WIDTH-1 downto 0); 
+         REG_CNTR  : out std_logic_vector(C_WIDTH-1 downto 0); 
+         DONE      : out std_logic 
+      ); 
+   end component; 
+   -- 
+   component it_mod is 
+   generic( 
+      C_MOD     : natural := 10; 
+      C_WIDTH   : natural := 10; 
+      C_INIT    : natural :=  1; 
+      C_STEP    : natural :=  1  
+   ); 
+   port ( 
+      RST       : in  std_logic; 
+      CLK       : in  std_logic; 
+      LOAD      : in  std_logic; 
+      ENABLE    : in  std_logic; 
+      MODULE    : out std_logic_vector(C_WIDTH-1 downto 0) 
+   ); 
+   end component; 
+   -- 
+   -- Multirate related signals
+   signal sl_bla_en   : std_logic_vector(0 downto 0); 
+   signal sl_mr_en    : std_logic_vector(0 downto 0); 
+   signal sl_mr_done  : std_logic_vector(0 downto 0); 
+   signal sl_mr_lock  : std_logic_vector(0 downto 0); 
+   signal sl_enables  : std_logic_vector(0 downto 0); 
+   signal sl_enable   : std_logic; 
+   signal ENABLE      : std_logic; 
+   -- Function output parameter "out_0", multirate=1 
+   constant sl_mr_lbnd_0 : std_logic_vector(0 downto 0) := STD_LOGIC_VECTOR(TO_UNSIGNED(0,1)); 
+   constant sl_mr_ubnd_0 : std_logic_vector(0 downto 0) := STD_LOGIC_VECTOR(TO_UNSIGNED(0,1)); 
+   --  
+   -- Parameter related signals 
+   --  
+   -- Iterator (counter) related signals 
+   signal sl_low_i, sl_high_i : integer; 
+   signal sl_loop_i, sl_loop_i_rg : integer;
+   signal sl_lower_bnd, sl_upper_bnd : std_logic_vector(N_CNTRS*QUANT-1 downto 0); 
+   signal sl_iterators, sl_reg_cntrs : std_logic_vector(N_CNTRS*QUANT-1 downto 0); 
+   -- 
+   signal sl_cntr_en  : std_logic_vector(N_CNTRS   downto 0); 
+   signal sl_done     : std_logic_vector(N_CNTRS-1 downto 0); 
+   signal sl_done_all : std_logic; 
+   signal sl_load     : std_logic_vector(N_CNTRS-1 downto 0); 
+   signal sl_stop     : std_logic; 
+   signal sl_fire     : std_logic; 
+   signal sl_eof      : std_logic; 
+   signal sl_sof      : std_logic; 
+   signal sl_count    : std_logic; 
+   -- 
+   -- Special Control signal
+   signal sl_CONTROL       : std_logic_vector(N_OUT_PORTS-1 downto 0);
+   signal sl_no_request    : std_logic;
+   -- 
+   -- alias signals 
+   alias update_i : std_logic is sl_cntr_en(0);
+   -- 
+   alias load_i : std_logic is sl_load(0);
+   -- Trigger signals 
+   signal sl_trigger_i : std_logic;
+
+
+   -- define control variables 
+   -- MOD related signals 
+
+
+   type state_type is (s_idle, s_halt, s_count, s_release);
+   signal state : state_type;
+   signal halt_cnt : integer;
+   signal sl_halt : std_logic;
+
+   signal sl_cnt_rst : std_logic;
+   signal cnt_rst : std_logic;
+
+begin
+
+   -- =============================================
+   -- =             MOD Functions                  
+   -- =============================================
+   -- END of MOD definitions 
+   --  
+   -- Parameter related signal assignments 
+   sl_cnt_rst <= '0';
+   sl_halt <= HALT;
+   -- END of Parameter definitions 
+
+   sl_loop_i    <= TO_INTEGER(SIGNED( sl_iterators(CNTR_WIDTH(0)+0*QUANT-1 downto 0*QUANT)));
+   sl_loop_i_rg <= TO_INTEGER(SIGNED( sl_reg_cntrs(CNTR_WIDTH(0)+0*QUANT-1 downto 0*QUANT)));
+
+   -- Const bounds for-loops 
+   sl_low_i  <= 0;
+   sl_high_i <= 9;
+
+
+   load_i <= '0';
+
+   sl_lower_bnd(1*QUANT-1 downto 0*QUANT) <= STD_LOGIC_VECTOR(TO_UNSIGNED(sl_low_i,QUANT));
+
+   sl_upper_bnd(1*QUANT-1 downto 0*QUANT) <= STD_LOGIC_VECTOR(TO_UNSIGNED(sl_high_i,QUANT));
+
+   -- Special definitions 
+
+   -- Entity and control variables
+
+   sl_fire <= ('1');
+
+   -- Convert FIFO Write Port out_1 : ED_1
+   sl_CONTROL(0) <= sl_fire and ('1');
+
+   FIRE <= sl_fire;
+
+   cnt_rst <= sl_cnt_rst or RST;
+
+   -- 
+   -- =============================================
+   -- =             Multirate                      
+   -- =============================================
+   -- Function output parameter "out_0", multirate=1 
+   CNTR_MR0 : counter 
+      generic map ( 
+         C_STEP    => 1,
+         C_WIDTH   => 1
+      )
+      port map (
+         CLK       => CLK,
+         RST       => RST,
+         ENABLE    => sl_mr_en(0),
+         LOAD      => '0',
+         LOWER_BND => sl_mr_lbnd_0,
+         UPPER_BND => sl_mr_ubnd_0,
+         ITERATOR  => open,
+         REG_CNTR  => open,
+         DONE      => sl_mr_done(0)
+      );
+   -- 
+   -- WRITE_EN indicates if date can be written to WRITE_MUX
+   sl_bla_en      <= (not sl_mr_lock) when ((sl_stop='0') and (sl_fire='1')) else (others=>'0');
+   WRITE_EN    <=  (others=>'0') when (HALT='1') else sl_bla_en;
+   -- 
+   sl_mr_en    <= (not sl_mr_lock) and WRITE_ST; 
+   sl_enables  <= sl_mr_lock or (sl_mr_done and sl_mr_en); 
+   sl_enable   <= '1' when ( sl_enables=(sl_enables'range=>'1') ) else '0';  -- and_reduce 
+   ENABLE      <= sl_enable or (not sl_fire);
+   -- 
+   LOCK_PRCS: process(CLK) 
+   begin 
+       if rising_edge(CLK) then 
+           if( RST = '1' ) then 
+               sl_mr_lock <= (others=>'0'); 
+           else  
+               if (ENABLE='1') then 
+                   sl_mr_lock <= (others=>'0'); 
+               else 
+                   for i in 0 to 0 loop 
+                       if (sl_mr_done(i)='1' and sl_mr_en(i)='1') then 
+                           sl_mr_lock(i) <= '1'; 
+                       end if; 
+                   end loop; 
+               end if; 
+           end if; 
+       end if; 
+   end process; 
+   -- END of Multirate definitions 
+   -- 
+   -- =============================================
+   -- =             Iterators                      
+   -- =============================================
+   GEN_CNTR_WR : for i in 0 to N_CNTRS-1 generate
+   	CNTR_WR : counter
+   	generic map ( 
+   		C_STEP    => CNTR_STEP(i),
+   		C_WIDTH   => CNTR_WIDTH(i)
+   	)
+  	 port map (
+   		CLK       => CLK,
+   		RST       => cnt_rst,
+   		ENABLE    => sl_cntr_en(i),
+   		LOAD      => sl_load(i),
+   		LOWER_BND => sl_lower_bnd(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		UPPER_BND => sl_upper_bnd(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		ITERATOR  => sl_iterators(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		REG_CNTR  => sl_reg_cntrs(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		DONE      => sl_done(i)
+   	);
+   end generate;
+   --
+   DONE_PRCS: process(CLK)
+   begin
+   	if rising_edge(CLK) then
+   	    if( RST = '1' ) then
+   		    sl_stop     <= '0';
+   		    sl_done_all <= '0';
+   		    sl_sof      <= '1';
+   	    else 
+   		    if (sl_cntr_en(N_CNTRS)='1' and (WRAP=false or sl_halt='1')) then
+   			    sl_stop <= '1';
+   		    elsif (WRAP=true) then
+   			    sl_stop <= '0';
+   		    end if;
+   		    if (sl_stop='0') then
+   			    sl_done_all <= sl_cntr_en(N_CNTRS);
+   		    end if;
+   		    if (ENABLE='1') then
+   			    sl_sof <= sl_eof;
+   		    end if;
+   	    end if;
+   	end if;
+   end process;
+   --
+   sl_no_request <= '0' when (sl_CONTROL=(sl_CONTROL'range =>'0') and sl_halt='0') else '1';
+   CONTROL <= sl_CONTROL;
+   --
+   DONE <= sl_done_all;     -- '1' in the clock cycle when the counters roll over (from the last point in the space to the firts pont)
+   STOP <= sl_stop;         -- '1' = The couter stoped after the end of the itteration space. 
+   --
+   sl_count      <=  '0' when (sl_stop='1') else
+   			'1' when (((sl_fire='0') or (ENABLE='1'))) else '0';
+   sl_cntr_en(0) <=  sl_count; -- makes the EVAL_LOGIC count
+   --
+   sl_cntr_en(N_CNTRS  downto 1) <= sl_cntr_en(N_CNTRS-1  downto 0) and sl_done(N_CNTRS-1  downto 0);
+   sl_eof <= sl_cntr_en(N_CNTRS);      -- End-of-frame (combinatorial; beter not use it outside)
+   --
+end RTL;
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_2/src/vhdl/param_stream2rtl_hwn_nd_2_execution_unit.vhd b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_2/src/vhdl/param_stream2rtl_hwn_nd_2_execution_unit.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..49073ba4474398770a88c8572c697db73cd483a1
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_2/src/vhdl/param_stream2rtl_hwn_nd_2_execution_unit.vhd
@@ -0,0 +1,109 @@
+-- Execute Unit automatically generated by KpnMapper
+-- Function "compaan_outlinedproc0"
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library compaandesign_com_common_common_1_lib;
+use compaandesign_com_common_common_1_lib.hw_node_pkg.all;
+
+library compaandesign_com_param_stream2rtl_functions_1_lib;
+use compaandesign_com_param_stream2rtl_functions_1_lib.all;
+
+entity param_stream2rtl_EXECUTION_UNIT_hwn_nd_2 is
+   generic (
+      N_INPORTS  : natural := 1;
+      N_OUTPORTS : natural := 1;
+      IP_RESET   : natural := 1; 
+      STIM_DIR   : string  := "bla";
+      QUANT      : natural := 32;
+      c_STAGES   : natural := 1;
+      N_CNTRS    : natural := 1; 
+      CNTR_QUANT : natural := 32; 
+      CNTR_WIDTH : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 ) 
+   );
+   port (
+      RST        : in  std_logic;
+      CLK        : in  std_logic;
+      -- Funtion Input parameters
+      IN_PORT_0    : in  std_logic_vector(63 downto 0);  -- Param. "tmp1"
+      READ       : out std_logic_vector(N_INPORTS-1 downto 0);
+      EXIST      : in  std_logic_vector(N_INPORTS-1 downto 0);
+      -- Iterators
+      REG_CNTRS_RD : in  std_logic_vector(N_CNTRS*CNTR_QUANT-1 downto 0);
+      -- Funtion Output parameters
+      OUT_PORT_0   : out std_logic_vector(63 downto 0);  -- Param. "tmp0"
+      WRITE      : out std_logic_vector(N_OUTPORTS-1 downto 0);
+      FULL       : in  std_logic_vector(N_OUTPORTS-1 downto 0);
+      STOP_RD    : in  std_logic;
+      STOP_WR    : in  std_logic;
+      ERROR      : out std_logic
+   );
+end param_stream2rtl_EXECUTION_UNIT_hwn_nd_2 ;
+
+-- Laura implementation
+architecture Laura of param_stream2rtl_EXECUTION_UNIT_hwn_nd_2 is
+
+   component compaan_outlinedproc0 is
+      generic (
+         STIM_DIR   : string  := "bla";
+         c_STAGES   : natural := 1;
+         N_CNTRS    : natural := 1; 
+         CNTR_QUANT : natural := 32; 
+         CNTR_WIDTH : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 ) 
+      );
+      port (
+         RST   : in std_logic;
+         CLK   : in std_logic;
+         -- Inputs 
+         ip_tmp1  : in  std_logic_vector(63 downto 0);  
+         -- Iterators 
+         it_i : in  std_logic_vector(CNTR_WIDTH(0)-1 downto 0);
+         EXIST : in  std_logic_vector(0 downto 0);
+         READF : out std_logic_vector(0 downto 0);
+         -- Outputs 
+         op_tmp0 : out std_logic_vector(63 downto 0);
+         FULL  : in  std_logic_vector(0 downto 0);
+         WRITEF: out std_logic_vector(0 downto 0);
+         --
+         STOP_RD : in  std_logic;
+         STOP_WR : in  std_logic;
+         ERROR   : out std_logic
+      );
+   end component;
+
+   signal sl_RST : std_logic;
+
+begin
+
+   sl_RST <= RST when IP_RESET=1 else not RST;
+
+   FUNC : compaan_outlinedproc0
+   generic map (
+         STIM_DIR      => STIM_DIR,
+         c_STAGES      => c_STAGES,
+         N_CNTRS       => N_CNTRS,
+         CNTR_QUANT    => CNTR_QUANT,
+         CNTR_WIDTH    => CNTR_WIDTH
+   )
+   port map (
+      RST   => sl_RST,
+      CLK   => CLK,
+      -- Inputs 
+      ip_tmp1 => IN_PORT_0,
+      -- Iterators 
+      it_i => REG_CNTRS_RD(0*CNTR_QUANT+CNTR_WIDTH(0)-1 downto 0*CNTR_QUANT),
+      EXIST => EXIST,
+      READF => READ,
+      -- Outputs 
+      op_tmp0 => OUT_PORT_0,
+      FULL  => FULL,
+      WRITEF=> WRITE,
+      -- 
+      STOP_RD => STOP_RD,
+      STOP_WR => STOP_WR,
+      ERROR   => ERROR
+   );
+
+end Laura;
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_3/hdllib.cfg b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_3/hdllib.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..4438be39e0666307ef697a14a69d7c4c22c110a0
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_3/hdllib.cfg
@@ -0,0 +1,18 @@
+hdl_lib_name = compaandesign_com_param_stream2rtl_hwn_nd_3_1
+hdl_library_clause_name = compaandesign_com_param_stream2rtl_hwn_nd_3_1_lib
+hdl_lib_uses_synth = compaandesign_com_param_stream2rtl_functions_1 compaandesign_com_common_hwnode_1 compaandesign_com_common_common_1 compaandesign_com_common_extern_connector_1 
+hdl_lib_technology = ip_stratixiv
+
+build_dir_sim = $HDL_BUILD_DIR
+build_dir_synth = $HDL_BUILD_DIR
+
+# Specify here all the files you want to be included in the library.
+synth_files =
+	src/vhdl/param_stream2rtl_hwn_nd_3_execution_unit.vhd
+	src/vhdl/param_stream2rtl_hwn_nd_3_eval_logic_rd.vhd
+	src/vhdl/param_stream2rtl_hwn_nd_3_eval_logic_wr.vhd
+	src/vhdl/param_stream2rtl_hwn_nd_3.vhd
+
+test_bench_files =
+
+modelsim_copy_files =
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_3/src/vhdl/param_stream2rtl_hwn_nd_3.vhd b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_3/src/vhdl/param_stream2rtl_hwn_nd_3.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..a7d055704a352dede507cf9276413c4d8aba380d
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_3/src/vhdl/param_stream2rtl_hwn_nd_3.vhd
@@ -0,0 +1,469 @@
+-- HWN Entity File automatically generated by KpnMapper (writeHdlHWNodeFile)
+-- Top level file for a Hardware Accelerator
+-- Function "transformer"
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library compaandesign_com_common_common_1_lib;
+use compaandesign_com_common_common_1_lib.hw_node_pkg.all;
+
+library compaandesign_com_common_hwnode_1_lib;
+use compaandesign_com_common_hwnode_1_lib.all;
+
+library compaandesign_com_common_extern_connector_1_lib;
+use compaandesign_com_common_extern_connector_1_lib.all;
+
+entity param_stream2rtl_hwn_nd_3 is
+   generic (
+      STIM_DIR   : string  := "bla";
+      RESET_HIGH : natural := 1;
+      PAR_WIDTH  : natural := 16;
+      QUANT      : natural := 32;
+      WRAP       : boolean := true
+   );
+   port (
+      --  Non Syncronized Parameters
+      rf_brightness     : in   std_logic_vector( 32-1 downto 0); -- input 
+
+      -- Dataflow input interfaces
+      -- ED_1 : in_0
+      ND_3IP_1_Rd    : out std_logic;
+      ND_3IP_1_Din   : in  std_logic_vector(63 downto 0);
+      ND_3IP_1_Exist : in  std_logic; 
+      ND_3IP_1_CLK   : out std_logic;
+      ND_3IP_1_CTRL  : in  std_logic;
+
+      -- Dataflow Control Input interfaces
+      -- Dataflow output interfaces
+      -- ED_2 : out_0
+      ND_3OP_1_Wr   : out std_logic;
+      ND_3OP_1_Dout : out std_logic_vector(63 downto 0);
+      ND_3OP_1_Full : in  std_logic;
+      ND_3OP_1_CLK  : out std_logic;
+      ND_3OP_1_CTRL : out std_logic;
+
+      PARAM_DT : in  std_logic_vector(PAR_WIDTH+10-1 downto 0);
+      PARAM_LD : in  std_logic;
+
+      RST      : in  std_logic;
+      CLK      : in  std_logic;
+      STOP     : out std_logic;
+      ERROR    : out std_logic;
+      BLOCK_RD : out std_logic
+   );
+end param_stream2rtl_hwn_nd_3;
+
+architecture RTL of param_stream2rtl_hwn_nd_3 is
+   --
+   -- ====================================
+   -- =     Constants declaration        =
+   -- ====================================
+   -- Setting the parameters of the HW Node
+   constant c_IN_PORTS     : natural := 1; -- number of input ports of a HW node
+   constant c_OUT_PORTS    : natural := 1; -- number of output ports of a HW node
+   constant c_IN_FUNC_VAR  : natural := 1; -- number of input ports of a HW IP
+   constant c_OUT_FUNC_VAR : natural := 1; -- number of output ports of a HW IP
+   constant c_COUNTERS     : natural := 1; -- number of iterators
+   -- ===========================================
+   -- = Iterators run from Inner to Outer loop  =
+   -- ===========================================
+   constant c_CNTR_QUANT   : natural := 5;
+   constant c_CNTR_STEPS   : t_counter_step  := ( 0=>1, others=>1 );
+   constant c_CNTR_WIDTHS  : t_counter_width := ( 0=>5, others=>10 );
+   constant c_STAGES       : natural := 1; -- number of pipeline stages or delay
+   constant c_IP_RESET     : natural := 1; -- active level of the HW IP reset signal
+   constant c_WRAP         : boolean := WRAP; -- Operation mode: Single_Shot (false) or Continuous (true)
+   constant c_EXT_PAR      : natural := 0; -- number of external parameters
+   constant c_INT_PAR      : natural := 0; -- number of internal parameters
+   constant c_N_PAR        : natural := 0; -- no parameters are used
+   constant c_PAR_BITWIDTH : natural := PAR_WIDTH; -- aggregate bitwidth of the parameter vector
+   constant c_PAR_VECTOR   : t_par_vector:= ( -- (Lower Bound, Upper Bound, Default Value, Bitwidth)
+       (0,0,0,0), (0,0,0,0)    -- two dummy elements
+   );
+   --
+   -- ====================================
+   -- =     Components declaration       =
+   -- ====================================
+   component param_stream2rtl_EVAL_LOGIC_RD_hwn_nd_3 is
+      generic (
+         N_IN_PORTS    : natural := 1;
+         WRAP          : boolean := true;
+         N_CNTRS       : natural := 1; 
+         QUANT         : natural := 32;
+         PAR_BITWIDTH  : natural :=1;
+         CNTR_STEP     : t_counter_step  := ( 0=> 1, 1=> 1, 2=>1, others=> 1 );
+         CNTR_WIDTH    : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 )
+      );
+      port (
+         RST           : in  std_logic;
+         CLK           : in  std_logic;
+         REG_CNTRS     : out std_logic_vector(N_CNTRS*QUANT-1  downto 0); 
+         READ_EN       : out std_logic_vector(c_IN_FUNC_VAR-1  downto 0);
+         READ_ST       : in  std_logic_vector(c_IN_FUNC_VAR-1  downto 0);
+         HALT          : in  std_logic;
+         FIRE          : out std_logic;
+         DONE          : out std_logic;
+         STOP          : out std_logic;
+         CONTROL       : out std_logic_vector(N_IN_PORTS-1 downto 0);
+         OBTAIN        : out std_logic_vector(N_IN_PORTS-1 downto 0);
+         RELEASE       : out std_logic_vector(N_IN_PORTS-1 downto 0)
+      );
+   end component;
+
+   component READ_MUX is
+      generic (
+         N_PORTS    : natural := 1;
+         PORT_WIDTH : natural := 32  
+      );
+      port(
+         IN_PORTS   : in  std_logic_vector(N_PORTS*PORT_WIDTH-1 downto 0);
+         EXISTS     : in  std_logic_vector(N_PORTS-1 downto 0);
+         READS      : out std_logic_vector(N_PORTS-1 downto 0);
+         SOFS       : in  std_logic_vector(N_PORTS-1 downto 0);
+
+         OUT_PORT   : out std_logic_vector(PORT_WIDTH-1 downto 0);
+         EXIST      : out std_logic;
+         READ       : in  std_logic;
+         SOF        : in  std_logic;
+		CLK        : in std_logic;
+
+         READ_EN    : in  std_logic;
+         READ_ST    : out std_logic;
+         CONTROL    : in  std_logic_vector(N_PORTS-1 downto 0);
+         OBTAIN     : in  std_logic_vector(N_PORTS-1 downto 0);
+         RELEASE    : in  std_logic_vector(N_PORTS-1 downto 0)
+      );
+   end component;
+
+   component param_stream2rtl_EVAL_LOGIC_WR_hwn_nd_3 is
+      generic ( 
+         N_OUT_PORTS   : natural := 1;
+         WRAP          : boolean := true;
+         N_CNTRS       : natural := 1; 
+         QUANT         : natural := 32;
+         PAR_BITWIDTH  : natural :=1;
+         CNTR_STEP     : t_counter_step  := ( 0=> 1, 1=> 1, 2=>1, others=> 1 );
+         CNTR_WIDTH    : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 )
+      );
+      port (
+         RST           : in  std_logic;
+         CLK           : in  std_logic;
+         WRITE_EN      : out std_logic_vector(c_OUT_FUNC_VAR-1 downto 0);
+         WRITE_ST      : in  std_logic_vector(c_OUT_FUNC_VAR-1 downto 0);
+         HALT          : in  std_logic;
+         FIRE          : out std_logic;
+         DONE          : out std_logic;
+         STOP          : out std_logic;
+         CONTROL       : out std_logic_vector(N_OUT_PORTS-1 downto 0)
+      );
+   end component;
+
+   component WRITE_DEMUX is
+      generic (
+         N_PORTS : natural := 1
+      );
+      port(
+         WRITES   : out std_logic_vector(N_PORTS-1 downto 0);
+         WRITE    : in  std_logic;
+
+         FULLS    : in  std_logic_vector(N_PORTS-1 downto 0);
+         FULL     : out std_logic;
+
+         WRITE_EN : in  std_logic;
+         WRITE_ST : out std_logic;
+         CONTROL  : in  std_logic_vector(N_PORTS-1 downto 0)
+      );
+   end component;
+
+
+   component param_stream2rtl_EXECUTION_UNIT_hwn_nd_3 is
+      generic (
+         N_INPORTS  : natural := 1;
+         N_OUTPORTS : natural := 1;
+         IP_RESET   : natural := 1;
+         QUANT      : natural := 32;
+         STIM_DIR   : string  := "bla";
+         c_STAGES   : natural := 1;
+         N_CNTRS    : natural := 1;
+         CNTR_QUANT : natural := 32;
+         CNTR_WIDTH : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 ) 
+      );
+      port (
+         RST        : in  std_logic;
+         CLK        : in  std_logic;
+
+      --  Non Syncronized Parameters
+      rf_brightness     : in  std_logic_vector( 32-1 downto 0); -- input
+         -- Iterators
+         REG_CNTRS_RD : in  std_logic_vector(N_CNTRS*CNTR_QUANT -1 downto 0);
+         -- Func. Input parameters
+         IN_PORT_0 : in  std_logic_vector(63 downto 0); -- a
+         READ       : out std_logic_vector(N_INPORTS-1 downto 0);
+         EXIST      : in  std_logic_vector(N_INPORTS-1 downto 0);
+         -- Func. Output parameters
+         OUT_PORT_0 : out std_logic_vector(63 downto 0); -- b
+         WRITE      : out std_logic_vector(N_OUTPORTS-1 downto 0);
+         FULL       : in  std_logic_vector(N_OUTPORTS-1 downto 0);
+         --
+         STOP_RD    : in  std_logic;
+         STOP_WR    : in  std_logic;
+         ERROR      : out std_logic
+      );
+   end component;
+
+   component INTERNAL_PARAMETERS is 
+      generic (
+         PAR_BITWIDTH : natural:=1;
+         PAR_VECTOR   : t_par_vector;
+         N_PAR        : natural:=0;
+         START_IN_RUN  : boolean := FALSE
+      );
+      port (  
+         RST        : in  std_logic;
+         CLK        : in  std_logic;
+
+         HALT_RD    : out std_logic;
+         HALT_WR    : out std_logic;
+         SOF_RD     : in  std_logic;
+         SOF_WR     : in  std_logic;
+         LOAD_PARAM : out std_logic;
+
+         par_one_in_Rd    : out std_logic;
+         par_one_in_Din   : in std_logic_vector(32-1 downto 0);
+         par_one_in_Exist : in std_logic;
+         par_one_in_CLK   : out std_logic;
+         par_one_in_CTRL  : in std_logic;
+
+         PARAMETERS_RD : out std_logic_vector(32-1 downto 0);
+         PARAMETERS_WR : out std_logic_vector(32-1 downto 0)
+      );
+   end component;
+
+   --
+   -- ====================================
+   -- =       Signals declaration        =
+   -- ====================================
+   -- 
+   -- HW Node Input Ports
+   signal sl_IN_PORTS_0   : std_logic_vector(1*64-1 downto 0); -- a
+   signal sl_EXISTS       : std_logic_vector(c_IN_PORTS-1 downto 0);
+   signal sl_READS        : std_logic_vector(c_IN_PORTS-1 downto 0);
+   signal sl_CTRLS        : std_logic_vector(c_IN_PORTS-1 downto 0);
+   signal sl_control_rd   : std_logic_vector(c_IN_PORTS-1 downto 0);
+   signal sl_obtain_rd    : std_logic_vector(c_IN_PORTS-1 downto 0);
+   signal sl_release_rd   : std_logic_vector(c_IN_PORTS-1 downto 0);
+   -- 
+   -- Func. Input parameters
+   signal sl_in_port_0    : std_logic_vector(63 downto 0); -- a
+   signal sl_exist        : std_logic_vector(c_IN_FUNC_VAR-1 downto 0);
+   signal sl_read         : std_logic_vector(c_IN_FUNC_VAR-1 downto 0);
+   signal sl_read_en      : std_logic_vector(c_IN_FUNC_VAR-1 downto 0);
+   signal sl_read_st      : std_logic_vector(c_IN_FUNC_VAR-1 downto 0);
+   -- 
+   signal sl_REG_CNTRS_RD : std_logic_vector(c_COUNTERS*c_CNTR_QUANT-1 downto 0);
+   -- 
+   -- HW Node Output Ports
+   signal sl_WRITES       : std_logic_vector(c_OUT_PORTS-1 downto 0);
+   signal sl_FULLS        : std_logic_vector(c_OUT_PORTS-1 downto 0);
+   signal sl_control_wr   : std_logic_vector(c_OUT_PORTS-1 downto 0);
+   signal sl_lortnoc_wr   : std_logic_vector(c_OUT_PORTS-1 downto 0);
+   -- 
+   -- Func. Output parameters
+   signal sl_out_port_0   : std_logic_vector(63 downto 0); -- b
+   signal sl_full         : std_logic_vector(c_OUT_FUNC_VAR-1 downto 0);
+   signal sl_write        : std_logic_vector(c_OUT_FUNC_VAR-1 downto 0);
+   signal sl_write_en     : std_logic_vector(c_OUT_FUNC_VAR-1 downto 0);
+   signal sl_write_st     : std_logic_vector(c_OUT_FUNC_VAR-1 downto 0);
+   -- 
+   -- 
+   signal sl_halt             : std_logic;
+   signal sl_halted           : std_logic;
+   signal sl_halt_wr          : std_logic;
+   signal sl_halt_rd          : std_logic;
+   signal sl_param_halt_wr    : std_logic;
+   signal sl_param_halt_rd    : std_logic;
+   signal sl_done_wr          : std_logic;
+   signal sl_done_rd          : std_logic;
+   signal sl_stop_wr          : std_logic;
+   signal sl_stop_rd          : std_logic;
+   signal sl_fire_wr          : std_logic;
+   signal sl_fire_rd          : std_logic;
+   signal sl_sof_wr           : std_logic;
+   signal sl_sof_rd           : std_logic;
+   signal sl_error            : std_logic;
+   signal sl_load_param       : std_logic;
+
+   --  
+   -- Parameter related signals 
+   signal sl_param_fifo_full     : std_logic;
+   signal sl_sync_num            : std_logic_vector(9 downto 0);
+
+   signal sl_RST : std_logic;
+
+begin 
+
+   sl_RST <= RST when RESET_HIGH=1 else not RST;
+      ND_3IP_1_CLK   <= CLK;
+      ND_3OP_1_CLK  <= CLK;
+
+   --
+   -- ==========================================================
+   -- =       HWN Input related modules                        =
+   -- ==========================================================
+   -- Func. Input param. "a"
+   RD_MUX_0 : READ_MUX
+   generic map (
+      N_PORTS    => 1,
+      PORT_WIDTH => 64
+   )
+   port map (
+      IN_PORTS   => sl_IN_PORTS_0,
+      EXISTS     => sl_EXISTS(0 downto 0),
+      READS      => sl_READS(0 downto 0),
+      SOFS       => sl_CTRLS(0 downto 0),
+
+      OUT_PORT   => sl_in_port_0,
+      EXIST      => sl_exist(0),
+      READ       => sl_read(0),
+      SOF        => sl_sof_rd,
+      CLK        => CLK,
+
+      READ_EN    => sl_read_en(0),
+      READ_ST    => sl_read_st(0),
+      CONTROL    => sl_control_rd(0 downto 0),
+      OBTAIN     => sl_obtain_rd(0 downto 0),
+      RELEASE    => sl_release_rd(0 downto 0)
+   );
+
+   ND_3IP_1_Rd   <= sl_READS(0);
+
+   sl_IN_PORTS_0 <= ND_3IP_1_Din;
+
+   sl_EXISTS(0)   <= ND_3IP_1_Exist ;
+   sl_CTRLS(0)    <= ND_3IP_1_CTRL ;
+
+   EVAL_RD : param_stream2rtl_EVAL_LOGIC_RD_hwn_nd_3
+   generic map ( 
+      N_IN_PORTS    => c_IN_PORTS,
+      WRAP          => c_WRAP,
+      N_CNTRS       => c_COUNTERS,
+      QUANT         => c_CNTR_QUANT,
+      PAR_BITWIDTH  => c_PAR_BITWIDTH,
+      CNTR_STEP     => c_CNTR_STEPS,
+      CNTR_WIDTH    => c_CNTR_WIDTHS
+   )
+   port map(
+      RST           => sl_RST,
+      CLK           => CLK,
+      REG_CNTRS     => sl_REG_CNTRS_RD,
+      READ_EN       => sl_read_en,
+      READ_ST       => sl_read_st,
+      HALT          => sl_halt_rd,
+      FIRE          => sl_fire_rd,
+      DONE          => sl_done_rd,
+      STOP          => sl_stop_rd,
+      CONTROL       => sl_control_rd,
+      OBTAIN        => sl_obtain_rd,
+      RELEASE       => sl_release_rd
+   );
+
+   --
+   -- ==========================================================
+   -- =       HWN Output related modules                       =
+   -- ==========================================================
+   -- 
+   -- Func. Output param. "b"
+   DEMUX_0 : WRITE_DEMUX
+   generic map (
+      N_PORTS => 1
+   )
+   port map (
+      WRITES   => sl_WRITES(0 downto 0),
+      FULLS    => sl_FULLS(0 downto 0),
+      CONTROL  => sl_lortnoc_wr(0 downto 0),
+      WRITE    => sl_write(0),
+      FULL     => sl_full(0),
+      WRITE_EN => sl_write_en(0),
+      WRITE_ST => sl_write_st(0)
+   );
+   --
+   ND_3OP_1_Dout <= sl_out_port_0;  -- Func. Output param. "b"
+   ND_3OP_1_CTRL <= sl_sof_wr ;
+   ND_3OP_1_Wr   <= sl_WRITES(0);
+   sl_FULLS(0) <= ND_3OP_1_Full;
+   sl_lortnoc_wr(0) <= sl_control_wr(0);
+   --
+   --
+   EVAL_WR : param_stream2rtl_EVAL_LOGIC_WR_hwn_nd_3
+   generic map ( 
+      N_OUT_PORTS   => c_OUT_PORTS,
+      WRAP          => c_WRAP,
+      N_CNTRS       => c_COUNTERS,
+      QUANT         => c_CNTR_QUANT,
+      PAR_BITWIDTH  => c_PAR_BITWIDTH,
+      CNTR_STEP     => c_CNTR_STEPS,
+      CNTR_WIDTH    => c_CNTR_WIDTHS
+   )
+   port map (
+      RST           => sl_RST,
+      CLK           => CLK,
+      WRITE_EN      => sl_write_en,
+      WRITE_ST      => sl_write_st,
+      HALT          => sl_halt_wr,
+      FIRE          => sl_fire_wr,
+      DONE          => sl_done_wr,
+      STOP          => sl_stop_wr,
+      CONTROL       => sl_control_wr
+   );
+
+   --
+   -- ==========================================================
+   -- =       HWN Execution Unit                               =
+   -- ==========================================================
+   EX : param_stream2rtl_EXECUTION_UNIT_hwn_nd_3
+   generic map (
+      N_INPORTS  => c_IN_FUNC_VAR,
+      N_OUTPORTS => c_OUT_FUNC_VAR, 
+      IP_RESET   => c_IP_RESET,
+      QUANT      => QUANT,
+      STIM_DIR   => STIM_DIR,
+      c_STAGES   => c_STAGES,
+      N_CNTRS    => c_COUNTERS,
+      CNTR_QUANT => c_CNTR_QUANT,
+      CNTR_WIDTH => c_CNTR_WIDTHS
+   )
+   port map (
+      RST        => sl_RST,
+      CLK        => CLK,
+      -- RegFile
+      rf_brightness     => rf_brightness,
+      -- Iterators
+      REG_CNTRS_RD => sl_REG_CNTRS_RD,
+      -- Func. Input parameters
+      IN_PORT_0    => sl_in_port_0,
+      READ       => sl_read,
+      EXIST      => sl_exist,
+      -- Func. Output parameters
+      OUT_PORT_0   => sl_out_port_0,
+      WRITE      => sl_write,
+      FULL       => sl_full,
+      --
+      STOP_WR    => sl_stop_wr,
+      STOP_RD    => sl_stop_rd,
+      ERROR      => sl_error
+   );
+
+   -- ==========================================================
+   -- =       PARAMETERIZATION                                 =
+   -- ==========================================================
+   -- no parameters
+   sl_halt_rd <= '0';
+   sl_halt_wr <= '0';
+--   sl_halted  <= sl_sof_rd;
+   STOP <= sl_done_wr;
+   ERROR <= sl_error;
+   BLOCK_RD <= not (  (  sl_READS(0)  ) );
+
+end RTL;
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_3/src/vhdl/param_stream2rtl_hwn_nd_3_eval_logic_rd.vhd b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_3/src/vhdl/param_stream2rtl_hwn_nd_3_eval_logic_rd.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..f8ba87e310ff1a1d573f1115c0327970e0add39f
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_3/src/vhdl/param_stream2rtl_hwn_nd_3_eval_logic_rd.vhd
@@ -0,0 +1,283 @@
+-- File automatically generated by KpnMapper
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library compaandesign_com_common_hwnode_1_lib;
+use compaandesign_com_common_hwnode_1_lib.all;
+library compaandesign_com_common_common_1_lib;
+use compaandesign_com_common_common_1_lib.hw_node_pkg.all;
+
+entity param_stream2rtl_EVAL_LOGIC_RD_hwn_nd_3 is
+   generic (
+      N_IN_PORTS    : natural := 1;
+      WRAP          : boolean := true;
+      N_CNTRS       : natural := 1; 
+      QUANT         : natural := 32;
+      PAR_BITWIDTH  : natural  :=1;
+      CNTR_STEP     : t_counter_step  := ( 0=> 1, 1=> 1, 2=>1, others=> 1 );
+      CNTR_WIDTH    : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 )
+   );
+   port (
+      RST           : in  std_logic;
+      CLK           : in  std_logic;
+      REG_CNTRS     : out std_logic_vector(N_CNTRS*QUANT-1 downto 0);
+      READ_EN       : out std_logic_vector(0 downto 0);
+      READ_ST       : in  std_logic_vector(0 downto 0);
+      HALT          : in  std_logic;
+      FIRE          : out std_logic;
+      DONE          : out std_logic;
+      STOP          : out std_logic;
+      CONTROL       : out std_logic_vector(N_IN_PORTS-1 downto 0);
+      OBTAIN        : out std_logic_vector(N_IN_PORTS-1 downto 0);
+      RELEASE       : out std_logic_vector(N_IN_PORTS-1 downto 0)
+   );
+end param_stream2rtl_EVAL_LOGIC_RD_hwn_nd_3;
+
+architecture RTL of param_stream2rtl_EVAL_LOGIC_RD_hwn_nd_3 is
+   -- 
+   component counter is 
+      generic( 
+         C_STEP    : natural := 10; 
+         C_WIDTH   : natural := 10 
+      ); 
+      port ( 
+         RST       : in  std_logic; 
+         CLK       : in  std_logic; 
+         ENABLE    : in  std_logic; 
+         LOAD      : in  std_logic; 
+         LOWER_BND : in  std_logic_vector(C_WIDTH-1 downto 0); 
+         UPPER_BND : in  std_logic_vector(C_WIDTH-1 downto 0); 
+         ITERATOR  : out std_logic_vector(C_WIDTH-1 downto 0); 
+         REG_CNTR  : out std_logic_vector(C_WIDTH-1 downto 0); 
+         DONE      : out std_logic 
+      ); 
+   end component; 
+   -- 
+   component it_mod is 
+   generic( 
+      C_MOD     : natural := 10; 
+      C_WIDTH   : natural := 10; 
+      C_INIT    : natural :=  1; 
+      C_STEP    : natural :=  1  
+   ); 
+   port ( 
+      RST       : in  std_logic; 
+      CLK       : in  std_logic; 
+      LOAD      : in  std_logic; 
+      ENABLE    : in  std_logic; 
+      MODULE    : out std_logic_vector(C_WIDTH-1 downto 0) 
+   ); 
+   end component; 
+   -- 
+   --  
+   -- Parameter related signals 
+   -- 
+   -- Iterator (counter) related signals 
+   signal sl_low_j, sl_high_j : integer;
+   signal sl_loop_j, sl_loop_j_rg : integer;
+   signal sl_lower_bnd, sl_upper_bnd : std_logic_vector(N_CNTRS*QUANT-1 downto 0); 
+   signal sl_iterators, sl_reg_cntrs : std_logic_vector(N_CNTRS*QUANT-1 downto 0); 
+   -- 
+   signal sl_cntr_en  : std_logic_vector(N_CNTRS   downto 0); 
+   signal sl_done     : std_logic_vector(N_CNTRS-1 downto 0); 
+   signal sl_done_all : std_logic; 
+   signal sl_load     : std_logic_vector(N_CNTRS-1 downto 0); 
+   signal sl_stop     : std_logic; 
+   signal sl_fire     : std_logic; 
+   signal sl_sof      : std_logic; 
+   signal sl_eof      : std_logic; 
+   signal sl_count    : std_logic; 
+
+   -- alias signals 
+   alias update_j : std_logic is sl_cntr_en(0);
+   alias load_j : std_logic is sl_load(0);
+
+   -- Trigger signals 
+   signal sl_trigger_j : std_logic;
+
+   -- Special Control signal
+   signal sl_CONTROL       : std_logic_vector(N_IN_PORTS-1 downto 0);
+   signal sl_no_request    : std_logic;
+   -- 
+   -- Multirate related signals
+   signal sl_bla_en   : std_logic_vector(0 downto 0); 
+   signal sl_mr_en    : std_logic_vector(0 downto 0); 
+   signal sl_mr_done  : std_logic_vector(0 downto 0); 
+   signal sl_mr_lock  : std_logic_vector(0 downto 0); 
+   signal sl_enables  : std_logic_vector(0 downto 0); 
+   signal sl_enable   : std_logic; 
+   signal ENABLE      : std_logic; 
+   -- Function input parameter "in_0", multirate=1 
+   constant sl_mr_lbnd_0 : std_logic_vector(0 downto 0) := STD_LOGIC_VECTOR(TO_UNSIGNED(0,1)); 
+   constant sl_mr_ubnd_0 : std_logic_vector(0 downto 0) := STD_LOGIC_VECTOR(TO_UNSIGNED(0,1)); 
+
+
+   signal sl_obtain0  : std_logic;
+   signal sl_release0 : std_logic;
+
+   -- define control variables 
+
+   type state_type is (s_idle, s_halt, s_count, s_release);
+   signal state : state_type;
+   signal halt_cnt : integer;
+   signal sl_halt : std_logic;
+
+   signal sl_cnt_rst : std_logic;
+   signal cnt_rst : std_logic;
+
+begin
+
+   -- =============================================
+   -- =             MOD Functions                  
+   -- =============================================
+   -- END of MOD definitions 
+   -- =============================================
+   -- =             Parameter Functions            
+   -- =============================================
+   sl_cnt_rst <= '0';
+   sl_halt <= HALT;
+
+   -- END of Parameter definitions 
+   sl_loop_j    <= TO_INTEGER(SIGNED(sl_iterators(CNTR_WIDTH(0)+0*QUANT-1 downto 0*QUANT)));
+   sl_loop_j_rg <= TO_INTEGER(SIGNED(sl_reg_cntrs(CNTR_WIDTH(0)+0*QUANT-1 downto 0*QUANT)));
+
+   -- Const bounds for-loops 
+   sl_low_j  <= 0;
+   sl_high_j <= 9;
+
+
+   load_j <= '0';
+
+   sl_lower_bnd(1*QUANT-1 downto 0*QUANT) <= STD_LOGIC_VECTOR(TO_UNSIGNED(sl_low_j,QUANT));
+
+   sl_upper_bnd(1*QUANT-1 downto 0*QUANT) <= STD_LOGIC_VECTOR(TO_UNSIGNED(sl_high_j,QUANT));
+   -- Special definitions 
+
+   -- Entity and control variables
+   -- Release matrix expressions
+
+   sl_fire <= ('1');
+
+   -- Convert FIFO Read Port ND_3IP_1 Argument in_1 : ED_1 : 0 of type IOMM
+   sl_obtain0 <= ('1');  -- set obtain/release to const value; not used
+   sl_release0 <= ('1');
+
+   sl_CONTROL(0) <= sl_fire and ('1');
+   OBTAIN(0) <= sl_obtain0;
+   RELEASE(0) <= sl_release0;
+
+   FIRE <= sl_fire;
+
+   cnt_rst <= sl_cnt_rst or RST;
+
+   -- 
+   -- =============================================
+   -- =             Multirate                      
+   -- =============================================
+   -- Function input parameter "in_0", multirate=1 
+   CNTR_MR0 : counter 
+      generic map ( 
+         C_STEP    => 1,
+         C_WIDTH   => 1
+      )
+      port map (
+         CLK       => CLK,
+         RST       => RST,
+         ENABLE    => sl_mr_en(0),
+         LOAD      => '0',
+         LOWER_BND => sl_mr_lbnd_0,
+         UPPER_BND => sl_mr_ubnd_0,
+         ITERATOR  => open,
+         REG_CNTR  => open,
+         DONE      => sl_mr_done(0)
+      );
+   -- READ_EN indicates if READ_MUX can read data
+   sl_bla_en   <= (others=>'1') when ((sl_stop='0') and (sl_fire='1')) else (others=>'0');  
+   READ_EN     <= (others=>'0') when (HALT='1') else sl_bla_en;  
+   sl_mr_en   <= READ_ST; 
+   sl_enables <= sl_mr_lock or (sl_mr_done and sl_mr_en); 
+   sl_enable  <= '1' when (sl_enables=(sl_enables'range=>'1')) else '0'; -- and_reduce 
+   ENABLE     <=  sl_enable or (not sl_fire);
+   -- 
+   LOCK_PRCS: process(CLK) 
+   begin 
+       if rising_edge(CLK) then 
+           if( RST = '1' ) then 
+               sl_mr_lock <= (others=>'0'); 
+           else  
+               if (ENABLE='1') then 
+                   sl_mr_lock <= (others=>'0'); 
+               else 
+                   for i in 0 to 0 loop 
+                       if (sl_mr_done(i)='1' and sl_mr_en(i)='1') then 
+                           sl_mr_lock(i) <= '1'; 
+                       end if; 
+                   end loop; 
+               end if; 
+           end if; 
+       end if; 
+   end process; 
+   -- END of Multirate definitions 
+   -- 
+   -- =============================================
+   -- =             Iterators                      
+   -- =============================================
+   GEN_CNTR_RD : for i in 0 to N_CNTRS-1 generate
+   	CNTR_RD : counter
+   	generic map ( 
+   		C_STEP    => CNTR_STEP(i),
+   		C_WIDTH   => CNTR_WIDTH(i)
+   	)
+  	 port map (
+   		CLK       => CLK,
+   		RST       => cnt_rst,
+   		ENABLE    => sl_cntr_en(i),
+			LOAD      => sl_load(i),
+   		LOWER_BND => sl_lower_bnd(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		UPPER_BND => sl_upper_bnd(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		ITERATOR  => sl_iterators(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		REG_CNTR  => sl_reg_cntrs(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		DONE      => sl_done(i)
+   	);
+   end generate;
+   --
+   DONE_PRCS: process(CLK)
+   begin
+   	if rising_edge(CLK) then
+          if( RST = '1' ) then
+   		    sl_stop     <= '0';
+   		    sl_done_all <= '0';
+   		    sl_sof      <= '1';
+   	    else 
+   		    if (sl_cntr_en(N_CNTRS)='1' and (WRAP=false or sl_halt='1')) then
+   			    sl_stop <= '1';
+   		    elsif (WRAP=true) then
+   			    sl_stop <= '0';
+   		    end if;
+   		    if (sl_stop='0') then
+   			    sl_done_all <= sl_cntr_en(N_CNTRS);
+   		    end if;
+   		    if (ENABLE='1') then
+   			    sl_sof <= sl_eof;
+   		    end if;
+   	    end if;
+   	end if;
+   end process;
+   --
+   sl_no_request <= '0' when (sl_CONTROL=(sl_CONTROL'range =>'0') and sl_halt='0') else '1';
+   CONTROL <= sl_CONTROL;
+   --
+   REG_CNTRS <= sl_reg_cntrs; 
+   DONE <= sl_done_all;     -- '1' in the clock cycle when the counters roll over (from the last point in the space to the firts pont)
+   STOP <= sl_stop;         -- '1' = The couter stoped after the end of the itteration space. 
+   --
+   sl_count      <=  '0' when (sl_stop='1') else
+                     '1' when (((sl_fire='0') or (ENABLE='1') or (sl_no_request='0'))) else '0';
+   sl_cntr_en(0) <=  sl_count; -- makes the EVAL_LOGIC count
+   --
+   sl_cntr_en(N_CNTRS  downto 1) <= sl_cntr_en(N_CNTRS-1  downto 0) and sl_done(N_CNTRS-1  downto 0);
+   sl_eof <= sl_cntr_en(N_CNTRS);   -- End-of-frame
+   --
+end RTL;
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_3/src/vhdl/param_stream2rtl_hwn_nd_3_eval_logic_wr.vhd b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_3/src/vhdl/param_stream2rtl_hwn_nd_3_eval_logic_wr.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..cd6f2d284e64d0847aa17d708a8a7a4d4a1c0f90
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_3/src/vhdl/param_stream2rtl_hwn_nd_3_eval_logic_wr.vhd
@@ -0,0 +1,273 @@
+-- File automatically generated by KpnMapper
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library compaandesign_com_common_hwnode_1_lib;
+use compaandesign_com_common_hwnode_1_lib.all;
+library compaandesign_com_common_common_1_lib;
+use compaandesign_com_common_common_1_lib.hw_node_pkg.all;
+
+entity param_stream2rtl_EVAL_LOGIC_WR_hwn_nd_3 is
+   generic ( 
+      N_OUT_PORTS   : natural := 1;
+      WRAP          : boolean := true;
+      N_CNTRS       : natural := 1;
+      QUANT         : natural := 32;
+      PAR_BITWIDTH  : natural :=1;
+      CNTR_STEP     : t_counter_step  := ( 0=> 1, 1=> 1, 2=>1, others=> 1 );
+      CNTR_WIDTH    : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 )
+   );
+   port (
+      RST           : in  std_logic;
+      CLK           : in  std_logic;
+      WRITE_EN      : out std_logic_vector(0 downto 0);
+      WRITE_ST      : in  std_logic_vector(0 downto 0);
+      HALT          : in  std_logic;
+      FIRE          : out std_logic;
+      DONE          : out std_logic;
+      STOP          : out std_logic;
+      CONTROL       : out std_logic_vector(N_OUT_PORTS-1 downto 0)
+   );
+end param_stream2rtl_EVAL_LOGIC_WR_hwn_nd_3;
+
+architecture RTL of param_stream2rtl_EVAL_LOGIC_WR_hwn_nd_3 is	
+   -- 
+   component counter is 
+      generic( 
+         C_STEP    : natural := 10; 
+         C_WIDTH   : natural := 10 
+      ); 
+      port ( 
+         RST       : in  std_logic; 
+         CLK       : in  std_logic; 
+         ENABLE    : in  std_logic; 
+         LOAD      : in  std_logic; 
+         LOWER_BND : in  std_logic_vector(C_WIDTH-1 downto 0); 
+         UPPER_BND : in  std_logic_vector(C_WIDTH-1 downto 0); 
+         ITERATOR  : out std_logic_vector(C_WIDTH-1 downto 0); 
+         REG_CNTR  : out std_logic_vector(C_WIDTH-1 downto 0); 
+         DONE      : out std_logic 
+      ); 
+   end component; 
+   -- 
+   component it_mod is 
+   generic( 
+      C_MOD     : natural := 10; 
+      C_WIDTH   : natural := 10; 
+      C_INIT    : natural :=  1; 
+      C_STEP    : natural :=  1  
+   ); 
+   port ( 
+      RST       : in  std_logic; 
+      CLK       : in  std_logic; 
+      LOAD      : in  std_logic; 
+      ENABLE    : in  std_logic; 
+      MODULE    : out std_logic_vector(C_WIDTH-1 downto 0) 
+   ); 
+   end component; 
+   -- 
+   -- Multirate related signals
+   signal sl_bla_en   : std_logic_vector(0 downto 0); 
+   signal sl_mr_en    : std_logic_vector(0 downto 0); 
+   signal sl_mr_done  : std_logic_vector(0 downto 0); 
+   signal sl_mr_lock  : std_logic_vector(0 downto 0); 
+   signal sl_enables  : std_logic_vector(0 downto 0); 
+   signal sl_enable   : std_logic; 
+   signal ENABLE      : std_logic; 
+   -- Function output parameter "out_0", multirate=1 
+   constant sl_mr_lbnd_0 : std_logic_vector(0 downto 0) := STD_LOGIC_VECTOR(TO_UNSIGNED(0,1)); 
+   constant sl_mr_ubnd_0 : std_logic_vector(0 downto 0) := STD_LOGIC_VECTOR(TO_UNSIGNED(0,1)); 
+   --  
+   -- Parameter related signals 
+   --  
+   -- Iterator (counter) related signals 
+   signal sl_low_j, sl_high_j : integer; 
+   signal sl_loop_j, sl_loop_j_rg : integer;
+   signal sl_lower_bnd, sl_upper_bnd : std_logic_vector(N_CNTRS*QUANT-1 downto 0); 
+   signal sl_iterators, sl_reg_cntrs : std_logic_vector(N_CNTRS*QUANT-1 downto 0); 
+   -- 
+   signal sl_cntr_en  : std_logic_vector(N_CNTRS   downto 0); 
+   signal sl_done     : std_logic_vector(N_CNTRS-1 downto 0); 
+   signal sl_done_all : std_logic; 
+   signal sl_load     : std_logic_vector(N_CNTRS-1 downto 0); 
+   signal sl_stop     : std_logic; 
+   signal sl_fire     : std_logic; 
+   signal sl_eof      : std_logic; 
+   signal sl_sof      : std_logic; 
+   signal sl_count    : std_logic; 
+   -- 
+   -- Special Control signal
+   signal sl_CONTROL       : std_logic_vector(N_OUT_PORTS-1 downto 0);
+   signal sl_no_request    : std_logic;
+   -- 
+   -- alias signals 
+   alias update_j : std_logic is sl_cntr_en(0);
+   -- 
+   alias load_j : std_logic is sl_load(0);
+   -- Trigger signals 
+   signal sl_trigger_j : std_logic;
+
+
+   -- define control variables 
+   -- MOD related signals 
+
+
+   type state_type is (s_idle, s_halt, s_count, s_release);
+   signal state : state_type;
+   signal halt_cnt : integer;
+   signal sl_halt : std_logic;
+
+   signal sl_cnt_rst : std_logic;
+   signal cnt_rst : std_logic;
+
+begin
+
+   -- =============================================
+   -- =             MOD Functions                  
+   -- =============================================
+   -- END of MOD definitions 
+   --  
+   -- Parameter related signal assignments 
+   sl_cnt_rst <= '0';
+   sl_halt <= HALT;
+   -- END of Parameter definitions 
+
+   sl_loop_j    <= TO_INTEGER(SIGNED( sl_iterators(CNTR_WIDTH(0)+0*QUANT-1 downto 0*QUANT)));
+   sl_loop_j_rg <= TO_INTEGER(SIGNED( sl_reg_cntrs(CNTR_WIDTH(0)+0*QUANT-1 downto 0*QUANT)));
+
+   -- Const bounds for-loops 
+   sl_low_j  <= 0;
+   sl_high_j <= 9;
+
+
+   load_j <= '0';
+
+   sl_lower_bnd(1*QUANT-1 downto 0*QUANT) <= STD_LOGIC_VECTOR(TO_UNSIGNED(sl_low_j,QUANT));
+
+   sl_upper_bnd(1*QUANT-1 downto 0*QUANT) <= STD_LOGIC_VECTOR(TO_UNSIGNED(sl_high_j,QUANT));
+
+   -- Special definitions 
+
+   -- Entity and control variables
+
+   sl_fire <= ('1');
+
+   -- Convert FIFO Write Port out_1 : ED_2
+   sl_CONTROL(0) <= sl_fire and ('1');
+
+   FIRE <= sl_fire;
+
+   cnt_rst <= sl_cnt_rst or RST;
+
+   -- 
+   -- =============================================
+   -- =             Multirate                      
+   -- =============================================
+   -- Function output parameter "out_0", multirate=1 
+   CNTR_MR0 : counter 
+      generic map ( 
+         C_STEP    => 1,
+         C_WIDTH   => 1
+      )
+      port map (
+         CLK       => CLK,
+         RST       => RST,
+         ENABLE    => sl_mr_en(0),
+         LOAD      => '0',
+         LOWER_BND => sl_mr_lbnd_0,
+         UPPER_BND => sl_mr_ubnd_0,
+         ITERATOR  => open,
+         REG_CNTR  => open,
+         DONE      => sl_mr_done(0)
+      );
+   -- 
+   -- WRITE_EN indicates if date can be written to WRITE_MUX
+   sl_bla_en      <= (not sl_mr_lock) when ((sl_stop='0') and (sl_fire='1')) else (others=>'0');
+   WRITE_EN    <=  (others=>'0') when (HALT='1') else sl_bla_en;
+   -- 
+   sl_mr_en    <= (not sl_mr_lock) and WRITE_ST; 
+   sl_enables  <= sl_mr_lock or (sl_mr_done and sl_mr_en); 
+   sl_enable   <= '1' when ( sl_enables=(sl_enables'range=>'1') ) else '0';  -- and_reduce 
+   ENABLE      <= sl_enable or (not sl_fire);
+   -- 
+   LOCK_PRCS: process(CLK) 
+   begin 
+       if rising_edge(CLK) then 
+           if( RST = '1' ) then 
+               sl_mr_lock <= (others=>'0'); 
+           else  
+               if (ENABLE='1') then 
+                   sl_mr_lock <= (others=>'0'); 
+               else 
+                   for i in 0 to 0 loop 
+                       if (sl_mr_done(i)='1' and sl_mr_en(i)='1') then 
+                           sl_mr_lock(i) <= '1'; 
+                       end if; 
+                   end loop; 
+               end if; 
+           end if; 
+       end if; 
+   end process; 
+   -- END of Multirate definitions 
+   -- 
+   -- =============================================
+   -- =             Iterators                      
+   -- =============================================
+   GEN_CNTR_WR : for i in 0 to N_CNTRS-1 generate
+   	CNTR_WR : counter
+   	generic map ( 
+   		C_STEP    => CNTR_STEP(i),
+   		C_WIDTH   => CNTR_WIDTH(i)
+   	)
+  	 port map (
+   		CLK       => CLK,
+   		RST       => cnt_rst,
+   		ENABLE    => sl_cntr_en(i),
+   		LOAD      => sl_load(i),
+   		LOWER_BND => sl_lower_bnd(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		UPPER_BND => sl_upper_bnd(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		ITERATOR  => sl_iterators(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		REG_CNTR  => sl_reg_cntrs(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		DONE      => sl_done(i)
+   	);
+   end generate;
+   --
+   DONE_PRCS: process(CLK)
+   begin
+   	if rising_edge(CLK) then
+   	    if( RST = '1' ) then
+   		    sl_stop     <= '0';
+   		    sl_done_all <= '0';
+   		    sl_sof      <= '1';
+   	    else 
+   		    if (sl_cntr_en(N_CNTRS)='1' and (WRAP=false or sl_halt='1')) then
+   			    sl_stop <= '1';
+   		    elsif (WRAP=true) then
+   			    sl_stop <= '0';
+   		    end if;
+   		    if (sl_stop='0') then
+   			    sl_done_all <= sl_cntr_en(N_CNTRS);
+   		    end if;
+   		    if (ENABLE='1') then
+   			    sl_sof <= sl_eof;
+   		    end if;
+   	    end if;
+   	end if;
+   end process;
+   --
+   sl_no_request <= '0' when (sl_CONTROL=(sl_CONTROL'range =>'0') and sl_halt='0') else '1';
+   CONTROL <= sl_CONTROL;
+   --
+   DONE <= sl_done_all;     -- '1' in the clock cycle when the counters roll over (from the last point in the space to the firts pont)
+   STOP <= sl_stop;         -- '1' = The couter stoped after the end of the itteration space. 
+   --
+   sl_count      <=  '0' when (sl_stop='1') else
+   			'1' when (((sl_fire='0') or (ENABLE='1'))) else '0';
+   sl_cntr_en(0) <=  sl_count; -- makes the EVAL_LOGIC count
+   --
+   sl_cntr_en(N_CNTRS  downto 1) <= sl_cntr_en(N_CNTRS-1  downto 0) and sl_done(N_CNTRS-1  downto 0);
+   sl_eof <= sl_cntr_en(N_CNTRS);      -- End-of-frame (combinatorial; beter not use it outside)
+   --
+end RTL;
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_3/src/vhdl/param_stream2rtl_hwn_nd_3_execution_unit.vhd b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_3/src/vhdl/param_stream2rtl_hwn_nd_3_execution_unit.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..ff1cb8cd41f61d1b3477ea5288a56ddac65a8121
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_3/src/vhdl/param_stream2rtl_hwn_nd_3_execution_unit.vhd
@@ -0,0 +1,115 @@
+-- Execute Unit automatically generated by KpnMapper
+-- Function "transformer"
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library compaandesign_com_common_common_1_lib;
+use compaandesign_com_common_common_1_lib.hw_node_pkg.all;
+
+library compaandesign_com_param_stream2rtl_functions_1_lib;
+use compaandesign_com_param_stream2rtl_functions_1_lib.all;
+
+entity param_stream2rtl_EXECUTION_UNIT_hwn_nd_3 is
+   generic (
+      N_INPORTS  : natural := 1;
+      N_OUTPORTS : natural := 1;
+      IP_RESET   : natural := 1; 
+      STIM_DIR   : string  := "bla";
+      QUANT      : natural := 32;
+      c_STAGES   : natural := 1;
+      N_CNTRS    : natural := 1; 
+      CNTR_QUANT : natural := 32; 
+      CNTR_WIDTH : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 ) 
+   );
+   port (
+      RST        : in  std_logic;
+      CLK        : in  std_logic;
+      --  Non Syncronized Parameters
+      rf_brightness     : in  std_logic_vector( 32-1 downto 0); -- input 
+      -- Funtion Input parameters
+      IN_PORT_0    : in  std_logic_vector(63 downto 0);  -- Param. "a"
+      READ       : out std_logic_vector(N_INPORTS-1 downto 0);
+      EXIST      : in  std_logic_vector(N_INPORTS-1 downto 0);
+      -- Iterators
+      REG_CNTRS_RD : in  std_logic_vector(N_CNTRS*CNTR_QUANT-1 downto 0);
+      -- Funtion Output parameters
+      OUT_PORT_0   : out std_logic_vector(63 downto 0);  -- Param. "b"
+      WRITE      : out std_logic_vector(N_OUTPORTS-1 downto 0);
+      FULL       : in  std_logic_vector(N_OUTPORTS-1 downto 0);
+      STOP_RD    : in  std_logic;
+      STOP_WR    : in  std_logic;
+      ERROR      : out std_logic
+   );
+end param_stream2rtl_EXECUTION_UNIT_hwn_nd_3 ;
+
+-- Laura implementation
+architecture Laura of param_stream2rtl_EXECUTION_UNIT_hwn_nd_3 is
+
+   component transformer is
+      generic (
+         STIM_DIR   : string  := "bla";
+         c_STAGES   : natural := 1;
+         N_CNTRS    : natural := 1; 
+         CNTR_QUANT : natural := 32; 
+         CNTR_WIDTH : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 ) 
+      );
+      port (
+         RST   : in std_logic;
+         CLK   : in std_logic;
+      -- Non Syncronized Parameters
+      rf_brightness     : in  std_logic_vector( 32-1 downto 0); -- input
+         -- Inputs 
+         ip_a  : in  std_logic_vector(63 downto 0);  
+         -- Iterators 
+         it_j : in  std_logic_vector(CNTR_WIDTH(0)-1 downto 0);
+         EXIST : in  std_logic_vector(0 downto 0);
+         READF : out std_logic_vector(0 downto 0);
+         -- Outputs 
+         op_b : out std_logic_vector(63 downto 0);
+         FULL  : in  std_logic_vector(0 downto 0);
+         WRITEF: out std_logic_vector(0 downto 0);
+         --
+         STOP_RD : in  std_logic;
+         STOP_WR : in  std_logic;
+         ERROR   : out std_logic
+      );
+   end component;
+
+   signal sl_RST : std_logic;
+
+begin
+
+   sl_RST <= RST when IP_RESET=1 else not RST;
+
+   FUNC : transformer
+   generic map (
+         STIM_DIR      => STIM_DIR,
+         c_STAGES      => c_STAGES,
+         N_CNTRS       => N_CNTRS,
+         CNTR_QUANT    => CNTR_QUANT,
+         CNTR_WIDTH    => CNTR_WIDTH
+   )
+   port map (
+      RST   => sl_RST,
+      CLK   => CLK,
+      --  Non Syncronized Parameters
+      rf_brightness     => rf_brightness,
+      -- Inputs 
+      ip_a => IN_PORT_0,
+      -- Iterators 
+      it_j => REG_CNTRS_RD(0*CNTR_QUANT+CNTR_WIDTH(0)-1 downto 0*CNTR_QUANT),
+      EXIST => EXIST,
+      READF => READ,
+      -- Outputs 
+      op_b => OUT_PORT_0,
+      FULL  => FULL,
+      WRITEF=> WRITE,
+      -- 
+      STOP_RD => STOP_RD,
+      STOP_WR => STOP_WR,
+      ERROR   => ERROR
+   );
+
+end Laura;
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_4/hdllib.cfg b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_4/hdllib.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..503912026ad8b86e692ad029a881f25220158735
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_4/hdllib.cfg
@@ -0,0 +1,18 @@
+hdl_lib_name = compaandesign_com_param_stream2rtl_hwn_nd_4_1
+hdl_library_clause_name = compaandesign_com_param_stream2rtl_hwn_nd_4_1_lib
+hdl_lib_uses_synth = compaandesign_com_param_stream2rtl_functions_1 compaandesign_com_common_hwnode_1 compaandesign_com_common_common_1 compaandesign_com_common_extern_connector_1 
+hdl_lib_technology = ip_stratixiv
+
+build_dir_sim = $HDL_BUILD_DIR
+build_dir_synth = $HDL_BUILD_DIR
+
+# Specify here all the files you want to be included in the library.
+synth_files =
+	src/vhdl/param_stream2rtl_hwn_nd_4_execution_unit.vhd
+	src/vhdl/param_stream2rtl_hwn_nd_4_eval_logic_rd.vhd
+	src/vhdl/param_stream2rtl_hwn_nd_4_eval_logic_wr.vhd
+	src/vhdl/param_stream2rtl_hwn_nd_4.vhd
+
+test_bench_files =
+
+modelsim_copy_files =
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_4/src/vhdl/param_stream2rtl_hwn_nd_4.vhd b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_4/src/vhdl/param_stream2rtl_hwn_nd_4.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..75fef670467c8b99f4c339e44f8a860332f11776
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_4/src/vhdl/param_stream2rtl_hwn_nd_4.vhd
@@ -0,0 +1,462 @@
+-- HWN Entity File automatically generated by KpnMapper (writeHdlHWNodeFile)
+-- Top level file for a Hardware Accelerator
+-- Function "compaan_outlinedproc1"
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library compaandesign_com_common_common_1_lib;
+use compaandesign_com_common_common_1_lib.hw_node_pkg.all;
+
+library compaandesign_com_common_hwnode_1_lib;
+use compaandesign_com_common_hwnode_1_lib.all;
+
+library compaandesign_com_common_extern_connector_1_lib;
+use compaandesign_com_common_extern_connector_1_lib.all;
+
+entity param_stream2rtl_hwn_nd_4 is
+   generic (
+      STIM_DIR   : string  := "bla";
+      RESET_HIGH : natural := 1;
+      PAR_WIDTH  : natural := 16;
+      QUANT      : natural := 32;
+      WRAP       : boolean := true
+   );
+   port (
+
+      -- Dataflow input interfaces
+      -- ED_2 : in_0
+      ND_4IP_2_Rd    : out std_logic;
+      ND_4IP_2_Din   : in  std_logic_vector(63 downto 0);
+      ND_4IP_2_Exist : in  std_logic; 
+      ND_4IP_2_CLK   : out std_logic;
+      ND_4IP_2_CTRL  : in  std_logic;
+
+      -- Dataflow Control Input interfaces
+      -- Dataflow output interfaces
+      data_out_Wr   : out std_logic;
+      data_out_Dout : out std_logic_vector(63 downto 0);
+      data_out_Full : in  std_logic;
+      data_out_CLK  : out std_logic;
+      data_out_CTRL : out std_logic;
+
+      PARAM_DT : in  std_logic_vector(PAR_WIDTH+10-1 downto 0);
+      PARAM_LD : in  std_logic;
+
+      RST      : in  std_logic;
+      CLK      : in  std_logic;
+      STOP     : out std_logic;
+      ERROR    : out std_logic;
+      BLOCK_RD : out std_logic
+   );
+end param_stream2rtl_hwn_nd_4;
+
+architecture RTL of param_stream2rtl_hwn_nd_4 is
+   --
+   -- ====================================
+   -- =     Constants declaration        =
+   -- ====================================
+   -- Setting the parameters of the HW Node
+   constant c_IN_PORTS     : natural := 1; -- number of input ports of a HW node
+   constant c_OUT_PORTS    : natural := 1; -- number of output ports of a HW node
+   constant c_IN_FUNC_VAR  : natural := 1; -- number of input ports of a HW IP
+   constant c_OUT_FUNC_VAR : natural := 1; -- number of output ports of a HW IP
+   constant c_COUNTERS     : natural := 1; -- number of iterators
+   -- ===========================================
+   -- = Iterators run from Inner to Outer loop  =
+   -- ===========================================
+   constant c_CNTR_QUANT   : natural := 5;
+   constant c_CNTR_STEPS   : t_counter_step  := ( 0=>1, others=>1 );
+   constant c_CNTR_WIDTHS  : t_counter_width := ( 0=>5, others=>10 );
+   constant c_STAGES       : natural := 1; -- number of pipeline stages or delay
+   constant c_IP_RESET     : natural := 1; -- active level of the HW IP reset signal
+   constant c_WRAP         : boolean := WRAP; -- Operation mode: Single_Shot (false) or Continuous (true)
+   constant c_EXT_PAR      : natural := 0; -- number of external parameters
+   constant c_INT_PAR      : natural := 0; -- number of internal parameters
+   constant c_N_PAR        : natural := 0; -- no parameters are used
+   constant c_PAR_BITWIDTH : natural := PAR_WIDTH; -- aggregate bitwidth of the parameter vector
+   constant c_PAR_VECTOR   : t_par_vector:= ( -- (Lower Bound, Upper Bound, Default Value, Bitwidth)
+       (0,0,0,0), (0,0,0,0)    -- two dummy elements
+   );
+   --
+   -- ====================================
+   -- =     Components declaration       =
+   -- ====================================
+   component param_stream2rtl_EVAL_LOGIC_RD_hwn_nd_4 is
+      generic (
+         N_IN_PORTS    : natural := 1;
+         WRAP          : boolean := true;
+         N_CNTRS       : natural := 1; 
+         QUANT         : natural := 32;
+         PAR_BITWIDTH  : natural :=1;
+         CNTR_STEP     : t_counter_step  := ( 0=> 1, 1=> 1, 2=>1, others=> 1 );
+         CNTR_WIDTH    : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 )
+      );
+      port (
+         RST           : in  std_logic;
+         CLK           : in  std_logic;
+         REG_CNTRS     : out std_logic_vector(N_CNTRS*QUANT-1  downto 0); 
+         READ_EN       : out std_logic_vector(c_IN_FUNC_VAR-1  downto 0);
+         READ_ST       : in  std_logic_vector(c_IN_FUNC_VAR-1  downto 0);
+         HALT          : in  std_logic;
+         FIRE          : out std_logic;
+         DONE          : out std_logic;
+         STOP          : out std_logic;
+         CONTROL       : out std_logic_vector(N_IN_PORTS-1 downto 0);
+         OBTAIN        : out std_logic_vector(N_IN_PORTS-1 downto 0);
+         RELEASE       : out std_logic_vector(N_IN_PORTS-1 downto 0)
+      );
+   end component;
+
+   component READ_MUX is
+      generic (
+         N_PORTS    : natural := 1;
+         PORT_WIDTH : natural := 32  
+      );
+      port(
+         IN_PORTS   : in  std_logic_vector(N_PORTS*PORT_WIDTH-1 downto 0);
+         EXISTS     : in  std_logic_vector(N_PORTS-1 downto 0);
+         READS      : out std_logic_vector(N_PORTS-1 downto 0);
+         SOFS       : in  std_logic_vector(N_PORTS-1 downto 0);
+
+         OUT_PORT   : out std_logic_vector(PORT_WIDTH-1 downto 0);
+         EXIST      : out std_logic;
+         READ       : in  std_logic;
+         SOF        : in  std_logic;
+		CLK        : in std_logic;
+
+         READ_EN    : in  std_logic;
+         READ_ST    : out std_logic;
+         CONTROL    : in  std_logic_vector(N_PORTS-1 downto 0);
+         OBTAIN     : in  std_logic_vector(N_PORTS-1 downto 0);
+         RELEASE    : in  std_logic_vector(N_PORTS-1 downto 0)
+      );
+   end component;
+
+   component param_stream2rtl_EVAL_LOGIC_WR_hwn_nd_4 is
+      generic ( 
+         N_OUT_PORTS   : natural := 1;
+         WRAP          : boolean := true;
+         N_CNTRS       : natural := 1; 
+         QUANT         : natural := 32;
+         PAR_BITWIDTH  : natural :=1;
+         CNTR_STEP     : t_counter_step  := ( 0=> 1, 1=> 1, 2=>1, others=> 1 );
+         CNTR_WIDTH    : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 )
+      );
+      port (
+         RST           : in  std_logic;
+         CLK           : in  std_logic;
+         WRITE_EN      : out std_logic_vector(c_OUT_FUNC_VAR-1 downto 0);
+         WRITE_ST      : in  std_logic_vector(c_OUT_FUNC_VAR-1 downto 0);
+         HALT          : in  std_logic;
+         FIRE          : out std_logic;
+         DONE          : out std_logic;
+         STOP          : out std_logic;
+         CONTROL       : out std_logic_vector(N_OUT_PORTS-1 downto 0)
+      );
+   end component;
+
+   component WRITE_DEMUX is
+      generic (
+         N_PORTS : natural := 1
+      );
+      port(
+         WRITES   : out std_logic_vector(N_PORTS-1 downto 0);
+         WRITE    : in  std_logic;
+
+         FULLS    : in  std_logic_vector(N_PORTS-1 downto 0);
+         FULL     : out std_logic;
+
+         WRITE_EN : in  std_logic;
+         WRITE_ST : out std_logic;
+         CONTROL  : in  std_logic_vector(N_PORTS-1 downto 0)
+      );
+   end component;
+
+
+   component param_stream2rtl_EXECUTION_UNIT_hwn_nd_4 is
+      generic (
+         N_INPORTS  : natural := 1;
+         N_OUTPORTS : natural := 1;
+         IP_RESET   : natural := 1;
+         QUANT      : natural := 32;
+         STIM_DIR   : string  := "bla";
+         c_STAGES   : natural := 1;
+         N_CNTRS    : natural := 1;
+         CNTR_QUANT : natural := 32;
+         CNTR_WIDTH : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 ) 
+      );
+      port (
+         RST        : in  std_logic;
+         CLK        : in  std_logic;
+
+         -- Iterators
+         REG_CNTRS_RD : in  std_logic_vector(N_CNTRS*CNTR_QUANT -1 downto 0);
+         -- Func. Input parameters
+         IN_PORT_0 : in  std_logic_vector(63 downto 0); -- tmp1
+         READ       : out std_logic_vector(N_INPORTS-1 downto 0);
+         EXIST      : in  std_logic_vector(N_INPORTS-1 downto 0);
+         -- Func. Output parameters
+         OUT_PORT_0 : out std_logic_vector(63 downto 0); -- tmp0
+         WRITE      : out std_logic_vector(N_OUTPORTS-1 downto 0);
+         FULL       : in  std_logic_vector(N_OUTPORTS-1 downto 0);
+         --
+         STOP_RD    : in  std_logic;
+         STOP_WR    : in  std_logic;
+         ERROR      : out std_logic
+      );
+   end component;
+
+   component INTERNAL_PARAMETERS is 
+      generic (
+         PAR_BITWIDTH : natural:=1;
+         PAR_VECTOR   : t_par_vector;
+         N_PAR        : natural:=0;
+         START_IN_RUN  : boolean := FALSE
+      );
+      port (  
+         RST        : in  std_logic;
+         CLK        : in  std_logic;
+
+         HALT_RD    : out std_logic;
+         HALT_WR    : out std_logic;
+         SOF_RD     : in  std_logic;
+         SOF_WR     : in  std_logic;
+         LOAD_PARAM : out std_logic;
+
+         par_one_in_Rd    : out std_logic;
+         par_one_in_Din   : in std_logic_vector(32-1 downto 0);
+         par_one_in_Exist : in std_logic;
+         par_one_in_CLK   : out std_logic;
+         par_one_in_CTRL  : in std_logic;
+
+         PARAMETERS_RD : out std_logic_vector(32-1 downto 0);
+         PARAMETERS_WR : out std_logic_vector(32-1 downto 0)
+      );
+   end component;
+
+   --
+   -- ====================================
+   -- =       Signals declaration        =
+   -- ====================================
+   -- 
+   -- HW Node Input Ports
+   signal sl_IN_PORTS_0   : std_logic_vector(1*64-1 downto 0); -- tmp1
+   signal sl_EXISTS       : std_logic_vector(c_IN_PORTS-1 downto 0);
+   signal sl_READS        : std_logic_vector(c_IN_PORTS-1 downto 0);
+   signal sl_CTRLS        : std_logic_vector(c_IN_PORTS-1 downto 0);
+   signal sl_control_rd   : std_logic_vector(c_IN_PORTS-1 downto 0);
+   signal sl_obtain_rd    : std_logic_vector(c_IN_PORTS-1 downto 0);
+   signal sl_release_rd   : std_logic_vector(c_IN_PORTS-1 downto 0);
+   -- 
+   -- Func. Input parameters
+   signal sl_in_port_0    : std_logic_vector(63 downto 0); -- tmp1
+   signal sl_exist        : std_logic_vector(c_IN_FUNC_VAR-1 downto 0);
+   signal sl_read         : std_logic_vector(c_IN_FUNC_VAR-1 downto 0);
+   signal sl_read_en      : std_logic_vector(c_IN_FUNC_VAR-1 downto 0);
+   signal sl_read_st      : std_logic_vector(c_IN_FUNC_VAR-1 downto 0);
+   -- 
+   signal sl_REG_CNTRS_RD : std_logic_vector(c_COUNTERS*c_CNTR_QUANT-1 downto 0);
+   -- 
+   -- HW Node Output Ports
+   signal sl_WRITES       : std_logic_vector(c_OUT_PORTS-1 downto 0);
+   signal sl_FULLS        : std_logic_vector(c_OUT_PORTS-1 downto 0);
+   signal sl_control_wr   : std_logic_vector(c_OUT_PORTS-1 downto 0);
+   signal sl_lortnoc_wr   : std_logic_vector(c_OUT_PORTS-1 downto 0);
+   -- 
+   -- Func. Output parameters
+   signal sl_out_port_0   : std_logic_vector(63 downto 0); -- tmp0
+   signal sl_full         : std_logic_vector(c_OUT_FUNC_VAR-1 downto 0);
+   signal sl_write        : std_logic_vector(c_OUT_FUNC_VAR-1 downto 0);
+   signal sl_write_en     : std_logic_vector(c_OUT_FUNC_VAR-1 downto 0);
+   signal sl_write_st     : std_logic_vector(c_OUT_FUNC_VAR-1 downto 0);
+   -- 
+   -- 
+   signal sl_halt             : std_logic;
+   signal sl_halted           : std_logic;
+   signal sl_halt_wr          : std_logic;
+   signal sl_halt_rd          : std_logic;
+   signal sl_param_halt_wr    : std_logic;
+   signal sl_param_halt_rd    : std_logic;
+   signal sl_done_wr          : std_logic;
+   signal sl_done_rd          : std_logic;
+   signal sl_stop_wr          : std_logic;
+   signal sl_stop_rd          : std_logic;
+   signal sl_fire_wr          : std_logic;
+   signal sl_fire_rd          : std_logic;
+   signal sl_sof_wr           : std_logic;
+   signal sl_sof_rd           : std_logic;
+   signal sl_error            : std_logic;
+   signal sl_load_param       : std_logic;
+
+   --  
+   -- Parameter related signals 
+   signal sl_param_fifo_full     : std_logic;
+   signal sl_sync_num            : std_logic_vector(9 downto 0);
+
+   signal sl_RST : std_logic;
+
+begin 
+
+   sl_RST <= RST when RESET_HIGH=1 else not RST;
+      ND_4IP_2_CLK   <= CLK;
+      data_out_CLK  <= CLK;
+
+   --
+   -- ==========================================================
+   -- =       HWN Input related modules                        =
+   -- ==========================================================
+   -- Func. Input param. "tmp1"
+   RD_MUX_0 : READ_MUX
+   generic map (
+      N_PORTS    => 1,
+      PORT_WIDTH => 64
+   )
+   port map (
+      IN_PORTS   => sl_IN_PORTS_0,
+      EXISTS     => sl_EXISTS(0 downto 0),
+      READS      => sl_READS(0 downto 0),
+      SOFS       => sl_CTRLS(0 downto 0),
+
+      OUT_PORT   => sl_in_port_0,
+      EXIST      => sl_exist(0),
+      READ       => sl_read(0),
+      SOF        => sl_sof_rd,
+      CLK        => CLK,
+
+      READ_EN    => sl_read_en(0),
+      READ_ST    => sl_read_st(0),
+      CONTROL    => sl_control_rd(0 downto 0),
+      OBTAIN     => sl_obtain_rd(0 downto 0),
+      RELEASE    => sl_release_rd(0 downto 0)
+   );
+
+   ND_4IP_2_Rd   <= sl_READS(0);
+
+   sl_IN_PORTS_0 <= ND_4IP_2_Din;
+
+   sl_EXISTS(0)   <= ND_4IP_2_Exist ;
+   sl_CTRLS(0)    <= ND_4IP_2_CTRL ;
+
+   EVAL_RD : param_stream2rtl_EVAL_LOGIC_RD_hwn_nd_4
+   generic map ( 
+      N_IN_PORTS    => c_IN_PORTS,
+      WRAP          => c_WRAP,
+      N_CNTRS       => c_COUNTERS,
+      QUANT         => c_CNTR_QUANT,
+      PAR_BITWIDTH  => c_PAR_BITWIDTH,
+      CNTR_STEP     => c_CNTR_STEPS,
+      CNTR_WIDTH    => c_CNTR_WIDTHS
+   )
+   port map(
+      RST           => sl_RST,
+      CLK           => CLK,
+      REG_CNTRS     => sl_REG_CNTRS_RD,
+      READ_EN       => sl_read_en,
+      READ_ST       => sl_read_st,
+      HALT          => sl_halt_rd,
+      FIRE          => sl_fire_rd,
+      DONE          => sl_done_rd,
+      STOP          => sl_stop_rd,
+      CONTROL       => sl_control_rd,
+      OBTAIN        => sl_obtain_rd,
+      RELEASE       => sl_release_rd
+   );
+
+   --
+   -- ==========================================================
+   -- =       HWN Output related modules                       =
+   -- ==========================================================
+   -- 
+   -- Func. Output param. "tmp0"
+   DEMUX_0 : WRITE_DEMUX
+   generic map (
+      N_PORTS => 1
+   )
+   port map (
+      WRITES   => sl_WRITES(0 downto 0),
+      FULLS    => sl_FULLS(0 downto 0),
+      CONTROL  => sl_lortnoc_wr(0 downto 0),
+      WRITE    => sl_write(0),
+      FULL     => sl_full(0),
+      WRITE_EN => sl_write_en(0),
+      WRITE_ST => sl_write_st(0)
+   );
+   --
+   data_out_Dout <= sl_out_port_0;  -- Func. Output param. "tmp0"
+   data_out_CTRL <= sl_sof_wr ;
+   data_out_Wr   <= sl_WRITES(0);
+   sl_FULLS(0) <= data_out_Full;
+   sl_lortnoc_wr(0) <= sl_control_wr(0);
+   --
+   --
+   EVAL_WR : param_stream2rtl_EVAL_LOGIC_WR_hwn_nd_4
+   generic map ( 
+      N_OUT_PORTS   => c_OUT_PORTS,
+      WRAP          => c_WRAP,
+      N_CNTRS       => c_COUNTERS,
+      QUANT         => c_CNTR_QUANT,
+      PAR_BITWIDTH  => c_PAR_BITWIDTH,
+      CNTR_STEP     => c_CNTR_STEPS,
+      CNTR_WIDTH    => c_CNTR_WIDTHS
+   )
+   port map (
+      RST           => sl_RST,
+      CLK           => CLK,
+      WRITE_EN      => sl_write_en,
+      WRITE_ST      => sl_write_st,
+      HALT          => sl_halt_wr,
+      FIRE          => sl_fire_wr,
+      DONE          => sl_done_wr,
+      STOP          => sl_stop_wr,
+      CONTROL       => sl_control_wr
+   );
+
+   --
+   -- ==========================================================
+   -- =       HWN Execution Unit                               =
+   -- ==========================================================
+   EX : param_stream2rtl_EXECUTION_UNIT_hwn_nd_4
+   generic map (
+      N_INPORTS  => c_IN_FUNC_VAR,
+      N_OUTPORTS => c_OUT_FUNC_VAR, 
+      IP_RESET   => c_IP_RESET,
+      QUANT      => QUANT,
+      STIM_DIR   => STIM_DIR,
+      c_STAGES   => c_STAGES,
+      N_CNTRS    => c_COUNTERS,
+      CNTR_QUANT => c_CNTR_QUANT,
+      CNTR_WIDTH => c_CNTR_WIDTHS
+   )
+   port map (
+      RST        => sl_RST,
+      CLK        => CLK,
+      -- Iterators
+      REG_CNTRS_RD => sl_REG_CNTRS_RD,
+      -- Func. Input parameters
+      IN_PORT_0    => sl_in_port_0,
+      READ       => sl_read,
+      EXIST      => sl_exist,
+      -- Func. Output parameters
+      OUT_PORT_0   => sl_out_port_0,
+      WRITE      => sl_write,
+      FULL       => sl_full,
+      --
+      STOP_WR    => sl_stop_wr,
+      STOP_RD    => sl_stop_rd,
+      ERROR      => sl_error
+   );
+
+   -- ==========================================================
+   -- =       PARAMETERIZATION                                 =
+   -- ==========================================================
+   -- no parameters
+   sl_halt_rd <= '0';
+   sl_halt_wr <= '0';
+--   sl_halted  <= sl_sof_rd;
+   STOP <= sl_done_wr;
+   ERROR <= sl_error;
+   BLOCK_RD <= not (  (  sl_READS(0)  ) );
+
+end RTL;
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_4/src/vhdl/param_stream2rtl_hwn_nd_4_eval_logic_rd.vhd b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_4/src/vhdl/param_stream2rtl_hwn_nd_4_eval_logic_rd.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..84a173a7ed87cc1b9f08f7ddd629b13a4152503e
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_4/src/vhdl/param_stream2rtl_hwn_nd_4_eval_logic_rd.vhd
@@ -0,0 +1,283 @@
+-- File automatically generated by KpnMapper
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library compaandesign_com_common_hwnode_1_lib;
+use compaandesign_com_common_hwnode_1_lib.all;
+library compaandesign_com_common_common_1_lib;
+use compaandesign_com_common_common_1_lib.hw_node_pkg.all;
+
+entity param_stream2rtl_EVAL_LOGIC_RD_hwn_nd_4 is
+   generic (
+      N_IN_PORTS    : natural := 1;
+      WRAP          : boolean := true;
+      N_CNTRS       : natural := 1; 
+      QUANT         : natural := 32;
+      PAR_BITWIDTH  : natural  :=1;
+      CNTR_STEP     : t_counter_step  := ( 0=> 1, 1=> 1, 2=>1, others=> 1 );
+      CNTR_WIDTH    : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 )
+   );
+   port (
+      RST           : in  std_logic;
+      CLK           : in  std_logic;
+      REG_CNTRS     : out std_logic_vector(N_CNTRS*QUANT-1 downto 0);
+      READ_EN       : out std_logic_vector(0 downto 0);
+      READ_ST       : in  std_logic_vector(0 downto 0);
+      HALT          : in  std_logic;
+      FIRE          : out std_logic;
+      DONE          : out std_logic;
+      STOP          : out std_logic;
+      CONTROL       : out std_logic_vector(N_IN_PORTS-1 downto 0);
+      OBTAIN        : out std_logic_vector(N_IN_PORTS-1 downto 0);
+      RELEASE       : out std_logic_vector(N_IN_PORTS-1 downto 0)
+   );
+end param_stream2rtl_EVAL_LOGIC_RD_hwn_nd_4;
+
+architecture RTL of param_stream2rtl_EVAL_LOGIC_RD_hwn_nd_4 is
+   -- 
+   component counter is 
+      generic( 
+         C_STEP    : natural := 10; 
+         C_WIDTH   : natural := 10 
+      ); 
+      port ( 
+         RST       : in  std_logic; 
+         CLK       : in  std_logic; 
+         ENABLE    : in  std_logic; 
+         LOAD      : in  std_logic; 
+         LOWER_BND : in  std_logic_vector(C_WIDTH-1 downto 0); 
+         UPPER_BND : in  std_logic_vector(C_WIDTH-1 downto 0); 
+         ITERATOR  : out std_logic_vector(C_WIDTH-1 downto 0); 
+         REG_CNTR  : out std_logic_vector(C_WIDTH-1 downto 0); 
+         DONE      : out std_logic 
+      ); 
+   end component; 
+   -- 
+   component it_mod is 
+   generic( 
+      C_MOD     : natural := 10; 
+      C_WIDTH   : natural := 10; 
+      C_INIT    : natural :=  1; 
+      C_STEP    : natural :=  1  
+   ); 
+   port ( 
+      RST       : in  std_logic; 
+      CLK       : in  std_logic; 
+      LOAD      : in  std_logic; 
+      ENABLE    : in  std_logic; 
+      MODULE    : out std_logic_vector(C_WIDTH-1 downto 0) 
+   ); 
+   end component; 
+   -- 
+   --  
+   -- Parameter related signals 
+   -- 
+   -- Iterator (counter) related signals 
+   signal sl_low_x, sl_high_x : integer;
+   signal sl_loop_x, sl_loop_x_rg : integer;
+   signal sl_lower_bnd, sl_upper_bnd : std_logic_vector(N_CNTRS*QUANT-1 downto 0); 
+   signal sl_iterators, sl_reg_cntrs : std_logic_vector(N_CNTRS*QUANT-1 downto 0); 
+   -- 
+   signal sl_cntr_en  : std_logic_vector(N_CNTRS   downto 0); 
+   signal sl_done     : std_logic_vector(N_CNTRS-1 downto 0); 
+   signal sl_done_all : std_logic; 
+   signal sl_load     : std_logic_vector(N_CNTRS-1 downto 0); 
+   signal sl_stop     : std_logic; 
+   signal sl_fire     : std_logic; 
+   signal sl_sof      : std_logic; 
+   signal sl_eof      : std_logic; 
+   signal sl_count    : std_logic; 
+
+   -- alias signals 
+   alias update_x : std_logic is sl_cntr_en(0);
+   alias load_x : std_logic is sl_load(0);
+
+   -- Trigger signals 
+   signal sl_trigger_x : std_logic;
+
+   -- Special Control signal
+   signal sl_CONTROL       : std_logic_vector(N_IN_PORTS-1 downto 0);
+   signal sl_no_request    : std_logic;
+   -- 
+   -- Multirate related signals
+   signal sl_bla_en   : std_logic_vector(0 downto 0); 
+   signal sl_mr_en    : std_logic_vector(0 downto 0); 
+   signal sl_mr_done  : std_logic_vector(0 downto 0); 
+   signal sl_mr_lock  : std_logic_vector(0 downto 0); 
+   signal sl_enables  : std_logic_vector(0 downto 0); 
+   signal sl_enable   : std_logic; 
+   signal ENABLE      : std_logic; 
+   -- Function input parameter "in_0", multirate=1 
+   constant sl_mr_lbnd_0 : std_logic_vector(0 downto 0) := STD_LOGIC_VECTOR(TO_UNSIGNED(0,1)); 
+   constant sl_mr_ubnd_0 : std_logic_vector(0 downto 0) := STD_LOGIC_VECTOR(TO_UNSIGNED(0,1)); 
+
+
+   signal sl_obtain0  : std_logic;
+   signal sl_release0 : std_logic;
+
+   -- define control variables 
+
+   type state_type is (s_idle, s_halt, s_count, s_release);
+   signal state : state_type;
+   signal halt_cnt : integer;
+   signal sl_halt : std_logic;
+
+   signal sl_cnt_rst : std_logic;
+   signal cnt_rst : std_logic;
+
+begin
+
+   -- =============================================
+   -- =             MOD Functions                  
+   -- =============================================
+   -- END of MOD definitions 
+   -- =============================================
+   -- =             Parameter Functions            
+   -- =============================================
+   sl_cnt_rst <= '0';
+   sl_halt <= HALT;
+
+   -- END of Parameter definitions 
+   sl_loop_x    <= TO_INTEGER(SIGNED(sl_iterators(CNTR_WIDTH(0)+0*QUANT-1 downto 0*QUANT)));
+   sl_loop_x_rg <= TO_INTEGER(SIGNED(sl_reg_cntrs(CNTR_WIDTH(0)+0*QUANT-1 downto 0*QUANT)));
+
+   -- Const bounds for-loops 
+   sl_low_x  <= 0;
+   sl_high_x <= 9;
+
+
+   load_x <= '0';
+
+   sl_lower_bnd(1*QUANT-1 downto 0*QUANT) <= STD_LOGIC_VECTOR(TO_UNSIGNED(sl_low_x,QUANT));
+
+   sl_upper_bnd(1*QUANT-1 downto 0*QUANT) <= STD_LOGIC_VECTOR(TO_UNSIGNED(sl_high_x,QUANT));
+   -- Special definitions 
+
+   -- Entity and control variables
+   -- Release matrix expressions
+
+   sl_fire <= ('1');
+
+   -- Convert FIFO Read Port ND_4IP_2 Argument in_1 : ED_2 : 0 of type IOMM
+   sl_obtain0 <= ('1');  -- set obtain/release to const value; not used
+   sl_release0 <= ('1');
+
+   sl_CONTROL(0) <= sl_fire and ('1');
+   OBTAIN(0) <= sl_obtain0;
+   RELEASE(0) <= sl_release0;
+
+   FIRE <= sl_fire;
+
+   cnt_rst <= sl_cnt_rst or RST;
+
+   -- 
+   -- =============================================
+   -- =             Multirate                      
+   -- =============================================
+   -- Function input parameter "in_0", multirate=1 
+   CNTR_MR0 : counter 
+      generic map ( 
+         C_STEP    => 1,
+         C_WIDTH   => 1
+      )
+      port map (
+         CLK       => CLK,
+         RST       => RST,
+         ENABLE    => sl_mr_en(0),
+         LOAD      => '0',
+         LOWER_BND => sl_mr_lbnd_0,
+         UPPER_BND => sl_mr_ubnd_0,
+         ITERATOR  => open,
+         REG_CNTR  => open,
+         DONE      => sl_mr_done(0)
+      );
+   -- READ_EN indicates if READ_MUX can read data
+   sl_bla_en   <= (others=>'1') when ((sl_stop='0') and (sl_fire='1')) else (others=>'0');  
+   READ_EN     <= (others=>'0') when (HALT='1') else sl_bla_en;  
+   sl_mr_en   <= READ_ST; 
+   sl_enables <= sl_mr_lock or (sl_mr_done and sl_mr_en); 
+   sl_enable  <= '1' when (sl_enables=(sl_enables'range=>'1')) else '0'; -- and_reduce 
+   ENABLE     <=  sl_enable or (not sl_fire);
+   -- 
+   LOCK_PRCS: process(CLK) 
+   begin 
+       if rising_edge(CLK) then 
+           if( RST = '1' ) then 
+               sl_mr_lock <= (others=>'0'); 
+           else  
+               if (ENABLE='1') then 
+                   sl_mr_lock <= (others=>'0'); 
+               else 
+                   for i in 0 to 0 loop 
+                       if (sl_mr_done(i)='1' and sl_mr_en(i)='1') then 
+                           sl_mr_lock(i) <= '1'; 
+                       end if; 
+                   end loop; 
+               end if; 
+           end if; 
+       end if; 
+   end process; 
+   -- END of Multirate definitions 
+   -- 
+   -- =============================================
+   -- =             Iterators                      
+   -- =============================================
+   GEN_CNTR_RD : for i in 0 to N_CNTRS-1 generate
+   	CNTR_RD : counter
+   	generic map ( 
+   		C_STEP    => CNTR_STEP(i),
+   		C_WIDTH   => CNTR_WIDTH(i)
+   	)
+  	 port map (
+   		CLK       => CLK,
+   		RST       => cnt_rst,
+   		ENABLE    => sl_cntr_en(i),
+			LOAD      => sl_load(i),
+   		LOWER_BND => sl_lower_bnd(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		UPPER_BND => sl_upper_bnd(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		ITERATOR  => sl_iterators(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		REG_CNTR  => sl_reg_cntrs(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		DONE      => sl_done(i)
+   	);
+   end generate;
+   --
+   DONE_PRCS: process(CLK)
+   begin
+   	if rising_edge(CLK) then
+          if( RST = '1' ) then
+   		    sl_stop     <= '0';
+   		    sl_done_all <= '0';
+   		    sl_sof      <= '1';
+   	    else 
+   		    if (sl_cntr_en(N_CNTRS)='1' and (WRAP=false or sl_halt='1')) then
+   			    sl_stop <= '1';
+   		    elsif (WRAP=true) then
+   			    sl_stop <= '0';
+   		    end if;
+   		    if (sl_stop='0') then
+   			    sl_done_all <= sl_cntr_en(N_CNTRS);
+   		    end if;
+   		    if (ENABLE='1') then
+   			    sl_sof <= sl_eof;
+   		    end if;
+   	    end if;
+   	end if;
+   end process;
+   --
+   sl_no_request <= '0' when (sl_CONTROL=(sl_CONTROL'range =>'0') and sl_halt='0') else '1';
+   CONTROL <= sl_CONTROL;
+   --
+   REG_CNTRS <= sl_reg_cntrs; 
+   DONE <= sl_done_all;     -- '1' in the clock cycle when the counters roll over (from the last point in the space to the firts pont)
+   STOP <= sl_stop;         -- '1' = The couter stoped after the end of the itteration space. 
+   --
+   sl_count      <=  '0' when (sl_stop='1') else
+                     '1' when (((sl_fire='0') or (ENABLE='1') or (sl_no_request='0'))) else '0';
+   sl_cntr_en(0) <=  sl_count; -- makes the EVAL_LOGIC count
+   --
+   sl_cntr_en(N_CNTRS  downto 1) <= sl_cntr_en(N_CNTRS-1  downto 0) and sl_done(N_CNTRS-1  downto 0);
+   sl_eof <= sl_cntr_en(N_CNTRS);   -- End-of-frame
+   --
+end RTL;
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_4/src/vhdl/param_stream2rtl_hwn_nd_4_eval_logic_wr.vhd b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_4/src/vhdl/param_stream2rtl_hwn_nd_4_eval_logic_wr.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..0a97d375759a86386471d19abfaaa3a85d9cd7d0
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_4/src/vhdl/param_stream2rtl_hwn_nd_4_eval_logic_wr.vhd
@@ -0,0 +1,276 @@
+-- File automatically generated by KpnMapper
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library compaandesign_com_common_hwnode_1_lib;
+use compaandesign_com_common_hwnode_1_lib.all;
+library compaandesign_com_common_common_1_lib;
+use compaandesign_com_common_common_1_lib.hw_node_pkg.all;
+
+entity param_stream2rtl_EVAL_LOGIC_WR_hwn_nd_4 is
+   generic ( 
+      N_OUT_PORTS   : natural := 1;
+      WRAP          : boolean := true;
+      N_CNTRS       : natural := 1;
+      QUANT         : natural := 32;
+      PAR_BITWIDTH  : natural :=1;
+      CNTR_STEP     : t_counter_step  := ( 0=> 1, 1=> 1, 2=>1, others=> 1 );
+      CNTR_WIDTH    : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 )
+   );
+   port (
+      RST           : in  std_logic;
+      CLK           : in  std_logic;
+      WRITE_EN      : out std_logic_vector(0 downto 0);
+      WRITE_ST      : in  std_logic_vector(0 downto 0);
+      HALT          : in  std_logic;
+      FIRE          : out std_logic;
+      DONE          : out std_logic;
+      STOP          : out std_logic;
+      CONTROL       : out std_logic_vector(N_OUT_PORTS-1 downto 0)
+   );
+end param_stream2rtl_EVAL_LOGIC_WR_hwn_nd_4;
+
+architecture RTL of param_stream2rtl_EVAL_LOGIC_WR_hwn_nd_4 is	
+   -- 
+   component counter is 
+      generic( 
+         C_STEP    : natural := 10; 
+         C_WIDTH   : natural := 10 
+      ); 
+      port ( 
+         RST       : in  std_logic; 
+         CLK       : in  std_logic; 
+         ENABLE    : in  std_logic; 
+         LOAD      : in  std_logic; 
+         LOWER_BND : in  std_logic_vector(C_WIDTH-1 downto 0); 
+         UPPER_BND : in  std_logic_vector(C_WIDTH-1 downto 0); 
+         ITERATOR  : out std_logic_vector(C_WIDTH-1 downto 0); 
+         REG_CNTR  : out std_logic_vector(C_WIDTH-1 downto 0); 
+         DONE      : out std_logic 
+      ); 
+   end component; 
+   -- 
+   component it_mod is 
+   generic( 
+      C_MOD     : natural := 10; 
+      C_WIDTH   : natural := 10; 
+      C_INIT    : natural :=  1; 
+      C_STEP    : natural :=  1  
+   ); 
+   port ( 
+      RST       : in  std_logic; 
+      CLK       : in  std_logic; 
+      LOAD      : in  std_logic; 
+      ENABLE    : in  std_logic; 
+      MODULE    : out std_logic_vector(C_WIDTH-1 downto 0) 
+   ); 
+   end component; 
+   -- 
+   -- Multirate related signals
+   signal sl_bla_en   : std_logic_vector(0 downto 0); 
+   signal sl_mr_en    : std_logic_vector(0 downto 0); 
+   signal sl_mr_done  : std_logic_vector(0 downto 0); 
+   signal sl_mr_lock  : std_logic_vector(0 downto 0); 
+   signal sl_enables  : std_logic_vector(0 downto 0); 
+   signal sl_enable   : std_logic; 
+   signal ENABLE      : std_logic; 
+   -- Function output parameter "data_out[x]", multirate=1 
+   constant sl_mr_lbnd_0 : std_logic_vector(0 downto 0) := STD_LOGIC_VECTOR(TO_UNSIGNED(0,1)); 
+   constant sl_mr_ubnd_0 : std_logic_vector(0 downto 0) := STD_LOGIC_VECTOR(TO_UNSIGNED(0,1)); 
+   --  
+   -- Parameter related signals 
+   --  
+   -- Iterator (counter) related signals 
+   signal sl_low_x, sl_high_x : integer; 
+   signal sl_loop_x, sl_loop_x_rg : integer;
+   signal sl_lower_bnd, sl_upper_bnd : std_logic_vector(N_CNTRS*QUANT-1 downto 0); 
+   signal sl_iterators, sl_reg_cntrs : std_logic_vector(N_CNTRS*QUANT-1 downto 0); 
+   -- 
+   signal sl_cntr_en  : std_logic_vector(N_CNTRS   downto 0); 
+   signal sl_done     : std_logic_vector(N_CNTRS-1 downto 0); 
+   signal sl_done_all : std_logic; 
+   signal sl_load     : std_logic_vector(N_CNTRS-1 downto 0); 
+   signal sl_stop     : std_logic; 
+   signal sl_fire     : std_logic; 
+   signal sl_eof      : std_logic; 
+   signal sl_sof      : std_logic; 
+   signal sl_count    : std_logic; 
+   -- 
+   -- Special Control signal
+   signal sl_CONTROL       : std_logic_vector(N_OUT_PORTS-1 downto 0);
+   signal sl_no_request    : std_logic;
+   -- 
+   -- alias signals 
+   alias update_x : std_logic is sl_cntr_en(0);
+   -- 
+   alias load_x : std_logic is sl_load(0);
+   -- Trigger signals 
+   signal sl_trigger_x : std_logic;
+
+   signal e0, e1 : boolean;
+
+   -- define control variables 
+   -- MOD related signals 
+
+
+   type state_type is (s_idle, s_halt, s_count, s_release);
+   signal state : state_type;
+   signal halt_cnt : integer;
+   signal sl_halt : std_logic;
+
+   signal sl_cnt_rst : std_logic;
+   signal cnt_rst : std_logic;
+
+begin
+
+   -- =============================================
+   -- =             MOD Functions                  
+   -- =============================================
+   -- END of MOD definitions 
+   --  
+   -- Parameter related signal assignments 
+   sl_cnt_rst <= '0';
+   sl_halt <= HALT;
+   -- END of Parameter definitions 
+
+   sl_loop_x    <= TO_INTEGER(SIGNED( sl_iterators(CNTR_WIDTH(0)+0*QUANT-1 downto 0*QUANT)));
+   sl_loop_x_rg <= TO_INTEGER(SIGNED( sl_reg_cntrs(CNTR_WIDTH(0)+0*QUANT-1 downto 0*QUANT)));
+
+   -- Const bounds for-loops 
+   sl_low_x  <= 0;
+   sl_high_x <= 9;
+
+
+   load_x <= '0';
+
+   sl_lower_bnd(1*QUANT-1 downto 0*QUANT) <= STD_LOGIC_VECTOR(TO_UNSIGNED(sl_low_x,QUANT));
+
+   sl_upper_bnd(1*QUANT-1 downto 0*QUANT) <= STD_LOGIC_VECTOR(TO_UNSIGNED(sl_high_x,QUANT));
+
+   -- Special definitions 
+
+   -- Entity and control variables
+   e0 <= sl_loop_x_rg>=0;
+   e1 <= -sl_loop_x_rg + 9>=0;
+
+   sl_fire <= ('1');
+
+   -- Convert FIFO Write Port out_1 : EXTERNAL
+   sl_CONTROL(0) <= sl_fire and b2std((e0 and e1));
+
+   FIRE <= sl_fire;
+
+   cnt_rst <= sl_cnt_rst or RST;
+
+   -- 
+   -- =============================================
+   -- =             Multirate                      
+   -- =============================================
+   -- Function output parameter "data_out[x]", multirate=1 
+   CNTR_MR0 : counter 
+      generic map ( 
+         C_STEP    => 1,
+         C_WIDTH   => 1
+      )
+      port map (
+         CLK       => CLK,
+         RST       => RST,
+         ENABLE    => sl_mr_en(0),
+         LOAD      => '0',
+         LOWER_BND => sl_mr_lbnd_0,
+         UPPER_BND => sl_mr_ubnd_0,
+         ITERATOR  => open,
+         REG_CNTR  => open,
+         DONE      => sl_mr_done(0)
+      );
+   -- 
+   -- WRITE_EN indicates if date can be written to WRITE_MUX
+   sl_bla_en      <= (not sl_mr_lock) when ((sl_stop='0') and (sl_fire='1')) else (others=>'0');
+   WRITE_EN    <=  (others=>'0') when (HALT='1') else sl_bla_en;
+   -- 
+   sl_mr_en    <= (not sl_mr_lock) and WRITE_ST; 
+   sl_enables  <= sl_mr_lock or (sl_mr_done and sl_mr_en); 
+   sl_enable   <= '1' when ( sl_enables=(sl_enables'range=>'1') ) else '0';  -- and_reduce 
+   ENABLE      <= sl_enable or (not sl_fire);
+   -- 
+   LOCK_PRCS: process(CLK) 
+   begin 
+       if rising_edge(CLK) then 
+           if( RST = '1' ) then 
+               sl_mr_lock <= (others=>'0'); 
+           else  
+               if (ENABLE='1') then 
+                   sl_mr_lock <= (others=>'0'); 
+               else 
+                   for i in 0 to 0 loop 
+                       if (sl_mr_done(i)='1' and sl_mr_en(i)='1') then 
+                           sl_mr_lock(i) <= '1'; 
+                       end if; 
+                   end loop; 
+               end if; 
+           end if; 
+       end if; 
+   end process; 
+   -- END of Multirate definitions 
+   -- 
+   -- =============================================
+   -- =             Iterators                      
+   -- =============================================
+   GEN_CNTR_WR : for i in 0 to N_CNTRS-1 generate
+   	CNTR_WR : counter
+   	generic map ( 
+   		C_STEP    => CNTR_STEP(i),
+   		C_WIDTH   => CNTR_WIDTH(i)
+   	)
+  	 port map (
+   		CLK       => CLK,
+   		RST       => cnt_rst,
+   		ENABLE    => sl_cntr_en(i),
+   		LOAD      => sl_load(i),
+   		LOWER_BND => sl_lower_bnd(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		UPPER_BND => sl_upper_bnd(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		ITERATOR  => sl_iterators(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		REG_CNTR  => sl_reg_cntrs(i*QUANT+CNTR_WIDTH(i)-1 downto i*QUANT),
+   		DONE      => sl_done(i)
+   	);
+   end generate;
+   --
+   DONE_PRCS: process(CLK)
+   begin
+   	if rising_edge(CLK) then
+   	    if( RST = '1' ) then
+   		    sl_stop     <= '0';
+   		    sl_done_all <= '0';
+   		    sl_sof      <= '1';
+   	    else 
+   		    if (sl_cntr_en(N_CNTRS)='1' and (WRAP=false or sl_halt='1')) then
+   			    sl_stop <= '1';
+   		    elsif (WRAP=true) then
+   			    sl_stop <= '0';
+   		    end if;
+   		    if (sl_stop='0') then
+   			    sl_done_all <= sl_cntr_en(N_CNTRS);
+   		    end if;
+   		    if (ENABLE='1') then
+   			    sl_sof <= sl_eof;
+   		    end if;
+   	    end if;
+   	end if;
+   end process;
+   --
+   sl_no_request <= '0' when (sl_CONTROL=(sl_CONTROL'range =>'0') and sl_halt='0') else '1';
+   CONTROL <= sl_CONTROL;
+   --
+   DONE <= sl_done_all;     -- '1' in the clock cycle when the counters roll over (from the last point in the space to the firts pont)
+   STOP <= sl_stop;         -- '1' = The couter stoped after the end of the itteration space. 
+   --
+   sl_count      <=  '0' when (sl_stop='1') else
+   			'1' when (((sl_fire='0') or (ENABLE='1'))) else '0';
+   sl_cntr_en(0) <=  sl_count; -- makes the EVAL_LOGIC count
+   --
+   sl_cntr_en(N_CNTRS  downto 1) <= sl_cntr_en(N_CNTRS-1  downto 0) and sl_done(N_CNTRS-1  downto 0);
+   sl_eof <= sl_cntr_en(N_CNTRS);      -- End-of-frame (combinatorial; beter not use it outside)
+   --
+end RTL;
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_4/src/vhdl/param_stream2rtl_hwn_nd_4_execution_unit.vhd b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_4/src/vhdl/param_stream2rtl_hwn_nd_4_execution_unit.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..0d7a0b926659c795207e53c426dc4830e796a6d0
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/hwn_nd_4/src/vhdl/param_stream2rtl_hwn_nd_4_execution_unit.vhd
@@ -0,0 +1,109 @@
+-- Execute Unit automatically generated by KpnMapper
+-- Function "compaan_outlinedproc1"
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library compaandesign_com_common_common_1_lib;
+use compaandesign_com_common_common_1_lib.hw_node_pkg.all;
+
+library compaandesign_com_param_stream2rtl_functions_1_lib;
+use compaandesign_com_param_stream2rtl_functions_1_lib.all;
+
+entity param_stream2rtl_EXECUTION_UNIT_hwn_nd_4 is
+   generic (
+      N_INPORTS  : natural := 1;
+      N_OUTPORTS : natural := 1;
+      IP_RESET   : natural := 1; 
+      STIM_DIR   : string  := "bla";
+      QUANT      : natural := 32;
+      c_STAGES   : natural := 1;
+      N_CNTRS    : natural := 1; 
+      CNTR_QUANT : natural := 32; 
+      CNTR_WIDTH : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 ) 
+   );
+   port (
+      RST        : in  std_logic;
+      CLK        : in  std_logic;
+      -- Funtion Input parameters
+      IN_PORT_0    : in  std_logic_vector(63 downto 0);  -- Param. "tmp1"
+      READ       : out std_logic_vector(N_INPORTS-1 downto 0);
+      EXIST      : in  std_logic_vector(N_INPORTS-1 downto 0);
+      -- Iterators
+      REG_CNTRS_RD : in  std_logic_vector(N_CNTRS*CNTR_QUANT-1 downto 0);
+      -- Funtion Output parameters
+      OUT_PORT_0   : out std_logic_vector(63 downto 0);  -- Param. "tmp0"
+      WRITE      : out std_logic_vector(N_OUTPORTS-1 downto 0);
+      FULL       : in  std_logic_vector(N_OUTPORTS-1 downto 0);
+      STOP_RD    : in  std_logic;
+      STOP_WR    : in  std_logic;
+      ERROR      : out std_logic
+   );
+end param_stream2rtl_EXECUTION_UNIT_hwn_nd_4 ;
+
+-- Laura implementation
+architecture Laura of param_stream2rtl_EXECUTION_UNIT_hwn_nd_4 is
+
+   component compaan_outlinedproc1 is
+      generic (
+         STIM_DIR   : string  := "bla";
+         c_STAGES   : natural := 1;
+         N_CNTRS    : natural := 1; 
+         CNTR_QUANT : natural := 32; 
+         CNTR_WIDTH : t_counter_width := ( 0=>10, 1=>10, 2=>9, others=>10 ) 
+      );
+      port (
+         RST   : in std_logic;
+         CLK   : in std_logic;
+         -- Inputs 
+         ip_tmp1  : in  std_logic_vector(63 downto 0);  
+         -- Iterators 
+         it_x : in  std_logic_vector(CNTR_WIDTH(0)-1 downto 0);
+         EXIST : in  std_logic_vector(0 downto 0);
+         READF : out std_logic_vector(0 downto 0);
+         -- Outputs 
+         op_tmp0 : out std_logic_vector(63 downto 0);
+         FULL  : in  std_logic_vector(0 downto 0);
+         WRITEF: out std_logic_vector(0 downto 0);
+         --
+         STOP_RD : in  std_logic;
+         STOP_WR : in  std_logic;
+         ERROR   : out std_logic
+      );
+   end component;
+
+   signal sl_RST : std_logic;
+
+begin
+
+   sl_RST <= RST when IP_RESET=1 else not RST;
+
+   FUNC : compaan_outlinedproc1
+   generic map (
+         STIM_DIR      => STIM_DIR,
+         c_STAGES      => c_STAGES,
+         N_CNTRS       => N_CNTRS,
+         CNTR_QUANT    => CNTR_QUANT,
+         CNTR_WIDTH    => CNTR_WIDTH
+   )
+   port map (
+      RST   => sl_RST,
+      CLK   => CLK,
+      -- Inputs 
+      ip_tmp1 => IN_PORT_0,
+      -- Iterators 
+      it_x => REG_CNTRS_RD(0*CNTR_QUANT+CNTR_WIDTH(0)-1 downto 0*CNTR_QUANT),
+      EXIST => EXIST,
+      READF => READ,
+      -- Outputs 
+      op_tmp0 => OUT_PORT_0,
+      FULL  => FULL,
+      WRITEF=> WRITE,
+      -- 
+      STOP_RD => STOP_RD,
+      STOP_WR => STOP_WR,
+      ERROR   => ERROR
+   );
+
+end Laura;
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/register_rf/hdllib.cfg b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/register_rf/hdllib.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..5b50761c6a7ec08b809ee3c8a8472942f7f81b5f
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/register_rf/hdllib.cfg
@@ -0,0 +1,15 @@
+hdl_lib_name = compaandesign_com_param_stream2rtl_register_rf_1
+hdl_library_clause_name = compaandesign_com_param_stream2rtl_register_rf_1_lib
+hdl_lib_uses_synth = 
+hdl_lib_technology = ip_stratixiv
+
+build_dir_sim = $HDL_BUILD_DIR
+build_dir_synth = $HDL_BUILD_DIR
+
+# Specify here all the files you want to be included in the library.
+synth_files =
+	src/vhdl/register_rf.vhd
+
+test_bench_files =
+
+modelsim_copy_files =
diff --git a/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/register_rf/src/vhdl/register_rf.vhd b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/register_rf/src/vhdl/register_rf.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..d1cee7509b93a4797774302154de26a94a5fc7fd
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/compaandesign_com/param_stream2rtl/register_rf/src/vhdl/register_rf.vhd
@@ -0,0 +1,80 @@
+-------------------------------------------------------------------------------
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+entity register_rf is
+ generic (
+	C_brightness_rf_address   : std_logic_vector(18 downto 0) := B"0000000000000000000" -- 0
+ );
+
+port (
+	rst  : in std_logic;
+	clk  : in std_logic;
+	pci_clk  : in std_logic;
+	--
+	
+	-- Interface to PCIe 
+	address         : in std_logic_vector(18 downto 0);
+	read_data       : out std_logic_vector(31 downto 0);
+	read_en         : in std_logic;
+	write_en        : in std_logic;
+	write_data      : in std_logic_vector(31 downto 0);
+	--
+	-- Interface to reg brightness
+	brightness_rf_read_data       : in std_logic_vector(32-1 downto 0);
+	brightness_rf_read_en         : out std_logic;
+	brightness_rf_write_en        : out std_logic;
+	brightness_rf_write_data      : out std_logic_vector(32-1 downto 0)
+ 
+);
+end register_rf;
+
+architecture RTL of register_rf is
+ 
+	signal sl_read_data : std_logic_vector(32-1 downto 0)   := (others=>'0');
+ 
+begin
+process (pci_clk,rst)
+	begin
+		if (rising_edge(pci_clk)) then
+			if (rst = '1') then
+				brightness_rf_write_en <= '0';
+				brightness_rf_read_en  <= '0';
+				brightness_rf_write_data  <= (others => '0');
+			else
+
+				if ( (address(18 downto 2) = C_brightness_rf_address(18 downto 2)) and write_en = '1') then
+						brightness_rf_write_data <= write_data(32-1 downto 0);
+						brightness_rf_write_en <= '1';
+				else
+					brightness_rf_write_en <= '0';
+				end if;
+
+				if( (address(18 downto 2) = C_brightness_rf_address(18 downto 2)) and read_en= '1') then
+					brightness_rf_read_en <= '1';
+				else
+					brightness_rf_read_en <= '0';
+				end if;
+		end if;
+	end if;
+end process;
+
+process (pci_clk,rst)
+begin
+  if (rising_edge(pci_clk)) then
+     if (rst = '1') then
+	  else
+	    case  address(18 downto 2)  is
+			when (C_brightness_rf_address(18 downto 2) ) =>
+			  sl_read_data(32-1 downto 0) <=   brightness_rf_read_data;
+			when others => 
+				sl_read_data <=   (others => '0');
+		end case;
+	 end if;
+	end if;
+end process;
+
+read_data <=sl_read_data;
+
+end RTL;
diff --git a/applications/compaan/libraries/param_stream/hdllib.cfg b/applications/compaan/libraries/param_stream/hdllib.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..0d2a0e3f6cd82a9e921c2667fcd0fb9a6d6cadd1
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/hdllib.cfg
@@ -0,0 +1,21 @@
+hdl_lib_name = param_stream
+hdl_library_clause_name = param_stream_lib
+
+hdl_lib_uses_synth = compaandesign_com_param_stream2rtl_hwn_nd_3_1 compaandesign_com_altera_fifo_1 compaandesign_com_param_stream2rtl_register_rf_1 compaandesign_com_param_stream2rtl_hwn_nd_2_1 compaandesign_com_param_stream2rtl_hwn_nd_4_1 
+hdl_lib_technology = ip_stratixiv
+
+build_dir_sim = $HDL_BUILD_DIR
+build_dir_synth = $HDL_BUILD_DIR
+
+# Specify here all the files you want to be included in the library.
+synth_files = 
+	src/vhdl/param_stream.vhd
+	src/vhdl/param_stream2rtl_ed_1_ip_wrapper.vhd
+	src/vhdl/param_stream2rtl_ed_2_ip_wrapper.vhd
+	src/vhdl/param_stream2rtl_hwn_nd_2_ip_wrapper.vhd
+	src/vhdl/param_stream2rtl_hwn_nd_3_ip_wrapper.vhd
+	src/vhdl/param_stream2rtl_hwn_nd_4_ip_wrapper.vhd
+	src/vhdl/param_stream2rtl_register_rf_ip_wrapper.vhd
+
+test_bench_files =
+	src/vhdl/system_ext_TB.vhd
diff --git a/applications/compaan/libraries/param_stream/modelsim_hier_timeline.tcl b/applications/compaan/libraries/param_stream/modelsim_hier_timeline.tcl
new file mode 100644
index 0000000000000000000000000000000000000000..c178c341dbc0f4b18760a47bf23363af20e4cab1
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/modelsim_hier_timeline.tcl
@@ -0,0 +1,5 @@
+divider add TIMELINE -color darkgreen
+wave add SUT/param_stream2rtl_hwn_nd_2_ip/param_stream2rtl_hwn_nd_2_ip_wrapper_ip/EX/FUNC/CTRL/execute_pipe -name compaandesign.com:param_stream2rtl:hwn_nd_2:1
+wave add SUT/param_stream2rtl_hwn_nd_3_ip/param_stream2rtl_hwn_nd_3_ip_wrapper_ip/EX/FUNC/CTRL/execute_pipe -name compaandesign.com:param_stream2rtl:hwn_nd_3:1
+wave add SUT/param_stream2rtl_hwn_nd_4_ip/param_stream2rtl_hwn_nd_4_ip_wrapper_ip/EX/FUNC/CTRL/execute_pipe -name compaandesign.com:param_stream2rtl:hwn_nd_4:1
+divider add TIMELINE -color darkgreen
diff --git a/applications/compaan/libraries/param_stream/modelsim_system.do b/applications/compaan/libraries/param_stream/modelsim_system.do
new file mode 100644
index 0000000000000000000000000000000000000000..46b2d3710da99daf99f3f07698264e9205306537
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/modelsim_system.do
@@ -0,0 +1,328 @@
+transcript on
+
+onerror {quit -f}
+onbreak {quit -f}
+config wave -signalnamewidth 1
+
+#source vhdl-library-setup.tcl
+
+set path_to_quartus /opt/Altera/15.0/quartus
+vlib lpm
+vmap lpm lpm
+vcom -work lpm -2002 -explicit $path_to_quartus/eda/sim_lib/220pack.vhd
+vcom -work lpm -2002 -explicit $path_to_quartus/eda/sim_lib/220model.vhd
+
+vlib sgate
+vmap sgate sgate
+vcom -work sgate -2002 -explicit $path_to_quartus/eda/sim_lib/sgate_pack.vhd
+vcom -work sgate -2002 -explicit $path_to_quartus/eda/sim_lib/sgate.vhd
+
+vlib altera_mf
+vmap altera_mf altera_mf
+vcom -work altera_mf -2002 -explicit $path_to_quartus/eda/sim_lib/altera_mf_components.vhd
+vcom -work altera_mf -2002 -explicit $path_to_quartus/eda/sim_lib/altera_mf.vhd
+
+vlib altera_lnsim
+vmap altera_lnsim altera_lnsim
+vcom -work altera_lnsim -2002 -explicit $path_to_quartus/eda/sim_lib/altera_lnsim_components.vhd
+vcom -work altera_mf -2002 -explicit $path_to_quartus/eda/sim_lib/altera_mf.vhd
+
+vlib altera
+vmap altera altera
+vcom -work altera -2002 -explicit $path_to_quartus/eda/sim_lib/altera_primitives_components.vhd
+vcom -work altera -2002 -explicit $path_to_quartus/eda/sim_lib/altera_primitives.vhd
+
+vlib stratixiv
+vmap stratixiv stratixiv
+vcom -work stratixiv -2002 -explicit $path_to_quartus/eda/sim_lib/stratixiv_atoms.vhd
+vcom -work stratixiv -2002 -explicit $path_to_quartus/eda/sim_lib/stratixiv_components.vhd
+
+vlib stratixiv_hssi
+vmap stratixiv_hssi stratixiv_hssi
+vcom -work stratixiv_hssi -2002 -explicit $path_to_quartus/eda/sim_lib/stratixiv_hssi_components.vhd
+vcom -work stratixiv_hssi -2002 -explicit $path_to_quartus/eda/sim_lib/stratixiv_hssi_atoms.vhd
+
+vlib stratixiv_pcie_hip
+vmap stratixiv_pcie_hip stratixiv_pcie_hip
+vcom -work stratixiv_pcie_hip -2002 -explicit $path_to_quartus/eda/sim_lib/stratixiv_pcie_hip_components.vhd
+vcom -work stratixiv_pcie_hip -2002 -explicit $path_to_quartus/eda/sim_lib/stratixiv_pcie_hip_atoms.vhd
+
+if {[file exists work]} {
+	vdel -lib work -all
+}
+vlib work
+vmap work work
+
+if {[file exists technology_lib]} {
+	vdel -lib technology_lib -all
+}
+vlib technology_lib
+vmap work technology_lib
+
+if {[file exists common_lib]} {
+	vdel -lib common_lib -all
+}
+vlib common_lib
+vmap work common_lib
+
+if {[file exists tech_memory_lib]} {
+	vdel -lib tech_memory_lib -all
+}
+vlib tech_memory_lib
+vmap work tech_memory_lib
+
+if {[file exists ip_stratixiv_fifo_lib]} {
+	vdel -lib ip_stratixiv_fifo_lib -all
+}
+vlib ip_stratixiv_fifo_lib
+vmap work ip_stratixiv_fifo_lib
+
+if {[file exists ip_stratixiv_ram_lib]} {
+	vdel -lib ip_stratixiv_ram_lib -all
+}
+vlib ip_stratixiv_ram_lib
+vmap work ip_stratixiv_ram_lib
+
+if {[file exists ip_arria10_ram_lib]} {
+	vdel -lib ip_arria10_ram_lib -all
+}
+vlib ip_arria10_ram_lib
+vmap work ip_arria10_ram_lib
+
+if {[file exists ip_arria10_fifo_lib]} {
+	vdel -lib ip_arria10_fifo_lib -all
+}
+vlib ip_arria10_fifo_lib
+vmap work ip_arria10_fifo_lib
+
+if {[file exists ip_arria10_e3sge3_fifo_lib]} {
+	vdel -lib ip_arria10_e3sge3_fifo_lib -all
+}
+vlib ip_arria10_e3sge3_fifo_lib
+vmap work ip_arria10_e3sge3_fifo_lib
+
+if {[file exists ip_arria10_e3sge3_ram_lib]} {
+	vdel -lib ip_arria10_e3sge3_ram_lib -all
+}
+vlib ip_arria10_e3sge3_ram_lib
+vmap work ip_arria10_e3sge3_ram_lib
+
+if {[file exists tech_fifo_lib]} {
+	vdel -lib tech_fifo_lib -all
+}
+vlib tech_fifo_lib
+vmap work tech_fifo_lib
+
+if {[file exists dp_lib]} {
+	vdel -lib dp_lib -all
+}
+vlib dp_lib
+vmap work dp_lib
+
+
+set SVNROOT /home/kienhuis/svnroot/UniBoard_FP7
+set RadioHDL ${SVNROOT}/RadioHDL/trunk
+set UniBoard ${SVNROOT}/UniBoard/trunk
+
+vcom -93 -work common_lib ${UniBoard}/Firmware/modules/common/src/vhdl/common_pkg.vhd
+vcom -93 -work work ${UniBoard}/Firmware/modules/common/src/vhdl/common_pkg.vhd
+vcom -93 -work work ${RadioHDL}/libraries/base/common/src/vhdl/common_mem_pkg.vhd
+vcom -93 -work common_lib ${RadioHDL}/libraries/base/common/src/vhdl/common_mem_pkg.vhd
+vcom -93 -work work ${RadioHDL}/libraries/technology/technology_pkg.vhd
+vcom -93 -work technology_lib ${RadioHDL}/libraries/technology/technology_pkg.vhd
+vcom -93 -work work ${RadioHDL}/libraries/technology/technology_select_pkg.vhd
+vcom -93 -work technology_lib ${RadioHDL}/libraries/technology/technology_select_pkg.vhd
+
+vcom -93 -work ip_arria10_fifo_lib ${RadioHDL}/libraries/technology/ip_arria10/fifo/ip_arria10_fifo_sc.vhd
+
+vcom -93 -work ip_stratixiv_fifo_lib ${RadioHDL}/libraries/technology/ip_stratixiv/fifo/ip_stratixiv_fifo_dc.vhd
+vcom -93 -work ip_stratixiv_fifo_lib ${RadioHDL}/libraries/technology/ip_stratixiv/fifo/ip_stratixiv_fifo_sc.vhd
+vcom -93 -work ip_stratixiv_fifo_lib ${RadioHDL}/libraries/technology/ip_stratixiv/fifo/ip_stratixiv_fifo_dc_mixed_widths.vhd
+
+vcom -93 -work ip_arria10_e3sge3_fifo_lib ${RadioHDL}/libraries/technology/ip_arria10_e3sge3/fifo/ip_arria10_e3sge3_fifo_dc.vhd
+vcom -93 -work ip_arria10_e3sge3_fifo_lib ${RadioHDL}/libraries/technology/ip_arria10_e3sge3/fifo/ip_arria10_e3sge3_fifo_sc.vhd
+vcom -93 -work ip_arria10_e3sge3_fifo_lib ${RadioHDL}/libraries/technology/ip_arria10_e3sge3/fifo/ip_arria10_e3sge3_fifo_dc_mixed_widths.vhd
+
+vcom -93 -work tech_fifo_lib ${RadioHDL}/libraries/technology/fifo/tech_fifo_component_pkg.vhd
+vcom -93 -work tech_fifo_lib ${RadioHDL}/libraries/technology/fifo/tech_fifo_dc.vhd
+vcom -93 -work tech_fifo_lib ${RadioHDL}/libraries/technology/fifo/tech_fifo_sc.vhd
+vcom -93 -work tech_fifo_lib ${RadioHDL}/libraries/technology/fifo/tech_fifo_dc_mixed_widths.vhd
+vcom -93 -work common_lib ${UniBoard}/Firmware/modules/common/src/vhdl/common_async.vhd
+vcom -93 -work common_lib ${UniBoard}/Firmware/modules/common/src/vhdl/common_areset.vhd
+
+vcom -93 -work dp_lib ${RadioHDL}/libraries/base/dp/src/vhdl/dp_stream_pkg.vhd
+vcom -93 -work dp_lib ${UniBoard}/Firmware/modules/dp/src/vhdl/dp_latency_increase.vhd
+vcom -93 -work dp_lib ${UniBoard}/Firmware/modules/dp/src/vhdl/dp_latency_adapter.vhd
+
+vcom -93 -work common_lib ${RadioHDL}/libraries/base/common/src/vhdl/common_fifo_sc.vhd
+vcom -93 -work common_lib ${RadioHDL}/libraries/base/common/src/vhdl/common_fifo_dc.vhd
+vcom -93 -work dp_lib ${RadioHDL}/libraries/base/dp/src/vhdl/dp_fifo_core.vhd
+vcom -93 -work dp_lib ${RadioHDL}/libraries/base/dp/src/vhdl/dp_fifo_sc.vhd
+
+vcom -93 -work common_lib ${UniBoard}/Firmware/modules/common/src/vhdl/common_async.vhd
+vcom -93 -work common_lib ${UniBoard}/Firmware/modules/common/src/vhdl/common_pipeline.vhd
+
+vcom -93 -work ip_stratixiv_ram_lib ${RadioHDL}/libraries/technology/ip_stratixiv/ram/ip_stratixiv_ram_crw_crw.vhd
+vcom -93 -work ip_stratixiv_ram_lib ${RadioHDL}/libraries/technology/ip_stratixiv/ram/ip_stratixiv_ram_cr_cw.vhd
+
+vcom -93 -work ip_arria10_ram_lib ${RadioHDL}/libraries/technology/ip_arria10/ram/ip_arria10_simple_dual_port_ram_dual_clock.vhd
+vcom -93 -work ip_arria10_ram_lib ${RadioHDL}/libraries/technology/ip_arria10/ram/ip_arria10_true_dual_port_ram_dual_clock.vhd
+vcom -93 -work ip_arria10_ram_lib ${RadioHDL}/libraries/technology/ip_arria10/ram/ip_arria10_ram_crw_crw.vhd
+vcom -93 -work ip_arria10_ram_lib ${RadioHDL}/libraries/technology/ip_arria10/ram/ip_arria10_ram_cr_cw.vhd
+
+vcom -93 -work ip_arria10_e3sge3_ram_lib ${RadioHDL}/libraries/technology/ip_arria10_e3sge3/ram/ip_arria10_e3sge3_simple_dual_port_ram_dual_clock.vhd
+vcom -93 -work ip_arria10_e3sge3_ram_lib ${RadioHDL}/libraries/technology/ip_arria10_e3sge3/ram/ip_arria10_e3sge3_true_dual_port_ram_dual_clock.vhd
+vcom -93 -work ip_arria10_e3sge3_ram_lib ${RadioHDL}/libraries/technology/ip_arria10_e3sge3/ram/ip_arria10_e3sge3_ram_cr_cw.vhd
+vcom -93 -work ip_arria10_e3sge3_ram_lib ${RadioHDL}/libraries/technology/ip_arria10_e3sge3/ram/ip_arria10_e3sge3_ram_cr_cw.vhd
+
+vcom -93 -work tech_memory_lib ${RadioHDL}/libraries/technology/memory/tech_memory_component_pkg.vhd
+vcom -93 -work tech_memory_lib ${RadioHDL}/libraries/technology/memory/tech_memory_ram_cr_cw.vhd
+vcom -93 -work tech_memory_lib ${RadioHDL}/libraries/technology/memory/tech_memory_ram_crw_crw.vhd
+
+vcom -93 -work common_lib ${RadioHDL}/libraries/base/common/src/vhdl/common_ram_crw_crw.vhd
+vcom -93 -work common_lib ${RadioHDL}/libraries/base/common/src/vhdl/common_ram_rw_rw.vhd
+vcom -93 -work common_lib ${RadioHDL}/libraries/base/common/src/vhdl/common_ram_r_w.vhd
+
+# -- Compaan Specific 
+if {[file exists compaandesign_com_common_common_1_lib]} {
+	vdel -lib compaandesign_com_common_common_1_lib -all
+}
+vlib compaandesign_com_common_common_1_lib
+vmap work compaandesign_com_common_common_1_lib
+
+vcom -93 -work compaandesign_com_common_common_1_lib {compaandesign_com/common/common/src/vhdl/hw_node_pkg.vhd}
+
+if {[file exists compaandesign_com_common_const_connector_1_lib]} {
+	vdel -lib compaandesign_com_common_const_connector_1_lib -all
+}
+vlib compaandesign_com_common_const_connector_1_lib
+vmap work compaandesign_com_common_const_connector_1_lib
+
+vcom -93 -work compaandesign_com_common_const_connector_1_lib {compaandesign_com/common/const_connector/src/vhdl/const_connector.vhd}
+
+if {[file exists compaandesign_com_altera_fifo_1_lib]} {
+	vdel -lib compaandesign_com_altera_fifo_1_lib -all
+}
+vlib compaandesign_com_altera_fifo_1_lib
+vmap work compaandesign_com_altera_fifo_1_lib
+
+vcom -93 -work compaandesign_com_altera_fifo_1_lib {compaandesign_com/altera/fifo/src/vhdl/fsl_v20.vhd}
+
+if {[file exists compaandesign_com_altera_memory_1_lib]} {
+	vdel -lib compaandesign_com_altera_memory_1_lib -all
+}
+vlib compaandesign_com_altera_memory_1_lib
+vmap work compaandesign_com_altera_memory_1_lib
+
+vcom -93 -work compaandesign_com_altera_memory_1_lib {compaandesign_com/altera/memory/src/vhdl/sync_bram.vhd}
+
+if {[file exists compaandesign_com_common_extern_connector_1_lib]} {
+	vdel -lib compaandesign_com_common_extern_connector_1_lib -all
+}
+vlib compaandesign_com_common_extern_connector_1_lib
+vmap work compaandesign_com_common_extern_connector_1_lib
+
+vcom -93 -work compaandesign_com_common_extern_connector_1_lib {compaandesign_com/common/extern_connector/src/vhdl/extern_connector.vhd}
+
+if {[file exists compaandesign_com_common_hwnode_1_lib]} {
+	vdel -lib compaandesign_com_common_hwnode_1_lib -all
+}
+vlib compaandesign_com_common_hwnode_1_lib
+vmap work compaandesign_com_common_hwnode_1_lib
+
+vcom -93 -work compaandesign_com_common_hwnode_1_lib {compaandesign_com/common/hwnode/src/vhdl/controller.vhd}
+vcom -93 -work compaandesign_com_common_hwnode_1_lib {compaandesign_com/common/hwnode/src/vhdl/counter.vhd}
+vcom -93 -work compaandesign_com_common_hwnode_1_lib {compaandesign_com/common/hwnode/src/vhdl/it_mod.vhd}
+vcom -93 -work compaandesign_com_common_hwnode_1_lib {compaandesign_com/common/hwnode/src/vhdl/it_mul.vhd}
+vcom -93 -work compaandesign_com_common_hwnode_1_lib {compaandesign_com/common/hwnode/src/vhdl/external_parameters.vhd}
+vcom -93 -work compaandesign_com_common_hwnode_1_lib {compaandesign_com/common/hwnode/src/vhdl/internal_parameters.vhd}
+vcom -93 -work compaandesign_com_common_hwnode_1_lib {compaandesign_com/common/hwnode/src/vhdl/read_mux.vhd}
+vcom -93 -work compaandesign_com_common_hwnode_1_lib {compaandesign_com/common/hwnode/src/vhdl/read_mmux.vhd}
+vcom -93 -work compaandesign_com_common_hwnode_1_lib {compaandesign_com/common/hwnode/src/vhdl/write_demux.vhd}
+
+if {[file exists compaandesign_com_common_wire_connector_1_lib]} {
+	vdel -lib compaandesign_com_common_wire_connector_1_lib -all
+}
+vlib compaandesign_com_common_wire_connector_1_lib
+vmap work compaandesign_com_common_wire_connector_1_lib
+
+vcom -93 -work compaandesign_com_common_wire_connector_1_lib {compaandesign_com/common/wire_connector/src/vhdl/wire_connector.vhd}
+
+if {[file exists compaandesign_com_param_stream2rtl_functions_1_lib]} {
+	vdel -lib compaandesign_com_param_stream2rtl_functions_1_lib -all
+}
+vlib compaandesign_com_param_stream2rtl_functions_1_lib
+vmap work compaandesign_com_param_stream2rtl_functions_1_lib
+
+vcom -93 -work compaandesign_com_param_stream2rtl_functions_1_lib {compaandesign_com/param_stream2rtl/functions/src/vhdl/compaan_outlinedproc0.vhd}
+vcom -93 -work compaandesign_com_param_stream2rtl_functions_1_lib {compaandesign_com/param_stream2rtl/functions/src/vhdl/compaan_outlinedproc0_pipeline.vhd}
+vcom -93 -work compaandesign_com_param_stream2rtl_functions_1_lib {compaandesign_com/param_stream2rtl/functions/src/vhdl/transformer.vhd}
+vcom -93 -work compaandesign_com_param_stream2rtl_functions_1_lib {compaandesign_com/param_stream2rtl/functions/src/vhdl/transformer_pipeline.vhd}
+vcom -93 -work compaandesign_com_param_stream2rtl_functions_1_lib {compaandesign_com/param_stream2rtl/functions/src/vhdl/compaan_outlinedproc1.vhd}
+vcom -93 -work compaandesign_com_param_stream2rtl_functions_1_lib {compaandesign_com/param_stream2rtl/functions/src/vhdl/compaan_outlinedproc1_pipeline.vhd}
+
+if {[file exists compaandesign_com_param_stream2rtl_hwn_nd_2_1_lib]} {
+	vdel -lib compaandesign_com_param_stream2rtl_hwn_nd_2_1_lib -all
+}
+vlib compaandesign_com_param_stream2rtl_hwn_nd_2_1_lib
+vmap work compaandesign_com_param_stream2rtl_hwn_nd_2_1_lib
+
+vcom -93 -work compaandesign_com_param_stream2rtl_hwn_nd_2_1_lib {compaandesign_com/param_stream2rtl/hwn_nd_2/src/vhdl/param_stream2rtl_hwn_nd_2_execution_unit.vhd}
+vcom -93 -work compaandesign_com_param_stream2rtl_hwn_nd_2_1_lib {compaandesign_com/param_stream2rtl/hwn_nd_2/src/vhdl/param_stream2rtl_hwn_nd_2_eval_logic_rd.vhd}
+vcom -93 -work compaandesign_com_param_stream2rtl_hwn_nd_2_1_lib {compaandesign_com/param_stream2rtl/hwn_nd_2/src/vhdl/param_stream2rtl_hwn_nd_2_eval_logic_wr.vhd}
+vcom -93 -work compaandesign_com_param_stream2rtl_hwn_nd_2_1_lib {compaandesign_com/param_stream2rtl/hwn_nd_2/src/vhdl/param_stream2rtl_hwn_nd_2.vhd}
+
+if {[file exists compaandesign_com_param_stream2rtl_hwn_nd_3_1_lib]} {
+	vdel -lib compaandesign_com_param_stream2rtl_hwn_nd_3_1_lib -all
+}
+vlib compaandesign_com_param_stream2rtl_hwn_nd_3_1_lib
+vmap work compaandesign_com_param_stream2rtl_hwn_nd_3_1_lib
+
+vcom -93 -work compaandesign_com_param_stream2rtl_hwn_nd_3_1_lib {compaandesign_com/param_stream2rtl/hwn_nd_3/src/vhdl/param_stream2rtl_hwn_nd_3_execution_unit.vhd}
+vcom -93 -work compaandesign_com_param_stream2rtl_hwn_nd_3_1_lib {compaandesign_com/param_stream2rtl/hwn_nd_3/src/vhdl/param_stream2rtl_hwn_nd_3_eval_logic_rd.vhd}
+vcom -93 -work compaandesign_com_param_stream2rtl_hwn_nd_3_1_lib {compaandesign_com/param_stream2rtl/hwn_nd_3/src/vhdl/param_stream2rtl_hwn_nd_3_eval_logic_wr.vhd}
+vcom -93 -work compaandesign_com_param_stream2rtl_hwn_nd_3_1_lib {compaandesign_com/param_stream2rtl/hwn_nd_3/src/vhdl/param_stream2rtl_hwn_nd_3.vhd}
+
+if {[file exists compaandesign_com_param_stream2rtl_hwn_nd_4_1_lib]} {
+	vdel -lib compaandesign_com_param_stream2rtl_hwn_nd_4_1_lib -all
+}
+vlib compaandesign_com_param_stream2rtl_hwn_nd_4_1_lib
+vmap work compaandesign_com_param_stream2rtl_hwn_nd_4_1_lib
+
+vcom -93 -work compaandesign_com_param_stream2rtl_hwn_nd_4_1_lib {compaandesign_com/param_stream2rtl/hwn_nd_4/src/vhdl/param_stream2rtl_hwn_nd_4_execution_unit.vhd}
+vcom -93 -work compaandesign_com_param_stream2rtl_hwn_nd_4_1_lib {compaandesign_com/param_stream2rtl/hwn_nd_4/src/vhdl/param_stream2rtl_hwn_nd_4_eval_logic_rd.vhd}
+vcom -93 -work compaandesign_com_param_stream2rtl_hwn_nd_4_1_lib {compaandesign_com/param_stream2rtl/hwn_nd_4/src/vhdl/param_stream2rtl_hwn_nd_4_eval_logic_wr.vhd}
+vcom -93 -work compaandesign_com_param_stream2rtl_hwn_nd_4_1_lib {compaandesign_com/param_stream2rtl/hwn_nd_4/src/vhdl/param_stream2rtl_hwn_nd_4.vhd}
+
+if {[file exists compaandesign_com_param_stream2rtl_register_rf_1_lib]} {
+	vdel -lib compaandesign_com_param_stream2rtl_register_rf_1_lib -all
+}
+vlib compaandesign_com_param_stream2rtl_register_rf_1_lib
+vmap work compaandesign_com_param_stream2rtl_register_rf_1_lib
+
+vcom -93 -work compaandesign_com_param_stream2rtl_register_rf_1_lib {compaandesign_com/param_stream2rtl/register_rf/src/vhdl/register_rf.vhd}
+
+
+
+
+vcom -93 -work work src/vhdl/param_stream.vhd
+vcom -93 -work work src/vhdl/param_stream2rtl_ed_1_ip_wrapper.vhd
+vcom -93 -work work src/vhdl/param_stream2rtl_ed_2_ip_wrapper.vhd
+vcom -93 -work work src/vhdl/param_stream2rtl_hwn_nd_2_ip_wrapper.vhd
+vcom -93 -work work src/vhdl/param_stream2rtl_hwn_nd_3_ip_wrapper.vhd
+vcom -93 -work work src/vhdl/param_stream2rtl_hwn_nd_4_ip_wrapper.vhd
+vcom -93 -work work src/vhdl/param_stream2rtl_register_rf_ip_wrapper.vhd
+vcom -93 -work work src/vhdl/system_ext_TB.vhd
+
+vsim -t 1ps -L altera -L lpm -L sgate -L altera_mf -L altera_lnsim -L stratixiv_hssi -L ip_stratixiv_ram_lib -L stratixiv_pcie_hip -L stratixiv -L common_lib -L tech_memory_lib  -L ip_stratixiv_fifo_lib -L tech_fifo_lib -L dp_lib -L technology_lib -L work   -L compaandesign_com_param_stream2rtl_hwn_nd_3_1_lib -L compaandesign_com_common_wire_connector_1_lib -L compaandesign_com_param_stream2rtl_functions_1_lib -L compaandesign_com_altera_fifo_1_lib -L compaandesign_com_common_const_connector_1_lib -L compaandesign_com_param_stream2rtl_register_rf_1_lib -L compaandesign_com_param_stream2rtl_hwn_nd_2_1_lib -L compaandesign_com_altera_memory_1_lib -L compaandesign_com_common_hwnode_1_lib -L compaandesign_com_common_common_1_lib -L compaandesign_com_common_extern_connector_1_lib -L compaandesign_com_param_stream2rtl_hwn_nd_4_1_lib -voptargs="+acc" system_ext_TB
+#add wave *
+#view structure
+#view signals
+#source isim_wave.tcl
+
+set StdArithNoWarnings 1
+set NumericStdNoWarnings 1
+run -all
+
+quit -f
+
diff --git a/applications/compaan/libraries/param_stream/run_quartus.tcl b/applications/compaan/libraries/param_stream/run_quartus.tcl
new file mode 100644
index 0000000000000000000000000000000000000000..11201204309453b1443f01be8c753604ef2b2f9b
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/run_quartus.tcl
@@ -0,0 +1,88 @@
+# Load Quartus II Tcl Project package
+package require ::quartus::project
+
+set need_to_close_project 0
+set make_assignments 1
+
+# Check that the right project is open
+if {[is_project_open]} {
+	if {[string compare $quartus(project) "param_stream"]} {
+	puts "Project param_stream is not open"
+	set make_assignments 0
+}
+} else {
+	# Only open if not already open
+	if {[project_exists param_stream]} {
+		project_open -revision param_stream param_stream
+	} else {
+		project_new -revision param_stream param_stream
+	}
+}
+set need_to_close_project 1
+
+# Make assignments
+if {$make_assignments} {
+	set_global_assignment -name ORIGINAL_QUARTUS_VERSION 12.0
+	set_global_assignment -name PROJECT_CREATION_TIME_DATE "15:41:26  JANUARY 22, 2015"
+	set_global_assignment -name LAST_QUARTUS_VERSION 12.0
+	set_global_assignment -name FAMILY "Stratix V"
+	set_global_assignment -name TOP_LEVEL_ENTITY param_stream
+	set_global_assignment -name DEVICE auto
+	set_global_assignment -name EDA_SIMULATION_TOOL "ModelSim-Altera (VHDL)"
+	set_global_assignment -name EDA_OUTPUT_DATA_FORMAT VHDL -section_id eda_simulation
+
+	set_global_assignment -name VHDL_FILE compaandesign_com/common/hwnode/1/write_demux.vhd -library compaandesign_com_common_hwnode_1
+	set_global_assignment -name VHDL_FILE compaandesign_com/common/hwnode/1/read_mux.vhd -library compaandesign_com_common_hwnode_1
+	set_global_assignment -name VHDL_FILE compaandesign_com/common/hwnode/1/read_mmux.vhd -library compaandesign_com_common_hwnode_1
+	set_global_assignment -name VHDL_FILE compaandesign_com/common/hwnode/1/parameters.vhd -library compaandesign_com_common_hwnode_1
+	set_global_assignment -name VHDL_FILE compaandesign_com/common/hwnode/1/it_mul.vhd -library compaandesign_com_common_hwnode_1
+	set_global_assignment -name VHDL_FILE compaandesign_com/common/hwnode/1/it_mod.vhd -library compaandesign_com_common_hwnode_1
+	set_global_assignment -name VHDL_FILE compaandesign_com/common/hwnode/1/counter.vhd -library compaandesign_com_common_hwnode_1
+	set_global_assignment -name VHDL_FILE compaandesign_com/common/hwnode/1/controller.vhd -library compaandesign_com_common_hwnode_1
+	set_global_assignment -name VHDL_FILE compaandesign_com/common/altera/1/fsl_v20.vhd -library compaandesign_com_common_fifo_1
+	set_global_assignment -name VHDL_FILE compaandesign_com/common/common/1/hw_node_pkg.vhd -library compaandesign_com_common_common_1
+
+
+	set_global_assignment -name VHDL_FILE compaandesign_com/param_stream2rtl/hwn_nd_2/1/sourceCode -library compaandesign_com_param_stream2rtl_hwn_nd_2_1
+
+	set_global_assignment -name VHDL_FILE compaandesign_com/param_stream2rtl/hwn_nd_3/1/sourceCode -library compaandesign_com_param_stream2rtl_hwn_nd_3_1
+
+	set_global_assignment -name VHDL_FILE compaandesign_com/param_stream2rtl/hwn_nd_4/1/sourceCode -library compaandesign_com_param_stream2rtl_hwn_nd_4_1
+
+	set_global_assignment -name VHDL_FILE compaandesign_com/param_stream2rtl/register_rf/1/sourceCode -library compaandesign_com_param_stream2rtl_register_rf_1
+
+
+# add functions of Laura node into a library
+
+	set strlist [glob compaandesign_com/param_stream2rtl/functions/1/*.vhd]
+	foreach strfile $strlist {
+		set file_name $strfile
+		set_global_assignment -name VHDL_FILE $file_name -library compaandesign_com_param_stream2rtl_functions_1
+	}
+
+
+# add wrapper to library work
+	set strlist [glob *.vhd]
+	foreach strfile $strlist {
+		set file_name $strfile
+		set_global_assignment -name VHDL_FILE $file_name -library work
+	}
+
+# testbench information
+set_global_assignment -name VHDL_FILE system_ext_TB.vhd -library work
+set_global_assignment -name EDA_TEST_BENCH_ENABLE_STATUS TEST_BENCH_MODE -section_id eda_simulation
+set_global_assignment -name EDA_NATIVELINK_SIMULATION_TEST_BENCH param_stream -section_id eda_simulation
+set_global_assignment -name EDA_TEST_BENCH_NAME param_stream -section_id eda_simulation
+set_global_assignment -name EDA_DESIGN_INSTANCE_NAME param_stream -section_id param_stream
+set_global_assignment -name EDA_TEST_BENCH_MODULE_NAME param_stream -section_id param_stream
+set_global_assignment -name EDA_TEST_BENCH_FILE system_ext_TB.vhd -section_id param_stream -library work
+set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
+
+# Commit assignments
+export_assignments
+
+# Close project
+if {$need_to_close_project} {
+	project_close
+}
+}
diff --git a/applications/compaan/libraries/param_stream/src/vhdl/param_stream.vhd b/applications/compaan/libraries/param_stream/src/vhdl/param_stream.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..807b8f2ee7f5e2893f3f1b089b5bd70afffd6090
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/src/vhdl/param_stream.vhd
@@ -0,0 +1,427 @@
+-------------------------------------------------------------------------------
+-- TOP LEVEL 
+-------------------------------------------------------------------------------
+library IEEE;
+use IEEE.STD_LOGIC_1164.ALL;
+
+ -- library UNISIM;
+ -- use UNISIM.VCOMPONENTS.ALL;
+
+entity param_stream is
+  port (
+
+    data_in_Data : in std_logic_vector(63 downto 0 );
+    data_in_Control : in std_logic;
+    data_in_Read : out std_logic;
+    data_in_Exists : in std_logic;
+
+    data_out_Data : out std_logic_vector(63 downto 0 );
+    data_out_Control : out std_logic;
+    data_out_Write : out std_logic;
+    data_out_Full : in std_logic;
+
+    TEST_STOP : out std_logic_vector(3 downto 0 );
+    TEST_ERROR : out std_logic_vector(3 downto 0 );
+    TEST_FIFO_FULL : out std_logic_vector(1 downto 0 );
+    TEST_BLOCK_RD : out std_logic_vector(3 downto 0 );
+    address : in std_logic_vector(18 downto 0 );
+    read_data : out std_logic_vector(31 downto 0 );
+    read_en : in std_logic;
+    write_en : in std_logic;
+    write_data : in std_logic_vector(31 downto 0 );
+    pci_clk : in std_logic;
+
+    KPN_CLK : in std_logic;
+    KPN_RST : in std_logic
+  );
+end param_stream;
+
+architecture STRUCTURE of param_stream is
+
+  component param_stream2rtl_hwn_nd_2_ip_wrapper is
+    port (
+		data_in_Rd : out std_logic;
+		data_in_Din : in std_logic_vector(63 downto 0);
+		data_in_Exist : in std_logic;
+		data_in_CLK : out std_logic;
+		data_in_CTRL : in std_logic;
+
+		ND_2OP_1_Wr : out std_logic;
+		ND_2OP_1_Dout : out std_logic_vector(63 downto 0);
+		ND_2OP_1_Full : in std_logic;
+		ND_2OP_1_CLK : out std_logic;
+		ND_2OP_1_CTRL : out std_logic;
+
+		PARAM_DT : in std_logic_vector(10 downto 0);
+		PARAM_LD : in std_logic;
+		STOP : out std_logic;
+		ERROR : out std_logic;
+		BLOCK_RD : out std_logic;
+
+		RST : in std_logic;
+		CLK : in std_logic
+	);
+	end component;
+
+  component param_stream2rtl_hwn_nd_3_ip_wrapper is
+    port (
+		rf_brightness : in std_logic_vector(31 downto 0);
+		ND_3IP_1_Rd : out std_logic;
+		ND_3IP_1_Din : in std_logic_vector(63 downto 0);
+		ND_3IP_1_Exist : in std_logic;
+		ND_3IP_1_CLK : out std_logic;
+		ND_3IP_1_CTRL : in std_logic;
+
+		ND_3OP_1_Wr : out std_logic;
+		ND_3OP_1_Dout : out std_logic_vector(63 downto 0);
+		ND_3OP_1_Full : in std_logic;
+		ND_3OP_1_CLK : out std_logic;
+		ND_3OP_1_CTRL : out std_logic;
+
+		PARAM_DT : in std_logic_vector(10 downto 0);
+		PARAM_LD : in std_logic;
+		STOP : out std_logic;
+		ERROR : out std_logic;
+		BLOCK_RD : out std_logic;
+
+		RST : in std_logic;
+		CLK : in std_logic
+	);
+	end component;
+
+  component param_stream2rtl_hwn_nd_4_ip_wrapper is
+    port (
+		ND_4IP_2_Rd : out std_logic;
+		ND_4IP_2_Din : in std_logic_vector(63 downto 0);
+		ND_4IP_2_Exist : in std_logic;
+		ND_4IP_2_CLK : out std_logic;
+		ND_4IP_2_CTRL : in std_logic;
+
+		data_out_Wr : out std_logic;
+		data_out_Dout : out std_logic_vector(63 downto 0);
+		data_out_Full : in std_logic;
+		data_out_CLK : out std_logic;
+		data_out_CTRL : out std_logic;
+
+		PARAM_DT : in std_logic_vector(10 downto 0);
+		PARAM_LD : in std_logic;
+		STOP : out std_logic;
+		ERROR : out std_logic;
+		BLOCK_RD : out std_logic;
+
+		RST : in std_logic;
+		CLK : in std_logic
+	);
+	end component;
+
+component param_stream2rtl_register_rf_ip_wrapper is
+	port (
+		address : in std_logic_vector(18 downto 0);
+		read_data : out std_logic_vector(31 downto 0);
+		read_en : in std_logic;
+		write_en : in std_logic;
+		write_data : in std_logic_vector(31 downto 0);
+		pci_clk : in std_logic;
+		brightness_rf_read_data : in std_logic_vector(31 downto 0);
+		brightness_rf_read_en : out std_logic;
+		brightness_rf_write_en : out std_logic;
+		brightness_rf_write_data : out std_logic_vector(31 downto 0);
+		RST : in std_logic;
+		CLK : in std_logic
+
+	);
+end component;
+
+  component param_stream2rtl_ed_1_ip_wrapper is
+    port (
+      FSL_Clk : in std_logic;
+      SYS_Rst : in std_logic;
+      FSL_Rst : out std_logic;
+      FSL_M_Clk : in std_logic;
+      FSL_M_Data : in std_logic_vector(0 to 63);
+      FSL_M_Control : in std_logic;
+      FSL_M_Write : in std_logic;
+      FSL_M_Full : out std_logic;
+      FSL_S_Clk : in std_logic;
+      FSL_S_Data : out std_logic_vector(0 to 63);
+      FSL_S_Control : out std_logic;
+      FSL_S_Read : in std_logic;
+      FSL_S_Exists : out std_logic;
+      FSL_Full : out std_logic;
+      FSL_Has_Data : out std_logic;
+      FSL_Control_IRQ : out std_logic
+    );
+  end component;
+
+  component param_stream2rtl_ed_2_ip_wrapper is
+    port (
+      FSL_Clk : in std_logic;
+      SYS_Rst : in std_logic;
+      FSL_Rst : out std_logic;
+      FSL_M_Clk : in std_logic;
+      FSL_M_Data : in std_logic_vector(0 to 63);
+      FSL_M_Control : in std_logic;
+      FSL_M_Write : in std_logic;
+      FSL_M_Full : out std_logic;
+      FSL_S_Clk : in std_logic;
+      FSL_S_Data : out std_logic_vector(0 to 63);
+      FSL_S_Control : out std_logic;
+      FSL_S_Read : in std_logic;
+      FSL_S_Exists : out std_logic;
+      FSL_Full : out std_logic;
+      FSL_Has_Data : out std_logic;
+      FSL_Control_IRQ : out std_logic
+    );
+  end component;
+
+  -- Internal signals
+
+	signal signal_ed_1_out_FSL_M_Control : std_logic;
+	signal signal_ed_1_out_FSL_M_Data : std_logic_vector(0 to 63);
+	signal signal_ed_1_out_FSL_M_Full : std_logic;
+	signal signal_ed_1_out_FSL_M_Write : std_logic;
+	signal signal_ed_1_in_FSL_S_Control : std_logic;
+	signal signal_ed_1_in_FSL_S_Data : std_logic_vector(0 to 63);
+	signal signal_ed_1_in_FSL_S_Exists : std_logic;
+	signal signal_ed_1_in_FSL_S_Read : std_logic;
+	signal signal_ed_2_out_FSL_M_Control : std_logic;
+	signal signal_ed_2_out_FSL_M_Data : std_logic_vector(0 to 63);
+	signal signal_ed_2_out_FSL_M_Full : std_logic;
+	signal signal_ed_2_out_FSL_M_Write : std_logic;
+	signal signal_ed_2_in_FSL_S_Control : std_logic;
+	signal signal_ed_2_in_FSL_S_Data : std_logic_vector(0 to 63);
+	signal signal_ed_2_in_FSL_S_Exists : std_logic;
+	signal signal_ed_2_in_FSL_S_Read : std_logic;
+  -- Internal signals END 
+  -- Internal signals getDesignAdHocConnectionIDs 
+
+  -- AD HOC Internal signals
+
+	signal signal_hwn_nd_1_STOP : std_logic;
+	signal signal_hwn_nd_1_ERROR : std_logic;
+	signal signal_hwn_nd_1_BLOCK_RD : std_logic;
+	signal signal_hwn_nd_2_STOP : std_logic;
+	signal signal_hwn_nd_2_ERROR : std_logic;
+	signal signal_hwn_nd_2_BLOCK_RD : std_logic;
+	signal signal_hwn_nd_3_STOP : std_logic;
+	signal signal_hwn_nd_3_ERROR : std_logic;
+	signal signal_hwn_nd_3_BLOCK_RD : std_logic;
+	signal signal_hwn_nd_4_STOP : std_logic;
+	signal signal_hwn_nd_4_ERROR : std_logic;
+	signal signal_hwn_nd_4_BLOCK_RD : std_logic;
+	signal signal_ed_1_FIFO_FULL : std_logic;
+	signal signal_ed_2_FIFO_FULL : std_logic;
+	signal signal_PARAM_DT : std_logic_vector(10 downto 0);
+	signal signal_PARAM_LD : std_logic;
+	signal signal_PARAMETERS : std_logic_vector(0 downto 0);
+	signal signal_PARAMETERS_LD : std_logic;
+	signal signal_address : std_logic_vector(18 downto 0);
+	signal signal_read_data : std_logic_vector(31 downto 0);
+	signal signal_write_data : std_logic_vector(31 downto 0);
+	signal signal_read_en : std_logic;
+	signal signal_write_en : std_logic;
+	signal signal_SHMEM_WRITE_brightness : std_logic_vector(31 downto 0);
+	signal signal_SHMEM_READ_brightness : std_logic_vector(31 downto 0);
+	signal signal_SHMEM_READ_EN_brightness : std_logic;
+	signal signal_SHMEM_WRITE_EN_brightness : std_logic;
+	signal signal_param_ext_pci_clk : std_logic;
+	signal signal_register_rf_pci_clk : std_logic;
+	signal signal_SYNC_NUM : std_logic_vector(9 downto 0);
+  -- Internal signals writeInternalAdHocConnections 
+
+  -- Hierarchical signals 
+
+	signal I_data_in_Control : std_logic;
+	signal I_data_in_Data : std_logic_vector(63 downto 0);
+	signal I_data_in_Exists : std_logic;
+	signal I_data_in_Read : std_logic;
+	signal I_data_out_Control : std_logic;
+	signal I_data_out_Data : std_logic_vector(63 downto 0);
+	signal I_data_out_Full : std_logic;
+	signal I_data_out_Write : std_logic;
+  -- Internal signals writeHierarchicalConnections 
+
+	-- Default signals
+
+	signal net_gnd0 : std_logic;
+	signal net_gnd16 : std_logic_vector(15 downto 0);
+
+	signal sys_clk_s : std_logic;
+	signal sys_rst_s : std_logic;
+
+
+	-- START the actual definition of a Design
+
+begin
+
+	-- Connect Clock
+
+	sys_clk_s <= KPN_CLK;
+	sys_rst_s <= KPN_RST;
+
+
+	-- Connect Hiercical Interconnections
+
+	I_data_in_Data <= data_in_Data;
+	I_data_in_Control <= data_in_Control;
+	data_in_Read <= I_data_in_Read;
+	I_data_in_Exists <= data_in_Exists;
+	data_out_Data <= I_data_out_Data;
+	data_out_Control <= I_data_out_Control;
+	data_out_Write <= I_data_out_Write;
+	I_data_out_Full <= data_out_Full;
+
+	-- AD HOC EXTERNAL CONNECTIONS 
+	TEST_STOP(0) <= signal_hwn_nd_1_STOP;
+	signal_hwn_nd_1_STOP <= '1'; -- TIED VALUE
+	TEST_ERROR(0) <= signal_hwn_nd_1_ERROR;
+	signal_hwn_nd_1_ERROR <= '0'; -- TIED VALUE
+	TEST_BLOCK_RD(0) <= signal_hwn_nd_1_BLOCK_RD;
+	TEST_STOP(1) <= signal_hwn_nd_2_STOP;
+	TEST_ERROR(1) <= signal_hwn_nd_2_ERROR;
+	TEST_BLOCK_RD(1) <= signal_hwn_nd_2_BLOCK_RD;
+	TEST_STOP(2) <= signal_hwn_nd_3_STOP;
+	TEST_ERROR(2) <= signal_hwn_nd_3_ERROR;
+	TEST_BLOCK_RD(2) <= signal_hwn_nd_3_BLOCK_RD;
+	TEST_STOP(3) <= signal_hwn_nd_4_STOP;
+	TEST_ERROR(3) <= signal_hwn_nd_4_ERROR;
+	TEST_BLOCK_RD(3) <= signal_hwn_nd_4_BLOCK_RD;
+	TEST_FIFO_FULL(0) <= signal_ed_1_FIFO_FULL;
+	TEST_FIFO_FULL(1) <= signal_ed_2_FIFO_FULL;
+	signal_address <= address( 18 downto 0);
+	read_data( 31 downto 0) <= signal_read_data;
+	signal_write_data <= write_data( 31 downto 0);
+	signal_read_en <= read_en;
+	signal_write_en <= write_en;
+	signal_param_ext_pci_clk <= pci_clk;
+	signal_register_rf_pci_clk <= pci_clk;
+
+-- Give default signals, default values
+
+	net_gnd0 <= '0';
+	net_gnd16(15 downto 0) <= B"0000000000000000";
+
+-- Instanciate the wrappers (HWN and Edges)
+
+
+  param_stream2rtl_hwn_nd_2_ip : param_stream2rtl_hwn_nd_2_ip_wrapper
+	port map (
+		data_in_Rd => I_data_in_Read,
+		data_in_Din => I_data_in_Data(63 downto 0),
+		data_in_Exist => I_data_in_Exists,
+		data_in_CLK => open,
+		data_in_CTRL => I_data_in_Control,
+		ND_2OP_1_Wr => signal_ed_1_out_FSL_M_Write,
+		ND_2OP_1_Dout(63 downto 0) => signal_ed_1_out_FSL_M_Data(0 to 63),
+		ND_2OP_1_Full => signal_ed_1_out_FSL_M_Full,
+		ND_2OP_1_CLK => open,
+		ND_2OP_1_CTRL => signal_ed_1_out_FSL_M_Control,
+		PARAM_DT => signal_PARAM_DT,
+		PARAM_LD => signal_PARAM_LD,
+		STOP => signal_hwn_nd_2_STOP,
+		ERROR => signal_hwn_nd_2_ERROR,
+		BLOCK_RD => signal_hwn_nd_2_BLOCK_RD,
+		RST => sys_rst_s,
+		CLK => sys_clk_s
+	);
+
+  param_stream2rtl_hwn_nd_3_ip : param_stream2rtl_hwn_nd_3_ip_wrapper
+	port map (
+		rf_brightness ( 31 downto 0 ) => signal_SHMEM_WRITE_brightness ( 31 downto 0 ),
+		ND_3IP_1_Rd => signal_ed_1_in_FSL_S_Read,
+		ND_3IP_1_Din(63 downto 0) => signal_ed_1_in_FSL_S_Data(0 to 63),
+		ND_3IP_1_Exist => signal_ed_1_in_FSL_S_Exists,
+		ND_3IP_1_CLK => open,
+		ND_3IP_1_CTRL => signal_ed_1_in_FSL_S_Control,
+		ND_3OP_1_Wr => signal_ed_2_out_FSL_M_Write,
+		ND_3OP_1_Dout(63 downto 0) => signal_ed_2_out_FSL_M_Data(0 to 63),
+		ND_3OP_1_Full => signal_ed_2_out_FSL_M_Full,
+		ND_3OP_1_CLK => open,
+		ND_3OP_1_CTRL => signal_ed_2_out_FSL_M_Control,
+		PARAM_DT => signal_PARAM_DT,
+		PARAM_LD => signal_PARAM_LD,
+		STOP => signal_hwn_nd_3_STOP,
+		ERROR => signal_hwn_nd_3_ERROR,
+		BLOCK_RD => signal_hwn_nd_3_BLOCK_RD,
+		RST => sys_rst_s,
+		CLK => sys_clk_s
+	);
+
+  param_stream2rtl_hwn_nd_4_ip : param_stream2rtl_hwn_nd_4_ip_wrapper
+	port map (
+		ND_4IP_2_Rd => signal_ed_2_in_FSL_S_Read,
+		ND_4IP_2_Din(63 downto 0) => signal_ed_2_in_FSL_S_Data(0 to 63),
+		ND_4IP_2_Exist => signal_ed_2_in_FSL_S_Exists,
+		ND_4IP_2_CLK => open,
+		ND_4IP_2_CTRL => signal_ed_2_in_FSL_S_Control,
+		data_out_Wr => I_data_out_Write,
+		data_out_Dout => I_data_out_Data(63 downto 0),
+		data_out_Full => I_data_out_Full,
+		data_out_CLK => open,
+		data_out_CTRL => I_data_out_Control,
+		PARAM_DT => signal_PARAM_DT,
+		PARAM_LD => signal_PARAM_LD,
+		STOP => signal_hwn_nd_4_STOP,
+		ERROR => signal_hwn_nd_4_ERROR,
+		BLOCK_RD => signal_hwn_nd_4_BLOCK_RD,
+		RST => sys_rst_s,
+		CLK => sys_clk_s
+	);
+
+  param_stream2rtl_register_rf_ip : param_stream2rtl_register_rf_ip_wrapper
+	port map (
+		address => signal_address,
+		read_data => signal_read_data,
+		read_en => signal_read_en,
+		write_en => signal_write_en,
+		write_data => signal_write_data,
+		pci_clk => signal_register_rf_pci_clk,
+		brightness_rf_read_data => signal_SHMEM_READ_brightness,
+		brightness_rf_read_en => signal_SHMEM_READ_EN_brightness,
+		brightness_rf_write_en => signal_SHMEM_WRITE_EN_brightness,
+		brightness_rf_write_data => signal_SHMEM_WRITE_brightness,
+		RST => sys_rst_s,
+		CLK => sys_clk_s
+	);
+
+  param_stream2rtl_ed_1 : param_stream2rtl_ed_1_ip_wrapper
+	port map (
+		FSL_Clk => sys_clk_s,
+		SYS_Rst => sys_rst_s,
+		FSL_Rst => open,
+		FSL_M_Clk => net_gnd0,
+		FSL_M_Data => signal_ed_1_out_FSL_M_Data,
+		FSL_M_Control => signal_ed_1_out_FSL_M_Control,
+		FSL_M_Write => signal_ed_1_out_FSL_M_Write,
+		FSL_M_Full => signal_ed_1_out_FSL_M_Full,
+		FSL_S_Data => signal_ed_1_in_FSL_S_Data,
+		FSL_S_Control => signal_ed_1_in_FSL_S_Control,
+		FSL_S_Read => signal_ed_1_in_FSL_S_Read,
+		FSL_S_Exists => signal_ed_1_in_FSL_S_Exists,
+		FSL_S_Clk => net_gnd0,
+		FSL_FULL => signal_ed_1_FIFO_FULL,
+		FSL_Has_Data => open,
+		FSL_Control_IRQ => open
+    );
+
+  param_stream2rtl_ed_2 : param_stream2rtl_ed_2_ip_wrapper
+	port map (
+		FSL_Clk => sys_clk_s,
+		SYS_Rst => sys_rst_s,
+		FSL_Rst => open,
+		FSL_M_Clk => net_gnd0,
+		FSL_M_Data => signal_ed_2_out_FSL_M_Data,
+		FSL_M_Control => signal_ed_2_out_FSL_M_Control,
+		FSL_M_Write => signal_ed_2_out_FSL_M_Write,
+		FSL_M_Full => signal_ed_2_out_FSL_M_Full,
+		FSL_S_Data => signal_ed_2_in_FSL_S_Data,
+		FSL_S_Control => signal_ed_2_in_FSL_S_Control,
+		FSL_S_Read => signal_ed_2_in_FSL_S_Read,
+		FSL_S_Exists => signal_ed_2_in_FSL_S_Exists,
+		FSL_S_Clk => net_gnd0,
+		FSL_FULL => signal_ed_2_FIFO_FULL,
+		FSL_Has_Data => open,
+		FSL_Control_IRQ => open
+    );
+
+end architecture STRUCTURE;
diff --git a/applications/compaan/libraries/param_stream/src/vhdl/param_stream2rtl_ed_1_ip_wrapper.vhd b/applications/compaan/libraries/param_stream/src/vhdl/param_stream2rtl_ed_1_ip_wrapper.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..345ff987ed154afade429a62c43daca65c86313c
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/src/vhdl/param_stream2rtl_ed_1_ip_wrapper.vhd
@@ -0,0 +1,99 @@
+-------------------------------------------------------------------------------
+-- param_stream2rtl_ed_1_wrapper.vhd
+-------------------------------------------------------------------------------
+library IEEE;
+use IEEE.STD_LOGIC_1164.ALL;
+
+ -- library UNISIM;
+ -- use UNISIM.VCOMPONENTS.ALL;
+
+library compaandesign_com_altera_fifo_1_lib;
+use compaandesign_com_altera_fifo_1_lib.all;
+
+entity param_stream2rtl_ed_1_ip_wrapper is
+  port (
+    FSL_Clk : in std_logic;
+    SYS_Rst : in std_logic;
+    FSL_Rst : out std_logic;
+    FSL_M_Clk : in std_logic;
+    FSL_M_Data : in std_logic_vector(0 to 63);
+    FSL_M_Control : in std_logic;
+    FSL_M_Write : in std_logic;
+    FSL_M_Full : out std_logic;
+    FSL_S_Clk : in std_logic;
+    FSL_S_Data : out std_logic_vector(0 to 63);
+    FSL_S_Control : out std_logic;
+    FSL_S_Read : in std_logic;
+    FSL_S_Exists : out std_logic;
+    FSL_Full : out std_logic;
+    FSL_Has_Data : out std_logic;
+    FSL_Control_IRQ : out std_logic
+  );
+
+
+end param_stream2rtl_ed_1_ip_wrapper;
+
+architecture STRUCTURE of param_stream2rtl_ed_1_ip_wrapper is
+
+  component fsl_v20 is
+	generic (
+		C_EXT_RESET_HIGH : INTEGER := 1;
+		C_ASYNC_CLKS : INTEGER := 0;
+		C_IMPL_STYLE : INTEGER := 0;
+		C_USE_CONTROL : INTEGER := 1;
+		C_FSL_DWIDTH : INTEGER := 32;
+		C_FSL_DEPTH : INTEGER := 16;
+		C_READ_CLOCK_PERIOD : INTEGER := 0
+	);
+    port (
+      FSL_Clk 	: in  std_logic;
+      SYS_Rst 	: in  std_logic;
+      FSL_Rst 	: out std_logic;
+      FSL_M_Clk 	: in  std_logic;
+      FSL_M_Data 	: in  std_logic_vector(0 to 63);
+      FSL_M_Control: in  std_logic;
+      FSL_M_Write 	: in  std_logic;
+      FSL_M_Full 	: out std_logic;
+      FSL_S_Clk 	: in  std_logic;
+      FSL_S_Data 	: out std_logic_vector(0 to 63);
+      FSL_S_Control: out std_logic;
+      FSL_S_Read 	: in  std_logic;
+      FSL_S_Exists : out std_logic;
+      FSL_Full 	: out std_logic;
+      FSL_Has_Data : out std_logic;
+      FSL_Control_IRQ : out std_logic
+    );
+  end component;
+
+begin
+
+  param_stream2rtl_ed_1 : fsl_v20
+	generic map (
+		C_EXT_RESET_HIGH => 1,
+		C_ASYNC_CLKS => 0,
+		C_IMPL_STYLE => 0,
+		C_USE_CONTROL => 1,
+		C_FSL_DWIDTH => 64,
+		C_FSL_DEPTH => 16,
+		C_READ_CLOCK_PERIOD => 0
+	)
+    port map (
+      FSL_Clk => FSL_Clk,
+      SYS_Rst => SYS_Rst,
+      FSL_Rst => FSL_Rst,
+      FSL_M_Clk => FSL_M_Clk,
+      FSL_M_Data => FSL_M_Data,
+      FSL_M_Control => FSL_M_Control,
+      FSL_M_Write => FSL_M_Write,
+      FSL_M_Full => FSL_M_Full,
+      FSL_S_Clk => FSL_S_Clk,
+      FSL_S_Data => FSL_S_Data,
+      FSL_S_Control => FSL_S_Control,
+      FSL_S_Read => FSL_S_Read,
+      FSL_S_Exists => FSL_S_Exists,
+      FSL_Full => FSL_Full,
+      FSL_Has_Data => FSL_Has_Data,
+      FSL_Control_IRQ => FSL_Control_IRQ
+    );
+
+end architecture STRUCTURE;
diff --git a/applications/compaan/libraries/param_stream/src/vhdl/param_stream2rtl_ed_2_ip_wrapper.vhd b/applications/compaan/libraries/param_stream/src/vhdl/param_stream2rtl_ed_2_ip_wrapper.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..0766ba0cccd665d430c07cdb7f24d4d9797040be
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/src/vhdl/param_stream2rtl_ed_2_ip_wrapper.vhd
@@ -0,0 +1,99 @@
+-------------------------------------------------------------------------------
+-- param_stream2rtl_ed_2_wrapper.vhd
+-------------------------------------------------------------------------------
+library IEEE;
+use IEEE.STD_LOGIC_1164.ALL;
+
+ -- library UNISIM;
+ -- use UNISIM.VCOMPONENTS.ALL;
+
+library compaandesign_com_altera_fifo_1_lib;
+use compaandesign_com_altera_fifo_1_lib.all;
+
+entity param_stream2rtl_ed_2_ip_wrapper is
+  port (
+    FSL_Clk : in std_logic;
+    SYS_Rst : in std_logic;
+    FSL_Rst : out std_logic;
+    FSL_M_Clk : in std_logic;
+    FSL_M_Data : in std_logic_vector(0 to 63);
+    FSL_M_Control : in std_logic;
+    FSL_M_Write : in std_logic;
+    FSL_M_Full : out std_logic;
+    FSL_S_Clk : in std_logic;
+    FSL_S_Data : out std_logic_vector(0 to 63);
+    FSL_S_Control : out std_logic;
+    FSL_S_Read : in std_logic;
+    FSL_S_Exists : out std_logic;
+    FSL_Full : out std_logic;
+    FSL_Has_Data : out std_logic;
+    FSL_Control_IRQ : out std_logic
+  );
+
+
+end param_stream2rtl_ed_2_ip_wrapper;
+
+architecture STRUCTURE of param_stream2rtl_ed_2_ip_wrapper is
+
+  component fsl_v20 is
+	generic (
+		C_EXT_RESET_HIGH : INTEGER := 1;
+		C_ASYNC_CLKS : INTEGER := 0;
+		C_IMPL_STYLE : INTEGER := 0;
+		C_USE_CONTROL : INTEGER := 1;
+		C_FSL_DWIDTH : INTEGER := 32;
+		C_FSL_DEPTH : INTEGER := 16;
+		C_READ_CLOCK_PERIOD : INTEGER := 0
+	);
+    port (
+      FSL_Clk 	: in  std_logic;
+      SYS_Rst 	: in  std_logic;
+      FSL_Rst 	: out std_logic;
+      FSL_M_Clk 	: in  std_logic;
+      FSL_M_Data 	: in  std_logic_vector(0 to 63);
+      FSL_M_Control: in  std_logic;
+      FSL_M_Write 	: in  std_logic;
+      FSL_M_Full 	: out std_logic;
+      FSL_S_Clk 	: in  std_logic;
+      FSL_S_Data 	: out std_logic_vector(0 to 63);
+      FSL_S_Control: out std_logic;
+      FSL_S_Read 	: in  std_logic;
+      FSL_S_Exists : out std_logic;
+      FSL_Full 	: out std_logic;
+      FSL_Has_Data : out std_logic;
+      FSL_Control_IRQ : out std_logic
+    );
+  end component;
+
+begin
+
+  param_stream2rtl_ed_2 : fsl_v20
+	generic map (
+		C_EXT_RESET_HIGH => 1,
+		C_ASYNC_CLKS => 0,
+		C_IMPL_STYLE => 0,
+		C_USE_CONTROL => 1,
+		C_FSL_DWIDTH => 64,
+		C_FSL_DEPTH => 16,
+		C_READ_CLOCK_PERIOD => 0
+	)
+    port map (
+      FSL_Clk => FSL_Clk,
+      SYS_Rst => SYS_Rst,
+      FSL_Rst => FSL_Rst,
+      FSL_M_Clk => FSL_M_Clk,
+      FSL_M_Data => FSL_M_Data,
+      FSL_M_Control => FSL_M_Control,
+      FSL_M_Write => FSL_M_Write,
+      FSL_M_Full => FSL_M_Full,
+      FSL_S_Clk => FSL_S_Clk,
+      FSL_S_Data => FSL_S_Data,
+      FSL_S_Control => FSL_S_Control,
+      FSL_S_Read => FSL_S_Read,
+      FSL_S_Exists => FSL_S_Exists,
+      FSL_Full => FSL_Full,
+      FSL_Has_Data => FSL_Has_Data,
+      FSL_Control_IRQ => FSL_Control_IRQ
+    );
+
+end architecture STRUCTURE;
diff --git a/applications/compaan/libraries/param_stream/src/vhdl/param_stream2rtl_hwn_nd_2_ip_wrapper.vhd b/applications/compaan/libraries/param_stream/src/vhdl/param_stream2rtl_hwn_nd_2_ip_wrapper.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..3920cd515712cc8bb7c5b5e13998f32f86a09782
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/src/vhdl/param_stream2rtl_hwn_nd_2_ip_wrapper.vhd
@@ -0,0 +1,100 @@
+-------------------------------------------------------------------------------
+-- param_stream2rtl_hwn_nd_2_ip_wrapper.vhd
+-- LEAF false
+-- HIER false
+-------------------------------------------------------------------------------
+library IEEE;
+use IEEE.STD_LOGIC_1164.ALL;
+
+ -- library UNISIM;
+ -- use UNISIM.VCOMPONENTS.ALL;
+
+library compaandesign_com_param_stream2rtl_hwn_nd_2_1_lib;
+use compaandesign_com_param_stream2rtl_hwn_nd_2_1_lib.all;
+
+entity param_stream2rtl_hwn_nd_2_ip_wrapper is
+  port (
+    data_in_Rd : out std_logic;
+    data_in_Din : in std_logic_vector(63 downto 0);
+    data_in_Exist : in std_logic;
+    data_in_CLK : out std_logic;
+    data_in_CTRL : in std_logic;
+    ND_2OP_1_Wr : out std_logic;
+    ND_2OP_1_Dout : out std_logic_vector(63 downto 0);
+    ND_2OP_1_Full : in std_logic;
+    ND_2OP_1_CLK : out std_logic;
+    ND_2OP_1_CTRL : out std_logic;
+    PARAM_DT : in std_logic_vector(10 downto 0);
+    PARAM_LD : in std_logic;
+    STOP : out std_logic;
+    ERROR : out std_logic;
+    BLOCK_RD : out std_logic;
+    RST : in std_logic;
+    CLK : in std_logic
+  );
+  
+  
+end param_stream2rtl_hwn_nd_2_ip_wrapper;
+
+architecture STRUCTURE of param_stream2rtl_hwn_nd_2_ip_wrapper is
+
+  component param_stream2rtl_hwn_nd_2 is
+	generic (
+		RESET_HIGH : NATURAL := 1;
+		PAR_WIDTH : NATURAL := 16;
+		QUANT : NATURAL := 32;
+		WRAP : BOOLEAN := true;
+		STIM_DIR : STRING := "hwn_nd_2"
+	);
+	port (
+		data_in_Rd : out std_logic;
+		data_in_Din : in std_logic_vector(63 downto 0);
+		data_in_Exist : in std_logic;
+		data_in_CLK : out std_logic;
+		data_in_CTRL : in std_logic;
+		ND_2OP_1_Wr : out std_logic;
+		ND_2OP_1_Dout : out std_logic_vector(63 downto 0);
+		ND_2OP_1_Full : in std_logic;
+		ND_2OP_1_CLK : out std_logic;
+		ND_2OP_1_CTRL : out std_logic;
+		PARAM_DT : in std_logic_vector(10 downto 0);
+		PARAM_LD : in std_logic;
+		STOP : out std_logic;
+		ERROR : out std_logic;
+		BLOCK_RD : out std_logic;
+		RST : in std_logic;
+		CLK : in std_logic
+	);
+end component;
+
+begin
+
+param_stream2rtl_hwn_nd_2_ip_wrapper_ip : param_stream2rtl_hwn_nd_2
+	generic map (
+		RESET_HIGH => 1,
+		PAR_WIDTH => 1,
+		QUANT => 32,
+		WRAP => true,
+		STIM_DIR => "compaandesign_com/param_stream2rtl/hwn_nd_2/tb/data/"
+	)
+    port map (
+		data_in_Rd => data_in_Rd,
+		data_in_Din => data_in_Din,
+		data_in_Exist => data_in_Exist,
+		data_in_CLK => data_in_CLK,
+		data_in_CTRL => data_in_CTRL,
+		ND_2OP_1_Wr => ND_2OP_1_Wr,
+		ND_2OP_1_Dout => ND_2OP_1_Dout,
+		ND_2OP_1_Full => ND_2OP_1_Full,
+		ND_2OP_1_CLK => ND_2OP_1_CLK,
+		ND_2OP_1_CTRL => ND_2OP_1_CTRL,
+		PARAM_DT => PARAM_DT,
+		PARAM_LD => PARAM_LD,
+		STOP => STOP,
+		ERROR => ERROR,
+		BLOCK_RD => BLOCK_RD,
+		RST => RST,
+		CLK => CLK
+    );
+  
+end architecture STRUCTURE;
diff --git a/applications/compaan/libraries/param_stream/src/vhdl/param_stream2rtl_hwn_nd_3_ip_wrapper.vhd b/applications/compaan/libraries/param_stream/src/vhdl/param_stream2rtl_hwn_nd_3_ip_wrapper.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..a4cf951cbefc4a14d9482786dd5f99148227c574
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/src/vhdl/param_stream2rtl_hwn_nd_3_ip_wrapper.vhd
@@ -0,0 +1,103 @@
+-------------------------------------------------------------------------------
+-- param_stream2rtl_hwn_nd_3_ip_wrapper.vhd
+-- LEAF false
+-- HIER false
+-------------------------------------------------------------------------------
+library IEEE;
+use IEEE.STD_LOGIC_1164.ALL;
+
+ -- library UNISIM;
+ -- use UNISIM.VCOMPONENTS.ALL;
+
+library compaandesign_com_param_stream2rtl_hwn_nd_3_1_lib;
+use compaandesign_com_param_stream2rtl_hwn_nd_3_1_lib.all;
+
+entity param_stream2rtl_hwn_nd_3_ip_wrapper is
+  port (
+    rf_brightness : in std_logic_vector(31 downto 0);
+    ND_3IP_1_Rd : out std_logic;
+    ND_3IP_1_Din : in std_logic_vector(63 downto 0);
+    ND_3IP_1_Exist : in std_logic;
+    ND_3IP_1_CLK : out std_logic;
+    ND_3IP_1_CTRL : in std_logic;
+    ND_3OP_1_Wr : out std_logic;
+    ND_3OP_1_Dout : out std_logic_vector(63 downto 0);
+    ND_3OP_1_Full : in std_logic;
+    ND_3OP_1_CLK : out std_logic;
+    ND_3OP_1_CTRL : out std_logic;
+    PARAM_DT : in std_logic_vector(10 downto 0);
+    PARAM_LD : in std_logic;
+    STOP : out std_logic;
+    ERROR : out std_logic;
+    BLOCK_RD : out std_logic;
+    RST : in std_logic;
+    CLK : in std_logic
+  );
+  
+  
+end param_stream2rtl_hwn_nd_3_ip_wrapper;
+
+architecture STRUCTURE of param_stream2rtl_hwn_nd_3_ip_wrapper is
+
+  component param_stream2rtl_hwn_nd_3 is
+	generic (
+		RESET_HIGH : NATURAL := 1;
+		PAR_WIDTH : NATURAL := 16;
+		QUANT : NATURAL := 32;
+		WRAP : BOOLEAN := true;
+		STIM_DIR : STRING := "hwn_nd_3"
+	);
+	port (
+		rf_brightness : in std_logic_vector(31 downto 0);
+		ND_3IP_1_Rd : out std_logic;
+		ND_3IP_1_Din : in std_logic_vector(63 downto 0);
+		ND_3IP_1_Exist : in std_logic;
+		ND_3IP_1_CLK : out std_logic;
+		ND_3IP_1_CTRL : in std_logic;
+		ND_3OP_1_Wr : out std_logic;
+		ND_3OP_1_Dout : out std_logic_vector(63 downto 0);
+		ND_3OP_1_Full : in std_logic;
+		ND_3OP_1_CLK : out std_logic;
+		ND_3OP_1_CTRL : out std_logic;
+		PARAM_DT : in std_logic_vector(10 downto 0);
+		PARAM_LD : in std_logic;
+		STOP : out std_logic;
+		ERROR : out std_logic;
+		BLOCK_RD : out std_logic;
+		RST : in std_logic;
+		CLK : in std_logic
+	);
+end component;
+
+begin
+
+param_stream2rtl_hwn_nd_3_ip_wrapper_ip : param_stream2rtl_hwn_nd_3
+	generic map (
+		RESET_HIGH => 1,
+		PAR_WIDTH => 1,
+		QUANT => 32,
+		WRAP => true,
+		STIM_DIR => "compaandesign_com/param_stream2rtl/hwn_nd_3/tb/data/"
+	)
+    port map (
+		rf_brightness => rf_brightness,
+		ND_3IP_1_Rd => ND_3IP_1_Rd,
+		ND_3IP_1_Din => ND_3IP_1_Din,
+		ND_3IP_1_Exist => ND_3IP_1_Exist,
+		ND_3IP_1_CLK => ND_3IP_1_CLK,
+		ND_3IP_1_CTRL => ND_3IP_1_CTRL,
+		ND_3OP_1_Wr => ND_3OP_1_Wr,
+		ND_3OP_1_Dout => ND_3OP_1_Dout,
+		ND_3OP_1_Full => ND_3OP_1_Full,
+		ND_3OP_1_CLK => ND_3OP_1_CLK,
+		ND_3OP_1_CTRL => ND_3OP_1_CTRL,
+		PARAM_DT => PARAM_DT,
+		PARAM_LD => PARAM_LD,
+		STOP => STOP,
+		ERROR => ERROR,
+		BLOCK_RD => BLOCK_RD,
+		RST => RST,
+		CLK => CLK
+    );
+  
+end architecture STRUCTURE;
diff --git a/applications/compaan/libraries/param_stream/src/vhdl/param_stream2rtl_hwn_nd_4_ip_wrapper.vhd b/applications/compaan/libraries/param_stream/src/vhdl/param_stream2rtl_hwn_nd_4_ip_wrapper.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..f76ec82d4abd843e49a0eb023502f4eecae91e49
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/src/vhdl/param_stream2rtl_hwn_nd_4_ip_wrapper.vhd
@@ -0,0 +1,100 @@
+-------------------------------------------------------------------------------
+-- param_stream2rtl_hwn_nd_4_ip_wrapper.vhd
+-- LEAF false
+-- HIER false
+-------------------------------------------------------------------------------
+library IEEE;
+use IEEE.STD_LOGIC_1164.ALL;
+
+ -- library UNISIM;
+ -- use UNISIM.VCOMPONENTS.ALL;
+
+library compaandesign_com_param_stream2rtl_hwn_nd_4_1_lib;
+use compaandesign_com_param_stream2rtl_hwn_nd_4_1_lib.all;
+
+entity param_stream2rtl_hwn_nd_4_ip_wrapper is
+  port (
+    ND_4IP_2_Rd : out std_logic;
+    ND_4IP_2_Din : in std_logic_vector(63 downto 0);
+    ND_4IP_2_Exist : in std_logic;
+    ND_4IP_2_CLK : out std_logic;
+    ND_4IP_2_CTRL : in std_logic;
+    data_out_Wr : out std_logic;
+    data_out_Dout : out std_logic_vector(63 downto 0);
+    data_out_Full : in std_logic;
+    data_out_CLK : out std_logic;
+    data_out_CTRL : out std_logic;
+    PARAM_DT : in std_logic_vector(10 downto 0);
+    PARAM_LD : in std_logic;
+    STOP : out std_logic;
+    ERROR : out std_logic;
+    BLOCK_RD : out std_logic;
+    RST : in std_logic;
+    CLK : in std_logic
+  );
+  
+  
+end param_stream2rtl_hwn_nd_4_ip_wrapper;
+
+architecture STRUCTURE of param_stream2rtl_hwn_nd_4_ip_wrapper is
+
+  component param_stream2rtl_hwn_nd_4 is
+	generic (
+		RESET_HIGH : NATURAL := 1;
+		PAR_WIDTH : NATURAL := 16;
+		QUANT : NATURAL := 32;
+		WRAP : BOOLEAN := true;
+		STIM_DIR : STRING := "hwn_nd_4"
+	);
+	port (
+		ND_4IP_2_Rd : out std_logic;
+		ND_4IP_2_Din : in std_logic_vector(63 downto 0);
+		ND_4IP_2_Exist : in std_logic;
+		ND_4IP_2_CLK : out std_logic;
+		ND_4IP_2_CTRL : in std_logic;
+		data_out_Wr : out std_logic;
+		data_out_Dout : out std_logic_vector(63 downto 0);
+		data_out_Full : in std_logic;
+		data_out_CLK : out std_logic;
+		data_out_CTRL : out std_logic;
+		PARAM_DT : in std_logic_vector(10 downto 0);
+		PARAM_LD : in std_logic;
+		STOP : out std_logic;
+		ERROR : out std_logic;
+		BLOCK_RD : out std_logic;
+		RST : in std_logic;
+		CLK : in std_logic
+	);
+end component;
+
+begin
+
+param_stream2rtl_hwn_nd_4_ip_wrapper_ip : param_stream2rtl_hwn_nd_4
+	generic map (
+		RESET_HIGH => 1,
+		PAR_WIDTH => 1,
+		QUANT => 32,
+		WRAP => true,
+		STIM_DIR => "compaandesign_com/param_stream2rtl/hwn_nd_4/tb/data/"
+	)
+    port map (
+		ND_4IP_2_Rd => ND_4IP_2_Rd,
+		ND_4IP_2_Din => ND_4IP_2_Din,
+		ND_4IP_2_Exist => ND_4IP_2_Exist,
+		ND_4IP_2_CLK => ND_4IP_2_CLK,
+		ND_4IP_2_CTRL => ND_4IP_2_CTRL,
+		data_out_Wr => data_out_Wr,
+		data_out_Dout => data_out_Dout,
+		data_out_Full => data_out_Full,
+		data_out_CLK => data_out_CLK,
+		data_out_CTRL => data_out_CTRL,
+		PARAM_DT => PARAM_DT,
+		PARAM_LD => PARAM_LD,
+		STOP => STOP,
+		ERROR => ERROR,
+		BLOCK_RD => BLOCK_RD,
+		RST => RST,
+		CLK => CLK
+    );
+  
+end architecture STRUCTURE;
diff --git a/applications/compaan/libraries/param_stream/src/vhdl/param_stream2rtl_register_rf_ip_wrapper.vhd b/applications/compaan/libraries/param_stream/src/vhdl/param_stream2rtl_register_rf_ip_wrapper.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..b0e1325c6b387a4747c8062c9b342d5870425292
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/src/vhdl/param_stream2rtl_register_rf_ip_wrapper.vhd
@@ -0,0 +1,77 @@
+-------------------------------------------------------------------------------
+-- param_stream2rtl_register_rf_ip_wrapper.vhd
+-- LEAF true
+-- HIER false
+-------------------------------------------------------------------------------
+library IEEE;
+use IEEE.STD_LOGIC_1164.ALL;
+
+ -- library UNISIM;
+ -- use UNISIM.VCOMPONENTS.ALL;
+
+library compaandesign_com_param_stream2rtl_register_rf_1_lib;
+use compaandesign_com_param_stream2rtl_register_rf_1_lib.all;
+
+entity param_stream2rtl_register_rf_ip_wrapper is
+  port (
+    address : in std_logic_vector(18 downto 0);
+    read_data : out std_logic_vector(31 downto 0);
+    read_en : in std_logic;
+    write_en : in std_logic;
+    write_data : in std_logic_vector(31 downto 0);
+    pci_clk : in std_logic;
+    brightness_rf_read_data : in std_logic_vector(31 downto 0);
+    brightness_rf_read_en : out std_logic;
+    brightness_rf_write_en : out std_logic;
+    brightness_rf_write_data : out std_logic_vector(31 downto 0);
+    RST : in std_logic;
+    CLK : in std_logic
+  );
+  
+  
+end param_stream2rtl_register_rf_ip_wrapper;
+
+architecture STRUCTURE of param_stream2rtl_register_rf_ip_wrapper is
+
+  component register_rf is
+	generic (
+		C_brightness_rf_address : std_logic_vector := B"0000000000000000000"
+	);
+	port (
+		address : in std_logic_vector(18 downto 0);
+		read_data : out std_logic_vector(31 downto 0);
+		read_en : in std_logic;
+		write_en : in std_logic;
+		write_data : in std_logic_vector(31 downto 0);
+		pci_clk : in std_logic;
+		brightness_rf_read_data : in std_logic_vector(31 downto 0);
+		brightness_rf_read_en : out std_logic;
+		brightness_rf_write_en : out std_logic;
+		brightness_rf_write_data : out std_logic_vector(31 downto 0);
+		RST : in std_logic;
+		CLK : in std_logic
+	);
+end component;
+
+begin
+
+param_stream2rtl_register_rf_ip_wrapper_ip : register_rf
+	generic map (
+		C_brightness_rf_address => B"0000000000000000000"
+	)
+    port map (
+		address => address,
+		read_data => read_data,
+		read_en => read_en,
+		write_en => write_en,
+		write_data => write_data,
+		pci_clk => pci_clk,
+		brightness_rf_read_data => brightness_rf_read_data,
+		brightness_rf_read_en => brightness_rf_read_en,
+		brightness_rf_write_en => brightness_rf_write_en,
+		brightness_rf_write_data => brightness_rf_write_data,
+		RST => RST,
+		CLK => CLK
+    );
+  
+end architecture STRUCTURE;
diff --git a/applications/compaan/libraries/param_stream/src/vhdl/system_ext_TB.vhd b/applications/compaan/libraries/param_stream/src/vhdl/system_ext_TB.vhd
new file mode 100644
index 0000000000000000000000000000000000000000..5615e599ba872351f0afbea2f1c01716dffa3333
--- /dev/null
+++ b/applications/compaan/libraries/param_stream/src/vhdl/system_ext_TB.vhd
@@ -0,0 +1,421 @@
+-- System TestBench; automatically generated by KpnMapper
+-- Use this file to test the system generated by XPS
+-- The interface of the tested System includes only the FIFO interfaces
+-- declared as external interfaces and not the FIFO interfaces connected
+-- to platform FIFOs
+-- To generate a System with complete interface select the *noboard* platform option
+-- 
+-- =====================================================================================
+-- To use this testbench file you have to:
+--   1. Set propper Time-Out interval (constant TIMEOUT)
+--   2. If you read stimuli from files, provide a path to the directory that contains the stimuli files (constant STIM_DIR)
+--   3. For each input select whether stimuli is read from a file (default) or from a table (see processes *_STIM_DRV)
+--   4. For each output select whether stimuli is read from a file (default) or from a table (see processes *_STIM_CMP)
+--   5. For each stimuli that is read from a table fill the stimuli data in the table (constant *_STIM)
+-- =====================================================================================
+-- 
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library std;
+use std.textio.all;
+
+entity system_ext_TB is
+end system_ext_TB;
+
+architecture RTL of system_ext_TB is
+
+    constant CLK_PERIOD   : TIME    := 10 ns;            -- Period of the system clock
+    constant RESET_LENGTH : natural := 5;                -- Reset duration [clock cycles]
+    constant STIM_DELAY   : natural := RESET_LENGTH + 5; -- When stimuli supply starts [clock cycles]
+    --
+    -- Set Time-0ut interval sufficienly long for your application to complete
+    constant TIMEOUT : natural := 10000000;    -- Time-Out [clock cycles]
+    --
+    constant STIM_DIR        : string := "D:/Bureaublad/Astron/Bijbaan/compaan/workspace/param_stream/vhdl_altera/";   -- Provide here the path to your stimuli files directory
+    -- Input stimuli files: to provide data streams to input FIFOs
+    constant STIM_FILE_data_in    : string := "STIM_FILE_data_in.txt";
+    constant STIM_FILE_data_out    : string := "STIM_FILE_data_out.txt";
+
+    signal   ENDSIM       : boolean := false;    -- Simulation has finished
+    signal   ENDSTIM_IN   : boolean := false;    -- All input stimuli has been sent
+    signal   ENDSTIM_OUT  : boolean := false;    -- All expected data has been received
+    signal   ENDTIMEOUT   : boolean := false;    -- Simulation Time-Out has occured
+    signal   timeout_cntr : natural;
+    signal   ERROR_SYS    : boolean := false;    -- Error: Some of te system nodes indicated error
+    signal   ERROR_OUT    : boolean := false;    -- Error: Detected output data differs from the expected output data
+    signal   FIRST_ERROR  : time;                -- The time when the first error occured
+    signal   ENDSTOP      : boolean := false;    -- All system nodes have flagged 'Stop'
+
+    -- 
+    -- Component Under Test
+    component param_stream is
+    port (
+        -- FIFO_In Interface: data_in
+        data_in_Data    : in  std_logic_vector(63 downto 0);  
+        data_in_Control : in  std_logic;  
+        data_in_Read    : out std_logic;  
+        data_in_Exists  : in  std_logic;  
+
+        -- FIFO_Out Interface: data_out
+        data_out_Data    : out std_logic_vector(63 downto 0);  
+        data_out_Control : out std_logic;  
+        data_out_Write   : out std_logic;  
+        data_out_Full    : in  std_logic;  
+
+        TEST_STOP : out std_logic_vector(3 downto 0);  
+        TEST_ERROR : out std_logic_vector(3 downto 0);  
+        TEST_FIFO_FULL : out std_logic_vector(1 downto 0);  
+        TEST_BLOCK_RD : out std_logic_vector(3 downto 0);  
+        address : in  std_logic_vector(18 downto 0);  
+        read_data : out std_logic_vector(31 downto 0);  
+        read_en : in  std_logic;  
+        write_en : in  std_logic;  
+        write_data : in  std_logic_vector(31 downto 0);  
+        pci_clk : in  std_logic;  
+        --
+        KPN_CLK              : in  std_logic;
+        KPN_RST              : in  std_logic
+    );
+    end component;
+    -- 
+    signal RST      : STD_LOGIC := '0';
+    signal CLK      : STD_LOGIC := '0';
+    -- 
+    type FIFO_SRC_REC is record
+        Data        : integer;
+        Control     : std_logic;
+        Read        : std_logic;
+        Exists      : std_logic;
+        -- 
+        Count       : natural;
+        Done        : boolean;
+    end record;
+    -- 
+    type FIFO_SNK_REC is record
+        Data        : integer;
+        Control     : std_logic;
+        Write       : std_logic;
+        Full        : std_logic;
+        -- 
+        Count       : natural;
+        Done        : boolean;
+        Error       : boolean;
+        First_error : time;
+    end record;
+    -- 
+    signal data_in    : FIFO_SRC_REC;
+    signal data_out    : FIFO_SNK_REC;
+    -- 
+    signal data_in_Data           : std_logic_vector(63 downto 0);
+    signal data_out_Data           : std_logic_vector(63 downto 0);
+    signal TEST_STOP           : std_logic_vector(3 downto 0);
+    signal TEST_ERROR           : std_logic_vector(3 downto 0);
+    signal TEST_FIFO_FULL           : std_logic_vector(1 downto 0);
+    signal TEST_BLOCK_RD           : std_logic_vector(3 downto 0);
+    signal address           : std_logic_vector(18 downto 0);
+    signal read_data           : std_logic_vector(31 downto 0);
+    signal read_en           : std_logic;
+    signal write_en           : std_logic;
+    signal write_data           : std_logic_vector(31 downto 0);
+    signal pci_clk           : std_logic;
+    --
+    -- record keeping values of input and output stimuli
+    type STIM_REC is record
+        Data    : integer;
+        Control : std_logic;
+    end record;
+    --
+    -- Function that reads a STIM_REC from a (stimuli) file
+    impure function FREAD_STIM(file F : TEXT) return STIM_REC is
+        variable VECTOR    : STIM_REC;
+        variable IN_LINE   : LINE;
+    begin
+        readline(F ,IN_LINE);
+        read(IN_LINE, VECTOR.Data);
+        deallocate(IN_LINE);
+        VECTOR.Control := '0';    -- Control bit is not used at the moment
+        return VECTOR;
+    end;
+    --
+    -- table of records
+    type STIM_ARRAY is array(positive range <>) of STIM_REC;
+    --
+    -- Stimuli can be read either from a file or from the constant tables below
+    -- If you will use constant tables, uncomment below those you need
+--    constant data_in_STIM : STIM_ARRAY := (
+--    -- Provide your stimuli here
+--    -- ( Data, Control),
+--    -- e.g. (  0, '0'),
+--    -- e.g. (  0, '0') 
+--    );
+    --
+--    constant data_out_STIM : STIM_ARRAY := (
+--    -- Provide your stimuli here
+--    -- ( Data, Control),
+--    -- e.g. (  0, '0'),
+--    -- e.g. (  0, '0') 
+--    );
+    --
+begin
+    --
+    -- =============================================
+    -- = System Under Test 
+    -- =============================================
+    SUT : param_stream port map(
+        --
+        data_in_Data    => data_in_Data    ,
+        data_in_Control => data_in.Control ,
+        data_in_Read    => data_in.Read    ,
+        data_in_Exists  => data_in.Exists  ,
+        --
+        data_out_Data    => data_out_Data    ,
+        data_out_Control => data_out.Control ,
+        data_out_Write   => data_out.Write   ,
+        data_out_Full    => data_out.Full    ,
+        TEST_STOP    => TEST_STOP    ,
+        TEST_ERROR    => TEST_ERROR    ,
+        TEST_FIFO_FULL    => TEST_FIFO_FULL    ,
+        TEST_BLOCK_RD    => TEST_BLOCK_RD    ,
+        address      => address    ,
+        read_data    => read_data    ,
+        read_en      => read_en    ,
+        write_en      => write_en    ,
+        write_data      => write_data    ,
+        pci_clk      => pci_clk    ,
+        --
+        KPN_CLK              => CLK,
+        KPN_RST              => RST   
+    );
+    --
+    pci_clk <= CLK;
+    --
+    data_in_Data      <= STD_LOGIC_VECTOR(TO_SIGNED(data_in.Data,   data_in_Data'Length));
+    data_out.Data      <= TO_INTEGER(SIGNED(data_out_Data));
+
+    -- Adjust these values to changes values in the Register file to change parameters and shmem
+reg_file : process    
+    variable read_in : std_logic_vector(31 downto 0);
+begin	    	
+    address <= (others => '0');
+    write_en <= '0';
+    read_en <= '0';
+    address <= STD_LOGIC_VECTOR(TO_UNSIGNED(0,19));
+    write_data <= STD_LOGIC_VECTOR(TO_UNSIGNED(0,32));
+
+-- wait for 100ns;	
+--     address <= STD_LOGIC_VECTOR(TO_UNSIGNED(0,19));
+--     write_data <= STD_LOGIC_VECTOR(TO_UNSIGNED(0,32));
+--     wait for 1*CLK_PERIOD;
+--     write_en <= '1';
+--     wait for 2*CLK_PERIOD;
+--     write_en <= '0';
+--     wait for 1*CLK_PERIOD;
+--     --read_en <= '1';
+--     wait for 2*CLK_PERIOD;
+--     --read_en <= '0';
+--     wait for 1*CLK_PERIOD;
+--     wait for 300ns;	
+    wait;	
+end process;
+
+    --
+    -- Stimuli Driver for input stream : data_in
+    data_in_STIM_DRV : process
+        variable VECTOR    : STIM_REC;
+        file     STIM_FILE : TEXT open READ_MODE is STIM_DIR&STIM_FILE_data_in;
+    begin
+        data_in.Exists <= '0';
+        data_in.Count  <=  0;
+        data_in.Done   <=  false;
+        wait for STIM_DELAY*CLK_PERIOD;
+        wait until rising_edge(CLK);
+----------------------------------------------
+--        -- Uncomment if stimuli for data_in is read from a constant tables
+--        for i in data_in_STIM'range loop
+--            VECTOR:= data_in_STIM(i);
+----------------------------------------------
+        -- Uncomment if stimuli for data_in is read from a file
+        while not( endfile(STIM_FILE)) loop
+            VECTOR := FREAD_STIM(STIM_FILE);
+--------------------------------------------
+            data_in.Data    <= VECTOR.Data;
+            data_in.Control <= VECTOR.Control;
+            data_in.Exists  <= '1';
+            L1: loop
+                wait until rising_edge(CLK);
+                exit L1 when (data_in.Read = '1');
+            end loop L1;
+            data_in.Count <= data_in.Count + 1;
+        end loop;
+        data_in.Exists <= '0';
+        data_in.Done <= true;
+        wait for 10*CLK_PERIOD;
+        wait;
+    end process;
+    --
+    ENDSTIM_IN <= data_in.Done;
+    --
+    -- Stimuli Comparator for output stream data_out
+    data_out_STIM_CMP : process
+        variable VECTOR     : STIM_REC;
+        file     STIM_FILE  : TEXT open READ_MODE is STIM_DIR&STIM_FILE_data_out;
+    begin
+        data_out.Full  <= '1';
+        data_out.Count <= 0;
+        data_out.Done  <= false;
+        data_out.Error <= false;
+        wait for STIM_DELAY*CLK_PERIOD;
+        wait until rising_edge(CLK);
+----------------------------------------------
+--        -- Uncomment if stimuli for data_out is read from a constant tables
+--        for i in data_out_STIM'range loop
+--            VECTOR := data_out_STIM(i);
+----------------------------------------------
+        -- Uncomment if stimuli for data_out is read from a file
+        while not( endfile(STIM_FILE)) loop
+            VECTOR := FREAD_STIM(STIM_FILE);
+----------------------------------------------
+            --
+            data_out.Full  <= '0';
+            L1: loop
+                wait until rising_edge(CLK);
+                exit L1 when (data_out.Write = '1');
+            end loop L1;
+            data_out.Count <= data_out.Count + 1;
+            if (data_out.Data /= VECTOR.Data) then
+                report "TB_ERROR: Output 'data_out': the detected value " & integer'image(data_out.Data) & " differs from the expected value " & integer'image(VECTOR.Data) & "!!! (@time " & time'image(now) & ")."
+                severity WARNING;
+                if (not data_out.Error) then
+                    data_out.First_error <= now;
+                end if;
+                data_out.Error <= true;
+            end if;
+        end loop;
+        data_out.Full  <= '1';
+        data_out.Done <= true;
+        wait for 10*CLK_PERIOD;
+        wait;
+    end process;
+    --
+    ENDSTIM_OUT <= data_out.Done;
+    ERROR_OUT   <= data_out.Error;
+    --
+    -- Record the time when the first error occures
+    FIRST_ERROR_TIME : process
+    begin
+        wait until (ERROR_OUT'event and ERROR_OUT=true) or (ERROR_SYS'event and ERROR_SYS=true);
+        FIRST_ERROR <= now;
+        wait;
+    end process;
+    --
+--=============================================
+--= All Nodes stopped ?
+--=============================================
+	process(test_stop)
+		variable s : std_logic;
+		variable e : std_logic;
+	begin
+	s := '1';
+	e := '0';
+	--
+	for i in 0 to TEST_ERROR'Length-1 loop
+		s := s and test_stop(i);
+		e := e or  test_error(i);
+	end loop;
+	--
+		ENDSTOP   <= (s = '1');
+		ERROR_SYS <= (e = '1');
+	--
+	end process;
+    -- Timeout counter
+    TO_CTRL : process(CLK)
+    begin
+        if (rising_edge(CLK)) then
+            if (RST = '1') then
+                timeout_cntr <= 0;
+            else
+                if (timeout_cntr = TIMEOUT) then
+                    ENDTIMEOUT <= true;
+                else
+                    timeout_cntr <= timeout_cntr + 1;
+                end if;
+            end if;
+        end if;
+    end process;
+    --
+    -- Simulation control
+    ENDSIM <= (ENDSTIM_IN and ENDSTOP and ENDSTIM_OUT) or ENDTIMEOUT;
+    --
+    PRINT_REPORT : process
+        variable ERROR_CODE : natural;
+        variable l          : line;
+    begin
+       -- write(l, "***TB_REPOT: Simulation in progress...");
+        writeline(output,l);
+        wait until ENDSIM=true;
+       -- write(l, "***TB_REPOT: Simulation END.");
+        writeline(output,l);
+        ERROR_CODE := 0;
+        -- 
+        if (ENDTIMEOUT) then
+            ERROR_CODE := ERROR_CODE + 1;
+            write(l, "***TB_REPOT: [TIMEOUT] Simulation terminated by a TIMEOUT after " & integer'image(timeout_cntr) & " clock cycles.");
+            writeline(output,l);
+            write(l, "*** ENDSTIM_IN  = " & boolean'image(ENDSTIM_IN) );
+            writeline(output,l);   
+            write(l, "*** ENDSTIM_OUT = " & boolean'image(ENDSTIM_OUT) );
+            writeline(output,l);   
+            for i in 0 to TEST_FIFO_FULL'Length-1 loop
+               if (TEST_FIFO_FULL(i)='1') then
+                  write(l, "*** TEST_FIFO_FULL(" & integer'image(i) & ") ");
+                  writeline(output,l);
+               end if;
+            end loop;
+        end if;
+        -- 
+        if (ERROR_OUT or ERROR_SYS) then
+            ERROR_CODE := ERROR_CODE + 2;
+            write(l, "***TB_REPOT: [ERROR] Simulation terminated in " & integer'image(timeout_cntr) & " cycles with ERRORS!!! First error occured at time " & time'image(FIRST_ERROR) & ".");
+            writeline(output,l);
+         --   write(l, "***TB_REPOT: [ERROR]   Flags ERROR = b");
+         --   write(l, test_error, RIGHT, test_error'Length);
+         --   writeline(output,l);
+        end if;
+        -- 
+        write(l, "***TB_REPOT: [ERROR_CODE=" & integer'image(ERROR_CODE) & "]");
+        writeline(output,l);
+        -- 
+        if (ERROR_CODE = 0) then
+            write(l, "***TB_REPOT: [OK] Simulation completed successfully in " & integer'image(timeout_cntr) & " cycles !!!");
+            writeline(output,l);
+         --   write(l, "None of the processors flagged ERROR. ");
+            writeline(output,l);
+        end if;
+        wait;
+    end process;
+    --
+    -- CLK generator
+    CLK_GEN: process
+    begin
+        if (ENDSIM=false) then
+            CLK <= '0';
+            wait for CLK_PERIOD/2;
+            CLK <= '1';
+            wait for CLK_PERIOD/2;
+        else
+            wait;
+        end if;
+    end process;
+    --
+    -- RESET generator
+    RST_GEN: process
+    begin
+        RST <='1';
+        wait for RESET_LENGTH*CLK_PERIOD;
+        RST <='0';
+        wait;
+    end process;
+    --
+end RTL;