PZ Analysis

Discussion in 'Cadence' started by Samiran, May 4, 2010.

  1. Samiran

    Samiran Guest

    Dear all,

    How do I access results of pz analysis by value: To be specific, I
    want to get the values of "Pole_1" and corresponding "Qfactor" that is
    being printed in spectre.out after I run pzSummary( ) through a ocean
    script. How can I achieve this without reading the spectre.out?

    Thanks in advance.

    Regards,
    Samiran
     
    Samiran, May 4, 2010
    #1
  2. Samiran wrote, on 05/04/10 08:54:
    Samiran,

    The poles and zeros are stored in a waveform which has all the qfactor values as
    the x-axis values, and the y-axis values are the complex value of the pole (or
    zero).

    So this is how you'd process all the poles:

    selectResult('pz)
    poles=getData("poles")
    qfactorVec=drGetWaveformXVec(poles)
    poleVec=drGetWaveformYVec(poles)
    numPoles=drVectorLength(qfactorVec)
    for(poleNum 0 numPoles-1
    qfactor=drGetElem(qfactorVec poleNum)
    pole=drGetElem(poleVec poleNum)
    printf("Pole: %d Qfactor=%g real=%g imag=%g\n"
    poleNum+1 qfactor real(pole) imag(pole)
    )
    )

    This is how it works in IC61X. In IC5141, it was a bit different. You had to do:

    selectResult('pz)
    pv("Pole_1" "qfactor") => qfactor
    pv("Pole_1" "pole") => complex pole

    For zeros, the second parameter to pv is qfactor and zero, of course. To find
    out how many there were, you had to parse the output of outputs() to see what
    names appeared.

    Regards,

    Andrew.
     
    Andrew Beckett, May 4, 2010
    #2
  3. Samiran

    Samiran Guest

    Hi Andrew,

    It is working great in IC5141 :) ...Thanks!

    Cheers
    Samiran.
     
    Samiran, May 4, 2010
    #3
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.