(Counter Design) Consider the design of a 4-bit Gray-code counter (that is, only one of the state bits changes for each transition) that counts in the following sequence: 0000, 0001, 0011, 0010, 0110, 0111, 0101, 0100, 1100, 1101, 1111, 1110, 1010, 1011, 1001, 1000, and then back to 0000, 0001, 0011, etc.
(a) Draw a state diagram and next-state table.
(b) Implement the counter using D flip-flops.
(c) Do you have to worry about self-starting? Why or why not?