1 ----------------------------------------------------------------------------------
5 -- Create Date: 15:
55:
15 07/09/2010
7 -- Module Name: S6LINK_if - Behavioral
16 -- Revision 0.
01 -
File Created
17 -- Additional Comments:
18 ----------------------------------------------------------------------------------
20 use IEEE.STD_LOGIC_1164.
ALL;
21 use IEEE.STD_LOGIC_ARITH.
ALL;
22 use IEEE.STD_LOGIC_UNSIGNED.
ALL;
23 use IEEE.std_logic_misc.
all;
27 -- Uncomment the following library declaration if using
28 -- arithmetic functions with or values
29 --use IEEE.NUMERIC_STD.ALL;
31 -- Uncomment the following library declaration if instantiating
32 -- any Xilinx primitives in this code.
34 use UNISIM.VComponents.
all;
36 use UNIMACRO.vcomponents.
all;
39 generic(RXPOLARITY : := '0';
TXPOLARITY : := '0');
50 amc_en : in (11 downto 0);
51 IPADDR : in (31 downto 0);
52 MACADDR : in (47 downto 0);
57 ipb_out : out ipb_wbus;
59 SN : out (8 downto 0);
60 debug_in : IN (31 downto 0);
61 debug_out : OUT (127 downto 0)
68 MAC_CFG: ipb_mac_cfg := EXTERNAL;
69 IP_CFG: ipb_ip_cfg := EXTERNAL;
70 -- Number of address bits to select RX or TX buffer in UDP I/F
71 -- Number of RX and TX buffers is 2**BUFWIDTH
73 -- Numer of address bits to select internal buffer in UDP I/F
74 -- Number of internal buffers is 2**INTERNALWIDTH
76 -- Number of address bits within each buffer in UDP I/F
77 -- Size of each buffer is 2**ADDRWIDTH
79 -- UDP port for IPbus traffic in this instance of UDP I/F
80 IPBUSPORT: (
15 DOWNTO 0) := x
"C351";
81 -- Flag whether this UDP I/F instance ignores everything except IPBus traffic
82 SECONDARYPORT: := '
0';
86 mac_clk:
in ;
-- Ethernet MAC clock (125MHz)
87 rst_macclk:
in ;
-- MAC clock domain sync reset
88 ipb_clk:
in ;
-- IPbus clock
89 rst_ipb:
in ;
-- IPbus clock domain sync reset
90 mac_rx_data:
in (
7 downto 0);
-- AXI4 style MAC signals
94 mac_tx_data:
out (
7 downto 0);
99 ipb_out:
out ipb_wbus;
-- IPbus bus signals
102 ipb_grant:
in := '
1';
103 mac_addr:
in (
47 downto 0) := X"
000000000000";
-- Static MAC and IP addresses
104 ip_addr:
in (
31 downto 0) := X"
00000000";
106 RARP_select:
in := '
0';
111 oob_in:
in ipbus_trans_in_array(N_OOB
- 1 downto 0) := (
others => ('
0', X"
00000000", '
0'));
112 oob_out:
out ipbus_trans_out_array(N_OOB
- 1 downto 0)
118 -- Simulation attributes
119 EXAMPLE_SIM_GTRESET_SPEEDUP : :=
"FALSE";
-- Set to 1 to speed up sim reset
120 EXAMPLE_SIMULATION : :=
0;
-- Set to 1 for simulation
121 EXAMPLE_USE_CHIPSCOPE : :=
0 -- Set to 1 to use Chipscope
to drive resets
128 GT0_TX_FSM_RESET_DONE_OUT :
out ;
129 GT0_RX_FSM_RESET_DONE_OUT :
out ;
130 GT0_DATA_VALID_IN :
in ;
132 --_________________________________________________________________________
134 --____________________________CHANNEL PORTS________________________________
135 --------------------------------- CPLL Ports -------------------------------
136 GT0_CPLLFBCLKLOST_OUT :
out ;
137 GT0_CPLLLOCK_OUT :
out ;
138 GT0_CPLLLOCKDETCLK_IN :
in ;
139 GT0_CPLLRESET_IN :
in ;
140 -------------------------- Channel - Clocking Ports ------------------------
141 GT0_GTREFCLK0_IN :
in ;
142 ---------------------------- Channel - DRP Ports --------------------------
143 GT0_DRPADDR_IN :
in (
8 downto 0);
145 GT0_DRPDI_IN :
in (
15 downto 0);
146 GT0_DRPDO_OUT :
out (
15 downto 0);
148 GT0_DRPRDY_OUT :
out ;
150 --------------------- RX Initialization and Reset Ports --------------------
151 GT0_RXUSERRDY_IN :
in ;
152 -------------------------- RX Margin Analysis Ports ------------------------
153 GT0_EYESCANDATAERROR_OUT :
out ;
154 ------------------------- Receive Ports - CDR Ports ------------------------
155 GT0_RXCDRLOCK_OUT :
out ;
156 ------------------ Receive Ports - FPGA RX Interface Ports -----------------
157 GT0_RXUSRCLK_IN :
in ;
158 GT0_RXUSRCLK2_IN :
in ;
159 ------------------ Receive Ports - FPGA RX interface Ports -----------------
160 GT0_RXDATA_OUT :
out (
15 downto 0);
161 ------------------ Receive Ports - RX 8B/10B Decoder Ports -----------------
162 GT0_RXDISPERR_OUT :
out (
1 downto 0);
163 GT0_RXNOTINTABLE_OUT :
out (
1 downto 0);
164 --------------------------- Receive Ports - RX AFE -------------------------
166 ------------------------ Receive Ports - RX AFE Ports ----------------------
168 -------------- Receive Ports - RX Byte and Word Alignment Ports ------------
169 GT0_RXMCOMMAALIGNEN_IN :
in ;
170 GT0_RXPCOMMAALIGNEN_IN :
in ;
171 --------------------- Receive Ports - RX Equalizer Ports -------------------
172 GT0_RXDFELPMRESET_IN :
in ;
173 ------------- Receive Ports - RX Initialization and Reset Ports ------------
174 GT0_GTRXRESET_IN :
in ;
175 GT0_RXPMARESET_IN :
in ;
176 ----------------- Receive Ports - RX Polarity Control Ports ----------------
177 GT0_RXPOLARITY_IN :
in ;
178 ------------------- Receive Ports - RX8B/10B Decoder Ports -----------------
179 GT0_RXCHARISK_OUT :
out (
1 downto 0);
180 -------------- Receive Ports -RX Initialization and Reset Ports ------------
181 GT0_RXRESETDONE_OUT :
out ;
182 --------------------- TX Initialization and Reset Ports --------------------
183 GT0_GTTXRESET_IN :
in ;
184 GT0_TXUSERRDY_IN :
in ;
185 ------------------ Transmit Ports - FPGA TX Interface Ports ----------------
186 GT0_TXUSRCLK_IN :
in ;
187 GT0_TXUSRCLK2_IN :
in ;
188 ------------------ Transmit Ports - TX Data Path interface -----------------
189 GT0_TXDATA_IN :
in (
15 downto 0);
190 ---------------- Transmit Ports - TX Driver and OOB signaling --------------
191 GT0_GTXTXN_OUT :
out ;
192 GT0_GTXTXP_OUT :
out ;
193 ----------- Transmit Ports - TX Fabric Clock Output Control Ports ----------
194 GT0_TXOUTCLK_OUT :
out ;
195 GT0_TXOUTCLKFABRIC_OUT :
out ;
196 GT0_TXOUTCLKPCS_OUT :
out ;
197 --------------------- Transmit Ports - TX Gearbox Ports --------------------
198 GT0_TXCHARISK_IN :
in (
1 downto 0);
199 ------------- Transmit Ports - TX Initialization and Reset Ports -----------
200 GT0_TXRESETDONE_OUT :
out ;
201 ----------------- Transmit Ports - TX Polarity Control Ports ---------------
202 GT0_TXPOLARITY_IN :
in ;
205 --____________________________COMMON PORTS________________________________
206 ---------------------- Common Block - Ref Clock Ports ---------------------
207 GT0_GTREFCLK0_COMMON_IN :
in ;
208 ------------------------- Common Block - QPLL Ports ------------------------
209 GT0_QPLLLOCK_OUT :
out ;
210 GT0_QPLLLOCKDETCLK_IN :
in ;
211 GT0_QPLLRESET_IN :
in
216 signal CPLLLOCK : := '0';
217 signal CPLLLOCK_n : := '0';
218 signal S6LinkRdy_n : := '1';
219 signal S6LINK_TxOutClk : := '0';
220 signal S6LINK_RxCharIsComma : (1 downto 0) := (others => '0');
221 signal S6LINK_RxCharIsK : (1 downto 0) := (others => '0');
222 signal S6LINK_RxNotInTable : (1 downto 0) := (others => '0');
223 signal S6LINK_RxDataOut : (15 downto 0) := (others => '0');
224 signal S6LINK_TxCharIsK : (1 downto 0) := (others => '0');
225 signal S6LINK_TxDataIn : (15 downto 0) := (others => '0');
226 signal S6LINK_RxResetDone : := '0';
227 signal S6LINK_RxResetDoneSyncRegs : (2 downto 0) := (others => '0');
228 signal S6LINK_TxReset : := '0';
229 signal S6LINK_DiffCtrl : (3 downto 0) := x"9";
-- 790mV drive
230 signal startTx : := '0';
231 signal sending : := '0';
232 signal enTx : := '1';
233 signal got_SNp : := '1';
234 signal SN_T2: (8 downto 0) := (others => '0');
236 signal SN_cntr: (M downto 0) := (others => '0');
237 signal ipbus_txready : := '0';
238 signal ipbus_rxdlast : := '0';
239 signal ipbus_rxerr : := '0';
240 signal ipbus_txdvld : := '0';
241 signal ipbus_txdvld_q : := '0';
242 signal receive : := '0';
243 signal send_amc_en : := '0';
244 signal wr_amc_en_SyncRegs: (3 downto 0) := (others => '0');
245 signal cmd: (7 downto 0) := (others => '0');
246 signal cmd_cntr: (2 downto 0) := (others => '0');
247 signal ipbus_rxdvld : := '0';
248 signal div: (3 downto 0) := (others => '0');
249 signal tx_header: (1 downto 0) := (others => '0');
250 signal ipbus_txdlast: (3 downto 0) := (others => '0');
251 signal ipbus_txerr: (3 downto 0) := (others => '0');
252 signal AXI4_bufA: (7 downto 0) := (others => '0');
253 signal AXI4_bufB: (7 downto 0) := (others => '0');
254 signal ipbus_rxd: (7 downto 0) := (others => '0');
255 signal ipbus_txd: (7 downto 0) := (others => '0');
256 signal DATA_VALID : := '0';
257 signal rxfsmresetdone : := '0';
258 signal txfsmresetdone : := '0';
259 signal rst_ipbus_ctrl : := '0';
260 signal oldRxData15 : := '0';
263 -- CONTROL0 : INOUT (35 DOWNTO 0);
264 -- CONTROL1 : INOUT (35 DOWNTO 0));
267 --component ila64x4096
269 -- CONTROL : INOUT (35 DOWNTO 0);
271 -- DATA : IN (63 DOWNTO 0);
272 -- TRIG0 : IN (7 DOWNTO 0));
274 --signal cs0_control : (35 downto 0) := (
others => '0');
275 --signal cs1_control : (35 downto 0) := (
others => '0');
276 --signal cs0_data : (63 downto 0) := (
others => '0');
277 --signal cs1_data : (63 downto 0) := (
others => '0');
278 --signal cs0_trig : (7 downto 0) := (
others => '0');
279 --signal cs1_trig : (7 downto 0) := (
others => '0');
283 -- CONTROL0 => cs0_control,
284 -- CONTROL1 => cs1_control);
287 -- CONTROL => cs0_control,
290 -- TRIG0 => cs0_trig);
293 -- CONTROL => cs1_control,
296 -- TRIG0 => cs1_trig);
297 -- cs0_data(0) <= S6LinkRdy_n;
298 -- cs0_data(1) <= ipb_in.ipb_ack;
299 ---- cs0_data(2) <= ipb_out_i.ipb_write;
300 ---- cs0_data(3) <= ipb_out_i.ipb_strobe;
301 ---- cs0_data(35 downto 4) <= ipb_out_i.ipb_addr;
302 -- cs0_data(63 downto 36) <= (
others => '0');
303 ---- cs0_trig(0) <= ipb_out_i.ipb_strobe;
304 -- cs0_trig(7 downto 1) <= (
others => '0');
305 -- cs1_data(15 downto 0) <= S6LINK_RxDataOut;
306 -- cs1_data(31 downto 16) <= S6LINK_TxDataIn;
307 -- cs1_data(33 downto 32) <= S6LINK_RxCharIsK;
308 -- cs1_data(35 downto 34) <= S6LINK_TxCharIsK;
309 ---- cs1_data(40 downto 36) <= SN_cntr;
310 -- cs1_data(41) <= rxfsmresetdone;
311 -- cs1_data(42) <= txfsmresetdone;
312 -- cs1_data(43) <= DATA_VALID;
313 -- cs1_data(44) <= receive;
314 ---- cs1_data(45) <= rxgoodframe;
315 ---- cs1_data(46) <= rxbadframe;
316 ---- cs1_data(47) <= ipbus_txack;
317 -- cs1_data(48) <= startTx;
318 -- cs1_data(49) <= ipbus_txdvld;
319 -- cs1_data(50) <= sending;
320 -- cs1_data(51) <= enTx;
321 -- cs1_data(52) <= S6LINK_RxResetDone;
322 -- cs1_data(60 downto 53) <= SN_T2;
323 ---- cs1_data(63 downto 61) <= S6LinkCntr(
2 downto 0);
324 -- cs1_trig(1 downto 0) <= S6LINK_RxCharIsK;
325 -- cs1_trig(2) <= receive;
326 -- cs1_trig(7 downto 3) <= (
others => '0');
327 debug_out(127 downto 0) <= (others => '0');
328 rst_ipbus_ctrl <= not got_SNp or reset;
331 rst_macclk => rst_ipbus_ctrl,
333 rst_ipb => rst_ipbus_ctrl ,
334 mac_rx_data => ipbus_rxd,
335 mac_rx_valid => ipbus_rxdvld,
336 mac_rx_last => ipbus_rxdlast,
337 mac_rx_error => ipbus_rxerr,
338 mac_tx_data => ipbus_txd,
339 mac_tx_valid => ipbus_txdvld,
340 mac_tx_last => ipbus_txdlast
(0),
341 mac_tx_error => ipbus_txerr
(0),
342 mac_tx_ready => ipbus_txready,
350 RARP_select => en_RARP,
355 oob_in =>
(others =>
('0', X"00000000", '0'
)),
358 process(UsrClk,S6LINK_RxResetDone)
360 if(S6LINK_RxResetDone = '0')then
361 S6LINK_RxResetDoneSyncRegs <= (others => '0');
362 elsif(UsrClk'event and UsrClk = '1')then
363 S6LINK_RxResetDoneSyncRegs <= S6LINK_RxResetDoneSyncRegs(1 downto 0) & '1';
366 process(ipb_clk,S6LINK_RxResetDone)
368 if(S6LINK_RxResetDone = '0')then
370 elsif(ipb_clk'event and ipb_clk = '1')then
371 if(rxfsmresetdone = '1' and txfsmresetdone = '1')then
376 ipbus_rxerr <= '1' when S6LINK_RxCharIsK(0) = '1' and receive = '1' and S6LINK_RxDataOut(7 downto 0) /= x"f7" else '0';
377 ipbus_rxdlast <= receive and S6LINK_RxCharIsK(0);
380 if(UsrClk'event and UsrClk = '1')then
381 if(S6LINK_RxResetDoneSyncRegs(2) = '0' or or_reduce(S6LINK_RxNotInTable) = '1')then
383 elsif(S6LINK_RxCharIsK(0) = '1' and S6LINK_RxDataOut(7 downto 0) = x"bc")then
386 ipbus_rxd <= S6LINK_RxDataOut(7 downto 0);
387 ipbus_rxdvld <= receive and not S6LINK_RxCharIsK(0);
388 if(S6LINK_RxResetDoneSyncRegs(2) = '0' or got_SNp = '0')then
390 elsif(S6LINK_RxCharIsK(0) = '1')then
391 if(S6LINK_RxDataOut(7 downto 0) = x"3c")then
397 if(S6LINK_RxResetDoneSyncRegs(2) = '0' or ipbus_txdvld = '0')then
399 elsif(tx_header /= "11")then
400 tx_header <= tx_header + 1;
402 if(S6LINK_RxResetDoneSyncRegs(2) = '0')then
403 ipbus_txready <= '0';
404 elsif((tx_header(1) = '0' and ipbus_txdvld = '1') or startTx = '1')then
405 ipbus_txready <= '1';
406 elsif((tx_header = "10" and sending = '0') or (ipbus_txdlast(2) = '1' and sending = '1'))then
407 ipbus_txready <= '0';
409 ipbus_txdlast(3 downto 1) <= ipbus_txdlast(2 downto 0);
410 ipbus_txerr(3 downto 1) <= ipbus_txerr(2 downto 0);
411 if(ipbus_txready = '1' or sending = '1')then
412 AXI4_bufA <= ipbus_txd;
413 AXI4_bufB <= AXI4_bufA;
415 startTx <= enTx and tx_header(1) and not sending and not startTx;
416 if(ipbus_txdlast(2) = '1' and sending = '1')then
418 elsif(startTx = '1')then
421 if(startTx = '1' or sending = '1')then
423 elsif(S6LINK_RxCharIsK(1) = '1' and S6LINK_RxDataOut(15 downto 8) = x"f7")then
426 if(SN_cntr(M) = '0')then
431 if(S6LinkRdy_n = '1')then
435 got_SNp <= SN_cntr(M);
438 if(S6LinkRdy_n = '1')then
439 SN_cntr <= (others => '0');
440 elsif(S6LINK_RxCharIsK = "01" and SN_cntr(M) = '0' and S6LINK_RxDataOut(7 downto 0) = x"bc")then
441 oldRxData15 <= S6LINK_RxDataOut(15);
442 if(S6LINK_RxDataOut(15) = oldRxData15)then
443 SN_T2 <= '1' & S6LINK_RxDataOut(15 downto 8);
444 elsif(S6LINK_RxDataOut(15) = '0')then
445 SN_T2(6 downto 0) <= S6LINK_RxDataOut(14 downto 8);
447 SN_T2(8 downto 7) <= S6LINK_RxDataOut(9 downto 8);
449 if(SN_T2(7 downto 0) = S6LINK_RxDataOut(15 downto 8))then
450 SN_cntr <= SN_cntr + 1;
451 elsif(S6LINK_RxDataOut(15) = '0' and SN_T2(6 downto 0) = S6LINK_RxDataOut(14 downto 8))then
452 SN_cntr <= SN_cntr + 1;
453 elsif(S6LINK_RxDataOut(15) = '1' and SN_T2(8 downto 7) = S6LINK_RxDataOut(9 downto 8))then
454 SN_cntr <= SN_cntr + 1;
456 SN_cntr <= (others => '0');
459 if(startTx = '1')then
460 S6LINK_TxCharIsK(0) <= '1';
461 S6LINK_TxDataIn(7 downto 0) <= x"3c";
-- K28.1
462 elsif(sending = '1')then
463 S6LINK_TxCharIsK(0) <= '0';
464 S6LINK_TxDataIn(7 downto 0) <= AXI4_bufB;
465 elsif(ipbus_txdlast(3) = '1')then
466 S6LINK_TxCharIsK(0) <= '1';
467 if(ipbus_txerr(3) = '0')then
468 S6LINK_TxDataIn(7 downto 0) <= x"bc";
-- K28.5
470 S6LINK_TxDataIn(7 downto 0) <= x"f7";
-- txerr
474 S6LINK_TxCharIsK(0) <= '1';
475 S6LINK_TxDataIn(7 downto 0) <= x"bc";
-- K28.5
476 div <= (others => '0');
478 S6LINK_TxCharIsK(0) <= '0';
479 S6LINK_TxDataIn(7 downto 0) <= x"00";
483 wr_amc_en_SyncRegs <= wr_amc_en_SyncRegs(2 downto 0) & wr_amc_en;
484 if(wr_amc_en_SyncRegs(3 downto 2) = "01")then
486 elsif(cmd_cntr = "101")then
489 if(send_amc_en = '0')then
490 cmd_cntr <= (others => '0');
492 cmd_cntr <= cmd_cntr + 1;
494 if(send_amc_en = '1')then
499 if(cmd_cntr = "001" or cmd_cntr = "101")then
500 S6LINK_TxCharIsK(1) <= '1';
502 S6LINK_TxCharIsK(1) <= '0';
505 when "001" => S6LINK_TxDataIn(15 downto 8) <= x"fe";
-- K30.7
506 when "010" => S6LINK_TxDataIn(15 downto 8) <= cmd;
-- write AMC_en command
507 when "011" => S6LINK_TxDataIn(15 downto 8) <= amc_en(7 downto 0);
508 when "100" => S6LINK_TxDataIn(15 downto 8) <= x"0" & amc_en(11 downto 8);
509 when "101" => S6LINK_TxDataIn(15 downto 8) <= x"f7";
-- K23.7
510 when others => S6LINK_TxDataIn(15 downto 8) <= x"00";
514 cplllock_n <= not cplllock;
518 EXAMPLE_SIM_GTRESET_SPEEDUP =>
"true",
519 EXAMPLE_SIMULATION =>
0,
520 EXAMPLE_USE_CHIPSCOPE =>
0
525 SOFT_RESET_IN => '0',
526 GT0_TX_FSM_RESET_DONE_OUT => txfsmresetdone,
527 GT0_RX_FSM_RESET_DONE_OUT => rxfsmresetdone,
528 GT0_DATA_VALID_IN => DATA_VALID,
534 --_____________________________________________________________________
535 --_____________________________________________________________________
538 --------------------------------- CPLL Ports -------------------------------
539 GT0_CPLLFBCLKLOST_OUT =>
open,
540 GT0_CPLLLOCK_OUT => cplllock,
541 GT0_CPLLLOCKDETCLK_IN => drpclk,
542 GT0_CPLLRESET_IN => GTX_RESET,
543 ------------------------- Channel - Ref Clock Ports ------------------------
544 GT0_GTREFCLK0_IN => GbE_REFCLK,
545 ---------------- Channel - Dynamic Reconfiguration Port (DRP) --------------
546 GT0_DRPADDR_IN =>
(others => '0'
),
547 GT0_DRPCLK_IN => drpclk,
548 GT0_DRPDI_IN =>
(others => '0'
),
549 GT0_DRPDO_OUT =>
open,
551 GT0_DRPRDY_OUT =>
open,
553 --------------------- RX Initialization and Reset Ports --------------------
554 GT0_RXUSERRDY_IN => '0',
555 -------------------------- RX Margin Analysis Ports ------------------------
556 GT0_EYESCANDATAERROR_OUT =>
open,
557 ------------------------- Receive Ports - CDR Ports ------------------------
558 GT0_RXCDRLOCK_OUT =>
open,
559 ------------------ Receive Ports - FPGA RX Interface Ports -----------------
560 GT0_RXUSRCLK_IN => UsRClk,
561 GT0_RXUSRCLK2_IN => UsRClk,
562 ------------------ Receive Ports - FPGA RX interface Ports -----------------
563 GT0_RXDATA_OUT => S6LINK_RxDataOut,
564 ------------------ Receive Ports - RX 8B/10B Decoder Ports -----------------
565 GT0_RXDISPERR_OUT =>
open,
566 GT0_RXNOTINTABLE_OUT => S6LINK_RxNotInTable ,
567 --------------------------- Receive Ports - RX AFE -------------------------
568 GT0_GTXRXP_IN => S6LINK_RXP,
569 ------------------------ Receive Ports - RX AFE Ports ----------------------
570 GT0_GTXRXN_IN => S6LINK_RXN,
571 -------------- Receive Ports - RX Byte and Word Alignment Ports ------------
572 GT0_RXMCOMMAALIGNEN_IN => S6LINK_RxResetDoneSyncRegs
(2),
573 GT0_RXPCOMMAALIGNEN_IN => S6LINK_RxResetDoneSyncRegs
(2),
574 ------------ Receive Ports - RX Decision Feedback Equalizer(DFE) -----------
575 GT0_RXDFELPMRESET_IN => '0',
576 ------------- Receive Ports - RX Initialization and Reset Ports ------------
577 GT0_GTRXRESET_IN => cplllock_n,
578 GT0_RXPMARESET_IN => '0',
579 ----------------- Receive Ports - RX Polarity Control Ports ----------------
580 GT0_RXPOLARITY_IN => '0',
581 ------------------- Receive Ports - RX8B/10B Decoder Ports -----------------
582 GT0_RXCHARISK_OUT => S6LINK_RxCharIsK,
583 -------------- Receive Ports -RX Initialization and Reset Ports ------------
584 GT0_RXRESETDONE_OUT => S6LINK_RxResetDone,
585 --------------------- TX Initialization and Reset Ports --------------------
586 GT0_GTTXRESET_IN => cplllock_n,
587 GT0_TXUSERRDY_IN => '0',
588 ------------------ Transmit Ports - FPGA TX Interface Ports ----------------
589 GT0_TXUSRCLK_IN => UsRClk,
590 GT0_TXUSRCLK2_IN => UsRClk,
591 ------------------ Transmit Ports - TX Data Path interface -----------------
592 GT0_TXDATA_IN => S6LINK_TxDataIn,
593 ---------------- Transmit Ports - TX Driver and OOB signaling --------------
594 GT0_GTXTXN_OUT => S6LINK_TXN,
595 GT0_GTXTXP_OUT => S6LINK_TXP,
596 ----------- Transmit Ports - TX Fabric Clock Output Control Ports ----------
597 GT0_TXOUTCLK_OUT =>
open,
598 GT0_TXOUTCLKFABRIC_OUT =>
open,
599 GT0_TXOUTCLKPCS_OUT =>
open,
600 --------------------- Transmit Ports - TX Gearbox Ports --------------------
601 GT0_TXCHARISK_IN => S6LINK_TxCharIsK,
602 ------------- Transmit Ports - TX Initialization and Reset Ports -----------
603 GT0_TXRESETDONE_OUT =>
open,
604 -------------------- Transmit Ports - TX Polarity Control ------------------
605 GT0_TXPOLARITY_IN => '0',
610 --____________________________COMMON PORTS________________________________
611 ---------------------- Common Block - Ref Clock Ports ---------------------
612 GT0_GTREFCLK0_COMMON_IN => GbE_REFCLK,
613 ------------------------- Common Block - QPLL Ports ------------------------
614 GT0_QPLLLOCK_OUT =>
open,
615 GT0_QPLLLOCKDETCLK_IN => drpclk,
616 GT0_QPLLRESET_IN => '0'