This unit takes in a 32 bit number A and computes floor(sqrt(A)), i.e. the square root of A rounded down. It uses the non-restoring shift-and-subtract algorithm, and it computes a bit every 11rt, or 1.1 seconds. In total, it needs a little more than 20 seconds due to additional overhead.
In this design the focus was on speed & compactness. My previous square root extractor was 18rt per bit, so this is design is a lot faster, but it has two downsides, namely:
-
No remainder. Since the used algorithm is non-restoring, we sometimes have to do an extra addition to get the correct remainder. This is a little bit tedious to do, also the remainder is hard to access, it is stored on the yellow line in the middle of the build.
-
No Reset button. I didn't find a good way to reset the output, so you can only overwrite the previous output, but not clear the output
I used Aminos 3t CCA design for the adders.
Java only.
7,799
Blocks
14,280
Volume
14 × 68 × 15
Dimensions
schem
Format
minecraft
redstone