9 use ieee.std_logic_1164.
all;
10 use ieee.numeric_std.
all;
11 use ieee.std_logic_unsigned.
all;
13 use UNISIM.VCOMPONENTS.
all;
19 EXAMPLE_SIM_GTRESET_SPEEDUP : string := "TRUE";
20 STABLE_CLOCK_PERIOD : integer := 16
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
215 attribute DowngradeIPIdentifiedWarnings : string;
216 attribute DowngradeIPIdentifiedWarnings of RTL : architecture is "yes";
218 attribute CORE_GENERATION_INFO : string;
219 attribute CORE_GENERATION_INFO of RTL : architecture is "min_latency_1_quad_rx_tx,gtwizard_v3_6_5,{protocol_file=Start_from_scratch}";
225 signal tied_to_ground_i : std_logic;
226 signal tied_to_ground_vec_i : std_logic_vector(63 downto 0);
227 signal tied_to_vcc_i : std_logic;
228 signal tied_to_vcc_vec_i : std_logic_vector(7 downto 0);
235 tied_to_ground_i <= '0';
236 tied_to_ground_vec_i <= x"0000000000000000";
237 tied_to_vcc_i <= '1';
238 tied_to_vcc_vec_i <= "11111111";
252 EXAMPLE_SIM_GTRESET_SPEEDUP => EXAMPLE_SIM_GTRESET_SPEEDUP,
253 STABLE_CLOCK_PERIOD => STABLE_CLOCK_PERIOD
260 DONT_RESET_ON_DATA_ERROR_IN => tied_to_ground_i,
262 Q0_CLK0_GTREFCLK_PAD_P_IN => Q0_CLK0_GTREFCLK_PAD_P_IN,
278 GT0_TXUSRCLK2_OUT =>
open,
280 GT0_RXUSRCLK2_OUT =>
open,
283 GT1_TXUSRCLK2_OUT =>
open,
285 GT1_RXUSRCLK2_OUT =>
open,
288 GT2_TXUSRCLK2_OUT =>
open,
290 GT2_RXUSRCLK2_OUT =>
open,
293 GT3_TXUSRCLK2_OUT =>
open,
295 GT3_RXUSRCLK2_OUT =>
open,
306 gt0_txpd_in => gt0_txpd_in,
308 gt0_eyescanreset_in => tied_to_ground_i,
309 gt0_rxuserrdy_in => tied_to_ground_i,
311 gt0_eyescandataerror_out =>
open,
312 gt0_eyescantrigger_in => tied_to_ground_i,
314 gt0_dmonitorout_out =>
open,
319 gt0_rxnotintable_out => gt0_rxnotintable_out,
321 gt0_gthrxn_in =>
RXN_IN(0),
323 gt0_rxphmonitor_out =>
open,
324 gt0_rxphslipmonitor_out =>
open,
327 gt0_rxbyterealign_out => gt0_rxbyterealign_out,
328 gt0_rxcommadet_out => gt0_rxcommadet_out,
330 gt0_rxmonitorout_out =>
open,
331 gt0_rxmonitorsel_in => "
00",
333 gt0_rxoutclkfabric_out =>
open,
335 gt0_gtrxreset_in => tied_to_ground_i,
338 gt0_rxcharisk_out => gt0_rxcharisk_out,
340 gt0_gthrxp_in => RXP_IN
(0),
344 gt0_gttxreset_in => tied_to_ground_i,
345 gt0_txuserrdy_in => tied_to_ground_i,
352 gt0_gthtxp_out => TXP_OUT
(0),
354 gt0_txoutclkfabric_out =>
open,
355 gt0_txoutclkpcs_out =>
open,
371 gt1_txpd_in => gt1_txpd_in,
373 gt1_eyescanreset_in => tied_to_ground_i,
374 gt1_rxuserrdy_in => tied_to_ground_i,
376 gt1_eyescandataerror_out =>
open,
377 gt1_eyescantrigger_in => tied_to_ground_i,
379 gt1_dmonitorout_out =>
open,
384 gt1_rxnotintable_out => gt1_rxnotintable_out,
386 gt1_gthrxn_in =>
RXN_IN(1),
388 gt1_rxphmonitor_out =>
open,
389 gt1_rxphslipmonitor_out =>
open,
392 gt1_rxbyterealign_out => gt1_rxbyterealign_out,
393 gt1_rxcommadet_out => gt1_rxcommadet_out,
395 gt1_rxmonitorout_out =>
open,
396 gt1_rxmonitorsel_in => "
00",
398 gt1_rxoutclkfabric_out =>
open,
400 gt1_gtrxreset_in => tied_to_ground_i,
403 gt1_rxcharisk_out => gt1_rxcharisk_out,
405 gt1_gthrxp_in => RXP_IN
(1),
409 gt1_gttxreset_in => tied_to_ground_i,
410 gt1_txuserrdy_in => tied_to_ground_i,
417 gt1_gthtxp_out => TXP_OUT
(1),
419 gt1_txoutclkfabric_out =>
open,
420 gt1_txoutclkpcs_out =>
open,
436 gt2_txpd_in => gt2_txpd_in,
438 gt2_eyescanreset_in => tied_to_ground_i,
439 gt2_rxuserrdy_in => tied_to_ground_i,
441 gt2_eyescandataerror_out =>
open,
442 gt2_eyescantrigger_in => tied_to_ground_i,
444 gt2_dmonitorout_out =>
open,
449 gt2_rxnotintable_out => gt2_rxnotintable_out,
451 gt2_gthrxn_in =>
RXN_IN(2),
453 gt2_rxphmonitor_out =>
open,
454 gt2_rxphslipmonitor_out =>
open,
457 gt2_rxbyterealign_out => gt2_rxbyterealign_out,
458 gt2_rxcommadet_out => gt2_rxcommadet_out,
460 gt2_rxmonitorout_out =>
open,
461 gt2_rxmonitorsel_in => "
00",
463 gt2_rxoutclkfabric_out =>
open,
465 gt2_gtrxreset_in => tied_to_ground_i,
468 gt2_rxcharisk_out => gt2_rxcharisk_out,
470 gt2_gthrxp_in => RXP_IN
(2),
474 gt2_gttxreset_in => tied_to_ground_i,
475 gt2_txuserrdy_in => tied_to_ground_i,
482 gt2_gthtxp_out => TXP_OUT
(2),
484 gt2_txoutclkfabric_out =>
open,
485 gt2_txoutclkpcs_out =>
open,
501 gt3_txpd_in => gt3_txpd_in,
504 gt3_eyescanreset_in => tied_to_ground_i,
505 gt3_rxuserrdy_in => tied_to_ground_i,
507 gt3_eyescandataerror_out =>
open,
508 gt3_eyescantrigger_in => tied_to_ground_i,
510 gt3_dmonitorout_out =>
open,
515 gt3_rxnotintable_out => gt3_rxnotintable_out,
517 gt3_gthrxn_in =>
RXN_IN(3),
519 gt3_rxphmonitor_out =>
open,
520 gt3_rxphslipmonitor_out =>
open,
523 gt3_rxbyterealign_out => gt3_rxbyterealign_out,
524 gt3_rxcommadet_out => gt3_rxcommadet_out,
526 gt3_rxmonitorout_out =>
open,
527 gt3_rxmonitorsel_in => "
00",
529 gt3_rxoutclkfabric_out =>
open,
531 gt3_gtrxreset_in => tied_to_ground_i,
534 gt3_rxcharisk_out => gt3_rxcharisk_out,
536 gt3_gthrxp_in => RXP_IN
(3),
540 gt3_gttxreset_in => tied_to_ground_i,
541 gt3_txuserrdy_in => tied_to_ground_i,
548 gt3_gthtxp_out => TXP_OUT
(3),
550 gt3_txoutclkfabric_out =>
open,
551 gt3_txoutclkpcs_out =>
open,
559 GT0_QPLLREFCLKLOST_OUT => GT0_QPLLREFCLKLOST_OUT,
560 GT0_QPLLOUTCLK_OUT =>
open,
561 GT0_QPLLOUTREFCLK_OUT =>
open,
562 sysclk_in => sysclk_in
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