1

I have drawn a mealey machine for this circuit, with two states, however I can't draw a Moore machine state diagram, I don't understand how to do this.

The circuit is as follows :

The circuit is a Moore machine with one binary input X and one binary output Y . The output Y depends on the two values of X sampled at the two most recent clock pulses. Y should always be the result of the XOR combination of these two input values.

So, basically, if the state is 1 and the input is 1, it goes to 0. If it is 0 and it get's a 1, then it goes to 1. It goes to 1 as long as it is the opposite of it's state.

How is this represented on a state diagram? What about a transition table?

Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129
Jake Pillandfall
  • 31
  • 1
  • 3
  • 5

2 Answers2

0

check example for a moore machine to detect the pattern 0x01 here.

There are two types of finite state machines- Moore and mealy. In mealy FSM the output depends on both the internal states and the inputs. But for a moore machine the output depends only on the internal states.

  • Links tend to change or go missing, could you explain some of the contents or quote it here? – abarisone May 15 '15 at 05:42
  • Represent the state diagram of required moore machine with two states, S0 and S1. S0 be the state where output y=0 and S1 be the state where output y=1. The transition from S0 to S1 occurs when the input is a 1. Similary the transition from S1 to S0 occurs when the input is 1. For other input cases the moore machine retains the state. – Jomon Thomas May 15 '15 at 18:42
0

I am referring to the actual circuit:

You can't have the output change directly when you get the input, because that would imply it is a mealy machine. In order for it to be a moore machine, there must be at least 1 clock cycle between input and relevant output.

One simple way to do this would be to take the mealy machine that you already built, and add a register either on the input line or on the output line.

Eran Zimmerman Gonen
  • 4,375
  • 1
  • 19
  • 31