Considerations for a calibreview flow when requesting mutual inductance

Version 1

     

    In Calibre Interactive, this selection:

     

         Pex Options  ->  Netlist -> Reduction and CC -> Use current - voltage controlled sources to model mutual

     

    causes the rule file statement:

     

         PEX NETLIST MUTUAL RESISTANCE YES

     

    to be inserted into the  _rules_  file that Calibre Interactive (CI) creates
    to contain the CI-GUI selections and settings that affect the rules.

     

    When the above is not selected, then
         PEX NETLIST MUTUAL RESISTANCE NO
    is inserted into the _rules_ file.


    If the above setting is not selected, then there will be no "f" or "v" elements netlisted into the Calibre xRC PEX netlist.

     

    In the Calibre xRC netlist when running mutual inductance extraction,      
    you can see this type of data in your netlist:    
       
      mgc_rve_device_template "v" "P" "M"     
      mgc_rve_device_template "f" "P" "M"     
      mgc_rve_parasitic_template "c" "r" "l" "k" "h"     
       
    Further down in this Calibre xRC output netlist there are instances of these types of elements:   v, f, k, h, c, r, l.
        
    These netlisted elements represent the following:    
        
    "c"   parasitic capacitance     
    "r"   parasitic resistance     
    "l"   self-inductance    
    "k"  inductive coupling coefficient: a function of two mutual inductance values 

     

    "h"  CCVS: Current Controlled Voltage Source    
           "h" is used to model mutual resistance.    
       
    "v"  Independent Voltage Source    
           "v" is used to model mutual resistance.    
       
    "f"   CCCS: Current Controlled Current Source    
           "f" is used to model mutual resistance.      

     


    In first running a Calibre parasitic extraction flow to create a calibreview in Virtuoso with mutual inductance enabled,
    you may get this type of error:
           
      Error: could not find cell mapping for device f          
      Error: could not find cell mapping for device v        
         
    To eliminate these     

    You can      
         
    [1] Suppress "f", "h", and "v" elements from the Calibre xRC netlist by using:      
         
           PEX NETLIST MUTUAL RESISTANCE NO    
         
        in the rules.      
       
    Or if you need mutual resistance to be netlisted, then:


    [2] Create callmap file entries for "f", "v", and "h" elements.     

     

       Perhaps something like this:    
       
          rick@miles [2480]:  diff cellmap.orig  cellmap.adjusted      
          533a534,558      
          > ((p muth h)      
          >       (analogLib pmindh symbol)      
          >       (      
          >               (ind1)      
          >               (ind2)      
          >       )      
          > )      
          > (mut_res_v      
          >       (my-techlib-1 mut_res_v symbol)      
          >       (      
          >               (p P)      
          >               (m M)      
          >       )      
          >       (      
          >      
          >       )      
          > (mut_res_f      
          >       (my-techlib-1 mut_res_f symbol)      
          >       (      
          >               (p P)      
          >               (m M)      
          >       )      
          >       (      
          >      
          >       )      
          rick@miles [2481]:        

    The above are generic examples which need to be personalized to align with the technology library being used for each PDK.   

     

    One specific testcase was successful in producing the desired calibreview and its derived spectre netlist by having the following settings in the callmap file

     

     

    (f
         (analogLib cccs symbol)
         (
              (p PLUS)
              (m MINUS)
         )
    (
              (vprobe vref)
              (value fgain)
    )
    )

     


    (v
         (analogLib vsource symbol)
         (
              (p PLUS)
              (m MINUS)
         )
         (
              (v vdc)
              (type srcType)
         )
    )