E-Tile Transceiver PHY User Guide

ID 683723
Date 4/01/2024
Public
Document Table of Contents

8.5. User-Defined Pattern Example

This works for patterns such as a clock pattern (001100110011…) on the PRBS generator in the PMA.
  1. Disable the PMA TX output.
    1. Write 0x84[7:0] = 0x03.
    2. Write 0x85[7:0] = 0x00.
    3. Write 0x86[7:0] = 0x01.
    4. Write 0x87[7:0] = 0x00.
    5. Write 0x90[0] = 1’b1.
    6. Read 0x8A[7]. It should be 1.
    7. Read 0x8B[0] until it changes to 0.
    8. Write 0x8A[7] to 1 to clear the 0x8A[7] flag.
  2. Select the TX data with a status/debug register.
    1. Write 0x84[7:0] = 0x00.
    2. Write 0x85[7:0] = 0x00.
    3. Write 0x86[7:0] = 0x18.
    4. Write 0x87[7:0] = 0x00.
    5. Write 0x90[0] = 1’b1.
    6. Read 0x8A[7]. It should be 1.
    7. Read 0x8B[0] until it changes to 0.
    8. Write 0x8A[7] to 1 to clear the 0x8A[7] flag.
  3. Load pattern [9:0].
    1. Write 0x84[7:0] = 0x33.
    2. Write 0x85[7:0] = 0x03.
    3. Write 0x86[7:0] = 0x19.
    4. Write 0x87[7:0] = 0x00.
    5. Write 0x90[0] = 1’b1.
    6. Read 0x8A[7]. It should be 1.
    7. Read 0x8B[0] until it changes to 0.
    8. Write 0x8A[7] to 1 to clear the 0x8A[7] flag.
  4. Load pattern [19:10].
    1. Write 0x84[7:0] = 0xCC.
    2. Write 0x85[7:0] = 0x00.
    3. Write 0x86[7:0] = 0x19.
    4. Write 0x87[7:0] = 0x00.
    5. Write 0x90[0] = 1’b1.
    6. Read 0x8A[7]. It should be 1.
    7. Read 0x8B[0] until it changes to 0.
    8. Write 0x8A[7] to 1 to clear the 0x8A[7] flag.
  5. Load pattern [29:20].
    1. Write 0x84[7:0] = 0x33.
    2. Write 0x85[7:0] = 0x03.
    3. Write 0x86[7:0] = 0x19.
    4. Write 0x87[7:0] = 0x00.
    5. Write 0x90[0] = 1’b1.
    6. Read 0x8A[7]. It should be 1.
    7. Read 0x8B[0] until it changes to 0.
    8. Write 0x8A[7] to 1 to clear the 0x8A[7] flag.
  6. Load pattern [39:30].
    1. Write 0x84[7:0] = 0xCC.
    2. Write 0x85[7:0] = 0x00.
    3. Write 0x86[7:0] = 0x19.
    4. Write 0x87[7:0] = 0x00.
    5. Write 0x90[0] = 1’b1.
    6. Read 0x8A[7]. It should be 1.
    7. Read 0x8B[0] until it changes to 0.
    8. Write 0x8A[7] to 1 to clear the 0x8A[7] flag.
  7. Load pattern [49:40].
    1. Write 0x84[7:0] = 0x33.
    2. Write 0x85[7:0] = 0x03.
    3. Write 0x86[7:0] = 0x19.
    4. Write 0x87[7:0] = 0x00.
    5. Write 0x90[0] = 1’b1.
    6. Read 0x8A[7]. It should be 1.
    7. Read 0x8B[0] until it changes to 0.
    8. Write 0x8A[7] to 1 to clear the 0x8A[7] flag.
  8. Load pattern [59:50].
    1. Write 0x84[7:0] = 0xCC.
    2. Write 0x85[7:0] = 0x00.
    3. Write 0x86[7:0] = 0x19.
    4. Write 0x87[7:0] = 0x00.
    5. Write 0x90[0] = 1’b1.
    6. Read 0x8A[7]. It should be 1.
    7. Read 0x8B[0] until it changes to 0.
    8. Write 0x8A[7] to 1 to clear the 0x8A[7] flag.
  9. Load pattern [69:60].
    1. Write 0x84[7:0] = 0x33.
    2. Write 0x85[7:0] = 0x03.
    3. Write 0x86[7:0] = 0x19.
    4. Write 0x87[7:0] = 0x00.
    5. Write 0x90[0] = 1’b1.
    6. Read 0x8A[7]. It should be 1.
    7. Read 0x8B[0] until it changes to 0.
    8. Write 0x8A[7] to 1 to clear the 0x8A[7] flag.
  10. Load pattern [79:70].
    1. Write 0x84[7:0] = 0xCC.
    2. Write 0x85[7:0] = 0x00.
    3. Write 0x86[7:0] = 0x19.
    4. Write 0x87[7:0] = 0x00.
    5. Write 0x90[0] = 1’b1.
    6. Read 0x8A[7]. It should be 1.
    7. Read 0x8B[0] until it changes to 0.
    8. Write 0x8A[7] to 1 to clear the 0x8A[7] flag.
  11. Load the TX PRBS generator with your pattern.
    1. Write 0x84[7:0] = 0x27.
    2. Write 0x85[7:0] = 0x01.
    3. Write 0x86[7:0] = 0x02.
    4. Write 0x87[7:0] = 0x00.
    5. Write 0x90[0] = 1’b1.
    6. Read 0x8A[7]. It should be 1.
    7. Read 0x8B[0] until it changes to 0.
    8. Write 0x8A[7] to 1 to clear the 0x8A[7] flag.
  12. Enable the PMA TX output.
    1. Write 0x84[7:0] = 0x07.
    2. Write 0x85[7:0] = 0x00.
    3. Write 0x86[7:0] = 0x01.
    4. Write 0x87[7:0] = 0x00.
    5. Write 0x90[0] = 1’b1.
    6. Read 0x8A[7]. It should be 1.
    7. Read 0x8B[0] until it changes to 0.
    8. Write 0x8A[7] to 1 to clear the 0x8A[7] flag.