ocean script 求助
时间:10-02
整理:3721RD
点击:
ocnWaveformTool( 'wavescan )
simulator( 'aps )
design("./netlist")
CorTempList=list(
list("top_tt",85,0.9,1.8)
list("top_ss",-40,0.81,1.62)
list("top_ff",125,0.99,1.98)
)
I=0
p=outfile("./delay.txt" "w")
fprintf(p,"%s \n" "corner td_en td_pd td_pu td_ensd td_en" )
foreach(CorTemp CorTempList
tsmc=nth(0,CorTemp)
Temp=nth(1,CorTemp)
pwr1=nth(2,CorTemp)
pwr2=nth(3,CorTemp)
I=I+1
resultsDir(strcat("./") tsmc)
modelFile(
list("/ip/lvdt01a/lvdt01aa/28PDK/tsmcN28/../models/spectre/toplevel.scs" tsmc)
)
analysis('tran ?stop "120n"?errpreset "moderate")
desVar("xod" 25m)
desVar("tr" 10p)
desVar("xfreq" 1.1e9 )
desVar("xcm" 0.9)
desVar("xavdd" pwr2)
desVar("xdvdd" pwr1)
envOption(
'analysisOrderlist("dc" "tran" "ac")
)
temp(Temp)
saveOption( 'save "selected" )
save( 'v "/PD" "/EN" "/EN_SD" "/sdc<0>" "/sda<23>" "/da<23>" "/clk<0>" )
run()
selectResult( 'tran )
td_en = value( delay(VT("/EN") pwr1/2 1 "rising" VT("/clk<0>") pwr1/2 1 "rising" 1 1 t ) )
td_pd = value( delay(VT("/PD")pwr1/2 1 "rising" VT("/clk<0>")pwr1/2 1 "falling" 1 1 t ) )
td_pu = value( delay(VT("/PD")pwr1/2 1 "falling" VT("/clk<0>")pwr1/2 2 "rising" 1 1 t ) )
td_ensd = value( delay(VT("/EN_SD")pwr1/2 1 "rising" VT("/sdc<0>")pwr1/2 1 "rising" 1 1 t ) )
td_en = value( delay(VT("/EN")pwr1/2 1 "falling" VT("/clk<0>")pwr1/2 3 "falling" 1 1 t ) )
fprintf(p,"%s %f %f %f %f %f \n" tsmc td_en td_pd td_pu td_ensd td_en)
)
close(p)
printf("\n---End---\n")
==============================================================
一直报错
求大神帮忙改改,不胜感激
The directory you specified does not contain valid PSF
results. Please check the line for typographical errors or
look in the directory for a logFile and PSF result files.
You need to specify what results you want to look at before
using this command. You can do this with the openResults()
command. See ocnHelp('openResults) for more information.
*Error* fprintf/sprintf: format spec. incompatible with data - nil
*Error* load: error while loading file - "delay.ocn"
simulator( 'aps )
design("./netlist")
CorTempList=list(
list("top_tt",85,0.9,1.8)
list("top_ss",-40,0.81,1.62)
list("top_ff",125,0.99,1.98)
)
I=0
p=outfile("./delay.txt" "w")
fprintf(p,"%s \n" "corner td_en td_pd td_pu td_ensd td_en" )
foreach(CorTemp CorTempList
tsmc=nth(0,CorTemp)
Temp=nth(1,CorTemp)
pwr1=nth(2,CorTemp)
pwr2=nth(3,CorTemp)
I=I+1
resultsDir(strcat("./") tsmc)
modelFile(
list("/ip/lvdt01a/lvdt01aa/28PDK/tsmcN28/../models/spectre/toplevel.scs" tsmc)
)
analysis('tran ?stop "120n"?errpreset "moderate")
desVar("xod" 25m)
desVar("tr" 10p)
desVar("xfreq" 1.1e9 )
desVar("xcm" 0.9)
desVar("xavdd" pwr2)
desVar("xdvdd" pwr1)
envOption(
'analysisOrderlist("dc" "tran" "ac")
)
temp(Temp)
saveOption( 'save "selected" )
save( 'v "/PD" "/EN" "/EN_SD" "/sdc<0>" "/sda<23>" "/da<23>" "/clk<0>" )
run()
selectResult( 'tran )
td_en = value( delay(VT("/EN") pwr1/2 1 "rising" VT("/clk<0>") pwr1/2 1 "rising" 1 1 t ) )
td_pd = value( delay(VT("/PD")pwr1/2 1 "rising" VT("/clk<0>")pwr1/2 1 "falling" 1 1 t ) )
td_pu = value( delay(VT("/PD")pwr1/2 1 "falling" VT("/clk<0>")pwr1/2 2 "rising" 1 1 t ) )
td_ensd = value( delay(VT("/EN_SD")pwr1/2 1 "rising" VT("/sdc<0>")pwr1/2 1 "rising" 1 1 t ) )
td_en = value( delay(VT("/EN")pwr1/2 1 "falling" VT("/clk<0>")pwr1/2 3 "falling" 1 1 t ) )
fprintf(p,"%s %f %f %f %f %f \n" tsmc td_en td_pd td_pu td_ensd td_en)
)
close(p)
printf("\n---End---\n")
==============================================================
一直报错
求大神帮忙改改,不胜感激
The directory you specified does not contain valid PSF
results. Please check the line for typographical errors or
look in the directory for a logFile and PSF result files.
You need to specify what results you want to look at before
using this command. You can do this with the openResults()
command. See ocnHelp('openResults) for more information.
*Error* fprintf/sprintf: format spec. incompatible with data - nil
*Error* load: error while loading file - "delay.ocn"
都用tsmc28了,还不用ADEXL?
就按照提示openResult()和路径输进去试试啊