บทที่ 4

พีชคณิตบูลีนและการออกแบบวงจรลอจิก

 

4.1     กล่าวนำ

พีชคณิตบูลีน (Boolean Algebra) เป็นส่วนหนึ่งในเรื่องทางคณิตศาสตร์ที่ใช้วิเคราะห์ปัญหาทางตรรก ถูกคิคค้นพัฒนาโดยนักคณิตศาสตร์ชาวอังกฤษ ชื่อ จอร์จ บูล (George Boole) ต่อมามีผู้พัฒนาให้สมบูรณ์ขึ้นอีกหลายคน ปัจจุบันเราใช้พีชคณิตบูลีนในการออกบบวงจรลอจิก ซึ่งตัวแปรแต่ละตัวจะแทนสภาวะเพียงสองอย่าง คือ 0 หรือ 1 เท่านั้น ซึ่งการนำทฤษฎีบูลีนมาใช้จะทำให้ลดความยุ่งยากของวงจรลอจิกลง ทำให้ประหยัดในการสร้าง และลดความผิดพลาดในการประกอบวงจรได้ นอกจากนี้พีชคณิตบูลีนยังเป็นพื้นฐานในการคิดค้นวิธีการลดรูปของสมการลอจิกให้สั้นลงอีกหลายวิธี ทำให้เราสามารถทำงานได้ถูกต้อง แม่นยำ และง่ายยิ่งขึ้น

 

4.2     หลักการเบื้องต้นของพีชคณิตบูลีน

ตัวคงที่ (Switching Constant) จะประกอบด้วย 2 สภาวะ คือ 0 และ 1 ซึ่งจะใช้แทนระดับของลอจิก

ตัวแปร (Switching Variable) คือ ตัวอักษร หรือสัญลักษณ์ใด ๆ ที่ใช้แทนการเปลี่ยนแปลงทางลอจิก เช่น A, B, C, D,… , , , ,   ซึ่งการเปลี่ยนแปลงของตัวแปรเหล่านี้จะมีการเปลี่ยนแปลงได้เพียงสองสภาวะเท่านั้น เช่น ให้ A เป็นตัวแปรใด ๆ ของพีชคณิตบูลีน

                ถ้า           A   ¹   0                แสดงว่าค่า A เป็น  1

                ถ้า           A   ¹   1                แสดงว่าค่า A เป็น  0

ซึ่งค่าดังกล่าวนี้จะเรียกว่า “ค่าความจริง” ของตัวแปร A หรือเรียกสั้น ๆ ว่า “ค่าของ

ตัวกระทำ (Operators) หรือเรียกว่าตัวดำเนินการ ซึ่งมีพื้นฐานหลัก ๆ เพียง 3 ตัว คือ

1. AND ใช้สัญลักษณ์คือ จุด ( × ) หรืออาจไม่มีจุดก็ได้ เมื่อตัวคงที่ 2 ตัว AND กัน ผลของการกระทำ AND จะเป็น 1 ได้ก็ต่อเมื่อตัวคงที่ทั้งสองต้องเป็น 1 นั่นคือ

                                                0 × 0        =   0

                                                0 × 1        =   0

                                                1 × 0        =   0

                                                1 × 1        =   1

2. OR ใช้สัญลักษณ์คือ บวก ( + ) เมื่อตัวคงที่ 2 ตัว OR กัน ผลของการกระทำ OR จะเป็น 1 ได้ก็ต่อเมื่อตัวคงที่ตัวใดตัวหนึ่งเป็น 1 หรือทั้งสองตัวเป็น 1 นั่นคือ

                                                0  +  0     =   0

                                                0  +  1     =   1

                                                1  +  0     =   1

                                                1  +  1     =   1

3. NOT หรือ INVERTER ใช้สัญลักษณ์คือ พราม ( prime : ¢ ) หรือ บาร์ (bar :    ) แต่ส่วนใหญ่จะนิยมใช้สัญลักษณ์ bar  เมื่อตัวคงที่ ถูก NOT  ผลของการ NOT จะทำให้ตัวคงที่ตัวมีค่าตรงกันข้ามกับค่าเดิม นั่นคือ

                                             1  หรือ  1¢   =   0

                                             0  หรือ  0¢   =   1

เทอม (Terms)  หมายถึง  กลุ่มของตัวแปรที่ถูกกระทำกันด้วยตัวกระทำ  เช่น  A × B  ,       (   A + B + C) ,   X × Y × Z  เป็นต้น

นิพจน์ (Expression)  หมายถึง  กลุ่มเทอมที่ถูกกระทำกันด้วยตัวกระทำ  เช่น  

A × B  + C × D เป็นต้น ปกติเรามักจะเรียกว่า Logic Expression หรือ Boolean Expression  โดยมีหลักการตีค่าของลำดับความสำคัญของการกระทำในนิพจน์ (Expression) ต่าง ๆ ดังนี้

                1. ถ้าไม่มีวงเล็บให้ถือการกระทำของ “AND” ก่อน “OR” เช่น

                                A × B + C × D

                อันดับแรกให้ทำ A × B และ C × D ก่อน

                อันดับที่สอง ให้เอาผลของ (A × B) มา OR กับ ผลของ (C × D)

2. ถ้ามีวงเล็บ ให้กระทำในวงเล็บก่อน โดยถ้ามีวงเล็บซ้อนกันหลาย ๆ ชั้น ให้กระทำในวงเล็บชั้นในที่สุดก่อนตามลำดับออกมา เช่น

                (A + B) ×{A×(B+C)+D}

                อันดับแรก ให้ทำ (B+C) ก่อน แล้วมา AND กับ A ผลลัพธ์ที่ได้จึงมา OR กับ D

                อันดับที่สอง ให้ทำ (A+B) แล้วจึงนำผลลัพธ์ มา AND กับผลลัพธ์ของวงเล็บปีกกา

3. ตัวแปรหรือสัญลักษณ์ตัวอักษรที่อยู่ในแต่ละเทอมของ Expression ที่เหมือนกัน จะถือว่าเป็นตัวแปรตัวเดียวกัน โดยจะคิดให้เหลือเพียงตัวแปร 1 ตัวเท่านั้น

4. สำหรับตัวกระทำ “NOT” จะกระทำก่อนหรือหลัง “AND” และ “OR” นั้น ขึ้นอยู่กับ ความยาวของ Bar ว่าครอบคลุมเพียงตัวแปรเดียวหรือทั้งหมด เช่น

                A  × B  หรือ A × B¢              ให้ NOT B ก่อน แล้วจึง AND กับ A

 

 

 


                A × (B+C)   หรือ (A × (B+C) ¢) ¢    ให้ทำ (B+C) ก่อน แล้วจึงเอาผลลัพธ์ไป NOT ผลลัพธ์ที่ได้นำไป AND กับ A  จากนั้นจึงผ่าน NOT อีกครั้งเป็นครั้งสุดท้าย

ฟังค์ชัน (Function)  หมายถึง  สมการที่แสดงให้ทราบถึงผลการถูกกระทำกันของเทอมและนิพจน์ต่าง ๆ ปกติ เรียกว่า Logic Function หรือ Boolean Function เช่น  

F             =  A × B + C

f(X,Y,Z)     =   X × Y + X¢× Z

                ฝั่งทางด้านซ้ายมือ เป็นผลลัพธ์ที่ได้ เรียกว่า Output or Logic output

                ฝั่งทางด้านขวามือ เป็นกลุ่มของตัวแปรที่ประกอบด้วย Term หรือ Expression เป็นตัวถูกกระทำ เรียกว่า Input หรือ Logic input

                ตารางความจริง (Truth Table)  หมายถึง  ารางที่แสดงผลของค่าความจริงของนิพจน์หรือ Logic output เมื่อค่าตัวแปรต่าง ๆใน Function มีค่าเปลี่ยนแปลงไปต่าง ๆ กัน เช่น

A

B

A×B

 

A

B

A+B

 

A

A

0

0

0

 

0

0

0

 

0

1

0

1

0

 

0

1

1

 

1

0

1

0

0

 

1

0

1

 

 

 

1

1

1

 

1

1

1

 

 

 

 

ตัวอย่างที่ 4.1 จงเขียนตารางความจริงของ  F  =   X × Y + X × Z

X

Y

Z

X×Y

X

 X × Z

F

0

0

0

0

1

0

0

0

0

1

0

1

1

1

0

1

0

0

1

0

0

0

1

1

0

1

1

1

1

0

0

0

0

0

0

1

0

1

0

0

0

0

1

1

0

1

0

0

1

1

1

1

1

0

0

1

 

 

4.3     สูตรและกฎของพีชคณิตบูลีน

ทฤษฎีบทที่ 1        กฎการสลับที่ (Commutative law)

                a)            A + B                     =    B + A

                b)            A × B                      =    B ×A

ทฤษฎีบทที่ 2        กฎการจัดหมู่ (Associative law)

                a)            (A + B) + C          =    A + (B + C)

                b)            (A × B)  × C           =    A × (B × C)

ทฤษฎีบทที่ 3        กฎการกระจาย (Distributive law)

                a)            A × (B + C)           =    A × B + A × C

                b)            A + (B × C)           =    (A + B) × (A + C)

ทฤษฎีบทที่ 4        กฎเอกลักษณ์ (Identity law)

                a)            A + A                     =    A

                b)            A × A                      =    A

