Chng 2 AI SO BOOLE CONG LOGIC I

Chöông 2: ÑAÏI SOÁ BOOLE – COÅNG LOGIC I. Caáu truùc ñaïi soá Boole: Laø caáu truùc ñaïi soá ñöôïc ñònh nghóa treân 1 taäp phaàn töû nhò phaân B = {0, 1} vaø caùc pheùp toaùn nhò phaân: AND (. ), OR (+), NOT (’ hoặc ). x y 0 0 1 1 0 1 x. y (x AND y) 0 0 0 1 x y 0 0 1 1 0 1 x’ (NOT x, x ) 1 0 x + y (x OR y) 0 1 1 1

* Thöù töï pheùp toaùn: theo thöù töï daáu ngoaëc ( ), NOT, AND, OR 1. Caùc tieân ñeà (Axioms): a. Tính kín (Closure Property): kq của phép toán thuộc tập nhị phân B b. Phaàn töû ñoàng nhaát (Identity Element): x. 1 = 1. x = x x+0 = 0+x = x c. Tính giao hoaùn (Commutative Property): x. y x+y = y. x = y+x d. Tính phaân boá (Distributive Property): x. (y+z) =x. y + x. z x+ y. z = (x+y). (x+z) e. Phaàn töû buø (Complement Element): x+x =1 x. x =0 2

2. Caùc ñònh lyù cô baûn (Basic Theorems): a. Ñònh lyù 1: x = x b. Ñònh lyù 2: x+x = x x. x = x c. Ñònh lyù 3: x+1 = 1 x. 0 = 0 d. Ñònh lyù 4: ñònh lyù haáp thu (Absorption) x+ x. y = x x. (x + y) = x e. Ñònh lyù 5: ñònh lyù keát hôïp (Associative) x + (y + z) = (x + y) + z x. (y. z) = (x. y). z f. Ñònh lyù 6: ñònh lyù De Morgan x+y = x+y Môû roäng: x 1 + x 2 +. . + xn = x 1. x 2. . xn = x 1 + x 2 +. . + xn 3

II. Haøm Boole (Boolean Function): 1. Ñònh nghóa: * Haøm Boole laø 1 bieåu thöùc ñöôïc taïo bôûi caùc bieán nhò phaân vaø caùc pheùp toaùn nhò phaân NOT, AND, OR. F (x, y, z) = x. y + x. y. z * Vôùi giaù trò cho tröôùc cuûa caùc bieán, haøm Boole seõ coù giaù trò laø 0 hoaëc 1. * Baûng giaù trò: x y z F 0 0 1 1 0 1 0 1 0 1 0 0 1 1 4

2. Buø cuûa 1 haøm: - Söû duïng ñònh lyù De Morgan: F = x. y + x. y. z = (x. y). (x. y. z) F = (x+y). (x+y+z) - Laáy bieåu thöùc ñoái ngaãu vaø laáy buø caùc bieán: * Tính ñoái ngaãu (Duality): Hai bieåu thöùc ñöôïc goïi laø ñoái ngaãu cuûa nhau khi ta thay pheùp toaùn AND baèng OR, pheùp toaùn OR baèng AND, 0 thaønh 1 vaø 1 thaønh 0. F = x. y + x. y. z Laáy ñoái ngaãu: ( x + y ). ( x + y + z ) Buø caùc bieán: F = (x+y). (x+y+z) 5

III. Daïng chính taéc vaø daïng chuaån cuûa haøm Boole: 1. Caùc tích chuaån (minterm) vaø toång chuaån (Maxterm): - Tích chuaån (minterm): mi (0 ≤ i ≤ 2 n-1) laø caùc soá haïng tích (AND) cuûa n bieán maø haøm Boole phuï thuoäc vôùi quy öôùc bieán ñoù coù buø neáu noù laø 0 vaø khoâng buø neáu laø 1. - Toång chuaån (Maxterm): Mi (0 ≤ i ≤ 2 n-1) laø caùc soá haïng toång (OR) cuûa n bieán maø haøm Boole phuï thuoäc vôùi quy öôùc bieán ñoù coù buø neáu noù laø 1 vaø khoâng buø neáu laø 0. x y z 0 0 1 1 0 1 0 1 minterm m 0 = m 1 = m 2 = m 3 = m 4 = m 5 = m 6 = m 7 = x x x x y y y y z z z z Maxterm M 0 = M 1 = M 2 = M 3 = M 4 = M 5 = M 6 = M 7 = x x x x + + + + y y y y + + + + z z z z mi = Mi 6

