THE_MAIN_PLL : pll_in200_out100
port map(
CLK => CLK_GPLL_RIGHT,
+ RESET => '0',\r
CLKOP => clk_100_osc,
CLKOK => clk_200_osc,
LOCK => pll_lock
-- Status and control port
STAT_OP => med_stat_op(15 downto 0),
CTRL_OP => med_ctrl_op(15 downto 0),
- STAT_DEBUG => med_stat_debug(63 downto 0),
+ STAT_DEBUG => open, --med_stat_debug(63 downto 0),\r
CTRL_DEBUG => (others => '0')
);
-- Status and control port
STAT_OP => med_stat_op(31 downto 16),
CTRL_OP => med_ctrl_op(31 downto 16),
- STAT_DEBUG => open,
+ STAT_DEBUG => med_stat_debug(63 downto 0),\r
CTRL_DEBUG => (others => '0')
);
+-- THE_SYNC_LINK : med_ecp3_sfp_sync\r
+-- generic map(\r
+-- SERDES_NUM => 0, --number of serdes in quad\r
+-- IS_SYNC_SLAVE => c_NO\r
+-- )\r
+-- port map(\r
+-- CLK => clk_200_osc,\r
+-- SYSCLK => clk_100_osc,\r
+-- RESET => reset_i,\r
+-- CLEAR => clear_i,\r
+-- --Internal Connection for TrbNet data -> not used a.t.m.\r
+-- MED_DATA_IN => med_data_out(31 downto 16),\r
+-- MED_PACKET_NUM_IN => med_packet_num_out(5 downto 3),\r
+-- MED_DATAREADY_IN => med_dataready_out(1),\r
+-- MED_READ_OUT => med_read_in(1),\r
+-- MED_DATA_OUT => med_data_in(31 downto 16),\r
+-- MED_PACKET_NUM_OUT => med_packet_num_in(5 downto 3),\r
+-- MED_DATAREADY_OUT => med_dataready_in(1),\r
+-- MED_READ_IN => med_read_out(1),\r
+-- CLK_RX_HALF_OUT => soda_rx_clock_half,\r
+-- CLK_RX_FULL_OUT => soda_rx_clock_full,\r
+-- -- TX_HALF_CLK_OUT => soda_tx_clock_half,\r
+-- -- TX_FULL_CLK_OUT => soda_tx_clock_full,\r
+-- \r
+-- RX_DLM => rx_dlm_i,\r
+-- RX_DLM_WORD => rx_dlm_word,\r
+-- TX_DLM => tx_dlm_i,\r
+-- TX_DLM_WORD => tx_dlm_word,\r
+-- -- TX_DLM_PREVIEW_IN => tx_dlm_preview_S, --PL!\r
+-- -- LINK_PHASE_OUT => link_phase_S, --PL!\r
+-- --SFP Connection\r
+-- SD_RXD_P_IN => SERDES_ADDON_RX(0),\r
+-- SD_RXD_N_IN => SERDES_ADDON_RX(1),\r
+-- SD_TXD_P_OUT => SERDES_ADDON_TX(0),\r
+-- SD_TXD_N_OUT => SERDES_ADDON_TX(1),\r
+-- SD_REFCLK_P_IN => '0',\r
+-- SD_REFCLK_N_IN => '0',\r
+-- SD_PRSNT_N_IN => SFP_MOD0(1),\r
+-- SD_LOS_IN => SFP_LOS(1),\r
+-- SD_TXDIS_OUT => sfp_txdis_S(1), --SFP_TXDIS(1),\r
+-- \r
+-- SCI_DATA_IN => sci2_data_in,\r
+-- SCI_DATA_OUT => sci2_data_out,\r
+-- SCI_ADDR => sci2_addr,\r
+-- SCI_READ => sci2_read,\r
+-- SCI_WRITE => sci2_write,\r
+-- SCI_ACK => sci2_ack, \r
+-- SCI_NACK => sci2_nack,\r
+-- -- Status and control port\r
+-- STAT_OP => med_stat_op(31 downto 16),\r
+-- CTRL_OP => med_ctrl_op(31 downto 16),\r
+-- STAT_DEBUG => med_stat_debug(63 downto 0),\r
+-- CTRL_DEBUG => (others => '0')\r
+-- ); \r
+ \r
SFP_TXDIS(1) <= sfp_txdis_S(1);
+ \r
---------------------------------------------------------------------------
-- Burst- and 40MHz cycle generator
---------------------------------------------------------------------------
RESET => reset_i,
\r
SODA_BURST_PULSE_IN => SOB_S,
- SODA_CYCLE_IN => soda_40mhz_cycle_S,
+ SODA_CYCLE_IN => soda_40mhz_cycle_S,\r
RX_DLM_WORD_IN => rx_dlm_word,
RX_DLM_IN => rx_dlm_i,
---------------------------------------------------------------------------
-- GREEN LED under sfp
---------------------------------------------------------------------------
- LED_LINKOK(1) <= SFP_LOS(1); --med_stat_op(8);
+ LED_LINKOK(1) <= not med_stat_op(9);\r
LED_LINKOK(2) <= SFP_LOS(2);
LED_LINKOK(3) <= SFP_LOS(3);
LED_LINKOK(4) <= SFP_LOS(4);
LED_LINKOK(5) <= SFP_LOS(5);
LED_LINKOK(6) <= SFP_LOS(6);
- LED_RX(1) <= '1' when (med_stat_op(10)='0') else '0'; -- rx_allow
+ LED_RX(1) <= not (med_stat_op(11) or med_stat_op(10));\r
LED_RX(2) <= '1';
LED_RX(3) <= '1';
LED_RX(4) <= '1';
LED_RX(5) <= '1';
LED_RX(6) <= '1';
- LED_TX(1) <= '1' when (med_stat_op(9)='0') else '0'; -- tx_allow
+ LED_TX(1) <= not med_stat_op(12);\r
LED_TX(2) <= '1';
LED_TX(3) <= '1';
LED_TX(4) <= '1';
LED_TX(5) <= '1';
LED_TX(6) <= '1';
+-- STAT_OP(12) <= led_dlm or last_led_dlm;\r
+-- STAT_OP(11) <= led_tx or last_led_tx;\r
+-- STAT_OP(10) <= led_rx or last_led_rx;\r
+-- STAT_OP(9) <= led_ok; \r
+ \r
---------------------------------------------------------------------------
-- Test Connector
---------------------------------------------------------------------------
--- TEST_LINE(15 downto 0) <= (others => '0');
----------------------------------------------------------------------------
--- Test Circuits
----------------------------------------------------------------------------
-
- blink : process (clk_100_osc)
- begin
- if rising_edge(clk_100_osc) then
- if (time_counter = x"FFFFFFFF") then
- time_counter <= x"00000000";
- else
- time_counter <= time_counter + 1;
- end if;
- end if;
- end process;
+ TEST_LINE(13 downto 0) <= med_stat_debug(13 downto 0);\r
+ TEST_LINE(14) <= soda_rx_clock_half;\r
+ TEST_LINE(15) <= soda_tx_clock_half;\r
end trb3_periph_sodasource_arch;
\ No newline at end of file