减法器

一种运算设备

减法电路是基本集成运放电路的一种,算术运算电路主要包括数字加法器电路、数字减法器电路、数字乘法器电路和数字除法器电路。由于基本的算术运算加法、减法、乘法、除法最终都可归结为加法或减法运算,因此,在算术运算电路中数字加法器电路与数字减法器电路是最基础的电路。一般是由集成运放外加反馈网络所构成的运算电路来实现。

数字减法器电路的基本原理
对于两个二进制数 x 和 y,用“x-y”表示他们的二进制差,其结果有如下四种情形:
(1)0-0=0;(2)1-0=1;(3)1-1=0;(4)10-1=1。
对于上述四种情形中的 “10-1=1”的特殊情形,也即是当 x=10(即十进制的 2),y=1 时,它们的二进制差为 1,这表明在二进制减法中,作差过程存在向前一位借位的情形。
串行进位减法器电路
一个 n 位串行进位减法器是由 n 个全减器的借位位首尾相连、依次串联在一起形成的,在串行进位减法器中,其借位从最低有效位( Least Significant Bit,LSB)传到其最高有效位(Most Significant Bit,MSB)需要很长的的时间(电路的延时)。
图1、图2分别是一个四位的串行进位减法器逻辑电路图和符号,其中 ai、bi和 Bi是输入位,Di、Bi+1是输出位,且 Bi+1作为更高位的输入位。
串行进位减法器电路的主要优点是:结构简单、便于连接和 IC 版图设计的实现;但其缺点是:执行运算速度较慢。这是因为串行进位减法器电路每一位的相减必须等到它前一位的计算结果,最高位相减必须要等到它前面的所有位都完成相减才能进行。由于全减器只有在它的输入位有效时它的输出结果才是有效的,最左端的电路是最后响应的,这样全减器的输出结果才是正确的。因此,串行进位减法器电路总的延时取决于每一个全减器电路的信号传输延时,而信号的传输延时又与逻辑门的工艺有关,所以串行进位减法器电路的时间延时和电路中逻辑门的工艺相关。
减法器的设计
半减器
半减器(Half Subtractor,HS),二输入、二输出变量函数模块。一个半减器模块有两个输入 x、y 和两个输出 D、B,其中 x 称为被减数,y称为减数; D 称为差,B 称为借位输出信号。半减器是只有两个输入变量、两个输出变量,无借位输入的一位减法器, 半减器的真值表如图3所示。
由半减器的真值表可推导出半减器的逻辑表达式为:
D=x⊕y (“⊕”表示异或运算)
B=-x·y (“-”表示非运算,“·”表示与运算)
由半减器模块的逻辑表达式我们可以得到最常用的半减器模块门级的逻辑电路图和半减器模块的符号,如图4所示。
全减器
一个全减器模块有三个输入 ai、bi和 Bi,两个输出 Di、Bi+1,其中 ai称为被减数,bi称为减数,Di称为差,Bi称为第 i 位的借位输入信号,Bi+1称为第 i 位的借位输出信号。全减器是包含低位借位的三个输入变量、两个输出变量的一位减法器,在半减器的基础上再加一个低位借位输入位,全减器的真值表如图5所示。
由全减器的真值表推导出全减器的逻辑表达式为:
Di=ai⊕bi⊕Bi
Bi+1=(ai⊕bi)·bi+(ai⊕bi)·Bi
由全减器的逻辑表达式可以得到全减器模块门级的逻辑电路图和全减器模块的符号,分别如图6、图7所示。
对于 n 位的二进制数,将两个 n 位的二进制数相减得到一个 n 位的二进制的差以及一个 1 位的借位输出信号,这个借位输出信号可以作为它下一位的借位输入信号,或者作为一个溢出标志,图8为一个 n 位减法器电路的一般表示符号(其中 a、b 和 D 是 n 位的二进制数,Bn是 1 位的二进制数)。
四位二进制减法器的设计与实现
总体方案设计
本设计使用EWB进行仿真,使用74LS48、七段译码器、LED、开关、异或门、或门、非门、与非门等。电路按功能分为三个部分:减数部分:减数变成补码(原码取反加1);被减数部分:被减数与减数的补码相加;差部分:被减数减减数的结果显示。四位二进制减法器的总体仿真图如图所示。
被减数模块的设计
本模块由开关、74LS48、VCC(+12 V)、GND、七段译码器构成,用开关控制输入信号( 被减数),5、6、7、8 从高位到低位,用74LS48和七段译码器构成显示电路。四位二进制减法器的被减数模块的仿真图如图10所示。
减数模块的设计
本模块由开关、74LS48、VCC(+12 V)、GND、七段译码器、异或门、或门、非门、与非门构成。用开关控制输入信号(减数),1、2、3、4 从高位到低位,将输入信号的原码变成补码供计算使用,用74LS48 和七段译码器构成显示电路。四位二进制减法器的减数模块的仿真图如图11所示。
差模块的设计
本模块由VCC(+12 V)、GND、七段译码器、74LS48、LED 构成。从右到左依次是从高位到低位,并用74LS48和七段译码器构成显示电路。四位二进制减法器的差模块的仿真图如图12所示。
数字减法器电路的性能指标
目前,针对数字电路研究的主要目标都是为了提高电路的运算速度、降低电路的功耗和减少电路逻辑输出的误差,因此延时、功耗和误差是数字电路三个最重要的性能指标。
运算速度指标——延时
数字电路的延时主要是指信号的传输延时,电路的延时与逻辑门的工艺设计相关,延时限制了电路的工作速度,所以对电路的延时优化一直是很多学者研究的热点。全减器模块作为最基本的电路组成部件,整个电路的延时取决于全减器模块的延时,因此,对全减器模块延时的优化工作显得尤为重要。对于全减器来说,延时优化主要方法是减小信号在关键路径上的延时;对于串行进位减法器电路来说,关键路径就是指信号进位位支路(也就是对电路中所有的输入来说,信号延时时间最大时的情形),减小进位位支路的延时时间,对于提高串行进位减法器电路运算速度具有重要意义。
近年来,随着电路低功耗设计的要求,电源电压随之降低,而电源电压的降低又会增大电路中信号的传输延时时间,从而影响电路的逻辑输出结果。尤其是在时钟周期固定的同步电路中,如何保证电路正确的逻辑输出结果,实现电路的可靠性设计和最大限度的降低功耗是当前电路设计研究的主要课题。
能量消耗指标——功耗
CMOS 电路中功耗由两部分组成:动态功耗、静态功耗。动态功耗主要是由 CMOS 电路中逻辑门工作过程中负载电容充放电时引起的功耗,主要包括翻转功耗(翻转指的是电路中信号 0→1 或 1→0 的变换)和短路功耗。翻转功耗是数字电路要完成逻辑功能计算所必须要消耗的功耗,也称有效功耗;短路功耗是由于 CMOS 在翻转过程中 PMOS 管和 NMOS 管同时导通时所消耗的功耗,也称无效功耗;静态功耗是由于漏电电流引起的功耗。通常静态功耗与电路中的器件相关,在电路设计过程中,如何降低整体的电路功耗已成为当今电路研究者与设计者十分关注的问题,特别是要考虑到如何降低电路的动态功耗。
可靠性指标——误差
在同步电路中,由于时钟周期的存在,一旦电路总的延时时间超过了时钟周期,那么在时钟周期内我们采样得到的电路输出结果与理论上电路正确的逻辑输出结果不同,此时电路实际上输出的是错误的结果。因此,如何保证电路最终的输出结果是正确的,最大限度的减小误差也是目前电路研究的一个热点方向。
两位格雷码减法器数字电路设计
两位减法器的格雷码(Gray code)真值表如图13所示,可以实现两个两位二进制数之间的减法算术运算。从真值表中可以得知,存在 16 种不同的逻辑运算。 如表 4-1 所示,X2X1 和 U2U1 分别代表减数和被减数,S2S1 代表两个两位二进制数之间的差值,B2代表来自高位的借位。在图13中,减数、被减数和差值都通过使用格雷码来表示,格雷码可以转换成二进制码(8421 码),即从左边的第二位开始,在每个位和左边的解码值之间获得异或操作的值作为该位的解码值,最左边的值保持不变。
根据两位格雷码减法器的真值表,列写其布尔逻辑表达式,依据其布尔表达式,构造相应的数字电路原理图,如图14所示,有三种基本的逻辑门,即非门、与门、或门,不同的逻辑门使用不同的颜色标记,使用紫罗兰色标记非门,红色标记与门,天蓝色标记或门,图14中共存在 4 个非门,11 个与门,4 个或门。
全国各地天气预报查询

