Visible to Intel only — GUID: gep1674131418472
Ixiasoft
1. About the Serial Lite IV Intel® FPGA IP User Guide
2. Serial Lite IV Intel® FPGA IP Overview
3. Functional Description
4. Getting Started
5. Parameters
6. Serial Lite IV Intel® FPGA IP Interface Signals
7. Designing with Serial Lite IV Intel® FPGA IP
8. Serial Lite IV Intel® FPGA IP Registers
9. Serial Lite IV Intel® FPGA IP User Guide Archives
10. Document Revision History for the Serial Lite IV Intel® FPGA IP User Guide
Visible to Intel only — GUID: gep1674131418472
Ixiasoft
3.4.3.1. Starting the PMA Adaptation Flow
For E-tile Serial Lite IV Intel FPGA IP core variations, perform the following steps to start the PMA adaptation:
- Assert the TX, RX Digital Resets (tx_pcs_fec_phy_reset_n, rx_pcs_fec_phy_reset_n, tx_core_rst_n, rx_core_rst_n) and reconfiguration reset (reconfig_reset) signals. Release the reconfiguration reset (reconfig_reset) signal.
- Trigger the PMA analog reset and re-load the initial PMA settings.
- Write 0x200[7:0] = 0x00.
- Write 0x201[7:0] = 0x00.
- Write 0x202[7:0] = 0x00.
- Write 0x203[7:0] = 0x81.
- Read 0x207 until it becomes 0x80. This indicates that the operation completed successfully.
- Write 0x91[0] = 1 to load the initial settings in the programming file.
- Apply the control status registers (CSR) Reset (csr_phy_reset_n) signal and de-assert the CSR Reset (csr_phy_reset_n) signal.
- De-assert the TX Digital reset (tx_pcs_fec_phy_reset_n) and (tx_core_rst_n) signals.
- Configure the Attenuation Value (VOD) (skip this step if using internal serial loopback).
- Write 0x84[7:0] = 0x01.
- Write 0x85[7:0] = 0x40.
- Write 0x86[7:0] = 0x15.
- Write 0x87[7:0] = 0x00.
- Write 0x90[0] = 1’b1.
- Read 0x8A[7]. It should be 1.
- Read 0x8B [0] until it changes to 0.
- Write 0x8A[7] to 1 to clear the 0x8A[7] flag.
- Set the operation mode, enable Internal Serial Loopback Mode via PMA attribute code. Attribute = 0x8, data = 0x101.
- Write 0x84[7:0] = 0x01.
- Write 0x85[7:0] = 0x01.
- Write 0x86[7:0] = 0x08.
- Write 0x87[7:0] = 0x00.
- Write 0x90[0] = 1’b1.
- Read 0x8A[7]. It should be 1.
- Read 0x8B[0] until it changes to 0.
- Write 0x8A[7] to 1'b1 to clear the 0x8A[7] value.
- Perform Initial Adaptation in Serial Loopback Mode. Attribute = 0xA, data = 0x1.
- Write 0x84[7:0] = 0x01.
- Write 0x85[7:0] = 0x00.
- Write 0x86[7:0] = 0x0A.
- Write 0x87[7:0] = 0x00.
- Write 0x90[0] = 1'b1.
- Read 0x8A[7]. It should be 1.
- Read 0x8B[0] until it changes to 0.
- Write 0x8A[7] to 1'b1 to clear the 0x8A[7] value.
- Verify that the initial adaptation status is complete using interrupt code. Attribute = 0x0126, data = 0x0B00.
- Write 0x84[7:0] = 0x00.
- Write 0x85[7:0] = 0x0B.
- Write 0x86[7:0] = 0x26.
- Write 0x87[7:0] = 0x01.
- Write 0x90[0] = 1'b1.
- Read 0x8A[7]. It should be 1.
- Read 0x8B[0] until it changes to 0.
- Write 0x8A[7] to 1'b1 to clear the 0x8A[7] value.
- Read register 0x88. Repeat Step 8 until 0x88[0] = 0, to confirm that adaptation is no longer in process.
- Enable mission mode and disable internal serial loopback (skip this step if using internal serial loopback). Attribute = 0x8, data = 0x100.
- Write 0x84[7:0] = 0x00.
- Write 0x85[7:0] = 0x01.
- Write 0x86[7:0] = 0x08.
- Write 0x87[7:0] = 0x00.
- Write 0x90[0] = 1'b1.
- Read 0x8A[7]. It should be 1.
- Read 0x8B[0] until it changes to 0.
- Write 0x8A[7] to 1'b1 to clear the 0x8A[7] value.
- Run initial adaptation via PMA attribute code (skip this step if using internal serial loopback). Attribute = 0xA, data = 0x1.
- Write 0x84[7:0] = 0x01.
- Write 0x85[7:0] = 0x00.
- Write 0x86[7:0] = 0x0A.
- Write 0x87[7:0] = 0x00.
- Write 0x90[0] = 1'b1.
- Read 0x8A[7]. It should be 1.
- Read 0x8B[0] until it changes to 0.
- Write 0x8A[7] to 1'b1 to clear the 0x8A[7] value.
- Verify that the initial adaptation status is complete using interrupt code (skip this step if using internal serial loopback). Attribute = 0x0126, data = 0x0B00.
- Write 0x84[7:0] = 0x00.
- Write 0x85[7:0] = 0x0B.
- Write 0x86[7:0] = 0x26.
- Write 0x87[7:0] = 0x01.
- Write 0x90[0] = 1'b1.
- Read 0x8A[7]. It should be 1.
- Read 0x8B[0] until it changes to 0.
- Write 0x8A[7] to 1'b1 to clear the 0x8A[7] value.
- Read register 0x88. Repeat Step 11 until 0x88[0] = 0, to confirm that adaptation is no longer in process.
- Perform Continuous adaptation via PMA attribute code (skip this step if using internal serial loopback). Attribute = 0xA, data = 0x6.
- Write 0x84[7:0] = 0x06.
- Write 0x85[7:0] = 0x00.
- Write 0x86[7:0] = 0x0A.
- Write 0x87[7:0] = 0x00.
- Write 0x90[0] = 1'b1.
- Read 0x8A[7]. It should be 1.
- Read 0x8B[0] until it changes to 0.
- Write 0x8A[7] to 1'b1 to clear the 0x8A[7] value.
- De-assert RX Digital reset (rx_pcs_fec_phy_reset_n) and (rx_core_rst_n) signals.
- Verify that the link status signals (tx_link_up) and (rx_link_up) transitions high. If the link status signals are not high, repeat all the steps above.
- Send packets.
Figure 25. Reset and Adaptation Flow Sequence