This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Multi-Voltage and Level-Shifter Assignment Driven Floorplanning

Bei Yu  ,        Sheqin Dong     and   Satoshi GOTO
Bei Yu is with the Department of Computer Science and Technology, Tsinghua University, Beijing, China  100084 (e-mail: disyulei@gmail.com)Sheqin Dong is with the Department of Computer Science and Technology, Tsinghua University, Beijing, China  100084 (e-mail: dongsq@mail.tsinghua.edu.cn)Satoshi GOTO is with the Graduate School of IPS, Waseda University, Kitakyushu, Japan  808-0135

Abstract— As technology scales, low power design has become a significant requirement for SOC designers. Among the existing techniques, Multiple-Supply Voltage (MSV) is a popular and effective method to reduce both dynamic and static power. Besides, level shifters consume area and delay, and should be considered during floorplanning. In this paper, we present a new floorplanning system, called MVLSAF, to solve multi-voltage and level shifter assignment problem. We use a convex cost network flow algorithm to assign arbitrary number of legal working voltages and a minimum cost flow algorithm to handle level-shifter assignment. The experimental results show MVLSAF is effective.

Index Terms—Voltage-Island, Multi-Voltage Assignment, Level Shifter Assignment, Floorplanning

I INTRODUCTION

As technology scales, low power design has become a significant requirement for system-on-chip designers. Many techniques were introduced to deal with power optimization. Among the existing techniques, Multiple-Supply Voltage (MSV) is one of the most effective methods for both dynamic and static power reduction while maintaining performance. In the MSV design, one of the most important problem is voltage assignment: timing critical modules are assigned to higher voltage while noncritical modules are assigned to lower voltage, so the power can be saved without degrading the overall circuit performance.

There are a number of previous works addressing voltage assignment in floorplanning. Among these works, voltage assignment is considered at various stages, including pre-floorplanning[4, 5]; during floorplanning[6, 7, 8, 9]; and post-floorplaning[10, 11, 12].

Level-shifter [1] has to be inserted to an interconnect when a lower voltage module drives a higher voltage module or a circuit may suffer from excessive short-circuit current energy. From [5, 9] we can observe that the number and the area of level shifters can not be ignored when modules increase. As a result, level-shifters may cause performance and area overhead, and should be considered during floorplanning. Accordingly, MSV aware floorplanning includes two major problems: voltage assignment and level shifter assignment, which make the design process much more complicated.

Lee et al.[5] handle voltage assignment by dynamic programming, and level shifters are inserted as soft blocks. An approach based on ILP is used in [11] for voltage assignment at the post-floorplanning stage. To make use of physical information among modules during floorplanning, Ma et al.[8] transform voltage assignment problem into a convex cost network flow problem. However, their approach consider neither level-shifters’ area overhead nor level-shifters’ physical infomation.

Yu et al.[9] use a convex cost network flow algorithm to assign voltage and a minimum cost flow algorithm to handle level-shifter assignment which considers level-shifters’ positions and areas. However, their work can only assign two legal working voltages. Besides, level shifters are assumed to be soft modules and ratios can not controlled well.

In this paper, we propose a new floorplanning system MVLSAF, which is extended from [9]. At floorplanning phase, we use: a convex cost network flow algorithm to assign multi-voltages; a minimum cost flow algorithm with more accurate model to assign level shifters.

The remainder of this paper is organized as follows. Section 2 defines the voltage-island driven floorplanning problem. Section 3 presents our algorithm flow. Section 4 reports our experimental results. At last, Section 5 concludes this paper.

Refer to caption

.

Fig. 1.: Delay Power Curve of (a)module with three legal voltages; (b)corresponding level shifter. (c)modified DP-Curve of module.

II PROBLEM FORMULATION

Definition 1 (DP-Curve).

The power-delay tradeoff of each module is represented by a DP-Curve {(d1,p1),(d2,p2),,(dk,pk)}\{(d_{1},p_{1}),(d_{2},p_{2}),\dots,(d_{k},p_{k})\}, where each pair (di,pi)(d_{i},p_{i}) is the corresponding delay and power consumption when module is operated at voltage viv_{i}(Fig.1(a)).

