[ibis-macro] Re: AMI-init should pass modified IR to getwave....

  • From: "Todd Westerhoff" <twesterh@xxxxxxxxxx>
  • To: <ibis-macro@xxxxxxxxxxxxx>
  • Date: Fri, 15 Jun 2012 08:55:32 -0400 (EDT)

Kukal,



Simply having termination located at the die pad isn’t enough.  What matters 
is where the input buffer (or “high impedance node”, as Vladimir so 
elegantly stated) is located.  If the RDL is between the die pad and input 
buffer, then you have the same problem you always had, and the analysis isn’t 
valid.



You already have a solution to the need you posited.  Save the RDL IR inside 
your model and convolve it into Getwave.  You don’t need anything additional 
from IBIS at all, and you’ll have an IBIS 5.1 compliant model.



My take-aways from this discussion are:



·         We never needed Use_Init_Output at all, because of the technique 
that Mike Steinberger proposed

·         When we did define Use_Init_Output, we were wrong to define it 
with a default value of “True”

·         We were right to deprecate Use_Init_Output and reduce the 
complexity of the AMI reference flow



As for BIRD 120, is has been approved and incorporated into IBIS 5.1.  If 
you intend to pursue this, you’ll need to write a new BIRD and present it to 
the Tuesday ATM group.



Thanks,



Todd.



Description: cid:EAFF2D52-4B63-4A05-9D24-B96BE375B7E0@eau.wi.charter.com



Todd Westerhoff

VP, Software Products



Signal Integrity Software Inc. •  <http://www.sisoft.com/> www.sisoft.com

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

(978) 461-0449 x24  •   <mailto:twesterh@xxxxxxxxxx> twesterh@xxxxxxxxxx





“I want to live like that ”

                                             -Sidewalk Prophets





From: ibis-macro-bounce@xxxxxxxxxxxxx 
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Taranjit Kukal
Sent: Thursday, June 14, 2012 11:56 PM
To: ibis-macro@xxxxxxxxxxxxx
Subject: [ibis-macro] Re: AMI-init should pass modified IR to getwave....



Hi All,

I realize that the confusion came due to my response to Todd’s query on 
termination when I said “Rx is at the buffer i/p so RDL essentially becomes 
additional channel”. This was interpreted as termination being inside 
silicon. The termination is on die-pad and this should allow me to 
convolute.



Now summarizing:



1.       Discussion got digressed by recommendations on how this case should 
be handled. This particular case has been handled by bringing modified-IR 
into getwave through data-structure (exactly like what Mike Steinberger 
suggested). Just to provide you detail on this case….. Different RDL (on 
silicon interposer) cases were captured as IRs and intent was that AMI model 
provides recommendation on what RDL cases would allow enough eye – so it was 
more of using AMI for exploration. Different IRs (representing RDL) were 
used to modify given board-channel. It was more like getting 1st cut 
estimates on RDL budget. Getwave was used to estimate the eye covering all 
sweeps of IRs. I would not like to disclose more than this though J

2.       Irrespective of this use-case, I would request you not to focus on 
solving this case but to resolve the intent where we are likely to have 
cases where it becomes valid to have modified-IR decide the getwave 
waveform.

a.       We are talking for cases where we are purely statistical or purely 
time-domain. Why are we forgetting that the modeling can be at various 
levels of abstractions and it is incorrect to limit things. Depending on 
requirement (verification or exploration), accuracy-level needs and input 
data available, model-maker would want to have a model that is a combination 
of IR-convolutions (init) and time-domain filtering (getwave).

b.      If it is being mentioned that convolution could be done in getwave 
(by passing IR programmatically) then as a argument, we could say that 
getwave should have original stimulus – why should “wave” be the convolution 
of “input-stimulus with channel-IR” and that it be done by model-maker.

c.       The whole idea is to provide enough flexibility to model-maker  to 
use init and getwave in conjunction to allow modeling at various level of 
abstractions.

