I have officially reached my wits end.
I have been working on this project now for 20 hours and I have absolutely nothing to show for it except some holes in the walls (oops). My problem is thus:
Design a 3 bit counter using 3 D flip flops and one X input. When X is 0, the counter is supposed to count up in multiples of 2 (i.e. 000, 010, 100, 110, 000, etc.). When X is 1, the counter is supposed to count down by odd numbers (i.e. 111, 101, 011, 001, 111, etc.). If X is changed while the counter is going up, the circuit should go to the next lowest odd number on the next clock pulse. If X is changed while the counter is going down, the circuit should go to the next highest even number on the next clock pulse.
So there it is. I have designed state table after state table and I cannot find the correct logic to implement this counter to save my life. Any help would be greatly appreciated.
Thanks.
I have been working on this project now for 20 hours and I have absolutely nothing to show for it except some holes in the walls (oops). My problem is thus:
Design a 3 bit counter using 3 D flip flops and one X input. When X is 0, the counter is supposed to count up in multiples of 2 (i.e. 000, 010, 100, 110, 000, etc.). When X is 1, the counter is supposed to count down by odd numbers (i.e. 111, 101, 011, 001, 111, etc.). If X is changed while the counter is going up, the circuit should go to the next lowest odd number on the next clock pulse. If X is changed while the counter is going down, the circuit should go to the next highest even number on the next clock pulse.
So there it is. I have designed state table after state table and I cannot find the correct logic to implement this counter to save my life. Any help would be greatly appreciated.
Thanks.