Barrel shifter
Abstract
A barrel shifter receiving N symbols, arranged n 2 distinct groups of n 1 symbols, applying a circular shift to the N symbols. The barrel shifter comprises n 2 first barrel shifters, each applying a first circular shift to one of the groups of n 1 symbols; a rearrangement module receiving the N symbols provided by the first barrel shifters and providing N symbols arranged, in a determined manner, in n 1 distinct groups of n 2 symbols; n 1 second barrel shifters, each applying a second circular shift to one of the distinct groups of n 2 symbols; a control module providing, to each first barrel shifter, an identical signal bs_ctrl 1 representing the first shift, and providing, to each second barrel shifter, an identical signal bs_ctrl 2 representing the second shift; and a switching module switching at least two of the symbols of the N symbols.
Claims
exact text as granted — not AI-modified1 . A barrel shifter arranged to receive a number N of symbols in parallel, arranged in a number n 2 of distinct groups of a number n 1 of symbols, and to apply a total circular shift to the N symbols of a determined number of positions, the barrel shifter comprising:
n 2 first barrel shifters, each first barrel shifter being adapted to receive one of the distinct groups of n 1 symbols and to apply a first circular shift to said group of n 1 symbols, the first shift depending on the total shift; a rearrangement module adapted to receive the N symbols provided by the first barrel shifters and to provide N symbols arranged, in a determined manner, in n 1 distinct groups of n 2 symbols; n 1 second barrel shifters, each second barrel shifter being adapted to receive one of the distinct groups of n 2 symbols and to apply a second circular shift to said group of symbols, the second shift depending on the total shift; a control module adapted to receive a signal bs_ctrl representing a total shift and to provide, to each first barrel shifter, a signal bs_ctrl 1 representing the first shift that depends on the total shift and which is identical for each first barrel shifter, and adapted to provide, to each second barrel shifter, a signal bs_ctrl 2 representing the second shift which depends on the total shift and which is identical for each second barrel shifter; and a switching module adapted to switch at least two of the symbols of the N symbols.
2 . The barrel shifter according to claim 1 , wherein the rearrangement module is adapted to provide, for a symbol received at an i th position in the N symbols provided by the first barrel shifters, said symbol at a j th position according to the following relationship:
j= mod( i,n 1 )* n 2 +floor( i/n 1 ) where i is an integer between 0 and N-1, mod(i,n 1 ) is the remainder of the whole division of i by n 1 and floor(i/n 1 ) is the quotient of the whole division of i by n 1 .
3 . The barrel shifter according to claim 1 , wherein the control module is adapted to provide the signal bs_ctrl 1 according to the following relationship:
bs_ctrl 1 =mod(bs_ctrl,n 1 ) where mod(bs_ctrl,n 1 ) is the remainder of the whole division of bs_ctrl by n 1 , and adapted to provide the signal bs_ctrl 2 according to the following relationship: bs_ctrl 2 =floor(bs_ctrl/n 1 ) where floor(bs_ctrl/n 1 ) is the quotient of the whole division of bs_ctrl by n 1 , the barrel shifter further comprising an auxiliary rearrangement module adapted to receive the N symbols provided by the second barrel shifters and, for a symbol received at an i th position, to provide said symbol at a j th position according to the following relationship: j= mod( i,n 2 )* n 1 +floor( i/n 2 ) where i is an integer between 0 and N-1, mod(i,n 2 ) is the remainder of the whole division of i by n 2 , and floor(i/n 2 ) is the quotient of the whole division of i by n 2 , the switching module comprising N multiplexing modules, each multiplexing module receiving a first symbol at a relative position k, k being an integer between 1 and n 1 , of the n 1 symbols provided by a first barrel shifter and a second symbol at said relative position k of the n 1 symbols provided by a first adjacent barrel shifter and providing the second symbol when k is less than or equal to bs_ctrl 1 and the first symbol when k is greater than bs_ctrl 1 .
4 . The barrel shifter according to claim 1 , wherein the control module is adapted to provide the signal bs_ctrl 1 according to the following relationship:
bs_ctrl 1 =floor(bs_ctrl/n 2 ) where floor(bs_ctrl/n 2 ) is the quotient of the whole division of bs_ctrl by n 2 , and adapted to provide the signal bs_ctrl 2 according to the following relationship: bs_ctrl 2 =mod(bs_ctrl,n 2 ) where mod(bs_ctrl,n 2 ) is the remainder of the whole division of bs_ctrl by n 2 , the barrel shifter further comprising an auxiliary rearrangement module adapted to receive the N symbols and to provide the N symbols to the first barrel shifters such that, for a symbol received at an i th position, said symbol is provided at a j th position according to the following relationship: j= mod( i,n 2 )* n 1 +floor( i/n 2 ) where i is an integer between 0 and N-1, mod(i,n 2 ) is the remainder of the whole division of i by n 2 , and floor(i/n 2 ) is the quotient of the whole division of i by n 2 , the switching module comprising N multiplexing modules, each multiplexing module receiving a first symbol at a relative position k, k being an integer between 1 and n 2 , in the group of n 2 symbols amongst the N symbols received by said barrel shifter, and a second symbol at said relative position k in an adjacent group of n 2 symbols and providing, to the auxiliary rearrangement module, the first symbol when k is less than or equal to the difference between n 2 and bs_ctrl 2 and the second symbol when k is greater than the difference between n 2 and bs_ctrl 2 .
5 . A decoder comprising processors connected to memory elements and to a barrel shifter according to claim 1 , wherein the processors and the memory elements are arranged in first and second concentric rings and in which the first and second barrel shifters of the barrel shifter are arranged in a third ring concentric to the first and second rings.Join the waitlist — get patent alerts
Track US2006251207A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.