Trouble with laplace_zp

Discussion in 'Cadence' started by Stefan Joeres, Mar 23, 2006.

  1. Hi altogether,

    we do have a schematic which implements a transfer function as

    H(s)= Zeros / Poles

    We wanted to implement this as a verilogA model to gain some simulation
    speedup.
    Therefore we calculated our Zeros & Poles from the schematic,
    added these as

    V(out) <+ kgain*laplace_zp(V(in),{z1r,z1i,z2r,z2i},{p1r,p1i,p2r,p2i});

    and simulated the model again with the pz analysis.

    But now :
    The simulated pole zeroes don't match with the values implemented in the
    laplace_zp function.

    Does anyone have a clue what happens ?

    Regards,

    Stefan
     
    Stefan Joeres, Mar 23, 2006
    #1
  2. Stefan Joeres

    Prasanna Guest

    Hi Stefan,

    The only thing I can suggest is to double check the coefficients you
    have used in laplace_zp again.. sorry not much help.

    Prasanna
     
    Prasanna, Mar 24, 2006
    #2

  3. Are you trying to do a pz analysis on the verilog-a model? If so, that will not
    work. Essentially, components whose value varies with frequency (such as
    these laplace functions, transmission lines, etc) are evaluated at a single
    frequency (specified on the pz form), and so it won't work. This normally isn't
    an issue (remember that for capacitance and inductance, it's not the capacitance
    or inductance that varies with frequency, but the impedance).

    Ah, I just read again what you said above, and saw you said you were doing a pz
    analysis on the result (I missed that first time around).

    I made exactly the same mistake when I was beta-testing pz before it
    was originally released.

    Andrew.
     
    Andrew Beckett, Mar 24, 2006
    #3
  4. Stefan Joeres

    Steve Guest

    Uh, Andrew, I've seen you promulgate this answer a couple of times.
    Unfortunately, if it came from the factory, someone is blowing smoke.
    This is a bug.

    Consider a 2-port with, e.g. r/l/c components. Run an AC analysis,
    then a PZ analysis.
    same poles and zeros using a laplace_zp function. An AC analysis
    should match (if it doesn't, there are more problems -- either the
    coefficients are entered incorrectly or the laplace_xx functions are
    broken). If the AC analysis matches, then if the PZ analysis were
    correct the PZ locations should match - it's just a transfer
    function...

    And yes, there is at least one simulator where PZ analysis extracts the
    given laplace_xx root locations.
     
    Steve, Mar 24, 2006
    #4
  5. I'd call it an implementation limitation, rather than a bug. The main purpose of
    pz is to analyze real circuits, not behavioural models, but anyway, read on....
    It depends how the PZ is done. Just because the ac results match (they did, in
    my experience), doesn't mean that the pz analysis can extract them. It doesn't
    try and fit poles and zeros to the AC curve - it does a more direct calculation
    of the poles and zeros.

    Anyway, I've just found by doing some research that the way this is done has
    changed in MMSIM60 USR2, and now it should handle laplace functions properly - I
    believe it now builds the model that is used for time domain simulation, and
    uses that - rather than "fitting" at a single frequency, using the direct
    frequency-domain representation of the laplace function.

    Andrew.
     
    Andrew Beckett, Mar 26, 2006
    #5
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.