Thinking about the decade driver. Instead of iterating I can use 40 comparators and use a separate ladder for each place. It'd still have a timing constraint from ripple because the rounded value would still have to be subtracted to accurately find the next place. I could either use 40 comparators, or a clocked state machine with sample-holds that loop back and bussed output latches. 40 comparators would honestly be easier to design because basically everything would be repeated. But clocked held latched would require quite a few fewer parts and a whole lot less board space.