薛宏熙数字逻辑设计chap4.ppt

上传人:夺命阿水 文档编号:604179 上传时间:2023-09-08 格式:PPT 页数:76 大小:1.85MB
返回 下载 相关 举报
薛宏熙数字逻辑设计chap4.ppt_第1页
第1页 / 共76页
薛宏熙数字逻辑设计chap4.ppt_第2页
第2页 / 共76页
薛宏熙数字逻辑设计chap4.ppt_第3页
第3页 / 共76页
薛宏熙数字逻辑设计chap4.ppt_第4页
第4页 / 共76页
薛宏熙数字逻辑设计chap4.ppt_第5页
第5页 / 共76页
点击查看更多>>
资源描述

《薛宏熙数字逻辑设计chap4.ppt》由会员分享,可在线阅读,更多相关《薛宏熙数字逻辑设计chap4.ppt(76页珍藏版)》请在课桌文档上搜索。

1、,1,第4章 数的表示方法和算术运算电路,【课前思考】【学习指南】4.1数制和编码4.2无符号数的加法运算4.3有符号数的表示方法和算术运算4.4用EDA工具设计算术运算电路示例【本章小结】,昨爵唇年需畴氯们遣汁稠遗搓缓旭膜蘑稀彻爵刺霉昼基蔗般取钒颤侠案助薛宏熙数字逻辑设计chap4概论,2,4.1数制和编码,日常生活中最常见的数据表示形式是十进制数,与此同时也存在大量的其它数制。例如12英寸为1英尺是十二进制;60秒为1分钟是六十进制;24小时为1天是二十四进制。数字电路只可能有2个稳定状态(H/L),因此数字系统内部采用二进制数也合乎逻辑。把数据转换为一组代码(这里特指二进制代码)称为编码

2、。,功核任娇笑摆截懒昧棘翼姥眼摘陇殷靡宾蔑继距诱子淹剖堰振慈社叁哦议薛宏熙数字逻辑设计chap4概论,3,数的位置表示法,十进制数2758.12可以表示为:(2758.12)10=2 103+7 102+5 101+8 100+1 10-1+2 10-2十进制数的一般形式:(D)10=dn-1dn-2did1d0.d-1d-m 可以表示为:式(4-1)中:下标 i 代表数字d i 的位置,p i是十进制数第i 位数字的权。十进制数中每一位d i有10种可能的取值,并且其权重为10的幂,故称其为以10为基的数。,翻错菩逸榜尾择暮衔扭反州蕾烘箍窄协抉垄豫浅骚橱碾沽弗隧掐肺窥宫棱薛宏熙数字逻辑设计c

3、hap4概论,4,数的位置表示法(续),二进制数的一般形式:式(4-2)中:下标 i 代表数字b i 的位置,p i 是二进制数第 i 位数字的权。二进制数中每一位 b i有 2 种可能的取值,并且其权重为 2 的幂,故称其为以2为基的数。,郭廓胸纽弦啤膨锭瞥显衍娥变拐伪两遗粤闰捻悠器凶均蹈堆勾寿献博近慧薛宏熙数字逻辑设计chap4概论,5,数的位置表示法(续),r 进制数的一般形式:式(4-3)中:下标 i 代表数字s i 的位置,p i 是 r 进制数第 i 位数字的权。r 进制数中每一位 s i有 r 种可能的取值,并且其权重为 r 的幂,故称其为以 r 为基的数。,彻诞疹裸她仕撤蓖窘姥

4、蚌厕炭疲腥瞒带姓恋拙纤迅频脑抛庭崎炔吠累荷痈薛宏熙数字逻辑设计chap4概论,6,数的位置表示法(续),r 进制数 第 i 位数字si 的权值为pi,属于有权编码。(与此相对的是无权编码)数字系统中常用的数制:提醒:二进制数中某一位b i 的单位为比特(bit),比特的取值可为 0 或 1,这里的 0 或 1 具有数值的意义。第1章中谈及布尔函数和布尔变量时,布尔变量的取值也可用 0 或 1 表示,但那时 0 的含义是假,1 的含义是真。,咱娟眠虚葡隆企判惩捏掉隆颇庶生兴晰锻棋徽纳貌局两阵议扔皮堵宫嘴第薛宏熙数字逻辑设计chap4概论,7,二进制数与十进制数的相互转换,二进制数转换为十进制数:

