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

  • From: Darshan Shah <D.Shah@xxxxxx>
  • To: "twesterh@xxxxxxxxxx" <twesterh@xxxxxxxxxx>, "ibis-macro@xxxxxxxxxxxxx" <ibis-macro@xxxxxxxxxxxxx>
  • Date: Thu, 27 Feb 2014 17:51:13 +0000

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<http://www.sisoft.com>
6 Clock Tower Place * Suite 250 * Maynard, MA 01754
(978) 461-0449 x124  *  twesterh@xxxxxxxxxx<mailto:twesterh@xxxxxxxxxx>

"I want to live like that"
                                             -Sidewalk Prophets

From: 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: 
vladimir_dmitriev-zdorov@xxxxxxxxxx<mailto:vladimir_dmitriev-zdorov@xxxxxxxxxx>;
 ibis-macro@xxxxxxxxxxxxx<mailto: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> 
[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<mailto: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: 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: ibis-macro@xxxxxxxxxxxxx<mailto: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: