We introduce a novel left-to-right leading digit first dual recoding of an operand for the purpose of designing the squaring operation on that operand. Our dual recoding yields an array of non-negative partial squares of size essentially one half that of a comparable multiplier partial product array for both radix-4 and radix-8 designs. For radix-8 design the 128-bit square of a 64-bit operand can be obtained from a consolidated partial square array of just 11 rows. We describe advantages of our left-to-right recoding compared to a previous right-to-left Boothfolding encoding applicable to radix-4. We also show simplifications available to the designs of a rounded floating point square operation and to a low precision approximate square.
David W. Matula