วันอังคารที่ 8 กรกฎาคม พ.ศ. 2557

บทที่ 16 วงจรซีเควนเชียลแบบซิงโครนัส (Synchronous Sequential)

บทที่ 16 ::
วงจรซีเควนเชียลแบบซิงโครนัส (Synchronous Sequential)
<<    กลับหน้าหลัก 


<<     16.1 โมเดลของวงจรวงจรซีเควนเชียลแบบซิงโครนัส 
<<     16.2 การวิเคราะห์วงจรซีเควนเชียลแบบซิงโครนัส
<<      16.3  การออกแบบวงจรซีเควนเชียลแบบซิงโครนัส
<<      16.4 การลดทอนสเตตของวงจรซีเควนเชียลแบบซิงโครนัส






         วงจรซีเควนเชียลแบบซิงโครนัส เป็นวงจรที่ต้องมีสัญญาณนาฬิกาเสมอ และฟลิปฟลอปทุกตัวต้องได้รับสัญญาณนาฬิกาจากภายนอกพร้อมกัน ดังนั้น
ฟลิปฟลอบทุกตัวต้องเป็นแบบมีขา Clock และขา Clock ต้องต่อร่วมกัน การทำงานของวงจรจะอยู่ภายใต้การควบคุมของสัญญาณนาฬิกา ถ้าไม่มีสัญญาณ
นาฬิกาเข้ามาวงจรจะไม่ทำงาน
16.1 โมเดลของวงจรวงจรซีเควนเชียลแบบซิงโครนัส
         วงจรซิงโครนัสจะมีโครงสร้าง 2 แบบ คือ Mealy Model และ Moore Model ดังรูปที่ 16.1

               

                                        รูปที่ 16.1 แสดงโครงสร้างของวงจรซิงโครนัส
             รูปที่ 16.1 (ก) เป็นโครงสร้างแบบ Mealy Model โครงสร้างแบบนี้เป็นโครงสร้างโดยทั่วไปของวงจรซิงโครนัส ทั้ง Next State และเอาต์พุต
จะขึ้นอยู่กับ Present State และอินพุตของวงจรเขียนสมการได้เป็น
                                                  
      ตัวอย่างของ Mealy Modelแสดงดังรูปที่16.2 ลักษณะของตารางสเตต และแผนภาพสเตตของวงจรชนิดนี้จะเหมือนกับที่เคยกล่าวถึงในบทที่ 14

                          

                                                 รูปที่ 16.2 แสดงตัวอย่างของ Mealy Model
         รูปที่ 16.1 (ข) เป็นโครงสร้างแบบ Moore Model โครงสร้างแบบนี้ Next State จะขึ้นอยู่กับ Present Stateและอินพุตของวงจรเหมือน
วงจรแบบแรก แต่เอาต์พุตจะขึ้นอยู่กับ Present State เพียงอย่างเดียว เขียนสมการได้เป็น
                                                 
         ตัวอย่างของ Moore Model แสดงดังรูปที่ 16.3 เนื่องจากเอาต์พุตขึ้นอยู่กับ Present State  เพียงอย่าง เดียว ที่ Present state เดียวกัน
จึงมีเอาต์พุตเหมือนกัน (ไม่ว่าอินพุตจะเปลี่ยนแปลงอย่างไรก็ตาม) ดังนั้นในตารางสเตตจึงแยกเอาต์พุตออกมาเขียนข้างนอก และในแผนภาพสเตตจะนำ
เอาต์พุตไปเขียนรวมกับสเตต

                              

                                                รูปที่ 16.3 แสดงตัวอย่างของ Moore Model
    วงจรแบบ Moore Model บางวงจร เอาต์พุตจะเป็นตัวเดียวกับสเตต (เช่น วงจรนับ) กรณีนี้จะไม่เขียนเอาต์พุตลงในตารางสเตตหรือแผนภาพสเตต

                                                                                                                                                                             << Go To Top
