作者Shiva (Shiva)
看板Electronics
标题[问题] Hspice如何模拟fully differential OPA?
时间Wed Aug 26 21:13:03 2009
请问双端输入、双端输出的OP Amp该怎麽模拟呢?
找了书来看,上面都只有单端的例子 = =
现在跑fully differential感觉问题非常多 @@
先附上小弟写的folded cascode netlist:
folded
.global vdd vss
.option acout=0 →这个指令是板上爬文和书上都有看到的,求双端输出db值时这样写
.option post=2
.option probe
.protect
.lib ./rf018.l tt
.unprotect
mp1 1 in1 7 vdd pch l=0.35u w=30u
mp2 2 in2 7 vdd pch l=0.35u w=30u
mp3 5 5 vdd vdd pch l=0.35u w=15u
mp4 6 5 vdd vdd pch l=0.35u w=15u
mp5 out2 out2 5 vdd pch l=0.35u w=20u
mp6 out1 out2 6 vdd pch l=0.35u w=20u
mp7 7 b1 vdd vdd pch l=0.35u w=50u
mn1 out2 b2 1 vss nch l=0.35u w=5u
mn2 out1 b2 2 vss nch l=0.35u w=5u
mn3 1 b3 vss vss nch l=0.35u w=25u
mn4 2 b3 vss vss nch l=0.35u w=25u
*输入端的描述
vd 9 0 dc 0 ac 1
evd1 in1 8 9 0 0.5
evd2 in2 8 9 0 -0.5
vcm 8 0 dc 0
vdd vdd 0 dc 3.3v
vss vss 0 dc -3.3v
vb1 b1 0 2.4
vb2 b2 0 -1.2
vb3 b3 0 -2.4
.op
.ac dec 10 100 100g
*读取输出端的描述
.print ac v(out1) v(out2) v(out1,out2)
.probe ac v(out1) v(out2) v(out1,out2)
.print ac vdb(out1) vdb(out2) vdb(out1,out2)
.probe ac vdb(out1) vdb(out2) vdb(out1,out2)
.end
1.
首先,问题在於
差动输入端的描述
我是考虑VCM相同,然後再灌入差动小讯号
*输入端的描述
vd 9 0 dc 0 ac 1
evd1 in1 8 9 0 0.5
evd2 in2 8 9 0 -0.5
vcm 8 0 dc 0
node9
in1 in2 |
| | |
| |
vd
| | |
evd1 evd2 |
| | gnd
| |
─────
→node8
|
|
VCM
|
|
gnd
这样写的话就是dc偏压为0v,in1端 交流 0.5v,in2端 交流 -0.5v
不知道这样来描述差动对的输入端是否是正确的?
2.
再来是输出端的问题
我要求
双端输出的gain
*读取输出端的描述
.print ac v(out1) v(out2) v(out1,out2)
.probe ac v(out1) v(out2) v(out1,out2)
.print ac vdb(out1) vdb(out2) vdb(out1,out2)
.probe ac vdb(out1) vdb(out2) vdb(out1,out2)
我看书上求gain都直接看v(out),但是gain的定义不是 v(out)/v(in) 才对吗?
真是非常困惑
还有我的电路明明是两边对称的,但是out2端和out1端的电压却不是相同的值
这到底是为什麽阿?
(我去看执行.op後所得的小讯号参数,电路的两端也是对称的)
(如果电路两边是对称的,依照电子学差动观念,应该gain只是差负号而已吧)
ex.列出.lis中print出的一部份
freq
voltage voltage voltage
out1 out2 out1
out2
100.00000
81.8800 865.3672m 82.7454
freq
volt db volt db volt db
out1 out2 out1
out2
100.00000
38.2636 -1.2560 38.3549
↑ ↑
数据竟然相差如此之多 = =
再来就是想求
CMRR,这应该先求得
共模增益(Acm)吧?
这要怎麽求呢?
3.
再来就是想请问
输出阻抗要怎麽求?
单端的时候直接下 .tf v(out) vin
但是双端该怎麽写?
另外,如果我想看不同频率下的输出阻抗变化,又该怎麽下指令呢?
还有有办法求得
输入电容吗?(从input端看进来的等效电容)
因为我设计的是sensor readout电路
为了配合前一级,必须要让输入电容很小,才能读得到sensor的值
4.
输入共模范围 与
输出摆幅
这个问题在书上找不到
是不是要自己看.op所得到那些vgs,vgd,vt值
然後再按照电子学所说一层cascode用掉一个overdrive voltage,再去加加减减?
hspice有比较快的方法可以获得这些资讯吗?
5.
最後想请问一个写netlist的小问题
在网路上看到一些例子,特别把mos写成
并联好几个
mp1 1 in1 7 vdd pch l=0.35u
w=30u
mp1 1 in1 7 vdd pch l=0.35u
w=10u m=3
这两种写法有什麽差别吗?(模拟或layout上)
以上问题
请您不吝赐教 感激不尽 <(_ _)>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.169.180
※ 编辑: Shiva 来自: 140.113.169.180 (08/26 21:18)
1F:推 pdaer:看allen那本书 里面怎麽模拟OP写很清楚 08/26 22:04
2F:推 deathcustom:Vsup1 vinp gnd dc xxx ac 0.5 0 08/26 22:55
3F:推 deathcustom:Vsup2 vinn gnd dc xxx ac 0.5 180 08/26 22:55
4F:推 bb7:一次就是w=30u....好长...... 08/27 02:37
5F:推 deathcustom:W/L = 9......你的Rg很大唷~这样noise会把你搞死 08/27 03:59
6F:推 elvisrod:allen那本书没教你怎麽模拟双端的呀 颗颗 08/27 10:03
7F:→ Shiva:W/L = 9是极限吗? 小弟目前仍在练习阶段 没考虑tradeoff @@ 08/27 10:05
8F:→ deathcustom:话说实际上你的W/L = 86......实在很诡异/_\ 08/27 17:42
9F:→ Shiva:翻了一下allen 好像的确只有讲单端 > <~ 08/27 18:22
10F:→ Shiva:有板友可以提示一下吗? @@ 08/27 18:23
11F:推 tcjlu:R. Jacob Baker的CMOS里面好像有大概讲一下要怎麽测 09/04 19:24