2. Daïng chính taéc (Canonical Form): a. Daïng chính taéc 1: laø daïng toång cuûa caùc tích chuaån (minterm) laøm cho giaù trò 1 x y z F 0 0 1 1 0 0 1 1 0 1 0 1 F(x, y, z) = haøm Boole coù xyz +xyz = m 1 + m 2 = m(1, 2, 5, 6, 7) + m 5 + m 6 +xyz + m 7 = (1, 2, 5, 6, 7) F(x, y, z) = (x + y + z) = M 0. M 3. M 4 = M(0, 3, 4) = (0, 3, 4) b. Daïng chính taéc 2: laø daïng tích cuûa caùc toång chuaån (Maxterm) laøm cho giaù trò 0 haøm Boole coù 7

* Tröôøng hôïp haøm Boole tuøy ñònh (don’t care): Haøm Boole n bieán coù theå khoâng ñöôïc ñònh nghóa heát taát caû 2 n toå hôïp cuûa n bieán phuï thuoäc. Khi ñoù taïi caùc toå hôïp khoâng söû duïng naøy, haøm Boole seõ nhaän giaù trò tuøy ñònh (don’t care), nghóa laø haøm Boole coù theå nhaän giaù tri 0 hoaëc 1. x y z F 0 0 1 1 X 1 1 0 0 1 1 X 0 0 1 1 0 1 0 1 F (x, y, z) = (1, 2, 5, 6) + d (0, 7) = (3, 4). D (0, 7) 8

3. Daïng chuaån (Standard Form): a. Daïng chuaån 1: laø daïng toång caùc tích (S. O. P – Sum of Product) F (x, y, z) = x y + z * F (x, y, z) = x y + z = x. y. 1 + 1. 1. z = x y (z + z) + (x + x) (y + y) z = xyz+xyz+xyz+xyz = m 6 + m 7 + m 1 + m 5 + m 3 = (1, 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) M 2. M 0. M 4 (0, 2, 4) 9

b. Daïng chuaån 2: laø daïng tích caùc toång (P. O. S – Product of Sum) F (x, y, z) = (x + z) y * F (x, y, z) = (x + z) y = xy + yz = x y (z + z) + (x + x) y z = xyz+ xyz +xyz = m 4 + m 5 + m 0 = (0, 4, 5) * F (x, y, z) = (x + z) y = (x + y y + z) (x x + y + z z) = (x + y + z)(x + y + z) = M 3. M 1. M 7. M 6. M 2 = (1, 2, 3, 6, 7) 10

IV. Coång logic: 1. Coång NOT: x x x t x 2. Coång AND: x y z = x. y x y z 0 0 1 1 0 0 0 1 0 1 x y z Vôùi coång AND coù nhieàu ngoõ vaøo, ngoõ ra seõ laø 1 neáu taát caû caùc ngoõ vaøo ñeàu laø 1 11

3. Coång OR: x y z = x+y x 0 0 1 1 y 0 1 z 0 1 1 1 z Vôùi coång OR coù nhieàu ngoõ vaøo, ngoõ ra seõ laø 0 neáu taát caû caùc ngoõ vaøo ñeàu laø 0 4. Coång NAND: x y z = x. y x 0 0 1 1 y 0 1 z 1 1 1 0 x y z Vôùi coång NAND coù nhieàu ngoõ vaøo, ngoõ ra seõ laø 0 neáu taát caû caùc ngoõ vaøo ñeàu laø 1 12

5. Coång NOR: x y z = x+y x 0 0 1 1 y 0 1 z 1 0 0 0 z Vôùi coång NOR coù nhieàu ngoõ vaøo, ngoõ ra seõ laø 1 neáu taát caû caùc ngoõ vaøo ñeàu laø 0 6. Coång XOR (Exclusive_OR): x y z = x y x 0 0 1 1 y 0 1 z 0 1 1 0 x y z Vôùi coång XOR coù nhieàu ngoõ vaøo, ngoõ ra seõ laø 1 neáu toång soá bit 1 ôû caùc ngoõ vaøo laø soá leû 13 z = x y + x y = (x + y)

7. Coång XNOR (Exclusive_NOR): x y z = x y x 0 0 1 1 y 0 1 z 1 0 0 1 x y z Vôùi coång XNOR coù nhieàu ngoõ vaøo, ngoõ ra seõ laø 1 neáu toång soá bit 1 ôû caùc ngoõ vaøo laø soá chaün z = x y + x y = (x + y) 14

V. Ruùt goïn haøm Boole: Ruùt goïn (toái thieåu hoùa) haøm Boole nghóa laø ñöa haøm Boole veà daïng bieåu dieãn ñôn giaûn nhaát, sao cho: - Bieåu thöùc coù chöùa ít nhaát caùc thöøa soá vaø moãi thöøa soá chöùa ít nhaát caùc bieán. - Maïch logic thöïc hieän coù chöùa ít nhaát caùc vi maïch soá. 1. Phöông phaùp ñaïi soá: Duøng caùc ñònh lyù vaø tieân ñeà ñeå ruùt goïn haøm. F (A, B, C) = (2, 3, 5, 6, 7) = ABC + ABC = AB(C + C) + AC(B + B) + AB(C + C) = AB + AC + AB = (A + A)B + AC = B + AC 15

2. Phöông phaùp bìa KARNAUGH: a. Caùch bieåu dieãn: - Bìa K goàm caùc oâ vuoâng, moãi oâ vuoâng bieåu dieãn cho toå hôïp n bieán. Nhö vaäy bìa K cho n bieán seõ coù 2 n oâ. - Hai oâ ñöôïc goïi laø keà caän nhau khi toå hôïp bieán maø chuùng bieåu dieãn chæ khaùc nhau 1 bieán. - Trong oâ seõ ghi giaù trò töông öùng cuûa haøm Boole taïi toå hôïp đoù. ÔÛû daïng chính taéc 1 thì ñöa caùc giaù trò 1 vaø X leân caùc oâ, khoâng ñöa caùc giaù trò 0. Ngöôïc laïi, daïng chính taéc 2 thì chæ ñöa giaù trò 0 vaø X. * Bìa 2 bieán: F A 0 1 B 0 0 2 1 1 3 F (A, B) = (0, 2) + d(3) = (1). D(3) F B 0 1 A 0 1 1 1 X F B A 0 1 0 X 0 1 16

* Bìa 3 bieán: F AB C 00 01 11 10 0 0 2 6 4 1 1 3 7 5 F (A, B, C) = (2, 4, 7) + d(0, 1) = (3, 5, 6). D(0, 1) F AB C 00 01 0 X 1 1 X 11 10 1 1 F AB C 00 01 0 X 11 10 0 17

F AB * Bìa 4 bieán: 00 01 11 10 00 0 4 12 8 01 1 5 13 9 11 3 7 15 11 10 2 6 14 10 CD * Bìa 5 bieán: F A BC 00 01 00 0 01 0 11 10 10 11 4 12 8 24 1 5 13 9 11 3 7 15 10 2 6 14 DE 1 01 00 28 20 16 25 29 21 17 11 27 31 23 19 10 26 30 22 18 18

b. Ruùt goïn bìa Karnaugh: * Nguyeân taéc: - Lieân keát ñoâi: Khi lieân keát (OR) hai oâ coù giaù trò 1 (O _1) keà caän vôùi nhau treân bìa K, ta seõ ñöôïc 1 soá haïng tích maát ñi 1 bieán so vôùi tích chuaån (bieán maát ñi laø bieán khaùc nhau giöõa 2 oâ). Hoaëc khi lieân keát (AND) hai oâ coù giaù trò 0 (O _0) keà caän vôùi nhau treân bìa K, ta seõ ñöôïc 1 soá haïng toång maát ñi 1 bieán so vôùi toång chuaån (bieán maát ñi laø bieán khaùc nhau giöõa 2 oâ). F AB C 00 0 1 BC 01 1 10 F AB C 00 01 11 0 10 0 1 0 A +B 19

- Lieân keát 4: Töông töï nhö lieân keát ñoâi khi lieân keát 4 O _1 hoaëc 4 O _ 0 keà caän vôùi nhau, ta seõ loaïi ñi ñöôïc 2 bieán (2 bieán khaùc nhau giöõa 4 oâ) F AB C 00 0 1 1 01 1 11 10 1 1 B F AB C 00 01 11 10 0 0 1 C 20

- Lieân keát 8: lieân keát 8 oâ keà caän vôùi nhau, ta seõ loaïi ñi ñöôïc 3 bieán (3 bieán khaùc nhau giöõa 8 oâ) F AB 00 01 11 10 CD CD 00 00 0 0 01 1 1 01 0 0 11 1 1 11 0 0 10 D B - Lieân keát 2 k: khi ta lieân keát 2 k O _1 hoaëc 2 k O _0 keà caän vôùi nhau ta seõ loaïi ñi ñöôïc k bieán (k bieán khaùc nhau giöõa 2 k oâ) 21

