]> jspc29.x-matter.uni-frankfurt.de Git - soda.git/commitdiff
New soda_hub project created and populated. Basic code is there.
authorPeter Lemmens <p.j.j.lemmens@rug.nl>
Wed, 29 Jan 2014 09:11:10 +0000 (10:11 +0100)
committerPeter Lemmens <p.j.j.lemmens@rug.nl>
Wed, 29 Jan 2014 09:11:10 +0000 (10:11 +0100)
Reveal files added for convenience

soda_client.ldf
soda_client_probe.rvl [new file with mode: 0644]
soda_hub_probe.rvl [new file with mode: 0644]
soda_source.ldf
soda_source_probe.rvl [new file with mode: 0644]
source/soda_calibration_timer.vhd
source/soda_components.vhd
source/soda_hub.vhd

index 063fc821634cd8d8fd239081f5b5993c73c9f64a..26aa3e246824ac2d7b79fdf2d5283110cf66810d 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<BaliProject version="2.0" title="soda_client" device="LFE3-150EA-8FN672C" synthesis="synplify" default_implementation="soda_client">
+<BaliProject version="3.0" title="soda_client" device="LFE3-150EA-8FN672C" default_implementation="soda_client">
     <Options>
         <Option name="HDL type" value="VHDL"/>
     </Options>
-    <Implementation title="soda_client" dir="soda_client" description="soda_client" default_strategy="Strategy1">
+    <Implementation title="soda_client" dir="soda_client" description="soda_client" synthesis="synplify" default_strategy="Strategy1">
         <Options def_top="trb3_periph_sodaclient" top="trb3_periph_sodaclient"/>
         <Source name="source/version.vhd" type="VHDL" type_short="VHDL">
             <Options/>
