Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] How to extract a value from a self-defined plot(Cadence), maybe using ocean script?

Status
Not open for further replies.

Alex Liao

Member level 4
Member level 4
Joined
Apr 8, 2013
Messages
75
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,288
Activity points
1,991
Hey,

I am using Cadence IC 6.1.6. The waveform or the plot is generated by
Virtuoso (R) Visualization & Analysis XL.
I have a plot which is gm/id (y-axis) Vs Id/(w/l) (x-axis) by doing a Parametric Analysis of sweeping Vgs.

I found in the result folder, it has lots of sub-folders named as Vg=0.111,..., Vg=0.555, Vg=0.666,..., Vg=0.999. Inside each of them, a /psf folder is there. This is reasonable as plenty of DC points are covered in the Parametric Analysis. Therefore all of those '/psf' result directories' are working together to compose a full plot by providing data and maybe do some interpolations.


I want to extract a value from this big plot and do not know how to do it.

Say, I can read when the X which is id/(w/l) = 5u, the Y which is gm/id = 10. But I want to get Y values by providing X values.

I am thinking, since the X-Y in the big plot are one-to-one corresponded, if all the data are summarized in one place as an uniformed waveform or maybe a big table, then giving a X and asking for a Y should be straightforward.

I am not quite sure if the waveVsWave will summarize all the data and provide a function to access it.
If ocean script can do this, that's best.

Any idea?

Regards,

Alex
 

Hi Alex,

I'd suggest to ask your question in a more specialized .

erikl
 
Hi Alex,

I'd suggest to ask your question in a more specialized .

erikl

Hey Erikl,

Nice suggestion.
Got solved by professional Cadence people.

Thanks,
Alex
 

Would be nice if you'd show or link here the solution.

Thanks, erikl
 

Just use the value() function it can do what I want.
It works for me when I use this formular:
value(waveVsWave(?y (pv("M0" "gm" ?result "dcOpInfo") / pv("M0" "id" ?result "dcOpInfo")) ?x (pv("M0" "id" ?result "dcOpInfo") / (pv("M0" "w" ?result "instance") / pv("M0" "l" ?result "instance"))) ) 10e-6 )

Please click the "helped me" if you real think so.

Thanks,
Alex
 
  • Like
Reactions: erikl

    erikl

    Points: 2
    Helpful Answer Positive Rating
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top