ทฤษฎีบทที่ 5        กฎการนิเสธ (Negation law)

                a)            A                            =     A

                b)            A                            =    A

ทฤษฎีบทที่ 6        กฎการลดรูปเยิ่นเย้อหรือการดูดกลืน (Redundance law or Absorption law)

                a)            A + A×B               =    A

                b)            A × (A + B)          =    A

ทฤษฎีบทที่ 7        คุณสมบัติเกี่ยวกับการกระทำระหว่างตัวคงที่กับตัวแปรใด ๆ

                a)            0 + A                     =    A

                b)            1 × A                      =    A

                c)            1 + A                     =    1

                d)            0 × A                      =    0

ทฤษฎีบทที่ 8       

                a)            A + A                    =    1

                b)            A × A                     =    0

ทฤษฎีบทที่ 9       

                a)            A +  A×B              =    A + B

                b)            A × ( A + B)         =    A×B

 

ทฤษฎีบทที่ 10      ทฤษฎีของเดอมอร์แกน (De Morgan’s Theorem)

                a)            (A + B)                 =     A× B

                b)            (A ×B)                    =     A +  B

ทฤษฎีบทเพิ่มเติม  คุณสมบัติการกลืนหายหรือความสอดคล้องกัน (Consensus law)

                a)            A ×B + A × C +     B × C                      =     A × B + A × C

                b)            (A + B) × (A + C) × (B + C)              =    (A + B) × (A + C)

 

การพิสูจน์ทฤษฎีบทของพีชคณิตบูลีนนั้น เราสามารถพิสูจน์ได้หลายวิธี แต่มีวิธีหนึ่งที่ง่ายและเห็นได้ชัดเจนที่สุด คือการใช้ตารางความจริงในการพิสูจน์

ตัวอย่างที่ 4.2 จงพิสูจน์ว่าทฤษฎีของเดอมอร์แกนเป็นความจริง

                a)            (A + B)                 =     A× B

                b)            (A ×B)                    =     A +  B

พิสูจน์ โดยใช้ตารางความจริง

                a)            (A + B)                 =     A× B

                                                                                                          =  

A

B

A + B

 A + B

     A

    B

  A× B

0

0

0

1

1

1

1

0

1

1

0

1

0

0

1

0

1

0

0

1

0

1

1

1

0

0

0

0

 

                b)            (A ×B)                    =     A +  B

                                                                                                          =  

A

B

  A × B

   A × B

     A

    B

  A+ B

0

0

0

1

1

1

1

0

1

0

1

1

0

1

1

0

0

1

0

1

1

1

1

1

0

0

0

0

 

                การพิสูจน์ทฤษฎีบทของพีชคณิตบูลีนอีกวิธีหนึ่งนั้น เป็นการนำเอาทฤษฎีบทอื่น ๆ ที่เรายอมรับแล้วมาใช้ในการพิสูจน์

ตัวอย่างที่ 4.3 จงพิสูจน์ว่าคุณสมบัติการกลืนหายเป็นความจริง

                a)            A ×B + A × C +     B × C                      =     A × B + A × C

                b)            (A + B) × (A + C) × (B + C)              =    (A + B) × (A + C)

พิสูจน์ โดยใช้ทฤษฎีบทอื่น ๆ

                A ×B + A × C +     B × C      =     A × B + A × C +  B × C × 1                          (บท 7a)

                                                                =     A × B + A × C +  B × C × (A + A)              (บท 8a)

                                                                =     A × B + A × C + A ×B × C +  A ×B × C      (บท 3a)

                                                                =     (A×B + A×B× C) + (A ×C  +  A ×B × C)                  

                                                                =     A×B×(1 + C)  +  A ×C × (1 +  B)                (บท 3a)

                                                                =     A×B×1 +  A ×C × 1                                        (บท 7c)

                                                                =     A×B +   A ×C                                                 (บท 7b)

 

4.4     การใช้ทฤษฎี Boolean ลดทอน Switching Function

                พีชคณิตบูลีนจะช่วยให้เราลดรูป Switching Function ให้สั้นลง ซึ่งเป็นผลให้ได้ Logic Diagram ที่เล็ก ใช้เกทน้อย ทำให้เกิดความประหยัด สะดวกและง่ายในการประกอบวงจร และข้อสำคัญอีกประการหนึ่งคือจะลดเวลาหน่วง (Delay Time) ให้น้อยลง

 

ตัวอย่างที่ 4.4 จงลดรูป Switching Function ต่อไปนี้ ให้สั้นที่สุด

                )            Y   =       A × B×C + B×C + A×C

                )            Y   =       A×B + A×(B+C) + B×(B+C)

                )            Y   =       X + Y×Z + X× (X +Y)

                )            f(A,B,C,D)   = A×B + C×D + (A×B)×(C+D)

