420 likes | 428 Views
Boolean Algebra is a mathematical technique introduced by George Boole, widely used in circuit design. Learn the basics of Boolean Algebra, its operations, theorems, and applications in computer science.
E N D
พีชคณิตบูลีน Boolean Algebra
AB + AB +AB = A + B Y = AB + AB +AB = B(A+A) + AB = B.1 + AB = B + A = A + B Y = AB + AB +AB = B(A+A) + AB = B.1 + AB = B + A = A + B A A A B 1 B 1 1 B F = m0m1m3 F = m2
Boolean Algebra • พีชคณิตบูลลีน เป็นเทคนิคทางคณิตศาสตร์ หลังจากถูกคิดค้นขึ้นโดย จอร์จ บูล (George Boole : 1815-1864) เกือบ 100 ปี จึงถูกนำมาใช้ โดยนักวิทยาศาสตร์ชื่อแชนนอน (Claude Shannan) ในปี ค.ศ. 1938 แชนนอน ได้นำหลักการนี้มาแก้ปัญหาในงานโทรศัพท์ที่ต้องใช้รีเลย์จำนวนมาก หลังจากนั้นได้มีการนำเอาหลักการทางพีชคณิตบูลลีนนี้ มาออกแบบวงจรคอมพิวเตอร์ซึ่งทำงานด้วยแรงดันเพียง 2 ระดับ
Boolean Algebra ตัวแปรในพีชคณิตบูลลีน มักจะใช้ตัวอักษรพิมพ์ใหญ่ เช่น A, B,…. โดยค่าของตัวแปรแต่ละตัวอาจจะเป็น 0 หรือ 1 ก็ได้ ตัวแปรจะเป็นตัวถูกกระทำโดยตัวดำเนินการ
BooleanAlgebra • การดำเนินการแบบ NOT X = NOT A จะเห็นว่าตัวแปร A ถูกกระทำโดยตัวดำเนินการ NOT ในพีชคณิตบูลลีน จะเขียนเครื่องหมายขีดบนตัวอักษรเรียกว่า บาร์ (bar) แทนตัวดำเนินการ NOT ซึ่งสามารถเขียนได้ดังนี้ อ่านว่า “X เท่ากับนอต A” หรือ “X เท่ากับคอมพลีเมนต์ของ A”
Boolean Algebra • การดำเนินการแบบ OR X = A OR B ในพีชคณิตบูลลีนจะเรียกการออร์ (OR) ว่าเป็นการบวกแบบบูลลีน จึงใช้เครื่องหมาย + (บวก) แทนตัวดำเนินการ OR ดังนี้ X = A + B อ่านว่า “X เท่ากับ A ออร์ B” ผลลัพธ์ของเทอมบวกจะมีค่าเป็น 1 เมื่อตัวแปรตั้งแต่หนึ่งตัวขึ้นไปมีค่าเป็น 1
Boolean Algebra • การดำเนินการแบบ AND X = A AND B ในพีชคณิตบูลลีน จะเรียกการแอนด์ (AND) ว่าการคูณแบบบูลลีน โดยใช้เครื่องหมายจุดกลางบรรทัดวางระหว่างตัวแปร ดังนี้ X = A·B แต่การเขียนโดยทั่วไปจะไม่ใส่จุดเพราะเขียนง่าย สะดวกกว่าและถือเป็นรูปแบบมาตรฐานของนิพจน์การแอนด์ ดังนี้ X = AB
Boolean Theorems • A1 = ? AA+0=?A • AA= ? A A+A=?A • A0= ? 0 A+1 =?1 • AA= ? 0 A+A=? 1
Boolean Theorems • InvolutionA =? A • Commutative law for AND AB = BA • Commutative law for OR A+B = B+A • Associative law for ANDA(BC) = (AB)C • Associative law for OR A+(B+C) = (A+B)+C • Distributive law for AND over ORA(B+C) = AB + AC • Distributive law for OR over ANDA+BC = (A+B)(A+C)
Boolean Theorems • For the distributive lawA+BC = (A+B)(A+C)Let’s verify the expression with a truth table.
Boolean Theorems • Absorption laws for Boolean algebra A+AB = A A(A+B) = A Proof Proof A+AB = A.1+AB = A(1+B) = A.1 = A A(A+B) = A.A+AB = A+AB = A.1+AB = A(1+B) = A.1 = A
A+AB = (A+A)(A+B) = 1(A+B) = A+B A(A+B) = AA+AB = 0+AB = AB Boolean Theorems • Two additional types of absorption laws A+AB =? A(A+B) =? Proof Proof In summary, therefore, and
De Morgan’s Theorems • Two very important results and Exercise Verify that
Practice • จงลดรูปสมการต่อไปนี้โดยการใช้พีชคณิตบูลีน 1. Solution
Practice • จงลดรูปสมการต่อไปนี้โดยการใช้พีชคณิตบูลีน 2. 0 0 XZ Solution
Standard Forms of Boolean Function • Minterms For a Boolean function of two variable, there are 22 = 4 minterms-one for each row of truth table. These minterms are designated m0,m1,m2,m3 If the bit of binary number is0, then variable in the mintermsiscomplemented ---------------”---------------1, ----------------” -----------------uncomplemented
Standard Forms of Boolean Function • Sum of Minterms Form Every function can be written as a sum of minterms, which is a special kind of sum of products form (SOP) The sum of minterms form for any function is unique If you have a truth table for a function, you can write a sum of minterms expression just by picking out the rows of the table where the function output is 1.
Standard Forms of Boolean Function • Sum of Minterms Form Example
Maxterms For a Boolean function of two variable, there are 22 = 4 maxterms-one for each row of truth table. These maxterms are designated M0,M1,M2,M3 Standard Forms of Boolean Function If the bit of binary number is0, then variable in the maxtermsisuncomplemented ---------------”---------------1, ----------------” -----------------complemented
Standard Forms of Boolean Function • Product of Maxterms Form Every function can be written as a product of maxterms, which is a special kind of product of sums form (POS) The product of maxterms form for any function is unique If you have a truth table for a function, you can write a product of maxterms expression just by picking out the rows of the table where the function output is 0.
Product of Maxterms Form Example Standard Forms of Boolean Function
Simplification of Boolean Functions • When a Boolean function is expressed either as a sum of minterms or as product of maxterms, we say that such a function is in canonical form Canonical Sum Canonical Product
Two Layer Structures Here is an example of a two-layer circuit we saw earlier. The input layer is composed of ANDS and the output layer is a single OR. This circuit implements a sum of products expression
A Logic Problem - Determine the Boolean function represented by this truth table. - Design a two layer (AND/OR) implementation for your Boolean function and draw the circuit
A Logic Problem - Determine the Boolean function represented by this truth table. - Design a two layer (AND/OR) implementation for your Boolean function and draw the circuit F = M0M2M3M4M5 F = (0,2,3,4,5) F = (A+B+C)(A+B+C)(A+B+C) (A+B+C)(A+B+C) F = (A+B)(A+B+C)
A Logic Problem Millie Farad has a digital design problem she is working on. She needs a logic circuit that will implement the function defined by the truth table below. • Your job is to do the following • Determine the Boolean function represented by this truth table. • Design a two layer (AND/OR) implementation for your Boolean function and draw • the circuit
AB + AB +AB = A + B Y = AB + AB +AB = B(A+A) + AB = B.1 + AB = B + A = A + B Y = AB + AB +AB = B(A+A) + AB = B.1 + AB = B + A = A + B EX1
A + AB +AB = A + B Y = A + AB +AB = A(1+B) + AB = A.1 + AB = A + AB = A + B EX2
AB + A +B = 0 Y = AB + A +B = AB + A + B = A + AB + B = A + B + B = A + 1 = 1 = 0 EX3
(A + AB)(AB) = AB Y = (A + AB)(AB) = (A + AB)(AB) = (A+B)(AB) = AAB + ABB = AB + AB = A(B+B) = AB EX4
1. Y = ABCD + BC + AD + ACD + A = A + BC + D 3. Y = ABC +ABC + ABC+ABC + ABC = A + BC 4. Y = [A(B+C) +AB]C = BC Exercise 2. Y = AB +CD + (AB)(C+D) = AB + CD
1. Y = ABCD + BC + AD + ACD + A = A + BC + D Y = ABCD + BC + AD + ACD + A = BC(AD+1) +AD(1+D) + A = BC(1) +AD(1) + A = BC +AD + A = A + BC +AD
2. f(A,B,C,D) = AB +CD + (AB)(C+D) = AB + CD f(A,B,C,D) = AB +CD + (AB)(C+D) = AB + CD = AB +CD + ABC+ABD = AB (1+C+D) + CD = AB (1) + CD = AB + CD
3. Y = ABC +ABC + ABC+ABC + ABC = A + BC Y = ABC +ABC + ABC+ABC + ABC = A + BC = ABC +AB(C+C) +AB(C+C) = ABC +AB(1) +AB(1) = ABC +AB +AB = ABC +A(B+B) = ABC +A = BC +A = A + BC
= BC+ACC = [AB+AC)+AB]C = [B(A+A)+AC]C 4. Y = [A(B+C) +AB]C = BC = [A(B+C) +AB]C = [B+AC]C = BC+0 = BC
Exercise 1.
Exercise 2.
Exercise 3. 4.
Exercise A Logic Problem 5. Millie Farad has a digital design problem she is working on. She needs a logic circuit that will implement the function defined by the truth table below. • Your job is to do the following • Determine the Boolean function represented by this truth table. • Design a two layer (AND/OR) implementation for your Boolean function and draw • the circuit