布尔代数由英国数学家乔治·布尔于1849年创立,是数字电路设计理论中重要的组成部分。逻辑变量之间的因果关系,以及依据这些关系进行的布尔逻辑推理可用代数运算表示,这种代数称为逻辑代数,它是一个由逻辑变量集合、常量“0”和“1”,以及逻辑与、逻辑或和逻辑非三种运算所构成的代数系统。
参与逻辑运算的变量叫作逻辑变量,用字母 A 、 B 等表示,每个变量的取值非0即1。0和1不表示数的大小,而是代表两种不同的逻辑状态。
(1)正逻辑体制。当采用正逻辑体制时,规定高电平为逻辑“1”,低电平为逻辑“0”。
(2)负逻辑体制。当采用负逻辑体制时,规定低电平为逻辑“1”,高电平为逻辑“0”。
除非有特殊说明,本书采用正逻辑体制。
如果有若干个逻辑变量(如 a 、 b 、 c 、 d )按逻辑与、逻辑或和逻辑非三种基本运算组合在一起,得到一个表达式 L ,对逻辑变量的任意一组取值(如0000、0001、0010), L 都有唯一的值与之对应,则称 L 为逻辑函数。由逻辑变量 a 、 b 、 c 、 d 所表示的逻辑函数记为
L = f ( a , b , c , d )
两个主要的二元运算的符号定义为∧(逻辑与)和∨(逻辑或),把单个一元运算符号定义为 (逻辑非),并且还使用“0”(逻辑假)和“1”(逻辑真)。逻辑代数有下列性质。
a ∧( b ∧ c )=( a ∧ b )∧ c
a ∨( b ∨ c )=( a ∨ b )∨ c
a ∨ b = b ∨ a
a ∧ b = b ∧ a
a ∨( a ∧ b )= a
a ∧( a ∨ b )= a
a ∨( b ∧ c )=( a ∨ b )∧( a ∨ c )
a ∧( b ∨ c )=( a ∧ b )∨( a ∧ c )
a ∨ a = a
a ∧ a = a
a ∨0= a
a ∨1=1
a ∧1= a
a ∧0=0
为了兼容目前各种数字逻辑/数字电路教科书的表示方法,本书后面将逻辑与表示成“·”、逻辑或表示为“+”、逻辑非表示为“-”、逻辑异或表示为“⊕”。
任何一个含有变量 X 的等式,如果将所有出现变量 X 的位置都用一个逻辑函数 F 进行替换,此等式仍然成立。例如,等式:
B ·( A + C )= B · A + B · C
将所有出现变量 A 的地方都用函数 E + F 代替,则等式仍然成立:
B ·[( E + F )+ C ]= B ·( E + F )+ B · C = B · E + B · F + B · C
设 F 是一个逻辑函数式,如果将 F 中的所有的符号“·”变成“+”、符号“+“变成符号“·”、“0”变成“1”、“1”变成“0”,而变量保持不变,那么就得到了一个逻辑函数式 F′ ,这个 F′ 就称为 F 的对偶式。如果两个逻辑函数 F 和 G 相等,则它们各自的对偶式 F′ 和 G′ 也相等。例如:
F = A + B
使用对偶规则将等式改写为
F′ = A · B
吸收律 成立,则它们的对偶式:也是成立的。
当已知一个逻辑函数 F 求 时,只要把 F 中的所有符号“·”变成“+”、符号“+”变成“·”、“0”变成“1”、“1”变成“0”、原变量变成反变量、反变量变成原变量即得 。例如,等式:
使用反演规则,得到 表示为
反演规则也可通过德·摩根定律得到。
所有的逻辑函数表达式,不管逻辑关系多复杂,一定可以使用“与或”表达式或者“或与”表达式表示。由于在逻辑函数表达式中,逻辑与关系用符号“·”表示,逻辑或关系用符号“+”表示。所以,“与或”表达式也称为积之和(Sum of Product,SOP)表达式,“或与”表达式也称为和之积(Product of Sum,POS)表达式。
“与或”表达式是指由若干“与项”进行“或”运算构成的表达式。每个“与项”可以是单个变量的原变量或者反变量,也可以由多个原变量或者反变量相“与”组成。例如, 均为“与项”。“与项”又被称为“乘积项”。将这3个“与项”相“或”便可构成一个3变量函数的“与或”表达式,表示为
用真值表准确地表示“与或”表达式如表1.20所示。
对于SOP表达式来说:
(1)对于包含3个输入变量 A 、 B 和 C 的真值表,可以使用3输入变量的逻辑与门。对于真值表中 Y 输出为“1”的每一行,要求一个3输入的逻辑与门。
(2)如果该行中某个输入变量的输入为“0”,则表示对该输入变量取反。
(3)所有的逻辑“与项”连接到具有一个 M 个输入的逻辑或门( M 为 Y 输出为“1”的行的个数,此处 M =3)。
(4)逻辑或门的输出是该逻辑函数的输出。
所以, Y 的输出用下面的逻辑等式表示:
“或与”是指由若干“或项”进行“与”运算构成的表达式。每个“或项”可以是单个变量的原变量或者反变量,也可以由多个原变量或者反变量相“或”组成。例如, A + B 、 B + C 、 、 D 均为“或项”,将这4个“或项”相“与”便可构成一个4变量函数的“或与”表达式,表示为
用真值表准确地表示“或与”表达式如表1.21所示。
表1.20 由3个变量构成的真值表(1)
表1.21 由3个变量构成的真值表(2)
对于POS表达式来说:
(1)对于包含3个输入变量 A 、 B 和 C 的真值表,可以使用3输入变量的逻辑或门。对于真值表中 Y 输出为“0”的每一行,要求一个3输入的逻辑或门。
(2)如果该行的某个变量的输入为“1”时,表示对该输入取反。
(3)所有的逻辑“或项”连接到一个具有 M 输入的逻辑与门( M 为 Y 输出为“0”的行的个数,此处 M =5)。
(4)逻辑与门的输出是该逻辑函数的输出。
所以,最后 Y 的输出用下面的逻辑等式表示:
通常,逻辑函数表达式可以表示成任意的混合形式。例如:
该逻辑函数既不是“与或”式也不是“或与”式。但不论什么形式,都可以变换成SOP或者POS这两种最基本的形式。
在上面的SOP表达式中,每个乘积项包含所有3个输入变量。同样,在POS表达式中,每个和项包含所有3个输入变量。包含3个输入变量的乘积项称为最小项,包含3个输入变量的和项称为最大项。如果将一个给定行上的输入“1”或者“0”当作一个二进制数,则最大项或者最小项的数字可以分配到真值表中的每一行。因此,上面的SOP等式包含最小项1、3和5;POS等式包含最大项0、2、4、6和7。在SOP等式内的最小项中,输入变量为“1”表示取输入变量的原值,而输入变量为“0”表示对该输入变量取反。如表1.22所示,为上面的真值表加入完整的最小项和最大项。
表1.22 用最小项和最大项表示
对最小项和最大项编码,这样将SOP和POS等式用简化方式表示。SOP等式使用符号∑,表示乘积项求和;POS等式使用Π,表示和项求积。真值表内输出为“1”的一行定义了一个最小项,输出为“0”的一行定义了最大项。下面给出使用最小项和最大项的简单表示方法:
F= ∑ m (1,3,5)
F= Π M (0,2,4,6,7)
思考与练习1-25: 请画出下面等式所表示的逻辑电路。
F= ∑ m (1,2,6)
G= Π M (0,7)
思考与练习1-26: 请画出下面等式所表示的逻辑电路。
F= ∑ m (1,5,9,11,13)
G= Π M (0,4,7,10,14)