1、1静态 cmos8 输入与非门的性能优化实验目的:1、通过对 8 输入与非门的性能优化掌握大扇入组合逻辑电路的设计优化方法;2、掌握 HSPICE 等 EDA 软件的基本操作;实验原理:1、大扇入时的设计技术:调整晶体管尺寸;逐级加大晶体管尺寸;重新安排输入;重组逻辑结构;2、 8 输入与非门的电路图:图 1 八输入与非门电路图实验内容:实验采用的软件为 HSPICE C-2009.09,工艺库文件为 MM180_LVT18_V113.LIB(0.18um) 。首先我们以 Wp/Wn=2/1 的参考反相器为基准确定八输入与非门的 Wp/Wn=2/8。这里我们取Wp/L=2,L=0.18um,W
2、n/L=8。由书上的结论可以得到:“互补 CMOS 门的传播延时与输入模式是相关的。 ”如果考虑 8 输入与非门的输出由低至高的翻转,则有 28-1 种情形。显然要对它们都进行模拟是十分繁琐的。因此我们仅仅考虑引起最坏情况的输入组合(A=B=C=D=E=F=G=1,H=10,至于选该情形的理由将在 3 中进行解释,以下所讨论的 tpLH如果不特别说明均指的是在该情形下) 。而对于输出由高到低翻转的情形输入模式类似的也有 28-1 种情形,但是如果考虑内部节点(图 1中的节点 17)电容的初始状态时,估计延时就变得相当复杂。这时最坏情形发生在内部节点都被充电至 VDD-VTH 时,然后通过下拉网
3、络对负载电容及各节点电容进行放电。下面我们对书上提到的四种设计技术进行逐一的验证:1、调整晶体管尺寸:根据书上结论:”如果负载电容主要是门自身的本征电容,则加宽器件只会增加自载效应,对传播延时将不产生影响。只有当负载以扇出为主是放大尺寸才会起作用。 ”负载电容主要是门自身的本征电容:我们考虑极端情形,即负载电容就是门自身的本征电容时:这里我们取 L=0.18um, Wp/L=2、3、4 三种情况,对应的 Wn/L=8、12、16。编写的 HSPICE 网表代码如下:nand.lib C:avantiMM180_LVT18_V113.LIB TT.print v(out) v(a).param
4、wn=4*wp2mp1 out a vdd vdd P_LV_18_MM w=wp l=0.18ummp2 out a vdd vdd P_LV_18_MM w=wp l=0.18ummp3 out a vdd vdd P_LV_18_MM w=wp l=0.18ummp4 out a vdd vdd P_LV_18_MM w=wp l=0.18ummp5 out a vdd vdd P_LV_18_MM w=wp l=0.18ummp6 out a vdd vdd P_LV_18_MM w=wp l=0.18ummp7 out a vdd vdd P_LV_18_MM w=wp l=0.18
5、ummp8 out h vdd vdd P_LV_18_MM w=wp l=0.18ummn1 out a 1 gnd N_LV_18_MM w=wn l=0.18ummn2 1 a 2 gnd N_LV_18_MM w=wn l=0.18ummn3 2 a 3 gnd N_LV_18_MM w=wn l=0.18ummn4 3 a 4 gnd N_LV_18_MM w=wn l=0.18ummn5 4 a 5 gnd N_LV_18_MM w=wn l=0.18ummn6 5 a 6 gnd N_LV_18_MM w=wn l=0.18ummn7 6 a 7 gnd N_LV_18_MM w
6、=wn l=0.18ummn8 7 h gnd gnd N_LV_18_MM w=wn l=0.18umvdd vdd gnd dc 1.8va a gnd dc 1.8vh h gnd pulse 0v 1.8v 500ps 100ps 100ps 2ns 4ns.data wp_tablewp0.36um0.54um0.72um.enddata.tran 1ps 4.5ns sweep data=wp_table.end图 2 不同尺寸下 8 输入 nand 内部节点随输入电压变化曲线通过对上面波形(图 2)的分析我们可以得到:3a.利用输入为 A=B=C=D=E=F=G=1,H=01 来
7、近似等效 tpHL 的最坏情形是可行的。因为我们可以看到在此情形下节点 17 的电压近似都等于 VDD-VTH。之后的讨论在没有特地说明的情况下我们均用该输入情形来近似 tpHL 的最坏情形。b.当我们以参考反相器为标准设计 8 输入与非门时,最坏情形下的 tpLH 大于 tpHL,这时设计的主要矛盾在于减小 tpHL。图 3 负载电容为门自身本征电容时不同尺寸 nand 的瞬态响应波形图分析上面波形(图 3)我们可以得到:当负载电容为门自身本征电容时,增加晶体管的尺寸 tpHL 是没有减少的。由图 2 得到的结论我们可以近似认为此时是内部节点全部被充电到 VDD-VTH 时的最坏情形。简单作
8、一个半定量解释:对于晶体管导通时的等效电阻 Req 随着晶体管尺寸增大近似线性减小,而节点电容却近似线性增大,所以电阻和电容的乘积基本不变,延时也就不随尺寸变化。这个结论其实与在反相器实验中的“本征延时与反相器的尺寸无关”类似。而对于 tpLH 我们可以看到,它随尺寸增大不但没有减少反而略有增加,这可以解释为:在此情形下 8 个 pmos并联构成的上拉网络只有一个导通,对于电阻的变化只有一个晶体管“贡献” ,但是对于电容变化却是 8 个晶体管漏端寄生电容共同 “贡献” ,这种结果使得 tPLH 随着尺寸增加而略有增大。这样我们可以得到:当负载电容为门自身的本征电容时,增加晶体管尺寸不仅不能改善
9、延时,反而“晶体管尺寸的增加会产生较大的寄生电容,这不仅会增加该门的传播延时,还会对前一级的门产生较大的负载。 ” 负载电容与扇出电容为主时:这里我们只需对中的代码进行稍稍的修改,即在输出端加一个相对于门自身本征电容大的多的负载电容 CL。这里我们取 CL=50fF。修改完的 HSPICE 网表代码如下:nand.lib C:avantiMM180_LVT18_V113.LIB TT.print v(out) v(a).param wn=4*wpmp1 out a vdd vdd P_LV_18_MM w=wp l=0.18ummp2 out a vdd vdd P_LV_18_MM w=wp
10、 l=0.18ummp3 out a vdd vdd P_LV_18_MM w=wp l=0.18um4mp4 out a vdd vdd P_LV_18_MM w=wp l=0.18ummp5 out a vdd vdd P_LV_18_MM w=wp l=0.18ummp6 out a vdd vdd P_LV_18_MM w=wp l=0.18ummp7 out a vdd vdd P_LV_18_MM w=wp l=0.18ummp8 out h vdd vdd P_LV_18_MM w=wp l=0.18ummn1 out a 1 gnd N_LV_18_MM w=wn l=0.18
11、ummn2 1 a 2 gnd N_LV_18_MM w=wn l=0.18ummn3 2 a 3 gnd N_LV_18_MM w=wn l=0.18ummn4 3 a 4 gnd N_LV_18_MM w=wn l=0.18ummn5 4 a 5 gnd N_LV_18_MM w=wn l=0.18ummn6 5 a 6 gnd N_LV_18_MM w=wn l=0.18ummn7 6 a 7 gnd N_LV_18_MM w=wn l=0.18ummn8 7 h gnd gnd N_LV_18_MM w=wn l=0.18umcl out gnd 50ffvdd vdd gnd dc
12、1.8va a gnd dc 1.8vh h gnd pulse 0v 1.8v 500ps 100ps 100ps 2ns 4ns.data wp_tablewp0.36um0.54um0.72um.enddata.tran 1ps 4.5ns sweep data=wp_table.end图 4 负载电容以扇出电容为主时不同尺寸 nand 的瞬态响应波形图通过对上面波形(图 4)的分析我们可以得到:当负载电容以扇出电容为主时,放大晶体管尺寸能使晶体管具有更大的充放电电流从而能够减小时间常数。这个结论其实与反相器链的结论是类似的,而更为一般的方法应该是在输出端与负载间接一个缓冲器链(或反相5
13、器链) ,使得门自身的本征电容,缓冲器(或反相器)的本征电容,扇出电容按 4 的比例递增,选择适当的级数,可以使得门的延时得到优化。2、逐级加大晶体管尺寸:根据书上结论“逐级加大晶体管尺寸可以改善 tpHL”,显然只有在 tpHL 为制约 8 输入与非门的瓶颈时,这种改善才是有意义的。而我们在 1 中看到的按照参考反相器设计的 8 输入与非门延时的限制在于 tpLH 而不是 tpHL,所以这里我们抛开按照参考反相器设计的 8 输入与非门而采用最小尺寸的 nmos 下拉网络对比逐级增大的 nmos 下拉网络,看看这种设计能够给 tpHL 带来的改善程度,同时看看它对 tpLH 有何影响。此处我们
14、不考虑扇出电容 CL。HSPICE 网表代码如下所示:nand.lib C:avantiMM180_LVT18_V113.LIB TT.print v(out) v(a) v(h).param wn1=0.18um*(1+1*n).param wn2=0.18um*(1+2*n).param wn3=0.18um*(1+3*n).param wn4=0.18um*(1+4*n).param wn5=0.18um*(1+5*n).param wn6=0.18um*(1+6*n).param wn7=0.18um*(1+7*n).param wn8=0.18um*(1+8*n)mp1 out a
15、vdd vdd P_LV_18_MM w=0.36um l=0.18ummp2 out a vdd vdd P_LV_18_MM w=0.36um l=0.18ummp3 out a vdd vdd P_LV_18_MM w=0.36um l=0.18ummp4 out a vdd vdd P_LV_18_MM w=0.36um l=0.18ummp5 out a vdd vdd P_LV_18_MM w=0.36um l=0.18ummp6 out a vdd vdd P_LV_18_MM w=0.36um l=0.18ummp7 out a vdd vdd P_LV_18_MM w=0.3
16、6um l=0.18ummp8 out h vdd vdd P_LV_18_MM w=0.36um l=0.18ummn1 out a 1 gnd N_LV_18_MM w=wn1 l=0.18ummn2 1 a 2 gnd N_LV_18_MM w=wn2 l=0.18ummn3 2 a 3 gnd N_LV_18_MM w=wn3 l=0.18ummn4 3 a 4 gnd N_LV_18_MM w=wn4 l=0.18ummn5 4 a 5 gnd N_LV_18_MM w=wn5 l=0.18ummn6 5 a 6 gnd N_LV_18_MM w=wn6 l=0.18ummn7 6
17、a 7 gnd N_LV_18_MM w=wn7 l=0.18ummn8 7 h gnd gnd N_LV_18_MM w=wn8 l=0.18umvdd vdd gnd dc 1.8va a gnd dc 1.8vvh h gnd pulse 0v 1.8v 1ns 100ps 100ps 2ns 4ns.data n_tablen01263.enddata.tran 1ps 5ns sweep data=n_table.end图 5 下拉网络的 NMOSFET 尺寸按不同公差递增的 8 输入与非门的瞬态响应波形图分析上面波形(图 5)我们可以得出以下结论:a.下拉网络逐级递增晶体管尺寸后的
18、 8 输入与非门的 tpHL 与下拉网络按最小尺寸设计的 8 输入与非门的 tpHL 有明显改善;b.对于下拉网络逐级递增晶体管尺寸后的 8 输入与非门,不同的公差所能带来的 tpHL 的改善是十分有限的;c.逐级递增晶体管尺寸后的 8 输入与非门的 tpLH 是增加的,换言之,这种改善是以牺牲tpLH 为代价的。此外 tpLH 的增加是随公差的增加而明显增加的;d.采用该技术的前提条件是:首先,改善前 tpHL 大于 tpLH,其次改善后的 tpHL 的减小量大于tpLH 的增加量。满足这两个条件后才是有意义的。3、重新安排输入:编写的 HSPICE 网表代码如下:输入模式为 A=B=C=D
19、=E=F=G=1,H=010nand.lib C:avantiMM180_LVT18_V113.LIB TT.print v(out) v(a) v(b) v(h)mp1 out a vdd vdd P_LV_18_MM w=0.36um l=0.18ummp2 out a vdd vdd P_LV_18_MM w=0.36um l=0.18ummp3 out a vdd vdd P_LV_18_MM w=0.36um l=0.18ummp4 out a vdd vdd P_LV_18_MM w=0.36um l=0.18ummp5 out a vdd vdd P_LV_18_MM w=0.3
20、6um l=0.18ummp6 out a vdd vdd P_LV_18_MM w=0.36um l=0.18ummp7 out a vdd vdd P_LV_18_MM w=0.36um l=0.18ummp8 out h vdd vdd P_LV_18_MM w=0.36um l=0.18ummn1 out a 1 gnd N_LV_18_MM w=0.72um l=0.18um7mn2 1 a 2 gnd N_LV_18_MM w=0.72um l=0.18ummn3 2 a 3 gnd N_LV_18_MM w=0.72um l=0.18ummn4 3 a 4 gnd N_LV_18
21、_MM w=0.72um l=0.18ummn5 4 a 5 gnd N_LV_18_MM w=0.72um l=0.18ummn6 5 a 6 gnd N_LV_18_MM w=0.72um l=0.18ummn7 6 a 7 gnd N_LV_18_MM w=0.72um l=0.18ummn8 7 h gnd gnd N_LV_18_MM w=0.72um l=0.18umvdd vdd gnd dc 1.8va a gnd dc 1.8vvh h gnd pulse 0v 1.8v 1ns 100ps 100ps 2ns 4ns.tran 1ps 5ns.end输入模式为 A=010
22、,B=C=D=E=F=G=H=1nand.lib C:avantiMM180_LVT18_V113.LIB TT.print v(out) v(a) v(b) v(h)mp1 out a vdd vdd P_LV_18_MM w=0.36um l=0.18ummp2 out b vdd vdd P_LV_18_MM w=0.36um l=0.18ummp3 out b vdd vdd P_LV_18_MM w=0.36um l=0.18ummp4 out b vdd vdd P_LV_18_MM w=0.36um l=0.18ummp5 out b vdd vdd P_LV_18_MM w=0
23、.36um l=0.18ummp6 out b vdd vdd P_LV_18_MM w=0.36um l=0.18ummp7 out b vdd vdd P_LV_18_MM w=0.36um l=0.18ummp8 out b vdd vdd P_LV_18_MM w=0.36um l=0.18ummn1 out a 1 gnd N_LV_18_MM w=0.72um l=0.18ummn2 1 a 2 gnd N_LV_18_MM w=0.72um l=0.18ummn3 2 b 3 gnd N_LV_18_MM w=0.72um l=0.18ummn4 3 b 4 gnd N_LV_1
24、8_MM w=0.72um l=0.18ummn5 4 b 5 gnd N_LV_18_MM w=0.72um l=0.18ummn6 5 b 6 gnd N_LV_18_MM w=0.72um l=0.18ummn7 6 b 7 gnd N_LV_18_MM w=0.72um l=0.18ummn8 7 b gnd gnd N_LV_18_MM w=0.72um l=0.18umvdd vdd gnd dc 1.8vb b gnd dc 1.8vva a gnd pulse 0v 1.8v 1ns 100ps 100ps 2ns 4ns.tran 1ps 5ns.end分析下面波形(图 6)
25、我们可以得到:不同输入模式下的时间延时(无论是 tpLH 还是 tpHL)都是不同的。而且越靠近输出端,时间延时越短。这可以解释为:对于 tpHL,在输入模式为 A=B=C=D=E=F=G=1,H=01 的情况下,需要对 out 及内部的 17 节点电容(见图 1)进行放电,而在输入模式为 A=01,B=C=D=E=F=G=H=1 的情况下,电路已经提前对 17 节点电容进行放电。所以后者比前者具有更小的 tpHL。 (这也就解释在 2 中逐级增大晶体管尺寸和增大逐级增加的尺寸公差为什么会使得 tpLH 增大。 )对于 tpLH,在输入模式为A=B=C=D=E=F=G=1,H=10 的情况下,
26、VDD 不仅要给 out 节点电容充电,还要给内部 178节点电容充电,而在而在输入模式为 A=10,B=C=D=E=F=G=H=1 的情况下,VDD 只需给out 节点电容充电。所以后者比前者具有更小的 tpLH。 (这也正是我们将输入模式为H=01, A=B=C=D=E=F=G=1 定为研究 tpLH 的最坏情形的原因。 )所以通过重新安排输入,使关键路径靠近门的输出节点是可以改善门的延时的。图 6 两种输入模式下的瞬态响应波形图4、重组逻辑结构:对八输入与非逻辑重组逻辑结构,我们可以得到下图(图 79)三种逻辑结构:利用四输入与非门、或非门和反相器实现八输入与非逻辑:ABCDEFGHO
27、U TN A N D 1N A N D 2N O RI N V213图 7 利用四输入与非门、或非门和反相器实现八输入与非逻辑HSPICE 网表代码如下:nand.lib C:avantiMM180_LVT18_V113.LIB TT.global vddxnand1 a a a a 1 nandfourxnand2 a a a h 2 nandfourxnor 1 2 3 nortwoxinv 3 out invvdd vdd gnd dc 1.8vva a gnd dc 1.8vvh h gnd pulse 0v 1.8v 500ps 100ps 100ps 1ns 2ns.subckt
28、inv in out wn=0.18um wp=0.36um9m1 out in vdd vdd P_LV_18_MM w=wp l=0.18umm2 out in gnd gnd N_LV_18_MM w=wn l=0.18um.ends inv.subckt nandfour a b c d out wn=0.72um wp=0.36ummp1 out a vdd vdd P_LV_18_MM w=wp l=0.18ummp2 out b vdd vdd P_LV_18_MM w=wp l=0.18ummp3 out c vdd vdd P_LV_18_MM w=wp l=0.18ummp
29、4 out d vdd vdd P_LV_18_MM w=wp l=0.18ummn1 out a 1 gnd N_LV_18_MM w=wn l=0.18ummn2 1 b 2 gnd N_LV_18_MM w=wn l=0.18ummn3 2 c 3 gnd N_LV_18_MM w=wn l=0.18ummn4 3 d gnd gnd N_LV_18_MM w=wn l=0.18um.ends nandfour.subckt nortwo a b out wn=0.18um wp=0.72ummp1 out a 1 vdd P_LV_18_MM w=wp l=0.18ummp2 1 b
30、vdd vdd P_LV_18_MM w=wp l=0.18ummn1 out a gnd gnd N_LV_18_MM w=wn l=0.18ummn2 out b gnd gnd N_LV_18_MM w=wn l=0.18um.ends nortwo.tran 1ps 2.5ns.end利用四输入或非门、与非门和反相器实现八输入与非逻辑:I N VN O R 1N A N D 1N A N D 2N A N D 3N A N D 4ABCDEFGH12345图 8 利用四输入或非门、与非门和反相器实现八输入与非逻辑HSPICE 网表代码如下:nand.lib C:avantiMM180_
31、LVT18_V113.LIB TT.global vddxnand1 a a 1 nandtwoxnand2 a a 2 nandtwoxnand3 a a 3 nandtwoxnand4 a h 4 nandtwoxnor 1 2 3 4 5 norfour10xinv 5 out invvdd vdd gnd dc 1.8vva a gnd dc 1.8vvh h gnd pulse 0v 1.8v 500ps 100ps 100ps 1ns 2ns.subckt inv in out wn=0.18um wp=0.36umm1 out in vdd vdd P_LV_18_MM w=wp
32、 l=0.18umm2 out in gnd gnd N_LV_18_MM w=wn l=0.18um.ends inv.subckt nandtwo a b out wn=0.36um wp=0.36ummp1 out a vdd vdd P_LV_18_MM w=wp l=0.18ummp2 out b vdd vdd P_LV_18_MM w=wp l=0.18ummn1 out a 1 gnd N_LV_18_MM w=wn l=0.18ummn2 1 b gnd gnd N_LV_18_MM w=wn l=0.18um.ends nandtwo.subckt norfour a b
33、c d out wn=0.18um wp=1.44ummp1 out a 1 vdd P_LV_18_MM w=wp l=0.18ummp2 1 b 2 vdd P_LV_18_MM w=wp l=0.18ummp3 2 c 3 vdd P_LV_18_MM w=wp l=0.18ummp4 3 d vdd vdd P_LV_18_MM w=wp l=0.18ummn1 out a gnd gnd N_LV_18_MM w=wn l=0.18ummn2 out b gnd gnd N_LV_18_MM w=wn l=0.18ummn3 out c gnd gnd N_LV_18_MM w=wn l=0.18ummn4 out d gnd gnd N_LV_18_MM w=wn l=0.18um.ends norfour.tran 1ps 2.5ns.end利用与非门和或非门实现八输入与非逻辑:N A N D 1N A N D 2N A N D 3N A N D 4N O R 1N O R 2N A N D 5ABCDEFGHO U T123456图 9 利用与非门和或非门实现八输入与非逻辑HSPICE 网表代码如下:nand.lib C:avantiMM180_LVT18_V113.LIB TT.global vdd