วิธีทำ

                )            Y             =             A × B×C + B×C + A×C

                                                =             C×( A × B + B + A)

                                                =             C× ( ( A ×B + B) + A)

                                                =             C× (A + B + A)

                                                =             C×((A + A) + B)

                                                =             C× (1 + B)

                                                =             C

                )            Y             =             A×B + A×(B+C) + B×(B+C)

                                                =             A×B + A×B + A×C + B×B+ B×C

                                                =             A×B + A×C + B + B×C

                                                =             A×B + A×C + B×(1 + C)

                                                =             A×B + A×C + B×1

                                                =             A×B + A×C + B

                                                =             B×(A + 1) + A×C

                                                =             B× 1 + A×C

                                                =             B + A×C

                )            Y             =             X + Y×Z + X× (X +Y)

                                                =             X + Y×Z + X +  X ×Y

                                                =             (X+X) + Y×Z + X ×Y

                                                =             X + Y×Z + X ×Y

                                                =             (X +  X ×Y) + Y×Z

                                                =             X + Y + Y×Z

                                                =             X + Y×(1+ Z)

                                                =             X + Y

                )            f(A,B,C,D)   =             A×B + C×D + (A×B)×(C+D)

                                                =             A×B + C×D + A×B×C + A×B×D

                                                =             A×B× (1+ C+D)+ C×D

                                                =             A×B + C×D

 

4.5     เวนน์ไดอะแกรม (Venn Diagram)

Venn Diagram ใช้สำหรับการแสดงความสัมพันธ์ทางลอจิก ซึ่งเกิดจากการนำความรู้ทางคณิตศาสตร์ในเรื่องของเซทมาประยุกต์แทน Switch Function หรือ Logic Function ได้ด้วยแผนผัง ซึ่งจะช่วยในการพิสูจน์หรือลดรูปฟังก์ชันเบื้องต้นได้โดยมีตัวแปรไม่เกิน 3 ตัวแปร

Venn Diagram จะประกอบด้วย รูปสี่เหลี่ยมแสดงเป็นขอบเขตและภายในกรอบสี่เหลี่ยมจะเขียนวงกลมต่าง ๆ วงกลมแต่ละวงจะแทนตัวแปรต่าง ๆ ที่อยู่ในฟังก์ชัน

 

 


    1  ตัวแปร                                              2  ตัวแปร                                               3  ตัวแปร

รูปที่ 4.1 แสดงการใช้ Venn Diagram กับตัวแปรต่าง ๆ

 

การแทน Logic Function ด้วย Venn Diagram ทำได้โดยใช้ การมีส่วนของพื้นที่หรือไม่มีพื้นที่ ในส่วนต่าง ๆ ของ Venn Diagram เป็นตัวบ่งบอกความหมายของส่วนต่าง ๆ ในรูปแผนผัง ซึ่งมีการกระทำกันดังต่อไปนี้

1. เกี่ยวกับตัวคงที่  

                ) มีพื้นที่แลเงาทั้งสี่เหลี่ยม ใช้แทนลอจิก “1”


                ) การไม่มีพื้นที่แลเงาทั้งสี่เหลี่ยม ใช้แทนลอจิก “0”

รูปที่ 4.2

 

2. เกี่ยวกับตัวแปรใด ๆ A และการกระทำของ “NOT” บนตัวแปร


                                ) มีพื้นที่แลเงาอยู่ในวงกลม A ใช้แทนตัวแปร “A”

                ) มีพื้นที่แลเงาอยู่นอกวงกลม A ซึ่งแสดงว่าไม่ใช้ A ใช้แทนด้วย  “A”

รูปที่ 4.3

 

3. เกี่ยวกับการกระทำ “AND” และการกระทำ “OR” ของตัวแปรใด ๆ A และ B

                                ) เมื่อ A “AND” B ผลที่ได้ในรูปของ Venn Diagram คือ มีพื้นที่แลเงาที่อยู่ในส่วนของวงกลม A และ วงกลม B เฉพาะส่วนที่ซ้อนกันเท่านั้น


                ) เมื่อ A “OR” B ผลที่ได้ในรูปของ Venn Diagram คือ มีพื้นที่แลเงาที่อยู่ในส่วนของวงกลม A และ วงกลม B ทั้งหมด

รูปที่ 4.4

 

ตัวอย่างที่ 4.5 จงเขียน Venn Diagram ของ F  = A×B


