This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TLK2501: How to set up the Xilinx GTX/GTH IP protocol to transfer data between TLK2501 and Xilinx GTX/GTH

Part Number: TLK2501

Hi,

        

Briefly introduce my system, Briefly introduce my system: the existing data transmission system is TLK2501+FPGA(ZYNQ 7020) at both ends, and this system provides stable transmission. However, the new system side of the expansion maintains the TLK2501 + FPGA, and the other side is the development board (Xilinx ZCU102).

We tried to use Aurora 8B10B IP, but it doesn't seem to work at all. Now use the underlying GTX/GTH IP (7 Series FPGAs transcivers Wizard V3.6) to try to get through this transmission channel. I would like to ask how to set the "Encoding and Clocking", "Comma Aligment and Equalization" and "CB and CC Sequence" detailed parameters.
For Example:
  1. RX COMMA Detection Part: Decode valid Comma Only? Combine plus/minus commas (double-length comma)?
  2. TLK2501 encode with or without use Channel Bonding? and with or without Clock correction?

Thank You

  • Hello,

    I am not familiar with the Aurora or GTX/GTH IP that you referred to. You may want to ask the provider of said IP about difference from your existing setup that works. In general, you may want to check what changed between the old working setup and the new development setup.

    Regards,
    Yaser
  • Thank you for your reply and suggestions, I would like to ask you a few questions about TLK2501, maybe it will help me to eliminate the problem.

    1. Could you elaborate on the synchronization of K28.5 mentioned in “Serial to Parallel” on page 10 of the data sheet? Whether "word boundary" can be set to "two byte boundaries", and how many word boundary sequence length?

    2. Is inernal data all width as 20-bit in TLK2501? and all data with 8B/10B coding?

    3. In TLK2501 inernal 20-bit data or serial data, how to define valid of type, such as data characters or control K characters?

    4. In RX comma detection, is aliged the data stream using the one byte K28.5, two byte K28.5 boundary or four byte K28.5 boundary? and the byte boundary alignment process with or without plus comma (Positive-disparity K28.5= "0101111100")? and the byte boundary alignment process with or without minus comma (Negative-disparity K28.5= "1010000011")?

    Thank you

  • Hello,

    1. Could you elaborate on the synchronization of K28.5 mentioned in “Serial to Parallel” on page 10 of the data sheet? Whether "word boundary" can be set to "two byte boundaries", and how many word boundary sequence length?

    -> Word boundary is 20 bits encoded, 16 bits decoded. There is no specific sequence length (see Fig 6 state machine). It stays in SYNC state as long as valid codes are received.

    2. Is inernal data all width as 20-bit in TLK2501? and all data with 8B/10B coding?

    -> Please see Figure 1; it shows where the data is 10-bit (encoded), 20-bit (encoded) or 16-bit (decoded).

    3. In TLK2501 inernal 20-bit data or serial data, how to define valid of type, such as data characters or control K characters?

    -> The block labeled “Comma Detect and 8B/10B decoding” in Figure 1 looks at parallel 20-bit word and determines if it is valid and what type it is (see Table 2).

    4. In RX comma detection, is aliged the data stream using the one byte K28.5, two byte K28.5 boundary or four byte K28.5 boundary? and the byte boundary alignment process with or without plus comma (Positive-disparity K28.5= "0101111100")? and the byte boundary alignment process with or without minus comma (Negative-disparity K28.5= "1010000011")?

    -> I am not sure what you mean. Can you please explain?

    Regards,
    Yaser
  • Hello,

    About point 4:

    1. How to align and define comma  in data stream? (1) Comma = "10111100"; (2) Comma = "1011110010111100"; (3) Comma = "10111100101111001011110010111100".
    2. In comma detection, is match in 10-bitbinary pattern representing the Positive-disparity comma character? is arrive serially the right-most bit of the pattern is the first bit? K28.5 = 0101111100 (Current RD-).
    3. In comma detection, is match in 10-bitbinary pattern representing the Negative-disparity comma character? is arrive serially the right-most bit of the pattern is the first bit? K28.5 = 1010000011 (Current RD+).

    thank you

    Regards,

  • Hello,

    Here are the answers to your questions.
    1. Comma is defined as “1100000” or “0011111”. However you need at least 3 comma’s to achieve byte synchronization.
    2&3. Yes. Comma detection 10-bit binary pattern (abcdeifghj) is “0011111010” (RD-), “1100000101” (RD+) with “a” being the first serial bit out.

    Regards,
    Yaser
  • Dear TI,

                     After one month of testing, data transmission with TLK chips is still not possible. I would like to ask a few more questions. My questions are as follows:

    1. Is the TLK chip protocol exactly the same as the PCS and PMA agreement of IEEE802.3 (Section 3)? If speed upto  1 GPBS?
    2. Is it necessary to Configurate before synchronizing with the TLK2501? (Configuration 1: K28.5+D21.5 and/or Configuration 2)
    3. Is it necessary to add other codes before and after the transmission of the packet data? (Start_of_Packet: K27.7; End_of_Packet: K29.7)
    4. Suppose the TLK emission data transmission rate is 1.6 GPBS, the TLK2501 front end is 2.5 G 850 nm SFP+, and the other side of the optical fiber can accept 10 G 850 nm SFP+?

    Thank You

  • Hello,

    This device does not follow PCS or PMA protocol, and it doesn't understand K27.7 nor K29.7 codes. It only supports the codes in Table 1 in the datasheet. The transmitter on the other side needs to send Comma codes initially so that the receiver of TLK2501 locks, then it will start transmitting data.

    Regards,
    Yaser