资源描述
专用集成电路实验报告56
专用集成电路实验报告
组合逻辑电路特性
姓名:
学号:
班级:
指导老师:
一、 实验目的
1.理解CMOS复杂逻辑门的综合过程及其特性。
2.理解加法器的结构。
二、 实验内容
1)利用对偶原理综合CMOS互补门,功能为:,简述综合过程,画出三极管级原理图。
2)一个1bit全加器的逻辑表达式为:,;A、B为加法输入,Ci为进位输入,S为和输出,Co为进位输出;为异或操作,+为或操作,为与操作。
a)画出2bit全加器的门级原理图;
b)通过调整输入的不同位置,下列电路能够实现AND、OR、XOR及其非逻辑的功能,图中的三极管为NMOS。使用多个下列电路实现2bit全加器,画出三极管级原理图。
3)设使用0.25um工艺,NMOS管的尺寸为L = 0.250um,W = 0.375um;PMOS管的尺寸为L = 0.250um,W = 1.125um。对实验内容1和2的电路进行spice仿真。调整实验内容1的器件尺寸和电源电压,观察门的延时;观察和理解实验内容2中加法器的进位延时。
三、实验步骤及过程:
1)
图1 OrCAD画出的三极管级原理图
2)
A)
图2 2bit全加器的门级原理图
B)差分传输管逻辑的与和与非逻辑:
图3 与门(与非门)
差分传输管逻辑的或和或非逻辑:
图4 或门(或非门)
差分传输管逻辑的异或和异或非:
图5 异或门(异或非门)
总的2bit全加器的原理图:
图 6 差分传输管构成的2bit全加器
3)A、调节实验内容1的器件尺寸和电源电压,观察门的延时。
这里设定A0为pulse信号,A1为2.5V,其余都为0V,则Y的输出与A0反向,输出波形应该类似于反相器。
图3.1 输入和输出波形
Measure输出文件:
$DATA1 SOURCE='HSPICE' VERSION='U-2003.09 '
.TITLE '*dai56_1object'
t1dlay t2dlay temper alter#
6.580e-11 6.900e-11 25.0000 1.0000
t1dlay为输出端下降沿与输出端上升沿的50%——50%延时。
t2dlay为输出端上升沿与输出端下降沿的50%——50%延时。
程序(网表文件):
*dai56_1object
.lib 'cmos25_level49.txt' TT
.options post=2
Vcc pvcc 0 dc 2.5V
VA1 A1 0 dc 2.5V
VB0 B0 0 dc 0V
VB1 B1 0 dc 0V
VC1 C1 0 dc 0V
Vin A0 0 pulse(0V 2.5V 0ps 0ps 0ps 500ps 1000ps)
mA0 1 A0 GND GND NMOS L=0.25u W=0.375u
mB0 2 B0 GND GND NMOS L=0.25u W=0.375u
mC0 3 C0 GND GND NMOS L=0.25u W=0.375u
mA1 3 A1 1 1 NMOS L=0.25u W=0.375u
mB1 3 B1 2 2 NMOS L=0.25u W=0.375u
mA0p 5 A0 pvcc pvcc PMOS L=0.25u W = 1.125u
mA1p 5 A1 pvcc pvcc PMOS L=0.25u W = 1.125u
mB0p 4 BO 5 5 PMOS L=0.25u W = 1.125u
mB1p 4 B1 5 5 PMOS L=0.25u W = 1.125u
mC0p 3 CO 4 4 PMOS L=0.25u W = 1.125u
.measure tran t1dlay trig V(a0) val=1.25V td=0 fall=2
+ targ V(3) val=1.25V td=0 rise=2
.measure tran t2dlay trig V(a0) val=1.25V td=0 rise=2
+ targ V(3) val=1.25V td=0 fall=2
.tran 1ps 3ns
.probe Vin V(3)
.end
接下来调整电源电压,观察门的延时:
VCC=1.5V
图3.2 VCC=1.5V时的输出波形
Measure输出文件:
$DATA1 SOURCE='HSPICE' VERSION='U-2003.09 '
.TITLE '*dai56_1object'
t1dlay t2dlay temper alter#
1.239e-10 3.85e-11 25.0000 1.0000
Vcc=1V
图3.3 VCC=1V时的输出波形
Measure输出文件:
$DATA1 SOURCE='HSPICE' VERSION='U-2003.09 '
.TITLE '*dai56_1object'
t1dlay t2dlay temper alter#
2.682e-10 2.35e-11 25.0000 1.0000
观察结论:
当电源电压降低时,门的延时增加。需要特别注意的是measure语句编写时,需要根据输出波形的电压值改变阈值。
改变三极管尺寸,观察门的延时:
Pmos的沟道宽度W
a) PMOS管均为W = 1.125um;
b) PMOS管均为W = 1.875um;
c) PMOS管均为W = 3.000um;
图3.4 改变Pmos的沟道宽度的输出波形
Measure文件:
$DATA1 SOURCE='HSPICE' VERSION='U-2003.09 '
.TITLE '*dai56_1object'
index pwc t1dlay t2dlay
temper alter#
1.0000 1.125e-06 2.658e-10 6.900e-11
25.0000 1.0000
2.0000 1.875e-06 2.526e-10 1.112e-10
25.0000 1.0000
3.0000 3.000e-06 2.436e-10 1.761e-10
25.0000 1.0000
这里在网表文件中运用了data语句。
观察结论:Pmos的沟道宽度变宽后门的传输延时增大。
用对偶原理综合CMOS互补门设计的2bit全加器的进位延时:
验证全加器逻辑关系:
图3.5 验证全加器逻辑关系
由上至下依次为A1A0,B1B0, V10(sum1), V6(sum0), cout1.
电压值为:A1=B1=0V,A0=B0=2.5V ,sum1=2.5V, sum0=0V,cout1=0V。
即01+01=10,进位为0. 全加器逻辑正确。
程序(网表文件):
*dai56_2object
.lib 'cmos25_level49.txt' TT
.options post=2
.tran 1ps 15ns
.probe V(cout1) V(10) V(6) V(a0)
.global pvcc vcc
Vcc pvcc 0 dc 2.5V
V1 A0 0 dc 2.5V
V2 A1 0 dc 0V
V3 B0 0 dc 2.5V
V4 B1 0 dc 0V
V5 cin 0 dc 0V
.subckt ANDg A B Y
m1 1 A GND GND NMOS L=0.25u W=0.375u
m2 2 B 1 gnd NMOS L=0.25u W=0.375u
m1p 2 A pvcc pvcc PMOS L=0.25u W=1.125u
m2p 2 B pvcc pvcc PMOS L=0.25u W=1.125u
m3p Y 2 pvcc pvcc PMOS L=0.25u W=1.125u
m3 Y 2 GND GND NMOS L=0.25u W=0.375u
.ends
.subckt ORg A1 B1 Y1
m1 1 A1 GND GND NMOS L=0.25u W=0.375u
m2 1 B1 GND GND NMOS L=0.25u W=0.375u
m1p 2 A pvcc pvcc PMOS L=0.25u W=1.125u
m2p 1 B 2 pvcc PMOS L=0.25u W=1.125u
m3p Y1 1 pvcc pvcc PMOS L=0.25u W=1.125u
m3 Y1 1 GND GND NMOS L=0.25u W=0.375u
.ends
.subckt xorg a2 b2 y2
m01 A2a A2 pvcc pvcc PMOS L=0.25u W=1.125u
m02 A2a A2 GND GND NMOS L=0.25u W=0.375u
m03 B2a B2 pvcc pvcc PMOS L=0.25u W=1.125u
m04 B2a B2 GND GND NMOS L=0.25u W=0.375u
m1 1 B2a GND GND NMOS L=0.25u W=0.375u
m2 2 B2 GND GND NMOS L=0.25u W=0.375u
m3 y2 A2a 1 GND NMOS L=0.25u W=0.375u
m4 y2 A2 2 gnd NMOS L=0.25u W=0.375u
m1p 4 A2 pvcc pvcc PMOS L=0.25u W=1.125u
m2p 4 B2 pvcc pvcc PMOS L=0.25u W=1.125u
m3p y2 A2a 4 pvcc PMOS L=0.25u W=1.125u
m4p y2 B2a 4 pvcc PMOS L=0.25u W=1.125u
.ends
x1 A0 B0 3 ANDg
x2 A0 b0 4 XORg
x3 4 cin 5 ANDg
x4 4 cin 6 XORg
x5 3 5 cout0 ORg
x6 A1 b1 7 ANDg
x7 A1 b1 8 XORg
x8 8 cout0 9 ANDg
x9 8 cout0 10 XORg
x10 7 9 cout1 ORg
.end
展开阅读全文