组合逻辑电路描述
合集下载
组合逻辑电路
Y2 A2 A1 A0 m2 Y3 A2 A1A0 m3
Y6 A2 A1A0 m6 Y7 A2 A1A0 m7
3. 5. 2二进制译码器的应用
一、用译码器实现组合逻辑电路
因为n个输入变量的二进制泽码器的输出为其对应的2n个最小 项(或最小项的反),而任一逻辑函数均可表示为最小项表达 式(即标准与或式)的形式,故利用二进制泽码器和门电路可 实现单输出或多输出组合逻辑电路的设计。使用方法为:当泽 码器的输出为低电平有效时,选用与非门;当泽码器的输出为 高电平有效时,选用或门。
(4) 分析电路的逻辑功能。由真值表可以看出:当A, B输入状 态相同时,Y=0;当A同时,Y=1。故此电路具有异或门的逻 辑功能,所以该电路是由4B输入状态不个与非门构成的异或 逻辑电路。
上一页 下一页 返回
3.2 组合逻辑电路的分析
「例3.2.2]已知组合逻辑电路如图3.2.2所示,试分析该电路 的逻辑功能。
当输入A3=1时,低位片CT74LS138(1)因A3 =1而禁止泽码, 输出 Y0 ~ Y7 均为高电平1,高位片CT74LS138(2)工作,这时 输入A3A2A1A0 ,在1000~1111之间变化时, Y8 ~ Y15 对应的输 出端输出有效的低电平0。
中,I 7的优先级别最高,I6 次之,其余依此类推,I 0 的级别最 低。
上一页 下一页 返回
3. 4 编码器
也就是说,当 I7 =0时,其余输入信号不沦是0还是1都不起作 用,电路只对 I 7 进行编码,输出 Y2Y1Y0 = 000,此码为反码,其 原码为111,其余类推。可见,这8个输入信号优先级别的高 低次序依次为 I 7、I 6、I 5、I 4、I 3、I 2、I1、I 0
3. 5. 1二进制译码器 将输入二进制代码按其原意转换成对应特定信号输出的逻辑
第五章 组合逻辑电路的VHDL语言描述
BEGIN
PROCESS ( a, datain ) BEGIN IF ( datain = '1' ) THEN dataout <= '0' ; ELSE dataout <= '1' ; END IF ; END PROCESS ; END ARCHITECTURE behavioral_2 ; --RTL描述方式 ,MAX中需要加入时钟a
第5章
组合逻辑电路的VHDL描述
仿真波形
第5章
组合逻辑电路的VHDL描述
5.1.5 2输入同或门电路
LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY cynxor2 IS PORT ( datain1, datain2 : IN STD_LOGIC ; dataout : OUT STD_LOGIC ) ; END ENTITY cynxor2 ; ARCHITECTURE behavioral OF cynxor2 IS BEGIN
END ENTITY cyxor2 ;
ARCHITECTURE behavioral OF cyxor2 IS BEGIN dataout <= datain1 XOR datain2 ; END ARCHITECTURE behavioral ;
第5章
组合逻辑电路的VHDL描述
LIBRARY IEEE ;
第5章
组合逻辑电路的VHDL描述
LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ;
ENTITY cynot IS
PORT ( a, datain : IN STD_LOGIC ; END ENTITY cynot ; ARCHITECTURE behavioral_2 OF cynot IS dataout : OUT STD_LOGIC ) ;
组合逻辑电路
输出Y.~Y.为低电平0有效。代码1010~1111
没有使用,称为伪码。由上表可知,当输入伪
码1010~1111时,输出Y9~Y0都为高电平1, 不会出现低电平0。因此译码器不会产生错误译
码。
图13.7 二-十进制译码器逻辑图
1.3 译 码 器
10
1.3 译 码 器
11
1.3.3 BCD-7段显示译码器
二进制码器是用于把二进制 代码转换成相应输出信号的译码 器。常见的有2线-4线译码器、 3线-8线译码器和4线-16线译码 器等。如图13.5所示为集成3线 -8线译码器74LS138的逻辑图 。
图13.5 3线-8线译码器逻辑图
1.3 译 码 器
9
1.3.2 二-十进制译码器
将4位BCD码的10组代码翻译成0~9这10个
图1.11 数据选择器
1. 4选1数据选择器
图1.12所示为4选1数据选择器的逻辑图 ,A1、A0是地址端。D0~D3是4个数据端 ,ST是低电平有效的使能端,具有两个互 补输出端Y和Y。对于不同的二进制地址输 入,可按地址选择D0~D3中一个数据输出 。其功能如表13.8所示。
图1.12 4选1数据选择器逻辑图
1
1.1 组合逻辑电路的分析与设计
2
1.1.1 组合逻辑电路的分析方法
组合逻辑电路的分析是根据给定的逻辑电路图,弄清楚它的逻辑功 能,求出描述电路输出与输入之间的逻辑关系的表达式,列出真值表 。一般方法如下所述。
1)根据给定的逻辑电路的逻辑图,从输入端向输出端逐级写出各 个门对其输入的逻辑表达式,从而写出整个逻辑电路的输出对输入的 逻辑函数表达式。
2)利用逻辑代数运算法则化简逻辑函数表达式。 3)根据化简后的逻辑函数表达式,列出真值表,使逻辑功能更加 清晰。 4)根据化简后的逻辑函数表达式或真值表,分析逻辑功能。 下面通过一个例子说明组合逻辑电路的分析方法。
第9章组合逻辑电路
P1 A
P2 B C
P3 BC P4 P1 P2 A(B C)
P5 A P3 ABC
Y P4 P5 A(B C) ABC
(2)用卡诺图化简输出函数表达式。
Y A(B C) ABC A(B C) ABC AB AC AB AC
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
表9.2 真值表
9.1.3组合逻辑电路的设计
(3)由真值表写出输出变量函数表达式并化简:
Y ABC ABC ABC ABC AB BC AC (4)画出逻辑电路如图9.2所示。
AB
C 00 01 11 10
A
00 0 1 0
(1)确定输入、输出变量,定义逻辑状态的含义。
设A、B、C代表三个人,作为电路的三个输入变量,当A、 B、C为1时表示同意,为0表示不同意。将Y设定为输出变 量,代表决意是否通过的结果,当Y为1表示该决意通过, 当Y为0表示决意没有通过。
(2)根据题意列出真值表,如表9.2所示。
A
B
C
Y
0
0
0
0
0
• (2)根据真值表写逻辑表达式,并化简成最简“与或” 逻辑表达式。
• (3)选择门电路和型号。 • (4)按照门电路类型和型号变换逻辑函数表达式 • (5)根据逻辑函数表达式画逻辑图。
• 例9.2 设计一个三人表决器电路,当两个或两个以上的人 表示同意时,决意才能通过。 解:根据组合逻辑电路的设计方法,可按如下步骤进行。
第3章-组合逻辑电路
一、二进制译码器(最小项译码器) 输入:一组二进制代码 输出:一组与输入代码一一对应的高、低电平信号。
例:3位二进制(3线-8线)译码器框图如下所示:
图3.3.5
3线-8线译码器框图
二进制译码器可采用二极管与门阵列或三极管集 成门电路等构成。
(1)二极管与门阵列译码器电路 0(0V) 1(3V)
表3-3-4
74LS42功能表
74LS42逻辑电路图及各输出表达式如下所示:
Y 0 Y 1 Y 2 Y 3 Y 4 Y5 Y 6 Y 7 Y8 Y9 A 3 A 2 A1 A 0 A 3 A 2 A1 A 0 A 3 A 2 A1 A 0 A 3 A 2 A1 A 0 A 3 A 2 A1 A 0 A 3 A 2 A1 A 0 A 3 A 2 A1 A 0 A 3 A 2 A1 A 0 A 3 A 2 A1 A 0 A 3 A 2 A1 A 0
Y3
Y2
Y1
Y0
§3.3 若干常用的组合逻辑电路
目前,一些常用的逻辑电路已经制成了中、小 规模集成化电路产品。
§3.3.1 编码器(Encoder)
“编码”:即为了区分一系列不同的事物,将其 中的每个事物用一个二值代码表示。 编码器的逻辑功能:把输入的每一个高、低电平 信号变成一个对应的二进制代码。
第三章
Chapter 3
组合逻辑电路
Combinational Logic Circuit
本章主要内容
第一节 第二节 第三节 概述 组合逻辑电路的分析和设计方法 若干常用组合逻辑电路
§3.3.1 编码器(Encoder) §3.3.2 译码器(Decoder) §3.3.3 数据分配器(Demultiplexer)
例:3位二进制(3线-8线)译码器框图如下所示:
图3.3.5
3线-8线译码器框图
二进制译码器可采用二极管与门阵列或三极管集 成门电路等构成。
(1)二极管与门阵列译码器电路 0(0V) 1(3V)
表3-3-4
74LS42功能表
74LS42逻辑电路图及各输出表达式如下所示:
Y 0 Y 1 Y 2 Y 3 Y 4 Y5 Y 6 Y 7 Y8 Y9 A 3 A 2 A1 A 0 A 3 A 2 A1 A 0 A 3 A 2 A1 A 0 A 3 A 2 A1 A 0 A 3 A 2 A1 A 0 A 3 A 2 A1 A 0 A 3 A 2 A1 A 0 A 3 A 2 A1 A 0 A 3 A 2 A1 A 0 A 3 A 2 A1 A 0
Y3
Y2
Y1
Y0
§3.3 若干常用的组合逻辑电路
目前,一些常用的逻辑电路已经制成了中、小 规模集成化电路产品。
§3.3.1 编码器(Encoder)
“编码”:即为了区分一系列不同的事物,将其 中的每个事物用一个二值代码表示。 编码器的逻辑功能:把输入的每一个高、低电平 信号变成一个对应的二进制代码。
第三章
Chapter 3
组合逻辑电路
Combinational Logic Circuit
本章主要内容
第一节 第二节 第三节 概述 组合逻辑电路的分析和设计方法 若干常用组合逻辑电路
§3.3.1 编码器(Encoder) §3.3.2 译码器(Decoder) §3.3.3 数据分配器(Demultiplexer)
数字逻辑与计算机组成 第3章 组合逻辑电路
硬件资源:7个4输入与门、1个7输入或门
10
1.4 组合逻辑电路设计
利用布尔代数化简, 以减少逻辑门数和输入端数 X·Y+X·Y’=X
F = SN3N2N1N0(1,2,3,5,7,11,13) =N3’N0+N3’ N2’ N1 N0’+N3 N2’ N1 N0+N3 N2 N1’ N0
非法值 • 信号值不能被有效识别为高电平或低电平,处于不确定状态。 例如:下图中的信号X
不管A是0还是1,F结点都会同时 被高电平和低电平驱动,可能导 致在F结点处之间有较大电流流动 ,使电路发热而被损坏
16
1.5 无关项、非法值和高阻态
例:设计一个检测电路,当NBCD(8421)码数值大于5时,输出为1
最简输出表达式
函数转换:独立逻辑门、中间组件、可编程器件
画出逻辑电路图 逻辑器件的标准符号,输入、输出信号、器件标识
评价电路
电路分析:功能、缺陷、电气特性等
9
1.4 组合逻辑电路设计
例1:素数检测器的设计
列出真值表
• 4-bit input, N3N2N1N0
写出最小项表达式 F = SN3N2N1N0(1,2,3,5,7,11,13)
输出变量:故障信号F 正常工作为0,发生故障为1
故障状态 真 值 表 RY G F
0 0 01 0 0 10 0 1 00 0 1 11 1 0 00 1 0 11 1 1 01 1 1 11
13
1.4 组合逻辑电路设计
逻辑抽象结果
真值表
RY G F
000 1 001 0 010 0 011 1 100 0 101 1 110 1 111 1
每个输入端和输出端只有高电平、
《数字电子技术》第3章 组合逻辑电路
Y1 I2 I3 I6 I7
Y3 ≥1 I9 I8
Y3
I2I3I6I7
&
Y0 I1 I3 I5 I7 I9
I1I3I5I7I9
I9 I8
逻辑图
Y2
Y1
Y0
≥1
≥1
≥1
I7I6I5I4
I3I2
(a) 由或门构成
Y2
Y1
I1 I0 Y0
&
&
&
I7I6I5I4
I3I2
(b) 由与非门构成
A
消除竞争冒险
B
C
Y AB BC AC
2
& 1
1
3
&
4
&
5
≥1
Y
3.2 编码器
编码
将具有特定含义的信息编 成相应二进制代码的过程。
编码器(即Encoder)
实现编码功能的电路
被编 信号
编 码 器
编码器
二进制编码器 二-十进制编码器
二进制 代码 一般编码器
优先编码器 一般编码器 优先编码器
(1) 二进制编码器
A B F AB AB B
&
&
00
1
01
0
C
&
F &
10 11
0F AABA BC1 AB &
1
AAB BC AB
(4)分析得出逻辑功A能 A B B C AB
A =1
同或逻辑 AB AB B
F
F AB AB A☉B
3.1.3 组合逻辑电路的设计
组合逻辑电路的设计就是根据给出的实际逻 辑问题求出实现这一关系的逻辑电路。
Y3 ≥1 I9 I8
Y3
I2I3I6I7
&
Y0 I1 I3 I5 I7 I9
I1I3I5I7I9
I9 I8
逻辑图
Y2
Y1
Y0
≥1
≥1
≥1
I7I6I5I4
I3I2
(a) 由或门构成
Y2
Y1
I1 I0 Y0
&
&
&
I7I6I5I4
I3I2
(b) 由与非门构成
A
消除竞争冒险
B
C
Y AB BC AC
2
& 1
1
3
&
4
&
5
≥1
Y
3.2 编码器
编码
将具有特定含义的信息编 成相应二进制代码的过程。
编码器(即Encoder)
实现编码功能的电路
被编 信号
编 码 器
编码器
二进制编码器 二-十进制编码器
二进制 代码 一般编码器
优先编码器 一般编码器 优先编码器
(1) 二进制编码器
A B F AB AB B
&
&
00
1
01
0
C
&
F &
10 11
0F AABA BC1 AB &
1
AAB BC AB
(4)分析得出逻辑功A能 A B B C AB
A =1
同或逻辑 AB AB B
F
F AB AB A☉B
3.1.3 组合逻辑电路的设计
组合逻辑电路的设计就是根据给出的实际逻 辑问题求出实现这一关系的逻辑电路。
电工电子技术及应用 第十章 组合逻辑电路及其应用
级别最低。 也就是说, 当 = 0 时, 其余输入信号无论是 0 还是 1 都不起作用, 电路只对 进行编码
, 输出
为反码, 其原码为 111。 又如, 当 = 1、 = 0 时, 则电路只对 进行编码
, 输出
原码为 110。 其余类推。
第 10 章 组合逻辑电路及其应用
(2) 选通输入端 的作用。 当 = 1 时, 门 G1输出 0, 所有输出与或非门都被封锁, 输出
10.2 组合逻辑电路的分析
第 10 章 组合逻辑电路及其应用
1. 分析方法 逻辑电路的分析, 就是根据已知的逻辑电路图来分析电路的逻辑功能。 其分析步骤如下:
(1) 写出输出变量对应于输入变量的逻辑函数表达式。 由输入级向后递推, 写出每个门输出对应于输入的逻辑关系, 最后得出输出信号对应于输入信号的逻辑
从输出量来看, 若组合逻辑电路只有一个输出量, 则称为单输出组合逻辑电路; 若组合逻辑电路有多个 输出量, 则称为多输出组合逻辑电路。 任何组合逻辑电路, 不管是简单的还是复杂的, 其电路结构均满足如 下特点: 由各种类型逻辑门电路组成, 电路的输入和输出之间没有反馈, 电路中不含存储单元。
第 10 章 组合逻辑电路及其应用
第 10 章 组合逻辑电路及其应用
10.3.1 编码器
为了区分一系列不同的事物, 将其中的每个事物用一个二值代码表示, 这就是编码的含义。 在二值逻辑
电路中, 信号都是以高、 低电平的形式给出的。 因此, 编码器的逻辑功能就是把输入的每一个高、 低电平
信号编成一个对应的二进制代码。图 10.3.1 所示为 8 线—3 线优先编码器 CT74148 的逻辑图
可由输入
决定; 当 X= 1 时, 则表示本级编码器不再编码, 输出
第3章 组合逻辑电路
第3章 组合逻辑电路
3.1 组合逻辑电路的分析方法和设计方法
组合逻辑电路可以有一个或多个输入端,也可以 有一个或多个输出端。其一般框图如图所示。在组合 逻辑电路中,数字信号是单向传递的,即只有从输入 端到输出端的传递,没有反向传递,所以各输出仅与 各输入的即时状态有关。
输 入 I0 I1
„„
组合逻辑电路
1 3 2
F0 = A3 + A1
第3章 组合逻辑电路
一、二进制编码器 1.ASCII码 ASCII码是一种通用的编码,用于大多数计算机 和电子设备中。大多数计算机键盘都以ASCII码为标 准。当输入一个字母、数字、符号或者控制命令时, 相应的ASCII码就会进入计算机中。ASCII码是一种 字母数字混合编码,其中包含字母、数字、标点和其 他一些特殊符号。 ASCII码的标准形式是由7位二进制码表示的128 种字符和符号。
第3章 组合逻辑电路
据二进制译码器的功能,可列出三位二进制译 码器的真值表。
三位二进制译码器的真值表
输入 输出
逻辑表达式:
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1
Y0=A2A1A0 Y1=A2A1A0 Y2=A2A1A0 Y3=A2A1A0 Y4=A2A1A0 Y5=A2A1A0 Y6=A2A1A0 Y7=A2A1A0
第3章 组合逻辑电路
其步骤是:
1.根据给定的逻辑电路图,写出各输出端的逻辑表 达式。
2.将得到的逻辑表达式化简。 3.由简化的逻辑表达式列出真值表。 4.根据真值表和逻辑表达式对电路进行分析,判断 该电路所能完成的逻辑功能,作出简要的文字描述, 或进行改进设计。
第五章 组合逻辑电路
7
三.数据选择器的应用 1.数据选择器的扩展 作为一种集成器件,最大规模的数据选择器是 16选1 。 如果需要更大规模的数据选择器,可通过扩展实现。
用 74LS153 扩展成的 8 选 1 的数据选择器电路如图 2.13 所 示。当 A2=0 时,左 4 选 1 数据选择工作,通过 A1A0 选择 D0 、 D1 、 D2 、 D3 中的一个由 1Y 输出到 Y 。当 A2=1 时,右 4 选 1 数据选择工作,通过 A1A0 选择 D4 、 D5 、 D6 、 D7 中的一个 由2Y输出到Y。 若采用74LS253,则将1Y和2Y直接连接即可。以此类推, 两片8选1的数据选择器可以扩展为16选1,两片16选1可以 扩展为32选1数据选择器。
& A B C & P & & Ý 1 ¡ L
解:(1)由逻辑图逐级写出逻辑表达式。
P ABC
L AP BP CP A ABC B ABC C ABC
(2)化简与变换。
L ABC( A B C) ABC A B C ABC ABC
(3)由表达式列出真值表 (4)逻辑功能分析 可知,当 A 、 B 、 C 三个变 量不一致时,输出为“ 1” , 该电路称为“不一致电路”
F ( X , Y , Z ) m(1,2,3,4,5,6)
解法 1 :作逻辑函数 的真值表(由于此时做 成 表 2.7 的 形 式 有 一 定 困 难 , 可 以 写 成 表 2.8 的形式)
设A1=X;A0=Y;由真 值表,并比较Z与L的关 系可得:D0=Z, D1=D2=1,D3= Z 。 (逻辑图略)
二.组合逻辑电路框图表示
任一组合逻辑电路均可以由以下逻辑框图表示。
第二章组合逻辑电路分析-含动画
4.优先编码器
普通编码器对输入信号的要求是互相排斥,优先编码器无此约束 允许多个信号同时输入,但电路只对优先级别最高的信号进行编码 【例2-6】3位二进制优先编码器的设计。 解:(1)分析设计要求
8个输入信号(I0~I7) 3个输出信号(Y2~Y0) 编码规则:用000、001、010、011、100、101、
2. 4选1数据选择器
【例2-9】4选1数据选择器的设计。 解:(1)分析设计要求 4路数 据输 入信号 (D0、D1、D2、D3) 1路输出信号(Y) 2位选择控制信号(S1、S0) S1S0=00时,Y=D0; S1S0=01时,Y=D1; S1S0=10时,Y=D2; S1S0=11时,Y=D3。
一个N×N的乘法器,有两个N位的乘数输入端及2N位乘积输出。
2.2.6 乘法器
2.乘法器的实现
以 4 × 4 乘 法 器 为 例 , 乘 法 器 的 输 入 信 号 为 被 乘 数 A(A3A2A1A0) 及 乘 数 B (B3B2B1B0),输出为乘积P(P7~P0)。
部分积的计算可通过与门(AND)实现 若要将部分积移位相加,还需要3个4位加法器进行加法运算
2.2 常用的组合逻辑电路
编码器 译码器 数据选择器 数值比较器 加法器 乘法器
2.2.1 编码器
1.编码原理
编码是指用文字、符号或数字表示特定对象的过程 编码器就是实现编码操作的电路 编码器的结构框图:
I0~Im-1对应m个需要编码的输入信号 Yn-1~Y0对应n位的编码输出 为了保证每一个输入信号都对应一个唯一的编码,n和m之间的关系 应满足关系式 2n-1<m≤2n 设计编码器关键在于编码规则,编码规则不同,设计的结果也完全不同
2.2.5 加法器
普通编码器对输入信号的要求是互相排斥,优先编码器无此约束 允许多个信号同时输入,但电路只对优先级别最高的信号进行编码 【例2-6】3位二进制优先编码器的设计。 解:(1)分析设计要求
8个输入信号(I0~I7) 3个输出信号(Y2~Y0) 编码规则:用000、001、010、011、100、101、
2. 4选1数据选择器
【例2-9】4选1数据选择器的设计。 解:(1)分析设计要求 4路数 据输 入信号 (D0、D1、D2、D3) 1路输出信号(Y) 2位选择控制信号(S1、S0) S1S0=00时,Y=D0; S1S0=01时,Y=D1; S1S0=10时,Y=D2; S1S0=11时,Y=D3。
一个N×N的乘法器,有两个N位的乘数输入端及2N位乘积输出。
2.2.6 乘法器
2.乘法器的实现
以 4 × 4 乘 法 器 为 例 , 乘 法 器 的 输 入 信 号 为 被 乘 数 A(A3A2A1A0) 及 乘 数 B (B3B2B1B0),输出为乘积P(P7~P0)。
部分积的计算可通过与门(AND)实现 若要将部分积移位相加,还需要3个4位加法器进行加法运算
2.2 常用的组合逻辑电路
编码器 译码器 数据选择器 数值比较器 加法器 乘法器
2.2.1 编码器
1.编码原理
编码是指用文字、符号或数字表示特定对象的过程 编码器就是实现编码操作的电路 编码器的结构框图:
I0~Im-1对应m个需要编码的输入信号 Yn-1~Y0对应n位的编码输出 为了保证每一个输入信号都对应一个唯一的编码,n和m之间的关系 应满足关系式 2n-1<m≤2n 设计编码器关键在于编码规则,编码规则不同,设计的结果也完全不同
2.2.5 加法器
数字逻辑 第四章 组合逻辑电路
1
1
设楼上开关为A,楼下开关为B,灯泡为Y。并 设A、B闭合时为1,断开时为0;灯亮时Y为1, 灯灭时Y为0。根据逻辑要求列出真值表。
A B 0 1 0 1 Y 0 1 1 0
真值表
0 0 1 1
第四章 组合逻辑电路
2
2
逻辑表达式 或卡诺图
化 简 3
Y A B AB
用与非 门实现
A
已为最简与 或表达式
例2
逻辑图
第四章 组合逻辑电路
A B C 1
≥1
Y1 ≥1 Y3 1 Y
≥1 Y2
Y A B C 1
逻辑表 Y A B 2 达式
Y Y Y Y2 B A B C A B B 3 1
Y Y1 2 B Y 3
最简与或 表达式
Y ABC AB B AB B A B
例 5 设计一个组合逻辑电路,用于判别以余3码表示的1 位十进制数是否为合数。 解 设输入变量为ABCD,输出函数为 F,当ABCD表示 的十进制数为合数(4、6、8、9)时,输出F为1,否则F为0。
因为按照余3码的编码规则,ABCD的取值组合不允许为 0000、0001、0010、1101、1110、1111,故该问题为包含无关 条件的逻辑问题,与上述6种取值组合对应的最小项为无关项, 即在这些取值组合下输出函数F的值可以随意指定为1或者为0, 通常记为“d”。
Y A B AB
& & & &
Y
最简与或 表达式
4
B
逻辑变换
5
用异或 门实现
A
Y A B
=1
Y
逻辑电路图
B
第四章 组合逻辑电路
1
设楼上开关为A,楼下开关为B,灯泡为Y。并 设A、B闭合时为1,断开时为0;灯亮时Y为1, 灯灭时Y为0。根据逻辑要求列出真值表。
A B 0 1 0 1 Y 0 1 1 0
真值表
0 0 1 1
第四章 组合逻辑电路
2
2
逻辑表达式 或卡诺图
化 简 3
Y A B AB
用与非 门实现
A
已为最简与 或表达式
例2
逻辑图
第四章 组合逻辑电路
A B C 1
≥1
Y1 ≥1 Y3 1 Y
≥1 Y2
Y A B C 1
逻辑表 Y A B 2 达式
Y Y Y Y2 B A B C A B B 3 1
Y Y1 2 B Y 3
最简与或 表达式
Y ABC AB B AB B A B
例 5 设计一个组合逻辑电路,用于判别以余3码表示的1 位十进制数是否为合数。 解 设输入变量为ABCD,输出函数为 F,当ABCD表示 的十进制数为合数(4、6、8、9)时,输出F为1,否则F为0。
因为按照余3码的编码规则,ABCD的取值组合不允许为 0000、0001、0010、1101、1110、1111,故该问题为包含无关 条件的逻辑问题,与上述6种取值组合对应的最小项为无关项, 即在这些取值组合下输出函数F的值可以随意指定为1或者为0, 通常记为“d”。
Y A B AB
& & & &
Y
最简与或 表达式
4
B
逻辑变换
5
用异或 门实现
A
Y A B
=1
Y
逻辑电路图
B
第四章 组合逻辑电路
数字电路与逻辑设计第3章组合逻辑电路
(2)根据真值表,用卡诺图(图3-5 a)化简后,
可以得到该电路的逻辑函数表达式:
F AC BC AB
由于题目中没有特别要求以何种逻辑门 输出,所以可用与门和或门输出来实现 该逻辑功能,表达式形式无需转换。
(3)逻辑图 由化简后的表达式和真值 表可以看出,(图 3-5 b)即使该题的逻 辑电路图。
表 3-7 8线—3线编码器的真值表
因为任意时刻 I0 ~ I7 中只有一个值为“1”利 用约束项的知识把上述真值表化简后如表3-8 所示。
表 3-8 化简后的真值表
由真值表写出其对应的逻辑函数表达式:
Y2 I4 I5 I6 I7 I4I5I6I7 Y1 I2 I3 I6 I7 I2I3I6I7 Y0 I1 I3 I5 I7 I1I3I5I7
3) 将表达式转化成用“与非” 逻辑形式实 现的形式:
图3-9 (a)卡诺图 (b)逻辑电路
3.2 编码器
编码就是将特定的逻辑信号变换成 一组二进制的代码,而能够实现这种功 能的逻辑部件就称为编码器。编码器的 功能是将输入信号转换为对应的代码信 号,即是用输出的代码信号来表示相对 应的输入信号,以便于进行对代码进行 存储,传输及运算等处理。
FA A FB AB FC ABC FD ABCD
(3)由上述表达式可得其对应的优先编码逻辑 电路如图3-12所示。
图3-13 16线—4线优先编码器的逻辑电路
(2)根据列写出的逻辑问题的真值表,写出对应 的逻辑函数表达式。
(3)将得到的逻辑函数表达式进行变换和化简。 逻辑函数的化简可以利用我们前面所学习的代 数法或卡诺图法,从而得到逻辑函数的最简表 达式,对于一个逻辑电路,在设计时应尽可能 使用最少数量的逻辑门,逻辑门变量数也应尽 可能少用,还应根据题意变换成适当形式的表 达式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
组合逻辑电路描述
reg [1:0] Sel; reg [7:0] A, B,C,D; reg [7:0] Y1, Y2, ; …… always @( Sel or A or B or C or D ) begin Y1、Y2在有些分支中 、 在有些分支中 …… 没有明确的赋值, 没有明确的赋值,导致出现 case(Sel) 2’b00: Y1 = A; 不必要的Latch 不必要的 2’b01: Y 2= B; 2’b10: Y1 = C; 2’b11: Y 2= D; default: Y1 = ~(A&B) ; endcase …… end ……
assign赋值语句中,被赋值的变量/信号一定为wire类型。
对复杂的组合逻辑结构,用always (敏感表) Stm形式加以描述
组逻辑电路描述
描述结构: Data Path Control Path 具体电路形式: Multiplexers Encoder / priority encoder Decoder Comparator Alu Logic /arithmetic operations
Outputs
Y2 Y1 Y0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1
组合逻辑电路描述
reg [7:0] A; reg [2:0]Y; …….. always @(A) begin if (A==8’b00000001) Y=3’b000; else if (A==8’b00000010) Y=3’b001; else if (A==8’b00000100) Y=3’b010; else if (A==8’b00001000) Y=3’b011; else if (A==8’b00010000) Y=3’b100; else if (A==8’b00100000) Y=3’b101; else if (A==8’b01000000) Y=3’b110; else if (A==8’b10000000) Y=3’b111; else Y=3’bxxx; end reg [7:0] A; reg [2:0]Y; …….. always @(A) casex(A) 8’b00000001: 8’b00000010: 8’b00000100: 8’b00001000: 8’b00010000: 8’b00100000: 8’b01000000: 8’b10000000: default: endcase
1 , X , Z }中的一个, 中的一个, 中的一个
外层的case语句是满的, 但内层的case语句不满, 产生Latch以保持Y1
组合逻辑电路描述
module examp1(A1, B1, C1, A2, B2, C2, D2, Y1, Y2); input [8:0] A1, B1, C1, A2, B2, C2, D2; output [10:0] Y1, Y2; reg [10:0] Y1, Y2; always @(A1 or A2 or B1 or B2 or C1 or C2 or D1 or D2) begin Y1 <= A1 + B1 + C1 + D1 ; Y2 <= ( A2 + B2 ) + ( C2 + D2 ) ; end A2 endmodule + A1 B2 B1 C1 D1
组合逻辑电路描述
多路选择开关 二选一开关建议用if…else…结构描述; 三/四选一开关可用if…else…结构、 case/casex/casez结构描述 多选一开关建议不采用if…else…结构描 述 HDL描述中,注意if…else…及其结构嵌套 结构、case/casex/casez结构的完整性。
组合逻辑电路描述
reg [1:0] Sel1, Sel2; reg [7:0] A, B,C,D; reg [7:0] Y1; …… always @( Sel1or Sel2 or A or B or C or D ) begin …… case(Sel1) 每一个二进制数的取值为{ 每一个二进制数的取值为 0, 2’b00: Y1 = A + 1; 即有四种可能的取值 2’b01: Y 1= A + B; 2’b10: Y1 = !C ; 2’b11: case (Sel2) 2’b00: Y1 = D - A; 2’b01: Y1 = A & B; 2’b10: Y1 = A | B; 2’b11: Y1 = ! D; endcase default: Y1 = ~(A&B) ; endcase …… end ……
组合逻辑电路描述
编码/解码电路
将一组形式的二进制数据转化为另一种形式的二进制数据
形式上,编码 解码电路可采用 解码电路可采用: 形式上,编码/解码电路可采用:
if …else 及其嵌套结构 及其嵌套结构; case/casex/casez描述结构; 描述结构; 描述结构 for 循环结构(一般避免采用) 循环结构(一般避免采用)
+
+ +
+
Y1 C2 D2
Y2
+
组合逻辑电路描述
…….. reg [7:0] A, B, C, D, E, F, G, H; reg [8:0] Sum; reg [1:0] sel; ………. always (sel or A or B or C or D or E or F or G or H) A begin Sum=9’b0; B case (Sel) 2’b00: Sum = A +B; C 2’b01: Sum = C + D; D 2’b10: Sum = E + F; E 2’b11: Sum = G + H; F endcase G end H ………..
Sum +
组合逻辑电路描述
描述方式 对简单的电路结构,可用连续赋值语句加以描 述;
reg [7:0] a,b; wire [7:0] c; assign c= a&b; reg a, b, cin; wire sum, cout; assign {sum,cout}= {a^b^c, (a&b)|(a&c)|(b&c)};
组合逻辑电路描述
reg [1:0] Sel; reg [7:0] A, B,C,D; reg [7:0] Y; …… always @( Sel or A or B or C or D ) begin …… case(Sel) 2’b00: Y = A; 分支不满 2’b01: Y = B; 出现Latch 2’b10: Y = C; 2’b11: Y = D; endcase …… end …… reg [1:0] Sel; reg [7:0] A, B,C,D; reg [7:0] Y; …… always @( Sel or A or B or C or D ) begin …… case(Sel) 2’b00: Y = A; 2’b01: Y = B; 2’b10: Y = C; 2’b11: Y = D; default: ; endcase …… 分支虽满,但属于值保持, end 出现Latch ……
设计描述
从16位乘法器的设计谈起
组合逻辑电路 描述
组合逻辑电路描述
同步时序逻辑电路的时钟频率直接取决于组合通 路(包括数据通路、控制通路)的延迟时间; 在深亚微米工艺条件下,组合逻辑通路的延迟时 间与组合逻辑通路的延迟级数(即逻辑级数)密 切相关; 降低组合逻辑通路的逻辑级数成为组合通路设计 优化的关键因素; 组合逻辑电路的功耗及其所占用的芯片面积直接 与电路中的单元数目、逻辑连线数目相关; 减少组合逻辑电路实现所需的单元及连线数目成 为组合逻辑电路设计优化的重要因素。
组合逻辑电路描述
inputs
A7 A6 A5 A4 A3 A2 A1 A0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
Y=3’b000; Y=3’b001; Y=3’b010; Y=3’b011; Y=3’b100; Y=3’b101; Y=3’b110; Y=3’b111; Y=3’bxxx;
组合逻辑电路描述
有时也可用for 循环结构描述编码/解码逻辑电路, 但一般不建议采用(综合结果很差)
reg [7:0] A, B; reg [2:0] I, Y; …… for (I=0; I<=7;I=I+1) begin B=A; B[I] = 1’b0; if (A[I]==1’b1 && B==8’b0) Y=I; else Y=3’bxxx; end ……
逻辑模拟结果正确
综合结果差!!!
组合逻辑电路描述
inputs
A7 A6 A5 A4 A3 A2 A1 A0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 x 0 0 0 0 0 0 1 x x 0 0 0 0 0 1 x x x 0 0 0 0 1 x x x x 0 0 0 1 x x x x x 0 0 1 x x x x x x 0 1 x x x x x x x
什么情况下会引入Latch? 条件或分支语句中,对信号赋值说明不完全、 条件或分支语句中,对信号赋值说明不完全、 且信号在条件或分支语句前没有初始赋值。 且信号在条件或分支语句前没有初始赋值。
组合逻辑电路描述
…… reg A1,A2,B1,B2; reg En1,En2; reg Y1,Y2,M; …… always @( En1 or En2 or A1 or A2 or B1 or B2) begin En1=0时,Y1取值情形 if (En1) Y1 = A1; 没有说明,产生Lacth if (En2) begin Y2 = !((A2 & B2) | B1) ; M = Y2 | Y1; En2=0时,Y2、M的取值情形 end 没有说明,产生Lacth以保持M、Y2 end 的取值 ……