Right/Left Rotator Based on Booth's Algorithm for Multiplication
Original Publication Date: 1987-Jun-01
Included in the Prior Art Database: 2005-Feb-01
This article describes a right/left rotator which encodes the shift count using techniques similar to the use of Booth's algorithm for multiplication. In order to avoid having to set one rotate amount for rotating left and another to rotate right, Booth's recoder algorithm for multiplication can be used as a left rotator, and simply by inverting the recoder, it can used as a right rotator with the same hardware. In operation, the rotation count bits are treated as a multiplier for using Booth's algorithm for multiplication and the data that requires rotation treated as a multiplicand. Then the rotation count bits will be recoded as shown in the table below after adding binary zero to the least significant location of the rotate count bits. After it is shifted one bit position to the left, every three bits will be recoded.