16.2 การวิเคราะห์วงจรซีเควนเชียลแบบซิงโครนัส
                 การวิเคราะห์วงจรเป็นการพิจารณาคุณสมบัติของวงจร โดยการแสดงารูปของตารางสเตตหรือแผนภาพสเตตของวงจรนั้นๆ
             16.2.1 สรุปตารางความจริงและสมการลอจิกของฟลิปฟลอป
                                   ในการวิเคราะห์วงจรมีความจำเป็นต้องใช้ตารางความจริงและสมการลอจิกของฟลิปฟลอป  ซึ่งสามารถสรุปได้ดังนี้
       

                         

                                      รูปที่ 16.4 แสดงตารางความจริงและสมการลอจิกของฟลิปฟลอป
            16.2.2 วิธีการเขียนตารางสเตตและแผนภาพสเตตของวงจร
                    จากวงจรจะเขียนเป็นตารางสเตตก่อน แล้วจึงเปลี่ยนไปเป็นแผนภาพสเตต การเขียนตารางสเตตของวงจรเขียนได้ 3 วิธี คือ
                             1. เขียนจาก Timing Diagram โดยการป้อนอินพุตให้กับวงจร (สามารถกำหนดอินพุตขึ้นมาได้โดยอิสระ)   แล้วทำการ
                                   เขียนรูปคลื่นแต่ละตำแหน่งของวงจร   เช่น   Present State (เอาต์พุตของฟลิปฟลอป) อินพุตของฟลิปฟลอป และ
                                   เอาต์พุตของวงจร แล้วเปลี่ยนไปเป็นตารางสเตต
          2. เขียนจาก KM โดยการเขียน KM เอาต์พุตของวงจร  อินพุตของฟลิปฟลอป แล้วใช้ตารางความจริงของฟลิปฟลอปแปลง
                                   จากอินพุตของฟลิปฟลอปไปเป็น   Next State   นำ Next State   และเอาต์พุตของวงจรไปเขียนรวมกันเป็นตารางสเตต
                              3.เขียนจากสมการลอจิก โดยการแทนค่าตัวแปรลงในสมการ Next State  ของฟลิปฟลอปแล้วนำไปเขียนเป็นตารางสเตต 
                                   ในกรณีที่หน่วยความจำเป็น D Flip-Flop วิธีนี้จะเหมือนกับวิธี KM
       ตัวอย่างที่ 16.1    จงเขียนตารางสเตตและแผนภาพสเตตของวงจร

                                                    
    วิธีทำ
                   จากวงจรที่โจทย์กำหนดใช้ D Flip-Flop เป็นหน่วยความจำ ที่ขา D ของฟลิปฟลอปสามารถ เขียนเป็น Next State Y ได้
             เขียนสมการลอจิกของวงจรได้เป็น  

           วิธีทำ 1 ใช้ Timing Diagram
                                           กำหนด x = 0110100 เป็นแบบระดับสัญญาณ    นำไปเขียน Timing Diagram ได้ดังรูป

                                
       วงจรซิงโครนัสจะใช้สัญญาณนาฬิกาควบคุมการทำงานของวงจร ดังนั้นการเขียน   Timing Diagram จะต้องเขียนรูปคลื่นสัญญาณ
นาฬิกาก่อนเสมอ โดยมีจำนวนพัลส์ เท่ากับจำนวนบิตของอินพุต   (โจทย์ข้อนี้มี 7 พัลส์)   การนับช่วงคาบเวลาให้พิจารณาจากขา Clock ของ
ฟลิปฟลอป เนื่องจากฟลิปฟลอปเป็นแบบ Negative Edge-Triggered      จึงนับคาบเวลาที่ขอบลงของสัญญาณนาฬิกา
        เขียนรูปคลื่นอินพุตให้ซิงโครไนซ์กับรูปคลื่นสัญญาณนาฬิกา ส่วนรูปคลื่นอื่นๆ ได้แก่ Present State y,  Next State Y และเอาต์พุต 
z สามารถเขียนได้โดยการพิจารณาในแต่ละช่วงเวลาของสัญญาณนาฬีกา ดังนี้
        ช่วงเวลาที่ 1 นำค่าสเตตเริ่มต้น (   ) ไปเขียนเป็น Present State y  ดังนั้นในช่วงเวลานี้ จะมีค่า อินพุต  x = 0 Present State y = 0
 หา Next State Y จากสมการ  หาเอาต์พุต z จากสมการ  เมื่อสัญญาณนาฬิกาเปลี่ยนจากช่วงเวลาที่ 1 
ไปเป็นช่วงเวลาที่ 2จะทำให้ค่า Next State ในช่วงเวลาที่ 1 เปลี่ยนเป็นค่า Present State ในช่วงเวลาที่ 2
        ช่วงเวลาที่ 2 ในช่วงนี้ อินพุต x = 1 Present State y = 0 หาค่า Next State Y จากสมการ หาเอาต์พุต z 