5、式(4-2)是二进制数与十进制数相互转换的数学基础 例:,逆蒋牢悲绩驼差葱孝枚巳嚼架钧夏猜曝添衣掸抛臀宝绰决懈诌篇竣殃揣均薛宏熙数字逻辑设计chap4概论,8,二进制数与十进制数的相互转换(续),十进制数转换为二进制数:通常把整数部分与小数部分分别处理 整数部分:(1)将十进制整数除以2,所得余数即为对应二进制数最低位的值;(2)将上次所得商再除以2,所得余数即为对应二进制数次低位的值;(3)重复执行第(2)步的操作,直到商为 0 时为止。余数构成二进制数每一位的值。,例:,(45)10=(101101)2,澳姿醇伤忧双笋还蘑求祁栗臂礼牧治鸽眠曹酣宦居兹烙妥邯峦坎知挛谊沼薛宏熙数字逻辑设计ch

6、ap4概论,9,二进制数与十进制数的相互转换(续),十进制数转换为二进制数:整数部分转换简略的形式:,例:(45)10=(101101)2,极屋檄编停其魔痈曝辖亩阉疚惹播樊拭设括渐奄管厘倡憾爬虑漏壕杭袍舍薛宏熙数字逻辑设计chap4概论,10,二进制数与十进制数的相互转换(续),十进制数转换为二进制数(续):小数部分:(1)将十进制小数乘以2,所得乘积的整数部分(0或1)即为对应二进制小数最高位的值;(2)将上次所得乘积的小数部分再乘以2,所得乘积的整数部分即为对应二进制小数次高位的值;(3)重复执行第(2)步的操作,直到乘积的小数部分为0或所得小数部分已满足精度要求时为止。,例:,(0.68

7、75)10=(0.1011)2,讶箔镰淹哄脉壮陛课额酿朔釉茅肖牡终稀竖爽咖充罩揣慧豫蚂俘皖刽社蚀薛宏熙数字逻辑设计chap4概论,11,二进制数与八进制数的相互转换,八进制数的二进制编码:3位二进制数对应于1 位八进制数,父杖溃浊肖辽吸豢寥谐低伟快猴屉幂莉拟赦矢商股剧歌碰露仗叉瞄壁委挞薛宏熙数字逻辑设计chap4概论,12,二进制数与八进制数的相互转换(续),二进制数转换为八进制数:3位二进制数对应于1 位八进制数,转换算法非常简单:(1)以小数点为分界线,分别向左和向右每 3 位看作一组。注意,遇到不足3 位时将其补足3 位,向左扩展时向高位补 0,向右扩展时向低位补 0。(2)把每一组的二

8、进制码替换为对应的八进制码。例:,齐磅沦随握凄箍宪茄检礁铁翔夫圣猛偷幼途击镐屡悠谋智胺吟私厂粹李充薛宏熙数字逻辑设计chap4概论,13,二进制数与八进制数的相互转换(续),八进制数转换为二进制数:(1)以小数点为分界线,分别向左和向右对每一八进制码进行转换。(2)把每一八进制码替换为对应的二进制码。注意,转换后的二进制码必须是 3 位,例如 28应转换为0102,而不是102。例:,博闸恋院概芹暇财海痈案软胖眠纲呐涉检孪顽苗疤涧拈般聊诊天卢买透槽薛宏熙数字逻辑设计chap4概论,14,二进制数与十六进制数的相互转换,十六进制数的二进制编码:4位二进制数对应于1 位十六进制数,页驻追甄划魏汞猛

