数字系统设计
第1节 布尔代数的引进
更新于2008-08-29 10:35:28

2.1.1布尔代数

数字电路如前一章所论述,是以H和L这两种状态表示信号,组合处理H和L的数字元件,实现各种逻辑功能。在数字电路里,要表现这个电路的逻辑功能,让H和L这两种状态对应两个数字,就可以进行数学的处理。处理这样的两个值的数学,有布尔代数(Boolean Algebra,也叫做逻辑代数)。数字电路的各种逻辑功能的标记引进了布尔代数。
布尔代数是用“1”和“0”表示两个值,包括逻辑积(logical product)“·”、逻辑和(logical sum)“+”、逻辑非(negation)“-”三种运算。这三种运算称为基本逻辑运算,对于两个变量A、B,给出了表2.1的运算。在这个表中取“1”、“0”间任何一个值的变量A、B就叫做逻辑变量(logical variable)。看该表(a)的逻辑积,如果“1”看作真(true),“0”看作为假(False),A和B都为真时,结果就为真,这就是AND。该表(b),A和B至少有一个是真的话,结果就为真。这就是OR。该表(c),若A为真,则结果是假;如果A是假,则结果为真,很明显这是NOT。由此可知布尔代数的基本逻辑运算,就是各自对应的逻辑操作。如表2.1所列,记述逻辑变量值的所有组合的运算结果的表叫做真值表(truth table),表2.2归纳了所有情况下由“1”、“0”构成的布尔代数运算规则。
表2.1布尔代数的基本逻辑运算
(a) AND(逻辑积)
A          B          A·B
0          0             0
0          1             0
1          0             0
1          1             1
(b)OR(逻辑和)
A           B         A+B
0           0            0
0           1            1
1           0            1
1           1            1

表2.3列出满足这些运算的布尔代数的诸定律,是使用各真值表、表2.2的运算规则做成的。通过在所有情况的验证,可以很容易地确定每个定律。可以说这是情况有限的布尔代数的一大特征。例如像表24那样就可以证明,德·摩根(de Morgan)律。在这些式子不会引起混乱的前提下,往往可以省略逻辑积符号“·”,一般一个式子里包括三种运算时按照“-”,“·”,“+”的优先顺序进行运算。表2.2布尔代数的运算规则
1=0
0=1
1=1
0=0
1+1=1
1+0=1
0+1=1
0+0=0
1·1=1
1·0=0
0·1=0
0·0=0
表2.3布尔代数的定律
交换律AB=BA
             A+B=B+A
吸收律A(A+B)=A
            A+AB=A
结合律(AB)·C=A·(BC)
            (A+B)+C=A+(B+C)
分配律A(B+C)=AB+AC
            A+BC=(A+B)(A+C)
德·摩根律AB=A+B
                    A+B=A·B
与0和1相关的定律A·1=AA·0=0
                                 A+1=1A+0=A

