组合函数及相应电路课件_第1页
组合函数及相应电路课件_第2页
组合函数及相应电路课件_第3页
组合函数及相应电路课件_第4页
组合函数及相应电路课件_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

第五章算术函数及相应电路逻辑和计算机设计基础Chapter52概述迭代式组合电路(Iterativecombinationalcircuits)二进制加法器半加器、全加器串行进位与超前进位加法器二进制减法二进制加减法器带符号二进制数带符号二进制数加减溢出*二进制乘法其它算术函数Chapter535.1迭代式组合电路算术函数对二进制向量进行操作在每一位上采用相同子函数处理函数功能块可以采用设计子函数块并重复使用方法来实现子函数块称为单元模块(Cell)迭代阵列(Iterativearray

)-一组互联的单元模块一个迭代阵列可是一维的(1D),也可以是多维的(MD)。Chapter541D迭代阵列框图实例例:向量n=32输入变量=? 66真值表=? 266函数中的变量?Input66variables

函数式中的项数巨大设计不切实际!采用迭代阵列可以利用其规范化优点简化电路设计,使设计切实可行Chapter55函数模块:加法二进制加法使用非常频繁加法器的发展:半加器Half-Adder(HA),二输入变量函数模块全加器Full-Adder(FA),三输入变量函数模块串行进位(行波进位)加法器(RippleCarryAdder),采用迭代阵列实现二进制加法超前进位(先行进位)加法器(Carry-Look-AheadAdder

,CLA),采用层次结构实现加法,以改善性能Chapter56功能模块:半加器只有2输入变量,一位二进制的无进位加法器,其功能如下:半加器可实现2个一位相加,同时产生2位和S表示和C表示进位半加器的真值表如右:

X

0

0

1

1

+Y

+0

+1

+0

+1

CS

00

01

01

10

X

Y

C

S

0

0

0

0

0

1

0

1

1

0

0

1

1

1

1

0

