From faf239df77d9c698b3cabcc091cc221b7fa3f2c0 Mon Sep 17 00:00:00 2001
From: Leon Hiemstra <hiemstra@astron.nl>
Date: Wed, 1 Oct 2014 15:22:37 +0000
Subject: [PATCH] svn cp from unb_tr_10GbE. Converted to RadioHDL. Tested in
 frontnode.

---
 .../designs/unb1_tr_10GbE/hdllib.cfg          |   32 +
 .../unb1_tr_10GbE/quartus/sopc_tr_10GbE.sopc  | 1147 +++++++++++++++++
 .../quartus/unb1_tr_10GbE_pins.tcl            |   87 ++
 .../src/hex/default_eth_header.hex            |    9 +
 .../src/python/gen_hex_file_dp_ram_from_mm.py |  153 +++
 .../src/vhdl/node_unb1_tr_10GbE.vhd           |  197 +++
 .../unb1_tr_10GbE/src/vhdl/unb1_tr_10GbE.vhd  |  514 ++++++++
 7 files changed, 2139 insertions(+)
 create mode 100644 boards/uniboard1/designs/unb1_tr_10GbE/hdllib.cfg
 create mode 100644 boards/uniboard1/designs/unb1_tr_10GbE/quartus/sopc_tr_10GbE.sopc
 create mode 100644 boards/uniboard1/designs/unb1_tr_10GbE/quartus/unb1_tr_10GbE_pins.tcl
 create mode 100644 boards/uniboard1/designs/unb1_tr_10GbE/src/hex/default_eth_header.hex
 create mode 100644 boards/uniboard1/designs/unb1_tr_10GbE/src/python/gen_hex_file_dp_ram_from_mm.py
 create mode 100644 boards/uniboard1/designs/unb1_tr_10GbE/src/vhdl/node_unb1_tr_10GbE.vhd
 create mode 100644 boards/uniboard1/designs/unb1_tr_10GbE/src/vhdl/unb1_tr_10GbE.vhd