วิธีทำ

               

                เราสามารถสรุปการกระทำที่เกิดจากการแลเงาเฉพาะส่วนต่าง ๆ ของการกระทำของตัวแปร 2 และ 3 ตัวแปรได้ดังรูปที่ 4.5 ดังนี้

 

 

 


                โดย         0  คือ      A × B                                     โดย         0  คือ      A × B ×C

                                1  คือ       A × B                                                     1  คือ      A × B ×C

2  คือ       A × B                                                     2  คือ      A × B ×C

3  คือ      A × B                                                     3  คือ      A × B ×C

                                                                                                                4  คือ      A × B ×C

                                                                                                                5  คือ      A × B ×C

                                                                                                                6  คือ      A × B ×C

                                                                                                                7  คือ      A × B ×C

รูปที่ 4.5

ตัวอย่างที่ 4.5 จงเขียน Venn Diagram ของ

)            F  =   A × (B+C)

)            F  =   A×B + A ×C


วิธีทำ      )            F  =   A × (B+C)


)            F  =   A×B + A ×C

 

4.6     Contact Network


Contact Network เป็นการนำเอาลักษณะของวงจรสวิทช์มาเขียนแทนการทำงานของ Boolean Function  ซึ่งปกติหน้าสัมผัสของสวิทช์จะมีอยู่ 2 ลักษณะคือ หน้าสัมผัสปกติปิดและหน้าสัมผัสปกติเปิด (Normally Close : NC and Normally Open : NO)

รูปที่ 4.6 แสดงหน้าสัมผัสของสวิทช์

 

ซึ่งปกติหน้าสัมผัสนี้เราอาจจะสร้างได้จากหน้าสัมผัสของรีเลย์ก็ได้ โดยจะมีลักษณะ 2 ลักษณะ คือ NC และ NO เช่นเดียวกัน วงจรในลักษณะของสวิทช์หรือรีเลย์นั้น เราจะพบเห็นการใช้มากในวงจรควบคุม (Control) ต่าง ๆ

การเขียนสมการจากวงจรสวิทช์นั้น มีวิธิการในการพิจารณาคือ

1. ถ้าสวิทช์ต่ออนุกรมกัน เป็นการกระทำ AND กัน แต่ถ้าสวิทช์ต่อขนานกัน เป็นการกระทำ OR กัน

2.   ถ้าเป็นหน้าสัมผัสแบบ NO จะเป็นตัวแปรปกติ แต่ถ้าเป็นหน้าสัมผัสแบบ NC จะเป็นตัวแปรคอมพลีเมนต์

3. ให้พิจารณาลำดับการกระทำกันของตัวกระทำต่าง ๆ ตามลำดับของการตีลำดับความสำคัญของตัวกระทำดังที่ได้กล่าวมาแล้ว


จากวงจรสวิทช์หรือวงจรรีเลย์ เราสามารถเขียน Contact Diagram ได้ โดยเขียนเฉพาะตัวแปรที่ต่อตามลักษณะของหน้าสัมผัส พร้อมทั้งเขียนลักษณะการต่อร่วมกันของหน้าสัมผัสต่าง ๆ ที่จะทำให้เกิดเอาท์พุทตามชุดของหน้าสัมผัสนั้น ๆ

รูปที่ 4.7 แสดงการเขียน Contact Diagram ตามลักษณะของหน้าสัมผัส

 


ตัวอย่างที่ 4.6 จากวงจรสวิทช์ต่อไปนี้ จงเขียน Boolean Expression และ Contact Diagram

วิธีทำ      เขียน Boolean Expression ได้ คือ

                Y  =  A ×B + A ×C


                เขียน Contact Diagram ได้ดังนี้

 

4.8     การเขียน Logic Diagram จาก Boolean Expression และ

การ เขียน Boolean Expression จาก Logic Diagram

                การเขียน Logic Diagram จาก Boolean Expression นั้น ให้เขียน Logic Diagram ได้โดยอาศัยลักษณะการตีความของลำดับความสำคัญของตัวกระทำต่าง ๆ ดังที่ได้กล่าวมาแล้วเช่นกัน เมื่อทราบลำดับของการกระทำต่าง ๆ แล้วก็ให้เขียน Logic Diagram จากส่วนที่มีลำดับความสำคัญมากที่สุดก่อน

 

 

ตัวอย่างที่ 4.7 จาก Boolean Expression ต่อไปนี้ จงเขียน Logic Diagram

Y  =    A × B  +   B + C


วิธีทำ  ตีความลำดับความสำคัญของการกระทำต่าง ๆ แล้วเขียน Logic Diagram ได้ดังนี้

 

                ส่วนการเขียน Boolean Expression จาก Logic Diagram นั้น ก็ทำได้โดยการไล่เอาท์พุทของเกททีละตัวไปเรื่อย ๆ จากอินพุทแรกสุดจนถึงเกทตัวสุดท้ายทางเอาท์พุท

