当前位置:文档之家› CMOS数字集成电路设计_八位加法器实验报告

CMOS数字集成电路设计_八位加法器实验报告

CMOS数字集成电路设计课程设计报告学院:******专业:******班级:******姓名:Wang Ke qin指导老师:******学号:******日期:2012-5-30目录一、设计要求 (1)二、设计思路 (1)三、电路设计与验证 (2)(一)1位全加器的电路设计与验证 (2)1)原理图设计 (2)2)生成符号图 (2)3)建立测试激励源 (2)4)测试电路 (3)5)波形仿真 (4)(二)4位全加器的电路设计与验证 (4)1)原理图设计 (4)2)生成符号图 (5)3)建立测试激励源 (5)4)测试电路 (6)5)波形仿真 (6)(三)8位全加器的电路设计与验证 (7)1)原理图设计 (7)2)生成符号图 (7)3)测试激励源 (8)4)测试电路 (8)5)波形仿真 (9)6)电路参数 (11)四、版图设计与验证 (13)(一)1位全加器的版图设计与验证 (13)1)1位全加器的版图设计 (13)2)1位全加器的DRC规则验证 (14)3)1位全加器的LVS验证 (14)4)错误及解决办法 (14)(二)4位全加器的版图设计与验证 (15)1)4位全加器的版图设计 (15)2)4位全加器的DRC规则验证 (16)3)4位全加器的LVS验证 (16)4)错误及解决办法 (16)(三)8位全加器的版图设计与验证 (17)1)8位全加器的版图设计 (17)2)8位全加器的DRC规则验证 (17)3)8位全加器的LVS验证 (18)4)错误及解决办法 (18)五、设计总结 (18)一、设计要求本次设计要求实现一个8位的加法器,通过从前端到后端的设计过程,了解数字集成电路设计流程,熟悉Linux系统及其相关软件icfb的使用,加深对数字集成电路前端设计的认识。

二、设计思路基本单元选用复杂cmos电路实现的一位全加器,采用pmos与nmos网络完全对偶的mirror型,将四个1位全加器级联成一个4位加法器,再将两个4位全加器级联成一个8位全加器。

Figure2-11位加法器级联图如图所示,四个1位加法器级联成一个4位加法器的级联图。

这种电路的好处是将每前一级的Cin与后一级的Cout直接级联,连接比较方便,电路比较好设计。

版图设计也相对较简单,画出一位全加器的版图,多位全加器的版图就迎刃而解。

由于采用直接级联,前一级的输出延时要累加到后一级的输入进位中,最后会导致级联越多,延时越多。

为了提高性能,可以采用曼彻斯特进位链或是进位旁路。

由于是初次接触icfb,对版图还不是太了解,本次试验采用最简单的直接级联形式。

三、电路设计与验证(一)1位全加器的电路设计与验证1)原理图设计Figure3-1 1位全加器的原理图(镜像型)如图所示,为采用镜像型1位全加器的原理图。

其中A、B为两个输入信号也即两个一位加数,Cin为前一位的进位输入信号,Co为当前的进位输出信号,So为和输出信号。

2)生成符号图Figure3-2 1位全加器的符号图如图所示,为检查并保存1位全加器原理图后生成的符号图,左侧为输入信号A、B、Cin,右侧为输出信号,Co和So。

3)建立测试激励源为了验证原理图是否满足逻辑要求,新建一个关于激励源的cell view,建立functional文件,编辑测试激励源的verilog文件,遍历真值表,并生成相应的符号。

Figure3-31位全加器的测试激励如图所示,为用verilog编写的1位全加器的测试激励。

初始状态三个输入信号都设为1,之后给A、B、Cin赋值三个不同频率的脉冲信号,能遍历三个输入中,全0、全1、两个1、一个1的所有情况。

4)测试电路Figure3-4 1位全加器的测试电路(模拟)Figure3-51位全加器的测试电路(数模混合)如图,、所示,为1位全加器的测试电路,为加模拟信号激励,为加数字信号激励。

从中比较可以看出,当输入信号较多时,才用数目混合测试要比采用模拟激励测试要方便,电路会简单些。

所以在接下来的4位全加器和8位全加器测试电路中,均采用数模混合方式。

5)波形仿真Figure3-6 1位全加器的仿真波形aFigure3-71位全加器的仿真波形b如图,、所示,为1位全加器的仿真波形图。

从图中可以看出,仿真波形结果与真值表相符合,从图中可以看出1位全加器的延时为.(二)4位全加器的电路设计与验证1)原理图设计Figure3-84位加法器的原理图如图所示,为4位加法器的原理图设计。

