Scripts for processing results of Hspice corner sims

Status
Not open for further replies.

amic

Member level 5
Joined
Aug 30, 2005
Messages
91
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
2,069
I use hspice .alter statements to do corner sims and the problem is postprocessing to tabulate the results in excel takes quite a while. First, u got to extract data from .lis file, then import this in excel and then tabulate properly.

I was curious if there are scripts available/can be written that could reduce the time for this? Also, howz ocean scripting compaired to hspice .alter ?

Please do share any scripts if u have. thanks.
 

Re: hspice corner sims

Yes I have one (perl script) But It works With ELDO, Not hspice.
SALEM
 

hspice corner sims

Hi
you can use "hspice toolbox" for matlab and then export this data from malab to excel.
regards
 

Re: hspice corner sims

I have used ocean extensively and I must say, it is very good and I liked it very much.
Ocean is C and lisp -alike. If you know C and lisp, it will be a breeze for you.
If you use cadence analog artist to generate your netlist, ocean will also be easy.
If you don't want to write proffesional script and you use cadence analog artist, you can quickly run corners using ocean by just simple cut and paste....
 

Re: hspice corner sims



well, i believe ocean has got issues when it comes to changing processes like say

model_n='("/db/pdk/lbc7/rev1/models/2006.03.13/spec/model.paths.scs" "tt")
model_s='("/db/pdk/lbc7/rev1/models/2006.03.13/spec/model.paths.scs" "ss")
model_f='("/db/pdk/lbc7/rev1/models/2006.03.13/spec/model.paths.scs" "ff")


; setting up modellist
Modellist=list(model_n model_f model_s)


THIS KIND OF NESTED "LIST" is a big pain in ocean, I believe.
 

Re: hspice corner sims

I don't understand what you mean by big pain. It is so simple.
Here what I do.
Path = "/db/pdk/lbc7/rev1/models/2006.03.13/spec/model.paths.scs"
model_t = list(Path "tt");
model_n = list(Path "ss");
...
modelFile = list(model_n); // the reason I put like that just in case you have more models, say resistor model and a capacitor model....

It is extremely simple!! and I did not have problems with that...
 

Re: hspice corner sims



modelFile= list( model_m) also works in my case but modelFile = list( model_m model_r) fails somehow.

ok. can u try modelFile = list( model_m model_r)
model_m = list( path "tt")
model_r = liats (path "res")

and let me know...?
 

Re: hspice corner sims

I am sure you did them in the following order:
model_m = list(..);
model_r = list(..);
modelFile = list(model_m model_r);

Basically, I just want to make sure you did not do them in the order you mentioned in your post, but as above. Is that correct?
 

Re: hspice corner sims


yes...is there anything wrong in that order ??
 

Re: hspice corner sims

Yes. The order in your first post is wrong.
You have to define first what model_m and model_r is and then use modeelFile = list(model_m model_r);
As you know, ocean, like most compilers and interpreters execute commands sequectionaly, so, when it reaches the statement modelFile = list(mode_m model_r), it tries to replace model_m with what it means, so, model_m and model_r have to be defined before this statement.
hope that helps...
 

Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…