微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微波和射频技术 > RFIC设计学习交流 > 关于ocean,出图问题,求助

关于ocean,出图问题,求助

时间:10-02 整理:3721RD 点击:



通过写脚本,我想先简单地看温度变化时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(
'analysisOrderlist("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(
'analysisOrderlist("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 的值弄出来来分析。比较笨,不好意思。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top