diff --git a/boards/uniboard1/designs/unb1_tr_10GbE/hdllib.cfg b/boards/uniboard1/designs/unb1_tr_10GbE/hdllib.cfg
new file mode 100644
index 0000000000..c765618b55
--- /dev/null
+++ b/boards/uniboard1/designs/unb1_tr_10GbE/hdllib.cfg
@@ -0,0 +1,32 @@
+hdl_lib_name = unb1_tr_10GbE
+hdl_library_clause_name = unb1_tr_10GbE_lib
+hdl_lib_uses = common mm i2c unb1_board dp eth tr_xaui tr_10GbE mdio diagnostics
+hdl_lib_technology = ip_stratixiv
+
+build_dir_sim = $HDL_BUILD_DIR
+build_dir_synth = $HDL_BUILD_DIR
+
+synth_files =
+    $HDL_BUILD_DIR/quartus/unb1_tr_10GbE/sopc_tr_10GbE.vhd
+    src/vhdl/node_unb1_tr_10GbE.vhd
+    src/vhdl/unb1_tr_10GbE.vhd
+    
+test_bench_files = 
+
+synth_top_level_entity =
+synth_revision = 
+
+synth_copy_files =
+    quartus/sopc_tr_10GbE.sopc .
+
+quartus_qsf_files =
+    $RADIOHDL/boards/uniboard1/libraries/unb1_board/quartus/unb1_board.qsf
+    
+quartus_tcl_files =
+    quartus/unb1_tr_10GbE_pins.tcl
+    
+quartus_vhdl_files = 
+
+quartus_qip_files =
+    $HDL_BUILD_DIR/quartus/unb1_tr_10GbE/sopc_tr_10GbE.qip
+
diff --git a/boards/uniboard1/designs/unb1_tr_10GbE/quartus/sopc_tr_10GbE.sopc b/boards/uniboard1/designs/unb1_tr_10GbE/quartus/sopc_tr_10GbE.sopc
new file mode 100644
index 0000000000..c6b6a095df
--- /dev/null
+++ b/boards/uniboard1/designs/unb1_tr_10GbE/quartus/sopc_tr_10GbE.sopc
@@ -0,0 +1,1147 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<system name="sopc_tr_10GbE">
+ <parameter name="bonusData"><![CDATA[bonusData 
+{
+   element altpll_0
+   {
+      datum _sortIndex
+      {
+         value = "1";
+         type = "int";
+      }
+   }
+   element jtag_uart_0.avalon_jtag_slave
+   {
+      datum baseAddress
+      {
+         value = "1120";
+         type = "long";
+      }
+   }
+   element avs_eth_0
+   {
+      datum _sortIndex
+      {
+         value = "9";
+         type = "int";
+      }
+   }
+   element altpll_0.c0
+   {
+      datum _clockDomain
+      {
+         value = "mm_clk";
+         type = "String";
+      }
+   }
+   element altpll_0.c1
+   {
+      datum _clockDomain
+      {
+         value = "cal_reconf_clk";
+         type = "String";
+      }
+   }
+   element altpll_0.c2
+   {
+      datum _clockDomain
+      {
+         value = "tse_clk";
+         type = "String";
+      }
+   }
+   element altpll_0.c3
+   {
+      datum _clockDomain
+      {
+         value = "dp_clk";
+         type = "String";
+      }
+   }
+   element clk_0
+   {
+      datum _sortIndex
+      {
+         value = "5";
+         type = "int";
+      }
+   }
+   element cpu_0
+   {
+      datum _sortIndex
+      {
+         value = "4";
+         type = "int";
+      }
+      datum megawizard_uipreferences
+      {
+         value = "{}";
+         type = "String";
+      }
+   }
+   element cpu_0.jtag_debug_module
+   {
+      datum baseAddress
+      {
+         value = "14336";
+         type = "long";
+      }
+   }
+   element jtag_uart_0
+   {
+      datum _sortIndex
+      {
+         value = "3";
+         type = "int";
+      }
+      datum megawizard_uipreferences
+      {
+         value = "{}";
+         type = "String";
+      }
+   }
+   element reg_dp_ram_from_mm.mem
+   {
+      datum baseAddress
+      {
+         value = "1024";
+         type = "long";
+      }
+   }
+   element reg_wdi.mem
+   {
+      datum _lockedAddress
+      {
+         value = "1";
+         type = "boolean";
+      }
+      datum baseAddress
+      {
+         value = "12288";
+         type = "long";
+      }
+   }
+   element ram_dp_ram_to_mm.mem
+   {
+      datum baseAddress
+      {
+         value = "768";
+         type = "long";
+      }
+   }
+   element rom_system_info.mem
+   {
+      datum _lockedAddress
+      {
+         value = "1";
+         type = "boolean";
+      }
+      datum baseAddress
+      {
+         value = "4096";
+         type = "long";
+      }
+   }
+   element reg_tr_xaui.mem
+   {
+      datum baseAddress
+      {
+         value = "16384";
+         type = "long";
+      }
+   }
+   element pio_system_info.mem
+   {
+      datum _lockedAddress
+      {
+         value = "1";
+         type = "boolean";
+      }
+      datum baseAddress
+      {
+         value = "0";
+         type = "long";
+      }
+   }
+   element ram_dp_ram_from_mm.mem
+   {
+      datum baseAddress
+      {
+         value = "512";
+         type = "long";
+      }
+   }
+   element reg_diagnostics.mem
+   {
+      datum baseAddress
+      {
+         value = "256";
+         type = "long";
+      }
+   }
+   element reg_unb_sens.mem
+   {
+      datum baseAddress
+      {
+         value = "224";
+         type = "long";
+      }
+   }
+   element reg_tr_10GbE.mem
+   {
+      datum baseAddress
+      {
+         value = "262144";
+         type = "long";
+      }
+   }
+   element avs_eth_0.mms_ram
+   {
+      datum baseAddress
+      {
+         value = "24576";
+         type = "long";
+      }
+   }
+   element avs_eth_0.mms_reg
+   {
+      datum baseAddress
+      {
+         value = "128";
+         type = "long";
+      }
+   }
+   element avs_eth_0.mms_tse
+   {
+      datum baseAddress
+      {
+         value = "8192";
+         type = "long";
+      }
+   }
+   element onchip_memory2_0
+   {
+      datum _sortIndex
+      {
+         value = "2";
+         type = "int";
+      }
+      datum megawizard_uipreferences
+      {
+         value = "{output_language=VHDL, output_directory=D:\\svnroot\\UniBoard_FP7\\UniBoard\\trunk\\Firmware\\designs\\unb_tr_nonbonded\\build\\synth\\quartus}";
+         type = "String";
+      }
+   }
+   element pio_debug_wave
+   {
+      datum _sortIndex
+      {
+         value = "0";
+         type = "int";
+      }
+   }
+   element pio_pps
+   {
+      datum _sortIndex
+      {
+         value = "14";
+         type = "int";
+      }
+   }
+   element pio_system_info
+   {
+      datum _sortIndex
+      {
+         value = "12";
+         type = "int";
+      }
+   }
+   element pio_wdi
+   {
+      datum _sortIndex
+      {
+         value = "6";
+         type = "int";
+      }
+      datum megawizard_uipreferences
+      {
+         value = "{}";
+         type = "String";
+      }
+   }
+   element altpll_0.pll_slave
+   {
+      datum _lockedAddress
+      {
+         value = "0";
+         type = "boolean";
+      }
+      datum baseAddress
+      {
+         value = "1056";
+         type = "long";
+      }
+   }
+   element ram_dp_ram_from_mm
+   {
+      datum _sortIndex
+      {
+         value = "17";
+         type = "int";
+      }
+   }
+   element ram_dp_ram_to_mm
+   {
+      datum _sortIndex
+      {
+         value = "18";
+         type = "int";
+      }
+   }
+   element reg_diagnostics
+   {
+      datum _sortIndex
+      {
+         value = "7";
+         type = "int";
+      }
+   }
+   element reg_dp_ram_from_mm
+   {
+      datum _sortIndex
+      {
+         value = "16";
+         type = "int";
+      }
+   }
+   element reg_tr_10GbE
+   {
+      datum _sortIndex
+      {
+         value = "15";
+         type = "int";
+      }
+   }
+   element reg_tr_xaui
+   {
+      datum _sortIndex
+      {
+         value = "19";
+         type = "int";
+      }
+   }
+   element reg_unb_sens
+   {
+      datum _sortIndex
+      {
+         value = "11";
+         type = "int";
+      }
+   }
+   element reg_wdi
+   {
+      datum _sortIndex
+      {
+         value = "13";
+         type = "int";
+      }
+   }
+   element rom_system_info
+   {
+      datum _sortIndex
+      {
+         value = "10";
+         type = "int";
+      }
+   }
+   element pio_wdi.s1
+   {
+      datum baseAddress
+      {
+         value = "1088";
+         type = "long";
+      }
+   }
+   element pio_pps.s1
+   {
+      datum baseAddress
+      {
+         value = "1104";
+         type = "long";
+      }
+   }
+   element timer_0.s1
+   {
+      datum baseAddress
+      {
+         value = "192";
+         type = "long";
+      }
+   }
+   element onchip_memory2_0.s1
+   {
+      datum _lockedAddress
+      {
+         value = "1";
+         type = "boolean";
+      }
+      datum baseAddress
+      {
+         value = "131072";
+         type = "long";
+      }
+   }
+   element pio_debug_wave.s1
+   {
+      datum baseAddress
+      {
+         value = "1072";
+         type = "long";
+      }
+   }
+   element sopc_tr_10GbE
+   {
+   }
+   element timer_0
+   {
+      datum _sortIndex
+      {
+         value = "8";
+         type = "int";
+      }
+   }
+}
+]]></parameter>
+ <parameter name="clockCrossingAdapter" value="HANDSHAKE" />
+ <parameter name="device" value="EP4SGX230KF40C2" />
+ <parameter name="deviceFamily" value="STRATIXIV" />
+ <parameter name="deviceSpeedGrade" value="" />
+ <parameter name="fabricMode" value="SOPC" />
+ <parameter name="generateLegacySim" value="true" />
+ <parameter name="generationId" value="0" />
+ <parameter name="globalResetBus" value="true" />
+ <parameter name="hdlLanguage" value="VHDL" />
+ <parameter name="maxAdditionalLatency" value="0" />
+ <parameter name="projectName" value="unb1_tr_10GbE.qpf" />
+ <parameter name="sopcBorderPoints" value="true" />
+ <parameter name="systemHash" value="-55271282509" />
+ <parameter name="timeStamp" value="1411635296347" />
+ <parameter name="useTestBenchNamingPattern" value="false" />
+ <module kind="clock_source" version="11.1" enabled="1" name="clk_0">
+  <parameter name="clockFrequency" value="25000000" />
+  <parameter name="clockFrequencyKnown" value="true" />
+  <parameter name="inputClockFrequency" value="0" />
+  <parameter name="resetSynchronousEdges" value="NONE" />
+ </module>
+ <module kind="altera_nios2" version="11.1" enabled="1" name="cpu_0">
+  <parameter name="userDefinedSettings" value="" />
+  <parameter name="tightlyCoupledInstructionMaster3MapParam" value="" />
+  <parameter name="tightlyCoupledInstructionMaster3AddrWidth" value="1" />
+  <parameter name="tightlyCoupledInstructionMaster2MapParam" value="" />
+  <parameter name="tightlyCoupledInstructionMaster2AddrWidth" value="1" />
+  <parameter name="tightlyCoupledInstructionMaster1MapParam" value="" />
+  <parameter name="tightlyCoupledInstructionMaster1AddrWidth" value="1" />
+  <parameter name="tightlyCoupledInstructionMaster0MapParam" value="" />
+  <parameter name="tightlyCoupledInstructionMaster0AddrWidth" value="1" />
+  <parameter name="tightlyCoupledDataMaster3MapParam" value="" />
+  <parameter name="tightlyCoupledDataMaster3AddrWidth" value="1" />
+  <parameter name="tightlyCoupledDataMaster2MapParam" value="" />
+  <parameter name="tightlyCoupledDataMaster2AddrWidth" value="1" />
+  <parameter name="tightlyCoupledDataMaster1MapParam" value="" />
+  <parameter name="tightlyCoupledDataMaster1AddrWidth" value="1" />
+  <parameter name="tightlyCoupledDataMaster0MapParam" value="" />
+  <parameter name="tightlyCoupledDataMaster0AddrWidth" value="1" />
+  <parameter name="setting_showUnpublishedSettings" value="false" />
+  <parameter name="setting_showInternalSettings" value="false" />
+  <parameter name="setting_shadowRegisterSets" value="0" />
+  <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_perfCounterWidth" value="_32" />
+  <parameter name="setting_interruptControllerType" value="Internal" />
+  <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_branchPredictionType" value="Automatic" />
+  <parameter name="setting_bit31BypassDCache" value="true" />
+  <parameter name="setting_bigEndian" value="false" />
+  <parameter name="setting_bhtPtrSz" value="_8" />
+  <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="resetSlave" value="onchip_memory2_0.s1" />
+  <parameter name="resetOffset" value="0" />
+  <parameter name="muldiv_multiplierType" value="DSPBlock" />
+  <parameter name="muldiv_divider" value="false" />
+  <parameter name="mpu_useLimit" value="false" />
+  <parameter name="mpu_numOfInstRegion" value="8" />
+  <parameter name="mpu_numOfDataRegion" value="8" />
+  <parameter name="mpu_minInstRegionSize" value="_12" />
+  <parameter name="mpu_minDataRegionSize" value="_12" />
+  <parameter name="mpu_enabled" value="false" />
+  <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="mmu_enabled" value="false" />
+  <parameter name="mmu_autoAssignTlbPtrSz" value="true" />
+  <parameter name="mmu_TLBMissExcSlave" value="" />
+  <parameter name="mmu_TLBMissExcOffset" value="0" />
+  <parameter name="manuallyAssignCpuID" value="false" />
+  <parameter name="internalIrqMaskSystemInfo" value="7" />
+  <parameter name="instSlaveMapParam"><![CDATA[<address-map><slave name='cpu_0.jtag_debug_module' start='0x3800' end='0x4000' /><slave name='onchip_memory2_0.s1' start='0x20000' end='0x40000' /></address-map>]]></parameter>
+  <parameter name="instAddrWidth" value="18" />
+  <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="exceptionSlave" value="onchip_memory2_0.s1" />
+  <parameter name="exceptionOffset" value="32" />
+  <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="deviceFamilyName" value="Stratix IV" />
+  <parameter name="debug_triggerArming" value="true" />
+  <parameter name="debug_level" value="Level1" />
+  <parameter name="debug_jtagInstanceID" value="0" />
+  <parameter name="debug_embeddedPLL" value="true" />
+  <parameter name="debug_debugReqSignals" value="false" />
+  <parameter name="debug_assignJtagInstanceID" value="false" />
+  <parameter name="debug_OCIOnchipTrace" value="_128" />
+  <parameter name="dcache_size" value="_2048" />
+  <parameter name="dcache_ramBlockType" value="Automatic" />
+  <parameter name="dcache_omitDataMaster" value="false" />
+  <parameter name="dcache_numTCDM" value="_0" />
+  <parameter name="dcache_lineSize" value="_32" />
+  <parameter name="dcache_bursts" value="false" />
+  <parameter name="dataSlaveMapParam"><![CDATA[<address-map><slave name='pio_system_info.mem' start='0x0' end='0x80' /><slave name='avs_eth_0.mms_reg' start='0x80' end='0xC0' /><slave name='timer_0.s1' start='0xC0' end='0xE0' /><slave name='reg_unb_sens.mem' start='0xE0' end='0x100' /><slave name='reg_diagnostics.mem' start='0x100' end='0x200' /><slave name='ram_dp_ram_from_mm.mem' start='0x200' end='0x300' /><slave name='ram_dp_ram_to_mm.mem' start='0x300' end='0x400' /><slave name='reg_dp_ram_from_mm.mem' start='0x400' end='0x420' /><slave name='altpll_0.pll_slave' start='0x420' end='0x430' /><slave name='pio_debug_wave.s1' start='0x430' end='0x440' /><slave name='pio_wdi.s1' start='0x440' end='0x450' /><slave name='pio_pps.s1' start='0x450' end='0x460' /><slave name='jtag_uart_0.avalon_jtag_slave' start='0x460' end='0x468' /><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='cpu_0.jtag_debug_module' 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='onchip_memory2_0.s1' start='0x20000' end='0x40000' /><slave name='reg_tr_10GbE.mem' start='0x40000' end='0x60000' /></address-map>]]></parameter>
+  <parameter name="dataAddrWidth" value="19" />
+  <parameter name="customInstSlavesSystemInfo" value="&lt;info/&gt;" />
+  <parameter name="cpuReset" value="false" />
+  <parameter name="cpuID" value="0" />
+  <parameter name="clockFrequency" value="125000000" />
+  <parameter name="breakSlave">cpu_0.jtag_debug_module</parameter>
+  <parameter name="breakOffset" value="32" />
+ </module>
+ <module
+   kind="altera_avalon_onchip_memory2"
+   version="11.1"
+   enabled="1"
+   name="onchip_memory2_0">
+  <parameter name="allowInSystemMemoryContentEditor" value="false" />
+  <parameter name="autoInitializationFileName" value="onchip_memory2_0" />
+  <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="false" />
+  <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="altpll" version="11.1" enabled="1" name="altpll_0">
+  <parameter name="HIDDEN_CUSTOM_ELABORATION">altpll_avalon_elaboration</parameter>
+  <parameter name="HIDDEN_CUSTOM_POST_EDIT">altpll_avalon_post_edit</parameter>
+  <parameter name="INTENDED_DEVICE_FAMILY" value="Stratix IV" />
+  <parameter name="WIDTH_CLOCK" value="10" />
+  <parameter name="WIDTH_PHASECOUNTERSELECT" value="" />
+  <parameter name="PRIMARY_CLOCK" value="" />
+  <parameter name="INCLK0_INPUT_FREQUENCY" value="40000" />
+  <parameter name="INCLK1_INPUT_FREQUENCY" value="" />
+  <parameter name="OPERATION_MODE" value="NORMAL" />
+  <parameter name="PLL_TYPE" value="AUTO" />
+  <parameter name="QUALIFY_CONF_DONE" value="" />
+  <parameter name="COMPENSATE_CLOCK" value="CLK0" />
+  <parameter name="SCAN_CHAIN" value="" />
+  <parameter name="GATE_LOCK_SIGNAL" value="" />
+  <parameter name="GATE_LOCK_COUNTER" value="" />
+  <parameter name="LOCK_HIGH" value="" />
+  <parameter name="LOCK_LOW" value="" />
+  <parameter name="VALID_LOCK_MULTIPLIER" value="" />
+  <parameter name="INVALID_LOCK_MULTIPLIER" value="" />
+  <parameter name="SWITCH_OVER_ON_LOSSCLK" value="" />
+  <parameter name="SWITCH_OVER_ON_GATED_LOCK" value="" />
+  <parameter name="ENABLE_SWITCH_OVER_COUNTER" value="" />
+  <parameter name="SKIP_VCO" value="" />
+  <parameter name="SWITCH_OVER_COUNTER" value="" />
+  <parameter name="SWITCH_OVER_TYPE" value="" />
+  <parameter name="FEEDBACK_SOURCE" value="" />
+  <parameter name="BANDWIDTH" value="" />
+  <parameter name="BANDWIDTH_TYPE" value="AUTO" />
+  <parameter name="SPREAD_FREQUENCY" value="" />
+  <parameter name="DOWN_SPREAD" value="" />
+  <parameter name="SELF_RESET_ON_GATED_LOSS_LOCK" value="" />
+  <parameter name="SELF_RESET_ON_LOSS_LOCK" value="" />
+  <parameter name="CLK0_MULTIPLY_BY" value="5" />
+  <parameter name="CLK1_MULTIPLY_BY" value="8" />
+  <parameter name="CLK2_MULTIPLY_BY" value="5" />
+  <parameter name="CLK3_MULTIPLY_BY" value="8" />
+  <parameter name="CLK4_MULTIPLY_BY" value="" />
+  <parameter name="CLK5_MULTIPLY_BY" value="" />
+  <parameter name="CLK6_MULTIPLY_BY" value="" />
+  <parameter name="CLK7_MULTIPLY_BY" value="" />
+  <parameter name="CLK8_MULTIPLY_BY" value="" />
+  <parameter name="CLK9_MULTIPLY_BY" value="" />
+  <parameter name="EXTCLK0_MULTIPLY_BY" value="" />
+  <parameter name="EXTCLK1_MULTIPLY_BY" value="" />
+  <parameter name="EXTCLK2_MULTIPLY_BY" value="" />
+  <parameter name="EXTCLK3_MULTIPLY_BY" value="" />
+  <parameter name="CLK0_DIVIDE_BY" value="1" />
+  <parameter name="CLK1_DIVIDE_BY" value="5" />
+  <parameter name="CLK2_DIVIDE_BY" value="1" />
+  <parameter name="CLK3_DIVIDE_BY" value="1" />
+  <parameter name="CLK4_DIVIDE_BY" value="" />
+  <parameter name="CLK5_DIVIDE_BY" value="" />
+  <parameter name="CLK6_DIVIDE_BY" value="" />
+  <parameter name="CLK7_DIVIDE_BY" value="" />
+  <parameter name="CLK8_DIVIDE_BY" value="" />
+  <parameter name="CLK9_DIVIDE_BY" value="" />
+  <parameter name="EXTCLK0_DIVIDE_BY" value="" />
+  <parameter name="EXTCLK1_DIVIDE_BY" value="" />
+  <parameter name="EXTCLK2_DIVIDE_BY" value="" />
+  <parameter name="EXTCLK3_DIVIDE_BY" value="" />
+  <parameter name="CLK0_PHASE_SHIFT" value="0" />
+  <parameter name="CLK1_PHASE_SHIFT" value="0" />
+  <parameter name="CLK2_PHASE_SHIFT" value="0" />
+  <parameter name="CLK3_PHASE_SHIFT" value="0" />
+  <parameter name="CLK4_PHASE_SHIFT" value="" />
+  <parameter name="CLK5_PHASE_SHIFT" value="" />
+  <parameter name="CLK6_PHASE_SHIFT" value="" />
+  <parameter name="CLK7_PHASE_SHIFT" value="" />
+  <parameter name="CLK8_PHASE_SHIFT" value="" />
+  <parameter name="CLK9_PHASE_SHIFT" value="" />
+  <parameter name="EXTCLK0_PHASE_SHIFT" value="" />
+  <parameter name="EXTCLK1_PHASE_SHIFT" value="" />
+  <parameter name="EXTCLK2_PHASE_SHIFT" value="" />
+  <parameter name="EXTCLK3_PHASE_SHIFT" value="" />
+  <parameter name="CLK0_DUTY_CYCLE" value="50" />
+  <parameter name="CLK1_DUTY_CYCLE" value="50" />
+  <parameter name="CLK2_DUTY_CYCLE" value="50" />
+  <parameter name="CLK3_DUTY_CYCLE" value="50" />
+  <parameter name="CLK4_DUTY_CYCLE" value="" />
+  <parameter name="CLK5_DUTY_CYCLE" value="" />
+  <parameter name="CLK6_DUTY_CYCLE" value="" />
+  <parameter name="CLK7_DUTY_CYCLE" value="" />
+  <parameter name="CLK8_DUTY_CYCLE" value="" />
+  <parameter name="CLK9_DUTY_CYCLE" value="" />
+  <parameter name="EXTCLK0_DUTY_CYCLE" value="" />
+  <parameter name="EXTCLK1_DUTY_CYCLE" value="" />
+  <parameter name="EXTCLK2_DUTY_CYCLE" value="" />
+  <parameter name="EXTCLK3_DUTY_CYCLE" value="" />
+  <parameter name="PORT_clkena0" value="PORT_UNUSED" />
+  <parameter name="PORT_clkena1" value="PORT_UNUSED" />
+  <parameter name="PORT_clkena2" value="PORT_UNUSED" />
+  <parameter name="PORT_clkena3" value="PORT_UNUSED" />
+  <parameter name="PORT_clkena4" value="PORT_UNUSED" />
+  <parameter name="PORT_clkena5" value="PORT_UNUSED" />
+  <parameter name="PORT_extclkena0" value="" />
+  <parameter name="PORT_extclkena1" value="" />
+  <parameter name="PORT_extclkena2" value="" />
+  <parameter name="PORT_extclkena3" value="" />
+  <parameter name="PORT_extclk0" value="" />
+  <parameter name="PORT_extclk1" value="" />
+  <parameter name="PORT_extclk2" value="" />
+  <parameter name="PORT_extclk3" value="" />
+  <parameter name="PORT_CLKBAD0" value="PORT_UNUSED" />
+  <parameter name="PORT_CLKBAD1" value="PORT_UNUSED" />
+  <parameter name="PORT_clk0" value="PORT_USED" />
+  <parameter name="PORT_clk1" value="PORT_USED" />
+  <parameter name="PORT_clk2" value="PORT_USED" />
+  <parameter name="PORT_clk3" value="PORT_USED" />
+  <parameter name="PORT_clk4" value="PORT_UNUSED" />
+  <parameter name="PORT_clk5" value="PORT_UNUSED" />
+  <parameter name="PORT_clk6" value="PORT_UNUSED" />
+  <parameter name="PORT_clk7" value="PORT_UNUSED" />
+  <parameter name="PORT_clk8" value="PORT_UNUSED" />
+  <parameter name="PORT_clk9" value="PORT_UNUSED" />
+  <parameter name="PORT_SCANDATA" value="PORT_UNUSED" />
+  <parameter name="PORT_SCANDATAOUT" value="PORT_UNUSED" />
+  <parameter name="PORT_SCANDONE" value="PORT_UNUSED" />
+  <parameter name="PORT_SCLKOUT1" value="" />
+  <parameter name="PORT_SCLKOUT0" value="" />
+  <parameter name="PORT_ACTIVECLOCK" value="PORT_UNUSED" />
+  <parameter name="PORT_CLKLOSS" value="PORT_UNUSED" />
+  <parameter name="PORT_INCLK1" value="PORT_UNUSED" />
+  <parameter name="PORT_INCLK0" value="PORT_USED" />
+  <parameter name="PORT_FBIN" value="PORT_UNUSED" />
+  <parameter name="PORT_PLLENA" value="PORT_UNUSED" />
+  <parameter name="PORT_CLKSWITCH" value="PORT_UNUSED" />
+  <parameter name="PORT_ARESET" value="PORT_UNUSED" />
+  <parameter name="PORT_PFDENA" value="PORT_UNUSED" />
+  <parameter name="PORT_SCANCLK" value="PORT_UNUSED" />
+  <parameter name="PORT_SCANACLR" value="PORT_UNUSED" />
+  <parameter name="PORT_SCANREAD" value="PORT_UNUSED" />
+  <parameter name="PORT_SCANWRITE" value="PORT_UNUSED" />
+  <parameter name="PORT_ENABLE0" value="" />
+  <parameter name="PORT_ENABLE1" value="" />
+  <parameter name="PORT_LOCKED" value="PORT_USED" />
+  <parameter name="PORT_CONFIGUPDATE" value="PORT_UNUSED" />
+  <parameter name="PORT_FBOUT" value="PORT_UNUSED" />
+  <parameter name="PORT_PHASEDONE" value="PORT_UNUSED" />
+  <parameter name="PORT_PHASESTEP" value="PORT_UNUSED" />
+  <parameter name="PORT_PHASEUPDOWN" value="PORT_UNUSED" />
+  <parameter name="PORT_SCANCLKENA" value="PORT_UNUSED" />
+  <parameter name="PORT_PHASECOUNTERSELECT" value="PORT_UNUSED" />
+  <parameter name="PORT_VCOOVERRANGE" value="" />
+  <parameter name="PORT_VCOUNDERRANGE" value="" />
+  <parameter name="DPA_MULTIPLY_BY" value="" />
+  <parameter name="DPA_DIVIDE_BY" value="" />
+  <parameter name="DPA_DIVIDER" value="" />
+  <parameter name="VCO_MULTIPLY_BY" value="" />
+  <parameter name="VCO_DIVIDE_BY" value="" />
+  <parameter name="SCLKOUT0_PHASE_SHIFT" value="" />
+  <parameter name="SCLKOUT1_PHASE_SHIFT" value="" />
+  <parameter name="VCO_FREQUENCY_CONTROL" value="" />
+  <parameter name="VCO_PHASE_SHIFT_STEP" value="" />
+  <parameter name="USING_FBMIMICBIDIR_PORT" value="OFF" />
+  <parameter name="SCAN_CHAIN_MIF_FILE" value="" />
+  <parameter name="AVALON_USE_SEPARATE_SYSCLK" value="NO" />
+  <parameter name="HIDDEN_CONSTANTS">CT#CLK2_DIVIDE_BY 1 CT#PORT_clk9 PORT_UNUSED CT#PORT_clk8 PORT_UNUSED CT#PORT_clk7 PORT_UNUSED CT#PORT_clk6 PORT_UNUSED CT#PORT_clk5 PORT_UNUSED CT#PORT_clk4 PORT_UNUSED CT#PORT_clk3 PORT_USED CT#PORT_clk2 PORT_USED CT#PORT_clk1 PORT_USED CT#PORT_clk0 PORT_USED CT#CLK0_MULTIPLY_BY 5 CT#PORT_SCANWRITE PORT_UNUSED CT#PORT_SCANACLR PORT_UNUSED CT#PORT_PFDENA PORT_UNUSED CT#CLK3_DUTY_CYCLE 50 CT#CLK3_DIVIDE_BY 1 CT#PORT_PLLENA PORT_UNUSED CT#PORT_SCANDATA PORT_UNUSED CT#CLK3_PHASE_SHIFT 0 CT#PORT_SCANCLKENA PORT_UNUSED CT#WIDTH_CLOCK 10 CT#PORT_SCANDATAOUT PORT_UNUSED CT#LPM_TYPE altpll CT#PLL_TYPE AUTO CT#CLK0_PHASE_SHIFT 0 CT#CLK1_DUTY_CYCLE 50 CT#PORT_PHASEDONE PORT_UNUSED CT#OPERATION_MODE NORMAL CT#PORT_CONFIGUPDATE PORT_UNUSED CT#CLK1_MULTIPLY_BY 8 CT#COMPENSATE_CLOCK CLK0 CT#PORT_CLKSWITCH PORT_UNUSED CT#INCLK0_INPUT_FREQUENCY 40000 CT#PORT_SCANDONE PORT_UNUSED CT#PORT_CLKLOSS PORT_UNUSED CT#PORT_INCLK1 PORT_UNUSED CT#AVALON_USE_SEPARATE_SYSCLK NO CT#PORT_INCLK0 PORT_USED CT#PORT_clkena5 PORT_UNUSED CT#PORT_clkena4 PORT_UNUSED CT#PORT_clkena3 PORT_UNUSED CT#PORT_clkena2 PORT_UNUSED CT#PORT_clkena1 PORT_UNUSED CT#PORT_FBOUT PORT_UNUSED CT#PORT_clkena0 PORT_UNUSED CT#CLK1_PHASE_SHIFT 0 CT#PORT_ARESET PORT_UNUSED CT#BANDWIDTH_TYPE AUTO CT#CLK2_MULTIPLY_BY 5 CT#INTENDED_DEVICE_FAMILY {Stratix IV} CT#PORT_SCANREAD PORT_UNUSED CT#CLK2_DUTY_CYCLE 50 CT#PORT_PHASESTEP PORT_UNUSED CT#PORT_SCANCLK PORT_UNUSED CT#PORT_CLKBAD1 PORT_UNUSED CT#PORT_CLKBAD0 PORT_UNUSED CT#PORT_FBIN PORT_UNUSED CT#PORT_PHASEUPDOWN PORT_UNUSED CT#PORT_PHASECOUNTERSELECT PORT_UNUSED CT#PORT_ACTIVECLOCK PORT_UNUSED CT#CLK2_PHASE_SHIFT 0 CT#CLK0_DUTY_CYCLE 50 CT#CLK0_DIVIDE_BY 1 CT#CLK1_DIVIDE_BY 5 CT#CLK3_MULTIPLY_BY 8 CT#USING_FBMIMICBIDIR_PORT OFF CT#PORT_LOCKED PORT_USED</parameter>
+  <parameter name="HIDDEN_PRIVATES">PT#GLOCKED_FEATURE_ENABLED 0 PT#SPREAD_FEATURE_ENABLED 0 PT#BANDWIDTH_FREQ_UNIT MHz PT#CUR_DEDICATED_CLK c0 PT#INCLK0_FREQ_EDIT 25.000 PT#BANDWIDTH_PRESET Low PT#PLL_LVDS_PLL_CHECK 0 PT#BANDWIDTH_USE_PRESET 0 PT#AVALON_USE_SEPARATE_SYSCLK NO PT#OUTPUT_FREQ_UNIT3 MHz PT#PLL_ENHPLL_CHECK 0 PT#OUTPUT_FREQ_UNIT2 MHz PT#OUTPUT_FREQ_UNIT1 MHz PT#OUTPUT_FREQ_UNIT0 MHz PT#PHASE_RECONFIG_FEATURE_ENABLED 1 PT#CREATE_CLKBAD_CHECK 0 PT#CLKSWITCH_CHECK 0 PT#INCLK1_FREQ_EDIT 100.000 PT#NORMAL_MODE_RADIO 1 PT#SRC_SYNCH_COMP_RADIO 0 PT#PLL_ARESET_CHECK 0 PT#LONG_SCAN_RADIO 1 PT#SCAN_FEATURE_ENABLED 1 PT#USE_CLK3 1 PT#USE_CLK2 1 PT#PHASE_RECONFIG_INPUTS_CHECK 0 PT#USE_CLK1 1 PT#USE_CLK0 1 PT#PRIMARY_CLK_COMBO inclk0 PT#BANDWIDTH 1.000 PT#GLOCKED_COUNTER_EDIT_CHANGED 1 PT#PLL_FASTPLL_CHECK 0 PT#SPREAD_FREQ_UNIT KHz PT#LVDS_PHASE_SHIFT_UNIT3 deg PT#PLL_AUTOPLL_CHECK 1 PT#LVDS_PHASE_SHIFT_UNIT2 deg PT#OUTPUT_FREQ_MODE3 1 PT#LVDS_PHASE_SHIFT_UNIT1 deg PT#OUTPUT_FREQ_MODE2 1 PT#LVDS_PHASE_SHIFT_UNIT0 deg PT#OUTPUT_FREQ_MODE1 1 PT#SWITCHOVER_FEATURE_ENABLED 0 PT#MIG_DEVICE_SPEED_GRADE Any PT#OUTPUT_FREQ_MODE0 1 PT#BANDWIDTH_FEATURE_ENABLED 1 PT#INCLK0_FREQ_UNIT_COMBO MHz PT#ZERO_DELAY_RADIO 0 PT#OUTPUT_FREQ3 200.00000000 PT#OUTPUT_FREQ2 125.00000000 PT#OUTPUT_FREQ1 40.00000000 PT#OUTPUT_FREQ0 125.00000000 PT#SHORT_SCAN_RADIO 0 PT#LVDS_MODE_DATA_RATE_DIRTY 0 PT#CUR_FBIN_CLK c0 PT#PLL_ADVANCED_PARAM_CHECK 0 PT#CLKBAD_SWITCHOVER_CHECK 0 PT#PHASE_SHIFT_STEP_ENABLED_CHECK 0 PT#DEVICE_SPEED_GRADE Any PT#PLL_FBMIMIC_CHECK 0 PT#LVDS_MODE_DATA_RATE {Not Available} PT#LOCKED_OUTPUT_CHECK 1 PT#SPREAD_PERCENT 0.500 PT#PHASE_SHIFT3 0.00000000 PT#PHASE_SHIFT2 0.00000000 PT#DIV_FACTOR3 1 PT#PHASE_SHIFT1 0.00000000 PT#DIV_FACTOR2 1 PT#PHASE_SHIFT0 0.00000000 PT#DIV_FACTOR1 1 PT#DIV_FACTOR0 1 PT#CNX_NO_COMPENSATE_RADIO 0 PT#CREATE_INCLK1_CHECK 0 PT#GLOCK_COUNTER_EDIT 1048575 PT#INCLK1_FREQ_UNIT_COMBO MHz PT#EFF_OUTPUT_FREQ_VALUE3 200.000000 PT#EFF_OUTPUT_FREQ_VALUE2 125.000000 PT#EFF_OUTPUT_FREQ_VALUE1 40.000000 PT#EFF_OUTPUT_FREQ_VALUE0 125.000000 PT#SPREAD_FREQ 50.000 PT#USE_MIL_SPEED_GRADE 0 PT#EXPLICIT_SWITCHOVER_COUNTER 0 PT#STICKY_CLK3 1 PT#STICKY_CLK2 1 PT#STICKY_CLK1 1 PT#STICKY_CLK0 1 PT#EXT_FEEDBACK_RADIO 0 PT#SWITCHOVER_COUNT_EDIT 1 PT#SELF_RESET_LOCK_LOSS 0 PT#PLL_PFDENA_CHECK 0 PT#INT_FEEDBACK__MODE_RADIO 1 PT#INCLK1_FREQ_EDIT_CHANGED 1 PT#SYNTH_WRAPPER_GEN_POSTFIX 0 PT#CLKLOSS_CHECK 0 PT#PHASE_SHIFT_UNIT3 deg PT#PHASE_SHIFT_UNIT2 deg PT#PHASE_SHIFT_UNIT1 deg PT#PHASE_SHIFT_UNIT0 deg PT#BANDWIDTH_USE_AUTO 1 PT#HAS_MANUAL_SWITCHOVER 1 PT#MULT_FACTOR3 1 PT#MULT_FACTOR2 1 PT#MULT_FACTOR1 1 PT#MULT_FACTOR0 1 PT#SPREAD_USE 0 PT#GLOCKED_MODE_CHECK 0 PT#DUTY_CYCLE3 50.00000000 PT#DUTY_CYCLE2 50.00000000 PT#SACN_INPUTS_CHECK 0 PT#DUTY_CYCLE1 50.00000000 PT#INTENDED_DEVICE_FAMILY {Stratix IV} PT#DUTY_CYCLE0 50.00000000 PT#PLL_TARGET_HARCOPY_CHECK 0 PT#INCLK1_FREQ_UNIT_CHANGED 1 PT#RECONFIG_FILE ALTPLL1256297171721465.mif PT#ACTIVECLK_CHECK 0</parameter>
+  <parameter name="HIDDEN_USED_PORTS">UP#locked used UP#c3 used UP#c2 used UP#c1 used UP#c0 used UP#areset used UP#inclk0 used</parameter>
+  <parameter name="HIDDEN_IS_NUMERIC">IN#WIDTH_CLOCK 1 IN#CLK0_DUTY_CYCLE 1 IN#CLK2_DIVIDE_BY 1 IN#PLL_TARGET_HARCOPY_CHECK 1 IN#CLK3_DIVIDE_BY 1 IN#CLK1_MULTIPLY_BY 1 IN#CLK3_DUTY_CYCLE 1 IN#SWITCHOVER_COUNT_EDIT 1 IN#INCLK0_INPUT_FREQUENCY 1 IN#PLL_LVDS_PLL_CHECK 1 IN#PLL_AUTOPLL_CHECK 1 IN#PLL_FASTPLL_CHECK 1 IN#CLK1_DUTY_CYCLE 1 IN#PLL_ENHPLL_CHECK 1 IN#CLK2_MULTIPLY_BY 1 IN#DIV_FACTOR3 1 IN#DIV_FACTOR2 1 IN#DIV_FACTOR1 1 IN#DIV_FACTOR0 1 IN#LVDS_MODE_DATA_RATE_DIRTY 1 IN#GLOCK_COUNTER_EDIT 1 IN#CLK2_DUTY_CYCLE 1 IN#CLK0_DIVIDE_BY 1 IN#CLK3_MULTIPLY_BY 1 IN#MULT_FACTOR3 1 IN#MULT_FACTOR2 1 IN#MULT_FACTOR1 1 IN#MULT_FACTOR0 1 IN#CLK0_MULTIPLY_BY 1 IN#USE_MIL_SPEED_GRADE 1 IN#CLK1_DIVIDE_BY 1</parameter>
+  <parameter name="HIDDEN_MF_PORTS">MF#areset 1 MF#clk 1 MF#locked 1 MF#inclk 1</parameter>
+  <parameter name="HIDDEN_IF_PORTS">IF#locked {output 0} IF#reset {input 0} IF#clk {input 0} IF#readdata {output 32} IF#write {input 0} IF#phasedone {output 0} IF#c3 {output 0} IF#address {input 2} IF#c2 {output 0} IF#c1 {output 0} IF#c0 {output 0} IF#writedata {input 32} IF#read {input 0} IF#areset {input 0}</parameter>
+  <parameter name="HIDDEN_IS_FIRST_EDIT" value="0" />
+  <parameter name="AUTO_INCLK_INTERFACE_CLOCK_RATE" value="25000000" />
+  <parameter name="AUTO_DEVICE_FAMILY" value="Stratix IV" />
+ </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="125000000" />
+  <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="125000000" />
+  <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="avs_common_mm" version="1.0" enabled="1" name="reg_diagnostics">
+  <parameter name="g_adr_w" value="6" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
+ </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="125000000" />
+  <parameter name="timeoutPulseOutput" value="false" />
+  <parameter name="timerPreset">SIMPLE_PERIODIC_INTERRUPT</parameter>
+ </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="125000000" />
+ </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="125000000" />
+ </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="125000000" />
+ </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="125000000" />
+ </module>
+ <module kind="altera_avalon_pio" version="11.1" enabled="1" name="pio_pps">
+  <parameter name="bitClearingEdgeCapReg" value="false" />
+  <parameter name="bitModifyingOutReg" value="false" />
+  <parameter name="captureEdge" value="false" />
+  <parameter name="clockRate" value="125000000" />
+  <parameter name="direction" value="Input" />
+  <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="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="125000000" />
+ </module>
+ <module
+   kind="avs_common_mm"
+   version="1.0"
+   enabled="1"
+   name="reg_dp_ram_from_mm">
+  <parameter name="g_adr_w" value="3" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
+ </module>
+ <module
+   kind="avs_common_mm"
+   version="1.0"
+   enabled="1"
+   name="ram_dp_ram_from_mm">
+  <parameter name="g_adr_w" value="6" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
+ </module>
+ <module
+   kind="avs_common_mm"
+   version="1.0"
+   enabled="1"
+   name="ram_dp_ram_to_mm">
+  <parameter name="g_adr_w" value="6" />
+  <parameter name="g_dat_w" value="32" />
+  <parameter name="AUTO_SYSTEM_CLOCK_RATE" value="125000000" />
+ </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="125000000" />
+ </module>
+ <module kind="avs2_eth_coe" version="1.0" enabled="1" name="avs_eth_0">
+  <parameter name="AUTO_MM_CLOCK_RATE" value="125000000" />
+ </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="0x3800" />
+ </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="0x3800" />
+ </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="0x0460" />
+ </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="altpll_0.pll_slave">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x0420" />
+ </connection>
+ <connection kind="clock" version="11.1" start="altpll_0.c0" end="cpu_0.clk" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="altpll_0.c0"
+   end="onchip_memory2_0.clk1" />
+ <connection kind="clock" version="11.1" start="altpll_0.c0" end="jtag_uart_0.clk" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="clk_0.clk"
+   end="altpll_0.inclk_interface" />
+ <connection
+   kind="clock"
+   version="11.1"
+   start="altpll_0.c0"
+   end="pio_debug_wave.clk" />
+ <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="0x0430" />
+ </connection>
+ <connection kind="clock" version="11.1" start="altpll_0.c0" end="pio_wdi.clk" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="pio_wdi.s1">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x0440" />
+ </connection>
+ <connection
+   kind="clock"
+   version="11.1"
+   start="altpll_0.c0"
+   end="reg_diagnostics.system" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="reg_diagnostics.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x0100" />
+ </connection>
+ <connection kind="clock" version="11.1" start="altpll_0.c0" end="timer_0.clk" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="timer_0.s1">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x00c0" />
+ </connection>
+ <connection kind="interrupt" version="11.1" start="cpu_0.d_irq" end="timer_0.irq">
+  <parameter name="irqNumber" value="1" />
+ </connection>
+ <connection
+   kind="clock"
+   version="11.1"
+   start="altpll_0.c0"
+   end="rom_system_info.system" />
+ <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="clock"
+   version="11.1"
+   start="altpll_0.c0"
+   end="reg_unb_sens.system" />
+ <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="0x00e0" />
+ </connection>
+ <connection
+   kind="clock"
+   version="11.1"
+   start="altpll_0.c0"
+   end="pio_system_info.system" />
+ <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="clock" version="11.1" start="altpll_0.c0" end="reg_wdi.system" />
+ <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="clock" version="11.1" start="altpll_0.c0" end="pio_pps.clk" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="pio_pps.s1">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x0450" />
+ </connection>
+ <connection
+   kind="clock"
+   version="11.1"
+   start="altpll_0.c0"
+   end="reg_tr_10GbE.system" />
+ <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="clock"
+   version="11.1"
+   start="altpll_0.c0"
+   end="reg_dp_ram_from_mm.system" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="reg_dp_ram_from_mm.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x0400" />
+ </connection>
+ <connection
+   kind="clock"
+   version="11.1"
+   start="altpll_0.c0"
+   end="ram_dp_ram_from_mm.system" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="ram_dp_ram_from_mm.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x0200" />
+ </connection>
+ <connection
+   kind="clock"
+   version="11.1"
+   start="altpll_0.c0"
+   end="ram_dp_ram_to_mm.system" />
+ <connection
+   kind="avalon"
+   version="11.1"
+   start="cpu_0.data_master"
+   end="ram_dp_ram_to_mm.mem">
+  <parameter name="arbitrationPriority" value="1" />
+  <parameter name="baseAddress" value="0x0300" />
+ </connection>
+ <connection
+   kind="clock"
+   version="11.1"
+   start="altpll_0.c0"
+   end="reg_tr_xaui.system" />
+ <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="clock" version="11.1" start="altpll_0.c0" end="avs_eth_0.mm" />
+ <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="0x0080" />
+ </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="interrupt"
+   version="11.1"
+   start="cpu_0.d_irq"
+   end="avs_eth_0.interrupt">
+  <parameter name="irqNumber" value="2" />
+ </connection>
+</system>
diff --git a/boards/uniboard1/designs/unb1_tr_10GbE/quartus/unb1_tr_10GbE_pins.tcl b/boards/uniboard1/designs/unb1_tr_10GbE/quartus/unb1_tr_10GbE_pins.tcl
new file mode 100644
index 0000000000..3f1e6461e1
--- /dev/null
+++ b/boards/uniboard1/designs/unb1_tr_10GbE/quartus/unb1_tr_10GbE_pins.tcl
@@ -0,0 +1,87 @@
+###############################################################################
+#
+# 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
+# -- Front Interface (10GbE)
+source $::env(UNB)/Firmware/designs/unb_common/src/tcl/FRONT_NODE_tr_cntrl_pins.tcl
+
+set_location_assignment PIN_AA2 -to SA_CLK
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SA_CLK
+
+set_location_assignment PIN_M4 -to SI_FN_0_TX[0]
+set_location_assignment PIN_K4 -to SI_FN_0_TX[1]
+set_location_assignment PIN_D4 -to SI_FN_0_TX[2]
+set_location_assignment PIN_B4 -to SI_FN_0_TX[3]
+set_location_assignment PIN_N2 -to SI_FN_0_RX[0]
+set_location_assignment PIN_L2 -to SI_FN_0_RX[1]
+set_location_assignment PIN_E2 -to SI_FN_0_RX[2]
+set_location_assignment PIN_C2 -to SI_FN_0_RX[3]
+
+set_location_assignment PIN_AD4 -to SI_FN_1_TX[0]
+set_location_assignment PIN_AB4 -to SI_FN_1_TX[1]
+set_location_assignment PIN_T4 -to SI_FN_1_TX[2]
+set_location_assignment PIN_P4 -to SI_FN_1_TX[3]
+set_location_assignment PIN_AE2 -to SI_FN_1_RX[0]
+set_location_assignment PIN_AC2 -to SI_FN_1_RX[1]
+set_location_assignment PIN_U2 -to SI_FN_1_RX[2]
+set_location_assignment PIN_R2 -to SI_FN_1_RX[3]
+
+set_location_assignment PIN_AT4 -to SI_FN_2_TX[0]
+set_location_assignment PIN_AP4 -to SI_FN_2_TX[1]
+set_location_assignment PIN_AH4 -to SI_FN_2_TX[2]
+set_location_assignment PIN_AF4 -to SI_FN_2_TX[3]
+set_location_assignment PIN_AU2 -to SI_FN_2_RX[0]
+set_location_assignment PIN_AR2 -to SI_FN_2_RX[1]
+set_location_assignment PIN_AJ2 -to SI_FN_2_RX[2]
+set_location_assignment PIN_AG2 -to SI_FN_2_RX[3]
+
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_0_TX[0]
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_0_TX[1]
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_0_TX[2]
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_0_TX[3]
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_0_RX[0]
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_0_RX[1]
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_0_RX[2]
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_0_RX[3]
+
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_1_TX[0]
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_1_TX[1]
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_1_TX[2]
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_1_TX[3]
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_1_RX[0]
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_1_RX[1]
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_1_RX[2]
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_1_RX[3]
+
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_2_TX[0]
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_2_TX[1]
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_2_TX[2]
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_2_TX[3]
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_2_RX[0]
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_2_RX[1]
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_2_RX[2]
+set_instance_assignment -name IO_STANDARD "1.4-V PCML" -to SI_FN_2_RX[3]
+
+
+
diff --git a/boards/uniboard1/designs/unb1_tr_10GbE/src/hex/default_eth_header.hex b/boards/uniboard1/designs/unb1_tr_10GbE/src/hex/default_eth_header.hex
new file mode 100644
index 0000000000..80b6a9bc0f
--- /dev/null
+++ b/boards/uniboard1/designs/unb1_tr_10GbE/src/hex/default_eth_header.hex
@@ -0,0 +1,9 @@
+:0800000000074306C7000022BF
+:0800010086080000080045001C
+:080002002322000040007F11E1
+:08000300BA530A6300010A0A66
+:080004000A0A0FA00FA0230E51
+:080005000000000000000000F3
+:080006000000000000000000F2
+:080007000000000000000000F1
+:00000001FF
diff --git a/boards/uniboard1/designs/unb1_tr_10GbE/src/python/gen_hex_file_dp_ram_from_mm.py b/boards/uniboard1/designs/unb1_tr_10GbE/src/python/gen_hex_file_dp_ram_from_mm.py
new file mode 100644
index 0000000000..02ccd9781e
--- /dev/null
+++ b/boards/uniboard1/designs/unb1_tr_10GbE/src/python/gen_hex_file_dp_ram_from_mm.py
@@ -0,0 +1,153 @@
+###############################################################################
+#
+# 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/>.
+#
+###############################################################################
+
+from common import *
+from eth import ip_hdr_checksum
+from mem_init_file import list_to_hex
+
+# Purpose:
+# . Generate a HEX file with a default header for the RAM in tr_10GbE.vhd
+# Description:
+# . In unb_tr_10GbE, each diagnostics data block is packetized using the
+#   header in the RAM.
+# . The HEX file generated here makes up the initial RAM contents.
+# . The RAM contents can be changed during run-time using 
+#   $UPE/peripherals/pi_dp_ram_from_mm.py.
+
+###############################################################################
+# Constants
+###############################################################################
+
+FILENAME = "../hex/default_eth_header.hex"
+WORD_WIDTH = 64 # With of the 10GbE MAC's user interface
+NOF_HDR_WORDS = 8 # 512 bits = 64 bytes (c_nof_header_words in tr_10GbE.vhd)
+NOF_PAYLOAD_WORDS = 1118 # c_block_len in node_unb_tr_10GbE.vhd
+NOF_PAYLOAD_BYTES = NOF_PAYLOAD_WORDS * c_word_w / c_byte_w # 8944 bytes
+MEM_WIDTH = WORD_WIDTH
+MEM_DEPTH = NOF_HDR_WORDS
+
+# Header lengths in bytes
+ETH_HDR_LENGTH = 14
+IP_HDR_LENGTH  = 20
+UDP_HDR_LENGTH =  8
+USR_HDR_LENGTH = 22
+TOT_HDR_LENGTH = ETH_HDR_LENGTH+IP_HDR_LENGTH+UDP_HDR_LENGTH+USR_HDR_LENGTH
+
+print 'Creating Ethernet header'
+
+###############################################################################
+# Ethernet header
+###############################################################################
+eth_dst_mac = 0x00074306C700  # capture5
+eth_src_mac = 0x002286080000
+eth_type    = 0x0800
+
+eth_hdr_bytes = CommonBytes(eth_dst_mac, 6) & \
+                CommonBytes(eth_src_mac, 6) & \
+                CommonBytes(eth_type   , 2)
+
+###############################################################################
+# IP header
+###############################################################################
+ip_version         = 4 
+ip_header_length   = 5 # 5 32b words
+ip_services        = 0 
+ip_total_length    = IP_HDR_LENGTH + UDP_HDR_LENGTH + USR_HDR_LENGTH+ \
+                     NOF_PAYLOAD_BYTES
+print 'ip_total_length=',ip_total_length
+ip_total_length = 8994
+print 'ip_total_length=',ip_total_length
+
+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        = 0x0a630001 # 10.99.0.1
+ip_dst_addr        = 0x0a0a0a0a # 10.10.10.10 # capture5
+
+ip_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        , 32) & \
+              CommonBits(ip_dst_addr        , 32)
+
+ip_hdr_bytes = CommonBytes(ip_hdr_bits.data, IP_HDR_LENGTH)
+
+# Calculate and insert the IP header checksum
+calced_checksum = ip_hdr_checksum(ip_hdr_bytes)
+print 'Inserting IP header checksum:', calced_checksum, '=', hex(calced_checksum)
+ip_hdr_bytes[9:8] = calced_checksum
+
+###############################################################################
+# UDP header
+###############################################################################
+#udp_src_port     = 0x89AB
+#udp_dst_port     = 0xCDEF
+udp_src_port     = 4000
+udp_dst_port     = 4000
+udp_total_length = USR_HDR_LENGTH + NOF_PAYLOAD_BYTES
+udp_total_length = 8974
+udp_checksum     = 0 # Zero is fine
+
+udp_hdr_bytes = CommonBytes(udp_src_port    , 2) & \
+                CommonBytes(udp_dst_port    , 2) & \
+                CommonBytes(udp_total_length, 2) & \
+                CommonBytes(udp_checksum    , 2)
+
+###############################################################################
+# USR header
+###############################################################################
+usr_hdr = 0
+usr_hdr_bytes = CommonBytes(usr_hdr, USR_HDR_LENGTH)
+
+###############################################################################
+# Total header
+###############################################################################
+tot_hdr_bytes = eth_hdr_bytes & ip_hdr_bytes & udp_hdr_bytes & usr_hdr_bytes
+
+###############################################################################
+# Convert header bytes to 64b word list
+# . The LS word of the RAM is released first. We want the MS part of the header
+#   to be released into the MAC first, so we must fill the 64b word list in 
+#   reverse.
+###############################################################################
+tot_hdr_words = CommonWords64(tot_hdr_bytes.data, NOF_HDR_WORDS)
+
+word_list = []
+for w in reversed(range(NOF_HDR_WORDS)):
+    word_list.append(tot_hdr_words[w])
+    print 'w=',w,' data=',hex(tot_hdr_words[w])
+
+###############################################################################
+# Generate the HEX file
+###############################################################################
+print 'Generating hex file:', FILENAME
+list_to_hex(word_list, FILENAME, MEM_WIDTH, MEM_DEPTH)
+print 'Done.'
diff --git a/boards/uniboard1/designs/unb1_tr_10GbE/src/vhdl/node_unb1_tr_10GbE.vhd b/boards/uniboard1/designs/unb1_tr_10GbE/src/vhdl/node_unb1_tr_10GbE.vhd
new file mode 100644
index 0000000000..b0f0e81d1e
--- /dev/null
+++ b/boards/uniboard1/designs/unb1_tr_10GbE/src/vhdl/node_unb1_tr_10GbE.vhd
@@ -0,0 +1,197 @@
+-------------------------------------------------------------------------------
+--
+-- Copyright (C) 2013
+-- 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/>.
+--
+-------------------------------------------------------------------------------
+
+LIBRARY IEEE, common_lib, unb1_board_lib, dp_lib, tr_nonbonded_lib, tr_xaui_lib, diagnostics_lib, tr_10GbE_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 unb1_board_lib.unb1_board_pkg.ALL;
+USE dp_lib.dp_stream_pkg.ALL;
+USE tr_xaui_lib.tr_xaui_pkg.ALL;
+
+ENTITY node_unb1_tr_10GbE IS
+  GENERIC (
+    g_sim           : BOOLEAN;
+    g_sim_level     : NATURAL := 0; -- 0 = use IP; 1 = use fast serdes model
+    g_nof_macs      : NATURAL;
+    g_use_mdio      : BOOLEAN;
+    g_mdio_epcs_dis : BOOLEAN := FALSE; -- TRUE disables EPCS on init; e.g. to target a 10GbE card in PC that does not support it
+    g_lpbk_sosi     : BOOLEAN := FALSE; --  i/o pins <-> )( <-> tr_xaui <-> )( <-> tr_10GbE <-> )( <-> user
+    g_lpbk_xgmii    : BOOLEAN := FALSE; --               ^^                 ^^                  ^^ 
+    g_lpbk_xaui     : BOOLEAN := FALSE  --    g_lpbk_xaui|      g_lpbk_xgmii|        g_lpbk_sosi|
+   );
+  PORT (
+    -- System
+    mm_rst                        : IN  STD_LOGIC;
+    mm_clk                        : IN  STD_LOGIC;
+    
+    dp_rst                        : IN  STD_LOGIC;
+    dp_clk                        : IN  STD_LOGIC;
+
+    tr_clk                        : IN  STD_LOGIC;
+    cal_rec_clk                   : IN  STD_LOGIC; 
+
+    -- MM registers
+    reg_diagnostics_mosi          : IN  t_mem_mosi;
+    reg_diagnostics_miso          : OUT t_mem_miso;
+
+    reg_hdr_insert_mosi           : IN  t_mem_mosi;
+    ram_hdr_insert_mosi           : IN  t_mem_mosi;
+
+    ram_hdr_remove_mosi           : IN  t_mem_mosi;
+    ram_hdr_remove_miso           : OUT t_mem_miso;
+
+    reg_mac_mosi                  : IN  t_mem_mosi;
+    reg_mac_miso                  : OUT t_mem_miso;
+
+    xaui_mosi                     : IN  t_mem_mosi := c_mem_mosi_rst;
+    xaui_miso                     : OUT t_mem_miso;
+
+    -- Serial I/O
+    xaui_tx_arr                   : OUT t_unb1_board_xaui_sl_2arr(g_nof_macs-1 DOWNTO 0);  
+    xaui_rx_arr                   : IN  t_unb1_board_xaui_sl_2arr(g_nof_macs-1 DOWNTO 0);
+
+    mdio_rst                      : OUT STD_LOGIC;
+    mdio_mdc_arr                  : OUT STD_LOGIC_VECTOR(g_nof_macs-1 DOWNTO 0);  
+    mdio_mdat_in_arr              : IN  STD_LOGIC_VECTOR(g_nof_macs-1 DOWNTO 0) := (OTHERS=>'0');
+    mdio_mdat_oen_arr             : OUT STD_LOGIC_VECTOR(g_nof_macs-1 DOWNTO 0)
+  );
+END node_unb1_tr_10GbE;
+
+
+ARCHITECTURE str OF node_unb1_tr_10GbE IS
+
+--CONSTANT c_block_len            : NATURAL := 180; -- = 1440 user bytes. Including packetizing: 1508 bytes.
+  CONSTANT c_block_len            : NATURAL := 1118;-- = 8944 user bytes. Including packetizing: 9012 bytes.
+
+  SIGNAL tr_rst                   : STD_LOGIC;
+
+  SIGNAL i_xaui_tx_arr            : t_xaui_arr(g_nof_macs-1 DOWNTO 0);
+  SIGNAL i_xaui_rx_arr            : t_xaui_arr(g_nof_macs-1 DOWNTO 0);
+
+  SIGNAL diagnostics_snk_in_arr   : t_dp_sosi_arr(g_nof_macs-1 DOWNTO 0); 
+  SIGNAL diagnostics_snk_out_arr  : t_dp_siso_arr(g_nof_macs-1 DOWNTO 0);
+
+  SIGNAL diagnostics_src_out_arr  : t_dp_sosi_arr(g_nof_macs-1 DOWNTO 0);
+  SIGNAL diagnostics_src_in_arr   : t_dp_siso_arr(g_nof_macs-1 DOWNTO 0);
+
+BEGIN
+
+  -- Wire together different types
+  gen_wires: FOR i IN 0 TO g_nof_macs-1 GENERATE
+    xaui_tx_arr(i) <= i_xaui_tx_arr(i);
+    i_xaui_rx_arr(i) <= xaui_rx_arr(i);
+  END GENERATE;
+
+  u_async : ENTITY common_lib.common_async
+  GENERIC MAP (
+    g_rst_level => '1'
+  )
+  PORT MAP (
+    rst  => dp_rst,
+    clk  => dp_clk,
+    din  => dp_rst,
+    dout => tr_rst
+  );
+  
+  u_mms_diagnostics: ENTITY diagnostics_lib.mms_diagnostics
+  GENERIC MAP(
+    g_data_w       => c_xgmii_data_w,
+    g_block_len    => c_block_len,
+    g_nof_streams  => g_nof_macs,
+    g_separate_clk => FALSE
+  )                      
+  PORT MAP (       
+    mm_rst          => mm_rst,  
+    mm_clk          => mm_clk,
+
+    st_rst          => dp_rst,
+    st_clk          => dp_clk,
+
+    mm_mosi         => reg_diagnostics_mosi, 
+    mm_miso         => reg_diagnostics_miso,
+
+    src_out_arr     => diagnostics_src_out_arr,
+    src_in_arr      => diagnostics_src_in_arr,
+
+    snk_out_arr     => diagnostics_snk_out_arr,
+    snk_in_arr      => diagnostics_snk_in_arr
+  );
+
+  u_tr_10GbE: ENTITY tr_10GbE_lib.tr_10GbE
+  GENERIC MAP(
+    g_sim           => g_sim,
+    g_sim_level     => g_sim_level,
+    g_nof_macs      => g_nof_macs,
+    g_use_mdio      => g_use_mdio,
+    g_mdio_epcs_dis => g_mdio_epcs_dis,
+    g_lpbk_sosi     => g_lpbk_sosi,   
+    g_lpbk_xgmii    => g_lpbk_xgmii,  
+    g_lpbk_xaui     => g_lpbk_xaui,
+    g_use_hdr_ram   => TRUE,
+    g_hdr_ram_init_file => "../../../src/hex/default_eth_header.hex",
+    g_hdr_release_at_init => '1', --Release default header at init so packets are sent after powerup without manual settings
+    g_pkt_len       => 1130 -- 1130 64b words = 9040B (enough for jumbo frame)
+  )                      
+  PORT MAP (       
+    mm_rst              => mm_rst,  
+    mm_clk              => mm_clk,
+
+    tr_clk              => tr_clk,
+
+    cal_rec_clk         => cal_rec_clk,
+
+    dp_rst              => dp_rst,
+    dp_clk              => dp_clk,
+
+    reg_mac_mosi        => reg_mac_mosi, 
+    reg_mac_miso        => reg_mac_miso,
+
+    xaui_mosi           => xaui_mosi,
+    xaui_miso           => xaui_miso,
+
+    reg_hdr_insert_mosi => reg_hdr_insert_mosi,
+    ram_hdr_insert_mosi => ram_hdr_insert_mosi,
+                                               
+    ram_hdr_remove_mosi => ram_hdr_remove_mosi,
+    ram_hdr_remove_miso => ram_hdr_remove_miso,
+
+    src_out_arr         => diagnostics_snk_in_arr,
+    src_in_arr          => diagnostics_snk_out_arr,
+
+    snk_out_arr         => diagnostics_src_in_arr,
+    snk_in_arr          => diagnostics_src_out_arr,
+
+    xaui_tx_out_arr     => i_xaui_tx_arr, 
+    xaui_rx_in_arr      => i_xaui_rx_arr,  
+
+    -- Serial IO for Arria
+    tx_serial_data        => OPEN,
+    rx_serial_data        => (OTHERS => '0'),
+
+    mdio_rst            => mdio_rst,
+    mdio_mdc_arr        => mdio_mdc_arr,
+    mdio_mdat_in_arr    => mdio_mdat_in_arr,
+    mdio_mdat_oen_arr   => mdio_mdat_oen_arr
+  );
+
+END str;
diff --git a/boards/uniboard1/designs/unb1_tr_10GbE/src/vhdl/unb1_tr_10GbE.vhd b/boards/uniboard1/designs/unb1_tr_10GbE/src/vhdl/unb1_tr_10GbE.vhd
new file mode 100644
index 0000000000..08acc118ad
--- /dev/null
+++ b/boards/uniboard1/designs/unb1_tr_10GbE/src/vhdl/unb1_tr_10GbE.vhd
@@ -0,0 +1,514 @@
+-------------------------------------------------------------------------------
+--
+-- 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/>.
+--
+-------------------------------------------------------------------------------
+
+LIBRARY IEEE, common_lib, unb1_board_lib, mm_lib, eth_lib, tr_xaui_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.common_field_pkg.ALL;
+USE common_lib.common_network_total_header_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 tr_xaui_lib.tr_xaui_pkg.ALL;
+
+-- /------------------------------------------------------------------------------------------------------------------\
+-- | Revision (g_design_name) | c_use_front | c_use_back | c_use_pc_target | c_lpbk_sosi | c_lpbk_xgmii | c_lpbk_xaui |
+-- |-----------------------------------------------------|-----------------| ------------|--------------|-------------|
+-- |  fn_tr_10GbE             | TRUE        | FALSE      | FALSE           | FALSE       | FALSE        | FALSE       |
+-- |  fn_tr_10GbE_pc          | TRUE        | FALSE      | TRUE            | FALSE       | FALSE        | FALSE       |
+-- |  fn_tr_10GbE_lpbk_sosi   | TRUE        | FALSE      | FALSE           | TRUE        | FALSE        | FALSE       |
+-- |  fn_tr_10GbE_lpbk_xgmii  | TRUE        | FALSE      | FALSE           | FALSE       | TRUE         | FALSE       |
+-- |  fn_tr_10GbE_lpbk_xaui   | TRUE        | FALSE      | FALSE           | FALSE       | FALSE        | TRUE        |
+-- |  bn_tr_10GbE             | FALSE       | TRUE       | FALSE           | FALSE       | FALSE        | FALSE       |
+-- |  bn_tr_10GbE_lpbk_sosi   | FALSE       | TRUE       | FALSE           | TRUE        | FALSE        | FALSE       |
+-- |  bn_tr_10GbE_lpbk_xgmii  | FALSE       | TRUE       | FALSE           | FALSE       | TRUE         | FALSE       |
+-- |  bn_tr_10GbE_lpbk_xaui   | FALSE       | TRUE       | FALSE           | FALSE       | FALSE        | TRUE        |
+-- \------------------------------------------------------------------------------------------------------------------/
+
+ENTITY unb1_tr_10GbE IS
+  GENERIC (
+    g_design_name : STRING  := "unb1_tr_10GbE";       -- set by QSF
+    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; -- System Clock - not used as the SOPC generates dp_clk.
+    PPS          : IN    STD_LOGIC;
+    WDI          : OUT   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; -- SerDes Clock BN-BI / SI_FN
+
+    -- Serial I/O
+    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); -- (0 = LASI; 1=MDC; 2=MDIO)
+    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.
+    BN_BI_0_TX   : OUT STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0);
+    BN_BI_0_RX   : IN  STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0);
+    BN_BI_1_TX   : OUT STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0);
+    BN_BI_1_RX   : IN  STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0);
+    BN_BI_2_TX   : OUT STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0);
+    BN_BI_2_RX   : IN  STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0);
+    BN_BI_3_TX   : OUT STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0);
+    BN_BI_3_RX   : IN  STD_LOGIC_VECTOR(c_unb1_board_ci.tr.bus_w-1 DOWNTO 0)
+  );
+END unb1_tr_10GbE;
+
+
+ARCHITECTURE str OF unb1_tr_10GbE IS
+
+  -- Firmware version x.y
+  CONSTANT c_fw_version                : t_unb1_board_fw_version := (0, 2);
+
+  -- Revision controlled constants 
+  CONSTANT c_use_front                 : BOOLEAN := TRUE;  --g_design_name(1 TO 2)="fn";
+  CONSTANT c_use_back                  : BOOLEAN := FALSE; --g_design_name(1 TO 2)="bn";
+  CONSTANT c_use_pc_target             : BOOLEAN := TRUE;  --g_design_name(g_design_name'LENGTH-1 TO g_design_name'LENGTH)="pc" AND c_use_front;
+  CONSTANT c_lpbk_sosi                 : BOOLEAN := g_design_name(g_design_name'LENGTH-8 TO g_design_name'LENGTH)="lpbk_sosi";
+  CONSTANT c_lpbk_xgmii                : BOOLEAN := g_design_name(g_design_name'LENGTH-9 TO g_design_name'LENGTH)="lpbk_xgmii";
+  CONSTANT c_lpbk_xaui                 : BOOLEAN := g_design_name(g_design_name'LENGTH-8 TO g_design_name'LENGTH)="lpbk_xaui";
+  CONSTANT c_use_phy                   : t_c_unb1_board_use_phy := (1, sel_a_b(c_use_front, 1, 0), 0, sel_a_b(c_use_back, 1, 0), 0, 0, 0, 1);
+
+  -- 10GbE MAC / XAUI related
+  CONSTANT c_nof_macs                  : NATURAL := 3;
+  CONSTANT c_nof_mdio                  : NATURAL := 4;
+
+  CONSTANT c_mac_mm_addr_w             : NATURAL := 13;
+  CONSTANT c_reg_tr_10GbE_addr_w       : NATURAL := ceil_log2(c_nof_macs* pow2(c_mac_mm_addr_w));
+
+  CONSTANT c_xaui_mosi_addr_w          : NATURAL := 9; --2^9 = range of 512 addresses
+  CONSTANT c_max_nof_xaui_inst         : NATURAL := 4;
+  CONSTANT c_reg_tr_xaui_addr_w        : NATURAL := ceil_log2(c_max_nof_xaui_inst * pow2(c_xaui_mosi_addr_w)); -- 4* 512 = 2048 addresses -> 11 address bits.
+
+  CONSTANT c_dp_ram_mm_adr_w           : NATURAL := ceil_log2(c_eth_nof_udp_ports * pow2(ceil_log2(c_network_total_header_32b_nof_words)));
+
+  CONSTANT c_dp_reg_mm_nof_words       : NATURAL := 1;
+  CONSTANT c_dp_reg_mm_adr_w           : NATURAL := ceil_log2(c_eth_nof_udp_ports * pow2(ceil_log2(c_dp_reg_mm_nof_words)));
+
+  -- System
+  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;  
+
+  -- PIOs
+  SIGNAL pout_wdi                      : STD_LOGIC;
+  SIGNAL pin_pps                       : STD_LOGIC_VECTOR(c_word_w-1 DOWNTO 0);
+
+  -- WDI override
+  SIGNAL reg_wdi_mosi                  : t_mem_mosi;
+  SIGNAL reg_wdi_miso                  : t_mem_miso;
+
+  -- UniBoard system info
+  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;
+
+  -- UniBoard I2C sens
+  SIGNAL reg_unb_sens_mosi             : t_mem_mosi;  
+  SIGNAL reg_unb_sens_miso             : t_mem_miso;  
+
+  -- eth1g
+  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;
+
+  -- Serial I/O
+  SIGNAL xaui_tx_arr                   : t_unb1_board_xaui_sl_2arr(c_nof_macs-1 DOWNTO 0);
+  SIGNAL xaui_rx_arr                   : t_unb1_board_xaui_sl_2arr(c_nof_macs-1 DOWNTO 0);
+
+  -- Transceiver clocks
+  SIGNAL cal_rec_clk                   : STD_LOGIC;
+
+  -- MDIO
+  SIGNAL mdio_mdc_arr                  : STD_LOGIC_VECTOR(c_nof_macs-1 DOWNTO 0);
+  SIGNAL mdio_mdat_in_arr              : STD_LOGIC_VECTOR(c_nof_macs-1 DOWNTO 0);
+  SIGNAL mdio_mdat_oen_arr             : STD_LOGIC_VECTOR(c_nof_macs-1 DOWNTO 0);
+
+  -- Diagnostics
+  SIGNAL reg_diagnostics_mosi          : t_mem_mosi;
+  SIGNAL reg_diagnostics_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_dp_ram_from_mm_mosi       : t_mem_mosi;
+  SIGNAL reg_dp_ram_from_mm_miso       : t_mem_miso := c_mem_miso_rst;
+
+  SIGNAL ram_dp_ram_from_mm_mosi       : t_mem_mosi;
+  SIGNAL ram_dp_ram_from_mm_miso       : t_mem_miso := c_mem_miso_rst;
+
+  SIGNAL ram_dp_ram_to_mm_mosi         : t_mem_mosi;
+  SIGNAL ram_dp_ram_to_mm_miso         : t_mem_miso;
+
+BEGIN
+
+  -----------------------------------------------------------------------------
+  -- General control function
+  -----------------------------------------------------------------------------
+  u_ctrl : ENTITY unb1_board_lib.ctrl_unb1_board
+  GENERIC MAP (
+    -- General
+    g_design_name    => g_design_name,
+    g_stamp_date     => g_stamp_date,
+    g_stamp_time     => g_stamp_time,
+    g_stamp_svn      => g_stamp_svn,
+    g_fw_version     => c_fw_version,
+    -- Use PHY Interface
+    g_use_phy        => c_use_phy,
+    -- Use SOPC generated dp_clk
+    g_dp_clk_use_pll => FALSE 
+  )
+  PORT MAP (
+    -- System
+    xo_clk                   => xo_clk,
+    xo_rst                   => xo_rst,
+    xo_rst_n                 => xo_rst_n,
+
+    mm_clk                   => mm_clk,
+    mm_locked                => mm_locked,
+    mm_rst                   => mm_rst,
+    
+    dp_rst                   => dp_rst,
+    dp_clk                   => OPEN,
+    dp_pps                   => OPEN,
+    dp_rst_in                => dp_rst,
+    dp_clk_in                => dp_clk,
+    
+    -- PIOs
+    pout_wdi                 => pout_wdi,
+    pin_pps                  => pin_pps,
+    
+    -- eth1g
+    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,
+
+    -- Manual WDI override
+    reg_wdi_mosi             => reg_wdi_mosi,
+    reg_wdi_miso             => reg_wdi_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,    
+        
+    -- General
+    CLK                      => '0', -- SOPC-generated 200MHz dp_clk is used.
+    PPS                      => PPS,
+    WDI                      => WDI,
+
+    -- Others
+    VERSION                  => VERSION,
+    ID                       => ID,
+    TESTIO                   => TESTIO,
+
+    -- I2C Interface to Sensors
+    sens_sc                  => sens_sc,
+    sens_sd                  => sens_sd,
+
+    -- 1GbE Control Interface
+    ETH_clk                  => ETH_clk,
+    ETH_SGIN                 => ETH_SGIN,
+    ETH_SGOUT                => ETH_SGOUT
+  );
+
+  -----------------------------------------------------------------------------
+  -- SOPC
+  -----------------------------------------------------------------------------
+  u_sopc : ENTITY work.sopc_tr_10GbE
+  PORT MAP (
+    clk_0                                                  => xo_clk,
+    reset_n                                                => xo_rst_n,
+    mm_clk                                                 => mm_clk, 
+    cal_reconf_clk                                         => cal_rec_clk, 
+    tse_clk                                                => eth1g_tse_clk, 
+    dp_clk                                                 => dp_clk,
+
+     -- the_altpll_0
+    locked_from_the_altpll_0                               => mm_locked,
+    phasedone_from_the_altpll_0                            => OPEN,
+    areset_to_the_altpll_0                                 => xo_rst,
+
+    -- the_avs_eth_0
+    coe_clk_export_from_the_avs_eth_0                      => OPEN,
+    coe_reset_export_from_the_avs_eth_0                    => eth1g_mm_rst,
+    coe_tse_address_export_from_the_avs_eth_0              => eth1g_tse_mosi.address(c_unb1_board_peripherals_mm_reg_default.reg_tse_adr_w-1 DOWNTO 0),
+    coe_tse_write_export_from_the_avs_eth_0                => eth1g_tse_mosi.wr,
+    coe_tse_writedata_export_from_the_avs_eth_0            => eth1g_tse_mosi.wrdata(c_word_w-1 DOWNTO 0),
+    coe_tse_read_export_from_the_avs_eth_0                 => eth1g_tse_mosi.rd,
+    coe_tse_readdata_export_to_the_avs_eth_0               => eth1g_tse_miso.rddata(c_word_w-1 DOWNTO 0),
+    coe_tse_waitrequest_export_to_the_avs_eth_0            => eth1g_tse_miso.waitrequest,
+    coe_reg_address_export_from_the_avs_eth_0              => eth1g_reg_mosi.address(c_unb1_board_peripherals_mm_reg_default.reg_eth_adr_w-1 DOWNTO 0),
+    coe_reg_write_export_from_the_avs_eth_0                => eth1g_reg_mosi.wr,
+    coe_reg_writedata_export_from_the_avs_eth_0            => eth1g_reg_mosi.wrdata(c_word_w-1 DOWNTO 0),
+    coe_reg_read_export_from_the_avs_eth_0                 => eth1g_reg_mosi.rd,
+    coe_reg_readdata_export_to_the_avs_eth_0               => eth1g_reg_miso.rddata(c_word_w-1 DOWNTO 0),
+    coe_irq_export_to_the_avs_eth_0                        => eth1g_reg_interrupt,
+    coe_ram_address_export_from_the_avs_eth_0              => eth1g_ram_mosi.address(c_unb1_board_peripherals_mm_reg_default.ram_eth_adr_w-1 DOWNTO 0),
+    coe_ram_write_export_from_the_avs_eth_0                => eth1g_ram_mosi.wr,
+    coe_ram_writedata_export_from_the_avs_eth_0            => eth1g_ram_mosi.wrdata(c_word_w-1 DOWNTO 0),
+    coe_ram_read_export_from_the_avs_eth_0                 => eth1g_ram_mosi.rd,
+    coe_ram_readdata_export_to_the_avs_eth_0               => eth1g_ram_miso.rddata(c_word_w-1 DOWNTO 0),
+
+    -- the_reg_unb_sens
+    coe_clk_export_from_the_reg_unb_sens                   => OPEN,
+    coe_reset_export_from_the_reg_unb_sens                 => OPEN,
+    coe_address_export_from_the_reg_unb_sens               => reg_unb_sens_mosi.address(c_unb1_board_peripherals_mm_reg_default.reg_unb_sens_adr_w-1 DOWNTO 0),
+    coe_read_export_from_the_reg_unb_sens                  => reg_unb_sens_mosi.rd,
+    coe_readdata_export_to_the_reg_unb_sens                => reg_unb_sens_miso.rddata(c_word_w-1 DOWNTO 0),
+    coe_write_export_from_the_reg_unb_sens                 => reg_unb_sens_mosi.wr,
+    coe_writedata_export_from_the_reg_unb_sens             => reg_unb_sens_mosi.wrdata(c_word_w-1 DOWNTO 0),               
+
+    -- the_reg_diagnostics 
+    coe_clk_export_from_the_reg_diagnostics                => OPEN,
+    coe_reset_export_from_the_reg_diagnostics              => OPEN,
+    coe_address_export_from_the_reg_diagnostics            => reg_diagnostics_mosi.address(c_unb1_board_peripherals_mm_reg_default.reg_diagnostics_adr_w-1 DOWNTO 0),
+    coe_read_export_from_the_reg_diagnostics               => reg_diagnostics_mosi.rd,
+    coe_readdata_export_to_the_reg_diagnostics             => reg_diagnostics_miso.rddata(c_word_w-1 DOWNTO 0),
+    coe_write_export_from_the_reg_diagnostics              => reg_diagnostics_mosi.wr,
+    coe_writedata_export_from_the_reg_diagnostics          => reg_diagnostics_mosi.wrdata(c_word_w-1 DOWNTO 0),
+
+    -- the_pio_debug_wave
+    out_port_from_the_pio_debug_wave                       => OPEN,
+
+    -- the_pio_pps
+    in_port_to_the_pio_pps                                 => pin_pps,
+
+    -- the_pio_system_info: actually an avs_common_mm instance
+    coe_clk_export_from_the_pio_system_info                => OPEN,
+    coe_reset_export_from_the_pio_system_info              => OPEN,
+    coe_address_export_from_the_pio_system_info            => reg_unb_system_info_mosi.address(c_unb1_board_peripherals_mm_reg_default.reg_unb_system_info_adr_w-1 DOWNTO 0), 
+    coe_read_export_from_the_pio_system_info               => reg_unb_system_info_mosi.rd,
+    coe_readdata_export_to_the_pio_system_info             => reg_unb_system_info_miso.rddata(c_word_w-1 DOWNTO 0),
+    coe_write_export_from_the_pio_system_info              => reg_unb_system_info_mosi.wr,
+    coe_writedata_export_from_the_pio_system_info          => reg_unb_system_info_mosi.wrdata(c_word_w-1 DOWNTO 0),
+
+    -- the_rom_system_info
+    coe_clk_export_from_the_rom_system_info                => OPEN,
+    coe_reset_export_from_the_rom_system_info              => OPEN,
+    coe_address_export_from_the_rom_system_info            => rom_unb_system_info_mosi.address(c_unb1_board_peripherals_mm_reg_default.rom_unb_system_info_adr_w-1 DOWNTO 0), 
+    coe_read_export_from_the_rom_system_info               => rom_unb_system_info_mosi.rd,
+    coe_readdata_export_to_the_rom_system_info             => rom_unb_system_info_miso.rddata(c_word_w-1 DOWNTO 0),
+    coe_write_export_from_the_rom_system_info              => rom_unb_system_info_mosi.wr,
+    coe_writedata_export_from_the_rom_system_info          => rom_unb_system_info_mosi.wrdata(c_word_w-1 DOWNTO 0),
+    
+    -- the_pio_wdi
+    out_port_from_the_pio_wdi                              => pout_wdi,
+
+    -- the_reg_wdi
+    coe_clk_export_from_the_reg_wdi                        => OPEN,
+    coe_reset_export_from_the_reg_wdi                      => OPEN,
+    coe_address_export_from_the_reg_wdi                    => reg_wdi_mosi.address(0), 
+    coe_read_export_from_the_reg_wdi                       => reg_wdi_mosi.rd,
+    coe_readdata_export_to_the_reg_wdi                     => reg_wdi_miso.rddata(c_word_w-1 DOWNTO 0),
+    coe_write_export_from_the_reg_wdi                      => reg_wdi_mosi.wr,
+    coe_writedata_export_from_the_reg_wdi                  => reg_wdi_mosi.wrdata(c_word_w-1 DOWNTO 0),
+
+    -- the_reg_tr_10GbE 
+    coe_clk_export_from_the_reg_tr_10GbE                   => OPEN,
+    coe_reset_export_from_the_reg_tr_10GbE                 => OPEN,
+    coe_address_export_from_the_reg_tr_10GbE               => reg_tr_10GbE_mosi.address(c_reg_tr_10GbE_addr_w-1 DOWNTO 0),
+    coe_read_export_from_the_reg_tr_10GbE                  => reg_tr_10GbE_mosi.rd,
+    coe_readdata_export_to_the_reg_tr_10GbE                => reg_tr_10GbE_miso.rddata(c_word_w-1 DOWNTO 0),
+    coe_waitrequest_export_to_the_reg_tr_10GbE             => reg_tr_10GbE_miso.waitrequest,
+    coe_write_export_from_the_reg_tr_10GbE                 => reg_tr_10GbE_mosi.wr,
+    coe_writedata_export_from_the_reg_tr_10GbE             => reg_tr_10GbE_mosi.wrdata(c_word_w-1 DOWNTO 0),
+
+    -- the_reg_dp_ram_from_mm 
+    coe_clk_export_from_the_reg_dp_ram_from_mm             => OPEN,
+    coe_reset_export_from_the_reg_dp_ram_from_mm           => OPEN,
+    coe_address_export_from_the_reg_dp_ram_from_mm         => reg_dp_ram_from_mm_mosi.address(c_dp_reg_mm_adr_w-1 DOWNTO 0),
+    coe_read_export_from_the_reg_dp_ram_from_mm            => reg_dp_ram_from_mm_mosi.rd,
+    coe_readdata_export_to_the_reg_dp_ram_from_mm          => reg_dp_ram_from_mm_miso.rddata(c_word_w-1 DOWNTO 0),
+    coe_write_export_from_the_reg_dp_ram_from_mm           => reg_dp_ram_from_mm_mosi.wr,
+    coe_writedata_export_from_the_reg_dp_ram_from_mm       => reg_dp_ram_from_mm_mosi.wrdata(c_word_w-1 DOWNTO 0), 
+
+    -- the_ram_dp_ram_from_mm 
+    coe_clk_export_from_the_ram_dp_ram_from_mm             => OPEN,
+    coe_reset_export_from_the_ram_dp_ram_from_mm           => OPEN,
+    coe_address_export_from_the_ram_dp_ram_from_mm         => ram_dp_ram_from_mm_mosi.address(c_dp_ram_mm_adr_w-1 DOWNTO 0),
+    coe_read_export_from_the_ram_dp_ram_from_mm            => ram_dp_ram_from_mm_mosi.rd,
+    coe_readdata_export_to_the_ram_dp_ram_from_mm          => ram_dp_ram_from_mm_miso.rddata(c_word_w-1 DOWNTO 0),
+    coe_write_export_from_the_ram_dp_ram_from_mm           => ram_dp_ram_from_mm_mosi.wr,
+    coe_writedata_export_from_the_ram_dp_ram_from_mm       => ram_dp_ram_from_mm_mosi.wrdata(c_word_w-1 DOWNTO 0), 
+
+    -- the_ram_dp_ram_to_mm 
+    coe_clk_export_from_the_ram_dp_ram_to_mm               => OPEN,
+    coe_reset_export_from_the_ram_dp_ram_to_mm             => OPEN,
+    coe_address_export_from_the_ram_dp_ram_to_mm           => ram_dp_ram_to_mm_mosi.address(c_dp_ram_mm_adr_w-1 DOWNTO 0),
+    coe_read_export_from_the_ram_dp_ram_to_mm              => ram_dp_ram_to_mm_mosi.rd,
+    coe_readdata_export_to_the_ram_dp_ram_to_mm            => ram_dp_ram_to_mm_miso.rddata(c_word_w-1 DOWNTO 0),
+    coe_write_export_from_the_ram_dp_ram_to_mm             => ram_dp_ram_to_mm_mosi.wr,
+    coe_writedata_export_from_the_ram_dp_ram_to_mm         => ram_dp_ram_to_mm_mosi.wrdata(c_word_w-1 DOWNTO 0),
+
+    -- the_reg_tr_xaui 
+    coe_clk_export_from_the_reg_tr_xaui                    => OPEN,
+    coe_reset_export_from_the_reg_tr_xaui                  => OPEN,
+    coe_address_export_from_the_reg_tr_xaui                => reg_tr_xaui_mosi.address(c_reg_tr_xaui_addr_w-1 DOWNTO 0),
+    coe_read_export_from_the_reg_tr_xaui                   => reg_tr_xaui_mosi.rd,
+    coe_readdata_export_to_the_reg_tr_xaui                 => reg_tr_xaui_miso.rddata(c_word_w-1 DOWNTO 0),
+    coe_waitrequest_export_to_the_reg_tr_xaui              => reg_tr_xaui_miso.waitrequest,
+    coe_write_export_from_the_reg_tr_xaui                  => reg_tr_xaui_mosi.wr,
+    coe_writedata_export_from_the_reg_tr_xaui              => reg_tr_xaui_mosi.wrdata(c_word_w-1 DOWNTO 0)
+  );
+
+  -----------------------------------------------------------------------------
+  -- Node function
+  -----------------------------------------------------------------------------
+  u_node : ENTITY work.node_unb1_tr_10GbE
+  GENERIC MAP (
+    g_sim           => FALSE,
+    g_nof_macs      => c_nof_macs,
+    g_use_mdio      => c_use_front,
+    g_mdio_epcs_dis => c_use_pc_target,
+    g_lpbk_sosi     => c_lpbk_sosi,   
+    g_lpbk_xgmii    => c_lpbk_xgmii,  
+    g_lpbk_xaui     => c_lpbk_xaui
+   )
+  PORT MAP (
+    -- System
+    mm_rst                        => mm_rst,
+    mm_clk                        => mm_clk,
+    
+    dp_rst                        => dp_rst,
+    dp_clk                        => dp_clk,
+
+    tr_clk                        => SA_clk, 
+    cal_rec_clk                   => cal_rec_clk,
+      
+    -- MM registers 
+    reg_diagnostics_mosi          => reg_diagnostics_mosi,
+    reg_diagnostics_miso          => reg_diagnostics_miso,
+
+    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,
+
+    reg_hdr_insert_mosi           => reg_dp_ram_from_mm_mosi,
+    ram_hdr_insert_mosi           => ram_dp_ram_from_mm_mosi,
+
+    ram_hdr_remove_mosi           => ram_dp_ram_to_mm_mosi,
+    ram_hdr_remove_miso           => ram_dp_ram_to_mm_miso,
+    
+    -- Transceiver serial I/O
+    xaui_tx_arr                   => xaui_tx_arr,
+    xaui_rx_arr                   => xaui_rx_arr,
+
+    -- MDIO External clock and serial data.
+    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
+  );
+
+  -----------------------------------------------------------------------------
+  -- I/O wiring
+  -----------------------------------------------------------------------------
+  gen_tr_front : IF c_use_front=TRUE GENERATE
+    u_front_io : ENTITY unb1_board_lib.unb1_board_front_io
+    GENERIC MAP (
+      g_nof_xaui => c_nof_macs
+    )
+    PORT MAP (
+      xaui_tx_arr       => xaui_tx_arr,
+      xaui_rx_arr       => 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
+    );
+  END GENERATE;
+
+END str;
-- 
GitLab