Answer:
View Image
Explanation:
The question is basically asking you to build a 2-bit asynchronous counter.
What the counter does is it increase it's value by 01β every clock pulse. So at 0β, nothing happens, but at 1β it'll count up by 1. It then reset to 00β when it overflows.
The design for it is pretty much universal so I kinda did this from memory.
a.) A count-up counter (from 00-11) is simply made by connecting Q' to D, and the output of the previous DFF to the clock of the next one.
b.) A count-down counter (from 11-00) is simply made by using the same circuit as the count-up counter, but you connect Q' to the clock instead of Q.