diff --git a/soda_client_probe.rvl b/soda_client_probe.rvl
new file mode 100644 (file)
index 0000000..a0d27a9
--- /dev/null
@@ -0,0 +1,277 @@
+<Project ModBy="Inserter" SigType="0" Name="/local/lemmens/lattice/soda/soda_client_probe.rvl" Date="2014-01-20">
+    <IP Version="1_5_062609"/>
+    <Design DesignEntry="Schematic/VHDL" Synthesis="synplify" DeviceFamily="LatticeECP3" DesignName="soda_client"/>
+    <Core InsertDataset="0" Insert="1" Reveal_sig="2020146143" Name="trb3_periph_sodaclient_LA0" ID="0">
+        <Setting>
+            <Clock SampleClk="the_sync_link/clk_rx_full" SampleEnable="0" EnableClk="" EnableClk_Pri="0"/>
+            <TraceBuffer Implementation="0" BitTimeStamp="0" hasTimeStamp="0" IncTrigSig="1" BufferDepth="512"/>
+            <Capture Mode="0" MinSamplesPerTrig="8"/>
+            <Event CntEnable="0" MaxEventCnt="8"/>
+            <TrigOut Polarity="0" MinPulseWidth="0" TrigOutNetType="1" EnableTrigOut="0" TrigOutNet="reveal_debug_soda_client_LA0_net"/>
+        </Setting>
+        <Dataset Name="Base">
+            <Trace>
+                <Sig Type="SIG" Name="the_sync_link/the_tx/rx_allow_qtx"/>
+                <Sig Type="SIG" Name="the_sync_link/the_tx/tx_allow_qtx"/>
+                <Bus Name="the_sync_link/the_tx/tx_data_out">
+                    <Sig Type="SIG" Name="the_sync_link/the_tx/tx_data_out:0"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_tx/tx_data_out:1"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_tx/tx_data_out:2"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_tx/tx_data_out:3"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_tx/tx_data_out:4"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_tx/tx_data_out:5"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_tx/tx_data_out:6"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_tx/tx_data_out:7"/>
+                </Bus>
+                <Sig Type="SIG" Name="the_sync_link/link_phase_s"/>
+                <Sig Type="SIG" Name="the_sync_link/rx_dlm"/>
+                <Bus Name="the_sync_link/rx_dlm_word">
+                    <Sig Type="SIG" Name="the_sync_link/rx_dlm_word:0"/>
+                    <Sig Type="SIG" Name="the_sync_link/rx_dlm_word:1"/>
+                    <Sig Type="SIG" Name="the_sync_link/rx_dlm_word:2"/>
+                    <Sig Type="SIG" Name="the_sync_link/rx_dlm_word:3"/>
+                    <Sig Type="SIG" Name="the_sync_link/rx_dlm_word:4"/>
+                    <Sig Type="SIG" Name="the_sync_link/rx_dlm_word:5"/>
+                    <Sig Type="SIG" Name="the_sync_link/rx_dlm_word:6"/>
+                    <Sig Type="SIG" Name="the_sync_link/rx_dlm_word:7"/>
+                </Bus>
+                <Sig Type="SIG" Name="the_sync_link/tx_dlm"/>
+                <Bus Name="the_sync_link/tx_dlm_word">
+                    <Sig Type="SIG" Name="the_sync_link/tx_dlm_word:0"/>
+                    <Sig Type="SIG" Name="the_sync_link/tx_dlm_word:1"/>
+                    <Sig Type="SIG" Name="the_sync_link/tx_dlm_word:2"/>
+                    <Sig Type="SIG" Name="the_sync_link/tx_dlm_word:3"/>
+                    <Sig Type="SIG" Name="the_sync_link/tx_dlm_word:4"/>
+                    <Sig Type="SIG" Name="the_sync_link/tx_dlm_word:5"/>
+                    <Sig Type="SIG" Name="the_sync_link/tx_dlm_word:6"/>
+                    <Sig Type="SIG" Name="the_sync_link/tx_dlm_word:7"/>
+                </Bus>
+                <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/start_of_superburst"/>
+                <Bus Name="a_soda_client/reply_packet_builder/super_burst_nr_in">
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:0"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:1"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:2"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:3"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:4"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:5"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:6"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:7"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:8"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:9"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:10"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:11"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:12"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:13"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:14"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:15"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:16"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:17"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:18"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:19"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:20"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:21"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:22"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:23"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:24"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:25"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:26"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:27"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:28"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:29"/>
+                    <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/super_burst_nr_in:30"/>
+                </Bus>
+                <Sig Type="SIG" Name="a_soda_client/reply_packet_builder/tx_dlm_preview_out"/>
+                <Sig Type="SIG" Name="the_sync_link/make_link_reset_i"/>
+                <Sig Type="SIG" Name="the_sync_link/the_rx_control/got_link_ready"/>
+                <Sig Type="SIG" Name="the_sync_link/the_rx_control/make_reset_out"/>
+                <Sig Type="SIG" Name="the_sync_link/the_rx_control/rx_dlm"/>
+                <Sig Type="SIG" Name="the_sync_link/the_rx_control/rx_write_out"/>
+                <Bus Name="the_sync_link/start_timer">
+                    <Sig Type="SIG" Name="the_sync_link/start_timer:0"/>
+                    <Sig Type="SIG" Name="the_sync_link/start_timer:1"/>
+                    <Sig Type="SIG" Name="the_sync_link/start_timer:2"/>
+                    <Sig Type="SIG" Name="the_sync_link/start_timer:3"/>
+                    <Sig Type="SIG" Name="the_sync_link/start_timer:4"/>
+                    <Sig Type="SIG" Name="the_sync_link/start_timer:5"/>
+                    <Sig Type="SIG" Name="the_sync_link/start_timer:6"/>
+                    <Sig Type="SIG" Name="the_sync_link/start_timer:7"/>
+                    <Sig Type="SIG" Name="the_sync_link/start_timer:8"/>
+                    <Sig Type="SIG" Name="the_sync_link/start_timer:9"/>
+                    <Sig Type="SIG" Name="the_sync_link/start_timer:10"/>
+                    <Sig Type="SIG" Name="the_sync_link/start_timer:11"/>
+                    <Sig Type="SIG" Name="the_sync_link/start_timer:12"/>
+                    <Sig Type="SIG" Name="the_sync_link/start_timer:13"/>
+                    <Sig Type="SIG" Name="the_sync_link/start_timer:14"/>
+                    <Sig Type="SIG" Name="the_sync_link/start_timer:15"/>
+                    <Sig Type="SIG" Name="the_sync_link/start_timer:16"/>
+                    <Sig Type="SIG" Name="the_sync_link/start_timer:17"/>
+                    <Sig Type="SIG" Name="the_sync_link/start_timer:18"/>
+                </Bus>
+                <Bus Name="the_sync_link/rx_fsm_state">
+                    <Sig Type="SIG" Name="the_sync_link/rx_fsm_state:0"/>
+                    <Sig Type="SIG" Name="the_sync_link/rx_fsm_state:1"/>
+                    <Sig Type="SIG" Name="the_sync_link/rx_fsm_state:2"/>
+                    <Sig Type="SIG" Name="the_sync_link/rx_fsm_state:3"/>
+                </Bus>
+                <Bus Name="the_sync_link/the_rx_control/rx_state">
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_control/rx_state:0"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_control/rx_state:1"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_control/rx_state:2"/>
+                </Bus>
+                <Sig Type="SIG" Name="the_sync_link/got_link_ready_i"/>
+                <Bus Name="the_sync_link/the_rx_control/rx_state_bits">
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_control/rx_state_bits:0"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_control/rx_state_bits:1"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_control/rx_state_bits:2"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_control/rx_state_bits:3"/>
+                </Bus>
+                <Sig Type="SIG" Name="the_sync_link/the_rx_control/rx_k_in"/>
+                <Sig Type="SIG" Name="the_sync_link/the_rx_control/reg_rx_k_in"/>
+                <Bus Name="the_sync_link/the_rx_control/rx_data_in">
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_control/rx_data_in:0"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_control/rx_data_in:1"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_control/rx_data_in:2"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_control/rx_data_in:3"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_control/rx_data_in:4"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_control/rx_data_in:5"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_control/rx_data_in:6"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_control/rx_data_in:7"/>
+                </Bus>
+                <Bus Name="the_sync_link/the_rx_control/reg_rx_data_in">
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_control/reg_rx_data_in:0"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_control/reg_rx_data_in:1"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_control/reg_rx_data_in:2"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_control/reg_rx_data_in:3"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_control/reg_rx_data_in:4"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_control/reg_rx_data_in:5"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_control/reg_rx_data_in:6"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_control/reg_rx_data_in:7"/>
+                </Bus>
+                <Sig Type="SIG" Name="the_sync_link/the_rx_control/next_sop"/>
+                <Bus Name="the_sync_link/the_rx_fsm/counter2">
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/counter2:0"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/counter2:1"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/counter2:2"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/counter2:3"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/counter2:4"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/counter2:5"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/counter2:6"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/counter2:7"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/counter2:8"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/counter2:9"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/counter2:10"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/counter2:11"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/counter2:12"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/counter2:13"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/counter2:14"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/counter2:15"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/counter2:16"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/counter2:17"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/counter2:18"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/counter2:19"/>
+                </Bus>
+                <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/rst_n"/>
+                <Bus Name="the_sync_link/the_rx_fsm/cs">
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/cs:0"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/cs:1"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/cs:2"/>
+                </Bus>
+                <Bus Name="the_sync_link/the_rx_fsm/ns">
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/ns:0"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/ns:1"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/ns:2"/>
+                </Bus>
+                <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/rx_cdr_lol_ch_s"/>
+                <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/rx_los_low_ch_s"/>
+                <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/rx_pcs_rst_ch_c"/>
+                <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/rx_serdes_rst_ch_c"/>
+                <Bus Name="the_sync_link/the_rx_fsm/state_out">
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/state_out:0"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/state_out:1"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/state_out:2"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/state_out:3"/>
+                </Bus>
+                <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/tx_pll_lol_qd_s"/>
+                <Bus Name="the_sync_link/the_rx_fsm/wa_position">
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/wa_position:0"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/wa_position:1"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/wa_position:2"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/wa_position:3"/>
+                </Bus>
+                <Bus Name="the_sync_link/watchdog_timer">
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:0"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:1"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:2"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:3"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:4"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:5"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:6"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:7"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:8"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:9"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:10"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:11"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:12"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:13"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:14"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:15"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:16"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:17"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:18"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:19"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:20"/>
+                </Bus>
+                <Sig Type="SIG" Name="the_sync_link/watchdog_trigger"/>
+                <Sig Type="SIG" Name="a_soda_client/soda_cmd_valid_s"/>
+                <Bus Name="a_soda_client/soda_cmd_word_s">
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:0"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:1"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:2"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:3"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:4"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:5"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:6"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:7"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:8"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:9"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:10"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:11"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:12"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:13"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:14"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:15"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:16"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:17"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:18"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:19"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:20"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:21"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:22"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:23"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:24"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:25"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:26"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:27"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:28"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:29"/>
+                    <Sig Type="SIG" Name="a_soda_client/soda_cmd_word_s:30"/>
+                </Bus>
+                <Sig Type="SIG" Name="a_soda_client/start_of_superburst_s"/>
+            </Trace>
+            <Trigger>
+                <TU Serialbits="0" Type="0" ID="1" Sig="a_soda_client/start_of_superburst_s,"/>
+                <TU Serialbits="0" Type="0" ID="2" Sig="a_soda_client/rx_dlm_in,"/>
+                <TU Serialbits="0" Type="0" ID="3" Sig="a_soda_client/tx_dlm_out,"/>
+                <TU Serialbits="0" Type="0" ID="4" Sig="the_sync_link/make_link_reset_i,"/>
+                <TU Serialbits="0" Type="0" ID="5" Sig="(BUS)the_sync_link/the_rx_control/rx_state[2:0],"/>
+                <TU Serialbits="0" Type="0" ID="6" Sig="the_sync_link/watchdog_trigger,"/>
+                <TE MaxSequence="1" MaxEvnCnt="1" ID="1" Resource="1"/>
+                <TE MaxSequence="2" MaxEvnCnt="1" ID="2" Resource="0"/>
+                <TE MaxSequence="2" MaxEvnCnt="1" ID="3" Resource="0"/>
+                <TE MaxSequence="2" MaxEvnCnt="1" ID="4" Resource="0"/>
+                <TE MaxSequence="2" MaxEvnCnt="1" ID="5" Resource="0"/>
+                <TE MaxSequence="2" MaxEvnCnt="1" ID="6" Resource="0"/>
+            </Trigger>
+        </Dataset>
+    </Core>
+</Project>
diff --git a/soda_hub_probe.rvl b/soda_hub_probe.rvl
new file mode 100644 (file)
index 0000000..0397f85
--- /dev/null
@@ -0,0 +1,105 @@
+<Project ModBy="Inserter" SigType="0" Name="/local/lemmens/lattice/soda/soda_hub_probe.rvl" Date="2014-01-29">
+    <IP Version="1_5_062609"/>
+    <Design DesignEntry="Schematic/VHDL" Synthesis="synplify" DeviceFamily="LatticeECP3" DesignName="soda_hub"/>
+    <Core InsertDataset="0" Insert="1" Reveal_sig="2021302512" Name="trb3_periph_sodaclient_LA0" ID="0">
+        <Setting>
+            <Clock SampleClk="the_sync_link/clk_rx_full" SampleEnable="0" EnableClk="" EnableClk_Pri="0"/>
+            <TraceBuffer Implementation="0" BitTimeStamp="0" hasTimeStamp="0" IncTrigSig="1" BufferDepth="512"/>
+            <Capture Mode="0" MinSamplesPerTrig="8"/>
+            <Event CntEnable="0" MaxEventCnt="8"/>
+            <TrigOut Polarity="0" MinPulseWidth="0" TrigOutNetType="1" EnableTrigOut="0" TrigOutNet="reveal_debug_soda_client_LA0_net"/>
+        </Setting>
+        <Dataset Name="Base">
+            <Trace>
+                <Sig Type="SIG" Name="rxup_dlm_i"/>
+                <Bus Name="rxup_dlm_word">
+                    <Sig Type="SIG" Name="rxup_dlm_word:0"/>
+                    <Sig Type="SIG" Name="rxup_dlm_word:1"/>
+                    <Sig Type="SIG" Name="rxup_dlm_word:2"/>
+                    <Sig Type="SIG" Name="rxup_dlm_word:3"/>
+                    <Sig Type="SIG" Name="rxup_dlm_word:4"/>
+                    <Sig Type="SIG" Name="rxup_dlm_word:5"/>
+                    <Sig Type="SIG" Name="rxup_dlm_word:6"/>
+                    <Sig Type="SIG" Name="rxup_dlm_word:7"/>
+                </Bus>
+                <Sig Type="SIG" Name="txup_dlm_i"/>
+                <Sig Type="SIG" Name="txup_dlm_preview_s"/>
+                <Bus Name="txup_dlm_word">
+                    <Sig Type="SIG" Name="txup_dlm_word:0"/>
+                    <Sig Type="SIG" Name="txup_dlm_word:1"/>
+                    <Sig Type="SIG" Name="txup_dlm_word:2"/>
+                    <Sig Type="SIG" Name="txup_dlm_word:3"/>
+                    <Sig Type="SIG" Name="txup_dlm_word:4"/>
+                    <Sig Type="SIG" Name="txup_dlm_word:5"/>
+                    <Sig Type="SIG" Name="txup_dlm_word:6"/>
+                    <Sig Type="SIG" Name="txup_dlm_word:7"/>
+                </Bus>
+                <Sig Type="SIG" Name="uplink_phase_s"/>
+                <Bus Name="rxdn_dlm_i">
+                    <Sig Type="SIG" Name="rxdn_dlm_i:0"/>
+                    <Sig Type="SIG" Name="rxdn_dlm_i:1"/>
+                </Bus>
+                <Bus Name="rxdn_dlm_word[1:0]">
+                    <Sig Type="SIG" Name="rxdn_dlm_word:0:0"/>
+                    <Sig Type="SIG" Name="rxdn_dlm_word:0:1"/>
+                    <Sig Type="SIG" Name="rxdn_dlm_word:0:2"/>
+                    <Sig Type="SIG" Name="rxdn_dlm_word:0:3"/>
+                    <Sig Type="SIG" Name="rxdn_dlm_word:0:4"/>
+                    <Sig Type="SIG" Name="rxdn_dlm_word:0:5"/>
+                    <Sig Type="SIG" Name="rxdn_dlm_word:0:6"/>
+                    <Sig Type="SIG" Name="rxdn_dlm_word:0:7"/>
+                    <Sig Type="SIG" Name="rxdn_dlm_word:1:0"/>
+                    <Sig Type="SIG" Name="rxdn_dlm_word:1:1"/>
+                    <Sig Type="SIG" Name="rxdn_dlm_word:1:2"/>
+                    <Sig Type="SIG" Name="rxdn_dlm_word:1:3"/>
+                    <Sig Type="SIG" Name="rxdn_dlm_word:1:4"/>
+                    <Sig Type="SIG" Name="rxdn_dlm_word:1:5"/>
+                    <Sig Type="SIG" Name="rxdn_dlm_word:1:6"/>
+                    <Sig Type="SIG" Name="rxdn_dlm_word:1:7"/>
+                </Bus>
+                <Bus Name="txdn_dlm_i">
+                    <Sig Type="SIG" Name="txdn_dlm_i:0"/>
+                    <Sig Type="SIG" Name="txdn_dlm_i:1"/>
+                </Bus>
+                <Bus Name="txdn_dlm_preview_s">
+                    <Sig Type="SIG" Name="txdn_dlm_preview_s:0"/>
+                    <Sig Type="SIG" Name="txdn_dlm_preview_s:1"/>
+                </Bus>
+                <Bus Name="txdn_dlm_word[1:0]">
+                    <Sig Type="SIG" Name="txdn_dlm_word:0:0"/>
+                    <Sig Type="SIG" Name="txdn_dlm_word:0:1"/>
+                    <Sig Type="SIG" Name="txdn_dlm_word:0:2"/>
+                    <Sig Type="SIG" Name="txdn_dlm_word:0:3"/>
+                    <Sig Type="SIG" Name="txdn_dlm_word:0:4"/>
+                    <Sig Type="SIG" Name="txdn_dlm_word:0:5"/>
+                    <Sig Type="SIG" Name="txdn_dlm_word:0:6"/>
+                    <Sig Type="SIG" Name="txdn_dlm_word:0:7"/>
+                    <Sig Type="SIG" Name="txdn_dlm_word:1:0"/>
+                    <Sig Type="SIG" Name="txdn_dlm_word:1:1"/>
+                    <Sig Type="SIG" Name="txdn_dlm_word:1:2"/>
+                    <Sig Type="SIG" Name="txdn_dlm_word:1:3"/>
+                    <Sig Type="SIG" Name="txdn_dlm_word:1:4"/>
+                    <Sig Type="SIG" Name="txdn_dlm_word:1:5"/>
+                    <Sig Type="SIG" Name="txdn_dlm_word:1:6"/>
+                    <Sig Type="SIG" Name="txdn_dlm_word:1:7"/>
+                </Bus>
+            </Trace>
+            <Trigger>
+                <TU Serialbits="0" Type="0" ID="1" Sig="a_soda_hub/start_of_superburst_s,"/>
+                <TU Serialbits="0" Type="0" ID="2" Sig="rxup_dlm_i,"/>
+                <TU Serialbits="0" Type="0" ID="3" Sig="txup_dlm_i,"/>
+                <TU Serialbits="0" Type="0" ID="4" Sig="the_sync_uplink/watchdog_trigger,"/>
+                <TU Serialbits="0" Type="0" ID="5" Sig="(BUS)rxdn_dlm_i[1:0],"/>
+                <TU Serialbits="0" Type="0" ID="6" Sig="(BUS)txdn_dlm_i[1:0],"/>
+                <TU Serialbits="0" Type="0" ID="7" Sig="a_soda_hub/start_calibration_s,"/>
+                <TE MaxSequence="2" MaxEvnCnt="1" ID="1" Resource="0"/>
+                <TE MaxSequence="2" MaxEvnCnt="1" ID="2" Resource="0"/>
+                <TE MaxSequence="2" MaxEvnCnt="1" ID="3" Resource="0"/>
+                <TE MaxSequence="2" MaxEvnCnt="1" ID="4" Resource="0"/>
+                <TE MaxSequence="2" MaxEvnCnt="1" ID="5" Resource="0"/>
+                <TE MaxSequence="2" MaxEvnCnt="1" ID="6" Resource="0"/>
+                <TE MaxSequence="2" MaxEvnCnt="1" ID="7" Resource="0"/>
+            </Trigger>
+        </Dataset>
+    </Core>
+</Project>
index d3f2bf95a25fe8b377211878093249d865a3432d..76f8658102ab092d198b747e052eb0a9f0ca53ec 100644 (file)
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<BaliProject version="2.0" title="soda_source" device="LFE3-150EA-8FN672C" synthesis="synplify" default_implementation="soda_source">
+<BaliProject version="3.0" title="soda_source" device="LFE3-150EA-8FN672C" default_implementation="soda_source">
     <Options>
         <Option name="HDL type" value="VHDL"/>
     </Options>
