Well, the sequence repeats after every 8 bit: 0 0 1 1 0 0 0 0
. Now log_2(8)=3
, this means you need 3 element counter with output function:
0 0 0 = 0
0 0 1 = 0
0 1 0 = 1
0 1 1 = 1
1 0 0 = 0
1 0 1 = 0
1 1 0 = 0
1 1 1 = 0
Now I personally use :
fun = BooleanMinimize[
BooleanFunction[{{0, 0, 0} -> 0, {0, 0, 1} -> 0, {0, 1, 0} ->
1, {0, 1, 1} -> 1, {1, 0, 0} -> 0, {1, 0, 1} -> 0, {1, 1, 0} ->
0, {1, 1, 1} -> 0}][c, b, a]]
with an output of: b && ! c
, but you could use Karnaugh map.
Now you can search wolframalpha.com for: logic circuit b && ! c
.

So now you need to make 3 JK-triggers to make 3 element counter, with outputs {a, b, c}
and you only need b
and c
output. You can look up your lecture notes to see how to connect them up.
Simple 4 bit 2 way counter using JK-triggers and some binary logic.

- Upper
and
operator path is used when counting up.
- When counting down path below is used.
or
elements are used to combine them.
- Extra logic input and
inverse
is used to determine what way to count.