XOA Driver Logo

Table of Content

  • 1. Introduction
  • 2. Getting Started
  • 3. Script Example Library
  • 4. Understanding XOA Driver
  • 5. Test Resource Management
  • 6. Command Grouping
  • 7. Status Messages and Exceptions
  • 8. API Reference
    • 8.1. High-Level Functions
    • 8.2. High-Level API
      • 8.2.1. Summary
      • 8.2.2. Tester
      • 8.2.3. Module
      • 8.2.4. Port
        • Obtain
        • General
        • Traffic Generation
        • Layer 1 (Thor, Loki, Odin)
          • Energy Efficiency Ethernet
          • Fault
          • Link Flap
          • Transceiver
          • ANLT
            • Auto-Negotiation
            • Link Training
          • Medium
          • PCS
          • PMA
          • PRBS
        • Layer 1 (Freya)
        • Impairment
        • L47
      • 8.2.5. Stream
      • 8.2.6. Exception
      • 8.2.7. Enum
    • 8.3. Low-Level API
  • 9. Glossary of Terms
XOA Driver
  • 8. API Reference
  • 8.2. High-Level API
  • 8.2.4. Port
  • Layer 1 (Thor, Loki, Odin)
  • ANLT
  • Link Training

Link Training

Configuration

Link training settings

Corresponding low-level API class: PP_LINKTRAIN

# Link Training Settings
await port.pcs_pma.link_training.settings.set(
    mode=enums.LinkTrainingMode.DISABLED,
    pam4_frame_size=enums.PAM4FrameSize.P4K_FRAME,
    nrz_pam4_init_cond=enums.LinkTrainingInitCondition.NO_INIT,
    nrz_preset=enums.NRZPreset.NRZ_WITH_PRESET,
    timeout_mode=enums.TimeoutMode.DEFAULT)
await port.pcs_pma.link_training.settings.set(
    mode=enums.LinkTrainingMode.STANDALONE,
    pam4_frame_size=enums.PAM4FrameSize.P4K_FRAME,
    nrz_pam4_init_cond=enums.LinkTrainingInitCondition.NO_INIT,
    nrz_preset=enums.NRZPreset.NRZ_WITH_PRESET,
    timeout_mode=enums.TimeoutMode.DEFAULT)
await port.pcs_pma.link_training.settings.set(
    mode=enums.LinkTrainingMode.INTERACTIVE,
    pam4_frame_size=enums.PAM4FrameSize.P4K_FRAME,
    nrz_pam4_init_cond=enums.LinkTrainingInitCondition.NO_INIT,
    nrz_preset=enums.NRZPreset.NRZ_WITH_PRESET,
    timeout_mode=enums.TimeoutMode.DISABLED)
await port.pcs_pma.link_training.settings.set(
    mode=enums.LinkTrainingMode.START_AFTER_AUTONEG,
    pam4_frame_size=enums.PAM4FrameSize.P4K_FRAME,
    nrz_pam4_init_cond=enums.LinkTrainingInitCondition.NO_INIT,
    nrz_preset=enums.NRZPreset.NRZ_WITH_PRESET,
    timeout_mode=enums.TimeoutMode.DEFAULT)

resp = await port.pcs_pma.link_training.settings.get()
resp.mode
resp.pam4_frame_size
resp.nrz_pam4_init_cond
resp.nrz_preset
resp.timeout_mode

Per Serdes Status

Per lane Link training status

Corresponding low-level API class: PP_LINKTRAINSTATUS

# Link Training Serdes Status
resp = await port.pcs_pma.link_training.per_lane_status[0].get() # serdes lane 0
resp.mode
resp.failure
resp.status
Previous Next

© Copyright 2025, Teledyne LeCroy Xena.