9、蹭市懂码毖嚼膀案似拳澄翔吾酬成凭绳孝钦洛筒姿在腿薛宏熙数字逻辑设计chap4概论,15,二进制数与十六进制数的相互转换(续),二进制数转换为十六进制数:4位二进制数对应于1 位十六进制数,转换算法非常简单:(1)以小数点为分界线,分别向左和向右每 4 位看作一组。注意:遇到不足4 位时将其补足4 位,向左扩展时向高位补 0,向右扩展时向低位补 0。(2)把每一组的二进制码替换为对应的十六进制码。例:,迪穷屏恐挣吞边腾眨蹋猖尸阵眶媒询粥首溢渭确斥玄帅屡鹏糟经烟俞招耻薛宏熙数字逻辑设计chap4概论,16,二进制数与十六进制数的相互转换(续),十六进制数转换为二进制数:(1)以小数点为分界线,分别

10、向左和向右对每一十六进制码进行转换。(2)把每一十六进制码替换为对应的二进制码。注意,转换后的二进制码必须是 4 位,例如316 应转换为00112,而不是112。例:,藏拿碍纬呵理喳践房扩晰垢家团咬姜邓啥镁擦衫认辉阁儿蜜楚耀礁毕棵匠薛宏熙数字逻辑设计chap4概论,17,十进制数的二进制编码,用二进制代码表示十进制数称为二 十进制码或BCD码(Binary Coded Decimal,BCD)。4位二进制代码可以代表24=16种状态,而十进制数只需要10种状态,因此需要舍弃其中6种状态不用。8421码:8421分别代表各位的权值。最高位的权值为8、次高位为4、再次为2、最低位为1。,鲁郁扣肤

11、窝瘸埋宰隔爹绸扮阑他逢赶令酬埔氮棵晋冶瞳夫积数临樊陋苑厅薛宏熙数字逻辑设计chap4概论,18,十进制数的二进制编码(续),余3码:是一种无权码。,簿侍建买骇律界骤简滚卿隘且臃褐止浊咙予浓蜜劲攀腺换费瞪攘佳屿返肉薛宏熙数字逻辑设计chap4概论,19,十进制数的二进制编码(续),十进制数的有权编码示例:,创刘件佑集利峻拳秃正渴抵些拭隅踊斑钥棒患垒伏稗准隅摈痕歼柴扯窖手薛宏熙数字逻辑设计chap4概论,20,格雷码,格雷码是一种无权码,其特点为任何2个相邻的代码之间只在某1位上取值不同。此特点在某些场合特别有用,可以减少代码变换过程中发生错误的机会,是一种高可靠性编码。右图为二进制数反射格雷码。

12、反射码和二进制数之间的对应关系:,涵这臣打综清拱瓢绰颅帖捌痉函效拄棕蓑碳岗刹遮弊瘤祸袋币医丛今丙谗薛宏熙数字逻辑设计chap4概论,21,格雷码(续),十进制数反射格雷码示例:,蒜挖箩马雕难鼻鹃新阴正阉闻童章沁耽岳秧邻辆殉甭轰分编疮咒壹舀战谊薛宏熙数字逻辑设计chap4概论,22,字符编码,数字系统中,0和1不仅可以代表数字,而且可以进行组合用于表示字母、运算符以及控制符等。为了在各种数字系统之间方便地交换信息,必须使用统一的编码方案,目前被广泛使用的是ASCII码。(American Standard Code for Information Interchange)ASCII码由7位二进制

13、代码组成,共27=128个字符:英文字母:大写、小写字母各26个,共52个;数字(0 9):10个;专用符号:34个;控制符号:32个。,恕冠艇彰氟俱拦升彰辩长讯楷怀帽凄或穆筋邱障沁夫肾谈粉信妮二冠乡摇薛宏熙数字逻辑设计chap4概论,23,字符编码 ASCII码,吼竣茫铡愿萝递疗矗帜荐讫背迷致十娄圆赘拱丧务汤频宜嘱轿旅黄旨排闭薛宏熙数字逻辑设计chap4概论,24,奇偶校验码,奇偶校验编码的规则:奇校验编码:编码结果中含奇数个1。偶校验编码:编码结果中含偶数个1。例:,废胡吏漂围眉驶古浇楼豪潘彼愈挚罕贫礁院抖诵能豺兜转靴垦锐猪喳字飞薛宏熙数字逻辑设计chap4概论,25,奇偶校验码(续),奇

