You are on page 1of 41

Chương 3:

ĐẠI SỐ BOOLE VÀ CÁC


CỔNG LOGIC
I. CẤU TRÚC ĐẠI SỐ BOOLE

• Là cấu trúc đại số được định nghĩa trên một tập phần tử
nhị phân X = {0,1} và các phép toán nhị phân: AND, OR và
NOT.
Ví dụ: Đại số Boole với 2 biến
A B
B A+B
A.B (A(A ORB)
AND B)
0 0 00
0 1 01
1 0 01
1 1 11
A Ᾱ (NOT A)
A bust of George Boole at
0 1 University College Cork
Photo by J. Emmons
1 0
I. CẤU TRÚC ĐẠI SỐ BOOLE

1. Các tiên đề
• Giao hoán A+B=B+A
A.B = B.A

• Phối hợp A + (B + C) = (A + B) + C
A . (B.C) = (A.B) . C

• Phân bố A.(B+C) = A.B + A.C


A + (B.C) = (A + B) . (A + C)
I. CẤU TRÚC ĐẠI SỐ BOOLE

• Tồn tại hai phần tử trùng hòa ký hiệu là 0 và 1


A+0=A
A.1 = A
• Phần tử bù
A+Ᾱ=1
A.Ᾱ = 0
I. CẤU TRÚC ĐẠI SỐ BOOLE

2. Các định lý

• Định lý 1: 𝐴=𝐴

• Định lý 2: A+1=1 A.0=0

• Định lý 3: A+A=A A.A = A

• Định lý 4: A + (A.B) = A
A + 𝐴B = A + B
A.(A + B) = A
I. CẤU TRÚC ĐẠI SỐ BOOLE

• Định lý 5: Định lý Demorgan


𝐴 + 𝐵 = 𝐴. 𝐵
𝐴. 𝐵 = 𝐴 + 𝐵
Vd: Rút gọn các hàm sau:
S1 = A + B DD + A + A D
S2 = CAB + AB
S3 = AB + B B + C + BC
S4 = A + B + CD
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

1. Phương pháp đại số:


• 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ị phân AND, OR, NOT.
• Với các giá trị cho trước của các biến, hàm Boole sẽ có
giá trị là 0 hoặc 1.
𝐹 𝑥, 𝑦, 𝑧 = 𝑥. 𝑦 + 𝑥. 𝑦. 𝑧
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

2. Phương pháp bảng chân trị:


𝐹 𝑥, 𝑦, 𝑧 = 𝑥. 𝑦 + 𝑥. 𝑦. 𝑧

x y z F
0 0 0 00
0 0 1 11
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 11
1 1 1 11
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

3. Phương pháp dạng chuẩn 1


• Tích chuẩn: là tích số của x y z F
các biến (and), nếu giá trị của 𝑚0 = 𝑥 𝑦𝑧
0 0 0
biến là 0 thì biến ở dạng bù
0 0 1 𝑚1 = 𝑥𝑦𝑧
𝑦z
và không bù nếu là 1  (mi)
0 1 0 𝑚22==𝑥𝑦_
𝑚 𝑥y𝑧𝑧
Vd: Các minterm cho hàm 3 0 1 1 𝑥yz
𝑚3 = 𝑥𝑦𝑧
biến 1 0 0 𝑚4 = 𝑥𝑥𝑦
𝑦𝑧
1 0 1 𝑦z
𝑚5 = 𝑥 𝑦𝑧
1 1 0 𝑚6 = 𝑥𝑦𝑧
1 1 1 𝑚7 = 𝑥𝑦𝑧
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE
• Dạng chuẩn 1: là dạng tổng các tích chuẩn, mà ở đó hàm có giá
trị bằng 1 (tổng các tích chuẩn)
2𝑛 −1

𝐹= 𝑚𝑖𝐹𝑖
𝑖=0

• Vd: Cho bảng chân trị, hãy biểu diễn


hàm F ở dạng chuẩn 1
F = xyz + xyz + xyz + xyz + xyz
= m1 +m2 +m5 +m6 +m7
= (1,2,5,6,7)
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

Vd: Biểu diễn hàm F(A, B, C) ở dạng chuẩn 1.

𝐹 = (𝐴 + 𝐵)(𝐴 + 𝐶)

𝐹 = 𝐴𝐴 + 𝐴. 𝐶 + 𝐵𝐴 + 𝐵𝐶

𝐹 = 𝐴. 𝐶(𝐵 + 𝐵) + 𝐵𝐴(𝐶 + 𝐶) + 𝐵𝐶(A + 𝐴)

𝐹 = 𝐴𝐵𝐶 + 𝐴𝐵𝐶 + 𝐴𝐵𝐶 + 𝐴𝐵𝐶 + 𝐴𝐵𝐶 + 𝐴𝐵𝐶


