1 / 9

BIT MATRIX TRANSPOSE WITH TENSOR PRODUCT AND PERFECT SHUFFLING FOR SOFTWARE DEFINED RADIO

BIT MATRIX TRANSPOSE WITH TENSOR PRODUCT AND PERFECT SHUFFLING FOR SOFTWARE DEFINED RADIO. ECE 734 VLSI Array Structures for Digital Signal Processing Jui-Chieh (Jerry) Lin University of Wisconsin-Madison May. 8 th , 2013. Bit Matrix Transpose. What is “bit matrix transpose?”

dimaia
Download Presentation

BIT MATRIX TRANSPOSE WITH TENSOR PRODUCT AND PERFECT SHUFFLING FOR SOFTWARE DEFINED RADIO

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BIT MATRIX TRANSPOSE WITH TENSOR PRODUCT AND PERFECT SHUFFLINGFOR SOFTWARE DEFINED RADIO ECE 734 VLSI Array Structures for Digital Signal Processing Jui-Chieh (Jerry) Lin University of Wisconsin-Madison May. 8th, 2013

  2. Bit Matrix Transpose • What is “bit matrix transpose?” • Transpose the matrix in which each element is one bit • Application of “bit matrix transpose” • Interleaver in software defined radio • Helps combat burst error in forward error correction • Not so efficient on word-based processor • A “word” is a register performs parallel bit-operations together • Inherent mismatch on data format

  3. Related Work: Bit Operations on Processor is NOT Easy • Bit tricks • Using bit level manipulation tricks • Limited applications and high engineering overhead • b = ((b * 0x0802 & 0x22110) | (b * 0x8020 & 0x88440)) * 0x10101 >> 16; // reverse a byte in an integer b • Look up table • Store bits positions, i.e. pattern, in memory and look up • Expensive memory storage (a few bytes per bit location) • Wifi 288 bits interleaver needs 288 of 9-bit-entries • LTE-Advanced 6144 bit interleaver needs 6144 13bit-entries

  4. Perfect Shuffling in Modern Processors • Perfect shuffling operator Sm,n • Transpose m×n matrix to n×mmatrix • Perfect shuffling (S16,2) on Texas Instruments’ C64 S16,2 =

  5. Tensor Product: Proposed Framework for Bit Matrix Transpose • Tensor product • An efficient method to verify the implementation • Example perfect shuffle operator with tensor product

  6. Matrix Transpose Implementation • Perfect shuffling in tensor product • S32,32 = ((S32,2I16)•(I32S16,2))5 • Corresponding implementation in ANSI C: for i :=0 to i :=4 { for j :=0 to j :=3 { _DEAL( reg [ j ] ) for k:=0 to k:=16 { reg [ k ] = PACKH2( reg [2k] , reg [2k+1] ) reg [ k+16] = PACK2( reg [ 2k ] , reg [ 2k+1]) } } }

  7. Preliminary Results (Square Bit Matrix Transpose) • Algorithm transformation of Bit Matrix Transpose • Bit parallel algorithms perform over 9X cycle reduction Around 10x

  8. Summary • Bit matrix transpose • 9x speed up comparing to naïve method on Texas Instruments' C64x • Future work • Rectangular bit-matrix transpose

  9. Questions?

More Related