文章目录
- 1、逻辑电路分析的组合
- 二、二。逻辑电路设计的组合
- 三、竞争-冒险的组合逻辑
- 四、几个典型的组合逻辑电路
-
- 4-1 编码器
-
- 4-1-1 普通编码器
- 4-1-2 优先编码器
- 4-1-3 典型的编码器电路
- 4-2 译码器/数据分配器
-
- 4-2-1 二进制编码器
- 4-2-2 二-十进制译码器
- 4-2-3 显示译码器
- 4-2-4 数据分配器
- 4-3 数据选择器
- 4-4 数值比较器
-
- 4-4-1 一位数值比较器
- 4-4-2 多位数值比较器
- 4-5 算数运算电路
-
- 4-5-1 半加器和全加器
- 4-5-2 多位数加法器
1、逻辑电路分析的组合
一般分析步骤:
- 逻辑函数表达式是根据给定的逻辑电路编写的。 从输入端逐步向后推导,将输出表达式写在每扇门上,最后得到整个电路的输出和输入逻辑函数。
- 列出真值表。 如果电路相对简单,则可以通过表达式直接知道电路的逻辑功能。但在大多数情况下,真实值表必须通过逻辑函数表达式列出,然后根据真实值表确定电路的逻辑功能。注意列出输入变量的所有值组合。
- 对电路的逻辑功能进行分析。 L0、1比较集中,观察其大小规律。 L0、1比较分散,考虑奇偶校验。
例:分析如图所示电路的逻辑功能
注:不能一步一步写,在图中标注(个人感觉更方便) 三位二进制数 A = A2A1A0(知道上面的测试题)
二、二。逻辑电路设计的组合
要求:实现的电路要最简,即所用器件品种最少数量最少、连线最少.
一般设计步骤:
- (1)根据设计要求确定输入输出变量,逻辑赋值写出真值表。 用逻辑语言描述实际问题。首先分析设计要求,明确因果关系,确定输入输出变量;然后规定变量的赋值规则,即变量何时取1何时取0;最后,根据这些逻辑关系编写真实值表。真实值表的完整性和正确性将直接影响设计方案的最终结果。
- (2)逻辑函数表达式由真值表写成并简化或转换。 编写逻辑函数表达式后,需要根据实际设计选择简化或变换的方法。 如果使用小型设备设计,逻辑函数可以是最简单的形式,以减少电路中使用的门的数量。如果使用中型设备设计,逻辑函数可以转换为类似于所选设备函数的形式,以减少电路中使用的芯片数量。
- (3)选择合适的器件画逻辑图。 在实际设计中,可根据需要调整上述步骤。
例:为实现红、黄、绿三种灯的远程监控,设计交通灯故障自动检测器,需要与非门实现。 注:应考虑交通灯逻辑 解:(1)逻辑赋值: 输入:红、黄、绿三种灯分别使用变量A、B、C灯亮1,不亮0。 输出:用变量L表示,正常为1,故障为0。 (2)列出真值表
A | B | C | L |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 1 |
0 | 1 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 0 |
1 | 1 | 1 | 0 |
(3)写逻辑表达式
L = A  ̄ B  ̄ C A  ̄ B C  ̄ A B  ̄ C  ̄ L=\overline A\overline BC \overline AB\overline C A\overline B\overline C L=ABC+ABC+ABC 变换成与非式 L = A ‾ B ‾ C + A ‾ B C ‾ + A B ‾ C ‾ ‾ ‾ = A ‾ B ‾ C ‾ + A ‾ B C ‾ ‾ + A B ‾ C ‾ ‾ ‾ L=\overline{\overline{\overline A\overline BC+\overline AB\overline C+A\overline B\overline C}}=\overline{\overline{\overline A\overline BC}+\overline{\overline AB\overline C}+\overline{A\overline B\overline C}} L=ABC+ABC+ABC=ABC+ABC+ABC (4)画出逻辑图 注意这种阵列画图的方法。
三、组合逻辑中的竞争-冒险
- 由于逻辑门电路存在延迟时间,且输入信号到达同一器件时所经历的路径也可能不同,从而引起几个输入信号到达同一地点时有先有后的现象,这种现象称为竞争。
- 竞争若使电路输出出现违背逻辑关系的尖峰脉冲(干扰脉冲或毛刺),即使得真值表所描述的逻辑关系受到短暂的破坏,就会产生错误的输出,称为冒险。
- 不是所有竞争都会引起错误输出(冒险),但在实际电路中信号的变化快慢有一定随机性,很难预测哪些信号变化会产生冒险,因此,只能说存在竞争就有可能产生冒险,这种现象就统称为竞争冒险。
0型冒险 L = X + X ‾ L=X+\overline X L=X+X 1型冒险 L = X ⋅ X ‾ L=X\cdot\overline X L=X⋅X
(1)冒险现象的判别
-
代数法 一般,具有竞争能力的变量(一般由非门产生),若其表达式具有 L = X ⋅ X ‾ L=X\cdot\overline X L=X⋅X的形式,则有可能产生1型冒险;若表达式具有 L = X + X ‾ L=X+\overline X L=X+X的形式,则有可能产生0型冒险。 方法:写出函数表达式后,先找出具有竞争能力的变量,然后求出其他逻辑变量的取值发生变化时的逻辑函数表达式,根据表达式中是否出现上述两种形式,来判别是否存在冒险及冒险的类别。 例:已知电路逻辑函数表达式为 L = ( A + B ‾ ) ( B + C ) L=(A+\overline B)(B+C) L=(A+B)(B+C)判断此电路是否存在冒险。 变量B具有竞争能力,将A、C的各种取值组合列出并求出对应表达式如下表所示。
A C L 0 0 B ⋅ B ‾ B\cdot\overline B B⋅B 0 1 B B ‾ B\overline B BB 1 0 B B B 1 1 1 由表知,当A=C=0时,有 L = B ⋅ B ‾ L=B\cdot\overline B L=B⋅B 该电路可能发生1型冒险。
-
卡诺图法 凡在卡诺图中存在两个圈相切(相邻而不相交)处,都有可能产生冒险现象。 例: L = A C + B ‾ L=AC+\overline B L=AC+B
两圈相切处B=C=1,故当A变量变化时(A由0变1或由1变0时,即A由一个圈进入另一个圈的相邻项时)可能产生冒险。 (2)消除竞争冒险的方法
- 修改逻辑设计,增加冗余项或消去互补变量。 L = A C + A ‾ B L= AC+ \overline AB L=AC+AB 当B=C=1时存在0型冒险,增加冗余项: L = A C + A ‾ B = A C + A ‾ B + B C L=AC+ \overline AB = AC+ \overline AB+BC L=AC+AB=AC+AB+BC 当B=C=1时,此时L恒为1,不会产生冒险。 可见,最经济的设计并不一定就是最佳万采,在最简的基础上,还需要能消除掉冒险。
- 引入选通脉冲 在电路中可能产生冒险的门电路上引入一个选通脉冲控制门打开的时刻。 当输入信号发生跳变时,选通脉冲S=1,使或门电路关闭,当输入稳定后,S=0,或门再打开,避免了冒险。
- 增加滤波电容 竞争冒险产生的干扰脉冲一般都很窄,通常在几十纳秒以内,如果逻辑电路工作速度不是很高,可以在输出端并联一个小的滤波电容,利用电容两端电压不能突变的特点来起到平滑的作用。
四、若干典型的组合逻辑电路
4-1 编码器
编码:将信息符号与二进制代码之间建立一一对应的关系。 编码器:能实现编码功能的逻辑电路。 二进制编码器:在某一时刻只把一个输入信号转换为n位二进制代码。
4-1-1 普通编码器
4-2线编码器
-
把4个输入信号编成对应的2位二进例代码输出的编码电路。
-
I 0 I 3 I_0~I_3 I0 I3为4个输入端,高电平有效;输出为两位二进制代码 Y 1 Y 0 Y_1Y_0 Y1Y0
I 3 I_3 I3 I 2 I_2 I2 I 1 I_1 I1 I 0 I_0 I0 Y 1 Y_1 Y1 Y 0 Y_0 Y0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 1 1 -
注意:编码器在任一时刻只能对一个输入信号进行编码。
-
输出表达式: Y 1 = I ‾ 3 I 2 I ‾ 1 I ‾ 0 + I 3 I ‾ 2 I ‾ 1 I ‾ 0 Y_1=\overline I_3I_2\overline I_1\overline I_0+I_3\overline I_2\overline I_1\overline I_0 Y1=I3I2I1I0+I3I2I1I0 Y 1 = I ‾ 3 I ‾ 2 I 1 I ‾ 0 + I 3 I ‾ 2 I ‾ 1 I ‾ 0 Y_1=\overline I_3\overline I_2 I_1\overline I_0+I_3\overline I_2\overline I_1\overline I_0 Y1=I3I2I1I