Electronic – Design 3-bit Synchronous Counter

counterflipflopschematics

I'm new to the whole electronic circuit scene, I've been trying to work out for hours how to design a 3-bit synchronous counter using D-Flip Flops to count in a given sequence.

So say for instances that the counters sequence is 111->010->011->001, what is the best approach to this problem?

any help much appreciated.

Best Answer

You can create a 3-input, 3-output circuit that maps one state in the count sequence to the next. Then feed the 3 Q outputs of the FF's into this combinatorial circuit, and connect the output of the combinatorial circuit to the 3 D inputs of the FF's. Connect all 3 of the FF's clock lines together, and then whenever an active edge comes along the flip flops act like a 3 bit register, and just load up the next value.