flex il thesis v 077 - diva portalliu.diva-portal.org/smash/get/diva2:311111/fulltext01.pdfrizwan...

216
Flexible Interleaving Subsystems for FEC in Baseband Processors Rizwan Asghar Linköping

Upload: others

Post on 13-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

 

Flexible Interleaving Sub–systems for FEC in Baseband Processors

Rizwan Asghar 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Linköping 

 

 

Page 2: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

ii 

This is a Doctorate Thesis.

Swedish postgraduate education leads to a Doctor’s degree and/or a Licentiate’s degree. A Doctor’s Degree comprises 240 ECTS credits (4 years of full-time studies) whereas a Licentiate’s degree comprises 120 ECTS credits.

Flexible Interleaving Sub‐systems for FEC in Baseband Processors Rizwan Asghar  Copyright © Rizwan Asghar, 2010 ISBN 978-91-7393-397-1

Linköping Studies in Science and Technology Dissertation No. 1312 ISSN 0345-7524

Computer Engineering Department of Electrical Engineering Linköping University, SE-581 83, Linköping, SWEDEN Cover Image 3D view of the interleaver implementaiton for a multi-stream communication system. Copyright Notice:

Parts of this thesis are re-printed with the permission from IEEE and Springer. The following notice applies to the material which is copyrighted by IEEE:

The material is printed here with permission of the IEEE. Such permission of the IEEE does not in any way imply IEEE endorsement of any of Linkoping University's products or services. Internal or personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution must be obtained from the IEEE by writing to [email protected]. By choosing to view this material, you agree to all provisions of the copyright laws protecting it.

Printed by LiU-Tryck, Linköping University Linköping, Sweden, 2010

Page 3: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

iii 

To my parents & family

I dedicate this work to my parents, my wife and my children who supported me all the time with their love and affections.

Page 4: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for
Page 5: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

Abstract 

Interleaving  is  always  used  in  combination  with  an  error  control  coding.  It 

spreads  the burst noise,  and  changes  the burst noise  to white noise  so  that  the 

noise  induced  bit  errors  can  be  corrected.  With  the  advancement  of 

communication systems and substantial increase in bandwidth requirements, use 

of coding  for  forward error correction (FEC) has become an  integral part  in  the 

modern communication systems. Dividing the FEC sub‐systems in two categories 

i.e. channel coding/de‐coding and interleaving/de‐interleaving, the later appears 

to  be  more  varying  in  permutation  functions,  block  sizes  and  throughput 

requirements. The interleaving/de‐interleaving consumes more silicon due to the 

silicon cost of the permutation tables used in conventional LUT based approaches. 

For multi‐standard support devices the silicon cost of the permutation tables can 

grow much higher resulting  in an un‐efficient solution. Therefore,  the hardware 

re‐use  among  different  interleaver  modules  to  support  multimode  processing 

platform is of significance.  

The  broadness  of  the  interleaving  algorithms  gives  rise  to  many  challenges 

when  considering  a  true  multimode  interleaver  implementation.  The  main 

challenges  include  real‐time  low  latency  computation  for  different  permutation 

functions,  managing  wide  range  of  interleaving  block  sizes,  higher  throughput, 

low  cost,  fast  and  dynamic  reconfiguration  for  different  standards,  and 

introducing parallelism where ever necessary.   

It  is difficult  to merge all  currently used  interleavers  to a  single architecture 

because  of  different  algorithms  and  throughputs;  however,  the  fact  that 

multimode coverage does not require multiple  interleavers  to work at  the same 

time,  provides  opportunities  to  use  hardware  multiplexing.  The  multimode 

functionality is then achieved by fast switching between different standards. We 

used  the  algorithmic  level  transformations  such  as  2‐D  transformation,  and 

realization  of  recursive  computations,  which  appear  to  be  the  key  to  bring 

Page 6: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

vi 

different interleaving functions to the same level. In general, the work focuses on 

function  level  hardware  re‐use,  but  it  also  utilizes  classical  data‐path  level 

optimizations for efficient hardware multiplexing among different standards.  

The  research  has  resulted  in  multiple  flexible  architectures  supporting 

multiple  standards.  These  architectures  target  both  channel  interleaving  and 

turbo‐code  interleaving.  The  presented  architectures  can  support  both  types  of 

communications systems i.e. single‐stream and multi‐stream systems. Introducing 

the  algorithmic  level  transformations  and  then  applying  hardware  re‐use 

methodology  has  resulted  in  lower  silicon  cost  while  supporting  sufficient 

throughput. According to the database searching in March 2010, we have the first 

multimode interleaver core covering WLAN (802.11a/b/g and 802.11n), WiMAX 

(802.16e), 3GPP‐WCDMA, 3GPP‐LTE, and DVB‐T/H on a single architecture with 

minimum  silicon  cost.  The  research  also  provides  the  support  for  parallel 

interleaver  address  generation  using  different  architectures.  It  provides  the 

algorithmic  modifications  and  architectures  to  generate  up  to  8  addresses  in 

parallel and handle the memory conflicts on‐the‐fly. 

One  of  the  vital  requirements  for multimode  operation  is  the  fast  switching 

between different standards, which  is  supported by  the presented architectures 

with minimal  cycle  cost  overheads.  Fast  switching  between  different  standards 

gives  luxury  to  the  baseband  processor  to  re‐configure  the  interleaver 

architecture  on‐the‐fly  and  re‐use  the  same  hardware  for  another  standard. 

Lower  silicon  cost,  maximum  flexibility  and  fast  switchability  among  multiple 

standards  during  run  time  make  the  proposed  research  a  good  choice  for  the 

radio baseband processing platforms. 

 

 

 

 

 

 

 

 

 

 

Page 7: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

vii 

Preface 

This dissertation thesis presents my research in the period from October 2006 to 

March  2010  at  the  Division  of  Computer  Engineering,  Department  of  Electrical 

Engineering, Linköping University, Sweden. Unlike the classical theoretical theses 

in  this  field,  the  major  focus  of  this  thesis  is  implementation.  As  the  topic  of 

interleaving actually relates to mathematics, therefore a number of mathematical 

relations  must  be  expected;  however,  I  have  tried  to  keep  the  mathematic  as 

minimum  as  possible  and  make  it  as  an  engineering  work.  The  research  has 

resulted in several publications in the international conferences and journals. The 

following publications are relevant to the thesis work. 

Rizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware 

interleaver  for  turbo  decoding,”  IEEE  International  Symposium  on 

Wireless  Pervasive  Computing  (ISWPC’08),  pp.  768–772,  Santorini, 

Greece, May 2008. 

Rizwan  Asghar,  Di  Wu,  Johan  Eilert,  and  Dake  Liu,  “Memory  conflict 

analysis  and  implementation  of  a  re‐configurable  interleaver 

architecture  supporting  unified  parallel  turbo  decoding,”  Journal  of 

Signal Processing Systems, doi: 10.1007/s11265‐009‐0394‐8, Accepted. 

Rizwan Asghar,  and Dake Liu,  “Low complexity multimode  interleaver 

core  for  WiMAX  with  support  for  convolutional  interleaving,” 

International  Journal  of  Electronics,  Communications  and  Computer 

Engineering, vol. 1, no. 1, pp. 20–29, 2009. 

Rizwan  Asghar,  and  Dake  Liu,  “Multimode  flex‐interleaver  core  for 

baseband  processor  platform,”  Journal  of  Computer  Systems,  Networks 

and Communications, Vol. 2010, doi: 10.1155/2010/793807. 

Page 8: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

viii 

Rizwan  Asghar,  Di  Wu,  Johan  Eilert,  and  Dake  Liu,  “Memory  conflict 

analysis  and  interleaver  design  for  parallel  turbo  decoding  supporting 

HSPA evolution,” 12th EUROMICRO Conference on Digital System Design 

(DSD’09), pp. 699–706, Patras, Greece, August 2009. 

Rizwan Asghar,  and  Dake  Liu,  “Low  complexity  hardware  interleaver 

for MIMO‐OFDM based wireless LAN,” IEEE International Symposium on 

Circuits  and  Systems  (ISCAS’09),  pp.  1747–1750,  Taipei,  Taiwan,  May 

2009. 

Rizwan  Asghar,  Di  Wu,  Ali  Saeed,  Yulin  Huang,  and  Dake  Liu, 

“Implementation  of  a  radix‐4,  parallel  turbo  decoder  and  enabling  the 

multi‐standard  support,”  Journal of Signal Processing Systems, Springer, 

Submitted. 

Rizwan  Asghar,  and  Dake  Liu,  “2‐D  realization  of  WiMAX  channel 

interleaver for efficient hardware implementation,” Proceedings of World 

Academy of Science, Engineering and Technology (ISSN: 2070‐3740), vol. 

51, pp. 25–29, Hong Kong, March 2009. 

Rizwan Asghar,  and  Dake  Liu,  “Very  low  cost  configurable  hardware 

interleaver  for  3G  turbo  decoding,”  IEEE  International  Conference  on 

Information  and  Communication  Technologies:  From  Theory  to 

Applications (ICTTA’08), pp. 1–5, Damascus, Syria, April 2008. 

Di Wu, Rizwan Asghar, Yulin Huang, and Dake Liu, “Implementation of a 

high‐speed  parallel  turbo  decoder  for  3GPP‐LTE  terminals,”  IEEE 

International  Conference  on  ASIC  (ASICON’09),  pp.  481–484,  Changsha, 

China, October 2009. 

Rizwan  Asghar  and  Dake  Liu,  “Towards  Radix‐4,  Parallel  Interleaver 

Design  to  Support  High‐Throughput  Turbo  Decoding  for  Re‐

Configurability,” 33rd  IEEE SARNOFF Symposium, Princeton, New  Jersey, 

USA, April 2010, Accepted. 

I have also contributed in the following publications but the contents are not 

directly relevant or less relevant to the topic of thesis.   

Di Wu, Johan Eilert, Rizwan Asghar, Dake Liu, Anders Nilsson, Eric Tell, 

and Eric Alfredsson, “System architecture for 3GPP‐LTE modem using a 

programmable baseband processor,”  International  Journal of Embedded 

and Real‐Time Communication Systems (IJERTCS), Accepted. 

Page 9: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

ix 

Di  Wu,  Johan  Eilert,  Rizwan  Asghar,  Dake  Liu,  and  Ge  Qun,  “VLSI 

implementation  of  a  multi‐standard  MIMO  symbol  detector  for  3GPP 

LTE  and  WiMAX,”  9th  IEEE  Wireless  Telecommunications  Symposium 

(WTS’10), Florida, USA, April 2010, Accepted. 

Di  Wu,  Johan  Eilert,  Rizwan  Asghar,  Ge  Qun,  and  Dake  Liu,  “VLSI 

Implementation  of  A  Fixed‐Complexity  Soft‐Output MIMO  Detector  for 

High‐Speed Wireless,” EURASIP Journal on Wireless Communications and 

Networking, Hindawi Publishers, Submitted. 

Rizwan  Asghar,  and  Dake  Liu,  “Programmable  parallel  data‐path  for 

FEC,” Swedish System‐on‐Chip Conference (SSoCC’09), Sweden, May 2007. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Page 10: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for
Page 11: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

xi 

Abbreviations 

ACS  Add Compare Select 

ADC  Analog to Digital Converter 

AGU  Address Generation Unit 

ARP  Almost Regular Permutation 

ASIC  Application Specific Integrated Circuit 

ASIP  Application Specific Instruction set Processor 

BBP  Baseband Processor 

BDD  Binary Decision Diagram 

BER  Bit Error Rate 

BPSK  Binary Phase Shift Keying 

BSC  Binary Symmetric Channel 

BTC  Block Turbo Code  

CC  Convolutional Code 

CDMA  Code Division Multiple Access 

CE  Computing Element 

CMOS  Complementary Metal‐Oxide Semiconductor 

CTC  Convolutional Turbo Code 

DVB  Digital Video Broadcasting 

FEC  Froward Error Correction 

FFT  Fast Fourier Transform 

FIFO  First In First Out 

FIR  Finite Impulse Response 

FPGA  Field Programmable Gate Array 

FSM  Finite State Machine 

GSM  Global System for Mobile Communications 

H‐ARQ  Hybrid Automatic‐Repeat‐Request 

HSPA  High Speed Packet Access 

Page 12: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

xii 

IMM  Interleaved Modulo Multiplication 

IRP  Intra Row Permutation 

LDPC  Low‐Density Parity Check 

LFSR  Linear Feedback Shift Register 

LLR  Log Likelihood Ratio 

LSB  Least Significant Bit 

LTE  Long Term Evolution 

LUT  Lookup Table 

MAP  Maximum A‐posteriori Probability  

MF  Misalignment Factor 

MIMO  Multiple Input Multiple Output 

MLD  Maximum Likelihood Decoding 

MPE  Multiprotocol Encapsulation 

MSB  Most Significant Bit 

OCN  On Chip Network 

OFDM  Orthogonal Frequency Division Multiplexing 

PE  Processing Element 

QAM  Quadrature Amplitude Modulation  

QPP  Quadratic Permutation Polynomial 

QPSK  Quadrature Phase Shift Keying 

RAM  Random Access Memory 

RC  Re‐configuration Cell 

RS  Reed Solomon 

RSC  Recursive Systematic Convolutional 

RTL  Register Transfer Level 

RX  Receiver 

SBMC  Segmentation based Modulo Computation 

SDR  Software Defined Radio 

SISO  Soft‐In‐Soft‐Out 

TDMA  Time Division Multiple Access 

TTI  Transmission Time Interval 

TX  Transmitter 

UMTS  Universal Mobile Telecommunication System 

WCDMA  Wideband Code Division Multiple Access 

WiMAX  Worldwide Interoperability for Microwave Access 

WLAN  Wireless Local Area Network 

 

Page 13: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

xiii 

Acknowledgments 

All praise  and  thanks  are due  to  the Almighty Allah,  the most  gracious,  and  the 

most merciful.  There  is  a  long  list  of  people  to whom  I want  to  say  thank  you! 

Those are my family members, teachers, colleagues, and friends. Here I would like 

to thank all those who are directly or indirectly related to this thesis work: 

My supervisor  and advisor Prof. Dake Liu  for  giving me  this  opportunity, 

for his guidance, patience and ever helping attitude.  

Our secretary Ylva Jernling for taking care of all administrative issues and 

complying with all my administrative requests, especially for managing last 

minute travel plans due to delays in visa process.  

Thanks  to  Research  Engineer  Anders  Nilsson  Sr.  for  solving  all  the 

computer and tool related problems.  

Dr. Di Wu and Dr. Johan Eilert for their cooperation in publications as well 

as valuable discussion and hints regarding communication systems. 

Assistant  Prof.  Andreas  Ehliar,  Per  Karlstöm,  Dr.  Anders  Nilsson  and  Dr. 

Eric Tell for guiding me in the algorithm and hardware related issues from 

very start of my work.  

Ali Saeed and Jian Wang being my room partners at the department with all 

the  room  rights  reserved  to  me,  and  neglecting  all  the  un‐foreseen 

disturbances created by me. 

Associate  Prof.  Tomas  Svensson  and  Olle  Seger  for  providing  me  the 

opportunity for being a part of teaching faculty. 

All  the  colleagues  from  Computer  Engineering  group,  Olof  Kraigher,  Joar 

Sohl, Lan Dong, Wenbiao Zhou, Ge Qun (Magic), Lennart Bengtsson, Michael 

Page 14: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

xiv 

Josefsson, and Olov Andersson for their moral support and creating such a 

friendly environment in the group. 

Thanks to MULTIBASE and SSF project, for providing a good environment 

of research. 

Associate  Professor  Qamal‐ul‐Wahab  and  his  wife  for  providing  full 

support to me and my family, starting from very initial stages. 

My  friends  from Sweden Dr. Rashad Ramzan, Dr. Naveed Ahsan, Dr.  Sher 

Azam,  Ahsan  Ullah  Kashif,  Fahad  Qureshi,  Mohammad  Abbas,  M.  Saad 

Rehman,  Nadeem  Afzal,  Fahad  Qazi,  Zaka  Ullah,  Dr.  Amir  Kareem,  Dr. 

Jawad‐ul‐Hassan, Mohammad Junaid, Zafar  Iqbal,  Imran Hakam and many 

more for all kind of help and keeping my social life alive. 

My friends and colleagues in Pakistan especially Ayaz Ayub, Saqib Masood, 

M. Farooq Bhatti, Farooq Yasin, and Amjad Ishaq for taking care for all the 

matters there and sharing my burdens. 

My siblings for their best wishes and moral support.  

My in‐laws for their encouragement and prays, and also facing the absence 

of my kids for a very long time.  

Special thanks to my mother and my father for their non‐stop prays, being 

a great asset with me during all my stay here in Sweden. Thanks to both of 

you for having confidence and faith in me. Truly you hold the credit for all 

my achievements.  

At  the end, my  life‐partner and soul‐mate Amna Rizwan  for her devotion, 

patience, and unconditional cooperation. This work would have never been 

possible  without  her.  Thanks  to  my  three  children  Hareem  Asghar, 

Tehreem Asghar, and Muddassir Asghar who have provided me all the joys 

of life with their innocent acts.  

To  those  not  listed  here,  I  say  profound  thanks  for  bringing  pleasant 

moments in my life.  

 

 

Rizwan Asghar 

Linköping, May 2010 

 

Page 15: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

xv 

Contents 

Abstract ................................................................................................................................................... v 

Preface .................................................................................................................................................. vii 

Abbreviations ....................................................................................................................................... xi 

Acknowledgments ........................................................................................................................... xiii 

List of Tables.......................................................................................................................................xix 

List of Figures .....................................................................................................................................xxi 

Part I   Introduction  1 

1  Background  3 

1.1  Historical Perspective ...................................................................................................... 3 

1.2  Trends in Communication Systems and Emerging Standards ........................ 5 

1.3  A Communication System and Interleaver – First Encounter ......................... 7 

1.4  Interleaver Usage in Different Standards .............................................................. 10 

1.5  The Challenges and Motivation ................................................................................. 11 

1.6  Scope and the Thesis Organization .......................................................................... 15 

2  Introduction to Interleavers  17 

2.1  Role of an Interleaver .................................................................................................... 17 

2.2  Interleaver ‐ Main Categories ..................................................................................... 18 

2.2.1  Block Interleaver .............................................................................................. 18 

2.2.2  Convolutional Interleaver ............................................................................. 20 

2.3  Interleaver Types ............................................................................................................ 21 

2.3.1  Random Interleaver ......................................................................................... 22 

2.3.2  S‐Random Interleaver ..................................................................................... 22 

2.3.3  Relative Prime Interleaver ............................................................................ 23 

2.3.4  Deterministic Interleaver .............................................................................. 23 

2.3.5  ARP and QPP Interleavers ............................................................................. 24 

Page 16: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

xvi 

2.4  Performance and Implementation Issues ............................................................. 25 

2.4.1  BER Performance .............................................................................................. 25 

2.4.2  Implementation Cost ....................................................................................... 25 

2.4.3  Latency .................................................................................................................. 28 

Part II   Methodology  29 

3  HW Multiplexing Methodology  31 

3.1  Introduction ....................................................................................................................... 31 

3.2  Hardware Sharing – A Review ................................................................................... 31 

3.2.1  Logic/Gate Level Sharing ............................................................................... 33 

3.2.2  RTL (Level) Sharing ......................................................................................... 33 

3.2.3  Data Flow Graph Level Sharing ................................................................... 33 

3.2.4  Processor Level Sharing ................................................................................. 34 

3.3  Some Examples and Motivation ................................................................................ 34 

3.4  HW Multiplexing – Exploring Oppertunities ........................................................ 36 

3.4.1  Function Level Multiplexing: for Lower Silicon Utilization ............. 37 

3.4.2  Parallel to Serial Multiplexing: A Trade‐off over Performance ...... 38 

3.5  Hardware Multiplexing for Low Power .................................................................. 41 

3.6  Formulating HW Mutiplexers ..................................................................................... 43 

3.7  Re‐configuration Methodology .................................................................................. 44 

3.7.1  2D Mesh Architectures ................................................................................... 45 

3.7.2  Crossbar Architectures ................................................................................... 46 

3.7.3  Linear Array based Architectures .............................................................. 46 

3.8  Interleaver and Re‐configuration ............................................................................. 47 

3.9  General Interleaver Functional Flow ....................................................................... 48 

Part III   Interleaving Architectures  51 

4  Dual Standard Turbo Code Interleaver  53 

4.1  Introduction ....................................................................................................................... 53 

4.2  Previous Work and Motivation .................................................................................. 54 

4.3  WCDMA Computational Challenges ......................................................................... 55 

4.4  Pre‐Computation of Parameters and Harware Multiplexing ......................... 56 

4.5  3GPP‐LTE Simplifications and Hardware .............................................................. 59 

4.6  Control FSM ....................................................................................................................... 62 

4.7  Hardware for Combined Address Generation ..................................................... 62 

4.8  Implementation Results ................................................................................................ 65 

Page 17: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

xvii 

5  Channel Interleaving–Combining Block & Convolutional Interleavers  67 

5.1  Introduction ...................................................................................................................... 67 

5.2  WiMAX Channel Interleaver ....................................................................................... 69 

5.3  Interleaver for Duo‐Binary Turbo Codes .............................................................. 76 

5.4  Convolutional Interleaver for DVB ........................................................................... 78 

5.5  Complete Hardware ....................................................................................................... 80 

5.5.1  Control FSM ........................................................................................................ 80 

5.5.2  Address Computation Circuitry .................................................................. 81 

5.5.3  Memory Organization ..................................................................................... 83 

5.6  Implementation Results ............................................................................................... 85 

6  Multimode Interleaving  89 

6.1  Background ........................................................................................................................ 89 

6.2  Shared Data Flow ............................................................................................................ 90 

6.3  Multimode Interleaver Architecture ....................................................................... 93 

6.3.1  Address Generation (ADG) Circuitry ........................................................ 93 

6.3.2  Control FSM ........................................................................................................ 96 

6.3.3  Memory Organization ..................................................................................... 96 

6.4  Algorithmic Transformation for Efficient Mapping .......................................... 98 

6.4.1  Channel Interleaving in WiMAX and WLAN .......................................... 99 

6.4.2  Frequency Interleaving in 802.11n .........................................................103 

6.4.3  Multi‐stream Support in 802.11n ............................................................104 

6.4.4  Channel Interleaving in DVB ......................................................................105 

6.4.4.1  Bit Interleaver .................................................................................105 

6.4.4.2  Symbol Interleaver .......................................................................107 

6.4.5  1st, 2nd and HS‐DSCH Interleaving in WCDMA .................................109 

6.4.6  Interleaving for General Purpose Use ....................................................109 

6.5  Implementation Results .............................................................................................110 

7  Parallel Interleaving for Turbo Codes  113 

7.1  Introduction ....................................................................................................................113 

7.2  Previous Work and Challenges ................................................................................115 

7.3  Parallel Interleaver for HSPA Evolution ..............................................................116 

7.3.1  Memory Conflict Analysis ...........................................................................117 

7.3.2  Pre‐Processing .................................................................................................118 

7.3.3  HW for Parallel Interleaver in HSPA+ ....................................................121 

7.4  Parallel Interleaver for DVB‐SH ..............................................................................123 

7.4.1  Memory Conflict Analysis for DVB‐SH Interleaver ...........................124 

7.4.2  HW for Parallel Interleaver in DVB‐SH ..................................................125 

Page 18: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

xviii 

7.5  Parallel Interleaver for 3GPP‐LTE ......................................................................... 128 

7.6  Parallel Interleaver for WiMAX............................................................................... 129 

7.7  Unified Parallel Interleaver Architecture ........................................................... 131 

7.8  Implementation Results ............................................................................................. 133 

8  Parallel Radix‐4 Interleaving and Integration with Turbo Decoding  135 

8.1  Introduction .................................................................................................................... 135 

8.2  A Glance at Interleaver Parallelism for Turbo Codes ..................................... 136 

8.3  Interleaver Memory Conflicts Handling .............................................................. 138 

8.4  Radix‐4, Re‐configurable, Parallel Interleaver ................................................. 142 

8.4.1  HSPA+ Interleaver for Radix‐4 ................................................................. 143 

8.4.2  DVB‐SH Interleaver for Radix‐4 ............................................................... 145 

8.4.3  WiMAX Interleaver for Radix‐4 ................................................................ 148 

8.4.4  3GPP‐LTE Interleaver for Radix‐4 .......................................................... 150 

8.5  Radix‐4 MAP Decoding Algorithm Revisited ..................................................... 151 

8.6  Unified Parallel Decoder ............................................................................................ 154 

8.6.1  SISO Decoding Trade‐Off Analysis .......................................................... 154 

8.6.2  Unified Architecture ..................................................................................... 156 

8.7  Implementation Results ............................................................................................. 159 

8.7.1  Efficiency of Unified Interleaver .............................................................. 160 

8.7.2  Turbo Decoder Implementation .............................................................. 160 

Part IV   Integration and Conclusions  165 

9  Integration with Baseband Processor  167 

9.1  Introduction to HW Accelerators ........................................................................... 167 

9.2  Interleaver Integration with Baseband Processor – An Overview ........... 168 

9.3  Integrating the Interleaver with Senior DSP Processor ............................... 169 

9.3.1  Senior as the Integration Platform Controller ................................... 170 

9.3.2  On Chip Network (OCN) .............................................................................. 170 

9.3.3  Connection of Interleaver Block .............................................................. 171 

9.3.3.1  Memory Configuration for Interleaver ................................ 172 

9.3.3.2  Interleaver Configuration for Different Standards ......... 172 

10  Conclusion and Future Work  175 

10.1 Conclusions ..................................................................................................................... 175 

10.2 Future Work ................................................................................................................... 178 

Bibliography .....................................................................................................................181 

 

Page 19: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

xix 

List of Tables 

Table 1.1 :   Summary of popular and emerging standards ............................................. 6 

Table 1.2 :   List of interleaver algorithms and permutations in different standards ................................................................................................................... 12 

Table 1.3 :   Interleaving functions with hardware cost comparison ....................... 14 

Table 1.4 :   Logic size comparsion with baseband processor ..................................... 15 

Table 2.1 :   Block  interleaver  reading  start  points  during  the  write operation ................................................................................................................... 28 

Table 4.1 :   Pre‐computation  &  clock  cycle  comparison  for  differrnt block sizes ................................................................................................................. 66 

Table 4.2 :   HW usage comparison for different addressing circuits ....................... 66 

Table 5.1 :   HW usage comparison for interleaver implementation ........................ 86 

Table 6.1 :   List of interleaver algorithms and permutations in different standards ................................................................................................................... 91 

Table 6.2 :   Architecture exploration for different standards ..................................... 94 

Table 6.3 :   Wire permutations in symbol interleaver for DVB ............................... 108 

Table 6.4 :   Pre‐computation cycle cost for different standards ............................. 110 

Table 6.5 :   Summary of implementation results .......................................................... 111 

Table 6.6 :   HW comparison with other implementations ........................................ 112 

Table 7.1 :   HSPA+ pre‐processing cycle cost comparison (cycles) ....................... 121 

Table 7.2 :   Lookup  table  for  basic  and  parallel  address  generation  in DVB ........................................................................................................................... 127 

Table 7.3 :   Permutations for correct memory mapping in WiMAX ...................... 132 

Table 7.4 :   Interleaver parallelism in different standards ....................................... 132 

Table 7.5 :   FIFO size requirement for different memories ...................................... 132 

Table 7.6 :   Summary of implementation results .......................................................... 134 

Table 8.1 :   Lookup  for  radix‐4 parallel  interleaver  address  generation in DVB ...................................................................................................................... 147 

Table 8.2 :   Turbo decoder specifications ......................................................................... 159 

Page 20: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

xx 

Table 8.3 :   Comparison  of  key  parameters  with  leading  edge implementations .................................................................................................. 162 

Table 8.4 :   Throughput summary for different implementations ......................... 163 

Table 9.1 :   Advantages and disadvantages of HW accelerators ............................. 168 

Table 9.2 :   Summary of configuration word (32 bit) .................................................. 173 

Table 10.1 :  Comparison with a programmable solution ............................................ 177 

Page 21: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

xxi 

List of Figures 

Figure 1.1 :   Sojourner rover in NASA's Pathfinder Mission to Mars ............................ 4 

Figure 1.2 :   A mobile device with multiple standard support ........................................ 6 

Figure 1.3 :   Basic communicaiton system model ................................................................. 7 

Figure 1.4 :   Transision probability in binary symmetric chanel ................................... 7 

Figure 1.5 :   A  simplified  transmission  and  reception  over  a  noisy channel .......................................................................................................................... 8 

Figure 1.6 :   A  simplified  transmission  and  reception  over  a  noisy channel with interleaver and de‐interleaver ................................................. 9 

Figure 1.7 :   Overview of WCDMA transport channel ...................................................... 10 

Figure 1.8 :   Overview of DVB transport channel .............................................................. 11 

Figure 2.1 :   Simple block interleaving without permutations ..................................... 18 

Figure 2.2 :   Block interleaving with row and column permutations ........................ 19 

Figure 2.3 :   A maximal length LFSR with n=12 .................................................................. 20 

Figure 2.4 :   Structure of a convolutional interleaver and de‐interleaver ............... 21 

Figure 2.5 :   Performance  comparison  of  different  interleavers  with turbo codes (AWGN model, and rate 1/3) ................................................... 26 

Figure 2.6 :   Graphical representation for different interlaver types ........................ 27 

Figure 3.1 :   Area comparison of multiple IP cores vs. MuSIC [50] ............................. 32 

Figure 3.2 :   (a)  General  design  flow  using  DFG,  (b)  Proposed  design flow, specific to interleavers ............................................................................. 34 

Figure 3.3 :   TDMA channel example ....................................................................................... 35 

Figure 3.4 :   ADC and data acquisition .................................................................................... 36 

Figure 3.5 :   Multiplexing a series of same kernel ............................................................. 37 

Figure 3.6 :   Area  comparison  for  multiple  inputs  and  bit‐widths  (@ 65nm CMOS) ..................................................................................................... 38 

Figure 3.7 :   Function  level  multiplexing  with  partial  sharing  (a)  DFG view,  (b) Hardware blocks view ..................................................................... 39 

Page 22: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

xxii 

Figure 3.8 :   Hardware multiplexing for FIR filter ............................................................. 40 

Figure 3.9 :   Power consumption for multiple inputs and bit‐widths ....................... 41 

Figure 3.10 : FPGA LUTs and interconnects .......................................................................... 45 

Figure 3.11 : Morphosys architecture with interconnects ............................................... 46 

Figure 3.12 : Crossbar network overview .............................................................................. 47 

Figure 3.13 : An overview of pipelined linear reconfigurable array ........................... 48 

Figure 3.14 : An overview of flexible interleaver interconnect ..................................... 49 

Figure 3.15 : Basic interleaver funcional flow ...................................................................... 50 

Figure 4.1 :   (a) Turbo encoder, (b) Turbo decoder .......................................................... 54 

Figure 4.2 :   Flow graph for  pre‐computation phase in WCDMA ................................ 57 

Figure 4.3 :   Hardware  multiplexing  of  multiplication,  addition  and compare ..................................................................................................................... 58 

Figure 4.4 :   Flow graph for interleaved modulo multiplication algorithm ............. 59 

Figure 4.5 :   Hardware for modulo computation block ................................................... 60 

Figure 4.6 :   Hardware required for 3GPP LTE interleaver design ............................. 61 

Figure 4.7 :   Controller for WCDMA and LTE hardware interleaver .......................... 62 

Figure 4.8 :   Flow graph for (a) Interleaver address computation in LTE,  (b)  Interleaver  address  computation  in  WDCMA,  (c) Interleaver address computation for WCDMA and LTE in combined fashion ................................................................................................... 63 

Figure 4.9 :   Hardware for combined (WCDMA+LTE) interleaver .............................. 64 

Figure 5.1 :   Overview  of  encoding  in  (a)  WiMAX  channel,  (b)  DVB channel ....................................................................................................................... 68 

Figure 5.2 :   HW  realization  for  channel  interleaving  in  WiMAX  (a) BPSK‐QPSK,  (b) 16‐QAM, (c) 64‐QAM ................................................... 74 

Figure 5.3 :   Examples of data interleaving for (a) 16‐QAM, N=64, (b) 64‐QAM, N=96 ................................................................................................................ 75 

Figure 5.4 :   CTC encoder with interleaver ........................................................................... 76 

Figure 5.5 :   Hardware for CTC interleaver ........................................................................... 77 

Figure 5.6 :   Convolutional interleaver and de‐interleaver in DVB ............................. 78 

Figure 5.7 :   Hardware  for  RAM  read/write  address  generation  for  convolutional (de) interleaver in DVB ........................................................... 79 

Figure 5.8 :   Flow graph for (a) Channel interleaving in WiMAX, (b) CTC interleaving, (c) Read/write address computation for DVB ................ 81 

Figure 5.9 :   Flow graph for combined interleaver (gray blocks show the flow  overlap  and  hardware  sharing  between  different interleavers) ............................................................................................................. 82 

Figure 5.10 : Control FSM for combined hardware interleaver ..................................... 83 

Page 23: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

xxiii 

Figure 5.11 : (a) Address generation hardware for combined interleaver, (b) Memory organization ................................................................................... 84 

Figure 5.12 : Memory utilization for DVB (a) Generalized structure,  (b) Structure proposed in [54], (c) Our proposed structure ............... 85 

Figure 5.13 : Cost comparison for hardware multiplexing ............................................. 87 

Figure 5.14 : Layout snapshot of proposed interleaver architecture ......................... 87 

Figure 6.1 :   3D  view  of  interleaver  configuration  for  a  multi‐stream communication system ........................................................................................ 90 

Figure 6.2 :   Data  flow  graph  for  (a)  Pre‐computation  phase,  (b) Execution phase .............................................................................................. 92 

Figure 6.3 :   Top level architecture .......................................................................................... 93 

Figure 6.4 :   Address generation schematic in detail ....................................................... 95 

Figure 6.5 :   An accumulation and selection cell (acc_sel) ............................................. 96 

Figure 6.6 :   FSM state graph ...................................................................................................... 97 

Figure 6.7 :   Memory address selection and data handle ............................................... 98 

Figure 6.8 :   Interleaver address generation for: (a) BPSK–QPSK, (b) 16‐QAM,  (c) Combined for all modulation schemes ................................... 102 

Figure 6.9 :   Use of interleaver in multiple spatial streams (802.11n) .................. 103 

Figure 6.10 : HW for frequency rotation in 802.11n ....................................................... 104 

Figure 6.11 : HW for quad stream interleaver ................................................................... 105 

Figure 6.12 : (a)  Conventional  bit  interleaving  approach,  (b)  Memory sharing of I0 bit interleaver with I2 and I4 .............................................. 106 

Figure 6.13 : H(q) address generation in DVB symbol interleaver ........................... 108 

Figure 6.14 : Layout of proposed multimode interleaver ............................................. 111 

Figure 7.1 :   (a) Turbo decoder (general scheme), (b) Single SISO scheme ......... 114 

Figure 7.2 :   A situation of conflict at (T+k) ....................................................................... 115 

Figure 7.3 :   Conflict analysis for HSPA+ ............................................................................ 118 

Figure 7.4 :   Misalignment  of  address  and  data  to  reduce  memory conflicts ................................................................................................................... 118 

Figure 7.5 :   Final  conflict  count and FIFO size  requirement  for   HSPA+ interleaver ............................................................................................................. 119 

Figure 7.6 :   Hardware for computing S(j) using (a)  Interleaved modulo multiplication  algorithm,  (b)  Segment  based  modulo computation .......................................................................................................... 120 

Figure 7.7 :   Column by column recursive address computation ............................. 122 

Figure 7.8 :   Computing RAM address using SBMC approach .................................... 123 

Figure 7.9 :   HW for parallel interleaver address generation in HSPA+ ................ 124 

Figure 7.10 : Interleaver address computation flow for DVB‐SH .............................. 125 

Page 24: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

xxiv 

Figure 7.11 : Total conflicts, with and without misalignment (DVB‐SH) ................ 125 

Figure 7.12 : Memory  conflicts  and  FIFO  size  requirement  for  DVB‐SH  (N=12282; without misalignment) .............................................................. 126 

Figure 7.13 : Memory  conflicts  and  FIFO  size  requirement  for  DVB‐SH  (N=12282; with misalignment) ..................................................................... 126 

Figure 7.14 : HW supporting 8 parallel interleaver addresses for DVB‐SH ........... 129 

Figure 7.15 : HW for parallel interleaving in 3GPP‐LTE ................................................ 130 

Figure 7.16 : Conflict count and FIFO requirement for N=108 (WiMAX) ............... 130 

Figure 7.17 : Hardware for parallel interleaving in WiMAX ........................................ 131 

Figure 7.18 : Unified parallel interleaver architecture ................................................... 133 

Figure 7.19 : Layout snapshot of proposed unified interleaver ................................. 134 

Figure 8.1 :   Trellis merge for Radix‐4 decoding ............................................................. 136 

Figure 8.2 :   (a)  Information  write  in  a  R×C  interleaver,  (b)  Permuted version  and  data  read  in  serial  fashion  for  single  SISO,  (c) De‐composition  into 4  sub‐blocks  for 4  SISOs and data read in radix‐2 scheme, (d) Data read in radix‐4 scheme .................. 137 

Figure 8.3 :   Memory conflicts at different time instants ............................................. 138 

Figure 8.4 :   Misalignment  of  address  and  data  to  reduce  memory conflicts ................................................................................................................... 138 

Figure 8.5 :   Conflict  analysis  for  HSPA  (a)  Even‐odd  banking  scheme, (b) Normal addressing, (c) Addressing with circular shift ................ 139 

Figure 8.6 :   FIFO  sizes  with  even‐odd  memory  configuration  (a)  Odd memories, (b) Even memories ...................................................................... 140 

Figure 8.7 :   FIFO sizes with circular shift configuration ............................................. 141 

Figure 8.8 :   Unified radix‐4 interleaver architecture ................................................... 142 

Figure 8.9 :   HW for parallel, radix‐4 address generation in HSPA+ ....................... 143 

Figure 8.10 : Modulo circuit for HSPA+ pre‐processing phase ................................... 144 

Figure 8.11 : Modulo circuit configuration for HSPA+ in execution phase ............ 145 

Figure 8.12 : HW for parallel, radix‐4 address generation in DVB‐SH ..................... 147 

Figure 8.13 : HW  architecture  for  parallel,  radix‐4  interleaver  address generation in WiMAX ......................................................................................... 149 

Figure 8.14 : HW  architecture  for  parallel,  radix‐4  interleaver  address generation in 3GPP‐LTE ................................................................................... 150 

Figure 8.15 : Scheduling  chart  for  sliding  and  super  window  in  half iteration ................................................................................................................... 152 

Figure 8.16 : The  cost  comparison  for  parallel  implementation  of  SISO blocks ....................................................................................................................... 156 

Figure 8.17 : Power distribution among different elements of SISO  (a) Radix‐2, (b) Radix‐4, (c) Optimized radix‐4 SISO ........................... 157 

Page 25: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

xxv 

Figure 8.18 : Throughput for different implementations ............................................. 157 

Figure 8.19 : HW for calculating (a) Branch metric, (b) State metric,  (c) LLR for binary case only, (d) Configurable LLR for binary and duo‐binary cases ........................................................................................ 158 

Figure 8.20 : Architecture of radix‐4, parallel turbo decoder ..................................... 159 

Figure 8.21 : Overheads  of  HW‐Muxed  interleaver  implementation  over single standard implementations ................................................................. 161 

Figure 8.22 : BER performance for different implementations .................................. 161 

Figure 8.23 : Layout of proposed unified, radix‐4, parallel turbo decoder ............ 163 

Figure 8.24 : Comparison  of  energy  efficiency  &  normalized  silicon efficiency ................................................................................................................. 164 

Figure 9.1 :   An  overview  of  integration  of  interleaver  core  with baseband processor ........................................................................................... 169 

Figure 9.2 :   An example, OCN configured by the platform controller ................... 171 

Figure 9.3 :   Chain of modules including interleaver ..................................................... 172 

Figure 9.4 :   Use of double memory to enhance throughput ...................................... 173 

 

 

Page 26: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for
Page 27: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

   

Part I

Introduction

Page 28: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for
Page 29: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

   

1

1 Background 

1.1 Historical Perspective 

HE HISTORY of wireless communication technology is very old, and its roots 

go well over a century. The basis for this technology was the basic question; 

how  to  send  a message  over  the  air medium?  However,  after  the  birth  of  first 

radio  device,  this  question  was  changed  to; what  is  the  best way  to  send  a 

message  across  a  noisy  channel?  Since  then,  this  question  has  not  only 

triggered  the  field  of mathematics,  physics,  and  electronic  engineering,  but  also 

given  birth  to  many  fascinating  terms  connected  to  wireless  communication 

technology such as digital communication, channel estimation, channel allocation, 

signal  processing  for  communications,  encryption,  decryption  etc.  One  of  the 

important  areas,  which  deal  with  the  lost  information  in  a  noisy  channel,  was 

raised  in  1940's  with  the  name  “error  correcting  codes”.  Before  this  time,  the 

error  detection  was  already  in  practice  but  the  only  way  to  correct  the  lost 

information was to repeat the transmission. The repetition overheads sometimes 

appear to be high enough that it can become un‐acceptable for many applications, 

especially  when  repetition  does  not  guarantee  a  correct  transmission.  For 

example,  during  the  image  transmission  from  deep  space  to  earth  it  becomes 

impractical  to  retransmit  the  image,  due  to  low  power  constraints.  NASA's 

Pathfinder mission  to Mars  (Figure  1.1)  [3]  is  one  of  the  practical  examples  of 

deep space transmission. 

T

Page 30: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

4  Chapter 1: Background

 

 

In 1948, Claude Elwood Shannon presented his ground‐breaking theory in two 

parts [1][2], which has given birth to a new subject named “coding theory”. The 

theory was already abstractly proved around 1945, but published  in 1948. This 

theory  covered  the  optimal  design  of  a  communication  system,  and  the  main 

motivation  was  to  transmit  maximum  possible  amount  of  information  over  a 

channel and correct it for errors due to noise. He showed that even with a noisy 

channel, still there exist ways to encode messages in such a way that they have an 

arbitrarily good chance of being transmitted safely. All this theory was based on 

the digital transmissions scheme, but no specific codes were provided in the proof 

that  gives  the desired accuracy  for  a  given  channel.  In parallel  to  Shannon,  two 

other well know mathematicians Richard Hamming and Marcel Golay worked in 

the  same  area.  Hamming  did  the  first  construction  of  error  correcting  codes 

known  as  Hamming  codes  and  soon  after  this,  Marcel  Golay  generalized  the 

Hamming  constructions  and  provided  the  codes  which  can  detect  and  correct 

multiple  errors  in  a  transmission.  Since  then,  the  coding  theory  has  developed 

many  connections  with  algebra  and  other  mathematical  techniques,  which 

enabled to bring more diversity in today’s communication technology. 

Although  the  field  of  radio  telephony  was  already  invented  by  Guglielmo 

Marconi back in 1894 and the first long range signal transmission was performed 

in 1902 over the Atlantic Ocean, but the advent of cellular telephony in 1979 [4] 

with  first  cellular  communication network  in  Japan, has  affected  the human  life 

very  drastically.  The  other  technological  monsters  which  merged  with  cellular 

telephony are the personal computer (1980’s) and the WWW (1994). The merger 

of  these  three  technologies  in  to  a  single  mobile  device  has  accelerated  the 

Figure 1.1 :  Sojourner rover in NASA's Pathfinder Mission to Mars 

Page 31: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

1.2  Trends in Communication Systems and Emerging Standards  5

 

 

1 progress  in  the  field  of  communication  at  light‐speed.  Soon  the  customer 

demands  rose  to  sky  and  the  last  decade  was  full  of  technological  jumps.  The 

throughput  demands  have  gone  very  high  and  demand  to  incorporate multiple 

communication systems on to a single device has now become a basic necessity. 

With  the endless wish  list of human beings,  there  is always a  room to  raise  the 

question:  

What is the best way to send a message across a noisy channel ? 

1.2 Trends in Communication Systems and Emerging 

Standards 

A  century  ago,  telegram  and  telephone  was  the  only  way  to  remotely  connect 

people around the world, but in parallel to this military communication systems 

(not  accessible  for  commercial  use)  kept  growing,  which  resulted  in  multiple 

platforms for reliable communication. A revolutionary change occurred when the 

same type of communication platforms became available to commercial use. The 

early communication systems have been entirely analog, which turned in to mix 

of  analog  and  digital  at  later  stages.  Today’s  communication  systems  are 

completely  switching  towards  digital  domain  and  the  human  life  is  truly  being 

converted to Digital Age. The communications systems available today are almost 

entirely  digital,  except  few  components  in  transmission  and  reception.  A  lot  of 

efforts are being made to completely get rid of analog components in the modern 

communication systems.  

What is the driving source for all these advancements? No doubt, the answer is 

the never ending wish  list of human beings. They want  to perform the daily  life 

tasks as quickly as possible and communication is considered to be the back bone 

for  it.  The  enhanced  ability  and  productivity  with  the  use  of  communication 

systems  make  them  favorite  for  every  one’s  daily  life.  The  latest  trends  in 

communication systems exactly follow the areas where the human being’s life is 

largely  affected  by  communication  technologies.  These  areas  are  business, 

entertainment,  education,  social  life,  automation,  exploring  the  nature,  defense, 

and safety etc. On a personal level, other than making phone calls and messaging a 

person also wants to stay connected to internet, watch news and movies, listen to 

latest music, find one’s location to navigate, and do the video conferencing related 

to business and social life. All these features and many more are required at fairly 

small size,  low power and low cost. Many standards have been evolved over the 

time  for  different  scenarios,  such  as  GSM,  WiMAX,  WCDMA,  3GPP‐LTE,  WLAN 

Page 32: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

6  Chapter 1: Background

 

 

802.11a/b/g/n,  DVB‐T/H/SH,  Bluetooth,  CDMA2000,  and  HSPA  etc.  A  mobile 

phone being “all‐time‐partner” of an individual is the most appropriate device to 

support all these different types of communication standards (Figure 1.2) to fulfill 

the demands.  

A  summary of different  standards under discussion  is provided  in Table 1.1. 

The  table  only  covers  the  parameters  in  general  or  related  to  the  thesis  topic; 

however,  the  standards  include  a  long  list  of  other  specifications  as  well.  The 

diversity in features and complexity associated with these standards predict that 

the  collective  mapping  of  all  types  of  functions  in  different  standards  on  to  a 

single  architecture  is  difficult  with  the  available  technologies.  However,  the 

mapping of different similar functionality components in different standards on to 

WLAN 802.11a/b/g/n

DVB-T/H/SH

WiMAX 802.16e

GSM/GPRS/EDGE

WCDMA/CDMA2000

DAB 3GPP-LTE

GPS Bluetooth

HSPA+

Figure 1.2 :  A mobile device with multiple standard support 

Table 1.1 :  Summary of popular and emerging standards 

Standard WCDMA 

/HSPA+ WiMAX  3GPP‐LTE

WLAN 

802.11a/b/g

WLAN 

802.11nDVB‐T/H  DVB‐SH 

Mobility  High Mild  High Low Low Low/High  High

Max. Data Rate 

(Mbps) ~42  ~100  ~300  ~20   ~600   ~32  ~50 

Range  1~ 5 km  ~ 30 km  1 – 5 km < 100 m < 100 m > 10 km  > 10 km

FEC Type BTC 

CC 

RS – CC 

CTC 

LDPC 

BTC 

CC CC 

CC 

LDPC RS – CC  BTC 

Interleaver Types 

Prunable 

Prime + 

Row‐Col 

Row‐Col 

+ ARP 

QPP + 

Row‐Col 

Row‐Col 

Block 

Row‐Col 

Block  

+ Time 

Conv.+Time 

+ Prunable 

Block 

Prunable 

Block  

+ Conv.  

No of Interleaver 

Stages 3  2  2  1  2  3  3 

Block Size (Max)  5114 2400  6144 288 648 x 4 6048  12282

Page 33: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

1.3  A Communication System and Interleaver – First Encounter  7

 

 

1

a single architecture is more feasible, and it  is considered to be on top in recent 

research trends in the field of communication systems. 

1.3 A Communication System and Interleaver – First 

Encounter 

The communication system defined by Shannon to prove his theory was the basic 

system as shown in Figure 1.3. It consists of an information source (producing a 

message or sequence of messages), a transmitter (having the capability to operate 

on  the message  to  convert  it  to a  suitable  signal  for  transmission),  a  channel  (a 

medium  like  air  or  wire  etc.),  a  receiver  (practically  inverse  of  transmitter 

operations), and the destination (a person or a machine). The noise source can be 

defined  as  burst  noise  (lightening,  switch  noise),  white  noise,  or  channel 

distortion. However, the topic of thesis (interleaver) deals only with burst noise. 

The transmitter here is also responsible for different types of modulations. For 

the  simplest modulation  case  i.e.  the  binary  transmission,  a  particularly  simple 

but practically  very  important  channel model named binary  symmetric  channel 

(BSC)  is  defined.  In  BSC  the  transition  probability  p  completely  defines  the 

channel  as  shown  in  Figure  1.4.  It  can  be  calculated  by  knowing  the  signal 

properties, the quantization thresholds of the modulator, and the amount of noise 

expected (i.e. probability distribution of noise).  

With the encoding process, the message bits are encoded in to a code word c, 

and on the receiver side the conditional probability  ( )P r c  of the received vector r, 

InformationSource Transmitter DestinationReceiver

Noise Source

Figure 1.3 :  Basic communicaiton system model 

pp

1 p�

1 p�

0 0

1 1

Figure 1.4 :  Transision probability in binary symmetric chanel 

Page 34: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

8  Chapter 1: Background

 

 

with possible  code word, needs  to be maximized  in order  to perform decoding, 

and  hence  it  is  named  as maximum  likelihood  decoding  (MLD).  The maximum 

likelihood decoding will not be optimum, if the code words are not equally likely 

or if we don’t know exactly the probability of each code word, which is the usual 

case in practical. However, under usual practice each code word is considered to 

be equally likely, and hence maximum likelihood decoding may be applied.  

With the definition of codes, several properties associated with the codewords 

were  defined.  The  two  important  properties  are  hamming  distance  (or  simply 

distance)  and  hamming  weight  (or  simply  weight).  The  hamming  distance 

between  two  codewords  is  the  total  number  of  positions,  where  the  two 

codewords  are  different.  The  hamming weight  of  a  codeword  is  defined  as  the 

total number of positions by which it is different with respect to the zero vector. 

One of  the properties, which define the quality of a code,  is called the minimum 

distance ( mind ). It is defined as the smallest distance between distinct codewords, 

and it gives a measure of how good is the code in detecting and correcting errors. 

A code with minimum distance  mind  can detect up to  1mind  errors and can correct 

up to t errors provided it satisfies the following relation: 

12 1

2min

min

dd t or t

  (1.1) 

Consider a code which can correct up to   1t  errors. We take a simplified data 

transmission example over a noisy channel as shown  in Figure 1.5. We see  that 

some data  is  lost during the transmission in such a way that two bits each from 

two  of  the  transmitted  codewords  have  become  corrupted.  As  the  decoder  can 

Encoder D4 D3 D2 D1 C4 C3 C2 C1 B4 B3 B2 B1 A4 A3 A2 A1

D4D3D2D1C4C3XXXXB2B1A4A3A2A1 TXXXXXRX

Decoder D4 D3 D2 D1 X X X X X X X X A4 A3 A2 A1

Un-decodable codewords

Figure 1.5 :  A simplified transmission and reception over a noisy channel 

Page 35: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

1.3  A Communication System and Interleaver – First Encounter  9

 

 

correct only one error in each codeword thus both these codewords ended up as 

un‐decodable.  A  work  around  could  be  to  increase  the  transmitting  energy  to 

improve  the  transmission  reliability,  but  it  demands more  power  and  in  some 

cases even more silicon.  

An  alternate  and  cheaper  way  to  handle  this  situation  is  to  introduce  an 

interleaver   between  encoder  and  transmitter.  Vice  versa  a  de‐interleaver  1  

(inverse of interleaver) has to be incorporated between receiver and decoder as 

shown in Figure 1.6. The transmitted bits are same but ordered  in some special 

way.  This  re‐ordering  of  bits  is  called  permutation  of  data.  Considering  same 

effect of noise, as in Figure 1.5, the received data becomes corrupted in the form 

of an error burst.  In  this case,  instead of directly providing  the received data  to 

the decoder,  it  is  first passed to de‐interleaver. The re‐arrangement done by de‐

interleaver gives the benefit that each of the codeword has at most one error in it.  

As  the  decoder  has  the  capability  to  correct  a  codeword  with  one  error, 

therefore  all  the  codewords  are  recovered  correctly.  The  interleaver  does  not 

Encoder

TXRX D2C1B3A4D4C2B2A1D3C4B1A3D1C3B4A2 B2A1D3C4CC

D2 C1 B3 A4 D4 C2 B2 A1 D3 C4 B1 A3 D1 C3 B4 A2

D2 C1 B3 A4 D4 C2 X X X X B1 A3 D1 C3 B4 A2

D4 D3 D2 D1 C4 C3 C2 C1 B4 B3 B2 B1 A4 A3 A2 A1

D4XD2D1XC3C2C1B4B3XB1A4A3A2X

1��

Decoder D4 D3 D2 D1 C4 C3 C2 C1 B4 B3 B2 B1 A4 A3 A2 A1

Figure 1.6 :  A simplified transmission and reception over a noisy channel with interleaver and de‐interleaver 

1

Page 36: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

10  Chapter 1: Background

 

 

increase  the  minimum  distance  of  the  code,  but  the  re‐arrangement  of  each 

codeword over a wider spatial domain gives robustness to the same code against 

burst errors induced by noise. 

1.4 Interleaver Usage in Different Standards 

The previous section provides a simplified communication system; however, the 

advanced  communication  systems  have  more  components  to  enhance  the 

communication reliability. The complexity increase has been accepted as a trade‐

off with  increase  in  throughput  and  reliability.  These  advanced  communication 

systems  use  multiple  types  of  interleavers  at  multiple  stages  to  enhance  the 

robustness.  

The  transport  channels  for  WCDMA  and  DVB  are  shown  in  Figure  1.7  and 

Figure 1.8 respectively. Both use different kinds of FEC and interleavers. The grey 

shaded  blocks  are  the  stages  where  an  interleaver  has  been  utilized.  WCDMA 

incorporates turbo code having an internal interleaver with two more interleaver 

combinations,  one  before  rate matching  and  the  other  before  the mapper.  The 

interleaver used  in  the  turbo encoder / decoder  is a prime  interleaver, and  it  is 

considered  to  be more  complicated  among  other  interleavers  used  in  different 

standards.  It  is  a  row‐column  interleaver  which  incorporates  both  row  and 

column permutations. The other  interleaving  stages,  i.e.  1st  Interleaving  and 2nd 

Interleaving, are of row‐column type interleavers with column permutations only. 

DVB also incorporates 3 different types of interleavers. The interleaver used in 

between  Reed‐Solomon  (RS)  and  convolutional  code  (CC)  is  the  convolutional 

interleaver, which is completely different from a block interleaver. The other two 

types are the bit  interleaver (which performs operation on bits) and the symbol 

Multiplexer

FrameSegmentation

/RateMatching

CRCAttachment

ChannelCoding

IstInterleaving

Phy.Ch.Segmentation

2ndInterleaving

Phy.Ch.Mapping

Ch#1

Ch#2

Figure 1.7 :  Overview of WCDMA transport channel 

Page 37: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

1.5  The Challenges and Motivation 11

 

 

1

interleaver  (which  performs  operation  on  symbols).  The  number  of  bit 

interleavers  used  in  parallel  depends  on  the modulation  scheme,  i.e.  6,  4  and 2 

parallel  interleavers  for  64‐QAM,  16‐QAM  and  QPSK  respectively.  The  symbol 

interleaver  is  the  prunable  block  interleaver  which  depends  on  some  pseudo 

pattern  generated  from  a  linear  feedback  shift  register  (LFSR).  Similarly,  other 

standards,  such  as WiMAX, WLAN,  and  3GPP‐LTE,  also  utilize  different  type  of 

interleaves  at  different  stages.  Some  of  the  interleaver  types  are  simple  to 

implement,  but  some  are  complex  and  have  special  structures.  Due  to  special 

structures they cannot share the same hardware components among each other, 

and  therefore  some  transformation  has  to  be  applied  to  bring  all  types  of 

implementations to similar structures. 

1.5 The Challenges and Motivation 

The diversity of interleaver types used in different standards has been introduced 

very  briefly  in  the  previous  section.    A  detailed  summary  of  different  types  of 

interleavers used in different standards is provided in Table 1.2, where different 

interleavers have different structures and permutations. This table elaborates the 

diversity  and  the  range  of  interleaving  algorithms.  However,  the  functions  and 

terms in Table 1.2 are not defined here explicitly, and they will be covered in later 

chapters. The conventional approach is to compute the permutation patterns off 

line  and  then  use  a  large memory  to  store  all  different  kinds  of  patterns,  to  be 

used in real time, as a lookup table (LUT). Other than the big memory overheads, 

one has to be very selective as per the total storage space available, so it is quite 

possible that even all the permutation patterns within a single standard could not  

SourceCodingand

Multiplexing

RSCoder

Convolutional

Interleaver

ConvolutionalCoder

SymbolInterleaver

Mapper

Parser/Demux

Bit Interleaver (I_0)

Bit Interleaver (I_5)

Outer FEC

Inner FEC

Figure 1.8 :  Overview of DVB transport channel 

Page 38: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

12  Chapter 1: Background

 

 

Table 1.2 :  List of interleaver algorithms and permutations in different standards 

Standard Interleaver 

Type Algorithm / Permutation Methodology 

HSPA+  BTC  Multi‐Step computation including intra‐row permutation computation 

1 %S j v S j p ;    ( )r i T q i ;  

, %( 1)U i j S j r i p ;   %( 1)qmod i r i p ;  

, , 1 % 1RA i j RA i j qmod i p ;  

, ( , )i jI C r i U i j   

Ist, 2nd, and  

HS‐DSCH int. 

Standard block interleaving with different column permutations. 

% %k

k P C k R KR

  

LTE  QPP for BTC  22

( ) 1 . . %xI f x f x N   

Sub‐Blk. int.  Standard block interleaving with given column permutations. 

WiMAX  Channel 

interleaver  Two step permutation  %kN k

M k dd d

 ; and 

– %k kk k

M MJ s M N d s

s N

 

CTC  

interleaver  ( %4 0) 0. 1 %xI P x N ;  ( %4 1) 0 2. 1 1 %N

xI P x P N ; 

( %4 2) 0. 1 1 %xI P x P N ; ( %4 3) 0 2. 1 3 %NxI P x P N  

WLAN  Channel 

interleaver  Two step permutation  %kN k

M k dd d

 ; and 

– %k kk k

M MJ s M N d s

s N

 

802.11n  Ch. Interleaver 

with Frequency 

Rotation 

Two step permutation as above, with extra frequency interleaving i.e. 

11 3 3

3%2 % ss

ss ROT BPSCk kR Ni

NJ i N

 

DVB‐H  Outer Conv. 

interleaver  

Permutation defined by depth of first FIFO branch (M) and number of 

total branches. 

Inner bit 

interleaver 

Six parallel interleavers with different cyclic shift

%126eH w w  ; where  0,63,105,42,21 and 84  

Inner symbol 

interleaver ( ) ( )for even symbols; for odd symbolsH q q q H qy x y x ;  

where   12

0

%2 2 2 ;r

r

NN j

ij

H q i R j

 

DVB‐SH  BTC  ( ) ( 1) ( ) %32c cR j R j Inc j ;  and  

1( , ) ( ) ( 1, ) %bas TI i j T j M i j C  

General 

Purpose 

Use 

Row and/or Col. 

Perm. Given  

Standard block interleaver with or without row or/and column 

permutation. 

Page 39: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

1.5  The Challenges and Motivation 13

 

 

1 be  supported  in  one  go.  In  this  case,  the  requirement  from  current  trends  i.e. 

using multiple standards on single platform and rapid switching among  them  is 

hard to achieve. 

Looking at  the range of  interleavers  it  seems difficult  to converge  to a single 

architecture  supporting  concurrent operations  for multiple  standards; however, 

the fact that multimode coverage does not require multiple interleavers to work 

at  the  same  time  provides  opportunities  to  use  hardware  multiplexing.  The 

multimode  functionality  is  then  achieved  by  fast  switching  between  different 

standards. So the ultimate requirement  is  to merge the functionality of different 

types of interleavers in to a single architecture to demonstrate a way to reuse the 

hardware for a variety of interleavers having different structural properties. The 

broadness  of  the  interleaving  algorithms  gives  rise  to  many  challenges  when 

considering  a  true multimode  interleaver  implementation.  The main  challenges 

are as follows: 

On‐the‐fly computation of permutation patterns 

Wide range of interleaving block sizes 

Wide range of algorithms 

Wide range of throughput requirements 

Fast switching between different standards 

Sufficient throughput for high speed communications 

Maximum standard coverage 

Parallelism where ever required 

Acceptable silicon cost and power consumption 

Portable to different silicon processes 

To  get  the  general  idea  of  cost  saving  by  using  individually  optimized 

implementations with that of a shared hardware, each of the algorithms has been 

implemented  separately  after  applying  certain  optimizations  and  appropriate 

algorithmic  transformations.  Comparing  the  hardware  cost  for  different 

implementations,  as  given  in  Table  1.3,  the  hardware  multiplexed  architecture 

(supporting  multiple  standards)  provides  up  to  3  times  lower  silicon  cost  for 

address  generation  and  about  6  times  lower  silicon  cost  for  data  memory  in 

shared mode. Though the overheads should also be considered while adding more 

standard  support  in  to  the  shared  architecture,  but  according  to  the  author’s 

opinion, still it will further improve this ratio. 

Page 40: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

14  Chapter 1: Background

 

 

Since the interleaver core is targeted to be used with some type of baseband 

processor,  therefore  comparing  the  interleaver  cost  to  the  cost  of  a  baseband 

processor  can  also  be  of  importance  in  order  to  realize  the  significance  of 

interleaver.  As  a  reference  we  take  the  baseband  processor  (BBP2)  in  [6]  to 

compare  the  cost.  This  baseband  processor  supports  all  the  communication 

standards under discussion.  

Table 1.4 provides a gate count comparison of  interleaver  logic cost with the 

size of computation logic used in the baseband processor. The cost of collection of 

individually  optimized  interleaver  implementations  is  19.7%  to  that  of  the 

baseband processor  logic cost. However, when using  the hardware multiplexing 

to  share  the  hardware  for  different  interleaving  functions,  it  reduced  to  6.6%, 

which gives a significant saving. Regarding memory utilization, an interleaver can 

share  the  memory  with  baseband  processor  whereas  sometimes  it  has  to 

incorporate  separate  memory.  So  memory  cost  is  highly  dependent  on  the 

implementation/integration  strategy.  Therefore we  do  not  include  the memory 

cost in the comparison. The flexibility and significant hardware saving motivates 

the research to explore the re‐configurable interleaving architectures, which also 

helps to meet fast time‐to‐market requirements from industry and customers.  

Table 1.3 :  Interleaving functions with hardware cost comparison 

Standard  Interleaver Type 

HW Cost 

Addr. Generation

@65nm, (μm2) 

Data Memory 

@6 Soft Bits,(kbits)

HSPA+  BTC 12816 59.92 

Ist, 2nd, and HS‐DSCH int. 2288 29.96 

LTE  QPP for BTC  3744 72.0 

Sub‐Blk. interleaver  2080 36.0 

WiMAX  Channel interleaver  8944 9.0 

CTC interleaver  2080 19.92 

Blk. int. b/w RS & CC 7280 56.25 

WLAN  Channel interleaver  8944 1.68 

802.11n  Ch. Interleaver with Frequency Rotation 11563 24.54 

DVB‐H  Outer Conv. interleaver  12272 8.76 

Inner bit interleaver 3120 0.738 

Inner symbol interleaver 3536 35.4 

General Purpose Use  Row and/or Col. Perm. Given  3952 24.0 

Total Cost   ∑ (all)  ~82619 ~378.0 

Multi‐standard Design  Reconfigurable HW Multiplexed Solution 27757 72.0 

Page 41: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

1.6  Scope and the Thesis Organization 15

 

 

1

1.6 Scope and the Thesis Organization 

The topic of interleaver itself is not very wide in the sense that it deals with only a 

specific part in the chain of a communication system. However, owing to the fact 

that;  1)  it  has  become  a  mandatory  part  of  all  existing  and  newly  evolved 

standards,  2)  the  range  of  standards  is  very  wide,  3)  the  range  of  interleaver 

functions  is  very  wide,  and  4)  general  purpose  processors  as  well  as  other 

application  specific  processors,  like  baseband  processors,  do  not  support  the 

interleaver function inherently, the multimode interleaver implementation can be 

declared  as  a  topic with wider  scope.  The  thesis  covers  the  implementation  of 

different interleavers step by step to reach to multimode architectures. The thesis 

organization is as follows: 

The thesis is divided in four parts. Part I is made up of two chapters. Chapter 1 

provides  the  background  of  the  topic,  general  overview  of  the  challenges,  and 

motivation  to  the  work.  Chapter  2  gives  an  introduction  to  different  types  of 

interleavers  and  an  overview  of  different  parameters  associated  with 

interleavers.  

Part  II  includes  chapter  3,  and  it  describes  the  general  methodology  of 

hardware  multiplexing  and  its  effects  in  general  on  silicon  utilization,  power 

consumption  and  performance.  It  also  suggests  a  reconfiguration  scheme  for 

interleaver  architecture  after  going  through  different  general  reconfiguration 

schemes. 

Part  III  being  the  core  of  this  thesis  covers  most  of  the  design  and 

implementation work. It is made up of 5 chapter (chapter 4 – chapter 8). Chapter 

4  covers  a  dual mode  turbo  code  interleaver  for  3GPP‐WCDMA  and  3GPP‐LTE. 

Chapter 5 and 6 mostly provide detailed implementation and hardware sharing of 

different channel interleavers along with multimode interleaver design. Chapter 7 

and 8 focus on parallelism in turbo code interleavers and provide implementation 

details  for parallel  interleaver address generation and hardware sharing among 

different standards. 

Table 1.4 :  Logic size comparsion with baseband processor 

Implementation Baseband Processor 

BBP2, [6] 

Collection of Interleaver 

Implementations 

Multi‐standard 

Interleaver 

Gate Count  

(Computation logic only) 200 kgate  39.7 kgate  13.3 kgate 

Ratio to that of BBP2 100 % 19.7 % 6.6 %

Page 42: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

16  Chapter 1: Background

 

 

The  last  part  IV  includes  two  chapters.  Chapter  9  gives  the  system  level 

overview and details about integration aspects when integrating interleaver core 

with baseband processor or  integration controller. Finally chapter 10 concludes 

the thesis giving an outlook on the future work that is further possible after taking 

this work as the starting point. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Page 43: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

   

17 

2

2 Introduction to Interleavers 

2.1 Role of an Interleaver 

HE PRIMARY ROLE of an interleaver is to disperse the sequences of bits in a 

bit‐stream  so  as  to  minimize  the  effect  of  burst  errors  introduced  in 

transmission.  An  interleaver  is  usually  used  in  conjunction  with  some  type  of 

error correcting code. As stated earlier, the error correcting codes can correct the 

lost information as long as the amount of lost bits in a single codeword is within 

the  limit  defined  by  mind .  The  limits  sometimes  get  violated  due  to  existence  of 

errors in the form of bursts. The usual sources of bursty errors are listed below:  

Channel  distortion  and  channel  fading  effects  in  wireless 

communications 

Lightening and switching effects 

Use  of  concatenated  coding  schemes,  e.g.  use  of  convolution  code 

(Viterbi decoding) at the  first stage usually generates a burst of errors 

when the decoding fails. 

A basic interleaver is taken as a sequential device with single input and single 

output. A parallelism can be devised but the basic function remains the same. The 

interleaver  takes a sequence of  information bits with  fixed width and generates 

another sequence of same width but in different order. It is then the role of a de‐

T

Page 44: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

18  Chapter 2: Introduction to Interleavers

 

 

interleaver  to  retrieve  back  the  original  order.  Thus  the  interleaver  and  de‐

interleaver strictly work in pair with each other. 

An interleaver carries a specific permutation pattern   and the mapping of an input  sequence  0 1 2, , ,........ kx x x x x   on  to  an  output  sequence  0 1 2, , ,........ ky y y y y  

can be defined as: 

( )i iy x   (2.1) 

The reverse of this function (i.e. de‐interleaving) is: 

( )i iy x   (2.2) 

Further classification of interleavers is given in the following sections. 

2.2 Interleaver ‐ Main Categories 

Based  on  different  implementation  aspects,  the  interleavers  are  divided  in  two 

main categories named as block  interleave and convolutional  interleaver. There 

are  some  other  classifications  based  on  their  properties,  which  will  also  be 

discussed briefly in later sections. 

2.2.1 Block Interleaver 

In a block interleaver,  the  information  intake from the encoder  is  in the form of 

blocks. The permutations are applied and then block of data is passed to mapper 

for further modulations. The usual implementation of a block interleaver is in the 

form of a Row‐Column matrix of size R C ; where R is total number of rows and C 

is  the  total  number  of  columns.  To  perform  interleaving,  the  information  is 

a23 a17 a11 a5 a22 a16 a10 a4 a21 a15 a9 a3 a20 a14 a8 a2 a19 a13 a7 a1 a18 a12 a6 a0Interleaved Sequence

a0 a1 a2 a3 a4 a5

a6 a7 a8 a9 a10 a11

a12 a13 a14 a15 a16 a17

a18 a19 a20 a21 a22 a23

a5 a4 a3 a2 a1 a0

a11 a10 a9 a8 a7 a6

a17 a16 a15 a14 a13 a12

a23 a22 a21 a20 a19 a18

a0 a1 a2 a3 a4 a5

a6 a7 a8 a9 a10 a11

a12 a13 a14 a15 a16 a17

a18 a19 a20 a21 a22 a23

a5 a4 a3 a2 a1 a0

a11 a10 a9 a8 a7 a6

a17 a16 a15 a14 a13 a12

a23 a22 a21 a20 a19 a18

De-InterleaverInterleaver

Figure 2.1 :  Simple block interleaving without permutations 

Page 45: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

2.2  Interleaver ‐ Main Categories 19

 

 

2

written to the R C  row‐column matrix row wise and read back in column wise as 

shown in Figure 2.1. There are no inter‐row or inter‐column permutations used in 

this illustration, thus the interleaved sequence holds some systematic order.  

The  row‐column block  interleaver  gives  the benefit  that  it  isolates  the burst 

errors  of  size  R  by  a  distance C.  On  the  other  hand  if  a  periodic  single  error 

sequence  with  period  R  influences  the  transmission,  then  a  burst  of  errors 

appears  at  the  output  of  the  de‐interleaver with  size C.  In  order  to  handle  this 

situation  further  permutations  need  to  be  involved  which  increase  the 

implementation  complexity.  An  illustration  of  a  block  interleaver with  different 

row  and  column  permutations  is  given  in  Figure  2.2.  The  permutations  are 

applied with certain order after the information has been written to the R C  row‐

column matrix. A reverse of the permutation order used in interleaver has to be 

applied  on  the  de‐interleaver  side  to  re‐format  the  information  in  its  original 

form.  Now  observing  the  interleaved  sequence  in  Figure  2.2,  there  is  no 

systematic relation between different  interleaved symbols, which not only gives 

the benefit against periodic error patterns but also gives robustness against other 

semi‐periodic  error  patterns.  The  involvement  of  permutations  increases  the 

complexity issues while implementing the block interleaver, especially when the 

a0 a1 a2 a3 a4 a5

a6 a7 a8 a9 a10 a11

a12 a13 a14 a15 a16 a17

a18 a19 a20 a21 a22 a23

a5 a4 a3 a2 a1 a0

a11 a10 a9 a8 a7 a6

a17 a16 a15 a14 a13 a12

a23 a22 a21 a20 a19 a18

a0 a1 a2 a3 a4 a5

a6 a7 a8 a9 a10 a11

a12 a13 a14 a15 a16 a17

a18 a19 a20 a21 a22 a23

a5 a4 a3 a2 a1 a0

a11 a10 a9 a8 a7 a6

a17 a16 a15 a14 a13 a12

a23 a22 a21 a20 a19 a18

De-InterleaverInterleaver

a0 a1a2a3 a4a5

a6 a7a8a9 a10a11

a12 a13a14a15 a16a17

a18 a19a20a21 a22a23

a19 a1 a7 a13 a20 a2 a8 a14 a18 a0 a6 a12 a22 a4 a10 a16 a23 a5 a11 a17 a21 a3 a9 a15Interleaved Sequence

1 23

4

a0 a1a2a3 a4a5

a6 a7a8a9 a10a11

a12 a13a14a15 a16a17

a18 a19a20a21 a22a23

4 32

1

Figure 2.2 :  Block interleaving with row and column permutations 

Page 46: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

20  Chapter 2: Introduction to Interleavers

 

 

block  size  is  fairly  large.  Also  the  analysis  of  properties  of  a  certain  block 

interleaver  with  multiple  permutations  is  difficult  to  generalize.  Therefore 

defining  some  structured  functions  to  specify  the  permutations  is  helpful  to 

simplify the implementation, as well as the analysis of interleaver properties.  

Other  than  row‐column matrix  construction,  a  block  interleaver  can  also  be 

constructed  by  using  other  methods.  An  example  of  generating  the  block 

interleaver  is  by  defining  a  primitive  polynomial  to  generate  a maximal  length 

shift  register  sequence  called maximal  length  LFSR  as  shown  in  Figure  2.3.    A 

maximal  length  LFSR  generates  all  the  addresses  by  cycling  through  all  the 

possible  states  except  the  state where  all  bits  are  zero.  The  start  of  addressing 

sequence is defined by introducing a starting seed value. When block size is less 

than  the complete  cycle of  the primitive polynomial,  a pruning device has  to be 

incorporated  to  discard  the  invalid  indices.  Based  on  different  construction 

methodologies  and  properties,  the  block  interleavers  can  further  be  divided  in 

different sub‐categories which will be described in a later section. 

2.2.2 Convolutional Interleaver 

In contrary to block interleaver, the convolutional interleaver mainly works on a 

stream  of  data.  Therefore,  it  does  not  need  to  wait  for  a  whole  block  to  start 

operation.  The  convolutional  interleaver was  first  proposed  by Ramsey  [7]  and 

Forney [8].   The structure of a convolutional  interleaver and  its counterpart de‐

Wire Permutations

a6 a7 a8 a9 a10 a11a1 a2 a3 a4 a5 a12

P(x) = x12 + x11 + x10 + x4 + 1

Pruning if K < 2n-1

Interleaver Address

n=12

Figure 2.3 :  A maximal length LFSR with n=12 

Page 47: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

2.3  Interleaver Types  21

 

 

2

interleaver  is  shown  in  Figure  2.4.  It  consists  of  multiple  branches  and  each 

branch with  index  j  is  composed  of  first‐in‐first‐out  (FIFO)  shift  registers with 

depth  j M , where M  is the number of FIFO registers in the 2nd branch. The first 

branch does not provide any storage, and it acts as a direct connection.  The input 

and  output  of  the  all  the  branches  are  connected  to  commutator  switches.  The 

commutator switch at the input is connected to the output of encoder. The code 

symbols from encoder are sequentially shifted in different FIFO registers through 

the input commutator switch, which connects to all the branches in a cyclic way. 

With each new code symbol the commutator switches to a new FIFO branch. The 

output  commutator  switch  works  in  synchronization  to  the  input  commutator 

switch, and takes the data from different branches sequentially. 

The convolutional de‐interleaver has to be incorporated at the receiver side to 

bring the data back in order. Similar to interleaver,  it also has two synchronized 

commutator switches at the input and output; however, it differs from interleaver 

such that the largest FIFO is kept at index 0. It is important that the data passing 

through the branch 0 on the interleaver side should be routed through the largest 

FIFO  branch  on  the  de‐interleaver  side.  In  order  to  keep  this  synchronization, 

usually a synchronization pattern is also used which is always routed to branch 0 

on interleaver side and largest FIFO branch on de‐interleaver side. 

2.3 Interleaver Types 

Other  than  the  two  main  categories  i.e.  block  interleavers  and  convolutional 

interleavers, looking at the behavior of the address generation in the interleavers, 

block  interleavers can further be classified  in to many different classes. Some of 

them are briefly described in the following sub‐sections. They are widely covered 

0

1

2

3

N

0

1

2

3

N

Interleaver

M : Hor. Depth

OrderedData Interleaved

Data

M×2

M×3

Channel

M×NN

N-1

0

De-Interleaver

OrderedData

M×2

M×3

M

M×N

N-2

N-3

N

N-1

0

N-2

N-3

Figure 2.4 :  Structure of a convolutional interleaver and de‐interleaver 

Page 48: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

22  Chapter 2: Introduction to Interleavers

 

 

in  the  literature  to  do  the  theoretical  analysis  associated with  the  use  of  error 

correcting codes and especially turbo codes. 

2.3.1 Random Interleaver 

It is the raw interleaver generated through randomly selecting the addresses over 

a range of block size. They do not bear any structure and the main disadvantage is 

that once generated through some random function,  they cannot be reproduced 

as  such.  Hence  the  only way  to  use  them  in  real  hardware  is  to memorize  the 

sequence and use  it  as  a LUT. However,  they  tend  to perform very well  against 

any  kind  of  the  burst  errors.  The  initial  performance  claim  regarding  turbo 

decoders  was  made  by  using  random  interleavers;  however,  some  other  types 

have evolved over the times which now perform better than random interleavers. 

All  kinds  of  theoretical  work  regarding  interleaver  design  is  usually  compared 

with a  random  interleaver,  therefore  it  serves as a bench marking  tool  towards 

performance for newly evolved interleaver types.  

2.3.2 S‐Random Interleaver 

The  random  interleavers  do  not  guarantee  that  there  will  not  be  any  closely 

located addresses within a small span. Some of this type of instances can lead to 

significant performance degradation. In other words the random interleavers do 

not guarantee sufficient information spread. To avoid this situation semi‐random 

interleaver named as S‐random interleavers [9] are introduced. It is also a type of 

random  interleaver,  but  additional  conditions  apply  on  randomly  selected 

addresses. The generation of address sequence for S‐random interleaver is done 

as follows: 

Randomly  select  the  first  element  of  the  interleaver  from  the  range 

{0,1,2,....... 1}K , where K is the size of interleaver sequence. 

For  each next  randomly  selected  element,  check  that  it  is  S   distance 

apart  from  previously  selected  S   elements.  If  it  does  not  satisfy  the 

condition,  discard  it  and  repeat  the  step with  next  randomly  selected 

element. 

If  it  satisfies  the  condition,  take  it  as  a  member  in  the  interleaver 

sequence, and proceed until complete sequence has been generated. 

The convergence of the algorithm to reach to a complete sequence is slow, and 

it  is  not  always  guaranteed  that  it will  finish  successfully.  The  value  of  S   is  the 

Page 49: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

2.3  Interleaver Types  23

 

 

2

important design parameter here. It defines the spread of the interleaver. Larger 

the  value  of  S ,  better  the  performance  of  the  interleaver,  but  more  difficult  to 

converge successfully. However, an optimum value of S  proposed in the literature 

is  2S K , which guarantees that it will produce a solution in reasonable amount 

of time. Choosing  1S , it becomes the classic random interleaver. 

2.3.3 Relative Prime Interleaver 

Relative prime interleaver revolves around a prime number. Given a block size K , 

a simple prime interleaver can be constructed by defining just one prime number 

p, as follows: 

  ( ) ( 1) modi i p K   (2.3) 

The starting value is usually taken as  (0) 0 , but any other integer  K  can also be 

taken. To  improve  the performance of  this  type of  interleaver  further  steps  are 

taken  in  to account. The block  size K  is divided  in  two parts  1k   and  2k   such  that 

1 2K k k . Then different types of permutations are applied on both parts, which 

give  connection  to  the  classical  block  interleaver  as  rows  and  columns. At  least 

one  of  them  use  prime  modulo  based  permutation  table  generated  through  a 

relation  as  mentioned  in  (2.3).  These  interleavers  provide  higher  spread,  and 

especially  they are good  for short block sizes. 3GGP standard  [10] has used this 

type of  interleavers  to be used as  the  internal  interleaver  for  turbo codes. They 

are considered to be easier to implement as compared to random and S‐random 

interleavers,  but  still  they  bear  high  level  of  complexity  when  compared  with 

other  interleaver  types,  such  as  ARP  and  QPP  interleavers,  used  in  different 

standards. 

2.3.4 Deterministic Interleaver 

Interleavers with random properties and sufficient spread are quite essential for 

good  turbo  decoding;  however,  the  drawbacks with  these  types  of  interleavers 

are lack of compactness while implementing and lack of building structures which 

can help to analyze the interleaver properties more efficiently. Some interleavers 

with deterministic behavior were first introduced by Takeshita, and Costello [12], 

and hence also named as Takeshita, and Costello Interleavers. The basic mapping 

function described in [12] is as follows: 

( ) ( 1) mod ; 1c m c m k m K m K   (2.4) 

Page 50: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

24  Chapter 2: Introduction to Interleavers

 

 

where  (0) 0c , and k is selected as odd constant. This can also be expressed as the 

quadratic congruence. 

1( ) mod ; 0

2

k m mc m K m K

  (2.5) 

The final index mapping for the interleaver operation is done by: 

( ) ( ) ( 1) 0m c m c m m K   (2.6) 

The computation of  the  interleaved  sequence  is  simple but  still  they have  to 

use  a  LUT  where  basic  mapping  function  ( )c m   has  to  be  stored  after  its 

computation.  

2.3.5 ARP and QPP Interleavers 

A  possibility  to  completely  generate  the  interleaver  addresses  on‐the‐fly  in  a 

deterministic  way  was  proposed  in  [13],  and  named  as  almost  regular 

permutation  (ARP)  interleavers.  They  are  based  on  linear  permutation 

polynomial as mentioned below: 

  ( ) ( ) modi P i Q i K   (2.7) 

where P and  ( )Q i  are positive integers.  ( )Q i  can further be decomposed in the form 

( ) ( ) ( )Q i A i P B i , where  ( )A i  and  ( )B i  are also positive integers. The method to 

compute the constant parameters is described in [13], and usually a set of defined 

parameters  is provided  in  the  specifications. WiMAX standard  [15] has adopted 

this type of interleaver to be used with duo‐binary turbo codes. ARP interleavers 

also offer natural parallelism to selective block sizes, which is very much useful to 

get higher throughput. 

Another important and rather most recent type of deterministic interleavers is 

called  quadratic  permutation  polynomial  (QPP)  interleaver  proposed  in  [14]. 

They have already got attention in the latest communication standard 3GPP‐LTE 

[11]. QPP interleaver is based on the following quadratic polynomial. 

21 2( ) modx f x f x K   (2.8) 

The QPP interleaver needs only two parameters  1f  and  2f  to completely define 

the  sequence.  The  block  size  is  taken  as  32 m  where  {1,2,3,....}m ,  and  the 

parameter  2f  is usually selected as  2 2f m . The parameter  1f  is then chosen based 

on maximum spread provided by the  interleaver with  that particular block size. 

Page 51: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

2.4  Performance and Implementation Issues 25

 

 

2

QPP  interleaves  have  the  added  benefit  that  they  offer  full  parallelism  to  any 

block size, which makes them the best choice for high throughput systems. 

2.4 Performance and Implementation Issues 

The performance of an interleaver type is in particular associated with the error 

correction system. There are different parameters which can contribute towards 

interleaver performance and cost. Some are listed below: 

Size of the interleaver 

Randomness (Permutations) 

Spread of interleaver 

Puncturing Variations 

The following sub‐sections briefly describe the performance and cost issues in 

general, regarding different types of interleavers. 

2.4.1 BER Performance 

Many different criterions and analysis methods exist in the literature to compare 

different types of interleavers. BER performance plot is one of them and has been 

mostly  used.  Figure  2.5  shows  a  comparison  of  interleaver  performance  when 

used with turbo decoder, rate 1/3. The performance improvement with the use of 

interleaver  as  compared  to  the  case when  no  interleaver  is  used  is  very much 

evident. Looking on to different types of interleavers (S‐random, QPP, Prime, and 

Random)  S‐random  interleaver  seems  to  be  better,  whereas  prime  interleaver 

and random interleaver have almost the same performance at lower SNR. 

Performance  of  a  convolutional  interleaver  is  also  dependent  on  the  error 

correction  scheme used;  however,  the work  in  [16][17], which  focus  the use  of 

convolutional  interleaver  with  turbo  decoding,  claim  that  the  performance  of 

convolutional  interleaver  is comparable to block interleavers. The key benefit of 

convolutional  interleaving  is  towards  reduction of memory  cost  as  explained  in 

the following sub‐section. 

2.4.2 Implementation Cost 

S‐random interleaver type is better in performance but its implementation carries 

more  complexity.  The  more  the  randomness  and  spread,  the  better  will  be 

Page 52: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

26  Chapter 2: Introduction to Interleavers

 

 

performance, but could be difficult to implement. The interleaver patterns which 

carry  some  regularity  in  their  construction  can  be  implemented  more  easily. 

Figure 2.6 shows the graphical view of different  interleaver  types. The ARP and 

QPP  interleavers have some regular structure as compared  to others;  therefore, 

their implementation is simpler. On the other hand the prime interleaver does not 

show  complete  regularity  and  therefore  its  implementation  is more  complex  as 

compared  to  ARP  and QPP  interleavers.    There  is  no  regularity  in Max‐Length‐

LFSR,  S‐random,  and  random  interleavers  as  shown  in  the  graphical  view.  The 

Max‐Length‐LFSR  interleaver  is  easy  to  implement  but  its  performance  is  not 

guaranteed as compared to others due to lesser spread. In absence of regularity in 

the address construction,  the S‐random and random interleaver need LUT to be 

used in an error correction system. 

The memory requirement associated with any type of interleaver algorithm is 

of  main  concern,  when  implementing  the  interleaver.  Usually  the  memory 

requirement  is  strictly  based on  the  algorithmic  steps,  but here we will  discuss 

the most generic block and convolutional interleavers. The memory requirement 

for  a  row‐column  block  interleaver  is  RC  symbols.  The  R C   array  needs  to  be 

filled completely before the reading process starts. Similarly, it cannot be written 

again  unless  complete  block  has  been  read  out.  The  effect  due  to  this  is  the 

reduction in total throughput. To enhance the throughput, a double buffer is used 

0 0.5 1 1.5 2 2.510

−8

10−6

10−4

10−2

100

BER Performance for Different Interleaver Types

Eb/No (dB)

BE

R

S−RandomQPPPrimeRandomUn−Interleaved

0 0.5 1 1.5 2 2.510

−8

10−6

10−4

10−2

100

BER Performance for Different Interleaver Types

Eb/No (dB)

BE

R

Figure 2.5 :  Performance comparison of different interleavers with turbo codes (AWGN model, and rate 1/3) 

Page 53: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

2.4  Performance and Implementation Issues 27

 

 

2

in  ping‐pong  fashion.  Therefore,  to  get  the maximum  throughput,  a memory  of 

size 2 RC  is needed on both the interleaver and de‐interleaver sides. 

Convolutional  interleavers  utilize  less  memory  as  compared  to  block 

interleavers. If M  is the depth of smallest FIFO branch, and N  is the total number 

of  branches,  the  total  memory  elements  needed  are  ( 1) / 2M N .  For  the  same 

amount of information (i.e. block size) the convolutional interleaver requires half 

the memory as compared to the block interleaver. 

0 100 200 3000

100

200

300

Random (K=320)

0 100 2000

100

200

Max−Length−LFSR (K=255)

0 100 200 3000

100

200

300

S−Random (K=320)

0 100 200 3000

100

200

300

Relative Prime (WCDMA), (K=320)

0 100 200 3000

100

200

300

QPP (LTE), (K=320)

0 100 2000

100

200

ARP (WiMAX), (K=240)

Figure 2.6 :  Graphical representation for different interlaver types 

Page 54: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

28  Chapter 2: Introduction to Interleavers

 

 

2.4.3 Latency 

The  implementation  of  block  interleaver  can  vary  from  the  simplest  one  i.e.  no 

row or column permutations, to a complex one i.e. both row and columns carrying 

permutations. When the information is being written to the R C  array, the point 

where the reading process can start also varies. Table 2.1 presents different cases 

with different values where the reading can be started. 

If the block interleaver is the simplest one, i.e. no row or column permutations 

are  involved,  then  the  data  reading  can  be  started  early,  which  is  not  the  case 

when it carries both row and columns permutations. Further optimizations can be 

done  based  on  the  particular  permutation  pattern.  Generation  of  particular 

permutation patterns on‐the‐fly can further  increase the delay due to additional 

computational latency. The delayed reading process adds up towards final latency 

and  affects  the  overall  throughput.  Although  channel  delays  involve,  but 

considering the quickest way i.e. to write the data in to de‐interleaver memory as 

soon as it is read from the interleaver memory, the same latency appears on de‐

interleaver  side.  Therefore  the  end‐to‐end  delay  becomes  double  the  memory 

write time on one side.  

As  the  memory  requirement  is  half  in  the  convolutional  interleavers  as 

compared to their counterpart block interleavers, therefore the latency associated 

with  convolutional  interleavers  becomes  roughly  half  as  compared  to  block 

interleavers.  With  the  memory  size  ( 1) / 2M N ,  the  end‐to‐end  delay,  for  both 

convolutional interleaver and de‐interleaver, is  ( 1)M N .  

 

 

 

 

 

Table 2.1 :  Block interleaver reading start points during the write operation 

Pumutation Case  Reading Start Point End to End Delay 

No Permutation  ( 1) ( / 2)R C R 2 2RC C R  

Only Row Permutaitons  ( 1) 1R C 2 2 2RC C  

Only Column Permutations  ( 1) ( / 2)R C C 2RC C  

Both Permutations RC  2RC 

Page 55: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

   

29 

Part II

Methodology

Page 56: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for
Page 57: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

   

31 

3

3 HW Multiplexing Methodology 

3.1 Introduction 

N THIS ERA of global warming and increasing energy cost, conserving energy is 

of  prime  importance.  As  per  the  latest  technology  trends  the  energy 

conservation  in  low power  devices  is  strongly  linked  to  reduced  silicon  cost  as 

well.  Looking  from  the  hardware  perspective,  data  computing  elements  and 

memories are  the main consumers of silicon and energy. One of  the established 

techniques  to save the silicon and energy  is  to re‐use  the hardware  for multiple 

tasks and it  is commonly named as hardware multiplexing or hardware sharing. 

This  chapter  focuses  on    hardware  re‐use  by  going  through  some motivational 

examples,  categories  of  hardware  multiplexing,  and  effects  of  hardware 

multiplexing  over  silicon  utilization,  performance  and  power  consumption. 

Further  it also proposes  the re‐configuration methodology on coarse grain  level 

which suits well to the problem of flexible interleaving architectures. 

3.2 Hardware Sharing – A Review 

Going through the topic of mobile phones, the available computational resources 

for  3G  are  not  sufficient  for  upcoming  requirements  for  4G.  It  demands  a 

straightforward up scaling by at least an order of magnitude, but at the same time 

it cannot guarantee low power solutions. The mobile venders are eager to support 

the maximum features to their customers to gain the market, and in this regards 

I

Page 58: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

32  Chapter 3: HW Multiplexing Methodology

 

 

they have been using multiple IP cores for each of the additional functionality. In 

parallel,  software  defined  radio  (SDR)  research  has  also  been  evolved,  which 

offers  unified  architectures  for multiple  applications  like MuSIC  (Multiple  SIMD 

Core)  [49]  from Infineon Technologies. A comparison of area efficiency of using 

multiple IP cores vs. MuSIC is provided in Figure 3.1 [50]. As compared to the grey 

line, the start of the black line is worst, where fewer standards are targeted by the 

unified  architecture;  however,  including  more  and  more  standards  support,  it 

becomes highly efficient as compared to the multiple cores solution by Nokia. The 

same phenomena hold for our research on flexible interleaving architectures. 

To conclude, HW sharing is essential to reach low silicon cost and low leakage 

power consumption.  It  is  therefore necessary  to have a  survey on  research and 

design of hardware sharing. The research of hardware sharing is usually around 

merging  flowcharts,  for  example,  merging  binary  decision  diagrams  (BDD)  on 

logic circuit level and merging data flow graph (DFG) on module design level. The 

hardware  sharing  in  general  can  be  divided  in  four  groups  to  the  sharing 

granularity, as mentioned below: 

Logic/gate Level Sharing 

RTL (Level) Sharing 

Data Flow Graph (DFG) Level Sharing 

Processor Level Sharing 

25 30 35 40 45 50 55

1

1+2

Today: 1+2+3

1+2+3+4

1+2+3+4+5

1+2+3+4+5+6

Area (mm2)

Stan

dard

s1. GSM/GPRS/EDGE2. Bluetooth3. HSDPA4. 802.11a/b/g5. DVB−H6. WiMAX,WiFi 802.11n

Nokia(Multiple IP Cores)

MuSIC(Unified Architecture)

Figure 3.1 :  Area comparison of multiple IP cores vs. MuSIC [50] 

Page 59: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

3.2  Hardware Sharing – A Review 33

 

 

3

3.2.1 Logic/Gate Level Sharing 

The logic/gate  level sharing has been a popular research in  late 80’s.  It  includes 

BDDs  which  are  used  to  represent  relationships  between  logical/Boolean 

functions.  BDD  consists  of  decision  nodes  and  two  terminal  nodes  called  0‐

terminal and 1‐terminal. Each decision node is labeled by a Boolean variable and 

has  two  child  nodes  called  low  child  and  high  child.  With  a  BDD  for  a  logic 

function,  tracing  back  the  paths  on  BDD  ends  up  in  right  Boolean  functions. 

Merging  the  BDDs  [60][61]  results  in  easier  and  low  cost  implementation  of 

Boolean functions. It gave rise to efficient synthesizers and CAD tools [62] – [64] 

with a higher level of abstraction for designers. 

3.2.2 RTL (Level) Sharing 

The RTL sharing is to share RTL components on bus level. It has been a popular 

research for ASIP data path generators [30][31] targeting multiple areas in ASIP 

design  such  as  resource  sharing,  cache  register,  and  instruction  fetch 

optimizations to reduce static and dynamic energy consumption. This type of HW 

sharing  also  gave  rise  to  coarse  grained  reconfigurable  architectures,  where 

different topologies has been used to achieve the best  interconnect scheme. The 

reconfiguration and associated interconnect schemes for better performance are 

further elaborated in a later section. A new trend of RTL HW sharing is to identify 

and specify  instruction  level  function acceleration  in ASIP based on  identify and 

merge chained computation sub‐graphs  [65]. This can enhance  the computation 

efficiency and contribute toward low power consumption, while maintaining the 

programmability and adaptively.  

3.2.3 Data Flow Graph Level Sharing 

Multimode  devices  are  specifically  designed  for  time‐wise  mutually  exclusive 

applications. The device supporting one standard at one time can be changed to 

some  other  functionality  within  the  same  standard  or  different  standard.  Data 

flow graph merging is the most popular approach to reach to a hardware efficient 

solution. Figure 3.2(a) shows the generalized flow including the data flow graph 

merging.  The  algorithms  to  be mapped  are  usually  selected with  common  data 

flow  graph  segments.  Our  research  on  interleavers  is  also  a  kind  of  data  flow 

merging,  but  it  differs  from  the  classical  scheme  in  the  way  that  it  includes  a 

feedback loop based on the check that HW cost overheads are acceptable (Figure 

3.2b).  If  it  is  not  acceptable  then  some  algorithmic  transformations  have  to  be 

Page 60: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

34  Chapter 3: HW Multiplexing Methodology

 

 

applied  to  redraw  the DFG so  that both  the DFGs can  share maximum HW. Our 

work  in  this  thesis  provides  some  examples  for  algorithmic  transformations 

which  led  to  some  efficient  hardware  solutions  at  the  end.  As  the  interleaving 

algorithms  are  very  different  from  each  other,  therefore  it  cannot  always  be 

guaranteed that a useful algorithmic transformation exists. Also, not many types 

of  transformations  exist,  therefore  the  iteration  loop  have  to  be  restricted  to  a 

single or few iterations.  

3.2.4 Processor Level Sharing 

It  is  the highest  level sharing and  it  involves  the programmable/re‐configurable 

computing machines to perform a task. The level of abstraction is very high in this 

case, and even  it can take benefit of advanced parallel compilers. The main goal 

for applying this kind of hardware sharing is to perform a task much faster, and to 

utilize low power.  

3.3 Some Examples and Motivation 

Multiplexing  has  been  very  helpful  in  the  field  of  communication,  where  the 

physical limitation associated with the use of channel is the bottleneck. One of the 

BehavioralSpecifications

Data Flow Graph

DFG Merging

Allocation

Scheduling

RTL Generation

Release

BehavioralSpecifications

Data Flow Graph

DFG Merging

Allocation

Check HW CostOverheads

RTL Generation

Release

DFG Modificationfor HW Sharing(Using AlgorithmicTransformations)

(a) (b)

Figure 3.2 :  (a) General design flow using DFG, (b) Proposed design flow, specific to interleavers 

Page 61: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

3.3  Some Examples and Motivation 35

 

 

3

major  example  from  communication  system  point  of  view  is  the  use  of  time 

division multiple access (TDMA), which is being widely used. If we consider of few 

thousand users, and each is allocated with separate channel and bandwidth while 

communicating with the base station, it becomes impossible to reduce the cost of 

the  system.  TDMA  system  assigns  different  time  slots  to  different  users  over  a 

limited bandwidth and the same channel capacity, as shown in Figure 3.3. In base 

station, it is not possible to provide separate data path to each user, and it is only 

made possible with the help of hardware multiplexing to use the same resources 

for multiple functions / users. 

Another classic example of hardware multiplexing is the use of single ADC in a 

data  acquisition  system  [18][19].  The  block  level  scheme  of  a  data  acquisition 

system is provided in Figure 3.4. The ADC is expensive in terms of silicon cost and 

power consumption, thus it is not a good idea to use multiple ADCs in a system to 

increase number of channels to be acquired. Multiplexers are widely used to act 

as special switches controlled by a central controller. They are controlled in such 

a way  that different channels appear at  the  input of ADC  in different  time slots. 

The ADC can run in continuous mode or power save mode (using sleep/wake‐up 

signal  controlled  by  the  same  controller).  Some  other  examples  of  hardware 

multiplexing on system  level are available  in  the  literature  [20]‐[22] which deal 

with  different  implementation  areas.  Some  exercises  of  hardware  multiplexing 

has  been  performed  in  the  processor  designing  [6][23][24], whereas  processor 

level hardware multiplexing associated with  low cost and low power design has 

been very well explained with some good examples in [25][26].  

Other than to re‐use the same hardware resources, one of the vital objectives 

to  use  hardware multiplexing  is  to  attain  re‐configurability  in  the  architecture. 

The  general  re‐configurability  on  fine  grain  architecture  level  is  achieved 

2 4 5 63 71

User dataguard

guard

Data stream in frames

Users slots assigned inthe frame

Single user data andguards

Figure 3.3 :  TDMA channel example 

Page 62: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

36  Chapter 3: HW Multiplexing Methodology

 

 

nowadays by using FPGAs where the cells in the architecture are re‐configured to 

perform new task. These re‐configurable architectures provide re‐configurability 

at  a  very  slow  pace  and  also  at  the  expense  of more  power.  The  part  of  FPGA 

which is not used, still consumes some power. Beside all these drawbacks, many 

efforts have been made to make this re‐configurability dynamic, fast enough, and 

low  power  to  meet  the  requirements  of  a  real  time  system  [27]‐[29].  The  re‐

configurability  on  coarse  grain  level  is  also  being  widely  employed,  where  the 

processing elements  are  re‐used  for different  computations  and  functions. Here 

the  re‐configurability  is mainly achieved  through  the use of multiplexers on  the 

buses. Based on different scenarios, different schemes for hardware multiplexing 

can be applied as described in the next section. 

3.4 HW Multiplexing – Exploring Oppertunities 

The basic hardware multiplexing and re‐configuration is achieved with the help of 

multiplexers by selecting one of multiple inputs. The selection is made according 

to  the  status  of  the  selection  bits  generated  by  the  selection  control  scheme.  A 

simple  example  of  hardware  multiplexing  is  shown  in  Figure  3.5  and  the 

normalized  area  consumed  by  the  multiplexed  hardware  against  increasing 

number of bits and increasing number of inputs is plotted in Figure 3.6. It shows 

that increasing the number of inputs to the circuit does not significantly increases 

the  area  overheads.  Also  the  kernel  part  of  the  design  is  dominant  over 

multiplexing  part  when  wider  operands  are  utilized.  Therefore,  hardware 

Ch 1aCh 2aCh 3a

Ch Xa

Ch 1nCh 2nCh 3n

Ch Xn

ADC EncodingSystem

SerialTransmission

Single ADC

Frame 2Frame 1

Ch 1a Ch 2a Ch 3a

Figure 3.4 :  ADC and data acquisition 

Page 63: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

3.4  HW Multiplexing – Exploring Oppertunities 37

 

 

3

multiplexing is the best tool to reduce the silicon cost provided the same type of 

kernel is being used again and again.  

The  topic  of  hardware  multiplexing  is  too  general  because  the  final 

architecture depends on many limitations associated with different applications. 

Therefore  generalizing  the  estimation  of  different  parameters  like  area,  power 

and  performance  is  very  difficult.  It  becomes  further  difficult when  the  system 

gets bigger and many variables are involved to define the hardware structure. The 

basic hardware multiplexing can be categorized as 1) Function Level Multiplexing, 

and 2) Parallel to Serial level Multiplexing.  

3.4.1 Function Level Multiplexing: for Lower Silicon 

Utilization 

Function  level  multiplexing  is  defined  as  the  multiplexing  of  hardware  block 

(large or small), where the target is to re‐use the hardware block for a completely 

new application, function, or standard. This type of multiplexing can also be used 

to  provide  the  re‐configurability  feature  to  a  hardware  block.  By  utilizing  this 

method the gain is the reduction of silicon area as well as effective power.  

In  the  field  of  communication  electronics,  function  level  multiplexing  is 

commonly  used  to  enable  the  hardware blocks  for multimode  environment.  An 

example is shown in Figure 3.7, where the inputs regarding different standards / 

applications are multiplexed to the main kernel or hardware block, which is a re‐

configurable  block  to  be  shared  among  different  applications.  Usually  it  is  not 

(a) (b)

Kernel

Selection Selection

in-1

out

in-2 in-3 in-xKernel

Kernel

Kernel

in-1

in-x

in-2

in-3

out

Figure 3.5 :  Multiplexing a series of same kernel 

Page 64: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

38  Chapter 3: HW Multiplexing Methodology

 

 

possible  to achieve 100 % utilization of  the main kernel/hardware block  for all 

target applications. Thus in order to get the complete functionality for a particular 

application, some additional dedicated hardware can also be added. This leads to 

reduced hardware sharing per application, but as far as it is low silicon cost and 

low power, it is acceptable. The re‐configurability feature achieved by this method 

is  very  fast  and  low  power  as  compared  to  the  dynamic  re‐configurability  of 

FPGAs.  

It is not an easy task to achieve high level of hardware utilization, when doing 

function  level multiplexing. Many efforts are needed before‐hand  to  reach  to an 

acceptable  trade  off.  It  involves  multiple  optimizations  on  both  algorithm  and 

architecture  level. The  topic  of  interleaving  is  a  typical  example of  such  type of 

implementation.  The  interleaving  architectures  supporting  multiple  standards 

with efficient hardware utilization is provided in [5][32][33]. It involves a series 

of  optimizations  including  mathematical  decomposition  for  recursive 

computation  and  2‐D  transformation  of  the  given  algorithm  to  reach  to  a 

hardware,  which  is  well  suited  for  maximum  utilization  between  different 

standards. The benefit is the reduction of silicon area and power consumption.  

3.4.2 Parallel to Serial Multiplexing: A Trade‐off over 

Performance 

Higher throughput is at the top in the wish list of all customers for any consumer 

electronics.  However,  nobody  is  going  to  opt  for  it,  if  the  size  of  the  consumer 

0 10 20 30 400

0.2

0.4

0.6

0.8

1

Bit Width

Nor

mal

ized

Are

a

Area Comparison, Kernal Part vs Multiplexing Logic

5−Inputs9−Inputs17−InputsKernal Part

0 10 20 30 400

0.2

0.4

0.6

0.8

1

Bit WidthN

orm

aliz

ed A

rea

Area Comparison (Multiplexing Logic Only)

5−Inputs9−Inputs17−Inputs

Figure 3.6 :  Area comparison for multiple inputs and bit‐widths (@ 65nm CMOS) 

Page 65: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

3.4  HW Multiplexing – Exploring Oppertunities 39

 

 

3

electronics and  the power consumption  is very high. Some  trade‐off  is accepted 

here but nobody can still deny the benefit of small size and long lasting battery. 

Hardware multiplexing plays an important role to reach closer to the wish list of 

customers as far as size and low power is concerned.  

Many  algorithms  map  to  multiple  hardware  functional  blocks  running  in 

parallel. If the result output from the processing is needed every clock cycle then 

such types of processing units are needed in parallel in any case. However, if the 

deadline  times  associated  with  the  applications  allow  performing  a  single 

processing  in multiple  clock  cycles  then  one  can  opt  for  a  series  of  operations 

using the same hardware block. The throughput can still be improved by using an 

efficient scheduling scheme. Assuming  clkf  as the operating clock frequency of the 

hardware block and  inputf  as the frequency of the incoming data in to the hardware 

Shared Kernelfor App-1 to App-4

Selection

Output

in-1 in-2 in-x

DedicatedKernel(App-1)

in-1 in-2

DedicatedKernel(App-2)

in-3 in-4

DedicatedKernel(App-3)

in-5 in-6

DedicatedKernel(App-4)

in-7 in-8

(a)

DecodingLogic

SharedHWBlock

DedicatedHW Block 1

DedicatedHW Block 2

DedicatedHW Block 3

DedicatedHW Block 3

Output

Inputs

Configuration

(b)

Figure 3.7 :  Function level multiplexing with partial sharing (a) DFG view,  (b) Hardware blocks view 

Page 66: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

40  Chapter 3: HW Multiplexing Methodology

 

 

block, different operations within a given algorithm can be multiplexed in time on 

the same operator if the ratio   is higher than 1.  

clk

input

f

f

  (3.1) 

Here  the  function  x   is  the  rounding  towards  nearest  lower  integer.  The 

example of hardware multiplexing in Figure 3.5 shows that the final result will be 

delayed  by  some  number,  which  depends  on  number  of  stages  on  which 

serialization  is  applied.  The multiplexing  reduces  the  hardware  cost  but  it  can 

only  be  applied  if  some margin  is  available  so  that  the  ratio    is  high  enough. Taking   as the level of serialization implemented on a parallel architecture and ignoring  the  transmission  delays  between  hardware  modules,  the  effective 

throughput of the hardware will be reduced by the following factor.  

inputthroughput

ff

  (3.2) 

The  other  overheads  associated  with  the  incorporation  of  hardware 

multiplexing are the memory elements (registers) and control circuitry. It is very 

difficult  to generalize  the control overheads due  to different  requirements  from 

different  applications. A more  realistic  example of hardware multiplexing  is  the 

folding  of  the  FIR  filter  structure  as  shown  in  Figure  3.8  which  significantly 

reduces the silicon cost. 

R S T

in

C1 C2 C3 C4 C5

out

G

R S T out

Inputs

Coef

Figure 3.8 :  Hardware multiplexing for FIR filter 

Page 67: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

3.5  Hardware Multiplexing for Low Power 41

 

 

3

3.5 Hardware Multiplexing for Low Power 

As  the  topic  of  hardware  multiplexing  is  too  general,  the  estimation  of  power 

saving  by  using  hardware multiplexing  technique  for  a  particular  application  is 

not possible. The architecture associated with  the application depends on many 

parameters  and  limitations  which  makes  it  difficult  to  converge  to  a  unified 

formulation  for  power  estimation.  Similar  to  area  analysis  given  in  previous 

section, normalized power consumption for the hardware re‐use, shown in Figure 

3.5,  is provided  in  Figure 3.9.  It  shows  that  the main  consumer of power  is  the 

kernel  part  and  increasing  the  number  of  inputs  to  be  multiplexed  does  not 

significantly contribute  towards power consumption.  It  can be concluded  that  if 

the  kernel  part  of  multiple  applications/algorithms  is  same,  or  same  kernel  is 

being  used  again  and  again  in  an  algorithm,  then  hardware multiplexing  is  the 

best tool to reduce the power consumption. 

The methods  being mostly  used  in  digital  signal  processing  and  the  field  of 

embedded  computing  to  reduce  the  power  consumption  are  ‘scheduling’  and 

‘memory sharing’. 

Scheduling 

Whenever,  the  throughput  requirements  associated  with  particular 

application  allow,  scheduling  is  the  best  tool  to  decrease  power.  Again,  if  the 

computational parts are of same nature hardware multiplexing can be employed 

0 10 20 30 400

0.2

0.4

0.6

0.8

1

Bit Width

Nor

mal

ized

Pow

er

Power Comparison, Kernal Part vs Multiplexing Logic

5−Inputs9−Inputs17−InputsKernal Part

0 10 20 30 400

0.2

0.4

0.6

0.8

1

Bit Width

Nor

mal

ized

Pow

er

Power Comparison (Multiplexing Logic Only)

5−Inputs9−Inputs17−Inputs

Figure 3.9 :  Power consumption for multiple inputs and bit‐widths 

Page 68: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

42  Chapter 3: HW Multiplexing Methodology

 

 

to reduce power. On the other hand, if the computational parts are different, low 

power  can be achieved by enabling different  functions at different  times, which 

reduces  the  switching  activity.  Power  level  switching  (voltage  scaling)  is  also 

utilized dynamically in the scheduling to reduce power. 

Memory Sharing 

One  of  the  biggest  power  consumers  in  the  electronics  systems  are  the 

memories. Although many designs have evolved with the claim of low power, but 

power  consumption  due  to  data  retention  requirements  in  the memory  is  still 

high  enough  as  compared  to  the  computational  parts.  In  this  case,  if  the 

architecture  is  designed  in  such  a way  that multiple  applications  can  share  the 

same  memory,  it  will  greatly  contribute  towards  power  saving.  A  classical 

example  of  memory  sharing  among  different  applications  is  the  multimode 

interleaver design [5][33]. 

Low Power Aspects in Latest Technology Trends 

In  the  older  CMOS  technologies  the  hardware  multiplexing  was  not  very 

famous  for  performance  and  power  critical  systems.  The  performance  and  low 

power  was  achieved  at  the  expense  of  larger  area.  The  reason  is  that  the 

hardware  overheads,  due  to  multiplexing,  play  pivotal  role  in  increasing  the 

critical path as well as increasing the switching activity of the circuit. The longer 

critical  path  affects  the  overall  performance  of  the  system  whereas  the  higher 

switching  activity  increases  the  dynamic  power  of  the  circuit.  In  older 

technologies the effect of static power as compared to dynamic power was very 

less, thus a system with larger area can be low power with less switching activity. 

However, the latest developments in the CMOS technology has reverted the ratio 

between  static  power  and  dynamic  power.  Now  static  power  is  the  main 

contributor towards overall power consumption. In this case the decreased area 

ultimately  achieves  low  power  solution.  Due  to  the  usefulness  of  hardware 

multiplexing to reduce the overall area of the circuits,  it has captured now more 

attention in order to reduce the power consumption in the power critical systems. 

The performance degradation due to larger critical path has also decreased with 

the  faster  transistor  technologies.  However,  the  performance  degradation  in 

terms  of  reduced  throughput  as  a  result  of  using  hardware  multiplexing  for 

folding the algorithm is still a question. Therefore, folding the algorithm to reduce 

the  overall  area  is  conditional  with  the  available  luxury  to  reduce  overall 

throughput. 

Page 69: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

3.6  Formulating HW Mutiplexers 43

 

 

3

3.6 Formulating HW Mutiplexers 

Basic multiplexer  is  a  circuit  for  selecting  one  of multiple  inputs  as  the  output 

according to a selection control scheme. Usually multiplexer is described by using 

if‐else  or  case  statement.  This  description  is  enough  to  write  a  RTL  code  or  a 

behavioral  C  code,  but  not  sufficient  to  do  algebraic manipulation. An  algebraic 

expression  does  not  include  if‐else  or  case  variables  and  thus  one  has  to  think 

while transforming the algebraic expression in to hardware.  

A  small  scale  formulation of hardware multiplexing  is provided here. Higher 

multiplexers can also be described in the same way but their description is much 

more complicated. Usually, 2‐to‐1 MUX or 4‐to‐1 MUX etc are used in hardware, 

but the algebraic description can be used to exactly describe the odd multiplexers 

as well e.g. 3‐to‐1 MUX. This type of arithmetic representation can lead to easier 

mapping of mathematical expressions to hardware blocks. In our application we 

used  this  type  of  mapping  in  channel  interleaving  for  802.11  a/b/g/n  and 

802.16e,  which  provided  a  simplified  proof  to  map  the  complex  algebraic 

expressions on to a simple hardware. 

2‐to‐1 MUX 

Let  s  be  the  selection  line  for  a  2‐to‐1  MUX.  Assuming    % 2s family of n     (s 

being  a  member  of  % 2n   family),  where  n  is  any  integer,  a  2‐to‐1  MUX  can  be 

described as: 

{1 } { }z s a s b   (3.3) 

3‐to‐1 MUX 

Let  s  be  the  selection  line  for  a  3‐to‐1  MUX.  Assuming    %3s family of n     (s 

being  a  member  of  %3n   family),  where  n  is  any  integer,  a  3‐to‐1  MUX  can  be 

described as: 

( 1) ( 1)(1 ) ( 1)

2 2

s s s sz s a s s s b c

  (3.4) 

4‐to‐1 MUX 

Let  s  be  the  selection  line  for  a  4‐to‐1  MUX.  Assuming    % 4s family of n     (s 

being  a  member  of  % 4n   family),  where  n  is  any  integer,  a  4‐to‐1  MUX  can  be 

described as: 

Page 70: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

44  Chapter 3: HW Multiplexing Methodology

 

 

( 1) ( 1) ( 1)(1 ) 5 4 3

6 2 2

( 1) ( 2)

6

s s s s s sz s s a s s b s c

s s sd

  (3.5) 

Here  z   is  the  output  of  the MUX whereas  a, b,  c  and  d   are  the  inputs  to  be 

selected by s.  

3.7 Re‐configuration Methodology  

The  FPGAs  are  considered  to  be  the  first  choice when  re‐configurability  of  the 

architecture  is  needed  on  circuit  level.  However,  the  use  of  FPGAs  and  re‐

configurability offered by them carries some disadvantages as mentioned below: 

High size of configuration data consumes more area 

Re‐configurability at a very slow speed 

Bit level processing units has to be combined to form wider datapaths 

Higher overheads associated with interconnections 

More power consuming 

Generally FPGAs use a 2D array of LUTs and island style interconnect strategy 

(Figure  3.10)  to  achieve  the  re‐configurability.  The  limitation  of  reduced  input 

LUTs has been a big hurdle to achieve good function mapping and performance. 

Although, it has been greatly improved by the inclusion of word‐wide multipliers 

and  block  memories;  however,  FPGAs  still  lag  behind  ASIC  implementation  in 

terms  of  silicon  cost,  performance  and  power,  when  targeting  the  same 

application [41]. 

In contrary to fine grain architecture offered by FPGAs, the coarse grained re‐

configurable architectures provide the possibility to overcome the disadvantages 

of  FPGA  based  computing.  The  coarse  grained  architecture  provides  an 

intermediate approach between ASIC and general purpose processors. The wider 

datapaths  in  coarse  grained  architectures  provide  efficient  implementation  as 

compared  to  FPGAs.  The  coarse  grained  architectures  generally  adopt  wider 

(multiple‐bit)  interconnects;  however,  the  total  interconnects between different 

computational elements are much reduced. Hence the silicon overhead as well as 

power  consumption  is  reduced  significantly.  Other  than  different  schemes  and 

configurations  for  processing  elements,  the  coarse  grained  re‐configurable 

architectures mainly focus on the interconnect structure schemes.  

Page 71: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

3.7  Re‐configuration Methodology 45

 

 

3

It  is  the  fact  that  the  basic  architecture  of  processing  elements  and  the 

structure for interconnects highly depends on the targeted applications; however, 

the  type of  interconnect used  implies  a  significant  effect  on  the  complexity  and 

performance  of  the  final  architecture.  Targeting  general  coarse  grained 

architecture implementation, it can be divided in the following three categories: 

2D Mesh Architectures 

Cross‐bar Architecture 

Linear Array based Architectures 

3.7.1 2D Mesh Architectures 

The  arrangement  of  processing  elements  in  a  rectangular  form  and  their 

interconnection  in  both  horizontal  and  vertical  way  is  known  as  the  mesh 

architecture.  Usually  the  interconnections  are  between  neighboring  processing 

elements but  to enhance  the performance and communication,  they can also be 

extended to other processing elements placed apart or on boundaries. In this way 

the  2‐dimentional  mesh  array  combines  both  coarse  grain  and  fine  grain 

configurations,  which  provides  good  performance.  An  example  of  a  mesh 

architecture  based  on  Morphosys  [99]  is  shown  in  Figure  3.11.  It  consists  of 

reconfigurable  cell  (RC)  array  which  includes  multiple  functional  units  for 

arithmetic computations. The  interconnect network  is  three way,  i.e. connection 

to  neighbors,  connection  to  same  row/column,  and  connection  through  global 

buses.  

LUT LUT LUT LUT

LUT LUT

LUT

LUT

LUT

LUT

LUT

LUT

LUT

LUT

LUT LUT

Figure 3.10 :  FPGA LUTs and interconnects 

Page 72: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

46  Chapter 3: HW Multiplexing Methodology

 

 

3.7.2 Crossbar Architectures 

In contrary to bus topology, crossbar switch architecture allows to connect all the 

blocks  in  a  system  to  each  of  the  other  blocks.  Owing  to  the  fully  connected 

architecture,  it  must  provide  the  best  performance  as  there  are  no  blockings 

between  communications.  However,  this  scheme  is  very  expensive  in  term  of 

silicon cost. Further, as all  the blocks are connected  to all others,  so  there  is no 

need  to  think  about  any  routing.  Still  it  is  possible  to  use  a  reduced  crossbar 

schemes, where again the appropriate routing has to be figured out. Figure 3.12 

shows an overview of typical crossbar architecture. Usually the connection from 

multiple storage elements (like memories) to the computing elements is based on 

crossbar to get the benefit of non‐blocking data read and write. 

3.7.3 Linear Array based Architectures  

The interconnects in the linear array architectures follow the data direction, and 

the typical connections used are the connections between neighboring processing 

elements.  Further  connections  can  be  provided  spanning  whole  the  array  to 

RC RC RC RC

RC RC RC RC

RC RC RC RC

RC RC RC RC

RC RC RC RC

RC RC RC RC

RC RC RC RC

RC RC RC RC

RC RC RC RC

RC RC RC RC

RC RC RC RC

RC RC RC RC

RC RC RC RC

RC RC RC RC

RC RC RC RC

RC RC RC RC

Figure 3.11 :  Morphosys architecture with interconnects 

Page 73: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

3.8  Interleaver and Re‐configuration 47

 

 

3

incorporate  some  features  from  2D mesh  network.  The  operation  of  the  linear 

array resembles to distributed pipeline reconfigurable architecture [100], where 

the  data  stream  enters  from  one  direction  and  passes  through  different  PEs 

before  it  appears  on  the  output.  The  architecture  can  consist  of  a  single  or 

multiple  linear  arrays.  An  example  of  a  pipelined  linear  reconfigurable  array  is 

shown in Figure 3.13. The processing elements in linear arrays are not uniformly 

distributed, but the main benefit is the possibility of speedup of the computation 

intensive tasks. 

3.8 Interleaver and Re‐configuration 

The  above  mentioned  re‐configuration  schemes  cover  the  most  general 

applications.  Looking  on  to  the  application  specific  aspects  for  interleaver 

implementation, none of them suits well as mentioned below:  

Full crossbar:  Silicon  cost  grows  high.  A  lot  of  un‐used 

interconnects. 

2D‐Mesh:  Using  full  2D‐Mesh,  still  the  cost  is  high.  Also  the 

single cycle address generation and implementation 

of memory  interconnects  for  parallel write  or  read 

with different permutations becomes difficult.  

Linear Array:  The  single  cycle  address  generation  is  ok,  but  still 

the  implementation  of  memory  interconnects  for 

PE PE PE PE

PE PE PE PE

I / O

I / O

I / O

I / O

Figure 3.12 :  Crossbar network overview 

Page 74: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

48  Chapter 3: HW Multiplexing Methodology

 

 

parallel  write  or  read  with  different  random 

permutations becomes difficult. 

The requirement of single cycle address generation becomes mandatory in the 

way  that  the  platform  (e.g.  baseband  processor)  which  utilizes  the  interleaver 

core  does  not  allow  interleaver  core  to  be  the  bottle  neck  for  other  processing 

tasks. Other  than  address  computations heavy data  flow  is  also  associated with 

interleaver.  In  order  to meet  the  typical  requirements  a mix of  pipelined  linear 

array and reduced crossbar architecture can be adopted as shown in Figure 3.14. 

Further  tweaking  for  targeted  standards  can  be  applied  to  optimize  the 

implementation. The processing elements or computation elements (CE) are not 

necessarily  regular  and  they  consist  of  modulo  computations,  additions, 

comparison or multiplications.  

In general the single cycle address generation can be achieved by using CEs in 

the pipelined  linear array  fashion, whereas the parallel data write and read  in a 

permuted  way  can  be  achieved  using  a  dynamically  reconfigurable  reduced 

crossbar  network.  It  is  taken  as  reduced  due  to  the  fact  that  when  a  bank  of 

memories (e.g. 8 memories) is used, the only data/address flow is from/to input, 

output or CEs, and there is no data flow from one memory to the other within the 

same memory bank. All the elements and interconnects here strictly work under 

the control of a configuration vector in combination with a controller. 

3.9 General Interleaver Functional Flow 

Our research is to merge the functionality of different types of interleavers in to a 

single architecture  to demonstrate a way  to reuse  the hardware  for a variety of 

PE PE

PE PE

Figure 3.13 :  An overview of pipelined linear reconfigurable array 

Page 75: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

3.9  General Interleaver Functional Flow 49

 

 

3

interleavers having different structural properties. The method  in general starts 

at  analyzing  and  profiling  of  multiple  implementations  flows,  identifying 

opportunities  of  hardware  multiplexing,  and  eventually  fine  tuning  the  micro‐

architecture using minimal hardware and maximal reuse of multi functions.  

Owing  to  the  benefit  of  multimode  devices,  a  flexible  interleaver/de‐

interleaver is also required with these devices, which can be re‐configured to be 

used for different applications. The main requirement for a multimode interleaver 

is  low cycle cost overheads while switching between different  implementations. 

The generalized functional view of an interleaver/de‐interleaver starting from the 

configuration vector is shown in Figure 3.15. 

The two blocks named pre‐computation and address generation are found to 

be more  computation  intensive;  however  some of  the  standards do not  require 

pre‐computation.  The  data  flow  sharing  by  different  standards  for  both  these 

blocks will be discussed in later chapters. The key for efficient hardware sharing 

among different standards is to bring all the algorithms on the same level, so that 

Reduced Crossbar

Mem Mem Mem Mem

LUT RegRegRegReg

Configuration Vector

Control

I / O

CE

CE

CE

CE

CE

CE

CE

CE

Reduced Crossbar

Figure 3.14 :  An overview of flexible interleaver interconnect 

Page 76: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

50  Chapter 3: HW Multiplexing Methodology

 

 

it should be possible to re‐use similar type of computing elements (CEs). Further, 

as  the  pre‐computation  is  always  done  at  start  of  execution,  therefore  an 

additional  saving  is  possible  if  the  hardware  elements  used  in  pre‐computation 

phase could also be re‐used in the execution phase. 

 

 

 

 

 

 

 

Pre-Computation

Sync data with ext. World

Address Generation

Store Data in MemoryRead Data from Memory

Sync and Acknowledge

Data In

Config Vector

Requirement Specifications

Data Out

Figure 3.15 :  Basic interleaver funcional flow 

Page 77: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

   

51 

Part III

Interleaving Architectures

Page 78: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for
Page 79: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

   

53 

4 4 Dual Standard Turbo Code 

Interleaver 

4.1 Introduction 

HE TURBO CODES  [34]  invented  in 1993 captured great  importance due  to 

exhibiting  near  Shannon‐limit  performance.  The  superior  error  correcting 

performance  of  turbo  codes  over  convolutional  codes  is  associated  with  the 

suitable  interleaver design. The primary  function of  the  interleaver  inside  turbo 

coding is to improve the distance properties of the concatenated coding schemes 

and to disperse the sequence of bits in a bit stream so as to minimize the effect of 

burst  errors  introduced  in  the  transmission.  A  block  diagram  of  turbo  encoder 

and decoder  is  shown  in  Figure  4.1.  The  turbo  encoder  uses  the  interleaver  in‐

between  two  or  more  recursive  systematic  convolutional  encoders  (RSC)  as 

shown  in  Figure  4.1(a),  while  the  turbo  decoder  uses  multiple  instances  of 

interleaver and de‐interleaver to decode the received bits iteratively as shown in 

Figure 4.1(b).  

The  adoption  of  turbo  codes  in  3GPP‐WCDMA  systems  has  highlighted  the 

turbo decoding as well  as  the  interleaver, and hence  they got more attention of 

the  researchers.  As  an  enhancement  of  3GPP  towards  4G,  3GPP‐LTE  [11]  was 

evolved,  and  it  also  adopted  turbo  decoder  as  the  error  correction  system.  The 

interleaver used in both these standards is different; therefore to enable the same 

turbo  decoder  to  work  for  both,  an  architecture  which  can  support  both  the 

T

Page 80: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

54  Chapter 4: Dual Standard Turbo Code Interleaver

 

 

interleaver algorithms is needed. The work presented in this chapter provides a 

single re‐configurable architecture for both the interleavers and proves to be low 

cost among available designs. 

4.2 Previous Work and Motivation 

The motivation of the research is to explore the general, re‐configurable and low 

cost  hardware  interleaver  address  generator which  can  support more  than one 

radio communication systems. Looking at the two standards, 3GPP‐WCDMA and 

3GPP‐LTE, the wide range of  interleaver sizes, on the fly  interleaver size change 

and requirement of different interleaver patterns for different block sizes has put 

some challenges  to  implement the  interleaver.  Implementing the memory based 

interleaver  needs  big  memory  to  meet  the  whole  requirements  thus  it  is  not 

feasible due to larger hardware cost. To minimize the memory usage, the work in 

[36]  presents  a  processor  based hardware  interleaver  address  generator which 

consumes 32k gates and provides the support for two standards i.e. WCMDA and 

CDMA‐2000.  The  work  presented  in  [37]  and  [38]  consume  30k  gates,  and  4k 

gates respectively, but they only support hardware interleaver design for WCDMA 

standard.    Due  to  rapid  advancement  and  changes  in  the  radio  communication 

systems  there  is  always  a  need  of  flexible,  general,  and  multiple  standard 

solutions.  It  also  helps  to  compete,  fast  time  to  market  requirements  from 

industry  and  customer.    Although  some  other  limitation  exist,  but  common 

(a)

(b)

Inputu(k)

Systematic

ParityData

RSCEncoder - 1

IRSC

Encoder - 2 Puncturing

SISODecoder 1

SISODecoder 2

Systematic

Parity 1

Parity 2 u(k)

D

I

I

Figure 4.1 :  (a) Turbo encoder, (b) Turbo decoder 

Page 81: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

4.3  WCDMA Computational Challenges 55

 

 

4

interleaver  architecture  for  WCDMA  and  LTE  can  help  especially  during  the 

transition phase between 3G and 4G. 

4.3 WCDMA Computational Challenges 

Reference  to  3GPP‐WCDMA  standard  [10],  the  interleaver  address  generation 

algorithm for turbo coding and decoding can be summarized as below. Here K is 

the block size, R is the row size and C is the column size.  

Block Size :     40 ≥ K ≤ 5114 

Row Size :         R = 5           if (40 ≥ K ≤ 159) 

                                       R = 10       if (160 ≥ K ≤ 200) or (481 ≥ K ≤ 530)  

                                       R = 20       if (K = any other value) 

Find appropriate prime no ‘p’ and primitive root ‘v’ 

Col Size :             C = p–1     if (K ≤ R×(p–1)) 

                                       C = p           if (R× (p–1) < K ≤ R×p) 

                                       C = p+1    if (R×p < K)   

Construct intra row permutation sequence S(j) by: 

  S(j) = [ v×S(j–1) ] mod p ;  j = 1,2, ……. (p–2) 

Find q(i) for i=1,2, …… R‐1, take q(0) = 1, 

Determine the least prime integer q(i) in the sequence such that 

g.c.d(q(i),p–1) = 1 and q(i) > 6 and q(i) > q(i–1) 

Apply inter row permutations to q(i) to find r(i) 

  r(i) = T [ q(i) ]; 

Perform the intra row permutations  Ui,j ; (for i = 0,1, …… R–1;  j = 0,1, ……p–2;) 

  If (C=p) :        Ui,j = S [ (j×r(i)) mod (p–1) ] ; and Ui,(p–1) = 0; 

  If (C=p+1)  :  Ui,j = S [ (j×r(i)) mod (p–1) ] ;  

                                   and Ui,(p–1) = 0; Ui,p = p;  

                                   and if (K = R×C) then exchange U(R–1),0 with U(R–1),p  

  If (C=p–1) :    Ui,j = S [ (j×r(i)) mod (p–1) ] – 1 ; 

Perform the inter row permutations 

Read the address columns wise 

To avoid the use of memory as a LUT, on‐the‐fly address generation has to be 

adopted.  After  profiling  the  behavioral  source  code,  the  following  computation 

intensive operations are needed: 

Page 82: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

56  Chapter 4: Dual Standard Turbo Code Interleaver

 

 

Modulo Functions  

Permutations (both intra row and inter row)  

Multiplier 

Memory Usage  

Finding least prime integers  

Computing gcd (greatest common divisor)  

Exception Handling 

Some  of  these  complex  functions  can  be  implemented  by  using  the  support 

from ROM, whereas the others need simplifications to reduce the hardware usage. 

As a number of parameters are required pre‐hand, i.e. before starting to compute 

the actual address generation, therefore the whole computation can be divided in 

two groups, named as pre‐computation and run‐time computation. 

4.4 Pre‐Computation of Parameters and Harware 

Multiplexing 

The pre‐computation support in the hardware facilitates the quick change of the 

interleaver block size on‐the‐fly. As different block sizes has different interleaving 

patterns,  thus  every  time  some  pre‐computation  is  needed  while  changing  the 

block size. The flow graph for the pre‐computation phase is shown in Figure 4.2. 

The  only  parameter  passed  to  interleaver  is  the  block  size  and  the  rest  of  the 

parameters are computed by the hardware itself. The parameters to be found in 

the  pre‐computation  phase  are  number  of  rows  R,  number  of  columns C,  least 

prime number sequence  ( )q i , inter‐row permutation pattern  ( )T i , prime number p 

and  associated  integer v.  Additionally  the  intra‐row permutation pattern  ( )S j   is 

also computed in the pre‐computation phase and placed in a RAM. For finding the 

least  prime  number  sequence  q,  we  focused  on  finding  mod ( 1)q p   instead  of 

finding q only. This gives the befit of computing the RAM address recursively and 

avoiding  computation of  complex modulo  function. This  idea was  introduced  in 

[36]  and  later  on  [38]  also  used  this.  For  computing  mod ( 1)q p ,  the  following 

observations were made during the simulations. 

About half of the  ( )q i  patterns are same 

Others have only 1 difference in the sequence 

Only one pattern has 2 differences 

Page 83: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

4.4  Pre‐Computation of Parameters and Harware Multiplexing  57

 

 

4

We  managed  all  the  q  values,  such  that  ( ) 2( 1)q i p   for  all  possible  q 

sequences. Using  the  above mentioned observations different q  sequences were 

divided  in  to  subgroups  for  different  p  values,  which  reduced  the  total  ROM 

requirement for these values. Logical functions were also computed to do this but 

it  is  very  much  tedious  to  implement  those  due  to  their  size.  The  grouped 

sequences are placed  in a ROM. After getting  the  p  value  the subgroup  is  found 

through small logical functions and then ROM location is accessed using the inter‐

row permutation pattern in run time to find the right q sequence. After getting the 

value a small hardware, using a subtraction, is used to get the required  mod ( 1)q p  

value. This hardware  is multiplexed with the other  functions such that  it can be 

used  in pre‐computation phase to compute the  intra‐row permutation sequence 

( )S j  as well. 

N

Y

Input K

Find R

Find P and v

Set S(0)=1

ComputeS(j)=(S(j-i)×v) mod (p-1)

Write Data to RAM

j > p-2

Compute C

Set Special Case Flagif (R×C = K)

Pre-ComputationCompleted

INC j andRam_Wr_Address

Figure 4.2 :  Flow graph for  pre‐computation phase in WCDMA 

Page 84: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

58  Chapter 4: Dual Standard Turbo Code Interleaver

 

 

The parameters p and v are stored in a combined fashion in a lookup table. The 

lookup  table  is  addressed  via  a  counter  generated  by  the  controller. With  each 

increment  in  the  counter,  the  condition  ( )P R K R   is  checked  to  find  the 

appropriate value of p and v. When the condition is satisfied, increment in counter 

is stopped and loop exits. Once  p is found, C can have only three values i.e. 1p ,  p 

or  1p .  Hence C  is  found  in  at most  three  clock  cycles  after  finding  p.  In  case 

1C p , the condition R C K  is checked and appropriate flag for special case is 

also  set  to  be  used  as  an  exceptional  case.  For  computation  of  p  and  C,  the 

multiplication,  addition and  comparison are needed. These blocks  are  shown  in 

Figure  4.3.  These  blocks  are multiplexed  to  serve  in  pre‐computation  phase  as 

well as in run time. 

The  computation  of  intra‐row  permutation  pattern  also  need  modulo 

computation.  Here,  the  modulo  function  is  computed  iteratively  using  the 

Interleaved Modulo Multiplication Algorithm [43]. The required modulo function 

is  ( ) modS j i v P ,  so  looking  at v, which  is  5bits, maximum of  5  iterations  are 

required  to  compute  one modulo multiplication.  The  algorithm  to  compute  the 

Interleaved  Modulo  Multiplications  is  shown  in  Figure  4.4.  Three  adders  are 

required  to  compute  the  ( )S j   values.  This  can  further  be  multiplexed  and  one 

Comparator

Ui,j

i_addrvalid

A x B

1 0 1 0

1

0

RK

K

CRowPerm RP

m2 m1

{!mode,m1}

m1

m5c_in

1 0

LTE i_addrA1

+(A1)

mode

2 01 2 01

f 2<<1

g(x)

{!mode,m3}

flags

Figure 4.3 :  Hardware multiplexing of multiplication, addition and compare 

Page 85: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

4.5  3GPP‐LTE Simplifications and Hardware 59

 

 

4

adder may be used but as all these three adders are also being used by our design 

in run time, so no need to further multiplex in pre‐computation phase.  

The hardware  for  the  computation  of  ( )S j   is  shown  in Figure 4.5. Hardware 

multiplexing  is  done  in  such  a way  that  the  first  adder  is  also used  to  compute 

mod ( 1)q p , and the other two adders are used  in run time to compute the RAM 

address recursively. During the pre‐computation phase the RAM write address is 

linear, and it  is generated by the controller. The output ModuloOut  is used as the 

data  out  for RAM during pre‐computation phase, whereas  it  serves  as  the RAM 

read address during run time. After computing the  ( )S j  values, these are stored in 

a RAM of size 256 8bit . The usage of this RAM depends on parameter p and it will 

be filled up to  2p   locations starting from zero. The requirement of 5 iterations 

may further be reduced in certain cases as v can have value 2, 3, 5, 6, 7 or 19 only. 

For  the  case  19v , we  need  5  iterations,  for v 5,  6  and  7 we need  3  iterations 

whereas the number of required iterations for v 2 and 3 is 2. This feature is used 

to reduce the overall clock cycles required for pre‐computation of  ( )S j . 

4.5 3GPP‐LTE Simplifications and Hardware  

Reference  to  3GPP‐LTE  standard  the  internal  interleaver  for  turbo  code  is 

specified by the following quadratic permutation polynomial: 

H = 0; i = k-1

H >= P

FINISH

STARTH = 2×H

H = H-P

H = H + S(j-1)

H = H - P

i = i - 1

v(i) == 1

H >= P

i < 0

Y

N

Y

N

Y

N

Y N

Figure 4.4 :  Flow graph for interleaved modulo multiplication algorithm 

Page 86: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

60  Chapter 4: Dual Standard Turbo Code Interleaver

 

 

21 2( ) modx f x f x K   (4.1) 

Here  0,1,2.......( 1)x K ,  and K  is  the  interleaver block  size.  The permutation 

polynomial mentioned in above expression provides deterministic interleaver for 

different block sizes and appropriate values of  1f  and  2f . The values of  1f  and  2f  for 

different block sizes are mentioned in the 3GPP‐LTE standard [11]. The quadratic 

permutation  polynomial  interleavers  are  introduced  in  [12].  They  have  very 

compact representation methodology and also  inhibit a structure  that allows an 

easy analysis for its properties.  

If  we  try  to  implement  the  permutation  polynomial  (4.1)  directly,  then  it 

seems to be hardware in‐efficient due to couple of multiplications and a complex 

modulo  function.  Beside  this  challenge  there  is  a  bit  growth  problem  as  well 

appearing  with  the  term  ( 21 2f x f x ).  To  overcome  this  situation  some 

algorithmic  level  simplifications  proposed  in  [42]  are  used.  The  permutation 

polynomial (4.1) can be re‐written as follows: 

CircularBuffer&

Reg File

Depth(R)

1 0

1 0

<<1

1 0

10

RowPermID

{1'b1, m_bar}

M_bar

v

3'b111

m1

m1 m4

LoadS(j-1)

ClearH

‘0’

Ist Col

q(i)

Modulo Out

5

3

Start_New_Frame

mode

LTEi_addr

1 0

m1

1

0

From A1 mode

1

0

Reg

g(0)

modep-1

M_bar

10

mode

K

+(A2)

+(A3)

+(A4)

Reg_H

Reg_S(j-1) or Circular Buf Data

g(x)

Figure 4.5 :  Hardware for modulo computation block 

Page 87: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

4.5  3GPP‐LTE Simplifications and Hardware 61

 

 

4

21 2( 1) ( 1) ( 1) modf x f x f x K    

1 2 2( 1) ( ) 2 modf x f x f f f x K    

( 1) ( ) ( ) modf x f x g x K   (4.2) 

Here  g(x)  can  again  be  computed  recursively  by  using  the  following 

simplifications. 

1 2 2( 1) 2 ( 1) modg x f f f x K    

2( 1) ( ) 2 modg x g x f K   (4.3) 

These  algebraic  simplifications  make  the  computation  of  quadratic 

permutation polynomial (4.1) very much hardware efficient. From the hardware 

perspective  two  terms  (0)g   and  2f   are  needed  to  start  computation.  Using  the 

values of  1f  and  2f  given in 3GPP‐LTE standard we can find  (0)g  for all block sizes. 

The terms  (0)g  and  2f  are utilized through a lookup table. Using the simplifications 

mentioned  in  equations  (4.2)  and  (4.3)    the  terms  ( 1)f x   and  ( 1)g x   can  be 

computed  recursively  by  just  using  the  adders  and  comparison.  The  hardware 

constructed to compute the interleaved address ( _i addr)  is shown in Figure 4.6. 

The computation of interleaving address is done every clock cycle and there is no 

latency for this case. 

K

1 0

sign_bit

f2 >> 1g(x)

g(x+1)

K

1 0

sign_bit

f(x+1)

reset‘0’

clk resetg(0)

clk

i_addr

+(A1)

(A2)

+(A3)

−(A4)

Figure 4.6 :  Hardware required for 3GPP LTE interleaver design 

Page 88: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

62  Chapter 4: Dual Standard Turbo Code Interleaver

 

 

4.6 Control FSM 

The controller mainly works  for  the pre‐computation phase of 3GPP‐WCDMA.  It 

configures  different  functions  like  multiply,  add,  compare  and  modulo 

computation hardware to find all the vital parameters R, C, p, v and  ( )S j . The state 

diagram  of  the  controller  for  our  design  is  shown  in  Figure  4.7.  For  3GPP‐LTE 

standard, the controller checks the mode and directly jumps in to the ‘RUN’ state. 

When  the  controller  is  in  the  run  mode,  the  new  frame  and  the  new  pre‐

computation can always be initiated by just changing the block size parameter K 

and providing the start signal. 

4.7 Hardware for Combined Address Generation 

After  completing  the  pre‐computation  phase  or  looking  at  the  input mode  (i.e. 

WCDMA/LTE), the controller is set in ‘RUN’ state and the hardware is configured 

to perform run time computations for the generation of the interleaved addresses. 

The  flow graph  for  the run time operations  in 3GPP‐LTE and 3GPP‐WCDMA are 

shown  in Figure 4.8(a) and (b) respectively. Figure 4.8(c) shows the  flow graph 

illustrating  the  sharing  of  both  the  standards  to  achieve  the  reusable  hardware 

architecture. 

For 3GPP‐WCDMA hardware interleaver the RAM address is mainly computed 

using the hardware shown in Figure 4.5. The recursive function used to compute 

the  RAM  address  and  multiply‐add  function  to  compute  the  final  interleaved 

address are as follows: 

START Fill RAM Find C

ComputeS(j)

Find P

(P×R < K-R)

Loop vbits

RUN

Mainly ColumnCounter and

Configuration forRun Mode

Start_New_Frame

(R×C < K)

Mode == 1'b0 (LTE)

(ram_addr < p-1)

Figure 4.7 :  Controller for WCDMA and LTE hardware interleaver 

Page 89: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

4.7  Hardware for Combined Address Generation 63

 

 

_ ( , ) _ ( , 1) ( ) mod ( 1)modRam Adr i j Ram Adr i j Q i p   (4.4) 

It can be seen that computing the RAM address using  mod ( 1)modQ q p  instead 

of q helps to avoid the full computation of modulo multiplication. After computing 

the  RAM  Address,  the  final  interleaved  address  is  computed  by  the  following 

multiply‐add function: 

_ _ ( , )i addr C Row Perm U i j   (4.5) 

where  ( , )U i j  is the intra row permutation coming from RAM. The hardware used 

in pre‐computation, as shown in Figure 4.3 is used again here to compute the final 

interleaved address in run time. 

WCDMA Specific Block

LTE Specific Block

Shared Block

Input K

Lookupf2 , g(0)

ADDg(x) + 2f2

ADDg(x) + f(x)

SUB & Comparefind g(x+1)

SUB & Comparefind f(x+1)

Initf(0) = 0

i_addr

(a)

Input K

Pre-Computation

INCRow Counter

LastRow

INCCol Counter

LookupRow Perm

Lookup q(i)

SUB & Compareq_mod = q(i)%(p-1)

ADDAdr(i,j-1) + q_mod

SUB & Comparefind Adr (i,j)

RAM Read U(i,j)

ADDi_addr = T + U(i,j)

Compare andPruning

MULTIPLYT = C x row_perm

Y

N

i_addr

(b)Input K

Mode Pre-Computation

INCRow Counter

LastRow

INCCol Counter

LookupRow Perm

Lookup q(i)

SUB &Compare

SUB &Compare

Mode

RAM Read

MULTIPLY

Initf(0) = 0

ADD

Mode

Compare andPruning

ADD

Y

N

LTE WCDMA

LTE

LTE

WCDMA

WCDMA

i_addr(LTE)i_addr(WCDMA)

(c)

Lookupf2, g(0)

Figure 4.8 :  Flow graph for (a) Interleaver address computation in LTE,  (b) Interleaver address computation in WDCMA, (c) Interleaver address 

computation for WCDMA and LTE in combined fashion 

4

Page 90: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

64  Chapter 4: Dual Standard Turbo Code Interleaver

 

 

P

Row

Counter

Row

Perm

Logic

q(i)-New

(Lookup)

Modulo

Computation

CircularBuffer

Depth-R

pv(Lookup)

Exception

Handling

AxB

C

Row

PermR P

m2m1

Controller

m1~m5

wr

addr

R/W

P_count

CClear_HLoad_S(j-1)

Compare_flags

Start_New_Frame

1010

Flags

Flags

Pv

0/1

ex_ctrl

rd_addr

f1_f2

Lookup

f 2 g(0)

mode

mode

S(j)RAM

256x8

DIDO

Comparator

Ui,j

i_addr

valid

R K

{!mode

,m1}

m1

m5c_in

LTEi_addr

+(A1)

mode

f 2<<1

g(x){!mode,m3}

flags

K

K

Mode

Mulout

M7 M6

M8

WCDMASpecificHWBlock

LTESpecificHWBlock

SharedHWBlock

Start(initf(0)=0)

1010

0 1

M5

10

 

Figure 4.9 :  Hardware for combined (WCDMA+LTE) interleaver 

Page 91: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

4.8  Implementation Results  65

 

 

4

The final  interleaved address is tagged valid or invalid using the comparator. 

This  is  called  pruning  of  the  interleaver  and  is  needed  for  the  case  when 

interleaver block size  is not exactly equal  to R C . The hardware components  in 

the  design  are  used  efficiently  such  that  the  same  hardware  used  for  pre‐

computation phase is also used for the run time computations. There exist some 

exceptions as well in the WCDMA algorithm which are listed below: 

, -1

,, -1

( -1,0) ( -1, )

: 0;

1 : 0; ;

i p

i pi p

R R p

If C p U

If C p U U p

and if K R x C then exchange U with U

 

Some  flags  related  to  first  and  last  row and  column are  generated  from row 

and column counters. Using these flags along with a couple of multiplexers a very 

small logic is needed to serve the purpose of exception handling. 

For  the  computation  of  the  interleaver  address  for  3GPP‐LTE  systems,  the 

same hardware structure is used after getting the mode input as LTE (1' 0b ). The 

controller  jumps  in  to  ‘RUN’  state  directly,  and  with  a  small  difference  of 

configuration  vectors  the  same hardware  is mapped  to  the  hardware  shown  in 

Figure  4.6  for  computation  of  interleaver  address  for  LTE.  The  complete 

hardware  blocks  to  compute  the  interleaved  address  in  a  multiplexed  way  for 

3GPP‐WCDMA and 3GPP‐LTE systems are shown in Figure 4.9. It can be seen that 

all  the  vital  computing  parts  are  being  shared  by  the  two  standards  which 

provides  an  illustration  of  the  hardware  re‐use  to  get  the  low  cost  solution  for 

multiple applications. 

4.8 Implementation Results 

The RTL code for the hardware blocks is written in Verilog and the correctness of 

the design is checked by comparing the results generated by hardware with those 

generated using MATLAB. The number of clock cycles spent for pre‐computation 

(verified  through  simulations)  is  mentioned  in  Table  4.1.  These  cycles  mainly 

depend  on  the  value  of  p  and  v  for  a  particular  block  size.  It  can  be  seen  that 

maximum pre‐computation cycles are 988 when block size is 3840  191, 19p v . 

In a  later chapter,  further work to reduce the overheads will be presented.   The 

computation of interleaved address during run time is every cycle, except the case 

when block size is not exactly equal to R C . In this case the interleaved address is 

computed at most every two clock cycles, however on the average the interleaved 

address is computed almost every clock cycle as shown in Table 4.1. 

Page 92: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

66  Chapter 4: Dual Standard Turbo Code Interleaver

 

 

The design is synthesized after setting constraint as area using 90nm standard 

CMOS technology. Excluding the 256 8bit  RAM,  the  total hardware consumed by 

the  presented  design  is  3.1K gates.  For  WCDMA  only,  this  cost  reduces  to 

2.2 K gates. The design is highly optimized for low cost and at the same time it can 

provide  support  for  two  standards  which  is  not  provided  in  reference  designs 

[37],  [38].  As  a  result,  comparing  with  the  reference  designs  (Table  4.2),  the 

design presented here  is  good  in  terms of multiple  standard  support  as well  as 

hardware  efficiency.  This  work  has  been  an  important  milestone  towards  our 

principle  goal  of  architecture  exploration  for  multiple  radio  communication 

standard support. 

 

 

Table 4.1 :  Pre‐computation & clock cycle comparison for differrnt block sizes 

Standard  Block Size 

Pre‐Computation 

Cycles 

Run Time 

Cycles 

Average 

Bit/Cycle 

3GPP‐LTE  K  0 K 1 

3GPP‐WCDMA  40  15 40 1 

41  23 50 0.8 

500  117 530 0.943 

3840  988 3840 1 

3841  615 3860 0.995 

5040  802 5040 1 

5114  563 5120 0.9988 

Table 4.2 :  HW usage comparison for different addressing circuits 

Sr. No  Implementation  Standard Support  Size 

1  ROM (all patterns)  ‐‐‐  > 100 Mbit 

2  RAM (big off‐chip Mem.  required)  ‐‐‐  ~ 80 Kbit 

3  Design – 1 [36]  2  32K gates 

4  Design – 2 [37]  1  30K gates 

5  Design – 3 [38]  1  4K gates 

6  This Work (WCDMA onlly)   1  2.2K gates  + 2Kbit RAM 

7 This Work (WCDMA Excluding Pre‐

Computation)  1  1.5K gates  + 2Kbit RAM 

8  This Work (WCDMA + LTE)  2  3.1K gates  + 2Kbit RAM 

Page 93: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

   

67 

5

5 Channel Interleaving–Combining 

Block & Convolutional Interleavers 

5.1 Introduction  

IMING  TO  LOW‐COST  universal  broadband  access,  integration  of  DVB 

satellite  TV  and  WiMAX  has  been  the  recent  trend  [44][45][46]  and 

considered  to  be  promising  opportunity  for  existing  network  operators  to 

enhance  their  services.  Therefore  designing  the  re‐configurable  subsystems 

which  can  support  WiMAX  and  DVB  is  of  significance.  This  chapter  covers  a 

flexible and low cost hardware interleaver architecture for the block interleaver 

used for channel interleaving in WiMAX‐IEEE 802.16e [15] and the convolutional 

interleaver as specified in DVB‐ETSI EN 300‐744 [47]. As a bi‐product, the same 

hardware  can  also  be  used  to  implement  the  block  interleaver  for  duo‐binary 

turbo  codes  adopted  in  WiMAX.  The  main  contribution  here  is  threefold:  1) 

Mapping of vital types of interleavers including convolutional interleaver on to a 

single  architecture  with  flexibility  to  change  interleaver  size;  2)  Hardware 

complexity for channel interleaving in WiMAX is reduced by using 2‐D realization 

of  the  interleaver  functions;  and  3)  Silicon  cost  overheads  reduced  by  avoiding 

the  use  of  small  memories.  The  reduced  complexity  strongly  motivates  to 

compute the permutation patterns on‐the‐fly. System level overview for WiMAX is 

shown  in Figure 5.1(a) and  for DVB  is  shown  in Figure 5.1(b). WiMAX uses  the 

block interleaver for channel interleaving and duo‐binary turbo code interleaving. 

Page 94: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

68  Chapter 5: Channel Interleaving–Combining Block & Convolutional 

 

 

In block interleavers, the data is written sequentially in a memory and read in a 

random  order  after  applying  certain  permutations.  However,  considering  the 

block interleaver as a row‐column matrix, data is written row‐wise in a memory 

configured  as  a  row‐column  matrix  and  then  read  column‐wise  after  applying 

certain  intra‐row  and  inter‐row  permutations.  On  the  other  hand,  the 

convolutional interleavers use multiple first‐in‐first‐out (FIFO) cells with different 

widths  and  depths  to  disperse  adjacent  information.  In  addition  to  different 

structures of block interleaving and convolutional interleaving, they also impose 

different latency measures. The structural mismatches between different types of 

interleavers make it hard to implement them on a single architecture.  

Recently  [51][52]  has  proposed  an  architecture  to  implement  the  de‐

interleaver  for WiMAX and DVB  in a single chip using 0.6 mm2   and 0.484 mm2 

area respectively. A fast interleaver design covering 802.16 and 802.11 has been 

proposed in [53] with some extra hardware cost. An FPGA implementation of DVB 

interleaver is described in [54] with emphasis on minimizing memory utilization. 

The architecture given  in  [51][52] and [54] use six small memories each having 

size  of  255  byte  or  less,  which  turns  out  to  be  hardware  inefficient  due  to 

significant overheads of small memories. Some commercial  implementations  for 

(a)

Channel

Randomizer FEC Enc.(RS and CC) Interleaver Mapper

De-Randomizer

FEC Dec.(RS and CC)

De-Interleaver De-Mapper

FromPHY/MAC

ToPHY/MAC

MessageWord

MessageWord

RS ConvolutionalInterleaver CC

RS ConvolutionalDe-interleaver CC

Outer Encoder Inner Encoder

Outer Decoder Inner Decoder

CodeWord

CodeWord

Channel

(b)

Figure 5.1 :  Overview of encoding in (a) WiMAX channel, (b) DVB channel 

Page 95: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

5.2  WiMAX Channel Interleaver 69

 

 

5

interleaver/de‐interleavers  are  also  available  from  major  FPGA  vendors  like 

Xilinx,  Altera  and  Lattice  Semiconductor.  The  architecture  insights  for  these 

implementations are not disclosed and they are provided as IP Blocks. However, 

the  available  literature  [66]–[68]  explains  the  memory  configuration, 

performance and area utilization in terms of logic elements (LEs) or lookup‐tables 

(LUTs).  Our  proposed  architecture  uses  two  single  port  memories  of  size  512 

bytes and 1024 bytes, thus minimizing the overheads due to small memories. In 

order to achieve the low cost solution, it utilizes the hardware re‐use for different 

types  of  interleavers  to  compute  the  interleaved  addresses  for writing/reading 

the  data  to/from memory.  Low  cost  solution  is  also  supported  by  realizing  the 

one‐dimensional permutation functions provided for WiMAX channel interleaver 

in to 2‐dimentional functions, where it is easy to realize the interleaver as a row‐

column matrix.  

5.2 WiMAX Channel Interleaver 

WiMAX  uses  Read‐Solomon  and  convolutional  encoding  followed  by  an 

interleaver as shown in Figure 5.1(a) to detect and correct errors to improve the 

performance of the communication system. Different interleaving patterns apply 

for different modulation schemes BPSK/QPSK, 16‐QAM and 64‐QAM. The channel 

interleaving in WiMAX is based on a block interleaver, which is expressed in the 

form  of  a  set  of  two  equations  for  two  steps  of  permutations.  The  interleaver 

specified  in  WLAN,  802.11a/b/g  [48]  also  utilized  same  type  of  permutation 

steps; therefore the proposed work can also cover WLAN by default. The first step 

ensures  that  adjacent  coded  bits  are  mapped  on  to  non‐adjacent  subcarriers, 

while the second step ensures that adjacent coded bits are mapped alternately on 

to  less or more significant bits of constellation,  thus avoiding  long runs of  lowly 

reliable bits. The first permutation  km  for index k is defined by:  

%cbpsk

N km k d

d d

  (5.1) 

Here  cbpsN  is the block size corresponding to number of coded bits per allocated 

sub‐channels per OFDM and typical value for d  used in WiMAX is 12 and 16. The 

operator % is defined as the modulo function, computing the remainder, and the 

operator  x  is  the  floor  function  i.e.  rounding  towards  zero.  The  second 

permutation  kj  for index k is given by:  

Page 96: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

70  Chapter 5: Channel Interleaving–Combining Block & Convolutional 

 

 

%kkk k cbps

cbps

mm dj s m N sNs

  (5.2) 

The parameter  s  is defined as  / 2cpcs ceil N , where  cpcN   is number of  coded 

bits  per  sub‐carrier,  i.e.,  1,  2,  4  or  6  for  BPSK,  QPSK,  16‐QAM  or  64‐QAM 

respectively  and  ceil   operation  is  the  rounding  towards  infinity.  The  de‐

interleaver,  which  performs  the  inverse  operation,  is  also  defined  by  two 

permutations. Let n be the index of received bits within the received block of  cbpsN  

bits. The first permutation  nm  for index n is defined by: 

%ncbps

nn dm s n sNs

  (5.3) 

The second permutation  nk  for index n is given by: 

1 ncbpsn n

cbps

mdNk d m

N

  (5.4) 

The range of n and k for eq. (5.1) – (5.4) is defined as 0, 1, 2, . . . .( 1)cpbsN . If we 

try to  implement the two steps of permutations by direct computation,  they are 

found to be hardware inefficient. This is due to the presence of complex functions 

like floor function and modulo function.  

The alternate is to consider the two steps as one step and find the correlation 

between input and output, which should be hardware efficient. We present here 

the  idea  of  realizing  the  one  dimensional  equations  in  to  a  joint  2‐dimensional 

expression. It is not necessary to transform both set of equations to 2‐D space and 

implement  separately,  as  they  are  inverse  of  each  other.  Thus  only  one  set  of 

equations  can  be  transformed  for  efficient  hardware  implementation  and  same 

can be used for the other by just swapping the order of read and write of data in 

to memory.  The  following  sub‐sections  present  the  transformation  steps  for  all 

kinds of modulation schemes used in WiMAX.  

BPSK / QPSK 

Due  to ceil  operation  the parameter s  is 1  for both BPSK and QPSK. Defining 

cbpsN N  eq. (5.3) simplifies to   nm n , and therefore eq. (5.4) becomes:  

1nd n

k d n NN

   

Page 97: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

5.2  WiMAX Channel Interleaver 71

 

 

5

nN d n d n

k d nd N N

   

n n nk d   (5.5) 

where                  and/

n nN d n d n n

nd N N N d

   

Due  to  the  presence  of  floor  function,  it  is  difficult  to  work  out  a  complete 

algebraic  solution  for  these  equations,  however  looking  at  the  behavior  of 

different terms and verifying for all possible block sizes, we try to re‐structure the 

equations. MATLAB  is  used  for  the  verification  of  new  structures.  For  a  simple 

illustration,  an  example  case  of  BPSK  with  2  sub  channels  and  16, 32d N ,  is 

taken and behavior of   n  is analyzed against the index n. 

22

nn

n    

0 0 0% 2n nn    

1 1 1% 2n nn    

3 0 2% 2n nn    

. . . . . . . . . . . . . . . . . . . . . . . . . .  

1 % 2n nn n n    

After  checking  all  cases  for  BPSK  and QPSK  (i.e.  sub‐channels  1,2,4,8,16),  n  can be generalized as:  

%nN

nd

   

Thus for BPSK or QPSK case, eq. (5.5) can now be written as : 

%nN d n

k d nd N

  (5.6) 

Introducing 2  dimensions  i  and  j  (i.e.  a  two dimensional  array),  for which  j 

increments  when  i  expires,  the  ranges  for  i  and  j  can  easily  be  selected  as 

mentioned below: 

0,1,...... ' '1 %N N

i which satisfies against n if i nd d

  (5.7) 

Page 98: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

72  Chapter 5: Channel Interleaving–Combining Block & Convolutional 

 

 

0,1,.......( 1) ' '/

nj d withbehavior against n j

N d

  (5.8) 

The interleaver can now be realized as a 2D row‐column matrix with size i j . 

Total number of columns is d , defined by the limit on  j and total number of rows 

is  /N d . Eq. (5.6) can be written in the form: 

,n i jk k d i j   (5.9) 

Here i and  j are row and column counters respectively but at the same time, 

they also provide the inter‐row and inter‐column permutations. The case of BPSK 

and QPSK is the simplest one as it does not carry any specific inter‐row or inter‐

column permutation pattern due  to  the parameter  1s .  That  is why we  end up 

with a relatively simple hardware needing just one addition and a multiplication 

as shown in Figure 5.2(a), but  it provides the basis  for analysis  for 16‐QAM and 

64‐QAM which are more complicated. 

16‐QAM 

The  parameter  s  is  2  for  16‐QAM  therefore  eq.  (5.3)  and  eq.  (5.4)  can  be 

written as: 

2 % 22

nd nn

m nN

  (5.10) 

n nn n

N d m d mk d m

d N N

  (5.11) 

Two terms can again be defined as  n  and   n  . 

and.n n

n n nN d m d m

md N N

  (5.12) 

Therefore                              n n nk d    

After verifying for all the range for WiMAX, the parameter  n  can be written as: 

. .

/n

nd m d n n

jN N dN

  (5.13) 

However, it does not mean that  nm  is equal to n all the time. This is valid only 

due to the presence of floor function around it. Using definitions in eq. (5.10) and 

eq. (5.13),  n  can be re‐written as: 

Page 99: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

5.2  WiMAX Channel Interleaver 73

 

 

5

2 % 22

nNd n d nn

ndN N

  (5.14) 

Now we  try  to  re‐arrange  this equation  to  find some new structure which  is 

similar to eq. (5.9). For illustration purposes some steps for the 16‐QAM example 

case with  16d  and  64N  are given below: 

0 0 0 1 (0 1) 1 (0 1)0% 2 0% 2 0% 2 0% 2n nn  

1 1 1 1 (1 1) 1 (1 1)0% 2 1% 2 1% 2 0% 2n nn  

2 2 2 1 (2 1) 1 (2 1)0% 2 2% 2 2% 2 0% 2n nn  

3 3 3 1 (3 1) 1 (3 1)0% 2 3% 2 3% 2 0% 2n nn  

4 1 0 1 (0 1) 1 (0 1)1% 2 0% 2 0% 2 1% 2n nn  

5 1 1 1 (1 1) 1 (1 1)1% 2 1% 2 1% 2 1% 2n nn  

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 

, 1 ( 1) 1% 2 % 2 % 2 % 21n i jr i ij j i ii   (5.15) 

where i and  j are defined with ranges as mentioned in eq. (5.7) and eq. (5.8), 

%/

N ni and jn

d N d

   

Verifying  for  all  the  cases  in  16‐QAM, we  reach  to  a  new  structure  for  n   as 

given in eq. (5.15). This structure is not as simple as that of BPSK/QPSK case. The 

reason is the presence of permutation pattern in 16‐QAM case. Considering the 2 

dimensions  i  and  j,  the  2D  transformation  of  interleaver  for  16‐QAM  can  be 

described as: 

, ,n i j i jk k d r j   (5.16) 

The  parameter  ,i jr   provides  an  intra‐row  permutation  pattern  sequence  for 

selective  columns,  such  that  a  permutation  is  applied  for  all  alternate  columns 

2 1th

y   and  no  permutation  is  applied  for  each  2 thy   columns,  where 

1,2, / 2y d . Considering total number of rows as R, the required inter‐row 

permutation  for  row  number  (0,1, 2 1)i R   is  1i   and  1i   for  each  2 thi   and 

2 1th

i  row respectively. Looking at eq. (5.16), the generic structure for 16‐QAM 

is the same as that of eq. (5.9) except the additional complexity for selective row 

Page 100: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

74  Chapter 5: Channel Interleaving–Combining Block & Convolutional 

 

 

permutation.  The  structure  of  eq.  (5.16)  is  easy  to  implement  with  a  row  and 

column counter i and  j. The terms with modulo function can be controlled by the 

LSB  of  corresponding  variable  and  the  rest  can  be managed  by  a  lookup  table 

(LUT)  or  an  adder.  As  number  of  rows  in  the  block  can  be many  (up  to  96  for 

WiMAX)  thus use of LUT  is not efficient here.  Instead we can use a 7 bit adder, 

which can also give the benefit of generalizing the implementation. The hardware 

realization for interleaver address generation for 16‐QAM in WiMAX is shown in 

Figure 5.2(b). 

64‐QAM 

As number of coded bits per sub‐carrier are 6 for 64‐QAM transmission, thus 

using the parameter s 3 , eq. (5.3) is written as:  

3 % 33

nn d n

m nN

  (5.17) 

Defining the two terms  n  and   n  as given in eq. (5.12) and eq. (5.13) we can 

write expression for  n  for 64‐QAM as: 

(b)

(c)

(a)

AxBDecoding

Logici

TotalCol

i_addr

{C[3:0],R[0],Mode}

j(i+1)%3

Logic +/- +‘1’ ri,j

012

AxB

TotalCol

i_addrj

+i

‘1’

j[0]

i[0]

+/-ri,j

AxB

Total Col

i_addrj

+Row Perm ( i )

Figure 5.2 :  HW realization for channel interleaving in WiMAX (a) BPSK‐QPSK,  (b) 16‐QAM, (c) 64‐QAM 

Page 101: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

5.2  WiMAX Channel Interleaver 75

 

 

5

3 % 33

nNn d n d n

ndN N

  (5.18) 

Again  applying  the  same  re‐structuring  exercise  as we did  for  16‐QAM case, 

we  reach  to  an  even  more  complicated  2D‐structure  for  n .  Due  to  increased 

complexity  for  permutation  patterns  for  64‐QAM  the  intermediate  steps  carry 

much longer terms, thus we directly present the final structure for  n . 

,

' ' 11 '

2

' '( ' 1)' 1' ' 1 '2 11 '2 2

' ' 1' ' '2 1' 1 1 ' ' 1

2

n i jr ij j

j

i i iij j ii ii

j ji i ii ii i i

  (5.19) 

Here  i  and  j  are  row  and  column  count  respectively,  with  the  ranges 

mentioned in eq. (5.7) and eq.(5.8). The new parameters  'i  and  'j  are defined as 

below: 

' % 3 and ' % 31i j ji    

The  term  n   for  64‐QAM  provides  the  selective  inter‐row  permutation  for 

every  3 1th

j   and  3 2th

j   column.  The  permutation  for  all  these  columns  is 

within 3 rows and afterwards it is repeated. Considering total number of rows as 

R,  the  inter‐row  permutation  in  3 1th

j   columns  for  row  number 

(0,1,2 1)i R  is  1i ,  1i ,  2i  for 3 thi ,  3 1th

i  and  3 2th

i  row respectively. The 

inter‐row permutation for  3 2th

j  columns is  2i ,  1i  and  1i  for 3 thi ,  3 1th

i  and 

3 2th

i  row respectively. Examples of address permutations for 16‐QAM and 64‐

0 . . . .17 34 29 46 15

16 . . . .33 2 45 14 31

32 . . . .1 18 13 30 47

48 . . . .65 82 77 94 63

64 . . . .81 50 93 62 79

80 . . . .49 66 61 78 95

(b)

0 . . . .17 2 29 14 31

16 . . . .1 18 13 30 15

32 . . . .49 34 61 46 63

48 . . . .33 50 45 62 47

(a)

Figure 5.3 :  Examples of data interleaving for (a) 16‐QAM, N=64, (b) 64‐QAM, N=96 

Page 102: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

76  Chapter 5: Channel Interleaving–Combining Block & Convolutional 

 

 

QAM with small block sizes are shown in Figure 5.3, which also correspond to the 

permutation patterns described here. 

Combining the interleaver structure for all the cases, the 2D single step generic 

interleaver function  ,i jk  can be described as: 

, ,i j i jk d r j   (5.20) 

where  ,i jr i  for BPSK/QPSK and it is defined by eq. (5.15) and eq. (5.19) for 16‐

QAM  and  64‐QAM  respectively.  Although  eq.  (5.19)  looks  very  long  and 

complicated,  but  eventually  we  get  hardware  efficient  solution  by  utilizing  the 

multiplexer  formulation  presented  in  section  3.6.  Additionally  we  stick  to  the 

generic  interleaver  hardware  for  all  types  of  modulation  schemes.  The 

implementation of modulo  terms  %3j   and  1 %3i   and some other  terms  inside 

braces  are  easier  to  generate  through  a  very  small  lookup  table.  Other 

permutation values with addition and subtraction can be  implemented with  the 

help  of  a  multiplexer  and  an  adder.  The  hardware  realization  for  64‐QAM 

interleaver is shown in Figure 5.2(c). 

5.3 Interleaver for Duo‐Binary Turbo Codes 

The double binary turbo codes (convolutional turbo codes, CTC) have received a 

great  attention,  due  to  many  advantages  like  performance,  over  the  classical 

single‐binary  turbo  codes  [55]. WiMAX  standard  has  adopted  duo‐binary  turbo 

codes  as  an  error  correction  system and  the  interleaver  associated with  it  is  of 

type  ARP  interleaver.  Figure  5.4  shows  the  block  diagram  for  the  duo‐binary 

encoder including an interleaver. In CTC the information is treated as pair of bits 

and  the  two  output  parts,  systematic  output  and  parity  output  are  almost  un‐

correlated due to the presence of interleaver. The interleaver for CTC is a two step 

CTCInterleaver

S1 S2 S3

AB

AB

Y1,W1

Y2,W2

Systematic part

Paritypart

Figure 5.4 :  CTC encoder with interleaver 

Page 103: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

5.3  Interleaver for Duo‐Binary Turbo Codes 77

 

 

5

interleaver and is defined for a particular block size N . Parameters for block size, 

modulation  scheme and  coding  rate  are provided  in WiMAX  standard  [15],  and 

are designated as  0 1 2, ,P P P  and  3.P  Two steps of interleaving are described below: 

Step 1:  

Let the incoming sequence be 

0 0 0 1 1 2 2 1 1, , , , , ,.... ,N Nu A B A B A B A B , 

for  0..... 1,i N  

if  %2 1 , ,i i i ii then A B B A .  

The new sequence is 

1 0 0 1 1 3 3 1 1, , , , , ,.... ,N Nu A B B A A B B A  

Step 2:  

The function  P j  provides the address of the couple from the sequence  1u  

that shall be mapped on to address  j of the  interleaved sequence.  P j   is 

defined by the set of four expressions with a switch selection as follows: 

for  0....... 1j N , 

switch  % 4j :  

case 0:  0. 1 %P j P j N  

case 1:  0 1. 1 %2

NP j P j P N

 

case 2:  0 2. 1 %P j P j P N  

case 3:  0 3. 1 %2

NP j P j P N

 

The four equations given in step 2 can be written in a combined form as: 

0.( ) %jP j QP j N   (5.21) 

0

1

2

3

R

i_addr

Nmsb

1

0

–+

Nmsb

1

0

–+Q3

Q2Q1‘1’

P0‘0’

i%4

Figure 5.5 :  Hardware for CTC interleaver 

Page 104: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

78  Chapter 5: Channel Interleaving–Combining Block & Convolutional 

 

 

where         1

2

3

1 ; ( %4 0)1 / 2 ; ( %4 1)1 ; ( %4 2)1 / 2 ; ( %4 3)

j

if jN P if j

QP if jN P if j

   

Let          0 0. % 0j P j N    

Then recursively  j  can be computed as  01 %jj P N . Now if we know  j  

by recursive computation,  ( )P j  can be computed from the following equation: 

( ) %j jQP j N   (5.22) 

By  looking  at  the  range of  parameters  j   and  jQ ,  their  sum cannot be  larger 

than  2N .  Thus  ( )P j   can  be  computed  by  using  addition  and  subtraction  with 

compare  and  select  logic,  as  shown  in  Figure  5.5  where  the  values  for    jQ   are 

provided  through a  lookup table. Similar kind of hardware  is used  in  the recent 

work  [56]  and  [57]  to  implement  the  interleaver  for  complete  CTC  decoder 

design.  Our  objective  here  is  to  integrate  this  hardware  with  other  interleaver 

structures  in  a  multiplexed  way  to  achieve  a  flexible  and  reconfigurable 

interleaver which can completely support the WiMAX standard. 

5.4 Convolutional Interleaver for DVB 

The convolutional  interleaver used  in DVB  is based on  the Forney approach  [8] 

which  is  compatible  with  Ramsey  type  III  approach  [7].  In  order  to  distribute 

burst  errors,  which  are  not  corrected  by  Viterbi  decoder  in  the  receiver,  a 

convolutional  interleaver  is  used  in  the  transmitter,  between  RS  encoding  and 

convolutional encoding as shown in Figure 5.1(b). Thus a de‐interleaver has to be 

incorporated  in  the  receiver  before  the  RS‐decoder,  to  be  able  to  decode  the 

packets.  The  convolutional  interleaver  for  DVB  consists  of    12I   branches  and 

0

1

2

3

10

11

0

1

2

3

10

11

0

1

2

3

10

11

0

1

2

3

10

11

Interleaver De-Interleaver

M = 17 M = 17

OrderedData

OrderedData

InterleavedData

M x 2

M x 3

M x 2

M x 3

Figure 5.6 :  Convolutional interleaver and de‐interleaver in DVB 

Page 105: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

5.4  Convolutional Interleaver for DVB 79

 

 

5

each  branch  j  is  composed  of  first‐in‐first‐out  (FIFO)  shift  registers with  depth 

j M , where  17M  for DVB. The packet of 204 bytes consisting of one sync byte 

0 47 0 8or B   is  entered  in  to  the  interleaver  in  a  periodic  way.  For 

synchronization  purpose  the  sync  bytes  are  always  routed  to  0branch   of  the 

interleaver as shown in Figure 5.6.  

The convolutional interleaving provides half the latency as compared to block 

interleaving  and  also  consumes  less  memory  size.  Recently  convolutional 

interleavers  have  been  analyzed  to  work  with  Turbo  Codes  [16][17][58][59], 

which make them more versatile, thus general and re‐configurable convolutional 

interleaver architecture can be of significance. The improvement in performance 

of  turbo  codes  using  convolutional  interleavers  provides  the  motivation  to 

integrate  the  functionality  of  convolutional  interleaver  with  block  interleavers, 

and  this  integration  increases  the  flexibility  for working with  turbo  codes.  This 

section presents the hardware implementation of convolutional interleaver which 

will be integrated with block interleavers in next section. 

Due  to  large  consumption  of  silicon  area,  the  implementation  of  the 

convolutional interleaver or de‐interleaver using first‐in‐first‐out (FIFO) register 

cells would be hardware inefficient. To achieve a hardware efficient solution, RAM 

based  implementation  is  proposed.  The memory  partitioning  is made  in  such  a 

way that by applying appropriate read/write addresses in a cyclic way, it exhibits 

the branch behavior as required by the convolutional interleaver. RAM write and 

read addresses are generated by the hardware shown in Figure 5.7.  

The  hardware  components  used  here  are  almost  the  same  as  used  by 

interleaver  design  for  WiMAX,  thus  providing  the  basis  for  multiplexing  the 

CompareAxB

Reg. File (r0 ~ r10)

CFGMode

‘1’

BranchCount

Max. Br.‘11’ for DVB

Read Address

Write Address

De-Int

De-Int De-Int

De-Int

11

11

44

9

11

11

11

11

11

R* Load ‘1122’ when De-Int Mode11

+

+/-–

11

R*

M=17 for DVB

Figure 5.7 :  Hardware for RAM read/write address generation for  convolutional (de) interleaver in DVB 

Page 106: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

80  Chapter 5: Channel Interleaving–Combining Block & Convolutional 

 

 

hardware blocks for re‐use. The main difference is the use of 11 registers to keep 

track  of  next write  addresses  for  each  branch, which  is  the  idea  of  using  cyclic 

pointers instead of using FIFO shift registers. For each branch the corresponding 

write  address  is  provided  by  the  concerned  pointer  register  and  next  write 

address  (which  is  also  called  current  read  address)  is  computed  by  using  an 

addition and a  comparison with  the branch boundaries. The branch boundaries 

are  computed  on  the  fly  using  an  adder  and  a  multiplier  in  connection  with  a 

branch counter. For implementing convolutional de‐interleaver same hardware is 

used by implementing the branch counter in reverse order (decrementing by 1). 

In this way same branch boundaries are used, and the only difference is that the 

sync byte in the data is now synchronized with the largest branch size as shown 

in Figure 5.6. Keeping the same branch boundaries for de‐interleaver, the width of 

pointer register becomes fixed. This gives an additional benefit that the width of 

pointer  registers  may  be  optimized  efficiently,  i.e.  instead  of  using  all  pointer 

register  of  width  11  bit  we  can  use  smaller  width  for  the  lower  branches  and 

larger width for the upper branches. 

5.5 Complete Hardware 

Figure 5.8 presents the flow graphs for the computation of interleaved addresses 

for memory read and write for the interleaver types covered in previous sections. 

The  combined  flow  graph  illustrating  flow  sharing  between  different 

implementations is presented in Figure 5.9. In order to fulfill the shared flow, in a 

multiplexed  way,  the  complete  hardware  for  the  data  interleaving  or  de‐

interleaving  for multiple  standards  is  divided  in  to  sub‐blocks  like  control  FSM 

block, address generation block and memory organization block. These blocks are 

briefly described in the following sub‐sections. 

5.5.1 Control FSM 

An eight state control FSM shown in Figure 5.10 is used to synchronize the flow 

for  address  computation.  The  control  FSM  serves  different  initialization 

requirements  for  different  standards  at  startup.  In  the  initialization  phase  for 

WiMAX, the controller computes the number of rows for a particular block size in 

state  S1,  while  for  DVB  the  pointer  registers  are  initialized  to  their  respective 

starting values in state S5. States S2 – S4 are shared for channel interleaving and 

duo‐binary  turbo  code  interleaving,  whereas  state  S2  also  serves  for 

synchronization with the external world. After initialization, the FSM keeps track 

Page 107: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

5.5  Complete Hardware  81

 

 

5

of  block  size  by  employing  row  and  column  count,  thus  providing  the  block 

synchronization  required  for  each  standard.  State  S6  and  S7  are  used  for  sync 

detection  in  case  of  DVB  interleaver.  Once  sync  pattern  is  detected,  state  S4  is 

again used for branch counting and branch synchronization. 

5.5.2 Address Computation Circuitry 

The address computation is achieved for different standards by multiplexing the 

hardware covered in earlier sections. Some additional multiplexers and glue logic 

is  used  to  support  the  re‐configurability  for  different  standards  and  different 

modulation  schemes.  The  hardware  multiplexed  circuit  for  combined  address 

computation  is  shown  in  Figure  5.11(a).  Here,  the  multiplier  can  further  be 

optimized  to  some  additions,  but  it  is  kept  there  to make  the  architecture  as  a 

general  design  for  any  branch  size  and  any  number  of  columns  in  the  block 

interleaver.  The  address  computation  circuitry  also  involves  a  lookup  table 

(a) (c)(b)

Input N

Init & P, Q,Lookup

Wait StartPulse

EndFrame

YN

i_addr

(ADD-3)B + P0

Sub &CompareFind B

(ADD-1)B + Q

Sub &Compare

(Find i_addr)

Input R

Init regR0 ~ R10

SyncDetection

LastBranch

Reset Br.Count (R)

(ADD-1)Resolve BranchNumber (j)

(MULTIPLY)Find Br. SizeU = 17 x j

Compare andSelect ReadAddress

Y

N

EndFrame

INC R(Br. count)

(ADD-3)INC R(j)

Read reg.Wr = R(j)

(ADD-2)Find Br. StartT(j) = U + T(j-1)

Write to reg.R(j)

NY

Wr_addr Rd_addr

Input N

Find TotalRows (TR)

Wait StartPulse

LastRow

Reset R &INC

Col Counter

Compute(R+1) % 3

(ADD-1)Resolve RowPerm.

(MULTIPLY)Find Row StartU = Total Col xRow_perm

(ADD-2)Column OffsetT = U + C

Y

N

EndFrame

INC R(row count)

YN

i_addr

Figure 5.8 :  Flow graph for (a) Channel interleaving in WiMAX, (b) CTC interleaving, (c) Read/write address computation for DVB 

Page 108: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

82  Chapter 5: Channel Interleaving–Combining Block & Convolutional 

 

 

implementing  the  decoding  logic  for  operand  selection,  and  a  register  file 

consisting of 12 pointer registers.  

The  pointer  registers  are  mainly  used  for  DVB,  thus  not  being  shared  with 

other types of implementations. The computation intensive blocks in the address 

computation  circuitry  are  4  adders/subtractors,  a multiplier  and  a  comparator. 

Except one subtractor which  is only used  for CTC  interleaver, all  the rest of  the 

blocks are being shared by different interleaver implementations. This provides a 

Input N / R

LastR

(MULTIPLY)Find U

Compare andSelect ReadAddress

Y

N

EndFrame

INC R

(ADD-2)Find T

Write to reg.R(j)

N

Y

ModeWiMAX

Mode

Find TotalRows (TR)(or) Lookup

Init regR0 ~ R10

SyncDetection

Wait StartPulse

Mode(ADD-3)INC orB+P0

Mode Compute(R+1) % 3

(ADD-1)Resolve RowPerm / Branch

Mode

Read reg.Wr = R(j)

Reset R &INC

Col Counter

DVB

WiMAX DVB

WiMAX DVB

WiMAX

DVB

DVB WiMAX

Rd_addr(DVB)

i_addr(WiMAX)

Wr_addr(DVB)

Sub-Mode

CTC

SUB andCompare

CTC

Figure 5.9 :  Flow graph for combined interleaver (gray blocks show the flow overlap and hardware sharing between different interleavers) 

Page 109: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

5.5  Complete Hardware  83

 

 

5 highly  multiplexed  architecture  with  good  hardware  utilization  for  different 

interleaver implementations. 

5.5.3 Memory Organization 

The  interleaved  address  for  block  interleaver  and  read/write  address  for 

convolutional  interleaver  computed  by  the  address  generation  circuitry  are 

combined according to the configuration input for specific standard to make the 

final read/write address for the memory. The total data memory size required is 

1536 byte. This limit is set by the maximum block size of 1536 bytes for WiMAX, 

i.e. 64‐QAM and 16 sub‐channels. If we have the luxury to use dual port memory 

which can read and write in a single clock cycle, then we can use one big memory 

of 1536 bytes, but keeping in view hardware in‐efficiency for the implementation 

of dual port memory, and to make the memory size raise to the power 2, we split 

the memory in to two with size 512 bytes and 1024 bytes. 

Figure  5.11(b)  shows  the memory  organization with  address  selection  logic. 

By applying the delay line of 6 clock cycles in the path of read address and control 

signal for the selection of the output data, we make it possible that data write and 

read should not be performed for the same memory in a single clock cycle. This 

provided the basis to use relatively bigger memories for DVB interleaver and thus 

the  hardware  cost  overheads  associated  with  use  of  small  memories  are  also 

avoided.  

S0

S1

S5

S2

S3i ++

S4i ++

S6 S7

Init R0 ~ R11 No Sync

DVB

WiMAX

If (Rxd) < N

Find TotalRows

WaitStart Pulse

If (Rxd) >= N

int

de-intint

de-int

int

de-int

i < N

i < N

Syncdetected

CheckSync

(ifDVB)

SyncPresent

Sync Not Present

CTC

Figure 5.10 :  Control FSM for combined hardware interleaver 

Page 110: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

84  Chapter 5: Channel Interleaving–Combining Block & Convolutional 

 

 

(a)

(b)

1 0

0 1

Dec.Logic

0/1/2

R[3:0]

IstBr.

Depth

d(wmx)

TotalBrR C

Controller

Reg.File

Mode

(wimax/

DVB)

Int/

de-int

(0/1)

N11

Wimax

Parameters

11 11 11

8

5DataValidSignal

R

+/-

+/-

1 0

mode

0 1 2P 0 N

0 1 20 1 2

logic

0 1 2 3

1 Q1

Q2

Q3

+-

1 0

1 0

A==BN

1

0

0 1

11

mode

M1

(512x8)

0 1 0 1

1111 11

Idx

count(i)

1 0

0 11 0

0 1

10 10

8Data

Out

DelayBufDelayBuf

DelayBuf

8

8

mode

mode

11

RdAddr

(DVB)

WrAddr

(DVB)

i_addr

(WiMAX)

Data_in

1 0

de-int

de-int

0 1

(mode&Br.==0)

M2

(1024x8)

Logic

mode

101099

8

Swap(Ai,B

i)If(i%2==0)

Idx[0]

(i%4)

msb

msb

 

Figure 5.11 :  (a) Address generation hardware for combined interleaver, (b) Memory organization 

Page 111: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

5.6  Implementation Results  85

 

 

5

The memory utilization for DVB in comparison with use of small memories is 

shown  in  Figure  5.12.  The memory  with  size  of  512  bytes  as  shown  in  Figure 

5.12(c) can be reduced to 256 bytes if proposed architecture is only intended to 

be used for DVB or the targeted block size for WiMAX is only up to 1280.  

5.6 Implementation Results 

The  hardware  shown  in  Figure  5.11  provides  the  complete  re‐configurable 

hardware  interleaver  design  for  multiple  standards.  The  RTL  code  for  this 

11255186

10255169

9255152

8255135

7127118

6127101

512784

412767

36350

26333

13116

6,9255254

5,10255254

4,11255254

2,8255169

1,312767

7127118

6~111023866

1~5511254

(a)

(b)

(c)

Figure 5.12 :  Memory utilization for DVB (a) Generalized structure, (b) Structure proposed in [54], (c) Our proposed structure 

Page 112: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

86  Chapter 5: Channel Interleaving–Combining Block & Convolutional 

 

 

hardware is written in Verilog HDL and the correctness of the design is verified by 

two  approaches.  First  by  comparing  the  data  from  hardware  with  that  of  the 

interleaved  data  generated  through MATLAB  and  then  by  checking  the  data  in 

order,  by  cascading  two  hardware  blocks,  first  configured  as  interleaver  and 

second  configured  as  de‐interleaver.  After  validating  the  correctness  of  the 

design, it was synthesized for 0.12µm standard CMOS technology and then layout 

was  generated  using  SoC  Encounter.  Core  size  of  the  proposed  architecture  is 20.18mm   which  is  lower  than  the  reference  designs  as  shown  in  Table  5.1.  As 

depicted in Figure 5.13, the gain in terms of silicon cost is achieved when; 1) we 

apply  on‐the‐fly  address  generation,  2)  data memory  is  shared,  and  3)  address 

generation circuitry is shared among WiMAX and DVB. 

Although  direct  comparison  of  area  with  commercially  available  FPGA 

implementations  [66]–[68]  is  not  possible,  but  looking  at  the  memory 

requirements  our  design  remains  efficient.  The  available  literature  reveals  that 

Table 5.1 :  HW usage comparison for interleaver implementation 

No.  Implementation Data Memory

Structure 

Total 

Memory SizeTotal Size 

Operating 

Frequency 

1. RAM  for WiMAX

(big off‐chip Mem.  

required) 

16.9K bit for 

addressing table 

+ 12.2K bit for Data 

28.5 Kbit  ‐‐‐  ‐‐‐ 

2.

RAM for DVB  

(General Structure) 

Extra Sync. Circuitry 

Needed 

32 x 8b x 1

64 x 8b x 2 

128 x 8b x 4 

256 x 8b x 4 

13.25 Kbit  ‐‐‐  ‐‐‐ 

3. Xilinx Virtex‐5 [66] Block RAM 

2048 x 9b x 1 18 Kbit 

210 LUTs 

+ memory 

262/360 MHz

Speed Grade ‐1/‐

4. Altera FLEX‐10KE [67] 

8 Embedded Array 

Blocks  

each 2048 bits 

16 Kbits 392 LEs  

+ memory 120 MHz 

5. Lattice ispXPGA [68] 8 Block RAMs

512 x 9b x 8 36 Kbits 

284 LUTs 

+ memory 132 MHz 

6. Ref. Design [51]  256 x 8b x 6 12 Kbit 0.60 mm2  100 MHz

7. Ref. Design [52]  256 x 8b x 6 12 Kbit 0.484 mm2  150 MHz

8. Ref. Design [53] 12 x 24b x 6

108 x 36b x 8 32 Kbit  0.72 mm2  200 MHz 

9. Ref. Design [54] 128 x 8b x 2

256 x 8b x 4 10 Kbit  ‐‐‐  ‐‐‐ 

10. Our Design 512 x 8b x 1

1024 x 8b x 1 12 Kbit  0.18 mm2  140 MHz 

Page 113: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

5.6  Implementation Results  87

 

 

5

these  commercial  implementations  use  dual  port  memory  support  from  block 

RAMs available on targeted FPGA platforms, which  is not a good choice for chip 

implementations.  Further,  it  also  reveals  that  they  do  not  compute  the  row  or 

column  permutations  on  the  fly;  instead  they  take  row  or  column  permutation 

tables  in  the  form of  a  configuration  file  as  input  and use  them  to  generate  the 

final  interleaved address.  In  this way,  the complexity  for on‐the‐fly computation 

of  permutation  patterns  is  avoided,  but  it  requires  extra  memory  to  store  the 

permutation patterns. 

Chip  core  layout  for  the  proposed  architecture  is  shown  in  Figure  5.14.  The 

design  can  run  up  to  140  MHz  without  any  pipelining  and  consumes  3.5mW 

0.1

0.2

0.3

0.4

0.5

0.6 A : NoMUX(Memory for bothAddress andData)

B : NoMUX(SeparateADGCore, SeparateDM)

C : PartialMUX(SeparateADGCore, SharedDM)

D : FullMUX(SharedADG, SharedDM)

A B C D

Area(mm2)

Figure 5.13 :  Cost comparison for hardware multiplexing 

M1 M2

ControlReg File

ADG Core

Figure 5.14 :  Layout snapshot of proposed interleaver architecture 

Page 114: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

88  Chapter 5: Channel Interleaving–Combining Block & Convolutional 

 

 

power  in  total.  Introducing  pipeline  stages,  it  can  further  enhance  the 

performance  at  the  cost  of more  silicon  and more  power.  The  interleaved  data 

from block interleaver for WiMAX or WLAN is provided in every clock cycle.  

The  proposed  architecture  provides  a  generalized  platform  to map  different 

block  interleavers  with  different  block  sizes  and  also  to  map  different 

convolutional interleavers having up to 12 branches and requiring a total memory 

less  than  or  equal  to  1536  bytes.  Performance,  low  silicon  cost  and  re‐

configurability for multiple standards make this architecture a suitable candidate 

to be adapted in many multimode communication systems. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Page 115: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

   

89 

6

6 Multimode Interleaving 

6.1 Background 

N  CONTINUATION  to  the  hardware  re‐use  for  wide  range  of  applications/ 

standards, this chapter combines multiple channel interleavers and turbo code 

interleavers  to  a  single  architecture.  A  variety  of  interleaver  implementations 

with  different  structural  properties  have  been  addressed  in  the  literature.  The 

main  area  of  focus  has  been  low  cost  and  high  throughput.  Most  of  the  work 

covers a single or a couple of interleaver implementations which is not sufficient 

for a  true multimode operation. The design of  interleaver architecture  for  turbo 

code internal interleaver has been addressed in [36] − [40]. Some of these designs 

have provided very low cost solutions. A later work [33] provides a good unified 

design for different standards; however, it covers only the turbo code interleavers 

and do not meet the complete baseband processing requirements demanding an 

all‐in‐one  solution. Work  in  [54],  [69]−[71]  covers  the  DVB  related  interleaver 

implementations only. The literature [32], [51]−[53], [72] focus on more than one 

interleaver  implementations  with  re‐configurability  for  multiple  variants  of 

wireless  LAN  and DVB. High  throughput  interleaver  architectures  for  emerging 

wireless communications based on MIMO‐OFDM techniques have been addressed 

in  [32]  and  [53].  These  techniques  need multiple‐stream processing  in  parallel, 

thus  requiring  parallel  address  generation  and  parallel  memory  architecture.  

Other than these published articles the commercial solutions [66]‐[68] for general 

purpose interleaver implementation also exist but the drawback is that they take 

row or column permutation tables in the form of a configuration file as input and 

I

Page 116: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

90  Chapter 6: Multimode Interleaving

 

 

use them to generate the final interleaved address. In this way, the complexity for 

on‐the‐fly computation of permutation patterns  is avoided, but  it  requires extra 

memory  to  store  the  permutation  patterns.  Further,  they  cannot  meet  the  fast 

switchability requirement for a multimode environment. 

A  summary  of  targeted  interleaver  implementations which  are  being widely 

used  is  provided  in  Table  6.1.  The  same  table  and  the  discussion  for  the 

challenges  associated  with  the  broad  range  of  coverage  have  already  been 

introduced  in Chapter 1. Looking  in  to  the range of  interleavers and parallelism 

requirement  for  the  multi‐stream  processing,  the  interleaver  configuration  is 

required  to  be  a  3D  array  as  shown  in  Figure  6.1.  Each  memory  in  the 

configuration refers  to a 2D address space (referring  to row‐column  interleaver 

operations),  and each memory  requires almost  independent address generation 

circuitry,  thus  sharing  the  computational  parts  is  of  significance.  The  address 

generation and memory requirements  for different  interleaver  implementations 

are  very  wide,  due  to  different  sizes,  width,  memory  banks  and  ports.  The 

memory organization and address computation will be explained in detail in the 

next sections. 

6.2  Shared Data Flow 

Exploring the similarities between different interleaving algorithms a data flow in 

general  is  shown  in Figure 6.2.  The data  flow  is  shared by different  interleaver 

types  summarized  in  Table  6.1. Many  of  the  interleaver  algorithms  in  different 

standards  e.g. WCDMA, WiMAX,  DVB  etc.  need  some  pre‐processing  before  the 

actual interleaving process. Therefore, the whole data flow has been divided in to 

two  phases;  the  pre‐computation  phase  and  the  execution  phase,  as  shown  in 

Figure 6.2(a) and (b). 

Stream -1Stream -2Stream -3Stream -4AGU

Data Write Permutations

Figure 6.1 :  3D view of interleaver configuration for a multi‐stream communication system 

Page 117: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

6.2  Shared Data Flow  91

 

 

6

Table 6.1 :  List of interleaver algorithms and permutations in different standards

Standard Interleaver Type

Algorithm / Permutation Methodology

HSPA+ BTC Multi-Step computation including intra-row permutation computation

1 %S j v S j p ; ( )r i T q i ;

, %( 1)U i j S j r i p ; %( 1)qmod i r i p ;

, , 1 % 1RA i j RA i j qmod i p ;

, ( , )i jI C r i U i j

Ist, 2nd, and HS-DSCH int.

Standard block interleaving with different column permutations.

% %k

k P C k R KR

LTE QPP for BTC 22

( ) 1 . . %xI f x f x N

Sub-Blk. int. Standard block interleaving with given column permutations.

WiMAX Channel interleaver Two step permutation %k

N kM k d

d d

; and

– %k kk k

M MJ s M N d s

s N

CTC interleaver

( %4 0) 0. 1 %xI P x N ; ( %4 1) 0 2. 1 1 %NxI P x P N ;

( %4 2) 0. 1 1 %xI P x P N ; ( %4 3) 0 2. 1 3 %NxI P x P N

WLAN Channel interleaver Two step permutation %k

N kM k d

d d

; and

– %k kk k

M MJ s M N d s

s N

802.11n Ch. Interleaver with Frequency Rotation

Two step permutation as above, with extra frequency interleaving i.e.

11 3 3

3%2 % ss

ss ROT BPSCk kR Ni

NJ i N

DVB-H Outer Conv. interleaver

Permutation defined by depth of first FIFO branch (M) and number of total branches.

Inner bit interleaver

Six parallel interleavers with different cyclic shift

%126eH w w ; where 0,63,105,42,21 and 84

Inner symbol interleaver

( ) ( )for even symbols; for odd symbolsH q q q H qy x y x ;

where 12

0

%2 2 2 ;r

r

NN j

ij

H q i R j

DVB-SH BTC ( ) ( 1) ( ) %32c cR j R j Inc j ; and

1( , ) ( ) ( 1, ) %bas TI i j T j M i j C

General Purpose Use

Row and/or Col. Perm. Given

Standard block interleaver with or without row or/and column permutation.

Page 118: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

92  Chapter 6: Multimode Interleaving

 

 

There  are  many  minor  differences  in  both  the  phases  when  we  consider 

different type of interleavers. One of the main differences is the different types of 

interleavers  i.e.  block  interleaver  or  convolutional  interleaver.  Other  than  the 

differences in address calculation for the two categories, a major difference is the 

memory access mechanism.  In  case of block  interleavers,  the memory  read and 

Pre-computation Done

Wait for StartPulseInt. TypeCheck for

Sync DataBlockConv.

Int.Type

Int.Type

Conv.

Block

Int

ResolveBranch No.

Produce InterleavedAddress Int. Mode

Produce LinearAddress

Write DataRead Data

De-int

Int. TypeInc. Addressto get ReadAddress

Delay6 Cycles

Conv. Conv.EndFrame

EndFrame

Block Block

Y

N

Y

Conv.

N

(a)

ConfigurationData Input

Compute SpecialParameters e.g.prime no.

ConditionCheck

Find No. ofRows or Cols

Int. Type

Ready

Compute / LoadPerm. Table

Init BrachBoundaries

NotSatisfiedNo special

parameterneeded

Satisfied

Block Type 1Conv. Type

BlockType2

(b)

Figure 6.2 :  Data flow graph for (a) Pre‐computation phase, (b) Execution phase 

Page 119: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

6.3  Multimode Interleaver Architecture 93

 

 

6

write is explicit, but the convolutional interleavers need to write and read at the 

same time. This demands a dual port memory; however, it is handled by dividing 

the memories and introducing a delay in the read path. 

6.3 Multimode Interleaver Architecture 

The possibility to share the data flow among different interleaver types provides 

the basis to multiplex the hardware components and combine the functionality of 

multiple  types of  interleavers. Exploring  the hardware  requirement  (Table 6.2), 

the top level architecture for the multimode interleaver is given in Figure 6.3. The 

hardware  partitioning  is  done  in  such  a  way  that  all  computation  intensive 

components are  included in the address generation block. The other partitioned 

blocks are register file, control‐FSM and memory organization block. These blocks 

are briefly described in the following sub‐sections. 

6.3.1 Address Generation (ADG) Circuitry 

Address  generation  is  the  main  concern  for  any  kind  of  interleaving.  By  going 

through all the interleaver implementations given in Table 6.1, different hardware 

requirements for computing elements and memory are summarized in Table 6.2. 

Looking at the modulo computation requirements, the use of adder appears to be 

the  common  computing  element  for  all  kinds  of  implementations.  Further 

RegisterFile

AddressGenerationCore

Data_In Interleaved Data_Out

LUT

ACSCtrl Logic

Decode Logic

Address/DataRouter

M0(2K x 6b)

M1(2K x 6b)

M2(1K x 6b)

M3(1K x 6b)

Configuration Vector

Control

Figure 6.3 :  Top level architecture 

Page 120: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

94  Chapter 6: Multimode Interleaving

 

 

observation reveals that adder is mostly followed by a selection logic. Therefore, a 

common computing cell named Acc_Sel , as shown in Figure 6.5, is used to cover all 

the  cases.  Table  6.2  shows  that  the  computational  part  of  the  reconfigurable 

implementation  can  be  restricted  to  have  8  additions,  1  multiplication  and  a 

comparator.  Unified  address  generation  for  different  standards  is  achieved  by 

multiplexing the computationally intensive blocks mentioned in Table 6.2.  

The  address  generation  hardware  is  shown  in  detail  in  Figure  6.4.  It  is 

surrounded by other blocks like control FSM, register file and some lookup tables. 

It  utilizes  8  Acc_Sel  units  with  a  multiplier  and  a  comparator.  The  re‐

configurability  is mainly achieved  through changing  the behavior of Acc_Sel  and 

appropriate multiplexer selection. The control signals  _Add Sub,  _ _Ext Ctrl En and 

Table 6.2 :  Architecture exploration for different standards 

Standard  Interleaver Type Block 

Size Adder  Multiplier HW LUT 

Configurable 

LUT / Reg 

Memory Size 

(SB: Soft Bits)

HSPA+  Prime interleaver 

for BTC 

5114  7 1 20 x 5b

440 x 7b 

52 x 14b 

20 x 8b

256 x 8b 

2x5114 x SB

Ist, 2nd and HS‐

DSCH Interleaving 

5114  2 1 15 x 3b

32 x 5b 

‐‐ 5114 x SB 

3GPP‐LTE  QPP interleaver for 

BTC 

6144  5 ‐‐ 188 x 

19b 

2 x 13b 2x 6144 x SB

Sub‐Block   6144  2 1 32 x 5b ‐‐ 6144 x SB 

WiMAX 

(802.16e) 

Channel 

interleaver 

1536  5 1 15x4b 2 x 2b

1 x 11b 

1536 x SB 

Block interleaver  

b/w RS and CC 

2550  2 1 ‐‐ ‐‐ 2550 x 8b 

CTC interleaver 2400  4 ‐‐ 32 x 27b 1 x 12b 4x2400 x SB

WLAN(802.

11 a/b/g) 

Channel 

interleaver 

288  5 1 15 x 4b 2 x 2b

1 x 9b 

288 x SB 

802.11n  

Enhanced 

WLAN 

Channel 

interleaver with 

frequency rotation 

2592  9 1 30 x 4b

24 x 9b 

2 x 2b

2 x 10b 

4 x 648 x SB

DVB 

ETSI EN 

300‐744  

 

Outer conv. 

interleaver  

1122  4 1 ‐‐ 11 x 11b 357 x 8b 

765 x 8b 

Inner bit 

interleaver 

126  8 ‐‐ ‐‐ 21 x 1b

126 x 1b 

2 x 126 x 1b

2 x 126 x 2b 

Inner symbol 

interleaver 

6048  1 ‐‐ 30 x 1b ‐‐ 6048 x 6b 

General 

purpose 

use 

Row or/and 

Column perm. 

given as a table 

4096  2 1 ‐‐ 256 x 8b

64 x 6b 

4096 x SB 

Page 121: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

6.3  Multimode Interleaver Architecture 95

 

 

6 _Sel Ctrl are used to define the behavior of Acc_Sel block. Using these signals in an 

appropriate way, this block can be configured as an adder, a subtractor, a modulo 

operation with MSB of the output as the select line, or just a bypass. All these re‐

configurability  features make  it  a  very  useful  common  computing  element.  The 

address generation block takes the configuration vector and configures itself with 

the help of a decoder block and part of the LUT. The configuration vector is 32 bit 

wide,  which  defines  block  size,  interleaver  depth,  interleaving  modes  and 

modulation schemes. 

The  ADG  block  generates  the  interleaved  address  based  on  all  the 

permutations involved in implementing a block interleaver, whereas, it generates 

memory  read  and  write  addresses  concurrently  while  implementing  a 

convolutional  interleaver. The role of ADG block  to be used as an  interleaver or 

de‐interleaver  is  mainly  controlled  by  the  controller  after  employing  an 

addressing  combination  (permuted  or  sequential  addressing)  for  writes  and 

reads from the memory. 

ControlFSMLUTRegister

FileDecodeLogic

Mux-AddCtrl Logic

Address / Data Selection and Multiplexing

M0(2K x 6b)

M1(2K x 6b)

M2(1K x 6b)

M3(1K x 6b)

Data_InInterleaved /De-InterleavedData_Out

Acc-Sel Acc-Sel Acc-Sel Acc-Sel A x B

CompareAcc-SelAcc-SelAcc-SelAcc-Sel

Configuration

M1

C

M2

N 0 0 DVB_R

N C d

C N N

A1 A2 A3 A4

A8A7A6A5

M3 M4 M5 M6 M7 M8 M9

M10 M11 M12 M13 M15 M16 M17 M18

M18

M19a1c1s1

a2c2s2

a3c3s3

a4c4s4

a5c5s5

a6c6s6

a7c7s7

a8c8s8

N

M14

Mux and Adders

Figure 6.4 :  Address generation schematic in detail 

Page 122: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

96  Chapter 6: Multimode Interleaving

 

 

6.3.2 Control FSM 

Two modes of operation for the hardware are defined as pre‐computation mode 

and  execution mode.  In  order  to  handle  the  sequence  of  operations  in  the  two 

modes a multi‐state control FSM is used. The flow graph of the control is shown in 

Figure  6.6.  During  pre‐computation  phase,  the  FSM  may  perform  two  main 

functions:  1)  Computation  of  necessary  parameters  required  for  interleaver 

address  computation  and  2)  initialization  of  registers  to  become  ready  for 

execution phase. Other than IDLE state, 5 states (S1~S4, S8) are assigned for pre‐

computation.  The  common  parameter  to  be  computed  in  the  pre‐computation 

phase  is  number  of  rows  or  columns,  however,  some  specific  parameters  like 

prime number p, and intra‐row permutation sequence  ( )S j  in WCDMA turbo code 

interleaver are also found during this phase. The interleaver functions, where pre‐

computation  is  not  needed,  the  pre‐computation  or  initialization  steps  are 

bypassed and control FSM directly jumps to the execution phase. The extra cycle 

cost  associated with  the  pre‐computation  has  been  investigated  for  the  current 

implementation and the results are presented in a later section. In the execution 

phase,  the  control  FSM  helps  in  sequencing  the  loading  of  data  frames  in  to 

memory or  reading data  frames  from memory.  In  total 4 states  (S5~S7, S9) are 

assigned  for execution phase. S9  is used  for convolutional  interleaver case only, 

whereas  states  S5~S7  are  reused  for  all  types  of  interleavers.  During  the 

execution phase the control FSM also keeps track of block size by employing row 

and column counter, thus providing the block synchronization required for each 

type of interleaver implementation. 

6.3.3 Memory Organization 

Memory requirements for different types of interleaver implementations are very 

much  different  as  listed  in  Table  6.2.  Also,  soft  bit  processing  in  the  decoder 

+/-

0 1

Out

Add_Sub

0

1 Sel_Ctrl

Ext_Ctrl_En

Sel_Ctrl

Out

OP-A OP-B

Ext_Ctrl_EnAdd_Sub

Acc-Sel

OP-A OP-B

Figure 6.5 :  An accumulation and selection cell (acc_sel) 

Page 123: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

6.3  Multimode Interleaver Architecture 97

 

 

6

implies different requirements of bit width for different conditions and decoding 

architectures. The maximum width  requirement  is 6 bit  for  symbol  interleaving 

and 8 bit for part of the memory in WCDMA. Multi‐stream transmission requires 

multiple  banks  of  memories  in  parallel.  The  size  of  the  memory  is  taken  as 

2x6144xSB,  which  is  due  to  the  large  block  size  requirements  for  3GPP‐LTE, 

3GPP‐WCDMA and DVB. 

Memory  partitioning  is  mainly  motivated  by  the  high  throughput 

requirements from the multi‐stream system e.g. 802.11n. Four memory banks in 

parallel are required for 802.11n, which also appears to be a good choice to meet 

other requirements as well. Parallel memory banks can also be used in series to 

form a larger memory. Partial parallelism can also be used where larger memory 

width is needed. Another benefit of using multiple memory banks is to avoid the 

use of dual port RAM, which is not silicon efficient. Thus all the memories in the 

design  are  single  port  memories.  The  interleaved  addresses  for  block  and 

convolution  interleavers,  computed  by  address  generation  block,  are  combined 

S2

S5S9

S7 S6

S0

S1

S3 S4S8

reset

Find P

If(PxR<N-R) Only

WCDMAIf R or C to be

computed

If R or C notneeded

FindR or C

ComputePerm. Table

Perm. Tableinit. complete

No perm.table needed

Conv.interleaver

Init BranchBoundaries

Branch

Boundaries

initcomplete

No Sync

Sync

Present

CheckSync

WaitStartPulse

i < Ni < N

int

int

int

de-int

de-int

de-int

Load newConfiguration

Start

Pre-ComputationPhase

ExecutionPhase

Figure 6.6 :  FSM state graph 

Page 124: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

98  Chapter 6: Multimode Interleaving

 

 

according  to  the  configuration  requirement  to make  the  final memory  address. 

Figure  6.7  shows  the  memory  organization  with  address  selection  logic. 

Particularly  for  convolutional  interleaving,  a  small  delay  line with  depth  of  6  is 

used in the path of read addresses and control signals. It helps to avoid the data 

write and read for the same memory in a single clock cycle. 

6.4 Algorithmic Transformation for Efficient Mapping 

The main  objective  is  to  use  single  architecture  for  interleaver  implementation 

with maximum hardware  sharing among different  algorithms. The versatility of 

interleaving  algorithms  makes  it  an  in‐efficient  implementation  when  original 

algorithms  are  directly mapped  to  some  architecture.  On  the  other  hand  some 

transformations  based  on  modular  algebra  can  be  applied  to  the  original 

algorithms to make them look alike and then hardware sharing among different 

implementations  can  be  efficient.  The  following  sub‐sections  present  some 

transformation  examples  for  selected  algorithms  e.g.  channel  interleaving  for 

WiMAX  and WLAN  including  802.11n  with  frequency  rotation,  bit  and  symbol 

interleaver in DVB. Detailed explanations for turbo code block interleaving in LTE, 

WiMAX,  WCDMA/HSPA  and  convolutional  interleaving  have  already  been 

1

0

0

1

1

0

Delay Buf

mode

mode

1

0

de-int

de-int

Logic

mode

Data_in

R/W ctrl

i_ss_1 ~ i_ss_3

[11:6]

[23:18][5:0]

[17:12][5:0]

[5:0]

[5:0]Conv-IntRd_addr

Conv-IntWr_addr

Index_count (i)

i_addr / i_ss_0

[5:0]

[11:6]

[17:12]

[23:18]

24

[11:0]

[23:12]

[5:0][11:6][17:12][23:18]

M0(2K x 6)

A

DW/R

M1(2K x 6)

A

DW/R

M2(1K x 6)

A

DW/R

8

6

M3(1K x 6)

A

DW/R

[23:0] 24

24

i_ss_3

i_ss_2

i_ss_1

Conv. Interleaver Ist Branch Data

SoftBit

DataOut

Figure 6.7 :  Memory address selection and data handle 

Page 125: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

6.4  Algorithmic Transformation for Efficient Mapping 99

 

 

6

provided in prior chapters, therefore, they will not be repeated here; however, the 

architecture here includes support for all of them.  

6.4.1 Channel Interleaving in WiMAX and WLAN 

The channel interleaving in 802.11a/b/g (WLAN) and 802.16e (WiMAX) is of the 

same  type  except  the  different  block  sizes.  Two  sets  of  equations  have  been 

defined  for  interleaver  and  de‐interleaver,  which  are  inverse  to  each  other. 

Therefore  implementation  of  any  one  set  of  equations  can  be  sufficient.  The 

functionality  of  the  other  will  then  be  implemented  by  swapping  the  read  and 

write sequences.  The two steps of permutations with index k for interleaver data 

are expressed by the following equations: 

%kN k

M k dd d

  (6.1) 

– %k kk k

M MJ s M N d s

s N

  (6.2) 

Here  N   is  the  block  size  corresponding  to  the  number  of  coded  bits  per 

allocated  sub‐channels  and  the  parameter  s  is  defined  as  {1, / 2}BPSCs max N ,  

where  BPSCN  is the number of coded bits per sub‐carrier (i.e. 1, 2, 4 or 6 for BPSK, 

QPSK, 16‐QAM or 64‐QAM respectively). The operator %  is the modulo function, 

computing the remainder and the operator  x  is the floor function, i.e., rounding 

x towards zero. The range of n and k is defined as  0,1,2,..... 1N . Similarly the two 

steps of permutations for index n are given by: 

%nn n

m s n sds N

  (6.3) 

1 nn n

mk d m dN

N

  (6.4) 

The  simplification  and  implementation  of  equation  set  (6.3)  and  (6.4)  is 

already covered in previous chapter. Here the first set of equations i.e. (6.1) and 

(6.2) will  be  taken  for  further  simplifications.  The direct  implementation  of  the 

above  mentioned  equations  is  very  much  hardware  in‐efficient  and  also  the 

mapping  on  to  the  proposed  unified  interleaver  architecture  is  not  possible. 

Therefore,  realization of  two 1‐D equations  in  to 2‐D  space and  computation of 

interleaved  address  in  a  recursive  way  is  adopted  to  reduce  the  hardware 

complexity as explained in the following sub‐sections. 

Page 126: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

100  Chapter 6: Multimode Interleaving

 

 

BPSK – QPSK 

As  BPSCN   is  1  and  2  for  BPSK  and  QPSK,  respectively,  thus  1s   for  both  the 

cases and (6.2) simplifies to the following form: 

%kN k

k dd d

J   (6.5) 

Considering the  interleaver as a block  interleaver,  the parameter d   is usually 

considered as total number of columns  COLN , and parameter  /N d  is taken as total 

number of rows  ROWN , but the column and row definitions are swapped hereafter. 

The parameter d  is taken as total number of rows and parameter  /N d  is taken as 

total number of columns. The functionality still remains the same, with the benefit 

that  it  ends  up  with  the  recursive  expression  for  all  the  modulation  schemes. 

According  to  new  definitions,  the  term  %k d   provides  the  behavior  of  row 

counter  and  the  term  /k d   provides  the  behavior  of  column  counter.  Thus 

introducing two new variables i and  j as two dimensions, such that  j increments 

when i expires, the ranges for i and  j are mentioned below: 

0,1, 1 and 0,1, 1Ni d j d   (6.6) 

which  satisfies  against k when  %i k d   and  /j k d . Defining  total  number of 

columns as  /C N d , (6.5) can be written as: 

,i jJ C i j   (6.7) 

The recursive form after handling the exception against  0i  can be written as: 

,( 1),

( 0)i j

i j

j if iJ

J C otherwise

  (6.8) 

By defining row counter i as  cR  and column counter  j as  cC ,  the hardware for 

(6.8)  is  shown  in  Figure  6.8(a).  The  case  of  BPSK  and  QPSK  do  not  carry  any 

specific  inter‐row  or  inter‐column  permutation  pattern,  thus  it  ends  up with  a 

relatively simple hardware. 

16–QAM 

16‐QAM scheme has 4  coded bits  per  sub‐carrier,  thus parameter  s  is  2  and 

(6.2) becomes: 

2 %22

k kk k

M d MJ M N

N

  (6.9) 

Page 127: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

6.4  Algorithmic Transformation for Efficient Mapping 101

 

 

6

Like BPSK/QPSK case, algebraic only steps cannot be used here to proceed due 

to the presence of floor and modulo functions. Instead, all the possible block sizes 

for 16‐QAM are analyzed to restructure the above equation. Decomposition of the 

permutation  function  to  reach  to  a  new  structure  has  been  demonstrated  in 

section  5.2.  In  a  similar  way  the  following  structure  in  (6.10)  appears  to  be 

equivalent to (6.9) and at the same time resembles the structure of (6.5), thus it is 

a good candidate for efficient hardware multiplexing.  

2%k kN k

J k d rd d

  (6.10) 

The extra term   2kr   is defined by the following expression: 

2 1 %2 %2 1 %2 %2 1 %2 %2kk k

r k k k kd d

  (6.11) 

This  term appears due  to  the reason  that  the  interleaver  for 16‐QAM carries 

specific  permutation  patterns,  which  makes  the  structure  more  complicated. 

Considering  the  2‐dimensions  i  and  j  having  range  as  mentioned  in  (6.6),  the 

behavior of  the  term  %2k   is  the  same as  that of  %2i , when  i  is  the  row counter. 

Thus (6.10) can be written in 2‐D representation as follows: 

, 2( 1), ,

( 0)i j

i j i j

j if iJ

J C r otherwise

  (6.12) 

where        2, 1 %2 %2 1 %2 %2 1 %2 %2i jr i i j i i j   (6.13) 

The expression can be simplified further to a smaller expression but it is easy 

to  realize  the  hardware  from  its  current  form.  The  modulo  terms  can  be 

implemented by using the LSB of row counter  cR  and column counter  cC , and the 

required sequence can be generated with the help of an XOR gate and an adder as 

shown in Figure 6.8(b). 

64–QAM 

The parameter s is 3 for 64‐QAM, thus (6.2) becomes: 

3 % 33

k kk k

M d MJ M N

N

  (6.14) 

The  presence  of modulo  function  %3x   makes  it  much  harder  to  reach  some 

valid mathematical  expression algebraically. Different  structures  for all possible 

Page 128: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

102  Chapter 6: Multimode Interleaving

 

 

block  sizes  for  64‐QAM  are  analyzed  and  the  de‐composed  structure  similar  to 

(6.8) and (6.12) and equivalent to (6.14) is given below: 

, 3( 1), ,

( 0)i j

i j i j

j if iJ

J C r otherwise

  (6.15) 

where i and  j represent two dimensions and their range is given by (6.6). Defining  

' %3i i   and   ' %3j j  , the additional term  3,i jr   is given as: 

3,

' ' 1 ' ' 1 ' ' 11 ' 2 1 ' '

2 2 2

' ' ' 1 2 ' ' ' 1 1 ' ' ' 1

' ' 1 ' ' 1 ' ' 12 1

2 2 2

i j

j j i i i ir j i i

j j j i i i i i i

j j i i i i

  (6.16) 

The  term  3,i jr   provides  the  inter‐row  and  inter‐column  permutation  for  3s  

against row counter i and column counter  j. The expression for  3,i jr  looks very long 

and complicated but eventually, it gives a hardware efficient solution as the terms 

inside curly braces are easier to generate through a very small lookup table. The 

outer  terms  define  a  multiplexer  using  the  small  scale  formulation  for 

multiplexers  as  presented  in  section  3.6.  The  generic  form  for  (6.8),  (6.12)  and 

(6.15) to compute the interleaved address  ,i jI  can be written as: 

+/-0

1

RCc

C

(Rc==0)‘1’

Ji,j+0

1

RCc

C(Rc==0)

Ji,j+

(a) (b)

Rc[0]

Cc[0]

(c)

start_fr

+/-0

1

RCc

C(Cc % 3)

(Rc==0)

Mod_schemeCcRc

Logic

(Rc % 3)

+

R

Rri,j

I(i,j)Logic

Figure 6.8 :  Interleaver address generation for: (a) BPSK–QPSK, (b) 16‐QAM,  (c) Combined for all modulation schemes 

Page 129: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

6.4  Algorithmic Transformation for Efficient Mapping 103

 

 

6

,( 1), ,

( 0)i j s

i j i j

j if iI

I C r otherwise

  (6.17) 

Here  parameter  s  distinguishes  between  different  modulation  schemes.  For 

BPSK/QPSK  1, 0i jr  , and for 16‐QAM and 64‐QAM,  2

,i jr  and  3,i jr  is given by (6.13) and 

(6.16) respectively. The hardware realization supporting all modulation schemes 

is shown in Figure 6.8(c). It appears to be a much optimized implementation as it 

involves only two additions, some registers and a very small lookup table. 

6.4.2 Frequency Interleaving in 802.11n 

The  transmission  in  802.11n  can  be  distributed  among  four  spatial  streams  as 

shown  in  Figure  6.9.  The  interleaving  requires  frequency  rotation  in  the  case 

when more than one spatial stream is being transmitted. The frequency rotation 

is  applied  to  the  output  of  the  second  permutation  kJ .  The  expression  for 

frequency rotation for spatial stream  ssi  is given below: 

11 2 %3 3 %

3ss

k k ss ROT BPSC

iR J i N N N

  (6.18) 

Here  ROTN  is the parameter which defines different frequency rotations for 20 

MHz  and 40 MHz  case  in  802.11n.  The  frequency  rotation  also  depends  on  the 

index of  the spatial stream  ssi ,  thus each spatial stream faces different  frequency 

rotation. Defining the rotation term as  ROTJ , i.e. 

11 2 %3 3

3ss

ROT ss ROT BPSCS

iJ i N N

  (6.19) 

Therefore                              %k k ROTR J J N   (6.20) 

The range for the term  k ROTJ J  is not bounded and it can have value greater 

than 2N , thus direct implementation cannot be low cost. Analyzing the two terms  

FECEcoder

InterleaverStream Parser

RF

RF

RF

RF

Mapper

Mapper

Mapper

Mapper

1

2

3

4

Interleaver

Interleaver

Interleaver

Figure 6.9 :  Use of interleaver in multiple spatial streams (802.11n) 

Page 130: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

104  Chapter 6: Multimode Interleaving

 

 

%kJ N    and  %ROTJ N  separately,  it  is observed that the second term provides 

the  starting  point  for  computing  the  rotation  kR .  As  the  rotation  is  fixed  for  a 

specific  spatial  stream,  the  starting  value  %ks ROTr J N     also holds  for  all  run 

time computations. Eq. (6.20) in combination with eq. (6.17) can be written as: 

, , %ssii j k i j ksJ R J r N   (6.21) 

Here    ,ssi

i jJ     is  the  joint  address  after  applying  both,  spatial  interleaving  and 

frequency  interleaving  against  row  index  i,  column  index  j  and  spatial  stream 

index  ssi .    A  lookup  can  be  used  for  the  starting  values  for  ksr   against  different 

spatial streams. The  ksr  values for all the cases follow the condition  ksr N , which 

depicts that the term  k ksJ r  cannot be larger than 2N . Therefore, the frequency 

rotation can be computed with a very small hardware as shown in Figure 6.10. 

6.4.3 Multi‐stream Support in 802.11n  

The  spatial  interleaver  address  generation  block  shown  in  Figure  6.8(c)  is 

denoted as Basic Block (BB) and the frequency rotation block as shown in Figure 

6.10  is  denoted  as  Auxiliary  Block  (AB).  Both  these  blocks  combine  to  form  a 

complete  address  generation  circuit  for  one  spatial  stream.  In  order  to  provide 

support for four streams in parallel, one may consider replicating the two blocks 

four times. However, an optimized solution would be to use 2 basic blocks and 2 

auxiliary blocks, still providing support for 4 spatial streams. The hardware block 

diagram to generate the interleaver addresses for multiple streams in parallel  is 

shown in Figure 6.11. This hardware supports quick configuration changes  thus 

provides full support to any multi‐tasking environment. If some new combination 

of  modulation  schemes  is  needed  to  be  implemented,  which  is  not  supported 

already,  the  interfacing  processor  can  do  task  scheduling  for  different  types  of 

modulation schemes. 

SpatialStreamAddr

Nmsb

1

0

LUT(rks)

Ji,j

+

Figure 6.10 :  HW for frequency rotation in 802.11n 

Page 131: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

6.4  Algorithmic Transformation for Efficient Mapping 105

 

 

6

6.4.4 Channel Interleaving in DVB 

The two famous variants of digital video broadcast (DVB) are DVB‐T (targeted for 

home  video  with  fixed  antenna  and  fixed  receiver)  and  DVB‐H  (targeted  for 

handheld devices with mobile receiver). Two levels of coding i.e. inner coding and 

outer  coding  are  applied  in  the  DVB  channel.  The  outer  coding  involves  a 

convolutional  interleaver  whereas  the  inner  coding  involves  two  types  of 

interleaving  i.e.  bit  interleaving  and  symbol  interleaving.  The  convolutional 

interleaver  will  not  be  discussed  here  as  it  has  already  been  covered  in  the 

previous chapter.  

The symbol interleaving can be done for different configuration modes i.e. 2K‐

Mode  or  8K‐Mode.  DVB‐H  introduces  multiprotocol  encapsulation  encoding 

(MPE‐FEC) along with 4K‐Mode in‐depth interleaver in order to improve Carrier‐

to‐Noise  ratio and Doppler performance.  In addition, 2K mode can also be used 

with in‐depth configuration. The implementation of in‐depth interleaver mode is 

adopted here, and the other modes being subset of it can be accommodated easily. 

The following sub‐sections explain the implementation strategy for the two types 

of interleavers used in the inner coding. 

6.4.4.1 Bit Interleaver 

In DVB, the number of parallel bit interleavers can be 2, 4 or 6 depending on the 

type of modulation scheme. Each interleaver has same block size i.e. 126 but has 

different  permutation  sequence.  The  permutation  function  eH w   for  each 

interleaver for index w is given below: 

BB2

0

10/1/2

0

1C2

AB1

0

1BB10/1/2

C1

AB2

0

1

LUT

i_ss_1

i_ss_2

i_ss_3

i_ss_4

rks_1

rks_2rks_3

M1

M2M3

M4

Basic Block Auxiliary Block

Figure 6.11 :  HW for quad stream interleaver 

Page 132: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

106  Chapter 6: Multimode Interleaving

 

 

0 : eI H w w

1: 63 %126eI H w w

2 : 105 %126eI H w w

3: 42 %126eI H w w

4 : 21 %126eI H w w

5 : 84 %126eI H w w

By  looking  at  the  permutation  function  eH w ,  it  is  observed  that  each 

interleaver  provides  a  cyclic  shift  to  the  input  data.  The  most  appropriate 

hardware  to  implement  these  permutations  would  be  to  use  the  chain  of  shift 

registers with the help of some multiplexers as shown in Figure 6.12(a). The other 

approach  could  be  to  use  six  small memories  in  place  of  shift  registers.  In  this 

case,  the  address  for  writing  and  reading  has  to  be  computed  using  modulo 

additions. As four memories are already available in the complete design, the goal 

here is to not increase the number of memories and still accommodate this type of 

interleaver. The parallel implementation of six bit interleavers is organized in the 

way  that  4  memories  are  used  for  four  interleavers  I1,  I2,  I3  and  I4,  and 

interleaver I5  is  totally  implemented in the register file by configuring it  in shift 

register mode. In this configuration the shifted output is fed back to the register 

file to form a long chain of single bit registers. The first interleaver I0 is partially 

implemented  in  register  file  (for  buffer  use  only)  and  partially  it  is  sharing  the 

(b)

(a)

Shift Registers

Interleaver / De-interleaverPermutation

0 21 42 63 84 105

Data out

6

6

Data in

load

0

1

I0 Buffer

M3

M1

2

2

I4 data in

I2 data in

I0 data in

1

0

0

10

1I0 data_out

I4 data_out

I2 data_out

Cmp flag

Cmp flag

Int/de-int

Figure 6.12 :  (a) Conventional bit interleaving approach, (b) Memory sharing of I0 bit interleaver with I2 and I4 

Page 133: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

6.4  Algorithmic Transformation for Efficient Mapping 107

 

 

6

memories  with  interleavers  I2  and  I4  as  shown  in  Figure  6.12(b).  While 

interleaving mode  is  on,  I0  shares memory with  I4, whereas,  it  shares memory 

with I2 when de‐interleaving mode is on. This approach reduces the requirement 

for buffer size for interleaver I0 to 21 which is easily manageable in the register 

file along with  I5. The output of all  the  six  interleavers are grouped  together  to 

form  multi‐bit  symbols.  The  implementation  for  bit  interleaver  specified  here 

might  not  be  optimal,  but  the  objective  to  not  increase  any  memory  for 

supporting this kind of interleaving, is achieved.  

6.4.4.2 Symbol Interleaver 

DVB standard uses 2k, 4k and 8k modes with different block  sizes  for  versatile 

transmission. The block size, also referred as symbol size, is 1512, 3024 and 6048 

for  2k,  4k  and  8k  mode  respectively.  These  blocks  are  formed  using  multiple 

groups  of  information  from  bit  interleaver.  Despite  the  given  frame  sizes,  the 

interleaver address generation has to be done for  112 ,  122  and  132  locations and valid 

addresses are found through comparison with frame size. Symbol interleaver has 

the unique  requirement  that  even‐indexed‐symbols have  to be processed  in  the 

way that interleaving permutations are applied while writing the data to memory. 

However,  in  case  of  odd‐indexed‐symbols,  the  interleaver  permutations  are 

applied while reading the data from memory. The symbol interleaving algorithm 

[47] is given below: 

Let the incoming sequence be  0 1 2 1, , , Nx x x x  for the data block of size 

N. Its permutation to the new sequence  0 1 2 1, , , Ny y y y  is defined by: 

                  ( )

( )

0,1, 2, 1

0,1, 2, 1H q q

q H q

y x forevensymbolsforq N

y x foroddsymbolsforq N

 

A ( 1rN ) bit binary word  'iR  is defined, with  2 ( )r maxN log M  where  maxM  is 

2048, 4096 and 8192 in 2K, 4K and 8K mode respectively. Here  'iR  takes the 

following values: 

                  

'2 3

'2 3

' '3 1 2

0,1 , , ,1,0 0,0, ,0,0

2 , , ,1,0 0,0, ,0,1

2 , ,1,0 , , 2,1

i r r

i r r

max i r i r

i R N N

i R N N

i M R N R N

 

The MSB for  'iR  for different modes is derived as follows: 

                  

' ' '1 1

' ' '1 1

' ' ' ' '1 1 1 1

2 0 3

4 11 0 2

8 1

10

2 0 1 4 6

i i i

i i i

i i i i i

Kmode R R R

Kmode R R R

Kmode R R R R R

 

Page 134: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

108  Chapter 6: Multimode Interleaving

 

 

The bit permutations  to derive  the vector  iR     from  'iR     for 2K, 4K and 8K 

mode are given in Table 6.3.  

The permutation function  ( )H q  is defined by the following algorithm: 

                   0;q  

                   0; ; 1 {maxfor i i M i i  

                           1

2

0

%2 2 2 ;r

r

NN j

ij

H q i R j

 

                           1;if H q N q q  

                   } 

The algorithm appears to be very complex but hardware realization is simple. 

It can be implemented with the help of a register configured as a pseudo random 

number  generator  along with  some  control  and  compare  logic.  Valid  addresses 

defined  as  ( )H q   are  generated  after  comparison.  As  the  valid  addresses  are  not 

produced  every  clock  cycle,  some  intermediate  buffer  is  needed  to  handle  the 

2K 4K 8K

Wire Permutation Logic

2K 4K 8K

Wire Permutation Logic

‘1’‘0’

R

Ri+1RiCompare

Control

N

Figure 6.13 :  H(q) address generation in DVB symbol interleaver 

Table 6.3 :  Wire permutations in symbol interleaver for DVB 

Mode  bit position against  

11  10  9  8  7  6  5  4  3  2  1  0 

2K  ‐‐ ‐‐  0  7 5 1 8 2 6 9 3 4 

4K  ‐‐ 7  10  5 8 1 2 4 9 0 3 6 

8K  5 11  3  0 10 8 6 9 2 4 1 7 

Page 135: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

6.4  Algorithmic Transformation for Efficient Mapping 109

 

 

6

smooth entry of  the data  in  to  the memory.   This buffer can grow quite  large  in 

size. This situation has been avoided by adopting the look‐ahead approach. In this 

case  two  consecutive  addresses  are  computed  at  the  cost  of  very  small  logic 

overhead,  and  after  comparison  one  is  selected.  It  guarantees  that  one  valid 

address  ( )H q  will be produced in every clock cycle which is possible only due to 

the  fact  that  two  consecutive  valid  addresses  generated  by  using  the  algorithm 

given  above  are  separated  at  most  by  one  invalid  address.  The  hardware  for 

generating the permutation addresses  ( )H q  is shown in Figure 6.13.  

6.4.5 1st, 2nd and HS‐DSCH Interleaving in WCDMA 

The  interleaving  operation  used  for  1st  interleaving,  2nd  interleaving  and 

interleaving for High Speed Downlink Shared Channel (HS‐DSCH) involves block 

interleaving  with  different  inter‐column  permutations.  Number  of  columns  for 

these  implementations  is provided  for different  cases  and maximum number of 

columns  for  any  case  is  32.  However,  total  number  of  rows  for  1st  and  2nd 

interleaving has  to be  found. As  there  is  no  row permutation  involved  thus  the 

implementation of this kind of block interleaver is much simpler than the internal 

interleaver  for  Turbo  codes.  With  column  permutation  C j   against  column 

number  j, and using row counter  cR i , a multiply and add operation can directly 

be used to compute the interleaved address, as given below: 

, ( )i j cI C R C j   (6.22) 

In  absence of  row permutations,  use of multiplier  can easily be  avoided and 

only additions can be used to get the result, however, use of a multiplier is helpful 

in maintaining the generality of the design. 

6.4.6 Interleaving for General Purpose Use 

The  interleaver  core  is  targeted  to  be  used  as  an  accelerator  core  with  a 

programmable  processor.  Although  the main  focus  is  to  support  the  standards 

discussed here, however, programmability of the processor may target a different 

type of  interleaver  implementation which  is not directly supported by this core. 

To make  it  still  usable,  support  for  some  indirect  implementation  of  any  block 

interleaver having row or column permutations is also provided. In this case the 

interleaver  core  is  configured  to  implement  general  interleaver  with  external 

permutation patterns.  The permutation patterns  are  computed off  the  chip  and 

loaded in either of the two or both memories, M2 and M3 during pre‐computation 

Page 136: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

110  Chapter 6: Multimode Interleaving

 

 

phase. Excluding these two memories, another restriction on maximum block size 

(i.e.  4096) will be  imposed  in  this  case. This  type of  approach  is  adopted by all 

commercially available interleaver implementations.  

Off  chip  computation  of  interleaver  permutations  and  loading  them  in  to 

memory can impose more computation and time overheads at the processor side. 

Another  drawback  is  that  it  does  not  support  fast  switching  between  different 

interleaver  implementations.  A  real  multimode  processor  may  require  fast 

transition  from one standard  to another;  therefore,  it  is not a perfect choice  for 

real multimode environment. 

6.5 Implementation Results 

The  presented  re‐configurable  hardware  interleaver  design  provides  the 

complete  solution  for multimode  radio baseband processing. The wide  range of 

standard support  is  the key benefit  associated with  it. The RTL code  for  the  re‐

configurable interleaver design was written in Verilog HDL and the correctness of 

the design was verified by testing for maximum possible cases. To target the use 

of  interleaver  core with  a multimode baseband processor,  one of  the  important 

parameters  to  be  investigated  is  the  pre‐computation  cycle  cost.  A  lower  pre‐

computation  cycle  cost  is  beneficial  for  fast  switching  between  different 

standards. Table 6.4 shows the worst case cycle cost during pre‐computation for 

different  interleavers.  It  is observed  that  the  cycle  cost  in WCDMA  is higher  for 

some block sizes, but still it works fine, as it is less than the frame size and it can 

Table 6.4 :  Pre‐computation cycle cost for different standards 

Standard  Worst case pre‐computation cycle cost 

802.11 a/b/g – WLAN Channel interleaver 20

802.16e – WiMAX Channel interleaver 98

3GPP‐WCDMA Block turbo code  

(Depends on Block size ‘N’) 

15 for (N=40)

23 for (N=41) 

802 for (N=5040) 

563 for (N=5114) 

ETSI EN 300‐744 – DVB  

(Inner symbol interleaver) 

15

802.11n – Extended WLAN  38

General purpose use Depends  on  external  HW  i.e.  loading  the 

permutations 

All others  Less than 3

Page 137: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

6.5  Implementation Results  111

 

 

6

be easily hidden behind the first SISO decoding by the turbo decoder. The worst 

case pre‐computation cycle cost for other interleaver implementations is not very 

high. Therefore, the design supports fast switching among different standards and 

hence it is very much suitable for a multimode environment. 

The multimode interleaver design was implemented in 65nm standard CMOS 

technology  and  it  consumes  20.126mm   area.  The  chip  layout  is  shown  in  Figure 

6.14 and the summary of the implementation results is provided in Table 6.5. The 

design can run at a frequency of 166 MHz and consumes 11.7mW power in total. 

Therefore, having 4 bit parallel processing for four spatial streams (e.g. 802.11n) 

maximum  throughput  can  reach  up  to  664  Mbps.  However,  this  throughput  is 

limited to 166 Mbps for single stream communication systems. Table 6.6 provides 

the comparison of  the proposed design to others  in terms of standard coverage, 

silicon cost and power consumption. The reference implementations have lower 

M00 M02

M10 M12 M13 M11

RFLUT

ADG CoreM03 M01

Control

Figure 6.14 :  Layout of proposed multimode interleaver 

Table 6.5 :  Summary of implementation results 

Parameter  Value

Target Technology  65 nm

Memory Configuration 2048 x 6b x4; 1024 x 6b x 4 

Total Memory  72 Kbit

Memory Area  97972 µm2

Memory Power Consumption 10.5 mW

Logic Area  28436 µm2

Total Area  0.126 mm2

Clock Rate  166 MHz

Throughput (Max)  664 Mbps

Total Power Consumption 11.7 mW

Page 138: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

112  Chapter 6: Multimode Interleaving

 

 

standard coverage as  compared  to  the proposed design. Though more  silicon  is 

needed  for more  standard  coverage,  our  solution  still  provides a  good  trade‐off 

with an acceptable silicon cost and power consumption. 

The  wide  range  of  standard  support  and  fast  switchability  at  low  cost  has 

made  this work pioneer  in  the domain of multimode  interleaving  architectures. 

According  to  the  database  searching  in  March  2010,  it  is  the  first  multimode 

interleaver supporting wide range of standards on a single architecture. 

 

 

 

 

Table 6.6 :  HW comparison with other implementations 

Implementation  Standard Coverage  Tech. Operating 

Frequency 

Power 

(mW) 

Memory 

size 

Total core 

size 

Xilinx [66] 

Virtex‐5  

General purpose 

(commercial use) 

FPGA 262/360 MHz 

Speed Grade1/‐3

‐‐ 18 Kbits  210 LUTs 

+ Memory 

Altera [67] 

FLEX‐10KE   

General purpose 

(commercial use) 

FPGA 120 MHz ‐‐ 16 Kbits  392 LEs  

+ Memory 

Lattice [68] 

ispXPGA 

General purpose 

(commercial use) 

FPGA 132 MHz ‐‐ 36 Kbits  284 LUTs

 +Memory 

Shin [36]  WCDMA turbo code; 

cdma2000 

0.25 µm ‐‐ ‐‐ 35 Kbits  2.678mm2

Asghar [33]  WCDMA, LTE, WiMAX 

and DVB‐SH Turbo Code 

Interleaver Only 

65 nm 200 MHz 10.04 30 Kbits  0.084mm2

Chang [51]  WiMAX, WLAN, DVB  0.18 µm 100 MHz ‐‐ 12 Kbits  0.60 mm2

Chang [52]  WiMAX, WLAN, DVB  0.18 µm 150 MHz ‐‐ 12 Kbits  0.484mm2

Wu [53]  WiMAX, WLAN, 802.11n  0.18 µm 200 MHz ‐‐ 32 Kbits  0.72 mm2

Asghar [72]  WiMAX, WLAN, DVB  0.12 µm 140 MHz 3.5 12 Kbits  0.18 mm2

Asghar [32]   WiMAX, WLAN, 802.11n  65 nm 225 MHz 4 15.6 

Kbits 

0.035mm2

Horvath[69]  DVB bit and symbol 

interleaver 

0.6 µm 36.57 MHz 300 48 Kbits  69 mm2 

Chang [70]  DVB bit and symbol 

interleaver 

0.35 µm ‐‐ ‐‐ 52.2 

Kbits 

2.9 mm2 

This Work  WLAN, WiMAX, DVB, 

HSPA+ , LTE, 802.11n 

and General purpose 

implementation 

65 nm 166 MHz 11.7 72 Kbits  0.126mm2

Page 139: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

   

113 

7

7 Parallel Interleaving for Turbo 

Codes 

7.1 Introduction  

UEST  FOR  BANDWIDTH  has  accelerated  the  competition  among  wireless 

technologies.  As  a  result,  new  standards  are  being  evolved  and  existing 

standards  are  enhancing  the  throughput  requirements  by  issuing new  releases. 

For  example  3GPP‐WCDMA has  released  a  series  of  specifications  from  time  to 

time. The throughput requirement in early release [10] was few Mbps, which now 

has enhanced to 14 Mbps in release 5 [73], and 43.2 Mbps in release 8 [74]. The 

advancements are mainly based on high speed packet access (HSPA) using more 

downlink/uplink channels, and addition of more modulation schemes. Similarly, 

3GPP‐LTE  has  evolved with  very  high  throughput  requirements.  Different  high 

throughput  targeted standards  such as all  the  releases of UMTS  including HSPA 

Evolution (HSPA+), 3GPP‐LTE [11], WiMAX [15] and DVB‐SH [75] have adopted 

turbo code [34] as the error correction system. The scheme of turbo code adapted 

is  the  parallel  concatenated  code with  two 8‐state  constituent  encoders  and  an 

internal  interleaver.  One  turbo  code  internal  interleaver  is  used  in  the  turbo 

encoder, while  the  turbo decoder uses multiple  instances of  interleaver and de‐

interleaver to decode the received bits iteratively.  

Turbo  decoding  is  based  on  multiple  iterations  and  generally  two  SISO 

decoders  are  used  as  shown  in  Figure  7.1(a)  to  perform  a  complete  iteration; 

Page 140: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

114  Chapter 7: Parallel Interleaving for Turbo Codes

 

 

however, a single SISO decoder scheme as shown in Figure 7.1(b) is being widely 

used to achieve low silicon cost. In this case, a single SISO decoder plays the role 

of  two  SISO  decoders  in  an  alternate  sequence,  thus  two  complete  processing 

cycles  are  needed  to  perform  a  complete  iteration.  Despite  of  high  throughput 

requirements in the emerging standards, the turbo codes in general exhibit higher 

latency  (further  reducing  throughput)  due  to  larger  block  sizes.  Multiple 

iterations  over  soft  bits  are  needed  to  reach  a  reliable  hard  decision. 

Theoretically,  a  single  SISO  running  at  300Mhz  can  give  a  throughput  up  to 

23Mbps, considering 6 iterations. Therefore higher data rates need parallel SISO 

processing  in any case. The  latency can be  further  increased  if  interleaver block 

size  is  varying  in  each  transmission  time  interval  (TTI),  and  especially when  it 

needs  some  pre‐processing  while  changing  the  block  size.  The  technique  of 

parallel  turbo  decoding  is  well  established  to  meet  the  high  throughput 

requirements  [56],[76]–[78],  but  it  also  requires  implementation  of  parallel 

interleavers. 

If  there  are  P  parallel  SISO  processors  then  P  sub‐interleavers  have  to  be 

implemented in parallel. Each sub‐interleaver in it will be responsible to generate 

/N P interleaver patterns independently, where N  is the total block size. The main 

schemes of parallel turbo decoding can be applied to different standards without 

any modifications; however, interleaving varies among different standards. Many 

challenges  are  involved  including  unified  address  generation  and  conflict 

management which restrict the use of same parallel turbo decoding architecture 

RSC-1I

RSC-1

SISO1 I

D

I

SISO2

u(k)

D

u(k)

Ch

s

p1

p2

(a)

(b)

SISOData

Memory 2

Input Buffer

Interleaved Address Generator

DataMemory 1

Sync

Received Data Address

Figure 7.1 :  (a) Turbo decoder (general scheme), (b) Single SISO scheme 

Page 141: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

7.2  Previous Work and Challenges 115

 

 

7

for  multiple  standards.  This  chapter  paves  special  focus  on  handling  these 

challenges  and  presents  an  implementation  of  a  re‐configurable  interleaver 

architecture targeting unified parallel turbo decoding. The following sub‐sections 

will explain the main challenges and parallel interleaving in HSPA Evolution, DVB‐

SH,  3GPP‐LTE  and  WiMAX  standards.  Finally  the  unified  architecture  will  be 

presented  which  utilizes  the  hardware  components  sharing  among  different 

standards. 

7.2 Previous Work and Challenges 

Looking  at  the  implementation  aspects,  recursive  systematic  convolutional 

encoders  are  very  simple  to  implement  as  compared  to  SISO decoding  in  turbo 

decoder, but the interleavers usually tend to have same complexity on both sides 

because  of  its  variability.  The  implementation  of  interleaver  on  decoder  side 

becomes more challenging when parallel interleaver implementation is needed in 

order to support parallel SISO processing. Other than the architectural complexity 

for  generation  of  parallel  interleaver  addresses,  one  of  the  big  challenges  is  to 

deal with memory conflicts associated with multiple writes and reads at the same 

time. If the generated addresses do map to different memories i.e. one address for 

each  memory  then  there  is  no  conflict,  but  on  the  other  hand  if  two  or  more 

addresses map  to  same memory  then a  situation of  conflict occurs  (Figure 7.2), 

and it needs to be resolved on‐the‐fly.  

The  percentage  of  conflicts  from  the  parallel  generated  addresses  is 

sometimes very high, and there is no straight forward solution except the use of 

multiple memories, which is not cost efficient. Work in [79] − [81] provides good 

theoretical  back  ground  and  also  proposes  the  generation  of  conflict  free 

interleavers  but  they  cannot  be  directly  used  for  already  existing  interleaver 

algorithm  for  the  standards.  The work  presented  in  [5],[36]−[40]  covers  single 

Mem Bank 1 Mem Bank 2

I-1

T T+k

I-2

T T+k

Mem Bank 3 Mem Bank 4

I-3

T T+k

I-4

T T+k

Conflict

Figure 7.2 :  A situation of conflict at (T+k) 

Page 142: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

116  Chapter 7: Parallel Interleaving for Turbo Codes

 

 

address  generation  supporting  maximum  of  two  standards,  but  they  do  not 

support  parallel  interleaver  address  generation.  A  good  analysis  of  memory 

conflicts for interleaver in turbo decoder is provided in [82], where main focus is 

the  extra  buffer  management  for  conflicts.  Work  in  [83]  provides  a  good 

theoretical background along with an interleaver architecture supporting parallel 

turbo decoding. However,  it  supports only one  standard  i.e. WiMAX Duo‐Binary 

Turbo  Decoding.  The  implementation  of  a  parallel  interleaver  for  a multimode 

environment  appears  to  be  a  bottleneck,  which  also  restricts  the  use  of  same 

turbo  decoding  core  for  multiple  standards.  This  motivates  the  work  on  re‐

configurable  interleaver architecture  to  support unified parallel  turbo decoding. 

At  the  same  time  it  can  help  to  meet  fast  time‐to‐market  requirements  from 

industry  and  customers.  This  chapter  addresses  the  management  of  memory 

conflicts  and  proposes  some  schemes  to  reduce  them  with  lower  silicon  cost 

overheads.  By  exploiting  the  hardware  re‐use  methodology  among  different 

standards,  a  unified  architecture  is  presented  which  is  low  cost  and  fully  re‐

configurable to generate parallel interleaving patterns on‐the‐fly.  

7.3 Parallel Interleaver for HSPA Evolution 

As  stated  before  the  throughput  requirements  for WCDMA based  systems  have 

been raised in a series of specifications. The interleaver associated with HSPA+ is 

not  inherently  designed  to  support  parallel  SISO  processing,  but  higher 

throughput requirements and need to change the block size in each transmission 

time interval motivates to have the provision of more than one SISO processing in 

parallel. The basic  interleaving algorithm for 3GPP‐WCDMA is already explained 

in  earlier  chapters  and  the  complication  in  the  implementation  is  due  to  the 

presence of complex functions like modulo computation, intra‐row and inter‐row 

permutations,  multiplications,  finding  least  prime  integers,  and  computing 

greatest  common  divisor.  After  applying  the  intra‐row  and  inter‐row 

permutations,  a  block  of  random  addresses  denoted  by  ky   appears  as  shown 

below: 

1 2 1 ( 1) 1

2 2 2 2 ( 1) 2

1

2 3

R R C R

R R C R

R C RR R

y y y y

y y y y

y y y y

 

The  output  from  the  interleaver  is  the  sequence  read  column‐wise  from  the 

permuted matrix. The output address  kY  within the matrix can be expressed as: 

Page 143: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

7.3  Parallel Interleaver for HSPA Evolution 117

 

 

7

( 1)

: 1: 1

k i R j

loop i to Cloop j to R

Y y  

Generating  two addresses  1kY   and  2

kY   at  the  same  time will  reduce  the overall 

loop size to half as follows: 

1( 1)

22( 1)

2

: 12

: 1

k i R j

k i R RCj

Cloop i to

loop j to R

Y y

Y y

 

The  two  addresses  generated  simultaneously  are  used  to  write  two  data 

values  in  two memory  locations.  In  case  of  a  conflict  while  writing  in  to  same 

memory, it needs to be resolved on‐the‐fly. The following sub‐section provides a 

comprehensive  analysis  to  reduce  the memory  conflicts  associated  with  whole 

range of block sizes in HSPA+. 

7.3.1 Memory Conflict Analysis 

The number of conflicts for HSPA+ interleaver reaches to 50% of the data size as 

shown in Figure 7.3. One way to reduce the number of conflicts is to introduce a 

misalignment in the generation of two addresses (Figure 7.4). The misalignment 

can  be  achieved  by  introducing  a  delay  line  to  one  set  of  addresses  and  data 

values. It introduces latency on one of the two sequences, thus the misalignment 

factor (MF) cannot be very large. There are three possible values for R (number of 

rows) in the prescribed interleaver i.e. 5, 10 or 20, and good MF must be within 

the total number of rows. It is observed that the inter‐row permutation patterns 

for  R=5  and  10  are  supportive  to misalignment  technique  but  the  permutation 

patterns for R=20 are not very much supportive. The best MF found is 3 for R=5 

and R=10 and for R=20 it is 5. Using these values of MF the conflicts are reduced 

to around 10 % as shown in Figure 7.3. Still the conflict count is high enough that 

it cannot be managed without the support of extra memories. Alternately, a large 

amount  of  buffer  registers  can  be  used  to  handle  this  situation  but  it  involves 

higher latency.  

Another approach might be to split the memory banks in to relatively smaller 

sub‐memories  to  reduce  the number of  conflicts. Up  to 8 memories are already 

required for 8 parallel turbo interleavers in this design, thus we can divide each 

memory  bank  required  for  HSPA+  in  to  3  sub‐memories.  By  applying  this 

Page 144: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

118  Chapter 7: Parallel Interleaving for Turbo Codes

 

 

configuration to the interleaver address generation and data writing, the amount 

of conflicts for most of the block sizes reduced to zero (Figure 7.3). There are still 

many block sizes  facing some conflicts; however,  the amount of conflicts  is very 

small and it can be handled by using buffer registers. The number of FIFO buffers 

can  be  further  reduced  by  applying  progressive  write  during  the  conflict 

occurrences in other memory bank. The total number of FIFO buffers required for 

each memory after memory division  is plotted  in Figure 7.5 with a maximum of 

12 FIFO registers required for memory M3.  

7.3.2 Pre‐Processing 

The  pre‐processing  to  compute  the  configuration  parameters  in  WCDMA  is 

already discussed  in  section 4.4. Here we will  focus on  reducing  the  clock cycle 

0 1000 2000 3000 4000 50000

200

400

600

800

1000

1200

Block Size

Con

flict

Cou

ntConflict Count (per sub−interleaver)

with memory division

M1M2

0 1000 2000 3000 4000 50000

10

20

30

40

50

Conflict Percentage (per sub−interleaver)

Block Size

Con

flict

s %

with memory division

with misalignment

without misalignment

M1M2

with misaligment

without misaligment

Figure 7.3 :  Conflict analysis for HSPA+ 

Mem Bank 1

Mem Bank 2

SISO 1 SISO 2

InterleavedAddressGenerator

Delay line for misalignment

A

A

D

DAddressResolver&

DataRouter

Figure 7.4 :  Misalignment of address and data to reduce memory conflicts 

Page 145: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

7.3  Parallel Interleaver for HSPA Evolution 119

 

 

7

overheads  associated  with  pre‐processing.  In  order  to  make  the  interleaver 

architecture fully autonomous, the parameters like total number of rows R, total 

number of columns C, prime number  p, v associated with the block size,  array of 

greatest  common  divisor  to  p  named  as  ( )q i ,  inter‐row  permutations  ( )T i ,  and 

intra‐row permutations  ( )S j  are required to be computed in hardware. The most 

critical parameter, consuming more clock cycles and more hardware, is the intra‐

row permutation pattern  ( )S j  as given below: 

( ) ( 1) %S j v S j p   (7.1) 

where,  1,2,..... 2j p . When computing  the  function  ( )S j   in  real  time,  it  exhibits 

un‐known clock cycle delay due to the reason that the value  ( 1)S j  is not known 

with  each  j.  Therefore  targeting  low  cost  implementation  it  is  computed 

beforehand  recursively  and  the  results  are  stored  in  a  small  RAM  called  here 

intra‐row permutation RAM (IRP_RAM). One way of computing this parameter is 

to  use  the  Interleaved  Modulo  Multiplication  (IMM)  Algorithm  [43]  which 

requires more than one clock cycle to compute a value. The hardware to compute 

( )S j   using modulo multiplication  algorithm  is  shown  in  Figure  7.6(a).  Owing  to 

the maximum size of v, which is 5 bits, this algorithm can take maximum of 5 clock 

cycles to compute each  ( )S j  recursively.  

0 1000 2000 3000 4000 50000

10

20

30

40

Block Size

Con

flic

t Cou

ntConflict Count for each Memory

M1M2M3M4M5M6

0 1000 2000 3000 4000 50000

5

10

15

Block Size

Fifo

Siz

e

FIFO Size for each Memeory

M1M2M3M4M5M6

Figure 7.5 :  Final conflict count and FIFO size requirement for  HSPA+ interleaver 

Page 146: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

120  Chapter 7: Parallel Interleaving for Turbo Codes

 

 

Another  approach  to  compute modulo  function  is  the  segment based modulo 

computation (SBMC). The idea is to use only addition functions or shift‐left by one 

in  series  followed  by  a  modulo  addition.  This  method  might  not  be  hardware 

efficient when the multiplication terms are of wide range; however, it is beneficial 

if any one of the multiplication term is relatively smaller in range. Here parameter 

v  is  having  limited  number  of  values  i.e.  2,3,5,6,7  or  19,  thus  SBMC  can  be 

optimized to achieve low cost solution. The hardware for computing the intra‐row 

permutation using SBMC is shown in Figure 7.6(b).  

The  main  advantage  of  using  SBMC  scheme  over  Modulo  Multiplication 

Algorithm  is  the  single  clock  cycle  execution  for  finding  each  new  ( )S j ,  which 

gives a big saving of pre‐processing cycle cost over the previous proposed designs 

(see  Table  7.1).  While  supporting  the  generation  of  two  interleaved  addresses 

every clock cycle, two parallel IRP_RAMs each having size 256 x 8b are required 

to  store  the  intra‐row  permutation  patterns.  Keeping  in  view  the  hardware  in‐

Pmsb

1

0

–P

msb

1

0

–+

v(i) bit

<< 1

0

1

0 1

0

1S(j)

1

0

q(i)

0

H

Circular Buffer

S(j) / Yk

<<&M+

<<&M+

<<&M+

<<&M+

+

10

2

1

0

M+

+ M+

R

0

P

P

P P P P

Circular Buffer

3

2

1

00

1

0

q(i)

(a)

(b)

S(j) / Yk

10

Pmsb

<< 1 M+

Figure 7.6 :  Hardware for computing S(j) using (a) Interleaved modulo multiplication algorithm, (b) Segment based modulo computation 

Page 147: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

7.3  Parallel Interleaver for HSPA Evolution 121

 

 

7

efficiency, only one can be used with size 128x16b and the 16 bit data output is 

further divided  to be used  for  two different  sections of address generation. The 

second address with which the data has to be merged is computed by: 

%2auxC

j j p

  (7.2) 

The parameters  j and  auxj  are compared and smaller one is used to write the 

data. The same expression and comparison is used to resolve the data distribution 

after reading the data.  

7.3.3 HW for Parallel Interleaver in HSPA+ 

The parallel  processing  of  turbo decoder with parallel  SISO blocks  requires  the 

interleaver  to  generate more  than  one  address  in  every  clock  cycle  and  at  the 

same time to resolve the memory conflicts. The computation of final  interleaved 

addresses  requires  that  the  intra‐row  permutation  data  must  be  obtained  in  a 

correct order from IRP_RAM. The data output from the RAM is denoted as  ( , )U i j  

and it is given by: 

( , ) [ ( ) %( 1)]U i j S j r i p   (7.3) 

The RAM Address (RA) to RAM i.e.  ( )%( 1)j r i p  involves modulo function. We 

present  here  three  alternates  to  compute  the  RAM  address.  The  first  method 

involves recursive computation of addresses as shown in Figure 7.7. The data  is 

written in to memory row wise but when reading back column wise, the IRP_RAM 

address  of  the  previous  column  is  used  to  find  next  address.  The  recursive 

function for this computation is given by: 

, , 1 % 1RA i j RA i j qmod i p   (7.4) 

Table 7.1 :  HSPA+ pre‐processing cycle cost comparison (cycles) 

Block Size  Ref. [36] Ref. [39]

(IMM) Ref. [38]† 

Proposed 

(SBMC) 

40  317 15 19 11 

41  295 23 31 14 

5040  3587 802 821 303 

5114  3048 563 583 310 

† Values computed by using the methodology given in [38]

Page 148: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

122  Chapter 7: Parallel Interleaving for Turbo Codes

 

 

The parameter  ( )qmod i   is  computed  from  the  least  prime numbers  sequence 

( )q i  by  ( ) ( )%( 1)qmod i q i p . With the condition i.e.  ( ) 2( 1)q i p , only a subtraction 

can be used  to obtain  ( )qmod i . The computational part associated with recursive 

approach  is very small and  is  limited  to only  few adders, but  it needs a circular 

buffer of size 20 x 8b (Figure 7.6(a)) to keep the old addresses of whole column. 

This approach is low cost and can operate at very high clock rate due to shorter 

critical  path.    Using  the  same  hardware  for  computing  ( )S j   requires  five  clock 

cycles. To reduce it to a single clock cycle we need to use the mix of the recursive 

approach  and  the  segment  based  modulo  computation  (Figure  7.6(b)).  This 

approach is not very much hardware efficient, but gives the benefit of reduction of 

pre‐processing cycle cost.  

The  third  approach  is  completely  based  on  segment  based  modulo 

computation and  it  is a non‐recursive way to compute the address RA.  It can be 

directly applied to the term  ( )%( 1)j r i p  to get the address for IRP_RAM. Here we 

know that the parameter  ( )r i  can have only 22 values of prime numbers up to 89, 

thus  SBMC  approach  can  be  used  after  applying  some  optimizations.  The 

hardware required to compute the function  ( )%( 1)j r i p  using SBMC approach is 

shown  in  Figure  7.8.  It  needs  more  additions  than  the  recursive  approach; 

however, it can directly be used to compute intra‐row permutation patterns in the 

pre‐processing  phase,  thus  providing  single  clock  cycle  support  for  computing 

each  permutation  pattern  ( )S j .  This  approach  is  not  good  for  very  high  clock 

frequency due to longer critical path. Pipelining can improve the performance of 

this scheme but at the same time introduces higher control complexity. 

The computed address is used to get the correct intra‐row permutation  ( , )U i j  

from  the  RAM.  It  also  needs  to  pass  through  some  exception  handling  logic  to 

correct itself for special cases associated with C p ,  1C p  or  1C p  as given in 

a1a2a3a4a5a6a7a8

b1b2b3b4b5b6b7b8

c1c2c3c4c5c6c7c8

d1d2d3d4d5d6d7d8

e1e2e3?????

DataReading

Data Writing

Figure 7.7 :  Column by column recursive address computation 

Page 149: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

7.4  Parallel Interleaver for DVB‐SH 123

 

 

7

the  algorithm.  The  final  interleaved  addresses  1,i jY   and  2

,i jY   can  be  calculated  by 

combining the inter‐row permutation with intra‐row permutation as follows: 

1 1, U ( , )( )i j C r iY i j   (7.5) 

2 2, U ( , )( )i j C r iY i j   (7.6) 

The  complete  hardware  for  the  generation  of  parallel  interleaved  addresses 

and data handling  is  shown  in Figure 7.9. A FIFO buffer of  size 12  is needed as 

discussed  in  previous  sub‐section  to  handle  the  conflicts.  The  generation  of 

interleaved addresses during run time is two addresses per clock cycle, except the 

case when block size  is not exactly equal  to R C .  In  this case data written  in  to 

RAM is zero padded and data pruning is performed using the comparators.  

7.4 Parallel Interleaver for DVB‐SH 

With  the  improvements  in  DVB‐H,  DVB‐SH  standard  specification  provides 

satellite services to handheld devices. Along with other improvements, the FEC is 

also improved with the inclusion of turbo coding. The interleaving associated with 

turbo code is to write whole block of information sequentially in to an array and 

reading  the  information  in  an  order  defined  by  the  interleaving  algorithm.  The 

flow for interleaver address computation is shown in Figure 7.10. There are only 

two block sizes i.e. N = 1146 and N = 12282, with parameter n having a condition 

as the largest value such that  52nN . Two lookup tables each having 32 entries, 

R

1

0

j

<<&M+

P

<<&M+

P

<<&M+

P

<<&M+

P

<<&M+

P

<<&M+

P

M1 M2 M3 M4

0 j 0 0 0

+ ++ +

M5

0 j

Yk

pipeline

M+P M

+M+

M+P P P

Figure 7.8 :  Computing RAM address using SBMC approach 

Page 150: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

124  Chapter 7: Parallel Interleaving for Turbo Codes

 

 

are  also  provided  to  be  used  in  interleaving.  The  interleaving  algorithm  can  be 

described as follows: 

Find the parameter n such that  52nN . 

Initialize an (n+5) bit counter (called Z here). 

Find T = Truncate (Z[(n+4):5]+1) to n bits. 

Obtain the table lookup output (L); L = LUT {Z[4:0]}. 

Multiply and truncate to find M = Truncate (T × L) to n bits. 

Find bit reverse BR = BitReverse {Z[4:0]}. 

Find Tentative Address by concatenation TA = {BR, M}. 

Compare the TA and prune out the addresses if TA N  

The  latency  in  turbo  coding  can be higher due  to  larger block  size  of  12282 

which  demands  the  provision  of  parallel  SISO  processing.  The  parallel  address 

generation  involves  a number of  conflicts which need  to be  resolved on‐the‐fly. 

The final architecture proposed here can support up to 8 parallel SISO blocks. The 

following sub‐sections provide the detailed conflict analysis and the hardware for 

parallel interleaver address generation in DVB‐SH. 

7.4.1 Memory Conflict Analysis for DVB‐SH Interleaver 

The  parallel  generated  interleaved  addresses  for  DVB‐SH  are  not  conflict  free. 

Figure 7.11 shows the number of conflicts for the two blocks sizes. Applying the 

misalignment method  on  the  address  and  data  streams,  it  is  observed  that  the 

conflict percentage is reduced significantly.  

0

1

N

0

1

RRp

0

1

PC

ModuloComputation Core

128 x 16RAM

+0

1R

+

Flag

Compare

N

Compare

Flag

Y1k

AddressResolution

Y2k

FIFO

0

1

Data_in

Memory

Bank1

Memory

Bank2

ExceptionHandler 1

ExceptionHandler 2

0

1R

0

1

LogicRc flagsCc flags

0

1

2

3

P01

1–

out

in

Figure 7.9 :  HW for parallel interleaver address generation in HSPA+ 

Page 151: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

7.4  Parallel Interleaver for DVB‐SH 125

 

 

7

Further analysis of  conflicts  (N=12282 only) on each memory  is provided  in 

detail in Figure 7.12 and Figure 7.13. By applying the misalignment the amount of 

conflicts  reduces  significantly, but  the  requirement of FIFO registers  for  the  left 

over conflicts increases. The analysis reveals that the distribution of conflicts for a 

particular  memory  over  a  range  of  block  size  becomes  irregular  with 

misalignment which  then  increases  the  requirement  of  FIFO  cells. On  the  other 

hand although the number of conflicts are huge but they are uniformly distributed 

among  different  memories  and  hence  it  is  more  hardware  efficient  to  use  the 

scheme without misalignment.  

7.4.2 HW for Parallel Interleaver in DVB‐SH 

As  there  are  many  invalid  addresses  computed  by  the  algorithm,  so  the  total 

number  of  clock  cycles  needed  to  complete  one  block  is much  higher  than  the 

block size. The simulation reveals that the block size N=1146 needs 2045 cycles, 

whereas N=12828 needs 16382 cycles to get the valid values equal to block sizes.  

INC andTruncate

LUT

BitReverse

(T × L) &Truncate Pruning(n+5) bit

Counter I(x)Z

[4:0]

[(n+4):5] n

n

5

T

L

BR

M n+5

MSB

nTA

Figure 7.10 :  Interleaver address computation flow for DVB‐SH 

2 SISO 4 SISO 8 SISO0

200

400

600

800

1000

Mem Conflicts (N=1146)

Con

flic

ts

Without MisalignmentWith Misalignment

2 SISO 4 SISO 8 SISO0

2000

4000

6000

8000

10000

Mem Conflicts (N=12282)

Con

flic

ts

Without MisalignmentWith Misalignment

Figure 7.11 :  Total conflicts, with and without misalignment (DVB‐SH) 

Page 152: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

126  Chapter 7: Parallel Interleaving for Turbo Codes

 

 

Our first goal is to reduce the invalid computations and then the generation of 

parallel  addresses  to  be  used  for  enhanced  throughput.  Instead  of  considering 

long  array  of  information,  we  consider  it  as  a  block  of  information  with  total 

number of rows  32R  (corresponding to 32 entries in the lookup table) and total 

number  of  columns  64C   and  512  for  N=1146  and  12282  respectively.  The 

2 SISO 4 SISO 8 SISO0

500

1000

1500

2000

Mem Conflicts (N=12282); With MisalignmentC

onfl

icts

Total ConflictsM1 ConflictsM2 ConflictsM3 ConflictsM4 ConflictsM5 ConflictsM6 ConflictsM7 ConflictsM8 Conflicts

2 SISO 4 SISO 8 SISO0

50

100

150

200

250

FIFO Size (N=12282); With Misalignment

FIFO

Siz

e

Tot. FIFO SizeM1 FIFOM2 FIFOM3 FIFOM4 FIFOM5 FIFOM6 FIFOM7 FIFOM8 FIFO

Figure 7.12 :  Memory conflicts and FIFO size requirement for DVB‐SH  (N=12282; without misalignment) 

2 SISO 4 SISO 8 SISO0

2000

4000

6000

8000

10000

Mem Conflicts (N=12282); Without Misalignment

Con

flic

ts

Total ConflictsM1 ConflictsM2 ConflictsM3 ConflictsM4 ConflictsM5 ConflictsM6 ConflictsM7 ConflictsM8 Conflicts

2 SISO 4 SISO 8 SISO0

2

4

6

8

FIFO Size (N=12282); Without Misalignment

FIFO

Siz

e

Tot. FIFO SizeM1 FIFOM2 FIFOM3 FIFOM4 FIFOM5 FIFOM6 FIFOM7 FIFOM8 FIFO

Figure 7.13 :  Memory conflicts and FIFO size requirement for DVB‐SH  (N=12282; with misalignment) 

Page 153: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

7.4  Parallel Interleaver for DVB‐SH 127

 

 

7 generation of valid addresses within a  row appears  to be very much systematic 

which  can  be  utilized  to  reduce  the  number  of  invalid  addresses.  Simulation 

results have proven that about 14 computations for N=1146 and 8 computations 

for  N=12282  within  a  row  can  be  completely  discarded.  This  also  reduces  the 

lookup  table  requirement  to  18  and  24  entries  for  N=1146  and  N=12282 

respectively. The new lookup tables ( basT ) and the corresponding  increment step 

for row counter are given in Table 7.2. After skipping un‐necessary computations 

which  appear  on  regular  intervals, we  end  up with  total  computations  of  1152 

and  12288  for  N=1146  and  12282  respectively.  There  are  only  six  extra 

computations required to get the whole range of addresses, and at the same time 

we get the block sizes which exactly divide by 8. 

While working for the parallel address generation, the computation intensive 

part  is  to  compute  M   in  the  algorithm.  Using  straight  forward  method,  the 

generation of 8 parallel M  values requires up to 8 multipliers. We present here a 

Table 7.2 :  Lookup table for basic and parallel address generation in DVB 

No  N = 1146 N = 12282 

(j)  Effective Rc  Tbas Taux Inc. Effective Rc Tbas  Taux  Inc. 

0  0  3 3 1 0 13  5  1 

1  1  27 3 1 1 335  7  1 

2  2  15 7 2 2 87  7  2 

3  4  29 5 2 4 15  7  1 

4  6  1 1 2 5 1  1  1 

5  8  3 3 2 6 333  5  2 

6  10  15 7 2 8 13  5  1 

7  12  17 1 2 9 1  1  1 

8  14  39 7 2 10 121  1  2 

9  16  19 3 1 12 1  1  1 

10  17  27 3 1 13 175  7  1 

11  18  15 7 2 14 421  5  2 

12  20  45 5 2 16 509  5  1 

13  22  33 1 2 17 215  7  1 

14  24  13 5 2 18 47  7  2 

15  26  15 7 2 20 295  7  1 

16  28  17 1 2 21 229  5  1 

17  30  15 7 2 22 427  6  2 

18  ‐‐  ‐‐ ‐‐ ‐‐ 24 409  1  1 

19  ‐‐  ‐‐ ‐‐ ‐‐ 25 387  6  1 

20  ‐‐  ‐‐ ‐‐ ‐‐ 26 193  1  2 

21  ‐‐  ‐‐ ‐‐ ‐‐ 28 501  5  1 

22  ‐‐  ‐‐ ‐‐ ‐‐ 29 313  1  1 

23  ‐‐  ‐‐ ‐‐ ‐‐ 30 489  1  2 

Page 154: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

128  Chapter 7: Parallel Interleaving for Turbo Codes

 

 

modified  approach  of  using  recursive  computations  for  the  computation  of M . 

After  getting  the  parameter M   for  the  first  SISO,  the  rest  of  the M   values  for 

parallel  addresses  can  be  computed  recursively  over  the whole  column  size  as 

demonstrated  in  Figure  7.7.  The  lookup  table  entries  required  to  produce  the 

correct M  values for parallel addresses at each row instant are named as  auxT  and 

given  in  the  Table  7.2.  The modified  algorithm  supporting  the  generation  of  8 

parallel  addresses  mI   is  given  in Algorithm 7.1  and  the hardware  for  computing 

parallel addresses is shown in Figure 7.14. 

7.5 Parallel Interleaver for 3GPP‐LTE 

As stated before the channel coding in LTE involves Turbo Code with an internal 

interleaver based on quadratic permutation polynomial  (QPP). QPP  interleavers 

have very compact representation methodology and also inhibit a structure that 

allows the easy analysis for its properties. The internal interleaver for turbo code 

is  specified  by  the  quadratic  permutation  polynomial  2( ) 1 2 modxI f x f x N , 

where  0,1,2, ( 1)x N ,  and  N   is  the  block  size.  The  simplification  steps  have 

already  been  explained  previously,  therefore,  we will  only  look  on  the  parallel 

address generation aspects. 

Algorithm 7.1: Modified algorithm for parallel address generation in DVB‐SH 

Initialization: 

1:  1146 : 6; 18; 3; 64;T Tif N n R L C 2:  12282 : 9; 24; 6; 512;T Telse if N n R L C 3:  (0) 0;cR  

4:  :1 Tloop p to R5:  1(0, ) 0M p 6:  :end loop p Execution: 

7:  : 1 Tloop i to C8:  : 1 Tloop j to R  

9:  ( ) ( 1) ( ) %32c cR j R j Inc j 10:  1 1( , ) ( ) ( 1, ) %bas TM i j T j M i j C 11:  1 1( . ) ( , )I i j M i j  

12:  : 2 8loop m to  

13:  1( , ) ( ) ( , ) %m aux m TM i j T j M i j C 14:  ( )( . ) ( , ) 2n

m m flippedI i j M i j j  

15:  :end loop m 16:  :end loop j17:  :end loop i  

Page 155: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

7.6  Parallel Interleaver for WiMAX 129

 

 

7

The  interleaver  used  in  LTE  is  special  in  the  sense  that  it  is  conflict  free 

inherently  when  parallel  interleaving  is  required,  thus  providing  ease  of 

implementation  for  parallel  turbo  decoding.  Generation  of  parallel  interleaver 

addresses can be achieved with the replication of add‐subtract hardware required 

for basic  interleaver  function, and getting the support  from a LUT providing the 

starting values. In this case a total of 32 additions are needed; however, to achieve 

a low cost solution we have used here the hardware as shown in Figure 7.15 with 

first  part  being  reused  by  multiple  stages.  This  optimized  hardware  uses  18 

additions  in  total  to  generate  8  parallel  interleaver  addresses,  thus  saving  14 

additions. 

7.6 Parallel Interleaver for WiMAX 

IEEE‐802.16e  standard  [15]  called  WiMAX  has  adopted  convolutional  turbo 

coding  (CTC)  in  the  FEC  block,  which  requires  an  internal  interleaver.  The 

interleaver address generation function is given by: 

( ) %x x xI Q N   (7.7) 

where  x   can be  computed using  recursion  i.e.  ( 1) 0 %x x P N   by  initializing 

0 0  and  xQ  is: 

1

2

3

1 ; ( %4 0)1 / 2 ; ( %4 1)1 ; ( %4 2)1 / 2 ; ( %4 3)

j

if jN P if j

QP if jN P if j

 

+Logic

R

12 LUT

(Tbas)

Circular Buffer

AM+

LUT(Taux)

1

0<< 3

<< 6

10

msb

+ –

AM+

AM+

AM+

AM+

AM+

AM+

AM+B

itReverse

<

64/512

<<<<<<<

I1 I2 I3 I4 I5 I6 I7 I8

Figure 7.14 :  HW supporting 8 parallel interleaver addresses for DVB‐SH 

Page 156: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

130  Chapter 7: Parallel Interleaving for Turbo Codes

 

 

The parameters   0 1 2, ,P P P  and  3P  are defined in the standard for different block 

sizes. As range of  x  and  xQ  is less than N , therefore  xI  can be computed by using 

additions only. The maximum block size in the normal transmission scheme (i.e. 

non H‐ARQ) is 240, thus in order to achieve sufficient bandwidth, up to 4 parallel 

SISO processors are enough. On the other hand H‐ARQ involves bigger block sizes 

(max.  of  2400)  thus  up  to  8  parallel  SISO  processors  are  useful  to  reduce  the 

latency and enhance the overall bandwidth. While generating parallel interleaver 

addresses,  the  only  case which  differs  in  terms  of memory  conflict  is  the  block 

size N=108 (corresponding to QPSK rate:3/4 or 64‐QAM rate:3/4). All  the other 

block  sizes  are  supportive  to  parallelism  and  are  inherently  conflict  free.  The 

number  of  conflicts  and  optimal  size  of  FIFO  registers  required  to  handle  the 

conflicts are shown in Figure 7.16. 

The generation of parallel interleavers other than the basic interleaver can be 

done  by  successive  computations  based  on  the  result  from  the  predecessor  as 

given  in  Algorithm  7.2.  The  hardware  for  the  generation  of  up  to  8  parallel 

interleaved  addresses  for WiMAX  is  shown  in  Figure  7.17.  While  generating  8 

AM+ R

S

AI

P1

0

I1

P2

S1

I2

P3

S2

I3

P4

S3

I4

P5

S4

I5

P6

S5

I6

P7

S6

I7

P8

S7

I8

AM+

R

1

0

g_c

f2 >>1

g(0) g_x_a

g_x_b

Figure 7.15 :  HW for parallel interleaving in 3GPP‐LTE 

2 SISO 4 SISO0

20

40

60Mem Conflicts & FIFO Size for CTC Interleaver (N=108)

Size

Total ConflictsM1 ConflictsM2 ConflictsM3 ConflictsM4 ConflictsF1 SizeF2 SizeF3 SizeF4 Size

Figure 7.16 :  Conflict count and FIFO requirement for N=108 (WiMAX) 

Page 157: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

7.7  Unified Parallel Interleaver Architecture 131

 

 

7 parallel  addresses  for  the  block  sizes  supported  by  H‐ARQ,  some  permutation 

among  the  generated  address  is  required  for  selected  block  sizes  (i.e. N=480 & 

N=960) as shown in Table 7.3. All the other block sizes have the straight one‐to‐

one mapping on different memories. 

7.7 Unified Parallel Interleaver Architecture 

The interleaver parallelism for individual standards has been explored in earlier 

sections  and  the  number  of  parallel  SISO  processors  to  be  supported  is 

summarized  in  Table  7.4.  The  main  focus  of  the  work  has  been  to  adopt  a 

methodology  which  results  in  common  computing  elements,  thus  preparing 

grounds  for  efficient  hardware  multiplexing.  As  a  result  we  reach  to  the 

conclusion  that  an  accumulation  followed  by  modulo  logic  (acc_mod)  is  the 

common  computing  element.  Therefore  forming  a  reconfigurable  array  of 

AM+P0

AM+

Q1Q2Q3

‘1’

R

AM+

AM+

AM+

AM+

AM+

AM+

I1 I2 I3 I4 I5 I6 I7 I8

AM+

N

Sub_Blk_Size

Figure 7.17 :  Hardware for parallel interleaving in WiMAX 

Algorithm 7.2: Proposed parallel address generation algorithm for WiMAX. 

Initialization: 

1:  _ .sub blkN

No of ON

SIS  

2:  (0) (0)0 0init and I Execution: 

3:  _: 1 sub blkloop j to N  

4:  ( ) ( 1) 0 %j j P N

5:  1( ) ( ) %x j xI Q N  

6:  : 2 8loop m to  

7:  1( ) ( ) _ %sub blm mx x kI NI N  

8:  :end loop m 9:  :end loop j 

Page 158: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

132  Chapter 7: Parallel Interleaving for Turbo Codes

 

 

acc_mod  modules  for  different  combinations  can  serve  as  a  main  part  in  the 

complete  computing  core  along  with  an  auxiliary  part  consisting  of  a 

multiplication and comparator. As a mandatory part for some of the applications, 

a circular buffer of size 24 is also needed to be incorporated with acc_mod_array. 

The address computation follows the conflict resolution which mainly comprises 

of multiplexers and shift registers. The complete hardware block diagram for the 

re‐configurable parallel address generation is shown in Figure 7.18.  

The  second  part  of  the  conflict  management  is  to  apply  FIFO  register  bank 

dedicated  for each memory. The size of  the FIFO register bank could have been 

very  large  but  it  is  reduced  due  to  the  progressive writes  during  a  situation  of 

conflict in other memories. Covering all the standards, the FIFO size requirement 

after applying progressive writes for different memories is given in Table 7.5. The 

role of controller is very important to achieve this goal as it checks continuously 

the  empty  slots  for  the  corresponding  memory.  If  some  other  memory  has  a 

conflict  at  certain  time  instant  so  that  the  corresponding  memory  is  free,  the 

controller  initiates  the  left  over  writes  for  this  memory.  The  other  main  tasks 

Table 7.3 :  Permutations for correct memory mapping in WiMAX 

Parallel Address Generation Sequence I1 I2 I3 I4 I5 I6 I7  I8 

Permutation for N = 480 & N = 960 1 6 3 8 5 2 7  4 

Table 7.4 :  Interleaver parallelism in different standards 

Parameter  HSPA+ DVB‐SH 3GPP‐LTE WiMAX 

Block Size (Max)  5114 12282 6144 2400 

Data Rate (Mbps) 43.2 50 100 70

Parallel SISO Support  2  2, 4 or 8 2, 4 or 8 2, 4 or 8 

Table 7.5 :  FIFO size requirement for different memories 

Scheme  Parameter  M1  M2 M2 M4 M5 M6 M7  M8 

HSPA+  Conflicts  0  4 39 0 22 17 ‐‐ ‐‐ 

FIFO Size  0  4 12 0 1 1 ‐‐ ‐‐ 

DVB‐SH  Conflicts  3072  3072 2304 2304 1344 1344 1344  1344 

FIFO Size  2  2 1 1 1 1 1 1 

LTE  Conflicts  0  0 0 0 0 0 0 0 

FIFO Size  0  0 0 0 0 0 0 0 

WiMAX  Conflicts  26  26 13 13 ‐‐ ‐‐ ‐‐ ‐‐ 

FIFO Size  4  4 2 2 ‐‐ ‐‐ ‐‐ ‐‐ 

Final FIFO Size  4  4 12 2 1 1 1 1 

Page 159: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

7.8  Implementation Results  133

 

 

7

handled  by  controller  are  to  control  the  sequence  of  operations  during  pre‐

processing  and  execution  phase.  The  pre‐processing  includes  computation  of 

necessary  parameters  while  changing  the  standard  or  block  size.  During  the 

execution  phase,  the  controller  keeps  track  of  block  size  employing  row  and 

column counters, thus providing block synchronization required for each type of 

interleaver implementation.  

There are 8 memories (M1–M8) considered as part of interleaver, each having 

a size of 1536 x 5b  to cover  the complete range of block sizes  for all  standards. 

The memory selection is mainly made by using MSB part of the generated address 

or through comparison. 

7.8 Implementation Results 

By  exploiting  the  hardware  re‐use  for  different  implementations,  the  final 

architecture  shown  in Figure 7.18 achieves  the objective of being  low cost. The 

design is specified in Verilog HDL and synthesized using 65nm CMOS technology. 

The synthesis results for the two cases i.e. with 6K memory and 12K memory are 

Circular Buffer

AM+

AM+

AM+

acc_mod array

A x BCompare

aux_computing

LUTCONFIGURATIONVECTOR

CONTROL

M0 M1 M2 M3 M4 M5 M6 M7

FIFO

Interconnect

Conflict Resolution and Address Alignment

Data Alignment

Siso1

Siso2

Siso3

Siso4

Siso5

Siso6

Siso7

Siso8

Parallel SISO Processing

I1 I2 I3 I4 I5 I6 I7 I8

Figure 7.18 :  Unified parallel interleaver architecture 

Page 160: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

134  Chapter 7: Parallel Interleaving for Turbo Codes

 

 

summarized in Table 7.6. The 6K memory size covers all the cases except one i.e. 

N=12282  for DVB‐SH. Thus  specifically  if  this  block  size  is  required  then  larger 

memory can be used. The chip core layout is shown in Figure 7.19 and it utilizes 20.085mm   area  in  total  for 6K memory case.  It  can operate at a  frequency of 200 

MHz and consumes 12mW  power in total, where the most of the power utilization 

is  from memories. The address generation hardware for re‐configurable parallel 

interleaver is silicon efficient and low power. Therefore it can be a good choice to 

be  used  for  all  implementations  targeting  multimode  operations  at  very  high 

throughput. 

 

 

 

Table 7.6 :  Summary of implementation results 

Parameter  Value with 6K Mem Value with 12K Mem 

Total Area  84330 µm2 123810 µm2

Total Power Consumption  12.04 mW 12.65 mW

Memory Configuration  768 x 5b x 8 1536 x 5b x 8

Memory Area  66240 µm2 (78.5 %) 105720 µm2 (85.3 %) 

Memory Power  11.48 mW (95.3 %) 12.09 mW (95.5 %) 

AGU Area  18090 µm2

AGU Power  0.56 mW

Clock Rate  200 MHz

LUT

Control

AccArray

Add_Res

Circ. Buf

M0

M1

M2

M3

M4

M5

M6

M7

FIFO Buf

Figure 7.19 :  Layout snapshot of proposed unified interleaver 

Page 161: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

   

135 

8

8 Parallel Radix‐4 Interleaving and 

Integration with Turbo Decoding 

8.1 Introduction 

OOKING  AT  two  levels  of  SISO  processing  in  turbo  decoding  i.e. 

normal - processing referred to as radix‐2 and, look ahead processing  referred 

to as radix‐4, the radix‐4 scheme is a step ahead towards higher throughput and 

lower silicon cost. A single SISO in radix‐2 configuration can achieve a throughput 

up  to  23Mbps  (@300MHz,  6  iterations); whereas  it  can  be  enhanced  to  almost 

double with  the  use  of  radix‐4  configuration.  The  basic  concept  behind  radix‐4 

computing is to compute two trellis steps in a single cycle as shown in Figure 8.1.  

It  is  the  fact  that  many  techniques  of  parallel  turbo  decoding  are  well 

established;  however,  a  unified  parallel  interleaver  is  the  real  hurdle  as  far  as 

parallel and multi‐standard support of turbo decoder is concerned. This becomes 

more  challenging  if  radix‐4  implementation  is  taken  in  to  account.  Many 

implementations ([56][78][83][85]) have  focused the radix‐4  implementation of 

turbo‐decoding;  however,  they  cover  only  one  standard  or  they  take  either  the 

relatively simple interleaver implementation or pure LUT based implementation. 

The  standards  targeted  here  (HSPA+,  3GPP‐LTE,  WiMAX  and  DVB‐SH)  have 

different  types  of  algorithms  for  implementing  the  interleavers  within  turbo 

coding/de‐coding. This chapter presents the algorithmic modifications to enable 

the radix‐4, parallel  interleaving for the targeted standards. The methodology in 

Page 162: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

136  Chapter 8: Parallel Radix‐4 Interleaving and Integration with Turbo 

 

 

general is the same as used in the previous chapter, but it further elaborates the 

radix‐4 interleaver algorithmic steps for parallelism and also provides integration 

with turbo decoder. Mapping of different algorithms to hardware for parallelism 

and then exploiting the hardware multiplexing, a unified architecture for radix‐4 

parallel  interleaver  is  presented.  The  architecture  is  based  on  an  array  of 

accumulate‐modulo  elements,  a  couple  of  multipliers  and  circular  buffers.  The 

amount of conflict occurrences is reduced by introducing a misalignment between 

different  addresses  and  finally  they  are  handled  with  the  help  of  small  FIFO 

buffers. 

8.2 A Glance at Interleaver Parallelism for Turbo 

Codes 

If there are P parallel SISO units then P sub‐interleavers have to be implemented 

in  parallel,  and  each  sub‐interleaver  has  to  generate  /K P  interleaved  patterns 

independently.  The  permuted  version  of  the  block  interleaver  is  divided  in  to 

multiple  sub‐blocks  each  having  size  /K P.  The  parallel  radix‐4  interleaving 

scheme  requires  to  combine  the  parallelism  of  different  sub‐blocks  and 

generation of addresses in look‐ahead manner. Figure 8.2 demonstrates the steps 

of  dividing  the  block  and  accessing  the  information  in  different ways.  The  data 

permutation  is  shown  here  as  a  separate  step,  as  shown  in  Figure  8.2(a)  and 

Figure 8.2(b),  for  illustration purpose.  In  actual  implementation  it  is  taken  as  a 

single  step  in  combination  with  final  data  read  or  write.  Figure  8.2(c)  and  (d) 

demonstrate the data reading as required from radix‐2 and radix‐4 schemes. The 

challenge  of  memory  conflicts  appearing  in  radix‐2  parallel  interleaver 

implementation  have  been  discussed  in  previous  chapter.  However,  the 

occurrence  of  conflicts  becomes  worst  wirh  the  radix‐4  scheme.  The  conflict 

analysis and the conflict handling are discussed in detail, in the next section. 

0

1

2

3

0

1

2

3

kS2kS �

2k� � k�( , 1)k k� �

0

1

2

3

0

1

2

3

0

1

2

3

1kS �2kS � kS

2k� � k�k�1k� �

Figure 8.1 :  Trellis merge for Radix‐4 decoding 

Page 163: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

8.2  A Glance at Interleaver Parallelism for Turbo Codes 137

 

 

8

1 1 ( 1) 1

2 2 2 ( 1) 2

( 1

1

2 )

R CR C R

R CR C R

R C R C RR

y y y y

y y y y

y y y y

1 1

21 2

1 CR

P

CR

P

R CR

P

y y

y y

y y

1 2 1 1

2 2 1 2

21

C CR R

P P

C CR R

P P

CC RRPP

y y

y y

y y

2 1 3 1 1

2 2 3 1 2

32 1

C CR R

P P

C CR R

P P

CC RRPP

y y

y y

y y

1 13 1

1 23 2

3 1

C RCR

P

C RCR

P

C RCR

P

y y

y y

y y

1 2 2 1 2

( 1)1 1 1 2

1 2 1

C C C C

C R R CR

C

C R

C

C

x x x x

x x x x

x x x x

1 1

21 2

1 CR

P

CR

P

R CR

P

y y

y y

y y

1 2 1 1

2 2 1 2

21

C CR R

P P

C CR R

P P

CC RRPP

y y

y y

y y

2 1 3 1 1

2 2 3 1 2

32 1

C CR R

P P

C CR R

P P

CC RRPP

y y

y y

y y

1 13 1

1 23 2

3 1

C RCR

P

C RCR

P

C RCR

P

y y

y y

y y

Figure 8.2 :  (a) Information write in a R×C interleaver, (b) Permuted version and data read in serial fashion for single SISO, (c) De‐composition into 4 sub‐blocks for 4 SISOs and data read in radix‐2 scheme, (d) Data read in radix‐4 scheme 

Page 164: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

138  Chapter 8: Parallel Radix‐4 Interleaving and Integration with Turbo 

 

 

8.3 Interleaver Memory Conflicts Handling 

The  parallel  turbo  decoding  technique  is  well  established  but  it  increases  the 

complexity of interleaver design as well. Radix‐4 decoding is based on look‐ahead 

approach and  it  involves more challenges  for  interleaver design as compared to 

normal  parallel  interleaver.  Other  than  the  parallel  address  generation  in  look‐

ahead manner, the memory conflicts are the major challenge to be handled on the 

fly. Usually the memory conflicts considered for interleaver design consists of two 

simultaneous  accesses  to  the  same  memory,  but  simulations  have  shown  that 

radix‐4 implementation can even face more than 2 simultaneous accesses to the 

same memory as shown in Figure 8.3, thus making the implementation harder.  

In order to reduce the memory conflicts and especially to avoid the situation of 

more  than  2  simultaneous  accesses  to  the  same  memory,  we  used  here  the 

misalignment  technique  as  shown  in  Figure  8.4.  The  different  branches  of  the 

interleaver addresses are delayed along with corresponding data values with an 

arbitrary  value  called  misalignment  factor  (MF).  As  this  circular  shift  scheme 

Mem Bank 1 Mem Bank 2

T T+k T T+k

Mem Bank 3 Mem Bank 4

T T+k T T+k

2 Conflicts

T+nT+nT+nT+n

3 Conflicts

Figure 8.3 :  Memory conflicts at different time instants 

Mem 1

Mem NAddressResolver&

DataRouter

Delay line for misalignment

A

D

A

D

InterleavedAddress

Generator

SISO1

SISO2

SISO3

SISO4

Figure 8.4 :  Misalignment of address and data to reduce memory conflicts 

Page 165: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

8.3  Interleaver Memory Conflicts Handling 139

 

 

8

introduces latency to the completion of each half‐iteration, therefore, it cannot be 

very large and also it has to be taken in to account while computing throughput. 

The amount of conflicts is different for different implementations. The effect due 

to  conflicts appears  in  the  form of  reduced  throughput as  the  left over  conflicts 

introduce stall cycles for SISO processing. Therefore it is important to reduce the 

total conflicts. 

The  interleaving  algorithms  adopted  in  different  standards  exhibit  different 

structural  properties  and  therefore  each  has  different  implementation 

methodology.  The  interleaver  used  in  3GPP‐LTE  is  based  on  quadratic 

permutation  polynomial  (QPP)  which  is  considered  to  be  conflict  free  when 

implemented  in  parallel  fashion  [12].  It  is  true  when  radix‐2  parallel 

implementation  is  considered; however,  the radix‐4  implementation  faces many 

conflicts,  when  normal  address  generation  in  parallel  is  used.  To  avoid  these 

conflicts an even‐odd memory utilization scheme as used in [86] can be utilized. 

0 1000 2000 3000 4000 50000

250

500

750

1000

1250

Block Size(a)

0 1000 2000 3000 4000 50000

250

500

750

1000

1250

Block Size(b)

Num

ber

of C

onfl

ictin

g In

stan

ces

Total Conflicts3 or More Conflicts

0 1000 2000 3000 4000 50000

250

500

750

1000

1250

Block Size(c)

Total Conflicts3 or More Conflicts

Figure 8.5 :  Conflict analysis for HSPA (a) Even‐odd banking scheme, (b) Normal addressing, (c) Addressing with circular shift 

Page 166: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

140  Chapter 8: Parallel Radix‐4 Interleaving and Integration with Turbo 

 

 

The turbo interleaver used in WiMAX standard holds the same explanation as that 

of  QPP  interleaver  with  one  exception.  The  case  for  block  size  K=108, 

corresponding to QPSK rate:3/4 or 64‐QAM rate:3/4, do not become conflict free 

even with the use of even‐odd banking scheme. To handle this particular case, the 

proposed  circular  shift  scheme  is  used  in  combination  with  even‐odd  banking 

scheme to completely eliminate the conflicts.  

The other standards, i.e. DVB‐SH and HSPA+, also exhibit memory conflicts. As 

the data rate requirement of DVB‐SH and HSPA+ is less as compared to 3GPP‐LTE 

and WiMAX, therefore we can relax the constraints on DVB‐SH and HSPA+ turbo 

interleaver  to  support  2  parallel  SISO  units  instead  of  4  SISOs.  The  turbo 

interleaver  used  in  HSPA+  being  the  worst,  as  far  as  memory  conflicts  are 

concerned,  has been analyzed and presented here  in detail. Using  the  even‐odd 

banking  scheme,  the  amount  of  conflicts  are  still  very  high  as  shown  in  Figure 

8.5(a). Under normal addressing mode the amount of conflicting instances reduce 

by a small amount as shown in Figure 8.5(b), but another challenge arise which is 

the  occurrence  of  3  simultaneous  accesses  to  the  same  memory.  The  use  of 

circular  shift  scheme  helps  not  only  to  avoid  the  occurrence  of  3  simultaneous 

accesses, but also  reduces  the amount of  total  conflicting  instances as  shown  in 

Figure  8.5(c).  Still  the  gain  due  to  using  circular  shift  scheme  as  compared  to 

even‐odd banking scheme is not significant. Therefore, further analysis on the left 

0 1000 2000 3000 4000 50000

50

100

F1

Siz

e

0 1000 2000 3000 4000 50000

10

20

F3

Siz

e

0 1000 2000 3000 4000 50000

50

100

F5

Siz

e

0 1000 2000 3000 4000 50000

10

20

F7

Siz

e

Block Size(a)

0 1000 2000 3000 4000 50000

50

100

F2

Siz

e

0 1000 2000 3000 4000 50000

50

100

F4

Siz

e

0 1000 2000 3000 4000 50000

10

20

F6

Siz

e

0 1000 2000 3000 4000 50000

30

60

F8

Siz

e

Block Size(b)

Figure 8.6 :  FIFO sizes with even‐odd memory configuration (a) Odd memories, (b) Even memories 

Page 167: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

8.3  Interleaver Memory Conflicts Handling 141

 

 

8

over  conflicts  and  the  amount of  FIFO buffers  required  for both  the  schemes  is 

needed. The FIFO buffer requirement over the whole range of block sizes  in the 

standard  has  been  presented  as  follows.  When  using  the  even‐odd  banking 

scheme,  the  total  number  of  FIFO  buffers  required  for  different  memories  are 

plotted in Figure 8.6. Similarly Figure 8.7 shows the total number of FIFO buffers 

required for different memories, when using the circular shift scheme. Comparing 

the  two  schemes  the  FIFO  buffer  overheads  are much  less  in  the  circular  shift 

scheme.  Therefore,  it  has  been  the  choice  of  our  implementation  for  HSPA+ 

interleaver.  

In  the  above  analysis  for  the  amount  of  FIFO  registers, we  further  used  the 

progressive write scheme to reduce the overall overhead due to FIFO buffers. This 

scheme puts some extra burden on  the controller side or alternately small  local 

controllers  for  each  memory  have  to  be  realized.  The  controller  continuously 

checks the empty slots for the corresponding memory. If some other memory has 

the conflict at certain time instant so that the corresponding memory is free, the 

controller  initiates  the  left  over  writes  for  this  memory.  In  this  way  the 

occurrence of conflicts at regular intervals has been very helpful. The biggest FIFO 

size  requirement  appears  on  HSPA+  interleaver;  however,  as  its  throughput 

requirement is not very high as compared to others, therefore higher number of 

extra cycles can easily be accommodated. 

0 1000 2000 3000 4000 50000

10

20

F1 S

ize

0 1000 2000 3000 4000 50000

30

60

F2 S

ize

0 1000 2000 3000 4000 50000

10

20

F3 S

ize

0 1000 2000 3000 4000 50000

20

40

F4 S

ize

0 1000 2000 3000 4000 50000

20

40

F5 S

ize

0 1000 2000 3000 4000 50000

30

60

F6 S

ize

0 1000 2000 3000 4000 50000

30

60

F7 S

ize

Block Size0 1000 2000 3000 4000 50000

20

40

F8 S

ize

Block Size

Figure 8.7 :  FIFO sizes with circular shift configuration 

Page 168: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

142  Chapter 8: Parallel Radix‐4 Interleaving and Integration with Turbo 

 

 

8.4 Radix‐4, Re‐configurable, Parallel Interleaver  

As compared to the single standard implementation of a turbo decoder, a multi‐

standard  implementation  becomes  more  challenging  mainly  due  to  different 

interleaver algorithms.  It  is  a  fact  that SISO unit  complexity  remains almost  the 

same  but  the  interleaver  complexity  grows  largely  with  inclusion  of  more 

standards in to single architecture. The main challenges involved are the unified 

address generation, memory conflict management, and an acceptable silicon cost. 

In radix‐4 implementation, the generation of addresses in look‐ahead manner 

makes  it  more  challenging.  The  memory  conflict  analysis  and  its  handling  are 

already  discussed  in  the  previous  section.  This  section  paves  special  focus  on 

unified address generation for different standards. The interleaving algorithm in 

each of  the standard has been modified  to generate parallel addresses and  then 

mapped  to  the  architecture.    After  applying  appropriate  hardware multiplexing 

among  different  standards,  the  top  level  interleaver  architecture  supporting 

radix‐4,  parallel  turbo  decoding  is  shown  in  Figure  8.8.  It  provides  the  re‐

configurability feature among different standards i.e. WiMAX, 3GPP‐LTE, DVB‐SH 

and HSPA Evolution. It can support 4 parallel, radix‐4 SISO units with generation 

of up to 8 parallel addresses. It includes additional FIFO cells as per requirement 

from  different  standards, whereas  the  data  path mainly  consists  of  an  array  of 

accumulate and modulo add logic cells (AM+) and a couple of multiplications. The 

storage  part  includes  register  files  and  small  RAMs  to  support  the  interleaver 

address computation. The register files can also be configured to form a circular 

B

A

KMemData

Conflict

10

10

LUT

ConflictHandler

M0FIFO

M7FIFO

SISO DataConfig

AM+

AM+

Control FSM

MisalignControl

Datapath

CircularBuffer

CircularBuffer

Figure 8.8 :  Unified radix‐4 interleaver architecture 

Page 169: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

8.4  Radix‐4, Re‐configurable, Parallel Interleaver 143

 

 

8

shift buffers. The addresses generated from the interleaver hardware are mapped 

to  data  memories  associated  with  different  SISO  units  in  turbo  decoder.  The 

following  sub‐sections  provide  details  about  the  interleaver  architectures  for 

different  standards.  They  also  present  the  modified  algorithms  proposed  for 

radix‐4 parallel  address  generation. The hardware mapping of  these  algorithms 

shows  that  different  computing  elements  can  be  multiplexed  among  different 

standards  to  reach  to  an  efficient  hardware multiplexing.  It  is  to  be  noted  that 

basic  algorithm  for  HSPA+,  DVB‐SH,  WiMAX  and  3GPP‐LTE  has  already  been 

given  and  their  hardware  for  radix‐2  scheme  has  been  elaborated  in  previous 

chapter, therefore, this chapter includes only the radix‐4 related descriptions.  

8.4.1 HSPA+ Interleaver for Radix‐4 

The  interleaver  associated  with  HSPA+  is  not  inherently  designed  to  support 

parallel  SISO  processing  and  it  suffers  from  the  presence  of  memory  conflicts 

while used in a parallel environment. However, higher throughput requirements 

appearing  in  current  releases of HSPA+ motivate  to have  the provision of more 

than one SISO processing  in parallel. HSPA+  involves a block  interleaver of  size 

( ) ( )R rows C columns . Targeting specifically the radix‐4 implementation, Figure 8.9 

shows  the hardware blocks  for HSPA+  radix‐4 address generation  in parallel.  It 

computes four simultaneous addresses but those are mapped to eight memories 

after  resolving  the  conflicts.  The  interleaver  needs  some  pre‐processing  to 

compute  the  intra‐row  permutation  array  ( )S j   beforehand  using  the  following 

equation.  

( ) ( 1) modS j v S j p   (8.1) 

Here  p  is  the  prime  number  and  v  is  the  primitive  root  associated with  the 

block size K [74]. The outcome of pre‐processing (S array ) has to be placed in a 

FIFOM0

AddressResolution

EH

EH

S(j) Ram-1(128x16b)

ModuloCircuit

FIFOM7

S(j) Ram-2(128x16b)

EH

EH

( )r i

R

PC

( 1)r i �

qLUT(even)

qLUT(odd)

ModuloCircuit

Figure 8.9 :  HW for parallel, radix‐4 address generation in HSPA+ 

Page 170: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

144  Chapter 8: Parallel Radix‐4 Interleaving and Integration with Turbo 

 

 

RAM, which acts as a LUT in the execution phase. To support radix‐4 scheme two 

RAMs  are  needed  of  size  256x8b  each.  However,  to  support  the  parallelism  in 

address  generation,  we  adopted  the  size  of  each  RAM  as  128x16b.  During  the 

execution  phase  the  index  to  S array   RAM  is  computed  using  ( ) mod ( 1)j r i p , 

where  j is the column counter and  ( )r i  is the permutation pattern to be applied on 

row counter i. The indices for the two arrays are computed in parallel using two 

permutation terms  ( )r i  and  ( 1)r i . The index computation  ( ) mod ( 1)j r i p  is not 

hardware  efficient,  therefore  a  recursive  approach  with  modified  ( )r i ,  named 

mod ( )q i  is used to get the next address for S array  as mentioned below: 

mod( , ) ( , 1) ( ) mod ( 1)idx idxS i j S i j q i p   (8.2) 

The  modified  value  mod ( )q i   is  taken  as  modulo  ( 1)p   array  ( )q i ,  of  prime 

numbers  starting  from  7  such  that  . . ( ) 1g c d q i   and  mod ( ) ( ) mod ( 1)q i q i p .  The 

S array   data  (16  bit)  is  used  to  compute  the  final  interleaved  address.  Each 

S array  data is used to generate addresses for two SISO units. The S array  data is 

denoted as U( , )i j  and final interleaver address is computed as follows: 

1

1,3 1(

U ( , ) ; 1( , )

U ( , ) ; 2) LSB

MSB

i j for SISOI i j

i j for SISOC r i

  (8.3) 

2

2,4 2( 1

U ( , ) ;)

1( , )

U ( , ) ; 2

LSB

MSB

i j for SISOI i j

i j for SISOC r i

  (8.4) 

Here  1I  and  2I  correspond to two simultaneous addresses for SISO‐1, whereas  3I  

and  4I  correspond to two simultaneous addresses for SISO‐2. The modulo circuit 

in  Figure  8.9  serves  for  dual  purpose  i.e.  computing  the  S array   data  in  pre‐

processing phase  as  shown  in Figure 8.10,  and  computing  the S array   index  in 

<<&M+

<<&M+

<<&M+

<<&M+ ‘0’

‘0’

( )S jP

P P P P

AM+

P

AM+

R

P

A AM+P

A << 1

Figure 8.10 :  Modulo circuit for HSPA+ pre‐processing phase 

Page 171: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

8.4  Radix‐4, Re‐configurable, Parallel Interleaver 145

 

 

8

the  execution phase  as  shown  in  Figure 8.11.  Listing  in Algorithm 8.1 precisely 

elaborates the steps to compute the radix‐4, parallel addresses simultaneously. 

8.4.2 DVB‐SH Interleaver for Radix‐4 

DVB‐SH turbo code interleaver can have two block sizes  i.e. K=1146 and 12282. 

As stated before, the maximum throughput requirements for DVB‐SH can be met 

with two radix‐4, parallel SISO units. Therefore four addresses are needed to be 

computed  simultaneously.  The  DVB‐SH  interleaver  inherently  produces  large 

amount  of  invalid  addresses.  We  use  here  the  invalid  address  elimination 

technique  as  used  in  previous  chapter  to  reduce  the  generation  of  invalid 

addresses. Similar to radix‐2 case, in our implementation, the block interleaver is 

taken  as  a  row‐column  matrix  with  C=64  and  512  for  K=1146  and  12282 

respectively.  The  row‐counter  (5  bit)  can  count  up  to  32  rows  but  effective 

number of rows (R) are 18 and 24 for K=1146 and 12282 respectively. However, 

for  radix‐4  case  the  row  counter  takes  larger  steps  and  consequently  effective 

number of row counts becomes half (due to 2 addresses per row count for each 

SISO). The LUT entries used to generate the interleaved addresses are defined as 

basT  and  auxT  as given in Table 8.1.  

S(j) Ram(128x16b)

EHEH

qLUT(even)

1 ( , )AU i j 1 ( , )

BU i j

idxS

MSB LSB

Exception Handler

qLUT(odd)

2 ( , )AU i j 2 ( , )

BU i jModuloandInter-Column

PermutationComputation-II

LOGIC

Rcflags

Ccflags

P

‘0’

‘1’

P

‘1’

AM+ AM+ AM+

AM+

Min

C/2

‘0’

CircularBuf

M1: Ist Col. CtrlM2: C ≠ p+1

M101 M201

( )r i ( 1)r i �

flag

Figure 8.11 :  Modulo circuit configuration for HSPA+ in execution phase 

Page 172: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

146  Chapter 8: Parallel Radix‐4 Interleaving and Integration with Turbo 

 

 

Algorithm 8.1: Radix‐4 parallel address generation algorithm for HSPA+ 

Pre‐Processing: 

1:  .Find total rows R agianst theblock size K  

2:  0 51for i  

3:  [ ( )] & [ ( )]LSB MSBp pvLUT i v pvLUT i  

4:  ( )if p R K R  

5:  ( 1, 0, 1) ;for j C P j  

6:  ( ) ;if R C K break  

7:  end for  8:  ;break  

9:  end if  10:  end for  11:  : (0) 1;init S  

12:  1 ( 1) / 2for i P  

13:  ( ) ( 1) mod ;S i v S i P  

14:  end for  15:  : (0) ( 1) / 2 ;init S S P  

16:  1 ( 1) / 2for i P  

17:  ( ) ( 1) mod ; & ( ) ( 1) mod ;S i v S i P S i v S i P  

18:  1 2( ) ( ) ( ), ( ) ;Array ArrayS i S i S i S i   // Same data to both S‐Arrays 

19:  end for  Execution: 

20:  0 ( 1)for j C  

21:  0 ( 1)for i R  

22:  mod( ) ( ) & ( ) ( ) & ( ) ( ) mod ( 1);r i rLUT i q i qLUT r i q i q i p  

23:  mod( , ) ( 0)?0 : ( , 1) ( ) mod ( 1) ;idx idxS i j j S i j q i p  

24:  ( , ) / 2 mod ( 1);idxt S i j floor C p  

25:  mod( , ) ( 1) ? : ( ) mod ( 1) ;idxS i j C p t t q i p  

26:  ( , ) min ( , ), ( , ) ;idx idx idxS i j S i j S i j  

27:  ( , ) ( , )idx idxif S i j S i j  

28: 1

1 ( , ) ( ( , )) ;AArray idxU i j MSB S S i j  

29: 1

1 ( , ) ( ( , )) ;BArray idxU i j LSB S S i j  

30:  else 31:  1 1( , ) & ( , )A BSwap U i j U i j  

32:  end if  33: 

21 1( , )& ( , ) ( 1) &A B

ArraySimilarly getU i j U i j using r i S  

34:  4 :Compute addresses simultaneously  

 

1 1

2 2

3 1

4 2

( , ) ( ) ( , )1

( , ) ( 1) ( , )

( , ) ( ) ( , )2

( , ) ( 1) ( , )

A

A

B

B

I i j C r i U i jfor SISO

I i j C r i U i j

I i j C r i U i jfor SISO

I i j C r i U i j

 

35:  end for  36: end for  

Page 173: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

8.4  Radix‐4, Re‐configurable, Parallel Interleaver 147

 

 

8

In the case or radix‐4, the counter is used to address a wider LUT. The size of 

LUT is 12x18bit and 12x6bit for  basT  and  auxT  respectively. The actual value for  auxT  

is then achieved by applying left shift (L) by 3 for K=1146 and left shift by 6 for 

K=12282. To avoid the use of more multipliers as per requirement from the basic 

algorithm, recursive computation method is adopted to compute the intermediate 

terms  xM .  It  is  then directly used  to  generate  the  final  addresses. Therefore  the 

requirement of multiplier is completely eliminated. The intermediate terms  xM  for 

different sub‐blocks in the interleaver are computed as follows: 

,1,3

,2,4

,1

1,

,3

3,

( ) ( 1,( , ) ) mod

( ) 2 m d( , ) ( , ) o

M MSB LSBbas

MSB LSB La

SB LSB

MSB LSBux

M i j

M i j M

T j M i

i j

j C

T j C

  (8.5) 

Table 8.1 :  Lookup for radix‐4 parallel interleaver address generation in DVB 

K = 1146  K = 12282

Rc1‐eff  Rc2‐eff 

Tbas  Taux

  Rc1‐eff  Rc1‐eff 

Tbas   Taux 

MSB  LSB  MSB LSB MSB LSB    MSB  LSB

0  0  1  3  27  3 3 0 1 13 335    5  7

1  2  4  15  29  7 5 2 4 87 15    7  7

2  6  8  1  3  1 3 5 6 1 333    1  5

3  10  12  15  17  7 1 8 9 13 1    5  1

4  14  16  39  19  7 3 10 12 121 1    1  1

5  17  18  27  15  3 7 13 14 175 421    7  5

6  20  22  45  33  5 1 16 17 509 215    5  7

7  24  26  13  15  5 7 18 20 47 295    7  7

8  28  30  17  15  1 7 21 22 229 427    5  6

9  ‐‐  ‐‐  ‐‐  ‐‐  ‐‐ ‐‐ 24 25 409 387    1  6

10  ‐‐  ‐‐  ‐‐  ‐‐  ‐‐ ‐‐ 26 28 193 501    1  5

11  ‐‐  ‐‐  ‐‐  ‐‐  ‐‐ ‐‐ 29 30 313 489    1  1

Rc1-eff Rc2-effLUT(Tbas)

R

AM+

Circularbuffer

AM+

Circularbuffer

LUT(Taux)

Bit Reverse

AM+

AM+

MSB INV

LSBMSB

I1

I3

I2

I4

MSB

LSB

<< 6

<< 3

<< 6

<< 3

B

A

KLOGIC

‘1’

‘2’step

Figure 8.12 :  HW for parallel, radix‐4 address generation in DVB‐SH 

Page 174: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

148  Chapter 8: Parallel Radix‐4 Interleaving and Integration with Turbo 

 

 

Here  i  and  j  loops over  the  total  columns C  and effective number of  rows R 

respectively.  The MSB  and  LSB  stand  for  upper  half  and  lower  half  parts  taken 

from  the  LUTs.  The  modified  algorithm  to  compute  the  radix‐4  addresses  in 

parallel is provided in Algorithm 8.2. The final addresses  1 4I I  are found by just 

concatenating the flipped versions of row counter to the values of  xM . Figure 8.12 

shows  the  hardware  mapping  for  the  generation  of  four  parallel  addresses  to 

support radix‐4, parallel turbo decoding for DVB‐SH. 

8.4.3 WiMAX Interleaver for Radix‐4 

Using the parameters  0 1 2, ,P P P  and  3.P  as mentioned in [15] the WiMAX turbo code 

interleaving function for index x is defined as: 

0( ) modxI x P x Q K   (8.6) 

Algorithm 8.2: Radix‐4 parallel address generation algorithm for DVB‐SH 

Initialization: 

1:  1146 : 6; 18; 3; 64;T Tif K n R L C 2:  12282 : 9; 24; 6; 512;T Telse if K n R L C 3:  end if  4:  0 ( 1)Tfor p R  

5:  1(0, ) 0;M p  

6:  end for  7:  1 2(0) 0; & (0) 1;C CR R  

Execution: 

8:  1 2T SISOfor i C N  

9:  0 / 2 1Tfor j R  

10:  1 1( , 2 ) ( ) ( 1, 2 ) mod ;MSBbas TM i j T j M i j C  

11:  1 1( , 2 1) ( ) ( 1, 2 1) mod ;LSBbas TM i j T j M i j C  

12:  2 SISOfor k N  

13:  1( , 2 ) ( ) ( , 2 ) mod ;MSBk aux k TM i j T j M i j C  

14:  1( , 2 1) ( ) ( , 2 1) mod ;2LSBk aux

Lk TM i j T j M i j C  

15:  end for16:  1 SISOfor x N  

17:  2 1 1( , 2 ) ( , 2 ) 2 ( ) ;nx x C flipped

I i j M i j R j  

18:  2 2( , 2 1) ( , 2 1) 2 ( ) ;nx x C flipped

I i j M i j R j  

19:  end for20:  1 2 1( 1) ( ) ( );C CR j R j Step j 21:  2 1 2( 1) ( 1) ( );C CR j R j Step j 22:  end for  23:  end for  

Page 175: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

8.4  Radix‐4, Re‐configurable, Parallel Interleaver 149

 

 

8

where K is the block size and  xQ  is defined by: 

1 : ( %4 0)

1 / 2 : ( %4 1)

1 : ( %4 2)

1 / 2 : ( %4 3)

x

if x

K P if xQ

P if x

K P if x

 

The recursive computation of  the term  0( ) .x P x  as  0( ) { ( 1) }modx x P K  

and  its use  to compute  ( )I x  makes  the overall  implementation very  low cost. As 

the CTC encoding on the transmitter side is based on double binary information, 

therefore each address corresponds to two data values [15]. In this way the duo‐

binary turbo code exhibits radix‐4 computation by default. Therefore instead of 8 

parallel  addresses  for  4  SISO  units,  the  interleaver  only  needs  to  support  4 

parallel  addresses.  The  hardware  block  diagram  to  implement  the  parallel 

addressing for WiMAX turbo decoder is shown in Figure 8.13. With the generation 

of basic interleaver address in recursive manner, the other parallel addresses can 

be obtained by successive computations based on the result from the predecessor 

blocks  (Algorithm  8.3).  The  same  algorithm  can  be  extended  with  a  very  little 

I1 I2 I3 I4

AM+ AM+ AM+ AM+ AM+

P0 Sub_Blk_Size (K / Nsiso)

( )x�

Q3Q1 Q2‘1’

( )xQ%4x

Figure 8.13 :  HW architecture for parallel, radix‐4 interleaver address generation in WiMAX 

Algorithm 8.3: Radix‐4 parallel address generation algorithm for WiMAX 

Initialization:

1:  _ /sub blk SISOK K N  

2:  : (0) 0init  

Execution: 

3:  _0 1sub blkfor j K  

4:  0( ) ( 1) modj j P K  

5:  1( ) ( ) modjI j j Q K  

6:  2 SISOfor x N  

7:  1 _( ) ( ) modx x sub blkI j I j K K  

8:  end for  9:  end for

Page 176: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

150  Chapter 8: Parallel Radix‐4 Interleaving and Integration with Turbo 

 

 

effort  to  support  radix‐8  computations,  but  at  the  cost  of  higher  complexity  in 

SISO unit.  

8.4.4 3GPP‐LTE Interleaver for Radix‐4 

The  QPP  interleaver  used  in  3GPP‐LTE  providing  deterministic  address 

generation for two values  1f  and  2f  for different block sizes is given by: 

21 2( ) modI x f x f x K   (8.7) 

It can be re‐written for recursive computation as: 

( 1) ( ) ( ) modI x I x g x K   (8.8) 

where  1 2 2( ) 2 modg x f f f x K , which  can  also  be  computed  recursively  as 

2( 1) ( ) 2 modg x g x f K . The two recursive terms  ( 1)I x  and  ( 1)g x  are easy 

to  compute  using  additions  and  subtractions  only.  For  generating  parallel 

addresses,  part  of  the  basic  interleaver  (i.e.  computation  of  ( )g x )  can be  shared 

which helps to optimize the design. For radix‐4 computations, the computation of 

( )g x  is done in look‐ahead manner as given in Algorithm 8.4. The two values  ( )g x  

and  ( 1)g x   can  be  used  to  simultaneously  generate  the  other  addresses  in  a 

recursive  way  as  shown  in  Figure  8.14.  Due  to  the  recursive  nature  of 

computations,  the  interleaving patterns  in each sub‐block require some starting 

point  (e.g.  S1,  S2,  and  S3).  Therefore,  for  the  SISO  index  0,1,....( 1)SISOm N   and 

sub‐block size  _sub blk SISOK K N ,  the starting addresses  for data  index  _( )sub blkm K  

are required to be found. Using eq. (8.7) against the index  _( )sub blkm K  we get: 

I1 I2 I3 I4 I5 I6 I7 I8

AM+

AM+

AM+

AM+

AM+

AM+

AM+

AM+

AM+

AM+

g(0) ‘0’ S1 S2 S3Initialization

f2>>1

( )g x

( 1)g x �

Figure 8.14 :  HW architecture for parallel, radix‐4 interleaver address generation in 3GPP‐LTE 

Page 177: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

8.5  Radix‐4 MAP Decoding Algorithm Revisited 151

 

 

8

2

1 _ 2 _( ) modsub blk sub blkS m f m K f m K K   (8.9) 

Using the recursive form: 

2

1 _ 2 _( ) ( 1) (2 1) modsub blk sub blkS m S m f K m f K K   (8.10) 

( ) ( 1) ( ) modS m S m S m K   (8.11) 

where  21 _ 2 _( ) (2 1) ( )sub blk sub blkS m f K m f K .  The  term  ( )S m   is  not  hardware 

efficient when computing it on‐the‐fly. If the system level performance allows for 

extra  cycle  cost,  it  can  be  computed  through  multiple  recursive  computations. 

Alternatively a LUT is used to eliminate the extra cycle cost. 

8.5 Radix‐4 MAP Decoding Algorithm Revisited 

There  are  two main  algorithms  used  in  an  iterative  way  in  the  SISO  decoding. 

They are SOVA algorithm (based on maximum likelihood probabilities) and MAP 

algorithm (based on a posteriori probabilities). MAP algorithm outperforms SOVA 

decoding  by  0.5dB  or  more  [87][88],  therefore  MAP  algorithm  is  used  in  this 

work.  The MAP  algorithm  itself  is  rather  complex  [89]  due  to  large  number  of 

multiplications, but thanks to its simplified version log‐MAP algorithm [88] which 

significantly reduces the computational complexity. The MAP algorithm works in 

Algorithm 8.4: Radix‐4 parallel address generation algorithm for 3GPP‐LTE

Initialization:

1:  _ /sub blk SISOK K N  

2:  1 2: (0) ;init g f f  

3:  1 2: (0) 0; (0) (0);init I I g 4:  2 SISOfor x N  

5:  2 1 1 2 1(0) modx x x xI S S S K  

6:  2 2 1(0) (0) (0) modx xI I g K  

7:  end forExecution: 

8:  _1 2 1sub blkfor j K  

9:  2(2 1) (2 2) 2 modg j g j f K  

10:  2(2 ) (2 1) 2 modg j g j f K  

11:  2 SISOfor x N  

12:  2 1 2 1( ) ( 1) (2 1) modx xI j I j g j K  

13:  2 2( ) ( 1) (2 ) modx xI j I j g j K  

14:  end for  15:  end for

Page 178: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

152  Chapter 8: Parallel Radix‐4 Interleaving and Integration with Turbo 

 

 

two  steps,  i.e.  forward  recursion  and  backward  recursion,  to  determine  the 

different  set  of  probabilities  named  as  branch  metric  and  state  metric.  The 

variables computed during these recursions are the branch metric  ,j mk ,  the state 

metrics  mk ,  m

k ,  Log‐Likelihood  ratio  ( )kd   and  the  extrinsic  soft‐output 

information  ( )ske d .  The  following  equations  describe  the  computation  of  these 

variables in Log‐domain. 

(1, )1,1

(0, )0,1

1, (1, )1

0, (0, )1

( ) ln

f mm mk k k

f mm mk k k

m m f mk k k

m mk m m f m

k k km m

e

de

  (8.12) 

( , ) , ( , )1 1( , ) , ( , )

1 1 lnb j m j b j mk km b j m j b j m

k k kj j

e   (8.13) 

( , ) , ( , )1( , ) , ( , )

1 lnf j m j f j m

k km f j m j f j mk k k

j j

e   (8.14) 

, ( , )j m s s pk k k kj a i p m j i   (8.15) 

( ) ( )s s sk k k ke d d a i   (8.16) 

where m  is  the  state  number,  k  is  the  trellis  step  number,  ( , )p m j   is  the  parity 

output  bit  in  state  m  against  the  input  bit  j,  and  kd   denotes  the  decoded 

information  bit.  As  the  equations  (8.12)−(8.16)  are  still  with  high  complexity, 

therefore  further  simplification  is  performed  using  the  Jacobean  algorithm  and 

approximation [88]. 

( , ) ln ( , ) ln 1 ( , )y xx yMax x y e e Max x y e Max x y   (8.17) 

W

siso

KN

� � � ��

K

WK

Transport�

Transport�

Transport�

Transport�

Transport�� �

1SISO

SISON

t

Size

Figure 8.15 :  Scheduling chart for sliding and super window in half iteration 

Page 179: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

8.5  Radix‐4 MAP Decoding Algorithm Revisited 153

 

 

8

Applying  these  simplifications,  the  algorithm  is  named  as Max‐log‐MAP  and 

equations (8.12) − (8.14) can be re‐written as: 

1, (1, ) 0, (0, )1 1( ) m m f m m m f m

k k k k k k km m

d Max Max   (8.18) 

( , ) , ( , )1 1

m b j m j b j mk k k

jMax   (8.19) 

( , ) , ( , )1

m f j m j f j mk k k

jMax   (8.20) 

Max‐log‐MAP algorithm appears  to be  the  least complex as compared  to  log‐

MAP  algorithm,  but  the  approximations  and  simplifications  can  affect  the  BER 

performance  to  be  inferior.  However,  the  degradation  is  not  significant  as 

compared  to  the  hardware  saving  [88];  therefore  Max‐log‐MAP  has  been  the 

choice of many of the recent turbo decoder implementations. The turbo decoding 

is prone to higher  latency due to  larger block sizes and requirement of multiple 

iterations to reach to a reliable decision. Many techniques have emerged based on 

sliding windowing and super windowing [90] (Figure 8.15) in order to meet the 

quest for bandwidth among different standards. As stated before, the throughput 

can  further  be  enhanced  by  adopting  radix‐4  computation  as  used  in 

[55][56][84][85][86][91], where two trellis steps are computed  in a single cycle 

as shown in Figure 8.1. This gives rise to the decoding of two source data bits at 

the same time. Therefore, the equations used in radix‐2 have to be extended with 

more variables. Extrapolating Eq.  (8.13),  the  forward metric    computation  can be made over two trellis steps as: 

3

( , ) , ( , ) , ( , ) ( , ) , ( , )2 2 1 2 1, 2

0

m b j m j b j m j b j m b j m j b j mk k k k k k k

jMax

  (8.21) 

where  , ( , )1, 2

j b j mk k   is  the  joint  branch  metric  over  two  trellis  steps.  The  backward 

metric   also takes the similar form. Decoding two bits at the same time requires to define the symbol probabilities for symbols ‘00’, ‘01’, ‘10’ and ‘11’ named as a‐

priori probability (APP), and is given by: 

, ( , )( , ) 2 , '

,; , (0,1)m j b j m m

k i j k k k ki j

d Max i j   (8.22) 

Using these probabilities the LLR for individual bits can be defined as: 

(1,0) (1,1) (0,0) (0,1)( ) , ,k k k k km m

d Max d d Max d d   (8.23) 

1 (0,1) (1,1) (0,0) (1,0)( ) , ,k k k k km m

d Max d d Max d d   (8.24) 

Page 180: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

154  Chapter 8: Parallel Radix‐4 Interleaving and Integration with Turbo 

 

 

The  duo‐binary  turbo  decoding  in  WiMAX  is  by  default  radix‐4,  but  it  is 

different from binary turbo decoding due to its non‐binary and circular properties 

[78][92][93]. The symbol based decoding  in duo‐binary  turbo codes requires  to 

compute three symbol LLR values for the symbol set {01, 10, 11} defined as: 

01(0,1) (0,0)( )k k kd d d   (8.25) 

10(1,0) (0,0)( )k k kd d d   (8.26) 

11(1,1) (0,0)( )k k kd d d   (8.27) 

This symbol level extrinsic information requires more memory to exchange it 

between  different  decoder  stages.  Authors  in  [94]  proposed  a  very  useful 

transformation method to extract the bit level extrinsic information from symbol 

level extrinsic information. The exchange of bit level extrinsic information among 

different  SISO  blocks  provides  the  basis  to  avoid  the  increase  in  memory.  For 

further  details  on  the  theoretical  and  derivation  aspects  of  bit  level  extrinsic 

information exchange, the reader can refer to [94]. 

8.6 Unified Parallel Decoder 

To  reach  to  the  unified  architecture  for  radix‐4  parallel  decoder  supporting 

multiple standards including 3GPP‐LTE, DVB‐SH, WiMAX, and HSPA+, a common 

interleaver  has  been  used  which  mainly  takes  care  of  different  memory 

addressing variants among different standards. As  interleaving is the main topic 

of  thesis,  therefore  more  attention  is  given  to  it,  rather  than  turbo  decoding. 

However,  to  keep  the  architecture  low  cost  on  turbo  decoding  level,  some 

optimizations  have  also  been  considered  which  mainly  deal  with  reduction  of 

memory utilization. The following sections present the trade‐ off analysis among 

different  SISO  implementations  and  provide  the  overall  architecture  for  unified 

parallel turbo decoder. 

8.6.1 SISO Decoding Trade‐Off Analysis 

Work  in  [90][95]  presents  good  trade  off  studies  for  architectural  cost  when 

parallel  turbo  decoding  is  implemented  for  high  speed.  In  a  similar  way,  we 

consider different trade‐off parameters like throughput, latency, area, and power 

consumption  while  comparing  multiple  implementations  based  on  different 

techniques and optimizations. The throughput can be described as: 

Page 181: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

8.6  Unified Parallel Decoder  155

 

 

8

2

clk

cycleextra i

siso

K fThroughput

KW C N

N

 (8.28) 

where K is the block size,  cycleK  is the number of clock cycles needed to get the data 

from the buffer memories,  sisoN  is the number of parallel SISO processors,  iN  is the 

number of  iterations  , W   is  the  sliding window size,  and  extraC   is  the extra cycles 

needed for other overheads e.g. control. The latency is described as: 

2cycleextra i

siso

clk

KW C N

NLatency

f

 (8.29) 

The  radix‐2  SISO  implementation  involves    and  ‐calculation  in  forward recursion  which  requires  the  memories  to  keep  the  results  to  be  used  in 

backward  recursion. When  implementing  super windowing using multiple  SISO 

blocks,  another  challenge  is  the  absence  of  initial  values  at  the  border  of  each 

window. A method named Next Iteration Initialization [96] is used to estimate the 

initial  values  using  the  corresponding  state  metrics  produced  at  previous 

iteration. This requires extra storage of   and   values in the form of first‐in first‐out (FIFO) blocks between neighboring SISO units. Fortunately the overheads are 

not huge as   and   values are only needed to be saved at the beginning and end of sliding windows and parallel windows.  

The radix‐4 implementation is based on look‐ahead transformations as shown 

in Figure 8.1, which roughly doubles the throughput. Thus half of the SISO blocks 

can achieve  the  same  throughput  as  compared  to  radix‐2  implementation. With 

the  reduction  of  SISO  blocks  it  also  reduces  the  number  of  FIFOs  for    and  ; however, the branch metric memory becomes very large as it requires the storage 

for many  intermediate computation results. An optimization used here is to use a 

small buffer memory (having size of W/2)  for keeping  the  intrinsic and a‐priori 

information for a short amount of time. In this case the branch metrics are always 

computed whenever they are needed, thus the branch metric hardware increases 

and it becomes almost double. 

The  different  kinds  of  implementations  discussed  above  are  independently 

implemented using 65nm CMOS Technology to get the area and power estimates. 

Radix‐2  implementation  is  realized with 8 parallel  SISO blocks whereas  radix‐4 

implementation  is  realized  with  4  SISO  blocks  to  compare  roughly  the  same 

throughput.  Taking  the  sliding  window  size  64W ,  6iN ,  and  6144K   the 

comparison of the three SISO implementations on component level is performed. 

Page 182: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

156  Chapter 8: Parallel Radix‐4 Interleaving and Integration with Turbo 

 

 

The  normalized  cost  comparison  for  full  parallel  implementation  is  shown  in 

Figure  8.16,  whereas  the  power  distribution  among  different  elements  of  one 

SISO unit is shown in Figure 8.17. The optimized radix‐4 implementation appears 

to be the better choice with good trade‐off among throughput,  latency, area and 

power. The achievable throughput with different SISO configurations is plotted in 

Figure  8.18.  Looking  at  the  maximum  throughput  requirement  from  different 

standards,  different  level  of  SISO  parallelism  can  be  adopted  for  different 

standards to meet the requirements.  

8.6.2 Unified Architecture 

Radix‐4 computation works on four possible transitions towards each target state 

in a trellis. As a result the computational overheads are  increased; however,  the 

benefit  is  the  increased  throughput  with  less  number  of  SISO  units  and  less 

memory. Some high‐speed recursion architectures to do the parallel radix‐2 SISO 

computations  are  presented  in  [90][95].  The  same have  been  extended  here  to 

achieve  radix‐4  implementation. The    values  to be  found  for  radix‐2  are  three, whereas,  radix‐4 might need up  to 15 calculations every clock cycle  to cover all 

the  possible  state  transitions  over  two  trellis  steps.  However,  some  of  the   computations  can  be  skipped  due  to  redundancy.  The  computed  branch metric 

values  are  later on used  for  computing  the  state metrics  and  the  soft  LLRs.  For 

this  purpose  the  conventional  approach  is  to  store  all  the  branch metrics  in  a 

memory. The size of memory grows high with more computations. However we 

used here a small buffer (size:  / 2W ) to store the intrinsic and a‐priori information. 

It  reduces  the  requirement of bigger memory; however,  the branch metrics  are 

always  computed  in  all  sliding  window  operations.  As  a  result  the  hardware 

Throughput Latency Area SISO_Memory Power0

0.2

0.4

0.6

0.8

1

Nor

mal

ized

Val

ue

Radix−2(8−Siso) Radix−4(4−Siso) Radix−4(4−Siso;Optimized)

Figure 8.16 :  The cost comparison for parallel implementation of SISO blocks 

Page 183: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

8.6  Unified Parallel Decoder  157

 

 

8 required to compute   becomes double, but still it provides a good trade off when comparing with higher memory cost.  

The  hardware  components  to  compute  the  state  metric,  branch  metric  and 

LLR  as mentioned  in  Section‐8.5  are  shown  in  Figure  8.19.  The  computation  of 

state metrics   and   is based on the add‐compare‐select (ACS) logic, and one of the metric (forward or backward) calculated first need to be stored in a RAM. As 

compared to radix‐2 implementation the size of RAM for state metric reduces to 

half by default when radix‐4 decoding approach  is adopted. The computation of 

soft LLRs  is  simplified by using  the  transformations  from symbol  level extrinsic 

9%3%

39% 32%

12%

5%17%

5%

33% 16%

20%

9%

(b) (c)

11%< 1%

58%

16%

8%6%

State-Metric-CalcBranch-Metric-CalcState-Metric-MemBranch-Metric-MemLLR-CalculationControl

(a)

Figure 8.17 :  Power distribution among different elements of SISO (a) Radix‐2, (b) Radix‐4, (c) Optimized radix‐4 SISO 

40 80 120 160 200 240 2800

20

40

60

80

100

120

140

160

180

200

Frequency (MHz)

Thr

ough

put (

Mbp

s)

LTE (2−SISO)LTE (4−SISO)HSPA (2−SISO)DVB−SH (2−SISO)WiMAX (2−SISO)WiMAX (4−SISO)

40 80 120 160 200 240 2800

20

40

60

80

100

120

140

160

180

200

Frequency (MHz)

Thr

ough

put (

Mbp

s)

Figure 8.18 :  Throughput for different implementations 

Page 184: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

158  Chapter 8: Parallel Radix‐4 Interleaving and Integration with Turbo 

 

 

information  to  bit  level  extrinsic  information  [94],  which  reduces  the  larger 

memory  requirement  for  duo‐binary  turbo  codes.  The  use  of  bit  level  extrinsic 

information  exchange  (using  approximations)  as  compared  to  symbol  level 

extrinsic information exchange does not affect the BER performance of the overall 

decoding process [94]. It provides a significant memory saving at the cost of small 

hardware.  

The  top  level  architecture of  the parallel decoder  is  shown  in Figure 8.20.  It 

utilizes  up  to  4  SISO  units  in  parallel  to  achieve  the  required  bandwidth.  Two 

Add andMax Tree

00( )dk�01( )dk�

10( )dk�11( )dk�

Max00 01( / )dk dkMax00 10( / )dk dkMax10 11( / )dk dkMax01 11( / )dk dk

2mk� �

mk�

, ( , ), 'j b j mk k�

( )kd�

1( )kd ��

(c)

� �1 12 2

m mk k� �� �

, ( , 1), 'j b j mk k�

� �2 22 2

m mk k� �� �

, ( , 2), 'j b j mk k�

� �3 32 2

m mk k� �� �

, ( , 3), 'j b j mk k�

� �4 42 2

m mk k� �� �

, ( , 4), 'j b j mk k�

mk�

� �mk�

(b)

��ska�ski�pki�

3�

2�

1�

Stage-1 Stage-2

(a)

(d)

Max

Max

Max

Max

Add andMaxTree

00�

11�

01�

10�

11�

10�

01�

2mk� �

mk�

, ( , ), 'j b j mk k�

1( )kd�

2 ( )kd�

‘0’

‘0’

Figure 8.19 :  HW for calculating (a) Branch metric, (b) State metric, (c) LLR for binary case only, (d) Configurable LLR for binary and duo‐binary cases 

Page 185: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

8.7  Implementation Results  159

 

 

8 memory banks each consisting of 8 memories of size 768×6b are used to save the 

soft  output  information  in  each  half‐iteration.  The  design  specifications  for  the 

SISO block are summarized in Table 8.2. The interleaver works in connection with 

main  control  and  generates  up  to  8  interleaved  addresses  simultaneously  to 

access the memories.  

8.7 Implementation Results 

The unified implementation of interleaver enables the multi‐standard support of 

the turbo decoder. However, it is important to compare the overheads associated 

with  unified  implementation  over  an  optimized  single  standard  solution.  The 

M00

M01

M02

M03

M04

M05

M06

M07

LLR-1

M10

M11

M12

M13

M14

M15

M16

M17

LLR-2SISO 1

SISO 2

SISO 3

SISO 4

Unified Interleaver

Control

Boundary

Metrics

Boundary

Metrics

Boundary

Metrics

� �

� �

� �

Din Dout

Configuration

InputBuffer

OutputBuffer

Figure 8.20 :  Architecture of radix‐4, parallel turbo decoder 

Table 8.2 :  Turbo decoder specifications 

SISO Algorithm  Max‐Log‐MAP

Window Size  64

No. of Iterations  6 (fixed)

Quantization 

Received Inputs: 6 (3.3) 

State Metric: 8 (6.2) 

Branch Metric: 8 (6.2) 

LLR: 6 (4.2) 

Page 186: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

160  Chapter 8: Parallel Radix‐4 Interleaving and Integration with Turbo 

 

 

following sub‐sections present the efficiency comparison of interleaver hardware 

multiplexing and also the implementation results of turbo decoder in detail. 

8.7.1 Efficiency of Unified Interleaver 

Figure  8.21  shows  a  comparison  of  hardware  utilization  for  the  hardware 

multiplexed  interleaver  implementation  with  the  single  standard  optimized 

implementations.  The  overhead  cost  might  be  high  if  we  consider  a  particular 

implementation  for  a  single  standard,  but  it  should  justify  when  combining 

different  implementations.  Considering  the  address  generation  part  only,  the 

overheads appear to be high especially for WiMAX interleaver where the cost of 

hardware multiplexed implementation is more than 4 times higher as that of  its 

optimized single standard implementation. On the other hand, if we compare the 

combined  cost  of  all  the  single  standard  implementations,  the  hardware 

multiplexed solution reduces the total cost by 65%, thus showing an efficiency of 

35%.  The  hardware  efficiency  gets  further  improved  when  we  consider  the 

amount of memory being shared among different implementations. Including the 

memory  cost  in  the  comparison  the  efficiency  of  hardware  multiplexed 

implementation  becomes  61%.  The  overhead  cost  of  hardware  multiplexed 

implementation as compared to the largest single standard optimized design (i.e. 

HSPA+) is 1.62 times when considering only address generation part, and it is just 

1.08 times when including the memory sharing as well.  

8.7.2 Turbo Decoder Implementation 

The  hardware  blocks  for  turbo  decoder  are  coded  using  RTL  description  in 

Verilog HDL. The  simulation  for BER  is  carried out using AWGN channel model 

over different block sizes  for different standards and  fixed number of  iterations 

i.e. 6. The bit error rate  (BER) performance  for different standards  is plotted  in 

Figure  8.22.  The  design  was  synthesized  for  gate  level  net‐list  using  the  ST 

Microelectronics  65nm  CMOS  technology  and  the  placement  and  routing  was 

done  using  Cadence  SoC  Encounter™.  Figure  8.23  shows  the  chip  layout  of  the 

proposed unified, radix‐4, parallel turbo decoder. The key parameters of the turbo 

decoder core obtained with Design Compiler™ from Synopsys are listed in Table 

8.3. With 4‐SISO modules, the design consumes  20.65mm  area in total and it can run 

at  a  maximum  of  285MHz  clock.  It  consumes  570mW  power  in  total.  With  6 

iterations, it can support a maximum throughput of 173.3Mbps which leads to an 

energy efficiency of 0.55 nJ/bit/iter.  

Page 187: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

8.7  Implementation Results  161

 

 

8 In  order  to  benchmark  the  turbo  decoder  implementation  a  comparison  to 

other leading edge implementations is also provided in Table 8.3 (many of them 

are quite recently published). Unfortunately, due to technology mismatch a direct 

comparison of area and power efficiency with reported designs is not fare. Hence 

an optimistic technology scaling (i.e.  2~ 1/Area s ,  3~ 1/Power s , and  ~ 1/Throughput s) 

has  been  adopted  here  to  enable  a  fare  comparison.  Considering  different 

implementations, the throughput and energy efficiency is greatly affected by the 

block  size  and  the  amount  of  memory  conflicts.  As  a  result  the  radix‐4  turbo 

decoder implementation for 3GPP‐LTE and WiMAX appear to be more efficient as 

compared to HSPA+ and DVB‐SH (Table 8.4).  

Address_Generation_Cost Total_Cost_With_Memory0

0.2

0.4

0.6

0.8

1In

terl

eave

r C

ost (

Nor

mal

ized

)

LTE WiMAX DVB HSPA HW−Muxed

Figure 8.21 :  Overheads of HW‐Muxed interleaver implementation over single standard implementations 

0 0.5 1 1.5 2

10−6

10−4

10−2

100

Eb/No (dB)

BE

R

WiMAX (K=2400)LTE (K=6144)WCDMA (K=5114)DVB (K=1146)DVB (K=12282)

0 0.5 1 1.5 2

10−6

10−4

10−2

100

Eb/No (dB)

BE

R

Figure 8.22 :  BER performance for different implementations 

Page 188: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

162  Chapter 8: Parallel Radix‐4 Interleaving and Integration with Turbo 

 

 

 

Table 8.3 :  Comparison of key parameters with leading edge implementations 

                        

†  Calculated from given param

eters 

††  Norm. Area ~(1/s

2) of Technology Node 

80.7 

24 

115.4 

758 

24.26 

24 

5.48 

108.6 

27.6 

10.8 

160 

173.3 

0.934 

1.891 

1.303 

3.275 

0.560 

1.891 

0.602 

4.203 

1.134 

0.300 

4.453 

0.65 

7.16 

14.50 

5.21 

13.10 

2.24 

14.50 

8.90 

32.23 

8.70 

1.2 

17.81 

0.65 

1.5 

10 

0.4 

0.126 

1.4 

10 

6.98 

2.1 

2.36 

0.54 

0.22 

0.55 

726 † 

1450 

183.7 

573 

271 † 

1450 

191 † 

1368 † 

330 

32.4 

275 

570 

5.5 

171 

145 

100 

256 

200 

145 

135 

166 

285 

246 

80 

285 

36 

450 

― 

― 

― 

410 

201 

― 

― 

120 

  214 

1.80 

1.80 

― 

1.20 

― 

1.80 

2.50 

― 

1.80 

1.00 

1.32 

1.10 

0.18 

0.18 

0.13 

0.13 

0.13 

0.18 

0.25 

0.18 

0.18 

0.13 

0.13 

0.065 

Architecture / 

Parallelism

 

Radix‐2, 7 SISO 

Radix‐4, 1 SISO 

Radix‐4, 10 SISO 

Radix‐2, 64 SISO 

Radix‐4, 1 SISO 

Radix‐4, 1 SISO 

32‐wide  SIMD, 4 SISO 

Radix‐2, 16 SISO 

Radix‐2, 1 SISO 

Radix‐2, 1 SISO 

Radix‐4, 32 SISO 

Radix‐4, 4 SISO 

Ref. Work 

[104] 

[84] 

[56] 

[97] 

[55] 

[91] 

[105] 

[106] 

[107] 

[98] 

[85] 

This Work 

Page 189: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

8.7  Implementation Results  163

 

 

8

The main concern of today’s consumer electronics is the area and power, thus 

it  is  important  to  compare  different  implementations  for  power  and  area 

efficiency. Figure 8.24 shows the comparison of energy consumption and silicon 

cost  with  the  reported  turbo  decoder  designs  in  a  graphical  way.  The  work  in 

[56][85][97]  &  [98]  have  really  provided  some  energy  efficient  solutions,  even 

better  than  ours,  but  looking  at  the  other  vital  parameters  like  silicon  cost  and 

throughput  our  proposed  design  provides  a  better  trade  off.  The  work  in  [97] 

supports  very  high  throughput  of  758Mbps,  but  it  utilizes  very  high  degree  of 

parallelism (i.e. 64 SISO). The interleaver algorithms and architectures presented 

here  are  flexible  enough,  and  they  can  be  modified  easily  to  support  further 

parallelism.  Therefore,  the  proposed  work  can  accommodate  further  higher 

bandwidth  as  well,  but  at  the  cost  of  extra  silicon  and  extra  memory.  If  the 

presented work is projected with further parallelism, it can provide an enhanced 

throughput  of  760Mbps with 32  SISO blocks  and working  at  a  lower  frequency 

(i.e. 252MHz). This type of highly parallel implementation has the drawback that 

it splits the size of each memory in the input buffer and extrinsic memory bank in 

to very small sizes, which will further increase the overall area due to overheads 

Table 8.4 :  Throughput summary for different implementations 

Standard Block 

Size SISO  Extra FIFO Cycles

Throughput 

(Mbps) 

Energy 

(nJ/bit/iter)

HSPA+  5114  2 65 49.4 1.67 

LTE  6144  4 0 173.3 0.55 

WiMAX   2400  4 0 113.1 0.84 

DVB‐SH   12282  2 1 51.1 1.63 

Input Buf. Out Buf.

Siso-1 Siso-3Siso-4

Fifo�Control

Fifo�

LLR

Siso-2

Interleaver

Figure 8.23 :  Layout of proposed unified, radix‐4, parallel turbo decoder 

Page 190: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

164  Chapter 8: Parallel Radix‐4 Interleaving and Integration with Turbo 

 

 

associated with smaller memories. The silicon efficiency and the energy efficiency 

of the work in [98] is almost the same as ours. The work in [56] & [85] support 

lower  clock  frequency  therefore  the power  consumption  is  also  lower, whereas 

both of them utilize higher degree of SISO parallelism as well ([56] uses 10 SISO, 

and [85] uses 32 SISO). Other  than  this  trade‐off analysis,  the reference designs 

support  less standard coverage  (limited  to single or  two standards). The design 

presented  here  can  support  multiple  standards  with  on‐the‐fly  reconfiguration 

feature;  therefore  it  can  be  a  better  candidate  for many  of  the  flexible  and  re‐

configurable applications. 

 

 

 

 

 

 

 

 

 

 

 

0 200 400 600 8000

0.4

0.8

1.2

1.6

2

2.4

[A]

[C][D]

[E]

[H]

[I]

[J]

[K]

[T]

Throughput (Mbps)(a)

Ene

rgy

(nJ

/ bit

/ ite

r)

0 200 400 600 8000

0.2

0.4

0.6

0.8

1

[A]

[B]

[C][D]

[E]

[F]

[G]

[H][I]

[J][K]

[T]

Throughput (Mbps)(b)

Silic

on C

ost (

mm

2 / M

bps)

Nor

m

[A] [B] [C] [D] [E] [F] [G] [H] [I] [J]

[K] [T]

: [104] : [84] : [56] : [97] : [55] : [91] : [105] : [106] : [107] : [98] : [85] : This Work

Figure 8.24 :  Comparison of energy efficiency & normalized silicon efficiency 

Page 191: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

   

165 

Part IV

Integration and Conclusions

Page 192: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for
Page 193: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

   

167 

9

9 Integration with Baseband 

Processor 

9.1 Introduction to HW Accelerators 

ENERAL PURPOSE PROCESSORS offer maximum flexibility but at the cost of 

lower  performance.  On  the  other  hand,  the  high  performance  application 

specific processors cannot completely adopt the general purpose processor flow; 

instead they utilize hardware acceleration blocks to achieve the large computing 

capacity. Use of the accelerators has been a key to enhance the performance and 

still  maintain  the  area  and  power  efficiency,  but  they  do  not  come  free.  The 

hardware  accelerators  are  usually  less  flexible  (Table  9.1)  due  to  the  use  of 

dedicated hardware, but benefit is that they can perform the hardware intensive 

tasks  concurrently  with  the  other  instruction  executions.  Acceleration  can  be 

applied  on  many  levels  such  as  instruction  level  acceleration  or  function  level 

acceleration. 

The  instruction  level  acceleration  usually  deals  with  single  arithmetic 

operation  which  is  considered  to  be  carrying  enough  complexity,  so  that  its 

implementation  through  normal  instructions  may  appear  as  a  bottle  neck  in 

achieving higher performance. The function of the accelerator can be based upon 

a  single  instruction  or multiple  instructions.  The  hardware  for  instruction  level 

acceleration  may  take  the  operands/operand‐addresses  directly  from  the 

instruction, or it can be configured with some configuration vector.  

Page 194: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

168  Chapter 9: Integration with Baseband Processor

 

 

Function  level  acceleration  accommodates  a  complete  function  to  be 

computed,  and  usually  it  is  considered  to  be  completely  independent  of  the 

processor  tasks.  The  function  to  be  accelerated  normally  requires  multiple 

instructions to complete the job, if implemented on a general purpose processor. 

Therefore all such instructions can go in to the accelerator in a simpler instruction 

flow. A  function  level  accelerator  can  also  include  a  controller  based  execution, 

which is configurable through some configuration registers.  

Coding and decoding for error correction are considered to be popular kernel 

algorithms  in  baseband  processors.  They  are  heavily  iterative  and 

computationally  intensive.  As  these  algorithms  are  relatively  stable  therefore 

their  usual  implementation  is  through  HW  accelerators.  The  interleaver 

functionality,  which  is  tightly  coupled  with  coding  and  decoding  for  error 

correction,  is  also  considered  to  be  computationally  intensive  and  bearing 

irregularities.  The  complexity  increases  significantly  when  interleaving 

algorithms  from many standards have  to be  supported. Therefore, when coding 

and decoding  for error correction  is  implemented  through accelerators,  there  is 

no  reason  that  interleaver  functionality  be  implemented  through  normal 

instructions in a baseband processor. 

9.2 Interleaver Integration with Baseband Processor – 

An Overview 

The  multimode  interleaver  architecture  can  perform  interleaving  or  de‐

interleaving  for  various  communication  systems.  It  is  targeted  to be used  as  an 

accelerator  core  with  a  programmable  baseband  processor.  The  usage  of  the 

multimode interleaver core completely depends on the capability of the baseband 

processor. For lower throughput requirements only a single core can be utilized 

with  baseband  processor  and  the  operations  are  performed  sequentially. 

However,  as  a  matter  of  fact,  usual  system  level  implementations  require 

interleaver at multiple stages. Number of stages can be up to  three e.g. WCDMA 

Table 9.1 :  Advantages and disadvantages of HW accelerators 

Advantages Disadvantages

Higher performance

Less flexible and longer verification time Low power consumption

Less silicon cost

Page 195: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

9.3  Integrating the Interleaver with Senior DSP Processor 169

 

 

9

(turbo  code  interleaving,  1st  interleaving  and  2nd  interleaving).  A  fully  parallel 

implementation  can  be  realized  by  using  three  instances  of  the  proposed 

multimode  interleaver  core,  but  in  order  to  optimize  the  hardware  cost  a wise 

usage  would  be  to  use  two  instances  hooked  up  with  the  main  bus  of  the 

processor,  as  shown  in  Figure  9.1.  In  this  way  the  interleaving  stages  can  be 

categorized  as  channel  interleaving  and  coding/decoding  interleaving.  Further 

optimizations can be made in the two cores to fit  in the particular requirements 

e.g.  one  interleaver  core  dedicated  for  coding/decoding  and  the  second  core 

dedicated  for  channel  interleaving.  By  doing  so  the  reduction  of  silicon  cost 

associated with address generation is not significant; however, memory sizes can 

be optimized as per the targeted implementations.  

The  input memory working  as  a  buffer  can be  a part  of  baseband processor 

data  memory.  By  doing  so  the  extra  memory  inside  interleaver  core  can  be 

avoided as it might be redundant in many cases. Sometimes it is also possible and 

beneficial to implement the permutations while reading the memory. It may still 

be  supported by  the  interleaver  core by providing  the  address output  for  input 

memory.  This  also  serves  to  achieve  better  synchronization  between  data  read 

and the decoder operations.  

9.3 Integrating the Interleaver with Senior DSP 

Processor 

The use of processor (or multi‐processors) as a platform for baseband processing 

is getting popular nowadays. One example of a successful story is LeoCore [101] 

from Coresonic AB, based on a research in our group, demonstrating live demo for 

Cross Bar Switch

FrontEnd CMAC Controller

Mem.Bank 1

Mem.Bank 2

Mem.Bank N

Acc 4Acc 3Bridge

Cross Bar Switch

Mem.Bank 11

Mem.Bank 12

Complex Memory

Interleaver

Acc 1 Acc 2Core 1 Core 2

Integer MemoryRF

Figure 9.1 :  An overview of integration of interleaver core with baseband processor 

Page 196: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

170  Chapter 9: Integration with Baseband Processor

 

 

DVB‐T  and WiMAX.  The  platform  processing  offers  reduced  control  overheads 

with  the  flexibility  feature attained  from programmability of  the processor,  and 

performance coming from specialized ASIC/accelerators.  

9.3.1 Senior as the Integration Platform Controller 

“Senior”  is  a  processor  evolved  in  our  group  over  the  time  [25].  It  is  designed 

following the ASIP design flow for DSP, and it offers advantages in terms of power 

consumption,  performance,  and  flexibility.  It  is  a  single  instruction  issue  DSP 

processor carrying a good mix of RISC and CISC instructions. Other than general 

DSP  applications,  one  of  its  key  features  is  the  extendibility  for  customized 

instructions and to adopt multiple accelerators with specific hardware resources.  

This  extendibility  feature  of  Senior  makes  it  a  candidate  to  offer  platform 

processing with the help of other accelerator cores. Recently, it has been planned 

to use the “Senior” for the integration platform for Multi‐base Project [102] from 

European Commission’s 7th Framework program for research and technological 

development  (FP7).  Similar  to  LeoCore  platform  [101]  the  FEC  blocks  and  the 

interleaver core are chosen  to be  implemented as an accelerator attached  to an 

on‐chip network.  

9.3.2 On Chip Network (OCN) 

The interface adopted with integration platform for Multi‐base Project is based on 

a platform controller i.e. Senior. It connects the major functional modules to each 

other through an on‐chip network (OCN). The interface with OCN is easy to use, 

and it imposes little overhead for the modules. The interface is based on a circuit 

connected  model  where  the  platform  controller  is  responsible  for  setting  up 

connections.  

Two  general  approaches  for  such  type  of  interfacing  are  the  general  bus 

architecture based on simpler bus arbitration, and the crossbar, where all masters 

can read or write the data simultaneously as long as they are accessing different 

slaves. The bus arbitration is simple and robust solution, which is easy to verify, 

but  the  total  bandwidth  is  not  very  high. On  the  other  hand  the  crossbar  gives 

high bandwidth, but arbitration is much more complex. 

The OCN interface avoids both these general bus architecture approaches, and 

offers  an  alternate  based  on  requirements  from  baseband  processing.  In 

baseband  processing  the  access  patterns  are  quite  different  from  a  general 

purpose system. A master access a slave for a relatively long time (thousands of 

Page 197: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

9.3  Integrating the Interleaver with Senior DSP Processor 171

 

 

9

clock cycles) before it needs to access another slave. This means that there is no 

need for a complex arbiter and that the connections can be setup statically by the 

platform controller  [103]. This  is  illustrated  in  Figure 9.2 based  on NOC design 

specification  in  Multi‐base  Project  [102].  Here  the  interface  through  OCN  is 

mainly  based  on  two  communication  scenarios;  direct  module  to  module 

communication mode  and memory handover mode where  exclusive  access  to  a 

memory is handed over via the OCN.  

9.3.3 Connection of Interleaver Block 

The main strategy for module connection in OCN is based on direct connection, i.e. 

the output of one module is connected directly to the input of another module via 

the OCN. The interleaver core is also integrated with OCN as a module. In this way 

it can serve for maximum data rate for inter‐module data transfer. Modules can be 

connected  to  form  a  chain where  one module  will  process  data  and  send  it  to 

another  module.  No  memory  is  required  in  this  case  for  intermediate  storage 

except  a  single  pipeline  stage  register  for  timing  closure  purpose.  Figure  9.3 

shows a simple chain of module connections including the interleaver block in the 

middle. 

Module 1

OCN

Module 2

Module 3

Module 4

Memory 1

Memory 2

Memory 3

Memory 4

Senior

PhysicalConnection

VirtualConnection

Figure 9.2 :  An example, OCN configured by the platform controller 

Page 198: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

172  Chapter 9: Integration with Baseband Processor

 

 

9.3.3.1 Memory Configuration for Interleaver 

The interleaver address generation provides the luxury to use the fixed memory 

bank included in the interleaver core or to use some external memory banks. In 

later case the interleaver address generation core is responsible to provide both 

write  and  read  addresses  for  that  particular  memory  bank.  The  memories 

connected to the OCN network do not always need address information as these 

memories  also  include  their  own  address  generators.  However,  for  more 

advanced  addressing  schemes  e.g.  calculating  FFT  or  implementing  interleaver 

using permuted addressing, it is appropriate to send the address signal as well to 

the  memories  through  OCN.  Still  it  is  possible  to  use  the  in‐built  address 

generators  inside  the memory  blocks, when  data  read  or write  is  in  sequential 

order.  

When using internal memory bank the overall latency may increase if a single 

memory  bank  is  used;  however,  this  extra  latency  can  be  avoided  by  using  an 

additional memory bank. In this case both the memories are used in a ping‐pong 

fashion  as  shown  in  Figure  9.4.  When  one  memory  is  being  written  by  the 

external module the second memory is read at the same time by the next module 

in chain, and vice versa. 

9.3.3.2 Interleaver Configuration for Different Standards 

A 32 bit configuration register is responsible to hold the configuration vector, and 

it is loaded by the baseband processor or the main controller (Senior in our case). 

The detail of all bits in the 32 bit configuration word is provided in Table 9.2. 

OCNstrobe_input

fc_input_ready

datain

Module 2(Interleaver)

strobe_input

fc_input_ready

datain

Module 3(FEC)

strobe_input

fc_input_ready

datain

Module 1(De-mapper)

dataout

Figure 9.3 :  Chain of modules including interleaver 

Page 199: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

9.3  Integrating the Interleaver with Senior DSP Processor 173

 

 

9

Most of the configuration issues in the interleaver are strictly connected to the 

pre‐computation  phase,  as  discussed  in  prior  chapters  for  different  scenarios.  

Therefore,  dynamic  re‐configuration  cannot  be  adopted  without  additional 

overheads;  instead  static  re‐configuration  is  adopted  here.  It  means  that  the 

configuration is always loaded at the beginning of the interleaver process, and it 

stays during the whole pre‐computation and execution phase. On the other hand, 

the  configuration of  computing elements  inside  the  interleaver  core  is dynamic, 

and it is controlled by the controller internal to the interleaver core. 

 

 

InterleaverADG

MemoryBank 1

MemoryBank 2

Write

Read

Read

Write

Time instant 1Time instant 2

Figure 9.4 :  Use of double memory to enhance throughput 

Table 9.2 :  Summary of configuration word (32 bit) 

Total Bits  Bit Number  Parameter Name Description

13  12:0 K  Block Size

1  13 Int_Mode Interleaver or De‐interleaver 

3  16:14 Fn_Mode Select standard

2  18:17 Sub‐Fn_Mode Category within standard

6  24:19 Int_Depth Parameter d, number of rows, or number of columns

2  26:25 Aux_Fn No of total streams

2  28:27 Mod_Type_1 Modulation type for stream set 1 

2  30:29 Mod_Type_2 Modulation type for stream set 2 

1  31 Reserved For future use

Page 200: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for
Page 201: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

   

175 

10

10 Conclusion and Future Work 

10.1 Conclusions 

NNOVATIONS  in programmable baseband processor architectures provide an 

opportunity to support multiple communication standards using a single‐chip. 

Still there are other components that have not yet been focused by the single chip 

solutions,  and  they need  to  be  investigated  thoroughly. One of  the  reasons  that 

these components have not been integrated in to the baseband processors is the 

diversity  in  their  implementations.  Interleaver  implementation  is  one  such 

example, and  this  thesis has contributed  towards  the convergence of  its diverse 

algorithms and implementations on to a single architecture, so that it could be a 

part of the platform processors. 

Memory Partitioning 

Combination of a Master controller, SIMD processor, and a Set of Accelerators 

is a popular approach to reach power efficient solutions in computation extensive 

tasks  like baseband processing. The bottleneck associated with  this  approach  is 

the  memory  sub‐systems.  Interleaver  as  a  component  in  baseband  processing 

chain  also  holds  complexity  in  its  memory  sub‐system.  The  thesis  suggests  an 

efficient memory partitioning for  interleaving and the corresponding addressing 

schemes  targeting multiple  standards. The memory sizes are not  too small  thus 

avoiding large overheads associated with the use of small memories. 

I

Page 202: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

176  Chapter 10: Conclusion and Future Work

 

 

On‐the‐Fly Address Generation 

In the presence of a huge range of different block sizes and different types of 

interleaving patterns, on‐the‐fly address generation  is  considered  to be a bonus 

feature. Without this feature the memory size can grow tremendously. The main 

focus of the thesis has been to generate all kinds of interleaver addresses on‐the‐

fly,  thus  the memory  size  remains  of  the  order  of  the maximum  block  size.  To 

reach an efficient on‐the‐fly address generation, the algorithmic transformations 

have been applied which have ultimately contributed towards efficient hardware 

re‐use among different standards. 

Fast Switchability between Standards 

In  a multi‐tasking  environment,  a  processor might  need  to  do  computations 

for  different  standards  in  consecutive  time  slots.  If  some  component  in  the 

processor  chain  lacks  to  produce  the  required  data  stream,  the  overall  latency 

may increase. Interleaver is a major contributor towards latency, so it should be 

given a special attention. The thesis covers the aspects associated with on‐the‐fly 

pre‐processing,  which  is  also  an  essential  part  to  reach  to  on‐the‐fly  address 

generation in many cases. Inclusion of on‐the‐fly pre‐processing has enabled the 

interleaver core to be re‐configured from one standard to other in short time. 

Parallelism and Higher Bandwidth 

Quest  for  higher  bandwidth  is  accelerating  the  competition  among  wireless 

technologies and it  is becoming necessary to adopt parallel processing approach 

as compared to sequential processing. The thesis provides parallelism support for 

multi‐stream communication systems such as 802.11n with four spatial streams. 

It  also  provides  parallelism  for  turbo  decoding  with  up  to  8  parallel  SISO 

processing for radix‐2 case and up to 4 parallel SISO processing for radix‐4 case. 

The  aspects  associated  with  parallelism  i.e.  parallel  address  generation  using 

single  architecture  and  memory  conflict  handling  are  addressed  in  respective 

chapters. 

Re‐configurability 

There  is  a  general  trend  to  replace  the  hardware  based  implementation  of 

communication systems with more flexible and easy to maintain SW applications. 

Flexibility  can  be  considered  here  in  terms  of  programmability  (i.e. 

programmable processors) or re‐configurability (i.e. flexible ASICs). The solutions 

provided  in  this  thesis  are not  programmable;  instead  they  are  re‐configurable. 

Page 203: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

10.1  Conclusions 177

 

 

10

We agree that a programmable solution can provide more versatility as compared 

to a  re‐configurable solution, but at  the cost of more silicon and more power. A 

very  recent  work  [108]  offers  VLIW  based  programmable  solution  for  flexible 

interleaving.  Table  10.1  provides  a  glance  at  the  extra  cost  associated  with  a 

programmable solution as compared to one of our re‐configurable solution. The 

higher cost saving as compared to the programmable solution strongly motivates 

to opt for the re‐configurable solution. 

Summary of Features and Contributions 

The features and contributions from this work can be summarized as below: 

On‐the‐fly address generation 

Includes pre‐processing tasks 

Offers fast switchability among different standards 

Efficient memory partitioning 

Convergence to single architecture 

Offers parallelism for multi‐stream communication systems 

Offers parallelism for turbo decoding 

Re‐configurable to wide range of algorithms 

Better than programmable solution in silicon and power utilization 

Higher throughput 

Lower silicon cost 

Lower power 

Table 10.1 :  Comparison with a programmable solution 

Parameter  Programmable 

Solution [108] 

Re‐configurable

Solution [5] (Our Work) 

Total Area  1.67 mm2 0.126 mm2 (13 times less) 

Memory Size  1.25 Mbit 72 Kbit  (16 times less) 

Memory Area  1.09 mm2 0.1 mm2 (11 times less) 

Computing Logic Area  0.58 mm2 0.03 mm2 (19 times less) 

Power Estimate  ‐‐‐  11.7 mW

Throughput  500 MSample/s 664 MSample/s for multi‐stream systems 166 MSample/s for single‐stream systems 

Standard Coverage Not Limited Limited to current, but can accommodate new standards with similar properties 

Page 204: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

178  Chapter 10: Conclusion and Future Work

 

 

A Step Ahead 

Looking  in  to  one  of  the main  application  of  the  topic  i.e. mobile  phone,  the 

dramatic  changes  in  the  mobile  industry  has  reduced  the  lifespan  of  a  mobile 

phone to less than two years. With all the achievements and features provided by 

this work, the reconfigurable interleaving is a step ahead towards faster time‐to‐

market solutions and rapid prototyping.   

 

10.2 Future Work 

Like “space never ends”, research never ends either. In continuation to this work, 

further  research  can  be  done  in  the  area  of  physical  implementation, 

programmability, and improving the memory sub‐system partitioning. 

Physical Implementation 

A chip tape out, targeting an integration platform for baseband processor, is in 

the planning phase at  the  time of  this  thesis write up.  Including  the  interleaver 

core  in  the  tape  out  plan  will  provide  further  opportunities  to  validate  the 

implementation and  integration  issues.  In  this connection a  fully  functional pre‐

implementation on FPGA platform can be beneficial to highlight all the issues.  

Efficient Programmable Solution 

In general, programmability for unlimited standard support leads towards an 

implementation close to a general purpose VLIW processor, and hence it becomes 

silicon  and  power  inefficient.  However,  according  to  author’s  opinion,  it  is  still 

possible to reach to a programmable VLIW architecture with reduced silicon cost. 

A study on eliminating some possibilities that will never happen to newly evolved 

interleavers; can create some room to come up with a programmable yet area and 

power efficient solution.  

Smart Memory Design for Larger Block Sizes 

Working  for  a  re‐configurable  solution  involves  a  mix  of  block  sizes.  Some 

standards  specify  very  large  block  sizes,  which  in  turn  add  towards  extra 

overhead to other standards with smaller block sizes.  In order to reach a better 

trade off, smart memory design for very large block sizes is a good research topic. 

One  way  to  attack  this  problem  is  to  invent  new  algorithms  supporting  smart 

Page 205: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

10.2  Future Work 179

 

 

10

memory  design.  Other  than  this,  one  can  also  target  the  existing  standards  by 

performing the algorithmic modifications, but maintain the original functionality 

is a major challenge. 

Step towards Flexible FEC Core 

Finally,  as  the  interleaver  is  always  used  in  combination  with  some  error 

correction system, therefore this work can be a step towards a flexible FEC core, 

incorporating  multiple  FEC  algorithms  and  re‐configurable  interleaver  on  to  a 

single architecture.  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Page 206: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for
Page 207: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

   

181 

Bibliography  

[1] C.  E.  Shannon,  “A  mathematical  theory  of  communication,”  Bell  System 

Technical Journal, vol. 27, pp. 379–423, July 1948. 

[2] C.  E.  Shannon,  “A  mathematical  theory  of  communication,”  Bell  System 

Technical Journal, vol. 27, 623–656, October 1948. 

[3] http://mars.jpl.nasa.gov/MPF/mpf/rover.html 

[4] The  history  of  communication,  http://inventors.about.com/library/ 

inventors/bl_history_of_communication.htm 

[5] R.  Asghar,  and  D.  Liu,  “Multimode  flex‐interleaver  core  for  baseband 

processor  platform,”  Journal  of  Computer  Systems,  Networks  and 

Communications, Vol. 2010, doi: 10.1155/2010/793807. 

[6] A.  Nilsson,  E.  Tell,  and  D.  Liu,  “An  11mm2,  70mW  fully  programmable 

baseband  processor  for  mobile  WiMAX  and  DVB‐T/H  in  0.12μm  CMOS,” 

IEEE Journal of Solid State Circuits, vol. 44, pp. 90–97, 2009. 

[7] J.  L.  Ramsey,  “Realization  of  Optimum  Interleavers,”  IEEE  Transaction  on 

Information Theory, vol. IT‐16, no. 3, pp. 338–345, May‐1970. 

[8] G. D. Forney, “Burst‐Correcting Codes for the Classic Bursty Channel,” IEEE 

Transaction  on  Communication  Technology,  vol.  COM–19,  no.  5,  pp.  772–

781, October–1971. 

[9] S.  Doninar,  and  D.  Divsalar,  “Weight  distributions  for  turbo  codes  using 

random  and  nonrandom  permutations,”  Telecommunications  and  Data 

Acquisition  Progress  Report  42–122,  Jet  Propulsion  Laboratory,  California, 

pp. 56–65, August 1995. 

[10] 3GPP‐WCDMA, “3rd Generation Partnership Project, Technical Specification Group  Radio  Access  Network;  Multiplexing  and  Channel  Coding  (FDD),” 

Release 6, 3GPP TS 25.212 v6.0.0 (2003‐12). 

[11] 3GPP‐LTE,  “3rd  Generation  Partnership  Project,  Technical  Specification Group Radio Access Network;  Evolved Universal  Terrestrial  Radio Access 

(E‐UTRA);  Multiplexing  and  Channel  Coding”,  Release  8,  3GPP  TS  36.212 

v8.0.0 (2007–09). 

[12] O. Y. Takeshita, and D. J. Costello, Jr, “New deterministic interleaver designs for turbo codes,” IEEE Transaction for Information Theory, vol. 46, no. 6, pp. 

1988–2006, September 2000. 

Page 208: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

182  Bibliography

 

 

[13] C. Berrou, Y. Saouter, C. Douillard, S. Kerouedan, and M. Jezequel, “Designing good  permutations  for  turbo  codes:  towards  a  single  model,”  IEEE 

International  Conference  on  Communications,  vol.  1,  pp.  341–345,  June 

2004. 

[14] O.  Y.  Takeshita,  “Permutation  Polynomial  Interleavers:  An  Algebraic‐Geometric  Perspective,”  IEEE Transaction  for  Information Theory,  vol.  53, 

no. 6, pp. 2116–2132, June 2007. 

[15] IEEE  802.16e,  “IEEE  Standard  for  local  and  metropolitan  area  networks, Part  16:  Air  Interface  for  Fixed  Broadband  Wireless  Access  Systems–

Amendment  2:  Medium  Access  Control  Layers  for  Combined  Fixed  and 

Mobile Operations in Licensed Bands,” (2005). 

[16] S. Vafi and T. Wysocki: “Weight distribution of turbo codes with convolution interleavers,” IET Communications, vol. 1(1), pp. 71–78, 2007. 

[17] E.  K.  Hall,  and  S.  G.  Wilson:  “Stream‐Oriented  Turbo  Codes,”  IEEE Transaction on Information Theory, vol. 47, no. 5, pp. 1813–1831, July 2001. 

[18] National  Instruments  Data  Acquisition  Card,  http://www.ni.com/ 

dataacquisition/. 

[19] L‐3  Communications,  PCM  Encoder  Data  Acquisition  System  for  air‐born applications, http://www.l‐3com.com/.  

[20] M.  P.  Craven,  K.  M.  Curtis,  and   B.  R.  Hayes‐Gill,  “Consideration  of multiplexing  in  neural  network  hardware,”   IEE  Proceedings  on  Circuits, 

Devices and Systems, vol. 141, no. 3, June 1994. 

[21] S. Aoki, and K. Aoki, “Efficient multiplexing scheme for IP packets over the advanced  satellite  broadcasting  systems,”  IEEE  Transaction  on  Consumer 

Electronics, vol. 55, no. 1, pp. 49–55, February 2009. 

[22] T. N.  Ruckmongathan,  “Techniques  for  reducing  the  hardware  complexity and the power consumption of drive electronics,” Proceedings of ASID, pp. 

115–120, October 2006. 

[23] K.  K.  Parhi,  “A  systematic  approach  for  design  of  digit‐serial  signal processing architectures,” IEEE Transaction of Circuits and Systems, vol. 38, 

no. 4, pp. 358–375, April 1991. 

[24] B. Moyer, “Low Power Design for Embedded Processors,” Proceedings of the IEEE, vol. 89, no. 11, pp. 1576–1587, November 2001. 

[25] D.  Liu,  “Embedded DSP Processor Design,  Application  Specific  Instruction set Processors,” Elsevier Inc., Morgan Kaufmann Publishers, July 2008. 

Page 209: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

Bibliography  183

 

 

[26] C. Piguit, “Low‐Power Electronics Design,” CRC Press, ISBN 0849319412. 

[27] C.  Kretzschmar,  R.  Siegmund,  and  D.  Muller,  “Low  power  encoding techniques  for  dynamically  reconfigurable  hardware,”  Journal  of 

Supercomputing, Kluwar, vol. 26, issue 2, pp. 185–203, 2003. 

[28] J.  Teich,  S.P.  Fekete,  and  J.  Schepers,  “Optimization  of  dynamic  hardware reconfigurations,”  Journal  of  Supercomputing, Kluwar,  vol.  19,  issue  1,  pp. 

57–75, 2001. 

[29] P.  Benoit,  L.  Torres,  G.  Sassatelli,  M.  Robert,  G.  Cambon,  and  J.  Becker, “Dynamic  hardware multiplexing:  improving  adaptability with  a  run  time 

reconfiguration manager,” Proceedings of ISVLSI, March 2006. 

[30] P.  Brisk,  A  Kaplan,  and  M.  Srrafsadeh,  “Area‐efficient  instruction  sets synthesis  for  reconfigurable  systems‐on‐chip  designs,”  IEEE  Design 

Automation Conference, pp. 395–400, 2004. 

[31] H.  Lin,  and  Y.  Fei,  “Resource  sharing  of  pipelined  custom  hardware extension for energy efficient application specific instruction set processor 

design,” IEEE International Conf. Computer Design, October 2009. 

[32] R.  Asghar,  and  D.  Liu,  “Low  complexity  hardware  interleaver  for  MIMO‐OFDM based wireless LAN,”  IEEE  International Symposium on Circuits and 

Systems (ISCAS), pp. 1747–1750, May 2009. 

[33] R.  Asghar,  D.  Wu,  J.  Eilert,  and  D.  Liu,  “Memory  Conflict  Analysis  and Implementation  of  a  Re‐configurable  Interleaver  Architecture  Supporting 

Unified Parallel Turbo Decoding,” Journal of Signal Processing Systems, doi: 

10.1007/s11265‐009‐0394‐8. 

[34] C.  Berrou,  A.  Glavieus,  and  P.  Thitimajshima,  “Near  Shannon  limit  error‐correcting  coding  and  decoding:  Turbo‐codes”,  IEEE  ICC’93,  vol.  2,  pp. 

1064–1070, May 1993. 

[35] A.  Nilsson,  E.  Tell,  and  D.  Liu,  “An  11mm2,  70mW  fully  programmable 

baseband  processor  for  mobile  WiMAX  and  DVB‐T/H  in  0.12μm  CMOS”, 

IEEE  International  Solid‐State  Circuits  Conference  (ISSCC),  San  Francisco, 

February 2008 

[36] M. Shin and I. C. Park, “Processor‐based turbo interleaver for multiple third‐generation wireless  standards”,  IEEE Communication Letters,  vol.  7,  no.  5, 

pp. 210–212, May 2003. 

[37] P. Ampadu and K. Kornegay, “An efficient hardware interleaver for 3G turbo decoding”, Proc. RAWCON’03, pp. 199–201, August 2003. 

Page 210: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

184  Bibliography

 

 

[38] Z.  Wang  and  Q.  Li,  “Very  low‐complexity  hardware  interleaver  for  turbo decoding”,  IEEE Transaction on Circuits and System –  II:  vol. 54, no. 7, pp. 

636–640, July 2007. 

[39] R. Asghar and D. Liu, “Very low cost configurable hardware interleaver for 3G  turbo  decoding”,  IEEE  International  Conference  on  Information  and 

Communication Technologies:  From Theory  to Applications  (ICTTA’08),  pp. 

1–5, Damascus, Syria, April 2008. 

[40] R. Asghar, and D. Liu, “Dual standard re‐configurable hardware interleaver for  turbo  decoding,”  IEEE  International  Symposium  on Wireless  Pervasive 

Computing (ISWPC’08), pp. 768–772, Santorini, Greece, May 2008. 

[41] I.  Kuon  and  J.  Rose,  “Measuring  the  gap  between  FPGAs  and ASICs,” ACM 14th International Symposium on Field Programmable Gate Arrays (FPGA’06), 

pp. 21–30, New York, USA, 2006.  

[42] M.  Cheng,  M.  Nakashima,  J.  Hamkins,  B.  Moision  and  M.  Barsoum,  “A decoder  architecture  for  high‐speed  free‐space  laser  communications”, 

Proc. SPIE, Free‐Space Laser Comm. Tech. XVII,  San  Jose, CA,  vol. 5712, pp. 

174–185, January 2005.  

[43] G. R. Blakley, “A Computer Algorithm for Calculating the Product A×B mod M”, IEEE Transaction on Computers, vol. C‐32, no. 5, pp. 497–500, May 1983. 

[44] F.  Rodriguez,  I.  Melhus,  L.  Fan,  A.  Pietrabissa,  C.  Baudoin,  and  Z.  Sun, “Interworking Strategy Between DVB‐RCS and WiMAX,” IP Networking over 

Next‐Generation  Satellite  Systems,  Chaptor‐9,  Springer,  pp.  127–141, 

December 2007. 

[45] I. Djama, and T. Ahmed, “A Cross‐Layer Interworking of DVB‐T and WLAN for Mobile  IPTV  Service  Delivery,”  IEEE Transaction  on Broadcasting,  vol. 

53, issue 1, pp. 382–390, March 2007. 

[46] M.  Peng,  and  W.  Wang,  “A  Unified  Architecture  and  Key  Techniques  for Interworking  between  WiMAX  and  Beyond  3G/4G  Systems,”  Journal  of 

Wireless Personal Communications, Springer, vol. 45, no. 1, pp. 67–90, April 

2008.  

[47] ETSI  EN  300‐744  V1.5.1:  “Digital  Video  Broadcasting  (DVB);  Framing Structure,  Channel  Coding  and  Modulation  for  Digital  Terrestrial 

Television,” November 2004. 

[48] IEEE  802.11‐2007:  “Standard  for  local  and  metropolitan  area  networks, Part  11: Wireless  LAN Medium Access  Control  (MAC)  and  Physical  Layer 

(PHY) Specifications,” Revision of IEEE Std. 802.11‐1999. 

Page 211: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

Bibliography  185

 

 

[49] H. M. Bluethgen, et. al.  “A programmable baseband platform  for  software‐defined radio,” Proceedings of SDR FORUM, 2004. 

[50] U. Ramacher, “Software‐Defined Radio Prospects for Multistandard Mobile Phones,” Computer, vol. 40, issue 10, pp. 62–69, October 2007. 

[51] Y. N. Chang, and Y. C. Ding: “A Low‐Cost Dual Mode De‐interleaver Design,” Int. conf. on Consumer Electronics, pp. 1‐2, January 2007. 

[52] Y.  N.  Chang:  “A  Low‐Cost  Dual  Mode  De‐interleaver  Design,”  IEEE Transaction on Consumer Electronics, vol. 54, no. 2, pp. 326–332, May 2008. 

[53] Y. W. Wu,  and  P.  Ting:  “A  High  Speed  Interleaver  for  Emerging Wireless Communications,”  Proc.  of  International  Conf.  on  Wireless  Networks, 

Communications and Mobile Computing, vol. 2, pp. 1192–1197, June 2005. 

[54] J. B. Kim, Y.  J. Lim, and M. H. Lee: “A low complexity FEC Design for DAB,” Proc.  of  IEEE  Int.  Symposium  On  Circuits  and  Systems,  vol.  4,  Sydney, 

Australia, pp. 522–525, May 2001. 

[55] J. H. Kim, and I. C. Park: “Duo‐binary circular turbo decoder based on border 

metric  encoding  for WiMAX,”  Proc.  of  IEEE  ASPDAC,  pp.  109–110,  March 

2008. 

[56] Cheng‐Hung  Lin,  Chun‐Yu  Chen,  and  An‐Yeu  Wu:  “High‐Throughput  12‐Mode CTC Decoder for WiMAX Standard,” Proc. of IEEE VLSI‐DAT, pp. 216–

219, April 2008. 

[57] C. Berrou, M.  Jezequel, C. Douillard, and S. Kerouedan:  “The advantages of non‐binary Turbo  codes,” Proc. of  IEEE  Info. Theory Workshop,  pp.  61–63, 

September 2001. 

[58] S.  Vafi,  and  T.  Wysocki:  “On  the  Performance  of  Turbo  Codes  with Convolutional  Interleavers,”  Proc.  of  Asia‐Pacific  Conference  on 

Communications, pp. 222–226, October 2005. 

[59] S.  Vafi,  and  T.  Wysocki:  “Performance  of  convolutional  interleavers  with different  spacing  parameters  in  turbo  codes,”  Proc.  of  6th  Australian 

Communication Theory Workshop, pp. 8–12, February 2005. 

[60] R. E. Bryant, "Graph‐Based Algorithms for Boolean Function Manipulation," IEEE Transactions on Computers, vol. C‐35(8), pp. 677–691, 1986.  

[61] R. E. Bryant, "Symbolic Boolean Manipulation with Ordered Binary Decision Diagrams," ACM Computing Surveys, vol. 24, no. 3, pp. 293–318, September 

1992. 

Page 212: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

186  Bibliography

 

 

[62] A. C.  Parker,  J.  T.  Pizarro,  and M. Mlinar,  “MAHA: A program  for datapath synthesis,” IEEE 23rd Design Automation Conference, pp. 461–466, 1986. 

[63] B.  Pangrle,  and  D.  Gajski,  “Slicer:  A  state  synthesizer  for  intelligent compilation,” International conference on computer design, ICCD’87, pp. 42–

45, 1987. 

[64] R.  A.  Bergamaschi,  and D.  J.  Allerton,  “A  graph‐based  silicon  compiler  for concurrent  VLSI  systems,”  IEEE  CompEuro  Conference,  pp.  36–47,  April 

1988. 

[65] M.  Woh  et.  al.,  “AnySP:  Anytime  Anywhere  Anyway  signal  processing,” International Symposium on Computer Architectures (ISCA’09), pp. 128–139, 

Texas, USA, June 2009.  

[66] Xilinx Inc.: “Interleaver/De‐Interleaver,” Product Specification, v5.1, DS250, March 2008. 

[67] Altera Inc.: “Symbol Interleaver/De‐Interleaver Core,” Mega Core Function User’s Guide, ver. 1.3.0, June 2002. 

[68] Lattice  Semiconductor  Inc.:  “Interleaver/De‐Interleaver  IP  Core,”  Core User’s Guide, ipug_61_02.5, August, 2008. 

[69] L.  Horvath,  I.  B.  Dhaou,  H.  Tenhunen,  and  J.  Isoaho,  “A  novel,  high‐speed, reconfigurable  demapper‐symbol  deinterleaver  architecture  for  DVB‐T,” 

Proceedings of ISCAS, vol. 4, pp. 382–385, Florida, USA, July 1999. 

[70] Y. N. Chang, “Design of an efficient memory‐based DVB‐T channel decoder,” Proceedings of ISCAS, vol. 5, pp. 5019–5022, Kaohsiung, Taiwan, May 2005. 

[71] H. Afshari, and M. Kamarei, “A novel symbol interleaver address generation architecture  for  DVB‐T  modulator,”  International  Communication  and 

Information Technologies, pp. 989–993, Bangkok, Thailand, October 2006. 

[72] R.  Asghar,  and  D.  Liu,  “Low  complexity  multimode  interleaver  core  for WiMAX with support  for convolutional  interleaving,”  International  Journal 

of Electronics, Communications and Computer Engineering, vol. 1, no. 1, pp. 

20–29, 2009. 

[73] 3GPP,  “Technical  Specification Group Radio Access Network; Multiplexing and Channel Coding (FDD) (Tech. Spec. 25.212 V5.9.0),” June 2004. 

[74] 3GPP,  “Technical  Specification Group Radio Access Network; Multiplexing and Channel Coding (FDD) (Tech. Spec. 25.212 V8.4.0),” December 2008. 

Page 213: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

Bibliography  187

 

 

[75] ETSI  EN  302‐583  V1.1.1,  “Digital  Video  Broadcasting  (DVB);  Framing Structure,  Channel  Coding  and  Modulation  for  Satellite  Services  to 

Handheld Devices (SH) below 3 GHz,” March 2008. 

[76] Y.  Zhang,  and K.  K.  Parhi,  “Parallel  turbo  decoding,” Proceedings of  ISCAS, vol. 2, pp. II–509–512, May 2004. 

[77] Y.  C.  Lu,  and  E.H.  Lu,  “A  parallel  decoder  design  for  low  latency  turbo decoding,” Proceedings of ICICIC, pp. 386–389, September 2007. 

[78] Y. Sun, Y. Zhu, M. Goel, and J. R. Cavallaro, “Configurable and scalable high throughput turbo decoder architecture for multiple 4G wireless standards,” 

Proceedings of ASAP, pp. 209–214, 2008.  

[79] R. Dobkin, M.  Peleg,  and R.  Ginosar,  “Parallel  interleaver  design  and VLSI architecture for low‐latency MAP turbo decoders,” IEEE Transaction on VLSI 

Systems, vol. 13, no. 4, pp. 427–438, April 2005. 

[80] A.  Giulietti,  L.  van  der  Perre,  and  M.  Strum,  “Parallel  turbo  coding interleavers:  avoiding  collisions  in  accesses  to  storage  elements,”  IEE 

Electronic Letters, Vol. 38, No. 5, pp. 232–234, February 2002. 

[81] J. Kwak, S‐M. Park, S‐S. Yoon and K. Lee, “Implementation of a parallel turbo decoder  with  dividable  interleaver,”  IEEE  International  Symposium  on 

Circuits and System (ISCAS), vol. 2, pp. 65–68, May 2003. 

[82] F.  Speziali,  and  J.  Zory,  “Scalable  and  area  efficient  concurrent  interleaver for  high  throughput  turbo‐decoders,”  Proceedings  of  Euromicro  DSD,  pp. 

334–341, 2004. 

[83] M. Martna, M. Nicola and G. Masera, “Hardware design of a low complexity, parallel  interleaver  for  WiMAX  Duo‐Binary  turbo  decoding,”  IEEE 

Communication Letters, vol. 12, no. 11, pp. 846–848, November 2008. 

[84] C.  Thomas  et.  al.,  “Integrated  circuits  for  channel  coding  in  3G  cellular mobile wireless systems,” IEEE Communications Magazine, vol. 41, no. 8, pp. 

150–159, August 2003. 

[85] C. C. Wong et. al., “A 0.22 nJ/b/iter 0.13μm turbo decoder chip using inter‐block permutation interleaver,” IEEE Custom Integrated Circuits Conference 

(CICC), pp. 273–276, September 2007. 

[86] Z. Wang,  Y.  Tang,  and  Y. Wang,  “Low hardware  complexity  parallel  turbo decoder architecture,” IEEE International Symposium on Circuits and System 

(ISCAS), pp 53–56, May 2003. 

Page 214: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

188  Bibliography

 

 

[87] S.  Pietrobon,  “Implementation  and  Performance  of  Turbo/MAP  Decoder,” International  Journal  of  Satellite  Communication,  vol.  15,  pp.23–46, 

December 1998. 

[88] P.  Robertson,  E.  Villeburn,  and  P.  Hoeher,  “A  comparison  of  Optimal  and Sub‐Optimal MAP Decoding Algorithms Operating in the log Domain,” IEEE 

International  Conference  on  Communications  (ICC),  pp  1009–1013,  June 

1995. 

[89] P.  Robertson,  P.  Hoeher,  and  E.  Villebrun,  “Optimal  and  sub‐optimal maximum  a  posteriori  algorithms  suitable  for  turbo  decoding,”  European 

Transaction  on  Telecommunication,  vol.8,  no.2,  pp.  119–125,  March–April 

1997. 

[90] S. Yoon, and Y. Bar‐Ness, “A Parallel MAP Algorithm for Low Latency Turbo Decoding,” IEEE Communication Letters, vol. 6, pp. 288–290, July 2002. 

[91] M. Bickerstaff, L. Davis, C. Thomas, D. Garret, and C. Nicol “A 24Mb/s radix‐4 logMAP  turbo  decoder  for  3GPP‐HSDPA  mobile  wireless,”  IEEE 

International  Solid‐State  Circuits  Conference  (ISSCC),  vol.  1,  pp.  150–151, 

February 2003. 

[92] C. Zhan, T. Arslan, A. T. Erdogan, and S. MacDougall,  “An efficient decoder scheme  for  double  binary  circular  turbo  codes,”  IEEE  International 

Conference  on  Acoustics,  Speech  and  Signal  Processing  (ICASSP),  pp.  229–

232, May 2006. 

[93] S. Papaharalabos, P. Sweeny, and B. G. Evans,  “Constant  log‐map decoding algorithm  for  duo‐binary  turbo  code,”  IEEE Electronic Letters,  vol.  42,  no. 

12, pp. 709–710, June 2006.  

[94] J.  H.  Kim,  and  I.  C.  Park,  “A  50Mbps  double  –binary  turbo  decoder  for WiMAX  based  on  bit‐level  extrinsic  information  exchange,”  IEEE  Asian 

Solid‐State Circuits Conference (ASSCC), pp. 305–308, November 2008. 

[95] Z. Wang, and K. K. Parhi, “High performance, high throughput turbo/SOVA decoder  design,”  IEEE Transactions on Communications,  vol.  51,  no.  4,  pp. 

570–579, April 2003. 

[96] A. Dingninou, F. Raouafi, and C. Berrou, “Organisation de  la memoire dans un  turbo decodeur utilisant  l'algorithm SUB‐MAP,” Proceedings of GRETSI, 

pp. 71–74, France, September 1999. 

[97] G. Prescher, T. Gemmeke, and T.G. Noll, “A parametrizable low‐power high throughput  turbo  decoder,”  IEEE  International  Conference  on  Acoustics, 

Speech and Signal Processing (ICASSP), pp. 25–28, March 2005. 

Page 215: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for

Bibliography  189

 

 

[98] C. Benkeser, A. Burg, T. Cupaiuolo, and Q. Huang, “Design and optimization of an HSDPA turbo decoder ASIC,” IEEE Journal of Solid‐State Circuits (JSSC), 

vol. 44, no. 1, pp. 98–106, January 2009. 

[99] H. Singh, et al, “MorphoSys: An Integrated Reconfigurable System for Data‐Parallel  and  Computing‐Intensive  Applications,”  IEEE  Transaction  on 

Computers, vol. 49, no. 5, May 2000. 

[100] R.G. Cooper, “The Distributed Pipeline,” IEEE Transaction on Computers, vol. 26, pp. 1123–1132, 1977. 

[101] Coresonic  AB,  “Coresonic  Announces  Break‐through  Programmable Baseband  Processor  for  Multimode  Modems,”  http://www.coresonic.com/ 

pdf/Coresonic%20PR%20LeoCore%2020060905.pdf 

[102] European  Commission  7th  Framework,  “Scalable  Multi‐tasking  Baseband for  Mobile  Communications  (MULTI‐BASE),”  http://www.multibase‐

project.eu 

[103] Anders  Nilsson,  “Design  of  programmable  multi‐standard  baseband processors,” Linköping Studies  in Science and Technology, Dissertation No. 

1084, Linköping, Sweden, June 2007. 

[104] B.  Bougard  et.al.,  “A  scalable  8.7nJ/bit  75.6Mb/s  parallel  concatenated convolutional  (turbo‐)  codec,”  IEEE  International  Solid‐State  Circuits 

Conference (ISSCC), pp. 152–153, vol. 1, February 2003. 

[105] M.  Shin,  and  I.‐C.  Park,  “SIMD  Processor‐based  turbo  decoder  supporting multiple  third‐generation wireless  standards,”  IEEE Transactions  on VLSI, 

vol. 15, no. 7, pp. 801–810, July 2007. 

[106] M.  J.  Thul,  R.  Gilbert,  T.  Vogt,  G.  Kreiselmaier,  and  N.  When,  “A  scalable system  architecture  for  high‐throughput  turbo‐decoders,”  Journal  of  VLSI 

Signal Processing, vol. 39, pp. 63–77, January 2005. 

[107] S. J. Lee, N. R. Sanbhag, and A. C. Singer, “A 285MHz pipelined MAP decoder in 0.18μm CMOS,”  IEEE  Journal of Solid‐State Circuits (JSSC), vol. 40, no. 8, 

pp. 1718–1725, August 2005. 

[108] E.  J.  C.  Rijshouwer,  and  C.  H.  van  Berkel,  “A  programmable,  scalable‐throughput  interleaver,” EURASIP  Journal on Wireless Communications and 

Networking, Hindawi Publishers, in‐press. 

 

 

Page 216: Flex IL Thesis V 077 - DiVA portalliu.diva-portal.org/smash/get/diva2:311111/FULLTEXT01.pdfRizwan Asghar, and Dake Liu, “Dual standard re‐configurable hardware interleaver for