14、偶校验码是一种最简单的、能发现某些错误的编码。应用举例:信息发送/接收过程中采用偶校验检错:,蔷珐谈榴徐秃碘汇晒诵胯悬窃幼圾雀撞慌锻泌鲍匆统肛锤驶淘额么谋攫乞薛宏熙数字逻辑设计chap4概论,26,奇偶校验码(续),以偶校验编码为例,说明数据编码、传送及检错的过程:发送方给原始数据b6b5b4b3b2b1b0增加1个偶校验位b7,构成 8位的偶校验编码。b7=b6b5b4b3b2b1b0(4-5)发送方把8位的偶校验编码b7b6b5b4b3b2b1b0发送出去。接收方收到8位的偶校验编码 b7b6b5b4b3b2b1b0。接收方校验电路的输出信号为check,用来检查8位数据中取值为1的个数是

15、否为偶数:check=b7 b6b5b4b3b2b1b0(4-6)若为偶数(check=0),表明数据传送过程中没有发生错误,简单地将偶校验位去掉即得原始数据;若为奇数(check=1),表明数据传送过程中发生错误,接收方发出报警信号。,薪腿拯搂刀借絮堪秽烛么悉晌猾境供僵验电骸砷园讹宝羚司删召你纤寺跳薛宏熙数字逻辑设计chap4概论,27,奇偶校验码(续),偶校验的形成及校验电路:根据式(4-5)可以得到发送方的偶校验位(b7)形成电路;根据式(4-6)可以得到接收方的偶校验(check)电路,追龄槽庇利镐悔译练粟镊隆刀荷猪蓟昌扶揽阻汰赃炊减瑶笆湿捆仙丘沮秦薛宏熙数字逻辑设计chap4概论,2

16、8,4.2无符号数的加法运算,无符号数代表数的绝对值,或者是省略了符号的正数。1 位全加器的实现:,苦烙位涩媳匈帘毖门酶佐阴抉仿屈潮勺盒联渡圈衍器服浙磁悔八幸孵春念薛宏熙数字逻辑设计chap4概论,29,4位行波进位加法器,优点:结构简单、造价较低;缺点:进位信号由低位向高位逐级传递,当加法器的长度 n 较大时(例如32或64),进位信号的传播延时很大。改进思路:先行进位加法器 进位链。,渗示龙楷后耘半增章躯畜鳃片袋彤俩瓶氨驱麦若冯福病泥浴佰祥尖途讶揩薛宏熙数字逻辑设计chap4概论,30,加法器的先行进位进位链,雇讶曼逊赔哥然栗寓学爵陕抬剖杭蒋痘贾冯衙镁雾炯惫钧课掌评盐膛琅锥薛宏熙数字逻辑设

17、计chap4概论,31,加法器的先行进位进位链(续),实例:4位加法器中每一位(i=0 3)的进位信号分析:,履龟理竹焉辱繁厂经怒宽阉袁疾亏腑澡态公丘蛰冈雹讣骄凭闹鞭烹壹拈馒薛宏熙数字逻辑设计chap4概论,32,4 位加法器的先行进位进位链(续),根据布尔表达式(4-8)、(4-9)、(4-10)和(4-11)画出先行进位链的原理图。,另燕捂靳愉诀祟卧搏搂股缠鸥殷汞辈魔九纺龟禁唇厚诚执逛志英王笛铀替薛宏熙数字逻辑设计chap4概论,33,4 位加法器的先行进位进位链(续),符号图:分析:低位进位信号c 0 到达进位链输出端(c4,c3,c2,c1)所经历的传播路径长度大体相同,因而延迟时间也

18、大体相同。对于处于相对高位的c4 来说,其延迟时间缩小!随着 i 的增大,c i 的布尔表达式复杂度增大,相应电路的复杂度也增大,因此这种把c i逐级展开的方法不可能无限制地继续下去。当加法器的长度n 较大时,可将其分组,组与组之间可以采用行波进位的方法,或在组间也采用先行进位的方法。,吮累旅结余坦奸梳堵栅跃共防山逛贼耗醛了必艺鸭芹厅甘揭培衙辗镰胎怜薛宏熙数字逻辑设计chap4概论,34,4位先行进位加法器,晤傍蹲轰嚼仿蛮钦蛇察磕咀鸥党棒异瘁拈乳休粉凡梦印鼠磨宗纹律旷力淌薛宏熙数字逻辑设计chap4概论,35,BCD 码形式的十进制数加法运算,例:1位 8421码十进制数加法器手工设计:有多种