𝐹 = 𝑚0 + 𝑚1 + 𝑚5 + 𝑚7 = (0, 1, 5, 7)
Vd: Viết dạng biểu thức của hàm F sau:
𝐹(𝐴, 𝐵, 𝐶) = Σ(1,4,5,6)
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

4. Phương pháp dạng chuẩn 2


• Tổng chuẩn: là tổng số x y z F
của các biến (or), nếu
0 0 0 𝑀0 = 𝑥 + 𝑦 + 𝑧
giá trị của biến là 1 thì
0 0 1 𝑀1 = 𝑥 + 𝑦 + 𝑧
biến ở dạng bù và
0 1 0 𝑀2 = 𝑥 + 𝑦 + 𝑧
không bù nếu là 0 (Mi).
0 1 1 𝑀3 = 𝑥 + 𝑦 + 𝑧
Vd: Các maxterm cho
1 0 0 𝑀4 = 𝑥 + 𝑦 + 𝑧
hàm 3 biến
1 0 1 𝑀5 = 𝑥 + 𝑦 + 𝑧
 Nhận thấy 𝑚𝑖 = 𝑀𝑖
1 1 0 𝑀6 = 𝑥 + 𝑦 + 𝑧
1 1 1 𝑀7 = 𝑥 + 𝑦 + 𝑧
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

• Dạng chuẩn 2: là dạng tích các maxterm, mà ở đó hàm có


giá trị bằng 0. 2𝑛 −1

𝐹= (𝑀𝑖 + 𝐹𝑖)
𝑖=0

• Vd: Cho bảng chân trị, hãy biểu diễn


hàm F ở dạng chuẩn 2
𝐹 = 𝑥 + 𝑦 + 𝑧 𝑥 + 𝑦 + 𝑧 (𝑥 + 𝑦 + z)
= M0 +M3 +M4
= Π(0,3,4)
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

• Vd: Biểu diễn hàm F sau ở dạng chuẩn 2


𝐹 = (𝐴 + 𝐵)(𝐴 + 𝐶)
• Trường hợp tùy định: Hàm boolen
n biến không được định nghĩa hết
tất cả 2n tổ hợp biến phụ thuộc.
Tại các tổ hợp không sử dụng này,
hàm nhận giá trị tùy định.

𝐹 x, y, z = Σ 1,2,5,6 + 𝑑(0,7)

hoặc 𝐹 x, y, z = Π 3,4 . 𝐷(0,7)


II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

5. Bìa Karnaugh
• Bìa Karnaugh gồm các ô vuông, mỗi ô biểu diễn cho n
biến. Như vậy bìa Karnaugh cho n biến sẽ có 2n ô.
• Hai ô được gọi là kề 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 chuẩn 1 thì đưa các giá trị 1 và X lên các ô, ở
dạng chuẩn 2 thì đưa giá trị 0 và X.
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

• Bìa 2 biến

0 2
1 3

Vd: Điền giá trị của hàm F sau lên bìa K


F(A,B) = Σ(0,2)+d(3) = Π(1).D(3)

1 1 0
X X
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

• Bìa 3 biến

0 2 6 4
1 3 7 5

Vd: Điền giá trị của hàm F sau lên bìa K


F(A,B,C) = Σ(2,4,7)+d(0,1) = Π(3,5,6).D(0,1)

X 1 1 X 0
X 1 X 0 0
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

• Bìa 4 biến

0 4 12 8
1 5 13 9
3 7 15 11
2 6 14 10
• Bìa 5 biến

0 4 12 8 24 28 20 16
1 5 13 9 25 29 21 17
3 7 15 11 27 31 23 19
2 6 14 10 26 30 22 18
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

Vd: Cho bảng chân trị sau, điền giá trị vào bìa K

1 X 1
X

0 X
0 0 0 X
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

Vd: Cho hàm F sau, hãy điền vào bìa K


𝐹 𝐴, 𝐵, 𝐶, 𝐷 = 𝐴𝐵𝐶𝐷 + 𝐴𝐵𝐷 + 𝐵𝐶𝐷 + 𝐴𝐵
= Σ (4,8,9,10,11,12,13,14)

1 1 1
1 1
1
1 1
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

Vd: Cho hàm F sau, hãy điền vào bìa K


𝐹 𝐴, 𝐵, 𝐶, 𝐷 = 𝐴 + 𝐵 + 𝐶 + 𝐷 𝐴 + 𝐶 + 𝐷 𝐵 + 𝐶 + 𝐷 𝐶 + 𝐷

= Π(0,2,4,6,8,12,14)

0 0 0 0

0 0 0
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

6. Rút gọn bìa Karnaugh


