1
SoC-Network for Interleaving in Wireless Communications Norbert Wehn
wehn@eit.uni-kl.de Microelectronic System Design Research Group University Kaiserslautern www.eit.uni-kl.de/wehn MPSoC’03 7-11 July 2003, Chamonix, France
2
MPSoC’03
- N. Wehn
SoC-Network for Interleaving in Wireless Communications Norbert - - PDF document
Microelectronic System Design Research Group University Kaiserslautern www.eit.uni-kl.de/wehn SoC-Network for Interleaving in Wireless Communications Norbert Wehn wehn@eit.uni-kl.de MPSoC03 7-11 July 2003, Chamonix, France Outline
2
MPSoC’03
3
MPSoC’03
4
MPSoC’03
5
MPSoC’03
6
MPSoC’03
7
MPSoC’03
8
MPSoC’03
Systematic s
p
Softoutput Decoder MAP1 Softoutput Decoder MAP1 Interleaver Interleaver Deinterleaver Deinterleaver Softoutput Decoder MAP2 Softoutput Decoder MAP2
p 1
p 2 int
s int
s
e 2 int
e 1
a 2 int
a 1
reliability information Parity
s
s
p
p
int
RSC Coder 1 RSC Coder 1 Interleaver Interleaver RSC Coder 2 RSC Coder 2
s
reliability information
9
MPSoC’03
10
MPSoC’03
„...It is critical for next generation programmable DSP to adress the requirements of algorithms such as Turbo-Codes since these algorithms are essential for improved 2G and 3G wireless communication“ (I. Verbauwhede „DSP‘s for wireless communications“)
17 kbit/s 472 80 16-bit DSP MOT 56603 666 kbit/s 27 180 VLIW, 2 ALU ADI TS (1) 600 kbit/s 50 300 VLIW, 4 ALU SC140 ~ 200 kbit/s 100 200 VLIW, 2 ALU STM ST120 Throughput @ 5 Iter. cycles/ (bit*MAP) Clock freq. [MHz] Architecture Processor
(1) With special ACS-instruction support
11
MPSoC’03
MAP- Decoder MAP- Decoder Interleaver/ Deinterleaver Interleaver/ Deinterleaver
MAP- Decoder MAP- Decoder Interleaver/ Deinterleav Interleaver/ Deinterleav
MAP- Decoder MAP- Decoder Interleaver/ Deinterleav Interleaver/ Deinterleav MAP- Decoder MAP- Decoder Interleaver/ Deinterleav Interleaver/ Deinterleav
12
MPSoC’03
P1 Subblock 1 P1 Subblock 1 Interleaver/ Deinterleaver Network Interleaver/ Deinterleaver Network P2 Subblock 2 P2 Subblock 2 PN Subblock N PN Subblock N
write read
13
MPSoC’03
14
MPSoC’03
15
MPSoC’03
αk(2n) = max* (αk-1(n) + Λink(I), αk-1(n+M/2) + Λink(II)) αk(2n+1) = max* (αk-1(n) + Λink(II), αk-1(n+M/2) + Λink(I)) max*(x1, x2) = max (x1, x2) + ln(1+exp(-| x2-x1 |))
1,4 Mbit/s 9 133 Xtensa 666 kbit/s 27 180 ADI TS 600 kbit/s 50 300 SC140 ~ 200 kbit/s 100 200 STM ST120 Throughput @ 5 Iter. cycles/ (bit*MAP) Clock freq. [MHz] Processor
16
MPSoC’03
MC
CPU Bus Cluster Bus
CPU-Core (Xtensa)
XLMI PIF Core Comm. Dev. I/O MP
32 16 32 Data Data Addr. Addr. Sel 0 Sel 1
S R Buffer Buffer 1 Bus Interface X L M I FIFO
CPU-Address-Space Custom-Hardware Cluster Bus 32 32 16 Data Addr. 16 16
Message format
Node ID target Processor (7bit) Local address in buffer (14bit) Buffer ID (1bit)
Data (8bit)
17
MPSoC’03
PN-1 P1 P0
Cluster Bus
Comm Dev. Comm Dev. Comm Dev.
Bus Switch
18
MPSoC’03
P1 P0 P3 P4 P5 P6 P2 P7 RIBB0 RIBB1 RIBB2 RIBB3 NC=2 :Nodes per Cluster C=4 :Number of Clusters N=8 :Total Nodes (N = C ⋅ NC)
19
MPSoC’03
Left-Out Buffer Left-In DataDist Local-Out Buffer Right-Out Buffer Right-In Dat Dist Local-In DataDist
Bus Switch
20
MPSoC’03
K : Interleaver size C : Number of Clusters NC : Nodes per Cluster N : Total Nodes R : Data production rate Perfect interleaver: Pnode_acess = 1/N
2
2
2 2
21
MPSoC’03
C C
RIBBi RIBBi+ 1 TrafficRIBB-Link
C
1 2 2 Link
2
− =0 i
22
MPSoC’03
4
15 17 7 4 Buffright 0.25 0.21 0.14 0.16 RIBB [mm2] 34 4 4 16 17 16 19 17 8 29 6 6 Buff*
local
Buffleft
* Buffer has different bitwidth
23
MPSoC’03
[Mb/s*mm 2]
24
MPSoC’03
N= 1 5 6 8 9 12 16 24 32 N= 40 N= 40 32 24 16 12 8 9 6 5
50 100 150 200 250 300 10 20 30 40 50 60
Parallelization on Block Level Parallelization on Sub-Block Level
25
MPSoC’03
Parallel SMAP Units ND 1 4 6 6 6 8 8 Parallel I/O NIO 1 1 1 2
1 2 Total Area [mm2] 3.9 9.2 13.3 13.0 18.0 15.9 17.3 Fraction of Memory 85% 69% 69% 68% 77% 61% 64% Energy per Block [mJ] 48.7 51.7 55.2 50.9 55.2 57.6 55.2 Throughput [MBit/s] 11.7 39.0 50.6 59.6 72.6 59.7 72.7 Efficiency (norm.) 1.00 1.32 1.12 1.47 1.19 1.05 1.24
26
MPSoC’03
1/1 2/ 1 ND= 4/NIO= 1 8/2 6/2 6/ 1 4/1 2/1
1/1 2/1 4/1 2/1 4/ 1 6/1 6/2 8/ 2
Vdd = 1.3 V Vdd = 1.3 V Vdd = 1.8 V Vdd = 1.8 V Area [mm2] Energy [µJ]
27
MPSoC’03
28
MPSoC’03