-    <Implementation title="soda_source" dir="soda_source" description="soda_source" default_strategy="Strategy1">
+    <Implementation title="soda_source" dir="soda_source" description="soda_source" synthesis="synplify" default_strategy="Strategy1">
         <Options def_top="trb3_periph_sodasource" top="trb3_periph_sodasource"/>
         <Source name="source/version.vhd" type="VHDL" type_short="VHDL">
             <Options/>
diff --git a/soda_source_probe.rvl b/soda_source_probe.rvl
new file mode 100644 (file)
index 0000000..1d33e9e
--- /dev/null
@@ -0,0 +1,164 @@
+<Project ModBy="Inserter" SigType="0" Name="/local/lemmens/lattice/soda/soda_source_probe.rvl" Date="2014-01-22">
+    <IP Version="1_5_062609"/>
+    <Design DesignEntry="Schematic/VHDL" Synthesis="synplify" DeviceFamily="LatticeECP3" DesignName="soda_source"/>
+    <Core InsertDataset="0" Insert="1" Reveal_sig="2020398765" Name="trb3_periph_sodasource_LA0" ID="0">
+        <Setting>
+            <Clock SampleClk="rx_clock_full" SampleEnable="0" EnableClk="" EnableClk_Pri="0"/>
+            <TraceBuffer Implementation="0" BitTimeStamp="0" hasTimeStamp="0" IncTrigSig="1" BufferDepth="512"/>
+            <Capture Mode="0" MinSamplesPerTrig="8"/>
+            <Event CntEnable="0" MaxEventCnt="8"/>
+            <TrigOut Polarity="0" MinPulseWidth="0" TrigOutNetType="1" EnableTrigOut="0" TrigOutNet="reveal_debug_soda_source_LA0_net"/>
+        </Setting>
+        <Dataset Name="Base">
+            <Trace>
+                <Sig Type="SIG" Name="the_soda_source/store_rd"/>
+                <Sig Type="SIG" Name="the_soda_source/store_rd_x"/>
+                <Sig Type="SIG" Name="the_soda_source/store_wr"/>
+                <Sig Type="SIG" Name="the_soda_source/store_wr_x"/>
+                <Bus Name="the_soda_source/calib_register_s">
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:0"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:1"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:2"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:3"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:4"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:5"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:6"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:7"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:8"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:9"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:10"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:11"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:12"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:13"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:14"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:15"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:16"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:17"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:18"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:19"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:20"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:21"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:22"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:23"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:24"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:25"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:26"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:27"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:28"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:29"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:30"/>
+                    <Sig Type="SIG" Name="the_soda_source/calib_register_s:31"/>
+                </Bus>
+                <Bus Name="the_soda_source/calibration_time_s">
+                    <Sig Type="SIG" Name="the_soda_source/calibration_time_s:0"/>
+                    <Sig Type="SIG" Name="the_soda_source/calibration_time_s:1"/>
+                    <Sig Type="SIG" Name="the_soda_source/calibration_time_s:2"/>
+                    <Sig Type="SIG" Name="the_soda_source/calibration_time_s:3"/>
+                    <Sig Type="SIG" Name="the_soda_source/calibration_time_s:4"/>
+                    <Sig Type="SIG" Name="the_soda_source/calibration_time_s:5"/>
+                    <Sig Type="SIG" Name="the_soda_source/calibration_time_s:6"/>
+                    <Sig Type="SIG" Name="the_soda_source/calibration_time_s:7"/>
+                    <Sig Type="SIG" Name="the_soda_source/calibration_time_s:8"/>
+                    <Sig Type="SIG" Name="the_soda_source/calibration_time_s:9"/>
+                    <Sig Type="SIG" Name="the_soda_source/calibration_time_s:10"/>
+                    <Sig Type="SIG" Name="the_soda_source/calibration_time_s:11"/>
+                    <Sig Type="SIG" Name="the_soda_source/calibration_time_s:12"/>
+                    <Sig Type="SIG" Name="the_soda_source/calibration_time_s:13"/>
+                    <Sig Type="SIG" Name="the_soda_source/calibration_time_s:14"/>
+                    <Sig Type="SIG" Name="the_soda_source/calibration_time_s:15"/>
+                </Bus>
+                <Sig Type="SIG" Name="the_soda_source/calibration_valid_s"/>
+                <Bus Name="the_soda_source/current_state">
+                    <Sig Type="SIG" Name="the_soda_source/current_state:0"/>
+                    <Sig Type="SIG" Name="the_soda_source/current_state:1"/>
+                    <Sig Type="SIG" Name="the_soda_source/current_state:2"/>
+                </Bus>
+                <Sig Type="SIG" Name="the_sync_link/watchdog_trigger"/>
+                <Bus Name="the_sync_link/watchdog_timer">
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:0"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:1"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:2"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:3"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:4"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:5"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:6"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:7"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:8"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:9"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:10"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:11"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:12"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:13"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:14"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:15"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:16"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:17"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:18"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:19"/>
+                    <Sig Type="SIG" Name="the_sync_link/watchdog_timer:20"/>
+                </Bus>
+                <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/rst_n"/>
+                <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/rx_cdr_lol_ch_s"/>
+                <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/rx_los_low_ch_s"/>
+                <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/rx_pcs_rst_ch_c"/>
+                <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/tx_pll_lol_qd_s"/>
+                <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/rx_serdes_rst_ch_c"/>
+                <Bus Name="the_sync_link/the_rx_fsm/state_out">
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/state_out:0"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/state_out:1"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/state_out:2"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/state_out:3"/>
+                </Bus>
+                <Bus Name="the_sync_link/the_rx_fsm/wa_position">
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/wa_position:0"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/wa_position:1"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/wa_position:2"/>
+                    <Sig Type="SIG" Name="the_sync_link/the_rx_fsm/wa_position:3"/>
+                </Bus>
+                <Bus Name="the_sync_link/rx_fsm_state">
+                    <Sig Type="SIG" Name="the_sync_link/rx_fsm_state:0"/>
+                    <Sig Type="SIG" Name="the_sync_link/rx_fsm_state:1"/>
+                    <Sig Type="SIG" Name="the_sync_link/rx_fsm_state:2"/>
+                    <Sig Type="SIG" Name="the_sync_link/rx_fsm_state:3"/>
+                </Bus>
+                <Sig Type="SIG" Name="the_sync_link/rx_k"/>
+                <Sig Type="SIG" Name="the_sync_link/rx_los_low"/>
+                <Sig Type="SIG" Name="the_sync_link/rx_pcs_rst"/>
+                <Sig Type="SIG" Name="the_sync_link/rx_serdes_rst"/>
+                <Sig Type="SIG" Name="the_sync_link/rx_error"/>
+                <Sig Type="SIG" Name="the_sync_link/tx_k"/>
+                <Sig Type="SIG" Name="the_sync_link/tx_pcs_rst"/>
+                <Sig Type="SIG" Name="the_sync_link/tx_pll_lol"/>
+                <Sig Type="SIG" Name="the_sync_link/tx_serdes_rst"/>
+                <Bus Name="the_sync_link/wa_position">
+                    <Sig Type="SIG" Name="the_sync_link/wa_position:0"/>
+                    <Sig Type="SIG" Name="the_sync_link/wa_position:1"/>
+                    <Sig Type="SIG" Name="the_sync_link/wa_position:2"/>
+                    <Sig Type="SIG" Name="the_sync_link/wa_position:3"/>
+                    <Sig Type="SIG" Name="the_sync_link/wa_position:4"/>
+                    <Sig Type="SIG" Name="the_sync_link/wa_position:5"/>
+                    <Sig Type="SIG" Name="the_sync_link/wa_position:6"/>
+                    <Sig Type="SIG" Name="the_sync_link/wa_position:7"/>
+                    <Sig Type="SIG" Name="the_sync_link/wa_position:8"/>
+                    <Sig Type="SIG" Name="the_sync_link/wa_position:9"/>
+                    <Sig Type="SIG" Name="the_sync_link/wa_position:10"/>
+                    <Sig Type="SIG" Name="the_sync_link/wa_position:11"/>
+                    <Sig Type="SIG" Name="the_sync_link/wa_position:12"/>
+                    <Sig Type="SIG" Name="the_sync_link/wa_position:13"/>
+                    <Sig Type="SIG" Name="the_sync_link/wa_position:14"/>
+                    <Sig Type="SIG" Name="the_sync_link/wa_position:15"/>
+                </Bus>
+            </Trace>
+            <Trigger>
+                <TU Serialbits="0" Type="0" ID="1" Sig="the_soda_source/store_rd,"/>
+                <TU Serialbits="0" Type="0" ID="2" Sig="the_soda_source/store_wr,"/>
+                <TU Serialbits="0" Type="0" ID="3" Sig="the_soda_source/start_calibration_s,"/>
+                <TU Serialbits="0" Type="0" ID="4" Sig="the_sync_link/watchdog_trigger,"/>
+                <TE MaxSequence="2" MaxEvnCnt="1" ID="1" Resource="0"/>
+                <TE MaxSequence="2" MaxEvnCnt="1" ID="2" Resource="0"/>
+                <TE MaxSequence="2" MaxEvnCnt="1" ID="3" Resource="0"/>
+                <TE MaxSequence="2" MaxEvnCnt="1" ID="4" Resource="0"/>
+            </Trigger>
+        </Dataset>
+    </Core>
+</Project>
index c4135b2977eca28d94d4d01db6ce83e0e7874186..a8820cc244b2f340ae043d2710534d922d671111 100644 (file)
@@ -49,7 +49,7 @@ begin
                                        calibration_running_S           <= '0';
                                        CALIB_VALID_OUT                         <= '1';\r
                                        CALIB_TIME_OUT                                  <= calibration_timer_S;