Các ví dụ về 2 ô kế cận F CD AB 00 01 11 1 10 CD 1 AB 01 11 11 10 10 AB 00 01 11 F 10 CD 00 11 11 10 0 00 01 1 01 0 AB 01 10 00 00 01 F CD 00 F 10 0 0

Các ví dụ về 4 ô kế cận F CD AB 00 1 01 11 1 1 10 CD 1 AB 00 01 1 1 11 11 1 1 10 10 AB 00 00 01 11 10 1 1 F CD 01 11 10 00 01 F CD 00 F AB 00 00 01 01 1 1 11 11 1 1 10

Các ví dụ về 4 ô kế cận F CD AB 00 0 01 11 0 10 0 CD 0 AB 00 01 01 0 0 11 11 0 0 10 10 00 01 AB 00 00 01 11 F 10 0 CD 0 11 10 00 01 F CD 00 F AB 00 01 01 0 0 11 11 0 0 10

Các ví dụ về 4 ô kế cận F CD AB 00 CD 11 10 00 01 F 01 0 0 0 F CD 0 AB 00 0 0 01 0 0 11 11 10 10 AB 00 00 01 11 F 10 CD 00 AB 00 01 11 10 00 0 0 01 01 0 0 11 11 10 0 0 10

Các ví dụ về 4 ô kế cận F CD AB 01 11 10 00 01 1 CD 1 AB 1 1 01 1 1 11 10 10 AB 00 00 01 11 10 F CD 00 00 11 F CD 00 F AB 00 01 11 10 00 1 1 01 01 1 1 11 11 10 1 1 10

Các ví dụ về 8 ô kế cận F CD AB 01 11 10 CD AB 00 00 1 1 00 0 0 01 1 1 01 0 0 11 11 0 0 10 10 0 0 F CD 00 F AB 00 00 1 01 1 10 1 F CD AB 00 01 11 10 00 01 01 0 0 11 11 0 0 10 1 1 10

* Caùc böôùc thöïc hieän ruùt goïn theo daïng S. O. P: - Bieåu dieãn caùc O _1 leân bìa Karnaugh - Thöïc hieän caùc lieân keát coù theå coù sao cho caùc O _1 ñöôïc lieân keát ít nhaát 1 laàn; moãi lieân keát cho ta 1 soá haïng tích. (Neáu O _1 khoâng coù keà caän vôùi caùc O _1 khaùc thì ta coù lieân keát 1: soá haïng tích chính baèng minterm cuûa oâ ñoù). - Bieåu thöùc ruùt goïn coù ñöôïc baèng caùch laáy toång (OR) cuûa caùc soá hạng tích lieân keát treân. F(A, B, C) = (0, 1, 3, 5, 6) F AB C AB 00 0 1 01 1 =AB+AC+BC+ABC 11 1 10 ABC 1 BC AC 28

* Caùc böôùc thöïc hieän ruùt goïn theo daïng P. O. S: - Bieåu dieãn caùc O _0 leân bìa Karnaugh - Thöïc hieän caùc lieân keát coù theå coù sao cho caùc O _0 ñöôïc lieân keát ít nhaát 1 laàn; moãi lieân keát cho ta 1 soá haïng tổng. - Bieåu thöùc ruùt goïn coù ñöôïc baèng caùch laáy tích (AND) cuûa caùc soá hạng tổng lieân keát treân. F(A, B, C, D) = (0, 4, 8, 9, 12, 13, 15) = (C + D) (A + C) (A + B + D) F AB 00 01 11 10 0 0 01 0 0 11 0 CD (C + D) 00 10 (A + C) (A + B + D) 29

Ru t go n ha m sau F CD AB 00 01 11 10 00 1 01 1 1 10 1 1 1

Ru t go n ha m sau F CD AB 00 01 00 1 1 01 1 1 11 11 1 1 10

* Tröôøng hôïp ruùt goïn haøm Boole coù tuøy ñònh: thì ta coù theå coi caùc O tuøy ñònh naøy laø O _1 hoaëc O _0 sao cho coù lôïi khi lieân keát (nghóa laø coù ñöôïc lieân keát nhieàu O keà caän nhaát) F(A, B, C, D) = (0, 4, 8, 10) + d (2, 15) = BD +CD F AB 00 00 1 CD 01 1 11 X 10 1 CD 01 11 10 X X 1 BD 32

