Professional Documents
Culture Documents
Scheduling Algorithm For High Level Synthesize
Scheduling Algorithm For High Level Synthesize
!"#$%&(')*#+
,#-./
01
2436536783:9<;,36=
> 0@?BADCADCFEHGJIKLNM.O6PBCQADCFASRT+TO,G#UVXWSCQYZC,[FG#U\N]^`_NObac#Md^dM(egfNUhegfNi jkMd^(G#TMfNUhlT+RT+fN]M(G^nm/OopMUq[F]rf%e#CFst,tut
0vwNxzy,RKT+fNi{sU|T+_@\]/G#T+_Vpy,fUk}C"l~6f%er_KT+_@]SPm/OYG0vNwxOkjj8C80N#+00C
> #?B[CdEDCQ[FG#Rk^dMUG#UVZCQ[CQSUkM\NkTOa@f]/eg_@.VM]+_egT+_VXK+er_VkRk^dM`U\M`UGJRT+fNiG#TMezVG#T/GjGJT+KkU|Tr_KM(K@OQoMU
[]+f%e#C#NT+AS_KM\NUSRT+fNiG#TMfNUy,fNUk}+ClYM(G#iDMWu_GNe+8O"^nm/O#Rk^0vwk|ONjj8C"NxNJ.kC
> #?DySC8K_@U\G#UVADC[Cc#M_@6f#M]+_@LOagSRT+fNiG#T+_VcNkUkT+_KM(Kf#}VG#TgGjG#T+K:MUVM\#MT/G^K%KT+_@iK@OQost,tut
]/G#UK@Cy,fNi jRT+_@]6:M(Vk_VAS_KM`\U8OFf#^,y,bAS.1Okjj8Ck#v#.NvN1O#Rk^0vwNxC
> N?DySCQBCE_@UfTKbG#UVYZCs/C8t)^iGNK]+NO,abcNsSi _@T+fVkf#^fN\Np6MT+T+_KTgG#kMd^
MTegfNUKT+]gGMU|T/KOQozMU[F]+fe
0vwkDyG#UGNVM(G#Uy,fNUk}+C|bcNsSl.MUUkMj_@\m/OegTC80vNwk|C
> 1#?B[CQYG#]r_Vk_g^.ObagU_@KkUkT+_KM(KG^`\fN]MT+i}fN]zT+_YpsY"Kf#}nTG#]+_K%KT+_@iOQoMUq[F]rf%e#C,#]/V
AS_KM\NUpRTrfNiG#TCy,fNUk}+C"l8GK6F_@\|GNK@OP:BmgO#Rk^0vNwNxO|jj8Ck|0@.k|C
> x#?DcC<CSRU\OBCCkMT+_@fNRK_<G#UVbCbGMd^GJT+8ObcNsGJUVYpf%Vk_@]rUc#M`\UG^[]+feg_K+KMU\CtU\#^_@fkfV
yF^dMdKiP[F]+_@UkTM(eg_<SG^d^.O80vNwN1O|jj8CN1Nw#.NxJC
> ?B[)M_@]+]+_E<C|[FGJRk^
MUG#UV#fNU[CSUkM\NkTO8a@fN]geg_A:M]+_egT+_Vpc|er_VkRk^
MU\z}f],T+_@GM`f]/G^KkU|T+_KMKuf#}
cNs+yK@OQoDst,t,t8]gG#UK@C"y,fi jRT+_@]6M(Vk_VAS_KM\NU8OFfJ^CwOjj8CxNx0@.xkvOk#RU_0vNwNvC
> w#?BCN"_@_NONDCSKR8OkG#UV<CNMU8O"agU_@XsU|T+_@\_@],MU_G#][]+fN\N]/GJi iDMU\HfN]+iDRk^(G#TMfNU}nfN]FT+_Sc|e+_VkRk^dMU\
[]+fNk^_@i{MUAbG#T/G#.[FGJT+cNkU|T+_KMKOQo [F]rf%e#Ckf#}Tr_bs.UkTCegfNUk}CfNUyufNi jRT+_@]+n:M(Vk_VAS_KM\NU8Ojj8C%#.NO
0vwNvC
> v#?bCQ6CC"F_@]+G#_@\N8OutCQCQHGJ]+T/K@OCQCQYZCSfN]/KTGJUV[CQt:CQ~4Mjj_@UK@OBags.izj]+f#N_VfN]/eg_A:M]+_egTr_V
c|er_VkRk^dM`U\OQo[F]+fe#Cf#}FtFR]+fNj_G#UAS_KM`\USRT+fNiG#TM`fUy,fUk}COkjj8C|N#nkN1O0vNv0NC
> 0J?syC[FGJ]+LGJUVy,.YZC,SkRU\OBa@GNKTG#UVP_GJ]jTMiG^Dc|e+_VkRk^dMU\XMUSRT+fNiG#TMeAbGJT/G[FG#T+
cNkU|Tr_KM(K@OQo []+f%e#Cf#})Tr_BNw#T+A:byOkjj8CxNw#.xNwN1O0vNv0C
> 0N0?HDCQCFS_@]+UkM\NG#UG#UVcCQMU8ObagSUt)erM_@U|T:_@R]M(KTM(ej]+feg_VkR]+_}nfN]BjGJ]+TMTMfNUkMU\\N]/GJjK@OQoWu_g^
^
KKT+_@iT+_e+UkM(e@G^IfNR]rUG^.ONf#^.C|vOjj8CNv0.Nk|Ok_@]+RG#]r0v%C
> 0J?BcC#AbGNM(VKfNUb_@TCG^.COacNfNi _u_g%j_@]Mi _@U|TgK"MU^f%e@G^kiDM(eg]+f%egfVk_egfNi jGNegTM`fUb}nfN]8fN]M@fNUkT/G^kiGNerkM`U_KOQo
st,t,t8]gG#UK@CfNUyufNi jRT+_@]/KO|jj8C|xNJnN|Ok#Rk^0vNw0NC
> 0J?HWSCQYZCN[FG#U\N]^`_SG#UV ADCQADCkEbG#I+KLNM.Oac#^dM(eg_@]uqKTgG#T+_KkUkT+_KM@_@]F}nfN]FMUkT+_g^d^dM`\_@U|TKMd^dM(egfNUegfNi jkMd^(G#TMfNU8OQo
MU[]+fe#Cf#}st,t,tsU|TCy,fNUk}+C|fUy,fNi jRT+_@]SAS_KM\NU8O"egTC80vNwk|C
> 0@?H~bCuNGMU8O,DCFYpR#IRiVGJ]OFDC6cNG#]+iGG#UVZCFG#U\OSa@tFi jkM]M(e@G^_@#G^RG#TMfNUfJ}HKfNi _kM\N^_@N_g^
KkUkT+_KM(KKre+_VkRk^dMU\_@R]M(KTM(e@K@OQo[F]rf%e#CfJ})Nw#T+A:byOkjj8C0#.01O0vNv0NC
> 01J?BcCAS_@GVGNK6G#UV DCQ~bCkP_@:T+fNU8O8ag:^`\fN]MT+iK}nfN]G^d^fe@G#TMfNUMUVG#T/G#jGJT+KkU|Tr_KM(K@OQostut,tX]/G#UK@C
fNUyuHAf#}Fs.UkT+_@\CyFM]CG#UVcNKT+_@iKONf#^.CwOjj8C"#xNw#w0O|#Rk^0vNwNvC
> 0xJ?H~bCyG#i jf|K+G#UfOa@[FG#Tr.WGK_Vc|e+_VkRk^dMU\}nfN]DcNkU|Tr_KM(K@OQopstut,t8]/GJUK@C"fNUXy,bA{f#}sU|T+_@\CyFM]C
G#UVpcNKT+_@iK@ONf#^.C80OkUfC80NOkjj8C"wN1#.vNOkNG#UZ0vNv0NC
!"#$%&(')*#+
,#-./
7
9
3:97/3
0@
=
!"#$%&(')*#+
,#-./
0
_g_egRTMfNUfNUk^fNU_S]/G#Uer\N_@T/Ku_g%_egRTr_V"C6_@]r_g}fN]r_HG#U_g8_egTMN_bK+er_VkRk^dM`U\G^`\fN]MT+i KfRk^VKG#]+_
]+_KfR]/eg_KDG#i fNU\pi<RTrRG^d^`Z_ger^`RKM`_fNj_@]/G#TMfNUK@Cp _@GMfN]/G^Vk_K+eg]M`jTM`fUXiGG^KfegfU|T/GM`U^f|fj
egfNUKTr]+RegT/KST+G#TS_gkM`kMTDjG#]/G^
^_g^dM(Ki _@T6_@_@UVM
8_@]+_@UkTSMT+_@]/G#TM`fUKSf#}T+_^fkfNj8C<_@]+_ G#]+_DT+]+_@_DG%K
f#},K+er_VkRk^
MU\G^fkfNj8
0CScN_ NR_@UkTM(G^,_g_egRTMfNU4KM`izjk^`_G#jj]+fkGNe+M(KST+fVM]+_egT^`ZK+e+_VkRk^_ Tr_B^fkfNjfVkpM`UkT+fegfNUkT+]+f#^
KT+_@jK@C
C"f|fjRU]+f#^d^dMU\:_@]+_<eg_@]rT/GMUU|RiD_@]Sf#}F^fkfNjMT+_@]/GJTMfNUKbG#]+_bRU]+fJ^
^_V:kMer]+_KRk^T/K:MUG^f|fj
T+G#TFGNKFG:^(G#]+\_@],fVkDRTF}n_@6_@]FU|RiD_@]uf#}MT+_@]gG#TMfNUK@CF6kM(K,e@GJU _VkfU_fNUk^ _@U Tr_,^_@U\NTr
f#}T+_ ^`fkfNjM(KSG^]+_GNVkLkUf:U8C
C"f|fjb}nf#^(VM`U\ _@]r_FMU|Tr]/G^f|fjBjG#]/G^
^_g^dM(KiM(K_gjk^f#MT+_V|S}nf#^(VMU\bT+_F^fkfNj8CucNRe@eg_K+KMN_6MT+_@]/GJTMfNUK
f#}T+_ ^`fkfNjG#]r_bf_@]^(G#jj_VM`UGDjkMj_g^dMU_V}.GNKkMfNUGJUV_g_egRT+_V"C
W fNT+^f|fj<RU]rf#^d^
MU\ G#UV }nf#^(VM`U\6fNRk^(VbMUeg]+_GK_T+_egfNUkT+]+f#^egf|KT/K@CF6_@]r_,M(KFG^G%KGST+]/GVk_@f#_@T6_@_@U
u
T+_b_g_egRTMfNUKj_@_VG#UVT+_BegfNUkT+]+fJ^egfkKTC^(KfT+_bj]+fk^`_@iKM@_bM(KGJUM`izjfN]+TgG#U|T}GNegTrfN]6T+G#T6fNRk^(V
G8_egTG^\NfN]MT+iKT+GJTVkfzT+_K_BfjTMiDMG#TMfNUK@C
!"#$%&(')*#+
,#-./
0
3
S7
;<3 @9
="=
9
3=
!#"$%&(')*+-,.0/13245!/&
t Ge+}nRUegTMfNUG^RUkMTM
^d^FGN_HGzVM
8_@]+_@UkTVk_g^(GGJUVT+_@]+_g}nfN]+_bGNK+KRiDMU\ TrG#TG#UfNj_@]gG#TMfNUGNK+KM`\U_V
,
T+fGegfU|T+]rf#^)KT+_@j6fNRk^(VpT/G#LN_T+_<KrG#i _BTM`iz_GKG#UfT+_@]bfNj_@]gG#TMfNU8Cb6kM(KbGNK+KRizjTMfNU6fNRk^(V^_GNVT+f
Ger^f%erLeg%er^_T+G#T:M(KbRUkRKRG^d^^_@U\NT+_@U_V|T+_ K^f#6_KTbRUkMTbMUT+_Vk_KM`\U8C 6_D}nf#^d^`f#6MU\pT+]+_@_
G#jj]+fkGNe+_K:G#]+_S}nf#^d^`f#6_VT+fKf#^N_bT+kM(Kj]rfNk^_@i
0CYRk^TM(eger^dM`U\8s}T+_er^fe+LBeger^_,M(KFKf]+T+_@U_VbTrfG^d^f}.GNKT8fNj_@]/G#TMfNUKT+fS_g%_egRTr_,T+_@UT+_K^f#6_@]
fNj_@]/GJTMfNU6fNRk^(VT/G#LN_zi<Rk^TMjk^_er^fe+LKDG#UV_@Ueg_G#]+_e@G^d^`_VZiDRk^TM(eger^`_pfNj_@]gG#TMfNUK@Cf#6_@N_@]
M`UjRT^GJT/e+_K:G#]+_U_@_Vk_VM`U}n]+fNUkT6f#}8T+_biDRk^TM(eg%er^_b}nRUegTMfNUG^8RUkMT/K6Trf<fJ^VzMT/KfNj_@]/GJUVK,RUkMT/K
M`TgK6]+_KRk^T:MK:G#GMd^(G#k^_NC6kM(K6fNRk^(VzMUT+R]rUM`Ueg]r_GNK_DT+_BKM@_BfJ})T+_BegfU|T+]rf#^"^`f\#M(e#C
*6 78!%%9;:<=!>"?%&
cNf}GJ]FMT/Ku_@_@UGNK+KRiz_V T+GJTGB
e@G#Uj_@]}nfN]+i4fUk^`zfNU_fj_@]/G#TM`fURTuMUj]gGNegTM(eg_bT+_@]+_GJ]+_HK_@N_@]/G^
A@ BC45!&D)E?45&01FE$4G&HI.JK&
Wu_@GNMfN]/G^:Vk_Kreg]MjTMfNUXRKRG^d^egfNUkT/GMUegfUVM`TM`fUG^HG#UV^f|fNjegfUKT+]+RegT/KC egfUVM`TM`fUG^HegfNUKTr]+RegT
lKMiDMd^(G#]DT+fG#Uqa@e@GNK_oKT/G#T+_@iz_@U|T@m]r_KRk^T/K M`UXK_@N_@]gG^,]/G#Uer_KT+G#TBG#]+_zi<RTrRG^d^`_ger^RKMN_NCASR]MU\
!"#$%&(')*#+
,#-./
A@
0N0
yY[b~6srcP{XSt"src|cy6tuA "sPbEbEB~sSYc
M(KT+.W6GNK_V
cNT/G#TM(ebM(KT
y,fNi jRTgG#TMfNUG^Fy,fNizjk^`_gkMT
6M\N
P:fNTN_@]rkM\N
RG^dMTfJ}K+er_VkRk^_
Ypf|KT^jTMiG^
Ypf|KT^`pjTMiG^
cNjGNeg_ yufNi jk^_g|MT
F_@]+M`\
PfNTM\N
s.UjRTb[F]+fk^`_@i c#M@_
SU|KM@_
UkKM@_
t_egRTMfNUcNj_@_V
c#^`f#6_@]T+GJUFAc
GNKTr_@]T+G#UM(KTr.WGK_V
8_erUkM NR_ SK_V
YGJU| j]M`f]MT^dM(KT/K
U_Bj]M`f]MT^dM(KT
F
3!G452C45!1
*6
5+9(&0452+4G2!1
!"#$%&(')*#+
,#-./
0
*6
!"#$%&(')*#+
,#-./
t)%_egRTM`fUcNj_@_V
"f#
6M\N
Yp_VMRi
_erUkM R_ K_V
YG#T+8CF[F]+f\C
y,fNUKT+]+RegTMN_
~ _ U_@i _@UkT
6
[fjRk^GJ]MT
"_GNKTRK_V
Ypf|KT6RK_V
Y _VMRi
p
2436=
7;,3 b
9<= 87
6_S}nf#^d^fM`U\K_egTMfNUKSVk_K+eg]M_<T6fDjfNjRk^(G#]bK+er_VkRk^dM`U\G^`\fN]MT+iKuMUpT+kM(Ke@G#Tr_@\NfN]+NC
!"#$%&(')*#+
,#-./
Repeat
step 1 : Evaluate time frames:
1.1 Find ASAP schedule
1.2 Find ALAP schedule
step 2 : Update distribution grps
step 3 : Calculate self forces
step 4 : Add pred. & Succ. forces
step 5 : Schedule op. with least
self force.
Until (All ops. are scheduled)
*
*
-
* *
+
+
<
- * *
+ +
CS#1
CS#2
CS#3
(a)
(b)
(c)
Figure 5: (a) FDS outline (b) Distribution graph (c) Sub-opt schedule example
:^`Tr_@]+UG#TMN_g^T+_KT+]/G#Tr_@\NegfNRk^(V_erG#U\N_V|j]+RUkMU\fNU_egfNUkT+]+fJ^KT+_@j}n]+fNiMT/K i fNkMd^dM`T]gG#U\N_
G#UVjf|KTrjfNUkMU\T+_<Vk_erM(KMfNUT+fG<^GJT+_@]HKT/G#\N_BGNKM`U > v#?.Cu6_<FAcG^\Nf]MT+i U_@_@]GNerLkT+]/GNerL%KufNUMT/K
Vk_erM(KMfNUKbG#UV_@Ueg_M(Ker^(GNK+KM _VpRUVk_@]begfNUKT+]+RegTM`_BG^\NfN]MT+iKC
!"#$%&(')*#+
,#-./
CSy,fNUKT+]rRegTMN__@R]M(KTMe@KfN]/eg_VM`]r_egT+_VK+e+_VkRk^dMU\iz_@T+f%VVk_K+eg]M`_VMUhK_egTMfNUq1CQpM(KG#U
_gG#izjk^`_f#})G egfUKT+]+RegTMN__@R]M(KTM(e#C
C6s.T+_@]/GJTMN_B~6_ U_@i _@UkT<U_gG#i jk^_BfJ})T+kM(K:T|j_NOkMT+_@]/G#TMN_b]r_K+e+_VkRk^dMU\OM(K:\#MN_@UK_egTMfNU1CQC
6_S}nf#^d^fM`U\K_egTMfNUKSKRi iG#]M@_B_GNerf#}FT+_K_BG^\Nf]MT+iKG#UVUG^d^egfNi jG#]+_bTr_@iC
M]/KTSMT<e@G^egRk^(G#Tr_KBTr_ i fNkMd^dMT]/G#U\N_}nfN]b_GNerfNj_@]gG#TMfNU
|O"_@]+_ G#UV
G#]+_bT+_bcNb[G#UVb"b[#G^R_K]r_Kj_egTMN_g^NC6_BKre+_VkRk^dMU\j]+fNk^_@iM`Us8[M(KVk_ U_V|T+_
}nf#^d^`f#6MU\_ NRGJTMfNUK@
!"#$%&(')*#+
,#-./
*
-
+
<
*
+
(a)
*
*
*
*
<
*
*
*
-
*
-
(b)
<
(c)
Figure 4. (a) Data Flow Graph (b) ASAP schedule (c) ALAP Schedule
*6
C!1 .%+
3
b9D=587
!"#$%&(')*#+
,#-./
="= ;
S7
<
Scheduling
Algorithms
Time
Constrained
Basic
Force
Directed
As Soon as
Possible
Resource
Constrained
Int. Linear
Iterative
Progmg. Refinement
As Late as
Possible
ListBased
Miscellaneous
Simulated
Annealing
PathBased
Static
List
D3
= /;
; <3
@9
S7
<
C!1 .%+
!"#$%&(')*#+
,#-./
START
1
A_PORT
B_PORT
1
Write A
B1
B1
S0
CARRY_IN
B2
B(0)
+
1
B2
S1
B3
Write B
B4
B3
CARRY_OUT
B4
CARRY_OUT
S2
B5
B5
DONE
S3
Control Flow Graph
6 *6
C4&
'&
C
!" #"$%
&
' )( )
+* ,
+ -/. 0 1 23
4"5 768. )"9
+ & :+; / )-<+ = C
O ! " !
! ,\
!
! !%!K ! " d
! Y _
d 8! !
! Q!
!"#$%&(')*#+
,#-./
bAbAbt,~
$ &%
'
(
~tc k h
W 4
y,b~~ sP0
#
#
f
f
Wf
A PSt
{0
3'
(
WtuSs+~6b4
6_Dj]+feg_K+KbKT/GJT+_@i _@UkT/K6MUbSAbXG#]+_D_g%_egRTr_VK_ R_@U|TM(G^d^RTbT+_ KT/G#Tr_@i _@U|TgK6MT+fRTBG#U|VG#T/G
Vk_@j_@UVk_@UerM_KDe@G#U__g%_egRTr_VegfNUegR]+]+_@UkT^NCfN]S_gG#izjk^`_NO"Tr_<GNK+KM`\Ui _@U|TbKT/GJT+_@i _@UkT/Ku}nfN]Tr_BGJ]M
G#k^_K <8G#UVZQWS8e@G#U_ _g_egRT+_VegfNUegR]r]+_@U|T^`NC6kM(KSMi jk^dM(erMT jG#]/G^d^_g^dM(Ki G#UVegfNUkT+]+f#^ f#MUT+_
MUjRTHSAb8KSe@G#U_UkM(eg_g^`e@G#jT+R]+_VzMUGyAbE GNKKf#UMU \R]+_@+0NC
!"#$%&(')*#+
,#-./
*6 +4G2!1
7 /3
6
!"#$%&(')*#+
,#-./
9#87 ;
!"
#%$&(')*+),
)-
.0/2143658749(/:1
;<=;8>?A@
<BC1EDF/AG)HJILKINMO7QP-HR/EDSILK%TU;8TWVAIX1YBTW3+/:TZMXD
[2TD:M\1:C]4M\B1AG!HJ1A^`_a7TQK7 b0/:3RC14I
..
cd
,2.e0
f gAhjiAkmlon`p8qrp)q!s
t
uWvNwgAxzyv{i d lon!qv{u(|4v{uWu(}oiYv
qv{u(|4v{uWu(}oiYv\~(QZQ
}ox|o%~AQ
!(E2
FFYAFLLFm2jL4FQY\4:FLE!*=:L
Q:O2SZ!LrF*o4AX:FASF0FF\Y
Rj:2LX=L:4Lo
F\FLLmo(LO2FW{4\\LALQ{:
LF-F(\F\oYAFLLF
FL:AXL:AAFLY-F4:\Y\4WFL2L!FS!\4
FFoL:mo:2(F
:L4F*\FYAFLLF!YFF4FFALSoo!L:4Lo
WE:mQJ2QYA){:F
A%A:4LYm-m\FYAFLLFL4:LF
EA\:F\LFYZ:F\\8:FO2LFY&
LO\Lo:FEo*2L:4Lo
*o:WFE!LALAALL-{4j\FYAFLLFoF(oY)L)F
oAF2m4FL4:LF
EXY::42jL:4LFj2O\LYFL\!L
\
oY!:
QL:&o
L:4LFFQA)Y:::JQr2Q:F:ZL2LA
4\AWF*L!OFEAFLLFAE!)L
FAoQX{4\2!o4LLFm\LLLL2
ALO\FY
mF\Zj
Ej=L:FZ{:Q\:FW\LLLJ=L::LF&:-:F\LA
FAL4QS-:\AYWmA{(8Z:oLXA:\E
-LO\oOF-`-4
FF(=Y!=\
L:FZQ4AX:AAAoLOj `ZLFLAO2 4ooLm2OQQA=mW{mA
\A)O\oL:R2F:2:YZ)-4A4mOZm\FQAm-{=rAA:=Z:
LFLY-m{Z=Z:LFLY-NXS:LFY
:4O2
LFAWW%o:OJ=Y\Y
FFYAFLLFAAmNX\4\XOFYFLoS