Professional Documents
Culture Documents
Flow
Graphs
Roger
Woods
r.woods@qub.ac.uk
Programmable
Systems
Lab
ECIT,
Queens
University
Belfast
(Slides
2-13
taken
from
Signal
Flow
Graphs
and
Data
Flow
Graphs
chapter
by
Keshab
K.
Parhi
and
Yanni
Chen)
Contents
Signal
Flow
Graphs
(SFGs)
Masons
Gain
Formula
SFG/DFG transformaTons
Pipelining
and
reTming
can
be
used
to
reduce
clock
period
Folding
can
be
used
to
Tme-mulTplex
i.e.
reduce
area
Unfolding
leads
to:
lower
iteraTon
periods
in
so`ware
implementaTons
(by
highlighTng
concurrency)
Faster
hardware
by
exploiTng
parallel
implementaTons
Key
goal
of
transforming
representaTon
to
meet
performance
requirements
by
adapTng
levels
of
pipelining
and
parallelism
(or
both)
4
A
directed
edge
(j,k)
denotes
a
linear
transform
from
the
signal
at
node
j
to
the
signal
at
node
k
Edges
are
usually
restricted
to
mulTplier
or
delay
elements
5
TransposiTon
Flow
graph
reversal/transposiTon
can
be
applied
to
single-input
single-output
(SISO)
systems
by
reversing
direcTons
of
all
edges,
exchanging
input/output
nodes
while
keeping
edge
gain
or
edge
delay
unchanged
M
=
transfer
funcTon
or
gain
of
the
system
Y
=
output
node
X
=
input
node
N
=
total
number
of
forward
paths
between
X
and
Y
=
determinant
of
the
graph
=
1-
loop
gains
+
non-touching
loop
gains
taken
two
at
a
Tme
-
non-touching
loop
gains
taken
three
at
a
Tme
+
Mj
=
gain
of
the
jth
forward
path
between
X
and
Y
j
=
1-loops
remaining
a`er
eliminaTng
the
jth
forward
path
i.e.
eliminate
the
loops
touching
the
jth
forward
path
from
the
graph.
If
none
of
the
loops
remains,
j
=
1.
8
SFG example
1)
Find
the
forward
paths
and
their
corresponding
gains
Two
forward
paths
exist
in
this
SFG:
M1
=
G1G2G3
and
M2
=
G4
2)
Find
the
loops
and
their
corresponding
gains
There
are
four
loops
in
this
example:
Loop1
=
-G1H1
Loop2
=
-G3H2
Loop3
=
-G1G2G3H3
Loop4
=
-G4H3
9
3) Find the j If we eliminate the path M1 =G1G2G3 from the SFG, no complete loops remain, so 1 = 1. Similarly, if the path M2 =G4 is eliminated from the SFG, no complete loops remain neither, so 2 = 1 as well. 4) Find the determinant Only one pair of non-touching loops is in this SFG, i.e. Loop1 and Loop2, thus non-touching loop gains taken two at a Tme = (-G1H1)(-G3H2). Therefore,
10
= 1- loop gains + non-touching loop gains taken 2 at a Tme = 1 - (- G1H1 - G3H2 - G1G2G3H3 - G4H3) + (-G1H1)(-G3H2) = 1 + G1H1 + G3H2 + G1G2G3H3 + G4H3 + G1G3H1H2 5) The nal step is to apply the Mason's gain formula
11
SequenTal
algorithms
OperaTons
are
one
a`er
other.
Throughput
dictated
by
the
Tme
to
perform
P1,
P2
and
P3.
14
15
16
MulTplexing
Technique
to
increase
the
throughput
rate
of
sequenTal
algorithms
Processors
(PEs)
will
operate
in
a
Tme
shared
fashion.
17
MulTplexing
SequenTal:
TR
=
1/(tP1+
tP2+
tP3)
and
output
every
cycle.
E.g.
if
tP1=
tP2=
tP3=10,
TR=1/30
tPn time taken for processor Pn
18
clock rate = f clock rate = 4Xf output = 1 per cycle output = 1 per 4 cycles TR = f TR = f
19
ApplicaTon of pipelining #1
2
Clock 0 1 2 3 4 Input x0 x1 x2 x3 x4 Node 1 a0x0 a0x1 a0x2 a0x3 a0x4 a0x0 a0x1 + a1x0 a0x2 + a1x1 a0x3 + a1x2 a 0 x0 a0x1 + a1x0 a0x2 + a1x1 + a2x0 a0x3 + a1x2 + a2x1 y0 y1 y2 y3 Node 2 Node 3
3
Output
20
ApplicaTon
of
pipelining
#2
Why
not
apply
pipelining
to
adder
chain
in
FIR
lter?
1 2 3
Clock 0 1 2 3 4
Input x0 x1 x2 x3 x4
Node 3
Output
y0 X X
21
22
FormulaTon
of
reTming
ReTming
FormulaTon
Weight
of
the
reTmed
path
p
=
V0
-->
V1
-->
..Vk
is
given
by
wr(p)=
w (p)
+
r(Vk)
-
r(V0)
ReTming
does
not
change
the
number
of
delays
in
a
cycle.
ReTming
does
not
alter
the
iteraTon
bound
(see
later)
in
a
DFG
as
the
number
of
delays
in
a
cycle
does
not
change
Adding
the
constant
value
j
to
the
reTming
value
of
each
node
does
not
alter
number
of
delays
in
edges
of
the
reTmed
graph.
23
Express as DFG wr(1 2) = w(1 2) + r(2)- r(1) 2,3,4 are mulTpliers, wr(1 3) = w(1 3) + r(3)- r(1) 5, 6 are adders, 1 is x input wr(1 4) = w(1 4) + r(4)- r(1) Can express relaTonships wr(2 5) = w(2 5) + r(5)- r(2) for all edges wr(3 5) = w(3 5) + r(5)- r(3) wr(4 6) = w(4 6) + r(6)- r(4) wr(5 6) = w(5 6) + r(6)- r(5) 24
Conclusions
RepresentaTons
for
DSP
systems
Signal
Flow
Graphs
(SFGs)
Data
Flow
Graphs
(DFGs)
Transfer
FuncTon
DerivaTon
using
Masons
Gain
Formula
Various
form
including
synchronous
DFG
ConstrucTng
an
Equivalent
Single-rate
DFG
from
MulT-rate
TransformaTons
Pipelining
allows
speed
of
resulTng
implementaTons
to
be
increased.
ReTming
can
be
used
to
perform
delay
transfer
but
that
is
only
part
of
the
issue.
Can
increase(unfold)/decrease(fold)
parallelism
to
match
performance
covered
later
26