จากสมการ  เมื่อสัญญาณนาฬิกาเปลี่ยนจากช่วงเวลาที่ 2 ไปเป็นช่วงเวลาที่ 3 จะทำให้ค่า Next State ในช่วงเวลาที่ 2 เปลี่ยนเป็นค่า
 Present  State ใน
         ช่วงเวลาที่ 3
                ในช่วงเวลาอื่นๆ ก็เขียนรูปคลื่นในลักษณะเดียวกัน   จาก Timing Diagram    นำไปเขียนเป็น
   ตารางสเตต โดยเขียนรูปฟอร์มตารางสเตตขึ้นมาก่อน หาค่า Next State/Output ในแต่ละช่องของตารางสเตตจาก Timing Diagram ดังนี้ 
                    - ช่อง x = 0, y = 0 หาได้จากช่วงเวลาที่ 1 หรือ 4 จะได้ Next State/Output เป็น 0/0
                    - ช่อง x = 0, y = 1 หาได้จากช่วงเวลาที่ 6 หรือ 7 จะได้ Next State/Output เป็น 1/0
                    - ช่อง x = 1, y = 0 หาได้จากช่วงเวลาที่ 2 หรือ 5 จะได้ Next State/Output เป็น 1/0
                   - ช่อง x = 1, y = 1 หาได้จากช่วงเวลาที่ 3 จะได้ Next State/Output เป็น 0/1
         จะได้ตารางสเตตดังนี้

                                                                            

     วิธีที่ 2      ใช้ KM
                                 เขียน KM ของ Y และ z

                                                                 

                                 นำไปเขียนตารางสเตตได้ดังนี้

                                                                                            

                                    อาจจะกำหนดสเตตเป็นตัวอักษรโดยให้ 0 = A, 1 = B เขียนตารางสเตตใหม่แล้วเปลี่ยนเป็นแผนภาพสเตต

                                                   

       ตัวอย่างที่ 16.2   จงเขียนตารางสเตตและแผนภาพสเตตของวงจร

                                                                 
       วิธีทำ
                จากวงจรเขียนสมการลอจิกได้เป็น     
                 วิธีที่ 1 ใช้ Timing Diagram
                                            กำหนด x = 01101000 เป็นแบบพัลส์, = 0

                                                                                    
                   ใช้ตารางความจริงของ Clocked T Flip-Flop ประกอบในการเขียน Timing Diagramได้ดังรูป

                               
             เขียนรูปคลื่นสัญญาณนาฬิกาแบบนับคาบเวลาที่ขอบลง (เพราะฟลิปฟลอปเป็นแบบ Negative Edge -Triggered) จำนวน 8 พัลส์เท่ากับ
จำนวนบิตของอินพุต เขียนรูปคลื่นอินพุตเป็นแบบพัลส์ให้ซิงโครไนซ์กับรูปคลื่นสัญญาณนาฬิกา พิจารณาแต่ละช่วงเวลาของสัญญาณนาฬิกาเพื่อเขียน 
รูปคลื่น Present State y อินพุตฟลิปฟลอป T และเอาต์พุต z วงจรนี้ไม่สามารถเขียนรูปคลื่น Next State Y เนื่องจากฟลิปฟลอบที่ใช้ในวงจรไม่ใช
่ D Flip-Flop
        ช่วงเวลาที่ 1 นำค่าสเตตเริ่มต้น (  ) เขียนเป็น Present State y ดังนั้นในช่วงนี้ จะมีค่า x = 0, y = 0 หาค่า T จาก 
หาค่า  เมื่อสัญญาณนาฬิกาเปลี่ยนจากช่วงเวลาที่ 1 ไปเป็นช่วงเวลาที่ 2 ที่ตำแหน่งขอบลง
ของสัญญาณ T Flip-Flop จะทำงานเนื่องจากขา T ได้รับลอจิก 1 จะทำให้เอาต์พุตของ T Flip-Flop (Present State y)   เปลี่ยนแปลงตรงข้าม
กับค่าเดิม (ดูจากตารางความจริงของฟลิปฟลอป) ค่าเดิมคือ 0 (ค่า Present Stateในช่วงเวลาที่ 1)ทำให้เอาต์พุตของ T Flip-Flop เป็น 1 ซึ่งก็คือค่า
 Present State y ในช่วงเวลาที่ 2 นั่นเอง
        ช่วงเวลาที่ 2 ในช่วงนี้อินพุตมี 2 ค่าคือขณะสัญญาณนาฬิกาเป็น 0จะมีค่า x = 0 ขณะสัญญาณนาฬิกาเป็น 1 จะมีค่า x = 1 ส่วนค่า y = 1 หาค่า 