ตัวอย่างที่ 4.8 จาก Logic Diagram ต่อไปนี้ จงเขียน Boolean Expression


               

จาก Logic Diagram จะได้เอาท์พุทต่าง ๆ ดังนี้

                Output ของ I1      =          A

                Output ของ G1     =          A × B

                Output ของ G2     =          C × D

                Output ของ G3     =          B × C

                Output ของ I2      =          D

                Output ของ G4     =          A × C× D

                Output ของ G5     =          (Output ของ G2) + (Output ของ G3)

=          C × D + B × C

                Output ของ G6     =          (Output ของ G1) × (Output ของ G5)

=          A × B × (C × D + B × C )

                Output X               =         Output ของ G7

=         (Output ของ G4) + (Output ของ G6)

=         A × C × D +  A × B × (C × D + B × C )

=         A × C × D +  A × B × C × D + A × B × C

 

4.9            แบบมาตรฐานของ Switching Function

4.9.1 มินเทอมและแมกซ์เทอม (Minterms and Maxterms)

Minterms เป็นเทอมที่ตัวแปรกระทำกันในลักษณะของการ AND กัน เช่น A × B × C ,                                        

 A × B × C , A ×B ×C  เป็นต้น ซึ่งจะเป็นมินเทอมของฟังก์ชันที่มี 3 ตัวแปร โดยฟังก์ชันที่มี 3 ตัวแปรจะมีจำนวนมินเทอมสูงสุด 8 เทอม หาจำนวนมินเทอมของฟังก์ชันได้จาก 2n โดย n คือจำนวนตัวแปร

Maxterms เป็นเทอมที่ตัวแปรกระทำกันในลักษณะของการ OR กัน เช่น A + B + C ,                                        

 A + B + C ,  A+B +C  เป็นต้น ซึ่งจะเป็นแมกซ์เทอมของฟังก์ชันที่มี 3 ตัวแปร โดยฟังก์ชันที่มี 3 ตัวแปรจะมีจำนวนแมกซ์เทอมสูงสุด 8 เทอม และหาจำนวนแมกซ์เทอมของฟังก์ชันได้จาก 2n เช่นกันโดย n คือจำนวนตัวแปร

                ในการแทนตัวแปรที่เป็นมินเทอมหรือแมกซ์เทอมนั้น เราจะแทนตัวแปรให้เป็นตัวแปรปกติหรือตัวแปรที่ถูกคอมพลีเมนต์นั้นพิจารณาได้จาก

                - ถ้าจะเขียนเป็นมินเทอม ตัวแปรปกติ จะแทนด้วยค่า “1” ส่วนตัวแปรที่ถูกคอมพลีเมนต์นั้นจะแทนด้วยค่า “0”

                - ถ้าจะเขียนเป็นแมกซ์เทอม ตัวแปรปกติ จะแทนด้วยค่า “0” ส่วนตัวแปรที่ถูกคอมพลีเมนต์นั้นจะแทนด้วยค่า “1”

A

B

C

Minterms

Maxterms

Term

Designation

Term

Designation

0

0

0

 A × B × C

m0

       A+ B+C

M0

0

0

1

 A × B × C

m1

       A+ B+C

M1

0

1

0

 A × B × C

m2

       A+ B+C

M2

0

1

1

 A × B × C

m3

       A+ B+C

M3

1

0

0

 A × B × C

m4

       A+ B+C

M4

1

0

1

 A × B × C

m5

       A+ B+C

M5

1

1

0

 A × B × C

m6

       A+ B+C

M6

1

1

1

 A × B × C

m7

       A+ B+C

