八位二进制累加器的设计_第1页
八位二进制累加器的设计_第2页
八位二进制累加器的设计_第3页
八位二进制累加器的设计_第4页
八位二进制累加器的设计_第5页
已阅读5页,还剩42页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 信息科学与技术学院实习报告实习名称:集成电路课程设计学号:2011*姓名:*班级:微电子1班指导教师:白天蕊实习时间:二O一四年七月摘要随着科学技术的发展,计算机不断地更新换代,给我们的生活带来越来越多的便捷,然而累加器作为计算机的重要组成部件, 在运算器、中央处理器CPU中、汇编语言程序中都有各种不同的应用,因此很有必要了解其工作原理。本次课程设计目的为DESIGN A CMOS 8-BIT ACCUMULATOR ,八位累加器主要由两大模块组成:八位加法器与八位寄存器。首先DESIGN A CMOS FULL ADDER和DESIGN A MASTER-SLAVE FLIP-FLOP,然

2、后再由它们构成八位加法器。按定制设计流程设计各自原理图,确定参数,检验无误,即可进行原理图仿真及分析、逻辑功能验证、版图绘制、版图寄生电容提取、LVS验证及仿真分析。通过选题,熟悉对cadence工具的应用,设计过程中运用模块化设计有助于整体的层次分明。因此在学习了模拟电子技术,数字电子技术,模拟CMOS集成电路设计,数字集成电路设计等的基础上,由最底层的晶体管级别的电路连成更为复杂的电路,实现特定的功能。关键词:CMOS、ACCUMULATOR、全加器、触发器、累加器、版图、LVS验证、仿真、cadence、集成电路、模块化设计等。目录索引一、选题的背景及意义二、整体思路三、方案选择1.八位

3、加法器的选择2.触发器的选择3.最终方案四、设计详细内容模块一、DESIGN A CMOS FULL ADDER 1.1 全加器介绍(包括工作原理,功能逻辑等)1.2 全加器原理图绘制1.3 全加器逻辑功能验证 1.4 全加器延时及功耗分析1.5 全加器版图绘制与LVS 验证 1.6 全加器版图仿真1.7 小结模块二、DESIGN A MASTER-SLAVE FLIP-FLOP2.1 触发器介绍(包括工作原理,功能逻辑等)2.2 D触发器原理图绘制 1.首先设计三输入与非门的原理图 2.对设计的三输入与非门创建符号 3. 利用创建的三输入与非门符号设计主从触发器 4. 对设计的主从触发器创建

4、符号2.3 D触发器原理图仿真及分析2.4 D触发器逻辑功能验证2.5 D触发器版图绘制、LVS验证及仿真分析1.主从触发器的版图2.版图的提取3.LVS验证2.6 小结第三部分、DESIGN A CMOS 8-BIT ACCUMULATOR3.1 累加器介绍3.2 八位累加器原理图绘制 1.调用全加器与触发器的符号创建原理图 2.对设计的八位累加器创建符号3.3 八位累加器原理图仿真及分析3.4 八位累加器逻辑功能验证3.5 八位累加器版图绘制、LVS验证及仿真分析1.版图绘制2.版图寄生电容的提取3.LVS验证3.6 小结五、本次课程设计收获与心得六、参考文献一、 选题的背景及意义累加器在

5、计算机组成部件当中具有重要的作用,是用来储存计算所产生的中间结果,是一种暂存器。有各种不同的应用:(1)在运算器中,累加器是专门存放算术或逻辑运算的一个操作数和运算结果的寄存器。进行加、减、读出、移位、循环移位和求补等操作,是运算器的主要部分。(2)在中央处理器CPU中,累加器(accumulator) 是一种暂存器,用来储存计算所产生的中间结果。没有像累加器这样的暂存器,那么在每次计算 (加法,乘法,移位等等) 后就必须要把结果写回到内存,也许然后再读回来。然而存取主内存的速度是比从算数逻辑运算单元(ALU) 到有直接路径的累加器存取更慢。(3)在汇编语言程序中,累加器AX是一个非常重要的寄