-                               elsif (calibration_timer_S= 65535) then
+                               elsif (calibration_timer_S = x"ffff") then
                                        calibration_running_S           <= '0';
                                        CALIB_VALID_OUT                         <= '1';\r
                                        CALIB_TIME_OUT                                  <= calibration_timer_S;
index de2882560b7fe912f2c32fdafc68644057220745..c831beef367da148b717bbedc7d9e964027befe1 100644 (file)
@@ -23,12 +23,15 @@ package soda_components is
 
 
        type            t_HUB_DLM                               is array(c_HUB_CHILDREN-1 downto 0) of std_logic;\r
-       type            t_HUB_DLM_WORD                  is array(c_HUB_CHILDREN-1 downto 0) of std_logic_vector(7 downto 0);
+       type            t_HUB_DLM_BYTE                  is array(c_HUB_CHILDREN-1 downto 0) of std_logic_vector(7 downto 0);
+       type            t_HUB_DLM_WORD                  is array(c_HUB_CHILDREN-1 downto 0) of std_logic_vector(15 downto 0);
+       type            t_HUB_DLM_LWORD         is array(c_HUB_CHILDREN-1 downto 0) of std_logic_vector(31 downto 0);
        type            t_PACKET_TYPE_SENT      is (c_NO_PACKET, c_CMD_PACKET, c_BST_PACKET);
        type            t_PACKET_TYPE_ARRAY     is array(c_HUB_CHILDREN-1 downto 0) of t_PACKET_TYPE_SENT;
        type            t_HUB_BIT_ARRAY         is array(c_HUB_CHILDREN-1 downto 0) of std_logic;\r
        type            t_HUB_BYTE_ARRAY                is array(c_HUB_CHILDREN-1 downto 0) of std_logic_vector(7 downto 0);