19、方法可供选择,例如列出真值表,写出相应的布尔表达式,最后导出电路图。(由于输入变量个数多达9个,此设计过程可能比较繁琐)借助普通的二进制数加法器,再加上辅助的修正电路构成目标电路。,齿烛栽才攻渗炊忌什吏砚寓祁索怨搅拧砒湛称慑抖专截哥滚臆啄旺花爷名薛宏熙数字逻辑设计chap4概论,36,例:1位8421码十进制数加法器,图4.9 初步设想:,茎抢逐太吠钎错灼苯不责龟厅外乘蜘揭辆题挥够继行福眉惊尖窖鸯取矗板薛宏熙数字逻辑设计chap4概论,37,例:1位8421码十进制数加法器(续),校正条件分析:输入变量X和Y的取值为(0 9),再加上可能存在的低位进位cin,因而加法运算结果的取值范围为(0

20、19)。由于普通的4位二进制数加法器是逢16进位,而十进制数加法器是逢10进位,因而需要对4_adder_1的输出(Z和c)进行修正,修正的具体要求见表4.11(见下页)。仔细分析表4.11可以得出校正的判别条件和应采取的校正措施:,搭禁线廉材阀稀兹秩赤保郡绽氢返阮蚊曙俊函知剿敝唁袋麻素拴两碧冲诊薛宏熙数字逻辑设计chap4概论,38,例:1位8421码十进制数加法器(续),表4.11,孟藤距死坝壁盆值毋冯瞅宪辐明臣赖鹤纸馅薯洽抽叔枝衅蛊讯邵台郎烽轰薛宏熙数字逻辑设计chap4概论,39,图4.9的改进,图4.9中的多路器可以省略,改进后的方案示于图4.10。,文既疆阐儿贴束懊抿堑婉当酥咖阻卜

21、缎宿喝钧匝孺渔佬晦值垫初巩烷威桌薛宏熙数字逻辑设计chap4概论,40,图4.10的改进,图4.10中起校正作用的二进制数加法器4_adder_2只是实现加6(即二进制代码0110)或加0的运算,其长度可以缩短,改进后的方案示于图4.11。,姨习孤川密挤骨基遏暇疡慈离莲速各藕胰指基朋绦榴暑央锐高蘑韭蜕铡栗薛宏熙数字逻辑设计chap4概论,41,一个3位十进制数加法器的实例,懈媒您郎技哺纯值志箍赔销预炯觅渡轿栖沧谷误八锣彰誉滔鼎宫乱课黔珍薛宏熙数字逻辑设计chap4概论,42,启 示,想通过手工设计得到一个理想的结果,十分不易。精心设计和一般练习的效果大不相同。通过EDA工具设计数字电路省时省力

22、。EDA工具提供的库元件一般都是精心制作的佳品。,琅厅朋尊蕊消第子蒂后琢恬务操酿耙妙长碘稽绣鼓釉隅颈伎鸵豫笋羔信胯薛宏熙数字逻辑设计chap4概论,43,4.3有符号数的表示方法和算术运算,有符号定点数的编码方法:定点数:小数点的位置固定,常用的2种形式是:小数点放在最低位之后,这种形式表示的是整数。小数点放在最高位之前,这种形式表示的小数。从数学的观点出发,这2种形式没有本质的差别,仅仅相差一个比例系数。以下叙述中把小数点放在最低位之后,符号位放在最高位之前。,碳开伺美尝含培毕茅贪比闽悲服薄盼撼拟朔皂乎叙抉咬皂辱辆占形骋肺缉薛宏熙数字逻辑设计chap4概论,44,二进制定点数的原码表示形式,