6、存器,但在程序中用它来保存临时数据时,最后将其转存到其它寄存器或内存单元中,以防止在其它指令的执行过程中使其中的数据被修改,从而得到不正确的结果,为程序的调试带来不必要的麻烦。由于累加器在各种实际应用当中是必不可少的,而且实用性强。因此很有必要了解其具体的工作原理,进一步加深对所学理论知识的灵活运用,并想办法将其电路进行优化,使运算速度更高,性能更好。二、 整体思路累加器就是把一列的数字加起来。一开始累加器设定为零,每个数字依序地被加到累加器中,当所有的数字都被加入后,结果才写回到主内存中。首先设计一全加器,可以将两数字A和B及进位进行相加,由于触发器具有记忆功能,所以将它们所加的结果输入到触

7、发器进行存储,然后将存储的结果作为全加器的其中一输入再次与输入数字相加,然后再进行存储,这样就可以实现累加的功能了。全加器触发器 A COUT B SUM OUT CIN 累加器结构图三、 方案选择八位二进制累加器主要由两大模块组成:八位加法器与八位寄存器。八位寄存器主要是由触发器组成的,八位加法器由一位全加器组成,所以最终归结到八位加法器的组成方式与各类触发器方案的选择。1.八位加法器的选择:(1)串行进位的并行加法器;(2)并行进位的并行加法器;a) 组内并行,组间串行的进位链b) 组内并行,组间并行的进位链它们的目的就是要进位信号的产生尽可能的快,因此产生了二重进位链或更高重进位链,显然

8、进位速度的提高是以硬件设计的复杂化为代价来实现的。(3)串行加法进位串行加法进位从最低位进到最高位,即整个进位是分若干步骤进行的。优点 :具有器件少、成本低、电路结构简单的优点。缺点:运算速度慢。(4)超前进位超前进位的所有位数进位是同时完成的。一个CP脉冲就能完成整个进位过程。优点:运算速度快。缺点:电路复杂。显然,串行进位方式的进位延迟时间太长了,要提高加法运算的速度,就要尽可能地减少进位延迟时间,也就是要改进进位方式,这就产生了并行进位方式和分组并行进位方式。 2.触发器的选择:(1)正电平触发式触发器:正电平触发式触发器的状态在CP=1期间翻转,在CP=0期间保持不变。电平触发式触发器

9、的缺点是存在空翻现象,通常只能用于数据锁存。(2)主从触发器:主从触发器由分别工作在时钟脉冲CP不同时段的主触发器和从触发器构成,通常只能在CP下降沿时刻状态发生翻转,而在CP其他时刻保持状态不变。它虽然克服了空翻,但对输入信号仍有限制。(3)边沿触发器:边沿触发器只能在CP上升沿(或下降沿)时刻接受输入信号,其状态只能在CP上升沿(或下降沿)时刻发生翻转。它应用范围广、可靠性高、抗干扰能力强。3.最终方案:综上所述,整体考虑,最终选择具有器件少、成本低、电路结构简单等优点的串行加法进位方式,触发器选用能克服空翻、可靠性高、抗干扰能力强的维持阻塞式边沿D触发器。四、 设计详细内容模块一、DES

10、IGN A CMOS FULL ADDER1.1 全加器介绍(包括工作原理,功能逻辑等)全加器是用门电路实现两个二进制数相加并求出和的组合线路,称为一位全加器。一位全加器可以处理低位进位,并输出本位加法进位。多个一位全加器进行级联可以得到多位全加器。一位全加器的表达式如下:Si=AiBiCi-1第二个表达式也可用一个异或门来代替或门对其中两个输入信号进行求和:全加器晶体管级电路:各MOS管参数:1.2 全加器晶体管级原理图绘制注意:Cin为关键信号(最后稳定信号),故靠近输出端,可以减小延时。1.3 全加器逻辑功能验证 全加器的逻辑表达式可表示为: 其真值表如下表所示: 输入 输出 A B C

