signal global_reset_i : std_logic;
signal tx_pll_lol_qd_a_i : std_logic;
signal tx_pll_lol_qd_b_i : std_logic;
- signal tx_pll_lol_qd_c_i : std_logic;
- signal tx_pll_lol_qd_d_i : std_logic;
- signal tx_pll_lol_all_i : std_logic;
signal tx_clk_avail_i : std_logic;
signal tx_pcs_rst_i : std_logic;
signal sync_tx_quad_i : std_logic;
signal link_tx_ready_i : std_logic;
- signal slave_active_i : std_logic;
signal rx_dlm_i : std_logic;
signal tx_reset_state : std_logic_vector(3 downto 0);
signal debug_i : std_logic_vector(31 downto 0);
EXT_CLK_IN => CLK_EXT_PLL_LEFT,
NET_CLK_FULL_IN => med2int(4).clk_full,
NET_CLK_HALF_IN => med2int(4).clk_half,
- GLOBAL_RESET_IN => global_reset_i,
+ GLOBAL_RESET_IN => '0', --global_reset_i,
RESET_FROM_NET_IN => '0',
BUS_RX => bustc_rx,
BUS_TX => bustc_tx,
LED_GREEN_OUT => LED_RJ_GREEN,
DEBUG_OUT => debug_clock_reset
);
-
- tx_pll_lol_qd_c_i <= '0';
-
+
---------------------------------------------------------------------------
-- PCBSB: TrbNet Uplink
---------------------------------------------------------------------------
WORD_SYNC_OUT => word_sync_i,
MASTER_CLK_IN => master_clk_i,
MASTER_CLK_OUT => master_clk_i,
- QUAD_RST_IN => global_reset_i,
- GLOBAL_RESET_OUT => global_reset_i,
- SLAVE_ACTIVE_OUT => slave_active_i,
- SLAVE_ACTIVE_IN => slave_active_i,
- TX_PLL_LOL_IN => tx_pll_lol_all_i,
+ QUAD_RST_IN => '0', --global_reset_i,
+ LINK_TX_NULL_IN => global_reset_i,
+ LINK_RX_NULL_OUT => global_reset_i,
+ SLAVE_ACTIVE_OUT => open,
TX_PLL_LOL_OUT => tx_pll_lol_qd_b_i,
TX_CLK_AVAIL_OUT => tx_clk_avail_i,
TX_PCS_RST_IN => tx_pcs_rst_i,
---------------------------------------------------------------------------
-- PCSC: not used
---------------------------------------------------------------------------
- tx_pll_lol_qd_c_i <= '0';
-
bussci3_tx.data <= (others => '0');
bussci3_tx.ack <= '0';
bussci3_tx.nack <= '0';
---------------------------------------------------------------------------
-- PCSD: not used
---------------------------------------------------------------------------
- tx_pll_lol_qd_d_i <= '0';
-
bussci4_tx.data <= (others => '0');
bussci4_tx.ack <= '0';
bussci4_tx.nack <= '0';
CLK_REF => clk_full_osc,
TX_PLL_LOL_QD_A_IN => tx_pll_lol_qd_a_i,
TX_PLL_LOL_QD_B_IN => tx_pll_lol_qd_b_i,
- TX_PLL_LOL_QD_C_IN => tx_pll_lol_qd_c_i,
- TX_PLL_LOL_QD_D_IN => tx_pll_lol_qd_d_i,
- TX_PLL_LOL_OUT => tx_pll_lol_all_i,
+ TX_PLL_LOL_QD_C_IN => '0',
+ TX_PLL_LOL_QD_D_IN => '0',
TX_CLOCK_AVAIL_IN => tx_clk_avail_i,
TX_PCS_RST_CH_C_OUT => tx_pcs_rst_i,
SYNC_TX_QUAD_OUT => sync_tx_quad_i,
WORD_SYNC_OUT => open,
MASTER_CLK_IN => master_clk_i,
MASTER_CLK_OUT => open,
- QUAD_RST_IN => global_reset_i,
- GLOBAL_RESET_OUT => open,
+ QUAD_RST_IN => '0', --global_reset_i,
+ LINK_TX_NULL_IN => global_reset_i,
+ LINK_RX_NULL_OUT => open,
SLAVE_ACTIVE_OUT => open,
- SLAVE_ACTIVE_IN => slave_active_i,
- TX_PLL_LOL_IN => tx_pll_lol_all_i,
TX_PLL_LOL_OUT => tx_pll_lol_qd_a_i,
TX_CLK_AVAIL_OUT => open,
TX_PCS_RST_IN => tx_pcs_rst_i,
signal enable_dlm_i : std_logic;
signal tx_pll_lol_qd_b_i : std_logic;
- signal tx_pll_lol_all_i : std_logic;
- signal tx_clk_avail_i : std_logic;
signal sync_tx_quad_i : std_logic;
signal link_tx_ready_i : std_logic;
signal tx_pcs_rst_i : std_logic;
signal wap_requested_i : std_logic_vector(3 downto 0);
- signal slv_act_cnt : unsigned(7 downto 0);
+ signal slv_act_cnt : unsigned(15 downto 0);
signal slave_active_fake : std_logic;
+ signal send_reset_i : std_logic;
-- attribute syn_keep : boolean;
-- attribute syn_preserve : boolean;
end if;
end process THE_SLAVE_ACTIVE_FAKE_PROC;
- slave_active_fake <= std_logic(slv_act_cnt(7));
+ slave_active_fake <= std_logic(slv_act_cnt(9));
+
+ send_reset_i <= not slave_active_fake;
pll_calibration : entity work.pll_in125_out33
port map (
MASTER_CLK_IN => master_clk_i,
MASTER_CLK_OUT => open,
QUAD_RST_IN => '0', -- check
- GLOBAL_RESET_OUT => open,
+ LINK_TX_NULL_IN => send_reset_i,
+ LINK_RX_NULL_OUT => open,
SLAVE_ACTIVE_OUT => open,
- SLAVE_ACTIVE_IN => slave_active_fake,
- TX_PLL_LOL_IN => tx_pll_lol_all_i,
TX_PLL_LOL_OUT => tx_pll_lol_qd_b_i,
- TX_CLK_AVAIL_OUT => tx_clk_avail_i,
+ TX_CLK_AVAIL_OUT => open,
TX_PCS_RST_IN => tx_pcs_rst_i,
SYNC_TX_PLL_IN => sync_tx_quad_i,
LINK_TX_READY_IN => link_tx_ready_i,
TX_PLL_LOL_QD_B_IN => tx_pll_lol_qd_b_i,
TX_PLL_LOL_QD_C_IN => '0',
TX_PLL_LOL_QD_D_IN => '0',
- TX_PLL_LOL_OUT => tx_pll_lol_all_i,
- TX_CLOCK_AVAIL_IN => tx_clk_avail_i,
+ TX_CLOCK_AVAIL_IN => '1',
TX_PCS_RST_CH_C_OUT => tx_pcs_rst_i,
SYNC_TX_QUAD_OUT => sync_tx_quad_i,
LINK_TX_READY_OUT => link_tx_ready_i,