You are on page 1of 113

VLSI Digital

Signal Processing Systems


Design and Implementation
KESHAB K. PARRI
University of Minnesota
A W.tleyInterscience Publication
JH! WI"E# $S!S% I!&.
!e' #or( ) &*ic*ester ) Wein*ei+ ) Brisbane ) Sin,a-ore ) .oronto
To Jugu, Megha and Rahul
.*is te/t is -rinte0 on aci01free -a-er. 2
&o-yri,*t 3 4555 by Jo*n Wiley & Sons% Inc. All ri,*ts reserve0.
Publis*e0 si+ultaneously in &ana0a.
!o -art of t*is -ublication +ay be re-ro0uce0% store0 in a retrieval
syste+ or trans+itte0 in any for+ or by any +eans% electronic%
+ec*anical% -*otoco-yin,% recor0in,% scannin, or ot*er'ise% e/ce-t
as -er+itte0 un0er Sections 467 or 468 of t*e 4579 Unite0 States
&o-yri,*t Act% 'it*out eit*er t*e -rior 'ritten -er+ission of t*e
Publis*er% or aut*ori:ation t*rou,* -ay+ent of t*e a--ro-riate
-er1co-y fee to t*e &o-yri,*t &learance &enter% ;;; Rose'oo0
<rive% <anvers% MA 645;=% >578? 7@618A66% fa/ >578? 7@61A7AA.
ReBuests to t*e Publis*er for -er+ission s*oul0 be a00resse0 to
t*e Per+issions <e-art+ent% Jo*n Wiley & Sons% Inc.% 96@
.*ir0 Avenue% !e' #or(% NY 464@81664;% >;4;? 8@619644% fa/
>;4;?
8@619668% E1MailC PERMRED2WI"E#.&M.
Library of Congress Cataloging-In-Publication Data
Par*i% Kes*ab K.% 45@51
E"SI 0i,ital si,nal -rocessin, syste+sC 0esi,n an0 i+-le+entation
F Kes*ab K. Par*i.
-. e+%
UA Wiley1Interscience -ublication.G
Inclu0es biblio,ra-*ical references an0 in0e/.
ISB! 61A741;A4891@ >clot*C al(% -a-er?
I. Inte,rate0 circuits1Eery lar,e scale inte,ration. I. .itle.
.K787A.7@.P=7 4555
9;4.=5H@ 0c;4 581=9A9;
Printe0 in t*e Unite0 States of A+erica
46 5 8 7 9 @ A = ; I
Iteration Bound 43
2.1 Introduction 43
2.2 Data-Flow Graph Representations 43
2.3 Loop Bound and Iteration Bound 45
2.4 Algoriths !or "oputing Iteration Bound 47
2.5 Iteration Bound o! #ultirate Data-Flow Graphs 55
2.6 "onclusions 57
2.7 $ro%les 58
Re!erences 61
!ii
Contents
1
$re!ace
Introduction to Digital &ignal $rocessing &'stes
xv
1
1.1 Introduction 1
1.2 ('pical D&$ Algoriths 2
1.3 D&$ Application Deands and &caled "#)&
(echnologies 27
4.A Representations o! D&$ Algoriths =4
1.5 Boo* )utline 40
Re!erences 41
2
Retiing 91
4.1 Introduction 91
4.2 De!initions and $roperties 93
4.3 &ol+ing &'stes o! Ine,ualities 95
4.4 Retiing (echni,ues 97
4.5 "onclusions 112
4.6 $ro%les 112
Re!erences 118
Folding 149
6.1 Introduction 149
6.2 Folding (rans!oration 151
6.3 Register #inii-ation (echni,ues 157
!iii CONTENTS
3 $ipelining and $arallel $rocessing 63
3.1 Introduction 63
3.2 $ipelining o! FIR Digital Filters 64
3.3. $arallel $rocessing 69
3.4 $ipelining and $arallel $rocessing !or Low $ower 74
3.5 "onclusions 82
3.6 $ro%les 83
Re!erences 88
4
@ Un!olding 119
5.1 Introd uction 119
5.2 An Algorith !or Un!olding 121
5.3 $roperties o! Un!olding 124
5.4 "ritical $ath. Un!olding. and Retiing 127
5.5 Applications o! Un!olding 128
@.9 &onclusions 140
5.7 $ro%les 140
Re!erences 147
6
6.4 Register #inii-ation in Folded Architectures 163
6.5 Folding o! #ultirate &'stes 170
6.6 "onclusions 174
6.7 $ro%les 174
Re!erences 186
7 &'stolic Architecture Design 189
Fast "on+olution //0
1.2 Introduction //0
1./ "oo*-(oo Algorith //1
1.3 4inograd Algorith /30
1.5 Iterated "on+olution /55
1.6 "'clic "on+olution /57
1.7 Design o! Fast "on+olution Algorith %' Inspection /68
1.0 "onclusions /62
1.1 $ro%les /62
Re!erences /63
0.2 Introduction
CONTENTS i"
219
0./ &'stolic Arra' Design #ethodolog' 298
0.3 FIR &'stolic Arra's 29/
0.5 &election o! &cheduling :ector
/82
0.6 #atri;-#atri; #ultiplication and /D &'stolic Arra' Design /86
0.7 &'stolic Design !or
Dela's
&pace Representations "ontaining
/28
0.0 "onclusions /23
0.1 $ro%les /23
Re!erences //3
1
9 Algorithic &trength Reduction in Filters and (rans!ors /66
9.2 Introduction /66
9./ $arallel FIR Filters /67
9.3 Discrete "osine (rans!or and In+erse )"( ;7@
9.5 $arallel Architectures !or Ran*-)rder Filters /16
9.6 "onclusions
9.7 $ro%les
Re!erences
/90
/90
328
28 $ipelined and $arallel Recursi+e and Adapti+e Filters 323
28.2 Introduction 323
28./ $ipeline Interlea+ing in Digital Filters 325
28.3 $ipelining in 2st-)rder IIR Digital Filters 3/8
28.5 $ipelining in <igher-)rder IIR Digital Filters 3/6
28.6 $arallel $rocessing !or IIR !ilters 339
28.7 "o%ined $ipelining and $arallel $rocessing !or IIR Filters 356
" CONTENTS
28.0 Low-$ower IIR Filter Design Using $ipelining and $arallel
$rocessing 351
28.1 $ipelined Adapti+e Digital Filters 362
28.9 "onclusions 370
28.28 $ro%les 370
Re!erences 305
22 &caling and Roundo!! Noise 300
22.2 Introduction 300
22./ &caling and Roundo!! Noise 301
22.3 &tate :aria%le Description o! Digital Filters 31/
22.5 &caling and Roundo!! Noise "oputation 317
22.6 Roundo!! Noise in $ipelined IIR Filters 392
22.7 Roundo!! Noise "oputation Using &tate
Description
:aria%le
583
22.0 &low-Down. Retiing. and $ipelining 586
22.1 "onclusions 528
22.9 $ro%les 528
Re!erences 529
2/ Digital Lattice Filter &tructures 5/2
2/.2 Introduction 5/2
2/./ &chur Algorith 5//
2/.3 Digital Basic Lattice Filters 5/9
2/.5 Deri+ation o! )ne-#ultiplier Lattice Filter 530
2/.6 Deri+ation o! Norali-ed Lattice Filter 555
2/.7 Deri+ation o! &caled-Norali-ed Lattice Filter 550
2/.0 Roundo!! Noise "alculation in Lattice Filters 565
2/.1 $ipelining o! Lattice IIR Digital Filters 561
2/.9 Design =;aples o! $ipelined Lattice Filters 575
2/.28 Low-$ower "#)& Lattice IIR Filters 579
2/.22 "onclusions 508
2/.2/ $ro%les 508
Re!erences 505
23 Bit-Le+el Arithetic Architectures 500
23.2 Introduction 500
23./ $arallel #ultipliers 501
23.3 Interlea+ed Floor-plan and Bit-$lane-Based Digital Filters 519
Redundant Arithetic 6/9
25.2 Introd uction 6/9
25./ Redundant Nu%er Representations 638
25.3 "arr'-Free Radi;-/ Addition and &u%traction 632
25.5 <'%rid Radi;-5 Addition 637
25.6 Radi;-/ <'%rid Redundant #ultiplication Architectures 658
25.7 Data Forat "on+ersion 656
25.0 Redundant to Nonredundant "on+erter 650
25.1 "onclusions 662
25.9 $ro%les 66/
Re!erences 666
&'nchronous. 4a+e. and As'nchronous $ipelines 692
27.2 I ntrod uction 692
27./ &'nchronous $ipelining and "loc*ing &t'les 693
$ipelining 72/
725
729
CONTENTS xi
23.5 Bit-&erial #ultipliers
23.6 Bit-&erial Filter Design and Ipleentation
23.7 "anonic &igned Digit Arithetic
23.0 Distri%uted Arithetic
23.1 "onclusions
23.9 $ro%les
Re!erences
598
599
686
622
621
621
6/0
25
26 Nuerical &trength Reduction
669
26.2 I ntrod uction 669
26./ &u%e;pression =liination 678
26.3 #ultiple "onstant #ultiplication 678
26.5 &u%e;pression &haring in Digital Filters 677
26.6 Additi+e and #ultiplicati+e Nu%er &plitting 605
26.7 "onclusions 613
26.0 $ro%les 613
Re!erences 619
27
27.3 "loc* &*ew and "loc* Distri%ution in Bit-Le+el $ipelined
:L&I Designs 782
27.5 4a+e $ipelining 787
27.6 "onstraint &pace Diagra and Degree o! 4a+e
27.7 Ipleentation o! 4a+e-$ipelined &'stes
27.0 As'nchronous $ipelining
B.2 Introduction 0/3
B./ Iterati+e>"onstructi+e &cheduling Algoriths 0/6
B.3 (rans!orational &cheduling Algoriths 0/9
B.5 Integer Linear $rograing #odels 031
xil CONTENTS
27.1 &ignal (ransition Graphs 7//
27.9 Use o! &(G to Design Interconnection "ircuits 7/7
27.28 Ipleentation o! "oputational Units 732
27.22 "onclusions 758
27.2/ $ro%les 758
Re!erences 753
20 Low-$ower Design 756
20.2 Introduction 756
20./ (heoretical Bac*ground 751
20.3 &caling :ersus $ower "onsuption 768
20.5 $ower Anal'sis 76/
20.6 $ower Reduction (echni,ues 77/
20.7 $ower =stiation Approaches 702
20.0 "onclusions 711
20.1 $ro%les 711
Re!erences 79/
21 $rograa%le Digital &ignal $rocessors 796
21.2 Introduction 796
21./ =+olution o! $rograa%le Digital &ignal $rocessors 797
21.3 Iportant Features o! D&$ $rocessors 790
21.5 D&$ $rocessors!or #o%ile and 4ireless "ounications 083
21.6 $rocessors!or #ultiedia &ignal $rocessing 085
48.9 "onclusions 025
Re!erences 025
Appendi; A? &hortest $ath Algoriths 020
A.2 Introduction 020
A./ (he Bellan-Ford Algorith 021
A.3 (he Flo'd-4arshall Algorith 0/8
A.5 "oputational "ople;ities 0/2
Re!erences 0//
Appendi; B? &cheduling and Allocation (echni,ues 0/3
Re!erences
CONTENTS xiii
052
Appendi; "? =uclidean G"D Algorith
053
@.2 introduction
053
@./ =uclidean G"D Algorith !or Integers 053
@.3 =uclidean G"D Algorith !or $ol'noials
056
Appendi; D? )rthonoralit' o! &chur $ol'noials 050
D.2 )rthogonalit' o! &chur $ol'noials
050
D./ )rthonoralit' o! &chur $ol'noials 059
Appendi; =? Fast Binar' Adders and #ultipliers 063
=.2 Introduction 063
=./ #ultiple;er-Based Fast Binar' Adders 063
=.3 4allace (ree and Dadda #ultiplier 061
Re!erences 072
Appendi; F? &cheduling in Bit-&erial &'stes 073
F.2 Introd uction 073
F./ )utline o! the &cheduling Algorith 075
F.3 #iniu "ost &olution 077
F.5 &cheduling o! =dges with Dela's 071
Re!erences 079
Appendi; G? "oe!!icient Auanti-ation in FIR Filters 002
G.2 Introduction 002
G./ NU& Auanti-ation Algorith
002
Re!erences 005
Inde; 006
Preface
<i,ital si,nal -rocessin, ><SP? is use0 in nu+erous a--lications suc* as vi0eo
co+-ression% 0i,ital set1to- bo/% cable +o0e+s% 0i,ital versatile 0is(% -ortable
vi0eo syste+sFco+-uters% 0i,ital au0io% +ulti+e0ia an0 'ireless co++uni1
cations% 0i,ital ra0io% 0i,ital still an0 net'or( ca+eras% s-eec* -rocessin,%
trans+ission syste+s% ra0ar i+a,in,% acoustic bea+for+ers% ,lobal -osition1
in, syste+s% an0 bio+e0ical si,nal -rocessin,. .*e fiel0 of <SP *as al'ays
been 0riven by t*e a0vances in <SP a--lications an0 in scale0 very1lar,e1
scale1inte,rate0 >E"SI? tec*nolo,ies .. .*erefore% at any ,iven ti+e% <SP
a--lications i+-ose several c*allen,es n t*e i+-le+entations of t*e <SP
syste+s. .*ese i+-le+entations +ust satisfy t*e enforce0 sa+-lin, rate con1
straints of t*e real1ti+e <SP a--lications an0 +ust reBuire less s-ace an0
-o'er consu+-tion.
.*is boo( a00resses t*e +et*o0olo,ies nee0e0 to 0esi,n custo+ or se+i1
custo+ E"SI circuits for t*ese a--lications. Many of t*e tec*niBues -resente0
in t*e boo( are also a--licable for faster i+-le+entations usin, off1t*e1s*elf
-ro,ra++able 0i,ital si,nal -rocessors. .*is boo( is inten0e0 to be use0 as
a te/tboo( for first1year ,ra0uate or senior &urseson E"SI <SP arc*itec1
tures% or <SP structures for E"SI or Hi,*1Perfor+ance E"SI syste+ 0esi,n.
.*is boo( is also an e/cellent reference for t*ose involve0 in al,orit*+ or
arc*itecture or circuit 0esi,n for <SP a--lications.
.*is boo( brin,s to,et*er t*e 0istinct fiel0s of co+-uter arc*itecture t*e1
ory an0 <SP. <SP co+-utation is 0ifferent fro+ ,eneral1-ur-ose co+-utation
in t*e sense t*at t*e <SP -ro,ra+s are nonter+inatin, -ro,ra+s. In <SP
"!
"!i PREFACE
co+-utation% t*e sa+e -ro,ra+ is e/ecute0 re-etitively on an infinite ti+e
series .. .*e nonter+inatin, nature can be e/-loite0 to 0esi,n +ore efficient
<SP syste+s by e/-loitin, t*e 0e-en0ency of tas(s bot* 'it*in an iteration
an0 a+on, +ulti-le iterations. Iurt*er+ore% lon, critical -at*s in <SP al1
,orit*+s li+it t*e -erfor+ance of <SP syste+s. .*ese al,orit*+s nee0 to
be transfor+e0 for 0esi,n of *i,*1s-ee0 or lo'1area or lo'1-o'er i+-le+en1
tations. .*e e+-*asis of t*is boo( is on 0esi,n of efficient arc*itectures%
al,orit*+s% an0 circuits% '*ic* can be o-erate0 'it* eit*er less area or -o'er
consu+-tion or 'it* *i,*er s-ee0 or lo'er roun0off noise. .*e actual E"SI
0esi,n of t*e circuits is not covere0 in t*is boo(.
<SP al,orit*+s are use0 in various real1ti+e a--lications 'it* 0ifferent
sa+-lin, rate reBuire+ents t*at can vary fro+ about ;6 KH: in s-eec* ap-
-lications to over @66 MH: in ra0ar an0 *i,*10efinition television a--lica1
tions. .*e co+-utation reBuire+ent of a vi0eo co+-ression syste+ for *i,*1
0efinition .E >H<.E? can ran,e fro+ 46 to 466 ,i,ao-erations -er secon0.
.*e 0ra+atically 0ifferent sa+-le rate an0 co+-utation reBuire+ents neces1
sitate 0ifferent arc*itecture consi0erations for i+-le+entations of <SP al,o1
rit*+s. Ior e/a+-le% in a s-eec* a--lication a ti+e1+ulti-le/e0 arc*itecture
+ay be -referre0 '*ere +any al,orit*+ o-erations are +a--e0 to t*e sa+e
*ar0'are. Ho'ever% t*e *i,*1s-ee0 reBuire+ent in vi0eo a--lications can
be +et by one1to1one +a--in, of al,orit*+ o-erations to -rocessors. .*us
it is i+-ortant to stu0y tec*niBues to 0esi,n not Just a sin,le arc*itecture
but a fa+ily of arc*itectures out of '*ic* an a--ro-riate arc*itecture can be
selecte0 for a s-ecifie0 a--lication.
.*e first -art of t*e boo( >c*a-ters ; to 7? a00resses several *i,*1level ar1
c*itectural transfor+ations t*at can be use0 to 0esi,n fa+ilies of arc*itectures
for a ,iven al,orit*+. .*ese transfor+ations inclu0e -i-elinin,% reti+in,% un1
fol0in,% fol0in,% an0 systolic array 0esi,n +et*o0olo,y. .*e secon0 -art of
t*e boo( >c*a-ters 8 to 4;? 0eals 'it* *i,*1level al,orit*+ transfor+ations
suc* as stren,t* re0uction% loo(1a*ea0 an0 rela/e0 loo(1a*ea0. Stren,t* re1
0uction transfor+ations are a--lie0 to re0uce t*e nu+ber of +ulti-lications
in convolution% -arallel finite i+-ulse res-onse >IIR? 0i,ital filters% 0iscrete
cosine transfor+s ><&.s?% an0 -arallel ran(1or0er filters. "oo(1a*ea0 an0 re1
la/e0 loo(1a*ea0 transfor+ations are a--lie0 to 0esi,n -i-eline0 0irect1for+
an0 lattice recursive 0i,ital filters an0 a0a-tive 0i,ital filters% an0 -arallel
recursive 0i,ital filters. .*is -art of t*e boo( e/-loits t*e inter-lay bet'een
al,orit*+ 0esi,n an0 inte,rate0 circuit i+-le+entations. .*e t*ir0 -art of
t*e boo( >c*a-ters 4= to 48? a00resses arc*itectures for E"SI a00ition% +ul1
ti-lication% an0 0i,ital filters% an0 issues relate0 to *i,*1-erfor+ance E"SI
syste+ 0esi,n suc* as -i-elinin, styles% lo'1-o'er 0esi,n% an0 arc*itectures
for -ro,ra++able 0i,ital si,nal -rocessors.
&*a-ter 4 of t*e boo( revie's various <SP al,orit*+s an0 a00resses t*eir
re-resentation usin, bloc( 0ia,ra+s% si,nal flo' ,ra-*s% an0 0ata1flo' ,ra-*s.
&*a-ter ; a00resses t*e iteration boun0% '*ic* is a fun0a+ental lo'er boun0
PREFACE "!##
on t*e iteration -erio0 of any recursive si,nal -rocessin, al,orit*+. .'o al,o1
rit*+s are 0escribe0 for 0eter+inin, t*is boun0. .*e ne/t @ c*a-ters a00ress
various transfor+ations for i+-rovin, -erfor+ance of 0i,ital si,nal -rocessin,
i+-le+entations. In &*a-ter =% t*e basic conce-ts of -i-elinin, an0 -arallel
-rocessin, are revie'e0 an0 t*e use of t*ese tec*niBues in 0esi,n of *i,*1s-ee0
or lo'1-o'er a--lications is 0e+onstrate0. &*a-ter A a00resses t*e reti+in,
transfor+ation% '*ic* is a ,enerali:ation of t*e -i-elinin, a--roac*. &*a-1
ter @ a00resses unfol0in,% '*ic* can be use0 to 0esi,n -arallel arc*itectures.
&*a-ters 9 an0 7 a00ress fol0in, tec*niBues use0 to 0esi,n ti+e1+ulti-le/e0
arc*itectures '*ere area re0uction is i+-ortant. W*ile &*a-ter 9 a00resses
fol0in, of arbitrary 0ata1flo' ,ra-*s% &*a-ter 7 a00resses fol0in, of re,ular
0ata1flo' ,ra-*s base0 on systolic 0esi,n +et*o0olo,y.
&*a-ters 8 to 4; a00ress 0esi,n of al,orit*+ structures for various <SP
al,orit*+s base0 on al,orit*+ transfor+ations suc* as stren,t* re0uction%
loo(1a*ea0 an0 rela/e0 loo(1a*ea0% an0 scalin, an0 roun0off noise in 0i,ital
filters. &*a-ter 8 a00resses fast convolution base0 on &oo(1 .oo+ an0 Wino1
,ra0 convolution al,orit*+s. In &*a-ter 5% al,orit*+ic stren,t* re0uction is
e/-loite0 to re0uce t*e nu+ber of +ulti-lication o-erations in -arallel IIR
filters% 0iscrete cosine transfor+s% an0 -arallel ran(1or0er filters. <esi,n of
fast Iourier transfor+ >II.? structures is also base0 on stren,t* re0uction
transfor+ations but is not covere0 in t*is boo( since it is covere0 in +any
intro0uctory <SP te/tboo(s. W*ile it is easy to ac*ieve -i-elinin, an0 -ar1
allel -rocessin, in nonrecursive co+-utations% recursive an0 a0a-tive 0i,ital
filters cannot be easily -i-eline0 or -rocesse0 in -arallel 0ue to t*e -resence
of fee0bac( loo-s. In &*a-ter 46% t*e loo(1a*ea0 tec*niBue is 0iscusse0 an0 is
use0 to -i-eline first1or0er infinite i+-ulse res-onse >IrR? 0i,ital filters. Ior
*i,*er or0er filters% t'o ty-es of loo(1a*ea0 tec*niBues% clustere0 an0 scat1
tere0 loo(1a*ea0% are 0iscusse0. It is s*o'n t*at t*e scattere0 loo(1a*ea0
tec*niBue ,uarantees stability in -i-eline0 IIR filters. .*e -arallel i+-le1
+entations of IIR 0i,ital filters an0 *o' to co+bine -i-elinin, an0 -arallel
-rocessin, in t*ese 0i,ital filters are also a00resse0. A0a-tive 0i,ital filters
are -i-eline0 base0 on rela/e0 loo(1a*ea0% '*ic* are base0 on certain a-1
-ro/i+ations or rela/ations of loo(1a*ea0. &*a-ter 44 a00resses scalin, an0
roun0off noise% '*ic* are i+-ortant for E"SI i+-le+entations of <SP sys1
te+s usin, fi/e01-oint arit*+etic. Roun0off noise co+-utation tec*niBues
cannot be a--lie0 to +any 0i,ital filters. .*ese filters are -re-rocesse0 usin,
slo'0o'n% -i-elinin, an0For reti+in, so t*at every roun0off noise no0e can
be e/-resse0 as a state variable. .*e 0irect1for+ IrR 0i,ital filters cannot
+eet t*e filter reBuire+ents in certain a--lications. "attice 0i,ital filters +ay
be better suite0 for t*ese a--lications 0ue to t*eir e/cellent roun0off noise
-ro-erty. &*a-ter 4; -resents Sc*ur -olyno+ials% ort*onor+ality of Sc*ur
-olyno+ials% an0 use of t*ese -olyno+ials to 0esi,n basic >t'o +ulti-lier
an0 one +ulti-lier?% nor+ali:e0% an0 scale01nor+ali:e0 lattice 0i,ital filters.
Pi-eline0 i+-le+entation of t*ese lattice 0i,ital filters is also 0iscusse0.
&*a-ters 4= to 48 a00ress E"SI i+-le+entations of arit*+etic o-erations
"!iii PREFACE
suc* as a00ition an0 +ulti-lication an0 0i,ital filters% *i,*1-erfor+ance E"SI
syste+ 0esi,n issues suc* as -i-elinin, styles an0 lo'1-o'er 0esi,n% an0 -ro1
,ra++able 0i,ital si,nal -rocessors. <esi,n of a00ers an0 +ulti-liers usin,
various i+-le+entation styles% suc* as bit1-arallel% bit1serial% an0 0i,it1serial%
an0 various nu+ber syste+s suc* as t'oHs co+-le+ent% canonic si,ne0 0i,it%
an0 carry1save are 0iscusse0 in &*a-ter 4=. .*is c*a-ter also a00resses 0is1
tribute0 arit*+etic. &*a-ter 4A a00resses arit*+etic arc*itectures base0 on
re0un0ant or si,ne010i,it i+-le+entations. .*e +ain a0vanta,e of re0un0ant
arit*+etic lies in its carry1free -ro-erty% '*ic* enables co+-utation in bot*
least si,nificant bit an0 +ost si,nificant bit first +o0es. &onversion fro+ re1
0un0ant to nonre0un0ant an0 vice versa is also a00resse0. In t*ese c*a-ters%
bit1serial +ulti-liers are 0erive0 fro+ bit1-arallel 0esi,ns by systolic 0esi,n
+et*o0olo,y. Resi0ue arit*+etic% '*ic* can be use0 for i+-le+entation of
IIR 0i,ital filters an0 transfor+s% is not stu0ie0 in t*is boo(. &*a-ter 4@
-resents stren,t* re0uction at nu+erical level to re0uce t*e area an0 -o'er
consu+-tion of t'oHs co+-le+ent an0 canonic si,ne0 0i,it nu+ber1base0 0i,i1
tal filters. &*a-ter 49 0iscusses various -i-elinin, styles% suc* as sync*ronous%
'ave% an0 async*ronous -i-elinin,. A--roac*es to re0uction of cloc( s(e'
in sync*ronous syste+s an0 synt*esis of interface circuits in async*ronous
syste+s are also a00resse0. &*a-ter 47 on lo'1-o'er 0esi,n -resents various
a--roac*es for re0uction of -o'er consu+-tion at arc*itectural an0 tec*nol1
o,y levels an0 for esti+ation of -o'er consu+-tion. &*a-ter 48 a00resses
various arc*itectures use0 in -ro,ra++able 0i,ital si,nal -rocessors.
Seven a--en0i/es in t*e boo( cover s*ortest -at* al,orit*+s use0 for 0e1
ter+inin, t*e iteration boun0 an0 for reti+in,% sc*e0ulin,% an0 allocation
tec*niBues use0 for 0eter+inin, t*e fol0in, sets for 0esi,n of fol0e0 arc*i1
tecturesK Eucli0Hs L&< al,orit*+% '*ic* is use0 for Wino,ra0Hs convolutionK
ort*onor+ality of Sc*ur -olyno+ials use0 for 0esi,n of lattice 0i,ital filtersK
fast bit1-arallel a00ition an0 +ulti-licationK sc*e0ulin, tec*niBues for bit1
serial syste+sK an0 coefficient Buanti:ation in IIR filters.
.*e conce-ts in t*is boo( *ave been 0escribe0 in a tec*nolo,y1in0e-en0ent
+anner. .*e e/a+-les in t*is boo( are base0 on 0i,ital filters an0 trans1
for+s. Many real1ti+e <SP syste+s +a(e use of control flo' constructs suc*
as con0itionals% interru-ts% an0 Ju+-. <esi,n of control10o+inate0 <SP sys1
te+s is beyon0 t*e sco-e of t*is boo(. .*e e/ercises can be co+-lete0 usin,
any -ro,ra++in, lan,ua,e suc* as MA. "AB or &. Many a--lication10riven
-roble+s *ave been inclu0e0 at t*e en0 of t*e c*a-ters. Ior e/a+-le% t*e
-roble+s at t*e en0 of t*e al,orit*+ic stren,t* re0uction c*a-ter a00ress t*e
use of fast filters in 0esi,n of eBuali:ers in co++unications syste+s% 'avelets%
t'o10i+ensional IIR 0i,ital filters% an0 +otion esti+ation. .*ese -roble+s
intro0uce t*e rea0er to 0ifferent a--lications '*ere t*e conce-ts covere0 in
t*e c*a-ter can be a--lie0.
.*is boo( is base0 on t*e +aterial tau,*t at t*e University of Minnesota
in t'o current se+ester coursesC EE @=;5C E"SI <i,ital Si,nal Processin,
F4M
4;
PREFACE "i"
= ; 8
//~l
49 48 A 5
47 @ 9 46
\/ 1
7 22
4
)
=
2
FN
4A 4@
Fig. 0.1 Prece0ence constraints a+on, 0ifferent c*a-ters.
Syste+s an0 EE @@A5C <i,ital Si,nal Processin, Structures for E"SI. EE @=;5
>'it* a basic course on E"SI <esi,n as -rereBuisite? covers c*a-ters ; t*rou,*
7 an0 -arts of c*a-ters 4= t*rou,* 48 >in t*at or0er?. EE @@A5 >'it* a basic
course on 0i,ital si,nal -rocessin, as -rereBuisite? covers -arts of c*a-ters ;%
=% an0 A% c*a-ters 8 t*rou,* 4;% an0 so+e arc*itectures for vi0eo co+-ression
base0 on Journal an0 conference -a-ers. .*ese t'o se+ester courses 'ere
tau,*t as t*ree1Buarter courses in t*e -ast. Ior a sin,le se+ester course on
E"SI <i,ital Si,nal Processin,% c*a-ters ; t*rou,* 7% -arts of c*a-ters 5% 46%
4= an0 4@% an0 an overvie' of to-ics in c*a-ters 47 an0 48 are reco++en0e0.
Ho'ever% t*e instructors can select t*e c*a-ters t*at suit t*eir nee0s.
.*e c*a-ters nee0 not be follo'e0 in t*e or0er t*ey are -resente0. Many
c*a-ters can be tau,*t in0e-en0ently. .*e -rece0ence ,ra-* in Ii,. 6.4 s*o's
t*e 0e-en0encies a+on, c*a-ters. .*e 0as*e0 lines re-resent 'ea( 0e-en1
0encies '*ere a section of t*e current c*a-ter is 0e-en0ent on t*e -rece0in,
c*a-ter.
.*e aut*or *as been fortunate to receive valuable *el-% su--ort% an0 an0
su,,estions fro+ nu+erous collea,ues% stu0ents% an0 frien0s. .*e aut*or
is ,rateful to "eilei Son, for *er constant an0 ent*usiastic *el- 0urin, t*e
'ritin, of t*is boo(. He is also ,rateful to Jin1Lyun &*un,% .racy <en(%
<avi0 Par(er% Janar0*an Satyanarayana% an0 &*in,1#i Wan, for t*eir *el-
0urin, t*e early -art of t*e 'ritin, of t*is boo(. .*e aut*or is t*an(ful to
Wayne Burleson% Iranc(y &att*oor% E0 I. <e-rettere% Lra*a+ Jullien% an0
!ares* R. S*anb*a, for t*eir t*orou,* an0 constructive revie's of t*e first
0raftK t*eir co++ents *ave resulte0 in reor,ani:ation of several c*a-ters in
t*e boo(. E0 I. <e-rettere an0 Scott <ou,las use0 t*e -reli+inary versions
"" PREFACE
of t*e boo( at <elft University of .ec*nolo,y an0 at t*e University of Uta*%
res-ectively% an0 -rovi0e0 nu+erous su,,estions.
.*e aut*or a--reciates t*e constant su--ort an0 encoura,e+ent *e *as
receive0 fro+ <avi0 L. Messersc*+itt an0 Mos Kave*. .*e aut*orHs researc*
inclu0e0 in t*is boo( *as been su--orte0 by t*e !ational Science Ioun0ation%
t*e Ar+y Researc* ffice% t*e ffice of !aval Researc*% t*e <efense A0vance0
Researc* ProJects A,ency% .e/as Instru+ents% "ucent .ec*nolo,ies% an0 !E&
&or-oration. .*e aut*or is t*an(ful to Jo*n &o::ens% Wan0a Lass% Aru-
Lu-ta% &liffor0 "au% Jose Muno:% .a(ao !is*itani% an0 Bill San0er for t*eir
encoura,e+ent.
Several c*a-ters in t*e boo( are base0 on t*e Joint researc* 'or( of t*e
aut*or 'it* *is collea,ues Jin1Lyun &*un,% .racy <en(% Ka:u*ito Ito% "ori
"uc(e% <avi0 L. Messersc*+itt% "uis Montalvo% <avi0 Par(er% Janar0*an
Satyanarayana% !ares* S*anb*a,% H. R. Srinivas% an0 &*in,1#i Wan,. .*e
aut*or also t*an(s +any of *is collea,uesC Bryan Ac(lan0% Jonat*an Allen%
Ma,0y Bayou+i% <on Bou0lin% Robert W. Bro0ersen% Peter &a--ello% Anan1
t*a &*an0ra(asan% "ian,1Lee &*en% Ler*ar0 Iett'eis% Eby Irie0+an% Ric*ar0
Hartley% Me*0i Hata+ian% Sonia Hee+stra% #u Hen Hu% M. K. Ibra*i+%
Mary Ir'in% RaJeev Jain% "ea* Ja+ieson% &*ein1Wei Jen% S.#. Kun,% Ic*iro
Kuro0a% E0'ar0 "ee% K. J. R. "iu% EiJay Ma0isetti% Jo*n Mc&anny% .eresa
Men,% .a(ao !is*itani% .obias !oll% Robert 'ens% Peter Pirsc*% Mio0ra,
Pot(onJa(% Jan Rabaey% .a(ayasu Sa(urai% E0'in S*a% Bin, S*eu% Mic*ael
So0erstran0% Mani Srivastava% .*anos Stouraitis% Earl S'art:lan0er%H P. P.
Eai0yanat*an% In,ri0 Eerbau'*e0e% an0 Kun, #ao. He *as enJoye0 nu+erous
interactions 'it* t*e+. .*is boo( *as been 0irectly or in0irectly influence0
by t*ese interactions. .*an(s are also 0ue to &arl Harris of Klu'er Aca0e+ic
Publis*ers for *is -er+ittin, t*e aut*or to re-rint several -arts of c*a-ters
44 an0 4; fro+ an earlier +ono,ra-*.
.*e aut*or t*an(s An0re' S+it* of Jo*n Wiley & Sons for *is -ersonal
interest in t*is to-ic an0 for *avin, invite0 t*e aut*or to 'rite t*is boo(.
He also t*an(s An,ioline "ore0o% associate +ana,in, e0itor at Wiley% for *er
*el- in -ro0uction of t*is boo(. It 'as truly a -leasure to 'or( 'it* t*e+.
KESHAB K. P ARHI
Minneapolis, M$
%L&I Digital &ignal Processing &ystems
2
.
Introduction to Digital
Signal Processing
Systems
1.1 INTRODUCTION
<i,ital si,nal -rocessin, ><SP? *as +any a0vanta,es over analo, si,nal -ro1
cessin,. <i,ital si,nals are +ore robust t*an analo, si,nals 'it* res-ect to
te+-erature an0 -rocess variations. .*e accuracy in 0i,ital re-resentations
can be controlle0 better by c*an,in, t*e 'or0len,t* of t*e si,nal. Iurt*er1
+ore% <SP tec*niBues can cancel t*e noise an0 interference '*ile a+-lifyin,
t*e si,nal. In contrast% bot* si,nal an0 noise are a+-lifie0 in analo, si,1
nal -rocessin,. <i,ital si,nals can be store0 an0 recovere0% trans+itte0 an0
receive0% -rocesse0 an0 +ani-ulate0% all virtually 'it*out error. W*ile ana1
lo, si,nal -rocessin, is in0is-ensable for syste+s t*at reBuire e/tre+ely *i,*
freBuencies suc* as t*e ra0io freBuency transceiver in 'ireless co++unica1
tions% or e/tre+ely lo' area an0 lo' -o'er suc* as +icro +ac*ine sensors
use0 to 0etect crac(s an0 ot*er stress1relate0 +aterial 0efects% +any co+-le/
syste+s are reali:e0 0i,itally 'it* *i,* -recision% *i,* si,nal to noise ratio
>S!R?% re-eatability% an0 fle/ibility.
<SP syste+s can be reali:e0 usin, -ro,ra++able -rocessors or custo+ 0e1
si,ne0 *ar0'are circuits fabricate0 usin, very1lar,e1scale1inte,rate0 >E"SI?
circuit tec*nolo,y. .*e ,oal of 0i,ital 0esi,n is to +a/i+i:e t*e -erfor+ance
'*ile (ee-in, t*e cost 0o'n. In t*e conte/t of ,eneral 0i,ital 0esi,n% -erfor1
+ance is +easure0 in ter+s of t*e a+ount of *ar0'are circuitry an0 resources
reBuire0 >i.e.% s-ace or area?K t*e s-ee0 of e/ecution% '*ic* 0e-en0s on bot*
t*rou,*-ut an0 cloc( rateK an0 t*e a+ount of -o'er 0issi-ation or total en1
er,y reBuire0 to -erfor+ a ,iven tas(. Ior fi/e01-oint <SP syste+s% t*e finite
'or0len,t* -erfor+ance >i.e.% Buanti:ation an0 roun0off noise? is t*e fourt*
'
2 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
+easure+ent of -erfor+ance% es-ecially for 0i,ital filters% as a 0i,ital filter
'it* lar,e roun0off noise is of no use even if it *as better -erfor+ance in
ter+s of area% s-ee0% an0 -o'er consu+-tion.
.'o i+-ortant features t*at 0istin,uis* <SP fro+ ot*er ,eneral -ur-ose
co+-utations are t*e real-time throughput re(uirement an0 t*e data dri!en
property) .*e *ar0'are s*oul0 be 0esi,ne0 to +eet t*e ti,*t t*rou,*-ut
constraint of t*e real-time processing '*ere ne' in-ut sa+-les nee0 to be
-rocesse0 as t*ey are receive0 -erio0ically fro+ t*e si,nal source as o--ose0
to first storin, t*e+ in buffers an0 t*en -rocessin, t*e+ in batc* +o0e.
I! t*e t*rou,*-ut of a syste+ is less t*an t*e reBuire0 sa+-le rate% t*e ne'
in-uts nee0 to be stalle0 >or buffere0?% '*ic* reBuires an infinite len,t* buffer.
Ho'ever% once t*e sa+-le rate is +et by t*e *ar0'are% t*ere is no a0vanta,e
in +a(in, t*e co+-utation any faster. .*e secon0 i+-ortant attribute of
si,nal -rocessin, syste+s is its data-dri!en property, i+-lie0 by t*e fact t*at
any subtas(s or co+-utations in a <SP syste+ can be -erfor+e0 once all t*e
in-ut 0ata are available. In t*is sense% t*ese syste+s are sync*roni:e0 by t*e
flo' of 0ata% instea0 of t*e syste+ cloc(. .*is enables t*e use of async*ronous
circuits for <SP syste+s '*ere no ,lobal cloc( is reBuire0.
.*is intro0uctory c*a-ter -resents an overvie' of ty-ical <SP al,orit*+s%
t*e current 0esi,n c*allen,es in +ulti+e0ia si,nal -rocessin,% an0 t*e re-re1
sentations of <SP al,orit*+s. Several ty-ical <SP al,orit*+s are revie'e0
in Section 4.;. Section 4.= a00resses t*e co+-utation 0e+an0s of a fe' +ul1
ti+e0ia <SP functions an0 t*e <SP syste+ i+-le+entation o--ortunities
-resente0 by t*e scale0 E"SI tec*nolo,ies. Section 4.A a00resses four 0if1
ferent re-resentations of <SP al,orit*+C bloc( 0ia,ra+% si,nal1flo' ,ra-*%
0ata1flo' ,ra-*% an0 0e-en0ence ,ra-* re-resentations. Section 4.@ -resents
an outline of various c*a-ters in t*e boo(.
1.2 TYPICAL DSP ALGORITHMS
So+e <SP al,orit*+s an0 t*eir ty-ical a--lications are liste0 in .able 4.4
O4P. .*is section revie's several i+-ortant <SP co+-utations% inclu0in, cor1
relation% convolution% an0 0i,ital filtersK t*e stoc*astic1,ra0ient an0 least1
+ean1sBuare >"MS? a0a-tive filtersK bloc( +atc*in, al,orit*+ for +otion
esti+ation >ME?% 0iscrete cosine transfor+ ><&.? an0 vector Buanti:ation
>ED? for i+a,e -rocessin, an0 co+-ressionK Eiterbi al,orit*+ an0 0yna+ic
-ro,ra++in,K 0eci+ator an0 inter-olator% an0 'avelets an0 filter ban(s for
+ultirate si,nal -rocessin,.
66
TYPICAL DSP ALGORITHMS 3
Tal! 4.4 E/a+-les of &o++on <SP Al,orit*+s an0 .*eir A--lications
DSP Algorithms II Syste+ Applications
S-eec* co0in, <i,ital cellular -*ones% -ersonal co++unication
an0 0eco0in, syste+s% 0i,ital cor0less -*ones% +ulti+e0ia
co+-uters% secure co++unications
S-eec* encry-tion <i,ital cellular -*ones% -ersonal co++unication
an0 0ecry-tion syste+s% 0i,ital cor0less -*ones%
secure co++unications
S-eec* reco,nition A0vance0 user interfaces% +ulti+e0ia 'or(stations%
robotics an0 auto+otive a--lications% 0i,ital
cellular -*ones% -ersonal co++unication syste+s%
0i,ital cor0less -*ones
S-eec* synt*esis Multi+e0ia P&s% a0vance0 user interfaces% robotics
Mo0e+ al,orit*+s <i,ital cellular -*ones% -ersonal co++unication
syste+s% 0i,ital cor0less -*ones% 0i,ital au0io
broa0cast% +ulti+e0ia co+-uters% 'ireless
co+-utin,% navi,ation% 0ataFfacsi+ile +o0e+s%
secure co++unications
!oise cancellation Professional au0io% a0vance0 ve*icular au0io
Au0io eBuali:ation &onsu+er au0io% -rofessional au0io% a0vance0
ve*icular au0io
I+a,e co+-ression <i,ital ca+eras% 0i,ital vi0eo% +ulti+e0ia
an0 0eco+-ression co+-uters% consu+er vi0eo
Bea+for+in, !avi,ation% ra0arFsonar% si,nals intelli,ence
Ec*o cancellation S-ea(er-*ones% +o0e+s% tele-*one s'itc*es
1.2.1 Convolution
.*e convolution of ; 0iscrete seBuences "!#$ an0 x%#$ is 0efine0 as
&!#$ Q x%#$ B "!#$ Q I? x%'$"%# (
'$.
(Q1oo
>4.4?
.*e out-ut at ti+e instance #) &!#$) can be vie'e0 as t*e inner -ro0uct
bet'een x%'$ an0 "%('*#$ >su++e0 over 166 R ' R >6?.
&onvolution is use0 to 0escribe an0 analy:e linear ti+e1invariant >".I?
syste+s% '*ic* are co+-letely c*aracteri:e0 by t*eir unit1sa+-le >or i+-ulse?
res-onse "!#$ O;P. .*e out-ut seBuence of an LTI syste+ is co+-ute0 as t*e
convolution of t*e in-ut seBuence x%#$ an0 its unit1sa+-le res-onse "!#$.
W*en t*e unit1sa+-le res-onse of a syste+ contains a finite nu+ber of non:ero
sa+-les% i.e.% "!#$ is of finite 0uration% t*e syste+ is calle0 finite impulse
MIL
n
C
L
L
L
+ INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
response >IIR?K ot*er'ise '*en h* n+ is of infinite 0uration% t*e syste+ is
calle0 infinite impulse response >IIR?. Ior e/a+-le% t*e +ovin,1avera,e syste+
'it* i+-ulse res-onse
. 4 M,
"% #$ Q M ,%# ( '$
4 D ; D (Ml
is an IIR syste+K t*e accu+ulator 'it* unit1sa+-le res-onse
"%#$ Q L ,%'$)
-.-oo
is an IIR syste+. It is a ste- function% an0 eBuals 4 for # ~ Can0 Cfor # R 6.
A syste+ is causal if t*e co+-utation of y*no+ 0e-en0s only on t*e -ast
in-ut sa+-les x%'$) ' .C@ no) .*e unit1sa+-le res-onse of a causal ".I syste+
satisfies "%#$ Q for # R 6. nly causal 0i,ital filters are of interest since
non causal syste+s cannot be i+-le+ente0 in *ar0'are or soft'are.
4.;.; Correlation
&orrelation is a 'i0ely use0 co+-utation in 0i,ital co++unications an0 ot*er
ran0o+ si,nal -rocessin, syste+s. .*e correlation of ; seBuences a*n+ an0
"*n+ is 0efine0 as
88
y*n+ Q a*-+"*n D
-+)
-.-oo
>4.;?
.*e correlation o-eration in >4.;? can be 0escribe0 as a convolution as follo'sC
88
y*n+.
-.-oo
a*--+"*n--++.a*-n+/"*n+) >4.=?
If a*0'+ an0 "*n+ *ave finite len,t* !% "e.% t*ese are non:ero for n .
6%4%H .. %! 1 4% t*e 0i,ital correlation o-eration is ,iven as follo'sC
N-l
y*n+ Q a*-+"*n D -+
-.1
>4.A?
for # Q 1! S 1)(N S;GG %14%6% 4GG% ! 1;% ! 14. .*e 0i,ital correlation
a%2$ )
L L
L
TYPICAL DSP ALGORITHMS -
o-eration in >4.A? can also be 'ritten in +atri/1vector +ulti-lication for+ as
&%(3$ 6 6 6 .%O$
&%(2$ 6 6 .%O$ x%l$
&% (1$ 6 x%O$ x%l$
x%2$ O 6>6?
2
for $ Q A.
&%O$
Q
x%O$ x%l$ x%2$ x%3$
a%l$
>4.@?
&%l$ x%l$ x%2$ x%3$ 6
a%3$
&%2$ x%2$ x%3$ 6 6
&%3$ x%3$ 6 6 6
1.2.3 Digital Filters
<i,ital filters are an i+-ortant class of ".I syste+s 0esi,ne0 to +o0ify t*e
freBuency -ro-erties of t*e in-ut si,nal x%#$ to +eet certain s-ecific 0esi,n
reBuire+ents. .*e -ro-erties of a causal 0i,ital filter can be co+-letely c*ar1
acteri:e0 by its unit1sa+-le res-onse "%#$) or its freBuency res-onse H%!
i2
+
>or transfer function 3*45, or by 0ifference eBuations. W*ile unit1sa+-le re1
s-onse an0 freBuency res-onse ca-ture its ti+e an0 freBuency 0o+ain -ro-1
erties% 0ifference eBuation re-resentations e/-licitly s*o' t*e co+-utations
reBuire0 to i+-le+ent t*e filter.
A linear% ti+e1invariant% an0 causal filter is 0escribe0 by t*e 0ifference
eBuation
N M(l
&%#$ Q 1 a/%# ( '$ D l!x%# ( '$. 0
IeEl k~O
If a' Q 6 for 4 M - 6 $, >4.9? re0uces to
M(l
&%#$ EE 'x%# ( '$)
k=O
>4.9?
>4.7?
'*ic* is an M1ta- finite i+-ulse res-onse >IIR? filter 'it* unit1sa+-le re1
s-onse "%'$ Q ' for 6 M ' ~ M ( 4% an0 "%'$ Q 6 ot*er'ise. .*is is a
nonrecursive co+-utation. I! at least one a' .7 6 for 4 M - 6 $, >4.9? re-1
resents a recursive co+-utation '*ere t*e co+-utation of &%#$ reBuires t*e
values of t*e -ast out-ut sa+-les% an0 is calle0 a recursive filter. Its corre1
s-on0in, unit1sa+-le res-onse *as infinite 0uration% *ence% it is also referre0?
to as an infinite i+-ulse res-onse >IIR? filter. .*e c*oice bet'een an IIR
filter an0 an IIR filter 0e-en0s on t*e a--lication reBuire+ents.
In 0esi,nin, freBuency1selective 0i,ital filters% it is usually 0esirable to *ave
a--ro/i+ately constant freBuency1res-onse +a,nitu0e an0 +ini+u+ -*ase
0istortion in t*e -ass ban0 O;P. A linear -*ase 'it* inte,er slo-e corres-on0s
1 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
to a si+-le 0elay in t*e ti+e 0o+ain% an0 it re0uces t*e -*ase 0istortion to a
+ini+u+ in t*e freBuency 0o+ain. .*erefore% it is 0esirable to 0esi,n 0i,ital
filters 'it* e/actly or a--ro/i+ately linear -*ase. "inear -*ase IIR filters
are -articularly attractive as t*eir unit1sa+-le res-onses are sy++etric an0
reBuire only *alf t*e nu+ber of +ulti-lications. Ior e/a+-le% t*e unit1sa+-le
res-onse of aM1ta- linear -*ase IIR filter satisfies
"%#$ 2222"%M ( #$.
.*erefore% a 71ta- linear -*ase IIR filter 'it* i+-ulse res-onse
"%O$ E "%1$ E
o
, "%l$ Q "%-$ Q i) "%2$ Q "%+$ Q 3) "%3$ Q 8
can be 'ritten as
y*n+ Q bo"*n+ D b'"*n - 4? D b,"*n - ;? D b
8
"*n -
=?
9bo"*n - 9? D b'"*n - @? D b,"*n - A?
>4.8?
an0 can be i+-le+ente0 as s*o'n in Ii,. 4.4>a? or in Ii,. 4.4>b? usin, A
+ulti-liers% 9 a00ers% an0 9 stora,e ele+ents. Ii,. 4.4>b? re-resents a 0ata1
broa0cast structure since t*e in-ut 0ata is broa0cast to all +ulti-liers at t*e
sa+e ti+e.
1.2.4 Adaptive Filters
Ii/e01coefficient 0i,ital filters are i0eal for freBuency s*a-in, in 0eter+inistic
environ+ents. A0a-tive 0i,ital filters are use0 for a--lications suc* as ec*o
cancellation% c*annel eBuali:ation% voiceban0 +o0e+s% 0i,ital +obile ra0io%
syste+ i0entification an0 control% acoustic bea+for+in,% an0 s-eec* an0 i+1
a,e -rocessin, O=P. A0a-tive filters -re0ict one ran0o+ -rocess :y*n+; fro+
observations of anot*er ran0o+ -rocess :"*n+; usin, linear +o0els suc* as
0i,ital filters. Unli(e t*e fi/e01coefficient filters >suc* as IIR an0 IIR?% t*e
coefficients in a0a-tive 0i,ital filters are u-0ate0 at eac* iteration in or0er
to +ini+i:e t*e difference bet'een t*e filter out-ut an0 t*e 0esire0 si,nal.
.*is u-0atin, -rocess continues until t*e coefficients conver,e. Hence% a0a-1
tive 0i,ital filters usually consist of a ,eneral filter bloc( an0 a coefficient
u-0ate bloc(. Earious a0a-tation -rocesses can be 0erive0 base0 on 0ifferent
0ifference +ini+i:ation criteria. .*is subsection a00resses t*e 0erivation of
t*e "MS a0a-tive filters >'it* IIR filter bloc(? an0 t*e stoc*astic1,ra0ient
a0a-tive lattice filters.
TYPICAL DSP ALGORITHMS 4
'@nF
>a?
'@nF ---G
>b?
Fig. 4.4 Bloc( 0ia,ra+s of a 71ta- linear1-*ase IIR filter.
'),)<)' LMS =dapti!e 7ilters In t*e "MS a0a-tive al,orit*+% a 'ei,*te0
su+ of all t*e observations
5%#$ Q 6T%# 14?U>n? >4.5?
is use0 as an esti+ate of t*e 0esire0 si,nal 5%#$) '*ere
is t*e 'ei,*t vector an0
UT%#$ Q 78%#$)8%# -2F..?. )8%# ( N D 2FH
contains t*e current an0 -ast in-ut sa+-les. .*e esti+ation error% 0enote0
by !%#$) is t*e 0ifference bet'een t*e 0esire0 si,nal an0 t*e esti+ate0 si,nal%
"e.%
!%#$ Q 5%#$ ( 5%#$ Q 5%#$ ( 6T%# 14?U>n?. >4.46?
.
, INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
d@nF
u@nF
e@nF
>- error??
, feedbac-@?
(. 100
P
9$
..... ""
Fig. 4.; Syste+ 0ia,ra+ of t*e "MS a0a-tive filter.
In t*e n1t* iteration% t*e "MS al,orit*+ selects A
T
%#$) '*ic* +ini+i:es t*e
sBuare error e
,
*n+) .*erefore% t*e "MS a0a-tive filters consist of an IIR filter
bloc( >I1bloc(? 'it* coefficient vector 6T%#$ an0 in-ut seBuence 8%#$) an0
a 'ei,*t >coefficient? u-0ate @4UDF bloc(.
.o 0erive t*e 'ei,*t u-0ate al,orit*+% t*e 0erivative of e
,
*n+ 'it* re1
s-ect to 6T %# ( 4? is calculate0 as follo's >t*e ti+e in0e/ # is 0ro--e0 for
si+-licity? C
,!
,
,6T
Q 1;0U D ;W
.
U . U
. (2%5 ( W.U?U Q 1;eU. >4.44?
.*e u-0ate of t*e 'ei,*t vector is t*us 'ritten as
>4.4;?
Iinally% 'e obtain
6%#$ Q 6%# ( 2F D :.;!%#$U%#$. >4.4=?
.*e syste+ level 0ia,ra+ of t*is "MS filter is s*o'n in Ii,.4.;% '*ere in every
iteration t*e error !%#$ >4.46? is co+-ute0 by t*e filter bloc( >I1bloc(? an0
t*e 'ei,*t vector >4.4=? is u-0ate0 by t*e 4UD bloc(. Ii,. 4.= s*o's t*e
0etaile0 "MS filter bloc( 0ia,ra+.
'),)<), &tochastic-Bradient =dapti!e Lattice 7ilter .*e basic conce-ts an0
0erivation of lattice filter structures are assu+e0% as t*ese are covere0 in ,reat
0etail in OAP%O;P >see also &*a-ter 4;?.
!<%#l=$ Q !<%#l= ( 2F - '=%#$!%# ( 22 - 2F
!%#l=$ E !%# ( 22 - 4? 1
'=%#$!<%#l=
( 2F.
WU<1B"&K
u@nF
TYPICAL DSP ALGORITHMS >
.- - I1.... - - T. 1 1 - 11 1 1 1 1 1 1 1 - 1 1 - - 1 11 1 1 1 1 J .. J .. 11 1 1T - 1T .. J .. 1 J .. 1T .. J .. 1 1%
C I1B"&K C
. H
0en?
NT -- - ..T .. 1 - 11 J .. - T .. 1T .. - 1 - - 1T .. T .. 1 11 1 - 1T .. - - ..- 11 11 - -- - 1 1 .. J .. - J .. 1 1 T .. 11 - .. 1 1T .. - T .. T1
Fig. 4.= .*e "MS a0a-tive 0i,ital filter.
"et # 0enote t*e ti+e instance% an0 + Q 4%;% ... % N 0enote t*e lattice sta,e
nu+ber %N is t*e total nu+ber of sta,es or t*e or0er of t*e filter?. .*en t*e
or0er u-0ate eBuations for t*e for'ar0 an0 bac('ar0 -re0iction errors can
be 'ritten as follo's% res-ectivelyC
>4.4A?
'*ere '
m
is t*e -artial correlation coefficient >also calle0 PAR&R or re1
flection coefficient? O@P >see Section 4;.=.=?. In Ii,. 4.A% t*e s*a0e0 re,ion
re-resents a for'ar0 lattice sta,e an0 -erfor+s t*e co+-utation in >4.4A?.
.*e stoc*astic1,ra0ient a0a-tive al,orit*+ a0a-ts '
m
to +ini+i:e
:%#$ Q !?%#l=$ D !~%#l=$) >4.4@?
'*ic* re-resents t*e sBuare su+ of t*e for'ar0 an0 bac('ar0 -re0iction er1
rors. E/-ressin, :%#$ in ter+s of !<%#l= ( 4?% !%# ( 22 - 2F. an0
'=%#$ an0 ta(in, t*e 0erivative of :%#$ 'it* res-ect to '=0 'e *ave
,:%#$ .
,' %#$ Q (27!<%#l= -2F - '=%#$!%# -22 (1$@!%# -22 - 2F
=
(27!%# ( 22 - 2F - '=%#$!<%#l= ( 1$@!<%#l= ( 2F.
10 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
ef>nl+1l?
Fig. 4.A .*e stoc*astic1,ra0ient a0a-tive lattice filter arc*itecture.
.*is 0erivative% calculate0 usin, t*e current esti+ate for -m*n+, is 'ei,*te0
an0 subtracte0 fro+ t*e current esti+ate to yiel0 t*e ne' esti+ate -m*n+)
.*e u-0ate eBuation is 'ritten as
-m*n D 4? Q -m*n+ C ,Dm#n+ 8MC? >4.49?
. -
m
*n+E' - ,Dm*n+*eJ*nlm - 4? 9e6*n - 44+ 1 4??P
9,,Dm*n+ef*nlm - l+eb*n - 44+ 1 4?%
'*ere ,Dm*n+ is t*e a0a-tation constant. Ior t*e s-ee0 of a0a-tation to be
relatively in0e-en0ent of t*e in-ut si,nal levels% t*e ste-1si:e ,Dm*n+ nee0s to
be nor+ali:e0 by an esti+ate of t*e su+ of t*e >+ 1 4?1t* or0er -re0iction
error variance. Hence% 'e can 'rite H
,Dm*n+ .
4
>4.47?
&*nlm -'+
TYPICAL DSP ALGORITHMS 11
'*ere S%#l= ( 4? is esti+ate0 recursively as
S%# D 11= ( 4? Q >4 1 ),$S%#l= ( 4?
*!:%#l= 14? D !~%# ( 44+ 14?%
>4.48?
'*ere %8 is a constant '*ic*% in conJuction 'it* t*e initial value of S%Ol= (1$)
controls t*e s-ee0 of a0a-tation.
.*e stoc*astic1,ra0ient a0a-tive al,orit*+ is co+-letely 0escribe0 by t*e
follo'in, eBuationsC
'=%# D 4? Q O4 1 ),=%!?%#l= ( 4? D !~%# ( 44+ (1$$@'
=
A#$
*2),=!<%#l= ( l$!%# ( 44+ 1 4? >4.45?
S%# D 44+ 1 4? Q >4 1 ),$S%#l= ( 4? >4.;6?
*!?%#l= ( 4? D !~%# ( 44+ 1 4?
4
%8+ E S%#l= 9 4? >4.;4?
!<%#l=$ Q !<%#l= ( 4? 1 '=%#$!%# ( 44+ 14? >4.;;?
!%#l=$ Q !%# ( 44+ 1 4? 1 '=%#$!<%#l= ( 4?. >4.;=?
EBuations >4.45?1>4.;4? an0 >4.;;?1>4.;=? are referre0 to as t*e a0a-tation
an0 or0er1u-0ate eBuations% res-ectively. .*is stoc*astic1,ra0ient lattice fil1
ter bloc( 0ia,ra+ is s*o'n in Ii,. 4.A% '*ere t*e for'ar0 an0 bac('ar0
-re0iction errors% !< an0 !) are co+-ute0 usin, for'ar0 lattice sta,es >in
s*a0e0 re,ion?.
1.2. !otion "stimation
Motion esti+ation is use0 in interfra+e -re0ictive co0in, an0 is t*e +ost
co+-utation1intensive -art in vi0eo co0in,. In +otion esti+ation% successive
fra+es of a vi0eo seBuence are analy:e0 to esti+ate t*e +otion >or 0is-lace1
+ent? vectors of -i/els or bloc(s of -i/els. .*e +otion vectors are trans+itte0
instea0 of t*e corres-on0in, bloc(s of t*e current fra+e. .*e best co+-res1
sion is obtaine0 by +otion1co+-ensate0 -re0iction usin, bloc(s fro+ -revi1
ous co0e0 fra+e. Bloc(1+atc*in, al,orit*+s >BMAs? are t*e +ost -referre0
sc*e+es for +otion esti+ation 0ue to t*eir relative si+-licity. In BMAs% eac*
fra+e is -artitione0 into $-by-$ +acro reference bloc(s an0 it is assu+e0
t*at all t*e -i/els in 4 bloc( *ave t*e sa+e +otion. Eac* reference bloc( in
t*e current fra+e is co+-are0 'it* 0is-lace0 can0i0ate bloc(s in t*e -revious
fra+e an0 t*e offset bet'een t*e best fittin, can0i0ate bloc( an0 t*e reference
bloc( is 0efine0 as its +otion vector. .*e searc* ran,e in t*e -revious fra+e
??.
KLMYr?iNO.?.??
L L
12 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
Previous fra+e
..? >M-.)-?.% C %. C >!H.-1t1..M?
.
&urrent fra+e
. .. D I I .? .. ?. .
C
%MMMMM..MMMMTMMM'iMM..MM.
M...
.... H ...% IH
....
?
MNM . PQM
BC~CC
P ?
C?A..BCD
??
.PiMr . ...
.... btst ....M..
+a(*e0 C
....IM..
@P (
. CCH >6%6?C >4i414%6?CC
..L.?.L.LL....K.. ".GCCC G.CCC
C %>.!1i? >FUK.I.!1IJ C
..... bJM.(.
...... M
CC
iH
?
.. MHG
? CCC
. HCH.. M.. M M
L I I .. L .. J
.Ip.NDpN...l.F. ........ ?..%N2;EF)l.N).EF)l$
......
.........-J...N. D/I--?--
. P? I. I. ...1. C.. ... I..... I.
Fig. 4.@ Bloc(1+atc*in, al,orit*+ for +otion esti+ation.
is calle0 search 2indo2 an0 is constraine0 to D> - p -i/els in bot* *ori:ontal
an0 vertical 0irections relative to t*e -osition of t*e reference bloc(. .*us%
t*e searc* 'in0o' contains %N D ,p+, -i/els. .*e bloc(1+atc*in, al,orit*+
is illustrate0 in Ii,. 4.@.
Several searc* criteria can be use0 to 0efine t*e best +atc*% inclu0in,
cross1correlation function >&&I?% +ean1sBuare error >MSE?% an0 +ean abso1
lute 0ifference >MA<?. .*e MA< function is +ost 'i0ely use0 in -ractical
i+-le+entations 0ue to its si+-licity an0 satisfactory -erfor+ance. .*e 0is1
-lace0 bloc( 0ifference s*m, n+ 'it* 0is-lace+ent *m, n+ usin, MA< is 0efine0
as
N-2N-l
s*m,n+ E I"*i,F+-y*i9m,F9n+l,
iGO JQ
Eor - P RN6. +% n RN6. p, >4.;A?
'*ere "*i,F+ an0 y*i9m,F 9n+ corres-on0 to t*e -i/el values in t*e reference
bloc( in current fra+e an0 t*e can0i0ate bloc( in t*e searc* 'in0o' in -re1
vious fra+e% res-ectively. !ote t*at >4.;A? reBuires 8$, co+-utations >one
subtraction% one absolute value% an0 one accu+ulation are nee0e0 for eac*
absolute 0ifference co+-utation?. Several strate,ies can be use0 to 0eter+ine
t*e best +atc*e0 bloc(% out of '*ic* lull search is t*e +ost strai,*tfor'ar0
+et*o0. It searc*es all t*e *,p D 4?; -ositions in t*e searc* 'in0o' an0
co+-utes t*e +otion vector v as
u Q min*m)n+:s*m,n+;, Eor -p6m, nG#H,p,
v >+%n?lu.
Hence% for a NH / NI fra+e *$h -i/els -er line% $! lines -er fra+e?% t*e
C C
L
L
>4.;7?
CI
L
TYPICAL DSP ALGORITHMS 13
full1searc* BMA involves
co+-utations -er fra+e. Assu+e a fra+e rate of 7 fra+esFsec% t*e co+-u1
tation loa0 of full1searc* BMA is 8*,p D 4?;$h$!7 o-erationsFsec.
1.2.# Discrete Cosine Trans$orm
.*e 0iscrete cosine transfor+ ><&.? as a freBuency transfor+ 'as first in1
tro0uce0 for -attern reco,nition in i+a,e -rocessin, an0 Wiener filterin, O9P.
It is currently e/tensively use0 as a transfor+ co0er for still an0 +ovin, i+1
a,e an0 vi0eo co+-ression. .*is section intro0uces t*e 0erivation of even
sy++etrical one10i+ensional <&. >I<1<&.?.
&onsi0er a !1-oint seBuence "*n+, "e.% "*n+ Q for n R an0 n S $ (1.
.*e N 1-oint <&. an0 inverse <&. >I<&.? -air for t*is seBuence is 0efine0
asC
N(l *,n D 4?(7r
I*-+ Q e*-+ "*n+ cosO ,$ J, - Q 6%4%. ,$ - 4
n=O
; N(l *,n D l?(7r
"*n+ Q $ e*-+I*-+ cost ,$ J, n Q 6% 4% .H .. ,$ - 4%
k=O
>4.;@?
>4.;9?
'*ere
e*-+ E G I. i< - E 6%
', other2ise)
.*e $ 1-oint <&. an0 I<&. -air can be 0erive0 usin, a ,$ 1-oint 0iscrete
Iourier transfor+ ><I.? -airC &onstruct a ;!1-oint seBuence y*n+ usin, "*n+
an0 its +irror i+a,e as follo'sC
y*n+ Q "*n+ D "*,$ - n - 2F Q
:
"*n+, n 6 $ (1
"*,$ C n C 2F. $ 6 n 6 ,$ C 4. >4.;8?
Hence y*n+ is sy++etric 'it* res-ect to t*e +i0-oint at n Q $ 14F;. Ii,. 4.9
s*o's an e/a+-le for N Q @.
.*e ;!1-oint <I. of y*n+ is ,iven by
2N(l
KD*-+ Q y*n+e-F6-n
n=O
L L
,$
" .
1+ INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
;@nF
o 1 2 345 6 7 8
9
II 4. n
o 1 2 345 6 7 8 9
>a? >b?
7ig) 4.9 Relation bet'een !1-oint seBuence ":n+ an0 ;!1-oint seBuence y:n+ .
"*n+ D "*,$ - n - 4?.
N-l /N-l
Q
0
M
C0
"*n+e-J,$
0A:B..'
n
D
0
I
C0
"*,$ - n -'+cJ,$
0A:B..'
?, *'),L+
n.1 n.$
for 6 M - 6 ,$ - 4. Substitutin, n Q ,$ - n@ - 4 into t*e ;n0 su++ation in
>4.;5?% 'e obtain
o
L "*n@+e-
if$-
*,$-n@-'+
n@.$-l
N-l
E I
HGH
n@.1
"*n
G;
+e
%%
Jm
'#
n
0
eJ
0
,
+
$
'
)
>4.=6?
Wit* >4.=6?% >4.;5? can be re'ritten as
N-l N-l
KD*-+ Q "*n+e-
Ff$-n
D "*n+eFf$-neF6-
n.1 n.1
N-l N-l
,n
. ei/@*L "*n+e-
i
*
,n
;:$CC D L
"*n+e
i
*
n.1 n.1
;:$CC$
<efine
Fh ?M; >?
e L...: n
n.1
**,n9'+-'r+
cos 2N .
>4.=4?
I*-+ E :KD*-+e-
i
*/+, 6 M - 6 $-'
M, other2ise)
.*en t*e !1-oint <&. can be e/-resse0 as I*-+ Q e*-+I*-+>,)
>4.=;?
.*e inverse <&. is 0erive0 by relatin, KD*-+ to I*-+, co+-utin, y*n+
fro+ KD*-+ usin, t*e inverse <I.% an0 reconstructin, "*n+ fro+ y*n+) Al1
t*ou,* KD*-+ is a ;!1-oint seBuence an0 I*-+ is a !1-oint seBuence% t*e
C
:
; "..J
e-
:
*+
. -e
:
'101r ....
TYPICAL DSP ALGORITHMS 1-
re0un0ancy >sy++etry? in y*n+ enables KD*-+ to be e/-resse0 usin, I*-+)
Ior s - 6 $ 14% KD*-+ Q e
i
/ I*-+# KD*$+ Q 6. Ior $ D 4 M - s ,$ -',
4 M ,$ - - 6 $ 14. .*erefore%
KD*,$ - -+
Q
e ,$ I*,$ - -+
Q
-e-
:
I*,$ - -+) *')88+
.%2N('$C ~ * M
:
@,$
Ho'ever% fro+ >4.=4?%
K
D
*,$ - -+ Q e
)*,$
i
/$C ~
n.1
*,n D '+*,$ - (?7r
,"*n+ cos> ,$ +
$-l *+
. -e
)2NC Ph MM ,n D 4 (7r
:TN
@,$ "..J ,"*n+ cos> ,$ +
n.1
. e
(:0
/
~
N e
OP h
2N
$
L
-l
;
"
>?
n cos
*,
1H
n
11 T
D
T
4
C
(7r?
n.1
,$
. e-
:
%M
,$ KD*-+) *')8<+
Hence%
KD*-+ Q ei6KD*,$ - -+
T .alQUt T 100f ...
. -e
:
,$ e-
:
@,$ I*,$ - -+
@,$ I*,$ - -+, >4.=@?
for $ D 4 M - 6 ,$ - 4. .*erefore% 'e *ave
ei/ I*-+, C I- 6 $ - 4
KD*-+.@ 6% -.$
:
-ei6 I*,$ - -+, $ D 4 M - 6 ,$-
')
>4.=9?
.a(in, t*e inverse <I. of KD*-+, 'e *ave
,$-l
y*n+ G
J2J MM 2P? *-+eilf,-n
,$ "..J D
-.1
$-l ,$-l
. ,6*L I*-+ei*,nt6+h D L *-ei6 I*,$ - -++eilf,-n+)
-.1 -.$9l
>4.=7?
After c*an,e of variable in t*e ;n0 ter+ an0 so+e al,ebraic +ani-ulation%
an0 usin, l>e*1+ Q ,e*M+ an0 l>e*-+ Q e*-+ for -f) 6% >4.=7? can be re'ritten
$
2N
I?
.
:
11 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
as
&%#$
4 M M> ? .@/MDOl
h
2N >"...J U ' e ;
D
I
"...J U
I@F
' e-
:
T@/MtOl
h
'GGO *El
G 229%.%O$ D ; I?l.%'$ cos> *,n KK?(7r??
2N *EEl
Q 1
;
> !%O$.%O$ D
N
I
(
?
l
.%'$!%'$ cos>
*,n D 4?(7r
$$) >4.=8?
N *El
for 8??N # 22I ,$ 14. .*e inverse <&.% obtaine0 by retainin, t*e 4st $ -oints
of &%#$) is ,iven by
; N(l *,n D 4?(7r
x%#$ Q &%#$ E $ !%'$.%'$ cos> ),$+@ *')8L+
. J 'GO
for 6 CCK n #N ( 4.
E/-ress t*e !1-oint seBuences x%#$ an0 .%'$ in vector for+ as
/ Q x%
O
l$0
$ 2
.;
Q
7
7.%O$
V>l?
2
%
>4.A6?
"*$ - 2F I*$ - 2F
an0 t*e <&. transfor+ in >4.;@? in +atri/ for+ as
4F..F;
A E cos>ifv?
O
4F..F;
cosa$+
>4.A4?
cosN$,6+'T+ cos> 8*6$l+'T+
.*e <&. an0 +&. coefficients can be co+-ute0 usin,
V Q A/% / Q 'AT.. >4.A;?
.*is lea0s to AAT Q lOI$"$, '*ere I$"$ is t*e i0entity +atri/ of 0i+ension
N / N. .*erefore% <&. is an ort*o,onal transfor+.
.*e !1-oint 4<1<&. in >4.;@? reBuires N
2
+ulti-lications an0 a00itions.
Ior i+a,e co+-ression% t*e i+a,e fra+e is 0ivi0e0 into N / N bloc(s% an0 a
N / N t'o10i+ensional <&. >;<1<&.? is co+-ute0 for eac* bloc(. <irect
co+-utation of ;<1<&. of len,t* N reBuires N
<
+ulti-lications an0 a00i1
tions. n t*e ot*er *an0% by utili:in, t*e se-arability of ;<1<&.% it can be
co+-ute0 by -erfor+in, N 4<1<&.s on t*e ro's of t*e i+a,e bloc( follo'e0
by $ 4<1<&.s on t*e resultin, colu+ns O7P. Wit* t*is si+-lification% $ / $
TYPICAL DSP ALGORITHMS 14
ED
vectors
<istortion
&alculation
81bitin0e/
Fig. 4.7 Eector Duanti:ation1base0 vector co+-ression an0 0eco+-ression.
;<1<&. reBuires ,$
8
+ulti-ly1a00 o-erations% or <$8 arit*+etic o-erations.
1.2.% &ector 'uanti(ation
Eector Buanti:ation >ED?% '*ic* ori,inate0 as a -attern +atc*in, sc*e+e% is
no' co++only use0 for 0ata co+-ression in s-eec*% i+a,e an0 vi0eo co0in,%
an0 s-eec* reco,nition. It is a lossy co+-ression tec*niBue t*at e/-loits t*e
s-atial correlation t*at e/ists bet'een nei,*borin, si,nal sa+-les. In ED% a
,rou- of sa+-les are Buanti:e0 to,et*er rat*er t*an in0ivi0ually. A vector
Buanti:er can o-erate 0irectly on i+a,e bloc(s to ac*ieve s-atial infor+ation
co+-ression an0 Buanti:ation at t*e sa+e ti+e. In a ED syste+% i0entical
co0eboo(s containin, co0e'or0 vectors are available bot* in t*e trans+it1
ter an0 t*e receiver si0e. .*e vector Buanti:er trans+its t*e in0e/ of t*e
co0e'or0 rat*er t*an t*e co0e'or0 itself.
Ii,. 4.7 illustrates t*e ED enco0in, an0 0eco0in, -rocess. n t*e enco0er
si0e% t*e vector Buanti:er ta(es a ,rou- of in-ut sa+-les >-i/els in t*e case of
i+a,e co+-ression in Ii,. 4.7?% co+-ares t*is in-ut vector to t*e co0e'or0s
in t*e co0eboo( an0 selects t*e co0e'or0 'it* +ini+u+ distortion) Assu+e
t*at vectors are (10i+ensional an0 t*e co0eboo( si:e is N. I! t*e 'or0len,t*
of t*e vector ele+ents is A an0 $ Q ,
m
, t*en t*e rn1bit a00ress of t*e
co0eboo( is trans+itte0 as o--ose0 to -A-bit) .*is lea0s to a co+-ression
factor of m>-A) .*e 0eco0er si+-ly receives t*e +1bit in0e/ as t*e a00ress
of t*e co0e boo( an0 retrieves t*e best co0e'or0 to reconstruct t*e in-ut
vector. In Ii,. 4.7% eac* vector contains ' Q 49 -i/els of 'or0len,t* 6 Q 8.
.*e co0eboo( contains N Q ;@9 co0e'or0s% *ence + Q 8. .*erefore% t*e
vector Buanti:er in Ii,. 4.7 ac*ieves a co+-ression factor of 4F49.
.*e enco0in, al,orit*+ in vector Buanti:er can be vie'e0 as an e/*austive
searc* al,orit*+% '*ere t*e co+-utation of 0istortion is -erfor+e0 seBuen1
tially on every co0e'or0 vector in t*e co0eboo(% (ee-in, trac( of t*e +ini+u+
0istortion so far% an0 continuin, until every co0e'or0 vector *as been teste0.
.
i
.
L
1, INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
Usually% t*e Eucli0ean 0istance bet'een t'o vectors >also calle0 sBuare error?
*-l
d@;.'F Q II; - 'll/ Q @L*Ii - Ki+,
iQ
>4.A=?
is use0 as 0istortion +easure+ent. In -ractical i+-le+entations% t*e 0istor1
tion bet'een t*e in-ut vector / an0 t*e J1t* co0e'or0 vector &J >6 M J M
N ( 4? is co+-ute0 base0 on t*eir inner -ro0uct% instea0 of 0irect sBuarin,
o-erations O84. By e/-an0in, >4.A=?% 'e ,et
>4.AA?
'*ere
>4.A@?
an0 t*e inner -ro0uct is ,iven by
*-l
V &J QQ IiCFi)
iQ
>4.A9?
Since !K 0e-en0s only on t*e co0e'or0 vector &J an0 is a constant% it can
be -reco+-ute0 an0 treate0 as an a00itional co+-onent of t*e vector &J.
.*erefore% for a fi/e0 in-ut vector /% +ini+i:in, t*e 0istortion in >4.AA? a+on,
t*e N co0e'or0 vectors is eBuivalent to +a/i+i:in, t*e Buantity V &J D !K)
'*ere 6 M J M N ( 4. .*erefore% t*e searc* -rocess in ED can be 0escribe0
as follo'sC
>4.A7?
'*ere t*e inverse +eans Gout-ut t*e in0e/ ind
n
'*ic* ac*ieves t*e +ini+u+
or +a/i+u+G an0 # re-resents t*e ti+e instance. .*e searc* -rocess can
also be 0escribe0 eBuivalently in a +atri/1vector +ulti-lication for+ulation
follo'e0 by co+-arisons as follo's O5PC
< Q O0o 0
l
... 5N95
T
Q &/ D e
ind
n Q >Ma/U0iW?1l%
>4.A8?
'*ere & Q :CFi; is $ / - +atri/ 'it* t*e J1t* co0e'or0 vector CFT as its
J1t* ro'% / is t*e in-ut vector of 0i+ension ') an0 e E 7!L el ... !N(IKT.
.*e above searc*in, al,orit*+ is a bruteforce a--roac* '*ere t*e 0istor1
tion bet'een t*e in-ut vector an0 every entry in t*e co0e boo( is co+-ute0%
an0 is calle0 full-search !ector (uanti4ation) Every full1searc* o-eration re1
Buires $ 0istortion co+-utations an0 eac* 0istortion co+-utation involves -
TYPICAL DSP ALGORITHMS 1>
=
o o 6
o 6 o 0
o 0 o
o o o
o 0 o 0
o 0 o 0
"D "D
o o o
WW
Fig. 4.8 .ree1structure0 vector Buanti:ation.
+ulti-ly1a00 o-erations. Hence% co+-utin, t*e in0e/ for one (10i+ensional
in-ut vector reBuires $- +ulti-ly1a00 o-erations an0 $ - 4 co+-arisons%
'it*out inclu0in, +e+ory access o-erations. .*is al,orit*+ +ay be a bot1
tlenec( for *i,* -erfor+ance for lar,e $) Ior t*ese cases% a tree-structured
!ector (uanti4ation sc*e+e can be use0 '*ose co+-le/ity is -ro-ortional to
lo,; N. .*e basic i0ea is to -erfor+ a seBuence of binary searc* instea0 of an
e/*austive searc*% as s*o'n in Ii,. 4.8. At eac* level of t*e tree% t*e in-ut
vector is co+-are0 'it* t*e / co0e'or0 vectors an0 / 0istortion co+-utations
are carrie0 out. .*is -rocess is re-reate0 until t*e leaf of t*e tree is reac*e0.
Ior t*e e/a+-le in Ii,. 4.7% t*e tree searc* reBuires 49 0istortion calculations%
as co+-are0 to /67 in full searc*. .*e tree searc* ED is a subo-ti+al Buan1
ti:er t*at ty-ically results in -erfor+ance 0e,ra0ation. Ho'ever% for carefully
0esi,n co0eboo(% t*e 0e,ra0ation can be +ini+i:e0.
1.2.) &iter*i Algorithm and D+namic Programming
.*is section revie's t*e Eiterbi al,orit*+% '*ic* is base0 on 0yna+ic -ro1
,ra++in, O46P. .*e Eiterbi al,orit*+ is 'i0ely use0 to 0etect seBuential
error1control co0es suc* as convolutional co0es% an0 to 0etect sy+bols in
c*annels 'it* +e+ory. It is o-ti+u+ in t*e +a/i+u+ li(eli*oo0 sense for
fin0in, t*e +ost li(ely noiseless seBuence ,iven a noise corru-te0 finite1state
seBuence. .*e finite1state si,nals are si,nals ,enerate0 fro+ finite1state tran1
sition 0ia,ra+. Ior e/a+-le% Ii,. 4.5>a? is a state transition 0ia,ra+ 'it* A
states SOO) SOl) S10 an0 Sl1. .*ere are t'o -ossible out,oin, e0,es fro+
eac* state assu+in, in-ut of 6 an0 4. .*e note on eac* e0,e 0enotes t*e
current in-ut bit an0 t*e corres-on0in, out-ut sy+bol. Ior e/a+-le% t*e
out,oin, e0,e fro+ state SOO 'it* note 4F44 +eans t*at t*e current in-ut
is 4 an0 t*e out-ut sy+bol is 44. .*is state transition 0ia,ra+ can be use0
to 0escribe a convolutional enco0in, al,orit*+ 'it* co0e rate 4F;% +e+ory
.M len,t* ; an0 ,enerator -olyno+ials gl *4+ Q '94-
,
an0 g,*P+ Q '94-
1
9P-,)
o6
m
8 46
--
20 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
ti+e instance ti+e instance
n nSl
8>88
P-PI
S
''M'
C 6F46
S
>22
S
L
GHDFll
Sl
6%6F64%H 6
Sl
. .
S46
6G GH6
S46
,~
>a?
Sl4
6F >
4F64
>b?
M
Sl4
Fig. 4.5 .rellis 0escri-tion of a finite1state +ac*ine. >a? A A1state +ac*ine. >b? .*e
trellis 0escri-tion.
.*e state transition 0ia,ra+ in Ii,. 4.5>a? can also be 0escribe0 usin, a ti+e1
in0e/e0 eBuivalent trellis diagram in Ii,. 4.5>b?% '*ic* 0escribes all t*e state
transitions fro+ ti+e instance # to # D 4. I! a seBuence of sy+bols% ,enerate0
fro+ a trellis% is corru-te0 by a00itive '*ite Laussian noise% t*e Eiterbi al,o1
rit*+ can fin0 t*e closest seBuence of sy+bols in t*e ,iven trellis% usin, eit*er
t*e Eucli0ean 0istance >o-ti+al? or t*e Ha++in, 0istance >subo-ti+al? as
0istance +easure+ent. .*e resultin, seBuence is calle0 t*e global most-li-ely
se(uence)
Ior a receive0 !1state seBuence v containin, L sy+bols
v Q {v(O),v(
.
),,v(L- 2FV.
'*ere t*e first sy+bol v(O) is receive0 at ti+e instance 6 an0 t*e last one
!*L - 4? is receive0 at ti+e instance L - 4% t*e Eiterbi al,orit*+ iteratively
co+-utes t*e sur!i!or path enterin, eac* state at ti+e instances 4% ... % L(1.
.*e survivor -at* for a ,iven state at ti+e instance # is t*e seBuence of
sy+bols closest in 0istance to t*e receive0 seBuence u- to ti+e n# a path metric
"i*n+ is assi,ne0 to eac* state 0enotin, t*e 0istance bet'een t*e survivor -at*
for state i an0 t*e receive0 seBuence u- to ti+e n) Iro+ ti+e instance n to
# D 4 >for 6 M # ~ L$) t*e Eiterbi al,orit*+ u-0ates t*e survivor -at*s an0
t*e -at* +etric values ";*n D 4?% for 4 M J M $, fro+ t*e survivor -at*
+etrics at ti+e instance # an0 t*e branc* +etrics in t*e ,iven trellis usin,
dynamic programming @D$F K22H as follo'sC
";*n D 4? E m
.
6nE"i*n+ D ai;*n+J, i)K E 4%;%%
$,
>4.A5?
'*ere ai;*n+ is t*e branc* +etric for t*e transition fro+ t*e i1t* state at ti+e
instance # to t*e J1t* state at ti+e instance # D 4 in t*e 0eco0in, trellis an0
TYPICAL DSP ALGORITHMS 21
is t*e 0ifference in 0istance bet'een t*e current receive0 sy+bol M%#$ an0 t*e
out-ut sy+bol in t*e enco0in, trellis. &onsi0er a seBuence ,enerate0 by t*e
A1state enco0in, trellis in Ii,. 4.5>b?. Assu+e t*at at ti+e instance n, t*e
-at* +etrics for t*e A states are
Il*n+ Q ;% ",*n+ Q 6% "8*n+ Q 4% "<*n+ Q ; >4.@6?
an0 t*e receive0 sy+bol is M%#$ Q 44. Usin, t*e Ha++in, 0istance% t*e
branc* +etrics for all t*e transitions in t*e trellis can t*en be co+-ute0 as
au*n+ Q 2eight*lll- 664? Q ;% a', E 2eight*ill-lll+ Q 6%
a,8*n+ Q 2eight*lll- 644? Q 4% a,< Q 2eight*lll- 464? Q 4%
a8'*n+ Q 2eight*I''- 444? Q 6% a8, Q 2eight*I''- 664? Q ;%
a<8*n+ Q 2eight*l'' - 464? Q 4% a<< Q 2eight*l'' - 644? Q
4.
.*e survivor -at* an0 t*e -at* +etric for eac* state fro+ ti+e # to # D 4 can
t*en be u-0ate0 as s*o'n in Ii,. 4.46. .*ere are ; -ossible -at*s enterin,
eac* state. .*e one 'it* lar,er +etric is 0iscar0e0% an0 t*at 'it* s+aller
+etric is retaine0 an0 a00e0 to t*e survivor -at*% as s*o'n in 0ar(er lines
in Ii,. 4.46. .*is u-0ate -rocess is carrie0 out iteratively fro+ # Q 4 to
# Q L) .*e ,lobal +ost1li(ely seBuence is t*e survivor -at* of t*e state 'it*
+ini+u+ -at* +etric at ti+e # Q L) i.e.% t*e survivor -at* of t*e state
>4.@4?
'*ere i#5(
i
+eans Gta(e t*e in0e/ of t*e corres-on0in, stateG. <yna+ic
-ro,ra++in, al,orit*+s *ave t*e -ro-erty t*at t*e o-ti+u+ solution fro+
an initial iteration to t*e iteration n9m +ust consist of t*e o-ti+u+ solution
fro+ initial iteration to iteration n, an0 fro+ iteration n to iteration n D +.
Hence% t*is iterative al,orit*+ is o-ti+u+ fro+ t*is -oint of vie'.
Ii,. 4.44 is an e/a+-le run of Eiterbi 0eco0in, al,orit*+. .*e in-ut
seBuence 4 4 66 4 6 6 6 is enco0e0 usin, t*e A1state trellis in Ii,. 4.5>b? an0
t*e trans+itte0 sy+bol seBuence is 44 46 46 44 44 64 44 66. .*e receive0
seBuence is corru-te0 by noise an0 0eviates fro+ t*e trans+itte0 seBuence
by = sy+bols. Ii,. 4.44 s*o's t*e 0eco0in, trellis fro+ ti+e instance 6 to
8% '*ere t*e branc*es 'it* an G/G are t*e 0iscar0e0 branc*es. .*e ,lobal
+ost1li(ely seBuence is t*e survivor -at* of t*e first state at ti+e instance
# Q L E 8. It can be seen t*at t*e ,lobal +ost1li(ely seBuence% 0ra'n in
0ar(er lines in t*e 0eco0in, trellis% is e/actly t*e sa+e as t*e trans+itte0
seBuence.
.*e Eiterbi al,orit*+ inclu0es co+-utin, of branc* +etrics aiF*n+, u-0at1
in, t*e -at* +etrics% selectin, t*e final state% an0 tracin, bac( its survivor
-at*% out of '*ic* t*e -at* +etric u-0ate reBuires a00ition% co+-arison% an0
selection >A&S? for every state at eac* ti+e instance. .*e s-ee0 of t*e Eiterbi
0eco0er is li+ite0 by t*e recursive A&S o-erations.
22 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
timen timen,l
Fig. 1.10 U-0ate0 survivor -at*s for eac* state fro+ ti+e instance n to n D
4.
tie
in-uts 6 6 6 6 6
.rans+it 44 46 46 44 44 64 44 66
Receive 44
.u
46 JA.Q. 44 66 44 66
soo
Sl
SI
Sl4
Fig. 4.44 An e/a+-le of Eiterbi 0eco0in,for a finite1state seBuence,enerate0 by
t*e
state 0ia,ra+ in Ii,. 4.5.
1.2.- Decimator and ".pander
.*e sa+-lin, rate in a <SP syste+ can be c*an,e0 internally by 0o'nsa+1
-lin, or u-sa+-lin, o-erations. .*e resultin, syste+ is referre0 to as a
+ultirate syste+. A--lications of +ultirate si,nal -rocessin, inclu0e s-eec*
an0 i+a,e co+-ression% 0i,ital au0io syste+s% statistical an0 a0a-tive si,nal
-rocessin,% etc. <eci+ators an0 e/-an0ers are t*e t'o basic buil0in, bloc(s
in +ultirate syste+s.
A 0eci+ator -rocesses an in-ut x%#$ an0 -ro0uces an out-ut seBuence
YD%#$ Q x%M#$) >4.@;?
'*ere M is a -ositive inte,er. .*e 0eci+ator is also referre0 to as co+-ressor
or 0o'nsa+-ler. .*e notation of a 0eci+ator an0 its functionality are illus1
* +
TYPICAL DSP ALGORITHMS 23
;@nF --KK#O-
y. @nF
D
MG2
11/1/
o tIt A
;@nF
#o @nF
_'1-7~2~3-I~5-6~7~---n-
Fig. 4.4; .*e 0eci+ator an0 its functionality.
trate0 in Ii,. 4.4;. .*e 0eci+ator ,enerates one out-ut for every M in-ut
sa+-les% an0 t*e out-ut rate is t*us M ti+es slo'er t*an t*at of t*e in-ut
seBuence.
E/-ansion is an u-sa+-lin, -rocess. It ta(es an in-ut "*n+ an0 -ro0uces
an out-ut seBuence
C :"*n>L+, if n is integer - multiple of L,
KQ n - 6% other2ise, )
>4.@=?
'*ere L is an inte,er. .*e notation of an e/-an0er an0 its functionality are
illustrate0 in Ii,. 4.4=. .*e e/-an0er is also referre0 to as inter-olator or
u-sa+-ler. An e/-an0er ,enerates L out-ut sa+-les for every in-ut sa+-le
by insertin, L - 4 :eros. Hence% t*e sa+-lin, rate of t*e out-ut seBuence is
L ti+es faster t*an t*at of t*e in-ut seBuence.
<eci+ation an0 inter-olation are nonlinear o-erations. &asca0e of an M1
fol0 0eci+ator follo'e0 by an "1fol0 inter-olator is ,enerally not eBuivalent to
t*e casca0e of an "1fol0 inter-olator follo'e0 by an M 1fol0 0eci+ator. Several
i0entities are are use0 for analysis of +ultirate syste+s .C .*e noble identities
are use0 to transfer 0elay ele+ents fro+ t*e in-ut of a 0eci+atorFe/-an0er
to its out-ut% as illustrate0 in Ii,. 4.4A. !ote t*at # 0elay ele+ents are
eBuivalent to n>M 0elay ele+ents after 0o'nsa+-lin, or nL 0elay ele+ents
after u-sa+-lin,.
L
L
2+ INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
;@nF 1lliJ111
y. @nF
=
"Q;
WXXI
;@nF
I @nF
Fig. 4.4= .*e e/-an0er an0 its functionality.
Fig. 4.4A .*e noble i0entities for +ultirate syste+s.
1.2.1/ 0avelets and Filter 1an2s
Wavelet transfor+ is use0 in s-eec* an0 i+a,e co+-ression O4;P%O4=P. In
'avelet analysis% si,nals are re-resente0 usin, a set of basis functions >'avelets?
0erive0 by s*iftin, an0 scalin, a sin,le -rototy-e function% referre0 to as
G+ot*er 'aveletG% in ti+e. .*e 'avelet transfor+ can be vie'e0 as a 0eco+1
-osition of a si,nal in t*e ti+e1scale >freBuency? -lane.
ne 0i+ensional 0iscrete 'avelet transfor+ ><W.? of "*n+ is 0efine0 as
66
Ki*n+ E "*-+hi*,i9ln - -+, for 6 M i I -
;%
-.-oo
66
#+1I *n+ E "*-+h
m
C
1
>;
+
1
I
n 1 -+, for i Q + 1 4% >4.@A?
-.-oo
'*ere t*e s*ifte0 an0 scale0 versions of t*e +ot*er 'avelet h*n+, :h
i
*,
i
*
I
n-
'$) for 6 M i I+ -2. 166 R ' R ooW are t*e basis functions% an0 Ki*n+
are
L
L
T
T
TYPICAL DSP ALGORITHMS 2-
T
T T
T T T
T
T T T
I r1111l #+1I >n?
I
; J @nF .----. t
I
>a? >b?
Fig. 4.4@ >a? Analysis filter ban(. >b? Synt*esis filter ban(.
t*e 2a!elet coefficients) .*e inverse transfor+ is co+-ute0 as follo'sC
m-, 66
"*n+ Q L L Ki*-+Ri*n - ,
i
*
1
-+
iQ -.-oo
66
* #+1l *-+Rm-l *n - ;
+
1
4
-+, *')HH+
-.-oo
'*ere :Ri*n - ,
i
*
1
-+; are 0esi,ne0 suc* t*at >4.@@? -erfectly reconstructs t*e
ori,inal si,nal "*n+) !ote t*at t*e co+-utations in <W. an0 inverse <W.
>I<W.? are si+ilar to convolution o-erations. In fact% t*e <W. an0 I<W.
can be calculate0 recursively as a series of convolutions an0 0eci+ations an0
can be i+-le+ente0 usin, filter ban(s.
A 0i,ital Filter ban- is a collection of filters 'it* a co++on in-ut >referre0
to as t*e analysis filter ban(? or a co++on out-ut >referre0 to as t*e synt*esis
filter ban(?. Ii,. 4.4@ s*o's bloc( 0ia,ra+s of an analysis filter ban( >-art
>a?? an0 a synt*esis filter ban( >-art >b??. Iilter ban(s are ,enerally use0 for
subban0 co0in,% '*ere a sin,le si,nal "*n+ is s-lit into + subban0 si,nals in
t*e analysis filter ban(K in t*e synt*esis filter ban(% + in-ut subban0 si,nals
are co+bine0 to reconstruct t*e si,nal &% #$.
&onsi0er t*e co+-utation of t*e 0iscrete 'avelet transfor+ for + Q A usin,
filter ban(s. .*e 'avelet coefficients
66
yo*n+ Q "*-+ho*,n - -+,
-.-oo
&F-l*-+g*,n - -+ E Lg*-+sF-l*,n - -+
k k
21 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
;@nF
;@nF
@aF @%F
Fig. 4.49 Analysis >a? an0 synt*esis >b? filter ban(s for <W. an0 I<W..
66
#l *n+
Q
L
"*-+h
1
*<n - -+,
*E-oo
66
K,*n+
Q
L "*-+h,*Sn - -+,
-.-oo
66
K8*n+
Q
L "*-+h8*Sn - -+ >4.@9?
-.-oo
can be co+-ute0 usin, t*e analysis filter ban( 'it* 0eci+ators in Ii,. 4.49>a?.
.*e si,nal "*n+ can t*en be reconstructe0 t*rou,* inverse 'avelet transfor+
usin, inter-olators an0 synt*esis filter ban(% as s*o'n in Ii,. 4.49>b?.
In -ractice% t*e 0iscrete 'avelet transfor+ -erio0ically -rocesses M in1
-ut sa+-les every ti+e an0 ,enerates M out-ut sa+-les at various freBuency
ban0s% '*ere M Q ;

an0 + is t*e nu+ber of ban0s or levels of t*e 'avelet. It
is often i+-le+ente0 usin, a tree-structured filter ban(% '*ere t*e M 'avelet
coefficients are co+-ute0 t*rou,* lo,; M octave levels an0 eac* octave -er1
for+s one lo'1-ass an0 one *i,*1-ass filterin, o-erations. At eac* octave
level K) an in-ut seBuence &F-l *n+ is fe0 into lo'1-ass an0 *i,*1-ass filters
g*n+ an0 h*n+, res-ectively. .*e out-ut fro+ t*e *i,*1-ass filter h*n+ re-re1
sents t*e 0etail infor+ation in t*e ori,inal si,nal at t*e ,iven level K) '*ic*
is 0enote0 by 2F*n+, an0 t*e out-ut fro+ t*e lo'1-ass filter g*n+ re-resents
t*e re+ainin, >coarse? infor+ation in t*e ori,inal si,nal% '*ic* is 0enote0 as
sF*n+) .*e co+-utation in octave K can be e/-resse0 as follo'sC
&F*n+ Q L
DSP APPLICATION DEMANDS AND SCALED CMOS TECHNOLOGIES 24
6K%#$ E L SK(l %'$"%2# ( '$ Q L "%'$SK9l %2# ( '$) %1.-4$
' '
'*ere # is t*e sa+-le in0e/ an0 K is t*e octave in0e/. Initially% NL%#$ Q x%#$.
Ii,. 4.47 s*o's t*e bloc( 0ia,ra+ of a =1octave tree1structure0 <W.. It is
'ort* -ointin, out t*at since eac* filtere0 out-ut is 0eci+ate0 by a factor of
;% only si,nals t*at are not t*ro'n a'ay nee0 to be co+-ute0. Ior e/a+-le%
consi0er an + Q lo,; M 1level 'avelet 'it* an in-ut seBuence containin, M
sa+-les >assu+e M is -o'er of ;?. .*e total nu+ber of sa+-les ,enerate0 at
t*e out-ut of t*e 4st octave is M *M F; out-uts fro+ *i,*1-ass filter an0 M >,
fro+ lo'1-ass filter?K t*e total nu+ber of sa+-les ,enerate0 at ;n0 octave is
M>,# t*e =r0 octave is M><, etc. Hence in t*is rn1level 'avelet% t*e total
nu+ber of sa+-les t*at nee0s to be co+-ute0 for every M in-uts eBuals
M D M>, D M>< D ... D ; Q ,*M - 4?.
>4.@8? Ior t*is -erio0ic 'avelet co+-utation 'it* M in-ut sa+-les% t*e
nu+ber of
sa+-les co+-ute0 every sa+-le -erio0 is ,*M - l+>M or ;>4 1 l>M+ *'<J)
.*e t'o analysis filter ban(s in Ii,. 4.49>a? an0 Ii,. 4.47>a? carry out t*e
sa+e functions. Usin, noble i0entities% t*e transfer function of t*e analysis
filters in Ii,. 4.47>a? can be e/-resse0 in ter+s of "%#$ an0 g%#$ as follo'sC
3o*4+ Q 3*4+, 3'*4+ Q B*P+3*P,+,
3
,
*4+ E B*4+B*4,+3*4<+, 38*P+ E B*P+B*P,+B*4<+, %1.->$
'*ere 3o*4+ is a *i,*1-ass filter% 3'*4+ an0 3
,
*4+ are ban0-ass filters% an0
38*P+ is a lo'1-ass filter. .*e 'i0t* of t*e -assban0 of t*ese filters 0ecreases
fro+ 3o*4+ to 38*P+, an0 *ence 'avelet transfor+ can also be vie'e0 as
nonunifor+ subban0 co0in,.
1.3 DSP APPLICATION DMANDS AND SCALD CMOS
TCHNOLOGIS
.*e fiel0 of E"SI <SP continues to be 0riven by t*e increasin, 0e+an0 of
<SP a--lications% -articularly in +ulti+e0ia an0 'ireless co++unications%
an0 by a0vances in scale0 &MS tec*nolo,ies. .*is section -resents t*e
co+-utation reBuire+ents nee0e0 in 0i,ital vi0eo -rocessin, a--lications an0
in scale0 &MS E"SI tec*nolo,ies. It is s*o'n t*at vi0eo -rocessin, syste+s
reBuire co+-utation rates in t*e ran,e of 461466 LPsFsec >,i,ao-erations
-er secon0? an0% t*erefore% 0esi,n of t*ese syste+s is Buite c*allen,in,X
A color 0i,ital i+a,e consists of -icture ele+ents >-i/els?% '*ic* are re-re1
sente0 usin, t*ree -ri+ary color ele+ents% re0 >R?% ,reen >L? an0 blue >B?.
.*e RLB re-resentation is converte0 to YUO re-resentation base0 on *u+an
2, INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
octave 4 octave ; octave =
>a?
'I >6?
'
;
@nF
' @nF
=
S = >6?
>b?
Fig. 4.47 Bloc( 0ia,ra+s of tree1structure0 analysis >a? an0 synt*esis filter ban(s >b?
D4(.
visual syste+s% '*ere Y stan0s for t*e lu+inance infor+ation an0 U an0 O
are t*e color 0ifferences bet'een K an0 blue% K an0 re0% res-ectively% an0
are calle0 c*ro+inances. A full1sa+-lin, of YUO is re-resente0 as A C A C A
sa+-lin, an0 t*e resultin, -i/el is re-resente0 usin, ;A bits% 8 bits for eac*
variable. Wit* AC A C A sa+-lin,% a elI >co++on inter+e0iate for+at? fra+e
'it* a fra+e si:e of ;88 / =@; -i/els an0 a fra+e rate of =6 fra+eFsec reBuires
stora,e of si:e ;.A== +e,abits >Mb? an0 t*e vi0eo source 0ata rate is 7;.55
MbFsec for a sin,le fra+e. Ior *i,*10efinition .E >H<.E? vi0eo 'it* a fra+e
si:e of 45;6 / 4;@6 -i/els an0 a fra+e rate of @6 fra+eFsec% one fra+e reBuires
stora,e si:e of @7.9 Mb an0 t*e vi0eo source 0ata rate of ;.88 ,i,abits -er
sec >LbFsec?. Wit* a seBuence of vi0eo containin, *un0re0s an0 t*ousan0s
of fra+es% stora,e an0 trans+ission in real1ti+e is i+-ossible 'it* to0ayHs
tec*nolo,y. In reality% vi0eo -i/els are 0o'nsa+-le0 an0 vi0eo fra+es are
co+-resse0 before t*ese are store0 or trans+itte0.
Hu+an eyes *ave fe'er rece-tors 'it* less s-atial resolution for color t*an
DSP APPLICATION DEMANDS AND SCALED CMOS TECHNOLOGIES 2>
Motion co+-ensator Q
3econstructed
Image
J
Fig. 4.48 Bloc( 0ia,ra+ of MPEL1; enco0er.
t*ose for lu+inance. Hence t*e c*ro+inance can be 0o'nsa+-le0 to re0uce
t*e source 0ata rate an0 fra+e stora,e si:e. .y-ically% a A C ; C ; or A C ; C 6
sa+-lin, is use0. In A C ; C ;% t*e lu+inance K is sa+-le0 for every -i/el%
'*ile t*e c*ro+inances U an0 O are sa+-le0 every ot*er -i/el *ori:ontally
resultin, in ==Y savin,s. In A C ; C 6% U an0 O are 0o'nsa+-le0 by *alf bot*
*ori:ontally an0 vertically% resultin, in @6Y savin,s.
Besi0es 0o'nsa+-lin,% vi0eo co+-ression is t*e (ey for re0uction in ban01
'i0t* reBuire+ent of source 0ata strea+s. Lenerally s-ea(in,% vi0eo se1
Buences contain si,nificant a+ount of s-atial an0 te+-oral re0un0ancy 'it*in
a sin,le fra+e an0 bet'een consecutive fra+es. MPEL% a vi0eo co++unica1
tion stan0ar0 0evelo-e0 by t*e Movin, Picture E/-erts Lrou-% re0uces t*e
bit1rate by e/-loitin, bot* t*e s-atial an0 te+-oral re0un0ancies t*rou,*
intra1 an0 interfra+e co0in, tec*niBues. .*e ulti+ate ,oal of MPEL stan1
0ar0 is to o-ti+i:e i+a,e or vi0eo Buality. for a s-ecifie0 bit rate subJect
to GobJectiveG or GsubJectiveG o-ti+i:ation criteria O4@P. Ii,. 4.48 s*o's t*e
bloc( 0ia,ra+ of t*e MPEL1; enco0in, -rocess% '*ere a te+-oral +otion1
co+-ensate0 -re0iction is follo'e0 by transfor+ co0in, of t*e re+ainin, s-a1
tial infor+ation an0 entro-y co0in, of t*e trans+itte0 seBuences are use0 toH
ac*ieve *i,* 0ata co+-ression rate O49P.
Usin, +otion1co+-ensate0 vi0eo co+-ression tec*niBue% 0i,ital vi0eo se1
Buences can be store0 an0 trans+itte0 in real ti+e. Ho'ever% t*ese so-*isti1
cate0 co+-ression tec*niBues involve substantial a+ount of co+-utations at
*i,* s-ee0. Ior e/a+-le% t*e co+-le/ity of a full1searc* bloc(1+atc*in, al,o1
rit*+ is -ro-ortional to 4 ?;$h$!7 o-erationsFsec% '*ere $h / $# is
t*e
fra+e si:e% D> - p is t*e searc* area an0 7 is t*e fra+e rate in fra+esFsec.
30 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
Ior a &II fra+e 'it* a fra+e si:e of ;88 / =@; -i/els% a fra+e rate of =6
fra+esFsec an0 a searc* ran,e of *l 2 7 -i/els% t*e full1searc* BMA reBuires
about ; LPsFsec. .*e reBuire0 nu+ber of o-erations ,ets even lar,er for
*i,*er resolution -ictures 'it* *i,*er fra+e rates an0 lar,er searc* ran,e.
Ior H<.E vi0eo 'it* a fra+e si:e of 45;6 / 4;@6 -i/els% a fra+e rate of
@6 fra+esFsec an0 a searc* ran,e of D49F 1 4@ -i/els% t*e full1searc* BMA
0e+an0s a co+-utation rate of about =98.9A LPsFsec. .*e <e. in vi0eo
co++unications is also very 0e+an0in,. .*e $ / $ ;<1<&. reBuires ,$8
+ulti-ly1a00 o-erations% or <$8 arit*+etic o-erations. Ior a &II fra+e 'it*
i+a,e bloc(s of si:e 8 / 8% t*e co+-utation reBuire+ent for ;<1<&. is 57.=;
MPsFsec >+e,ao-erations -er secon0?. Ior H<.E vi0eo 'it* i+a,e bloc(s
of. si:e 8 / 8% t*e co+-utation reBuire+ent for ;<1<&. is =.8A LPsFsec.
.*ese *i,* -rocessin, reBuire+ents can only be +et usin, -arallel -rocessin,
tec*niBues 'it* carefully 0esi,ne0 *ar0'are an0 soft'are. <esi,n an0 i+-le1
+entation of vi0eo co+-ression an0 +ulti+e0ia si,nal -rocessin, syste+s is
a +aJor c*allen,e.
&o+-le/ity of 0i,ital si,nal -rocessin, *as not only been 0riven by t*eo1
retical a0vances% but also by t*e ra-i0 a0vances in t*e scale0 &MS E"SI
tec*nolo,ies. .*e 0ra+atic increase in t*e inte,ration levels in recent years
*as le0 to an increase in t*e nu+ber of -ossible <SP a--lications t*at can be
inte,rate0 onto sin,le c*i-s. In -revious years t*e focus of t*e increase0 in1
te,ration levels 'as to 0esi,n 0e0icate0 >or a--lication1s-ecific? arc*itectures
for *i,*1-erfor+ance <SP a--lications. .*is tren0 still continues to0ay as
+ore co+-le/ <SP an0 i+a,eFvi0eo -rocessin, al,orit*+s are i+-le+ente0
on sin,le c*i-s. Ior e/a+-le% current sub+icron tec*nolo,y allo's a sin,le
c*i- to be 0esi,ne0 t*at can -erfor+ real1ti+e MPEL1; +otion esti+ation
>'*ic* reBuires a--ro/i+ately 461=6 LPsFsec?. An e/a+-le is a c*i- fro+
!E& O47P t*at contains =.7M transistors an0 *as a -ea( -erfor+ance of 4;
LPsFsec. "ately a secon0 tren0 *as been ,ainin, +ore +o+entu+ '*ere
<SP syste+s are i+-le+ente0 usin, -ro,ra++able <SPs an0 +icro-roces1
sors s-eciali:e0 for +e0ia -rocessin,. .*is tren0 is -ri+arily 0riven by t*e
0e+an0 for 0ecrease0 ti+e1to1+ar(et an0 +ore -ortabilityF+obility.
.*e 0esi,n of co+-le/ +ulti+e0ia syste+s *as beco+e -ossible 0ue to t*e
a0vances in scale0 E"SI tec*nolo,ies. It is -re0icte0 t*at t*e &MS tec*1
nolo,y 'ill scale 0o'n to 6.67J.t+10evices 'it* corres-on0in, i+-rove+ents
in 0ensity% s-ee0% an0 cost as s*o'n in .able 4.; O48?. !ote t*at t*e nu+ber
of transistors on sin,le c*i-s is e/-ecte0 to increase fro+ t*e current to
LMM by year ;646. .*e +ain c*allen,e to +aintainin, t*e -ace of scalin,
is t*e availability of a lar,e1fiel0 lit*o,ra-*ic tec*nolo,y. I! t*is is not avail1
able% +anufacturin, at *i,* yiel0s an0 lo' costs +i,*t be 0ifficult. -tical
lit*o,ra-*y +i,*t *ave to be use0 for tec*nolo,ies belo' M),HJ)tm) Ior tec*1
nolo,ies belo' M)'SJ)tm, even +ore 0ra+atic c*an,es in lit*o,ra-*ic syste+s
is reBuire0. .*e li+its of -ractical 0evice feasibility be,in to be seriously
c*allen,e0 at 0i+ensions of M)MHJ)tm 0ue to contact resistance an0 statistically
si,nificant 0o-ant 0istribution fluctuations.
RQPRQ&Q$T=TI1$& 17 D&P =LB1RIT3M& 8'
Table 4.; &*aracteristics of Scale0 &MS .ec*nolo,ies
#ear of first <RAM s*i-+ent 4558 ;664 ;66A ;646
Mini+u+ feature si:e %:.;=$ 6.;@ 6.48 6.4= 6.67
Me+ory
BitsFc*i- ><RAMFIlas*? ;@9M 4L AL 9AL
&ostFbit2volu+e >+illicents? 6.667 6.66= 6.664 6.666;
"o,ic >*i,*1volu+eC +icro-rocessor?
"o,ic translstorsFcnrH >-ac(e0? 7M 4=M ;@M 56M
BitsFc+
/
>cac*e SRAM?
&ost Ftransistor2volu+e >+illicents?
9M
6.@
;6M
6.;
@6M
6.4
=66M
6.6;
"o,ic >lo'1volu+e ASI&?
.ransistorsFc+
/
>auto layout?
!on1recurrin, en,ineerin,
costFtransistor >+illicents?
AM
6.4
7M
6.6@
4;M
6.6=
A6M
6.64
It is also interestin, to observe t*e evolution of a--lications as s*o'n in
Ii,. 4.45 >45P. .*is fi,ure s*o's t*at t*e a--lications li(e 0es(to- vi0eo
t*at 'ere -ri+arily i+-le+ente0 usin, a--lication1s-ecific inte,rate0 circuits
>ASI&s? are no' bein, e/ecute0 by -ro,ra++able <SPs >P<SPs?. .*erefore%
t*ere is a ,eneral s*ift in t*e nature of a--lications fro+ ASI& to P<SP to
+icro-rocessors to fiel01-ro,ra++able ,ate arrays >IPLAs?. Anot*er 'ay to
loo( at it is t*at as tec*nolo,y i+-roves t*e GbestG i+-le+entation of a ,iven
function 'ill +ove fro+ ASI& to <SP to +icro-rocessor to IPLA 'it* ti+e.
1.! RPRSNTATIONS OF DSP ALGORITHMS
<SP al,orit*+s are 0escribe0 by nonterminating programs '*ic* e/ecute t*e
sa+e co0e re-etitively. Ior e/a+-le% a =1ta- IIR 0i,ital filter 0escribe0 by
t*e non1ter+inatin, -ro,ra+
y*n+ QQ a"*n+ D b"*n - 4? D c"*n - ;? for n Q 4 to n QQ 66.
>4.96? E/ecution of all t*e co+-utations in t*e al,orit*+ once ifZ referre0
to as
an iteration) .*e iteration period is t*e ti+e reBuire0 for e/ecution of one
iteration of t*e al,orit*+. .*e iteration rate is t*e reci-rocal of t*e iteration
-erio0. <urin, eac* iteration% t*e =1ta- IIR filter in >4.96? -rocesses one in-ut
si,nal% co+-letes = +ulti-lication an0 ; a00ition o-erations >in serial or in
-arallel?% an0 ,enerates 4 out-ut sa+-le. <SP syste+s are also c*aracteri:e0
by t*e sampling rate >also referre0 to as throughput+ in ter+s of nu+ber of
sa+ -les -rocesse0 -er secon0. .*e critical path of a co+binational lo,ic circuit
32 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
ReBuire0
MIPS
1985 1990 1995 ;666 ;66@
Fig. 4.45 Evolution of a--lications.
is 0efine0 as t*e lon,est -at* bet'een in-uts an0 out-uts% '*ere t*e len,t*
of a -at* is -ro-ortional to its co+-utation ti+e. <SP syste+s ,enerally
are i+-le+ente0 usin, seBuential circuits% '*ere t*e critical -at* is 0efine0
as t*e lon,est -at* bet'een any t'o stora,e ele+ents >or 0elay ele+ents?.
.*e critical -at* co+-utation ti+e 0eter+ines t*e +ini+u+ feasible cloc-
period of a <SP syste+. .*e latency is 0efine0 as t*e 0ifference bet'een t*e
ti+e an out-ut is ,enerate0 an0 t*e ti+e at '*ic* its corres-on0in, in-ut
'as receive0 by t*e syste+. Ior syste+s containin, co+binational lo,ic only%
latency is usually re-resente0 in ter+s of absolute ti+e units% or t*e nu+ber
of ,ate 0elaysK for seBuential syste+s% latency is usually re-resente0 in ter+s
of nu+ber of cloc( cycles. Lenerally% t*e cloc( rate of a <SP syste+ is not
t*e sa+e as its sa+-lin, rate.
<SP al,orit*+s are 0escribe0 usin, +at*e+atical for+ulations at a *i,*er
level '*ere it is +ore i+-ortant to s-ecify t*e functionality of t*e syste+
t*an t*e or0er an0 structure of t*e internal o-erations. Ior arc*itectural
0esi,n% t*ese +at*e+atical for+ulations nee0 to be converte0 to be*avioral
0escri-tion lan,ua,es or ,ra-*ical re-resentations.
.*e be*avioral 0escri-tion lan,ua,es inclu0e a--licative lan,ua,es% -re1
scri-tive lan,ua,es% an0 0escri-tive lan,ua,es. .*e applicati!e languages re-1
resent a set of eBuations t*at are satisfie0 by t*e variables in t*e al,orit*+%
rat*er t*an a seBuence of actions >assi,n+ents to be carrie0 out% i.e.% t*e or1
0er of t*e assi,n+ent state+ents is not i+-ortant?. A--licative lan,ua,es are
-o-ular for t*e 0escri-tion of <SP syste+s. Ior e/a+-le% t*e Sila,e lan,ua,e
O;6? use0 in t*e &at*e0ral synt*esis tool O;4? is a--licative. .*e prescripti!e
languages e/-licitly s-ecify t*e or0er of t*e assi,n+ent state+ents. So+e e/1
a+-les of t*ese ty-es of lan,ua,es inclu0e *i,*1level -ro,ra++in, lan,ua,es
REPRESENTATIONS OF DSP ALGORITHMS 33
suc* as Pascal% &% or Iortran. More recently% +any a--lications are bein, 0e1
fine0 usin, descripti!e languages t*at re-resent t*e structure of a <SP syste+.
E/a+-les of t*ese are t*e *ar0'are 0escri-tion lan,ua,es suc* as Eerilo, or
EH<" O;;P%O;=P.
Lra-*ical re-resentations are efficient for investi,atin, an0 analy:in, 0ata
flo' -ro-erties of <SP al,orit*+s an0 for e/-loitin, t*e in*erent -arallelis+
a+on, 0ifferent subtas(s. More i+-ortantly% ,ra-*ical re-resentations can be
use0 to +a- <SP al,orit*+s to *ar0'are i+-le+entations. Hence% t*ese re-1
resentations can bri0,e t*e ,a- bet'een al,orit*+ic 0escri-tions an0 struc1
tural i+-le+entations. .*e absolute +easures of t*e -erfor+ance +etrics
of <SP syste+s% area% s-ee0% -o'er% an0 roun0off noise cannot be obtaine0
'it*out t*e (no'le0,e of t*e su--ortin, tec*nolo,y in '*ic* t*e syste+ is
i+-le+ente0. Ho'ever% t*e ,ra-*ical re-resentations e/*ibit all t*e -aral1
lelis+ an0 0ata10riven -ro-erties of t*e syste+% an0 -rovi0e insi,*t into s-ace
an0 ti+e tra0eoffs. Wit* ,ra-*ical re-resentations% t*e arc*itectural 0esi,nH
s-ace can be e/-lore0 an0 an a--ro-riate arc*itecture can be selecte0 in a
tec*nolo,y1in0e-en0ent +anner.
.*is section a00resses four ty-es of ,ra-*ical re-resentations of <SP al,o1
rit*+sK t*ese inclu0e bloc( 0ia,ra+% si,nal1flo' ,ra-* >SIL?% 0ata1flo' ,ra-*
><IL? an0 0e-en0ence ,ra-* ><L? re-resentations% all of '*ic* are 0escribe0
by 0irecte0 ,ra-*s. .*ese re-resentations 0escribe t*e al,orit*+s at various
levels of abstraction. In ,eneral% t*e <L e/*ibits t*e in*erent -arallelis+
an0 0ata1flo' constraints in an al,orit*+ to t*e +a/i+u+ e/ten0 an0 *as
t*e least structural biasK t*e -arallelis+ in a <L can be e/-loite0 in various
'ays by +a--in, it to SIL or <IL. In -ractice% <L is use0 for systolic array
0esi,n. SIL an0 <IL are use0 for analy:in, structural -ro-erties an0 to
e/-lore arc*itectural alternatives usin, *i,*1level transfor+ations >;AP.
1.4.1 1loc2 Diagrams
Bloc( 0ia,ra+s are +ost freBuently use0 to ,ra-*ically re-resent <SP sys1
te+s. All t*e <SP al,orit*+s in Section 4.; are illustrate0 usin, bloc( 0ia1
,ra+s. A bloc( 0ia,ra+ consists of functional bloc(s connecte0 'it* 0irecte0
e0,es% '*ic* re-resent t*e 0ata flo' fro+ its in-ut bloc( to its out-ut bloc(.
.*ese e0,es +ayor +ay not contain 0elay ele+ents. Bloc( 0ia,ra+s can be
constructe0 for all syste+s 'it* 0ifferent levels of abstraction.
Ior e/a+-le% t*e =1ta- IIR filter
y*n+ E bo"*n+ D b'"*n - 4? D b4"*n - ;?
>4.94?
can be 0escribe0 usin, t*e bloc( 0ia,ra+ in Ii,. 4.;6% '*ic* consists of t'o
ty-es of functional bloc(s% I a00er I an0 I+ulti-lier %. .*e% unit10elay ele+ents
can also be treate0 as functional bloc(s as t*ey are i+-le+ente0 usin, re,isters
in reality. .*e unit10elay ele+ent is 0enote0 as IY-l I >or KAHF in Ii,. 4.;6.
3+ INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
;@nF
y>n?
O unit 0elay?
iVE>nl?%
% -Z
U
-- %;@nF
> +ulti-lier O
/l>n?
;/@nF
-5-
/l>n? D /;>n?
@
a00er
J
) Fig. 1.20 Bloc( 0ia,ra+ of a =1ta- IIR filter.
A syste+ can be re-resente0 usin, various bloc( 0ia,ra+s% eac* of '*ic*
re-resents a 0ifferent i+-le+entation of t*e sa+e functionality. Ior e/a+-le%
t*e =1ta- IIR filter in >4.94? can also be re-resente0 usin, t*e bloc( 0ia,ra+
in Ii,. 4.;4% '*ic* is referre0 to as a data-broadcast structure.
A bloc( 0ia,ra+ is a concrete +o0el t*at ca-tures t*e e/act functionality
of a syste+. Eac* si,nal an0 functional unit are e/-resse0 e/-licitly in t*e
0ia,ra+. Earious bloc( 0ia,ra+s can be 0erive0 for t*e sa+e syste+ 'it*
0ifferent arran,e+ents lea0in, to 0ifferent 0istinct reali:ations.
1.!.2 Sig"al#Fl$% Gra&'
A si,nal1flo' ,ra-* >SIL? is a collection of no0es an0 0irecte0 e0,es O;@J. .*e
no0es re-resent co+-utations or tas(s. A 0irecte0 e0,e >J% '$ 0enotes a branc*
ori,inatin, fro+ no0e W an0 ter+inatin, at no0e -, Wit* in-ut si,nal at no0e
J an0 out-ut si,nal at no0e ') t*e e0,e >J% '$ 0enotes a linear transfor+ation
fro+ t*e si,nal at no0e F)to t*e si,nal at no0e '. SILs *ave been use0 for t*e
analysis% re-resentation% an0 evaluation of linear 0i,ital net'or(s% es-ecially
0i,ital filter structures. In 0i,ital net'or(s% t*e e0,es are usually restricte0 to
REPRESENTATIONS OF DSP ALGORITHMS 3-
;@nF
yen?
Fig. 4.;4 Bloc( 0ia,ra+ of a =1ta- 0ata1broa0cast IIR filter.
constant ,ain +ulti-liers >t*e out-ut of t*e e0,e is a constant +ulti-le of t*e
in-ut si,nal?% or 0elay ele+ents >t*e out-ut of t*e e0,e is a 0elaye0 version
of t*e in-ut si,nal?. A00ers an0 +ulti-liers can be 0escribe0 by a no0e 'it*
+ulti-le inco+in, e0,es an0 one out,oin, e0,e. .*ere are ; s-ecial ty-es of
no0es in an SIL% source no0es an0 sin( no0es. A source node is a no0e 'it*
no enterin, e0,es% an0 is use0 to re-resent t*e inJection of e/ternal in-uts
into a ,ra-*. A sin- node is a no0e 'it* only enterin, e0,es% an0 is use0 to
e/tract out-uts fro+ a ,ra-*. .*e SIL of t*e 0irect1for+ =1ta- IIR filter
>corres-on0in, to t*e bloc( 0ia,ra+ in Ii,. 4.;6? is s*o'n in Ii,. 4.;;>a?%
'*ere an e0,e 'it* no e/-licit in0ication of o-eration in0icates an e0,e 'it*
unit1,ain >i0entity transfor+ation?. !ote t*at t*e source an0 sin( no0es in
t*is SIL are connecte0 to t*e rest of t*e ,ra-* t*rou,* unit1,ain e0,es in
or0er to c.learly%s*o' t*e in-ut an0 out-ut of t*e syste+.
"inear SILs can be transfor+e0 into 0ifferent for+s 'it*out c*an,in,
t*e syste+ functions. 7lo2 graph re!ersal or transposition is one of t*ese
transfor+ations an0 is a--licable to sin,le1in-ut1sin,le1out-ut syste+s to
obtain eBuivalent trans-ose0 structures. .rans-osition of an SIL is carrie0
out by reversin, t*e 0irections of all t*e e0,es% e/c*an,in, t*e in-ut an0
out-ut no0es '*ile (ee-in, t*e e0,e ,ain or e0,e 0elay unc*an,e0. .*e
resultin, SIL +aintains t*e sa+e syste+ functionality. Ii,. 4.;;>b? s*o's
t*e 0erivation of t*e trans-ose IIR filter SIL >corres-on0in, to t*e 0ata1
broa0cast bloc( 0ia,ra+ in Ii,. 4.;4? fro+ t*e 0irect1for+ SIL. .*e rea0er
can verify t*at t*e 0ata1broa0cast sy++etric IIR filter in Ii,. 4.4>b? can
be 0erive0 fro+ Ii,. 4.4>a? by trans-osition. .rans-ose o-erations are also
a--licable to +ulti-le1in-ut +ulti-le1out-ut >MIM? syste+s 0escribe0 by
sy++etric transfor+ation +atrices >see &*a-ter 5?.
SILs -rovi0e an abstract flo',ra-* re-resentation of linear net'or(s an0
*ave been e/tensively use0 in 0i,ital filter structure 0esi,n an0 analysis of
finite 'or0len,t* effects. In ,eneral% SILs are only a--licable to linear net1
'or(sK t*ey cannot be use0 to 0escribe +ultirate <SP syste+s.
36 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
x(n)
-1 -1
: :
source
8----RP
node
bO bl b2
>a?
y(n)
-1 -1
:
.-..
:
y(n)
HGH
sin- node
PIMP
bO bl b2
x(n)
-8
x(n)
b2 bl bO
-1 -1
: :
>b?
y(n)
7ig) 4.;; An SIL of a =1ta- IIR filter. >a? <irect1for+ IIR filter SILK >b? trans-ose0
IIR filter SIL.
1.4.4 Data5Flo6 7raph
In 0ata1flo' ,ra-* ><IL? re-resentations% t*e no0es re-resent co+-utations
>or functions or subtas(s? an0 t*e 0irecte0 e0,es re-resent 0ata -at*s >co+1
+unications bet'een no0es? an0 eac* e0,e *as a nonne,ative nu+ber of 0e1
lays associate0 'it* it. Ior e/a+-le% Ii,. 4.;=>b? is a 0ata1flo' ,ra-* of t*e
co+-utation y*n+ Q ay*n - 4? D "*n+, '*ere no0e A re-resents a00ition an0
no0e D re-resents +ulti-lication% t*e e0,e fro+ = to D >0enote0 as = 1t D+
contains one 0elay an0 t*e e0,e fro+ P to A %P 1t A$ contains no 0elay.
Associate0 'it* eac* no0e is its e/ecution ti+e in ter+s of nor+ali:e0 ti+e
units >u.t.K units of ti+e?. Ior e/a+-le% t*e e/ecution ti+e of no0e A is ;
u.t. an0 t*e e/ecution ti+e of no0e D is A u.t.% as s*o'n in Ii,. 4.;=>b?. .*e
iteration -erio0 of t*is <IL eBuals 9 u.t.
.*e 0ata1flo' ,ra-* ca-tures t*e data-dri!en -ro-erty of <SP al,orit*+s
REPRESENTATIONS OF DSP ALGORITHMS
37
'@nF
>;?
D
I I
B
>A? >A?
a
>a? >b? @cF
7ig)4.;= >a? Bloc( 0ia,ra+ 0escri-tion of t*e co+-utation y*n+ Q ay*n -2F 9"*n+)
>b? &onventional <IL re-resentation. >c? Sync*ronous<IL re-resentation.
'*ere any no0e can fire >-erfor+ its co+-utation? '*enever all t*e in-ut 0ata
are available. .*is i+-lies t*at a no0e 'it* no in-ut e0,es can fire at any
ti+eK t*us +any no0es can be fire0 si+ultaneously% lea0in, to concurrency.
&onversely% a no0e 'it* +ulti-le in-ut e0,es can only fire after all its -rece1
0ent no0es *ave fire0. .*e latter case i+-oses t*e -rece0ence constraints
on a <IL% '*ere eac* e0,e 0escribes a -rece0ence constraint bet'een t'o
no0es. .*is -rece0ence constraint is an intra-iteration precedence constraint
if t*e e0,e *as :ero 0elays or an inter-iteration precedence constraint if t*e
e0,e *as one or +ore 0elays. .o,et*er% t*e intra1iteration an0 inter1iteration
-rece0ence constraints s-ecify t*e or0er in '*ic* t*e no0es in t*e <IL can
be e/ecute0. Ior e/a+-le% t*e e0,e fro+ no0e = to no0e D in Ii,. 4.;=>b?
enforces t*e inter1iteration -rece0ence constraint% '*ic* states t*at t*e e/1
ecution of t*e (1t* iteration of A +ust be co+-lete0 before t*e %' D 4?1t*
iteration of P. .*e e0,e fro+ P to A enforces t*e intra1iteration -rece0ence
constraint% '*ic* states t*at t*e (1t* iteration of D +ust be e/ecute0 before
t*e (1t* iteration of A.
<ILs% as 'ell as bloc( 0ia,ra+s% can be use0 to 0escribe bot* linear sin,le1
rate an0 nonlinear +ultirate <SP syste+s. .*e bloc( 0ia,ra+ 0escri-tion is
closer to actual *ar0'are arc*itectures '*ere t*e si,nal -rocessin, functions
are re-resente0 usin, functional units >bloc(s?. .*e <IL% on t*e ot*er *an0%
0escribes t*e 0ata flo' a+on, subtas(s >or ele+entary co+-utations +o0ele0
as no0es? in a si,nal -rocessin, al,orit*+. Earious <ILs 0erive0 for one
al,orit*+ can be obtaine0 fro+ eac* ot*er t*rou,* *i,*1level transfor+ations
>;A?. Ii,. 4.;A s*o's t*e <ILs for t*e =1ta- IIR filter in >4.94?. Ii,. 4.;A>a?
is obtaine0 fro+ t*e 0irect1for+ bloc( 0ia,ra+ in Ii,. 4.;6 an0 Ii,. 4.;A>b?
is obtaine0 fro+ t*e trans-ose for+ bloc( 0ia,ra+ in Ii,. 4.;4. <ILs are
,enerally use0 for *i,*1level synt*esis to 0erive concurrent i+-le+entations
of <SP a--lications onto -arallel *ar0'are% '*ere subtas( sc*e0ulin, an0
resource allocation are of +aJor concerns >a schedule 0eter+ines '*en an0 in
'*ic* *ar0'are units no0es can be e/ecute0?.
.*e no0es in a <IL can be as si+-le as ele+entary in0ivisible o-erations
suc* as a00ition or basic lo,ic o-erations. Suc* <ILs are sai0 to be atomic)
I! t*e ,ranularity is at t*e level of si,nal -rocessin, subtas(s suc* as filterin,%
3, INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
;@nF D
'@nF
>a?
(4)
D
'@nF
@%F
Fig. 4.;A >a? <IL of a 0irect1for+ =1ta- IIR filter. >b? <IL for trans-ose0 =1ta-
IIR filter.
t*e <IL is a coarse-grain 0ata1flo' ,ra-*.
A synchronous 0ata1flo' ,ra-* >S<IL? is a s-ecial case of 0ata1flo' ,ra-*
>eit*er ato+ic or coarse1,rain? '*ere t*e nu+ber of 0ata sa+-les -ro0uce0
or consu+e0 by eac* no0e in eac* e/ecution is s-ecifie0 a priori O;9?. Ior
e/a+-le% Ii,. 4.;=>c? is a sync*ronous 0ata1flo' ,ra-* for t*e co+-utation
y*n+ Q ay*n -2F 9"*n+, '*ic* e/-licitly s-ecifies t*at one e/ecution of bot*
no0es = an0 D consu+es one 0ata sa+-le an0 -ro0uces one out-ut. .*is
0escribes a sin,le1rate syste+. .*e S<IL can 0escribe +ultirate syste+s
in a si+-le 'ay. Ior e/a+-le% Ii,. 4.;@>a? s*o's an S<IL re-resentation
of a +ultirate syste+% '*ere no0es =, D, an0 C are o-erate0 at 0ifferent
freBuencies f=, fD, an0 Eo, res-ectively. !ote t*at A -rocesses f= in-ut
sa+-les -er ti+e unit an0 -ro0uces 8f = out-ut sa+-les -er ti+e unit. !o0e
D consu+es @ in-ut sa+-les 0urin, eac* e/ecution% *ence consu+es HfD in-ut
sa+-les -er ti+e unit. Usin, t*e eBuality 8f= Q HfD, 'e *ave fD Q 8f=>H)
Si+ilarly% t*e o-eratin, rate of no0e C can be co+-ute0 as 7Q Q ,fD>8 .
,f =>H) Ior a s-ecifie0 in-ut sa+-lin, rate% t*e o-eratin, freBuencies for no0es
=, D, an0 C can be co+-ute0. Ho'ever% as 0escribe0 in Section ;.@% sin,le1
rate <ILs >SR<ILs? can also be use0 to re-resent +ultirate syste+s by
REPRESENTATIONS OF DSP ALGORITHMS 3>
;
@aF
>b?
Fig. 4.;@ Multirate <IL >in >a?? can be converte0 into sin,le1rate <IL >in >b??%
'*ic* can t*en be re-resente0 usin, linear SIL.
first unfol0in, >unrollin,? t*e +ultirate syste+s to sin,le rate. An eBuivalent
sin,le1rate <IL for t*e +ultirate <IL >MR<IL? in Ii,. 4.;@>a? is s*o'n in
Ii,. 4.;@>b?. Ho'ever% t*is sin,le1rate <IL contains 46 no0es an0 =6 e0,es%
as co+-are0 'it* = no0es an0 A e0,es in t*e S<IL re-resentation.
4.A.A De&e"(e")e Gra&'
A 0e-en0ence ,ra-* ><L? is a 0irecte0 ,ra-* t*at s*o's t*e 0e-en0ence of
t*e co+-utations in an al,orit*+. .*e no0es in a <L re-resent co+-utations
>0esi,nate0 as no0es? an0 t*e e0,es re-resent -rece0ence constraints a+on,
no0es. In a <L% a ne' no0e is create0 '*enever a ne' co+-utation is calle0
for in t*e al,orit*+ >-ro,ra+? an0 no no0e in a <L is ever reuse0 on a sin,le
co+-utation basis O;7P. <L re-resentation is si+ilar to <IL re-resentation
as it e/-licitly e/*ibits t*e 0e-en0ence of no0es on ot*er no0es in t*e ,ra-*.
.*e 0ifference is t*at t*e no0es in <IL only cover t*e co+-utations in one
iteration of t*e corres-on0in, al,orit*+ an0 t*ey are e/ecute0 re-etitively
fro+ iteration to iteration% '*ereas <L contains co+-utations for all itera1
tions in an al,orit*+. <ILs contain 0elay ele+ents t*at store an0 -ass 0ata
fro+ current iteration to subseBuent iterations '*ile <L 0oes not contain
0elay ele+ents. .*e =1ta- IIR filter in >4.94? is 0escribe0 usin, a ;<1<L in
Ii,. 4.;9.
?I.
+0 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
Vl
Yo
Y
2
Y/ Y3 Y5
6 ; A @
%P E%
/H *+
YP E 'D % /
'P
Fig. 4.;9 <ata 0e-en0ence ,ra-* for a =1ta- IIR filter &%#$ Q Lx%#$ D lx%# -2F D
3x%# ( ;?.
<e-en0ence ,ra-*s are use0 for systolic array 0esi,n% '*ere various i+1
-le+entations ><ILs or bloc( 0ia,ra+s? can be 0erive0 fro+ a sin,le <L by
e/-loitin, t*e -arallelis+ -resente0 in <L in 0ifferent 'ays >see &*a-ter 7?.
1., -OO. OUTLIN
.*e c*a-ters in t*is boo( -resent various a--roac*es to i+-rove t*e -erfor1
+ance c*aracteristics of <SP syste+s in ter+s of area% s-ee0% -o'er% an0
roun0off noise. &*a-ter 4 revie's various <SP al,orit*+s% -resents t*e co+1
-utation reBuire+ents of current <SP syste+s% an0 0escribes various re-re1
sentations of <SP al,orit*+s usin, bloc( 0ia,ra+s% si,nal flo' ,ra-*s% an0
0ata1flo' ,ra-*s. .*e re+ainin, c*a-ters can be ,rou-e0 into t*ree -arts.
.*e first -art of t*e boo( >c*a-ters ; to 7? a00resses several *i,*1level ar1
c*itectural transfor+ations t*at can be use0 to 0esi,n fa+ilies of arc*itectures
for a ,iven al,orit*+. .*ese transfor+ations inclu0e -i-elinin,% reti+in,% un1
fol0in,% fol0in,% an0 systolic array 0esi,n +et*o0olo,y. .*e secon0 -art of
t*e boo( >c*a-ters 8 to 4;? 0eals 'it* *i,*1level al,orit*+ transfor+ations
suc* as stren,t* re0uction% loo(1a*ea0 an0 rela/e0 loo(1a*ea0. Stren,t* re1
0uction transfor+ations are a--lie0 to re0uce t*e nu+ber of +ulti-lications
in convolution% -arallel finite i+-ulse res-onse >IIR? 0i,ital filters% 0iscrete
cosine transfor+s ><&.s?% an0 -arallel ran(1or0er filters. "oo(1a*ea0 an0 re1
la/e0 loo(1a*ea0 transfor+ations are a--lie0 to 0esi,n -i-eline0 0irect1for+
REFERENCES +1
an0 lattice recursive 0i,ital filters an0 a0a-tive 0i,ital filters% an0 -arallel
recursive 0i,ital filters. .*is -art of t*e boo( e/-loits t*e inter-lay bet'een
al,orit*+ 0esi,n an0 inte,rate0 circuit i+-le+entations. .*e t*ir0 -art of
t*e boo( >c*a-ters 4= to 48? a00resses arc*itectures for E"SI a00ition% +ul1
ti-lication% an0 0i,ital filters% an0 issues relate0 to *i,*1-erfor+ance E"SI
syste+ 0esi,n suc* as -i-elinin, styles% lo'1-o'er 0esi,n% an0 arc*itectures
for -ro,ra++able 0i,ital si,nal -rocessors.
Seven a--en0i/es in t*e boo( cover s*ortest -at* al,orit*+s t*at are use0
for 0eter+inin, t*e iteration boun0 an0 for reti+in,% sc*e0ulin, an0 allo1
cation tec*niBues use0 for 0eter+inin, t*e fol0in, sets for 0esi,n of fol0e0
arc*itecturesK Eucli0Hs ,reatest co++on 0ivisor >L&<? al,orit*+% '*ic* is
use0 for Wino,ra0Hs convolutionK ort*onor+ality of Sc*ur -olyno+ials% '*ic*
are use0 for 0esi,n of lattice 0i,ital filtersK fast bit1-arallel a00ition an0 +ul1
ti-licationK sc*e0ulin, for bit1serial syste+sK an0 coefficient Buanti:ation inF
IIR filters.
.*e tec*niBues use0 in t*is boo( can be use0 for *i,*1s-ee0% lo'1area an0
lo'1-o'er i+-le+entations of <SP syste+s for various a--lications suc* as
+ulti+e0ia O;8J% 'ire0 an0 'ireless co++unications.
RFRNCS
4. P. "a-sley% J. Bier% A. S*o*a+% an0 E. A. "ee% D&P Processor 7undamentals
=rchitectures and 7eatures) Elsevier% 455=.
;. A. E. --en*ei+ an0 R. W. Sc*afer% Discrete-Time &ignal Processing) Prentice
Hall% 4585.
=. S. Hay(in% =dapti!e 7ilter Theory) Prentice Hall% 4554.
A. J. L &*un, an0 [. [. Par*i% Pipelined Lattice and Aa!e Digital Recursi!e
7ilters) Klu'er% 4559.
@. M. ". Honi, an0 <. L. Messersc*+itt% =dapti!e 7ilters &tructures, =lgorithms
and =pplications) Klu'er% 458A.
9. !. A*+e0% .. !ataraJan% an0 K. R. Rao% G<iscrete cosine transfor+%G IQQQ
TI-ans) on Computers, --. 5615=% Jan. 457A.
7. P. Pirsc*% !. <e+assieu/% an0 W. &e*r(e% GE"SI arc*itectures for vi0eo co+1
-ression 1 a survey%G Proc) IQQQ, no. ;% --. ;;61;A@% Ieb. 455@.
8. L. A. <avison% P. R. &a--ello% an0 A. Lers*o% GSystolic arc*itectures for vec1
tor Buanti:ation%G IQQQ 'rans) on =coustics, &peech, and &ignal Processing,
vol. =9% --. 49@41499A% ct. 4588.
5. S. #. Kun,% %L&I =rray Processors) Prentice Hall% 4588.
46. L. <. Iorney% G.*e Eiterbi al,orit*+%G Proc) IQQQ, --. ;981;78% Marc* 457=.
44. R. Bell+an an0 S. <reyfus% =pplied Dynamic Programming) Princeton Univer1
sity Press% 459;.
+2 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
4;. P. P. Eai0yanat*an% Multirate Digital &ignal Processing) Prentice Hall% 455=.
4=. R. E. &roc*iere an0 ". R. Rabiner% Multirate Digital &ignal Processing) Prentice
Hall% 458=.
4A. . Rioul an0 M. Eetterli% GWavelets an0 si,nal -rocessin,%G IQQQ &ignal Pro-
cessing Maga4ine, --. 4A1=8% ct. 4554.
4@. .. Si(ora% GMPEL 0i,ital vi0eo1co0in, stan0ar0s%G IQQQ &ignal Processing
Maga4ine, --. 8;1466% Se-t. 4557.
49. B. B*att% <. Bir(s% an0 <. Her+rec(% G<i,ital televisionC +a(in, it 'or(%G
IQQQ &pectrum, --. 451;8% ct. 4557.
47. M. Mi:uno et al.% GA 4.@W sin,le1c*i- MPEL; MP2M" enco0er 'it* lo'1
-o'er +otion esti+ation an0 cloc(in,%G in Proc) of IQQQ International &olid
&tate Circuits Conference *I&&CCL0+, --. ;@91;@7% Ieb. 4557.
48. W. I. Brin(+an% G.*e transistorC @6 ,lorious years an0 '*ere 'e are ,o1
in,%G in Proc) of IQQQ International &olid &tate Circuits Conference *I&&CC+,
--. ;;1;9% Ieb. 4557.
45. B. Ac(lan0% GPro,ra++able +ulti+e0ia si,nal -rocessors%G in Circuits and &ys-
tems in the Information =ge >#.1I. Huan, an0 &.1H. Wei% e0s.?% --. ;=1=6%
IEEE Press% 4557.
;6. P. Hilfin,er% GA *i,*1level lan,ua,e an0 silicon co+-iler for 0i,ital si,nal -ro1
cessin,%G in Proc) of IQQQ Custom Integrated Circuits Conference, --. ;4=1;49%
458@.
;4. H. <e Man% J. Rabaey% P. Si/% an0 ". J. &laesen% G&at*e0ral1IIC a silicon
co+-iler for 0i,ital si,nal -rocessin,%G IQQQ Design and Test, vol. =% no. 9%
--. 4=1;@% <ec. 4589.
;;. A. Stoll an0 P. <u:y% GHi,*1level synt*esis fro+ EH<" 'it* e/act ti+in, con1
straints%G in Proc) of ,Lth =CM>IQQQ Design =utomation Conference, June
455;.
;=. S. A+ellal an0 B. Ka+ins(a% GIunctional synt*esis of 0i,ital syste+s 'it* tass%G
IQQQ 'rans) on Computer-=ided Design, vol. 4=% no. H@% --. @=71@@;% May 455A.
;A. [. [. Par*i% GAl,orit*+ transfor+ation tec*niBues for concurrent -rocessors%G
Proc) IQQQ, --. 48751485@% <ec. 4585.
;@. R. E. &roc*iere an0 A. E. --en*ei+% GAnalysis of linear 0i,ital net'or(s%G
Proc) IQQQ, no. A% --. @841@5@% A-r. 457@.
;9. E. A. "ee an0 <. L. Messersc*+itt% GSync*ronous 0ata flo'%G Proc) IQQQ, spe-
cial issue on hard2are and soft2are for digital signal processing, --. 4;=@14;A@%
Se-t. 4587.
;7. J. Allen% G&o+-uter arc*itecture for 0i,ital si,nal -rocessin,%G Proc) IQQQ,
no. @% --. 8@;187=% May 458@.
;8. [. [. Par*i an0 .. !is*itani% e0s.% Digital &ignal Processing for Multimedia
&ystems) Marcel <e((er% 4555.
/
Iteration Bound
2.1 INTRODUCTION
Many <SP al,orit*+s suc* as recursive an0 a0a-tive 0i,ital filters contain
fee0bac( loo-s% '*ic* i+-ose an in*erent fun0a+ental lo'er boun0 on t*e
ac*ievable iteration or sa+-le -erio0. .*is boun0 is referre0 to as t*e iter1
ation -erio0 boun0% or si+-ly t*e iteration boun0. .*e iteration boun0 is
a c*aracteristic of t*e re-resentation of an al,orit*+ in t*e for+ of a 0ata1
flo' ,ra-* ><IL?K 0ifferent re-resentations of t*e sa+e al,orit*+ +ay lea0
to 0ifferent iteration boun0s. It is not -ossible to ac*ieve an iteration -erio0
less t*an t*e iteration boun0 even '*en infinite -rocessors are available. .*is
c*a-ter 0efines t*e iteration boun0 an0 -resents t'o tec*niBues to co+-ute
t*e iteration boun0K t*ese inclu0e t*e lon,est -at* +atri/ >"PM? an0 t*e
+ini+u+ cycle +ean >M&M? +et*o0s. .*e iteration boun0 of +ultirate
<ILs is also a00resse0.
2.2 DATA#FLO/ GRAPH RPRSNTATIONS
<SP -ro,ra+s are consi0ere0 to be nonter+inatin, -ro,ra+s t*at run fro+
ti+e in0e/ n E 6 to ti+e n E 66. Ior e/a+-le% a <SP -ro,ra+ t*at co+-utes
y*n+ E ay*n - 4? D "*n+ re-resents t*e follo'in, -ro,ra+C
for n E 8 to 66
y*n+ E ay*n - 2F D "*n+
43
++ ITERATION POUND
yen?
;@nF a
D D
@aF >b?
Fig. ;.4 >a? A ,ra-*ical re-resentation of &%#$ Q a&%# ( 4? D x%#$. >b? A <IL for
t*is -ro,ra+. .*e nu+bers in -arent*eses are t*e e/ecution ti+es for t*e no0es.
.*e in-ut to t*is <SP -ro,ra+ is t*e seBuence x%#$ for # Q 6%4%;% ... % an0
t*e initial con0ition y* 14?. .*e out-ut is t*e seBuence y* n+ for n E 6% 4%;% ....
A <SP -ro,ra+ is often re-resente0 usin, a <IL% '*ic* is a 0irecte0
,ra-* >i.e.% eac* e0,e *as a 0istinct 0irection? t*at 0escribes t*e -ro,ra+
>see also Section 4.A.=?. Ior e/a+-le% t*e -ro,ra+ &%#$ E a&%# ( 4? D x%#$
is ,ra-*icallXH re-resente0 in Ii,. ;.I>a?. A si+-lifie0 version of t*is -ro,ra+
is s*o'n in Ii,. ;.I>b?. .*e structure in Ii,. ;.I>b? is a <IL% '*ic* consists
of a set of no0es an0 e0,es. .*e no0es re-resent tas(s or co+-utations >t*e
no0e = re-resents a00ition an0 t*e no0e D re-resents +ulti-lication?% an0
eac* no0e *as an e/ecution ti+e associate0 'it* it. .*e e0,es re-resent
co++unication bet'een t*e no0es% an0 eac* e0,e *as a nonne,ative nu+ber
of 0elays associate0 'it* it. In our e/a+-le% t*e e0,e = -D D *as :ero 0elays
an0 t*e e0,e D -D = *as one 0elay. An iteration of a no0e is t*e e/ecution of
t*e no0e e/actly once% an0 an iteration of t*e <IL is t*e e/ecution of eac*
no0e in t*e <IL e/actly once.
Eac* e0,e in a <IL 0escribes a -rece0ence constraint bet'een t'o no0es.
.*is -rece0ence constraint is an intra-iteration precedence constraint if t*e
e0,e *as :ero 0elays or an inter-iteration precedence constraint if t*e e0,e *as
one or +ore 0elays. .o,et*er% t*e intra1iteration an0 inter1iteration -rece1
0ence constraints s-ecify t*e or0er in '*ic* t*e no0es in t*e <IL can be
e/ecute0. .*e e0,e fro+ = to D in Ii,. ;.I>b? enforces t*e intra1iteration
-rece0ence constraint% '*ic* states t*at t*e (1t* iteration of A +ust be e/1
ecute0 before t*e (1t* iteration of D) .*e e0,e fro+ D to = enforces t*e
inter1iteration -rece0ence constraint% '*ic* states t*at t*e (1t* iteration of
D +ust be e/ecute0 before t*e *- D I?1t* iteration of A. "et I- 0enote t*e
(1t* iteration of t*e no0e V. W*en it is i+-ortant to 0istin,uis* bet'een
intra1iteration an0 inter1iteration -rece0ence constraints% an intra1iteration
-rece0ence constraint is 0enote0 usin, a sin,le arro' suc* as A' -D P') an0
an inter1iteration -rece0ence constraint is 0enote0 usin, a 0ouble arro' suc*
as P' 222? A'*l0 t*er'ise% all -rece0ence constraints are 0enote0 usin, sin,le
arro's.
LOOP POUND AND ITERATION POUND 45
(1)
d
l
d2
(1)
d
=
(1)
Fig. ;.; A <IL 'it* t*ree loo-s t*at *ave loo- boun0s of AF; u.t.% @F= u.t.% an0 @FA
u.t. .*e iteration boun0 for t*is <IL is Too #; u.t.
.*e critical path of a <IL is 0efine0 to be t*e -at* 'it* t*e lon,est
co+-utation ti+e a+on, all -at*s t*at contain :ero 0elays. .*e critical -at*
in t*e <IL in Ii,. ;.4>b? is t*e -at* = -D D, '*ic* reBuires 9 u.t. .*e <IL
in Ii,. ;.; contains several -at*s 'it* no 0elays. .*e +a/i+u+ co+-utation
ti+e a+on, t*ese -at*s is @ u.t. >t*e t'o -at*s 9 -D = -D ; -D 4 an0
@ -D = -D ; -D 4 are bot* critical -at*s?% so t*e critical -at* co+-utation
reBuires @ u. t. .*e critical -at* is t*e lon,est -at* for co+binational ri--lin,
in t*e <IL% so t*e co+-utation ti+e of t*e critical -at* is t*e +ini+u+
co+-utation ti+e for one iteration of t*e <IL.
A <IL can be classifie0 as nonrecursive or recursive. A nonrecursive <IL
contains no loo-s% '*ile a recursive <IL contains at least one loo-. Ior e/1
a+-le% an IIR filter is nonrecursive% '*ile t*e <IL in Ii,. ;.4>b? is recursive
because it contains t*e loo- A -D P -D A. A recursive <IL *as a fun0a1
+ental li+it on *o' fast t*e un0erlyin, <SP -ro,ra+ can be i+-le+ente0 in
*ar0'are. .*is li+it% calle0 t*e iteration bound, Too O4P%O;P%*ol0s re,ar0less of
t*e co+-utin, -o'er available for t*e i+-le+entation of t*e <SP -ro,ra+.
2.3 lOOP -OUND AND ITRATION -OUND
A loop is a 0irecte0 -at* t*at be,ins an0 en0s at t*e sa+e no0e% suc* as t*e
-at* A -D P -D A in Ii,. ;.4>b?. .*e ter+s Gloo-G an0 GcycleG are use0
interc*an,eably to 0escribe a 0irecte0 cycle in a 0irecte0 ,ra-*. .*e a+ount
of ti+e reBuire0 to e/ecute a loo- can be 0eter+ine0 fro+ t*e -rece0ence
relations 0escribe0 by t*e e0,es of t*e <IL. Ior t*e <IL in Ii,. ;.4>b?% t*e
+1 ITERATION POUND
;<
>a?
;<
>b?
Fig. ;.= >a? A <IL 'it* one loo- t*at *as a loo- boun0 of 9F; Q = u. t. .*e iteration
boun0 for t*is <IL is = u.t. >b? A <IL 'it* iteration boun0 .oo Q +a/U9F;% 44F4W Q
44 u.t.
e0,es 0escribe t*e -rece0ence constraints
'*ere sin,le arro's >1S? re-resent intra1iteration -rece0ence constraints an0
0ouble arro's >CCCW?re-resent inter1iteration -rece0ence constraints. Accor0in,
to t*ese -rece0ence constraints% iteration - of t*e loo- consists of t*e seBuen1
tial e/ecution of =- an0 Di, Liven t*at t*e e/ecution ti+es of no0es = an0 D
are ; an0 A u.t.% res-ectively% one iteration of t*e loo- reBuires 9 u.t. .*is
is t*e loop bound, '*ic* re-resents t*e lo'er boun0 on t*e loo- co+-utation
ti+e. Ior+ally% t*e loo- boun0 of t*e l-th loo- is 0efine0 as ;56I0 '*ere ;l
is t*e loo- co+-utation ti+e an0 6I is t*e nu+ber of 0elays in t*e loo-. We
can verify t*at t*e loo- boun0 for t*e loo- in Ii,. ;.4>b? is 9F4 E 9 u.t.
.*e loo- in Ii,. ;.=>a? *as t'o 0elays% reBuires 9 U.t. to co+-ute% an0 *as
a loo- boun0 of 9F; E = u.t. .o see *o' one iteration of t*is loo- can be
e/ecute0 in = u.t.% 'e nee0 to e/a+ine t*e -rece0ence constraints
=o 1S Do ;=4 1S D
4
;=< 1S D< ;A;R 1S .
=l 1S Dl ;=8 1S D8 ;=H 1S DH ;=T 1S .
.*is s*o's t'o in0e-en0ent sets of -rece0ence constraints% one set for t*e
even iterations an0 one set for t*e o00 iterations. In t*is case% t'o iterations
can be co+-ute0 in 9 u.t.% resultin, in a loo- boun0 of 9F; Q =.
.*e <IL in Ii,. ;.=>b? contains t'o loo-s% na+ely% t*e loo-s II E A 1S
D 1S = an0 l4 E = 1S D 1S C 1S =) .*e loo- boun0s for *an0 l4 are
9F; Q = u.t. an0 44F4 Q 44 u.t.% res-ectively. .*e critical loop is t*e loo-
'it* t*e +a/i+u+ loo- boun0% so t*e loo- l4 is t*e critical loo- in t*is
e/a+-le. .*e loo- boun0 of t*e critical loo- is t*e iteration bound of t*e
<SP -ro,ra+% '*ic* is t*e lo'er boun0 on t*e iteration or sa+-le -erio0 of
t*e <SP -ro,ra+ re,ar0less of t*e a+ount of co+-utin, resources available.
ALGORITHMS FOR COMPUTING ITERATION POUND +4
Ior+ally% t*e iteration boun0 is 0efine0 as
Too E +a/ UMW%
IEL 6I
>;.4?
'*ere L is t*e set ofloo-s in t*e <IL% tl is t*e co+-utation ti+e of t*e loo- l)
an0 6I is t*e nu+ber of 0elays in t*e loo- l, Ior t*e <IL in Ii,. ;.=>b? 'e
*ave
Too E +a/
U
9
/P
T
44W
Q 44 u.t.
A strai,*tfor'ar0 tec*niBue for fin0in, t*e iteration boun0 of a <IL is to
locate all loo-s an0 0irectly co+-ute Too usin, >;.4?K *o'ever% t*e nu+ber
of loo-s in a <IL can be e/-onential 'it* res-ect to t*e nu+ber of no0es%
so t*is tec*niBue can reBuire lon, e/ecution ti+es. .*ree tec*niBues *ave
been 0evelo-e0 for co+-utin, Too in -olyno+ial ti+e% na+ely t*e lon,est
-at* +atri/ al,orit*+ O=P% t*e +ini+u+ cycle +ean al,orit*+ >AP% an0 t*e
ne,ative cycle 0etection al,orit*+ O@P. .*e first t'o tec*niBues are 0escribe0
in Section ;.A.
2.! ALGORITHMS FOR COMPUTING ITRATION -OUND
.*e t'o iteration1boun0 al,orit*+s 0escribe0 in t*is section are 0e+onstrate0
usin, t*e <IL in Ii,. ;.;. .*is <IL *as t*ree loo-sC loo- II Q 4 -t A 1S
; -t 4 'it* loo- boun0 AF; u.t.% loo- l, Q 4 -t @ -t = -t ; -t 4 'it* loo-
boun0 @F= u.t.% an0 loo- l8 Q 4 -t 9 -t = -t ; -t 4 'it* loo- boun0 @FA u.t.
.*erefore% t*e iteration boun0 of t*is <IL is
Too Q +a/ U K% M% MW Q ; u.t.
2.!.1 L$"gest Pat' Matri0 Alg$rit'1
In t*e lon,est -at* +atri/ >"PM? al,orit*+ O=P% a series of +atrices is con1
structe0% an0 t*e iteration boun0 is foun0 by e/a+inin, t*e 0ia,onal ele+ents
of t*e +atrices. "et 5 be t*e nu+ber of 0elays in t*e <IL. .*ese +atrices%
">+?% + Q 4%;% ... % 5) are constructe0 suc* t*at t*e value of t*e ele+ent
l6J+ is t*e lon,est co+-utation ti+e of all -at*s fro+ 0elay ele+ent d# to
0elay ele+ent d
K
t*at -ass t*rou,* e/actly + 1 4 0elays >not inclu0in, di an0
5K$. I! no suc* -at* e/ists% t*en l6J+ Q 14. !ote t*at lon,est -at* bet'een
any t'o no0es can be co+-ute0 usin, any -at* al,orit*+ in A--en0i/ A.
Ior e/a+-le% to 0eter+ine l~l~for t*e <IL in Ii,. ;.;% all -at*s fro+ t*e
0elay ele+ent 5
8
to t*e 0elayH ele+ent 04 t*at -ass t*rou,* e/actly :ero 0e1
lay ele+ents +ust be consi0ere0. .*ere is one suc* -at*% na+ely% t*e -at*
@ 14 14 .
@ 14 14 .
C(EUIW % %
Q +a/>1I%@ S 6? Q @.
3%3$ =
+, ITERATION POUND
5
3
1t #- 1t #3 1t #2 1t #? 1t 0l. .*is -at* *as co+-utation ti+e @% so
l~~lQ @. .o 0eter+ine li~~)'e note t*at t*ere are no -at*s fro+ t*e 0elay
ele+ent 5
<
to t*e 0elay ele+ent 5
8
t*at -ass t*rou,* :ero 0elay ele+ents% so
l~
.
l~Q 14. After 0eter+inin, t*e rest of t*e ele+ents of ">l?% 'e fin0
14 6 14 14P
L
>I? T 5 -2 8-2
1
O
@ 14 14 6 .
@ 14 14 14
.*e *i,*er or0er +atrices% ">+?% + Q ;%=% ... % 5) 0o not nee0 to be 0e1
ter+ine0 0irectly fro+ t*e <IL. Rat*er% t*ey can be recursively co+-ute0
accor0in, to t*e rule
'*ere T is t*e set of inte,ers - in t*e interval O4% 0P suc* t*at neit*er l~~2Q 14
nor I;I$ Q 14 *ol0s. Ior e/a+-le% to co+-ute l~2l)t*e first ste- is to fin0 t*e
set S fro+ t*e -ossible set UI%;%=%AW. .*e value = is in S because l~~:Q
6 an0 lI11 Q @% an0 t*e values - Q 1222! are not in T because at least one of
l~~'orH li~~is eBual to 14 for eac* of t*ese. Usin, T Q U=W% t*e value of
l~2l can be co+-ute0 as
l*,+ .
;%4
+a/
%
14%
l
%l$
-
S
l%I$$
; - 4
(EU=W % %
Q +a/>1I%6S@? Q@.
&o+-utin, t*e re+ainin, values of l~~ results in
A 14 6 14P
"
>;? T
O
@ A 14 6
1 @
14
W*ile ">;? is co+-ute0 usin, only ">I?% t*e +atri/ ">=? is co+-ute0 usin,
bot* ">I? an0 ">;?. .o co+-ute lI~:)S Q UIW because lI~l Q @ an0 l~2:Q
6% an0 for t*e values of - Q ;%=%A% at least one of l~~'or li~~is eBual to 14.
.*e value of l~~:is
=%=
+a/>1I%lMl( 9li,6+
I
9
6 6 -2
9 -2 6 -2
28 9 6
6
28 9 -2 6
1 8 8
A
ALGORITHMS FOR COMPUTING ITERATION POUND +>
@2F
Fig. ;.A A filter 'it* iteration boun0 .oo Q 8.
&o+-utin, t*e rest of ">=? an0 ">A? results in
L@PF
-
K
A -2
6 A
-I 2
an0
">A? Q
O
9
8
1
@
6
1X 4
.
nce t*e +atrices ">+? *ave been co+-ute0% t*e iteration boun0 can be
0eter+ine0 as
Too Q +a/
l~0T$ ?
A
M%
'*ic* for t*is e/a+-le is
i%+EUI%;% ... 0W
Too Q +a/ UM%M%M%M%M%M%M%M% MW E ;.
As anot*er e/a+-le% consi0er t*e <IL in Ii,. ;.A. .*e +atrices t@F.
+ Q 4%;% are
">l? T OA AP
-0 ITERATION POUND
an0
an0 t*e iteration boun0 is
">;? Q O4; 4;P
49 49 H
.*e "PM al,orit*+ 'or(s because t*e value l;~$ re-resents t*e lon,est
co+-utation ti+e of all loo-s t*at *ave + 0elays an0 contain t*e 0elay ele1
+ent 5
i
J By ta(in, t*e +a/i+u+ of l~4$Em for all -ossible values of i an0
+% 'e fin0 t*e +a/i+u+ loo- boun0 Mf all loo-s in t*e <IL% '*ic* is t*e
iteration boun0.
.*e ti+e co+-le/ity of co+-utin, ">(Sl? fro+ ">l? an0 ">(? is 1*d
8
+ since
t*ere are M ele+ents in ">(Sl? an0 eac* co+-utation *as ti+e co+-le/ity
1*d+) .*erefore% co+-utin, ">0? fro+ ">l? *as ti+e co+-le/ity 1*d
<
+) Al1
t*ou,* 'e 0eter+ine0 ">l? by ins-ection% an al,orit*+ 'it* ti+e co+-le/ity
1*de+ is ,iven in O=P for fin0in, ">l?% '*ere d an0 e are t*e nu+ber of 0elays
an0 e0,es in t*e <IL% res-ectively. Hence% t*e ti+e co+-le/ity of t*e "PM
al,orit*+ of co+-utin, t*e iteration boun0 is 1*d
<
D de+) Ior t*e intereste0
rea0er% i+-rove+ents *ave been su,,este0 in O=P to i+-rove t*is co+-le/ity
to 1*d
8
Iogd9de+) !ote t*at ">0? can be co+-ute0 in >0
=
Io,0? co+-le/ity
by co+-utin, ">;? fro+ ">l?% ">A? fro+ ">;?% ">8? fro+ ">A?% etc.
;.A.; The !i89imum C+cle !ean Algorithm
.*e +ini+u+ cycle +ean >M&M? al,orit*+ OAP re0uces t*e -roble+ of 0e1
ter+inin, t*e iteration boun0 to t*e -roble+ of fin0in, t*e M&M of a ,ra-*.
.*e tec*niBue in O9P is t*en use0 to efficiently co+-ute t*e M&M. Recall t*at
t*e ter+s GcycleG an0 Gloo-G can be use0 interc*an,eably.
.*e al,orit*+ 0escribe0 in t*is section uses t*e conce-ts of a cycle +ean%
t*e +a/i+u+ cycle +ean% an0 t*e M&M. .*e cycle +ean =%Q$ of a cycle c
is t*e avera,e len,t* of t*e e0,es in c% '*ic* can be foun0 by si+-ly ta(in,
t*e su+ of t*e e0,e len,t*s an0 0ivi0in, by t*e nu+ber of e0,es in t*e cycle.
.*e M&M =min is si+-ly t*e +ini+u+ value of all of t*e cycle +eans% i.e.%
=min E +in+>c?.
c
Si+ilarly% t*e +a/i+u+ cycle +ean =ma" is
=ma" Q +a/+>c?.
c
.*e cycle +eans of a ne' ,ra-* Cd are use0 to co+-ute t*e iteration
boun0% '*ere Cd can be foun0 fro+ t*e <IL for '*ic* 'e are co+-utin,
ALGORITHMS FOR COMPUTING ITERATION POUND -1
o o
@
o
-6
o
o o
@ -6
>a? >b?
Fig. ;.@ .*e ,ra-*s >a? G
5
an0 >b? C5 for t*e <IL in Ii,. ;.;.
t*e iteration boun0 >call t*is <IL G$. I! 5 is t*e nu+ber of 0elay ele+ents
in G) t*en t*e ,ra-* G5 *as 5 no0es '*ere eac* no0e corres-on0s to one of
t*e 0elays in G. .*e 'ei,*t 2*i,F+ of t*e e0,e fro+ t*e no0e i to t*e no0e
J in B 5 is t*e lon,est -at* len,t* a+on, all -at*s in B fro+ t*e 0elay di
to t*e 0elay 5
K
t*at 0o not -ass t*rou,* any 0elays. If no :ero10elay -at*
e/ists fro+ t*e 0elay 5
i
to t*e 0elay 5
K
) t*en t*e e0,e i -t J 0oes not e/ist in
G50 .*e ,ra-* G
5
for t*e <IL in Ii,. ;.; is s*o'n in Ii,. ;.@>a?. !ote t*at
constructin, B
5
is essentially t*e sa+e as constructin, t*e +atri/ ">l? in t*e
"PM al,orit*+ 0escribe0 in Section ;.A.l.
.*e su+ of t*e e0,e 'ei,*ts in a cycle c in B
5
is t*e +a/i+u+ co+-uta1
tion ti+e of all cycles in B t*at contain t*e 0elays re-resente0 by t*e no0es
in t*e cycle c. .*is is because t*e e0,e 'ei,*ts in B
5
are t*e +a/i+u+ co+1
-utation ti+es bet'een t*e 0elays in G. Ior e/a+-le t*ere are t'o cycles
t*at contain t*e 0elays DcU an0 D:8 in t*e ,ra-* B in Ii,. ;.9>a?% an0 t*ese
cycles *ave co+-utation ti+es of 9 U.t. an0 A U.t. .*e corres-on0in, ,ra-*
B
5
in Ii,. ;.9>b? *as one cycle t*at -asses t*rou,* t*e no0es corres-on0in,
to DcU an0 D:8) .*e su+ of t*e e0,e 'ei,*ts in t*is cycle is 9% '*ic* is t*e
+a/i+u+ co+-utation ti+e of t*e t'o cycles in B in Ii,. ;.9>a?. In B
5
) t*e
nu+ber of e0,es in a cycle eBuals t*e nu+ber of no0es in t*e cycle% an0 t*is
eBuals t*e nu+ber of 0elays in t*e cycle in B) .*erefore% t*e cycle +ean of a
cycle c in B
5
is
+a/ co+-utation ti+e of all cycles in B t*at contain t*e 0elays in c
t*e nu+ber of 0elays in t*ese cycles in B
.*is is t*e +a/i+u+ cycle boun0 of t*e cycles in B t*at contain t*e 0elays
I I iL
52 ITERATION POUND
@2F
aQC
4
'
@/F
@2F
@
@/F
>a? >b?
Fig.2.1 >a? A ,ra-* G 'it* t'o cycles t*at contain t*e 0elays D1l an0 D:8) >b? .*e
corres-on0in, ,ra-* BN)
in t*e cycle c. .*e +a/i+u+ cycle +ean of B 5 is t*e +a/i+u+ cycle
boun0 of all cycles in G) '*ic* is t*e iteration boun0 of G.
.o co+-ute t*e +a/i+u+ cycle +ean of B
5
) t*e ,ra-* c, is constructe0
fro+ B
d
by si+-ly +ulti-lyin, t*e 'ei,*ts of t*e e0,es by 14% i.e.% c, *as t*e
sa+e to-olo,y as B
d
an0 t*e 'ei,*ts /%i)K$ of t*e e0,e i 1t W in Cd are
,iven by /%i)K$ Q (/%i)K$) '*ere /%i)K$ is t*e 'ei,*t of t*e e0,e i 1t W
in G
5
J
.*e ,ra-* Cd for t*e <IL in Ii,. ;.; is ,iven in Ii,. ;.@>b?. .*e +a/i+u+
cycle +ean of Bd is si+-ly t*e M&M of Cd +ulti-lie0 by 14. So t*e iteration
boun0 of B can be foun0 by fin0in, t*e M&M of Cd an0 +ulti-lyin, it by
14.
.*e M&M of c, is foun0 by first constructin, t*e series of 5 D 4 vectors%
r>+?% + Q 6%4% ... )5) '*ic* are eac* of 0i+ension 5x 4. An arbitrary reference
no0e is c*osen in Cd >call t*is no0e 8?. .*e initial vector r>? is for+e0 by
settin, F>6?>8? QQ 6 an0 settin, t*e re+ainin, entries of r>? to 66. I! no0e 4
is c*osen as t*e reference no0e for t*e ,ra-* Cd in Ii,. ;.@ >b?% t*en
.*e re+ainin, vectors% r>+?% + E 4%;% ... % 5) are recursively co+-ute0 ac1
cor0in, to
/%=$%K$ QQ +in>f>+1l? >i? D
/%i)K$$
iEI
>;.;?
'*ere /%i) F+ is t*e 'ei,*t of t*e e0,e i 1t W in Cd an0 I is t*e set of no0es in
Cd suc* t*at t*ere e/ists an e0,e fro+ no0e i to no0e J >i 1t F+) .*is series
+
ALGORITHMS FOR COMPUTING ITERATION POUND -3
Table ;.4 Ealues of 1%+$%i$(/%C0$%i$ for 4 R i R A an0 6 R + R =
<-m - - --
iQl 1; 166 -2 1= 1;
iQ; 166 1@F= 166 14 14
iQ= 166 166 1; 166 1;
iQA 66166 66 1 66 66166 66 66
of vectors foun0 fro+ c, in Ii,. ;.@>b? is
Ior e/a+-le% F*<+*'+ is co+-ute0 as
f*<+*'+ Q +in>f>=? >;? -2*,,'+,f*8+*8+ -2*8,'+,J*8+*<+ -2*<,'++
Q +in> 1A 1 A%66 1 @%6 1 @? Q 18.
Iro+ t*e vectors r>+?% + Q 6%4% ... % 5) t*e iteration boun0 can be co+1
-ute0 as
) * *f*d+*i+ - f*m+*i+++
Too E -
=U#
iEAI)2) ... )5? A a;V d )
= O)I)...)5(l (
In our e/a+-le% 5 Q A. .able ;.4 s*o's t*e values of
f*<+*i+ - f*m+ >i?
<-m
for 4 M i M A an0 6 M + M =. In so+e cases 'e +ay encounter F*d+ %i$ (
f*m+*i+ Q 66 1 66. In t*is case% 66 1 66 s*oul0 be treate0 as :ero. Ior
e/a+-le% K%+$%+$ ( K%l$ >A? Q 66 1 66% so t*e value >66 1 66?F= CKCC6C F= CKCC6C
is ,iven for i Q A an0 + Q 4 in .able ;.4.
Usin, t*e ri,*t colu+n of .able ;.4% 'e can 0eter+ine
Too Q 1+inU1;%14%1;%66W Q ;%
as 0esire0.
As anot*er e/a+-le% consi0er t*e <IL in Ii,. ;.A. .*e ,ra-*s Cd an0 o,
r
54 ITERATION POUND
A
8
8
>a?
1A
1A 18
18
>b?
Fig. ;.7 .*e ,ra-*s >a? G5 an0 >b? Bi5 for t*e <IL in Ii,. ;.A.
Table ;.; Ealues of /%2$%i$9/%=$%i$ for 4 R i R ; an0 6 R + R 4
;+ 11 11
=GO +Q 4
+a/
CCCK+C5
U flM?>i?1fN+?>i? W
,-m
i Q 4 14;F; 18F4 -6
iQ; -00 18F4 18
are s*o'n in Ii,. ;.7. .*e set of vectors r@F. m Q 6%4%;% is
>;? T O 14; P
1 14; .
.able ;.; s*o's t*e values of
f*,+*i+ - f*m+ >i?
,-m
for 4 M i I; an0 6 M + M 4.
Usin, t*e ri,*t colu+n of .able ;.;% 'e can 0eter+ine
Too E - +ini 18% 19W E 8.
.*e ti+e co+-le/ity of constructin, Cd an0 Cd fro+ t*e ori,inal <IL is
1*de+) !ote t*at t*is is t*e sa+e as t*e co+-le/ity of co+-utin, ">l? in t*e
"PM al,orit*+ because t*ese are eBuivalent -roble+s. .*e M&M of Cd is
ITERATION POUND OF MUL TlRATE DATA(FLO6 GRAPHS --
O
uv
Iuv
:
Fig. ;.8 An e0,e U 1S O in an +ultirate <IL.
co+-ute0 in 1*ded+ ti+e% '*ere ed is t*e nu+ber of e0,es in Cd) .*e total
ti+e co+-le/ity for co+-utin, t*e iteration boun0 usin, t*e M&M al,orit*+
is 1*de D ded+@
2., ITRATION -OUND OF MULTIRAT DATA#FLO/ GRAPHS
U- to t*is -oint% 'e *ave only consi0ere0 sin,le1rate <ILs >SR<ILs?% i.e.%
<ILs '*ere eac* no0e is e/ecute0 e/actly once -er iteration. Anot*er class of
<ILs% calle0 +ultirate <ILs >MR<ILs? O7?% allo's eac* no0e to be e/ecute0
+ore t*an once -er iteration% an0 ; no0es are not reBuire0 to e/ecute t*e sa+e
nu+ber of ti+es in an iteration >see Section 4.A.=?. A ;1ste- -rocess can be
use0 to co+-ute t*e iteration boun0 of a +ultirate <IL. .*is ;1ste- -rocess
is
4. &onstruct a SR<IL t*at is eBuivalent to t*e MR<IL.
;. &o+-ute t*e iteration boun0 of t*e eBuivalent SR<IL usin, t*e "PM
al,orit*+% or t*e M&M al,orit*+.
.*e iteration boun0 of t*e MR<IL is t*e sa+e as t*e iteration boun0 of t*e
eBuivalent SR<IL. In t*is section% MR<ILs are. 0efine0 an0 an al,orit*+ is
-resente0 for constructin, an eBuivalent SR<IL fro+ an MR<IL >Ste- 4?
so t*at 4 of t*e ; al,orit*+s 0escribe0 in t*is c*a-ter can be use0 to co+-ute
t*e iteration boun0 of t*e eBuivalent SR<IL >ste- ;?.
An e0,e fro+ t*e no0e U to t*e no0e O in an MR<IL is s*o'n in Ii,. ;.8.
.*e value 1u! is t*e nu+ber of sa+-les -ro0uce0 on t*e e0,e by an invo1
cation of t*e no0e V, an0 t*e value Iu! is t*e nu+ber of sa+-les consu+e0
fro+ t*e e0,e by an invocation of t*e no0e O. .*e value iu! is t*e nu+ber
of 0elays on t*e e0,e.
I. t*e no0es V an0 % are invo(e0 -u ti+es an0 -! ti+es% res-ectively%
in an iteration% t*en t*e nu+ber of sa+-les -ro0uce0 on t*e e0,e fro+ t*e
no0e U to t*e no0e O in 4 iteration is OLM'L) an0 t*en nu+ber of sa+-les
consu+e0 fro+ t*e e0,e by t*e no0e % in 4 iteration is Iu!-!) .o avoi0 a
buil0u- or 0eficiency of sa+-les on t*e e0,e% t*e nu+ber of sa+-les -ro0uce0
in 4 iteration +ust eBual t*e nu+ber of sa+-les consu+e0 in one iteration.
.*is relations*i- can be 0escribe0 +at*e+atically as
1u!-u Q Iu!-!)
>;.=?
i
J%
-1 ITERATION POUND
D
Fig. ;.5 An +ultirate <IL.
4. Ior eac* no0e U in t*e MR<IL
;. Ior - E 6 to -u-
'
=. <ra' a no0e LV in t*e SR<IL 'it* t*e sa+e co+-utation
ti+e as U in t*e MR<IL.
A. Ior eac* e0,e U i[f O in t*e MR<IL
@. Ior W Q 6 to 1u! -u - 4
9. <ra' an e0,e Vi>1u! -t %NF9iu!+>Iu!+W-! in t*e SR<IL
'it* >J D iu! + > %Iu! -!+ 0elays H
Fig.2.10 Al,orit*+ for constructin, an eBuivalent SR<IL fro+ an MR<IL.
.o 0eter+ine *o' +any ti+es eac* no0e +ust be e/ecute0 in an iteration% t*e
set of eBuations foun0 by 'ritin, >;.=? for eac* e0,e in t*e MR<IL +ust be
solve0 so t*e nu+ber of invocations of t*e no0es are co-ri+e. Ior e/a+-le%
t*e set of eBuations for t*e MR<IL in Ii,. ;.5 is
<-a
Q
8-b
-b
Q
,-c
-c
Q
-c
8-c ,-
a
,
'*ic* *as a solution -a Q =% -b Q A% -c Q ;. nce t*e nu+bers of invocations
of t*e no0es *as been 0eter+ine0% an eBuivalent SR<IL can be constructe0
for t*e MR<IL.
.o si+-lify notation% let alb 0enote t*e inte,er -art of 0ivision% an0 let aWb
0enote t*e re+ain0er. Ior e/a+-le% 46F= Q = an0 46Y= Q 4. Mat*e+atically%
'e can 'rite alb E lYJ an0 aWb E a1liJ b, '*ere L;O is t*e floor of ", '*ic*
is t*e lar,est inte,er less t*an or eBual to ") An al,orit*+ for constructin,
an eBuivalent SR<IL fro+ an MR<IL is ,iven in Ii,. ;.46 ..
Ior t*e <IL in Ii,. ;.5% t*e al,orit*+ in Ii,. ;.46 can be use0 to construct
t*e <IL in Ii,. ;.44. .*e iteration boun0 of t*e SR<IL in Ii,. ;.44 is t*e
CONCLUSIONS -4
<
Fig. ;.44 An eBuivalent SR<IL for t*e MR<IL in Ii,. ;.5.
sa+e as t*e iteration boun0 of t*e MR<IL in Ii,. ;.5.
Earious tec*niBues *ave been su,,este0 to re0uce t*e nu+ber of no0es an0
e0,es in an eBuivalent SR<IL 'it*out affectin, t*e iteration boun0 of t*e
,ra-*. .*ese re0uctions can be use0 to re0uce t*e co+-le/ity of 0eter+inin,
t*e iteration boun0 of t*e eBuivalent SR<IL% '*ic* 0irectly lea0s to re0uce0
co+-le/ity for 0eter+inin, t*e iteration boun0 of t*e MR<IL. .*e inter1
este0 rea0er can fin0 al,orit*+s for re0ucin, t*e co+-le/ity of t*e eBuivalent
SR<IL in OAP.
2.3 CONCLUSIONS
<SP -ro,ra+s *ave t*e -ro-erty t*at t*ey are e/ecute0 fro+ n Q 6 to n E 66.
.*ese -ro,ra+s are often re-resente0 usin, <ILs% '*ic* can be recursive or
nonrecursive. W*en t*e <IL is recursive% t*e iteration boun0 is t*e fun0 a1
+ental li+it on t*e +ini+u+ sa+-le -erio0 of a *ar0'are i+-le+entation of
t*e <SP -ro,ra+. .'o al,orit*+s for co+-utin, t*e iteration boun0 'ere
-, ITERATION POUND
>;?
Fig.2.12 .*e <IL use0 in Proble+ 4.
A=
Fig. ;.4= A A1level-i-eline0 all1-ass 8t*1or0er IIR 0i,ital filter.
0iscusse0. .*e "PM al,orit*+ fin0s t*e iteration boun0 'it* ti+e co+-le/1 K
ity 1*d
<
D de+, an0 t*e M&M al,orit*+ fin0s t*e iteration boun0 'it* ti+eH
co+-le/ity o*de D ded+) .*e M&M al,orit*+ is usually faster t*an t*e "PM
al,orit*+ because ed I cP *ol0s for +ost cases. .
.*e iteration boun0 of a +ultirate <IL can be 0eter+ine0 by first con1 C
structin, an eBuivalent sin,le1rate <IL an0 t*en co+-utin, t*e iterationCK
boun0 of t*e sin,le1rate <IL usin, 4 of t*e ; al,orit*+s 0escribe0 in t*is%
c*a-ter. .*e al,orit*+ in Ii,. ;.46 can be use0 to construct an eBuivalent
sin,le1rate <IL fro+ t*e +ultirate <IL.
2.4 PRO-LMS
4. Ior t*e <IL s*o'n in Ii,. ;.4;% t*e co+-utation ti+es of t*e no0es are
s*o'n in -arent*eses. &o+-ute t*e iteration boun0 of t*is <IL usin,.
>a? t*e "PM al,orit*+% an0
>b? t*e M&M al,orit*+.
;. Re-eat Proble+ 4 for t*e <IL s*o'n in Ii,. ;.4= assu+in, t*at a00i1
tion an0 +ulti-lication reBuire 4 u.t. an0 ; u.t.% res-ectively.
PROPLEMS ->
Fig. ;.4A .*e *iBua0 filter.
I! )U(
Fig. ;.4@ <irect1for+. =r01or0er IIR filter.
=. Re-eat Proble+ 4 for t*e <IL s*o'n in Ii,. ;.4A assu+in, t*at a00i1
tion an0 +ulti-lication reBuire 4 U.t. an0 ; u.t.% res-ectively.
A. Re-eat Proble+ 4 for t*e <IL s*o'n in Ii,. ;.4@ assu+in, t*at a00i1
tion an0 +ulti-lication reBuire 4 an0 ; u.t.% res-ectively.
@. Re-eat Proble+ 4 for t*e <IL s*o'n in Ii,. ;.49 assu+in, t*at a00i1
tion an0 +ulti-lication reBuire 4 an0 ; u.t.% res-ectively.
9. Re-eat Proble+ 4 for t*e <IL s*o'n in Ii,. ;.47 assu+in, t*at a00i1
tion an0 +ulti-lication reBuire 4 an0 ; u.t.% res-ectively.
7. Re-eat Proble+ 4 for t*e <IL s*o'n in Ii,. ;.48 assu+in, t*at a00i1
tion an0 +ulti-lication reBuire 4 an0 ; u.t.% res-ectively.
8. Re-eat Proble+ 4 for t*e <IL in Ii,. ;.44 assu+in, t*at t*e e/ecution
ti+e of eac* no0e is 4 u.t.
5. <eter+ine t*e iteration boun0 of t*e MR<IL in Ii,. ;.45. Assu+e t*e
e/ecution ti+e of eac* no0e to be 4 u.t. .*e follo'in, ste-s s*oul0 be
use0C
10 ITERATION POUND
)U(
Fig. ;.49 Iift*1or0er 'ave 0i,ital elli-tic filter.
A0 A1
Fig. ;.47 .*e lattice filter use0 in Proble+ 9.
O!"
O!"
IN
I&
Fig. ;.48 .*e nor+ali:e0 lattice filter use0 in Proble+ 7.
REFERENCES 61
; ;< =
b J1..TC4
TK=cKCK<%11TK;M
D
Fig.2.1> .*e <IL use0 in Proble+ 5.
>a? construct t*e eBuivalent SR<IL% an0
>b? use any al,orit*+ in t*is c*a-ter to 0eter+ine t*e iteration boun0
of t*e eBuivalent SR<IL.
REFERENCES
4. M. Renfors an0 #. !euvo% G.*e +a/i+u+ sa+-lin, rate of 0i,ital filters un0er
*ar0'are s-ee0 constraints%G IQQQ 0rans) on Circuits and &ystems, vol. &AS1
;8% no. =% --. 4591;6;% Marc* 4584.
;. K. K. Par*i an0 <. L. Messersc*+itt% GStatic rate1o-ti+al sc*e0ulin, of itera1
tive 0ata1flo' -ro,ra+s via o-ti+u+ unfol0in,%G IQQQ 0rans) on Computers,
vol. A6% no. ;% --. 478145@% Ieb. 4554.
=. S. H. Lere:% S. M. Hee+stra 0e Lroot% an0 . E. Herr+ann% GA -olyno+ial1ti+e
al,orit*+ for t*e co+-utation of t*e iteration1-erio0 boun0 in recursive 0ata1
flo' ,ra-*s%G IQQQ 0rans) on Circuits and &ystems- I 7Vndamental Theory
and =pplications, vol. =5% no. 4% --. A51@;% Jan. 455;.
A. K. Ito an0 K. K. Par*i% G<eter+inin, t*e +ini+u+ iteration -erio0 of an
al,orit*+%G Journal of %L&I &ignal Processing, vol. 44% --. ;;51;AA% 455@.
@. <. #. &*ao an0 <. .. Wan,% GIteration boun0s of sin,le1rate 0ata flo' ,ra-*s for
concurrent -rocessin,%G IQQQ 0rans) on Circuits and &ystems- I 7Vndamental
Theory and =pplications, vol. A6% no. 5% --. 9;519=A% Se-t. 455=.
9. R. M. Kar-% GA c*aracteri:ation of t*e +ini+u+ cycle +ean in a 0i,ra-*%G
Discrete Mathematics, vol. ;=% --. =651=44% 4578.
7. E. A. "ee an0 <. L. Messersc*+itt% GStatic sc*e0ulin, of sync*ronous 0ata flo'
-ro,ra+s for 0i,ital si,nal -rocessin,%G IQQQ 0rans) on Computers, vol. &1=9%
no. 4% --. ;A1=@% Jan. 4587.
8. <. A. Sc*'art: an0 .. P. Barn'ell% III% G&yclo1static solutionsC o-ti+al +ul1
ti-rocessor reali:ations of recursive al,orit*+s%G in Proc) of IQQQ %L&I &ignal
Processing Aor-shop, 'LSX)
10 ITERATION POUND
U.
Fig. ;.49 Iift*1or0er 'ave 0i,ital elli-tic filter.
A0 AS
Fig. ;.47 .*e lattice filter use0 in Proble+ 9.
O!"
)U(
IN
48
Fig. ;.48 .*e nor+ali:e0 lattice filter use0 in Proble+ 7.
3
Pipelining and Parallel
Processing
3.1 INTRODUCTION
Pi-elinin, transfor+ation lea0s to a re0uction in t*e critical -at*% '*ic* can
be e/-loite0 to eit*er increase t*e cloc( s-ee0 or sa+-le s-ee0 or to re0uce
-o'er consu+-tion at sa+e s-ee0. In -arallel -rocessin,% +ulti-le out-uts
are co+-ute0 in -arallel in a cloc( -erio0. .*erefore% t*e effective sa+-lin,
s-ee0 is increase0 by t*e level of -arallelis+. Si+ilar to t*e -i-elinin,% -arallel
-rocessin, can also be use0 for re0uction of -o'er consu+-tion.
&onsi0er t*e t*ree1ta- f*Mite i+-ulse res-onse >IIR? 0i,ital filter
&%#$ Q ax%#$ D x%# -2F D Qx%# ( /F.
>=.4?
.*e bloc( 0ia,ra+ i+-le+entation of t*is filter is s*o'n in Ii,. =.4. .*e
Fig. =.4 A =1ta- IIR filter.
critical -at* or t*e +ini+u+ ti+e reBuire0 for -rocessin, a ne' sa+-le is
63
-
1+ PIPELINING AND PARALLEL PROCESSING
li+ite0 by 4 +ulti-ly an0 ; a00 ti+es% i.e.% if TM is t*e ti+e ta(en for +ul1
ti-lication an0 T= is ti+e nee0e0 for a00ition o-eration t*en t*e Gsa+-le
-erio0G *Tsample+ is ,iven by%
>=.;?
.*erefore% t*e sa+-lin, freBuency *Jsample+ >also referre0 to as t*e t*rou,*1
-ut or t*e iteration rate? is ,iven by
<
sample
R
TM D
2
,T=@
>=.=?
!ote t*at t*e direct-form structure s*o'n in Ii,. =.4 can only be use0 '*en
>=.;? is satisfie0. But if so+e real1ti+e a--lication 0e+an0s a faster in-ut rate
>sa+-le rate?% t*en t*is structure cannot be use0X In t*at case% t*e effecti!e
critical path can be re0uce0 by usin, eit*er -i-elinin, or -arallel -rocessin,.
Pi-elinin, re0uces t*e effecti!e critical path by intro0ucin, -i-elinin, latc*es
alon, t*e 0ata-at*. Pi-elinin, *as been use0 in t*e conte/t of arc*itecture
0esi,n OIP 1OAP% an0 co+-iler synt*esis O@P 1O46P% etc. Parallel -rocessin, in1
creases t*e sa+-lin, rate by re-licatin, *ar0'are so t*at several in-uts can
be -rocesse0 in -arallel an0 several out-uts can be -ro0uce0 at t*e sa+e ti+e
O44P 1O4=P. &onsi0er t*e si+-le structure in Ii,. =.;>a?% '*ere t*e co+-uta1
tion ti+e of t*e critical -at* is ,T=) Ii,. =.;>b? s*o's t*e ;1level -i-eline0
structure% '*ere 4 latc* is -lace0 bet'een t*e ; a00ers an0 *ence t*e criti1
cal -at* is re0uce0 by *alf. Its ;1level -arallel -rocessin, structure is s*o'n
in Ii,. =.;>c?% '*ere t*e sa+e *ar0'are is 0u-licate0 so t*at ; in-uts can
be -rocesse0 at t*e sa+e ti+e an0 ; out-uts are -ro0uce0 si+ultaneously.
.*erefore% t*e sa+-le rate is increase0 by t'o.
.*is c*a-ter is or,ani:e0 as follo's. Sections =.; an0 =.=% res-ectively%
-resent -i-elinin, an0 -arallel -rocessin, a--roac*es in t*e conte/t of non1
recursive co+-utations suc* as IIR 0i,ital filters. Section =.A -resents use
of -i-elinin, an0 -arallel -rocessin, for re0uction of -o'er consu+-tion at
sa+e sa+-le s-ee0 usin, lo'er su--ly volta,e.
=.; PIPLINING OF FIR DIGITAL FILTRS
&onsi0er t*e -i-eline0 i+-le+entation of t*e =1ta- IIR filter of >=.4? obtaine0
by intro0ucin, ; a00itional latc*es as s*o'n in Ii,. =.=.
.*e critical -at* is no' re0uce0 fro+ TM9,T= to TM9T=) In t*is arran,e1
+ent '*ile t*e left a00er initiates t*e co+-utation of t*e current iteration
t*e ri,*t a00er is co+-letin, t*e co+-utation of t*e -revious iteration result.
.*e sc*e0ule of events for t*is pipelined syste+ is s*o'n in .able =.4. In t*is
syste+% at any ti+e% ; consecutive out-uts are co+-ute0 in an interleave0
+anner.
a@/*F %@/*F
PIPELININGOF FIR DIGITAL FILTERS 1-
a@nF %@nF
;@nF ---5----5-- '@nF
@aF
a@nF %@n-lF
;@nFI '@n.lF
>b?
;@/*F ---5----5-- '@/*F
a@/*DlF %@/*DlF
;@/*DlF ---5----5-- '@/*DlF
@cF
Fig. =.; >a? A 0ata-at*. >b? .*e ;14evel -i-eline0 structure of >a?. >c? .*e ;1
4evel -arallel -rocessin, structure of >a?.
.
%T
.
Fig. =.= Pi-eline0 IIR filter. .*e 0as*e0 vertical line re-resents a fee01for'ar0 cut1
set.
Tal! =.4 Sc*e0ule of Events in t*e Pi-eline0 IIR Iilter in Ii,. =.=
&loc( In-ut !o0e 4 !o0e ; !o0e = ut-ut
6 x%O$ ax%O$ D x% (1$ 1
- -
4 x%1$ a.%1$ D x%O$ ax%O$ D x%(1$ Qx%(2$ &%O$
; x%2$ a.%2$ D x%1$ a.%1$ D x%O$ Qx% (1$ &%1$
= x%3$ ax%3$ D x%2$ a.%2$ D x%1$ Qx%O$ &%2$
11 PIPELINING AND PARALLEL PROCESSING
ne +ust note t*at in an M1level -i-eline0 syste+% t*e nu+ber of 0elay
ele+ents in any -at* fro+ in-ut to out-ut is %M ( I? ,reater t*an t*at in
t*e sa+e -at* in t*e ori,inal seBuential circuit. W*ile -i-elinin, re0uces t*e
critical -at*% it lea0s to a -enalty in ter+s of an increase in latency) "atency
essentially is t*e 0ifference in t*e availability of t*e first out-ut 0ata in t*e
-i-eline0 syste+ an0 t*e seBuential syste+. Ior e/a+-le if latency is I cloc(
cycle t*en t*e (1t* out-ut is available in %' D I?1t* cloc( cycle in a I1sta,e
-i-eline0 syste+. .*e t'o +ain 0ra'bac(s of t*e -i-elinin, are increase in
t*e nu+ber of latc*es an0 in syste+ latency.
.*e follo'in, -oints +ay be note0C
4. .*e s-ee0 of an arc*itecture >or t*e cloc( -erio0? is li+ite0 by t*e
lon,est -at* bet'een any ; latc*es or bet'een an in-ut an0 a latc* or
bet'een a latc* an0 an out-ut or bet'een t*e in-ut an0 t*e out-ut.
;. .*is lon,est -at* or t*e Gcritical -at*G can be re0uce0 by suitably
-lacin, t*e -i-elinin, latc*es in t*e arc*itecture.
=. .*e -i-elinin, latc*es can only be -lace0 across any feed-for2ard cutset
of t*e ,ra-*.
In or0er to e/-lain ite+ =% 'e nee0 to intro0uce ; 0efinitions.
) &utset A cutset is a set of e0,es of a ,ra-* suc* t*at if t*ese e0,es are
re+ove0 fro+ t*e ,ra-*% t*e ,ra-* beco+es 0isJoint .
) Iee01for'ar0 &utset A cutset is calle0 a fee01for'ar0 cutset if t*e
0ata +ove in t*e for'ar0 0irection on all t*e e0,es of t*e cutset. Ior
e/a+-le% t*e cutset use0 to -i-eline t*e IIR filter in Ii,. =.= is a fee01
for'ar0 cutset.
We can arbitrarily -lace latc*es on a fee01for'ar0 cutset of any IIR filter
structure 'it*out affectin, t*e functionality of t*e al,orit*+.
E/a+-le =.;.4 In the signal-flo2 graph *&7B+ sho2n in 7ig) C4.A *a+, the
computation time for each node is assumed to be 4 u)t,
*a+ Calculate the critical path computation time)
*b+ The critical path has been reduced to ; u)t) by inserting C4 e"tra delay
elements as sho2n in 7ig) C4.A *b+) Is this a !alid pipeliningY If not, obtain an
appropriate pipelined circuit 2ith critical path of ; u)t)
Solution
*a+ The critical path *the longest path bet2een any t2o latches+ is =8 -D
=H -t =< -D =X and its computation time is A u) t)
*b+ This is not a !alid pipelining) Let the dashed line in 7ig) ')<*b+ denote
' feed-for2ard cutset) Ae can see that only C4 latches are placed across the
PIPELINING OF FIR DIGITAL FILTERS 14
>a?
#l
#6
#3 AS
>b?
#2
D
-
D
#l
#6
#3 #$
>c?
Fig. 3.5 Si,nal1flo' ,ra-* for E/a+-le =.;.4.
1, PIPELINING AND PARALLEL PROCESSING
cutset) =lthough the critical path has been reduced to one-half of the orig-
inal system, the functionality has been changedR To obtain an appropriate
pipelining circuit, pipelining latches should be inserted on all the edges in the
feed-for2ard cutset) 7ig) 8)<:c; sho2s a !alid pipelined circuit that has critical
path of ; u)t)
Comments =dding delay elements at the feed-for2ard cutset in 7ig) 8)<:c;
leads to a ,-stage pipeline) In the ,-le!el pipelined system, the number of delay
elements in any path from the input to the output is increased by 4. )
=.;.4 Data51roadcast Structures
.*e critical -at* of t*e ori,inal =1ta- IIR filter can be re0uce0 'it*out intro1
0ucin, any -i-elinin, latc*es by trans-osin, t*e structure. .*e transposition
theorem states t*at
GReversin, t*e 0irection1 of all t*e e0,es in a ,iven SIL an0 interc*an,in,
t*e in-ut an0 out-ut -orts -reserves t*e functionality of t*e syste+.G
A =1ta- IIR filter is re-resente0 in SIL for+ in Ii,. =.@.
a % c
'@nF
---------~---------~~~
Fig. =.@ Si,nal1flo' ,ra-* re-resentation of t*e IIR filter.
.*e SIL of t*e trans-ose0 filter is s*o'n in Ii,. =.9 an0 its eBuivalent
bloc( 0ia,ra+ is s*o'n in Ii,. =.7.
'@nF -2 -2
\
E
Y
a % c
;@nF
=
Fig. =.9 .rans-ose0 SIL re-resentation of t*e IIR filter.
.*is lea0s to t*e data-broadcast structure '*ere 0ata are not store0 but
PARALLEL PROCESSING 1>
are broa0cast to all t*e +ulti-liers si+ultaneously. !otice t*at no' 'e *ave
a critical -at* of TM D T=, t*e sa+e as in Ii,. =.=.
;@nFJ----...-----I----- .
c
I-----'@nF
Fig. =.7 <ata1broa0cast structure of t*e IIR filter.
4.2.2 Fine57rain Pipelining
"et TM Q 46 units an0 TA Q ; units% an0 t*e 0esire0 cloc( -erio0 be %TM *
T=+>,, i.e.% 9 units. In t*is case t*e +ulti-lier is bro(en into ; s+aller units
'it* -rocessin, ti+es of 9 units an0 A units% res-ectively. !o' by -lacin, t*e
latc*es on t*e *ori:ontal cutset across t*e +ulti-lier% t*e 0esire0 cloc( s-ee0
can be ac*ieve0. .*is is referre0 to as fine-grain pipelining) A fine1,rain
-i-eline0 version of t*e =1ta- 0ata1broa0cast IIR filter is s*o'n in Ii,. =.8.
;@nF
A
I----
; ;
'@nF
Fig. 3.P Iine1,rain -i-elinin, of t*e IIR filter.
3.3 PARALLL PROCSSING
It is of interest to note t*at -arallel -rocessin, an0 -i-elinin, tec*niBues are
0uals of eac* ot*er% an0 if a co+-utation can be -i- eline0 % it can also be
-rocesse0 in -arallel. Bot* tec*niBues e/-loit concurrency available in t*e
co+-utation in 0ifferent 'ays. W*ile in0e-en0ent sets of co+-utations are
co+-ute0 in an interleave0 +anner in a -i-eline0 syste+% t*ey are co+-ute0
40 PIPELINING AND PARALLEL PROCESSING
usin, 0u-licate *ar0'are in -arallel -rocessin, +o0e.
4.4.1 Designing a Parallel FI3 S+stem
&onsi0er t*e =1ta- IIR filter 0escribe0 by >=.4?. .*is syste+ is a sin,le1in-ut
sin,le1out-ut >SIS? syste+ an0 is 0escribe0 by
y*n+ Q a"*n+ D b"*n - 4? D c"*n - ;?.
>=.A? .o obtain a -arallel -rocessin, structure% t*e SIS syste+ +ust be
converte0
into a MIM >+ulti-le1in-ut +ulti-le1out-ut? syste+. Ior e/a+-le% t*e fol1
lo'in, set of eBuations 0escribe a -arallel syste+ 'it* = in-uts -er cloc( cycle
>l.e.% level of -arallel -rocessin, L Q =?.
y*8-+
y*8- D 2F
y*8- D ;?
a"*8-+ D b"*8- - 4? D c"*8- -
;?
. a"*8- D 2F D b"*8-+ D c"*8- - 2F
. a"*8- D ;? D b"*8- D 4? D
c"*8-+)
>=.@?
Here - 0enotes t*e cloc( cycle. As can be seen% at t*e (1t* cloc( cycle t*e
= in-uts "*8-+, "*8- D 4? an0 "*8- D ;? are -rocesse0 an0 = sa+-les are
,enerate0 at t*e out-ut. Parallel -rocessin, syste+s are also referre0 to as
bloc- processing syste+s an0 t*e nu+ber of in-uts -rocesse0 in a cloc( cycle
is referre0 to as t*e bloc- si4e) Because of t*e MIM structure% -lacin, a
latc* at any line -ro0uces an effective 0elay of L cloc( cycles at t*e sa+-le
rate. Eac* 0elay ele+ent is referre0 to as a bloc- delay >also referre0 to as
"1slo'?. Ior e/a+-le% 0elayin, t*e si,nal "*8-+ by 4 cloc( cycle 'oul0 result
in "*8- - =? instea0 of "*8- - 4?% '*ic* *as been in-ut in anot*er in-ut line.
.*e bloc( arc*itecture for a =1-arallel IIR filter is s*o'n in Ii,. =.5 an0 its
0etails are s*o'n in Ii,. =.46.
MIM
SeBuential Syste+
=1Parallel Syste+
Fig. =.5 A bloc( -rocessin, e/a+-le.
!ote t*at t*e critical -at* of t*e bloc( or -arallel -rocessin, syste+ *as
re+aine0 unc*an,e0 an0 t*e cloc( -erio0 %T
cl-
+ +ust satisfyC
PARALLEL PROCESSING 41
;@3*D/F ;@3*D 2F ;@3*F
'@3*D/F
D
'@3*D2F
'@3*F
Fig. 3.10 Parallel -rocessin, arc*itecture for a =1ta- IIR filter 'it* bloc( si:e =.
@3.7F
But since = sa+-les are -rocesse0 in 4 cloc( cycle instea0 of =% t*e iteration
-erio0 is ,iven by
>=.7?
It is i+-ortant to un0erstan0 t*at in a -arallel syste+ Tcl- 22<2. TDample
'*ereas in a -i-eline0 syste+ Tcl- Q TDample) Ii,. =.44 s*o's a co+-lete -ar1
allel -rocessin, syste+ inclu0in, serial1to1-arallel an0 -arallel1to1serial con1
verters% s*o'n in 0etail in Ii,. =.4; an0 Ii,. =.4=% res-ectively.
!o' t*e Buestion arises '*y use -arallel -rocessin, '*en 'e can use
-i-elinin, eBually 'ell. W*y 0o 'e 'ant to 0u-licate so +any co-ies of
t*e *ar0'areZ .*e ans'er lies in t*e fact t*at t*ere is a fun0a+ental li+it
to -i-elinin, i+-ose0 by t*e in-utFout-ut >IF? bottlenec(s.
&onsi0er t*e c*i- set s*o'n in Ii,. =.4A. H) for e/a+-le% out-ut1-a0 0elay
-lus in-ut1-a0 0elay an0 t*e 'ire 0elay bet'een t*e t'o c*i-s is 8 nsec t*en
Tcl- *as to be ,reater t*an or eBual to 8 nsec. H t*e critical -at* co+-utation
ti+e is less t*an 8 nsec% t*en t*e IF6 boun0 0o+inates an0 t*is syste+ is
communication bounded) .*is essentially +eans t*at -i-elinin, can be use0
only to t*e e/tent suc* t*at t*e critical -at* co+-utation ti+e is li+ite0 by
t*e co++unication or IF6 boun0% an0 once t*is *as been reac*e0% -i-elinin,
can no lon,er increase t*e s-ee0. At t*is -oint% -i-elinin, can be co+bine0
'it* -arallel -rocessin, to furt*er increase t*e s-ee0 of t*e arc*itecture. As
i
--------lIS
42 PIPELINING AND PARALLEL PROCESSING
/>n?
Serial1to1 Parallel
&loc( Perio0Q.FA
&a -ie Perio0 &onverter
~-----------------,
I
I
T>< I
I
I
I
/>A(S />A( ;? /> (Sl? />A(?
I
I
I
I
I
I
y>A(?
&loc (Perio0Q.
MIM
y>A(Sl?
Parallel1to1Serial y>n?
Syste+
y>A(S;?
&onverter
y>A(S=?
Fig. =.44 &o+-lete -arallel -rocessin, syste+ 'it* bloc( si:e A.
/>n?
T>< T>< T><
&aple $erIod
T><
/>A(S=? />A(S;? />A(Sl? />A(?
Fig. =.4; A serial1to1-arallel converter.
an e/a+-le% consi0er t*e -arallel filter in Ii,. =.46. Assu+e t*e co+-utation
ti+e for 4 +ulti-lication *TM+ to be 46 u.t. an0 t*e co+-utation ti+e for 4
a00er *T=+ to be ; u.t. Iine ,rain -i-elinin, can be a--lie0 to t*e -arallel
filter to furt*er re0uce t*e critical -at*. In t*is case% t*e +ulti-lier is bro(en
u- into t'o s+aller units% +l an0 =2) 'it* co+-utation ti+e 7 u.t. an0 = u.t.%
res-ectively% an0 -i-elinin, latc*es are -lace0 on t*e *ori:ontal cutsets across
t*e +ulti-liers as s*o'n in Ii,. =.4@. Alt*ou,* t*ese *ori:ontal cutsets +ay
a--ear to be invali0% t*ey are% *o'ever% vali0 since cuttin, t*e e0,es of t*ese
cutsets 'ill lea0 to 0isJoint co+-onents. .*erefore% by co+binin, -arallel
-rocessin, an0 -i-elinin,% t*e sa+-le -erio0 *as been re0uce0 to
2 P2
Titer Q Tsample Q LMTcl- Q X*TM S ,T=+)
>=.8?
Parallel -rocessin, is also use0 for re0uction of -o'er consu+-tion '*ileH
usin, slo' cloc(s. .*is re0uces t*e -o'er consu+-tion 0ue to t*e cloc( lines
as co+-are0 'it* a -i-eline0 syste+% '*ic* nee0s to be o-erate0 usin, a
PARALLEL PROCESSING 43
T>< .FA .FA
Fig. =.4= A -arallel1to1serial converter.
&*i-X
1
-a0 a0
&*i-;
L/E 2 (.JcJoJJuJnJicJatJioJnJ--l i>p
(coputation
Fig. =.4A A c*i- set.
/>=(S;? />=(Sl? />=(?
%2
D
x(3&-l)
%l
%2
y>=(S;?
y>=(Sl?
%l
%2
y>=(?
Fig. =.4@ &o+bine0 fine1,rain -i-elinin, an0 -arallel -rocessin, for =1ta- IIR filter.
>=.5?
Q
4+ PIPELINING AND PARALLEL PROCESSING
faster cloc( for eBuivalent t*rou,*-ut or sa+-le s-ee0. Iurt*er+ore% use of
fine1,rain -i-elinin, suc* as bit1level -i-elinin, +ay not be 0esirable% since t*e
*ar0'are over*ea0 an0 t*e latency increase 0ue to latc*es +ay be si,nificant.
3.! PIPLlNING AND PARALLL PROCSSING FOR LO/ PO/R
.*ere are t'o +ain a0vanta,es of usin, -i-elinin, an0 -arallel -rocessin,C
) Hi,*er s-ee0
) "o'er -o'er
It *as alrea0y been s*o'n t*at -i-elinin, an0 -arallel -rocessin, can in1
crease t*e sa+-le s-ee0. !o' consi0er use of t*ese tec*niBues for lo'erin,
t*e -o'er consu+-tion '*ere sa+-le s-ee0 0oes not nee0 to be increase0
O4AP.
Before +ovin, on% t'o for+ulas are revie'e0C one for co+-utin, t*e -ro-1
a,ation 0elay of &MS circuits an0 t*e ot*er for co+-utin, t*e -o'er con1
su+-tion. .*e -ro-a,ation 0elay Tpd is associate0 'it* c*ar,in, an0 0is1
c*ar,in, of t*e various ,ate an0 stray ca-acitances in t*e critical -at*. Ior
&MS circuits% t*e -ro-a,ation 0elay can be 'ritten asC
T - Ccharge %o
pd - -*%o - @IIt+, @
'*ere Ccharge 0enotes t*e ca-acitance to be c*ar,e0F0isc*ar,e0 in a sin,le
cloc( cycle% i.e.% t*e ca-acitance alon, t*e critical -at*% %o is t*e su--ly
volta,e an0 Plit is t*e t*res*ol0 volta,e. Para+eter - is a function of tec*nolo,y
-ara+eters tt, I!. an0 C
o4
Z .*e -o'er consu+-tion of a &MS circuit can
be esti+ate0 usin, t*e follo'in, eBuation%
>=.46? .
'*ere C
;L;+
' 0enotes t*e total ca-acitance of t*e circuit% %o is t*e su--ly
volta,e% an0 < is t*e cloc( freBuency of t*e circuit. !ote t*at >=.5? an0 >=.46?
are base0 on si+-le a--ro/i+ations an0 are a--ro-riate only for a Ist1or0er
analysis.
3.!.1 Pi&eli"i"g 5$r L$% P$%er
As +entione0 earlier% -i-elinin, can be use0 to re0uce t*e -o'er consu+-tion
of a IIR filter. "et
>=.44?
re-resent t*e -o'er consu+e0 in t*e ori,inal filter. It s*oul0 be note0 t*at
< .l %'*ere Tse( is t*e cloc( -erio0 of t*e ori,inal seBuential filter. !o'
ZZ (
PIPELINING AND PARALLEL PROCESSING FOR LO6 PO6ER 4-
consi0er an M1Ievel -i-eline0 syste+% '*ere t*e critical -at* is re0uce0 to
2of its ori,inal len,t* an0 t*e ca-acitance to be c*ar,e0F0isc*ar,e0 in a
sin,le cloc( cycle is re0uce0 to CC@M6gZ) !otice t*at t*e total ca-acitance 0oes
not c*an,e. I! t*e sa+e cloc( s-ee0 is +aintaine0% i.e.% t*e cloc( freBuency
< is +aintaine0% only a fraction of t*e ori,inal ca-acitance% Cc@M6)@, is bein,
c*ar,e0F 0isc*ar,e0 in t*e sa+e a+ount of ti+e t*at 'as -reviously nee0e0 to
c*ar,eF0isc*ar,e t*e ca-acitance% Ccharge >see Ii,. =.49?. .*is i+-lies% t*en%
t*at t*e su--ly volta,e can be re0uce0 to ,S%
o
, '*ere%8 is a -ositive constant
less t*an 4. Hence% t*e -o'er consu+-tion of t*e -i-eline0 filter 'ill be
>=.4;?
.*erefore% t*e -o'er consu+-tion of t*e -i-eline0 syste+ *as been re0uce0
by a factor of %8; as co+-are0 'it* t*e ori,inal syste+.
SeBC
>Eo?
#E3?
.seB
Fig. =.49 &ritical -at* len,t*s for ori,inal an0 =1level -i-eline0 syste+s.
.*e -o'er consu+-tion re0uction factor% %8% can be 0eter+ine0 by e/a+1
inin, t*e relations*i- bet'een t*e -ro-a,ation 0elay of t*e ori,inal filter an0
t*e -i-eline0 filter. .*e -ro-a,ation 0elay of t*e ori,inal filter is ,iven by
Ccharge%1
Tse( Q -*%o - M;$20
.*e -ro-a,ation 0elay of t*e -i-eline0 filter is ,iven by
>=.4=?
6,S%o
T
piP
E -*,S%o - %t+, Z
>=.4A?
It s*oul0 be note0 t*at t*e cloc( -erio0% T
cl-
, is usually set eBual to t*e
+a/i+u+ -ro-a,ation 0elay% TE5) in a circuit. Since t*e sa+e cloc( s-ee0
is +aintaine0 for bot* filters% fro+ >=.4=? an0 >=.4A?% t*e follo'in, Bua0ratic
eBuation can be obtaine0 to solve for U=%
>=.4@?
nce %8 is obtaine0% t*e re0uce0 -o'er consu+-tion of t*e -i-eline0 filter can
be co+-ute0 usin, >=.4;?.
E/a+-le =.A.4 Consider the L-tap 7IR filter sho2n in 7ig) =.@' and its fine-
grain pipelined !ersion sho2n in 7ig) =.8. =ssume that the multiplication
operation ta-es 'M u)t) and the addition operation ta-es ; u)t) 7or po2er
41 PIPELINING AND PARALLEL PROCESSING
estimation purposes, assume that the capacitance of the multiplier is @ times
that of an adder) In the fine-grain pipelined filter, the multiplier is bro-en into
, paris, +l and m,, 2ith computation time of 9 u)t) and A u)t) respecti!ely,
2ith capacitance 1 times and / times that of an adder, respecti!ely) =ssume
the de!ice threshold !oltage to be 0.1 O. =lso assume the nonpipelined filter
to be operated at the supply !oltage @. a O.
*a+ Ahat is the supply !oltage of the pipelined filter if the cloc- period
remains unchangedY
*b+ Ahat is the po2er consumption of the pipelined filter as a percentage
of the original filterY
Solution
*a+ Let BM be the capacitance of 4 multiplier and B= be the capacitance
of 4 adder) 7or the original filter, the charging capacitance along the critical
path is
>=.49?
7or the pipelined filter, the charging capacitance along the critical path is
>=.47?
2here B
=
F and B
=2
are capacitances for parts +l and +; of 4 multiplier
respecti!ely) $otice the pipelining le!el M Q / and the charging capacitance
of the pipelined filter is one-half of that of the original filter) =ssume the
pipelined filter is operated at supply !oltage ,S%o) &ubstitute M QQ ;% %o Q @.6%
!t Q 6.9 into >8.4@?C
&ol!e >8.48? to get
@6%8; 1 =4.=9%8 S 6.7; Q . >=.48?
%8 Q 6.96==% or %8 Q 6.6;=5 >=.45?
$ote that %8 Q 6.6;=5 iN infeasible since the supply !oltage for this case *M)''LH
%+ is less than the threshold !oltage and the de!ice is off all the time) There-
fore, the supply !oltage of the pipelined filter should be
OEiE Q ),OL E =.649@ O. >=.;6?
*b+ &ince the total capacitance of the pipelined filter is the same as the
original filter and the ; filters are operated at the same cloc- period, from
>5.4;?%
Ratio Q %8; Q =9.AY .) >=.;4?
4.4.2 Parallel Processing $or Lo6 Po6er
Parallel -rocessin,% li(e -i-elinin,% can re0uce t*e -o'er consu+-tion of a
syste+ by allo'in, t*e su--ly volta,e to be re0uce0. In an "1-arallel syste+%
t*e c*ar,in, ca-acitance 0oes not usually c*an,e '*ile t*e total ca-acitance
LT
PIPELINING AND PARALLEL PROCESSING FOR LO6 PO6ER 44
is increase0 by L ti+es. In or0er to +aintain t*e sa+e sa+-le rate% t*e cloc(
-erio0 of t*e "1-arallel circuit +ust be increase0 to LT
De(
, '*ere T
De(
is t*e
-ro-a,ation 0elay of t*e seBuential circuit ,iven by >=.4=?. .*is +eans t*at
Ccharge is c*ar,e0 in ti+e LTse( rat*er t*an in ti+e Tse() In ot*er 'or0s%
t*ere is +ore ti+e to c*ar,e t*e sa+e ca-acitance >see Ii,. =.47?. .*is +eans
t*at t*e su--ly volta,e can be re0uce0 to ,S%o)
SeBC @:oF
=.seB
"Q=C
=.se,
=.se,
Fig. =.47 &ritical -at* len,t*s for seBuential an0 =1-arallel syste+s.
.*e -ro-a,ation 0elay consi0erations can a,ain be use0 to co+-ute t*e
su--ly volta,e of t*e "1-arallel syste+. .*e -ro-a,ation 0elay of t*e ori,inal
syste+ is ,iven by >=.4=?% '*ile t*e -ro-a,ation 0elay of t*e "1-arallel syste+
is ,iven by
Ccharge,S%o
se( Q -*,S%o - !t+,@
>=.;;?
Iro+ >=.4=? an0 >=.;;?% t*e follo'in, Bua0ratic eBuation can be obtaine0 to
co+-ute %8C
L*,S%o - !tY Q ,S*%o - !t+,)
>=.;=?
nce %8 is co+-ute0% t*e -o'er consu+-tion of t*e "1-arallel syste+ can be
calculate0 as
P
par
Q
*LCcharge+ *,S%1+, ! >=.;A?
1 ,S,Ccharge %o
2
<
Q
,S,P
De(
,
'*ere P
se(
is -o'er consu+-tion of t*e seBuential syste+ ,iven by >=.44?.
.*erefore% as in t*e -i-eline0 syste+% t*e -o'er consu+-tion of t*e "1-arallel
syste+ *as been re0uce0 by a factor of %8; as co+-are0 'it* t*e ori,inal
seBuential syste+.
E/a+-le =.A.; Consider a <-tap 7IR filter sho2n in 7ig) a)'S:a+ and its
,-parallel !ersion in =. 'S*b+) The parallel filter lias e"actly ; copies of the
original filter) The dashed lines in 7ig) =.48 denote the critical path) =ssume
that the multiplication operation ta-es 8 u)t) and addition operation ta-es
' 8.;) 7or po2er calculation purposes, assume that the capacitance of the
multiplier is 8 times that of an adder) The t2o architectures are operated at
4, PIPELINING AND PARALLEL PROCESSING
;@nF
-----------------------------------~-I
.
.
.
I I
'@nF
@aF
/>;(? 1111111111111111111111%
/>;(Sl?
W1111 y>;(Sl?
I
-----------------~
W1111111 ..... y>;(?
/>;(?
######1
>b?
A
y>;(Sl?
/>;(Sl?
c
>c?
Fig.3.1, >a? A A1ta- IIR filter. >b? A ;1-arallel filter. >c? An area1efficient ;1-ara4lel
filter.
PIPELINING AND PARALLEL PROCESSING FOR LO6 PO6ER 4>
the sample period g u)i) =ssume the de!ice threshold !oltage to be M)<H %)
=lso assume the se(uential filter to be operated at an initial supply !oltage of
8)8 %)
*a+ Ahat is the supply !oltage of the ,-parallel filterY
*b+ Ahat is the po2er consumption of the ,-parallel filter as a percentage
of the original filterY
Solution
*a+ Let CM be the capacitance of 4 multiplier and C= be the capacitance of
1 adder) 7or the se(uential filter, the charging capacitance along the critical
path is
Ccharge Q CM D C= Q LC=) *8),H+
7or the ,-parallel filter, the charging capacitance along the critical path is
>=.;9?
=ssume the parallel filter is operated at the supply !oltage ,S%o) $otice that
the charging capacitances for the se(uential filter and the ,-parallel filter are
not e(ual) Ae cannot use >=.;=? directly) 7rom >=.4=?% the propagation delays
of the / filters are gi!en by
Tse(
Q
LC=%
O
>=.;7?
-*%o - O;$20
'MC=,S%
o
Tpar
Q
-*,S%o - O;$20
The critical path for se(uential filter is 4 multiply and 4 add, i)e), g
u)t), 2hich implies that the sample period Tsample E Tse() Combining the
fact
Tpar Q ,Tsample Q ,Tse( 2ith >=.;7?% 2e ha!e
H,S*%o - O;$2 Q L*,S%o - O;$2.
&ubstitute %o Q =.= %, O; Q 6.A@ % into >=.;8? to get
58.64%8; 1 97.=A;@%8 D 4.8;;@ Q .
>=.;8?
>=.;5?
&ol!ing >=.;5?% 2e obtain
%8 Q 6.9@85% or %8 Q 6.6;8;. >=.=6?
The only feasible supply !oltage for the ,-parallel filter is ,S%o Q ;.47A=7 %)
*The other root %8 Q 6.6;8; is discarded since ,S%o Q 6.65=69 % is less than
the threshold !oltage)+
*b+ 7rom *8),<+,
Ratio Q %8; Q A=.A4Y .)
>=.=4?
,0 PIPELINING AND PARALLEL PROCESSING
".ample 4.4.4 Consider the <-tap 7IR filter in 7ig) 8)'S*a; and its ,-
parallel !ersion in 7ig) =. 'S*c;) The ,-parallel filter in 7ig) 8)'S*c+ is more
efficient than the parallel filter in 7ig) 8)'S*b; in the sense that it re(uires
X multipliers as opposed to 8 re(uired by the parallel filter in 7ig) =.
'S*b;)
Vse the same assumptions as in e"ample =.A.;. 1ur obFecti!e is to compare
the po2er consumption of the se(uential filter and its ,-parallel !ersion for a
sample period of 5 u) t) The ,-parallel filter can be operated at a lo2er supply
!oltage such that it achie!es an effecti!e sample period of 9 u) t) but this supply
!oltage must be greater than or e(ual to M)L %)
*a+ Tracing the computation paths, !erify that the ,-parallel structure cor-
rectly computes the outputs y*,-+ and y*,- D 4?.
*b+ Calculate the supply !oltage at 2hich the ,-parallel filter should be op-
erated)
*c+ Vsing the result of *b+, calculate the po2er consumption of the ,-parallel
) filter as a percentage of the se(uential filter)
Solution
*a+ The system e(uation for the gi!en <-tap 7IR filter is as follo2s
y*n+ Q ho"*n+ D h'"*n - 4? D h,"*n - ;? D h8"*n - =?. >=.=;?
Defining the outputs at node A) P) and Cas K=, KD, and Ko, respecti!ely, 2e
ha!e
K= Q h
o
"*,-+ D h,"*,- - ;?% >=.==?
KD Q *ho D hI+*"*,-+ D "*,- D 4?? D *h, D h8+*"*,- - ;? D "*,- - 4??%
Ko Q hlI*,- D 4? D h8"*,- - 4?.
Then
y*,-+ K= D Ey1 after 4 bloc- delayJ %3.3+$
. h
o
"*,-+ D hlI*,- - 4? D h,"*,- - ;? D h8"*,- - =?%
y*,- D 2F Q KD - K= - yo
G ho"*,- D 4? D hlI*,-+ D h,"*,- 14? D h8"*,- - ;?.
It is easy to !erify that the proceeding e(uations satisfy the system e(uation
>=. =;W.
*b+) Let !M denote the capacitance of 4 multiplier and &= denote the
capacitance of 4 adder) @7or the se(uential filter, the charging capacitance
along
the critical path is gi!en by >=. ;@W. 7or its ,-parallel !ersion, the charging
capacitance along the critical path is
>=.=@?
7rom Q"ample =.A.;% 2e already -no2 that Tsample Q Tse( Q 5 u)t) In order to
PIPELINING AND PARALLEL PROCESSING FOR LO6 PO6ER ,1
operate the ,-parallel filter at the sample period of 5 u)t), Tpar Q ,Tsample .
,Tse( must be satisfied) This leads to
; . 5&=%1 ',C=,S%
1
-*%o - !t+, Q -*,S%o - !t+, )
>=.=9?
&ubstituting %o.8)8 %, !t.1)<H % into >=.=9?% 2e get
=;.97%8; 1 ;@.4@@%8 D 6.967@ Q . >=.=7?
&ol!ing >=.=7?% 2e get
%8 Q 6.7A@% or %8 Q 6.6;@. >=.=8?
The ,-parallel filter should be operated at the supply !oltage ,S%o E ;.A@8@ %)
*The other root is not !alid because ,S%oE 6.68;@ % is less than the threshold
!oltage+)
*c+ Let cI#i be the total capacitance for the <-tap 7IR filter) Let ciY
be the total capacitance for the ,-parallel filter) 7rom *8)'M+, the po2er con-
sumption for <-tap 7IR filter and that for ,-parallel filter are as follo2s
P
se( Q
C
*se(+!#,' p
par Q
c*par+!, <
par,
>=.=5?
total 6 se(, total par
2here ci#i Q <CM D 8C= Q 8HC=, ciY Q XCM D TC= Q HHC=) 7rom
part *b+, 2e -no2 that Ipar Q RIse( Q RIs, 2here Is is the sample fre(uency)
Therefore, 2e ha!e
r)#
>=.A6?
Ppar
Therefore,
R
a
ti
to-
P
par
-
6.@@@%8;
-
1
)
A= 9Y))
-
r
-
)# 8H
6
>=.A4?
!ote t*at t*e structures in Ii,. =.48>b? an0 Ii,. =.48>c? consu+e si+ilar
-o'er but t*e structure in Ii,. =.48>c? consu+es +uc* less area.
4.4.4 Com*ining Pipelining and Parallel Processing
.*e tec*niBues of -i-elinin, an0 -arallel -rocessin, can be co+bine0 for lo'er
-o'er consu+-tion. .*e -rinci-les re+ain t*e sa+e% "e.% -i-elinin, re0uces
. t*e ca-acitance to be c*ar,e0F0isc*ar,e0 in 4 cloc( -erio0 an0 -arallel -ro1
cessin, increases t*e cloc( -erio0 for c*ar,in,F0isc*ar,in, t*e ori,inal ca-ac1
itance >see Ii,. =.45?. .*e -ro-a,ation 0elay of t*e -arallel1-i-eline0 filter is
,2 PIPELINING AND PARALLEL PROCESSING
4T 4T
.
>a?
4T 4T
>b?
Fig.3.1> >a? &*ar,in,F0isc*ar,in, of entire ca-acitance in cloc( -erio0 .. >b? &*ar,1
in,F0isc*ar,in, of ca-acitance in cloc( -erio0 =. usin, a =1-arallel filter an0 ; sta,es
of -i-elinin,.
obtaine0 as follo's
LTpd Q *Ccharge>
M
+*8%o Q LCcharge%o)
-*,S%o - Oi$2 -*%o - Oi$2
>=.A;?
Usin, t*is eBuation% t*e follo'in, Bua0ratic eBuation is obtaine0
M L*,S%o - Oi$2 Q *8*%o - Oi$2 >=.A=?
'*ic* can be use0 to solve for %8. As an e/a+-le% consi0er t*e case '*en L .
M E ;% %o E @ E an0 Oi E 6.9 E. Usin, >=.A=?%%8 is foun0 to be a--ro/i+ately
6.A% '*ic* +eans t*at t*e -o'er consu+-tion can be re0uce0 by a factor of
6.49. It s*oul0 be note0 t*at t*e su--ly volta,e cannot be lo'ere0 in0efinitely
by a--lyin, +ore an0 +ore levels of -i-elinin, an0 -arallelis+. .*ere is a
lo'er boun0 on t*e su--ly volta,e t*at is 0ictate0 by t*e -rocess -ara+eters
an0 noise +ar,ins.
3., CONCLUSIONS
.*is c*a-ter *as a00resse0 t*e +et*o0olo,ies of -i-elinin, an0 -arallel -ro1
cessin, in t*e conte/t of nonrecursive 0i,ital filters. Bot* a--roac*es can be
use0 to increase t*e sa+-lin, freBuency of a filter. In -i-e linin,% -i-elinin,
latc*es are -lace0 across t*e fee01for'ar0 cutsets in t*e SIL an0 t*e co+-u1
tation ti+e of t*e critical -at* is re0uce0. As a result% t*e cloc( freBuency can
be increase0 an0 *ence t*e sa+-lin, rate is increase0. In -arallel -rocessin,%
t*e *ar0'are for t*e ori,inal serial syste+ is 0u-licate0 an0 t*e resultin, sys1
te+ is an MIM -arallel syste+. In t*is case% t*e cloc( freBuency stays t*e
sa+e% an0 t*e sa+-lin, freBuency is increase0. Use of -i-elinin, an0 -arallel
-rocessin, for lo'1-o'er 0esi,n *as been illustrate0. .*e basic i0ea is to
tra0e t*e increase0 sa+-lin, s-ee0 for re0uction of -o'er consu+-tion usin,
lo'er su--ly volta,e. Parallel IIR filters can be i+-le+ente0 usin, less t*an
PROPLEMS ,3
linear increase in *ar0'are 'it* res-ect to t*e level of -arallelis+ usin, fast
al,orit*+s >see &*a-ter 5?. Pi-elinin, an0 -arallel -rocessin, of recursive
0i,ital filters usin, loo(1a*ea0 tec*niBues are a00resse0 in &*a-ter 46.
3.3 PRO-LMS
4. &onsi0er t*e <IL s*o'n in Ii,. =.;6. Assu+e t*e ti+e reBuire0 for
eac* o-eration is T.
Fig. 3.20 <ata1flo' ,ra-* for Proble+ 4.
>a? W*at is t*e +a/i+u+ ac*ievable sa+-le rate in t*is syste+Z
>b? Place -i-elinin, re,isters at a--ro-riate fee01for'ar0 cutsets suc*
t*at t*e sa+-le rate of t*is syste+ can be a--ro/i+ately eBual to
liT. &learly i0entify t*e fee01for'ar0 cutsets an0 count t*e total
nu+ber of -i-elinin, re,isters reBuire0.
;. &onsi0er t*e II3 0i,ital filter bloc( 0ia,ra+ s*o'n in Ii,. =.;4. Assu+e
t*at t*e +ulti-lication o-eration ta(es ; u.t. an0 t*e a00ition o-eration
ta(es 4 u.t.
'@nF
Fig. =.;4 <i,ital II3 filter for Proble+ ;.
>a? &alculate t*e critical -at* of t*e 11 filter.
L
,+ PIPELINING AND PARALLEL PROCESSING
.
>b? Pi-eline t*e IIR filter by -lacin, latc*es at a--ro-riate fee01for'ar0
cutsets to re0uce t*e critical -at* to = u.t.
=. &onsi0er t*e nonrecursive si,nal -rocessin, structure s*o'n in Ii,. =.;;.
Iin0 an eBuivalent 0ata1broa0cast i+-le+entation of t*is al,orit*+ to
Fig. =.;; <ata1flo' ,ra-* for Proble+ =.
i+-rove t*e s-ee0 of t*e syste+. <o not use any a00itional latc*es.
&alculate t*e t*rou,*-ut or sa+-le s-ee0 of t*e broa0cast arc*itecture.
>HintC .rans-ose o-eration is not a--licable to t*e ;1in-ut l1out-ut
syste+ in Ii,. =.;;.?
A. &onsi0er t*e ;< IIR 0i,ital filter of si:e = / =
2 2
y*nl@ n,+ Q 6UiF"*nl - i, n, - J?
iGO KGO
s*o'n in Ii,. =.;=.
btain an eBuivalent 0ata1broa0cast IIR filter structure.
@. &onsi0er a 0irect1for+ i+-le+entation of t*e IIR filter
y*n+ Q a"*n+ D b"*n - ;? D c"*n - =?. >=.AA?
Assu+e t*at t*e ti+e reBuire0 for 4 +ulti-ly1a00 o-eration is T.
>a? Pi-eline t*is filter suc* t*at t*e cloc( -erio0 is a--ro/i+ately T.
>b? <ra' a bloc( filter arc*itecture for a bloc( si:e of t*ree. Pi-eline
t*is bloc( filter suc* t*at t*e cloc( -erio0 is about T. W*at is t*e
syste+ sa+-le rateZ
>c? Pi-eline t*e bloc( filter in -art >b? suc* t*at t*e cloc( -erio0 is
about TF;. S*o' t*e a--ro-riate cutsets an0 label t*e out-uts
clearly. W*at is t*e syste+ sa+-le rate no'Z
9. Re-eat Proble+ @ usin, t*e broa0cast filter arc*itecture. In eac* case%
*o' +any latc*es can you saveZ
PROPLEMS ,-
/>nl%n;14?
/>nl%n;1;?
Fig. =.;= .'o10i+ensional IIR filter for Proble+ A.
7. &onsi0er t*e 9t*1or0er IIR filter
y*n+ Q a"*n+ D b"*n - A? D c"*n - 9?.
>=.A@? >a? <ra' a to-olo,y for t*is filter suc* t*at t*e cloc( -erio0 is
li+ite0
by 4 +ulti-ly1a00 ti+e. <o t*is 'it*out a00in, any ne' latc*es.
>b? <ra' a bloc( arc*itecture for t*e structure in >a? for bloc( si:e of
=. Rearran,e t*is bloc( structure suc* t*at t*e cloc( -erio0 of t*is
bloc( structure is one1fourt* of a +ulti-ly1a00 ti+e. Assu+e t*at
t*e +ulti-ly co+-utation ti+e is t*ree ti+es t*e a00 co+-utation
ti+e.
8. &onsi0er t*e recursive filter
"*n+ Q a"*n - ;? D u*n+) >=.A9?
>a? Pi-eline t*is +ulti-ly1a00 o-erator by ; sta,es% by first brea(in,
u- t*e +ulti-ly1a00 o-eration into ; co+-onents an0 by re0is1
tributin, t*e 0elay ele+ents in t*e loo-.
>b? Interleave t*e co+-utation in >=.A9? 'it* >=.A7?
y*n+ EE by*n - ;? D !*n+) >=.A7?
usin, t*e sa+e *ar0'are. !o' -i-eline t*e +ulti-ly1a00 o-eration
by A sta,es. S*o' all t*e circuits nee0e0 for t*is i+-le+entation.
5. It is necessary to re0uce t*e -o'er consu+-tion of a syste+ by at least
@ ti+es usin, -i-elinin,. Ior t*e t*res*ol0 volta,e of 6.A E an0 initial
SX PIPELlNlNG AND PARALLEL PROCESSING
su--ly volta,e of @ E% at '*at level s*oul0 t*e syste+ be -i-eline0Z
W*at is t*e su--ly volta,e of t*e -i-eline0 syste+Z
46. .'o i+-le+entations of an 81ta- IIR filter are s*o'n in Ii,. =.;A.
Assu+e t*e critical -at* >or t*e -ro-a,ation 0elay? of a +ulti-lier to
yen?
@aF
>b?
Fig. =.;A .'o i+-le+entations of an 81ta- IIR filter in Proble+ 46.
be t'ice t*at of an a00er% i.e.% Tm Q ,T
a
) .*erefore% t*e c*ar,in, ca1
-acitance of a +ulti-lier is t'ice t*at of an a00er. Iurt*er assu+e t*at
t*e total ca-acitance of a +ulti-lier is 46 ti+es t*at of an a00er% i.e.%
C
=
Q IOCa. .*e critical -at* of t*e 0irect1for+ structure in Ii,. =.;A>a?
is Tm D 0Ta Q LT
a
) .*e structure in Ii,. =.;A>b? can be o-erate0 'it*
a lo'er su--ly volta,e to +eet t*e cloc( -erio0 or sa+-lin, -erio0 con1
straint of LT
a
Z .*us% t*e structure in Ii,. =.;A>b? can be use0 to re0uce
t*e -o'er consu+-tion. Assu+e t*at t*e structure in Ii,. =.;A>a? is
o-erate0 'it* a su--ly volta,e of A E. Assu+e t*e tec*nolo,y t*res*1
ol0 volta,e to be 6.@ E. .*e su--ly volta,e +ust be ,reater t*an 4.; E
to ac*ieve t*e acce-table noise +ar,in.
W*at is t*e +ini+u+ su--ly volta,e at '*ic* t*e structure s*o'n in
Ii,. =.;A>b? can be o-erate0 to ac*ieve t*e 0esire0 sa+-lin, -erio0
of LTaY &alculate t*e -ercenta,e of re0uction in -o'er consu+-tion
for t*e structure in Ii,. =.;A>b? as co+-are0 'it* t*at in Ii,. =.;A>a?.
!e,lect t*e -ro-a,ation 0elay an0 ca-acitance of 0elay ele+ents in cal1
culation of critical -at* or -o'er consu+-tion.
PROPLEMS ,4
11. &onsi0er a 0ata-at* 'it* a total ca-acitance of Ctotal) .*is 0ata-at*
is -i-eline0 by M levels. "et Clatch re-resent t*e total ca-acitance of
t*e latc*es use0 for 4 -i-elinin, sta,e. .*e -i-eline0 syste+ is o-erate0
'it* lo'er su--ly volta,e to re0uce t*e -o'er consu+-tion. Assu+e
bot* syste+s are o-erate0 at sa+e s-ee0 an0 assu+e t*e -ro-a,ation
0elay of t*e latc* to be ne,li,ible. "et Ctotal Q 'MClatch, %dd Q A E an0
M; Q 6.9 E. &alculate t*e -o'er consu+-tion of t*e -i-eline0 syste+
as a -ercenta,e of t*at of t*e seBuential syste+ for 0ifferent values of
M. W*at is t*e o-ti+al M for least -o'er consu+-tionZ
4;. &alculate t*e -o'er re0uction of a co+-utation if it is -i-eline0 by A
sta,es an0 -rocesse0 usin, a bloc( structure 'it* bloc( si:e A% but is
o-erate0 'it* t*e sa+e sa+-le rate as t*e ori,inal syste+. Assu+e t*at
t*e ori,inal syste+ 'as o-erate0 at a su--ly volta,e of @ E% an0 assu+e
t*e t*res*ol0 volta,e M; of t*e &MS -rocess to be 6.A E. &alculate
t*e -o'er consu+-tion of t*e -arallel1-i-eline0 syste+ as co+-are0
'it* t*e ori,inal syste+. W*at is t*e o-eratin, su--ly volta,e of t*e
-arallel1-i-eline0 syste+Z
4=. &onsi0er an FI3 0i,ital filter o-erate0 'it* a cloc( or sa+-le -erio0 T.
.*is -roble+ can be solve0 'it*out (no'in, t*e or0er of t*e filter. .*e
filter circuit is o-erate0 'it* a su--ly volta,e of @ E usin, a tec*nolo,y
'it* t*res*ol0 volta,e of 6.A E. .*e consu+er 0e+an0 i+-oses t*e
constraint t*at t*e sa+-le s-ee0 of t*e filter be increase0 by A ti+es%
i.e.% t*e ne' syste+ s*oul0 ac*ieve a sa+-le -erio0 of TF<) In a00ition%
t*e -o'er s*oul0 also be re0uce0% -ossibly at t*e e/-ense of increasin,
t*e area. .o re0uce t*e -o'er consu+-tion% a lo'er su--ly volta,e can
be use0. Assu+e t*e availability of a variable volta,e su--ly t*at can
,enerate volta,es fro+ 4.6 to @ E. .*e su--ly volta,e cannot be less
t*an 4.6 E.
.*e si+ultaneous s-ee0 increase an0 -o'er re0uction can be ac*ieve0
by usin, bloc( -rocessin, usin, bloc( si:e t*at is a +ulti-le of A. Ior
e/a+-le% 'e can use a -arallel FI3 filter 'it* bloc( si:e 8 an0 o-er1
ate t*is syste+ 'it* cloc( -erio0 ,T to ac*ieve a sa+-le -erio0 T ><)
Si+ilarly% 'e can use -arallel filters 'it* bloc( si:e <p an0 o-erate t*e
filter 'it* cloc( -erio0 pT to ac*ieve sa+-le -erio0 T>< '*ere p is any
-ositive inte,er. .*ese filters can t*en be o-erate0 'it* lo'er su--ly
volta,e to re0uce -o'er consu+-tion.
>a? W*at value of p or bloc( si:e s*oul0 be c*osen to obtain a circuit
'it* t*e least -o'er consu+-tionZ &alculate t*e su--ly volta,e
an0 -o'er consu+-tion for t*is E.
>b? I! t*e ,oal is not to re0uce t*e -o'er% but to re0uce t*e area1-o'er
-ro0uct% '*at value of p or bloc( si:e s*oul0 be c*osenZ &alculate
t*e su--ly volta,e% -o'er consu+-tion% an0 area1-o'er -ro0uct
,, PIPELINING AND PARALLEL PROCESSING
for t*is E. Ior area calculation% assu+e t*at t*e cost of a00ers is
ne,li,ible co+-are0 to t*e cost of +ulti-liers.
4A. Pi-eline t*e circuit s*o'n in Ii,. =.48>c? by -lacin, latc*es at a--ro1
-riate fee01for'ar0 locations suc* t*at t*e critical -at* is re0uce0 by a
factor of ; to 9 U.t. &onsi0er t*e ca-acitance of a circuit ele+ent to be
-ro-ortional to its -at* len,t*. &alculate t*e -o'er consu+-tion of t*e
circuit as a -ercenta,e of t*e ori,inal seBuential circuit in Ii,. =.48>a?.
>Use t*e sa+e -ara+eters as in E/a+-les =.A.; an0 =.A.=?.
4@. &onsi0er -o'er consu+-tion re0uction of a circuit at sa+e s-ee0 by
use of -i-elinin, an0 -arallel -rocessin,. "et %o be t*e ori,inal su--ly
volta,e of t*e seBuential syste+. "et >= re-resent t*e su--ly volta,e
re0uction factor of an "1-arallel M1Ievel -i-eline0 syste+% i.e.% t*is sys1
te+ is o-erate0 'it* su--ly volta,e *8%
o
) "et >=4 be t*e su--ly volta,e
re0uction factor for an M 1level -i-eline0 syste+ o-erate0 at t*e sa+e
s-ee0% i.e.% t*is syste+ is o-erate0 'it* su--ly volta,e >=4 %o) "et >84 be
t*e su--ly volta,e re0uction factor of an "1-arallel syste+ o-eratin, at
t*e sa+e s-ee0 as seBuential circuit o-erate0 'it* su--ly volta,e >=4%o)
S*o' t*at >= Q *8'>84)
REFERENCES
4. J. Hennessy an0 <. Patterson% Computer =rchitecture = [uantitati!e =pproach,
,nd ed)) Mor,an Kauf+ann Publis*ers% 4559.
;. [. H'an, an0 I. A. Bri,,s% Computer =rchitecture and Parallel Processing)
McLra'1Hill% 458A.
=. P. M. Ko,,e% The =rchitecture of Pipe lined Computers) McLra'1Hill% 4584.
A. H. .. Kun,% GW*y systolic arc*itecturesZG IQQQ Computers Maga4ine, vol. 4@%
--. =71A@% Jan. 458;.
@. U. BanerJee et al.% G.i+e an0 -arallel -rocessor boun0s for fortran li(e loo-s%G
IQQQ 'rans) on Computers, vol. ;8% --. 9961976% 4575.
9. !. Jou--i an0 <. Wall% GAvailable instruction level -arallelis+ for su-erscalar
an0 su-er1-i-eline0 +ac*ines%G in Proc) of Lrd International Conference on =r-
chitectural &upport for Programming Languages and 1perating &ystems, >Boston?%
--. ;7;1;8;% May 4585.
7. M. "a+% GSoft'are -i-elinin,C an effective sc*e0ulin, tec*niBue for E"IW +a1
c*ines%G in Proc) of the =CM &IBPL=$ Conference on Programming Language
Design and Implementation, >Atlanta?% --. =481=;8% June 4588.
8. <. A. Pa0ua an0 M. J. Wolfe% GA0vance0 co+-iler or,ani:ations for su-erco+1
-uters%G Communications of the = CM, vol. ;5% --. 448A14;64% 4589.
5. B. R. Rau et al.% GEfficient co0e ,eneration for *ori:ontal arc*itecturesC co+-iler
tec*niBues an0 arc*itectural su--ort%G in Proc) of Lth International &ymposium
on Computer =rchitecture, 'LS,)
RQ7QRQ$CQ& SL
46. M. E. Wolf an0 M. S. "a+% GA loo- transfor+ation t*eory an0 an al,orit*+
to +a/i+i:e -arallelis+%G IQQQ Trans) on Parallel and Distributed &ysteffl8,
vol. ;% --. A@;1A74% 4554.
44. K. K. Par*i an0 <. L. Messersc*+itt% GPi-eline interleavin, an0 -arallelis+ in
recursive 0i,ital filters1-art IC -i-elinin, usin, scattere0 loo(1a*ea0 an0 0eco+1
-osition%G IQQQ Trans) on =coustics, &peech, and &ignal Processing, vol. =7%
no. 7% --. 465514447% July 4585.
4;. [. [. Par*i an0 <. L. Messersc*+itt% GPi-eline interleavin, an0 -arallelis+
in recursive 0i,ital filters1-art IIC -i-eline0 incre+ental bloc( filterin,%G IQQQ
Trans) on =coustics, &peech, and &ignal Processing, vol. =7% no. 7% --. 4448144=@%
July 4585.
4=. &. W. Wu an0 P. R. &a--ello% GA--lication1s-ecific &A< ofE"SI secon01or0er
sections%G IQQQ Trans) on =coustics, &peech, and &ignal Processing, vol. =9%
--. 84=18;@% 4588.
4A. A. P. &*an0ra(asan% S. S*en,% an0 R. W. Bro0ersen% G"o'1-o'er &MS 0i,ital
0esi,n%G IQQQ Journal of &olid-&tate Circuits, vol. ;7% no. A% --. A7=1A8=% A-ril
455;.
5
Retiming
!.1 INTRODUCTION
Reti+in, O4J is a transfor+ation tec*niBue use0 to c*an,e t*e locations of
0elay ele+ents in a circuit 'it*out affectin, t*e in-utFout-ut c*aracteristics
of t*e circuit. Ior e/a+-le% consi0er t*e IIR filter in Ii,. A.4>a?. .*is filter
is 0escribe0 by
2*n+ Q ay*n - 4? D by*n - ;?
) y*n+ Q 2*n - 2F D "*n+
. ay*n - ;? D by*n - =? D "*n+)
.*e filter in Ii,. A.4>b? is 0escribe0 by
2l*n+
Q
ay*n - 2F
2,*n+
Q
by*n - ;?
y*n+
Q
Wl *n - 2F D 2,*n - 2F D "*n+
Q
ay*n - ;? D by*n - =? D "*n+)
Alt*ou,* t*e filters in Ii,. A.4>a? an0 Ii,. A.4>b? *avM 0elays at 0ifferent
locations% t*ese filters *ave t*e sa+e in-utFout-ut c*aracteristics. .*ese ;
filters can be 0erive0 fro+ one anot*er usin, reti+in,.
Reti+in, *as +any a--lications in sync*ronous circuit 0esi,n. .*ese a--li1
cations inclu0e re0ucin, t*e cloc( -erio0 of t*e circuit% re0ucin, t*e nu+ber
of re,isters in t*e circuit% re0ucin, t*e -o'er consu+-tion of t*e circuit% an0
54
>2 RETIMING
;@nF ;@nF
>a? @%F
Fig.+.1 .'o versionsof an IIR filter. .*e co+-utation ti+es of t*e no0es are
s*o'n in -arent*eses.
lo,ic synt*esis. .*e to-ics of reti+in, to re0uce t*e cloc( -erio0 an0 to re1
0uce t*e nu+ber of re,isters are 0iscusse0 in 0etail in t*is c*a-ter. Reti+in,
for lo,ic synt*esis is beyon0 t*e sco-e of t*is boo(.
Reti+in, can be use0 to increase t*e cloc( rate of a circuit by re0ucin,
t*e co+-utation ti+e of t*e critical -at*. Recall t*at t*e critical -at* is
0efine0 to be t*e -at* 'it* t*e lon,est co+-utation ti+e a+on, all -at*s
t*at contain :ero 0elays% an0 t*e co+-utation ti+e of t*e critical -at* is t*e
lo'er boun0 on t*e cloc( -erio0 of t*e circuit. .*e critical -at* of t*e filter
in Ii,. A.4>a? -asses t*rou,* 4 +ulti-lier an0 4 a00er an0 *as a co+-utation
ti+e of = u.t.% so t*is filter cannot be cloc(e0 'it* a cloc( -erio0 of less t*an
= u.t. .*e reti+e0 filter in Ii,. A.4>b? *as a critical -at* t*at -asses t*rou,*
; a00ers an0 *as a co+-utation ti+e of ; u.t.% so t*is filter can be cloc(e0
'it* a cloc( -erio0 of ; U.t. By reti+in, t*e filter in Ii,. A.4>a? to obtain
t*e filter in Ii,. A.4>b?% t*e cloc( -erio0 *as been re0uce0 fro+ = u.t. to ;
u.t.% or by ==Y. A -olyno+ial1ti+e al,orit*+ for reti+in, for cloc( -erio0
+ini+i:ation is 0escribe0 in Section A.A.;.
Reti+in, can be use0 to 0ecrease t*e nu+ber of re,isters in a circuit. .*e
filter in Ii,. A.4>a? uses A re,isters '*ile t*e filter in Ii,. A.4>b? uses @ re,isters.
Since reti+in, can affect t*e cloc( -erio0 and t*e nu+ber of re,isters% it
is so+eti+es 0esirable to ta(e bot* of t*ese -ara+eters into account. A
-olyno+ial ti+e al,orit*+ for reti+in, to +ini+i:e t*e nu+ber of re,isters
for a ,iven cloc( -erio0 is 0escribe0 in Section A.A.=.
Reti+in, can be use0 to re0uce t*e -o'er consu+-tion of a circuit by
re0ucin, s'itc*in,% '*ic* can lea0 to 0yna+ic -o'er 0issi-ation in static
&MS circuits O;J. Placin, re,isters at t*e in-uts of no0es 'it* lar,e ca-ac1
itances can re0uce t*e s'itc*in, activities at t*ese no0es% '*ic* can lea0 to
lo'1-o'er solutions >see Section 47.@.A?.
In Section A.;% a +at*e+atical 0escri-tion of reti+in, is a00resse0 an0
can C
DEFINITIONS AND PROPERTIES >3
@IF @2F
<
>a? >b?
Fig. A.; >a? A <IL. >b? .*e reti+e0 <IL obtaine0 usin, B%l$ E 6% B%2$ Q 4%
B%3$ Q 6% an0 r> A? E 6.
so+e -ro-erties of reti+in, are 0iscusse0. .ec*niBues for solvin, syste+s of
ineBualities are 0escribe0 in Section A.=. .*ese tec*niBues are use0 in Sec1
tion A.A% '*ere al,orit*+s for reti+in, a circuit to ac*ieve various obJectives%
suc* as cloc( -erio0 +ini+i:ation% are 0escribe0.
!.2 DFINITIONS AND PROPRTIS
!.2.1 67a"titati8e Des)ri&ti$" $5 Reti1i"g
Reti+in, +a-s a circuit B to a reti+e0 circuit Br) In t*e conte/t of reti+in,%
t*e ter+s circuit an0 ,ra-* an0 DFG are often use0 interc*an,eably% as t*ey
are in t*is c*a-ter. A reti+in, solution is c*aracteri:e0 by a value B%O$ for
eac* no0e % in t*e ,ra-*. "et 2*e+ 0enote t*e 'ei,*t of t*e e0,e e in t*e
ori,inal ,ra-* G) an0 let ui# %!$ 0enote t*e 'ei,*t of t*e e0,e ! in t*e reti+e0
,ra-* Br) .*e 'ei,*t of t*e e0,e V A1 % in t*e reti+e0 ,ra-* is co+-ute0
fro+ t*e 'ei,*t of t*e e0,e in t*e ori,inal ,ra-* usin,
Ar*e+ Q 2*e+ D B%O$ ( B%U$. >A.4?
.o 0e+onstrate so+e for+al reti+in, conce-ts% t*e filter in Ii,. A.4>a?
is re0ra'n in Ii,. A.;>a?% an0 t*e reti+e0 filter in Ii,. A.4>b? is re0ra'n in
Ii,. A.;>b?. .*e reti+in, values B%1$ Q 6% B%2$ Q 4% B%3$ Q 6% an0 B%+$ Q
be use0 to obtain t*e reti+e0 <IL in Ii,. A.;>b? fro+ t*e <IL in Ii,. A.;>a?.
Ior e/a+-le% t*e e0,e = A1 ; in t*e reti+e0 <IL contains
/
r
%3+( ;? Q /%3+( ;? D B%2$ ( B%3$
'( -t -t
>+ RETIMING
Q 6S416Q4
0elay% an0 t*e e0,e ; A 4 contains
2
r
*,< 2F Q 2*,< 2F D r*l+ -
r*,+
Q 4S614Q6
0elays.
A reti+in, solution is feasible if 2r*e+ 6 6 *ol0s for all e0,es. W*ile t*e
solution t*at +a-s Ii,. A.;>a? to Ii,. A.;>b? is feasible because all of t*e e0,es
in Ii,. A.;>b? *ave nonne,ative 'ei,*ts% t*e solution r*'+ Q 6% r*,+ Q 14%
r*8+ Q 6% an0 r*<+ Q 6 is infeasible because% for e/a+-le% t*e e0,e = A ; in
t*e reti+e0 syste+ contains
2
r
*8<,+ E 2*8< ;? D r*,+ - r*8+
Q 6S>14?16Q14
0elays.
4.2.2 Properties o$ 3etiming
Several -ro-erties ofreti+in, can be 0erive0 fro+ t*e reti+in, eBuation >A.4?.
Before consi0erin, t*ese% t*e conce-ts of -at*s an0 cycles are revie'e0. A
-at
*
I
.
S a seBuence 6
f
e
0
,es an
0
no
0
es %o
eD
%I
el
...
!
-
'
--
(
D
2
:i
--l
eF
-

--
1
D
l :i
.*e 'ei,*t of t*e -at* p is 2*P+ Q EMMM2*ei+ an0 t*e co+-utation ti+e
of t*e -at* is t*p+ Q EMQot*%i+) A cycle is a close0 -at* %o 6 %I 6 ),)
eI/
%
-
-
1
eMl %o) .*e 'ei,*t of t*e cycle c is 2*c+ Q EMMM2*ei+ an0 t*e
0elay
of t*e cycle is t*c+ Q EMMMt*%i+)
Propert+ 4.2.1 The 2eight of the retimed path p Q %o 6 %I 6 ))) eMl %
-
is gi!en by 2r*P+ Q 2*p+ D r*%-+ - r*%o+)
.*e reti+e0 -at* 'ei,*t is
--l
2r*P+ Q L 2r*ei+
iQ
--l
G L *2*ei+ D r*%i9l+ - r*%i++
iQ
E I 2*ei+ D *6r*%i9l+ - 6 r*%i++
. 2*P+ D r*%-+ - r*%o+)
C-
C
SOLOING SYSTEMS OF INEWUALITIES >-
Ior e/a+-le% t*e -at* ; ---D 4 ---D = in Ii,. A.;>a? *as ; 0elays% an0 t*is -at*
in t*e reti+e0 <IL in Ii,. A.;>b? *as ; D r*8+ - r*,+ Q ; D 4 E 4 0elay.
Propert+ 4.2.2 Retiming does not change the number of delays in a cycle)
.*is is a s-ecial case of Pro-erty A.;.4 '*ere %- Q %o) .*e 'ei,*t of t*e
reti+e0 cycle c is 2r*c+ Q 2*c+ D r>Eo? 1 r*%
o
+ Q 2*c+) In Ii,. A.;% t*e cycle
4 ---D = ---D ; ---D 4 contains ; 0elays in t*e unreti+e0 an0 reti+e0 <ILs% an0
t*e cycle 4 ---D A ---D ; ---D 4 contains = 0elays in t*e unreti+e0 an0 reti+e0
<ILs.
Propert+ 4.2.4 Retiming does not alter the iteration bound in a D7B)
Propert+ 4.2.4 =dding the constant !alue J to the retiming !alue of
each node does not change the mapping from B to Br)
After re-lacin, re%+ 'it* re%+ DJ for eac* no0e% t*e 'ei,*t of t*e reti+e0
e0,e U -5 O in G
r
is
2r*e+ Q 2ee+ D *r*%+ D J? 1 *r*V+ D J? Q 2ee+ D r*%+ -
r*V+,
'*ic* is t*e sa+e for any value of W >inclu0in, W Q 6?. Recall t*at t*e
reti+in, values r*l+ Q 6% r*,+ E 4% r*8+ E 6% an0 r*<+ E 'ere use0 to obtain
t*e reti+e0 <IL in Ii,. A.;>b? fro+ t*e unreti+e0 <IL in Ii,. A.;>a?. By
a00in,% for e/a+-le% t*e constant 1=8 to t*ese reti+in, values% t*e reti+in,
values r*l+ Q 1=8% r*,+ Q 1=7% r*8+ Q 1=8% an0 r*<+ Q 1=8 can be use0 to
obtain t*e reti+e0 <IL in Ii,. A.;>b? fro+ t*e <IL in Ii,. A.;>a?.
!.3 SOL9ING SYSTMS OF IN6UALITIS
Liven a set of M ineBualities in N variables% '*ere eac* ineBuality *as t*e
for+ ri - BK S ' for inte,er values of ') one of t*e s*ortest -at* al,orit*+s
in A--en0i/ A can be use0 to 0eter+ine if a solution e/ists an0 to fin0 a
solution if one 0oes in0ee0 e/ist. .*is is 0one usin, t*e follo'in, -roce0ure.
4. <ra' a constraint ,ra-*.
>a? <ra' t*e no0e i for eac* of t*e N variables ri, i Q 1)2) ... )N.
>b? <ra' t*e no0e N D 4.
>c? Ior eac* ineBuality BI ( BK & ') 0ra' t*e e0,e W ---D i fro+ no0e W
to no0e i 'it* len,t* '.
>0? Ior eac* no0e i, i E 4%;% ... % n, 0ra' t*e e0,e N D 4 ---D i fro+
t*e no0e N D 4 to t*e no0e i Wit* len,t* 6.
C
>1 RETIMING
o
o
Fig. A.= .*e constraint ,ra-* for E/a+-le A.=.4.
;. Solve usin, a s*ortest -at* al,orit*+.
>a? .*e syste+ of ineBualities *as a solution if an0 only if t*e constraint
,ra-* contains no ne,ative cycles.
>b? I! a solution e/ists% one solution is '*ere ri is t*e +ini+u+1len,t*
-at* fro+ t*e no0e $ D 4 to t*e no0e i,
".ample 4.4.1 In this e"ample 2e demonstrate ho2 shortest path algorithms
can be used to sol!e a system of M Q @ ine(ualities
rW 1 r; R
r= 1 rW R @
rA 1 rW R A
rA 1 r= R 14
r= 1 r; R ;.
in $ E A !ariables) The 'st step is to dra2 the constraint graph, 2hich is
sho2n in 7ig) +.>.
Vsing the Dellman-7ord algorithm *described in &ection =), of =ppendi"
=+, 2here the origin V is the node @% 2e find that there are no negati!e
cycles, so the solution can be found by e"amining r*<+*%+) 7rom r*<+>4? Q 6%
r*<+*,+ Q 6% r*<+*8+ Q 6% r*<+*<+ Q 14% and r*<+*H+ Q 6% a solution to the
system of ine(ualities is determined to be rW Q 6% r; Q 6% r= Q 6% and rA Q 14.
C C C
RETIMING TECHNIWUES >4
Vsing the 7loyd- Aarshall algorithm *described in &ection =)& of =ppendi"
=+, 2e find that there are no cycles, so the solution can be found by e"amining
66
666
@
;
A
466
4
R>9? Q 66 66 66 14 66 %
O
66 66 66 66 66
14 66
2here the element V, % in the matri" R>9? is r*X+*V, %+) The bottom ro2
of R>9? gi!es r*X+ >@% O$ for O Q 4%;%=%A%@. The solution to the system of
ine(ualities, gi!en by r*X+*H, O$ for O Q 4%;%=%A% is rl Q 6% r; Q 6% r= Q 6%
and rA Q 14. )
W*en solvin, syste+s of ineBualities% t*ere +ay be +ulti-le ineBualities
'it* i0entical left1*an0 si0es% '*ic* can lea0 to -arallel e0,es in Ste- l*c+)
Ior e/a+-le% t*e ; ineBualities r*'+ - r*,+ #5 an0 r*'+ - r*,+ S 7 'oul0 lea0
to ; e0,es fro+ no0e ; to no0e 4 'it* 'ei,*ts 5 an0 7. W*en t*is *a--ens%
t*e +ost restrictive of t*ese ineBualities s*oul0 be selecte0 to avoi0 0ra'in,
-arallel e0,es in Ste- '*c+) Ior e/a+-le% t*e ; ineBualities r*'+ - r*,+ S 5 an0
r*'+ - r*,+ S 7 can be re-resente0 by si+-ly usin, r*'+ - r*,+ S 7 because
t*is is t*e +ost restrictive of t*e t'o% an0 Ste- '*c+ results in only 4 e0,e
fro+ no0e ; to no0e 4 'it* 'ei,*t 7.
!.! RTIMING TCHNI6US
.*is section consi0ers so+e tec*niBues use0 for reti+in,. Iirst% t'o s-ecial
cases of reti+in,% na+ely% cutset @T@etiming an0 pipe lining, are consi0ere0. .'o
al,orit*+s are t*en consi0ere0 for reti+in, to +ini+i:e t*e cloc( -erio0 an0
reti+in, to +ini+i:e t*e nu+ber of re,isters t*at are reBuire0 to i+-le+ent
t*e circuit.
A.A.4 Cutset 3etiming and Pipelining
&utset reti+in, is a useful tec*niBue t*at is a s-ecial case of reti+in,. A cutset
is a set of e0,es t*at can be re+ove0 fro+ t*e ,ra-* to create ; 0isconnecte0
sub,ra-*s. &utset reti+in, only affects t*e 'ei,*ts of t*e e0,es in t*e cutset.
If t*e ; 0isconnecte0 sub,ra-*s are labele0 L
4
an0 B
,
, t*en cutset reti+in,
consists of a00in, - 0elays to eac* e0,e fro+ L4 to B
,
an0 re+ovin, - 0elays
fro+ eac* e0,e fro+ B
,
to L
4
) Ior e/a+-le% a cutset is s*o'n 'it* a 0as*e0
line in Ii,. A.A>a?. .*e = e0,es in t*e cutset are ; 111S 4% = 111S ;% an0 4 111S A.
.*e ; sub,ra-*s L
4
an0 B, foun0 by re+ovin, t*e = e0,es in t*e cutset are
s*o'n in Ii,. A.A>b?. Ior - Q 4% t*e result of cutset reti+in, is s*o'n in
Ii,. A.A>c?. .*e e0,es fro+ L4 to B
,
are = 111S ; an0 4 111S A% an0 one 0elay

You might also like