DX帮小弟看看这个ocean脚本错在哪里了,谢谢
ocnWaveformTool( 'wavescan )
simulator( 'spectre )
design( "/home/xjq28007/simulation/LC_VCO_V2_1920M_corners/spectre/schematic/netlist/netlist")
resultsDir( "/home/xjq28007/simulation/LC_VCO_V2_1920M_corners/spectre/schematic" )
silter=list(
(
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18_core18_io33_header_spectre.scs" "section=c18_to_tt")
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18_core18_io33_header_spectre.scs" "section=c18_bjt_tt")
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18_core18_io33_header_spectre.scs" "section=c18_res_tt")
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18_core18_io33_header_spectre.scs" "section=c18_mim_cap_tt")
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18_core18_io33_header_spectre.scs" "section=c18_nvar_tt")
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18rf_vpcd_inductor_rev0_2.scs" "section=c18rf_vpcd_tt")
)
(
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18_core18_io33_header_spectre.scs" "section=c18_to_ff")
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18_core18_io33_header_spectre.scs" "section=c18_bjt_max")
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18_core18_io33_header_spectre.scs" "section=c18_res_max")
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18_core18_io33_header_spectre.scs" "section=c18_mim_cap_max")
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18_core18_io33_header_spectre.scs" "section=c18_nvar_max")
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18rf_vpcd_inductor_rev0_2.scs" "section=c18rf_vpcd_max")
)
(
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18_core18_io33_header_spectre.scs" "section=c18_to_ss")
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18_core18_io33_header_spectre.scs" "section=c18_bjt_min")
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18_core18_io33_header_spectre.scs" "section=c18_res_min")
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18_core18_io33_header_spectre.scs" "section=c18_mim_cap_min")
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18_core18_io33_header_spectre.scs" "section=c18_nvar_min")
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18rf_vpcd_inductor_rev0_2.scs" "section=c18rf_vpcd_min")
))
i=0
tmp=list(125 27 -40)
foreach(silterra silter
foreach(temp tmp
i=i+1
model_silter=list(silterra)
modelFile( model_silter)
analysis('pss ?fund "1.5G" ?harms "5" ?errpreset "conservative"
?tstab "500n" ?oscana t ?p "/OUTPUTN" ?n "/gnda"
?param "vctrl" ?start "0" ?stop "2.5" ?sweepStep "0.2"
?restart "" ?ic "dc" ?method "gear2only" ?tstabmethod "gear2only"
?ppv "" )
)
desVar( "vdd33" 3.3 )
desVar( "vctrl" 2.5 )
desVar( "vctrlN" "2.5-vctrl" )
envOption(
'firstRun t
)
run()
harm\=1\ freq\;\ pss\ \(Hz\) = harmonic(xval(getData("/ACGND" ?result "pss_fd")) '1)
plot( harm\=1\ freq\;\ pss\ \(Hz\) ?expr '( "harm=1 freq; pss (Hz)" ) )
)
)
提示的错误是:
*Error* eval: not a function - '("/home/xjq28007/project/work/cadence/models/spectre_corners/c18_core18_io33_header_spectre.scs" "section=c18_to_tt")
先谢谢大家了!
跪求指点一二,小弟对编程语言是在是愚钝,第一次照猫画虎,谢谢大家了!
请大家帮忙看看吧,谢谢!
大家帮忙啊,跪谢!
list列的不对。你怎么用括号把他们分成三段呢?另外我猜“section=”应该是不需要的。
silter=list(
(
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18_core18_io33_header_spectre.scs" "section=c18_to_tt")
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18_core18_io33_header_spectre.scs" "section=c18_bjt_tt")
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18_core18_io33_header_spectre.scs" "section=c18_res_tt")
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18_core18_io33_header_spectre.scs" "section=c18_mim_cap_tt")
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18_core18_io33_header_spectre.scs" "section=c18_nvar_tt")
'("/home/xjq28007/project/work/cadence/models/spectre_corners/c18rf_vpcd_inductor_rev0_2.scs" "section=c18rf_vpcd_tt")
)
把这里面的东西,用 include "/home/xjq28007/project/work/cadence/models/spectre_corners/c18_core18_io33_header_spectre.scs" "section=c18_to_tt"的形式存到ttt.scs文件里,其他两个也用这种形式存到fff.scs和sss.scs文件里,
然后: silter=list("/home/xjq28007/project/work/cadence/models/spectre_corners/ttt.scs", "/home/xjq28007/project/work/cadence/models/spectre_corners/fff.scs","/home/xjq28007/project/work/cadence/models/spectre_corners/sss.scs")
这样简洁直观。你的问题出在没有加include这个命令
谢谢这位大哥了,我的问题解决了,就是因为没有include的原因,按照你的方法,我已成功解决,留个联系方式吧,在深圳或者来深圳的话请你吃饭,
有这等好事啊
以后不搞IC开班培训Ocean去了
小编在深圳么?
在啊,科技园这里上班,一家很小的公司
之前这个比较郁闷,
不知道该怎么办了,
6楼的给了思路,帮助还是很大的,
学习了
唉,我也是同样的问题,用的GF的库比较恶心,乱
麻烦大神帮我看一下程序哪地方错了,主要是list和modelFile的用法是否正确,谢谢!
;; * corner_np_ctrl begin
for(corner_np_ctrl 1 2 3
if(corner_np_ctrl == 1 corner1="/home/zhangwei/ocean/model_nptt.scs")
if(corner_np_ctrl == 2 corner1="/home/zhangwei/ocean/model_npss.scs")
if(corner_np_ctrl == 3 corner1="/home/zhangwei/ocean/model_npff.scs")
;; * corner_rc_ctrl begin
for(corner_rc_ctrl 1 2 3
if(corner_rc_ctrl == 1 corner2="/home/zhangwei/ocean/model_rctt.scs")
if(corner_rc_ctrl == 2 corner2="/home/zhangwei/ocean/model_rcss.scs")
if(corner_rc_ctrl == 3 corner2="/home/zhangwei/ocean/model_rcff.scs")
;; * corner_bjt_ctrl begin
for(corner_bjt_ctrl 1 2 3
if(corner_bjt_ctrl == 1 corner3="/home/zhangwei/ocean/model_bjttt.scs")
if(corner_bjt_ctrl == 2 corner3="/home/zhangwei/ocean/model_bjtss.scs")
if(corner_bjt_ctrl == 3 corner3="/home/zhangwei/ocean/model_bjtff.scs")
;; * Vpower_ctrl begin
for(Vpower_ctrl 1 2
if(Vpower_ctrl == 1 then Vpower=2.7 Vpower_path="v2.7")
if(Vpower_ctrl == 2 then Vpower=3.6 Vpower_path="v3.6")
;; * T_ctrl begin
for(T_ctrl 1 2
if(T_ctrl == 1 then T=-40 T_path="T-40")
if(T_ctrl == 2 then T=85 T_path="T85")
corner=list(corner1,corner2,corner3)
printf("The current simulation: %s Vpower=%4.2f temp=%d \n" corner Vpower T)
save_path=strcat("/home/cds/simulation/sim_sdm/spectre/corner_tran" "_" substring(corner -8 4) "_" Vpower_path "_" T_path)
ocnWaveformTool( 'awd )
simulator( 'spectre )
;; change the netlist to delete the capacitance of mim cap
design( "/home/cds/simulation/sim_sdm/spectre/corner_tran/netlist/netlist")
resultsDir( save_path )
modelFile( corner)
include这句加在哪里啊?
include这句加在最开始么?
include不加肯定有问题的,只是不用循环也太那个了吧......
申明:网友回复良莠不齐,仅供参考。如需专业解答,请学习本站推出的微波射频专业培训课程。