Kumar, Now you've got me curious. Just what, exactly, is a "continuous analog waveform" - in terms of something that we can describe and manipulate using a computer? 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 C. Kumar Sent: Friday, May 16, 2008 8:20 AM To: Akshaye Sama; ibis-macro@xxxxxxxxxxxxx Subject: [ibis-macro] Re: Question about the sliding window algorithm From th eda tool perspective the wave form is a continuous analog wave form which is sampled at a certain rate decided by the eda tool/user. so if Tx mode requires 64 samples and the rx require 32, then the eda tool has to produce two different wave vectors sampled at those intervals. also what happens when the devices become more complex and internally they require both 64 samples/bit and 32 bit samples/bit.? That is one of the reason i believe it is best to treat the waveform at the interface as continuous analog waveform Akshaye Sama <akshaye.sama@xxxxxx> wrote: Thanks for your reply Kumar. Are there specific reasons for " I am of the view the sampling is internal to the model and EDA tool should not be doing something special thing for each model. Such an activity will only a promote a false sense of simplicity and will end up reducing the robustness of both the eda tool and the model" If the model just exports what it supports for minimum wave_size and the sample_interval(not even required to be at run time) , the tool could just ensure that only the supported values are used. Although the values of sample_interval and wave_size will be model specific, the algorithm that the tool uses for selecting wave_size and sample_interval need not be model specific. This would mean that model does not need interpolation or buffering(some minor buffering would be required to ensure wave continuity between the AMI_Getwave calls). 1)Consider a case where TX used 64x sample_interval internally and RX also uses the same. The EDA tool has no way of finding out that this is the best sample_interval setting. Although the most logical value is 64x, this may not be visible to users. 2)if the model exports the minimum wave_size it requires to process, this would remove the requirement of buffering to collect samples for processing. Rgds, Akshaye C. Kumar wrote: akashaye: You are right . ami model has to be sophisticated and must have 1. internal buffering yes you may have to collect data form multiple getwave before the model can do anything useful 2. in a realistic case you do not expect the wave_size to change between calls. But you are right, as it stands today the model is not guaranteed constant size form call to call. also as you have already figured, resampling is very crucial. Buffering and resampling merits careful attention from the ami model developer. Proper implementation of these two features is a must for robust eda-ami_model interaction. I am of the view the sampling is internal to the model and EDA tool should not be doing something special thing for each model. Such an activity will only a promote a false sense of simplicity and will end up reducing the robustness of both the eda tool and the model Akshaye Sama <mailto:akshaye.sama@xxxxxx> <akshaye.sama@xxxxxx> wrote: AMI experts, As the wave_size is an input to the AMI_Getwave, I think the model should be capable of accepting any number for this parameter. Hence, it should also be capable of 1) collecting data from multiple calls if the data from one call is not sufficient for it to process - buffering. (no minimum specified, so theoretical cases of wave_size = 1 are also possible!) 2) dealing with this parameter varying with each call to the AMI_Getwave in a simulation. So, not assuming that the wave_size remains constant over the simulation. A very related thing is that sample_interval is also an input to the AMI model (AMI_Init). Hence, any model must also be capable of interpolation, if it internally works on a constant sample_interval. Both for increasing or reducing the sample_interval for internal use. Practically, i can see that many Serdes RX models would be operating on a constant sample_interval internally. Both the above complexities (buffering and possibly interpolation) will be in the AMI model (possibly, EACH AMI model). I'm thinking about additional model verification complexity because of the above two variables. To have these functions in the execution environment/EDA tool would be another possibility. Was it considered? Thanks, Akshaye Muranyi, Arpad wrote: Todd and Kumar, Thanks for your messages. My conclusion from your words is that the intent was certainly to support multiple calls to GetWave. In fact, the whole purpose of architecting Init, GetWave and Close the way it is seemed to have happened to allow multiple calls to GetWave and then do the Close when it is all over. However, I can't seem to find much on this in BIRD104.1 and this bothers me. Please tell me if I am missing something, but if this is not explained in the BIRD, consequently in the IBIS specification, we will get all kinds of models in which people will forget to write the additional code to make the multiple calls work properly. So I would suggest that if we all agree that this should be a required feature for each AMI model, we should write some text to spell it out (if this is indeed missing). The above sentence made me think once again. Does it really have to be required? After all, there is a parameter called wave_size in the arguments. But wave_size and the total length of the waveform may not be the same. So who decides what the wave_size is, the EDA tool, or the model? Seems like the EDA tool when it calls the GetWave function. If it was the model, then the model could tell the EDA tool how to deal with multiple calls. Should we do something along these lines? On the other hand, if the capability of doing multiple calls to GetWave is required, I would also request that the Cadence Rx model should be updated with that feature included. We should set a good example in models which are used to teach the newcomers to this not so easy modeling task... Thanks, Arpad ============================================================ -- -------------------------------------------------------------------------- Akshaye Sama Texas Instruments Ltd 800, Pavilion Drive, Northampton NN4 7YL United Kingdom. Ph +44-1604-663804 -------------------------------------------------------------------------- --------------------------------------------------------------------- IBIS Macro website : http://www.eda.org/pub/ibis/macromodel_wip/ IBIS Macro reflector: //www.freelists.org/list/ibis-macro To unsubscribe send an email: To: ibis-macro-request@xxxxxxxxxxxxx Subject: unsubscribe -- -------------------------------------------------------------------------- Akshaye Sama Texas Instruments Ltd 800, Pavilion Drive, Northampton NN4 7YL United Kingdom. Ph +44-1604-663804 --------------------------------------------------------------------------