For a class project, I am required to design a Moore Machine based on a problem that we were given. I have already done this with a Mealy Machine, but I am encountering errors with the Moore Machine. Specifically, my design won't "stick" to a state when it's supposed to. For example, when the input is 1,0 and it is in State1, and I toggle the clock but keep the input the same, it does not stay in State1. Referring to the state diagram may help you better understand what I am talking about.
As you can see, my design needs to have 2 inputs. The input 0,1 is not valid for my design. The number in parentheses is the output for each state.
Here is my state transition table and karnaugh maps. The inputs are in the form (P,N), I forgot to add. Also, the input 0,1 is meaningless in my design.
Based on those, I got the equations
D2 = (N' * q2' * q1' * q0) + (P * N * q2 * q0') + (P * q2' * q1' * q0)
D1 = (P * N * q2' * q0') + (N' * q2 * q0')
D0 = P * N' * q0'
I'm afraid that my equations may be incorrect, I actually have no idea how to solve 5 variable K Maps (and we're not expected to for this class), so I used a program to solve them instead.
Using these equations, I tried to simulate it using LogicWorks. This is where I encountered the problem above. In certain situations it works, but it really doesn't work when I am trying to make it stay in a state. Any help?
q0'
. Based on this equation it is never possible for D0 to be 1 if q0 is 1, but yet you're asserting that the state machine is allowed to stay in state1 based on the inputs. I'd suggest to recheck your equations again. \$\endgroup\$