集成电路设计上机实验报告集成电路上机参考模版 本文关键词:上机,集成电路,模版,参考,集成电路设计
集成电路设计上机实验报告集成电路上机参考模版 本文简介:集成电路设计上机实验报告班级:13020188姓名:樊雪伟学号:130201880222016年4月21日目录一.简单数字电路设计……………………………………3(1)D触发器设计…………………………………………3(2)全加器设计……………………………………………8(3)加/减法计数器设计………………
集成电路设计上机实验报告集成电路上机参考模版 本文内容:
集成电路设计上机实验报告
班级:
13020188
姓名:
樊雪伟
学号:
13020188022
2016年4月21日
目录
一.简单数字电路设计
……………………………………3
(1)D触发器设计…………………………………………3
(2)全加器设计……………………………………………8
(3)加/减法计数器设计…………………………………12
二.简单模拟放大电路设计…………………………………19
三.手工绘制CMOS结构Nand2或Nor2或Inv版图………24
四.课程总结………………………………………………26
第一部分
简单数字电路设计
(1)D触发器设计
1.1原理图设计
原理图分析:
SD和RD接至基本RS触发器的输入端,它们分别是预置和清零端,低电平有效。当SD=1且RD=0时(SD的非为0,RD的非为1,即在两个控制端口分别从外部输入的电平值,原因是低电平有效),不论输入端D为何种状态,都会使Q=0,Q非=1,即触发器置0;当SD=0且RD=1(SD的非为1,RD的非为0)时,Q=1,Q非=0,触发器置1,SD和RD通常又称为直接置1和置0端。我们设它们均已加入了高电平,不影响电路的工作。
工作过程如下:
1)CP=0时,与非门G3和G4封锁,其输出Q3=Q4=1,触发器的状态不变。同时,由于Q3至Q5和Q4至Q6的反馈信号将这两个门打开,因此可接收输入信号D,Q5=D,Q6=Q5非=D非。
2)当CP由0变1时触发器翻转。这时G3和G4打开,它们的输入Q3和Q4的状态由G5和G6的输出状态决定。Q3=Q5非=D非,Q4=Q6非=D。由基本RS触发器的逻辑功能可知,Q=Q3非=D。
3)触发器翻转后,在CP=1时输入信号被封锁。这是因为G3和G4打开后,它们的输出Q3和Q4的
状态是互补的,即必定有一个是0,若Q3为0,则经G3输出至G5输入的反馈线将G5封锁,即封锁了D通往基本RS触发器的路径;该反馈线起到了使触发器维持在1状态和阻止触发器变为0状态的作用,故该反馈线称为置1维持线,置0阻塞线。Q4为0时,将G3和G6封锁,D端通往基本RS触发器的路径也被封锁。Q4输出端至G6反馈线起到使触发器维持在0状态的作用,称作置0维持线;Q4输出至G3输入的反馈线起到阻止触发器置1的作用,称为置1阻塞线。因此,该触发器常称为维持-阻塞触发器。
总之,该触发器是在CP正跳沿前接受输入信号,正跳沿时触发翻转,正跳沿后输入即被封锁,三步都是在正跳沿后完成,所以有边沿触发器之称。与主从触发器相比,同工艺的边沿触发器有更强的抗干扰能力和更高的工作速度。
真值表
1.2
T-spice、仿真
参数设置
.tran
1N
500N
.include
“D:/tanner/tanner/TSpice70/models/ml1_typ.md
.param
l=1u
tran
v(D)
v(CP)
tran
v(Q)
v(NQ)
波形截图
波形分析
如图所示,第一和第二个上升沿到来时,D端输入为高电平,此时Q输出为低电平,而当第三个上升沿到来时,我们可以看到D端输入为低电平,此时在下一个上升沿到来之前Q端输出为低电平,第五和第六个上升沿到来时D端输入为高电平,此时Q端均为高电平,-Q电平与Q相反。
1.3
版图绘制
版图截图
(1)
生成设计电路图,原理图与仿真的原理图。不同的地方在于要加上电源,地以及输入输出PAD并且去掉信号源。
(2)输出EDIF或TPR的网表。L-EDIT支持EDIF200,EDIF.LEVEL.0
关键词LEVEL.0显示网表类型。
(3)启动L-EDIT,用File>NEW生成你的设计文件(即版图文件)这需要通过在NEW
……File的对话框COPY
TDB
Setup
from
file项中输入你的单元库文件名,从而将单元库的工艺设置信息传递给设计文件(即版图文件)。
(4)用File>save储存设计文件。
(5)
选择Tools>SPR>Set
up出现SPR.setup对话框。指定标准单元库文件名和网表文件。电源,地节点及在电路图中所用的端口名(此名必须和标准单元的电源,地的端口名一致)。
(6)点击Initialize
setup按纽,此步会注入网表,并且用网表使信息初始化以下的设置对话框。
(7)点击core
set
up
、Padframe
set
up和Pad
Route
set
up的按纽。
(8)选择Tools>SPR>Place
and
Route设置适当参数。
(9)
Run。
1.4
小结
D触发器在时钟脉冲CP的前沿(正跳变0→1)发生翻转,触发器的次态取决于CP的脉冲上升沿到来之前D端的状态,即次态=D。因此,它具有置0、置1两种功能。由于在CP=1期间电路具有维持阻塞作用,所以在CP=1期间,D端的数据状态变化,不会影响触发器的输出状态。
D触发器应用很广,可用做数字信号的寄存,移位寄存,分频和波形发生器等。
(2)全加器设计
2.1原理图设计
(sedit截图)
原理图分析:
加器是能够计算低位进位的二进制加法电路。与半加器相比,全加器不只考虑本位计算结果是否有进位,也考虑上一位对本位的进位,可以把多个一位全加器级联后做成多位全加器.
一位全加器(FA)的逻辑表达式为:
S=A⊕B⊕Cin
Co=ACin+BCin+AB
其中A,B为要相加的数,Cin为进位输入;S为和,Co是进位输出;
如果要实现多位加法可以进行级联,就是串起来使用;比如32位+32位,就需要32个全加器;这种级联就是串行结构速度慢,如果要并行快速相加可以用超前进位加法,
超前进位加法前查阅相关资料;
如果将全加器的输入置换成A和B的组合函数Xi和Y(S0…S3控制),然后再将X,Y和进位数通过全加器进行全加,就是ALU的逻辑结构结构。
即
X=f(A,B)
Y=f(A,B)
不同的控制参数可以得到不同的组合函数,因而能够实现多种算术运算和逻辑运算。
2.2
T-spice、仿真
波形截图
波形分析
如上仿真波形所示,我们可以看出A端和B端为输入端口,即两者是加数,而C端口是低位向高位进位时的第三的加数,三者相加便可以得到两个二进制位比特,高位为C1,低位为S,当A=B=1,C=0时,C1=1,S=0;A=B=1,C=1时,C1=1,S=1;
A=B=0,C=1时,C1=0,S=1;A=B=0,C=0时,C1=S=0;从以上分析可以看出此波形符合全加器的真值表,功能正确。
2.3
版图绘制
2.4
小结
相对于一位加法器,还有两位、三位、四位、等多位加法器,此时要从低位向高位依次进行一位全加器的计算,当然通过提前进位的方式可以减少计算的时间。
(3)加/减法计数器设计
3.1原理图设计
计数器是最常用的时序电路之一,可用来计数、分频、定时、产生节拍脉冲以及其他时序信号。但计数器分类有很多,有同步计数器和异步计数器、加计数器、减计数器和可逆计数器、二进制计数器、BCD码计数器、循环码计数器。本次设计的是四位异步二进制加法计数器。
原理图分析:四位二进制异步加法计数器
1.四位异步二进制计数器逻辑图,它由4个T触发器组成。计数脉冲CP加至时钟脉冲输入端,每输入一个计数脉冲,U1将翻转一次。U2、U3和U4都以前级触发器的/Q端输出作为触发信号,当Q0端由1变成0时,即/Q0由0变成1时,U1翻转,其余类推。/R端是用来清零端,只能全部置0,/S端是用来置1端,只能全部置1。
2.四位二进制异步加法计数器的实现:首先是将每个T触发器的/Q端与D端相连,构成T触发器,然后按照先前的构思连接电路,加法计数器的计数脉冲输入端为CP,全部清0端为/R,全部置1端为/S,输出端由低位到高为分别为Q0、Q1、Q2、Q3。
3.2
T-spice、仿真
参数设置
SPICE
netlist
written
by
S-Edit
Win32
2.06
Written
on
Apr
22,2016
at
10:27:29
.tran
1n
100n
START=0
.include
“C:/Program
Files/Tanner
EDA/T-Spice
Pro/models/ml1_typ.md“.print
tran
v(CP)
v(Q1)
v(Q2)
v(Q3)
v(Q4)
v(Q5)
.param
l=1u
Waveform
probing
commands
.probe
.options
probefilename=“Module0.dat“+
probesdbfile=“C:/Users/Administrator/Desktop/File03.sdb“+
probetopmodule=“Module0“*
No
Ports
in
cell:
PageID_Tanner
End
of
module
with
no
ports:
PageID_Tanner
.SUBCKT
DFFC
ClB
Clk
Data
Q
QB
Gnd
Vdd
M8
5
Data
Gnd
Gnd
NMOS
W=
15*l
L=
2*l
AS=
15*l*l
AD=
109.444*l*l
PS=
17*l
PD=
45.5556*l
M=1
M7
4
CB
5
Gnd
NMOS
W=
15*l
L=
2*l
AS=
45*l*l
AD=
15*l*l
PS=
21*l
PD=
17*l
M=1
M12
7
10
8
Gnd
NMOS
W=
15*l
L=
2*l
AS=
15*l*l
AD=
45*l*l
PS=
17*l
PD=
21*l
M=1
M11
4
C
7
Gnd
NMOS
W=
15*l
L=
2*l
AS=
45*l*l
AD=
45*l*l
PS=
21*l
PD=
21*l
M=1
M21
13
10
Gnd
Gnd
NMOS
W=
15*l
L=
2*l
AS=
15*l*l
AD=
123*l*l
PS=
17*l
PD=
50*l
M=1
M20
12
C
13
Gnd
NMOS
W=
15*l
L=
2*l
AS=
45*l*l
AD=
15*l*l
PS=
21*l
PD=
17*l
M=1
M26
QB
ClB
14
Gnd
NMOS
W=
22*l
L=
2*l
AS=
22*l*l
AD=
87.4054*l*l
PS=
24*l
PD=
34.4865*l
M=1
M24
12
CB
QB
Gnd
NMOS
W=
15*l
L=
2*l
AS=
45*l*l
AD=
59.5946*l*l
PS=
21*l
PD=
23.5135*l
M=1
M29
Q
12
Gnd
Gnd
NMOS
W=
22*l
L=
2*l
AS=
185*l*l
AD=
66*l*l
PS=
64*l
PD=
28*l
M=1
M27
14
Q
Gnd
Gnd
NMOS
W=
22*l
L=
2*l
AS=
66*l*l
AD=
22*l*l
PS=
28*l
PD=
24*l
M=1
M2
CB
Clk
Gnd
Gnd
NMOS
W=
6*l
L=
2*l
AS=
43.7778*l*l
AD=
42*l*l
PS=
18.2222*l
PD=
26*l
M=1
M4
C
CB
Gnd
Gnd
NMOS
W=
6*l
L=
2*l
AS=
43.7778*l*l
AD=
36*l*l
PS=
18.2222*l
PD=
24*l
M=1
M13
8
ClB
Gnd
Gnd
NMOS
W=
15*l
L=
2*l
AS=
45*l*l
AD=
15*l*l
PS=
21*l
PD=
17*l
M=1
M17
10
4
Gnd
Gnd
NMOS
W=
15*l
L=
2*l
AS=
72*l*l
AD=
45*l*l
PS=
42*l
PD=
21*l
M=1
Page
Size:
5x7
S-Edit
D
Flip-Flop
with
Clear
(TIB)
Designed
by:
J.
Luo
Apr
22,2016
10:18:48
Schematic
generated
by
S-Edit
from
file
C:/Users/Administrator/Desktop/File03
/
module
DFFC
/
page
Page0
M6
4
C
3
Vdd
PMOS
W=
17*l
L=
2*l
AS=
73.6667*l*l
AD=
17*l*l
PS=
29.1429*l
PD=
19*l
M=1
M5
3
Data
Vdd
Vdd
PMOS
W=
17*l
L=
2*l
AS=
17*l*l
AD=
124.276*l*l
PS=
19*l
PD=
48.069*l
M=1
M10
4
CB
6
Vdd
PMOS
W=
14*l
L=
2*l
AS=
14*l*l
AD=
60.6667*l*l
PS=
16*l
PD=
24*l
M=1
M9
6
10
Vdd
Vdd
PMOS
W=
14*l
L=
2*l
AS=
84*l*l
AD=
14*l*l
PS=
40*l
PD=
16*l
M=1
M19
12
CB
11
Vdd
PMOS
W=
16*l
L=
2*l
AS=
48*l*l
AD=
16*l*l
PS=
22*l
PD=
18*l
M=1
M18
11
10
Vdd
Vdd
PMOS
W=
16*l
L=
2*l
AS=
16*l*l
AD=
96*l*l
PS=
18*l
PD=
44*l
M=1
M23
12
C
QB
Vdd
PMOS
W=
16*l
L=
2*l
AS=
54.4*l*l
AD=
48*l*l
PS=
24*l
PD=
22*l
M=1
M22
QB
ClB
Vdd
Vdd
PMOS
W=
24*l
L=
2*l
AS=
72*l*l
AD=
81.6*l*l
PS=
30*l
PD=
36*l
M=1
M14
9
ClB
Vdd
Vdd
PMOS
W=
9*l
L=
2*l
AS=
51.75*l*l
AD=
27.45*l*l
PS=
23.25*l
PD=
15.3*l
M=1
M28
Q
12
Vdd
Vdd
PMOS
W=
27*l
L=
2*l
AS=
143*l*l
AD=
111*l*l
PS=
66*l
PD=
66*l
M=1
M1
CB
Clk
Vdd
Vdd
PMOS
W=
6*l
L=
2*l
AS=
36*l*l
AD=
43.8621*l*l
PS=
24*l
PD=
16.9655*l
M=1
M3
C
CB
Vdd
Vdd
PMOS
W=
6*l
L=
2*l
AS=
36*l*l
AD=
43.8621*l*l
PS=
24*l
PD=
16.9655*l
M=1
M15
4
CB
9
Vdd
PMOS
W=
11*l
L=
2*l
AS=
33.55*l*l
AD=
47.6667*l*l
PS=
18.7*l
PD=
18.8571*l
M=1
M16
10
4
Vdd
Vdd
PMOS
W=
15*l
L=
2*l
AS=
90*l*l
AD=
86.25*l*l
PS=
42*l
PD=
38.75*l
M=1
M25
QB
Q
Vdd
Vdd
PMOS
W=
24*l
L=
2*l
AS=
114*l*l
AD=
72*l*l
PS=
60*l
PD=
30*l
M=1
.ENDS
Main
circuit:
Module0
XDFFC_1
N4
N3
N16
Q2
N16
Gnd
Vdd
DFFC
XDFFC_2
N4
CP
N3
Q1
N3
Gnd
Vdd
DFFC
XDFFC_3
N4
N16
N6
Q3
N6
Gnd
Vdd
DFFC
XDFFC_4
N4
N6
N1
Q4
N1
Gnd
Vdd
DFFC
v1
Vdd
Gnd
5.0
v2
N4
Gnd
5.0
v3
CP
Gnd
pulse(0.0
5.0
0
1n
1n
5n
10n)
End
of
main
circuit:
Module0
波形截图
3.3
版图绘制
版图截图
3.4
小结
异步二进制加法计数器的工作特点是:高位触发器在低一位触发器的输出信号Q出现下降沿的时候翻转;
异步二进制减法计数器的工作特点是:高位触发器在低一位触发器的输出信号Q出现下降沿的时候翻转。
第二部分
简单模拟放大电路设计
简述设计的电路的功能。
差分放大电路对共模输入信号有很强的抑制能力,对差模信号却没有多大的影响,因此差分放大电路一般做集成运算的输入级和中间级,可以抑制由外界条件的变化带给电路的影响,如温度噪声等。你可以去找一些集成电路看一下,第一级基本上都是差分放大。
原理图设计
原理图分析:
差放的外信号输入分差模和共模两种基本输入状态。当外信号加到两输入端子之间,使两个输入信号Vi1、Vi2的大小相等、极性相反时,称为差模输入状态。此时,外输入信号称为差模输入信号,以Vid表示,且有:
当外信号加到两输入端子与地之间,使Vi1、Vi2大小相等、极性相同时,称为共模输入状态,此时的外输入信号称为共模输入信号,以Vic表示,且
:
当输入信号使Vi1、Vi2的大小不对称时,输入信号可以看成是由差模信号Vid和共模信号Vic两部分组成,其中动态时分差模输入和共模输入两种状态。
(1)对差模输入信号的放大作用
当差模信号Vid输入(共模信号Vic=0)时,差放两输入端信号大小相等、极性相反,即Vi1=-Vi2=Vid/2,因此差动对管电流增量的大小相等、极性相反,导致两输出端对地的电压增量,
即差模输出电压Vod1、Vod2大小相等、极性相反,此时双端输出电压Vo=Vod1-Vod2=2Vod1=Vod,可见,差放能有效地放大差模输入信号。
要注意的是:差放公共射极的动态电阻Rem对差模信号不起(负反馈)作用。
(2)对共模输入信号的抑制作用
当共模信号Vic输入(差模信号Vid=0)时,差放两输入端信号大小相等、极性相同,即Vi1=vI2=Vic,因此差动对管电流增量的大小相等、极性相同,导致两输出端对地的电压增量,
即差模输出电压Voc1、Voc2大小相等、极性相同,此时双端输出电压Vo=Voc1-Voc2=0,可见,差放对共模输入信号具有很强的抑制能力。[1]
此外,在电路对称的条件下,差放具有很强的抑制零点漂移及抑制噪声与干扰的能力。
性能衡量指标
Ad是差模信号放大倍数、Ac共模信号放大倍数。
越大电路的性能也就愈好。因此增大Re是改善共模抑制比的基本措施。
T-spice、仿真
参数设置
SPICE
netlist
written
by
S-Edit
Win32
2.06
Written
on
Apr
21,2016
at
20:24:28
.tran
1m
100m
START=0
.include
“C:/Program
Files/Tanner
EDA/T-Spice
Pro/models/ml1_typ.md“.print
tran
v(A)
v(B)
v(C)
.param
l=1u
Waveform
probing
commands
.probe
.options
probefilename=“C:/Program
Files/Tanner
EDA/T-Spice
Pro/Module0.dat“+
probesdbfile=“E:/File0.sdb“+
probetopmodule=“Module0“*
Main
circuit:
Module0
M1
N5
B
C
N5
NMOS
L=2u
W=100u
AD=66p
PD=24u
AS=66p
PS=24u
M2
N1
A
N5
N5
NMOS
L=2u
W=100u
AD=66p
PD=24u
AS=66p
PS=24u
M3
N5
N2
Gnd
Gnd
NMOS
L=2u
W=40u
AD=66p
PD=24u
AS=66p
PS=24u
M4
C
N1
N3
N3
PMOS
L=10u
W=22u
AD=66p
PD=24u
AS=66p
PS=24u
M5
N3
N1
N1
N3
PMOS
L=10u
W=22u
AD=66p
PD=24u
AS=66p
PS=24u
v6
N2
Gnd
1.5
v7
N3
Gnd
5.0
v8
A
Gnd
2.2
v9
B
Gnd
sin
2.2
0.01
500
0.0
0.0
0.0
End
of
main
circuit:
Module0
波形截图
波形分析
图中可以看出经过差分对放大电路我们可以将一个输入很小的交流信号转换为一个幅度很高的交流信号而且其频率不变。
版图绘制
(1)、生成设计电路图。此原理图与仿真的原理图不同的地方在于要加上电源、地以及输入、输出PAD,并且去掉信号源。
(2)、输出EDIF或TPR的网表。L-EDIT支持EDIF200,EDIF
level
0,关键词Level
0,显示网表类型。
(3)、启动L-EDIT。
用File>New生成你的设计文件(即版图文件)。这需要通过在New
File的对话框
Copy
TDB
setup
from
file
项中输入你的单元库文件名,从而将单元库的工艺设置信息传递给设计文件(即版图文件)。
(4)、用File>Save
储存设计文件。
(5)、选择Tools>SPR>Setup。出现SPR
Setup对话框,指定标准单元库文件名和网表文件,电源、地节点及在电路图中所用的端口名。(此名必须和标准单元的电源、地的端口名称一致)。
(6)、
点击Initialize
Setup按钮。此步会读入网表并且用网表的信息初始化以下的设置对话框。
(7)、点击
Core
Setup,Padframe
Setup和
Pad
Route
Setup
的按钮。
(8)、选择Tools>SPR>Place
and
Route。设置适当的参数。
(9)、点击Run
按钮。
版图截图
小结
第三部分
手工绘制CMOS结构Nand2或Nor2或Inv版图
叙述绘制的方法
(1)、生成设计电路图。此原理图与仿真的原理图不同的地方在于要加上电源、地以及输入、输出PAD,并且去掉信号源。
(2)、输出EDIF或TPR的网表。L-EDIT支持EDIF200,EDIF
level
0,关键词Level
0,显示网表类型。
(3)、启动L-EDIT。
用File>New生成你的设计文件(即版图文件)。这需要通过在New
File的对话框
Copy
TDB
setup
from
file
项中输入你的单元库文件名,从而将单元库的工艺设置信息传递给设计文件(即版图文件)。
(4)、用File>Save
储存设计文件。
(5)、选择Tools>SPR>Setup。出现SPR
Setup对话框,指定标准单元库文件名和网表文件,电源、地节点及在电路图中所用的端口名。(此名必须和标准单元的电源、地的端口名称一致)。
(6)、
点击Initialize
Setup按钮。此步会读入网表并且用网表的信息初始化以下的设置对话框。
(7)、点击
Core
Setup,Padframe
Setup和
Pad
Route
Setup
的按钮。
(8)、选择Tools>SPR>Place
and
Route。设置适当的参数。
(9)、点击Run
按钮。
绘制过程中的截图
小结:
对于设计的版图是否能够达到优异的性能,需要通过提取版图上的寄生参数,对含有版图寄生参数的电路进行仿真才能知道,很多时候版图上错误的走线,布图方法会导致致命的错误。
对于CMOS与非门版图设计,需要进行以下仿真:给CMOS与非门的输入以不同的阶越信号的输入,观察CMOS与非门的输出信号的变化。
通过这次与非门的实验,我更加熟练地学会了layout的过程,已经能够独立完成电路图、版图的制作和电路的仿真、寄生参数提取、电路后仿真。这次实验完成后,我在做整个比较器设计的时候,我再次对这次设计的与非门进行了一些修改,主要是优化了面积,改善了输入输出端的位置,使我能在布局比较器的时候更方便。可见我第一次设计出来的版图还是有很多地方欠考虑的,特别的面积没有做最好的优化,我在后面的实验中做了一些完善,最后还是完成了面积比较理想的完整的比较器。
第四部分
课程总结
通过本次课程设计,使我对集成设计的基本流程有了进一步的了解,操作、动手能力方面也得到了很大的提高,熟悉并掌握了软件的基本操作。在理论课的基础上进行课程设计,是对本门课程的深入学习和掌握重要保障。
在本次课程设计过程中我遇到一些课堂中从未有过的问题,通过网络查找和同学交流,以及请教老师,大大促进了课程设计的进程。并在过程中进一步提高自身的创作、创新水平,扎实基础,扩展所学。另外,经过整个设计过程,我深深体会到搞工程设计不是一件简单的,轻松的事情,他需要一定的耐心,钻研的精神和定力。最主要的是知识面要广,手头可查阅的资料要多及具备一定的自我学习能力才行。
在这次最大的收获还是提高自己的动手能力,完全有自己完成电路图到版图的设计以及最后的验证,熟悉整了个操作过程。因此本次课程设计对于提高自身在版图设计方面能力起到重要的作用。
27