Re: updown counter
My idea is:
First, a DFF with its reverse output feeding back into its data input forms a frequency divider by two.
Put two such divider in serial gives you a two bit counter, counting in one direction (the data output of 1st DFF should be connected the the 2nd DFF, and both DFF's data output will be the 2 bits output of the counter).
Reset should be connected to both DFF's reset.
To make it counter backward, my suggestion is to invert the output (so that 00 01 10 11 will be 11 10 01 00).