Finite State Machine

คือกระบวนการออกแบบใช้สำหรับวงจรแบบ Sequential Logic เพื่อแสดงถึงการทำงานของระบบ

อ้างอิงจาก http://kosbie.net/cmu/summer-08/15-100/handouts/hw5bonus.html

โดยรูปแบบการออกแบบของ Finite State Machine จะประกอบด้วย State และชี้ไปยัง State ถัดไป หรือก่อนหน้า (พร้อมกับห้อยเลข Input ของระบบ)

โดยในตัวของ State นั้นๆ จะมีค่า Output อยู่ภายในตัวเอง

ดังภาพปรากฎตัวอย่าง State จะเริ่มต้นที่ q0 และเมื่อรับ Input 0 เข้ามาจะไปที่ q1

เมื่ออยู่ในสถานะ q1 หากได้รับ input 1 จะย้อนกลับไป q0 เป็นต้น

โดยกระบวนการของ Finite State Machine จะสามารถระบุได้ถึงการทำงานของวงจรเป็นลำดับขั้นตอน

ในการออกแบบจะนำวงจรดังกล่าว มาเขียนอยู่ในรูปของ Trute Table และ Assign Flip flop เข้าไปในวงจร (D Type หรือ J-K Flip flop)

กระบวนการจะลำดับดังนี้

  1. วาด Finite State Machine ของระบบที่ต้องการ
  2. นำมาสร้างเป็น Trute Table ของระบบ
  3. ใส่ Flip Flop เข้าไปใน Trute Table
  4. ทำ Kanaugh Map (Reduce Map) ย่อรูปในขา Input และ Output ของ Flip Flop  ทั้งหมด