-       type            t_HUB_WORD_ARRAY                is array(c_HUB_CHILDREN-1 downto 0) of std_logic_vector(31 downto 0);
+       type            t_HUB_WORD_ARRAY                is array(c_HUB_CHILDREN-1 downto 0) of std_logic_vector(15 downto 0);
+       type            t_HUB_LWORD_ARRAY               is array(c_HUB_CHILDREN-1 downto 0) of std_logic_vector(31 downto 0);
 \r
 
        component soda_superburst_generator
@@ -122,33 +125,40 @@ package soda_components is
        end component;\r
 \r
        component soda_hub
-               port(
-                       SYSCLK                                          : in    std_logic; -- fabric clock
-                       SODACLK                                         : in    std_logic; -- recovered clock
-                       RESET                                                   : in    std_logic; -- synchronous reset
-                       CLEAR                                                   : in    std_logic; -- asynchronous reset
-                       CLK_EN                                          : in    std_logic; 
-               --      SINGLE DUBPLEX LINK TO THE TOP
-                       RXTOP_DLM_IN                            : in    std_logic;
-                       RXTOP_DLM_WORD_IN                       : in    std_logic_vector(7 downto 0)    := (others => '0');
-                       TXTOP_DLM_OUT                           : out   std_logic;
-                       TXTOP_DLM_WORD_OUT              : out   std_logic_vector(7 downto 0)    := (others => '0');
-               --      MULTIPLE DUPLEX LINKS TO THE BOTTOM
-                       RXBTM_DLM_IN                            : in    t_HUB_DLM;                      -- typedef in soda_components.vhd
-                       RXBTM_DLM_WORD_IN                       : in    t_HUB_DLM_WORD; -- typedef in soda_components.vhd
-                       TXBTM_DLM_OUT                           : out   t_HUB_DLM;                      -- typedef in soda_components.vhd
-                       TXBTM_DLM_WORD_OUT              : out   t_HUB_DLM_WORD; -- typedef in soda_components.vhd
-
-                       SODA_DATA_IN                            : in    std_logic_vector(31 downto 0)   := (others => '0');
-                       SODA_DATA_OUT                           : out   std_logic_vector(31 downto 0)   := (others => '0');
-                       SODA_ADDR_IN                            : in    std_logic_vector(3 downto 0)    := (others => '0');
-                       SODA_READ_IN                            : in    std_logic := '0';
-                       SODA_WRITE_IN                           : in    std_logic := '0';
-                       SODA_ACK_OUT                            : out   std_logic := '0';
-                       STAT                                                    : out   std_logic_vector(31 downto 0) := (others => '0') -- DEBUG
-               );
+       port(
+               SYSCLK                                  : in    std_logic; -- fabric clock
+               SODACLK                                 : in    std_logic; -- recovered clock
+               RESET                                           : in    std_logic; -- synchronous reset
+               CLEAR                                           : in    std_logic; -- asynchronous reset
+               CLK_EN                                  : in    std_logic; 
+
+       --      SINGLE DUBPLEX UP-LINK TO THE TOP
+               RXUP_DLM_IN                             : in    std_logic;
+               RXUP_DLM_WORD_IN                : in    std_logic_vector(7 downto 0)    := (others => '0');
+               TXUP_DLM_OUT                    : out   std_logic;
+               TXUP_DLM_WORD_OUT               : out   std_logic_vector(7 downto 0)    := (others => '0');
+               TXUP_DLM_PREVIEW_OUT    : out   std_logic       := '0'; --PL!
+               UPLINK_PHASE_IN         : in    std_logic       := '0'; --PL!
+
+       --      MULTIPLE DUPLEX DOWN-LINKS TO THE BOTTOM
+               RXDN_DLM_IN                             : in    t_HUB_DLM;
+               RXDN_DLM_WORD_IN                : in    t_HUB_DLM_BYTE;
+               TXDN_DLM_OUT                    : out   t_HUB_DLM;
+               TXDN_DLM_WORD_OUT               : out   t_HUB_DLM_BYTE;
+               TXDN_DLM_PREVIEW_OUT    : out   t_HUB_DLM;      --PL!
+               DNLINK_PHASE_IN         : in    t_HUB_DLM;      --PL!
+
+               SODA_DATA_IN                    : in    std_logic_vector(31 downto 0)   := (others => '0');
+               SODA_DATA_OUT                   : out   std_logic_vector(31 downto 0)   := (others => '0');
+               SODA_ADDR_IN                    : in    std_logic_vector(3 downto 0)    := (others => '0');
+               SODA_READ_IN                    : in    std_logic := '0';
+               SODA_WRITE_IN                   : in    std_logic := '0';
+               SODA_ACK_OUT                    : out   std_logic := '0';
+               LEDS_OUT           : out  std_logic_vector(3 downto 0);
+               LINK_DEBUG_IN                   : in    std_logic_vector(31 downto 0)   := (others => '0')
+       );
        end component;