上海市

  • 市辖区
  • 云南省

  • 临沧市
  • 云南省

  • 丽江市
  • 云南省

  • 保山市
  • 云南省

  • 大理白族自治州
  • 云南省

  • 德宏傣族景颇族自治州
  • 云南省

  • 怒江傈僳族自治州
  • 云南省

  • 文山壮族苗族自治州
  • 云南省

  • 昆明市
  • 云南省

  • 昭通市
  • 云南省

  • 普洱市
  • 云南省

  • 曲靖市
  • 云南省

  • 楚雄彝族自治州
  • 云南省

  • 玉溪市
  • 云南省

  • 红河哈尼族彝族自治州
  • 云南省

  • 西双版纳傣族自治州
  • 云南省

  • 迪庆藏族自治州
  • 内蒙古自治区

  • 乌兰察布市
  • 内蒙古自治区

  • 乌海市
  • 内蒙古自治区

  • 兴安盟
  • 内蒙古自治区

  • 包头市
  • 内蒙古自治区

  • 呼伦贝尔市
  • 内蒙古自治区

  • 呼和浩特市
  • 内蒙古自治区

  • 巴彦淖尔市
  • 内蒙古自治区

  • 赤峰市
  • 内蒙古自治区

  • 通辽市
  • 内蒙古自治区

  • 鄂尔多斯市
  • 内蒙古自治区

  • 锡林郭勒盟
  • 内蒙古自治区

  • 阿拉善盟
  • 北京市

  • 市辖区
  • 吉林省

  • 吉林市
  • 吉林省

  • 四平市
  • 吉林省

  • 延边朝鲜族自治州
  • 吉林省

  • 松原市
  • 吉林省

  • 白城市
  • 吉林省

  • 白山市
  • 吉林省

  • 辽源市
  • 吉林省

  • 通化市
  • 吉林省

  • 长春市
  • 四川省

  • 乐山市
  • 四川省

  • 内江市
  • 四川省

  • 凉山彝族自治州
  • 四川省

  • 南充市
  • 四川省

  • 宜宾市
  • 四川省

  • 巴中市
  • 四川省

  • 广元市
  • 四川省

  • 广安市
  • 四川省

  • 德阳市
  • 四川省

  • 成都市
  • 四川省

  • 攀枝花市
  • 四川省

  • 泸州市
  • 四川省

  • 甘孜藏族自治州
  • 四川省

  • 眉山市
  • 四川省

  • 绵阳市
  • 四川省

  • 自贡市
  • 四川省

  • 资阳市
  • 四川省

  • 达州市
  • 四川省

  • 遂宁市
  • 四川省

  • 阿坝藏族羌族自治州
  • 四川省

  • 雅安市
  • 天津市

  • 市辖区
  • 宁夏回族自治区

  • 中卫市
  • 宁夏回族自治区

  • 吴忠市
  • 宁夏回族自治区

  • 固原市
  • 宁夏回族自治区

  • 石嘴山市
  • 宁夏回族自治区

  • 银川市
  • 安徽省

  • 亳州市
  • 安徽省

  • 六安市
  • 安徽省

  • 合肥市
  • 安徽省

  • 安庆市
  • 安徽省

  • 宣城市
  • 安徽省

  • 宿州市
  • 安徽省

  • 池州市
  • 安徽省

  • 淮北市
  • 安徽省

  • 淮南市
  • 安徽省

  • 滁州市
  • 安徽省

  • 芜湖市
  • 安徽省

  • 蚌埠市
  • 安徽省

  • 铜陵市
  • 安徽省

  • 阜阳市
  • 安徽省

  • 马鞍山市
  • 安徽省

  • 黄山市
  • 山东省

  • 东营市
  • 山东省

  • 临沂市
  • 山东省

  • 威海市
  • 山东省

  • 德州市
  • 山东省

  • 日照市
  • 山东省

  • 枣庄市
  • 山东省

  • 泰安市
  • 山东省

  • 济南市
  • 山东省

  • 济宁市
  • 山东省

  • 淄博市
  • 山东省

  • 滨州市
  • 山东省

  • 潍坊市
  • 山东省

  • 烟台市
  • 山东省

  • 聊城市
  • 山东省

  • 菏泽市
  • 山东省

  • 青岛市
  • 山西省

  • 临汾市
  • 山西省

  • 吕梁市
  • 山西省

  • 大同市
  • 山西省

  • 太原市
  • 山西省

  • 忻州市
  • 山西省

  • 晋中市
  • 山西省

  • 晋城市
  • 山西省

  • 朔州市
  • 山西省

  • 运城市
  • 山西省

  • 长治市
  • 山西省

  • 阳泉市
  • 广东省

  • 东莞市
  • 广东省

  • 中山市
  • 广东省

  • 云浮市
  • 广东省

  • 佛山市
  • 广东省

  • 广州市
  • 广东省

  • 惠州市
  • 广东省

  • 揭阳市
  • 广东省

  • 梅州市
  • 广东省

  • 汕头市
  • 广东省

  • 汕尾市
  • 广东省

  • 江门市
  • 广东省

  • 河源市
  • 广东省

  • 深圳市
  • 广东省

  • 清远市
  • 广东省

  • 湛江市
  • 广东省

  • 潮州市
  • 广东省

  • 珠海市
  • 广东省

  • 肇庆市
  • 广东省

  • 茂名市
  • 广东省

  • 阳江市
  • 广东省

  • 韶关市
  • 广西壮族自治区

  • 北海市
  • 广西壮族自治区

  • 南宁市
  • 广西壮族自治区

  • 崇左市
  • 广西壮族自治区

  • 来宾市
  • 广西壮族自治区

  • 柳州市
  • 广西壮族自治区

  • 桂林市
  • 广西壮族自治区

  • 梧州市
  • 广西壮族自治区

  • 河池市
  • 广西壮族自治区

  • 玉林市
  • 广西壮族自治区

  • 百色市
  • 广西壮族自治区

  • 贵港市
  • 广西壮族自治区

  • 贺州市
  • 广西壮族自治区

  • 钦州市
  • 广西壮族自治区

  • 防城港市
  • 新疆维吾尔自治区

  • 乌鲁木齐市
  • 新疆维吾尔自治区

  • 伊犁哈萨克自治州
  • 新疆维吾尔自治区

  • 克孜勒苏柯尔克孜自治州
  • 新疆维吾尔自治区

  • 克拉玛依市
  • 新疆维吾尔自治区

  • 博尔塔拉蒙古自治州
  • 新疆维吾尔自治区

  • 吐鲁番市
  • 新疆维吾尔自治区

  • 和田地区
  • 新疆维吾尔自治区

  • 哈密市
  • 新疆维吾尔自治区

  • 喀什地区
  • 新疆维吾尔自治区

  • 塔城地区
  • 新疆维吾尔自治区

  • 巴音郭楞蒙古自治州
  • 新疆维吾尔自治区

  • 昌吉回族自治州
  • 新疆维吾尔自治区

  • 自治区直辖县级行政区划
  • 新疆维吾尔自治区

  • 阿克苏地区
  • 新疆维吾尔自治区

  • 阿勒泰地区
  • 江苏省

  • 南京市
  • 江苏省

  • 南通市
  • 江苏省

  • 宿迁市
  • 江苏省

  • 常州市
  • 江苏省

  • 徐州市
  • 江苏省

  • 扬州市
  • 江苏省

  • 无锡市
  • 江苏省

  • 泰州市
  • 江苏省

  • 淮安市
  • 江苏省

  • 盐城市
  • 江苏省

  • 苏州市
  • 江苏省

  • 连云港市
  • 江苏省

  • 镇江市
  • 江西省

  • 上饶市
  • 江西省

  • 九江市
  • 江西省

  • 南昌市
  • 江西省

  • 吉安市
  • 江西省

  • 宜春市
  • 江西省

  • 抚州市
  • 江西省

  • 新余市
  • 江西省

  • 景德镇市
  • 江西省

  • 萍乡市
  • 江西省

  • 赣州市
  • 江西省

  • 鹰潭市
  • 河北省

  • 保定市
  • 河北省

  • 唐山市
  • 河北省

  • 廊坊市
  • 河北省

  • 张家口市
  • 河北省

  • 承德市
  • 河北省

  • 沧州市
  • 河北省

  • 石家庄市
  • 河北省

  • 秦皇岛市
  • 河北省

  • 衡水市
  • 河北省

  • 邢台市
  • 河北省

  • 邯郸市
  • 河南省

  • 三门峡市
  • 河南省

  • 信阳市
  • 河南省

  • 南阳市
  • 河南省

  • 周口市
  • 河南省

  • 商丘市
  • 河南省

  • 安阳市
  • 河南省

  • 平顶山市
  • 河南省

  • 开封市
  • 河南省

  • 新乡市
  • 河南省

  • 洛阳市
  • 河南省

  • 漯河市
  • 河南省

  • 濮阳市
  • 河南省

  • 焦作市
  • 河南省

  • 省直辖县级行政区划
  • 河南省

  • 许昌市
  • 河南省

  • 郑州市
  • 河南省

  • 驻马店市
  • 河南省

  • 鹤壁市
  • 浙江省

  • 丽水市
  • 浙江省

  • 台州市
  • 浙江省

  • 嘉兴市
  • 浙江省

  • 宁波市
  • 浙江省

  • 杭州市
  • 浙江省

  • 温州市
  • 浙江省

  • 湖州市
  • 浙江省

  • 绍兴市
  • 浙江省

  • 舟山市
  • 浙江省

  • 衢州市
  • 浙江省

  • 金华市
  • 海南省

  • 三亚市
  • 海南省

  • 三沙市
  • 海南省

  • 儋州市
  • 海南省

  • 海口市
  • 海南省

  • 省直辖县级行政区划
  • 湖北省

  • 十堰市
  • 湖北省

  • 咸宁市
  • 湖北省

  • 孝感市
  • 湖北省

  • 宜昌市
  • 湖北省

  • 恩施土家族苗族自治州
  • 湖北省

  • 武汉市
  • 湖北省

  • 省直辖县级行政区划
  • 湖北省

  • 荆州市
  • 湖北省

  • 荆门市
  • 湖北省

  • 襄阳市
  • 湖北省

  • 鄂州市
  • 湖北省

  • 随州市
  • 湖北省

  • 黄冈市
  • 湖北省

  • 黄石市
  • 湖南省

  • 娄底市
  • 湖南省

  • 岳阳市
  • 湖南省

  • 常德市
  • 湖南省

  • 张家界市
  • 湖南省

  • 怀化市
  • 湖南省

  • 株洲市
  • 湖南省

  • 永州市
  • 湖南省

  • 湘潭市
  • 湖南省

  • 湘西土家族苗族自治州
  • 湖南省

  • 益阳市
  • 湖南省

  • 衡阳市
  • 湖南省

  • 邵阳市
  • 湖南省

  • 郴州市
  • 湖南省

  • 长沙市
  • 甘肃省

  • 临夏回族自治州
  • 甘肃省

  • 兰州市
  • 甘肃省

  • 嘉峪关市
  • 甘肃省

  • 天水市
  • 甘肃省

  • 定西市
  • 甘肃省

  • 平凉市
  • 甘肃省

  • 庆阳市
  • 甘肃省

  • 张掖市
  • 甘肃省

  • 武威市
  • 甘肃省

  • 甘南藏族自治州
  • 甘肃省

  • 白银市
  • 甘肃省

  • 酒泉市
  • 甘肃省

  • 金昌市
  • 甘肃省

  • 陇南市
  • 福建省

  • 三明市
  • 福建省

  • 南平市
  • 福建省

  • 厦门市
  • 福建省

  • 宁德市
  • 福建省

  • 泉州市
  • 福建省

  • 漳州市
  • 福建省

  • 福州市
  • 福建省

  • 莆田市
  • 福建省

  • 龙岩市
  • 西藏自治区

  • 山南市
  • 西藏自治区

  • 拉萨市
  • 西藏自治区

  • 日喀则市
  • 西藏自治区

  • 昌都市
  • 西藏自治区

  • 林芝市
  • 西藏自治区

  • 那曲市
  • 西藏自治区

  • 阿里地区
  • 贵州省

  • 六盘水市
  • 贵州省

  • 安顺市
  • 贵州省

  • 毕节市
  • 贵州省

  • 贵阳市
  • 贵州省

  • 遵义市
  • 贵州省

  • 铜仁市
  • 贵州省

  • 黔东南苗族侗族自治州
  • 贵州省

  • 黔南布依族苗族自治州
  • 贵州省

  • 黔西南布依族苗族自治州
  • 辽宁省

  • 丹东市
  • 辽宁省

  • 大连市
  • 辽宁省

  • 抚顺市
  • 辽宁省

  • 朝阳市
  • 辽宁省

  • 本溪市
  • 辽宁省

  • 沈阳市
  • 辽宁省

  • 盘锦市
  • 辽宁省

  • 营口市
  • 辽宁省

  • 葫芦岛市
  • 辽宁省

  • 辽阳市
  • 辽宁省

  • 铁岭市
  • 辽宁省

  • 锦州市
  • 辽宁省

  • 阜新市
  • 辽宁省

  • 鞍山市
  • 重庆市

  • 重庆市

  • 市辖区
  • 陕西省

  • 咸阳市
  • 陕西省

  • 商洛市
  • 陕西省

  • 安康市
  • 陕西省

  • 宝鸡市
  • 陕西省

  • 延安市
  • 陕西省

  • 榆林市
  • 陕西省

  • 汉中市
  • 陕西省

  • 渭南市
  • 陕西省

  • 西安市
  • 陕西省

  • 铜川市
  • 青海省

  • 果洛藏族自治州
  • 青海省

  • 海东市
  • 青海省

  • 海北藏族自治州
  • 青海省

  • 海南藏族自治州
  • 青海省

  • 海西蒙古族藏族自治州
  • 青海省

  • 玉树藏族自治州
  • 青海省

  • 西宁市
  • 青海省

  • 黄南藏族自治州
  • 黑龙江省

  • 七台河市
  • 黑龙江省

  • 伊春市
  • 黑龙江省

  • 佳木斯市
  • 黑龙江省

  • 双鸭山市
  • 黑龙江省

  • 哈尔滨市
  • 黑龙江省

  • 大兴安岭地区
  • 黑龙江省

  • 大庆市
  • 黑龙江省

  • 牡丹江市
  • 黑龙江省

  • 绥化市
  • 黑龙江省

  • 鸡西市
  • 黑龙江省

  • 鹤岗市
  • 黑龙江省

  • 黑河市
  • 黑龙江省

  • 齐齐哈尔市