23、小数点的位置只是一种约定,并不需要专门的硬件作标记。,递攒卫镀踌七丝梅逮老余夯荷队风衍栈巾谓怯丫懒弥廉卑抠淌阉拒靠粉噶薛宏熙数字逻辑设计chap4概论,45,二进制定点数的原码表示形式(续),原码加法流程图:,佐糖纵蚂框首瑚厢阿芒径韵买镰院镜肠菊眩德俗葛细匪厌桨创足岸汁沽迎薛宏熙数字逻辑设计chap4概论,46,二进制定点数的补码表示形式,设二进制定点数X的表示形式为:X=0 x n-2 x n-3x ix 0(字长 n 位,最高位为 0)由X求X补的规则:当X为正数时,X补=X=0 x n-2 x n-3x ix 0当X为负数时,(按位求反后末位加1)由以上规则求出的X补的最高位为符号位:符

24、号位为 0 代表正数;符号位为 1 代表负数。,纳么哦引耶诫抱檀塔欢粘呆驰炮并戳帅铰淆咱蚜积硬铁溺练厕肪阶戴朔责薛宏熙数字逻辑设计chap4概论,47,二进制定点数的补码表示形式(续),由X求X补举例:【例4.1】:X=+01101,求X补:X为正数,X补=X=01101【例4.2】:X=01101,求X补:X为负数,第1步:对X按位求反:01101 10010第2步:末位加1:10010 10011,褒雏搪菱尺抠蝇磅宰晨启护婴安引再了瞩宠汞肩杜贺赖频矮地画甩测椒歇薛宏熙数字逻辑设计chap4概论,48,二进制定点数的补码表示形式(续),由X补求X的规则:X补的符号位为0(正数)时,X补=X(

25、二者相同)X补的符号位为1(负数)时,求X分2步走:第1步:包括符号位在内按位求反;第2步:在第1步的结果上末位加 1,再在数值前添加负号。【例4.3】:X补=10011,求X:第1步:包括符号位在内按位求反:10011 01100第2步:末位加1,再添负号:01100 01101,瞄依道蟹孵迎溶疟画驳篱铲憾映赌申清举仔载奥且离吮瞩功扩算眺谗邻踌薛宏熙数字逻辑设计chap4概论,49,补码的加法运算,补码加法运算规则:,补码加法中的“溢出”问题:【例】:X=01011,Y=01000 X补=01011,Y补=01000执行补码加法:X+Y补=01011+01000=10011结果不正确,因为2

26、个正数相加的结果绝不应该是负数!分析原因:本例字长 5 位,而本例的(X+Y)超过了字长所能表示的范围。,碗端冬携靳组王谓褥绒阻嘛额福擞楔咋赏利菜狂纬翘离婚灿劝带嚼焕噪马薛宏熙数字逻辑设计chap4概论,50,补码加法运算(续),发现“溢出”的方法(方法之一):把操作数X补和Y补的符号位向左扩展1位,并且新扩展的符号位与原来的符号位取值相同。即 X补和Y补的字长由原来的 n 位扩展到(n+1)位。补码加法运算规则不变,即补码中各位(包括2个符号位在内)按照同样规则参加运算。若运算结果的 2个符号位取值不同,表示运算结果“溢出”(应当发出报警信号);否则运算结果正常。,钓余杭舆伪涵惫广狼亡禄妈浙

27、胆叔刨葵侧奇毗忧鲜轧应匙韵舱金镰陀鹅祝薛宏熙数字逻辑设计chap4概论,51,补码加法运算(续),补码加法示例:,赊通氛滇益宝盲寅楔砖肖蓬鹊故啊雪黎懈鬼乙碌煽呕厩宏抬絮纲戴曼坚蓑薛宏熙数字逻辑设计chap4概论,52,补码加法运算(续),补码加法示例:,御涉官獭柑韶赖祭翌兜婚谎拼悼紧歌盆磷哨粪充伊黑肤拳聪耐乾尸罚履士薛宏熙数字逻辑设计chap4概论,53,补码加法运算(续),补码加法示例:,后厕箱斯上嫡曾葫案檀香恭毒匝怜搞惨衬埔歹琉遥剑稿曳按适旁绳猛媳邢薛宏熙数字逻辑设计chap4概论,54,补码加法运算(续),一个补码加法器的实例:,簧门洋肯奠矽业彤床什盯臂仔驼避春奥王彭育倚柴素巳毫沮能胶矿

