JESD204B Intel® Stratix® 10 FPGA IP Design Example User Guide

ID 683758
Date 10/14/2022
Public
Document Table of Contents

1.1.4.2. Hardware Test for System Console Control Design Example

Perform the following instructions to run the hardware test for the design example.
Note: This hardware test assumes that the System Console Control design is configured in duplex mode. Make your own modifications if using simplex mode design.
  1. Launch the System Console tool from Intel® Quartus® Prime (Tools > System Debugging Tools > System Console).
  2. In the TCL Console command prompt, type get_service_paths master to print a list of devices connected to your JTAG chain.
  3. Open the main.tcl Tcl script located in the System Console directory in any text editor of your choice and locate the following line.
    set master_index [expr {$master_list_length - <your offset>}]
  4. Adjust the master_index offset as necessary to reflect your JTAG chain configuration such that the master_index always points to the Intel® Stratix® 10 device and save the file.
  5. In the TCL Console command prompt, navigate to the system_console directory (cd system_console) and execute the main.tcl script (source main.tcl). Your TCL Console window should resemble the following figure.
    Figure 7. Source main.tcl
  6. Type start_basic_test at the command prompt to execute the link setup and test procedure.
    This procedure executes a set of instructions to set up the pattern generator and checker to transmit and check PRBS pattern, configure the JESD204B IP PHY internal serial loopback mode and report link status.
    The following figure illustrates the expected result from a successful link setup and test.
    Figure 8. Successful Test in the System Console
  7. In the event that the test fails due to a lane deskew error, use the rbd_offset procedure (described in the following table) to offset the default RBD setting. Refer to the JESD204B Intel® FPGA IP User Guide for more details on using the RBD offset.
    Table 6.  Procedures in the main.tcl System Console Script The table describes useful procedures in the main.tcl that may be helpful in debugging.
    Procedure Values Description
    get_service_paths {master} Reports all devices that are connected to the JTAG chain. Use this information to set the master index to point to the Intel® Stratix® 10 device
    get_master_index N/A Set the targeted device master index. Use get_service_paths master to determine the offset of the Intel® Stratix® 10 device in the JTAG chain, and edit the offset in this procedure accordingly.
    start_basic_test N/A Main procedure that sets up link serial loopback mode, pattern generator and checker test mode, pulses sysref and reports link status
    reset N/A Global reset
    force_link_frame_reset {0,1}

    0: Deassert link and frame resets

    1: Assert and hold link and frame resets

    Note: Link and frame clock domains should be held in reset while writing to JESD204B IP CSR
    sloopback {0,1}

    0: Disable internal serial loopback

    1: Enable internal serial loopback

    det_etile 1 {0,1}

    0: Calls load_adaptation_PMA_configuration for external serial loopback

    1: Calls load_adaptation_PMA_configuration for internal serial loopback

    set_testmode {alt, ramp, prbs}

    alt: Set pattern generator and checker to alternate pattern

    ramp: Set pattern generator and checker to ramp pattern

    prbs: Set pattern generator and checker to PRBS pattern

    rbd_offset {integer} Adjust RBD offset value to eliminate RX lane deskew error.
    sysref N/A Single pulse sysref
    read_status_pio N/A

    Read status PIO registers. PIO status configuration:

    Bit 0 — Core PLL locked

    Bit 1 — TX transceiver ready

    Bit 2 — RX transceiver ready

    Bit 3 — Pattern checker mismatch error

    Bit 4 — TX link error (use read_err_status procedure to report error description)

    Bit 5 — RX link error (use read_err_status procedure to report error description)

    read_err_status N/A Read JESD204B IP error status registers. Refer to the JESD204B IP register maps for detailed description of status registers.
    clear_err_status N/A Clear JESD204B IP error status registers
    read_rx_status0 N/A Read JESD204B IP rx_status0 register. Refer to the JESD204B IP register maps for detailed description of status registers
    read_tx_status0 N/A Read JESD204B IP tx_status0 register. Refer to the JESD204B IP register maps for detailed description of status registers.
    read_rx_syncn_sysref_ctrl N/A Read JESD204B IP syncn_sysref_ctrl register. Refer to the JESD204B IP register maps for detailed description of status registers
    wait_seconds {integer} Wait for {integer} seconds
    wait_minutes {integer} Wait for {integer} minutes
    run_load_PMA_configuration 1 N/A Loads transceiver calibration presets
    load_adaptation_PMA_configuration 1 {0,1}

    0: Disables internal serial loopback

    1: Enables internal serial loopback

    1. Runs set operation mode. Checks if loopback and PRBS settings match the design requirements.
    2. Polls registers 0x207, 0x80 = operation passed, and 0x81 = operation failed.
    3. Runs load PMA configuration and load PMA configuration status check (0x40144 and 0x40143) if you turn on Enable adaptation load soft IP in the parameter editor.
    4. Starts calibration. Checks if loopback mode, load recipe enable, and PRBS settings match the design requirements. If PRBS is disabled, ensure that there is data sent from the core before starting calibration.
    5. Polls registers 0x207, 0x80 = operation passed, and 0x81 = operation failed.
    6. Runs check_cal_stat.
      • Sets registers 0x203, 0x202, 0x201, and 0x200 to 0x97000001
      • Polls registers 0x207, 0x80 = operation passed, and 0x81 = operation failed
      • Reads register 0x204. 0x80 indicates successful calibration
1 Applicable only for Intel® Stratix® 10 E-tile devices.