Intel Quartus Prime数字系统设计权威指南:从数字逻辑、Verilog HDL 到复杂数字系统的实现
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.6 逻辑代数理论

布尔代数由英国数学家乔治·布尔于1849年创立,是数字电路设计理论中重要的组成部分。逻辑变量之间的因果关系,以及依据这些关系进行的布尔逻辑推理可用代数运算表示,这种代数称为逻辑代数,它是一个由逻辑变量集合、常量“0”和“1”,以及逻辑与、逻辑或和逻辑非三种运算所构成的代数系统。

1.6.1 逻辑代数中的运算关系

参与逻辑运算的变量叫作逻辑变量,用字母AB等表示,每个变量的取值非0即1。0和1不表示数的大小,而是代表两种不同的逻辑状态。

1.正、负逻辑规定

(1)正逻辑体制。当采用正逻辑体制时,规定高电平为逻辑“1”,低电平为逻辑“0”。

(2)负逻辑体制。当采用负逻辑体制时,规定低电平为逻辑“1”,高电平为逻辑“0”。

除非有特殊说明,本书采用正逻辑体制。

2.逻辑函数

如果有若干个逻辑变量(如abcd)按逻辑与、逻辑或和逻辑非三种基本运算组合在一起,得到一个表达式L,对逻辑变量的任意一组取值(如0000、0001、0010),L都有唯一的值与之对应,则称L为逻辑函数。由逻辑变量abcd所表示的逻辑函数记为

L=fabcd

3.逻辑运算与其性质

两个主要的二元运算的符号定义为∧(逻辑与)和∨(逻辑或),把单个一元运算符号定义为img(逻辑非),并且还使用“0”(逻辑假)和“1”(逻辑真)。逻辑代数有下列性质。

1)结合律

a∧(bc)=(ab)∧c

a∨(bc)=(ab)∨c

2)交换律

ab=ba

ab=ba

3)吸收律

a∨(ab)=a

a∧(ab)=a

4)分配律

a∨(bc)=(ab)∧(ac

a∧(bc)=(ab)∨(ac

5)互补律

img

6)幂等律

aa=a

aa=a

7)有界律

a∨0=a

a∨1=1

a∧1=a

a∧0=0

8)德·摩根定律

img

9)对合律

img

为了兼容目前各种数字逻辑/数字电路教科书的表示方法,本书后面将逻辑与表示成“·”、逻辑或表示为“+”、逻辑非表示为“-”、逻辑异或表示为“⊕”。

4.逻辑代数的基本规则

1)代入规则

任何一个含有变量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

2)对偶规则

F是一个逻辑函数式,如果将F中的所有的符号“·”变成“+”、符号“+“变成符号“·”、“0”变成“1”、“1”变成“0”,而变量保持不变,那么就得到了一个逻辑函数式F′,这个F′就称为F的对偶式。如果两个逻辑函数FG相等,则它们各自的对偶式F′G′也相等。例如:

F=A+B

使用对偶规则将等式改写为

F′=A·B

吸收律img成立,则它们的对偶式:也是成立的。

img

3)反演规则

当已知一个逻辑函数Fimg时,只要把F中的所有符号“·”变成“+”、符号“+”变成“·”、“0”变成“1”、“1”变成“0”、原变量变成反变量、反变量变成原变量即得img。例如,等式:

img

使用反演规则,得到img表示为

img

反演规则也可通过德·摩根定律得到。

1.6.2 逻辑函数表达式

所有的逻辑函数表达式,不管逻辑关系多复杂,一定可以使用“与或”表达式或者“或与”表达式表示。由于在逻辑函数表达式中,逻辑与关系用符号“·”表示,逻辑或关系用符号“+”表示。所以,“与或”表达式也称为积之和(Sum of Product,SOP)表达式,“或与”表达式也称为和之积(Product of Sum,POS)表达式。

1.“与或”表达式

“与或”表达式是指由若干“与项”进行“或”运算构成的表达式。每个“与项”可以是单个变量的原变量或者反变量,也可以由多个原变量或者反变量相“与”组成。例如,img均为“与项”。“与项”又被称为“乘积项”。将这3个“与项”相“或”便可构成一个3变量函数的“与或”表达式,表示为

img

用真值表准确地表示“与或”表达式如表1.20所示。

对于SOP表达式来说:

(1)对于包含3个输入变量ABC的真值表,可以使用3输入变量的逻辑与门。对于真值表中Y输出为“1”的每一行,要求一个3输入的逻辑与门。

(2)如果该行中某个输入变量的输入为“0”,则表示对该输入变量取反。

(3)所有的逻辑“与项”连接到具有一个M个输入的逻辑或门(MY输出为“1”的行的个数,此处M=3)。

(4)逻辑或门的输出是该逻辑函数的输出。

所以,Y的输出用下面的逻辑等式表示:

img

2.“或与”表达式

“或与”是指由若干“或项”进行“与”运算构成的表达式。每个“或项”可以是单个变量的原变量或者反变量,也可以由多个原变量或者反变量相“或”组成。例如,A+BB+CimgD均为“或项”,将这4个“或项”相“与”便可构成一个4变量函数的“或与”表达式,表示为

img

用真值表准确地表示“或与”表达式如表1.21所示。

表1.20 由3个变量构成的真值表(1)

img

表1.21 由3个变量构成的真值表(2)

img

对于POS表达式来说:

(1)对于包含3个输入变量ABC的真值表,可以使用3输入变量的逻辑或门。对于真值表中Y输出为“0”的每一行,要求一个3输入的逻辑或门。

(2)如果该行的某个变量的输入为“1”时,表示对该输入取反。

(3)所有的逻辑“或项”连接到一个具有M输入的逻辑与门(MY输出为“0”的行的个数,此处M=5)。

(4)逻辑与门的输出是该逻辑函数的输出。

所以,最后Y的输出用下面的逻辑等式表示:

img

通常,逻辑函数表达式可以表示成任意的混合形式。例如:

img

该逻辑函数既不是“与或”式也不是“或与”式。但不论什么形式,都可以变换成SOP或者POS这两种最基本的形式。

3.最小项和最大项

在上面的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 用最小项和最大项表示

img

对最小项和最大项编码,这样将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)