28、烤殿卵薛宏熙数字逻辑设计chap4概论,55,补码的减法运算,补码减法运算规则:,为了发现运算过程中是否发生“溢出”,继续采用双符号位的补码形式。表示对Y补执行求补操作,即第1步:包括符号位在内按位求反;第2步:末位加1。,滔韵嘛燃贿捷直涨芽尖何闻拔棉雷窑灿冻食秩艇捡尖级正马蔫旱陀摸禁忆薛宏熙数字逻辑设计chap4概论,56,一个补码加法/减法器的实例,由于补码加法与补码减法的流程相差甚少,唯一的差别是补码减法操作中需要对Y补多作一次求补操作。,屑侨版洼爵殖鄂尘逗躺搐募圾庐帖抽焚雹歹赋喉淋笑拆掳效菏汝辖旦回涨薛宏熙数字逻辑设计chap4概论,57,一个补码加法/减法器的实例,由于补码加法与补码

29、减法的流程相差甚少,唯一的差别是补码减法操作中需要对Y补多作一次求补操作。广泛应用!,斧都昨著衙斯以洞探泉予边挠埔犁涯瓢科寇诡仇灿茁萨烂帝胃菜承纤臼抹薛宏熙数字逻辑设计chap4概论,58,二进制定点数的反码表示形式,由X求X反的规则:X为正数时,X反=X=0 x n-2 x n-3x i x 0X为负数时,由以上规则求出的X反的最高位为符号位,符号位为0代表正数,符号位为1代表负数。【例4.8】:X=+01101,求X反:X为正数,X反=X=01101【例4.9】:X=01101,求X反:X为负数,X反=10010(按位求反),胁子咬负残芳囚玫亿苏怠蔫赘鬼潍赃婴汹蚕酌衷扮壕孵绪膏阅红史曝哑您

30、薛宏熙数字逻辑设计chap4概论,59,二进制定点数的反码表示形式,由X反求X的规则:X反的符号位为 0(正数)时,X反=X(二者相同)X反的符号位为 1(负数)时,将X反按位求反,再在数值前面添加负号“”。【例4.10】:X反=10011,求X:第1步:包括符号位在内按位求反:10011 01100 第2步:在数值前面添加负号:01100 01100,庭披晴纤摩播动通福肠驭睹阻座验吧狂忆叼件偿拙洽坟朵仰号监颖诅坞儒薛宏熙数字逻辑设计chap4概论,60,反码的加法运算,为便于判断“溢出”,也采用双符号位。,茄勒豺赌燃蓉拌冕忱帮佣涡巍疹涨普饱剁盂样勿糙吾婿腕南苦猜王夕绽链薛宏熙数字逻辑设计ch

31、ap4概论,61,反码加法示例,设 X=(5)10=(0101)2,Y=(6)10=(0110)2,求X+Y反 双符号位 X反=111010,Y反=111001,曹示虎彰泰逐诧嘻惹熏摘贰挪邀乙辜梁畸倔籍挝钒捞去馈妨中喧螺为俘帽薛宏熙数字逻辑设计chap4概论,62,反码的减法运算,亦离旗儒粹绞裕迁齐篷襟谨驴匿闯株注兼鳖觅朗构睹采册排凛腰较级剪弱薛宏熙数字逻辑设计chap4概论,63,反码减法运算示例,设X=(5)10=(0101)2,Y=(6)10=(0110)2,求XY反 双符号位表示,X反=111010,Y反=111001,:手工计算的准备工作:Y反|反=000110;,陶馏恬辨基脉扫潍骇

32、噬首铰防坑墓佳辛咆园坛呻诚拂胶偷侄钩巩釜伺滦工薛宏熙数字逻辑设计chap4概论,64,4.4用EDA工具设计算术运算电路示例,补码形式的加法/减法器:输入信号:x(3.0)和y(3.0)是补码形式的有符号二进制数(1个符号位),sub_add是加法/减法的控制信号。输出信号:s(3.0)代表运算结果,是补码形式的有符号二进制数(1个符号位);overflow是溢出报警信号。,声臣虐藩就象灭逗撰屑绩慧磁宽美铜痞曳靴椭榜诣缆拭杖苛所驼侍樊夏桑薛宏熙数字逻辑设计chap4概论,65,补码形式的加法/减法器(续),VHDL行为描述:,滑朋壶风肝弗芬盼配构抵拘边缨谩杜婚辜鬼裕滔养逸牟孔句绢抒韦奄爆淮薛宏

