范文一:并行加法器
VHDL 语言实验报告
实验名称:
姓 名: 学 号: 班 级: 实验时间:
并行加法器
徐骆乐 080403148 电科一班 2010.11.10
南京理工大学紫金学院电光系
一、 实验目的
学习包集和元件例化语句的使用
学习FLU (全加器单元)电路的设计 学习并行乘法电路的设计
二、 实验原理
1、电路原理图
2、全加器的设计 全加器表达式: Si=A与B 与C i-1
Ci-1=(Ai与Bi)Ci-1+AiBi
三、 实验内容
1、adder
2、and_2
3、
Lower_row
4、
mid_row
5、
multiplier
6、
top_row
7、my_com1包集
8、my_components包集
9、adder 的仿真波形
10、最终仿真波形
11、管脚配置
四、 小结与体会
并行加法器是把复杂电路简单化的实例,把一矩阵加法电路分为3个模块来元件化,放入包集中以便调用,对以后的编写程序的工程化再次的增加经验。体会到了代码由复杂变简单的过程。
范文二:加法器原理
8位全加器实现原理
加法器是数字系统中的基本逻辑器件。例如:为了节省资源,减法器和硬件
乘法器都可由加法器来构成。但宽位加法器的设计是很耗费资源的,因此在实际
的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面的问题。
多位加法器的构成有两种方式。并行进位加法器设有
并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。
通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相
同位数的并行加法器比串行加法器的资源占用差距也会越来越大。
实验表明,4 位二进制并行加法器和串行级联加法器占用几乎相同的资源。
这样,多位数加法器由4 位二进制并行加法器级联构成是较好的折中选择。因
此本实验中的8 位加法器可采用两个4位二进制并行加法器级联而成。
四位加法器可以采用四个一位全加器级连成串行进位加法器,实现框图如图
1-1所示,其中CSA为一位全加器。显然,对于这种方式,因高位运算必须要
等低位进位来到后才能进行,因此它的延迟非常可观,高速运算肯定无法胜任。
图1-1 四位串行进位加法器原理
图1-1中,A和B为加法器的输入位串,对于四位加法器则位宽为4位,D为加法器输出位串,和输入位串相同,C为进位输入( Ci ) 或输出 ( Co )。
通过对串行进位加法器研究可得:运算的延迟是由于进位的延迟。基于此,
减小进位的延迟对提高运算速度非常有效。图2是减少了进位延迟的一种实现方
法。可见,将迭代关系去掉,则各位彼此独立,进位传播不复存在。因此,总的
延迟是两级门的延迟,其高速也就自不待言。
图1-2 加法器中减少进位延迟的一种方法
图1-2中,G表示进位生成位串,与输入位宽相同,P表示进位传输位串,
与输入位宽相同。其意义为:如G为1,则必定产生进位,若P为1,则向高位传输进位。当进行加法运算时,G = A and B ,P = A or B;当进行减法运算时,
G= A and (not B),P=A or (not B)。根据图1可得到四位加法器的各级进位输
出为:
C0 = G0 or P0 and Ci ;
C1 = G1 or P1 and C0
= G1 or P1 and G0 or P1 and P0 and Ci
C2 = G2 or P2 and C1
= G2 or P2 and G1 or P2 and P1 and G0 or P2 and P1 and P0 and Ci
C3 = G3 or P3 and C2
= G3 or P3 and G2 or P3 and P2 and G1 or P3 and P2 and P1 and G0
or P3 and P2 and P1 and P0 and Ci
Co = C3
D = A and B and C = (A and B) xor (A or B) xor C = G xor P xor C
其中,上式中and 为与操作,or为或操作, not为非操作,xor为异或操作。
用两个并行四位加法器实现一个八位加法器的框图如图1-3所示:
Cin
DataOut[3:0]DataInA[3:0]四位全加器DataINB[3:0]Cout
Cin
DataOut[7:4]DataInA[7:4]四位全加器DataINB[7:4]Cout
图1-3用两个四位加法器实现一个
http://www.open.ha.cn/qiu/dag/main1.htm#/qiu/dag/1/1_1/index.htm
不考虑进位输入时,两个数码X n和Y n相加称为半加。设半加和为
H n ,则H n 的表达式为:
Hn= Xn?Yn
考虑进位C n-1输入时的相加称为全加。设全加和为F n ,向高位的进位为C n,则其功能表如下:
0 0 1 1 0 0 1 1 n
0 0 0 0 1 1 1 1 n
n-
0 1 0 1 0 1 0 1 1
0 1 1 0 1 0 0 1 n
0 0 0 1 0 1 1 1 n
由表可得全加和Fn和进位输出Cn的表达式为:
Fn= XnYnCn-1 + XnYnCn-1 + XnYnCn-1 + XnYnCn-1 (1)
Cn= XnYnCn-1 + XnYnCn-1 + XnYnCn-1 + XnYnCn-1 (2)
将(1)式化简得到如下公式:
Fn= Xn?Yn?Cn-1
Cn= Xn ? Yn + Xn ? Cn-1 + Yn ? Cn-1 将(2)式化简得到如下公式:
Xn、 Yn为参加运算的两个操作数Cn-1
为低位进位, Cn为向高位的进位Fn
为全加和
例 1 0 1 0 如:
+) 0 1 0 1 C0=1 缺点:位间进位是串行进行的,F(第 ii
------------------
1 0 0 0 0 位全加和)必须等低位进位C来到后i-1
才能进行,速度与位数有关。
引入进位产生函数 Gi=XiYi 进位产生函数 Pi=Xi+Yi 典型的超前进
位加法器是算术逻辑单元(ALU)SN74181它是4位ALU中规模集成电
路芯片。其功能如下:
M=1是进行逻辑运算, M=0是进
行算术运算
对M的每一个值,由S0 S1 S2 S3
控制可进行16种运算
X0 X1X2X3 与 Y0Y! Y2Y3是参加
运算的两个操作数Cn
是低位来的进位 Cn+1是向高位
的进位输出F0 F1 F2
F3是运算结果
译码器有n个输入变量(如左图n=3),2n个输出的组合逻辑电路(如左图Yi)。 用途:当输入变量为某一组合时(如
010),对应的仅有一个输出为0(Y2=0),其余输出均为1。
控
制 用途:在选择控制信号作用信 下,从多个输入通道中选择 号 一个通道的数据作为输出
范文三:四位并行加法器
课程设计报告
课程设计题目 :四位并行加法器
专 业:计算机科学与技术
班 级:1120701
姓 名:黄旋
学 号: 201120070105
指导教师: 汪宇玲
2014 年1月3
日
目录
一 课程设概念................................................1
1.1 课程设计的教学目的..................................2
1.2 课程设计的内容..........................................2
1.3 课程设计的任务..........................................2
1.4 课程设计的题目及其思想..........................2
二 课程设计的实现........................................3
2.1设计基础......................................................3
2.2设计原理.......................................................6
2.3设计结果及问题...........................................10
三 课程设计的心得和体会.............................11
1 课程设计概述
1.1 课程设计的教学目的
掌握计算机系统组成及内部工作机制、理解计算机各功能部件工作原理的基础上,深入掌握数据信息流和控制信息流的流动过程,进一步加深计算机系统各模块间相互关系的认识和整机的概念,培养开发和调试计算机的技能。在设计实验中提供应用所学专业知识分析问题和解决问题的能力。
1.2 课程设计的内容
下载加法程序到实验箱,然后在其上连线, 输入两个二进制数,观察结果并与理论值进行比较,实现4位二进制数相加并得到正确的结果。
1.3 课程设计的任务
1、掌握4位并行加法器的设计原理,掌握超前进位产生电路的设计方法.
2、正确将电路原理图下载到试验箱中.
3、正确通过实验箱连线实现4位二进制数的相加并得到正确结果.
4、完成设计实验报告.
1.4 课程设计的题目及其思想
题目:设计一个四位并行加法器,并能在试验箱上编译通过,且连线后可以具体实现加法
范文四:2并行加法器设计
实验二并行加法器设计
实验二并行加法器设计
定义输入信号a 和b ,数据类型为Std_Logic_Vector(4位),输入信号Cin ,数据类型为Std_Logic。定义输出信号S ,数据类型为Std_Logic_Vector(4位),输出信号Cout ,数据类型为Std_Logic。要求进位Ci 的本地进位di 和传递条件ti 及加法器输出Si 用并发语句GENERATE 描述,进位Ci 用数据流描述方式实现。
GENERATE 语句 并发描述语句
与顺序描述语句Loop 语句一样用于循环执行某项操作,通常与For 一起使用语法结构
label: FOR identifier IN range GENERATE
( concurrent assignments)END GENERATE;
注意:GENERATE 中循环操作的上界和下界都必须是静态的
范文五:四位并行加法器设计
安徽大学计算机科学与技术学院
《计算机组成原理》
课程设计、实践设计报告
学生学号: E20814108、E20814098 学生姓名: 蒋 信、许 东 年级专业: 08软件工程二班 授课教师: 周 勇 老 师 完成时间: 2011/03/20
4位并行加法器设计实验
1 课程设计概述
1.1 课程设计的教学目的
掌握计算机系统组成及内部工作机制、理解计算机各功能部件工作原理的基础上,深入掌握数据信息流和控制信息流的流动过程,进一步加深计算机系统各模块间相互关系的认识和整机的概念,培养开发和调试计算机的技能。在设计实验中提供应用所学专业知识分析问题和解决问题的能力。
1.2 课程设计的内容
通过MuxPlus2软件,下载加法程序到实验箱,然后在其上连线,输入两个二进制数,观察结果并与理论值进行比较,实现4位二进制数相加并得到正确的结果。
1.3 课程设计的任务
1、掌握MaxPlus2软件的使用方法。
2、掌握4位并行加法器的设计原理,掌握超前进位产生电路的设计方法.
3、正确将电路原理图下载到试验箱中.
4、正确通过实验箱连线实现4位二进制数的相加并得到正确结果.
5、完成设计实验报告.
1.4 课程设计的题目及其思想
题目:设计一个四位并行加法器,并能在试验箱上编译通过,且连线后可以具体实现加法
设计思想:由于本次课程设计的目的是在学完计算机组成原理课程后通过课程设计理解计算机各个功能器件的工作原理,计算机是如何实现这些功能的,所以我们选择了四位并行加法器这个简单的题目,用到了一些逻辑运算部件,并采用超前进位加法器的设计方法提高运算速度。实验最后下载到试验箱上并连线参照了课程实验中乘法器的设计。
2 课程设计的实现
2.1 设计基础
加法器是计算机的基本运算部件之一。
(1)若不考虑进位输入,两数码Xn,Yn相加称为半加,如下图为半加其功能表:
Xn Yn Hn
0 0 0
1 0 1
0 1 1
1 1 0
(a) 半加器功能表
(b)半加器逻辑图
(2)将Xn Yn以及进位输入Cn-1相加称为全价,其功能表如下图: Xn Yn Cn-1 Fn Cn 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 1 1 1 0 0 1 1 1 1 1 1
a.(全加器功能表)
(b) 全加器的逻辑图
由功能表可得全加和Fn和进位输出Cn表达式:
Fn=Xn Yn Cn-1+ Xn Yn Cn-1+ Xn Yn Cn-1+ Xn Yn Cn-1
Cn= Xn Yn Cn-1+ Xn Yn Cn-1+ Xn Yn Cn-1+ Xn Yn Cn-1 Fn还可以用两个半加器来形成:
Fn=XnYnCn-1 ++??
如此,将n个全加器相连可得n位加法器,如图:
X2 Y2 X4 Y4 X3 Y3 X1 Y1
C0 C1 C2 C3 C4 Xn Yn Xn Yn Xn Yn Xn Yn
F4 F2 F3 F1
但加法时间较长,只是因为其位间进位使串行的传送的,本位全加和Fi必须等低位进位Ci-1来到后才能进行,加法时间与位数有关,只有改变进位逐位传送,才能提高加法器的工作速度。因此,只要使各位的进位不需依赖上一个进位即可。所以我们采用“超前进位产生电路”来同时形成各位进位,从而实现快速加法,这就是超前进位加法器的设计思想来源。
2.2 设计原理
超前进位产生电路是根据各位进位的形成条件来实现的。只要满足下列二条件中任一个,就可以形成C1,(1)X1,Y1均为1(2)X1,Y1任一个位1,且进位C0位1。
可以写出C1的表达式为
C1=X1Y1+(X1+Y1)C0
只要满足下述条件中任一个即可形成C2,(1)X2,Y2均为1;(2)X2,Y2任一为1,且X1,Y1均为1;(3)X2,Y2任一为1,同时X1,Y1
任一为1,且C0为1。
可以写出C2的表达式为
C2=X2Y2+(X2+Y2)X1Y1+(X2+Y2)(X1+Y1)C0 由上,同理可得到
C3=X3Y3+(X3+Y3)X2Y2+(X3+Y3)(X2+Y2)X1Y1+(X3+Y3)(X2+Y2)(X1+Y1)C0
C4=X4Y4+(X4+Y4)X3Y3+(X4+Y4)(X3+Y3)X2Y2+(X4+Y4) (X3+Y3)
(X2+Y2)X1Y1+(X4+Y4) (X3+Y3)(X2+Y2)(X1+Y1)C0 由上面的式子可知:
C1=X1Y1+(X1+Y1)C0
C2=X2Y2+(X2+Y2)C1
C3=X3Y3+(X3+Y3)C2
C4=X4Y4+(X4+Y4)C3
引入进位传递函数Pi和进位产生函数Gi.其定义如下:
Pi=Xi+Yi.
Gi=XiYi
Pi的意义是:当Xi,Yi中有一个为1时,若有进位输入,则本位向高位传送此进位,这个进位可看成是低位进位越过本位直接向高位传递的.
Gi的意义是:当Xi,Yi均为1时,不管有无进位输入,本位定会产生向高位产生的进位.
将Pi,Gi代入C1~C4式,便可得:
C1=G0+P0C0
C2=G1+P1G0+P1P0C0
C3=G2+P2G1+P2P1G0+P2P1P0C0
C4=G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0C0 由以上分析可得出在输入项为A3A2A1A0和B3B2B1B0以及进位输入C0时,各个输出项S3S2S1S0和进位输出C4分别为:
S3=A3?+B3?+C3
S2=A2?+B2?+C2
S1=A1?+B1?+C1
S0=A0?+B0?+C0
C4=G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0C0
由此我们可以画出如下电路原理路:
参照乘法器的连线方法,可以画出下面的实验连线图,如下图:
2.3结果及问题
预计结果当输入0001和0010是结果应是0011
实验中多次连线多没有得出最后正确的结果,后来和几个同样做加法器的同学一起讨论,并在老师的指导下发现时引脚没有绑定,导致没有结果,最后在改正了错误的而前提下,读出结果完成实验。
3 课程设计的心的和体会
通过本课程设计,自己学会了很多,以前只是完全按照书上的模式来连接电路图,现在学会了如何自己动手去构造实验原理图,并且大致能解决实验过程中出现的一些基本问题。
在做此次实验之前,我们做的主要工作是看书,感觉书都没弄懂的话要去做好实验那是不可能的。我们先是参考《计算机组成与结构》和《计算机组成原理与系统结构实验教程》这两本书,了解了何谓四位并行加法器以及它的工作原理。然后我们又花了一些时间来认识和熟悉Muxplus2以及如何联机操作。前后我们共花了两周的时间来完成实验原理图,中间感觉不怎么明白的地方就问同学,同学也没明白的话,我们就一些人在一起讨论。
在接下来的实际连线阶段,由于缺乏对实验箱的深入了解,跟搭档探索讨论了许久也没有搞出来,时间又有限,可把我们急坏了。在跟同学们的商量以及老师的提点下,终于知道,要把相关引脚绑定,然后参照乘法器连线图就基本可以完成最终实验了。
通过和组员的分工合作,以及讨论,更加学会怎么团队合作完成一个工作。还有,通过和组员的交流可以发现彼此对整个实验的思考和理解的差异,互相促进更好地理解这个实验。
经过这5周的课程设计,我对计算机组成原理有了更深一层的理解,并且也深刻地认识到实践的重要性,只有理论与实践相结合才能更深地理解与运用知识。