We assume that power is a convex function of delay when each point (di,pi)(d_{i},p_{i}) is connected to its neighboring point(s) by a linear segment in the DP Curve. Besides, each level shifter has its own DP-Curve ((di,pi)(d_{i},p_{i}) is delay and power consumption when it is driving voltage ii). Lower voltage module needs bigger level shifter to drive other modules. Since bigger level shifter consumes more delay and power, we assume the level shifter’s DP-Curve is also convex(as shown if Fig.1(b)). We extend the problem in [9] to Multi-Voltage and Level-Shifter Assignment driven Floorplanning (MVLSAF):

Problem 1.

(MVLSAF) We are given following input to generate floorplanning result: minimize the area, power cost and wirelength; satisfying timing constraint; insert all the level-shifters in need.

1) A set of modules, each module has its DP–curve.
2) A netlist G^=(V^,E^)\hat{G}=(\hat{V},\hat{E}) and timing constraint TcycleT_{cycle}.
3) Level-shifter’s area, ratio and DP-Curve.
4) Number of legal working voltage kk.

III ALGORITHM of MVLSAF

Our work is similar to that presented in [9], in which a two phases framework is presented to deal with voltages and level-shifters assignment during floorplanning. However, our approach differs from [9] in the following ways: during voltage assignment, we support arbitrary number of legal voltages allowing further power reductions in certain applications; during level-shifter assignment, we adopt more accurate model to calculate possible level-shifter number in white space, which control level shifter under certain H/W ratio.

A Multi-Voltages Assignment

To take consumption of level-shifter into consider, for each module, we modify its DP-Curve: replace each pair (di,pi)(d_{i},p_{i}) by (di+dlsi,pi+plsi)(d_{i}+d_{ls}^{i},p_{i}+p_{ls}^{i}), where (dlsi,plsi)(d_{ls}^{i},p_{ls}^{i}) islevel shifter’s delay and power consumption. Modified DP-Curve is shown in Fig.1(c).

LEMMA 1.

f(x)f(x) is convex f(x1+x2)<f(x1)+f(x2)2\iff f(x_{1}+x_{2})<\frac{f(x_{1})+f(x_{2})}{2}, x1,x2Z\forall x_{1},x_{2}\in Z.

LEMMA 2.

If f(x)f(x) and g(x)g(x) are convex, then P(x)=f(x)+g(x)P(x)=f(x)+g(x) is also convex.

THEOREM 1.

Modified DP-Curve is piecewise linear convex function with integer breakpoints, and we can apply convex cost flow algorithm to solve voltage assignment problem[3].

Refer to caption
Fig. 2.:  (a)G¯={V¯,E¯}\bar{G}=\{\bar{V},\bar{E}\}, after adding nodes s,ts,t and diving nodes NiN_{i} into IiI_{i} and OiO_{i} (b)Transformed G¯={V,E}\bar{G}=\{V,E\} by adding edge e(s¯,t¯)e(\bar{s},\bar{t}) to remove constraint μtμsTcycle\mu_{t}-\mu_{s}\leq T_{cycle} in equation (1).

Given netlist G^\hat{G}, we translate it into G¯=(V¯,E¯)\bar{G}=(\bar{V},\bar{E})(adding start node ss and end node tt, dividing each node niG^n_{i}\in\hat{G} into 2 nodes IiI_{i} and OiO_{i}, as shown in Fig.2(a)). So V¯={s,t,I1,O1,I2,O2,,Im,Om}\bar{V}=\{s,t,I_{1},O_{1},I_{2},O_{2},\dots,I_{m},O_{m}\}. And IiI_{i} is connected to OiO_{i} by a directed edge. We denote these new created edges {e(Ii,Oi)|Ii,OiV¯}\{e(I_{i},O_{i})|I_{i},O_{i}\in\bar{V}\} as E¯1\bar{E}_{1}, denote edges {e(s,Ik)|IkV¯}\{e(s,I_{k})|I_{k}\in\bar{V}\} as E¯3\bar{E}_{3}, and other edges as E¯2\bar{E}_{2}, and E¯=E¯1E¯2E¯3\bar{E}=\bar{E}_{1}\cup\bar{E}_{2}\cup\bar{E}_{3}.

