Try the following code.
Quote:simulator( 'spectre )
base_dir = "/home/pkd/simulation/fight_model_variable_fb_delayy/spectre/"
design_file_list = '(
"netlist_0fb_inv", "netlist_2fb_inv", "netlist_4fb_inv", "netlist_6fb_inv", "netlist_8fb_inv"
)
temp( 27 )
res=1e3
wf=1e-6
wr=5e-7
desVar( "res" res )
desVar( "wf" wf )
desVar( "wr" wr )
analysis('tran ?stop "30n" ?errpreset "conservative" ?step "1p"
?maxstep "5p" )
corners='( "ss" "tt" "ff" "snfp" "fnsp")
extn="_dir"
foreach(corner, corners
foreach(design_file, design_file_list
dsn=sprintf( nil "%s%s" design_file,extn)
net=sprintf( nil "%s%s/netlist" design_file,extn)
design( strcat(base_dir, "schematic/netlist/", design_file) )
modelFile( list( "/home/pkd/cadence/foundry_data/umc13mmrf/../Models/Spectre/L130E_HS12_V241.lib.
scs" sprintf( nil "%s" corner)) )
out = outfile("/home/pkd/ocean_script/fine_delay_vs_tap_pt.txt" "a")
fprintf(out "\n\n%s Corner\n\n Tapping after zero delay\n" corner)
fprintf(out "\n%s\n" design_file)
close( out )
proj_dir = strcat( base_dir, design_file, "_", corner )
resultsDir( proj_dir )
run()
openResults( strcat(proj_dir, "/psf") )
selectResult( 'tran )
int_delay=delay(VT("/in_fine"),0.6,3,"rising",VT("/n1"),0.6,3,"rising")*1e12
ip_op_delay=delay(VT("/in_fine"),0.6,3,"rising",VT("/out_fine"),0.6,3,"rising")*
1e12
test_delay=delay(VT("/in_fine"),0.6,3,"rising",VT("/nfb"),0.6,3,"falling")*1e12
wf=wf*1e9
wr=wr*1e9
out = outfile("/home/pkd/ocean_script/fine_delay_vs_tap_pt.txt" "a")
fprintf(out " %4.0f %4.0f %4.0f %4.1f %4.1f %4.1f \n" wf,wr,res,int_delay,ip_op_delay,test_delay)
fprintf(out " %4.0f %4.0f %4.0f \n" wf,wr,res)
close( out )
;;plot(getData("/n1") getData("/in_fine") )
)
)
Or delete "input.scs" before each run by using "system()".