F(A, B, C, D) = (0, 2, 3, 4, 6, 10, 14). D (8, 9, 11, 12, 13) = D (B + C) F AB 00 00 0 CD 01 0 01 11 0 10 0 11 X 10 X X 0 0 0 D (B + C) 33

* Chuù yù: - Öu tieân lieân keát cho caùc oâ chæ coù 1 kieåu lieân keát (phaûi laø lieân keát coù nhieàu oâ nhaát). - Khi lieân keát phaûi ñaûm baûo coù chöùa ít nhaát 1 oâ chöa ñöôïc lieân keát laàn naøo. - Coù theå coù nhieàu caùch lieân keát coù keát quaû töông ñöông nhau - Ta coi caùc tuøy ñònh nhö laø nhöõng oâ ñaõ lieân keát roài. Vd: Ruùt goïn caùc haøm F 1(A, B, C, D) = (1, 3, 5, 12, 13, 14, 15) + d (7, 8, 9) F 2(A, B, C, D) = (1, 3, 7, 11, 15). D(0, 2, 5) F 1(A, B, C, D, E) = (1, 3, 5, 7, 12, 14, 29, 31) + d (13, 15, 17, 19, 20, 21, 22, 23) F 2(A, B, C, D, E) = (0, 8, 12, 13, 16, 18, 28, 30). D(2, 6, 10, 14, 15, 24, 26) 34

VI. Thöïc hieän haøm Boole baèng coång logic: 1. Caáu truùc coång AND _ OR: Caáu truùc AND_OR laø sô ñoà logic thöïc hieän cho haøm Boole bieåu dieãn theo daïng toång caùc tích (S. O. P) F(A, B, C, D) = A B D + C D A B F(A, B, C, D) C D AND 0 R 35

2. Caáu truùc coång OR _ AND : Caáu truùc OR_AND laø sô ñoà logic thöïc hieän cho haøm Boole bieåu dieãn theo daïng tích caùc toång (P. O. S). F(A, B, C, D) = (A + D) (B + C+ D) A B F(A, B, C, D) C D OR AND 36

3. Caáu truùc coång AND _ OR _ INVERTER (AOI): Caáu truùc AOI laø sô ñoà logic thöïc hieän cho haøm Boole bieåu dieãn theo daïng buø (INVERTER = NOT) cuûa toång caùc tích. F(A, B, C, D) = A D + B C A F(A, B, C, D) B C D AND NOR 37

4. Caáu truùc coång OR _ AND _ INVERTER (OAI): Caáu truùc OAI laø sô ñoà logic thöïc hieän cho haøm Boole bieåu dieãn theo daïng buø cuûa tích caùc toång. F(A, B, C, D) = (A + D) (B + C) A F(A, B, C, D) B C D OR NAND 38

5. Caáu truùc toaøn coång NAND: Caáu truùc NAND laø sô ñoà logic thöïc hieän cho haøm Boole coù bieåu thöùc laø daïng buø cuûa 1 soá haïng tích. - Duøng ñònh lyù De-Morgan ñeå bieán ñoåi soá haïng toång thaønh tích. - Coång NOT cuõng ñöôïc thay theá baèng coång NAND F(A, B, C, D) = A B D + C D = ABD. CD A B F(A, B, C, D) C D NAND 39

F(A, B, C, D) = (A + D) (B + C+ D) = AD. BCD A B F(A, B, C, D) C D 40

- Trong thöïc teá ngöôøi ta chæ söû duïng 1 loaïi coång NAND 2 ngoõ vaøo; khi ñoù ta phaûi bieán ñoåi bieåu thöùc sao chæ coù daïng buø treân 1 soá haïng tích chæ coù 2 bieán F (A, B, C, D) = A B D. C D = ABD. CD A B F(A, B, C, D) C D 41

6. Caáu truùc toaøn coång NOR: Caáu truùc NOR laø sô ñoà logic thöïc hieän cho haøm Boole coù bieåu thöùc laø daïng buø cuûa 1 soá haïng toång. - Duøng ñònh lyù De-Morgan ñeå bieán ñoåi soá haïng tích thaønh toång - Coång NOT cuõng ñöôïc thay theá baèng coång NOR F(A, B, C, D) = (A + D) (B + C+ D) = (A + D) + (B + C+ D) A B F(A, B, C, D) C D NOR 42

F(A, B, C, D) = A B D + C D = (A + B + D) + (C + D) A B F(A, B, C, D) C D 43

- Slides: 44