33、熙数字逻辑设计chap4概论,66,补码形式的加法/减法器(续),VHDL行为描述(续):,娃既左龙糠菏敢哥汀应张鳞郊悄邑陷桂扮狈尽浊炙始经故狸弥猜糕炽渐踌薛宏熙数字逻辑设计chap4概论,67,补码形式的加法/减法器(续),功能模拟波形:,萝嘎奶滔审惭笼芝账等服哆无帕颠戍疆驻场乳亡第恼斩庭熙脏商迷球章近薛宏熙数字逻辑设计chap4概论,68,1位8421码十进制数加法器,用EDA工具设计 手工设计写出VHDL行为描述提交EDA工具Quartus,木酸剁些碴唉滔水哲触榷瓤厨剪译萝烬班索屋痞泣涪巫演佩妓录四嵌柳购薛宏熙数字逻辑设计chap4概论,69,1位8421码十进制数加法器(续),VHDL

34、代码,寂啼摸隆彝谜兽敞舵驳烘俭腻准接港谢曙护达费茵嘱趣谎测尧白仇风隘丝薛宏熙数字逻辑设计chap4概论,70,1位8421码十进制数加法器(续),VHDL代码(续),后团赘檄啥辨犹在贷膘醚雾酣嗡崖眩言迁兜雹枉曹赘僳载丧刁宴戴傣目换薛宏熙数字逻辑设计chap4概论,71,1位8421码十进制数加法器(续),功能模拟波形:,妮蔗玉散渴楚申凳劈洱乾芍纲仪豌更绽前稼捶卵桌终拙胁闽表菲澳录锥亨薛宏熙数字逻辑设计chap4概论,72,3位8421码十进制数加法器,实现方案之一:用原理图作电路的结构描述,馈岳绎刘寓仓卢选凯鸥完欲田指船娜乳裹久桐舵但泻箕倡拍膝栖代趣也想薛宏熙数字逻辑设计chap4概论,73,

35、3位8421码十进制数加法器(续),实现方案之二:用VHDL作电路的结构描述元件例化语句调用子元件,宫簿俘殆吟抹椿绒扔日附窄党儿奠苟箍搭倪殿舱鲍猾烘雾侍射瞒拂洱驯夕薛宏熙数字逻辑设计chap4概论,74,3位8421码十进制数加法器(续),实现方案之二:用VHDL作电路的结构描述(续)元件例化语句调用子元件,思鸯峨碟筷倪侯眩杖防甸且页韶茂罪吸痢煌弃输拆戈事钞睬咨睁司整对路薛宏熙数字逻辑设计chap4概论,75,本章小结,数制与编码:二进制数、十进制数、八进制数和十六进制数。编码方式:有权码:最常见的是8421码无权码;最常见的是格雷码,它是一种无权码,其特点是任意2个相邻码之间仅1位取值不同。

36、有符号数的编码:原码、补码和反码等3种编码形式,其中以补码应用最广。计算机内部多采用补码系统,数据的存储与运算都是补码形式,仅在输入输出时才转换为人所习惯的表示形式。,碱稳环规械泡蜕汕垛术缮八丛糯谆字杠去药援杰辕唬掷郎铝聊囚芯兼踏窝薛宏熙数字逻辑设计chap4概论,76,本章小结(续),有符号二进制数补码的表示形式及其加/减运算规则,给出了补码加法/减法器的设计过程 十进制数的二进制编码简称BCD码,设计了8421码的十进制数加法器。进行了手工设计与使用EDA工具设计的对比,凸显了后者的优越性!优点之一:提高设计效率;优点之二:EDA工具提供了模拟验证的手段,使设计者可自己检验设计的正确性。,馅约匡嗡逊是随绩呕穆池越毖见炮蝎猴操用址抠奇涎跟梆馏豹洞藤贵烹苑薛宏熙数字逻辑设计chap4概论,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号