d.      I agree with BIRD120 intent that we need to have a way to do pure 
statistical-flow and hence o/p of init should be what goes as final o/p to 
EDA tool for results and that we wanted to differentiate LTI v/s  non-LTI 
flows.. But the solution to this intent should not have been limiting. 
Model-makers would know what to use when….

3.       PLEASE NOTE that CADENCE was co-author to BIRD120 but as we 
discussed more internally, we found that we revisit this. Unfortunately, I 
have not seen a single justification strong enough on why we deprecated 
“Use_Init_Output”.



Anyways, thanks for all the comments…..





Cheers

..kukal





From: ibis-macro-bounce@xxxxxxxxxxxxx 
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of fangyi_rao@xxxxxxxxxxx
Sent: Thursday, June 14, 2012 11:20 PM
To: twesterh@xxxxxxxxxx; ibis-macro@xxxxxxxxxxxxx
Subject: [ibis-macro] Re: AMI-init should pass modified IR to getwave....



Hi, Kubal;



I agree with Todd and Vladimir that you can’t simply convolve RDL IR with 
channel IR. If you do that, you will miss the reflection between channel and 
RDL. In the analog world, your RDL IR actually depends on the rest of the 
circuit including the channel, and therefore can’t be pre-calculated. It has 
to be included as part of the analog channel.



I also agree with Walter, Mike and Vladimir that splitting an algorithmic 
model between IR and GetWave function is unnecessary. You can always perform 
filtering inside GetWave. Unless you have 1000 taps, a FIR filter is not 
going to take too much CPU time. If you do have 1000 taps, there are other 
ways to speed up filter convolution.



Regards,

Fangyi



From: ibis-macro-bounce@xxxxxxxxxxxxx 
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Todd Westerhoff
Sent: Thursday, June 14, 2012 9:52 AM
To: ibis-macro@xxxxxxxxxxxxx
Subject: [ibis-macro] Re: AMI-init should pass modified IR to getwave....



Taranjit,



Convolving the RDL IR with the channel IR will still not give you the 
effects of reflections and ISI.  You need to model the RDL properly and 
include it the circuit analysis that derives the impulse response in the 
first place. If you don’t, you’ve violated the fundamental premise that AMI 
is based on.



I don’t see the point in discussing modeling approaches that don’t 
accurately represent actual circuit physics.



Todd.



Description: cid:EAFF2D52-4B63-4A05-9D24-B96BE375B7E0@eau.wi.charter.com

Todd Westerhoff

VP, Software Products



Signal Integrity Software Inc. • www.sisoft.com <http://www.sisoft.com/>

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

(978) 461-0449 x24  •  twesterh@xxxxxxxxxx





“I want to live like that ”

                                             -Sidewalk Prophets





From: Taranjit Kukal [mailto:kukal@xxxxxxxxxxx]
Sent: Thursday, June 14, 2012 11:56 AM
To: 'twesterh@xxxxxxxxxx'; 'ibis-macro@xxxxxxxxxxxxx'
Subject: Re: [ibis-macro] Re: AMI-init should pass modified IR to 
getwave....



Hi Todd,
That is why RDL IR is to be convoluted with channel to get overall IR. And I 
would have loved to pass this to EDA tool that provides me resultant wave in 
getwave for further processing (as against doing my own sampling and 
convolution in getwave)

Somehow, it is not very convincing that we take away the flexibility by 
isolating init and getwave.

The only reason I see for deprecating “Use_Init_Output” was to allow 
statistical flow to work independently ...was there any other reason that I 
am missing?

If not, then we should have had two IR outputs to EDA tool from Init - one 
for statistical and one for further getwave processing (at the same time 
allowing IBIS5 compatibity)

Rgds






From: Todd Westerhoff [mailto:twesterh@xxxxxxxxxx]
Sent: Thursday, June 14, 2012 08:13 PM
To: Taranjit Kukal; ibis-macro@xxxxxxxxxxxxx <ibis-macro@xxxxxxxxxxxxx>
Subject: RE: [ibis-macro] Re: AMI-init should pass modified IR to 
getwave....


