hello all, I have to design a state machine that transitions based on two inputs: w2 and w1. The states look like this:
0
1 2
3
if w2w1 = 10, state transitions clockwise (0, 2, 3, 1, 0, 2...) if w2w1 = 01, it's counterclockwise (0, 1, 3, 2, 0, 1...). if it's 00, then it remains where it is, and if it's 11, then it jumps across (0, 3, 0, 3) or (1, 2, 1, 2) depending on where it is at that point.
I've set up the table like this:
State 00 01 10 11
0 0 1 2 3
1 1 3 0 2
2 2 0 3 1
3 3 2 1 0
first column is present state, next columns are the next state depending on inputs w2w1. finally, if state is odd (1, 3) the final output of circuit (EW) is 10, otherwise output is 01.
i'm a little lost as to what to do next! some hints would be appreciated as I've never done this type of circuit before.
Thanks!
-SelArom
2006-11-26
17:17:37
·
3 answers
·
asked by
SelArom
1
in
Science & Mathematics
➔ Engineering
well, I have a general understanding of how flip flops and circuits work. the last project was also a finite state machine... but it only depended on a single input, so it was straightforward to derive the functions for each output...
but the transitions for this problem depend on TWO inputs, and each state has a seperate output of two bits... so I'm totally lost on how to implement this
2006-11-26
18:43:54 ·
update #1
that's definitely an approach I never considered, so thanks for the idea!
but i'm still lost on one thing here, and I think it might just be my not understanding the problem:
if the output of the states (O and E) can only be O = 1; E = 0 for states 1 or 3, and 0 = 0; E = 1 for states 0 and 2, how do I differentiate those states from each other?
for example, say I'm at state zero... the output is at 10 because it's even. but how do I tell the circuit that it's at zero, as opposed to 2, which has the same output? if it's at state 0, and the w1w2 input changes to 10, it would go to state 2, which is also 10. but if I was rather starting at state 2, and w2w1 went to 10, then the output would be 01, because it would go to state 3, which is odd. does that make sense? how do I make the system keep track of what state it's in if the outputs are the same for 2 sets of states?
the assignment doesn't address this, so I don't really know what to do here :(
-SelArom
2006-11-26
20:57:07 ·
update #2