Chương 2
ĐẠI SỐ BOOLE – CỔNG LOGIC
ĐẠI SỐ BOOLE – CỔNG LOGIC
I. Cấu trúc đại số Boole:
Là cấu trúc đại số được định nghóa trên
1 tập phần tử nhị phân B = {0, 1} và
các phép toán nhị phân: AND (.), OR (+),
NOT (’).
x
x . y (x
x
x + y (x
y
AND y)
y
OR y)
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1 x,
x
x’ (NOT
0
0
x)
1
1
0
1
1
1
1
0
* Thứ tự phép toán: theo thứ tự dấu
ngoặc (), NOT, AND, OR
1. Các tiên đề (Axioms):
a. Tính kín (Closure Property)
b. Phần tử đồng nhất (Identity
Element):
x.1 =
=0 x =
x+
1.x
0+x
= x
c. Tính giao
hoán (Commutative
x.y
=
Property):
yy
.x = y+x
x+
d. Tính phân bố (Distributive
Property):
x.(y+z) =x.y + x.
x + (z y . z ) = ( x + y ) .
(x+z)
e. Phần tử bù (Complement
Element):
x+x =1
x.x =
3
2. Các định lý cơ bản (Basic
Theorems):
a. Định lý 1:
x = x
b. Định lý 2:
x.x = x
c. Định lý 3:
x.0 = 0
d. Định lý 4: định
(Absorption)
+ x
.y
e. Định lýx 5:
định
+
y) = x
(Associative)
x+x
x + 1=
=
x
1
lý hấp thu
= kết
x hợp
lý
x . (x
x + (y + z) = (x + y) + z
x . (y
. z) = lý
(x . 6:
y) .định
z
f. Định
lý De Morgan
x+y = x.y
x.y =
x+y
Mở rộng:
x1 + x2 + .. + xn = x1 .
x2 .. xn x1 . x2 .. xn
4
= x1 + x2 + .. +
xn
II. Hàm Boole (Boolean Function):
1. Định nghóa:
* Hàm Boole là 1 biểu thức được tạo
bởi các biến nhị phân và các phép
toán
nhị
AND,
F (x,
y, phân
z) = xNOT,
.y +
x .OR.
y.z
* Với giá trị cho trước của các biến,
hàm Boole sẽ có giá trị là 0 hoặc 1.
* Bảng giá
trị:
x
y
z
F
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
5
2. Bù của 1 hàm:
- Sử dụng định lý De Morgan:
F
=
F
=
x.y + x.y.z
x.y + x.y.z
= (x.y) .(x.
y.zF
)
= (x+y).(x+y
z ) thức đối ngẫu và lấy
- Lấy +
biểu
bù
các
biến:
* Tính
đối
ngẫu (Duality): Hai biểu
thức được gọi là đối ngẫu của
nhau khi ta thay phép toán AND
toán
Fbằng
= OR,
x .phép
y + x
. y . OR
z bằng AND,
0 thành 1 và 1 thành 0.
Lấy đối ngẫu: ( x + y ) . ( x
+ các
y + zbiến:
)F = (x+y).(x+y
Buø
6
III. Dạng chính tắc và dạng chuẩn
1. Các
tích
chuẩn (minterm) và tổng
của
hàm
Boole:
chuẩn
(Maxterm):
- Tích chuẩn
(minterm): mi (0 ≤ i ≤ 2n-1) là
các số hạng tích (AND) của n biến mà
hàm Boole phụ thuộc với quy ước
- biến
Tổngđó
chuẩn
Mi là
(0 ≤0 ivà
≤ 2n-1)
có (Maxterm):
bù nếu nó
không
1. (OR) của n biến
là cácbù
số nếu
hạnglà
tổng
mà hàm Boole phụ thuộc với quy ước
đó
có bù
nếu nó là 1 và
xbiến
y
minterm
Maxterm
nếu
là
0.+ y +
z khôngmbù
=
x
y
M
=
x
0
0
0
0
0
0
0
0
1
0
1
1
0
1
m1z =
m2z =
m3z =
m4z =
m5z =
m6z =
m7z =
x
x
x
x
x
x
y
y
y
y
y
y
x y
Mz1
Mz2
Mz3
Mz4
Mz5
Mz6
Mz7
=
=
=
=
=
=
x
x
x
x
x
x
+
+
+
+
+
+
y
y
y
y
y
y
+
+
+
+
+
+
= x + y +
mi = Mi
7
2. Dạng chính tắc (Canonical Form):
a. Dạng chính tắc 1:
là dạng tổng của các tích chuẩn
(minterm) làm cho
hàm Boole có
giá tròF(x,
1 y,
x y + x y + x y+ x y + x y
x y
F
z) =
z
0
0
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
1
= z
z+
z
+
m
m2 2,
m5,
= 1 Σ m(1,
5
z
+
z
+
m6
m7
6,
= 7)Σ (1, 2, 5, 6,
F(x, y,
z) =
7)
(x + y +(x + y +(x + y +
= z)
.z) M3 .z) M4
M
= 0 Π M(0, = Π (0, 3,
3, 4)
4)
b. Daïng chính tắc
2:
0 là dạng tích của các tổng chuẩn
(Maxterm) làm cho
hàm Boole có
1 giá trị 0
8
* Trường hợp hàm Boole tùy định
(don’t
care):
Hàm
Boole n biến có thể không
được định nghóa hết tất cả 2n tổ
hợp của n biến phụ thuộc. Khi đó
tại các tổ hợp không sử dụng này,
hàm Boole sẽ nhận giá trị tùy định
(don’t care), nghóa là hàm Boole có
x y nhận
F giá tri 0 hoặc 1.
thể
z
F (x, y, z) = Σ (1, 2, 5, 6)
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
X
1
1
0
0
1
1
X
+ d (0, 7)
= Π (3, 4) . D (0,
7)
9
3. Dạng chuẩn (Standard Form):
a. Dạng chuẩn 1:
là dạng tổng các tích (S.O.P
– Sum of Product)
F (x, y, z) = x y +
* F (x, y, z)z = x y
+ z = x y (z + z) + (x + x) (y
= +
x y)
y zz+ x y z + x y z + x y z +
y zm1 +
= xmy6 z
++
mx7 +
+m
= m
Σ 5(1,
3,3 5, 6, 7)
* F (x, y, z) = x y
+ z = (x + z) (y + z)
= (x + y y + z) (x x + y +
= z)
(x + y + z) (x + y + z) (x + y +
+ y. +
= z)
M (x. M
Mz)
2
=
0
Π (0, 2, 4)
4
10
b. Dạng chuẩn 2:
là dạng tích các tổng (P.O.S
– Product
of z)
Sum)= (x +
F (x, y,
z) y
* F (x, y, z) = (x + =
z) yx y +
y z(x + x) y z
= x y (z + z) +
= xyz+xyz+ xyz +xyz
= m4 + m5 + m0
= Σ (0, 4, 5)
* F (x, y, z) = (x + z) y
= (x + y y + z) (x x + y +
= z(xz)+ y + z) (x + y + z)
=
(x + y + z)(x + y + z)(x + y + z)
(x
z)
M3+. y
M+
.
M7 . M6 . M2
1
=
Π (1, 2, 3, 6, 7)
11
IV. Cổng logic:
1. Cổng NOT:
x
x
x
t
x
2. Cổng AND:
x
x
y
z=
x.y
x
y
z
0
0
1
1
0
1
0
1
0
0
0
1
y
z
Với cổng AND có nhiều ngõ
vào,
ngõ ra sẽ là 1 nếu tất cả
12
các ngõ vào đều là 1
3. Cổng OR:
x
z=
y
x+y
x
y
z
0
0
1
1
0
1
0
1
0
1
1
1
x
y
z
0
0
1
1
0
1
0
1
1
1
1
0
x
y
z
Với cổng OR có nhiều ngõ
vào,
ngõ ra sẽ là 0 nếu tất cả
4. Cổng NAND:các ngõ vào đều là 0
x
x
z=
y
x.y
y
z
Với cổng NAND có nhiều ngõ
vào,
ngõ ra sẽ là 0 nếu tất cả13
5. Cổng NOR:
x
z=
y
x+y
x
y
z
0
0
1
1
0
1
0
1
1
0
0
0
x
y
z
0
0
1
1
0
1
0
1
0
1
1
0
x
y
z
Với cổng NOR có nhiều ngõ
vào,
ngõ ra sẽ là 1 nếu tất cả
6. Cổng XOR (Exclusive_OR):
các ngõ vào đều là 0
x
x
z=
y
x⊕ y
y
z
Với cổng XOR có nhiều ngõ
vào, ngõ ra sẽ là 1 nếu
14
z = x⊕ y = x y + xtổng
y = (xsố
+ bit 1 ở các ngõ vaøo
7. Cổng XNOR (Exclusive_NOR):
x
x
z=
y
x⊕ y
y
x
y
z
0
0
1
1
0
1
0
1
1
0
0
1
z
Với cổng XNOR có nhiều ngõ
vào, ngõ ra sẽ là 1 nếu tổng
ở các ngõ vào là số
z = x⊕ y = x y + số
x y bit
= (x1 +
chaün
y)(x + y)
15
V. Rút gọn hàm Boole:
Rút gọn (tối thiểu hóa) hàm Boole
nghóa là đưa hàm Boole về dạng biểu diễn
đơn- Biểu
giản thức
nhất,có
saochứa
cho: ít nhất các thừa
số và mỗi thừa số chứa ít nhất
các biến.
- Mạch
logic thực hiện có chứa ít nhất
các vi mạch số.
1. Phương pháp đại số:
Dùng các định lý và tiên đề để rút
F gọn
(A, B,hàm.
C) = Σ (2, 3, 5, 6, 7)
=
=
ABC + ABC + ABC + ABC +
ABC
AB(C + C) + AC(B + B) +
AB(C + C)
AB + AC + AB
=
(A + A)B + AC
=
B + AC
=
16
2. Phương pháp bìa KARNAUGH:
a. Cách biểu diễn:
- Bìa K gồm các ô vuông, mỗi ô
vuông biểu diễn cho tổ hợp n biến. Như
vậy bìa K cho n biến sẽ có 2n ô.
- Hai ô được gọi là kề cận nhau khi
tổ hợp biến mà chúng biểu diễn chỉ
khác
nhau ô
1 biến.
- Trong
sẽ ghi giá trị tương ứng của
hàm Boole tại tổ hợp đó. Ởû dạng chính
tắc 1 thì đưa các giá trị 1 và X lên các
ô, không đưa các giá trị 0. Ngược lại,
dạng chính tắc 2 thì chỉ đưa giá trị 0 và X.
F (A, B) = Σ (0, 2) + d(3) = ∏
* Bìa 2 biến:
(1) . D(3)
F A
F A
F A
0 1
0 1
0 1
B
0 0 2
1 1 3
B
0 1 1
1
X
B
0
1 0 X
17
* Bìa 3 biến:
F AB
0 0
0 1
2
0 0
1
1
6
1
0
4
1 1 3
7
5
C
F (A, B, C) = Σ (2, 4, 7) + d(0, 1) = ∏ (3,
5, 6) . D(0, 1)
F AB
0 0
X 1
1
0 0
1
1
1 X
1
C
1
0
1
F AB
0 0
X 1
0 0
C
1 X 0
1
1
0
1
0
0
18
F AB
* Bìa 4 biến:
0 0 1
1
0 1
4 1
0 0
2
0
1
5
1
0
1 3 7 3
1
1
1 2 6 5
1
1
4
0
CD
* Bìa 5 biến:
F
A
BC
DE
0
0 0 1
0 1
4 11
0 0
2
0
1
5
1
0
1 3 7 3
1
1
1 2 6 5
1
1
4
0
1 1
0
0
8 2
4
9 2
5
1 2
1 7
1 2
0 6
1
0
8
9
1
1
1
0
1
1 0
1
21 2
8 0
2 2
9 1
3 2
1 3
3 2
0 2
0
0
1
6
1
7
1
9
1
8
19
b. Rút gọn bìa Karnaugh:
- Liên kết đôi: Khi liên kết (OR) hai ô
*có
Nguyên
tắc:
giá trị
1 (Ô_1) kề cận với nhau trên
bìa K, ta sẽ được 1 số hạng tích mất đi 1
biến so với tích chuẩn (biến mất đi là
biến khác nhau giữa 2 ô). Hoặc khi liên
kết (AND) hai ô có giá trị 0 (Ô_0) kề
cận với nhau trên bìa K, ta sẽ được 1 số
hạng tổng mất đi 1 biến so với tổng
chuẩn (biến mất đi là biến khác nhau
F AB
F AB
giữa
2 ô).
C 0 0 1 1
C 0 0 1 1
1 1
1 0
0
0 0 1
0 0 1 1 0
1
0
1
BC
A +B
20
- Liên kết 4: Tương tự như liên kết
đôi khi liên kết 4 Ô_1 hoặc 4 Ô_ 0 kề
cận với nhau, ta sẽ loại đi được 2 biến (2
biến khác nhau giữa 4 ô)
F AB
0 0
1 1
0 0
1
1
C
1 1
1
0
1
1
B
F AB
0
0 0
0
1
1
1
1
0
1 0 0
0
0
C
C
21
- Liên kết 8: liên kết 8 ô kề cận
với nhau, ta sẽ loại đi được 3 biến (3
biến khác nhau giữa 8 ô)
F AB
F AB
CD 0 0 1 1
CD 0 0 1 1
0 1 1 0
0
0 0 1 1 0
0 0
0
0 1 1
1 1 1
1
1
1
0
1
1
1
1
D
0
0 0
1 0
1
1
1 0
0
0
0
0
B
- Lieân kết 2k: khi ta liên kết 2k Ô_1
hoặc 2k Ô_0 kề cận với nhau ta sẽ loại
đi được k biến (k biến khác nhau giữa 2k
ô)
22
Các ví dụ về 2 ơ kế cận
F
AB
CD
10
00
F
00
11
1
1
01
F
01
AB
CD
10
00
11
10
10
CD
10
00
F
00
01
11
01
11
0
01
11
AB
00
01
11
AB
CD
10
00
0
00
01
01
11
11
0
10
0
10
1
1
Các ví dụ về 4 ơ kế cận
F
AB
F
CD
10
00 1
01
00
01
1
11
CD
10
00
1
1
CD
11
AD
10
F
AB
CD
10
00
00
01
1
1
11
1
1
01
11
01
11
10
F
00
01
1
11
1 AD
01
1
1
AB
CD
10
00
BD
11
10
AB
01
11
10
00
1
1
1
1
Các ví dụ về 4 ơ kế cận
F
F
AB
00
CD
10
00 0
01
01
11
0
0
C+ D
0
00
CD
10
00
A+ D
11
10
F
AB
00
CD
10
00
01
01
0
0
11
0
0
11
10
F
01
11
0
0
01
A+ D
0
0
AB
00
CD
10
00
B+ D
11
10
AB
01
11
10
01
11
0
0
0
0