This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DS110DF111: Eye Pattern Issue

Part Number: DS110DF111

Hi expert,

My customer is using DS110DF111SQ in their new project. Customer wants to optimize the quality of the eye pattern in the red box below. What registers can be configured? The value of the register is configured through the UART port, but the eye pattern does not change.

RETIMER CHANNEL B眼图寄存器配置不生效_20240301.xlsx

Do you have some comments about this? Many thanks!
In addition, regarding the eye diagram in the picture, which registers can be adjusted to improve it?

BR,

Jiaqi

  • Hi Jiaqi,

    DS110DF111 has an auto-adaptation procedure which is expected to automatically determine the best CTLE and DFE settings for optimized eye opening. There are many register settings which can be used to modify this auto-adaptation procedure, but I need to better understand the customer's system to know which settings should be considered. Can you answer the following questions?

    1. What is the customer's name?
    2. What data rate and pattern is being transmitted to the retimer?
    3. How much insertion loss is on the receiver of each channel?
    4. With the current settings, is the output eye failing system eye opening requirements?
    5. Can you share a full register dump of each channel for review?

    In the excel file shared, I see 2 separate configuration sequences.

    1. VOD = 600 mVpp (0x2D=0x80, default), number of DFE settings to look-beyond current best FOM = 2 (0x2C=0x72, default).
    2. VOD = 1100 mVpp (0x2D=0x85), number of DFE settings to look-beyond current best FOM = 7 (0x2C=0x77)

    I noticed this second configuration is labeled as VOD=1100mV, DEM=-12dB. Note that register 0x2C does not control de-emphasis setting. Register 0x15[2:0] can be used to set driver de-emphasis. I do not recommend modifying register 0x2C from its default setting as this will change the auto-adaptation sequence.

    Can you clarify, are these 2 configuration sequences used on different retimers or different channels on the same retimer? Or are they both being applied to the same channel to compare how the output eye changes?

    Best,

    Lucas

  • Hi Zou,

    Did you have a question on this topic?

    Thanks,

    Drew

  • Hi  Lucas,

       Thanks for you support.

       I am the retimer user from CIG in China. As bleow is the details for your question.

    What data rate and pattern is being transmitted to the retimer?

    --Datarate: 10.3125 Gbps, pattern:NRZ

    Can you share a full register dump of each channel for review?
    --As blow is register value of retimer.
    Test status:
    The SFP keeps link at 10 Gbps.
    Control and Shared Register

    root@raptor2:~# i2cset -f -y 1 0x70 0x04
    root@raptor2:~# i2cset -f -y 1 0x70 0x04
    root@raptor2:~# i2cget -f -y 1 0x18 0x01
    0x60
    root@raptor2:~#
    root@raptor2:~# i2cget -f -y 1 0x18 0x00
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x01
    0x60
    root@raptor2:~# i2cget -f -y 1 0x18 0x04
    0x01
    root@raptor2:~# i2cget -f -y 1 0x18 0x05
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x06
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x07
    0x04
    root@raptor2:~# i2cget -f -y 1 0x18 0xFF
    0x00


    CHANNEL A REGISTER;
    Serders path: SFP.RX--->RETIMER.CHA--->CPU.RX
    root@raptor2:~# i2cset -f -y 1 0x18 0xff 0x04
    root@raptor2:~#
    root@raptor2:~# i2cget -f -y 1 0x18 0x00
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x01
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x02
    0xdc
    root@raptor2:~# i2cget -f -y 1 0x18 0x03
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x04
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x05
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x06
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x07
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x08
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x09
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x0A
    0x10
    root@raptor2:~# i2cget -f -y 1 0x18 0x0B
    0x0f
    root@raptor2:~# i2cget -f -y 1 0x18 0x0C
    0x08
    root@raptor2:~# i2cget -f -y 1 0x18 0x0D
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x0E
    0x93
    root@raptor2:~# i2cget -f -y 1 0x18 0x0F
    0x69
    root@raptor2:~# i2cget -f -y 1 0x18 0x10
    0x3a
    root@raptor2:~# i2cget -f -y 1 0x18 0x11
    0x20
    root@raptor2:~# i2cget -f -y 1 0x18 0x12
    0xa0
    root@raptor2:~# i2cget -f -y 1 0x18 0x13
    0x90
    root@raptor2:~# i2cget -f -y 1 0x18 0x14
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x15
    0x10
    root@raptor2:~# i2cget -f -y 1 0x18 0x16
    0x7a
    root@raptor2:~# i2cget -f -y 1 0x18 0x17
    0x25
    root@raptor2:~# i2cget -f -y 1 0x18 0x18
    0x40
    root@raptor2:~# i2cget -f -y 1 0x18 0x19
    0x23
    root@raptor2:~# i2cget -f -y 1 0x18 0x1A
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x1B
    0x03
    root@raptor2:~# i2cget -f -y 1 0x18 0x1C
    0x24
    root@raptor2:~# i2cget -f -y 1 0x18 0x1D
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x1E
    0xe1
    root@raptor2:~# i2cget -f -y 1 0x18 0x1F
    0x55
    root@raptor2:~# i2cget -f -y 1 0x18 0x20
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x21
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x22
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x23
    0x40
    root@raptor2:~# i2cget -f -y 1 0x18 0x24
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x25
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x26
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x27
    0x2f
    root@raptor2:~# i2cget -f -y 1 0x18 0x28
    0x72
    root@raptor2:~# i2cget -f -y 1 0x18 0x29
    0x40
    root@raptor2:~# i2cget -f -y 1 0x18 0x2A
    0x30
    root@raptor2:~# i2cget -f -y 1 0x18 0x2B
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x2C
    0x72
    root@raptor2:~# i2cget -f -y 1 0x18 0x2D
    0x80
    root@raptor2:~# i2cget -f -y 1 0x18 0x2E
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x2F
    0x06
    root@raptor2:~# i2cget -f -y 1 0x18 0x30
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x31
    0x40
    root@raptor2:~# i2cget -f -y 1 0x18 0x32
    0x11
    root@raptor2:~# i2cget -f -y 1 0x18 0x33
    0x88
    root@raptor2:~# i2cget -f -y 1 0x18 0x34
    0xbf
    root@raptor2:~# i2cget -f -y 1 0x18 0x35
    0x1f
    root@raptor2:~# i2cget -f -y 1 0x18 0x36
    0x33
    root@raptor2:~# i2cget -f -y 1 0x18 0x37
    0x04
    root@raptor2:~# i2cget -f -y 1 0x18 0x38
    0x10
    root@raptor2:~# i2cget -f -y 1 0x18 0x39
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x3A
    0xa5
    root@raptor2:~# i2cget -f -y 1 0x18 0x3B
    0x33
    root@raptor2:~# i2cget -f -y 1 0x18 0x3C
    0x8d
    root@raptor2:~# i2cget -f -y 1 0x18 0x3D
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x3E
    0x80
    root@raptor2:~# i2cget -f -y 1 0x18 0x3F
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x40
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x41
    0x40
    root@raptor2:~# i2cget -f -y 1 0x18 0x42
    0x80
    root@raptor2:~# i2cget -f -y 1 0x18 0x43
    0x50
    root@raptor2:~# i2cget -f -y 1 0x18 0x44
    0xc0
    root@raptor2:~# i2cget -f -y 1 0x18 0x45
    0x90
    root@raptor2:~# i2cget -f -y 1 0x18 0x46
    0x54
    root@raptor2:~# i2cget -f -y 1 0x18 0x47
    0xa0
    root@raptor2:~# i2cget -f -y 1 0x18 0x48
    0xb0
    root@raptor2:~# i2cget -f -y 1 0x18 0x49
    0x95
    root@raptor2:~# i2cget -f -y 1 0x18 0x4A
    0x69
    root@raptor2:~# i2cget -f -y 1 0x18 0x4B
    0xd5
    root@raptor2:~# i2cget -f -y 1 0x18 0x4C
    0x99
    root@raptor2:~# i2cget -f -y 1 0x18 0x4D
    0xa5
    root@raptor2:~# i2cget -f -y 1 0x18 0x4E
    0xe6
    root@raptor2:~# i2cget -f -y 1 0x18 0x4F
    0xf9
    root@raptor2:~# i2cget -f -y 1 0x18 0x50
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x51
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x52
    0xc0
    root@raptor2:~# i2cget -f -y 1 0x18 0x53
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x54
    0x80
    root@raptor2:~# i2cget -f -y 1 0x18 0x55
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x56
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x57
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x58
    0xb0
    root@raptor2:~# i2cget -f -y 1 0x18 0x59
    0x95
    root@raptor2:~# i2cget -f -y 1 0x18 0x5A
    0xe9
    root@raptor2:~# i2cget -f -y 1 0x18 0x5B
    0xd5
    root@raptor2:~# i2cget -f -y 1 0x18 0x5C
    0x99
    root@raptor2:~# i2cget -f -y 1 0x18 0x5D
    0xa5
    root@raptor2:~# i2cget -f -y 1 0x18 0x5E
    0xe6
    root@raptor2:~# i2cget -f -y 1 0x18 0x5F
    0xf9
    root@raptor2:~# i2cget -f -y 1 0x18 0x60
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x61
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x62
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x63
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x64
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x65
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x66
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x67
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x68
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x69
    0x0a
    root@raptor2:~# i2cget -f -y 1 0x18 0x6A
    0x44
    root@raptor2:~# i2cget -f -y 1 0x18 0x6B
    0x40
    root@raptor2:~# i2cget -f -y 1 0x18 0x6C
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x6D
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x6E
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x6F
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x70
    0x03
    root@raptor2:~# i2cget -f -y 1 0x18 0x71
    0x06
    root@raptor2:~# i2cget -f -y 1 0x18 0x72
    0x10
    root@raptor2:~# i2cget -f -y 1 0x18 0x73
    0x10
    root@raptor2:~# i2cget -f -y 1 0x18 0x74
    0x10
    root@raptor2:~# i2cget -f -y 1 0x18 0x75
    0x12
    root@raptor2:~#


    CHANNEL B REGISTER;
    Serders path: CPU.TX--->RETIMER.CHB--->SFP.TX
    root@raptor2:~# i2cset -f -y 1 0x18 0xff 0x05
    root@raptor2:~#
    root@raptor2:~# i2cget -f -y 1 0x18 0x00
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x01
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x02
    0xdc
    root@raptor2:~# i2cget -f -y 1 0x18 0x03
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x04
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x05
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x06
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x07
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x08
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x09
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x0A
    0x10
    root@raptor2:~# i2cget -f -y 1 0x18 0x0B
    0x0f
    root@raptor2:~# i2cget -f -y 1 0x18 0x0C
    0x08
    root@raptor2:~# i2cget -f -y 1 0x18 0x0D
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x0E
    0x93
    root@raptor2:~# i2cget -f -y 1 0x18 0x0F
    0x69
    root@raptor2:~# i2cget -f -y 1 0x18 0x10
    0x3a
    root@raptor2:~# i2cget -f -y 1 0x18 0x11
    0x20
    root@raptor2:~# i2cget -f -y 1 0x18 0x12
    0xa0
    root@raptor2:~# i2cget -f -y 1 0x18 0x13
    0x90
    root@raptor2:~# i2cget -f -y 1 0x18 0x14
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x15
    0x10
    root@raptor2:~# i2cget -f -y 1 0x18 0x16
    0x7a
    root@raptor2:~# i2cget -f -y 1 0x18 0x17
    0x25
    root@raptor2:~# i2cget -f -y 1 0x18 0x18
    0x40
    root@raptor2:~# i2cget -f -y 1 0x18 0x19
    0x23
    root@raptor2:~# i2cget -f -y 1 0x18 0x1A
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x1B
    0x03
    root@raptor2:~# i2cget -f -y 1 0x18 0x1C
    0x24
    root@raptor2:~# i2cget -f -y 1 0x18 0x1D
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x1E
    0xe1
    root@raptor2:~# i2cget -f -y 1 0x18 0x1F
    0x55
    root@raptor2:~# i2cget -f -y 1 0x18 0x20
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x21
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x22
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x23
    0x40
    root@raptor2:~# i2cget -f -y 1 0x18 0x24
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x25
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x26
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x27
    0x3a
    root@raptor2:~# i2cget -f -y 1 0x18 0x28
    0x96
    root@raptor2:~# i2cget -f -y 1 0x18 0x29
    0x40
    root@raptor2:~# i2cget -f -y 1 0x18 0x2A
    0x30
    root@raptor2:~# i2cget -f -y 1 0x18 0x2B
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x2C
    0x72
    root@raptor2:~# i2cget -f -y 1 0x18 0x2D
    0x80
    root@raptor2:~# i2cget -f -y 1 0x18 0x2E
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x2F
    0x06
    root@raptor2:~# i2cget -f -y 1 0x18 0x30
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x31
    0x40
    root@raptor2:~# i2cget -f -y 1 0x18 0x32
    0x11
    root@raptor2:~# i2cget -f -y 1 0x18 0x33
    0x88
    root@raptor2:~# i2cget -f -y 1 0x18 0x34
    0xbf
    root@raptor2:~# i2cget -f -y 1 0x18 0x35
    0x1f
    root@raptor2:~# i2cget -f -y 1 0x18 0x36
    0x33
    root@raptor2:~# i2cget -f -y 1 0x18 0x37
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x38
    0x10
    root@raptor2:~# i2cget -f -y 1 0x18 0x39
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x3A
    0xa5
    root@raptor2:~# i2cget -f -y 1 0x18 0x3B
    0x33
    root@raptor2:~# i2cget -f -y 1 0x18 0x3C
    0x8d
    root@raptor2:~# i2cget -f -y 1 0x18 0x3D
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x3E
    0x80
    root@raptor2:~# i2cget -f -y 1 0x18 0x3F
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x40
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x41
    0x40
    root@raptor2:~# i2cget -f -y 1 0x18 0x42
    0x80
    root@raptor2:~# i2cget -f -y 1 0x18 0x43
    0x50
    root@raptor2:~# i2cget -f -y 1 0x18 0x44
    0xc0
    root@raptor2:~# i2cget -f -y 1 0x18 0x45
    0x90
    root@raptor2:~# i2cget -f -y 1 0x18 0x46
    0x54
    root@raptor2:~# i2cget -f -y 1 0x18 0x47
    0xa0
    root@raptor2:~# i2cget -f -y 1 0x18 0x48
    0xb0
    root@raptor2:~# i2cget -f -y 1 0x18 0x49
    0x95
    root@raptor2:~# i2cget -f -y 1 0x18 0x4A
    0x69
    root@raptor2:~# i2cget -f -y 1 0x18 0x4B
    0xd5
    root@raptor2:~# i2cget -f -y 1 0x18 0x4C
    0x99
    root@raptor2:~# i2cget -f -y 1 0x18 0x4D
    0xa5
    root@raptor2:~# i2cget -f -y 1 0x18 0x4E
    0xe6
    root@raptor2:~# i2cget -f -y 1 0x18 0x4F
    0xf9
    root@raptor2:~# i2cget -f -y 1 0x18 0x50
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x51
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x52
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x53
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x54
    0x80
    root@raptor2:~# i2cget -f -y 1 0x18 0x55
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x56
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x57
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x58
    0xb0
    root@raptor2:~# i2cget -f -y 1 0x18 0x59
    0x95
    root@raptor2:~# i2cget -f -y 1 0x18 0x5A
    0x69
    root@raptor2:~# i2cget -f -y 1 0x18 0x5B
    0xd5
    root@raptor2:~# i2cget -f -y 1 0x18 0x5C
    0x99
    root@raptor2:~# i2cget -f -y 1 0x18 0x5D
    0xa5
    root@raptor2:~# i2cget -f -y 1 0x18 0x5E
    0xe6
    root@raptor2:~# i2cget -f -y 1 0x18 0x5F
    0xf9
    root@raptor2:~# i2cget -f -y 1 0x18 0x60
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x61
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x62
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x63
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x64
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x65
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x66
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x67
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x68
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x69
    0x0a
    root@raptor2:~# i2cget -f -y 1 0x18 0x6A
    0x44
    root@raptor2:~# i2cget -f -y 1 0x18 0x6B
    0x40
    root@raptor2:~# i2cget -f -y 1 0x18 0x6C
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x6D
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x6E
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x6F
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x70
    0x03
    root@raptor2:~# i2cget -f -y 1 0x18 0x71
    0x00
    root@raptor2:~# i2cget -f -y 1 0x18 0x72
    0x10
    root@raptor2:~# i2cget -f -y 1 0x18 0x73
    0x10
    root@raptor2:~# i2cget -f -y 1 0x18 0x74
    0x10
    root@raptor2:~# i2cget -f -y 1 0x18 0x75
    0x10

    1. How much insertion loss is on the receiver of each channel?

    Answer:  The insertion loss of receiver of Channle B is  -2.47( net name:SOC_RETIMER_L1_0_TX_P/N);

    The insertion loss of receiver of Channle A is  -0.87 ( net name:SFP_RETIMER_RX_P/N);

    As below is the simulation data:

  • Hi Zou,

    Thank you for answering my questions and sharing this register dump. Allow me to review and get back to you by COB Wednesday 4/10.

    Best,

    Lucas

  • Hi Zou,

    I reviewed your register dump and noted the following.

    • Both channels are using adapt mode 2 (default setting): adapt CTLE till optimal, then DFE, then CTLE again (0x31=0x40)
    • chA adapted to CTLE index 4, chB adapted to CTLE index 0 (reg 0x52). These values make sense for short receiver channels (2.47 dB @ 5.15 GHz on chA, 0.87 dB @ 5.15 GHz on chB).
    • chA DFE tap weights are mostly 0 with small weights added to tap 1 and tap 5. chB DFE tap weights are entirely 0 (regs 0x71-0x75). These values make sense for short receiver channels.
    • chA HEO measured at the retimer is 0.73 UI, chB HEO is 0.91 UI (reg 0x27). These are very good HEO values.
    • chA VEO measured at the retimer is 356 mV, chB VEO is 469 mV (reg 0x28). These are very good VEO values.
    • Both channels have de-emphasis = 0 dB (default), VOD = 600 mVpp (default) (regs 0x15 and 0x2D).

    The HEO and VEO values reported by the retimer are significantly better than the scope screenshots Jiaqi previously shared (HEO = 0.518 UI, VEO = 212 mV). I have a few questions to better understand this difference in measured eye opening.

    1. Where is the scope capturing the eye opening? Is there some channel with insertion loss between the retimer transmitter and the scope probes?
    2. Over several retimer bringups and scope eye opening measurements, does the eye quality remain consistent with the screenshots shared?
    3. What are the minimum HEO and VEO requirements of the SFP and CPU in your system?

    Best,

    Lucas

  • Hi  Lucas,

       Thanks for you support.

    1. Where is the scope capturing the eye opening? Is there some channel with insertion loss between the retimer transmitter and the scope probes? ------>Answer:I will check with the internal team,and offer more details for you.
    2. Over several retimer bringups and scope eye opening measurements, does the eye quality remain consistent with the screenshots shared? ------>Answer:Yes
    3. What are the minimum HEO and VEO requirements of the SFP and CPU in your system?  ------>Answer:The requirements follow SFF-8431 Spec.
  • Hi Zou,

    Thank you for answering my questions and checking in with your team.

    I found the following host receiver and module receiver eye mask specifications in the SFF-8431 spec. Based on values X1 and Y1, I found that both the host receiver and module receiver require HEO > 0.3 UI and VEO > 300 mV. Can you confirm if these are the correct requirements for your system?

    Based on the following eye diagram which was previously shared by Jiaqi, I see that you measured HEO = 0.518 UI and VEO = 212 mV. Assuming this was measured at the host receiver or module receiver, I see that VEO is below the minimum requirement. Can you confirm if this is correct?

    My suggestion to improve VEO is to try increasing the VOD setting. This is configured in register 0x2D[2:0].

    Best,

    Lucas