Xilinx RocketIO User Manual page 99

Hide thumbs Also See for RocketIO:
Table of Contents

Advertisement

Other Important Design Notes
RocketIO™ Transceiver User Guide
UG024 (v2.3.2) June 24, 2004
SIGNAL rxdata_reg
SIGNAL rxisk_reg
SIGNAL byte_sync
SIGNAL wait_to_sync
SIGNAL count
SIGNAL rxdata_hold
SIGNAL rxisk_hold
SIGNAL sync_hold
BEGIN
aligned_data <= rxdata_hold;
aligned_rxisk <= rxisk_hold;
sync <= sync_hold;
-- This process maintains wait_to_sync and count,
-- which are used only to
-- maintain output sync; this provides some idea
-- of when the output is properly
-- aligned, with the comma in aligned_data[31:24].
-- The counter is set to a high value
-- whenever the elastic buffer is reinitialized;
-- that is, upon asserted RXRESET or
-- RXREALIGN.
Count-down is enabled whenever a
-- comma is known to have
-- come through the comma detection circuit, that
-- is, upon an asserted RXREALIGN
-- or RXCOMMADET.
PROCESS (usrclk2)
BEGIN
IF (usrclk2'EVENT AND usrclk2 = '1') THEN
IF (rxreset = '1') THEN
wait_to_sync <= "1111";
count <= '0';
ELSE
IF (rxrealign = '1') THEN
wait_to_sync <= "1111";
count <= '1';
ELSE
IF (count = '1') THEN
IF (wait_to_sync /= "0000") THEN
wait_to_sync <= wait_to_sync - "0001";
END IF;
END IF;
IF (rxcommadet = '1') THEN
count <= '1';
END IF;
END IF;
END IF;
END IF;
END PROCESS;
-- This process maintains output sync, which
-- indicates when outgoing aligned_data
-- should be properly aligned, with the comma
-- in aligned_data[31:24]. Output aligned_data is
-- considered to be in sync when a comma is seen
-- on rxdata (as indicated
www.xilinx.com
1-800-255-7778
:
std_logic_vector(15 DOWNTO 0);
:
std_logic_vector(1 DOWNTO 0);
:
std_logic;
:
std_logic_vector(3 DOWNTO 0);
:
std_logic;
:
std_logic_vector(31 DOWNTO 0);
:
std_logic_vector(3 DOWNTO 0);
:
std_logic;
R
99

Advertisement

Table of Contents
loading

Table of Contents