Todd, I read the question more in terms of simulation ('perform'). So - you are correct. Models are allowed to 'provide' equalization - but when it comes to the actual simulation time - then only 1 of them can actually be 'performing' the equalization. Thanks, -Ambrish. [cid:image003.gif@01CD01F0.55492C10] Ambrish Varma | Member of Consulting Staff P: 978.262.6431 www.cadence.com<http://www.cadence.com> ________________________________ From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Todd Westerhoff Sent: Wednesday, March 14, 2012 2:30 PM To: ibis-macro@xxxxxxxxxxxxx Subject: [ibis-macro] Re: AMI_GetWave & AMI_Init (Dumbo Questions) Ambrish, I think we're mixing definitions on item #3. I read this question as asking if a model is not allowed to provide equalization in both Init in Getwave. Your answer was yes. The correct answer is no. To be clear (and to eliminate the double negative) - AMI models are allowed to provide equalization in both Init and Getwave. In fact, it's not only allowed, it's encouraged. Todd. 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<mailto:twesterh@xxxxxxxxxx> "Three in the morning and I'm still awake, So I picked up a pen and a page ... " -Sidewalk Prophets From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Ambrish Varma Sent: Friday, March 09, 2012 5:49 PM To: gedlund@xxxxxxxxxx; ibis-macro@xxxxxxxxxxxxx; ibis-macro-bounce@xxxxxxxxxxxxx Subject: [ibis-macro] Re: AMI_GetWave & AMI_Init (Dumbo Questions) Greg, Let me take a crack at this one: Q) Why not just forget about AMI_GetWave and use AMI_Init to do all the heavy lifting? A) The (main) input to AMI_Init is the Impulse Response which captures the 'static' characteristics of the channel and is, by definition, linear. When the model gets that as an input, it can do 'some lifting' that can be approximated as linear and send it back to the EDA tool. Many complex algorithms are non-linear (adaptive equalization, CDR etc) and cannot be captured in a linear Imp Response. The Getwave is designed to receive actual raw time domain data samples that allow the model to perform some serious heavy lifting. In summary, the AMI_Init was only meant to do 'light lifting' and can, at best, approximate the 'heavy lifting'. BTW - You got 1,2 and 3 right. Thanks, Ambrish. [cid:image003.gif@01CD01F0.55492C10] Ambrish Varma | Member of Consulting Staff P: 978.262.6431 www.cadence.com<http://www.cadence.com> ________________________________ From: ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx> [mailto:ibis-macro-bounce@xxxxxxxxxxxxx]<mailto:%5bmailto:ibis-macro-bounce@xxxxxxxxxxxxx%5d> On Behalf Of Gregory R Edlund Sent: Friday, March 09, 2012 3:25 PM To: ibis-macro@xxxxxxxxxxxxx<mailto:ibis-macro@xxxxxxxxxxxxx>; ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx> Subject: [ibis-macro] Re: AMI_GetWave & AMI_Init (Dumbo Questions) Thanks Arpad & Mike. So... 1. TX and RX algorithmic models must both have AMI_Init functions. 2. AMI_GetWave functions are optional for both TX and RX algorithmic models. 3. Either AMI_Init or AMI_GetWave can perform equalization, but not both. Did I get that right? Next Bozo Question: why not just forget about AMI_GetWave and use AMI_Init to do all the heavy lifting? (I'm not suggesting we change anything here -- just trying to figure things out by asking obtuse questions!) Greg Edlund Senior Engineer Signal Integrity and System Timing IBM Systems & Technology Group 3605 Hwy. 52 N Bldg 050-3 Rochester, MN 55901 [cid:image006.gif@01CD01F0.55492C10]"Muranyi, Arpad" ---03/09/2012 01:10:32 PM---Greg, #1) AMI_GetWave is optional, its existence is totally From: "Muranyi, Arpad" <Arpad_Muranyi@xxxxxxxxxx<mailto:Arpad_Muranyi@xxxxxxxxxx>> To: "ibis-macro@xxxxxxxxxxxxx<mailto:ibis-macro@xxxxxxxxxxxxx>" <ibis-macro@xxxxxxxxxxxxx<mailto:ibis-macro@xxxxxxxxxxxxx>> Date: 03/09/2012 01:10 PM Subject: [ibis-macro] Re: AMI_GetWave & AMI_Init (Dumbo Questions) Sent by: ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx> ________________________________ Greg, #1) AMI_GetWave is optional, its existence is totally up to the model maker. They would typically include a GetWave function in the model if they want to be able to do time domain analysis with the model. The Init function is only useful for statistical analysis. #2) AMI_Init is required. It serves the purpose of setting up some memory related stuff, but in addition to that it can also perform filtering. The Init function is not required to include any filtering algorithms, but it is required to for initialization. #3) AMI_GetWave was defined in the original AMI specification (in v5.0). There are a few BIRDs for v5.1 which mention AMI_GetWave, most notably the "AMI Flow BIRD", BIRD 120.1 #4) I don't recall any BIRDs for v5.1 which deal with AMI_Init, but it may be mentioned in some. I hope this answers your questions. Thanks, Arpad ======================================================== From: ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx> [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Gregory R Edlund Sent: Friday, March 09, 2012 12:39 PM To: ibis-macro@xxxxxxxxxxxxx<mailto:ibis-macro@xxxxxxxxxxxxx> Subject: [ibis-macro] AMI_GetWave & AMI_Init (Dumbo Questions) 1. Under what conditions might AMI_GetWave not exist? 2. Under what conditions might AMI_Init not exist? 3. Is AMI_GetWave defined in any of the 5.1 BIRDs? 4. Is AMI_Init defined in any of the 5.1 BIRDs? Greg Edlund Senior Engineer Signal Integrity and System Timing IBM Systems & Technology Group 3605 Hwy. 52 N Bldg 050-3 Rochester, MN 55901