Back to results
US 8,713,399 B1Granted
Reconfigurable barrel shifter and rotator
AssigneeAntcor S.A.
InventorsIoannis Tsatsaragkos, Vassilis Paliouras
Life of this patent
Estimating the term…
Abstract
The present invention is directed toward reconfigurable barrel shifters and rotators. A barrel shifter comprises an array of multiplexers, the array having a plurality of inputs and a plurality of outputs and wherein the array of multiplexers is configured to rotate a set of n input messages applied to the inputs by a selected number of positions at the outputs and wherein the number n of messages contained in the set is selectable from among a plurality of values, by changing only select control signal inputs to the array of multiplexers.
Claims18
An apparatus comprising:
- an array of multiplexers, the array having a plurality of inputs and a plurality of outputs, wherein the array of multiplexers is configured to rotate a set of n input messages applied to the inputs by a selected number of positions at the outputs and wherein the number n of messages contained in the set is selectable from among a plurality of values given as z0, z1 and z2, wherein the array of multiplexers are arranged in at least a first stage, given as stage 0, second stage, given as stage 1, and a third stage, given as stage 2, each stage comprising multiplexers identifiable by a variable j, and the array comprising at least three groups of multiplexers wherein a first group comprises multiplexer z0−1 of stage 0 and multiplexers z0−2 and z0−1 of stage 1, a second group comprises multiplexer z1−1 of stage 0, multiplexers z1−2 and z1−1 of stage 1 and multiplexers z1−4 to z1−1 of stage 2, and a third group comprising the remaining multiplexers of the array, further wherein
- each first group multiplexer (jε{0, 1, . . . , z0−1}) of stage k (kε{0, 1, . . . , p0−1} and p0=┌log2z0┐) receives as inputs the outputs of the previous stage multiplexers (or the array of inputs in case of k=0) j and mod(j+t, z2), when the desired configuration z is not equal to z0, otherwise it receives as inputs the outputs of the previous stage multiplexers (or the array of inputs in case of k=0) j and mod (j+t, z0);
- each second group multiplexer j (jε{0, 1, . . . , z1−1}) of stage k (kε{0, 1, . . . , p1−1} and p1=┌log2z1┐) receives as inputs the outputs of the previous stage multiplexers (or the array of inputs in case of k=0) j and mod(j+t, z2), when the desired configuration z is not equal to z1, otherwise it receives as inputs the outputs of the previous stage multiplexers (or the primary inputs in case of k=0) j and mod(j+t, z1);
- and
- each third group multiplexer j (jε{0, 1, . . . , z2−1}) of stage k (kε{0, 1, . . . , p2−1} and p2=┌log2z2┐) receives as inputs the outputs of the previous stage multiplexers (or the primary inputs in case of k=0) j and mod(j+t, z2), where t=2k.
2 more elements
An apparatus comprising:
- an array of multiplexers, the array having a plurality of inputs and a plurality of outputs, wherein the array of multiplexers is configured to rotate a set of n input messages applied to the inputs by a selected number of positions at the outputs and wherein the number n of messages contained in the set is selectable from among a set D of d values where D=[z0, z1, . . . , zd-1] and 2≦z0<z1< . . . <zd-1, and wherein the array of multiplexers includes a zd-1×zd-1 array of primary multiplexers, which compose a zd-1×zd-1 barrel rotator, and secondary multiplexers, the primary multiplexers being divided into d groups, and wherein the secondary multiplexers are placed at one of the inputs of all the primary multiplexers of the barrel rotator which belong to a group f, where fε{0, 1, . . . , d−2}, such that group f consists of the primary multiplexers zf−2k to zf−1 of stage k, where kε{0, 1, . . . , pf−1} and pf=┌log2zf┐, and a group f primary multiplexer j (jε{0, 1, . . . , zf−1}) of stage k (kε{0, 1, . . . , pf−1} and pf=┌log2zf┐) receives as inputs the outputs of the previous stage primary multiplexers, or the inputs to the barrel rotator in case of k=0, j and mod(j+t, zd-1), when the desired configuration is not zf, otherwise it receives as inputs the outputs of the previous stage primary multiplexers, or the inputs to the barrel rotator in case of k=0, j and mod(j+t, zf).
Dependencies are inferred from the claim text.