4位加法器采用4个1位加法器直接串联,前一级的输出直接连到下一级的输入。

左侧为四位输入信号A[3:0]、B[3:0]和进位输入Cin,右侧为四位输出信号D[3:0]和进位输出Co.2)生成符号图Figure3-94位加法器的符号图如图所示,为检查并保存4位全加器原理图后生成的符号图,左侧为输入信号A[3:0]、B[3:0]、Cin,右侧为输出信号,Co和D[3:0]。

3)建立测试激励源为验证原理图是否满足逻辑要求,新建一个关于激励源的cell view,建立functional文件,编辑测试激励源的verilog文件,遍历真值表,并生成相应的符号。

Figure3-104位全加器的测试激励如图所示,为用verilog编写的4位全加器的测试激励。

初始状态进位输入设为0,a[3:0]设为1001,b[3:0]设为0111;之后分别给每一位加数不同周期的脉冲信号,使得激励信号能够遍历所有的情况。

4)测试电路Figure3-114位全加器的测试电路(数模混合)如图所示,为4为全加器测试电路,采用数目混合形式。

从图中可以看出,采用数模混合测试方法,电路比较简单,不需要每个输入信号都给一个模拟脉冲,简洁、方便。

5)波形仿真Figure3-124位全加器的仿真波形如图所示,为4为全加器的仿真波形图,从图中可以看出,仿真波形结果与4位全加器真值表相符合。

其中,关键路径上的延时为,延时较大,这与每一级输出都加入一个反相器有很大关系。

(三)8位全加器的电路设计与验证1)原理图设计Figure3-134位加法器的原理图如图所示,为8位加法器的原理图设计。

8位加法器采用2个4位加法器串联,前一级的输出直接连到下一级的输入。

其中A[7:0]、B[7:0]分别为八位输入信号,Cin为进位输入信号,D[7:0]为输出信号,Co为进位输出信号。

2)生成符号图Figure3-148位加法器的符号图如图所示,为检查并保存8位全加器原理图后生成的符号图,左侧为两个八位的输入信号A[7:0]、B[7:0]和进位输入信号Cin,右侧为A[7:0]与B[7:0]的和输出信号D[7:0]和进位输出信号Co。

3)测试激励源为了验证原理图是否满足逻辑要求,新建一个关于激励源的cell view,建立functional文件,编辑测试激励源的verilog文件,遍历真值表,并生成相应的符号。

Figure3-158位全加器的测试激励如图所示,为用verilog编写的8位全加器的测试激励。

初始状态进位输入设为0,a[7:0]设为,b[7:0]设为;之后分别给每一位加数不同周期的脉冲信号,进位输入Cin设置为周期脉冲信号,使得激励信号能够遍历所有的情况。

4)测试电路Figure3-168位全加器的测试电路(数模混合)如图所示,为8位全加器测试电路,采用数模混合形式。

从图中可以看出,采用数模混合测试方法,电路比较简单,不需要每个输入信号都给一个模拟脉冲。

当输入信号数目比较大时,采用数模混合方式更加有效。

5)波形仿真Figure3-178位加法器的仿真波形aFigure3-188位加法器的仿真波形bFigure3-198位加法器的仿真波形c如图、、所示,为8位全加器的仿真波形,电路关键路径为从Cin到Co 的路径,延时为。

Figure3-20关键路径上的最大延时波形如图所示,为Cin到Co路径上的最大延时波形图。

当A[7:0]=8’hff,B[7:0]=8’h00,Cin=1时候,测出Cin和Co的状态转换时间差即为关键路径上的最大延时。

从图中可以看出,关键路径上的最大延时为=。

Figure3-21关键路径的上升时间波形如图所示,为关键路径上的上升时间波形图,从图中可以看出,上升时间为。

Figure3-22关键路径的下降时间波形如图所示,为关键路径上的下降时间波形图,从图中可以看出,下降时间为。

下降时间比上升时间小的原因可能是pmos比nmos管速度慢。

