[ibis-macro] Re: Simulate with Init_Impuse_Return on RX and GetWave on TX

  • From: Todd Westerhoff <twesterh@xxxxxxxxxx>
  • To: "Dmitriev-Zdorov, Vladimir" <vladimir_dmitriev-zdorov@xxxxxxxxxx>, <ibis-macro@xxxxxxxxxxxxx>
  • Date: Thu, 27 Feb 2014 15:03:34 -0500 (EST)

Vladimir,

 

I understand what you're saying - this is the much debated "de-convolution
issue" also known as "the sticky bit". And yes, some tools do indeed do
that.

 

The issue in this case is the RX model's auto-equalization. It equalizes
based on an impulse response that doesn't include the TX EQ, and when the
TX EQ is added in during Getwave processing, the signal ends up being
over-equalized.

 

Todd.

 

Todd Westerhoff

VP, Semiconductor Relations

Signal Integrity Software Inc. . www.sisoft.com

6 Clock Tower Place . Suite 250 . Maynard, MA 01754

(978) 461-0449 x124  .  twesterh@xxxxxxxxxx

 

"I want to live like that"

                                             -Sidewalk Prophets

 

From: Dmitriev-Zdorov, Vladimir
[mailto:vladimir_dmitriev-zdorov@xxxxxxxxxx] 
Sent: Thursday, February 27, 2014 2:41 PM
To: twesterh@xxxxxxxxxx; ibis-macro@xxxxxxxxxxxxx
Subject: RE: Simulate with Init_Impuse_Return on RX and GetWave on TX

 

Todd,

 

I believe that the AMI flow described in 5.1 spec addresses this case (Tx
has GetWave but Rx has Init only).

If Rx Init returns properly updated impulse response, there is a way for
the EDA tool to account for Rx equalization in statistical analysis. Or
course, we assume that Init function properly applies equalization to IR.

 

Vladimir  

 

From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Todd Westerhoff
Sent: Thursday, February 27, 2014 11:31 AM
To: ibis-macro@xxxxxxxxxxxxx
Subject: [ibis-macro] Re: Simulate with Init_Impuse_Return on RX and
GetWave on TX

 

Darshan,

 

The Time-Domain analysis (including any RX auto EQ) will be correct, but
there is one thing worth noting - in the TX Init / RX Getwave case, any
Statistical simulation results will be missing the effect of the RX EQ. So
- although a  simulation will run and produce an eye diagram, you should
look at results for this case as though you were probing the RX die pad,
not the sampling latch.

 

The TX Init / RX Getwave combination is AMI Flows case 2.

 

Todd.

 

 

Todd Westerhoff

VP, Semiconductor Relations

Signal Integrity Software Inc. . www.sisoft.com

6 Clock Tower Place . Suite 250 . Maynard, MA 01754

(978) 461-0449 x124  .  twesterh@xxxxxxxxxx

 

"I want to live like that"

                                             -Sidewalk Prophets

 

From: Darshan Shah [mailto:D.Shah@xxxxxx] 
Sent: Thursday, February 27, 2014 12:51 PM
To: twesterh@xxxxxxxxxx; ibis-macro@xxxxxxxxxxxxx
Subject: RE: Simulate with Init_Impuse_Return on RX and GetWave on TX

 

Thanks Todd.

I have started checking with Serdes Vendor to get me other option model.

Also, I will try different RX equalization settings and run manual tuning
simulation.

 

Also one more question,

This will not be the case when TX is having Init_Return_Impulse and RX is
having GetWave Function.

 

Please confirm.

 

-Darshan

 

From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Todd Westerhoff
Sent: Thursday, February 27, 2014 7:10 AM
To: ibis-macro@xxxxxxxxxxxxx
Subject: [ibis-macro] Re: Simulate with Init_Impuse_Return on RX and
GetWave on TX

 

Darshan,

 

The issue here is that IBIS-AMI specifies a standard evaluation flow for
TX and RX algorithmic models, which isn't compatible with the models you
have and the assumptions they make.

 

Algorithmic models are evaluated in the following order:

 

1.       TX Init

2.       RX Init

3.       TX Getwave

4.       RX Getwave

 

There are no exceptions.  Thus, when your RX Init is called, the effects
of TX Equalization are not present, as you say. A RX Init model that
attempts to auto-set its EQ in this case will optimize itself based on a
channel without the TX EQ, as you also note.  Believe it or not, this
issue was discussed and documented back when IBIS-AMI flows were updated
in July 2010. Those flows became part of the standard with IBIS 5.1. For
reference, you can find a pictorial description of AMI flows at
http://bit.ly/1cpJPQt.  Your models are case 4 on slide 10.  

 

In your particular case, you have 3 options:

 

1.       Disable the RX auto-equalization and sweep the RX EQ settings
manually, then pick the best case from the results. Because the RX EQ is
LTI (you have an Init-only model), this will actually work, at the expense
of increased run time. Note that you will need a RX model that lets you
sweep the settings for the CTLE and the DFE taps, if a DFE is present.