【例题2.1】证明下式成立。
(1)AA=A,A+A=A(幂等律)
(2)AA-=0,A+A-=1(互补律)
【解】就A=1和A=0的情况,使用表2.2的运算规则就可以了解。
【例题2.2】证明下式成立。
(1)A+AB=A
(2)A+A-B=A+B
(3)(A+B)(A+B-)=A
【解】(1)A+AB=A·1+A·B=A(1+B)=A
(2)A+A-B=A(1+B)+A-B=A+AB+A-B=A+(A+A-)B=A+B
(3)(A+B)(A+B-)=AA+AB-+BA+BB-=A+AB-+AB=A+A(B-+B)=A+A=A
【例题2.3】用真值表证明例题2.2的(3)式成立。
【解】用真值表表示,如表2.5所示。由该表可知(A+B)(A+B-)与A相等。
表2.5例题2.3的真值表
A   B    A+B      A+B-    (A+B)(A+B)
0    0       0          1                      0
1    0       1          1                      1
0    1       1          0                      0
1    1       1          1                      1
如例题2.2所示,用+、·等运算,把逻辑变量结合在一起的式子叫做逻辑式(logical formula)。由该例题也可以明确了解,表示一个逻辑功能的逻辑式,并不是用一种运算方式决定,而是有几种记述方法。使用上述布尔代数定律,将逻辑式换成尽可能简单的形式,就叫做逻辑式简化。逻辑式简化的方法有上面示意的布尔代数定律和下面将要叙述的卡诺图的方法。所谓逻辑功能可以看作是,给了输入的逻辑变量A,B,C…值时,决定输出逻辑变量X值的函数X=f(A,B,C…)。这个函数称为逻辑函数(logical function)。
下面,我们在具备了真值表的情况下,根据逻辑式求它的逻辑函数。
【例题2.4】由表2.6真值表,求逻辑函数。
【解】注意表2.6逻辑函数X=f(A,B,C)。使逻辑值为“1”的逻辑变量组合是A-B-C,AB-C-,AB-C-,ABC的情况把这些组合起来就可以得到满足表2.6的逻辑关系。
X=f(A,B,C)=A-B-C+A-BC-+AB-C-+ABC
如例题24的逻辑函数,取含有逻辑变量的逻辑非项的逻辑积,根据其逻辑和,表现逻辑函数的方法,叫加法标准型的表现。从该例题可知,加法标准型可以由逻辑变量的所有组合的真值表直接构成。因此,我们知道用加法标准型可以表现所有的逻辑函数。
【例题2.5】求逻辑函数
X=f(A,B,C)=(A+B)(A-+C)(B+C) 的加法标准形。
【解】使用布尔代数的诸定律将
X=f(A,B,C)=(A+B)(A-+C)(B+C)
=AA-B+ACB+BA-B+BCB+AA-C+ACC+BA-C+BCC
简化,得到
X=f(A,B,C)=0+ABC+A-B+BC+0+AC+A-BC+BC
=(A+A-)BC+A-B+BC+AC
=A-B+BC+AC
由此可知,最后这个式子就是用加法标准型描述的。
此外,布尔代数还有下面示意的性质。现在,假设逻辑函数为
X=f(A,B,C)=AB+BC+CA
取X的非,即
X-=f-(A,B,C)=AB+BC+CA
用前面的德·摩根律,则
AB+BC+CA=AB·BC·CA=(A-+B-)(B-+C-)(C-+A-)
比较X-=f- (A,B,C)=(A-+B-)(B-+C-)(C-+A-)和X=f(A,B,C)=AB+BC+CA,f是取f的各逻辑变量的非,使逻辑积成为逻辑和,而逻辑和成为逻辑积的形式。这样,在求逻辑函数的非时,取式子里所有的变量的非,将逻辑积换成逻辑和、将逻辑和换成逻辑积就可以。这是因为布尔代数只用两个值处理,基本逻辑运算形成对称,当然可以说这就是性质(称为对称性)。


2.1.2H、L和正逻辑、负逻辑

在数字电路的逻辑功能描述中使用布尔代数的情况下,存在数字电路的两个状态H、L和布尔代数的两个值“1”、“0”之间的对应问题。让H对应“1”、L对应“0”的方法叫做正逻辑(positive logic)。相反,让H对应“0”、L对应“1”的方法叫做负逻辑(pegative logic),用其中一个或者二者混用的方法,来表示数字电路的各种逻辑功能。
如果正/负逻辑在电路的各部分确定下来,那么与表现电路物理或电气状态的H、L分离,根据布尔代数上的处理方法,就可以描述电路的逻辑功能。这样,就可能进行合理的设计等,这是模拟电路里所没有的特征。
利用布尔代数设计数字电路,求满足适应某目的的逻辑功能的逻辑式,包括几种方法,即像上述例题那样根据真值表求得加法标准型;以及组合逻辑变量依次引进逻辑式。这样求得的逻辑式,要尽可能简化,式中的“·”用AND、“+”用OR,“-”用NOT这样各种数字元件代替构成电路,当然,逻辑式简化是很重要的问题,因为在数字电路里表现为减少元件的使用个数。下面依次说明这些方法。

 

网友留言