在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 11602|回复: 26

[讨论] ocean PVT仿真

[复制链接]
发表于 2013-9-6 10:31:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
请教下,用ocean 仿真PVT后,可以看到所有情况下的仿真波形,但问题是波形太多了,我如何知道哪一条波形是什么情况下的仿真结果,有没什么快捷的办法,找出某条波形所对应的corner、temp、vdd的值。。我现在的办法是,选中想知道的波形,然后慢慢找,看下是第几条曲线,然后再根据循环语句来计算得到结果,这样太痛苦了,恳请大虾支招。。
发表于 2013-9-6 11:24:23 | 显示全部楼层
回复 1# airbirds


   在每个循环中加一句打印当次循环的编号和PVT参数到一个文件,用文件和图对照着看,就知道编号所对应的PVT了。
发表于 2013-9-6 11:25:08 | 显示全部楼层
回复 1# airbirds


    plot(your_signal ?expr'("your_corner"))
发表于 2013-9-6 11:43:12 | 显示全部楼层
比较习惯把波形里需要的信息用公式表示出来,然后打到CSV文件里
 楼主| 发表于 2013-9-6 12:31:33 | 显示全部楼层
回复 2# kwankwaner


   能不能具体点,把语句也给我。。呵呵,我是菜鸟。。
 楼主| 发表于 2013-9-6 13:44:40 | 显示全部楼层
回复 3# cyl


   能不能具体点,我初学ocean。。下面是我的语句,能不能告诉我加在哪?ocnWaveformTool( 'wavescan )
simulator( 'spectre )
design(
"/home/simulation/sim_vref/spectre/schematic/netlist/netlist")
resultsDir( "/home/simulation/sim_vref/spectre/schematic" )

mvCorner=list( "sp_mv_ff" "sp_mv_fs" "sp_mv_ss" "sp_mv_sf")
bjtCorner=list( "sp_bjt_min" "sp_bjt_max")
mimCorner=list( "sp_mimcap_min" "sp_mimcap_max")
lvCorner=list("sp_lv_tt")
resCorner=list( "sp_resistor_min" "sp_resistor_max")
tmp=list(-40  85)

vlot=list(2.3 3 3.7)


foreach(lv lvCorner
foreach(mv mvCorner
foreach(bjt bjtCorner
foreach(res resCorner
foreach(mim mimCorner
foreach(temp tmp

foreach(vdd vlot
i=i+1

modelFile(
    list("/home/yuqh/simulation/model_lib/sp_header_spectre.scs",lv)
    list("/home/yuqh/simulation/model_lib/sp_header_spectre.scs",mv)
    list("/home/yuqh/simulation/model_lib/sp_header_spectre.scs",bjt)
    list("/home/yuqh/simulation/model_lib/sp_header_spectre.scs",res)
    list("/home/yuqh/simulation/model_lib/sp_header_spectre.scs",mim)




)
analysis('tran ?stop "50u"  ?errpreset "conservative"  )
desVar(
  "VCI" vdd
)

temp( temp)
run()
selectResult( 'tran )
plot(getData("/I0/Vbg") )

)
)
)
)
)
)
)
 楼主| 发表于 2013-9-6 14:28:20 | 显示全部楼层
回复 4# qerqing

能不能具体点,我初学ocean。。下面是我的语句,能不能告诉我加在哪?ocnWaveformTool( 'wavescan )
simulator( 'spectre )
design(
"/home/simulation/sim_vref/spectre/schematic/netlist/netlist")
resultsDir( "/home/simulation/sim_vref/spectre/schematic" )

mvCorner=list( "sp_mv_ff" "sp_mv_fs" "sp_mv_ss" "sp_mv_sf")
bjtCorner=list( "sp_bjt_min" "sp_bjt_max")
mimCorner=list( "sp_mimcap_min" "sp_mimcap_max")
lvCorner=list("sp_lv_tt")
resCorner=list( "sp_resistor_min" "sp_resistor_max")
tmp=list(-40  85)

vlot=list(2.3 3 3.7)


foreach(lv lvCorner
foreach(mv mvCorner
foreach(bjt bjtCorner
foreach(res resCorner
foreach(mim mimCorner
foreach(temp tmp

foreach(vdd vlot
i=i+1

modelFile(
    list("/home/yuqh/simulation/model_lib/sp_header_spectre.scs",lv)
    list("/home/yuqh/simulation/model_lib/sp_header_spectre.scs",mv)
    list("/home/yuqh/simulation/model_lib/sp_header_spectre.scs",bjt)
    list("/home/yuqh/simulation/model_lib/sp_header_spectre.scs",res)
    list("/home/yuqh/simulation/model_lib/sp_header_spectre.scs",mim)




)
analysis('tran ?stop "50u"  ?errpreset "conservative"  )
desVar(
  "VCI" vdd
)

temp( temp)
run()
selectResult( 'tran )
plot(getData("/I0/Vbg") )

)
)
)
)
)
)
)
发表于 2013-9-6 15:06:11 | 显示全部楼层
试着把最后一句脚本要改;
Vbg=VT("/I0/Vbg")
plot(Vbg ?expr list(strcat(vdd temp lv mv bjt res mim)))
 楼主| 发表于 2013-9-6 17:12:27 | 显示全部楼层
回复 8# cyl
analysis('tran ?stop "50u"  ?errpreset "conservative"  )
desVar(
  "VCI" vdd
)

temp( temp)
run()
selectResult( 'tran )

Vbg=VT("/I0/Vbg")
plot(Vbg ?expr list(strcat(vdd temp lv mv bjt res mim)))


)
)
)
)
仿真结果为:

   *Error* strcat: argument #1 should be either a string or a symbol (type template = "S") - 2.3*Error* load: error while loading file - "vref_bg.ocn"
 楼主| 发表于 2013-9-6 17:18:45 | 显示全部楼层
回复 9# airbirds

我把语句改为:Vbg=VT("/I0/Vbg")plot(Vbg ?expr list(strcat("vdd" "temp" "lv" "mv" "bjt" "res" "mim")))


仿真不会出错,但显示结果为下图

仿真结果

仿真结果




还是没得到想要的结果,应该是循环语句没把值赋给输出。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-9-29 19:24 , Processed in 0.023423 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表