2.       Use a TX model that supports Init, at which point the RX model is
getting the correct impulse response and auto EQ will work. This moves you
from case 4 to case 7 in AMI flows.

3.       Use a RX model that supports Getwave.  I put this last because RX
models are typically tougher for vendors to update than TX models. This
moves you from case 4 to case 6 in AMI flows.

 

I hope that helps!

 

Todd.

 

 

Todd Westerhoff

VP, Semiconductor Relations

Signal Integrity Software Inc. . www.sisoft.com

6 Clock Tower Place . Suite 250 . Maynard, MA 01754

(978) 461-0449 x124  .  twesterh@xxxxxxxxxx

 

"I want to live like that"

                                             -Sidewalk Prophets

 

From:  <mailto:ibis-macro-bounce@xxxxxxxxxxxxx>
ibis-macro-bounce@xxxxxxxxxxxxx [ <mailto:ibis-macro-bounce@xxxxxxxxxxxxx>
mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Darshan Shah
Sent: Wednesday, February 26, 2014 9:58 PM
To:  <mailto:vladimir_dmitriev-zdorov@xxxxxxxxxx>
vladimir_dmitriev-zdorov@xxxxxxxxxx;  <mailto:ibis-macro@xxxxxxxxxxxxx>
ibis-macro@xxxxxxxxxxxxx
Subject: [ibis-macro] Re: Simulate with Init_Impuse_Return on RX and
GetWave on TX

 

Hi Vladimir,

 

Your Comment "After Tx INIT, you have an equalized IR, and this is sent to
Rx INIT. Rx may add its own equalization"

No after TX_INIT, I don't have equalized IR and IR after TX is exactly
same as channel IR (as GetWave don't modify IR)

 

And hence, RX Init_Return_Impulse works on channel IR (which is
un-equalized from TX), so DFE and CTLE will try to equalize channel IR
(and not the TX equalized channel IR).

 

Once quick experiment I did:

 

GetWave TX Model  ------ >     Channel   ------ > Init_Return_Impulse RX
Model

 

If I change TX De-Emphasis Value, CTLE and DFE on RX side stays at the
same value for all the simulations.

 

-Darshan

 

From: ibis-macro-bounce@xxxxxxxxxxxxx
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Dmitriev-Zdorov,
Vladimir
Sent: Wednesday, February 26, 2014 5:21 PM
To: Darshan Shah; ibis-macro@xxxxxxxxxxxxx
Subject: [ibis-macro] Re: Simulate with Init_Impuse_Return on RX and
GetWave on TX

 

Darshan,

 

This is the case when the Rx's equalization effect should be separated
from Tx equalization.

After Tx INIT, you have an equalized IR, and this is sent to Rx INIT. Rx
may add its own equalization. However, since Tx also has GetWave which may
apply similar equalization to the input waveform, you need to "eliminate"
Tx equalization from the impulse response after it is updated by Rx. The
idea is that this IR should only contain equalization from Rx but not Tx
(since we don't have Rx GetWave but have Tx GetWave).

I don't know what is the tool you are using. The correct flow should be to
find the Rx equalization "filter" (i.e. an operator that creates Rx
equalization) and apply it to the original non-equalized IR. Then, use
this IR for the bit by bit analysis.

I believe this idea is described in 5.1 AMI flow.

 

Vladimir

 

From:  <mailto:ibis-macro-bounce@xxxxxxxxxxxxx>
ibis-macro-bounce@xxxxxxxxxxxxx [ <mailto:ibis-macro-bounce@xxxxxxxxxxxxx>
mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Darshan Shah
Sent: Wednesday, February 26, 2014 6:05 PM
To:  <mailto:ibis-macro@xxxxxxxxxxxxx> ibis-macro@xxxxxxxxxxxxx
Subject: [ibis-macro] Simulate with Init_Impuse_Return on RX and GetWave
on TX

 

Hi,

 

I have case in which TX and RX are from different vendors.

RX is Impulse_Init_Return only (No GetWave Function is available) and TX
is GetWave only (No Init_impuse_Return is available).

 

When I run this simulation, IR of passive channel and analog models of TX
and RX is created. Let's call it IR1 (Let say IL of channel is 20dB, so
IR1 is impulse response of 20dB IL)

Let say TX is set to -6dB de-emphasis.

IR1 is send to GetWave of TX model which outputs waveform which is 6dB
de-emphasized.

But IR1 is not affected due to Getwave function of TX.

 

What I have seen in the simulation is this IR1 is also send to RX
Init_Impuse_Return function and RX Equalizer works on 20dB channel rather
than 20dB + (-6dB de-Emphasis) channel. And hence I always get
over-equalized response in simulation.

 

What is solution to this?

 

Please help.

 

Thanks,

Darshan

 

Other related posts: