CS 140L Lecture 7 Transformation between Mealy and Moore Machines Professor CK Cheng CSE Dept. UC San Diego
Outlines Framework Procedure Example: Transform Example: State Diagram Example: Output Sequence
Transform from Mealy to Moore Machine Mealy Machine: y(t) = f(x(t), s(t)) Moore Machine: y(t) = f(s(t)) s(t+1) = g(x(t), s(t)) x(t) x(t) C1 C2 y(t) C1 C2 y(t) CLK CLK s(t) s(t) Moore Machine Mealy Machine
Transform from Mealy to Moore Machine Algorithm Input: State Table of Mealy machine 1) For each NS, z = Si,yj create a state Si(j) 2) For each new state Si(j), repeat the row PS = Si 3) Replace NS, z = Si,yj with state Si(j). Set output z = yj for row PS = Si(j)
Example Mealy Machine: Moore Machine: PS A B 00 A,0 A,1 01 A,1 B,0 10 (x,y) (NS, z) Moore Machine: PS A0 A1 B (x,y) 00 A0 A1 01 A1 B 10 B z 1
State Diagram Mealy Machine Moore Machine A B A0/0 A1/1 B/0 00/0, 01/1 10/0 B 00/1 00/0, 01/1 10/0, 01/0 Mealy Machine A0/0 A1/1 B/0 10 00 01 Moore Machine
Timing Diagrams Time step x y S z A A0 1 A A0 2 1 A A1 3 B 1 4 1 A A1 5 1 A A1 A Mealy A1 1 Moore The output shifts by one clock from Mealy to Moore machine