Chapter57逻辑化简S和C卡诺图如右:这是个很简单的卡诺图这些函数表达式表明可以有多种实现电路。YX013211SYX01321C)YX()YX(SYXYXYXS++=Å=+=)(CYXC)YX(==Chapter58半加器的5种实现函数根据前面的基本函数表达式可以导出下列一种等价函数:(a),(b),和(e)用最小项,最大项及异或门实现和S(c)C被用于和S中,和S采用与或非门实现,(d)

被用于和S中,和S采用最大项实现YXC)(S)c(YXC)YX()YX(S)b(YXCYXYXS)a(YXC===++==+=+YXCYXS)e()YX(CC)YX(S)d(=Å=+=+=CChapter59半加器实现电路最常用的半加器实现:(e)只用与非门实现的电路:

YXCYXS=Å=XYCSXYCS)(CC)YX(S)YX(=+=Chapter510全加器功能模块全加器是包含低位进位的一位加法器。在半加器的基础上再加一个低位进位位,其算法如下:如果进位位Z=0, 就与半加器功能相同当进位Z=1时,运算如右:Z0000X0011+Y+0+1+0+1CS00010110Z1111X0011+Y+0+1+0+1CS01101011Chapter511全加器逻辑优化全加器真值表如右:全加器卡诺图如下:XYZCS0000000101010010111010001101101101011111XYZ013245761111SXYZ013245761111CChapter512全加器函数式从卡诺图可以得到全加器的布尔函数式如下:从式中可以看出函数S是一个三位异或函数(奇函数):进位C为1的条件:X,Y均为1或者X、Y中有1个为1且进位Z发生。C可重写为:X·Y称为进位产生函数(carrygenerate).X+Y称为进位传递函数(carrypropagate).ZYZXYXCZYXZYXZYXZYXS++=+++=ZYXSÅÅ=Z)YX(YXC++=Chapter513全加器电路实现全加器电路右边电路采用Ai,Bi,Ci

和Ci+1,

分别对应X,Y,Z,和C

Gi

为产生函数

Pi

为传递函数注意:Si

实际上是3变量奇函数构成

进位函数Ci+1可以表示为:

Ci+1

=

Gi+Pi

·

CiAiBiCiCi+1GiPiSiChapter514多位二进制加法器可以将多位逻辑信号集合成向量,用向量操作函数模块来实现多位加法器例:4-bit串行进位加法器:

输入向量A(3:0)和B(3:0)相加

得到和向量S(3:0)注意:单元i的进位输出是 Ci+1描述

下标

3210

变量

进位输入

0110

Ci

被加数

1011

Ai

加数

0011

Bi

1110

Si

进位输出

0011

Ci+1

Chapter5154-bit串行进位加法器四个全加器的进位位首尾相连构成串行进位加法器:Chapter516进位传递与延迟在串行进位加法器,其进位从最低有效位(leastsignificantbit)传到其最高有效位(mostsignificantbit)需要很长的的时间。下图是4-bit串行加法器进位位在门级传递过程:从A0

或B0

穿过电路到达S3是一条很长的传递路径。A3B3S3B2S2B1S1S0B0A2A1A0C4C3C2C1C0Chapter517超前进位对于给定的i位全加器,当Ai=Bi=“1”时,无论

是否有进位输入,即Ci

是否为“1”,都有进位产生,也即Ci+1=1如果半加和是“1”,并且有

进位输入,则此进位被传递

至输出,即:也有进位输出,即Ci+1=1这两种产生进位输出的条件称为:

generate,

记作Gi

propagate,记作PiAiBiCiCi+1GiPiSiChapter518超前进位(续)在串行进位加法器中:Gi,Pi,和Si

均是本位全加器自己产生的Ci+1

也是本位全加器产生的,但是依赖于Ci在超前进位加法器中,为了减少进位链的长度,进位输出Ci+1跨越多个单元电路,由输入信号直接产生用Pi

和Gi定义全加器的方程如下:iiiiiiBAGBAP=

=iii1iiiiCPGCCPS+=

=+Chapter519超前进位输出函数导出Ci+1

可以从单元电路分离出来,直接得到进位输出,一般只有两级门延迟从C0开始可以类推出Ci+1,下面以C4为例:C1=G0+P0C0

C4=G3+P3C3

=G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0C0

C2=G1+P1C1=G1+P1(G0+P0C0)=G1+P1G0+P1P0C0C3=G2+P2C2=G2+P2(G1+P1G0+P1P0C0)=G2+P2G1+P2P1G0+P2P1P0C0Chapter520超前进位函数模块Chapter521组超前进位逻辑为了设计通用超前进位函数模块,改变C4的函数形式,便于扩展更多位超前进位加法器C4=G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0C0定义两个组进位函数:组产生函数(groupgenerate,G0-3)组传递函数(grouppropagate,

P0-3)改写C4:这样,可以利用4位超前进位加法器扩展到16位高速加法器0123300012312323330PPPPPGPPPPGPPGPGG=+++=~~030304CPGC~~+=Chapter522组超前进位逻辑(续)C4=G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0C0=G0~3+P0~3C0C8=G7+P7G6+P7P6G5+P7P6P5G4+P7P6P5P4C4=G4~7+P4~7C4C12=G11+P11G10+P11P10G9+P11P10P9G8+P11P10P9P8C8=G8~11+P8~11C8C16=G15+P15G14+P15P14G13+P15P14P13G12+P15P14P13P12C12=G12~15+P12~15C12Chapter523超前进位加法器扩展实例说明:16-bitCLA延迟:NOT=1XOR=IsolatedAND=3AND-OR=2最大延迟:串行进位=3+15×2+3=36CLA=3+2×3+3=12CLACLACLACLACLA33222Chapter5245.2二进制减法无符号减法二进制加减法器带符号二进制数带符号二进制数加减溢出Chapter525无符号减法算法:被减数M,减数N如果没有借位发生,那么M³N,且结果是非负数为正确如果发生借位,那么N>M,且结果是要修正2n

-

(M-N+2n)=N-M,并修正符号为“-”才是正确的例:

01

10010100

-

0111

-

0111

00101101

10000

-

1101

(-)

0011Chapter526无符号加减法如何实现?根据前面的运算规则,最多需要做两次减法并修正符号。无符号加减器结构如下:相当复杂!改进:共享子模块,

简化运算过程引入补码实现Chapter527带符号二进制数真值与机器数真值:直接用“+”和“–”表示符号的二进制数,真值不能在计算机中使用。机器数:将符号用0和1数值化了的二进制数,称为机器数,即可在计算机中使用的数。也称机器代码。Chapter528机器码的符号位放在数的最高位。例:

+1011

0101111011-1011

符号

数值符号

数值二进制数机器数带符号二进制数Chapter529又称符号+数值表示法,机器数中正数的符号位为0,负数的符号位为1,其余各位表示数值部分。(1)小数原码的定义:例如:X1=+0.1101(X1)原=0.1101X2=-0.1101(X2)原=1.11011、原码(trueform)Chapter530(3)真值0有两种原码表示形式,即

[+0]原=00…0 [–0]原=10…0例:(N)2=+10111.101(N)原=010111.101(N)2=–11001.011(N)原=111001.011(2)整数原码的定义

例:正数N1=+10011[N1]原=

010011

负数N2=–01010[N2]原=101010

Chapter531对于正数,其反码表示与原码表示相同,对于负数,符号位为1,其余各位是将原码数值按位求反。(1)整数反码定义:例:N1=+10011 [N1]反=010011

N2=–01010[N2]反=1000000-1+(-01010)=111111-01010=1101012、反码(1’scomplememt)Chapter532(2)小数反码定义:例:N1=+0.10011[N1]反=0.10011

N2=–0.1010[N2]反=1.1111+(-0.1010)=1.1111-0.1010=1.0101(3)0的反码:[+0]反=00…0 [–0]反=11…1Chapter533

N1=+1100.11 [N1]反=01100.11

N2=–101.101[N2]反=1010.010例:求(30.25)10的反码解:(30.25)10=+(11100.01)2[30.25]反=011100.01例:求

-120.625的反码解:(-120.625)10=-(1111000.101)2[-120.625]反=10000111.010反码举例及求解:Chapter534对于正数,其补码表示与原码表示相同,对于负数,符号位为1,其余各位是将数值求反再加“1”。(1)整数补码定义:例:

N1=+10011 [N1]补=010011

N2=–01010 [N2]补=26-01010=110110

=

110101+1=[N2]反+13、补码two’scomplememtChapter535(2)小数补码定义:例:

N1=+0.10011 [N1]补=0.10011

N2=–0.1010 [N2]补=2-0.1010=1.0110

=[N2]反+“1”Chapter536(3)零的补码0只有一种补码表示形式,即:

[+0]补=[+0]原=00

[-0]补=[-0]反+1=11…1+1

=100…0=00丢弃Chapter537(4)既有整数又有小数的补码转换:整数和小数分别求补码,然后组合起来补码举例及求解:例:求

-120.625的补码解:(-120.625)10=-(1111000.101)2[-120.625]补=10001000.011

N1=+1100.11 N2=–101.101[N1]反=01100.11 [N2]反=1011.011Chapter538(1)原码运算符号位单独处理,不参与运算,由运算结果决定。设A、B表示绝对值同号数相加或异号数相减,运算规则为绝对值相加,取被加(减)数的符号(不变)。

(+A)-(+B)=(+A)+(-B)

(-A)-(-B)=(-A)+(+B)

(+A)+(+B)=(+A)-(-B)

(-A)+(-B)=(-A)-(+B)同号数相减或异号数相加。运算规则为绝对值相减,取绝大值较大者的符号。4、机器数的加、减运算Chapter539解:[N1]原=10011,[N2]原=01011

求[N1+N2]原,绝对值相减,有

1011-)00111000结果取N2的符号,即:[N1+N2]原=01000真值为:

N1+N2=+1000例:N1=-0011,N2=1011;求[N1+N2]原

和[N1-N2]原。Chapter540求[N1-N2]原,绝对值相加,有

0011+)10111110结果取N1的符号,即:[N1-N2]原=11110真值为:

N1-N2=-1110Chapter541符号位参与加减运算[N1+N2]反=[N1]反+[N2]反[N1-N2]反=[N1]反+[-N2]反当符号位运算有进位时,应在结果的最低位再加“1”。符号位为结果符号;当两数符号位相同,如果结果的符号位与数符不同,则为溢出(2)反码加、减运算(结果为反码)Chapter542例:

N1=-0011,N2=1011求[N1+N2]反和

[N1-N2]反。解:

[N1]反=1

1100, [N2]反=0

1011,

[-N2]反=1

0100[N1+N2]反=1

1100+

0

1011=01000

11100+)010111

00111+)101000真值为:

N1+N2=1000Chapter543[N1-N2]反=11100+10100

11100+)101001

10000+)110001真值为:

N1-N2=-1110Chapter544[N1+N2]补=[N1]补+[N2]补[N1-N2]补=[N1]补+[-N2]补补码

温馨提示

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

评论

0/150

提交评论