Professional Documents
Culture Documents
ECE 565 High-Level Synthesis-An Introduction
ECE 565 High-Level Synthesis-An Introduction
Shantanu Dutt
ECE Dept., UIC
HLS Flow
Code/Algorithm Architecture (interconnected functional
units (FUs), memory units (MUs) via muxes, demuxes, tristate
buffers, buses, dedicated interconnects)
Classically, these 3
stages were
performed
sequentially but
currently performed
together (which
leads to better
optimization)
(Binding)
ldc
(a) Scheduling
ldx
lda
ldb
x
I1
mux1
d
I0
I0
y
I1
mux
mux
ldy
mux2
c2(1)
ccs 1
c1(2)
c3(2)
c3(1) c2(2)
Note:
Unspecified
control signals
have either an
inactive value,
or if such a
concept doesnt
exists for the cs,
then the dontcare value
demux
6
[y c+d]
(c2)
Controller FSM:
Reset
cc 3i
O1
O0
ldz
lda=1, ldb=1,
ldc=1, ldd=1,
mux1=1, mux2=1
demux=1,
ldz=1
cc 3(i+2)
ldx=1
[z x+y]
(c3)
demux
[x a x b]
(c1)
lda = 1
reg. a
loaded
ldc
(a) Scheduling
ii) Overlapped pipelined scheduling
X
c1(1)
+
ccs 1
c1(2)
ldx
lda
ldb
I1
mux1
d
I0
I0
y
I1
mux
mux
ldy
mux2
demux
6
cc 3(i+1)
[z x+y,]
(c3)
Controller FSM:
Reset
cc 3i
lda=1, ldb=1,
mux1=0, mux2=0
demux=0,
ldy=1, ldx=1
[y c+d, x a x b]
((c1, c2)
ldc=1, ldd=1,
mux1=1,
mux2=1,
demux=1,
ldz=1
demux
ldz
T
Condition
(T/F)
F
Selectot
out
Conditional code:
If (a > b) then
c a-b;
Else
c b-a;
in
in2
Condition
(T/F)
Distributor
T
F
out1
out2
T sel F
c2
mux
>
T dist F
r1
ldr1
c1
Mux
s xor ovfl
= 1 -ve
= 0 +ve
1
cin
Demux
(a) Scheduling
(using only 1
adder/sub)
b+1 = 2s compl.
of -b
1
demux
final a
ldfina
Scheduling
& binding:
+
ccs
c1
c2
c1
c2
To fsm
Initialized
to F
ldb
lda
A delay node is generally implemented as a register; a delay node thus becomes a state
variable.
register
(a) Scheduling w/
one X (2 ccs) &
one + (1 cc); goal:
min. latency
3 non-primary i/p
regs. needed
d0
3 non-primary i/p
regs. needed