jango123, You can't use a mechanical switch as a synchronous input to something that is clocked. By definition it won't be synchronous as it's not switching based on that clock.
Besides that how is one supposed to determine when a 1101 has been input on the switch?
e.g.
If I hold the switch in the '1' for 10 seconds, hold it in the '0' for 3 seconds, and put it in the '1' for 1 second is that a 1101?
How about '1' for 1 second, '0' for 50 seconds, and '1' for 3 seconds?
Do you see the problem with your switch input design? There is no sense of time to mark one bit from another. That is why the input bit sequence should be from sequential logic running off the same clock as the FSM.
Besides that how is one supposed to determine when a 1101 has been input on the switch?
e.g.
If I hold the switch in the '1' for 10 seconds, hold it in the '0' for 3 seconds, and put it in the '1' for 1 second is that a 1101?
How about '1' for 1 second, '0' for 50 seconds, and '1' for 3 seconds?
Do you see the problem with your switch input design? There is no sense of time to mark one bit from another. That is why the input bit sequence should be from sequential logic running off the same clock as the FSM.