I have to design a counter with two inputs:
y = 0, the counter behaves like a 3-bit ring counter, and if
y = 1, it behaves as a 3-bit Johnson counter. If
x = 0, it counts up, and if
x = 1, it counts down. I may only use D flip flops, and any logic gates I require.
For reference, here are the state tables of a 3-bit ring and Johnson counter (in that order):
So naturally, I created this big table of states:
Since there are two inputs, and three states, each following state depends on five bits. Therefor the K-maps for
Q3+ (which are actually
D3 for the flip flops) are maps of five variables, making this somewhat complicated.
The question is: is there a way to do the minimization with k-maps in a simpler manner (perhaps I am missing something)? Or, if there is no way to simplify the minimization, then is it wiser to use k-maps of five variables or perhaps another method (quine-mccluskey maybe, or something completely different)?