M7

                4.9.2 ผลบวกของผลคูณ (Sum of Product)

                เป็นการเขียน Function ในรูปแบบที่เป็นมาตรฐานในรูปแบบหนึ่ง ซึ่งเป็นการนำเอา minterm ต่าง ๆ มา OR กัน เช่น

                                f(A,B,C)     =             A × B × C + A × B × C + A × B × C

                                f(A,B,C,D) =             A × B × C × D + A × B × C × D + A × B × C × D

                ซึ่งจากตัวอย่างข้างต้นอาจจะใช้สัญญลักษณ์แทนเทอมต่าง ๆ ได้ คือ

                                f(A,B,C)     =             m3 + m5 + m7

                                f(A,B,C,D) =             m7 + m9 + m15

                ซึ่ง m ต่าง ๆ จะแทนมินเทอมในช่องที่ต้องการ และเพื่อความสะดวกเราสามารถใช้เครื่องหมาย S (Summation) แทนการ OR กันของมินเทอมในเทอมต่าง ๆ ได้ เช่น

                                f(A,B,C)     =             S(3, 5, 7)

                                f(A,B,C,D) =             S(7, 9, 15)

                4.9.3 ผลคูณของผลบวก (Product of Sum)

                เป็นการเขียน Function ในรูปแบบมี่เป็นมาตรฐานในอีกรูปแบบหนึ่ง ซึ่งเป็นการนำเอา maxterm ต่าง ๆ มา AND กัน เช่น

                                f(A,B,C)     =             (A+B+C)×(A+ B+C) × (A+B+C)

                                f(A,B,C,D) =             (A+ B+C+D) × (A+ B +C+D) × (A+B+C+D)

                ซึ่งจากตัวอย่างข้างต้นอาจจะใช้สัญญลักษณ์แทนเทอมต่าง ๆ ได้ คือ

                                f(A,B,C)     =             M0 × M2 × M4

                                f(A,B,C,D) =             M0 × M6 × M8

                ซึ่ง M ต่าง ๆ จะแทนแมกซ์เทอมในช่องที่ต้องการ และเพื่อความสะดวกเราสามารถใช้เครื่องหมาย p แทนการ AND กันของแมกซ์เทอมในเทอมต่าง ๆ ได้ เช่น

                                f(A,B,C)     =             p(0, 2, 4)

                                f(A,B,C,D) =             p(0, 6, 8)

 

4.10   การออกแบบวงจรลอจิก

                การออกแบบวงจรลอจิกนั้น ส่วนใหญ่จะพยายามออกแบบให้ใช้เกทน้อยที่สุดเพื่อลดเวลาหน่วงของเกทในการทำงาน ซึ่งจะต้องลดรูป Boolean Expression ให้สั้นที่สุด และในการออกแบบวงจรลอจิก สิ่งที่ต้องคิดเป็นอันดับแรกคือ ต้องการงานอะไร ในลักษณะไหน นั่นคือเราจะต้องสร้างตารางความจริงให้ได้ก่อน จากนั้นจึงนำตารางความจริงที่ได้ผ่านลำดับขั้นตอนต่าง ๆ จนได้เป็นลอจิกไดอะแกรม ซึ่งขั้นตอนในการออกแบบวงจรลอจิก มีขั้นตอนที่พอสรุปได้ดังนี้

1)      วิเคราะห์งานหรือความต้องการออกมาเป็นตารางความจริง (Truth table)

2)      นำตารางความจริงที่ได้มาเขียนเป็น Boolean Expression โดยลดรูปให้สั้นที่สุด

3)      นำ Boolean Expression ที่ลดรูปได้มาเขียนเป็น Logic Diagram

ซึ่งขั้นตอนในการเขียน Boolean Expression จากตารางความจริงนั้น จะต้องอาศัยความรู้จากเรื่องของ Sum Of Product (minterm) และ Product Of Sum (maxterm) มาช่วย โดยมีขั้นตอนในการเขียน Boolean Expression จากตารางความจริง คือ

1)      ตัดสินใจว่าจะเลือกใช้รูปแบบของ Sum Of Product (minterm) หรือ Product Of Sum (maxterm) เพียงอย่างใดอย่างหนึ่ง

2)      ถ้าเลือกเขียนแบบ Sum Of Product (minterm) ให้พิจารณาเฉพาะตารางความจริงแถวที่มีเอาท์พุทเป็น “1” เท่านั้น และ ถ้าเลือกเขียนแบบ Product Of Sum (maxterm) ให้พิจารณาเฉพาะตารางความจริงแถวที่มีเอาท์พุทเป็น “0” เท่านั้น

3)      เขียน Boolean Expression เฉพาะเทอมที่พิจารณาในรูปแบบที่เลือกไว้ แล้วทำการลดรูปให้สั้นที่สุด

 

ตัวอย่างที่ 4.9 จงออกแบบวงจรลอจิกจากตารางความจริงต่อไปนี้ โดย

ก)      ใช้ Function Output ในรูปของ Sum Of Product

ข)      ใช้ Function Output ในรูปของ Product Of Sum

INPUT

OUTPUT

A

B

C

X

0

0

0

1

0

0

1

0

0

1

0

0

0

1

1

0

1

0

0

1

1

0

1

0

1

1

0

1

1

1

1

1

 

วิธีทำ

) เขียน Function Output ในรูปของ Sum Of Product โดยเขียนในรูปแบบของ mimterm ต่าง ๆ มา AND กัน ซึ่งให้เลือกเขียนเฉพาะเทอมที่มี output เป็น 1 เท่านั้น จะได้

 

) เขียน Function Output ในรูปของ Product Of Sum   โดยเขียนในรูปแบบของ maxterm ต่าง ๆ มา OR กัน ซึ่งให้เลือกเขียนเฉพาะเทอมที่มี output เป็น 0 เท่านั้น จะได้

 

 

