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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6045|回复: 11

[求助] 关于tsmc65lp的蒙特卡洛仿真的问题

[复制链接]
发表于 2021-7-26 11:59:15 | 显示全部楼层 |阅读模式

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

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

x
关于tsmc65lp的蒙特卡洛仿真的问题

组里刚刚上手新工艺:tsmc65,然后在仿真蒙特卡洛的时候结果存在分歧,跟组里讨论了很久都没个定论,请各位大佬帮帮萌新

先阐述下问题:
电路的symbol已经采用带mac的模型搭建进行仿真,按照同样的节点工艺同样的电路结构,蒙特卡洛仿真(无论是跑all还是mismatch)的结果应该是0,1比例均接近50%,即输出电压应有一半是0V,一半是1.2V。
但换用tsmc65后,蒙特卡洛仿真跑mismatch时是01各一半;而跑all的时候虽然输出有分布但却集中在500-700mV之间,蒙特卡洛仿真设置如下:
3.png

MC仿真选择all or mismatch

MC仿真选择all or mismatch

左图为仿真使用的模型文件,跑all时用mc_lib,跑misamatch时用mismatch_lib,右图为蒙卡仿真时选择all还是mismatch。
两者仿真结果如下:

跑all时输出中间电压分布

跑all时输出中间电压分布

跑mismatch时输出有01分布

跑mismatch时输出有01分布

左图为跑all时输出为中间电压分布;右图为跑mismatch时输出有01分布,而按理来说应该也是01分布才对。

所以初步判断是all的模型文件定义有问题,以下为模型文件描述
1.png 2.png
左图为mismatch的定义,右图为all的定义。两者均调用同一个.scs,区别为section后面的模型不同及parameters中参数的模型和值不同。
该问题困扰已久,请坛里大佬给小弟提供点解决思路,不胜感激!!!

发表于 2021-7-26 13:55:19 | 显示全部楼层
最大的问题出在你仿的到底是什么
 楼主| 发表于 2021-7-26 14:35:04 | 显示全部楼层


YyuanRTs 发表于 2021-7-26 13:55
最大的问题出在你仿的到底是什么


谢谢您的回复,电路的话是两个相互耦合的反相器做的SRAM,根据两者MC引入的工艺误差,导致耦合点产生01分布但这个现在确定问题不在电路,而是MC的设置问题,请问您有什么思路吗



 楼主| 发表于 2021-7-26 14:59:34 | 显示全部楼层

schematic

schematic

为方便讨论,我再贴下仿真的电路schematic
发表于 2021-7-26 15:45:41 | 显示全部楼层
本帖最后由 david_reg 于 2021-7-27 08:31 编辑

从mc_lib的定义看, 跑all的时候好像器件的mismatch被disable掉了, 这样一来两个inv的尺寸完全一样; 对于两个完全一样的inv, 电路存在一个不稳定的解, 这个解大约在中间值附近, 你跑出来的很可能是这个非稳态解; 你可以试试这样:
1. 先用DC扫描一个INV, 看看输入与输出相等时的解是什么电压, 假设为Vx;
2. 然后在跑mc all的tran仿真中, 用IC语句设置inv的一个节点电压为前面得到的Vx, 这样一来在mc仿真中inv的NMOS,PMOS器件相对nominal有了偏差后, 其非稳态解就会偏离Vx, 电路就不会停在非稳态的工作点, 应该会收敛到0或1的稳态.
 楼主| 发表于 2021-7-28 10:07:59 | 显示全部楼层


david_reg 发表于 2021-7-26 15:45
从mc_lib的定义看, 跑all的时候好像器件的mismatch被disable掉了, 这样一来两个inv的尺寸完全一样; 对于两 ...


非常感谢您的回复,我根据您的方法尝试了:
1、翻转电压Vx=565mV
2、IC语句具体是否用做设置初值用呢,这个的话我直接在ade xl可以直接UI设置了;但一样的即使给了初值跑ALL的MC依旧没有收敛到0,1
3、“跑all的时候好像器件的mismatch被disable掉了”,这是指all部分后面parameter的值全0吗,那我这边全改1试下;还有前面器件模型那的名字跟mismatch有什么区别吗?
十分感谢
发表于 2023-12-11 16:41:48 | 显示全部楼层
l楼主,请问你的mc_lib内容能否发一下?或者整个toplevel文件发一下,目前跑蒙卡只能跑mismatch,若是要跑process应该怎么设置呢?只包含mc_33与stat stat_mis_33会有参数未声明
 楼主| 发表于 2023-12-14 16:48:34 | 显示全部楼层


陈居易 发表于 2023-12-11 16:41
l楼主,请问你的mc_lib内容能否发一下?或者整个toplevel文件发一下,目前跑蒙卡只能跑mismatch,若是要跑pr ...


抱歉哈,这个我用的是公家的,不能私发或者截图的
发表于 2023-12-15 08:49:57 | 显示全部楼层


AEureka 发表于 2023-12-14 16:48
抱歉哈,这个我用的是公家的,不能私发或者截图的


那请问你的process蒙卡设置包含什么model呢,我照着pdf设置process会显示找不到parn1_33这个参数
 楼主| 发表于 2023-12-25 10:03:59 | 显示全部楼层
本帖最后由 AEureka 于 2023-12-25 10:06 编辑


陈居易 发表于 2023-12-15 08:49
那请问你的process蒙卡设置包含什么model呢,我照着pdf设置process会显示找不到parn1_33这个参数
...


你可以看下我发的正文第一张图,有model lib,我记得当时主要还是用mac模型跑的MC。
印象中MC_LIB就是跑all的,MISMATCH_LIB就跑mismatch的;现在有点忘了,没用这个工艺了,抱歉哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-6-15 13:38 , Processed in 0.026883 second(s), 6 queries , Gzip On, Redis On.

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