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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

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

[原创] Verilog-A代码仿真疑问咨询

[复制链接]
发表于 2025-5-17 16:08:18 | 显示全部楼层 |阅读模式

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

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

x
我在用verilog-A代码描述一个晶体管,代码中基本只了描述电压和电流,随后我将其弄成一个symbol,在virtuoso中的spectre仿真器上仿真电路,我的电路中有一个节点是“浮空”的(比如将我晶体管的源端接放大器的反向输入,在这里我先接用晶体管的栅端代替)。但随后仿真我发现这个节点的电压会不正常,会跟随漏端的电压(或者栅端的电压)。比如下图在瞬态仿真中,我一开始让M0和M2都是关断的,VDD为高电平,VSS为低电平,但从仿真图一看发现下面那条线的电压莫名其妙的被拉到VDD了,同样M2的漏端电压也别拉到VDD了。这实在让我搞不懂,我所有的晶体管的都是用verilog-A写的,逻辑应该都是没问题的。部分代码如下所示。按道理来说,仿真器仿真到一个浮空点的电压默认一开始不应该是0吗?
希望有大佬能帮忙解答一下,谢谢!


                               
登录/注册后可看大图

                               
登录/注册后可看大图

                               
登录/注册后可看大图

发表于 2025-5-17 20:06:31 | 显示全部楼层
从贴的代码中没看到id怎么赋值的,但是我想你建模的不会是一个理想开关似的MOS管吧,只要VDS>0,就存在ID吧(哪怕这个ID可能非常非常小)?但是栅极可是真正理想的绝缘,不存在直流电流的。所以M0和M2的源端并不是绝对意义的浮空。对于电路中绝对意义浮空节点,如果电路所有激励都是直流源,你给浮空节点任意指定一个初值,这个初值都可以一直维持下去。但是你这个电路里“浮空节点”不具备这个特性,即使你给赋初值0,它也会在微弱的id下慢慢上升,经过足够长的时间后,无限接近VDD。
发表于 2025-5-17 22:48:36 | 显示全部楼层
自带库里本就有理想mos的veriloga模型,没必要自己写一个。
 楼主| 发表于 2025-5-18 15:07:22 | 显示全部楼层


迷路大脸猫 发表于 2025-5-17 22:48
自带库里本就有理想mos的veriloga模型,没必要自己写一个。


我想写的是TFT,不是MOS,至于为什么要重新写一个是因为电流之类的建模方程跟MOS不太一样
 楼主| 发表于 2025-5-18 15:42:01 | 显示全部楼层


acrofoxAgain 发表于 2025-5-17 20:06
从贴的代码中没看到id怎么赋值的,但是我想你建模的不会是一个理想开关似的MOS管吧,只要VDS>0,就存在ID吧 ...



                               
登录/注册后可看大图


以上是M2管的电流方程,就是一个简单的平方律模型,外加一些电荷模型。第二张图可以看到我的VDD一开始给的是10V,V_bg也就是M1的开关信号,-5V时是关的(虽然有微小的电流,如橙色线所示),紫色线是M2漏端电压(是正常的,因为我接了一个很高的阻抗到VSS,VSS=5V),但可以看到天蓝色线,也就是我说的异常点,从瞬态仿真一开始就是3.8V,但明明我的M1管一开始没开启,这个电压究竟是怎么得来的?有时还是出现像我刚开始说的,VDD是多少伏,这里的电压就是多少伏。我不清楚仿真器一开始究竟是怎么求解这个节点的电压的,但据我所知,spectre仿真器对于一个“浮空的节点”应该是赋予0V的吧?(一开始M1是关的,可以认为源端浮空吧?)scan_2是M2的开关信号。
难道就因为有电流的存在(虽说一开始关断,但可以看到还是有10fA左右的电流),就会对“浮空的节点”赋予一个“奇怪”的值?

 楼主| 发表于 2025-5-18 16:53:02 | 显示全部楼层


acrofoxAgain 发表于 2025-5-17 20:06
从贴的代码中没看到id怎么赋值的,但是我想你建模的不会是一个理想开关似的MOS管吧,只要VDS>0,就存在ID吧 ...



                               
登录/注册后可看大图
发表于 2025-5-18 19:55:40 | 显示全部楼层


George_01 发表于 2025-5-18 15:42
以上是M2管的电流方程,就是一个简单的平方律模型,外加一些电荷模型。第二张图可以看到我的VDD一开始 ...


一点不奇怪呀,事实上就应该是VDD。
 楼主| 发表于 2025-5-18 20:46:26 | 显示全部楼层


acrofoxAgain 发表于 2025-5-18 19:55
一点不奇怪呀,事实上就应该是VDD。


为什么?求教。
那我要让其为“低电平”作为初始状态,我该怎么办?我目前用的方法是加一个100T的下拉电阻,请问还有别的方法?
发表于 2025-5-18 20:50:12 | 显示全部楼层


George_01 发表于 2025-5-18 20:46
为什么?求教。
那我要让其为“低电平”作为初始状态,我该怎么办?我目前用的方法是加一个100T的下拉电 ...


如果只是仿真,直接设初始状态就行。如果是想设置电路实际工作的初始状态,那需要再加一个开关。
 楼主| 发表于 2025-5-18 22:06:30 | 显示全部楼层


acrofoxAgain 发表于 2025-5-18 19:55
一点不奇怪呀,事实上就应该是VDD。


是因为你上面所说的,vds大于0,有电流,所以仿真器在对“浮空节点”求解的时候会让其等于VDD?然后就是我在波形图上看到的结果(就像瞬态仿真,一开始那个节点就等于VDD了)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-6-9 18:35 , Processed in 0.051137 second(s), 7 queries , Gzip On, MemCached On.

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