Digital Design: Is there an elegant way to put a number in a sorted register file?
There's no need to cascade the comparators. Every memory cell compares its own contents with the new number coming in. All of those that are less than (or equal to) the new number don't change. All of the ones that are greater shift over by one position. The first memory cell that needs to shift (its neighbor doesn't shift) also loads the new value.
All of the comparisons and shifts happen in parallel, independent of the size of the file.
Here's a diagram that shows the basic idea:



simulate this circuit &ndash; Schematic created using CircuitLab
BTW, the registers do need to be edge-triggered (clocked). If you want a combinatorial output, you'll need to add an extra mux to each stage. I'll leave that as an exercise for the reader.