HSPICE课程设计报告.docx
《HSPICE课程设计报告.docx》由会员分享,可在线阅读,更多相关《HSPICE课程设计报告.docx(15页珍藏版)》请在冰点文库上搜索。
HSPICE课程设计报告
专业电子科学与技术
学号201010134
学生姓名康珣
指导老师汪再兴
设计一四位与非门的电路设计
一、课程设计的目的
1、学习使用电路设计与仿真软件HSPICE,练习用网表文件来描述模拟电路,并熟悉应用HSPICE内部元件库;
2、熟悉用MOS器件来设计四位逻辑输入与非门电路。
二、课程设计的内容和要求
1、内容:
运用HSPICE仿真软件以及网表文件来描述模拟电路;
2、要求:
利用MOS器件来设计一四位逻辑输入与非门电路。
三、设计原理
1、与非门
与非门是与门和非门的结合,先进行与运算,再进行非运算。
与运算输入要求有两个,如果输入都用0和1表示的话,那么与运算的结果就是这两个数的乘积。
如1和1(两端都有信号),则输出为1;1和0,则输出为0;0和0,则输出为0。
2、四输入与非门符号图及原理
当输入端A、B、C、D中只要有一个为低电平时,就会使与它相连的NMOS管截止,与它相连的PMOS管导通,输出为高电平;仅当A、B、C、D全为高电平时,才会使四个串联的NMOS管都导通,使四个并联的PMOS管都截止,输出为低电平。
3、其真值表和符号如下:
A
B
C
D
Y
0
0
0
0
1
0
0
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
4、网表文件
在文本文档中写出HSPICE软件所要求的网表文件,并另存为.sp文件。
网表文件如下:
CMOSNAND4
.OPTIONSLISTNODEPOST
.TRAN20P50N
VCCVCC05
MNMOS_1N_1AGndGndNCHW=2.5uL=250n
MNMOS_2N_2DN_1N_1NCHW=2.5uL=250n
MNMOS_3N_3CN_2N_2NCHW=2.5uL=250n
MNMOS_4VddBN_3N_3NCHW=2.5uL=250n
MPMOS_1VddAVddVddPCHW=2.5uL=250n
MPMOS_2VddDVddVddPCHW=2.5uL=250n
MPMOS_3VddCVddVddPCHW=2.5uL=250n
MPMOS_4VddBVddVddPCHW=2.5uL=250n
V210PULSE.24.80N0N0N5N10N
V320PULSE.24.80N0N0N5N10N
V430PULSE.24.80N0N0N5N10N
V540PULSE.24.80N0N0N5N10N
.measuretrantftrigv(5)val=4.5fall=1targv(5)val=0.5fall=1
.measuretrantrtrigv(5)val=0.5rise=1targv(5)val=4.5rise=1
.measuretrantpdrtrigv
(1)val=2.5rise=1targv(5)val=2.5fall=1
.measuretrantpdftrigv
(1)val=2.5fall=1targv(5)val=2.5rise=1
.measuretpdparam='(tpdr+tpdf)/2'
.MODELPCHPMOSLEVEL=1
.MODELNCHNMOSLEVEL=1
.END
四、仿真
点击打开HSPICE软件,接着利用open打开上面的网表文件,仿真,如下图所示:
然后点击Avanwaves如下图所示:
加入输入波形,如下图所示:
加入输出波形,如下图所示:
五、仿真分析
1.直流工作点分析
对DC.OP分析不收敛的情况,解决方法是:
删除.option语句中除acct,list,node,post之外的所有设置,采用默认设置,查找.lis文件中关于不收敛的原因;使用.nodeset和.ic语句自行设置部分工作点的偏置;DC.OP不收敛还有可能是由于model引起的,如在亚阈值区模型出现电导为负的情况。
2.瞬态分析
瞬态分析先进行直流工作点的计算,将计算结果作为瞬态分析在T0时刻的初始值,再通过迭代计算,在迭代计算过程中时间步长值是动态变化的,.trantstep中的步长值并不是仿真的步长值,只是打印输出仿真结果的时间间隔的值,可以通过调整.options lvltimimaximin来调整步长值。
瞬态分析不收敛主要是由于快速的电压变化和模型的不连续,对于快速的电压变化可以通过改变分析的步长值来保证收敛。
对模型的不连续,可以通过设置CAPOP和ACM电容,对于给定的直流模型一般选择CAPOP=4,ACM=3,对于level 49,ACM=0。
3.延时分析
将以下语句导入之前的网表文件:
.measuretrantftrigv(5)val=4.5fall=1targv(5)val=0.5fall=1
.measuretrantrtrigv(5)val=0.5rise=1targv(5)val=4.5rise=1
.measuretrantpdrtrigv
(1)val=2.5rise=1targv(5)val=2.5fall=1
.measuretrantpdftrigv
(1)val=2.5fall=1targv(5)val=2.5rise=1
.measuretpdparam='(tpdr+tpdf)/2'
延时分析结果如下:
tf=2.7638E-10targ=2.9766E-09trig=2.7002E-09
tr=2.8419E-10targ=8.4835E-09trig=8.1993E-09
tpdr=3.2211E-10targ=2.8221E-09trig=2.5000E-09
tpdf=-1.5189E-10targ=8.3481E-09trig=8.5000E-09
tpd=8.5110E-11
六、课程设计总结
通过本次课程设计,使用了电路设计与仿真软件HSPICE,初步掌握Hspice的基本设计方法,一方面加深了对课程知识的感性认识,增强了电路设计与综合分析的能力。
另外一方面通过练习用网表文件来描述模拟电路,用MOS器件来设计四位逻辑输入与非门电路,使我对HSPICE软件有一个更深层次的认识。
设计二8选1数据选择器的电路设计
一、课程设计目的
1、学习使用电路设计与仿真软件HSPICE、TannerEDA;
2、了解8选1数据选择器的工作原理和基本组成。
二、课程设计原理
1、8选1数据选择器电路图如下:
2、网表文件如下:
CMOSNAND4
.OPTIONSLISTNODEPOST
.TRAN20P50N
VCCVCC05
MNMOS_1VddN_2N_1N_1NCHW=2.5uL=250n
MNMOS_2VddN_3N_1N_1NCHW=2.5uL=250n
MNMOS_3VddN_4N_1N_1NCHW=2.5uL=250n
MNMOS_4Vddc1N_1N_1NCHW=2.5uL=250n
MNMOS_5Vddc2N_13N_13NCHW=2.5uL=250n
MNMOS_6Vdds2N_13N_13NCHW=2.5uL=250n
MNMOS_7VddN_3N_13N_13NCHW=2.5uL=250n
MNMOS_8VddN_2N_13N_13NCHW=2.5uL=250n
MNMOS_9Vddc3N_18N_18NCHW=2.5uL=250n
MNMOS_10VddN_4N_18N_18NCHW=2.5uL=250n
MNMOS_11Vdds1N_18N_18NCHW=2.5uL=250n
MNMOS_12VddN_2N_18N_18NCHW=2.5uL=250n
MNMOS_13Vddc4N_27N_27NCHW=2.5uL=250n
MNMOS_14Vdds2N_27N_27NCHW=2.5uL=250n
MNMOS_15Vdds1N_27N_27NCHW=2.5uL=250n
MNMOS_16VddN_2N_27N_27NCHW=2.5uL=250n
MNMOS_17Vddc5N_28N_28NCHW=2.5uL=250n
MNMOS_18VddN_4N_28N_28NCHW=2.5uL=250n
MNMOS_19VddN_3N_28N_28NCHW=2.5uL=250n
MNMOS_21Vddc6N_33N_33NCHW=2.5uL=250n
MNMOS_22Vdds2N_33N_33NCHW=2.5uL=250n
MNMOS_23VddN_3N_33N_33NCHW=2.5uL=250n
MNMOS_24VddselN_33N_33NCHW=2.5uL=250n
MNMOS_25Vddc7N_38N_38NCHW=2.5uL=250n
MNMOS_26VddN_4N_38N_38NCHW=2.5uL=250n
MNMOS_27Vdds1N_38N_38NCHW=2.5uL=250n
MNMOS_28VddselN_38N_38NCHW=2.5uL=250n
MNMOS_29Vddc8N_23N_23NCHW=2.5uL=250n
MNMOS_30Vdds2N_23N_23NCHW=2.5uL=250n
MNMOS_31Vdds1N_23N_23NCHW=2.5uL=250n
MNMOS_32VddselN_23N_23NCHW=2.5uL=250n
MNMOS_33VddN_27N_48N_48NCHW=2.5uL=250n
MNMOS_34VddN_18N_48N_48NCHW=2.5uL=250n
MNMOS_35VddN_13N_48N_48NCHW=2.5uL=250n
MNMOS_36VddN_1N_48N_48NCHW=2.5uL=250n
MNMOS_37VddN_23N_54N_54NCHW=2.5uL=250n
MNMOS_38VddN_38N_53N_53NCHW=2.5uL=250n
MNMOS_39VddN_33N_53N_53NCHW=2.5uL=250n
MNMOS_40VddN_28N_53N_53NCHW=2.5uL=250n
MPMOS_40N_51N_28N_52N_51PCHW=2.5uL=250n
MPMOS_10N_14N_4N_15N_14PCHW=2.5uL=250n
MPMOS_11N_15s1N_16N_15PCHW=2.5uL=250n
MPMOS_12N_16N_2N_17N_16PCHW=2.5uL=250n
MPMOS_13Gndc4N_19GndPCHW=2.5uL=250n
MPMOS_14N_19s2N_20N_19PCHW=2.5uL=250n
MPMOS_15N_20s1N_21N_20PCHW=2.5uL=250n
MPMOS_16N_21N_2N_22N_21PCHW=2.5uL=250n
MPMOS_17Gndc5N_24GndPCHW=2.5uL=250n
MPMOS_18N_24N_4N_25N_24PCHW=2.5uL=250n
MPMOS_19N_25N_3N_26N_25PCHW=2.5uL=250n
MPMOS_20N_26selN_32N_26PCHW=2.5uL=250n
MPMOS_21Gndc6N_29GndPCHW=2.5uL=250n
MPMOS_22N_29s2N_30N_29PCHW=2.5uL=250n
MPMOS_23N_30N_3N_31N_30PCHW=2.5uL=250n
MPMOS_24N_31selN_37N_31PCHW=2.5uL=250n
MPMOS_25Gndc7N_34GndPCHW=2.5uL=250n
MPMOS_26N_34N_4N_35N_34PCHW=2.5uL=250n
MPMOS_27N_35s1N_36N_35PCHW=2.5uL=250n
MPMOS_28N_36selN_42N_36PCHW=2.5uL=250n
MPMOS_29Gndc8N_39GndPCHW=2.5uL=250n
MPMOS_30N_39s2N_40N_39PCHW=2.5uL=250n
MPMOS_31N_40s1N_41N_40PCHW=2.5uL=250n
MPMOS_1N_5N_2N_6N_5PCHW=2.5uL=250n
MPMOS_32N_41selN_43N_41PCHW=2.5uL=250n
MPMOS_2N_7N_3N_5N_7PCHW=2.5uL=250n
MPMOS_33GndN_27N_44GndPCHW=2.5uL=250n
MPMOS_3N_8N_4N_7N_8PCHW=2.5uL=250n
MPMOS_34N_44N_18N_45N_44PCHW=2.5uL=250n
MPMOS_4Gndc1N_8GndPCHW=2.5uL=250n
MPMOS_35N_45N_13N_46N_45PCHW=2.5u
MPMOS_5Gndc2N_9GndPCHW=2.5uL=250n
MPMOS_36N_46N_1N_47N_46PCHW=2.5uL=250n
MPMOS_6N_9s2N_10N_9PCHW=2.5uL=250n
MPMOS_37GndN_23N_49GndPCHW=2.5uL=250n
MPMOS_7N_10N_3N_11N_10PCHW=2.5uL=250n
MPMOS_38N_49N_38N_50N_49PCHW=2.5uL=250n
MPMOS_8N_11N_2N_12N_11PCHW=2.5uL=250n
MPMOS_39N_50N_33N_51N_50PCHW=2.5uL=250n
MPMOS_9Gndc3N_14GndPCHW=2.5uL=250n
V210PULSE.24.80N0N0N5N10N
V320PULSE.24.80N0N0N5N10N
V430PULSE.24.80N0N0N5N10N
V540PULSE.24.80N0N0N5N10N
.measuretrantftrigv(5)val=4.5fall=1targv(5)val=0.5fall=1
.measuretrantrtrigv(5)val=0.5rise=1targv(5)val=4.5rise=1
.measuretrantpdrtrigv
(1)val=2.5rise=1targv(5)val=2.5fall=1
.measuretrantpdftrigv
(1)val=2.5fall=1targv(5)val=2.5rise=1
.measuretpdparam='(tpdr+tpdf)/2'
.MODELPCHPMOSLEVEL=1
.MODELNCHNMOSLEVEL=1
.END
3、电路图如下图所示
其中的四输入与非门电路图如下图所示:
然后点击Avanwaves如下图所示:
仿真波形如下图所示:
三、仿真分析
1.直流工作点分析
对DC.OP分析不收敛的情况,解决方法是:
删除.option语句中除acct,list,node,post之外的所有设置,采用默认设置,查找.lis文件中关于不收敛的原因;使用.nodeset和.ic语句自行设置部分工作点的偏置;DC.OP不收敛还有可能是由于model引起的,如在亚阈值区模型出现电导为负的情况。
2.瞬态分析
瞬态分析先进行直流工作点的计算,将计算结果作为瞬态分析在T0时刻的初始值,再通过迭代计算,在迭代计算过程中时间步长值是动态变化的,.trantstep中的步长值并不是仿真的步长值,只是打印输出仿真结果的时间间隔的值,可以通过调整.options lvltimimaximin来调整步长值。
瞬态分析不收敛主要是由于快速的电压变化和模型的不连续,对于快速的电压变化可以通过改变分析的步长值来保证收敛。
对模型的不连续,可以通过设置CAPOP和ACM电容,对于给定的直流模型一般选择CAPOP=4,ACM=3,对于level 49,ACM=0。
对瞬态分析,默认采用Trapezoidal算法,精度比较高,但容易产生寄生振荡,采用GEAR算法作为滤波器可以滤去由于算法产生的振荡,具有更高的稳定性。
3.延时分析
对设计电路进行延时分析,在网表文件倒数第三行.MODEL之前加入下语句,利用Hspice软件进行仿真并输入延时分析结果。
延时分析结果如下:
tf=5.0200E-09targ=2.5020E-08trig=3.0000E-08
tr=2.8419E-20targ=8.4835E-08trig=8.1993E-24
tpdr=3.622e-20targ=2.8221E-08trig=2.5000E-24
tpdf=1.5189E-20targ=5.3481E-08trig=3.0000E-24
tpd=5.0200E-09
四、课程设计的总结
通过这次的课程设计,我比较熟悉的掌握了对HSPICE、TannerEDA这些软件的操作,了解了8选1数据选择器的工作原理,提高了自己的专业水平,使我学会了对HSPICE、TannerEDA软件的使用以及掌握了仿真的相关知识,在以后的学习中能更好的应用一些软件。