Thanks Todd for the "truth table". I think it makes sense, but I wonder what approach we should take to fix the spec. Here is the problem. As the spec is written now, there is no mention that Use_Init_Output applies to time domain simulations only. As a consequence, the first two cases you describe come across as having two controls which have basically the same effect, i.e. duplicate controls. After having gone through the email thread last week I understand now that this was not the intent, but the spec can be interpreted this way without fixing it. So the question is this: We can tailor the spec to the controls or the controls to the spec. Which way should we try to fix this? Should we just change the explanation text in the spec to reflect these intentions and then draw the flow diagrams accordingly, or should try to find a flow diagram that may work in both time domain and statistical modes with perhaps eliminating one or the other of these Booleans? To be honest, I really don't like these two controls the way they do almost the same, and that their name doesn't reflect what the real difference is between them, i.e. that one is only effecting time domain simulations but the other affects both... Thanks, Arpad ======================================================================== ________________________________ From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Todd Westerhoff Sent: Friday, April 23, 2010 3:13 PM To: ibis-macro@xxxxxxxxxxxxx Subject: [ibis-macro] Re: What happens when Init_Returns_Impulse = False? Arpad, Sorry for the delay in reply. Given: Use_Init_Output only applies to Time Domain simulation, Then: Init_Returns_Impulse = False, Use_Init_Output = False, Getwave_Exists = True and Init_Returns_Impulse = True, Use_Init_Output = False, Getwave_Exists = True are functionally equivalent from a Time Domain simulation point of view. Extra credit: the two cases are not the same from a Statistical simulation point of view. The eye produced by the first case will not include the model's equalization, while the eye produced by the second case will. Therefore, models that conform to: Init_Returns_Impulse = True, Use_Init_Output = False, Getwave_Exists = True Fully support both Statistical and Time Domain simulation. Is that the answer to the question you were asking? Todd. ________________________ Todd Westerhoff VP, Software Products SiSoft 6 Clock Tower Place, Suite 250 Maynard, MA 01754 (978) 461-0449 x24 twesterh@xxxxxxxxxx www.sisoft.com ________________________________ From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad Sent: Thursday, April 22, 2010 7:31 PM To: IBIS-ATM Subject: [ibis-macro] Re: What happens when Init_Returns_Impulse = False? Todd, In that case, how is Init_Returns_Impulse = False different from Use_Init_Output = False? I admit, I may have to brainwash myself now with the recent revelations about section 2.3, but I would appreciate your (or any one else's) insight on this one... Thanks, Arpad =================================================== ________________________________ From: Todd Westerhoff [mailto:twesterh@xxxxxxxxxx] Sent: Thursday, April 22, 2010 12:13 PM To: Muranyi, Arpad; 'IBIS-ATM' Subject: RE: [ibis-macro] What happens when Init_Returns_Impulse = False? All, As I understand it, Init is expected to modify the impulse response in place in memory. The simulator passes the model a pointer to the impulse response, and uses that same pointer to access the result when the Init call returns control to the simulator. If the model doesn't touch the impulse response at all, it's there in memory just as the simulator supplied it. Todd. ________________________ Todd Westerhoff VP, Software Products SiSoft 6 Clock Tower Place, Suite 250 Maynard, MA 01754 (978) 461-0449 x24 twesterh@xxxxxxxxxx www.sisoft.com ________________________________ From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad Sent: Thursday, April 22, 2010 12:00 PM To: IBIS-ATM Subject: [ibis-macro] What happens when Init_Returns_Impulse = False? I would like to get some ideas from the authors of the AMI specification on what the intent was when Init_Returns_Impulse = False. I would also like to get some suggestions on what the Init function should return when Init_Returns_Impulse = False. Options: - return the same thing that was sent into Init - return impulse response of the filter - return uninitialized memory (garbage or noise) It seems that either the first or second answer may be the correct one if I consider that the calculations are supposed to be done "in place", i.e. in the same memory space where the input was placed. If nothing is done, the memory will still contain the input data in that place. If something is done, like returning the filter only impulse response, we will get that in that memory space. It is hard to turn that memory space into uninitialized memory, unless we use a random number generator to do something that can mimic that effect. Thanks, Arpad ======================================================