精华内容
下载资源
问答
  • 你了解如何如何分析组合逻辑电路与时序逻辑电路吗?数字电路根据逻辑功能的不同特点,可以分成两大类,一类叫组合逻辑电路(简称组合电路),另一类叫做时序逻辑电路(简称时序电路)。逻辑电路的特点组合逻辑电路在...
  • 组合逻辑电路分析

    2020-12-09 08:44:00
    1、什么是组合逻辑电路? 在模拟电子线路中放大器可分为普通放大器和带负反馈放大器两大类,数字逻辑电路也可分为两大类电路:组合逻辑电路和时序逻辑电路。这里只介绍组合逻辑电路,时序电路方面的内容将在后面的...
  • 组合逻辑电路概述:数字电路根据逻辑功能的不同特点,可以分成两大类,一类叫组合逻辑电路(简称组合电路),另一类叫做时序逻辑电路(简称时序电路)。组合逻辑电路在逻辑功能上的特点是任意时刻的输出仅仅取决于该...
  • 组合逻辑电路分析与设计

    千次阅读 多人点赞 2020-01-17 21:36:47
    1.组合逻辑电路分析方法 首先给出组合逻辑电路的一般分析方法,如图1.1所示。 图1.1 组合逻辑电路的一般分析方法 以下图的组合逻辑电路为例。 ...

    目录

    1.组合逻辑电路的分析方法

    2.公式化简和卡诺图化简

    2.1公式化简的基本定律和规则

    2.2逻辑函数的卡诺图化简法

    2.3具有无关项的化简

    3.竞争与冒险 

    3.1产生竞争-冒险的原因

    3.2逻辑竞争与逻辑冒险

    3.3逻辑冒险的识别与消除

    3.3.1代数法

    3.3.2卡诺图法

    3.3.3逻辑冒险的消除

    3.4功能竞争与功能冒险

    3.5功能冒险的识别与消除

    3.5.1功能冒险的识别

    3.5.2功能冒险的消除


    本文结合了原锆石科技文档资料(截取其中部分图表),并参考了康华光《 电子技术基础 数字部分》(第六版)。

     

    1.组合逻辑电路的分析方法

    首先给出组合逻辑电路的一般分析方法,如图1.1所示。

                                                           图1.1 组合逻辑电路的一般分析方法

    以下图的组合逻辑电路为例。

                                                                      图1.2 组合逻辑电路图

     

    (1)根据电路图写出逻辑表达式。由于现实中的电路图可能比较复杂,可以采取级联的分时分别写出各子模块的逻辑表达式。分别写出P1、P2、P3、P4的表达式。

    得到最终的表达式:

    (2)根据逻辑表达式写出真值表。

                                                                                               表1.1 真值表

    (3)根据真值表分析电路的功能。如表1.1所示,当且仅当此电路当输入变量A、B、C全为0或全为1时,L输出为1;否则,L输出为0。

     

    2.公式化简和卡诺图化简

    2.1公式化简的基本定律和规则

    表2.1.1是公式化简的九条基本定律。

                                                                                表2.1.1 公式化简的九条基本定律

     

    逻辑代数除了上面的九条基本定律,还有三条重要的规则。分别是:代入规则、反演规则和对偶规则。

    (1)所谓代入规则就是每个模块的输出都可以作其他模块的输入。已知等式\overline{A+B} = \overline{A}\cdot \overline{B},有函数F = B+C,将F代入前式中的B,得到\overline{A+(B+C)} = \overline{A}\cdot \overline{B+C}

    (2)反演规则就是逻辑表达式中的运算符、常量和变量作如下变换:\cdot \rightarrow ++\rightarrow \cdot0\rightarrow 11\rightarrow 0。例如,F = A+(B+C),则\overline{F} = \overline{A}\cdot(\overline{B}\cdot \overline{C})

    (3)对偶规则。设L是一个逻辑表达式,若把L中的“与、或互换,0、1互换”,那么就得到一个新的逻辑表达式,这就是L的对偶式,记作L{}'。例如,L=(A+\overline{B})\cdot (A+C),则{L}'=A\cdot {B}'+A\cdot C。变换时需注意保持原式中"先括号、然后与、然后或"的运算顺序。可以发现,公式化简的九条基本定律右边一列都可以由左边等式作对偶得到。将该规则概括为:当某个逻辑表达式相等,则它们的对偶式也相当

    除了上述的九条基本定律和三条重要规则,还有一些公式化简的方法:

    (1)并项法:利用公式A+\overline{A}=1,将两项合并成一项,并消去一个变量。例如,L=A\cdot (B\cdot C+\overline{B}\cdot \overline{C})+A\cdot (B\cdot \overline{C}+\overline{B}\cdot C) =A\cdot B\cdot C+A\cdot \overline{B}\cdot \overline{C}+A\cdot B\cdot \overline{C}+A\cdot \overline{B}\cdot C =A\cdot B\cdot (C+\overline{C})+A\cdot \overline{B}\cdot (C+\overline{C}) =A\cdot (B+\overline{B}) =A

    (2)吸收法:利用公式A+A\cdot B=A,消去多余的项A\cdot B。根据代入规则,AB可以是任何一个复杂的逻辑式。例如,L=\overline{A}\cdot B+\overline{A}\cdot B\cdot C\cdot D\cdot E+\overline{A}\cdot B\cdot C\cdot D\cdot F =\overline{A}\cdot B+\overline{A}\cdot B\cdot C\cdot D\cdot (E+F) =\overline{A}\cdot B

    (3)消去法:利用公式A+\overline{A}\cdot B=A+B,消去多余的因子。例如,L=A\cdot B+\overline{A}\cdot C+\overline{B}\cdot C =A\cdot B+(\overline{A}+\overline{B})\cdot C =A\cdot B+\overline{A\cdot B}\cdot C =A\cdot B+C

    (4)配项法:先利用A=A\cdot (B+\overline{B})增加必要的乘积项,再用并项或吸收的办法使项数减少。例如,L=A\cdot B+\overline{A}\cdot \overline{C}+B\cdot \overline{C} =A\cdot B+\overline{A}\cdot \overline{C}+(A+\overline{A})\cdot B\cdot \overline{C} =A\cdot B+\overline{A}\cdot \overline{C}+A\cdot B\cdot \overline{C}+\overline{A}\cdot B\cdot \overline{C} =(A\cdot B+A\cdot B\cdot \overline{C})+(\overline{A}\cdot \overline{C}+\overline{A}\cdot \overline{C}\cdot B) =A\cdot B+\overline{A}\cdot \overline{C}

    2.2逻辑函数的卡诺图化简法

    关于卡诺图的引出以及卡诺图化简的依据这里不再赘述(感兴趣的可以参考电子技术书籍),这里仅讨论卡诺图化简的一般步骤和实例。

    在给出卡诺图化简得方法前,首先给出卡诺图的表示方法及其化简形式(以四变量为例)。

    将上述两幅卡诺图的表示方法对比可以发现,0000代表\overline{A}\cdot \overline{B}\cdot \overline{C}\cdot \overline{D}(表示次序依次为00,01,11,10,不要颠倒)​​​​​。

    卡诺图化简的一般步骤如下:

    (1)将逻辑函数写成最小项表达式;

    (2)按最小项表达式填卡诺图(包含在式中的填1,其余填0);

    (3)圈出为1的相邻最小项,每个圈必须包含2^{^{n}}

    (4)将所有包围圈对应的乘积项相加(每个包围圈的乘积项为变量的相同部分)。

    注:在已知真值表的情况下,可将上述步骤的(1)(2)合并为一步

     

    这里重点对画圈的原则进行说明:

    (1)包围圈内的方格数必定是2^{n}个;

    (2)相邻方格包括上下底相邻,左右边相邻和四个角两两相邻

    (3)同一个方格可以被不同的包围圈重复包围,但新增包围圈中一定要有新的方格(已有圈中的子集不可重新划定为圈,例如已圈定的4个方格大小的圈中的两个方格不可圈定为新圈);

    (4)包围圈内的方格要尽可能多(也就是说包围圈的数目要尽量少),这决定了采用卡诺图化简后的表达式是否最简

     

    例1 用卡诺图法化简下列逻辑函数,求L=\sum m(0,2,5,7,8,10,13,15)的最简与-或表达式。

    解:

    (1)根据逻辑函数画出卡诺图

     (2)找出1的相邻最小项,圈出包围圈,合并最小项,得到最简与-或表达式

                                                                                   L=B\cdot D+\overline{B}\cdot \overline{D}

    得到这两个乘积项的过程,这里再赘述一下(以中间的四格圈为例)。AB部分01和11中‘1’为共同元素,对应着B;CD部分01和11中‘1’为共同元素,对应着D,得到B\cdot D项。因此只需要先按行找他们的共同元素,再按列找共同元素

     

    例2 化简下列逻辑函数L=\sum m(0,1,2,3,5,6,7,8,9,10,11,13,14,15)

    解:

    (1)由L画出卡诺图

    (2) 卡诺图化简(这里由于1比较多,提供第二种思路)

     

    法一(圈1) :L=\overline{B}+C+D

    法二(圈0):\overline{L}=B\cdot\overline{C}\cdot \overline{D},从而L=\overline{B}+C+D

    2.3具有无关项的化简

    除了上述这些具有确定逻辑表达式的卡诺图化简,在实际工作中,逻辑变量意味着特殊的现实意义,因此某些变量的取值组合并不会出现,也就是函数值可以是任意的(可以是0,也可以是1),变量取这些值所对应的最小项称为无关项任意项这点在由真值表进行卡诺图化简中体现得尤为明显

    注:引入无关项的目的主要是为了化简原有的函数表达式,切勿画蛇添足,将额外的无关项圈出来(也就是说,例如把本来只可以圈画4个方格,引入无关项后可以圈画8个方格,但是不要单独将无关项直接圈画起来)

     

    例:要求设计一个逻辑电路,能够判断1位十进制数是奇书还是偶数,当十进制为奇数时,电路输出为1;当十进制数为偶数时,电路输出为0。

    解:

    (1)写出真值表。用8421 BCD码表示十进制数,输入变量用A、B、C、D表示。1表示对应的十进制数为奇数,0表示对应的十进制数为0

    注:下面出现的无关项是由于8421 BCD码只有十个数,表中的后六种组合式无关的。

    (2)根据真值表,填写四变量卡诺图

    (3)画包围圈,利用无关项,将最小项m_{13}m_{15}m_{11} 对应的方格视为1,可以得到最大的包围圈,由此得到逻辑表达式L=D 

     

    3.竞争与冒险 

    3.1产生竞争-冒险的原因

    前面进行组合逻辑电路的分析与设计时,都没有考虑逻辑门的延迟时间对电路产生的影响(把门电路看成是理想门电路),并且认为电路的输入和输出均处于稳定的逻辑电平。实际上,信号经过逻辑门电路都需要一定的时间。由于不同路径上门的级数不同,信号经过不同路径传输的时间不同。或者门的级数相同,而各个门延迟时间的差异,也会造成传输时间的不同。因此,电路在信号电平变化瞬间,可能与稳态下的逻辑功能不一致产生错误输出,这种现象就是电路中的竞争-冒险

    根据其产生的原因不同,又可分为逻辑竞争、逻辑冒险和功能竞争、功能冒险。

     

    3.2逻辑竞争与逻辑冒险

    {\color{Red} A\cdot \overline{A}}会导致"1型冒险",{\color{Red} A+\overline{A}}会导致"0型冒险"

    竞争就是在一个组合电路中,当某一个变量经过两个以上的路径到达输出端时,由于每条路径上的延迟时间不同,到达终点的时间有先后,这一现象被称为竞争,这里的竞争又可以称之为逻辑竞争。如下图所示:

     输入端A的一端经过G1门,延迟了一个时间后到达G2门;而另一端直接连接在了G2门的输入端。因此,可以说同一个信号A,经过两条不同的路径分别到达G2门,并且由于它经过的两个路径的延迟时间不同,这两个信号到达输入端有先后关系,这样的现象称之为逻辑竞争。

    冒险,就是在具有竞争现象的组合电路中,当某个变量发生变化时(0到1,1到0),如果真指标所描述的逻辑关系或者功能受到短暂的破坏,在输出端出现一个本不该有的尖脉冲(毛刺),这一现象称为逻辑冒险。逻辑冒险是一个错误的输出

    由上图的电路图写出表达式,L=A\cdot \overline{A},然后再根据表达式写出真值表,如下图所示:

    从真值表可知,输出变量恒等于0,如下是其对应的理想波形图:

    然而,由于实际电路中门电路有延迟时间,将延迟时间记作t_{p},根据延迟时间t_{p}画出实际状态的波形图,如下图所示:

     从上图可以看出,A信号经过一个G1非门,由于非门有一个延迟时间t_{p},所以\overline{A}不是另可变为0,而是经过一个延迟时间后才变为0。按照与逻辑功能,当A=1,\overline{A}=0时,L才等于1,但是L不会直接立刻输出1,因为A\overline{A}还要经过G2与门才会输出1。因此,这个电路的输出端L也经过了一个延迟时间t_{p}后才输出1(输出是由{\color{Red} A}与经过非门得到的{\color{Red} \overline{A}}相与之后再经过一个非门的延迟时间后得到的,并且默认与门、非门延迟时间一致)。

    在实际状态波形图中,出现这种L短暂变为1的波形,相当于在电路中产生了一个尖脉冲,是不符合逻辑表达式要求的,是一个错误的波形。因此,将这种出现错误波形的现象称为逻辑冒险(逻辑冒险是由逻辑竞争导致的。又因为产生的是一个正的尖脉冲,所以通常称这种逻辑冒险为"1型冒险"。在波形的后部分,当A变为0以后,\overline{A}不是立刻变为1,它要经过一个延迟时间t_{p}后才会变成1,尽管在后面三条虚线内也出现了逻辑竞争,但是并没有出现逻辑冒险。由此说明,逻辑竞争并一定会导致逻辑冒险

    "0型冒险"仅依次给出电路图、真值表和波形图,不再详细分析,如下图所示:

     

     

    3.3逻辑冒险的识别与消除

    想要识别一个电路中是否存在逻辑冒险,通过有两种方法判别,一种是代数法,另一种是卡诺图法。

    3.3.1代数法

    代数法是根据电路图写出其逻辑表达式,在该逻辑表达式中某些逻辑变量取特定值0或1时,如果逻辑表达式能转换成A\cdot \overline{A},则该电路存在"1型冒险";如果逻辑表达式能转换成A+ \overline{A},则该电路存在"0型冒险"。

    以下图中的"0型冒险"为例:

    由电路图可知,该电路的逻辑表达式为L=A\cdot \overline{C}+B\cdot C。在该逻辑表达式中,若输入变量A=B=1,则有L=C+\overline{C},因此可以断定该电路中存为"0型冒险"(识别"0型冒险"就是看能不能找到一个变量与其反变量进行"或操作","1型冒险"就是看能不能找到一个变量与其反变量进行"与操作")。

    3.3.2卡诺图法

    卡诺图法是根据逻辑表达式画出卡诺图,在该卡诺图中,输入变量在卡诺图圈内改变时,输出不会有冒险现象;若输入变量是在相邻卡诺圈内的相邻处发生变化,并且是从一个卡诺图进入另一个卡诺圈,则可能产生逻辑冒险现象

    A\cdot \overline{C}+B\cdot C为例进行说明,直接给出如下的卡诺图:

     从卡诺图可以看出,当A=1C=0B由0→1时,此时的变化是在卡诺圈内变化,所以不会发生冒险。同理,当B=C=1时,也是在卡诺圈内变化,因此不会出现冒险。但是,当A=B=1C由0→1时,相当于输出变量ABC从110变化到111,此时的变化是从一个卡诺圈进入另一个卡诺圈,所以该电路存在冒险现象。

    3.3.3逻辑冒险的消除

    逻辑冒险可以通过电路的重新设计来消除,若在函数表达式中增加冗余项(相当于在卡诺图中增加多余的卡诺圈),既不改变函数的逻辑功能,又可消除逻辑冒险,缺点是电路复杂度提高。以上述出现逻辑冒险的函数表达式L=A\cdot \overline{C}+B\cdot C为例,前面已经分析过,当A=B=1时,L=1出现逻辑冒险,因此只需要在原表达式中增加一个乘积项A\cdot B,表达式变为L=A\cdot \overline{C}+B\cdot C+A\cdot BL=1不会再产生冒险将不再产生冒险。由于在添加乘积项就,表达式不再是最简式,因此增加的乘积项也叫冗余项。通过卡诺图消除逻辑冒险的方法如下(增加卡诺圈):

    3.4功能竞争与功能冒险

    前面描述的逻辑竞争中输入变量只有1个,当多个变量经过两个以上的路径到达输出端时,同样会产生竞争,将这种竞争称为功能竞争,在具有功能竞争的组合电路中,也同样会产生冒险,将这种冒险称为功能冒险。

    对于与门,若稳态A=1,B=0或A=0,B=时1,输出L 恒为0。但是在信号的传输过程中,由于传输时间的不同,造成在时间t_{p}内,出现了一个错误的波形,将这种错误波形的现象称为功能冒险。又因为产生的是一个正的尖脉冲,所以称这种功能冒险为"1型冒险"。"0型冒险"类似,如下图:

    注:逻辑竞争和功能竞争更多只是概念上的差别,逻辑冒险是由于同一个信号经过不同路径造成的,功能冒险是由于多个信号经过两个路径并最终形成的,本质上是一样的。

    3.5功能冒险的识别与消除

    3.5.1功能冒险的识别

    功能冒险的识别通常采用卡诺图来进行判别,以下图为例:

    根据卡诺图,可以知道ABCD=0001时,F=1;若ABCD00010111,即B01C01(在这个过程中AD未发生变化),则变化后函数F的为稳定值也为1,由于输入变量BC实际上不可能同时变化,他们的变化总是有先有后的,若B先变,则变化途径为000101010111,相应的输出F变化为111(图中红色箭头1变化过程),此时没有发生冒险现象;但当C先变时,C的变化途径为000100110111,相应的输出F变化为101(图中红色箭头2变化过程),因此出现了"0型冒险"(功能冒险产生于多变量发生变化,也就是它们不是左右、上下相邻关系)。

    电路具有下列三个特点,则其输出可能产生功能冒险:

    (1)有两个以上变量同时发生变化(如果仅有一个输出变量发生变化,则无功能冒险);

    (2)变化前后,输出稳态值不变;

    (3)在由n(n≥2)个变量发生变化的{\color{Red} 2^{^{n}}}个方格中,既要有0,又要有1(如果对应{\color{Red} 2^{^{n}}}个变量取值组合的输出值全为1或全为0,电路时不会产生功能冒险的)。

    3.5.2功能冒险的消除

    功能冒险时由于在输入n个变量同时变化时,它们的实际变化在时间上有先有后引起的,因此改变电路的逻辑设计并不能消除功能冒险。对待功能冒险常用的方法是增加选通信号或者在输出端并联放置滤波电容(电容能对窄脉冲起到平波的作用,消除输出端出现的逻辑错误,但同时也使输出波形上升或下降沿变得缓慢)

     

     

     

     

     

     

    展开全文
  • Multisim数字电路实验:实验二--组合逻辑电路分析,实验内容丰富规范,适合教师指导教学,希望对各位有用
  • 本文主要介绍利用Matlab强大的图形处理功能、符号运算功能以及数值计算功能,及Matlab仿真工具Simulink实现组合逻辑电路的调试、仿真。主要包括:用Matlab编写常用组合逻辑电路逻辑表达式的M文件,并在给定输入信号...
  • 本文主要讲解了组合逻辑电路的特点及结构分析方法,希望对你的学习有所帮助。
  • 设计一个具有四个用户的呼叫显示系统。 要求用四个开关的输出分别模拟用户的输出信号,优先权按用户编码依次递减,即1号的优先权最高,4号最低。用数码管显示呼叫用户的编码数字,无用户呼叫时显示“0”。...
  • 分析下图所示组合逻辑电路的功能 一、题目描述 分析下图所示组合逻辑电路的功能 要求: (1)写出该电路输出(L1,L2,L3)的逻辑函数表达式; (2)列出真值表; (3)描述该电路的功能。 二、题目解答 (1)列出...

    分析下图所示组合逻辑电路的功能

    一、题目描述

    分析下图所示组合逻辑电路的功能
    在这里插入图片描述
    要求:

    (1)写出该电路输出(L1,L2,L3)的逻辑函数表达式;

    (2)列出真值表;

    (3)描述该电路的功能。

    二、题目解答

    (1)列出逻辑表达式
    在这里插入图片描述
    (2)列出真值表
    在这里插入图片描述
    (3)电路功能:此电路可作为一位二进制数字比较器,输入为A、B(要比较的两个数字),输出为比较结果为L1、L2、L3。其中L1代表“A>B”,L2代表“A<B”,L3代表“A=B”。

    展开全文
  • 我们对组合逻辑电路分析分以下几个步骤: (1):有给定的逻辑电路图,写出输出端的逻辑表达式; (2):列出真值表; (3):通过真值表概括出逻辑功能,看原电路是不是最理想,若不是,则对...
  • 3线优先编码器,逐步学会熟练运用MAX+PLUSⅡ或Quartus II软件,熟悉EDA的VHDL程序设计方法、学习掌握组合逻辑电路的VHDL描述方法,进一步掌握应用EDA常用工具进行组合逻辑电路的设计、分析、综合、仿真等的技巧。...
  • 数字系统中的逻辑电路分为组合逻辑电路和时序逻辑电路两大类。随着科学技术的发展,电路的集成规模越来越大,组合逻辑电路分析与设计愈加显得重要。本文就此展开论述。
  • 文章目录A 组合逻辑电路分析和设计方法A.a 组合逻辑电路的特点及描述A.b 组合逻辑电路分析A.c 组合逻辑电路的门级电路设计A.d 组合逻辑电路中的竞争-冒险现象 A 组合逻辑电路分析和设计方法 A.a 组合逻辑电路...

    【数电专栏】

    1 组合逻辑电路的分析和设计方法

    1.1 组合逻辑电路的特点及描述

    <1>逻辑电路分类

    根据逻辑功能的不同,可把数字电路分为组合逻辑电路(Combinational Logic Circuit)和时序逻辑电路(Sequential Logic Circuit)两大类。
    在这里插入图片描述

    <2>组合逻辑电路的特点

    功能上——任意时刻的输出仅仅取决于该时刻的输入,而与电路原来的状态无关。(入变出即变

    电路结构上——只有逻辑门组成,不包含记忆元件,输出和输入之间不存在反馈回路

    <3>逻辑功能的描述

    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

    1.2 组合逻辑电路的分析(电路>>功能)

    <1>基本概念

    分析:已知电路形式,找出输入、输出的逻辑关系(电路功能)
    目的:求出逻辑功能或证明给定的逻辑功能正确与否

    <2>组合逻辑电路的一般分析方法

    Step1:从输入到输出逐级写出逻辑函数式,最后得到输入变量表示的输出逻辑函数式子;

    Step2:用公式法或卡诺图化简逻辑函数式

    Step3:列出真值表

    Step4:分析描述电路的逻辑功能

    例子:已知逻辑电路如图所示,分析该电路逻辑功能。
    在这里插入图片描述

    (1)写出各输出的逻辑函数表达式:
    在这里插入图片描述

    (2)化简逻辑电路的输出函数表达式(这里不需要)
    在这里插入图片描述

    (3)列出真值表
    在这里插入图片描述

    (4)分析逻辑功能

    该电路实现的是同或逻辑功能。


    1.3 组合逻辑电路的门级电路设计(功能>>电路)

    <1>基本概念

    设计:已知输入、输出的逻辑关系(电路功能),完成电路形式。

    目的:实现最简化的某种逻辑功能电路。

    所谓设计:即根据给出的实际逻辑问题,求出实现这个逻辑功能的最简逻辑电路
    所谓最简:是指所用器件最少,器件种类最少,而且器件之间的连线也最少

    <2>一般设计步骤

    1 进行逻辑抽象:

    • 分析事件的因果关系,确定输入和输出变量
    • 定义逻辑状态(0或1)的含义
    • 根据给定的因果关系列出真值表

    2 写出逻辑函数式(根据真值表
    3 选定器件的类型
    4 将逻辑函数化简或交换成适当形式
    5 画出逻辑电路图


    例子:设计一个监视交通信号灯状态的逻辑电路

    在这里插入图片描述
    (1)进行逻辑抽象:
    在这里插入图片描述

    (2)写出逻辑表达式
    在这里插入图片描述

    (3)选用小规模SSI器件

    (4)化简逻辑表达式
    在这里插入图片描述

    (5)画出逻辑图

    在这里插入图片描述

    若用"与非-与非"门实现:

    通过两次求反,利用摩根定律将表达式化为与非-与非表达式
    在这里插入图片描述

    在这里插入图片描述


    图片来源:《数字电子技术基础》 国防科技大学

    展开全文
  • 组合逻辑电路分析,使用基本门电路组成全加器,半加器,Multisim仿真。以及使用逻辑转换器分析电路的最简表达式。
  • 一、 什么是组合逻辑电路? 在数字电路中,根据逻辑功能的不同,我们可以将数字电路分成两大类,一类叫做组合逻辑电路、另一类叫做时序逻辑电路。本次主要讲解组合逻辑电路的原理、应用和Verilog实现。 组合逻辑电路在...

    作者:造就狂野青春

    本文为明德扬原创及录用文章,转载请注明出处!

    一、 什么是组合逻辑电路?

    在数字电路中,根据逻辑功能的不同,我们可以将数字电路分成两大类,一类叫做组合逻辑电路、另一类叫做时序逻辑电路。本次主要讲解组合逻辑电路的原理、应用和Verilog实现。

    在这里插入图片描述

    组合逻辑电路在逻辑功能上的特点是任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关。而时序逻辑电路在逻辑功能上的特点是任意时刻的输出不仅取决于当时的输入信号,而且还取决于电路原来的状态,或者说,还与以前的输入有关。

    我们从图中可以看出,左侧的X是表示它的输入变量,右侧的Y是表示它的输出变量,对于这种电路,它的输出Y仅仅与当时的相应输入X有关系,而与之前的输入X是没有关系的,像这种电路,我们就称它为组合逻辑电路。

    二、 如何分析组合逻辑电路?

    了解了什么是组合逻辑电路之后, 我们应该如何去分析电路?如果有了电路图,我们用什么方法可以快速准确知道它所实现的逻辑功能?

    在这里插入图片描述

    上图给出了组合逻辑电路的分析方法和流程,具体每一步如何实现,不记得的同学可以复习数电基础,温习一下公式化简、卡诺图化简、真值表等内容。

    三、 如何设计组合逻辑电路?

    在这里插入图片描述

    由上面我们可以知道,分析组合逻辑电路是根据给定的组合电路逻辑图,分析出其逻辑功能。那么设计组合逻辑电路是分析组合逻辑电路的逆过程,我们要根据给定的逻辑功能要求,设计出一个能实现这种功能的最简逻辑电路。

    首先要根据逻辑功能建立真值表,通过真值表写出逻辑函数表达式,再进行表达式化简,再根据化简后的函数表达式画出逻辑电路图。

    四、 竞争与冒险

    4.1 竞争冒险的产生
    当一个逻辑门的两个输入端的信号同时向相反方向变化时,从变化开始到达稳定状态所需的时间不同,称为竞争。

    逻辑门因输入端的竞争而导致输出产生不应有的尖峰干扰脉冲(又称过渡干扰脉冲)的现象,称为冒险。

    在这里插入图片描述

    在实际电路中,输入信号通过每一个门电路然后输出,它总是要有传输时间的,那么这个就做门电路的传输时间或是延迟时间。在一个组合电路当中,当某一个变量经过两条以上的路径到达输出端的时候,由于每条路径上的延迟时间的不同到达终点的时间就会有先有后,就会产生竞争。

    4.2 竞争冒险的消除方法
    1)加封锁脉冲。在输入信号产生竞争冒险的时间内,引入一个脉冲将可能产生尖峰干扰脉冲的门封锁住。封锁脉冲应在输入信号转换前到来,转换结束后消失。
    2)加选通脉冲。对输出可能产生尖峰干扰脉冲的门电路增加一个接选通信号的输入端,只有在输入信号转换完成并稳定后,才引入选通脉冲将它打开,此时才允许有输出。在转换过程中,由于没有加选通脉冲,因此,输出不会出现尖峰干扰脉冲。
    3)接入滤波电容。由于尖峰干扰脉冲的宽度一般都很窄,在可能产生尖峰干扰脉冲的门电路输出端与地之间接入一个容量为几十皮法的电容就可吸收掉尖峰干扰脉冲。
    4)修改逻辑设计。

    五、 组合逻辑电路的应用

    5.1 编码器
    在这里插入图片描述
    逻辑功能:上图是8-3编码器的真值表,有8个输入信号和3个输出信号。I7输入为1时,对应的3个输出为110,当I6输入为1时,对应的3个输出为101,以此类推直至到I0的输入为1的时候。对应的三个输出为000。

    变量表达式:依照前面设计组合逻辑电路的方法流程,我们根据逻辑功能真值表写出函数表达式如下所示:
    在这里插入图片描述
    电路图:再根据表达式画出电路图:

    在这里插入图片描述

    Verilog实现:

    在这里插入图片描述

    上述case语句是多分支选择语句,是不带优先级的,要实现优先编码器,要使用elseif语句。如下图:

    在这里插入图片描述

    如果输入I7等于1,那么便会执行A=3’b000,如果I7不等于1,那么就不会执行A=3’b000,而会执行下面else if语句。如果I6同样也不等于1,那么将会依次往下执行直至判断I0等不等于1, 如果I0也不等于1,那么执行else中的A=3’b000语句。我们从这个过程中可以看出, I7的优先级最高,我们先判断的I7,依次I6,直至I0。

    5.2 译码器
    在这里插入图片描述

    逻辑功能:上图是3-8译码器的真值表,有3个输入信号和8个输出信号。逻辑公牛和编码器相反。

    变量表达式:依照前面设计组合逻辑电路的方法流程,我们根据逻辑功能真值表写出函数表达式如下所示:
    在这里插入图片描述

    电路图:再根据表达式画出电路图:

    在这里插入图片描述

    Verilog实现:

    在这里插入图片描述

    译码器的应用:

    在这里插入图片描述

    数码管,就是将七个发光二极管,按一定的方式排列起来,利用不同发光段的组合,显示出0-9十个十进制数,这就是应用了译码器原理。

    在这里插入图片描述

    5.3 数据选择器

    8-1数据选择器

    在这里插入图片描述

    逻辑功能:上图是8-1数据选择器的真值表,我们从真值表中可以看出,当A=000时,输出I0为高电平,其余为低电平,对应高电平的开关闭合,而对应低电平的开关则仍保持断开,因此,Y的输出为D0,当D0=0时,Y=0,当D0=1时, Y=1,下面我们可以根据真值表来写出它的函数表达式:

    变量表达式:依照前面设计组合逻辑电路的方法流程,我们根据逻辑功能真值表写出函数表达式如下所示:

    在这里插入图片描述

    电路图:再根据表达式画出电路图:

    在这里插入图片描述

    Verilog实现:

    在这里插入图片描述

    5.4 数值比较器

    在这里插入图片描述

    逻辑功能:上图是一位数值比较器的真值表,我们从真值表中可以看出,有A>B,A<B,A=B三种情况。下面我们可以根据真值表来写出它的函数表达式:

    变量表达式:依照前面设计组合逻辑电路的方法流程,我们根据逻辑功能真值表写出函数表达式如下所示:
    在这里插入图片描述

    电路图:再根据表达式画出电路图:

    在这里插入图片描述

    Verilog实现:
    明白了数值比较器的原理,下面我们用Verilog实现4位二进制数值比较器:
    在这里插入图片描述

    5.5 加法器
    在这里插入图片描述

    逻辑功能:上图是全加器的真值表,可以根据真值表来写出它的函数表达式。
    变量表达式:依照前面设计组合逻辑电路的方法流程,我们根据逻辑功能真值表写出函数表达式如下所示:
    在这里插入图片描述

    电路图:再根据表达式画出电路图:

    在这里插入图片描述

    要进行多位数相加,最简单的方法是将多个全加器进行级联:

    在这里插入图片描述

    Verilog实现:
    在这里插入图片描述

    5.6 组合逻辑的两种赋值方式
    由于数字电路由与导线连接的逻辑门组成,因此任何电路都可以表示为模块和分配语句的某种组合。但是,有时这不是描述电路的最方便的方法。过程(始终以块为例)为描述电路提供了另一种语法。
    对于综合硬件,两种类型的始终块是相关的:

    · 组合:always@(*)
    · 时序:always@(posegeclk)

    组合总是块等同于赋值语句,因此总有一种方法可以用两种方式表示组合电路。使用哪种选择主要是哪种语法更方便的问题。程序块内部代码的语法与外部代码不同。过程块具有更丰富的语句集(例如,if-then,case),不能包含连续的赋值*,但是还引入了许多新的非直观的错误处理方式。 (* 过程上的连续分配确实存在,但是与连续分配有些不同,并且不能综合。)

    例如,分配和组合始终块描述了同一电路。两者都创建相同的组合逻辑块。每当任何输入(右侧)更改值时,两者都将重新计算输出。

    assign out1 = a & b | c ^ d;
    always @(*) out2 = a & b | c ^ d;

    在这里插入图片描述

    对于组合always@块,请始终使用()的灵敏度列表。明确列出信号很容易出错(如果您错过了一个信号),并且在硬件综合中会被忽略。如果您明确指定了灵敏度列表并错过了信号,则合成的硬件仍会像指定了()一样运行,但是模拟不会且与硬件的行为也不匹配。(在SystemVerilog中,使用always_comb)

    关于wire 和reg:assign语句的左侧必须为net类型(例如,wire),而过程赋值的左侧(在Always块中)必须为变量类型(例如reg)。这些类型(wire与reg)与合成的硬件无关,而仅仅是Verilog用作硬件仿真语言而留下的语法。

    以上介绍了组合逻辑电路的原理,以及一些典型的组合逻辑电路的一些应用,并用Verilog实现这些电路,看起来很简单的电路,却是很经典很基础的,有助于我们从硬件层面去理解和设计FPGA。有机会的话,再总结时序逻辑电路的原理和典型应用。

    展开全文
  • 数电基础(4)--组合逻辑电路分析设计

    千次阅读 多人点赞 2020-05-06 21:30:27
    组合逻辑电路一、组合逻辑电路分析二、组合逻辑电路的设计设计组合逻辑电路需要注意的问题三、组合逻辑电路中的竞争冒险产生原因消除方法四、计算机体系结构涉及的组合逻辑电路编码器译码器/数据分配器数据选择器...
  • 组合逻辑电路分析设计-实验报告.doc
  • 组合逻辑电路(一)什么是组合逻辑电路?逻辑电路的分析补充知识点电路分析与设计电路器件原理数据选择器功能描述:数据分配器编码器/译码器 什么是组合逻辑电路? 数字电路理论中组合逻辑电路1(combinatorial ...
  • 1.掌握组合逻辑电路分析方法,并验证其逻辑功能。 2.掌握组合逻辑电路的设计方法,并能用最少的逻辑门实现之。 3.熟悉示波器的使用
  • 1. LED计数电路 2. LED计数测试 3.数码管驱动 电路较为复杂,建议利用表达式或者真值表自动生成电路。 表达式 Seg_1:~X3 ~X2 ~X0 + ~X3 ~X2 X1 + ~X3 X2 X0 + X3 ~X2 ~X1 Seg_2:~X3 ~X2 + ~X3 ~X1 ~X0 + ~X2 ~X1 +...
  • 组合逻辑电路分析 组合逻辑电路的定义 组合逻辑电路分析方法 组合逻辑电路的设计 组合逻辑电路的设计过程 组合逻辑电路的优化实现 组合逻辑电路中的竞争冒险 产生竞争-冒险的原因 消去竞争-冒险的方法 若干典型...
  • 内含电路原理图,实验步骤,实验结果和实验分析
  • 掌握组合逻辑电路分析与设计方法。 加深对基本门电路使用的理解。 二、实验原理介绍 三、实验数据、计算及分析 A B C D Z 0 ...
  • 第7章组合逻辑电路 李春茂编 6.5组合逻辑电路分析与设计 6.51组合逻辑电路分析 如果数字电路的输出只决定于电路当前输入,而 与电路以前的状态无关,这类数字电路就是组合逻辑 电路对组合逻辑电路分析,就是根据...
  • 组合逻辑电路

    2020-10-26 10:56:08
    组合逻辑电路分析 (1)根据逻辑电路,从输入到输出,写出各级逻辑函数 表达式,直到写出最后输出端与输入信号的逻辑函数表达式。 (2)将各逻辑函数表达式化简和变换,以得到最简单的表达式。 (3)根据简化后...
  • 北航计算机学院-计算机组成原理课程设计-2020秋,PreProject-Logisim-Logisim组合逻辑电路。 北航计算机学院的计算机组成原理课程设计,是高度实践性的专业课程,一共会有P0~P9九个project,以及进入project之前的...
  • 实现逻辑运算功能的电路称为门电路。门电路的输入输出逻辑量均用电压表示。虽然他是模拟量,通过限制是使他仅有两种状态,高电平和低电平。 基本逻辑门 二极管组成的与门 1、UA=UB=0V,VD1、VD2都导通,输出端F钳位...
  • 组合逻辑电路分析 数字逻辑课件 数字逻辑课件 数字逻辑课件
  • 组合逻辑电路 & 时序逻辑电路

    千次阅读 2020-09-22 14:42:17
    组合逻辑电路 特点:是任意时刻的输出仅仅取决于当前时刻的输入,与电路之前的历史状态无关(即无记忆能力) 组合逻辑电路的设计通常包含以下几个步骤: 进行逻辑抽象。分析事件的因果关系,确定输入变量和输出变量...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,364
精华内容 6,545
关键字:

如何分析组合逻辑电路