I'm studying Moore and Mealy machines, everything works fine, until I found a Moore machine where output was not listed.I know that outputs of Moore machines depend of present state, but how can I figure out the output in my case? If u ask me about the output of below machine, I'd say is '100'. But why is '100' and not '000' or '010' ?

enter image description here

  • 1
    \$\begingroup\$ The output is whatever you want it to be. You can assign an arbitrary output to each state. It could be "toaster strudel" in state 100 and "pop-tart" in all other states, for example. \$\endgroup\$
    – The Photon
    Commented Sep 2, 2016 at 18:13
  • \$\begingroup\$ Oh I understand now. I thought it could be something special and I don't know it. Also thank you for your explanation and for this food example, now I'm hungry :D \$\endgroup\$
    – Linksx
    Commented Sep 2, 2016 at 18:19
  • \$\begingroup\$ One way to minimize resource (number of registers) used is to use some of the state register bits as outputs. You would manually assign the state bits such that some of them make sense as control outputs. This is a common practice in older days but not so much now with synthesizer and abundant silicon elements. \$\endgroup\$
    – rioraxe
    Commented Sep 2, 2016 at 18:42

1 Answer 1


Your example requires 3 registers xxx shown in each state. All 3 registers define a unique state of which there are 5 shown.

You can define another output =1 uniquely from each state with gates or use the 3 registers as your outputs as shown. Undefined states, not shown are 011,110,111 or 3,6,7 in BCD. It is assumed a clock transition defines the next state from the present state.

A register is merely a memory state using a Flip Flop.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.