4.11   คุณสมบัติอเนกประสงค์ของแนนต์เกต (The universal property of the NAND gate)

เราสามารถนำแนนต์เกตไปใช้แทนเกตต่าง ๆ ได้ โดยใช้แนนต์เกตเพียงชนิดเดียว ซึ่งเราจะพิจารณาโดยการเขียนฟังก์ชั่นเอาท์พุทของเกตที่ต้องการจะหา จากนั้นทำการเปลี่ยนฟังก์ชั่นเอาท์พุทที่ต้องการนั้นให้อยู่ในรูปที่จะใช้แนนต์เกตได้ ทฤษฎีบูลีนหนึ่งที่มีส่วนสำคัญในการช่วยในการเปลี่ยนรูปแบบโดยค่าฟังก์ชั่นที่ได้ยังไม่เปลี่ยนแปลงคือ ทฤษฎีเดอมอร์แกน

 

 

 

การสร้าง NOT gate จาก NAND gate

สิ่งที่เราต้องการ คือ

                จากฟังก์ชั่นที่ต้องการเขียนเปลี่ยนรูปใหม่ โดยยังให้เอาท์พุทคงเดิม จะได้

 

การสร้าง OR  gate จาก NAND gate

สิ่งที่เราต้องการ คือ

                จากฟังก์ชั่นที่ต้องการเขียนเปลี่ยนรูปใหม่ โดยยังให้เอาท์พุทคงเดิม จะได้

 

การสร้าง AND  gate จาก NAND gate

สิ่งที่เราต้องการ คือ

                จากฟังก์ชั่นที่ต้องการเขียนเปลี่ยนรูปใหม่ โดยยังให้เอาท์พุทคงเดิม จะได้

 

 

การสร้าง NOR  gate จาก NAND gate

สิ่งที่เราต้องการ คือ

                จากฟังก์ชั่นที่ต้องการเขียนเปลี่ยนรูปใหม่ โดยยังให้เอาท์พุทคงเดิม จะได้

 

4.12   คุณสมบัติอเนกประสงค์ของนอร์เกต (The universal property of the NOR gate)

เราสามารถนำนอร์เกตไปใช้แทนเกตต่าง ๆ โดยใช้นอร์เกตเพียงชนิดเดียวได้ เช่นเดียวกับแนนต์เกต  ซึ่งใช้วิธีการพิจารณาโดยการเขียนฟังก์ชั่นเอาท์พุทของเกตที่ต้องการจะหา จากนั้นทำการเปลี่ยนฟังก์ชั่นเอาท์พุทที่ต้องการนั้นให้อยู่ในรูปที่จะใช้นอร์เกตได้เช่นเดียวกัน

 

การสร้าง NOT gate จาก NOR gate

สิ่งที่เราต้องการ คือ

                จากฟังก์ชั่นที่ต้องการเขียนเปลี่ยนรูปใหม่ โดยยังให้เอาท์พุทคงเดิม จะได้

 

การสร้าง OR  gate จาก NOR gate

สิ่งที่เราต้องการ คือ

                จากฟังก์ชั่นที่ต้องการเขียนเปลี่ยนรูปใหม่ โดยยังให้เอาท์พุทคงเดิม จะได้

 

การสร้าง AND  gate จาก NOR  gate

สิ่งที่เราต้องการ คือ

                จากฟังก์ชั่นที่ต้องการเขียนเปลี่ยนรูปใหม่ โดยยังให้เอาท์พุทคงเดิม จะได้

 

การสร้าง NAND  gate จาก NOR  gate

สิ่งที่เราต้องการ คือ

                จากฟังก์ชั่นที่ต้องการเขียนเปลี่ยนรูปใหม่ โดยยังให้เอาท์พุทคงเดิม จะได้

 

 

 

ตัวอย่างที่ 4.10 จากตารางความจริงต่อไปนี้ จงออกแบบวงจรลอจิก โดย

ก)      ใช้ NAND gate เพียงอย่างเดียว

ข)      ใช้ NOR gate เพียงอย่างเดียว

INPUT

OUTPUT

A

B

C

X

0

0

0

1

0

0

1

0

0

1

0

0

0

1

1

0

1

0

0

1

1

0

1

0

1

1

0

1

1

1

1

1

 

วิธีทำ

) การออกแบบวงจรลอจิก โดยใช้ NAND gate เพียงอย่างเดียว ควรเขียน Function Output ในรูปแบบของ mimterm จะได้

 

 

) การออกแบบวงจรลอจิก โดยใช้ NOR gate เพียงอย่างเดียว ควรเขียน Function Output ในรูปแบบของ maxterm จะได้