11、inSumCout0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 1.4 全加器延时及功耗分析首先,对上面的全加器进行封装。Design-Create-From Cellview,生成的封装symbol如图所示。对上面的全加器原理图进行封装之后,建立如图所示的Full_Adder_test原理图,原理图主要用来分析全加器的延时以及功耗等。由于要测量最坏情况下的延时以及功耗,所以首先应分析何时才是最坏的情况。由全加器原理图图一可以看出,最长的MOS管链是输入A、B、Cin的三个MOS管

12、,所以最大的延时就取决于这最长的MOS管链。下面我们来分析该链最坏下降延时情况下的输入条件,如图所示(a) 输入B=0保持不变 (b) 输入B由0-1变化由于节点寄生电容的存在,所以每一次充放电的过程中,都要对寄生电容C1及C2进行充放电,进而增加了传输延时。如图所示,当Cin=1,A=1,B=0保持不变,即Cin、A输入的NMOS管导通,B输入的NMOS管截止,NMOS没有到地的通路,负载电容不会放电,然而不期望的是,Cin和A反而会对寄生电容C1及C2进行充电,使得寄生电容C1及C2存储电荷;当Cin=1,A=1,B由0-1变化时,即Cin、A、B输入的NMOS管均导通,有到地的通路,所以

13、不仅负载电容Cload会放电,而且寄生电容C1及C2也要放电,所以增加了下降延时的时间。由于B是最后稳定的信号(通常称为关键信号),所以经过上面的分析可以得出一个结论:为了减小延时、提高速度,关键信号 (最后稳定的信号)应该尽量靠近输出端。 也就是说,当Cin=1,A=1,B由0-1变化时,下降延时最大。同理可以分析出,当Cin=0,A=0,B由1-0变化时,上升延时最大。(1)最坏的上升延时分析 下面利用瞬态分析,测量Cin=1,A=1,B由0-1变化时的延时情况。如下图所示,是该情况下的输入输出波形。 Cin=1,A=1,B由0-1时,输入输出波形用计算器中的delay函数测得此时的最坏下

14、降延时(对于Sum来说,此时相当于最坏的上升延时)如图所示。由图可知,最坏的上升延时484.75ps如图七所示,是利用计算器中的spectrerPower函数计算出的功耗波形。由图可以看出,在静态时,电路消耗的功耗很微小(几乎为0);然而在动态时,相对静态而言,消耗的功耗就比较大。然而,从整体上来说功耗还是很小的。 图七 Cin=1,A=1,B由0-1时功耗的波形(2)最坏的下降延时分析 下面利用瞬态分析,测量Cin=0,A=0,B由1-0变化时的延时情况。如下图所示,是该情况下的输入输出波形。图八 Cin=0,A=0,B由1-0时,输入输出波形 用计算器中的delay函数测得此时的最坏上升延

15、时(对于Sum来说,此时相当于最坏的下降延时)如图九所示。由图可知,最坏的下降延时为528.98ps如图十所示,是利用计算器中的spectrerPower函数计算出的功耗波形。由图可以看出,在静态时,电路消耗的功耗很微小(几乎为0);然而在动态时,相对静态而言,消耗的功耗就比较大。然而,从整体上来说功耗还是很小的。图十 Cin=0,A=0,B由1-0时功耗的波形1.5 全加器版图绘制与LVS 验证 根据实验要求绘制该全加器的版图如图十一所示。该全加器版图使用AMI 0.6um工艺,栅长为600nm,NMOS和PMOS管的宽都以最小尺寸方向器作为标准进行放大。下图就是提取出来的版图,可清楚的看到

16、提取版图中的寄生电容。提取版图之后,就进行LVS验证,其输出结果如下图所示。节点完全匹配(The net-lists match.),所以可以知道原理图与版图完全一致。原理图和版图网表中都有19个节点,7个端口以及14个PMOS和NMOS。1.6 全加器版图仿真为进行版图仿真,同时比较版图仿真和原理图仿真结果,所以建立新的原理图,如图所示。(1) 首先为与非门创建一个config view。然后,在Analog Environment环境中,Setup-Design选择所要模拟的线路图Full_Adder_posttest,view name选择config,然后按以前的方法进行仿真,仿真输入

