Electrical – 8-bit synchronous up/down counter [Logisim]

counterflipfloplogisim

I am trying to create an 8-bit programmable up/down counter using D Flip flops. So far, this is what I have:

up/down synchronous counter D ff

The first 3 flip flops function correctly for both up and down, but the 4th doesn't. I was stuck on this problem for the past week and I couldn't find anything which helps.

Also, is there an easier way to solve this problem, perhaps without muliplexers?

Best Answer

After further research:

enter image description here

Arithmetic units and MUX all set to bit-width of 8.