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.

Ocean Script - Why Vth keep the same by using ocean script

Status
Not open for further replies.

arbil

Newbie level 6
Joined
Dec 19, 2004
Messages
12
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
115
Hi all,

I am trying to use ocean to print Vth-Length waveform. What i do is to use ocean to submit a series simulations with dc OP simulation, and then open each result and print the vth value.
But vth value keep the same with my script. When i run this script, vth_nm or vth_pm is always a same value. But if i open each sim result from ADE calculator and print vth, it is correct for each length. I don't know why vth_nm and vth_pm keep unchanged by this ocean script.

Is it environment problem or script problem?

Script:
length_list = list(0.18u 0.3u 0.5u 0.7u 1u 1.5u 2.5u 5u 7u 10u )
corner_list = list("tt" "ff" "ss")

p0 = outfile("/vth.txt" "w")
fprintf(p0 "%s %s %s %s \n" "corner" "length" "vth_n" "vth_p")

foreach(cornervalue corner_list
foreach(lengthvalue length_list

sprintf(job, "%s_%2.2f" cornervalue lengthvalue*1e6)
sprintf(results_dir, /simulation/tb_Vth/spectre/schematic/%s/psf" job)

openResults(results_dir t)
selectResult( 'dcOp)

vth_nm = OP("/M0","vth")
vth_pm = OP("/M1","vth")

fprintf(p0 "%s %2.2f %2.3f %2.3f \n" cornervalue lengthvalue*1e6 vth_nm vth_pm)
clearAll()
))
close(p0)
 

doesn't look like you're actually running a simulation. wheres you analysis() statement?
 

I already run the sims under same directory as the path defined above, which i can use ADE calculator to print Vth for each sim correctly. I try to use ocean script to collect Vth for each sim, to make a vth-L plot. But it dosen't work since the vth_ns and vth_ps value is always the first sim value and never changed again in later processing.

Thanks
 

Anyone can help? thanks


I already run the sims under same directory as the path defined above, which i can use ADE calculator to print Vth for each sim correctly. I try to use ocean script to collect Vth for each sim, to make a vth-L plot. But it dosen't work since the vth_ns and vth_ps value is always the first sim value and never changed again in later processing.

Thanks
 

Unless you want your output file to be written at root, change "p0 = outfile("/vth.txt" "w")" into "p0 = outfile("./vth.txt" "w")". Moreover, I would change the following lines:
Code:
sprintf(job, "%s_%2.2f" cornervalue lengthvalue*1e6)
sprintf(results_dir, /simulation/tb_Vth/spectre/schematic/%s/psf" job)
into:
Code:
job=sprintf(nil "%s_%2.2f" cornervalue lengthvalue*1e6)
results_dir=sprintf(nil, /simulation/tb_Vth/spectre/schematic/%s/psf" job)

The rest of the code seems ok, not knowing your result directory structure.
 

Thank you for your suggestion of coding any way. Is there any benefit to replace sprintf(t "*") with t=sprintf(nil "*") ?

Thanks~
 

Were you able to fix the problem?
Is there any benefit to replace sprintf(t "*") with t=sprintf(nil "*") ?
I had some problems years ago with the first format and never used it again.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top