17、输出结果如图所示。(2)不同的输入电压下延时与功耗 最坏的上升延时分析(V=5V, Cin=1,A=1,B 0-1) 输入电压V=5V时,当Cin=1,A=1,B由0-1变化时,用计算器中的delay函数测得此最坏下降延时(对于Sum来说,此时相当于最坏的上升延时)如图所示。由图可知,Sum最坏的上升延时为484.14ps;而Sum_layout最坏的上升延时。所以,版图仿真的最坏上升延时比原理图仿真的最坏延时小79.1ps。最坏的下降延时分析(V=5V, Cin=0,A=0,B1-0) 输入电压V=5V时,当Cin=0,A=0,B由1-0变化时,用计算器中的delay函数测得此时Sum和Su

18、m_layout最坏上升延时(对于Sum来说,此时相当于最坏的下降延时)如图二十、二十一所示。由图可知,Sum最坏的下降延时521.267ps;而Sum_layout最坏的下降延时447.76ps=。所以,版图仿真的最坏下降延时比原理图仿真的最坏下降延时小73.507ps。输入的电源电压等于5V时,此时的功耗输出波形如下图所示。由图可以看出,和前面的一样,在静态时,电路消耗的功耗很微小(几乎为0);然而在动态时,相对静态而言,消耗的功耗就比较大。然而,从整体上来说功耗还是很小的。最坏的上升延时分析(V=3.3V, Cin=1,A=1,B 0-1) 输入电压V=5V时,当Cin=1,A=1,B由

19、0-1变化时,用计算器中的delay函数测得此最坏下降延时(对于Sum来说,此时相当于最坏的上升延时)如图二十四、二十五所示。由图可知,Sum最坏的上升延时533.42ps=;而Sum_layout最坏的上升延时457.95ps。所以,版图仿真的最坏上升延时比原理图仿真的最坏延时小75.47ps。最坏的下降延时分析(V=3.3V, Cin=0,A=0,B1-0) 输入电压V=3.3V时,当Cin=0,A=0,B由1-0变化时,用计算器中的delay函数测得此时Sum和Sum_layout最坏上升延时(对于Sum来说,此时相当于最坏的下降延时)如图所示。由图可知,Sum最坏的下降延时756.19

20、ps;而Sum_layout最坏的下降延时641.69ps。所以,版图仿真的最坏下降延时比原理图仿真的最坏下降延时小114.5ps输入的电源电压等于3.3V时,此时的功耗输出波形如下图所示。由图可以看出,和前面的一样,在静态时,电路消耗的功耗很微小(几乎为0);然而在动态时,相对静态而言,消耗的功耗就比较大。然而,从整体上来说功耗还是很小的。电源电压等于3.3V功耗输出波形 :结论:由上表实验结果看出,版图仿真的延时比原理图仿真的延时要小。在相同的输入情况下,Vdd=5V时的延时比Vdd=3.3V时的延时小。但是,从图二十三和三十可以看出,Vdd=5V时的功耗比Vdd=3.3V时的功耗大很多。

21、 1.7 小结对于标准的CMOS工艺,功耗-延时积为一常数(当负载电容和电源一定时)。故可以通过降低电源电压来减小功耗。由于功耗与Vdd平方成正比,所以减小Vdd是降低功耗最有效的办法。但是,其代价是电路的速度会下降。从上面的表格也可以得出相同的结论。同时,减小有效电容,降低工作频率也可以减小功耗。模块二、DESIGN A MASTER-SLAVE FLIP-FLOP2.1 触发器介绍(包括工作原理,功能逻辑等)SD 和RD 接至基本RS 触发器的输入端,它们分别是预置和清零端,低电平有效。当SD=1且RD=0时(SD的非为0,RD的非为1,即在两个控制端口分别从外部输入的电平值,原因是低电平

22、有效),不论输入端D为何种状态,都会使Q=1,Q非=0,即触发器置1;当SD=0且RD=1(SD的非为1,RD的非为0)时,Q=0,Q非=1,触发器置0,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触发器

