I've been looking at this circuit posted by @crutschow here

I'm considering implementing it (for educational purposes), but first I want to understand how it works.
The part that's confusing me is the terminating condition.
For example, when the 8 bit binary input is 23 decimal (hex 0x17), my understanding is:
As I didn't see any comments, about the restart condition not working, in the thread I copied the schematic from, I'm thinking I've misunderstood something about the way it works.
Would someone be kind enough to tell me where my understanding is wrong?

I'm considering implementing it (for educational purposes), but first I want to understand how it works.
The part that's confusing me is the terminating condition.
For example, when the 8 bit binary input is 23 decimal (hex 0x17), my understanding is:
- On the first clock 7 is loaded into U1 and 1 is loaded into U9.
- After another 7 clocks, U1 has counted down to 0 and U1 /COUT has gone low.
- After the next clock U1 count has wrapped from 0 to 15, U9 has counted down from 1 to 0, and U9 /COUT has gone low.
- At the next clock U9 /COUT gets clocked into U6, thus restarting the process.
As I didn't see any comments, about the restart condition not working, in the thread I copied the schematic from, I'm thinking I've misunderstood something about the way it works.
Would someone be kind enough to tell me where my understanding is wrong?




