L38: Viterbi Decoder 저전력 설계: Sungkyunkwan Univ. Vada Lab
L38: Viterbi Decoder 저전력 설계: Sungkyunkwan Univ. Vada Lab
L38: Viterbi Decoder 저전력 설계: Sungkyunkwan Univ. Vada Lab
성균관대학교
전기전자 및 컴퓨터공학부
조준동
1
SungKyunKwan Univ. VADA
Viterbi Decoder
◈ Convolutional Encoder
K = 3 (Constraint Length)
R = 1/2 (Rate)
a j= u j+ u j- 1 +u j- 2
+ +
V
U u j a j b j
In f o r m a t io n C o d e w o rd
sequence
A 1 A 0
+
b j= u j+ u j- 2
A ( 3 , 1 / 2 ) C o n v o lu t io n a l e n c o d e r
2
SungKyunKwan Univ. VADA
Viterbi Decoder
T im e 0 1 2 3 4 5 6
S ta te
0 0 0 0 0 0
00
1 1 1 1 1 1
10
1 0
1 0
0 1
0 1
1 1
01 0 0 .......
0 1
11
1 0
F ig . 2 . T r e llis d ia g r a m f o r a ( 2 , 1 / 2 ) c o n v o lu t io n a l c o d e
BM SP
R e c e iv e d
S ig n a l BM U ACSU SM U Decoded
D a ta
PM M
V ite r b i d e c o d e r s tr u c tu r e
4
SungKyunKwan Univ. VADA
Viterbi Decoder
Branch Metric Unit(BMU) : The branch metrics measure the
difference the received symbol and the symbol that causes the transitio
ns
between states in the trellis.
5
SungKyunKwan Univ. VADA
Viterbi Decoder
⑴ Low power ACSU VLSI architecture
▶ Conventional ACSU VLSI architecture
S0
sa sa
S0
S 0
sb S1
sb
Butterfly structure
6
SungKyunKwan Univ. VADA
Viterbi Decoder
(s a,S 0)
B M i
Adder
(s a)
PM i- 1 (S 0)
Com p
M i
(s b ,S 0)
B M i Adder
(s a,S 1) Adder
B M i
(S 1)
(sb) Com p
M i
PM i- 1
(s b ,S 1 ) Adder
B M i
Architecture of conventional ACSU
7
SungKyunKwan Univ. VADA
Viterbi Decoder [SKKU. Solution]
―Algorithm
(s a) (s a,S 0 ) (sb) (s b ,S 0)
PM i- 1 + B M i > PM i- 1 + B M i
(s a) (s b) (s b ,S 0 ) (s a,S 0)
PM i- 1 - PM i- 1 > B M i - B M i
☞ The area and power of the lower power ACSU design are reduced by
20% and 30%, respectively, comparing with the conventional ACSU
design
8
SungKyunKwan Univ. VADA
Viterbi Decoder [SKKU. Solution]
▶ Low power ACSU VLSI architecture [C-Y Tsui, ISLPED’99]
9
SungKyunKwan Univ. VADA
Viterbi Decoder [SKKU. Solution]
※ Glitch minimization [Raghunathan, DAC’96]
A 0
A
B 1
B
+
+ 0
C 0
C 1
D 1
D
+
X
X
Y < Y <
(a ) c o m p a re - a d d (b ) a d d - c o m p a re
(a) Lower power ACSU architecture (b) Conventional ACSU architecture
10
SungKyunKwan Univ. VADA
Viterbi Decoder [SKKU. Solution]
※ Glitches in control logic
A 0
B 1
C
+
C 0 D
D 1
X S
Y < &
F s=0 . F s=1 = A . B
CLK
11
SungKyunKwan Univ. VADA
Viterbi Decoder
⑵ Low power traceback VLSI architecture
▶ Systolic Viterbi, traceback decoder[J. Sparso’91]
T ra c e - T ra c e - T ra c e - T ra c e -
ACSU
Back
U n it
B ack
U n it
Back
U n it ..... B ack
U n it
1 2 3 10
T r a c e - B a c k U n it s
T h e s t r u c t u r e o f s y s t o lic V it e r b i d e c o d e r
12
SungKyunKwan Univ. VADA
Viterbi Decoder
T im e 0 1 2 3 4 5 6
S ta te
0 0 1 0 2 0 3 1 2 1 3 0
00
2 0 1 0 1 0 3 1 2 1 3 0
10
4 0 2 0 1 0 3 0 2 0
01 .......
p a th m e tr ic
d e c is io n v e c to r
2 0 2 0 2 1 2 1 2 1
11
1 0
S e q u e n c e o f s ta e s o f th e tra c e - b a c k m e th o d e
0 0
0 0
2 0 X
A C S U
0 X
0 0 0
0 0 0
3 0 0 X
A C S U
0 0 X
1 0 0 0
1 0 0 0
4 0 0 0 X
A C S U
1 0 0 X
14
SungKyunKwan Univ. VADA
Viterbi Decoder
.
s u rv iv o r d e p th = 5 K .
.
.
T im e u n it
T 10 T 9 T 8 T 7 T 6 T 5 T 4 T 3 T 2 T 1
1 0 0 1 0 1 1 0 0 0
0 0 1 0 0 1 1 0 0 0
10 A C SU
0 0 0 1 0 0 0 0 0 x
0 0 0 1 0 1 1 0 0 x
11
T T T T T T T T T T T
10 11 10 9 8 7 6 5 4 3 2 1
1 1 0 0 1 0 1 1 0 0 0
1 0 0 1 0 0 1 1 0 0 0
"0 " 11 A C SU
1 0 0 0 1 0 0 0 0 0 x
0 0 0 0 1 0 1 0 0 x
11 1
"1 "
01 10
0 1 1 0 0 1 0 1 1 0 0 0
1 1 0 0 1 0 0 1 1 0 0 0
12 A C SU
0 1 0 0 0 1 0 0 0 0 0 x
0 0 0 0 0 1 0 1 1 0 0 x
10 11 00
15
SungKyunKwan Univ. VADA
Viterbi Decoder
.
.
.
0 0 1 0 1 1 0 0 1 1 0 0 1 0 1 1 0 0 0
0 0 0 0 0 1 0 1 1 0 0 1 0 0 1 1 0 0 0
19 A C SU 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 x
0 0 1 1 0 1 1 0 0 0 0 0 1 0 1 1 0 0 x
11 00 10 01 01 10 00 10 10 00
1 0 0 1 0 1 1 0 0 1 1 0 0 1 0 1 1 0 0
1 0 0 0 0 0 1 0 1 1 0 0 1 0 0 1 1 0 0
20 A C SU
1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0
1 0 0 1 1 0 1 1 0 0 0 0 0 1 0 1 1 0 0
01 10 01 00 10 11 00 01 01 00 0
.
.
.
1 0 0 1 0 1 1 0 0 1 1 0 0 1 0
1 0 0 0 0 0 1 0 1 1 0 0 1 0 0
24 A C SU
1 0 0 1 0 0 0 0 0 1 0 0 0 1 0
1 0 0 1 1 0 1 1 0 0 0 0 0 1 0
01 00 10 11 00 01 1
16
SungKyunKwan Univ. VADA
Viterbi Decoder
※ Systolic array decoder 의 문제점
The systolic array viterbi decoder is organized to input the decision vec
tor and the smallest path metric out of the ACSU and to output the decod
e bit by shifting every register for every cycle.
17
SungKyunKwan Univ. VADA
Viterbi Decoder [SKKU. Solution]
▶ Our low power trace-back unit
T im e
u n it
0
0
X
X
1 A C S U
C O N T R O L B L O C K
0 0
0 0
X 0
X 0
2 A C S U
C O N T R O L B LO C K
0 0 0
0 0 0
X 0 0
X 0 0
A C S U
3
C O N T R O L B LO C K
18
SungKyunKwan Univ. VADA
Viterbi Decoder [SKKU. Solution]
.
. T ra c e - b a c k
.
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8 T 9
0 0 0 1 1 0 1 0 0
0 0 0 1 1 0 0 1 0
X 0 0 0 0 0 1 0 0
X 0 0 1 1 0 1 0 0
9 A C S U
C O N T R O L B L O C K
0 0 0 1 1 0 1 0 0 1
0 0 0 1 1 0 0 1 0 0
X 0 0 0 0 0 1 0 0 0
X 0 0 1 1 0 1 0 0 0
1 0 A C S U 1
1
C O N T R O L B L O C K
0 0 0 1 1 0 1 0 0 1 1
0 0 0 1 1 0 0 1 0 0 1
X 0 0 0 0 0 1 0 0 0 1
X 0 0 1 1 0 1 0 0 0 0
1 1 A C S U 1 0
0 1
C O N T R O L B L O C K
19
SungKyunKwan Univ. VADA
Viterbi Decoder [SKKU. Solution]
.
.
.
.
0 0 0 1 1 0 1 0 0 1 1 0 0 1 1 0 1 0 0
0 0 0 1 1 0 0 1 0 0 1 1 0 1 0 0 0 0 0
X 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0
X 0 0 1 1 0 1 0 0 0 0 0 1 1 0 1 1 0 0
1 9 A C S U 0 1 1 0 1 0 0 1 0 1
0 0 0 0 0 1 1 0 0 1
C O N T R O L B L O C K
0 0 1 1 0 1 0 0 1 1 0 0 1 1 0 1 0 0 1
0 0 1 1 0 0 1 0 0 1 1 0 1 0 0 0 0 0 1
0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1
0 0 1 1 0 1 0 0 0 0 0 1 1 0 1 1 0 0 1
2 0 A C S U 0 0 0 0 1 1 0 0 1 0
0 0 1 1 0 1 0 0 1 0 1
C O N T R O L B L O C K
0 1 1 0 1 0 0 1 1 0 0 1 1 0 1 0 0 1
0 1 1 0 0 1 0 0 1 1 0 1 0 0 0 0 0 1
0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1
0 1 1 0 1 0 0 0 0 0 1 1 0 1 1 0 0 1
2 1 A C S U 1 1 0 1 0 0 1 0 1
0 0 0 0 0 1 0 1
1 0
C O N T R O L B L O C K
20
SungKyunKwan Univ. VADA
Viterbi Decoder [SKKU. Solution]
After decision vector and the smallest path metric generated from ACSU
are transferred to the Control Block (CB), the CB outputs the decision ve
ctor and the smallest path metric with the right cycle using a counter and
a multiplexer.
The register array, which stores the value of trace-back from the CB, was
provided to finally output decoded bit, not by shifting all higher 4-bit d
ecision vector as in the classical TBU, but by shifting the lower 2-bit
only, which is the smallest path metric, to the left
21
SungKyunKwan Univ. VADA
Viterbi Decoder [SKKU. Solution]
◈ Experimental Result (area 11% , power 40% )
Power Dissipation
Area
8000 1600
7000 1400
6000 1200
pow er(uW )
5000 1000
gates
4000 800
3000 600
2000 400
1000 200
0 0
2 3 4
2 3 4
K
K
Trace-back Unit Low Power Trace-back Unit Trace-back Unit Low Power Trace-back Unit
22
SungKyunKwan Univ. VADA
Viterbi Decoder [Stanford Solution]
⑶ Low Power Asynchronous Viterbi Decoder [Y.h.Lee , Stanford]
▶ Algorithm
c o n v e r g e p o in t
t im e
t im e n
n+1
T r a c e b a c k p r o c e s s in g
23
SungKyunKwan Univ. VADA
Viterbi Decoder [Stanford Solution]
① 초기화 : 구속장의 5 배의 trellis 를 traceback 하고 , 그 경로를
저장한다 .
② Loop
A. 추적과 비교 : 임의의 초기 스테이트를 선택해 trace back 을 시작
한다 . 동시에 , route 를 추적해 나가면서 각 nod
e 에서
저장된 route 와 비교한다 .
B. 비교 값이 같으면 추적을 멈추고 저장된 route 를 버린다 . 같지 않
을 때는 A 과정을 반복한다 .
24
SungKyunKwan Univ. VADA
Viterbi Decoder [Stanford Solution]
▶ Implementation
S e lf-p r e c h a r g e &
S e lf-r e q u e s tin g
if n o t fo u n d
P r e v io u s p a th
In p u t P o r t
A d d re s s T ra c e B a c k
S u r v iv in g R D /W R C o n tr o l U n it O s c illa to r
P a th R in g
M e m o ry M C o m p a r is o n
U S h ift R e is te r L o g ic
X R equest
R equest fo rm
if P a th is n o t A C S
fo u n d
M e m o ry M a n a g e m e n t
A d d r e s s R D /W R U n it
A c k n o w le d g e to
C o n tro l
A C S
if p a th is fo u n d
Self-timed TBU block diagram
25
SungKyunKwan Univ. VADA
Viterbi Decoder
① Self-timed TBU 가 request 신호를 기다리는 동안 전력 소모가 없다 .
② ACS 는 스테이트 결정 데이터를 버리기 위해 request 신호를 내보낸
다.
③ TBU 는 이전의 surviving path memory 와 previous path memory 를 읽어 들여 비
교한다 .
26
SungKyunKwan Univ. VADA
Low-Power Bit-Serial Viterbi Decoder
H. Suzuki, Y. N. Chang, K. K. Parhi “Low-Power Bit-Serial Viterbi Decoder for 3rd Generation W-CDMA Sys
tem”, 1999, CICC
◈ Abstract
27
SungKyunKwan Univ. VADA
Low-Power Bit-Serial Viterbi Decoder
◈ Architecture Overview
256 bit-serial ACS units are placed in parallel and each ACS unit i
nclude state metrics storage
28
SungKyunKwan Univ. VADA
Low-Power Bit-Serial Viterbi Decoder
29
SungKyunKwan Univ. VADA
Low-Power Bit-Serial Viterbi Decoder
◈ Bit-Serial ACS Unit
30
SungKyunKwan Univ. VADA
Low-Power Bit-Serial Viterbi Decoder
Two of them are used to add the state metric and the branch metric
and the third one is used to compare two new state metrics
Reducing the overhead down to 17% of the whole area of the ACS
unit
31
SungKyunKwan Univ. VADA
Low-Power Bit-Serial Viterbi Decoder
◈ Trace Back Strategy
The memory size required in this paper is twice as large as the min
imum memory size(256 x 2).
33
SungKyunKwan Univ. VADA