23、的逻辑功能可知,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阻塞线。因此,该触发器常称为维持-阻塞触发器。总之

24、,该触发器是在CP正跳沿前接受输入信号,正跳沿时触发翻转,正跳沿后输入即被封锁,三步都是在正跳沿后完成,所以有边沿触发器之称。与主从触发器相比,同工艺的边沿触发器有更强的抗干扰能力和更高的工作速度。 状态转移图:2.2 D触发器原理图绘制 1.首先设计三输入与非门的原理图 2.对设计的三输入与非门创建符号 3. 利用创建的三输入与非门符号设计主从触发器 4. 对设计的主从触发器创建符号2.3 D触发器原理图仿真及分析对上面的触发器原理图进行封装之后,建立如图所示的原理图,原理图主要用来分析触器的最大时钟频率和最大时钟歪斜。1.最大时钟频率分析将CLR_L和PR_L全部置为1,即V1=5和V2=

25、5,即在此处为了方便观察输出Q和CLK以及D之间的逻辑关系,使得清零端CLR_L和置1端PR_L无效,下面分别为CLK周期T=2n、1.5n以及1.3n时的输入和输出波形;T=2nsT=1.5nsT=1.3ns由上面三幅图可以看出,T=2ns和1.5ns时,输出正确,减小T即增大频率,当T=1.3ns时,输出波形在部分点输出已经不正确了,因此可以估算该触发器的最大时钟频率Fmax=1/1.5ns=0.667Ghz。2. 原理图仿真验证结果:3. 延时分析:由图上可知上升延时为2.484ns-1.515ns=0.969ns,下降延时为4.605ns-4.005ns=0.600ns,Q的上升时间为

26、3.010ns-2.173ns=0.837ns,下降时间为5.256ns-4.456ns=0.800ns。2.4 D触发器逻辑功能验证仿真波形:2.5 D触发器版图绘制、LVS验证及仿真分析(1)主从触发器的版图(1) 版图的提取(2) LVS验证2.6 小结对边沿D触发器归纳为以下几点: 1.边沿D触发器具有接收并记忆信号的功能,又称为维持-阻塞触发器;2.边沿D触发器属于脉冲触发方式; 3.边沿D触发器不存在约束条件和一次变化现象,抗干扰性能好,工作速度快。第三部分、DESIGN A CMOS 8-BIT ACCUMULATOR3.1 累

27、加器介绍 累加器是用来储存计算所产生的中间结果,是一种暂存器。累加器就是把一列的数字加起来。一开始累加器设定为零,每个数字依序地被加到累加器中,当所有的数字都被加入后,得出结果 。在运算器中、在中央处理器cpu中、在汇编语言程序中都有其特定的作用,累加器在各种实际应用当中是必不可少的,而且实用性强。3.2 八位累加器原理图绘制1. 调用全加器与触发器的符号创建原理图 2.对设计的八位累加器创建符号3.3 八位累加器原理图仿真及分析仿真结果:计算延时:3.4 八位累加器逻辑功能验证1.在QUARTUS软件中利用VERILOG HDL语言编写八位累加器:八位二进制累加器代码:module accu

28、mulator8(Q,cout,A,cin,clk,clear);output7:0 Q;output cout;input7:0 A;input cin,clk,clear;wire7:0 sum;add8 accadd8(sum,cout,Q,A,cin);reg8 accreg8(Q,sum,clk,clear);endmodule八位二进制全加器器代码:module add8(sum,cout,b,a,cin);output7:0 sum;output cout;input7:0 a,b;input cin;assign cout,sum=a+b+cin;endmodule八位二进制寄存器代码:module reg8(qout,in,clk,clear);output7:0 qou

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论