SNLU293A December   2022  – December 2022 DS560DF810

 

  1.   DS560DF810EVM User's Guide
  2.   Trademarks
  3. 1Hardware Description and Setup
    1. 1.1 Required Hardware
    2. 1.2 General Hardware Test Setup Procedure
    3. 1.3 Hardware Configuration to use Onboard 25 MHz Oscillator for CAL_CLK_IN
  4. 2Software Description
    1. 2.1 Software Installation Sequence
    2. 2.2 Latte Functional Overview
    3. 2.3 Useful Latte Short-Cuts
    4. 2.4 DS560DF810EVM Initialization Through the Latte GUI
      1. 2.4.1 Connect Latte to Board
      2. 2.4.2 Compile Libraries
      3. 2.4.3 Example: Programming DS560DF810EVM for 26.5625 GBd PAM4 Test Case
      4. 2.4.4 Retimer Configuration
      5. 2.4.5 Retimer “Useful Functions” (Contained in the usefulFunctions.py Latte Script)
      6. 2.4.6 Vertical Eye Monitor
  5. 3Test Case Examples
    1. 3.1 Transmitter Test Case – EVM Board Output Evaluation for 26.5625 GBd PAM4 Data
    2. 3.2 Receiver Test Case – High Loss Input Channel to Retimer EVM, 26.5625 GBd PAM4
  6. 4Supplemental Documents
  7. 5EVM Cable Assemblies
  8. 6Revision History

Example: Programming DS560DF810EVM for 26.5625 GBd PAM4 Test Case

In this step, the retimer device on the DS560DF810EVM is programmed. The procedure to program the EVM are as follows:

  1. Ensure CAL_CLK_IN has 25 MHz input clock signal.

  2. Provide a valid input signal to the DUT retimer channel.

  3. Execute “setup.py” (user may select file on side panel and click F5).

  4. Execute “devinit.py” (user may select file on side panel and click F5).

  5. Execute “1_bringupParams.py” after entering the desired 26.5625 GBd retimer settings for the “Bringup Parameters” (see Figure 2-5).

    • Data rate is entered in unit of GBd.

    • PAM4 mode is enabled by setting system variable to 1.

    • For this case, PRBS31Q pattern is selected for Tx and Rx PRBS functions through value of 5.

  6. Execute the “bringupLib.py” script. This will load and apply a ROM patch before initializing all enabled retimer channels (see Figure 2-6).

    Note:

    At the end of the bring-up scripts, the variables “quad” and “ch” will be set corresponding to the last retimer channel enabled. The variables can be re-assigned according to the channel of interest by manually entering values in one of the Latte scripts.

    GUID-20221024-SS0I-W3LL-B71G-C1RQK6DZSTKH-low.png Figure 2-5 Latte GUI Snapshot Showing the User Configurable Retimer Parameters from the “1_bringupParams.py” Script
    GUID-20221024-SS0I-CR1M-ZC3Q-VP367Q7SBNQT-low.png Figure 2-6 Example Latte GUI Log Window Snapshot Showing ROM Patch Load and Channel Initialization
  7. If the retimer channel in question is intended to serve as Tx PRBS generator for retimer Tx to retimer Rx link tests, the “usefulFunctions.py” script may be used to configure this channel accordingly (see Figure 2-7).

    • Go to “Configure transmitter” section of “usefulFunctions.py”.

    • Set parameter mode=2 for “transmit PRBS pattern”.

    • Set the numeric value for the “pattern” variable for the desired pattern.

    • The user may highlight the “configure transmitter” command lines on the Latte window and click on F7 to execute only those commands.

    GUID-20221024-SS0I-ZKGP-G1ZK-JTWW2T7F2NTC-low.png Figure 2-7 Latte GUI Snapshot Showing the “usefulFunctions.py” User Parameters
  8. In the case that a sub rate clock input is supplied to the retimer channel, an alternate script “subRateClkIn.py” should be run in place of “2_bringupLib.py”. This allows the retimer channel to always observe CDR lock in cases where phase lock is achieved prior to frequency lock.

subRateClkIn.py (for use in Latte scripting window).

### Hardware reset
if(setupInfo==0):
    ds560.hardReset();
delay(0.5);

### Software reset and I2C check
resetStat=ds560.softReset();

### Device bringup Call

[quadToOn,channelToInitArr]=ds560.getChannelArr();

if(resetStat):
    bringupStat=ds560.deviceBringup();

quad=0;ch=0;
ds560.channelInitSubRateInput(quad,ch);