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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: tsod

[求助] 电路做后仿,如何保存内部节点信号

[复制链接]
发表于 2023-10-18 14:48:15 | 显示全部楼层
本帖最后由 Zzy-analog 于 2023-10-18 14:51 编辑

   因为最近在后仿时需要plot出内部器件电流,发现网上没有教程可以帮助我,只有少量教会了内部电压的方法,电流的办法只有自己摸索和总结办法了,同时后仿文件中节点较为混乱,但是存在一个个完整的器件,所以我相信可以save内部器件电流,另外如果有更好的办法可以教教我。
  下面的后仿是对于后仿文件为.spice文件,其余文件还未试过,仿真器为virtuoso spectre。
  后仿保存内部节点电压可以通过保存模块,例如在I48下的I56里的vout节点,可以用analog库里的deepprobe,在deepprobe内的Hierarchical Node填入 I48.XI56\/vout (因为是深入了后仿模块两层,所以加X并用反斜杠和斜杠区分net,如果只是深入一层只需要写I48.vout,用英文句号隔开即可),同时最好在deepprobe拉出一根线接basic库的noConn,在仿真前保存该线,这样可以在仿真中只存该节点电压。

  后仿保存电流则较麻烦一些,会存下很多个电流,但相对于all save的办法,这种更精准而且可以存电流。
  新建一个 .scs 文件,里面写上 save I48*PM4 sigtype=subckt,然后将这个.scs 文件添加进 model library,在corner 中勾选,后仿时就会加入了。
  这里 I48 是模块名;
  星号*是模糊搜索;
  PM4 就是器件名,但是一般管子有 m 值会出来很多个 PM4@1,PM4@2 等,可以 plot 出来后再相加;
  结果会有PM4:1 PM4:2 PM4:3 等,意思是PM4第几个 net 电流,1234 的顺序是 d g s b,对于R、C等相似;
  sigtype=subckt 可以保存这个器件各节点电流
  匹配上了会在Simulator log中显示Wildcard match情况,可以多尝试几次直至match到自己需要的电流。
发表于 2024-1-4 10:58:25 | 显示全部楼层


Zzy-analog 发表于 2023-10-18 14:48
因为最近在后仿时需要plot出内部器件电流,发现网上没有教程可以帮助我,只有少量教会了内部电压的方法 ...


感谢你的讲解!
但是其中我有一个疑问,你倒数第四行提到,最终的总电流是*@1+*@2+......+*@N,但是我用save all时,使用result browser时,只是查看某个*@N的电流即可,周围的其他人好像也是这样做的,关于这点我想确认一下。
发表于 2024-1-4 11:12:08 | 显示全部楼层


s橙子s 发表于 2018-11-22 16:48
把内部结点做个IO引出到顶层不就可以了


是的,刚画schematic的时候还在想为啥要引出这么多pin脚,后来才晓得是为了postsim看节点电压。这个办法太好了,赞同!
发表于 2024-1-10 11:16:30 | 显示全部楼层
本帖最后由 Zzy-analog 于 2024-1-10 11:17 编辑


yangqinghui 发表于 2024-1-4 10:58
感谢你的讲解!
但是其中我有一个疑问,你倒数第四行提到,最终的总电流是*@1+*@2+......+*@N,但是我用s ...


  不太确定这样是不是可行,我之前遇到的是因为m值导致有多个@1、@2等,每个都可以plot出电流,但对于一个完整的管子电流就需要将这些值加起来(为了方便可以直接用@1乘以m值,版图没有画错时误差很小),另外你要打开后仿的文件确认下这个管子是否存在@1、@2等,后仿文件存在这种命名才会出现多个@。
  很荣幸你能使用我的方法,另外这个方法其实可以试出真正的命名规则(记忆中是"I1.XX……",I1是替换后仿文件的模块名,加英文句号隔开,后续将后仿文件的电流pin命名带入,注意/都需要改成\/才可识别,""代表D端,不确定是否正确,可以多试下),做到单点的存储电流,而且我在后仿时.spice文件和.dspf文件的命名规则略有区别,可以探索下。
发表于 2024-1-10 11:18:28 | 显示全部楼层


Zzy-analog 发表于 2024-1-10 11:16
不太确定这样是不是可行,我之前遇到的是因为m值导致有多个@1、@2等,每个都可以plot出电流,但对于一个 ...


这个是 : D,被转换为表情了,抱歉哈哈哈
发表于 2024-1-10 15:13:22 | 显示全部楼层


Zzy-analog 发表于 2024-1-10 11:16
不太确定这样是不是可行,我之前遇到的是因为m值导致有多个@1、@2等,每个都可以plot出电流,但对于一个 ...


对的对的,是我弄错了。如果一个mos设置number finger=3,那么后仿它会被分成
xxx    xxx@1    xxx@2
发表于 2024-8-22 13:45:51 | 显示全部楼层


Zzy-analog 发表于 2023-10-18 14:48
因为最近在后仿时需要plot出内部器件电流,发现网上没有教程可以帮助我,只有少量教会了内部电压的方法 ...


太牛了
发表于 2024-9-28 09:56:20 | 显示全部楼层
后仿真看工作点也太费劲了,感谢老哥们的分享
发表于 2024-11-12 10:59:06 | 显示全部楼层


set 发表于 2023-8-23 11:38
有个很简单的方法不知道大家为什么没提到,save all里面选lvlpub set level设置为2层,那么top里的下一层信 ...


可以任意几层吗?还lvlpub会将所有节点都保存下来吗?
发表于 昨天 15:13 | 显示全部楼层


matrix-reality 发表于 2024-11-12 10:59
可以任意几层吗?还lvlpub会将所有节点都保存下来吗?


不会任意,我用pex提寄生参数spectre格式,后仿网表是打散的,内部所有的symbol都不存在,只有一层,所以如果saveoption设置lvl=2,那么数据量会非常庞大。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2025-4-2 08:06 , Processed in 0.025651 second(s), 7 queries , Gzip On, MemCached On.

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