概述
- 设计数字电路就和写程序一样,最终都是算法和逻辑的问题。所谓逻辑,就是需要找到事物之间的规律和联系。
- 而为了简介准确地去描述一个实际问题的逻辑,我们就需要使用一些符号,这些符号包括变量和运算符,变量通常用来表示一个变化的量,而运算符描述的就是量和量之间的关系。
- 对于数字电路我们也是如此,先抽象出一些变量,表示出逻辑函数,再对逻辑函数进行一些化简,最后搭建实际的电路,对电路进行调试,再反过来修改逻辑函数,如此迭代,最终得到最合适的逻辑函数。
布尔变量
数字电路中,所有的变量只可能有两个确定的取值:逻辑真(1)或者逻辑假(0),一般来说用大写字母 A B C D . . A BCD.. ABCD..来表示变量,使用 F F F来表示因变量
布尔代数
布尔代数中,与或非是最基本的运算法则,所有的运算都可以用这三种运算来表示。
三种运算的真值表如下:
· | 0 | 1 |
---|---|---|
0 | 0 | 0 |
1 | 0 | 1 |
+ | 0 | 1 |
---|---|---|
0 | 0 | 1 |
1 | 1 | 1 |
’ | 0 | 1 |
---|---|---|
1 | 0 |
布尔表达式和化简
实际问题抽象出的函数表达式称之为布尔表达式,但是大部分的布尔表达式还需要经过化简,化简会用到一些基本定理如下
- 0-1律: X + 0 = X X ⋅ 1 = X X + 1 = X X ⋅ 0 = 0 X+0=X\quad X\cdot 1=X \quad X+1=X\quad X\cdot 0=0 X+0=XX⋅1=XX+1=XX⋅0=0
- 重叠律 X + X = X X ⋅ X = X X+X=X\quad X\cdot X=X X+X=XX⋅X=X
- 还原律: ( X ′ ) ′ = X (X')'=X (X′)′=X
- 互补律: X + X ′ = 1 X ⋅ X ′ = 0 X+X'=1\quad X\cdot X'=0 X+X′=1X⋅X′=0
- 交换律 X Y = Y X X + Y = Y + X XY=YX \quad X+Y=Y+X XY=YXX+Y=Y+X
- 结合律: ( X Y ) Z = X ( Y Z ) = X Y Z ( X + Y ) + Z = X + ( Y + Z ) = X + Y + Z (XY)Z=X(YZ)=XYZ \quad (X+Y)+Z=X+(Y+Z)=X+Y+Z (XY)Z=X(YZ)=XYZ(X+Y)+Z=X+(Y+Z)=X+Y+Z
- 分配律 X ( Y + Z ) = X Y + X Z X + Y Z = ( X + Y ) ( X + Z ) X(Y+Z)=XY+XZ\quad X+YZ=(X+Y)(X+Z) X(Y+Z)=XY+XZX+YZ=(X+Y)(X+Z)
- 德摩根律 ( X + Y ) ′ = X ′ Y ′ ( X Y ) ′ = X ′ + Y ′ (X+Y)'=X'Y' \quad (XY)'=X'+Y' (X+Y)′=X′Y′(XY)′=X′+Y′
- 合并律 X Y + X Y ′ = X ( X + Y ) ( X + Y ′ ) = X XY+XY'=X \quad (X+Y)(X+Y')=X XY+XY′=X(X+Y)(X+Y′)=X
- 吸收律 X + X Y = X X ( X + Y ) = X Y X+XY=X \quad X(X+Y)=XY X+XY=XX(X+Y)=XY
- 消除律 X + X ′ Y = X + Y X ( X ′ + Y ) = X Y X+X'Y=X+Y \quad X(X'+Y)=XY X+X′Y=X+YX(X′+Y)=XY
- 蕴含律 X Y + X ′ Z + Y Z = X Y + X ′ Z ( X + Y ) ( X ′ + Z ) ( Y + Z ) = ( X + Y ) ( X ′ + Z ) XY+X'Z+YZ=XY+X'Z \quad (X+Y)(X'+Z)(Y+Z)=(X+Y)(X'+Z) XY+X′Z+YZ=XY+X′Z(X+Y)(X′+Z)(Y+Z)=(X+Y)(X′+Z)