I am just not sure if the counter is starting at 0 or at 1. I mean this at a simulation software level. The numeric output never lights up the 0 alone, but every digit turns off once the cycle completes, I'm not sure if that means "its 0" or if its just not counting.As has been pointed out, most counters start in state 0 as that is usually the easiest state to reset them to. Since you are claiming to want a synchronous design, you want fourteen states. The sequence 0-13 is the usual one, but you can make 1-14 work. Or, ANY set of fourteen unique states.
Forget about the lights for a moment. Can you take the outputs of a four-bit counter and implement some logic so that each unique state lights up a different LED? If you want, you can just choose the 14 states you want to use.
Now, if you have those fourteen outputs (each of which is HI for one clock cycle) and you wanted another LED to be lit whenever the first, seventh, eighth, or tenth output us HI, what could you do to accomplish that?
There are many ways to skin this cat. As near as I can tell from looking at your table, there are five unique output conditions. You could use a set of states to represent those conditions and then some additional states to count the time within each output condition.
Well, with a ridiculously large amount of inverters and AND gates, I guess I could make logic that would light up 14 different leds...but I'm not sure if that's right...
And, now that I tried to do something similar, yeah, it's easy (if extremely tedious) to do the logic to light up 14 different leds, but once I try to light up a SINGLE led for more than 1 state, then everything goes to hell. I simply cannot see a way in which a set of logic gates will output 1 only from state 1 to 5 and then turn output 0 to turn it off. If I set up a NAND gate to output 1 when it receives 0001, 0010, 0011, 0100, 0101 then that logic will still trigger beyond 0101 because every other number meets the criteria for the logic to output 1. So the light will never turn off.
If I try to do it backwards (output 0 when its 0101) then it's just the same issue but backwards...thing turns off at 5 but lights up again at 6.
If I try to decode 0101 with a NAND gate, OK, it will output 1 when the inputs are 0101, sure, but it will also output 1 when the inputs are literally any other binary number asides from 1111, so in other words, the lights won't ever shut down.
And what do you mean when you say there are 5 unique output conditions? I only have 4 bits...
It's just the way I was taught to make them. I double checked and I can't really find an error there, there are 3 groups of 2 (because groups can overlap) and there's no group bigger than 2. Would the order of the variables affect anything? I'm not even sure if a kmap is necessary...The order of the variables in your map makes it incredibly difficult for me to read because that's not the way I'm used to doing them. Normally the variables would be DC on the left side and BA on the top. You have it as CD and AB which makes reading the numbers tedious and prone (for me) to errors.
But, it will work. I added the don't cares and was able to simplify the equation I expected.
You have two incorrect entries in the Kmap and you aren't taking advantage of using the invalid counts as don't cares.
EDIT: Can you double check this result?
View attachment 193293
I don't get that when I don't use don't cares. It's more typical to keep the variables in MSB to LSB order, so I'd write it as D'CB'+D'CA+D'B'A. It's easier to convert to numbers, unless your native language writes binary numbers backwards.
You're on the right track.