数字电路根据逻辑功能的不同特点,可以分成两大类,一类叫组合逻辑电路(简称组合电路),另一类叫做
时序逻辑电路(简称
时序电路)。组合逻辑电路在逻辑功能上的特点是任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关。而时序逻辑电路在逻辑功能上的特点是任意时刻的输出不仅取决于当时的输入信号,而且还取决于电路原来的状态,或者说,还与以前的输入有关。
原理
组合逻辑电路是指在任何时刻,输出状态只决定于同一时刻各输入状态的组合,而与电路以前状态无关,而与其他时间的状态无关。其逻辑函数如下:
Li=f(A1,A2,A3……An) (i=1,2,3…m)
其中,A1~An为输入变量,Li为输出变量。
组合逻辑电路的特点归纳如下:
① 输入、输出之间没有返馈延迟通道;
② 电路中无记忆单元。
对于第一个逻辑表达公式或逻辑电路,其
真值表可以是唯一的,但其对应的逻辑电路或逻辑表达式可能有多种实现形式,所以,一个特定的逻辑问题,其对应的真值表是唯一的,但实现它的逻辑电路是多种多样的。在实际设计工作中,如果由于某些原因无法获得某些门电路,可以通过变换逻辑表达式变电路,从而能使用其他器件来代替该器件。同时,为了使逻辑电路的设计更简洁,通过各方法对逻辑表达式进行化简是必要的。组合电路可用一组逻辑表达式来描述。设计组合电路直就是实现逻辑表达式。要求在满足逻辑功能和技术要求基础上,力求使电路简单、经济、可靠、实现组合逻辑函数的途径是多种多样的,可采用基本门电路,也可采用中、大规模集成电路。其一般设计步骤为:
① 分析设计要求,列真值表;
② 进行逻辑和必要变换。得出所需要的最简逻辑表达式;
③ 画逻辑图。
分析
在
asic设计和
pld设计中组合逻辑电路设计的最简化是很重要的,在设计时常要求用最少的逻辑门或导线实现。在asic设计和pld设计中需要处理大量的约束项,值为1或0的项却是有限的,提出组合逻辑电路设计的一种新方法。
与逻辑表示只有在决定事物结果的全部条件具备时,结果才发生。输出变量为1的某个组合的所有因子的与表示输出变量为1的这个组合出现、所有输出变量为0的组合均不出现,因而可以表示输出变量为1的这个组合。 组合逻辑电路的分析分以下几个步骤:
(1)有给定的逻辑电路图,写出输出端的逻辑表达式;
(2)列出真值表;
(3)通过真值表概括出逻辑功能,看原电路是不是最理想,若不是,则对其进行改进。
常用组合逻辑电路
算术运算电路
1.半加器与全加器
①半加器
两个数A、B相加,只求本位之和,暂不管低位送来的进位数,称之为“半加”。
完成半加功能的逻辑电路叫半加器。实际作二进制加法时,两个加数一般都不会是一位,因而不考虑低位进位的半加器是不能解决问题的。
②全加器
两数相加,不仅考虑本位之和,而且也考虑低位来的进位数,称为“全加”。实现这一功能的逻辑电路叫全加器。
2.加法器
实现多位二进制数相加的电路称为加法器。根据进位方式不同,有串行进位加法器和超前进位加法器两种。
①四位串行加法器:如T692。优点:电路简单、连接方便。缺点:运算速度不高。最高位的计算,必须等到所有低位依此运算结束,送来进位信号之后才能进行。为了提高运算速度,可以采用超前进位方式。
②超前进位加法器:所谓超前进位,就是在作加法运算时,各位数的进位信号由输入的二进制数直接产生。
编码器
1.基本概念
用代码表示特定信号的过程叫编码;实现编码功能的逻辑电路叫编码器。编码器的输入是被编码的信号,输出是与输入信号对应的一组二进制代码。
2.普通编码器
①三位二进制编码器:二进制编码器:用n位二进制代码时,对m=2n个一般信号进行编码的电路。
②二∕十进制编码器:把0~9十个十进制数字编成二进制代码的电路。n位二进制代码共有2n种,可以对m≤2n个信号进行编码。因二∕十进制编码器的输入是十个十进制数,故应使用四位二进制代码表示制。从2n=16种二进制代码中取十种来代表0~9这是个十进制数码,方案很多,最常用的是8421BCD码。在二∕十进制编码器中,代表0~9的输入信号也是互相排斥的,其工作原理及设计过程与三位二进制编码器完全相同,不再重复。
3.优先编码器
定义:允许若干信号同时输入,但只对其中优先级别最高的信号进行编码,而不理睬级别低的信号,这样的电路叫优先编码器。
译码器
1.基本概念
定义:把二进制代码按照愿意转换相应输出信号的过程叫译码。完成译码功能的逻辑电路叫译码器。译码器的n个输入,m个输出应满足2n≥m。译码器有二进制译码器、二—十进制译码器、数字显示译码器等类型。
2.二进制译码器
把二进制代码的各种状态,按照其原意转换成对应的信号的输出。这种电路叫二进制译码器。在二进制译码器中,若输入代码有n位,则输出信号就是2n个。因此它可以译出输入变量的全部状态。(有时又称为变量译码器,或最小项产生器。
数据选择器
功能:从若干输入信号中选择一路作为输出。国产数据选择器有许多品种:T4157、T4158、T4257、T4258等为四位2选1 数选器;T4352、T4353、等双4选1数选器;T4151、T4251等为8选1,T578、T1150等为16选1等。CMOS产品有:CC4512为8选1,CCI4539为双4选1等。
数据分配器
1.数据分配器的逻辑功能
数据分配器(Demultiplexer)又称为多路分配器,它只有一个数据输入端,但有2n个数据输出端。根据n个选择输入的不同组合,把数据送到2n个数据输出端中的某一个。从其作用看,与多位开关很相似,从逻辑功能看,与数据选择器恰好相反。
2.用译码器作数据分配器
凡是带使能控制端的译码器都能作数据分配器使用。
3.多路信号分时传送
数据选择器和数据分配器结合,可以实现多路信号的分时传送。原理:选择输入C2C1C0=001时,数据选择器是把XIN1的状态送到输出端。对数据分配器而言,则是把送来的XIN1分配到XOUT1端。各路信号不是同时传送,但传输线减少了。
数值比较器
1.1位数值比较器
两个1位二进制数比较时,有4种可能,3种结果
2.多位数值比较器
设:A=A3A2A1A0,B=B3B2B1B0
用li =1,表示Ai>Bi;
mi =1,表示Ai
gi =1,表示Ai=Bi。
比较时,应从高开始,若高位比出结果,则低位不用再比。当高位相等时,再去比较低位。
设计
一般步骤:
(1) 由实际逻辑问题列出真值表;
(2) 由真值表写出逻辑表达式;
(3) 化简、变换输出逻辑表达式;
(4) 画出逻辑图。
运算单元
在数字系统中算术运算都是利用加法进行的,因此加法器是数字系统中最基本的运算单元。由于二进制运算可以用逻辑运算来表示,因此可以用逻辑设计的方法来设计运算电路。加法在数字系统中分为全加和半加,所以加法器也分为全加器和半加器。
半加器设计
半加器不考虑低位向本位的进位,因此它有两个输入端和两个输出端。
设加数(输入端)为A、B ;和为S ;向高位的进位为Ci+1
函数的逻辑表达式为: S=AB+AB ; Ci+1=AB+1
全加器设计
由于全加器考虑低位向高位的进位,所以它有三个输入端和两个输出端。设输入变量为(加数)A、B、 Ci-1,输出变量为 S、 Ci+1
函数的逻辑表达式为:S=ABCi-1+ABCi-1+ABCi-1+ABCi-1=ABCi-1
Ci+1=ABCi-1+ABCi-1+ABCi-1+ABCi-1 =(AB)Ci-1+AB
全加器应用
因为加法器是数字系统中最基本的逻辑器件,所以它的应用很广。它可用于二进制的减法运算、乘法运算,BCD码的加、减法,码组变换,数码比较等。
编码译码
指定二进制代码代表特定的信号的过程就叫编码。把某一组二进制代码的特定含义译出的过程叫译码。(1)编码器 因为n位二进制数码有2^n种状态,所以它可代表2^n组信息。人们在编码过程中一般是采用编码矩阵和编码表,编码矩阵就是在卡诺图上指定每一方格代表某一自然数,把这些自然数填入相应的方格。
译码器 编码的逆过程就是译码。 译码就是把代码译为一定的输出信号,以表示它的原意。实现译码的电路就是译码器。译码器可分为二进制译码器、十进制译码器、集成译码器和数字显示译码驱动电路。其中二进制译码器是一种最简单的变量译码器,它的输出端全是最小项。
选择器
数据选择器 它就是从多个输入端中选择一路输出,它相当于一个多路开关。常用的有二选一,四选一,八选一和十六选一,若需更多则由上述扩展。
分配器
多路分配器的功能是把输入数据分配给不同的通道上,相当于一个单刀多掷开关。