-\r
+
        component soda_client   -- box containing soda_source components
                port(
                        SYSCLK                                  : in    std_logic; -- fabric clock
@@ -173,8 +183,8 @@ package soda_components is
                        LEDS_OUT         : out std_logic_vector(3 downto 0);
                        LINK_DEBUG_IN                   : in    std_logic_vector(31 downto 0)   := (others => '0')
                );
-       end component;
-                       
+       end component;\r
+       
        component soda_reply_pkt_builder\r
                port(\r
                        SODACLK                                 : in    std_logic; -- fabric clock\r
index d42d4d2c97797cbb9d7ee7f2a5383a187064973c..461295ee31b33680ef74db97b95f6b8a4835d980 100644 (file)
@@ -11,36 +11,42 @@ use work.soda_components.all;
 
 entity soda_hub is
        port(
-               SYSCLK                                          : in    std_logic; -- fabric clock
-               SODACLK                                         : in    std_logic; -- fabric clock
-               RESET                                                   : in    std_logic; -- synchronous reset
-               CLEAR                                                   : in    std_logic; -- asynchronous reset
-               CLK_EN                                          : in    std_logic; 
-       --      SINGLE DUBPLEX LINK TO THE TOP
-               RXTOP_DLM_IN                            : in    std_logic;
-               RXTOP_DLM_WORD_IN                       : in    std_logic_vector(7 downto 0)    := (others => '0');
-               TXTOP_DLM_OUT                           : out   std_logic;
-               TXTOP_DLM_WORD_OUT              : out   std_logic_vector(7 downto 0)    := (others => '0');
-       --      MULTIPLE DUPLEX LINKS TO THE BOTTOM
-               RXBTM_DLM_IN                            : in    t_HUB_DLM;                      -- typedef in soda_components.vhd
-               RXBTM_DLM_WORD_IN                       : in    t_HUB_DLM_WORD; -- typedef in soda_components.vhd
-               TXBTM_DLM_OUT                           : out   t_HUB_DLM;                      -- typedef in soda_components.vhd
-               TXBTM_DLM_WORD_OUT              : out   t_HUB_DLM_WORD; -- typedef in soda_components.vhd
+               SYSCLK                                  : in    std_logic; -- fabric clock
+               SODACLK                                 : in    std_logic; -- recovered clock
+               RESET                                           : in    std_logic; -- synchronous reset
+               CLEAR                                           : in    std_logic; -- asynchronous reset
+               CLK_EN                                  : in    std_logic; 
 
-               SODA_DATA_IN                            : in    std_logic_vector(31 downto 0)   := (others => '0');
-               SODA_DATA_OUT                           : out   std_logic_vector(31 downto 0)   := (others => '0');
-               SODA_ADDR_IN                            : in    std_logic_vector(3 downto 0)    := (others => '0');
-               SODA_READ_IN                            : in    std_logic := '0';
-               SODA_WRITE_IN                           : in    std_logic := '0';
-               SODA_ACK_OUT                            : out   std_logic := '0';
-               STAT                                                    : out  std_logic_vector(31 downto 0) := (others => '0') -- DEBUG
+       --      SINGLE DUBPLEX UP-LINK TO THE TOP
+               RXUP_DLM_IN                             : in    std_logic;
+               RXUP_DLM_WORD_IN                : in    std_logic_vector(7 downto 0)    := (others => '0');
+               TXUP_DLM_OUT                    : out   std_logic;
+               TXUP_DLM_WORD_OUT               : out   std_logic_vector(7 downto 0)    := (others => '0');
+               TXUP_DLM_PREVIEW_OUT    : out   std_logic       := '0'; --PL!
+               UPLINK_PHASE_IN         : in    std_logic       := '0'; --PL!
+\r
+       --      MULTIPLE DUPLEX DOWN-LINKS TO THE BOTTOM
+               RXDN_DLM_IN                             : in    t_HUB_DLM;
+               RXDN_DLM_WORD_IN                : in    t_HUB_DLM_BYTE;
+               TXDN_DLM_OUT                    : out   t_HUB_DLM;
+               TXDN_DLM_WORD_OUT               : out   t_HUB_DLM_BYTE;
+               TXDN_DLM_PREVIEW_OUT    : out   t_HUB_DLM;      --PL!
+               DNLINK_PHASE_IN         : in    t_HUB_DLM;      --PL!
+
+               SODA_DATA_IN                    : in    std_logic_vector(31 downto 0)   := (others => '0');
+               SODA_DATA_OUT                   : out   std_logic_vector(31 downto 0)   := (others => '0');
+               SODA_ADDR_IN                    : in    std_logic_vector(3 downto 0)    := (others => '0');
+               SODA_READ_IN                    : in    std_logic := '0';
+               SODA_WRITE_IN                   : in    std_logic := '0';
+               SODA_ACK_OUT                    : out   std_logic := '0';
+               LEDS_OUT           : out  std_logic_vector(3 downto 0);\r
+               LINK_DEBUG_IN                   : in    std_logic_vector(31 downto 0)   := (others => '0')
        );
 end soda_hub;
 
 architecture Behavioral of soda_hub is
 
        --SODA
-       signal enable_S                                         : std_logic := '0';
        signal soda_cmd_word_S                          : std_logic_vector(30 downto 0) := (others => '0');
        signal soda_cmd_valid_S                         : std_logic := '0';
        signal start_of_superburst_S            : std_logic := '0';
@@ -58,23 +64,32 @@ architecture Behavioral of soda_hub is
        signal reply_OK_S                                               : t_HUB_BIT_ARRAY;
        signal start_calibration_S                      : std_logic;
        signal calibration_valid_S                      : t_HUB_BIT_ARRAY;
-       signal calibration_time_S                       : t_HUB_BYTE_ARRAY;
-       
-       
+       signal calibration_time_S                       : t_HUB_WORD_ARRAY;
+       signal calib_register_s                         : t_HUB_LWORD_ARRAY;
+\r
+       signal dead_channels_S                          : t_HUB_BIT_ARRAY;
+       signal channel_status_S                         : t_HUB_BIT_ARRAY;\r
+       signal status_register                          : std_logic_vector(31 downto 0) := (others => '0');
+\r
 -- slave bus signals
-       signal bus_ack_x                                                : std_logic;
-       signal bus_ack                                                  : std_logic;
-       signal store_wr_x                                               : std_logic;
-       signal store_wr                                         : std_logic;
-       signal store_rd_x                                               : std_logic;
-       signal store_rd                                         : std_logic;
-       signal buf_bus_data_out                         : std_logic_vector(31 downto 0);
+       signal bus_ack_x                                : std_logic;
+       signal bus_ack                                  : std_logic;
+       signal store_wr_x                               : std_logic;
+       signal store_wr                         : std_logic;
+       signal store_rd_x                               : std_logic;
+       signal store_rd                         : std_logic;
+       signal buf_bus_data_out         : std_logic_vector(31 downto 0) := (others => '0');
+       signal ledregister_i                    : std_logic_vector(31 downto 0) := (others => '0');
+       signal txup_dlm_out_S           : std_logic;
+\r
+--     debug\r
+       signal debug_status_S           : std_logic_vector(31 downto 0) := (others => '0');
+       signal debug_rx_cnt_S           : std_logic_vector(31 downto 0) := (others => '0');
+       signal debug_tx_cnt_S           : std_logic_vector(31 downto 0) := (others => '0');
+       signal debug_SOS_cnt_S          : std_logic_vector(31 downto 0) := (others => '0');
+       signal debug_cmd_cnt_S          : std_logic_vector(31 downto 0) := (others => '0');
 
-       signal dead_channels_S                          : std_logic_vector(31 downto 0) := (others => '0');
-       signal channel_status_S                         : std_logic_vector(31 downto 0) := (others => '0');
-       signal calib_register_S                         : t_HUB_WORD_ARRAY;
-       
-       begin
+begin
        
        hub_packet_handler : soda_packet_handler
                port map(
@@ -87,36 +102,33 @@ architecture Behavioral of soda_hub is
                        SUPER_BURST_NR_OUT                      => super_burst_nr_S,
                        SODA_CMD_VALID_OUT                      => soda_cmd_valid_S,
                        SODA_CMD_WORD_OUT                               => soda_cmd_word_S,
-                       EXPECTED_REPLY_OUT                      =>      expected_reply_S,
-                       CRC_VALID_OUT                                   => crc_valid_S,\r
-                       CRC_DATA_OUT                                    => crc_data_S,
-                       RX_DLM_IN                                               => RXTOP_DLM_IN,
-                       RX_DLM_WORD_IN                                  => RXTOP_DLM_WORD_IN
+                       RX_DLM_IN                                               => RXUP_DLM_IN,
+                       RX_DLM_WORD_IN                                  => RXUP_DLM_WORD_IN
                );
 
-       reply_packet_builder : soda_reply_pkt_builder           \r
+       hub_reply_packet_builder : soda_reply_pkt_builder               \r
                port map(
                        SODACLK                                 =>      SODACLK,
                        RESET                                           =>      RESET,
                        CLEAR                                           =>      '0',
                        CLK_EN                                  => CLK_EN,
                        --Internal Connection
+                       LINK_PHASE_IN                   => UPLINK_PHASE_IN,\r
                        START_OF_SUPERBURST     => start_of_superburst_S,
                        SUPER_BURST_NR_IN               => super_burst_nr_S,
                        SODA_CMD_STROBE_IN      => soda_cmd_valid_S,
                        SODA_CMD_WORD_IN                => soda_cmd_word_S,
-                       TX_DLM_OUT                              => TXTOP_DLM_OUT,
-                       TX_DLM_WORD_OUT         => TXTOP_DLM_WORD_OUT
+                       TX_DLM_PREVIEW_OUT      =>      TXUP_DLM_PREVIEW_OUT,
+                       TX_DLM_OUT                              => txup_dlm_out_S,      --TX_DLM_OUT,
+                       TX_DLM_WORD_OUT         => TXUP_DLM_WORD_OUT
                );
-
+\r
        channel :for i in c_HUB_CHILDREN-1 downto 0 generate
                        
                packet_builder : soda_packet_builder
                        port map(
                                SODACLK                                 =>      SODACLK,
                                RESET                                           =>      RESET,
-                               CLEAR                                           =>      '0',
-                               CLK_EN                                  => CLK_EN,
                                --Internal Connection
                                SODA_CMD_STROBE_IN      => soda_cmd_valid_S,
                                START_OF_SUPERBURST     => start_of_superburst_S,
@@ -124,36 +136,36 @@ architecture Behavioral of soda_hub is
                                SODA_CMD_WORD_IN                => soda_cmd_word_S,
                                EXPECTED_REPLY_OUT      => open,
                                TIME_CAL_OUT                    =>      start_calibration_S,
-                               TX_DLM_OUT                              => TXBTM_DLM_OUT(i),
-                               TX_DLM_WORD_OUT         => TXBTM_DLM_WORD_OUT(i)
+                               TX_DLM_OUT                              => TXDN_DLM_OUT(i),
+                               TX_DLM_WORD_OUT         => TXDN_DLM_WORD_OUT(i)
                        );
                        
        hub_reply_handler : soda_reply_handler
                port map(
-                       SYSCLK                                          =>      SYSCLK,
+                       SODACLK                                         =>      SODACLK,
                        RESET                                                   => RESET,
                        CLEAR                                                   =>      '0',
                        CLK_EN                                          =>      '1',
                        --Internal Connection
 --                     LAST_PACKET                                     =>      last_packet_sent_S,
                        EXPECTED_REPLY_IN                       => expected_reply_S,
-                       RX_DLM_IN                                       => RXBTM_DLM_IN(i),
-                       RX_DLM_WORD_IN                          => RXBTM_DLM_WORD_IN(i),
-                       REPLY_VALID_OUT                 => reply_valid_S(i),\r
+                       RX_DLM_IN                                       => RXDN_DLM_IN(i),
+                       RX_DLM_WORD_IN                          => RXDN_DLM_WORD_IN(i),
+                       REPLY_VALID_OUT                 => reply_valid_S(i),
                        REPLY_OK_OUT                            => reply_OK_S(i)
                );
 
-       hub_calibration_timer : soda_calibration_timer\r
+       hub_calibration_timer : soda_calibration_timer
                port map(
-                       SYSCLK                                          =>      SYSCLK,
+                       SODACLK                                         =>      SODACLK,
                        RESET                                                   => RESET,
                        CLEAR                                                   =>      '0',
                        CLK_EN                                          =>      '1',
                        --Internal Connection
-                       START_CALIBRATION                       =>      start_calibration_S,\r
-                       END_CALIBRATION                 =>      reply_valid_S(i),\r
+                       START_CALIBRATION                       =>      start_calibration_S,
+                       END_CALIBRATION                 =>      reply_valid_S(i),
                        CALIB_VALID_OUT                 =>      calibration_valid_S(i),
-                       CALIB_TIME_OUT                          =>      calibration_time_S(i)\r
+                       CALIB_TIME_OUT                          =>      calibration_time_S(i)
                );
                
        hub_store_calib_proc  : process(SYSCLK)
@@ -162,7 +174,7 @@ architecture Behavioral of soda_hub is
                        if( RESET = '1' ) then
                                calib_register_S(i)                                     <= (others => '0');
                        else
-                               calib_register_S(i)(7 downto 0) <= calibration_time_S(i);
+                               calib_register_S(i)(15 downto 0)        <= calibration_time_S(i);
                        end if;
                end if;
        end process;
@@ -180,7 +192,8 @@ architecture Behavioral of soda_hub is
                                else 
                                        channel_status_S(i)     <= '0';
                                end if;
-                       end if;
+                       end if;\r
+                       
                end process;
 
        end generate;
@@ -188,16 +201,16 @@ architecture Behavioral of soda_hub is
 -----------------------------------------------------------
 --     Reset the unused bits of channel_status_S                                       --
 -----------------------------------------------------------
-       other_bits :for j in 31 downto c_HUB_CHILDREN generate
-               init_unused_bits_proc : process(SYSCLK)
-               begin
-                       if rising_edge(SYSCLK) then
-                               if( RESET = '1' ) then
-                                       channel_status_S(j)     <= '0';         -- reset status bits
-                               end if;
-                       end if;
-               end process;
-       end generate;
+--     other_bits :for j in 31 downto c_HUB_CHILDREN generate
+--             init_unused_bits_proc : process(SYSCLK)
+--             begin
+--                     if rising_edge(SYSCLK) then
+--                             if( RESET = '1' ) then
+--                                     channel_status_S(j)     <= '0';         -- reset status bits
+--                             end if;
+--                     end if;
+--             end process;
+--     end generate;
 
 -----------------------------------------------------------
 --     Transmission history for reply-checking                                 --
@@ -223,14 +236,14 @@ architecture Behavioral of soda_hub is
                if( rising_edge(SYSCLK) ) then
                        if( RESET = '1' ) then
                                CURRENT_STATE <= SLEEP;
-                               bus_ack <= '0';
-                               store_wr<= '0';
-                               store_rd<= '0';
+                               bus_ack       <= '0';
+                               store_wr      <= '0';
+                               store_rd      <= '0';
                        else
                                CURRENT_STATE <= NEXT_STATE;
-                               bus_ack <= bus_ack_x;
-                               store_wr<= store_wr_x;
-                       store_rd<= store_rd_x;
+                               bus_ack       <= bus_ack_x;
+                               store_wr      <= store_wr_x;
+                               store_rd      <= store_rd_x;
                        end if;
                end if;
        end process STATE_MEM;
@@ -239,7 +252,7 @@ architecture Behavioral of soda_hub is
        TRANSFORM: process(CURRENT_STATE, SODA_READ_IN, SODA_WRITE_IN )
        begin
                NEXT_STATE <= SLEEP;
-               bus_ack_x<= '0';
+               bus_ack_x  <= '0';
                store_wr_x <= '0';
                store_rd_x <= '0';
                case CURRENT_STATE is
@@ -284,15 +297,15 @@ end process TRANSFORM;
 ---------------------------------------------------------
 -- data handling                                       --
 ---------------------------------------------------------
--- For sim purposes the HUB gets addresses 01XX
+-- For sim purposes the CLIENT gets addresses 11XX
 -- register write
        THE_WRITE_REG_PROC: process( SYSCLK )
        begin
                if( rising_edge(SYSCLK) ) then
                        if   ( RESET = '1' ) then
-                               -- do NOT reset dead_channels; This is a task for slow-control ONLY
-                       elsif( (store_wr = '1') and (SODA_ADDR_IN = "0100") ) then      -- \r
-                               dead_channels_S <= SODA_DATA_IN(31 downto 0);
+                               LEDregister_i           <= (others => '0');
+                       elsif( (store_wr = '1') and (SODA_ADDR_IN = B"0000") ) then
+                               LEDregister_i           <= SODA_DATA_IN;
                        end if;
                end if;
        end process THE_WRITE_REG_PROC;
@@ -303,24 +316,59 @@ end process TRANSFORM;
                if( rising_edge(SYSCLK) ) then
                        if   ( RESET = '1' ) then
                                buf_bus_data_out        <= (others => '0');
-                       elsif( (store_rd = '1') and (SODA_ADDR_IN = B"0100") ) then
+                       elsif( (store_rd = '1') and (SODA_ADDR_IN = "0000") ) then
                                buf_bus_data_out        <= '0' & soda_cmd_word_S;
-                       elsif( (store_rd = '1') and (SODA_ADDR_IN = B"0101") ) then
-                               buf_bus_data_out        <= channel_status_S;
-                       elsif( (store_rd = '1') and (SODA_ADDR_IN = B"0110") ) then
-                               buf_bus_data_out        <= dead_channels_S;
-                       elsif( (store_rd = '1') and (SODA_ADDR_IN(3 downto 2) = "10") ) then
-                               for j in 0 to c_HUB_CHILDREN-1 loop
-                                       if (j=conv_integer(SODA_ADDR_IN(1 downto 0))) then
-                                               buf_bus_data_out        <= calib_register_S(j);
-                                       end if;
-                               end loop;
+                       elsif( (store_rd = '1') and (SODA_ADDR_IN = "0001") ) then
+                               buf_bus_data_out        <= '0' & super_burst_nr_S;
+                       elsif( (store_rd = '1') and (SODA_ADDR_IN = "0010") ) then
+                               buf_bus_data_out        <= LEDregister_i;
+                       elsif( (store_rd = '1') and (SODA_ADDR_IN = "0011") ) then
+                               buf_bus_data_out        <= debug_status_S;
+                       elsif( (store_rd = '1') and (SODA_ADDR_IN = "0100") ) then
+                               buf_bus_data_out        <= debug_rx_cnt_S;
+                       elsif( (store_rd = '1') and (SODA_ADDR_IN = "0101") ) then
+                               buf_bus_data_out        <= debug_tx_cnt_S;
+                       elsif( (store_rd = '1') and (SODA_ADDR_IN = "0110") ) then
+                               buf_bus_data_out        <= debug_sos_cnt_S;
+                       elsif( (store_rd = '1') and (SODA_ADDR_IN = "0111") ) then
+                               buf_bus_data_out        <= debug_cmd_cnt_S;
                        end if;
                end if;
        end process THE_READ_REG_PROC;
+\r
+--     debug signals\r
+       DEBUG_HUB : process(SODACLK)\r
+       begin\r
+               if( rising_edge(SODACLK) ) then\r
+                       debug_status_S(0)               <= RESET;
+                       debug_status_S(1)               <= CLEAR;
+                       debug_status_S(2)               <= CLK_EN;
+                       if   ( RESET = '1' ) then\r
+                               debug_rx_cnt_S          <= (others => '0');
+                               debug_tx_cnt_S          <= (others => '0');
+                       else
+                               if (txup_dlm_out_S = '1') then
+                                       debug_tx_cnt_S  <= debug_tx_cnt_S + 1;
+                               end if;
+                               if (RXUP_DLM_IN = '1') then
+                                       debug_rx_cnt_S  <= debug_rx_cnt_S + 1;
+                               end if;
+                               if (start_of_superburst_S = '1') then
+                                       debug_sos_cnt_S <= debug_sos_cnt_S + 1;
+                               end if;
+                               if (soda_cmd_valid_S = '1') then
+                                       debug_cmd_cnt_S <= debug_cmd_cnt_S + 1;
+                               end if;
+                       end if;
+               end if; \r
+       end process;\r
+\r
+       debug_status_S(31 downto 3)             <=      LINK_DEBUG_IN(31 downto 3);\r
+       TXUP_DLM_OUT                                                    <= txup_dlm_out_S;
 -- output signals
-       SODA_DATA_OUT   <= buf_bus_data_out;
-       SODA_ACK_OUT    <= bus_ack;
+       LEDS_OUT                                                                        <= LEDregister_i(3 downto 0);
+  
+       SODA_DATA_OUT                                                   <= buf_bus_data_out;
+       SODA_ACK_OUT                                                    <= bus_ack;
 
 end architecture;
\ No newline at end of file