T จาก ขณะสัญญาณนาฬิกาเป็น 0จะได้ขณะสัญญาณนาฬิกาเป็น 1 จะได้หาค่า z จาก z = xy ขณะ
สัญญาณนาฬิกาเป็น 0 จะได้ ขณะสัญญาณนาฬิกาเป็น 1 จะได้  เมื่อสัญญาณนาฬิกาเปลี่ยนจากช่วงเวลาที่ 2 ไปเป็นช่วงเวลา
ที่ 3 ที่ตำแหน่งขอบลงของสัญญาณ T Flip-Flop ทำงานจะได้เอาต์พุตฟลิปฟลอปเป็น 0 (พิจารณาการทำงานเหมือนช่วงเวลาที่1) ดังนั้น Present State
 y ใน 
        ช่วงเวลาที่ 3   มีค่าเป็น 0
      หารูปคลื่นช่วงเวลาอื่นๆ โดยวิธีการเดียวกัน จาก Timing Diagram  นำไปเขียนตารางสเตต
         โดยเขียนรูปฟอร์มตารางสเตตขึ้นมาหาค่า Next State/Output ในแต่ละช่องค่า Next Stateให้ดูจากค่า Present State ในช่วงเวลาถัดไป
 ซึ่งสามารถหาได้ดังนี้
               - ช่อง x = 0, y = 0 หาได้จากช่วงเวลาที่ 1 หรือ 4 หรือ 6 ซึ่งจะมีเอาต์พุตเป็น 0 ค่า  Next State
               ดูจากรูปคลื่น Present State ในช่วงเวลาถัดไปคือ ช่วงเวลาที่ 2 หรือ 5 หรือ 7 จะได้ Next state เป็น 1 ดังนั้น ค่า Next state/Output
               คือ 1/0
               - ช่อง x = 0, y = 1 หาได้จากช่วงเวลาที่ 7 ค่าเอาต์พุตคือ 0 ค่า  Next State ดูจาก Present State
               ในช่วงเวลาที่ 8 คือ 1 ดังนั้น ค่า Next State/Output คือ 1/0
               - ช่อง x = l, y = 0 หาได้จากช่วงเวลาที่ 3 ค่าเอาต์พุตคือ 0 ค่า Next Ste   ดูจาก Present State ในช่วงเวลาที่ 4 คือ 0 ดังนั้น ค่า
                 Next State/Output คือ 0/0
              - ช่อง x = 1, y = 1 หาได้จากช่วงเวลาที่ 2 หรือ 5 ค่าเอาต์พุตคือ 1 ค่า Next State ดูจาก Present State ในช่วงเวลาที่ 3 หรือ 6 คือ 0 
                ดังนั้นค่า  Next State/Output คือ 0/1
        กรณีอินพุตเป็นแบบพัลส์ การอ่านค่าอินพุตหรือเอาต์พุตใน Timing Diagram ต้องดูที่ตำแน่งพัลส์ของสัญญาณนาฬิกา หรือช่วงเวลาที่
สัญญาณนาฬิกาเป็น 1 เท่านั้น (สำหรับกรณีสัญญานาฬิกาเป็นแบบพัลส์บวก)จะได้ตารางสเตตดังนี้

                                                                            
      วิธีที่ 2 ใช้ KM
                 เขียน KM ของ z และ T จากนั้นใช้ตารางความจริงของ Clocked T Flip-Flop เปลี่ยนจากอินพุต T ไปเป็น Next State Y

                                 
            การแปลงจากตาราง T ไปเป็นตาราง Y ให้ดูจากตารางความจริงของ Clocked T Flip-Flopโดยวิธีการแปลงดังนี้
     - ช่อง x = 0, y = 0 มีค่า T เป็น 1 จากตารางความจริงของฟลิปฟลอป เอาต์พุตของฟลิปฟลอป  จะเป็นค่าตรงข้ามกับค่าเดิม ดังนั้น หาค่า 
         Next State Y ได้โดยดูจากค่า Present State y ที่อยู่ข้างหน้าตาราง เนื่องจาก y = 0 จะได้ Next state Y มีค่าตรงข้าม คือ 1
      - ช่อง x = 0, y = 1 มีค่า T เป็น 0 เอาต์พุตของฟลิปฟลอปยังคงเหมือนค่าเดิมดังนั้นหาค่า Next State Y โดยดูจากค่า Present State y 
           ที่อยู่ข้างหน้าตาราง เนื่องจาก y = 1 จะได้ Next State Y มีค่าเหมือนค่าเดิม คือ 1
      - ช่อง x = 1, y = 0 และ x = 1, y = 1 ก็หาค่า Next State Y ได้ในทำนองเดียวกันนำ Y และ z ไปเขียนรวมกันเป็นตารางสเตต
       

                                                                                 
        วิธีที่ 3  ใช้สมการลอจิก

                                          

                                    เปลี่ยนสเตตเป็นตัวอักษร กำหนด 0 = A, 1= B เขียนตารางสเตตใหม่และเขียนแผนภาพสเตต

                                    ตอบ

                                                                                                                                        << Go To Top                                                                
16.3  การออกแบบวงจรซีเควนเชียลแบบซิงโครนัส
              การวิเคราะห์วงจรที่กล่าวมาแล้ว เป็นการเขียนตารางสเตตและแผนภาพสเตตของวงจรส่วนการออกแบบวงจรจะพิจารณาในทางตรงกันข้าม  
       กล่าวคือจะกำหนดตารางสเตต    หรือแผนภาพสเตต ขึ้นมาก่อน แล้วแปลงกลับไปเป็นวงจร
        16.3.1 สรุป Input Table และสมการลอจิกของฟลิปฟลอป
                       ในการอกแบวงจรมีความจำเป็นต้องใช้ Input Table และสมการลอจิกของฟลิปฟลอป ซึ่งสามารถสรุปได้ดังนี้

                                    
   16.3.2 ขั้นตอนการออกแบบวงจร
                  การออกแบบวงจรซีเควนเชียลแบบซิงโครนัสมีขั้นตอนการออกแบบดังนี้ 
      1. ศึกษาปัญหาโจทย์ และเขียนตารางสเตต
      2. ทำการลดทอนสตตของวงจรให้มีจำนวนสเตตน้อยที่สุดโดยที่วงจรยังคงมีคุณสมบัติเหมือนเดิม
      3. ถ้าตารางสเตตอยู่ในรูปตัวอักษรหรือตัวเลขฐานสิบ ให้เปลี่ยนเป็นเลขฐานสอง เรียกตารางสเตตในกรณีนี้ว่า Binary State 
            Table หรือ  Transition Table 
       4. กำหนดชนิดฟลิปฟลอปที่จะใช้ในวงจร ทำการเขียน KM อินพุตของฟลิปฟลอป (เรียก KM นี้ว่า Excitation Map) และ
              เขียน KM เอาต์พุตของวงจร (เรียก KM นี้ว่า Output Map)
        5. ทำการลดทอน Excitation Map และ Output Map เขียนเป็นสมการลอจิก
        6. นำสมการลอจิกไปเขียนเป็นวงจรในขั้นตอนการออกแบบจะไม่กล่าวถึงสัญญาณนาฬิกา แต่เป็นที่ทราบว่าต้องเป็นสัญญาณ
                นาฬิกาจ่ายให้กับวงจรเสมอ วงจรจึงจะทำงานได้
  ตัวอย่างที่ 16.3   จงออกแบบวงจรซิงโครนัสที่มีคุณสมบัติเป็นไปตามตารางสเตตที่กำหนด โดยใช้ D Flip-Flop เป็นหน่วยความจำ

                                                                                    
                วิธีทำ   ออกแบบวงจรตามขั้นตอนดังนี้
                       1. โจทย์กำหนดตารางสเตตมาให้ จึงนำมาใช้โดยตรง
                       2. การลดทอนสเตตจะยังไม่กล่าวถึงในตอนนี้
                       3. กำหนด State Assignment และเขียน Transition Table นำจำนวนสเตตไปกำหนดจำนวนฟลิปฟลอบ 
                             จากสมการ

                                                                                               
                                      เมื่อ  คือ จำนวนฟลิปฟลอป
                                             คือ จำนวนสเตต
          จากโจทย์ จำนวนสเตต  = 4 จำนวนฟลิบฟลอบ  = 2    ดังนั้น จึงเขียนแทนสเตต ด้วยเลขฐานสอง ขนาด 2 บิต คือ        

                    
            4. เขียน Excitation Map และ Out Map

                                                   
        Excitation Map , หาได้โดยการใช้ Input Table ของฟลิบฟลอบ แปลง Next State  ใน Transition Table มาเป็นอินพุต
   ของ D Flip-Flop จากคุณสมบัติ D Flip-Flop  = D ดังนั้น  จึงเหมือนกับ  และ  เหมือนกับ Output Map เป็น KM ของเอาต์พุต z
 ที่แยกมาจาก Transition Table โดยนำมาเฉพาะเอาต์พุต z เท่านั้น
           5. เขียนสมการลอจิก

                                  

           6. นำสมการลอจิกไปเขียนเป็นวงจรลอจิก

                                              
   ตัวอย่างที่ 16.4   จงออกแบบวงจรซิงโครนัส   ที่มีคุณสมบัติเป็นไปตามตารางสเตต  ที่กำหนดในตัวอย่างที่ 16.3 โดยใช้ J-K Flip-Flop
                                   เป็นหน่วยความจำ

                            วิธีทำ    ขั้นตอนที่ 1-3 เหมือนตัวอย่างที่ 16.3 จะได้ Transition Table เป็น
                   
                                         
       4. เขียน Excitation Map และ Output MapExcitation Map เป็นการแปลง Next State ไปเป็นอินพุต J,K โดยใช้ Input Table ของ
           

                  
         5. เขียนสมการลอจิก
                        
          6. นำสมการลอจิกไปเขียนวงจรลอจิก
                            
                                   
      16.3.3 การออกแบบวงจรโดยใช้สมการลอจิก
                   ในหัวข้อที่แล้ว เป็นวิธีการออกแบบวงจรโดยใช้ Input Table ของฟลิปฟลอป ซึ่งเป็นวิธีการที่นิยมใช้กันทั่วไป ในหัวข้อนี้จะกล่าวถึง
              การออกแบบวงจรโดยใช้สมการลอจิกของฟลิปฟลอบ ซึ่งเป็นอีกวิธีหนึ่งที่ใช้ในการออกแบบวงจรได้เช่นกันการออกแบบวงจรโดยวิธีนี้จะ
              แตกต่างกับวิธีแรกเฉพาะการหาสมการอินพุตของฟลิปฟลอปเท่านั้น ส่วนการหาสมการเอาต์พุตของวงจรยังคงเหมือนกับวิธีแรก เช่น
             ในตัวอย่างที่ 16.4 ถ้าจะออกแบบวงจรโดยใช้สมการลอจิกของฟลิปฟลอปมีวิธีการดังนี้จาก Transition Table ตัวอย่างที่ 16.4
           
                                                                                   
                                   
                                            

                                                                                                                                                                << Go To Top
16.4 การลดทอนสเตตของวงจรซีเควนเชียลแบบซิงโครนัส
                 ความซับซ้อนของวงจรซีเควนเชียลจะขึ้นอยู่กับจำนวนสเตตของวงจรโดยตรง ยิ่งมีจำนวนสเตตมาก ก็ต้องใช้จำนวนฟลิปฟลอปมากขึ้นตาม 
             ใช้จำนวนอุปกรณ์มากขึ้น และการออกแบบวงจรก็ยากขึ้นเช่นกัน ดังนั้นก่อนที่จะออกแบบวงจรซีเควนชียลจะต้องทำการลดทอนสเตตของวงจร
             ให้เหลือน้อยที่สุดเท่าที่จะทำได้ โดยที่คุณสมบัติของวงจรไม่เปลี่ยนแปลง
             16.4.1 Equivalent State
                                  Equivalent State หมายถึง สเตตตั้งแต่ 2 สเตตขึ้นไปที่มีคุณสมบัติในการทำงานเหมือนกัน ซึ่งสามารถจำนวนสเตตลง
                               เหลือเพียง 1  สเตตเท่านั้น
                        การพิจารณา Equivalent State ทำได้โดยการนำสเตตมาเปรียบเทียบกันทีละ 2 สเตต สเตตที่ Equivalent กันต้อง
                 มีคุณสมบัติดังนี้
                                   1. ที่อินพุตเดียวกันต้องมีเอาต์พุตเหมือนกัน
                           2. ที่อินพุตเดียวกัน Next State ต้อง Equivalent กัน
        ตัวอย่างที่ 16.5 จากตารางสเตตที่กำหนด จงหา Equivalent State

                                                                                  
                   วิธีทำ นำสเตตมาเปรียบเทียบกันทีละ 2 สเตต โดยต้องพิจารณาทุกกรณีที่จะเป็นไปได้

                                                                 
                         เมื่อ n คือ จำนวนสเตตทั้งหมด
                             r  คือ จำนวนสมาชิกในกลุ่ม (r = 2)
                          
       
                 ได้แก่ A,B AC, AD, BC, BD และ CD นำแต่ละกลุ่มไปพิจารณาตามคุณสมบัติดังนี้
                    กลุ่ม AC, BC และ CD ไม่ Equivalent เนื่องจากไม่เป็นไปตามคุณสมบัติข้อ 1 
                    กลุ่ม AB และ AD ไม่ Equivalent เนื่องจากไม่เป็นไปตามคุณสมบัติข้อ 2
                       กลุ่ม BD จะ Equivalent กันเนื่องจากเป็นไปตามคุณสมบัติข้อ 1 และ 2
                 ดังนั้น B และ D สามารถตัดออกได้ 1 สเตต ถ้าตัดสเตด D ออก จะได้ตารางสเตตหลังจากการลดทอนสเตตดังนี้

                                                                   
       การลดทอนสเตตในตัวอย่างที่ 16.5 เป็นการนำสเตตมาเปรียบเทียบกันโดยตรง ถ้าตรงตามคุณสมบัติทั้ง 2 ข้อ ก็จะ Equivalent กัน
  แต่ถ้าไม่ตรงตามคุณสมบัติอย่างน้อย 1 ข้อ ก็จะไม่ Equivalent เรียกการลดทอนสเตตสวิธีนี้ว่า วิธี Inspection เป็นวิธีที่ไม่เหมาะจะ
 ใช้กับวงจรที่มีจำนวนสเตตมากๆ
               วิธีลดทอนสเตตแบ่งออกเป็น 3 วิธีคือ
                                 1. วิธี Inspection
                                2 วิธี Partitioning
                                3. วิธี Implication Table
              ในที่นี้จะกล่าวเฉพาะวิธี Implication Table เท่านั้น    
             16.4.2 การลดทอนโดยวิธี Implication Table
                              เพื่อจะได้เข้าใจหลักการของ Implication Table ได้ง่ายขึ้น จึงใช้ตารางสเตตประกอบการอธิบายดังนี้

                                                                                     
                 1. เขียน Implication Table โดยการนำ Present State มาเขียนตามแนวนอนและแนวตั้ง โดยแนวนอนเริ่มเขียนจากซ้ายไปขวา 
                     ตั้งแต่สเตตที่ 1 ไปเรื่อยๆ ยกเว้นสเตตสุดท้ายไม่ต้องเขียน ส่วนแนวตั้งเริ่มเขียนจากข้างล่างขึ้นข้างบน ตั้งแต่สเตตสุดท้ายมาเรื่อยๆ 
                     ยกเว้นสเตตที่ 1 ไม่ต้องเขียน
 
                                                                    
                       จากตารางสเตตที่กำหนด เขียนเป็น Implication Table ได้ดังนี้

                                                                                       
                      2. ตรวจสอบคุณสมบัติข้อ 1 พิจารณาแต่ละคู่ของ Present State ว่าที่อินพุตเดียวกันมีเอาต์พุตเหมือนกันหรือไม่ (ต้องพิจารณาทุกค่าอินพุต)
                          ถ้าที่อินพุตเดียวกันอย่างน้อย 1 ค่าอินพุตมีเอาต์พุตต่างกัน ให้ใส่เครื่องหมาย X ลงในช้องนั้น ถ้าเอาต์พุตเหมือนกันให้เว้นว่างไว้

                                                                                     
                         3. หา Next State โดยการเขียน Next State ลงในช่องว่างของตาราง ค่า Next State ที่ไม่ต้องเขียนลงตารางมี 2 กรณี คือ 
                                   (1) Next State ที่เหมือนกัน
                                                      (2) Next State ที่ซ้ำกับ Present State
                                                                                         
                          4. ตรวจสอบคุณสมบัติข้อ 2 ในช่องที่มี Next State กำกับอยู่ให้ตรวจสอบดูว่า Next State เหล่านั้น Equivalent กันหรือไม่ ถ้า
                               Next State ไม่ Equivalent กัน ก็ตัดช่องนั้นออก โดยการเขียนเครื่องหมาย / ลงช่องนั้น  

                                                                                          
                        5. ผลการลดทอนสเตต ในช่องที่ไม่มีเครื่องหมาย X หรือ / แสดงว่า Present State คู่นั้น Equivalent กัน สามารถลดทอนสเตตได้
                           จากตารางจะได้ว่า B Equivalent C ดังนั้น จึงลดเหลือสเตตเดียว ถ้าตัดสเตต C ออกจะได้ผลการลดทอนสเตตดังตารางสเตตข้างล่าง
                      
                                                                                               
         ตัวอย่างที่ 16.6  จงลดทอนสเตตของตารางสเตตที่กำหนด

                                   
   16.4.3 Merger Diagram
                       ในการลดทอนสเตต บางครั้งสเตตที่ Equivalent กันมีมากกว่า 2 สเตต การพิจารณาว่าสเตตในแต่ละกลุ่มสามารถทอนลง
                 เหลือกี่สเตตพิจารณาได้จาก Merger Diagram Merger Diagram เป็นกราฟที่ได้จากกานำสเตตทุกสเตตมาเขียนแทนด้วยจุด
                 แล้วเขียนเส้น ตรงเชื่อมต่อระหว่างสเตตที่ Equivalent กัน ถ้าสเตตในกลุ่มใดมีเส้นตรงเชื่อมต่อถึงกันหมดทุกสเตต (ทุกสเตตใน
                 กลุ่ม Equivalent กันทั้งหมด) สามารถลดทอนสเตตทั้งกลุ่มนั้นเหลือเพียง 1 สเตตตัวอย่าง Merger Diagram ที่สามารถ
                  ลดทอนให้เหลือเพียง 1 สเตต แสดงดังรูปที่ 16.5

                                                       

                                      รูปที่ 16.5 แสดง Merger Diagram ที่แต่งละกลุ่ม Equivalent กันทุกสเตต
      ตัวอย่างที่ 16.7 จงลดทอนสเตตของตารางสเตตที่กำหนด

                                        
     ตัวอย่างที่ 16.8   จงออกแบบวงจรนับแบบซิงโครนัส (Synchronous Counter) ที่แสดงผลเป็นเลข 
                                     ฐานสอง ซึ่งมีสวิตซ์ควบคุม 2 ตัว คือ S0 และ S1
                                    ควบคุมการ Set และ Reset วงจร
                                    กรณีที่  = 0
                                        ถ้า = 0 วงจรแสดงผลเป็น 000
                                        ถ้า  = 1 วงจรแสดงผลเป็น 100
                                   กรณีที่   =1 วงจรนับตามปกติ
                                         ควบคุมการนับ
                                         กรณีที่  = 0 วงจรนับขึ้นตั้งแต่ แล้ววนกลับไปนับ 0 ใหม่
                                         กรณีที่    = 1 วงจรนับลงตั้งแต่  แล้ววนกลับไปนับ 4 ใหม่
                            วิธีทำ     เลือกใช้ J-K Flip Flop เป็นหน่วยความจำ โดยใช้ฟลิปฟลอปจำนวน 3 ตัว
                                             จากข้อมูลที่กำหนด  ไม่ขึ้นอยู่กับสัญญาณนาฬิกา จึงใช้ควบคุมขา Direct Input ของฟลิปฟลอป
                                         โดยเขียนเป็นตารางความจริงดังนี้

                                 
              จากตารางความจริงนำไปเขียนสมการลอจิก 
         
                                                              
          จากข้อมูลที่โจทย์กำหนดให้เขียนเป็นแผนภาพสเตตของวงจร เนื่องจากเป็นวงจรที่เอาต์พุตเหมือนกับสเตต จึงไม่เขียนเอาต์พุตในแผนภาพสเตต

                                                                          
           จากแผนภาพสเตตนำไปเขียนตารางสเตต และ Transition Table 

                          

       เปลี่ยน Transition Table ไปเป็น Excitation Map โดยใช้ Input Table ของ J-K Flip-Flop

                             
                        นำสมการลอจิกไปเขียนเป็นวงจรลอจิกดังรูป
                          

ไม่มีความคิดเห็น:

แสดงความคิดเห็น