• 2 ô kế cận: 2 ô được gọi là kế cận nhau nếu chúng nằm
kế nhau hoặc đối xứng với nhau qua trục.
• 4 ô kế cận nhau nếu chúng gồm hai nhóm ô kế cận và mỗi
ô của nhóm này là kế cận với một nhóm kia.
• Tương tự cho định nghĩa 8 ô kế cận và 2n ô kế cận.
• Các ô kế cận được gom thành 1 nhóm nếu chúng có cùng
giá trị 0 hay 1.
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

 Liên kết đôi:

• Khi gom hai ô có giá trị 1 kề cận nhau trên bìa K, ta được
1 số hạng tích mất đi một 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 gom 2 ô có giá trị 0 kề cận nhau trên bìa K, ta
được một số hạng tổng mất đi một biến so với tổng chuẩn.

0
F = BCD
1 1

0
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

 Liên kết 4: tương tự như liên kết đôi, khi gom 4 ô có giá trị
1 hoặc có giá trị 0 kề cận nhau ta sẽ loại đi được hai biến
(2 biến là biến khác nhau giữa 4 ô).

1 1 1 1 0 0
0 0

F=C F=A
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

 Liên kết 8 ô: gom 8 ô kề cận nhau, ta sẽ loại đi được 3


biến (3 biến khác nhau giữu 8 ô)

0 0
1 1 1 1 0 0
1 1 1 1 0 0
0 0

 Liên kết 2n: khi gom 2n ô có giá trị 1 hoặc 2n ô có giá trị 0
kề cận với nhau ta sẽ loại đi được n biến (n biến khác
nhau giữa 2n ô)
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

 Các bước rút gọn hàm Boole theo dạng chuẩn 1 (SOP)

• Ghi giá trị 1 của hàm Boole lên bìa Karnaugh


• Thực hiện gom các ô có giá trị 1, sao cho mỗi ô được gom
ít nhất 1 lần, mỗi liên kết cho ta 1 số hạng tích.
• Biểu thức rút gọn có được bằng cách lấy tổng (or) của các
số hạng tích liên kết trên.
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

Vd: Cho bảng chân trị sau, hãy rút gọn hàm Boole theo bìa K

1 1
1 1 1

𝐹 = 𝐴𝐵 + 𝐴C + 𝐵𝐶 + 𝐴𝐵𝐶
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

 Các bước rút gọn hàm Boole theo dạng chuẩn 2 (POS)

• Ghi giá trị 0 của hàm Boole lên bìa K


• Thực hiện gom các ô có giá trị 0, sao cho mội ô được gom
ít nhất một lần, mỗi liên kết cho ta 1 số hạng tổng.
• Biểu thức rút gọn có được bằng cách lấy tích (AND) của
các số hạng tổng liên kết trên.
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

Vd: Tìm biểu thức của hàm Boole có giá trị sau
𝐹 𝐴, 𝐵, 𝐶, 𝐷 = Π(0,4,8,912,13,15)

0 0 0 0
0 0
0

𝐹 𝐴, 𝐵, 𝐶, 𝐷 = (𝐶 + 𝐷)(𝐴 + 𝐶)(𝐴 + 𝐵 + 𝐷)
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

 Trường hợp rút gọn hàm Boole có tùy định: coi các ô tùy
định này là ô có giá trị 1 hoặc giá trị 0 sao cho có lợi khi
gom các ô (gom được nhiều ô kề cận nhất).
Vd: Tìm biểu thức của hàm Boole có giá trị sau

𝐹 𝐴, 𝐵, 𝐶, 𝐷 = Σ(0,4,8,10)+d(2,12,15)

1 1 X 1

X
X 1
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

Vd: Tìm biểu thức của hàm Boole có giá trị sau

𝐹 𝐴, 𝐵, 𝐶, 𝐷 = Π 0,2,3,4,6,10,14 . 𝐷(8,9,11,12,13)
II. CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE

 Lưu ý:

• Ưu tiên gom các ô chỉ có 1 kiểu liên kết (liên kết có nhiều
ô nhất)
• Khi gom phải đảm bảo có chứa ít nhất 1 ô chưa được gom
lần nào
• Có thể có nhiều cách gom nhưng kết quả phải tương
đương nhau
• Coi các ô tùy định như là những ô liên kết rồi.
III. CỔNG LOGIC

1. Cổng NOT

𝑥 𝑥

2. Cổng AND
𝑥 𝑧 = 𝑥. 𝑦
𝑦
x y z
0 0 0
0 1 0 Với cổng AND có nhiều ngõ vào, ngõ ra
1 0 0 là 1 nếu tất cả các ngõ vào đều là 1
1 1 1
III. CỔNG LOGIC

3. Cổng OR
𝑥
𝑧 =𝑥+𝑦
𝑦

