8 use ieee.std_logic_1164.
all;
9 use ieee.numeric_std.
all;
10 use ieee.std_logic_unsigned.
all;
12 use UNISIM.VCOMPONENTS.
all;
18 EXAMPLE_SIM_GTRESET_SPEEDUP : string := "TRUE";
19 STABLE_CLOCK_PERIOD : integer := 16;
20 ENABLED : std_logic := '1'
32 RXN_IN : in std_logic_vector(3 downto 0);
33 RXP_IN : in std_logic_vector(3 downto 0);
35 TXN_OUT : out std_logic_vector(3 downto 0);
36 TXP_OUT : out std_logic_vector(3 downto 0);
39 Q0_CLK0_GTREFCLK_PAD_P_IN : in std_logic;
88 gt0_txpd_in : in std_logic_vector(1 downto 0);
93 gt0_rxnotintable_out : out std_logic_vector(3 downto 0);
96 gt0_rxbyterealign_out : out std_logic;
97 gt0_rxcommadet_out : out std_logic;
100 gt0_rxcharisk_out : out std_logic_vector(3 downto 0);
119 gt1_txpd_in : in std_logic_vector(1 downto 0);
124 gt1_rxnotintable_out : out std_logic_vector(3 downto 0);
127 gt1_rxbyterealign_out : out std_logic;
128 gt1_rxcommadet_out : out std_logic;
131 gt1_rxcharisk_out : out std_logic_vector(3 downto 0);
149 gt2_txpd_in : in std_logic_vector(1 downto 0);
154 gt2_rxnotintable_out : out std_logic_vector(3 downto 0);
157 gt2_rxbyterealign_out : out std_logic;
158 gt2_rxcommadet_out : out std_logic;
161 gt2_rxcharisk_out : out std_logic_vector(3 downto 0);
179 gt3_txpd_in : in std_logic_vector(1 downto 0);
184 gt3_rxnotintable_out : out std_logic_vector(3 downto 0);
187 gt3_rxbyterealign_out : out std_logic;
188 gt3_rxcommadet_out : out std_logic;
191 gt3_rxcharisk_out : out std_logic_vector(3 downto 0);
205 GT0_QPLLREFCLKLOST_OUT : out std_logic;
206 sysclk_in : in std_logic
250 QUAD_ENABLED : if ENABLED = '1' generate
253 EXAMPLE_SIM_GTRESET_SPEEDUP => EXAMPLE_SIM_GTRESET_SPEEDUP,
254 STABLE_CLOCK_PERIOD => STABLE_CLOCK_PERIOD
)
264 Q0_CLK0_GTREFCLK_PAD_P_IN => Q0_CLK0_GTREFCLK_PAD_P_IN,
287 gt0_txpd_in => gt0_txpd_in,
290 gt0_rxnotintable_out => gt0_rxnotintable_out,
292 gt0_rxbyterealign_out => gt0_rxbyterealign_out,
293 gt0_rxcommadet_out => gt0_rxcommadet_out,
295 gt0_rxcharisk_out => gt0_rxcharisk_out,
303 gt1_txpd_in => gt1_txpd_in,
306 gt1_rxnotintable_out => gt1_rxnotintable_out,
308 gt1_rxbyterealign_out => gt1_rxbyterealign_out,
309 gt1_rxcommadet_out => gt1_rxcommadet_out,
311 gt1_rxcharisk_out => gt1_rxcharisk_out,
319 gt2_txpd_in => gt2_txpd_in,
322 gt2_rxnotintable_out => gt2_rxnotintable_out,
324 gt2_rxbyterealign_out => gt2_rxbyterealign_out,
325 gt2_rxcommadet_out => gt2_rxcommadet_out,
327 gt2_rxcharisk_out => gt2_rxcharisk_out,
335 gt3_txpd_in => gt3_txpd_in,
338 gt3_rxnotintable_out => gt3_rxnotintable_out,
340 gt3_rxbyterealign_out => gt3_rxbyterealign_out,
341 gt3_rxcommadet_out => gt3_rxcommadet_out,
343 gt3_rxcharisk_out => gt3_rxcharisk_out,
350 GT0_QPLLREFCLKLOST_OUT => GT0_QPLLREFCLKLOST_OUT,
351 sysclk_in => sysclk_in
);
354 QUAD_DISABLED : if ENABLED = '0' generate
356 TXP_OUT <= (others => '0');
375 gt0_rxnotintable_out <= (others => '0');
377 gt0_rxbyterealign_out <= '0';
378 gt0_rxcommadet_out <= '0';
380 gt0_rxcharisk_out <= (others => '0');
386 gt1_rxnotintable_out <= (others => '0');
388 gt1_rxbyterealign_out <= '0';
389 gt1_rxcommadet_out <= '0';
391 gt1_rxcharisk_out <= (others => '0');
398 gt2_rxnotintable_out <= (others => '0');
400 gt2_rxbyterealign_out <= '0';
401 gt2_rxcommadet_out <= '0';
403 gt2_rxcharisk_out <= (others => '0');
409 gt3_rxnotintable_out <= (others => '0');
411 gt3_rxbyterealign_out <= '0';
412 gt3_rxcommadet_out <= '0';
414 gt3_rxcharisk_out <= (others => '0');
419 GT0_QPLLREFCLKLOST_OUT <= '0';
out gt1_rxdata_out std_logic_vector( 31 downto 0)
Receive Ports - FPGA RX interface Ports for gt1.
out gt3_txbufstatus_out std_logic_vector( 1 downto 0)
Transmit Ports - TX Buffer Ports for gt3.
out gt3_rxbyteisaligned_out std_logic
Receive Ports - RX Byte and Word Alignment Ports for gt3.
out gt2_txresetdone_out std_logic
Transmit Ports - TX Fabric Clock Output Control Ports for gt2.
in GT3_DATA_VALID_IN std_logic
status of data valid in not used gt3
in gt1_txdata_in std_logic_vector( 31 downto 0)
Transmit Ports - TX Data Path interface gt1.
out GT0_TXUSRCLK_OUT std_logic
tx user clock out gt0
out gt0_txbufstatus_out std_logic_vector( 1 downto 0)
Transmit Ports - TX Buffer Ports for gt0.
out TXN_OUT std_logic_vector( 3 downto 0)
tx quad output
out gt0_rxdisperr_out std_logic_vector( 3 downto 0)
Receive Ports - RX 8B/10B Decoder Ports for gt0.
out GT3_TX_FSM_RESET_DONE_OUT std_logic
status reset of the tx fsm gt3
out GT2_RX_FSM_RESET_DONE_OUT std_logic
status reset of the rx fsm gt2
in GT0_DATA_VALID_IN std_logic
status of data valid in not used gt0
out GT0_QPLLLOCK_OUT std_logic
COMMON PORTS.
out gt2_rxresetdone_out std_logic
Receive Ports -RX Initialization and Reset Ports for gt2.
in gt2_rxpd_in std_logic_vector( 1 downto 0)
Power-Down Ports for gt2.
out gt1_txbufstatus_out std_logic_vector( 1 downto 0)
Transmit Ports - TX Buffer Ports for gt1.
out gt0_rxdata_out std_logic_vector( 31 downto 0)
Receive Ports - FPGA RX interface Ports for gt0.
out GT2_TXUSRCLK_OUT std_logic
tx user clock out gt2
out gt3_rxdisperr_out std_logic_vector( 3 downto 0)
Receive Ports - RX 8B/10B Decoder Ports for gt3.
in gt2_loopback_in std_logic_vector( 2 downto 0)
Loopback Ports for gt2.
out gt1_rxresetdone_out std_logic
Receive Ports -RX Initialization and Reset Ports for gt1.
in gt0_txdata_in std_logic_vector( 31 downto 0)
Transmit Ports - TX Data Path interface gt0.
out gt3_rxdata_out std_logic_vector( 31 downto 0)
Receive Ports - FPGA RX interface Ports for gt3.
out gt2_rxbyteisaligned_out std_logic
Receive Ports - RX Byte and Word Alignment Ports for gt2.
in gt3_loopback_in std_logic_vector( 2 downto 0)
Loopback Ports for gt3.
out GT1_RX_FSM_RESET_DONE_OUT std_logic
status reset of the rx fsm gt1
out gt0_rxchariscomma_out std_logic_vector( 3 downto 0)
Receive Ports - RX8B/10B Decoder Ports for gt0.
out gt0_txresetdone_out std_logic
Transmit Ports - TX Initialization and Reset Ports for gt0.
out GT3_TXUSRCLK_OUT std_logic
tx user clock out gt3
out GT3_RX_FSM_RESET_DONE_OUT std_logic
status reset of the rx fsm gt3
out gt2_rxdisperr_out std_logic_vector( 3 downto 0)
Receive Ports - RX 8B/10B Decoder Ports for gt2.
in GT1_DATA_VALID_IN std_logic
status of data valid in not used gt1
out gt0_rxresetdone_out std_logic
Receive Ports -RX Initialization and Reset Ports for gt0.
in gt3_txdata_in std_logic_vector( 31 downto 0)
Transmit Ports - TX Data Path interface for gt3.
out gt3_rxresetdone_out std_logic
Receive Ports -RX Initialization and Reset Ports for gt3.
out gt2_txbufstatus_out std_logic_vector( 1 downto 0)
Transmit Ports - TX Buffer Ports for gt2.
in gt3_txcharisk_in std_logic_vector( 3 downto 0)
Transmit Transmit Ports - 8b10b Encoder Control Ports for gt3.
in clk280 std_logic
fabric clock of 280MHz
in gt0_rxpd_in std_logic_vector( 1 downto 0)
Power-Down Ports for gt0.
out gt2_rxchariscomma_out std_logic_vector( 3 downto 0)
Receive Ports - RX8B/10B Decoder Ports for gt2.
out GT3_RXUSRCLK_OUT std_logic
rx user clock out gt3
out gt0_rxbyteisaligned_out std_logic
Receive Ports - RX Byte and Word Alignment Ports for gt0.
out GT0_TX_FSM_RESET_DONE_OUT std_logic
status reset of the tx fsm gt0
in SOFT_RESET_TX_IN std_logic
soft reset of tx quad
out GT1_RXUSRCLK_OUT std_logic
rx user clock out gt1
out gt1_txresetdone_out std_logic
Transmit Ports - TX Initialization and Reset Ports for gt1.
in gt1_txcharisk_in std_logic_vector( 3 downto 0)
Transmit Transmit Ports - 8b10b Encoder Control Ports for gt1.
in gt1_rxpd_in std_logic_vector( 1 downto 0)
Power-Down Ports for gt1.
out gt1_rxbyteisaligned_out std_logic
Receive Ports - RX Byte and Word Alignment Ports for gt1.
in RXN_IN std_logic_vector( 3 downto 0)
rx quad input
out GT2_RXUSRCLK_OUT std_logic
rx user clock out gt2
out gt1_rxchariscomma_out std_logic_vector( 3 downto 0)
Receive Ports - RX8B/10B Decoder Ports for gt1.
out gt2_rxdata_out std_logic_vector( 31 downto 0)
Receive Ports - FPGA RX interface Ports for gt2.
in gt3_rxpd_in std_logic_vector( 1 downto 0)
Power-Down Ports for gt3.
in Q0_CLK0_GTREFCLK_PAD_N_IN std_logic
clock input to the quad
in gt2_txcharisk_in std_logic_vector( 3 downto 0)
Transmit Transmit Ports - 8b10b Encoder Control Ports for gt2.
out gt3_rxchariscomma_out std_logic_vector( 3 downto 0)
Receive Ports - RX8B/10B Decoder Ports for gt3.
in gt2_txdata_in std_logic_vector( 31 downto 0)
Transmit Ports - TX Data Path interface for gt2.
out GT2_TX_FSM_RESET_DONE_OUT std_logic
status reset of the tx fsm gt2
in gt1_loopback_in std_logic_vector( 2 downto 0)
Loopback Ports for gt1.
in gt0_txcharisk_in std_logic_vector( 3 downto 0)
Transmit Transmit Ports - 8b10b Encoder Control Ports gt0.
out GT0_RXUSRCLK_OUT std_logic
rx user clock out gt0
out GT0_RX_FSM_RESET_DONE_OUT std_logic
status reset of the rx fsm gto
in GT2_DATA_VALID_IN std_logic
status of data valid in not used gt2
out gt1_rxdisperr_out std_logic_vector( 3 downto 0)
Receive Ports - RX 8B/10B Decoder Ports for gt1.
out gt3_txresetdone_out std_logic
Transmit Ports - TX Initialization and Reset Ports for gt3.
in SOFT_RESET_RX_IN std_logic
soft reset of rx quad
in gt0_loopback_in std_logic_vector( 2 downto 0)
Loopback Ports for gt0.
out GT1_TX_FSM_RESET_DONE_OUT std_logic
status reset of the tx fsm gt1
out GT1_TXUSRCLK_OUT std_logic
tx user clock out gt1
out gt1_rxdata_out std_logic_vector( 31 downto 0)
Receive Ports - FPGA RX interface Ports for gt1.
out gt3_txbufstatus_out std_logic_vector( 1 downto 0)
Transmit Ports - TX Buffer Ports for gt3.
out gt3_rxbyteisaligned_out std_logic
Receive Ports - RX Byte and Word Alignment Ports for gt3.
out gt2_txresetdone_out std_logic
Transmit Ports - TX Fabric Clock Output Control Ports for gt2.
in GT3_DATA_VALID_IN std_logic
status of data valid in not used gt3
in gt1_txdata_in std_logic_vector( 31 downto 0)
Transmit Ports - TX Data Path interface gt1.
out GT0_TXUSRCLK_OUT std_logic
tx user clock out gt0
out gt0_txbufstatus_out std_logic_vector( 1 downto 0)
Transmit Ports - TX Buffer Ports for gt0.
out TXN_OUT std_logic_vector( 3 downto 0)
tx quad output
out gt0_rxdisperr_out std_logic_vector( 3 downto 0)
Receive Ports - RX 8B/10B Decoder Ports for gt0.
out GT3_TX_FSM_RESET_DONE_OUT std_logic
status reset of the tx fsm gt3
out GT2_RX_FSM_RESET_DONE_OUT std_logic
status reset of the rx fsm gt2
in GT0_DATA_VALID_IN std_logic
status of data valid in not used gt0
out GT0_QPLLLOCK_OUT std_logic
COMMON PORTS.
out gt2_rxresetdone_out std_logic
Receive Ports -RX Initialization and Reset Ports for gt2.
in gt2_rxpd_in std_logic_vector( 1 downto 0)
Power-Down Ports for gt2.
out gt1_txbufstatus_out std_logic_vector( 1 downto 0)
Transmit Ports - TX Buffer Ports for gt1.
out gt0_rxdata_out std_logic_vector( 31 downto 0)
Receive Ports - FPGA RX interface Ports for gt0.
out GT2_TXUSRCLK_OUT std_logic
tx user clock out gt2
out gt3_rxdisperr_out std_logic_vector( 3 downto 0)
Receive Ports - RX 8B/10B Decoder Ports for gt3.
in gt2_loopback_in std_logic_vector( 2 downto 0)
Loopback Ports for gt2.
out gt1_rxresetdone_out std_logic
Receive Ports -RX Initialization and Reset Ports for gt1.
in gt0_txdata_in std_logic_vector( 31 downto 0)
Transmit Ports - TX Data Path interface gt0.
out gt3_rxdata_out std_logic_vector( 31 downto 0)
Receive Ports - FPGA RX interface Ports for gt3.
out gt2_rxbyteisaligned_out std_logic
Receive Ports - RX Byte and Word Alignment Ports for gt2.
in gt3_loopback_in std_logic_vector( 2 downto 0)
Loopback Ports for gt3.
out GT1_RX_FSM_RESET_DONE_OUT std_logic
status reset of the rx fsm gt1
out gt0_rxchariscomma_out std_logic_vector( 3 downto 0)
Receive Ports - RX8B/10B Decoder Ports for gt0.
out gt0_txresetdone_out std_logic
Transmit Ports - TX Initialization and Reset Ports for gt0.
out GT3_TXUSRCLK_OUT std_logic
tx user clock out gt3
out GT3_RX_FSM_RESET_DONE_OUT std_logic
status reset of the rx fsm gt3
out gt2_rxdisperr_out std_logic_vector( 3 downto 0)
Receive Ports - RX 8B/10B Decoder Ports for gt2.
in GT1_DATA_VALID_IN std_logic
status of data valid in not used gt1
out gt0_rxresetdone_out std_logic
Receive Ports -RX Initialization and Reset Ports for gt0.
in gt3_txdata_in std_logic_vector( 31 downto 0)
Transmit Ports - TX Data Path interface for gt3.
out gt3_rxresetdone_out std_logic
Receive Ports -RX Initialization and Reset Ports for gt3.
out gt2_txbufstatus_out std_logic_vector( 1 downto 0)
Transmit Ports - TX Buffer Ports for gt2.
in gt3_txcharisk_in std_logic_vector( 3 downto 0)
Transmit Transmit Ports - 8b10b Encoder Control Ports for gt3.
in clk280 std_logic
fabric clock of 280MHz
in gt0_rxpd_in std_logic_vector( 1 downto 0)
Power-Down Ports for gt0.
out gt2_rxchariscomma_out std_logic_vector( 3 downto 0)
Receive Ports - RX8B/10B Decoder Ports for gt2.
out GT3_RXUSRCLK_OUT std_logic
rx user clock out gt3
out gt0_rxbyteisaligned_out std_logic
Receive Ports - RX Byte and Word Alignment Ports for gt0.
out GT0_TX_FSM_RESET_DONE_OUT std_logic
status reset of the tx fsm gt0
in SOFT_RESET_TX_IN std_logic
soft reset of tx quad
out GT1_RXUSRCLK_OUT std_logic
rx user clock out gt1
out gt1_txresetdone_out std_logic
Transmit Ports - TX Initialization and Reset Ports for gt1.
in gt1_txcharisk_in std_logic_vector( 3 downto 0)
Transmit Transmit Ports - 8b10b Encoder Control Ports for gt1.
in gt1_rxpd_in std_logic_vector( 1 downto 0)
Power-Down Ports for gt1.
out gt1_rxbyteisaligned_out std_logic
Receive Ports - RX Byte and Word Alignment Ports for gt1.
in RXN_IN std_logic_vector( 3 downto 0)
rx quad input
out GT2_RXUSRCLK_OUT std_logic
rx user clock out gt2
out gt1_rxchariscomma_out std_logic_vector( 3 downto 0)
Receive Ports - RX8B/10B Decoder Ports for gt1.
out gt2_rxdata_out std_logic_vector( 31 downto 0)
Receive Ports - FPGA RX interface Ports for gt2.
in gt3_rxpd_in std_logic_vector( 1 downto 0)
Power-Down Ports for gt3.
in Q0_CLK0_GTREFCLK_PAD_N_IN std_logic
clock input to the quad
in gt2_txcharisk_in std_logic_vector( 3 downto 0)
Transmit Transmit Ports - 8b10b Encoder Control Ports for gt2.
out gt3_rxchariscomma_out std_logic_vector( 3 downto 0)
Receive Ports - RX8B/10B Decoder Ports for gt3.
in gt2_txdata_in std_logic_vector( 31 downto 0)
Transmit Ports - TX Data Path interface for gt2.
out GT2_TX_FSM_RESET_DONE_OUT std_logic
status reset of the tx fsm gt2
in gt1_loopback_in std_logic_vector( 2 downto 0)
Loopback Ports for gt1.
in gt0_txcharisk_in std_logic_vector( 3 downto 0)
Transmit Transmit Ports - 8b10b Encoder Control Ports gt0.
out GT0_RXUSRCLK_OUT std_logic
rx user clock out gt0
out GT0_RX_FSM_RESET_DONE_OUT std_logic
status reset of the rx fsm gto
in GT2_DATA_VALID_IN std_logic
status of data valid in not used gt2
out gt1_rxdisperr_out std_logic_vector( 3 downto 0)
Receive Ports - RX 8B/10B Decoder Ports for gt1.
out gt3_txresetdone_out std_logic
Transmit Ports - TX Initialization and Reset Ports for gt3.
in SOFT_RESET_RX_IN std_logic
soft reset of rx quad
in gt0_loopback_in std_logic_vector( 2 downto 0)
Loopback Ports for gt0.
out GT1_TX_FSM_RESET_DONE_OUT std_logic
status reset of the tx fsm gt1
out GT1_TXUSRCLK_OUT std_logic
tx user clock out gt1