关于ocean,出图问题,求助
通过写脚本,我想先简单地看温度变化时vth的变化,但是出图之后,横坐标没有意义,vth是直线。怎么才能有vth随温度变化的一个曲线?
把代码贴出来看一下。解决办法请看11楼!
simulator( 'spectre )design(
"/home/gl/simulation/test1/spectre/schematic/netlist/netlist")
resultsDir( "/home/gl/simulation/test1/spectre/schematic" )
tplist=list(0 10 20 30)
foreach(tp tplist
modelFile(
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_mos_cap_25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_rfmvar25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_disres")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_bip")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_bip")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_na")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rfres_sa")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rfjvar")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_mos_cap_25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_disres")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "tt_ulvt")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_rfres_sa")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rfmvar25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mim")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_mim")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "tt_dio_hvt")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_res")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_rfmim")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_rfmos")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_hvt")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rfsbd")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "tt_dio_lvt")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rfind")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rtmom")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_lvt")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_mos_cap")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_rfmom")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_lvt")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rfmos")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "tt_dio_na")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_res")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_disres")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_hvt")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_mos_cap")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "tt_dio_ulvt")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rfres_rpo")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_rfrtmom")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "tt_dio_na25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rfmos25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_rfres_rpo")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "tt_dio_25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "tt_dio_esd")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_rfmos25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mom")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rfmim")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_bip_npn")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_bip_npn")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rfrtmom")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_rtmom")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "tt_dio")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_rfmvar")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_res")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_mim")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "tt_dio_dnw")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_na25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_na25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rfmvar")
)
analysis('tran ?stop "1u" ?step "1p" ?maxstep "1p" )
desVar(
"vds" 2
)
desVar(
"vgs" 1
)
desVar(
"w" 2u
)
envOption(
'analysisOrder list("dc" "tran")
)
temp( tp )
run()
plot( OP("/M0" "vth") )
)
simulator( 'spectre )
design( "/home/gl/simulation/test1/spectre/schematic/netlist/netlist")
resultsDir( "/home/gl/simulation/test1/spectre/schematic" )
tplist=list(0 10 20 30)
foreach(tp tplist
modelFile(
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_mos_cap_25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_rfmvar25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_disres")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_bip")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_bip")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_na")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rfres_sa")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rfjvar")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_mos_cap_25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_disres")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "tt_ulvt")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_rfres_sa")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rfmvar25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mim")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_mim")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "tt_dio_hvt")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_res")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_rfmim")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_rfmos")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_hvt")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rfsbd")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "tt_dio_lvt")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rfind")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rtmom")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_lvt")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_mos_cap")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_rfmom")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_lvt")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rfmos")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "tt_dio_na")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_res")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_disres")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_hvt")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_mos_cap")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "tt_dio_ulvt")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rfres_rpo")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_rfrtmom")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "tt_dio_na25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rfmos25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_rfres_rpo")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "tt_dio_25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "tt_dio_esd")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_rfmos25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mom")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rfmim")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_bip_npn")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_bip_npn")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rfrtmom")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_rtmom")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "tt_dio")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_rfmvar")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_res")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_mim")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "tt_dio_dnw")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "stat_mis_na25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_na25")
'("/home/gl/tsmc90/90n/tsmcN90rf/../models/spectre/crn90lp_2d5_lk_v1d2.scs" "mc_rfmvar")
)
analysis('tran ?stop "1u" ?step "1p" ?maxstep "1p" )
desVar( "vds" 2 )
desVar( "vgs" 1 )
desVar( "w" 2u )
envOption(
'analysisOrder list("dc" "tran")
)
temp( tp )
run()
plot( OP("/M0" "vth") )
)
关键是Vth存在直流工作点分析结果里面,没有在DC sweep结果里面。
那该怎么做,我有做过参数扫描
帮帮忙,一直都没弄出来
可以参数扫描加计算器的OP选项就可以出来
通过计算器得到vth的算式,也做了参数扫描,但是ocean仿真图形中横坐标好像没有意义,纵坐标是vth。所以得到上面的图
dear
can you upload tsmc90nm pdk in eetop or upload only calibre and assura folder
thanks
你可以直接计算器设置好输出vth,然后tools->parameter 扫描参数得到图形。
如果你执意用ocean,也可以把如下代码加入仿真部分,myvar修改为你的变量
paramAnalysis("myvar" ?values '(0.1 0.2 0.3 0.4 0.5 )
run()改为paramRun()
最后输出图形的语句改为
mygraph = OP("/PM0" "vth")
plot( mygraph ?expr '( "mygraph" ) )
mygraph为随便起的名字。PM0表示管子的Instance name,要根据你的需要修改。
你可以直接计算器设置好输出vth,然后tools->parameter 扫描参数得到图形。
如果你执意用ocean,也可以把如下代码加入仿真部分,myvar修改为你的变量
paramAnalysis("myvar" ?values '(0.1 0.2 0.3 0.4 0.5 )
run()改为paramRun()
最后输出图形的语句改为
mygraph = OP("/PM0" "vth")
plot( mygraph ?expr '( "mygraph" ) )
mygraph为随便起的名字。PM0表示管子的Instance name,要根据你的需要修改。
方法很简单,创建一个saveopt.scs的文件,然后include 进你的仿真里面就好了,可以从model library里面include, 也可以从simulation files里面include.
文件的内容可以写:
save M0ppoint
其中如果M0不是在顶层的话,需要写instance的调用路径。
上贴中的表情字符其实是冒号后面跟一个o 字,oppoint.
谢谢小编
谢谢小编
谢谢
谢谢
我好像弄错意思了,我想要批量仿真得到vth的一个分布图,但是这样只是一根根vth的值。我怎么能把这些vth 的值弄出来来分析。比较笨,不好意思。
申明:网友回复良莠不齐,仅供参考。如需专业解答,请学习本站推出的微波射频专业培训课程。