The mathematical program of voltage assignment is in (1),where dijd_{ij} is delay from node i to node j.

Minimizee(i,j)E¯Pij(dij)Minimize\sum_{e(i,j)\in{\bar{E}}}P_{ij}(d_{ij}) (1)
s.t.{μjμidije(i,j)E¯(1a)μtμsTcycle(1b)dij{dij1,dij2,,dijk}e(i,j)E¯1(1c)dij=delayije(i,j)E¯2(1d)dij=0e(i,j)E¯3(1e)s.t.\left\{\begin{array}[]{lll}\mu_{j}-\mu_{i}\geq d_{ij}&\forall e(i,j)\in\bar{E}&(1a)\\ \mu_{t}-\mu_{s}\leq T_{cycle}&&(1b)\\ d_{ij}\in\{d_{ij}^{1},d_{ij}^{2},\dots,d_{ij}^{k}\}&\forall e(i,j)\in\bar{E}_{1}&(1c)\\ d_{ij}=delay_{ij}&\forall e(i,j)\in\bar{E}_{2}&(1d)\\ d_{ij}=0&\forall e(i,j)\in\bar{E}_{3}&(1e)\\ \end{array}\right.

We can incorporate constraints (1b)(1b) and (1a)(1a) by transforming (1b)(1b) into μsμtTcycle\mu_{s}-\mu_{t}\geq-T_{cycle}, and define dstd_{st}, s.t. μtμs=dst&dstTcycle\mu_{t}-\mu_{s}=d_{st}\quad\&\quad d_{st}\leq T_{cycle}. Accordingly, E¯3={E¯3e(s,t)}\bar{E}_{3}=\{\bar{E}_{3}\cup e(s,t)\}, and the transformed DAG G¯\bar{G} is shown in Fig.2(b). Besides, we dualize the constraints (1a)(1a) using a nonnegative Lagrangian multiplier vector x¯\bar{x}, obtaining the following Lagrangian subproblem:

L(x)=mine(i,j)E¯[Pij(dij)+xijdij]L(\vec{x})=\textrm{min}\sum_{e(i,j)\in\bar{E}}[P_{ij}(d_{ij})+x_{ij}d_{ij}] (2)

We define function Hij(xij)H_{ij}(x_{ij}) for each e(i,j)Ee(i,j)\in E as follows:

Hij(xij)=mindij{Pij(dij)+xijdij}H_{ij}(x_{ij})=\textrm{min}_{d_{ij}}\{P_{ij}(d_{ij})+x_{ij}d_{ij}\} (3)
THEOREM 2.

The function Hij(xij)H_{ij}(x_{ij}) is a piecewise linear concave function of xijx_{ij}, and e(i,j)E1\forall e(i,j)\in E_{1}, Hij(xij)H_{ij}(x_{ij}) is described in the following manner:

Hij(xij)\displaystyle H_{ij}(x_{ij}) =\displaystyle= {Pij(dijk)+dijkxij0xijbij(k)Pij(dijq)+dijqxij0xijbij(q)Pij(dij1)+dij1xijkxij\displaystyle\left\{\begin{array}[]{ll}P_{ij}(d_{ij}^{k})+d_{ij}^{k}x_{ij}&0\leq x_{ij}\leq b_{ij}(k)\\ \dots\\ P_{ij}(d_{ij}^{q})+d_{ij}^{q}x_{ij}&0\leq x_{ij}\leq b_{ij}(q)\\ \dots\\ P_{ij}(d_{ij}^{1})+d_{ij}^{1}x_{ij}&k\leq x_{ij}\\ \end{array}\right. (9)

where bij(q)=Pij(dijq1)Pij(dijq)dijqdijq1b_{ij}(q)=\frac{P_{ij}(d_{ij}^{q-1})-P_{ij}(d_{ij}^{q})}{d_{ij}^{q}-d_{ij}^{q-1}}.

To transform the problem into a minimum cost flow problem, we construct an expanded network G=(V,E)G^{\prime}=(V^{\prime},E^{\prime}). There are three kinds of edges to consider:

  • e(i,j)e(i,j) in E1:we introduce kk edges in GG^{\prime}, and the costs of these edges are: dijk,dijk1,dij1-d_{ij}^{k},-d_{ij}^{k-1},\dots-d_{ij}^{1}; upper capacities: bij(k),bij(k1)bij(k),bij(k2)bij(k1),Mbij(2)b_{ij}(k),b_{ij}(k-1)-b_{ij}(k),b_{ij}(k-2)-b_{ij}(k-1),\dots M-b_{ij}(2), where MM is a huge confficient; lower capacities are both 0.

  • e(i,j)e(i,j) in E2: cost, lower and upper capacity is dij-d_{ij}, 0, M.

  • Edge in E3: two edges are introduced in GG^{\prime}, one with cost, lower and upper capacity as (Kj,M,0-K_{j},-M,0), another is (0,0,M0,0,M).

Using the cost-scaling algorithm, we can solve the minimum cost flow problem in GG^{\prime}. For the residual network G(x)G(x^{*}) and solve a shortest path problem to determine shortest path distance d(i)d(i) from node ss to every other node. By implying that μ(i)=d(i)\mu(i)=d(i) and dij=μ(i)μ(j)d_{ij}=\mu(i)-\mu(j) for each e(i,j)E1e(i,j)\in E_{1}, we can finally solve voltage assignment problem.

B Level-shifters Assignment

TABLE I
:
Notation used in LS Assignment
rjr_{j} Room containing module jj
RR Set of rooms, R={r1,r2,,rm}R=\{r_{1},r_{2},\dots,r_{m}\}
LSLS Set of LSs, LS={ls1,ls2,,lsn}LS=\{ls_{1},ls_{2},\dots,ls_{n}\}
pjk,k=1,2,3p_{jk},k=1,2,3 Three parts of white spaces in rjr_{j}.
Refer to caption
Fig. 3.:  (a)Area of pj1p_{j1} is bigger than area of level shifter but is too narrow to insert. (b)pj3p_{j3} can merge with either pj1p_{j1} or pj2p_{j2}. (c)If pj3p_{j3} merges with pj1p_{j1}, can insert only 5 level shifters. (d)If pj3p_{j3} merges with pj2p_{j2}, can insert totally 6 level shifters.

After voltage assignment, each module is assigned a voltage, then the number of level shifters nn is determined. In level shifter assignment we carry out minimum cost flow algorithm to try to assign every level-shifters one room. Compared with [9], we present a more accurate model estimating possible number of level shifters in white space to avoid too much ratio.

We construct a network graph G=(V,E)G^{*}=(V^{*},E^{*}), and then use a min-cost max-flow algorithm to determine which room each level shifter belong to.

  • V={s,t}LSRV^{*}=\{s,t\}\cup LS\cup R.

  • E={(s,lsi)|lsiLS}{(lsi,rj)|frij=1}{(rj,t)|rjR}E^{*}=\{(s,ls_{i})|ls_{i}\in LS\}\cup\{(ls_{i},r_{j})|\forall fr_{ij}=1\}\cup\{(r_{j},t)|r_{j}\in R\}.

  • Capacities: C(s,lsi)=C(lsi,rj)=1,C(rj,t)=NumLS(j)C(s,ls_{i})=C(ls_{i},r_{j})=1,C(r_{j},t)=NumLS(j).

  • Cost: F(s,lsi)=0,F(rj,t)=0;F(lsi,rj)=FijF(s,ls_{i})=0,F(r_{j},t)=0;F(ls_{i},r_{j})=F_{ij}.

where frij={1,if lsi can be inserted into rj0,othersfr_{ij}=\left\{\begin{array}[]{ll}1,&\textrm{if $ls_{i}$ can be inserted into $r_{j}$}\\ 0,&\textrm{others}\\ \end{array}\right. and FijF_{ij} can refer to [9].

The algorithm of NumLS(i)NumLS(i), which accurately estimates number of possible level shifters in white space, is shown in Algorithm 1. In room rjr_{j}, white space is split into at most three parts: pj1,pj2,pj3p_{j1},p_{j2},p_{j3}(as shown in Fig.3).

Algorithm 1 NumLS(i)
1:  Initialize pi1,pi2,pi3p_{i1},p_{i2},p_{i3};
2:  alsa_{ls}\leftarrow area of level shifter;
3:  if pi1p_{i1} is too narrow then
4:   areaof(pi1)0areaof(p_{i1})\leftarrow 0;
5:  end if
6:  if pi2p_{i2} is too narrow then
7:   areaof(pi2)0areaof(p_{i2})\leftarrow 0;
8:  end if
9:  if areaof(pi1)%als>areaof(pi2)%alsareaof(p_{i1})\ \%\ a_{ls}>areaof(p_{i2})\ \%\ a_{ls} then
10:   pi1pi1pi3p_{i1}\leftarrow p_{i1}\cup p_{i3};
11:  else
12:   pi2pi2pi3p_{i2}\leftarrow p_{i2}\cup p_{i3};
13:  end if
14:  return  areaof(pi1)als+areaof(pi2)als\lfloor\frac{areaof(p_{i1})}{a_{ls}}\rfloor+\lfloor\frac{areaof(p_{i2})}{a_{ls}}\rfloor;

It can be shown that any flow in the network GG^{*} assigns level shifters to white spaces. The minimum cost flow algorithm can be run in polynomial time[3].

After level-shifter assignment, level shifters that can not be assigned to any room are belong to set ELSELS. We use heuristic method to assign level shifters in ELSELS, so more level shifters in ELSELS, more ILO(Interconnect Length Overhead[9]). If white space wsiws_{i} is too narrow, then level shifters being assigned to wsiws_{i} are all belong to ELSELS. More accurate model we used (Algorithm 1) can reduce the number of level shifters in ELSELS and then reduces ILO.

IV EXPERIMENTAL RESULTS

TABLE II
:
The Comparison Between the VLSAF and the Previous Work [9]
Data Power Cost Wire Length w. LS LS Number ILO(%) White Space(%) Run Time(s)
[9] MVLSAF [9] MVLSAF [9] MVLSAF [9] MVLSAF [9] MVLSAF [9] MVLSAF
n10 189142 162794 15504 16474 9 11 0.37 0.12 10.96 11.54 3.36 3.96
n30 146483 138463 43265 45388 25 42 0.07 0.21 14.28 17.63 21.0 19.83
n50 143596 133564 94622 93296 114 151 0.28 0.50 22.63 22.95 41.37 49.35
n100 135607 120885 185382 181280 153 167 0.49 0.34 27.05 26.07 436.65 414.7
n200 129615 117538 349562 344111 203 248 0.44 0.46 36.35 34.84 1980.4 2036.4
n300 216554 206354 552616 568364 366 417 0.49 0.53 37.73 38.54 2384.3 2377.2
Avg 160166 146599 206825 208152 145 172 0.36 0.36 24.83 25.26 811.2 816.8
Diff - -8.5% - +0.6% - +18.6% - ±\pm 0% - +1.7% - +0.7%
TABLE III
:
Experimental Results with More Legal Working Voltage
Data kk
Power
Cost
Wire
Length
LS
Num
ILO
(%)
Dead
Space(%)
Run
Time(s)
Data kk
Power
Cost
Wire
Length
LS
Num
ILO
(%)
Dead
Space(%)
Run
Time(s)
n10 2 189142 15341 9 0.10 10.21 3.05 n100 2 133775 178685 122 0.17 26.45 431.7
3 163352 16386 10 0.13 11.58 3.03 3 131394 180023 150 0.50 26.8 438.05
4 162794 16474 11 0.12 11.54 3.96 4 120885 181280 167 0.34 26.07 414.7
n30 2 146483 42591 25 0.1 15.0 21.5 n200 2 127044 344010 204 0.42 35.64 1955.8
3 139466 45103 42 0.32 15.85 20.82 3 112801 331627 242 0.55 35.44 1949.4
4 138463 45388 42 0.21 17.63 19.83 4 117538 344111 248 0.46 34.84 2036.4
n50 2 144489 93459 104 0.25 22.05 49.21 n300 2 223574 548502 321 0.23 37.88 2363.9
3 132199 94105 130 0.37 22.72 51.10 3 218636 556718 389 0.44 37.14 2390.2
4 133564 93296 151 0.50 22.95 49.35 4 206354 568364 417 0.53 38.54 2377.2

We implemented algorithm MVLSAF in the C++ programming language and executed on a Linux machine with a 3.0GHz CPU and 1GB Memory. Fig. 4 shows the experimental results of the benchmarks n50 and n100.

We use CBL[2] to represent every floorplan generated. Besides, all the multi-pin nets are decomposed into a set of source-sink two-pin nets. Cost function in floorplanning is: Φ=λAA+λWW+λPP+λRR+λNN\Phi=\lambda_{A}A+\lambda_{W}W+\lambda_{P}P+\lambda_{R}R+\lambda_{N}N, where AA and WW represent the floorplan area and wire length; PP represents the total power consumption; RR represents the power network resource; and NN records the number of level shifters that can not be assigned.

The previous work [9] is the recent one in handling floorplanning problem considering voltage and level-shifter assignment. We performed our algorithm MVLSAF and VLSAF in [9] on the same test circuits, which are based on the GSRC benchmarks adding power and delay specifications. For each test circuit, we set kk as 4, and run MVLSAF and VLSAF 5 times. Table II lists the average results. The column Power Cost means the actual power consumption. When allowing four legal working voltages, MVLSAF can save 8.5% power while not deteriorating wirelength, dead space and run time. The column ILO and the column LS Number show that using more accurate model in level shifter assignment, even level shifters number increases 18.6% ILO does not increase.

In order to demonstrate the effectiveness of our approach, we have done three sets of experiments in which the number of legal working voltage for each module is set two, three and four. The detailed results are listed in Table III.

Refer to caption
Refer to caption
Fig. 4.: Experimental results of n50 and n100. Four legal working voltages. Modules in the same voltage are nearly clustered together to reduce the power-network resource, and level shifters (small dark blocks) are inserted in white spaces.

V CONCLUSIONS

We have extended framework in [9] to solve multi-voltage and level shifter assignment problem: a convex cost network flow algorithm to assign arbitrary number of legal working voltages; a minimum cost flow algorithm to handle level shifter assignment. Experimental results have shown that our framework is effective in reducing power cost while considering level shifters’ positions and areas.

References

  • [1] David Lackey, Paul Zuchowski and J. Cohn. Managing power and performance for system-on- chip designs using voltage islands. ICCAD, pages 195–202, 2002.
  • [2] Xianlong Hong, Sheqin Dong. Non-slicing floorplan and placement using corner block list topological representation. IEEE Transaction on CAS, 51:228–233, 2004.
  • [3] R.K. Ahuja, D.S. Hochbaum, and J.B. Orlin Solving the convex cost integer dual network flow problem. Management Science, 49(7):950-964, 2003
  • [4] W.L.Hung, G.M.Link and J.Conner. Temperature-aware voltage islands architecting in system-on-chip design. ICCD, 2005.
  • [5] W.P.Lee and Y.W.Chang. Voltage island aware floorplanning for power and timing optimization. ICCAD, pages 389–394, 2006.
  • [6] Q.Ma and F.Y.Young. Voltage Island-Driven Floorplanning. ICCAD, pages 644–649, 2007.
  • [7] D.Sengupta and R.Saleh. Application-driven Floorplan-Aware Voltage Island Design. DAC, pages 155–160, 2008.
  • [8] Q.Ma and F.Y.Young. Network flow-based power optimization under timing constraints in MVS-driven floorplanning. ICCAD, 2008.
  • [9] Bei Yu, Sheqin Dong, Satoshi GOTO and Song Chen. Voltage-Island Driven Floorplanning Considering Level-Shifter Positions. GLSVLSI, 2009.
  • [10] W.K.Mak and J.W.Chen. Voltage island generation under performance requirement for soc designs. ASP_DAC, 2007.
  • [11] W.P.Lee and Y.W.Chang. An ILP algorithm for post-floorplanning voltage-island generation considering power-network planning. ICCAD, pages 650–655, 2007.
  • [12] W.P.Lee, D.Marculescu and Y.W.Chang. Post-Floorplanning Power/Ground Ring Synthesis for Multiple-Supply-Voltage Designs. ISPD, pages 5–12, 2009.