So I am designing a 3-bit asynchronous binary counter which counts up to 11 then repeats using D flip-flops. That much I have done, however I am stuck when it comes to decoding the outputs to stop the counting sequence. I am only supposed to use one logic gate, though. I was thinking of how I could do this using an actual decoder, but I am completely lost when it comes to using just one gate. Any tips to get going? I want to actually figure this out.
Can't count to 11 on 3 bits, so I presume you're actually using 4 bits. What you need to do is AND the two highest bits together, and feed that into the async reset of all 4 flip flops. This will reset the counter back to 0 very shortly after it reaches 12.