第13章组合逻辑电路2010.03电路基础与集成电子技术哈尔滨工业大学电子学教研室编蔡惟铮主编齐明于泳副主编2010年03月第13章组合逻辑电路2010.03第3篇数字电子技术第11章逻辑代数基础第12章集成逻辑门电路第13章组合逻辑电路第14章触发器和时序逻辑电路第15章数模与模数转换器第16章半导体存储器与可编程逻辑器件第13章组合逻辑电路2010.03第13章组合逻辑电路内容提要:组合逻辑电路是通用数字集成电路的重要品种,它用途广泛。本章讨论了与组合逻辑电路密切相关的数制和码制的问题,介绍了组合逻辑电路的分析和设计方法,译码器、编码器、数据选择器、比较器等常用组合逻辑电路的工作原理和应用。第13章组合逻辑电路2010.0313.1常用数制和码制13.2加法电路13.3译码器和编码器13.4数据选择器13.5数码比较器13.6组合逻辑电路的设计13.7用VHDL语言描述组合逻辑电路第13章组合逻辑电路第13章组合逻辑电路2010.0313.1常用数制和码制13.1.1常用数制13.1.2常用编码第13章组合逻辑电路2010.03逻辑电路通常分为组合逻辑电路和时序逻辑电路两大类。组合逻辑电路的定义是,有一个逻辑电路,在某一时刻,它的输出仅仅由该时刻的输入所决定。组合逻辑电路的框图如图13.0.1所示,每一个输出都是一个组合逻辑函数。路电组合数字nX1-nX2X1X1P2PmP1-mP图13.0.1组合逻辑电路框图),,,,(12111nnXXXXfP),,,,(12122nnXXXXfP),,,,(121nnmmXXXXfP……第13章组合逻辑电路2010.03本章要讨论四个问题:1.组合数字电路的分析;2.组合数字电路的设计;3.电路逻辑功能的描述方法问题;4.通用组合数字电路的应用。组合数字电路的分析是指,已知逻辑图,求解电路的逻辑功能。组合数字电路的设计是指,已知对电路逻辑功能的要求,将逻辑电路设计出来。第13章组合逻辑电路2010.0313.1.1.2任意进制数的通式什么是编码?按某种编排方式组成的N位数码,用它来表示某种信息,称为编码,这些信息包括数值、语言、操作命令、状态等。本节介绍数值的编码方式。组合数字电路中往往与各种数码打交道,例如译码器就是一种典型的组合数字电路,译码器是将一种编码转换为另一种编码的逻辑电路。为此先对各种编码方式进行介绍。数制是指计数的制式,如二进制码、十进制码和十六进制码等等,码制是指不同的编码方式,如各种BCD码、循环码等。13.1.1.1概述13.1.1常用数制第13章组合逻辑电路2010.03常用的数码有十进制、二进制和十六进制数,现以十进制和二进制数为例加以说明。有一个十进制数138,它可以写成如下形式[138]10=1102+3101+8100式中的1、3、8等数字符号是十进制的数码,十进制共有十个数码0、1、2、3、4、5、6、7、8、9,所谓数码就是一种数制中可能出现的数字符号。十进制编码遵循是“逢十进一”的规则,即个位的数码就由该数码本身的数值所代表;处于十位上的数码,它的份量要重一些,应乘以“10”,这个“10”称为“权”,在式中以101的形式出现;处于百位上的数码的权是“100”,以102的形式出现。所以在十进制码中一个数码左移一位相当乘以10。十进制的“10”称为基数。第13章组合逻辑电路2010.030123212021211101二进制的数码0、12二进制的2,逢二进一的二。1代表数位的高低权代表数码在不同数位份量的大小所以,二进制数可以写成一个通式nimSSimni28421二进制,BinaryCode对于二进制码,有两个数码0和1,遵循“逢二进一”的规则,对于整数二进制码它的权应为…23、22、21、20,于是有第13章组合逻辑电路2010.03对于任意进制数,通式的形式式中N为基数,也就是几进制的几;Ki是N进制编码中N个数码中的任何一个,i为数所在数位的十进制的编号,从-n到m,代表数位的高低;Ni为所在数位的权(Weight),在一种固定的进制中,某一位的权就是以这种进制的基数为底,以代表该数位高低的位置编号为幂的指数值的大小。mniNKSii第13章组合逻辑电路2010.0313.1.2常用编码13.1.2.1二进制码二进制码的英文是BinaryCode,常用B来表示。二进制码遵循“逢二进一”的规则。最低位的二进制码是“0”、“1”交替变化的,比最低位高一位的二进制码是“两个0”、“两个1”交替变化的,再高一位是“四个0”、“四个1”交替变化的,…,最高位的“0”和“1”各占二分之一。从最低位算起,二进制码权的规律符合1、2、4、8、16…(20、21、22、23、24…)。二进制码某一位的“1”向高位移一位,等于乘以2;向低位移一位,等于除以2。第13章组合逻辑电路2010.0313.1.2.2十六进制编码十六进制编码的英文是Hexadecimal,常用H表示。十六进制数有十六个数码0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。其中A相当十,B相当十一,C相当十二,D相当十三,E相当十四,F相当十五。十六进制码在计算机设备中普遍采用。下面以通式形式为例,说明十六进制数[1ABE]H对应的十进制数S=[1ABE]H=1163+10162+1121+14160=4096+2560+22+14=[6692]10第13章组合逻辑电路2010.0313.1.2.3BCD码(二-十进制编码)BCD码的英文是BinaryCodeDecimal的缩写,即二-十进制编码,是用二进制码表示十进制码的意思。若用二进制码表示十进制码,如果用三位二进制码只有八个状态,是不够表示十个数码的。至少需要四位,四位二进制码有十六个状态,但要舍去其中的六个,即可构成许多种BCD码。只有有特色的几种得到了应用,具体见下表。第13章组合逻辑电路2010.030000000100100011010001010110011110001001101010111100110111101111000000010010001101000101011001111000100100000001001000110100100010011010101111000000000100100011010001010110011111101111000000010010001101001011110011011110111100110100010101100111100010011010101111000000000100110010011001110101010011001101111111101010101110011010二进制12481245BCD8421码BCD5421码24212421*余三码循环码00110011第13章组合逻辑电路2010.03有关BCD码的一些规定1.关于BCD码权的确定,各位的权不能超过二进制码的权,只能等于或小于二进制码的权。BCD码中最常用的是BCD8421码,8421是它的权,因BCD8421码正好取的是四位二进制码的前十个,所以它的权与二进制码相同。2.BCD5421码,最低位的权是1,见BCD5421码的第二行0001;第二位的权是2,见BCD5421码的第三行0010;下一个BCD5421码是0011,权是2+1=3;BCD5421码第三位的权是4,由第五行BCD5421码0100可以确定;由第六行BCD5421码1000可以确定最高位的权是5。1001代表6,权是5+1=6。其它类推。000000010010001101000101011001111000100112480011001100000001001000110100100010011010101111001245第13章组合逻辑电路2010.033.BCD码必须以十为周期,以BCD8421码为例九加一得十,正好是一个周期,个位的BCD码是0000,同时给出一个进位信号,使十位的BCD码为0001。00000001个位十位000110014.BCD是有权码,可以通过各位的权,计算出对应的十进制数。5.BCD码中,5421码、2421码等,不具有惟一的形式,上面就给出了二种BCD2421码。这些码虽然有多种形式,但采用的一般都有一定特点,例如BCD5421码的最高位是5个“0”和5个“1”。BCD8421码只具有惟一的形式。6.余三码是偏权码,比BCD8421码一一对应大0011。第13章组合逻辑电路2010.0313.1.2.4循环码循环码是一种无权码,循环码编排的特点是相邻两个数码之间符合卡诺图中的邻接条件,即相邻两个数码之间只有一位码元不同,码元就是组成数码的单元。符合这个特点的有多种方案,但循环码只能是表中的那种。循环码的优点是没有瞬时错误,因为在数码变换过程中,在速度上会有快有慢,例如,从二进制码的0111变化到1000,可能是按如下方式变化的0111001101111000中间经过其它一些数码形式,称它们为瞬时错误。这在某些数字系统中是不允许的,为此希望相邻两个数码之间仅有一位码元不同,即满足邻接条件,这样就不会产生瞬时错误,循环码就是这样一种编码。循环码又称格雷码(GreyCode)。第13章组合逻辑电路2010.03有一种光电变换的装置,称为光码盘,它是一个圆盘,上面有一个个同心圆,按照相邻的原则印成黑白相间,如下图所示。光码盘与一个丝杠连接,丝杠转动带动工件行走,工件行走的距离可以由光码盘的转数来反映。通过在光码盘半径上设置的光敏元件将光信号转换为电信号,这种转换符合循环码的规律,可以保证转换的准确性。光码盘旋转光敏元件