Greg, On Page 158, the introduction to application scenarios makes it quite clear. I highlighted in red the core point that the output of Init and the output of GetWave are "independent representations of the device's equalization". There are two fundamental ways of analyzing SerDes channels - statistical and time domain. Statistical (e.g. StatEye) makes an LTI approximation of the equalization, and allows for simulating large numbers of UI and therefore predicting BER ~1e-12 to 1e-18. Most Tx and Rx can accurately be modeled with the LTI approximation. Time domain simulations are limited to 1e6 to 1e8 UI, and therefore are unable to predict BER <1e-8 without extrapolation of bathtub curves, something that can easily be shown to be unreliable. Bottom line is that Statistical allows accurate prediction of small BER, time-domain can be more accurate, but cannot predict small BER accurately. "Dual models" allow the user to choose the appropriate method of simulation, depending on the problem he is trying to solve. 10.2 Application Scenarios The next two sections provide an overview of the two simulation types supported for algorithmic models by the IBIS specification. Statistical simulations require that the algorithm in the executable model file is linear and time-invariant (LTI). Time domain simulations do not have this requirement. Therefore executable model files used in time domain simulations may also contain non-linear and/or time-variant (non-LTI) algorithms. System simulations will commonly involve a transmitter (Tx) and a receiver (Rx) executable model file, each of which may perform filtering in the AMI_Init function, the AMI_GetWave function, or both (i.e., a "dual" algorithmic model). In the case of a "dual" algorithmic model, the filtering functionality in the AMI_Init and AMI_GetWave functions are each intended to be independent representations of the device's equalization. Users of a dual model can elect to use either the AMI_Init or AMI_GetWave filtering functionality, but not combine both simultaneously. While the primary purpose of the AMI_Init function is to perform the required initialization steps, it may also include LTI signal processing algorithms. Therefore, statistical simulations may be performed using the AMI_Init function alone. Even though time domain simulations may also be performed with the LTI AMI_Init and/or LTI AMI_GetWave functions, AMI_GetWave functions containing non-LTI algorithms may only be simulated in the time domain. Walter From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Ambrish Varma Sent: Tuesday, April 30, 2013 2:35 PM To: gedlund@xxxxxxxxxx; ibis-macro@xxxxxxxxxxxxx Subject: [ibis-macro] Re: Init_Returns_Impulse Greg, If GetWave_Exists = TRUE, Getwave is supposed to do any equalization for the time domain waveform that it will receive. Init will only perform equalization on the impulse response. The idea for such models is that they can be used for both statistical (Init based) AND time domain (Getwave based) processing. If you think that it is slightly confusing - then I agree with you. Thanks, Ambrish. From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Gregory R Edlund Sent: Tuesday, April 30, 2013 2:15 PM To: ibis-macro@xxxxxxxxxxxxx Subject: [ibis-macro] Init_Returns_Impulse If Init_Returns_Impulse = TRUE and GetWave_Exists = TRUE, what is GetWave supposed to do? It can't do any equalization, right? Equalization is happening in Init if Init_Returns_Impulse = TRUE. Thanks in advance. Greg Edlund Senior Engineer Signal Integrity and System Timing IBM Systems & Technology Group 3605 Hwy. 52 N Bldg 050-3 Rochester, MN 55901