[ibis-macro] Re: An AMI Overview

  • From: "C. Kumar" <kumarchi@xxxxxxxxx>
  • To: ibis-macro@xxxxxxxxxxxxx, Arpad_Muranyi@xxxxxxxxxx
  • Date: Thu, 15 Oct 2009 12:02:08 -0700 (PDT)

what i meant was te eda tool has to call getwave multiole times with blocks of 
waveform. 

--- On Thu, 10/15/09, Muranyi, Arpad <Arpad_Muranyi@xxxxxxxxxx> wrote:

From: Muranyi, Arpad <Arpad_Muranyi@xxxxxxxxxx>
Subject: [ibis-macro] Re: An AMI Overview
To: ibis-macro@xxxxxxxxxxxxx
Date: Thursday, October 15, 2009, 2:40 PM



 
Kumar,
 
I can see why you want to split the task of 
GetWave
into different blocks of algorithms.  But that 
could
still be done within a single function called 
GetWave
which may have different partitions (or sub 
function
calls) inside.  I don't see how this would justify 
Init,
(a truly initializing function) to perform 
signal
processing...
 
Arpad
========================================================



From: C. Kumar [mailto:kumarchi@xxxxxxxxx] 

Sent: Thursday, October 15, 2009 1:35 PM
To: 
ibis-macro@xxxxxxxxxxxxx; Muranyi, Arpad
Subject: Re: [ibis-macro] Re: 
An AMI Overview




  
  
    algorithms using getwave are usually more complicated and 
      may not be required for all devices. Further more getwave is usually 
      called multiple times and  so programming is also more involved and 
      there is a need to use persistent data structures

that is the 
      reason the api is split into two main calls

--- On Thu, 
      10/15/09, Muranyi, Arpad <Arpad_Muranyi@xxxxxxxxxx> 
      wrote:

      
From: 
        Muranyi, Arpad <Arpad_Muranyi@xxxxxxxxxx>
Subject: [ibis-macro] 
        Re: An AMI Overview
To: ibis-macro@xxxxxxxxxxxxx
Date: Thursday, 
        October 15, 2009, 2:28 PM


        
        Why can't the channel info be fed directly into 
        GetWave?
        Why can't the parameters be fed into GetWave 
        directly?
        Why does the Init function do any convolutions (i.e. 
        signal
        processing) if its purpose is the above 
        two?
         
        Arpad
        ============================================================

        
        
        From: C. Kumar 
        [mailto:kumarchi@xxxxxxxxx] 
Sent: Thursday, October 15, 2009 
        1:24 PM
To: ibis-macro@xxxxxxxxxxxxx; Muranyi, 
        Arpad
Subject: Re: [ibis-macro] Re: An AMI 
        Overview


        
        
          
          
            
              i do not thing that the fundamental issue 
              here is the question of doing lti or non lti analysis. the init 
              function gives the device the channel info (impulse response). 
              another important function of the init is to deliver the device 
              parameters. 

This delivery of parameters is equally or even 
              more important. if the device has getwave then it simply returns 
              the wave form. it may elect to choose the channel information it 
              obtained in the init or may not.

--- On Thu, 10/15/09, 
              Muranyi, Arpad <Arpad_Muranyi@xxxxxxxxxx> 
              wrote:

              
From: 
                Muranyi, Arpad <Arpad_Muranyi@xxxxxxxxxx>
Subject: 
                [ibis-macro] Re: An AMI Overview
To: 
                ibis-macro@xxxxxxxxxxxxx
Date: Thursday, October 15, 2009, 
                2:08 PM


                
                



                Oh well...  I will throw in my $ 
                0.02 worth on this topic.
                 
                I think we are mixing two things here, 
                and our terminology
                doesn't help either.  One is that 
                we have this notion of
                "Init", meaning initializing the 
                computer memory, etc... in
                a computer science sense, and the other 
                is the two types of
                flows, LTI and non-LTI.  To be 
                honest, I never liked the idea
                of calling the "Init" function "Init", 
                when its purpose was
                to execute the LTI 
                algorithms.
                 
                If this flow topic is now becoming such 
                a big deal regarding
                Init and GetWave, why don't we give 
                things a little more
                descriptive names?  Let's have an 
                Init (if necessary) to
                really do nothing but initializing 
                memory, etc...  and then
                have another function, say 
                "LTI_algorithms" to do the LTI
                signal processing, and a third function 
                that will do the
                non-LTI signal 
                processing.
                 
                The reason I am suggesting this is 
                because it seems that the
                most confusing thing in this discussion 
                is that the GetWave
                functions are not complete by 
                themselves, they rely on Init
                to do part of the algorithms.  But 
                Init may do different
                things depending on whether there is a 
                GetWave or not.  Why
                don't we just have a function that does 
                a complete LTI
                analysis, and another function that 
                does a complete non-LTI
                analysis?
                 
                Arpad
                ============================================================

                
                
                From: 
                ibis-macro-bounce@xxxxxxxxxxxxx 
                [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of 
                fangyi_rao@xxxxxxxxxxx
Sent: Thursday, October 15, 
                2009 11:57 AM
To: dkirsanov@xxxxxxxxxx; 
                ibis-macro@xxxxxxxxxxxxx
Subject: [ibis-macro] Re: An 
                AMI Overview


                
                
                Hi, 
                Danil;
                 
                I 
                think we are on the same page. The fundamental problem is that 
                current AMI spec allows two usages of Init and GetWave as 
stated 
                at the end of the BIRD.
                 
                Further 
                discussion identified that
                two 
                different styles of modeling were possible and should be 
                supported.  In the default case, the
                AMI_Init and 
                AMI_Getwave calls represent filtering performed by sequential 
                stages of a device, and
                the results 
                should therefore be chained together.  In the second case, 
                the AMI_Init and AMI_Getwave 
                calls each 
                represent the overall device.  For example, the AMI_Init 
                call could provide an LTI model 
                for the 
                device while the AMI_Getwave call provides a time-varying 
                model.  In this case, results from
                the AMI_Init 
                and AMI_Getwave calls should be treated as 
                independent.
                 
                The 
                first case obviously can’t support statistical 
                simulation.
                 
                There 
                are different approaches to make the AMI standard to support 
                both time domain (pattern depend) and statistical simulations. 
                The two-model approach suggested by Kumar is one of them. 
Walter 
                and Arpad prefer to stay with one model by dropping support to 
                the first case in AMI since practically no model of this usage 
                exists.
                 
                I 
                want to take this opportunity to suggest another solution with 
                one model. In AMI we should separate the interface for time 
                domain simulation from that for statistical by adding a third 
                function named GetImpulseForStatistical(). It takes impulses of 
                victim and aggressors and returns modified impulses.
                 
                Regards,
                Fangyi
                 
                
                
                From: 
                ibis-macro-bounce@xxxxxxxxxxxxx 
                [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of 
                Danil Kirsanov
Sent: Thursday, October 15, 2009 
                8:30 AM
To: 
                ibis-macro@xxxxxxxxxxxxx
Subject: [ibis-macro] Re: An 
                AMI Overview
                 
                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
                       
                       
                                                          
                      
                 




      

Other related posts: