Error with Double-Dabble decoder

I'm using a Binary to BCD system using this double-dabble decoding device. It all seems pretty good, but it doesn't work properly. If you are unfamiliar with double-dabble, it should take an input, and if it's higher than 4, add 3. I've seen this device used in another video, but this one doesn't work 100% correctly.

Even after downloading the schematic and opening it in CircuitSimulator, putting in a 5 gives a 7, not an 8 like expected:

circuitsim screenshot

Anyone good enough to identify the problem?


Solution 1:

You have to note 3 things:

  • Every next unit has to be one farther to the left than the other (1 goes to 2, 2 goes to 4 and 4 goes to 8)
  • Every third next unit needs a follow neighbor (Output 8 goes to Input of next potence of 10 [Output 8 from ones goes to Input 1 from units, Output 8 from units goes to Input 1 from hundreds])
  • The One mustn't be shifted, so its line will go straight on.