x y z
0 0 0
Với cổng OR có nhiều ngõ vào, ngõ ra
0 1 1
là 0 nếu tất cả các ngõ vào là 0
1 0 1
1 1 1
III. CỔNG LOGIC

4. Cổng NAND
𝑥 𝑧 = 𝑥𝑦
𝑦
x y z
0 0 1
0 1 1 𝑥 𝑧 = 𝑥. 𝑦 𝑧
1 0 1
1 1 0 𝑦

Với cổng NAND có nhiều ngõ vào, ngõ ra là 0 nếu tất cả


ngõ vào là 1
III. CỔNG LOGIC

5. Cổng NOR

𝑥 𝑧 =𝑥+𝑦

𝑦
x y z
0 0 1
𝑥 𝑧 =𝑥+𝑦
0 1 0 𝑧
1 0 0
𝑦
1 1 0

Với cổng NOR có nhiều ngõ vào, ngõ ra là 1 nếu tất cả


ngõ vào là 0
III. CỔNG LOGIC

6. Cổng XOR
𝑥
𝑧 = 𝑥𝑦
𝑦

x y z
0 0 0
0 1 1 𝑧 = 𝑥𝑦 = 𝑥𝑦 + 𝑥 𝑦 = (𝑥 + 𝑦)(𝑥 + 𝑦)
1 0 1
1 1 0

Với cổng XOR có nhiều ngõ vào, ngõ ra sẽ là 1 nếu tổng số bit
1 ở các ngõ vào là số lẻ.
III. CỔNG LOGIC

7. Cổng XNOR
𝑥
𝑧 = 𝑥𝑦
𝑦

x y z
0 0 1
0 1 0
𝑧 = 𝑥𝑦 = 𝑥𝑦 + 𝑥𝑦 = (𝑥 + 𝑦)(𝑥 + 𝑦)
1 0 0
1 1 1

Với cổng XNOR có nhiều ngõ vào, ngõ ra sẽ là 1 nếu tổng


số bit 1 ở các ngõ vào là số chẵn.
IV. THỰC HIỆN HÀM BOOLE BẰNG CỔNG LOGIC

1. Cấu trúc cổng AND – OR


Biểu diễn hàm Boole theo dạng tổng các tích (SOP)
𝐹 𝐴, 𝐵, 𝐶, 𝐷 = 𝐴𝐵𝐷 + 𝐶 𝐷
2. Cấu trúc cổng OR – AND
Biểu diễn hàm Boole theo dạng tích các tổng (POS)

𝐹 𝐴, 𝐵, 𝐶, 𝐷 = (𝐴 + 𝐷)(𝐵 + 𝐶 + 𝐷)
3. Cấu trúc cổng AND – OR – INVERTER
Biểu diễn hàm Boole theo dạng BÙ tổng các tích

𝐹 𝐴, 𝐵, 𝐶, 𝐷 = 𝐴𝐷 + 𝐵𝐶
IV. THỰC HIỆN HÀM BOOLE BẰNG CỔNG LOGIC

4. Cấu trúc cổng OR – AND – INVERTER


Biểu diễn hàm Boole theo dạng BÙ tích các tổng

𝐹 𝐴, 𝐵, 𝐶, 𝐷 = (𝐴 + 𝐷)(𝐵 + 𝐶)
5. Cấu trúc toàn cổng NAND
• Biểu diễn hàm Boole theo dạng bù của một số hạng tích
• Dùng đ.lý DeMorgan để biến đổi số hạng tổng thành tích
• Cổng NOT cũng được thay thế bằng cổng AND
𝐹 𝐴, 𝐵, 𝐶, 𝐷 = 𝐴𝐵 + 𝐶𝐷

𝐹 𝐴, 𝐵, 𝐶, 𝐷 = (𝐴 + 𝐷) (𝐵 + 𝐶 + 𝐷)
IV. THỰC HIỆN HÀM BOOLE BẰNG CỔNG LOGIC

6. Cấu trúc toàn cổng NOR


• Biểu diễn hàm Boole theo dạng bù của một số hạng tổng
• Dùng đ.lý DeMorgan để biến đổi số hạng tích thành tổng
• Cổng NOT cũng được thay thế bằng cổng NOR

𝐹 𝐴, 𝐵, 𝐶, 𝐷 = (𝐴 + 𝐷) + (𝐵 + 𝐶 + 𝐷)

𝐹 𝐴, 𝐵, 𝐶, 𝐷 = 𝐴𝐵𝐷 + 𝐶𝐷

𝐹 𝐴, 𝐵, 𝐶, 𝐷 = 𝐴 + 𝐷 + 𝐵 + 𝐶 + (𝐶 + 𝐷)

You might also like