Research Article

Parametric Yield-Driven Resource Binding in High-Level Synthesis with Multi-Vth/Vdd Library and Device Sizing

Algorithm 1

Outline of the variation-aware resource binding algorithm.
VABINDING ( 𝐷 𝐹 𝐺 , 𝑅 𝑒 𝑠 𝐿 𝑖 𝑏 , 𝐢 π‘œ 𝑛 𝑠 𝑑 π‘Ÿ π‘Ž 𝑖 𝑛 𝑑 𝑠 , 𝐿 𝐢 𝑆 𝑑 π‘Ÿ π‘Ž 𝑑 𝑒 𝑔 𝑦 )
  ⊳ Initialization
( 1 )  Scheduling using ASAP strategy
( 2 )  Initial Binding to ( 𝑉 𝐿 t h , 𝑉 𝐻 d d ) resources
  ⊳ Variation-aware resource binding
( 3 )  while Ξ” Y i e l d 𝑃 > 0 AND Y i e l d 𝐷 β‰₯ 𝐢 π‘œ 𝑛 𝑠 𝑑 π‘Ÿ π‘Ž 𝑖 𝑛 𝑑
( 4 )   do for 𝑖 ← 1 to 𝑀 𝐴 𝑋 𝑀 𝑂 𝑉 𝐸 𝑆
( 5 )     do G a i n 𝑖 ← GENMOVE ( 𝐷 𝐹 𝐺 , 𝑅 𝑒 𝑠 𝐿 𝑖 𝑏 , 𝐿 𝐢 𝑆 𝑑 π‘Ÿ π‘Ž 𝑑 𝑒 𝑔 𝑦 )
( 6 )      Append G a i n 𝑖 to G a i n _ 𝐿 𝑖 𝑠 𝑑 ;
( 7 )    Find subsequence G a i n 1 , … , G a i n π‘˜ in G a i n _ 𝐿 𝑖 𝑠 𝑑
     so that βˆ‘ 𝐺 = π‘˜ 𝑖 = 1 G a i n 𝑖 is maximized
( 8 )    if 𝐺 > 0
( 9 )     do Accept moves 1 β‹… β‹… β‹… π‘˜
( 1 0 ) Evaluate Ξ” Y i e l d 𝑃 and Y i e l d 𝐷
GENMOVE ( 𝐷 𝐸 𝐺 , 𝑅 𝑒 𝑠 𝐿 𝑖 𝑏 , 𝐿 𝐢 𝑆 𝑑 π‘Ÿ π‘Ž 𝑑 𝑒 𝑔 𝑦 )
( 1 )  MOVE: Choose a move using steepest descent heuristic [33]
( 2 )  Check whether and where level conversion is needed
( 3 )  if 𝐿 𝐢 𝑆 𝑑 π‘Ÿ π‘Ž 𝑑 𝑒 𝑔 𝑦 = 𝐴 𝑣 π‘œ 𝑖 𝑑 π‘Ž 𝑛 𝑐 𝑒 AND 𝑁 𝑒 𝑒 𝑑 𝐢 π‘œ 𝑛 𝑣 𝑒 π‘Ÿ 𝑠 𝑖 π‘œ 𝑛
( 4 )   do goto MOVE
( 5 )  if 𝐿 𝐢 𝑆 𝑑 π‘Ÿ π‘Ž 𝑑 𝑒 𝑔 𝑦 = 𝑆 𝑦 𝑛 𝑐 β„Ž π‘Ÿ π‘œ 𝑛 π‘œ 𝑒 𝑠 AND 𝑁 𝑒 𝑒 𝑑 𝐢 π‘œ 𝑛 𝑣 𝑒 π‘Ÿ 𝑠 𝑖 π‘œ 𝑛
  ⊳ Check whether conversion is synchronous or not
( 6 )   do if Conversion is inside operation chaining
( 7 )         do goto MOVE
( 8 )  Count the overhead of level conversion
( 9 )  Evaluate the G a i n of this move
( 1 0 )   Return G a i n