signal rst_ctrs_sc : std_logic;
signal tx_rst_i : std_logic;
signal tx_rst_x : std_logic;
-
+
+ signal wap_requested_i : std_logic_vector(3 downto 0);
+ signal rx_index_i : std_logic_vector(3 downto 0);
+ signal phaser_data : std_logic_vector(31 downto 0);
+ signal phaser_update : std_logic;
+
-- attribute syn_keep : boolean;
-- attribute syn_preserve : boolean;
-- attribute syn_keep of tx_dlm_i : signal is true;
DESTROY_LINK_IN(1) => '0',
DESTROY_LINK_IN(2) => '0',
DESTROY_LINK_IN(3) => destroy_link_i,
+ WAP_REQUESTED_IN => wap_requested_i,
+ RX_INDEX_OUT => rx_index_i,
--SFP Connection
SD_PRSNT_N_IN(0) => '1',
SD_LOS_IN(0) => '1',
LINK_TX_READY_OUT => link_tx_ready_i,
STATE_OUT => tx_reset_state
);
+
+ --------------------------------------------------------------------
+ --------------------------------------------------------------------
+ THE_PHASER: entity phaser
+ port map(
+ SAMPLE_CLK => CLK_SUPPL_PCLK,
+ RESET => reset_i,
+ SIGNAL_A_IN => word_sync_i,
+ SIGNAL_B_IN => rx_index_i(3),
+ LOW_CNT_OUT => phaser_data(15 downto 0),
+ HI_CNT_OUT => phaser_data(31 downto 16),
+ UPDATE_OUT => phaser_update
+ );
+ --------------------------------------------------------------------
+ --------------------------------------------------------------------
PCSSW <= "01001110"; --SFP2 on B3, AddOn on D1
send_rst_i <= test_reg(30);
destroy_link_i <= test_reg(24);
send_dlm_word_i <= std_logic_vector(dlm_tag_ctr); --test_reg(15 downto 8);
- send_rst_word_i <= test_reg(7 downto 0);
-
+ send_rst_word_i <= test_reg(15 downto 8);
+ wap_requested_i <= test_reg(3 downto 0);
+
tx_dlm_i <= dlm_send_qq;
-- LED feedback
---------------------------------------------------------------------------
-- PCSC: not used
---------------------------------------------------------------------------
- bussci3_tx.data <= (others => '0');
- bussci3_tx.ack <= '0';
+ bussci3_tx.data <= phaser_data;
+ bussci3_tx.ack <= bussci3_rx.read or bussci3_rx.write when rising_edge(clk_sys);
bussci3_tx.nack <= '0';
- bussci3_tx.unknown <= bussci3_rx.read or bussci3_rx.write when rising_edge(clk_sys);
+ bussci3_tx.unknown <= '0';
+
+-- bussci3_tx.data <= (others => '0');
+-- bussci3_tx.ack <= '0';
+-- bussci3_tx.nack <= '0';
+-- bussci3_tx.unknown <= bussci3_rx.read or bussci3_rx.write when rising_edge(clk_sys);
---------------------------------------------------------------------------
-- PCSD: GbE