大家好,欢迎来到IT知识分享网。
1.SPICE电路结构与网表
NAND:
电路结构图
SPICE网表:
*NAND gate hspice file
.TEMP 25.0000
.option abstol=1e-6 reltol=1e-6 post ingold
.lib 'gd018.l' TT
*VDD
V1 1 0 dc=1.8
*===================================
*VA and VB is the input voltage
*Vout is at node vo
*===================================
*Input A
VA A 0 0
*Input B
VB B 0 0
*P-types in Parallel
Mp1 vo A 1 1 PCH W=5u L=1u
Mp2 vo B 1 1 PCH W=5u L=1u
*N-types in Series
Mn1 vo A vn 0 NCH W=2u L=1u
Mn2 vn B 0 0 NCH W=2u L=1u
*------------------------------------------------------
*Step the voltage VA and VB from 0 to 1.8
.dc VB START=0 STOP=1.8 STEP=.01 SWEEP VA 0 1.8 0.2
*------------------------------------------------------
*------------------------------------------------------
*.IC V(A) = 1.8
*.dc VB START=0 STOP=1.8 STEP=.01
*------------------------------------------------------
.op
.end
NOR:
电路结构图:
SPCIE网表:
*NOR gate hspice file
.TEMP 25.0000
.option abstol=1e-6 reltol=1e-6 post ingold
.lib 'gd018.l' TT
*VDD
V1 1 0 dc=1.8
*===================================
*VA and VB is the input voltage
*Vout is at node vo
*===================================
*Input A
VA A 0 0
*Input B
VB B 0 0
*P-types in Parallel
Mp1 2 B 1 1 PCH W=5u L=1u
Mp2 vo A 2 1 PCH W=5u L=1u
*N-types in Series
Mn1 vo B 0 0 NCH W=2u L=1u
Mn2 vo A 0 0 NCH W=2u L=1u
*------------------------------------------------------
*Step the voltage VA and VB from 0 to 1.8
.dc VB START=0 STOP=1.8 STEP=.01 SWEEP VA 0 1.8 0.2
*------------------------------------------------------
*------------------------------------------------------
*.IC V(A) = 1.8
*.dc VB START=0 STOP=1.8 STEP=.01
*------------------------------------------------------
.op
.end
XOR:
比较复杂
SPICE网表:
*XOR gate hspice file
.TEMP 25.0000
.option abstol=1e-6 reltol=1e-6 post ingold
.lib 'gd018.l' TT
*VDD
V1 1 0 dc=1.8
*===================================
*VA and VB is the input voltage
*Vout is at node vo
*===================================
*Input A
VA A 0 0
*Input B
VB B 0 0
*P-types in Parallel
Mp1 2 B 1 1 PCH W=5u L=1u
Mp2 3 A 2 1 PCH W=5u L=1u
Mp3 4 B 1 1 PCH W=5u L=1u
Mp4 4 A 1 1 PCH W=5u L=1u
Mp5 vo 3 4 1 PCH W=5u L=1u
*N-types in Series
Mn1 3 B 0 0 NCH W=2u L=1u
Mn2 3 A 0 0 NCH W=2u L=1u
Mn3 vo A 5 0 NCH W=2u L=1u
Mn4 5 B 0 0 NCH W=2u L=1u
Mn5 vo 3 0 0 NCH W=2u L=1u
*------------------------------------------------------
*Step the voltage VA and VB from 0 to 1.8
.dc VB START=0 STOP=1.8 STEP=.01 SWEEP VA 0 1.8 0.2
*------------------------------------------------------
*------------------------------------------------------
*.IC V(A) = 1.8
*.dc VB START=0 STOP=1.8 STEP=.01
*------------------------------------------------------
.op
.end
2.电路仿真结果-基础部分
NAND:
由于线太多,不太好看,我们分成输入a为高电平和输入a为低电平的情况:
a为高电平:
a为低电平:
NOR:
由于线太多,不太好看,我们分成输入a为高电平和输入a为低电平的情况:
a为高电平:
a为低电平:
XOR:
由于线太多,不太好看,我们分成输入a为高电平和输入a为低电平的情况:
a为高电平:
a为低电平:
3.实验结果分析
NAND:
从图中可以看到,当我们的输入a(紫色线)为高电平的时候,只要高于1.4V,此时如果输入b(黄色线)低于0.8V,基本上可以输出高电平1,表示a(1)b(0)=>vo(1)
同理,当我们的输入a(紫色线)为高电平的时候,只要高于1.4V,此时如果输入b(黄色线)高于0.8V,基本上可以输出低电平0,表示a(1)b(1)=>vo(0)
同理,当我们的输入a(紫色线)为低电平的时候,只要低于0.4V,此时如果输入b(黄色线)高于0.8V,基本上可以输出低电平1,表示a(0)b(1)=>vo(1)
同理,当我们的输入a(紫色线)为低电平的时候,只要低于0.4V,此时如果输入b(黄色线)低于0.8V,基本上可以输出高电平1,表示a(0)b(0)=>vo(1)
NOR:
从图中可以看到,当我们的输入a(棕色线)为高电平的时候,只要高于1.4V,此时如果输入b(蓝色线)低于0.8V,基本上可以输出高电平0,表示a(1)b(0)=>vo(0)
同理,当我们的输入a(棕色线)为高电平的时候,只要高于1.4V,此时如果输入b(蓝色线)高于0.8V,基本上可以输出低电平0,表示a(1)b(1)=>vo(0)
同理,当我们的输入a(棕色线)为低电平的时候,只要低于0.4V,此时如果输入b(蓝色线)高于0.8V,基本上可以输出低电平1,表示a(0)b(1)=>vo(0)
同理,当我们的输入a(棕色线)为低电平的时候,只要低于0.4V,此时如果输入b(蓝色线)低于0.8V,基本上可以输出高电平1,表示a(0)b(0)=>vo(1)
XOR:
从图中可以看到,当我们的输入a(蓝色线)为高电平的时候,只要高于1.4V,此时如果输入b(灰色线)低于0.8V,基本上可以输出高电平0,表示a(1)b(0)=>vo(1)
同理,当我们的输入a(蓝色线)为高电平的时候,只要高于1.4V,此时如果输入b(灰色线)高于0.8V,基本上可以输出低电平0,表示a(1)b(1)=>vo(0)
同理,当我们的输入a(蓝色线)为低电平的时候,只要低于0.4V,此时如果输入b(灰色线)高于0.8V,基本上可以输出低电平1,表示a(0)b(1)=>vo(1)
同理,当我们的输入a(蓝色线)为低电平的时候,只要低于0.4V,此时如果输入b(灰色线)低于0.8V,基本上可以输出高电平1,表示a(0)b(0)=>vo(0)
测试结果与真值表所表示的内容一致。
下面我们要分析一下什么宽长比最好:
我们在这里只改变pmos的宽,网表文件如下:
*NAND gate hspice file
.TEMP 25.0000
.option abstol=1e-6 reltol=1e-6 post ingold
.param width=2u
.lib 'gd018.l' TT
*VDD
V1 1 0 dc=1.8
*===================================
*VA and VB is the input voltage
*Vout is at node vo
*===================================
*Input A
VA A 0 dc=1.8
*Input B
VB B 0 0
*P-types in Parallel
Mp1 vo A 1 1 PCH W=width L=1u
Mp2 vo B 1 1 PCH W=width L=1u
*N-types in Series
Mn1 vo A vn 0 NCH W=2u L=1u
Mn2 vn B 0 0 NCH W=2u L=1u
*------------------------------------------------------
*Step the voltage VA and VB from 0 to 1.8
.dc VB START=0 STOP=1.8 STEP=.01 SWEEP width 4u 6u 0.1u
*SWEEP VA 0 1.8 0.2
*------------------------------------------------------
*------------------------------------------------------
*.IC V(A) = 1.8
*.dc VB START=0 STOP=1.8 STEP=.01
*------------------------------------------------------
.op
.end
我们可以得到这么一张图:
本来,在我们计算中,当时,是一个比较优化的比例。
但是,由于我们的仿真的部分参数和工艺的不同,我们发现,只有当宽长比为11/2=5.5的时候,才能到达我们想要的0.9V,如图:
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/21955.html