6)电路参数************************************************************************* auCdl Netlist:** Library Name: wangkeqin2* Top Cell Name: 8_full_adder* View Name: schematic* Netlisted on: May 25 04:46:15 2012*************************************************************************.EQUATION*.SCALE METER*.MEGA*.GLOBAL gnd!+ vdd!*.PIN gnd!*+ vdd!************************************************************************* Library Name: wangkeqin2* Cell Name: 1_full_adder* View Name: schematic************************************************************************.SUBCKT 1_full_adder A B Cin Co So*.PININFO Co:O So:O A:B B:B Cin:BMpmos_3p315 So net90 vdd! vdd! pmos_3p3 W=2u L= M=Mpmos_3p314 net90 B net13 vdd! pmos_3p3 W=3u L= M=Mpmos_3p313 net13 A net17 vdd! pmos_3p3 W=3u L= M=Mpmos_3p312 net17 Cin vdd! vdd! pmos_3p3 W=3u L= M=Mpmos_3p311 net90 net114 net34 vdd! pmos_3p3 W=4u L= M=Mpmos_3p310 net34 Cin vdd! vdd! pmos_3p3 W=4u L= M=Mpmos_3p39 net34 B vdd! vdd! pmos_3p3 W=4u L= M=Mpmos_3p38 net34 A vdd! vdd! pmos_3p3 W=4u L= M=Mpmos_3p37 net114 Cin net41 vdd! pmos_3p3 W=4u L= M=Mpmos_3p30 net41 A vdd! vdd! pmos_3p3 W=4u L= M=Mpmos_3p31 net41 B vdd! vdd! pmos_3p3 W=4u L= M=Mpmos_3p36 net114 A net53 vdd! pmos_3p3 W=4u L= M=Mpmos_3p35 net53 B vdd! vdd! pmos_3p3 W=4u L= M=Mpmos_3p34 Co net114 vdd! vdd! pmos_3p3 W=2u L= M=Mnmos_3p315 So net90 gnd! gnd! nmos_3p3 W=1u L= M=Mnmos_3p314 net66 Cin gnd! gnd! nmos_3p3 W= L= M=Mnmos_3p313 net70 B net66 gnd! nmos_3p3 W= L= M=Mnmos_3p312 net90 A net70 gnd! nmos_3p3 W= L= M=Mnmos_3p311 net86 Cin gnd! gnd! nmos_3p3 W=2u L= M=Mnmos_3p310 net86 B gnd! gnd! nmos_3p3 W=2u L= M=Mnmos_3p39 net86 A gnd! gnd! nmos_3p3 W=2u L= M=Mnmos_3p38 net90 net114 net86 gnd! nmos_3p3 W=2u L= M=Mnmos_3p37 Co net114 gnd! gnd! nmos_3p3 W=1u L= M=Mnmos_3p36 net98 B gnd! gnd! nmos_3p3 W=2u L= M=Mnmos_3p35 net114 A net98 gnd! nmos_3p3 W=2u L= M=Mnmos_3p32 net110 B gnd! gnd! nmos_3p3 W=2u L= M=Mnmos_3p31 net110 A gnd! gnd! nmos_3p3 W=2u L= M=Mnmos_3p30 net114 Cin net110 gnd! nmos_3p3 W=2u L= M=.ENDS************************************************************************* Library Name: wangkeqin2* Cell Name: 4_full_adder* View Name: schematic************************************************************************.SUBCKT 4_full_adder A0 A1 A2 A3 B0 B1 B2 B3 Cin Co D0 D1 D2 D3*.PININFO A0:I A1:I A2:I A3:I B0:I B1:I B2:I B3:I Cin:I Co:O D0:O D1:O D2:O *.PININFO D3:OXI3 A0 B0 Cin net6 D0 / 1_full_adderXI2 A1 B1 net6 net11 D1 / 1_full_adderXI1 A2 B2 net11 net16 D2 / 1_full_adderXI0 A3 B3 net16 Co D3 / 1_full_adder.ENDS************************************************************************* Library Name: wangkeqin2* Cell Name: 8_full_adder* View Name: schematic************************************************************************.SUBCKT 8_full_adder A0 A1 A2 A3 A4 A5 A6 A7 B0 B1 B2 B3 B4 B5 B6 B7 Cin Co D0 + D1 D2 D3 D4 D5 D6 D7*.PININFO A0:I A1:I A2:I A3:I A4:I A5:I A6:I A7:I B0:I B1:I B2:I B3:I B4:I *.PININFO B5:I B6:I B7:I Cin:I Co:O D0:O D1:O D2:O D3:O D4:O D5:O D6:O D7:OXI1 A0 A1 A2 A3 B0 B1 B2 B3 Cin net51 D0 D1 D2 D3 / 4_full_adderXI0 A4 A5 A6 A7 B4 B5 B6 B7 net51 Co D4 D5 D6 D7 / 4_full_adder.ENDS四、版图设计与验证(一)1位全加器的版图设计与验证1)1位全加器的版图设计Figure4-1 1位全加器的版图如图所示,为1位全加器的版图设计,版图设计也采用nmos和pmos完全对称的镜像网路设计,上部分为pmos下部分为nmos。

相关主题