Tananjit,



This therefore violates the basic assumption of AMI … that the channel is 
fully described in the impulse response passed to TX_Init.



Attempting to model the RDL after the fact in the algorithmic model will 
eliminate any of the reflections / ISI caused by the interaction of the RDL 
with the channel.



The RDL needs to be part of the channel model used to generate the impulse 
response.



Todd.



Description: cid:EAFF2D52-4B63-4A05-9D24-B96BE375B7E0@eau.wi.charter.com

Todd Westerhoff

VP, Software Products



Signal Integrity Software Inc. • www.sisoft.com <http://www.sisoft.com/>

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

(978) 461-0449 x24  •  twesterh@xxxxxxxxxx





“I want to live like that ”

                                             -Sidewalk Prophets





From: Taranjit Kukal [mailto:kukal@xxxxxxxxxxx]
Sent: Thursday, June 14, 2012 10:37 AM
To: 'twesterh@xxxxxxxxxx'; 'ibis-macro@xxxxxxxxxxxxx'
Subject: Re: [ibis-macro] Re: AMI-init should pass modified IR to 
getwave....



Hi Todd,
Your description of RDL is correct.
Rx is at the buffer i/p so RDL essentially becomes additional channel.

Rgds



From: Todd Westerhoff [mailto:twesterh@xxxxxxxxxx]
Sent: Thursday, June 14, 2012 07:09 PM
To: 'IBIS-ATM' <ibis-macro@xxxxxxxxxxxxx>
Subject: [ibis-macro] Re: AMI-init should pass modified IR to getwave....


Taranjit,



When you say “On chip RDL”, are you specifically talking about the 
interconnect between the die pad and the buffer itself?  Where is the 
receiver termination physically taking place?



Todd.



Description: cid:EAFF2D52-4B63-4A05-9D24-B96BE375B7E0@eau.wi.charter.com

Todd Westerhoff

VP, Software Products



Signal Integrity Software Inc. • www.sisoft.com <http://www.sisoft.com/>

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

(978) 461-0449 x24  •  twesterh@xxxxxxxxxx





“I want to live like that ”

                                             -Sidewalk Prophets





From: ibis-macro-bounce@xxxxxxxxxxxxx 
[mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Taranjit Kukal
Sent: Thursday, June 14, 2012 2:04 AM
To: 'IBIS-ATM'
Subject: [ibis-macro] AMI-init should pass modified IR to getwave....



Hi All,

When I was implementing AMI model, I found a situation where it was 
important that Rx ami_init needed to pass modified-IR to getwave function.

Reason was that Chip-RDL-routing was available as Impulse-Responses.

Removal for “Use_Init_Output” to make Statistical-flow independent of 
Transient-flow,  is going to break the original intent where init and 
getwave were supposed to work in conjunction with each other handling linear 
and non-linear filtering portions respectively (as shown below)



cid:image001.png@01CD49C5.F040DCA0



I would go back to Arpad’s suggestion (year 2010) for having two 
Impulse-responses coming out of ami_init

-          One that goes to EDA tool for statistical flow

-          One that gets passed to getwave to allow splitting of 
modeling-effort across init and getwave and make things easy for linear 
filters.



BIRD120 was brought up that deprecates use of “use_init_output” with a view 
to keep statistical and time-domain simulations independent. But as I think 
more, we need to allow both capabilities. It absolutely does not make sense 
to implement simple linear filters within getwave when we can convolute the 
filter-IR with channel-IR. We should take all steps to make modeling easy 
and ensure enough flexibility.



This way, we cover both the scenarios – those who want to leverage init as 
complement to getwave and those who want to keep statistical-flow purely 
independent. Since this does not bring any disadvantage, I strongly feel 
that we all re-consider outputting two modified-IRs out of init function – 
one for statistical-flow and another one to complement getwave filtering.





Rgds

..kukal



GIF image

PNG image

Other related posts: