เครื่องจักรแบบเมลลี่

Mealy Machines

เป็น FSMs มีสถานะเปลี่ยนแปลงตามสัญญาณนาฬิกา แต่เอาต์พุต ที่ได้จะเปลี่ยนตามอินพุตที่เข้ามาในแต่ละสถานะ คือ ภายในสถานะหนึ่งๆ จะมีลักษณะของเอาต์พุตที่สามารถเปลี่ยนแปลงได้ ตามอินพุตที่เปลี่ยน หรืออาจกล่าวได้ว่า "Output ของระบบจะขึ้นอยู่กับสถานะปัจจุบัน (Present State) " และอินพุตที่เข้ามากระตุ้นระบบในขณะนั้น

Mealy Machine เป็น State Machine ที่อนุญาตให้เอาต์พุตมีการเปลี่ยนแปลงได้โดยไม่จำเป็นต้องเข้าจังหวะกับการเปลี่ยนสถานะ ที่สำคัญก็คือสถานะยังเปลี่ยนตามจังหวะ clock แต่เอาต์พุตสามารถเปลี่ยนตามอินพุตได้ทันทีโดยไม่สนใจ clock และงานบางอย่างสามารถลดจำนวนสถานะลงได้ถ้าใช้ Mealy Machine งานบางอย่างจำเป็นต้องใช้ Mealy Machine เท่านั้น ข้อเสียของ Mealy Machine คือ เข้าใจยากกว่า Moore Machine จึงออกแบบยากกว่าและเสียงต่อการเกิด glitch ที่ เอาต์พุตมากกว่า

Mealy Model

คือแบบจำลองของวงจร ซีเควนเชียล จาก 1 ใน 2 ประเภท อีกประเภทหนึ่ง คือ Moore model

ภาพด้านล่างนี้คือ แบบจำลอง  Mealy จะเห็นได้ว่า มี output รวมอยู่กับการเปลี่ยน State จากStateหนึ่ง ไปอีก State หนึ่ง 
เช่น จากState A ไป B จะมีลูกศรเป็นตัวชี้ และที่ลูกศรมีตัวเลขกำกับ 0/1 หมายถึงเมื่อinput เป็น 0 จะให้ output 1 และ Stateเปลี่ยนจาก A ไป B
ซึ่งเราสามารถที่จะนำ Mealy Model มาทำการวิเคราะห์วงจรซีเควนเชียลได้ โดยการวิเคราะห์วงจร ซีเควนเชียล แยกออกเป็น 4 ประเภทด้วยกัน คือ
(แบบที่ 1) วงจร Pulsed synchronous วงจรแบบนี้มี Input เป็น pulse และหน่วยความจำมีนาฬิกาดังที่ได้กล่าวมาแล้ว แต่ input pulse จะเข้าจังหวะ (Synchronous) กับนาฬิกา หรือ ไม่เข้าจังหวะ (Asynchronous) กับนาฬิกาก็ได้ซึ่งทั้งสองกรณี input pulse จะมีผลต่อการเปลี่ยนสถานะต่อไปของวงจร ในช่วงจังหวะที่มี pulseนาฬิกาเท่านั้น
(แบบที่ 2) วงจร Level synchronous วงจรแบบนี้จะรวมถึงวงจรทั้งหมดที่มีหน่วยความจำควบคุมโดยสัญญาณนาฬิกา และ สัญญาณ Input เป็น level ไม่ว่า level นั้นจะเข้าจังหวะกับสัญญาณนาฬิกาหรือไม่
(แบบที่ 3) วงจร Pulsed asynchronous ต้องใช้ความรอบคอบเป็นพิเศษ เนื่องจากไม่มี pulse นาฬิกาเป็นตัวกำหนดจังหวะที่จะเกิดการ เปลี่ยนแปลงของวงจร ดังนั้น State ของวงจรจะเปลี่ยนแปลงทันที เมื่อ input ที่เข้ามาเปลี่ยนแปลง
(แบบที่ 4) วงจร เลเวลอซิงโครนัสเป็นวงจรที่มี input เป็น level และไม่มี clock ควบคุมหน่วยความจำป็นแบบที่วิเคราะห์ได้ยากที่สุด ทำให้เราสามารถวิเคราะห์วงจรลอจิก ต่างๆ โดยหาState table และ Timing diagram ของมันได้

และภาพด้านล่างนี้คือ mealy machine timing diagramตัวอย่างแผนผังเวลาการทำงานของวงจรแต่ละวงจร 
ตัวอย่าง :จากตารางสภาวะข้างล่างนี้เป็นรูปแบบของ มิลลี ให้หา

   ก) ผังสภาวะ (state diagram)
 ข) ASM. Chart
 ค) คุณลักษณะของ Z (ลำดับของ Z) เมื่อมี Input x เป็นดังนี้ x = 011011 และสภาวะเริ่มต้นอยู่ที่สภาวะ A
วิธีทำ พิจารณาจากตารางสภาวะที่ให้มา จะพบว่าOutput Z จะขึ้นกับทั้ง Input x และ PS (y) โดยที่ Input x = 0, 1 (มี 2 ค่า) ตัวแปรสภาวะ (state) = A, B, C (3 สภาวะ) มักแทนด้วย Code เช่น A = 00, B = 01, C = 10 Output Z = 0, 1 (2 ค่า)
ก) เขียน state diagram ได้ดังนี้
ข) ASM. Chart เขียนได้ดังนี้
ค) หาลำดับของ output Z เมื่อ input x = 011011 และ สภาวะเริ่มต้นที่สภาวะ A ∴ เราสามารถแสดงการทำงานได้ดังนี้
เวลา : 1 2 3 4 5 6
Input x : 0 1 1 0 1 1 (6 bit)
สภาวะเริ่มต้น y  : A B A C A C
สภาวะต่อไป Y  : B A C A C C
Output Z  : 1 1 0 0 0 0

Mealy Finite State Machine

มาทำความรู้จักกับ Finite State Machines หรือ FSMs ซึ่งเป็นเครื่องมือที่ใช้สำหรับออกแบบวงจรที่มีสัญญาณนาฬิกาควบคุมการทำงาน (Sequential) มีการทำงานเป็นสถานะ (State) แต่ละสถานะจะมีการทำงานที่แตกต่างกัน ค่าเอาต์พุตและสถานะถัดไป จะถูกกำหนดโดยอินพุตที่เข้ามายังสถานะนั้นๆ ทำให้สามารถเปลี่ยนจากสถานะหนึ่งไปยังสถานะอื่นๆได้ ซึ่งเป็นเครื่องมือที่มีประโยชน์มากในการออกแบบระบบดิจิตอล เพื่อนำไปอธิบายการทำงานของวงจร โดยทั่วไปวงจรที่ประกอบไปด้วย หน่วยความจำ หรือรีจีสเตอร์ ถือว่าเป็น Finite State Machines (FSMs)