Fangyi, Could you please clarify it? I agree that it might be reasonable to put the linear part of the model in Init and non-linear part in Getwave, so that together they characterize the model (statistical simulator uses only the linear part, while the pattern-dependent always uses both). But I strongly disagree that inside one model Init and GetWave can provide different approximations of the same algorithm (i.e. introducing double-counting), where statistical simulator uses Init and pattern-dependent simulator uses GetWave. I believe this behavior should be prohibited, since it makes the flow more complicated, and we can easily achieve the same result providing two different models (or having internal option to switch the model between the statistical and non-linear mode). If we have this simple rule (non-linear simulator we always uses Init and Getwave), the behavior of the EDA does not depend on the fact whether GetWave exists or not, and GetWaveExists flag becomes unnecessary (if the Simulator at some point figures out there is no GetWave, it just does not use it). Are we on the same page here? Best, Danil From: fangyi_rao@xxxxxxxxxxx [mailto:fangyi_rao@xxxxxxxxxxx] Sent: Wednesday, October 14, 2009 7:48 PM To: kumarchi@xxxxxxxxx; ibis-macro@xxxxxxxxxxxxx; dkirsanov@xxxxxxxxxx Subject: RE: [ibis-macro] Re: An AMI Overview Hi, Kumar; What if a model wants to support non-linear time domain simulation by GetWave and statistical simulation by returning a LTI approximation in Init? Thanks, Fangyi From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of C. Kumar Sent: Wednesday, October 14, 2009 4:23 PM To: ibis-macro@xxxxxxxxxxxxx; dkirsanov@xxxxxxxxxx Subject: [ibis-macro] Re: An AMI Overview i agree.. if the model modifies the init it is the only thing it should be doing. there should not be any getwave --- On Wed, 10/14/09, Danil Kirsanov <dkirsanov@xxxxxxxxxx> wrote: From: Danil Kirsanov <dkirsanov@xxxxxxxxxx> Subject: [ibis-macro] Re: An AMI Overview To: ibis-macro@xxxxxxxxxxxxx Date: Wednesday, October 14, 2009, 6:59 PM Dear colleagues, I would like to clarify one basic principle of AMI modeling, hoping that all of us agree with it. I believe that the model writer should never do a double-counting: if he modified the channel impulse response in Init() to model some effect, he should not model this effect in Getwave(). So he cannot put the “true” model in GetWave() and it’s linear approximation in Init(). If both types of behavior are expected, there should be two models (or some internal flag that changes the behavior of the model). If this assumption is true, statistical (linear) simulator always works with Init() function of the model, while pattern-dependent (non-linear) simulator works with both Init() and GetWave() and I do not see any necessity for Get_Wave_Exists flag. Best, Danil