Patent ID: 8122074

Claim:
A digital electronic binary rotator or shifter, and reverser, for rotating or shifting, and reversing, bits of a 2 n bit binary data word comprising: an array of at least 2 n ×n two-position gate elements including n banks each of 2 n elements, the array having an input for receiving a 2 n bit binary data word and an output each of at least 2 n bits, each gate element having a control input and three independent signal terminals with two inputs and one output, groups of the gate elements of at least all but one of the n banks of the gate elements being separately controllable, successive banks being connected in cascade with the gate elements of each bank being connected to those bits of either a neighbouring bank or the input or output of the array that are spaced in the direction along the bank by powers of two, the powers of two being different for the different banks; a control input for receiving a first signal comprising an n-bit word indicating an amount of desired rotation or shift and a second signal indicating a desired reversal or non-reversal; and a control logic coupled to the control input for, when both a rotation or shift and a reversal are simultaneously desired, generating from the first and second signals control signals for applying to the gate elements of the array the control signals having control words for each bank of the gate elements, whereby the gate elements of at least all but one of the n banks of the gate elements are separately controlled, and for applying the control signals in the control words to the control inputs of the gate elements in each respective bank of the array, wherein the control logic generates the control signals from the first and second signals such that the gate elements of the 2 n ×n array operate simultaneously to apply the desired rotation or shift determined by the first signal to the bits of the input binary data word and to reverse or non-reverse the bits as determined by the second signal.