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