Professional Documents
Culture Documents
9
9
9
4, APRIL 2010
Abstract—In this paper, we present a low-power architectural synthesis, logic-level synthesis, and physical design. The higher
synthesis system (LOPASS) for field-programmable gate-array the design level is, the larger the impact the design decisions
(FPGA) designs with interconnect power estimation and opti- impose on the quality of the final product [27].
mization. LOPASS includes three major components: 1) a flexible
high-level power estimator for FPGAs considering the power Our work focuses on power optimization at the behavioral
consumption of various FPGA logic components and intercon- level. Behavioral synthesis (also called high-level synthesis) is
nects; 2) a simulated-annealing optimization engine that carries a process that takes a given behavioral description of a cir-
out resource selection and allocation, scheduling, functional unit cuit and produces an RTL design to meet the area, delay, or
binding, register binding, and interconnection estimation simul- power constraints. It primarily consists of three subtasks: sched-
taneously to reduce power effectively; and 3) a -cofamily-based
register binding algorithm and an efficient port assignment al- uling, allocation, and binding. Scheduling determines when a
gorithm that reduce interconnections in the data path through computational operation will be executed, allocation determines
multiplexer optimization. The experimental results show that how many instances of resources (functional units (FUs), reg-
LOPASS produces promising results on latency optimization com- isters, and interconnection units) are needed, and binding as-
pared to an academic high-level synthesis tool SPARK. Compared signs/binds operations, variables, and data transfers to these re-
to an early commercial high-level synthesis tool, namely, Synopsys
Behavioral Compiler, LOPASS is 61.6% better on power consump- sources. The number of resources may be limited, and the total
tion and 10.6% better on clock period on average. Compared to time (latency) to finish the operations can be constrained. These
a current commercial tool, namely, Impulse C, LOPASS is 31.1% make most of the problems difficult to solve optimally.
better on power reduction with an 11.8% penalty on clock period. Field-programmable gate-array (FPGA) chips are generally
Index Terms—Behavioral synthesis, field-programmable gate perceived as power inefficient because they use a large amount
array (FPGA), interconnect, power optimization. of transistors to provide programmability. Due to the relatively
fixed logic and routing resources in a target FPGA platform, it
may be difficult to optimize power during the physical design
I. INTRODUCTION stage, while there are more power reduction opportunities
provided by behavioral and architectural design exploration.
ITH THE exponential growth of the performance and However, high-level synthesis research specifically targeting
W capacity of integrated circuits, power consumption
has become one of the most critical constraining factors in
FPGA designs for low power is rare. Most previous high-level
synthesis techniques for FPGAs optimize objectives other than
the IC design flow. Rigorous low-power design will require power reduction. Reference [33] presents a scheduling algo-
power optimization through the whole design flow to achieve rithm for dynamically reconfigurable FPGAs, where FUs can
maximal power reduction. A typical VLSI CAD flow goes be dynamically reconfigured during runtime to save chip area.
through multiple design stages, including system-level syn- In [35], a layout-driven high-level synthesis approach is pre-
thesis, behavioral-level synthesis, register-transfer-level (RTL) sented to reduce the gap between metrics predicted during RTL
synthesis and the measured data after FPGA implementation.
High-level synthesis for a multi-FPGA system is done in [14].
Manuscript received April 28, 2008; revised August 28, 2008 and December
On the low-power part, [34] takes an RTL design and trades off
05, 2008. First published June 23, 2009; current version published March 24, power with circuit speed by selecting different implementations
2010. This work was supported in part by Altera Corporation, by the National of components iteratively. However, the model presented is
Science Foundation under Grant CCR-0306682, by the Microelectronics Ad-
vanced Research Corporation/Defense Advanced Research Projects Agency Gi-
quite simplistic and does not consider the power consumption
gascale Systems Research Center, and by Semiconductor Research Corpora- of the steering logic, such as multiplexers (MUXes), and in-
tion-Global Research Collaboration under Grant 2007-HJ-1592. terconnect. Recently, Chen et al. [7] presented a simultaneous
D. Chen and L. Wan are with the Department of Electrical and Computer
Engineering, University of Illinois at Urbana–Champaign, Urbana, IL 61801
resource allocation and binding algorithm for FPGA power
USA (e-mail: dchen@illinois.edu; luwan2@illinois.edu). minimization, targeting a real FPGA architecture—the Altera
J. Cong is with the Computer Science Department, University of California Stratix device [2].
at Los Angeles, Los Angeles, CA 90095 USA (e-mail: cong@cs.ucla.edu). In this paper, we will mainly study three interrelated topics
Y. Fan is with AutoESL Design Technologies, Inc., Los Angeles, CA 90025
USA (e-mail: fanyp@autoesl.com). for FPGA power reduction: 1) high-level power estimation; 2)
Digital Object Identifier 10.1109/TVLSI.2009.2013353 simultaneous scheduling, allocation, and binding for power op-
1063-8210/$26.00 © 2010 IEEE
Authorized licensed use limited to: BANGALORE INSTITUTE OF TECHNOLOGY. Downloaded on March 30,2010 at 02:22:11 EDT from IEEE Xplore. Restrictions apply.
CHEN et al.: LOPASS: A LOW-POWER ARCHITECTURAL SYNTHESIS SYSTEM FOR FPGAS WITH INTERCONNECT ESTIMATION AND OPTIMIZATION 565
Authorized licensed use limited to: BANGALORE INSTITUTE OF TECHNOLOGY. Downloaded on March 30,2010 at 02:22:11 EDT from IEEE Xplore. Restrictions apply.
566 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 18, NO. 4, APRIL 2010
Authorized licensed use limited to: BANGALORE INSTITUTE OF TECHNOLOGY. Downloaded on March 30,2010 at 02:22:11 EDT from IEEE Xplore. Restrictions apply.
CHEN et al.: LOPASS: A LOW-POWER ARCHITECTURAL SYNTHESIS SYSTEM FOR FPGAS WITH INTERCONNECT ESTIMATION AND OPTIMIZATION 567
Authorized licensed use limited to: BANGALORE INSTITUTE OF TECHNOLOGY. Downloaded on March 30,2010 at 02:22:11 EDT from IEEE Xplore. Restrictions apply.
568 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 18, NO. 4, APRIL 2010
(6)
C. Resource Library Characterization Table I shows some of the characterization data. The area
(in terms of number of CLBs) required for the FPGA imple-
We use a resource library that is derived from the DesignWare mentation of the resource, the critical path delay after place-
libraries available from Synopsys [32]. Therefore, our charac- ment and routing, and the total power values are reported. The
terization for the resources closely correlates to the character- average number of input/output signals per CLB and the av-
istics of real-life implementations of the resources. We provide erage gate-fan-out number of resources are also recorded be-
different resource versions for implementing the same opera- cause they are used in the calculation of the wire distributions
tion type to offer larger design flexibility. These resources have (Section III-A). The delay values would determine the clock pe-
different area, delay, and power characteristics. Given different riod of the design. Among all the resources used for a design,
user requirements, the behavioral synthesis should be able to the minimum delay value determines the clock period, and other
find a good tradeoff between latency and power, where latency resources with larger delay values will run in a multicycle mode.
is defined as the product of the clock period and the total number For example, if a design only uses carry look-ahead adders and
of clock cycles used for the design. Booth-recoded Wallace tree multipliers, the clock period of the
Under this assumption, we select adders, multipliers, and design will be set to 11.78 ns. As a result, the adder takes one
multiplexers and characterize their area, delay, and power. clock cycle to finish its execution, while the multiplier takes two
Fig. 5 shows the flow for this characterization. A DesignWare clock cycles to finish its execution.
IP component goes through Synopsys Design Compiler for In our benchmarks, the output of a multiplier never exceeds
synthesis and mapping. We use a generic lsi_10k library avail- 24 b, and the input of a multiplier never exceeds 18 b. Therefore,
able in the Synopsys tool. Design Compiler transforms the IP we use 18-b multipliers and 24-b adders. The power values can
core into a gate-level netlist consisting of only two-input gates be used to estimate the weight in (6). However, they are not
and flip-flops. The netlist is in a structured VHDL format. We directly used in our power estimator because they only represent
then convert the design into the Berkeley logic interchange the atomic power values of individual resources by themselves.
format (BLIF). Then, fpgaEva_LP2 takes the gate-level BLIF To have an accurate power estimation for the whole design, our
design, goes through synthesis and physical design stages, and power model considers detailed power characterization for LEs
reports the delay, area, and power values of the component. used by the entire design in both FUs and interconnection units
Authorized licensed use limited to: BANGALORE INSTITUTE OF TECHNOLOGY. Downloaded on March 30,2010 at 02:22:11 EDT from IEEE Xplore. Restrictions apply.
CHEN et al.: LOPASS: A LOW-POWER ARCHITECTURAL SYNTHESIS SYSTEM FOR FPGAS WITH INTERCONNECT ESTIMATION AND OPTIMIZATION 569
(MUXes). We also estimate the power of global wires incurred matrices, our high-level power estimator runs extremely
for the connections of these elements. Details will be presented fast—almost close to constant time, which is the key needed to
in the next section. speed up the power optimization engine.
D. Put It All Together: High-Level Power Estimator IV. POWER OPTIMIZATION ENGINE
We consider both dynamic and static powers for various Before we introduce the power optimization engine, we will
FPGA components in our power model. FPGAs contain examine in the following some of the FPGA’s unique features
buffer-shielded LUT cells with fixed capacitance load. There- that will help us gain some insights for designing efficient opti-
fore, we can use precharacterization-based macromodeling to mization algorithms:
capture the average switching power per access of an LUT and 1) FPGAs offer an abundance of distributed registers;
register. As for interconnects, a switch-level calculation can 2) FPGAs have no efficient support for wide MUXes
be used because their capacitance cannot be predetermined. (Table I);
This mixed-level FPGA power model is similar to that used in 3) smaller numbers of FUs and/or registers may not corre-
the gate-level power model in [23] and [24]. The difference is spond to a smaller area or power.
that we estimate power at a higher level, which is much faster These facts will influence register allocation and binding and
than a gate-level power estimator. Since the high-level power steering logic allocation during behavioral synthesis. Particu-
estimator is used to guide the power optimization engine, it has larly, since FPGAs are not efficient in implementing wide-input
to be called by the power engine very frequently. Therefore, a MUXes due to limited routing resources, solely working for a
fast power estimator with sufficient accuracy is helpful for the smaller number of FUs may lead to unfavorable solutions be-
overall power optimization. cause it may generate a larger number of wide-input MUXes
Our high-level power model can be summarized in (7) and that outweigh the gain on FU reduction. Therefore, we need an
(8). The dynamic power is contributed from (for all the algorithm that explores a large solution space considering mul-
LUTs contained in the design), (for all the registers), tiple constraining parameters that influence FU and register al-
(for local wires within the CLB), and (for global routing location, binding, MUX generation, and scheduling.
wires) As mentioned in the Introduction, we adopt the simulated-
annealing process as our power optimization engine. Its basic
(7) feature is to allow hill-climbing moves to explore the solution
space. The probability of accepting these moves is controlled
(8) by a parameter that is analogous to temperature in the physical
annealing process. Temperature decreases gradually as the an-
is calculated through , where nealing process proceeds. We start our annealing process with
is the total number of LUTs in the design; is the estimated an initial FU allocation and binding solution generated by a
switching activity of the design (Section III-B); is the simple greedy algorithm under the latency constraint. The en-
energy consumption per switching of the LUT [23], [24]; and gine then performs five types of binding moves to gradually
is the frequency. is calculated similarly through reduce the overall cost. The cost is the total power consump-
. For the wires, and are calculated through tion calculated by the high-level power estimator. The moves
the formula , where and are the same are randomly picked, and the targeted FU(s) for each move is
as before, is the supply voltage, and is the estimated randomly picked as well. The moves are as follows.
wire capacitance for either local wires within the logic block or 1) Reselect: Select another FU of the same functionality but
global wires in the routing tracks. The local wires in a CLB can with a different implementation. For example, select a
be estimated through the CLB architecture shown in Fig. 1 (see carry look-ahead adder to replace a Brent–Kung adder.
[23] and [24] for a detailed CLB structure). The capacitance of The operations that are bound to the adder stay unchanged.
local buffers (LBs) and local multiplexers is lump-summed into 2) Swap: Swap two bindings of the same functionality but
the local . The global wire length estimation is carried out different implementations. It is equivalent to two reselects
using the method in Section III-A. The capacitance of buffers between two FUs in each direction.
and/or pass transistors (in switch boxes and connection boxes) 3) Merge: Merge two bindings into one, i.e., the operations
in global interconnects is lump-summed into the global that are bound to two FUs are combined into one FU. As a
according to the routing architecture. result, the total number of FUs decreases by one.
In (8), the static powers of all the used LUTs, FFs, LBs, and 4) Split: Split one binding into two. It is the reverse action of
global buffers (GBs) are included. The static powers of these merge. As a result, the total number of FUs increases by
circuit components are borrowed from [23] and [24], where the one. The operations of the original binding are distributed
authors obtained static-power macromodels based on SPICE into the new bindings randomly.
simulation. We also calculate the numbers of idle components 5) Mix: Select two bindings, merge them, sort the merged op-
through our architecture model and the estimated chip size of erations according to the decreasing order of their timing
the FPGA and count their static powers as well. slacks, and then split the operations. For example, if there
Since we only perform initial circuit simulation once, and are operations after sorting, operations 1 to will
the switching activities for different binding and scheduling form one binding with one FU, and the rest of the opera-
scenarios can be estimated by simple lookups in the and tions will form another binding.
Authorized licensed use limited to: BANGALORE INSTITUTE OF TECHNOLOGY. Downloaded on March 30,2010 at 02:22:11 EDT from IEEE Xplore. Restrictions apply.
570 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 18, NO. 4, APRIL 2010
Authorized licensed use limited to: BANGALORE INSTITUTE OF TECHNOLOGY. Downloaded on March 30,2010 at 02:22:11 EDT from IEEE Xplore. Restrictions apply.
CHEN et al.: LOPASS: A LOW-POWER ARCHITECTURAL SYNTHESIS SYSTEM FOR FPGAS WITH INTERCONNECT ESTIMATION AND OPTIMIZATION 571
one another, and their lifetimes are sequential and not overlap-
ping. Therefore, the elements corresponding to the variables in
a group form one chain in the POSET. Since there is no vari-
able that is assigned to more than one register, the grouping de-
termines a disjoint chain in the POSET. The direction from
disjoint chains to groups of variables holds true as well.
Theorem 1 can be shown in Fig. 7(a). The solution with an op-
timal number of registers (in this case, two) is obtained by the
partition of two disjoint chains (dashed ovals) in the POSET. Vari-
ables in one chain can then be bound into one separate register.
Let represent the weight of a chain in a POSET. Suppose
that , ,
Fig. 7. POSET and its split graph. (a) POSET P . (b) Split graph G(P ).
where is the weight assigned to the relation
. Register binding of the nodes in into registers with
a subset of that covers all the vertices in in such a way the minimum total weight is equivalent to finding disjoint
that the total sum of the weights of all the edges in the subset is chains in the POSET with the minimum total weight from the
the minimum, with the constraint that all the vertices can only chains. There is an important fundamental result on POSETs
be bound into as many as registers as possible. If we find such due to Dilworth [12], which indicates that any -cofamily in a
a subset, we say that we carry out register binding of into POSET can be partitioned into at most disjoint chains. A
registers with the minimum total weight. chain is nontrivial if it contains at least two elements. If an el-
We formulate our register binding problem as a problem of ement is not related to any other elements in the POSET, we
calculating the minimum weighted cofamilies of a partially or- say that forms a trivial chain just by itself. We say that a -co-
dered set (POSET). A POSET is a collection of elements with family is nontrivial if it can be partitioned into exactly disjoint
a binary relation defined on that satisfies the following nontrivial chains. We have the following corollary.
conditions [25]: Corollary 1: The minimum weighted nontrivial -cofamily
1) reflexive, i.e., for all ; with at least one antichain of size in a POSET can be
2) antisymmetric, i.e., and ; partitioned into exactly disjoint nontrivial chains with the
3) transitive, i.e., and . minimum total weight to cover every element in , when the
We say that and are related if we have either or weights on the relations are all negative values.
. An antichain in is a subset of elements such that no Proof: It is a simple extension based on the Dilworth the-
two of them are related. A chain in is a subset of elements such orem. Any -cofamily with at least one antichain of size can be
that every two of them are related. A -family in is a subset of partitioned into disjoint chains. In other words, the disjoint
elements that contains no chain of size , and a -cofamily chains form a -cofamily for the POSET. If the disjoint chains
in is a subset of elements that contains no antichain of size hold the minimum total weight, then the -cofamily holds the
[16]. We show an example in Fig. 7. In Fig. 7(a), edges minimum total weight as well. The minimum weighted -co-
represent relations among the elements. The POSET contains a family will cover all the elements in . If it is not the case,
3-family and a 2-cofamily. We can associate weights for -co- adding more elements into the -cofamily will always reduce
families, where the minimum weighted -cofamilies are partic- the total weight.
ularly important to us. We now build the relationship between a Therefore, our goal is to find the minimum weighted -co-
compatibility graph and a POSET. family in (or the minimum weighted disjoint chains in ).
Given a compatibility graph , let POSET In [8], an algorithm based on network flow theories was pre-
such that contains all the vertices of , and sented to calculate the maximum node-weighted -cofamilies
the compatibility relation defined in can be the relation (weights on nodes only). In this paper, we show how to convert
on the elements of . It is easy to show that the compatibility the calculation of the minimum relation-weighted -cofamily
relation is reflexive, antisymmetric, and transitive. By such, an into the calculation of the minimum-cost flow in a network.
edge of represents a relation between the two First, we construct our network flow graph, the split graph
elements of as . Therefore, there is a one-to-one , as follows. For each element in , we introduce two
correspondence between one node in and one element in , vertices and in and a directed edge . We
and between one edge in and one in . We also assign introduce a directed edge in if
the weight on to the relation . There is no weight on . Moreover, we introduce two more vertices (source) and
the element itself. We have the following result. (sink) in and add edges and for each
Theorem 1: Register binding on a compatibility graph . Fig. 7(b) shows the corresponding split graph of POSET
into registers is equivalent to finding disjoint chains in the of Fig. 7(a). We set the capacity of each edge to be one and
POSET , and each chain contains all the variables that are the cost of each edge , denoted as , to be
bound into one of the registers.
Proof: A register binding solution gives a grouping of vari- if or
ables, and each group is assigned (bound) to a different reg- if (9)
ister. All the variables assigned to a register are compatible with if
Authorized licensed use limited to: BANGALORE INSTITUTE OF TECHNOLOGY. Downloaded on March 30,2010 at 02:22:11 EDT from IEEE Xplore. Restrictions apply.
572 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 18, NO. 4, APRIL 2010
where is a negative value (to be covered in the next sec- there is a flow for , then it means that occupies
tion). Therefore, the cost of the flows in will always be a register just by itself. In the example shown in Fig. 7(b), if
smaller by going through edges instead of edges we have a unit flow on each of the following edges— ,
. We have the following theorem. , and , the binding solution will be equivalent
Theorem 2: Let be a POSET of elements, and the largest to the solution shown in Fig. 7(a), i.e., variables , , and
antichain in has size . Then, has a -cofamily that in- will be bound to one register, and variables and will be
cludes all elements with the minimum total weight if and only bound to another register. In the next section, we will describe
if the split graph has an -flow of the minimum total how to estimate weights on the edges through cost function
weight. formulation.
Proof: We will first show that the theorem holds when Cost Function Formulation: In this section, we provide some
has a nontrivial -cofamily, i.e., it can be partitioned into non- details for calculating the edge weight if and are to be
trivial chains. We then extend our result to -cofamilies that con- bound together. A MUX occurs in two situations: 1) It is intro-
tain trivial chains. duced before a port of an FU when more than two registers
(If) Suppose that has a -flow of minimum feed data to this port, and 2) it is introduced before a register
total weight (minimum-cost -flow) and that there are when more than two FUs produce results and store them into
no flows that pass through edges . Therefore, there are this register. Different register bindings will produce different
numbers of flows, and each of them passes a separate multiplexing situations.
edge like since all the edge capacities are one. Fig. 8 shows an example. Case 1 binds the two variables
These flows will form disjoint paths in (except the driven by FUs and into two separate registers. By such,
starting node and the ending node ). By Corollary 1, the min- it saves a MUX between the connections of and their
imum-weighted nontrivial -cofamily can be partitioned into output registers. However, two more MUXes will be required
disjoint nontrivial chains with the minimum weight. The chains for the connections of the two registers to the fan-out
can be formed as follows. We start with elements in , i.e., FUs (we call them fan-out_FUs) and . On the other hand,
single-element chains. For each edge with a Case 2 binds the two variables from and into a single reg-
unit flow in , we join element and element together, ister, and as a result, a MUX is generated between and
which reduces the total number of chains by one. Along this register . Yet, it is a better solution than Case 1 because there
process, the chains formed are all disjoint with one another. We are no MUXes required between and fan-out_FUs .
picked number of such edges, so the number of chains Note that if and are actually the same FUs, then there
left is eventually . By such, disjoint chains will not be a MUX generated in Case 2, which makes Case 2 an
are formed, and each chain is nontrivial. Since the -flow even better solution. However, there are situations where Case
has the minimum total weight, the -cofamily thus formed has 1 is better than Case 2, particularly when and are dif-
the minimum total weight as well. ferent. A simple case happens when none of the fan-out_FUs in
(Only If) Suppose that the disjoint nontrivial chains are Case 1 requires a MUX on its ports, so it uses one less MUX
. Let denote the size of . Then, than Case 2. In the real situation, it is hard to predict which case
. The total number of edges in the chains is is better because it all depends on the original DFG data flow,
, which represents an -flow in scheduling results, and the FU binding solution. The cost func-
with the same edges. If there is an element that is not tion is defined as follows:
related to any of the other elements in the POSET, will form
a trivial chain just by itself. The rest of the elements can (10)
form nontrivial chains. The minimum-cost -flow will
now form nontrivial chains with the where is the number of MUXes saved (or MUXes wasted,
minimum total weight. Adding into the solution, we form i.e., becoming negative) by binding and into a single
disjoint chains with the minimum total weight ( contributes no register (Case 2) rather than not binding them into a single reg-
weight to the -cofamily). Obviously, this result can be extended ister (Case 1); is the total number of connections between
to -cofamilies that contain multiple trivial chains. registers and fan-out_FUs; is the total number of
Corollary 2: Let be the minimum number of registers re- fan-out_FUs involved during this attempted binding of and
quired to bind all the variables in the compatibility graph ; and and are positive scaling constants (set as 0.25 and
; the solution of the minimum-weighted -co- 0.15, respectively, through an empirical study). For the example
family in the corresponding POSET generates the solution in Fig. 8, , , and . The term
to fulfill the objective of our register binding problem. is trying to capture the overall connectivity situation of
Proof: Direct derivation from Theorems 1 and 2. the fan-out_FUs so that some global optimization criteria can
Our task is then to find the minimum-cost -flow in the be considered. It is needed because not all of the fan-out_FUs
network . Its runtime complexity is that connect to require a MUX on their ports. If its
[1], where is an upper bound on the largest value is large, Case 2 is preferred, i.e., and are to be
supply/demand and largest capacity in the network. In our case, bound into a single register to reduce the total connectivity of
. After we obtain the minimum-cost flow, each edge the fan-out_FUs. The term is trying to capture the overall
with a unit flow in , , represents that variables connectivity from another angle, i.e., if more fan-out_FUs are
and should be bound together into the same register. If involved, Case 2 is preferred. Nonetheless, is set as the
Authorized licensed use limited to: BANGALORE INSTITUTE OF TECHNOLOGY. Downloaded on March 30,2010 at 02:22:11 EDT from IEEE Xplore. Restrictions apply.
CHEN et al.: LOPASS: A LOW-POWER ARCHITECTURAL SYNTHESIS SYSTEM FOR FPGAS WITH INTERCONNECT ESTIMATION AND OPTIMIZATION 573
Fig. 8. One example of multiplexing situations. Fig. 10. Operand swapping for the two cases.
TABLE II
BENCHMARK INFORMATION
C. Port Assignment
Port assignment is an important technique for reducing MUX
connections between FUs and registers. However, effective
heuristics have not been proposed to practically tackle this
difficult problem during high-level synthesis. We will apply
a greedy algorithm for port assignment, which is shown very
effective in our experiments.
In [26], an important lemma proves that finding the minimum
connectivity port assignment is equivalent to minimizing the algorithm, we first provide a solution done by a random port as-
number of input registers that are connected to both ports of an signment. Next, we find all the registers that drive both ports of
FU . An optimal solution will be automatically obtained for their corresponding FUs and perform operand swapping. There
if there are no input registers that drive both ports of . We are some situations where operand swapping will not help. For
will use this lemma to guide our port assignment solutions. example, in Case 2, if we encounter a series of circular opera-
We observe two cases where a register is connected to both tions such as , , and , then the register has to drive
ports of . In Fig. 9, the register in Case 1 contains variables both ports. We check these situations first so that the operand
and , and the operations on FU are and . swapping procedure exits early for these situations.
Because of the bad port assignments of and , this register
has to drive both ports of and renders a total of four connec- VI. EXPERIMENTAL RESULTS
tions. The register in Case 2 contains a variable , and the three LOPASS takes in a design and runs through the architectural
operations, together with the current port assignments, force synthesis stages shown in Fig. 3. The allocation, binding, and
to drive both ports of and render five connections. scheduling information is back-annotated to the DFG’s edges
Fortunately, we observe that the interconnection number of and nodes. The backend of our architectural synthesis system
both cases can be reduced using a simple operation of operand extracts this information to construct the data path and con-
swapping. For Case 1, we can swap the port assignments of troller. The data path, including instances of FUs, registers, and
and , while for Case 2, we can swap the port assignments of multiplexers, is generated as a structural VHDL description. The
and . The solutions are shown in Fig. 10. In our port assignment generated FSM controller is in a classical synthesizable RTL
Authorized licensed use limited to: BANGALORE INSTITUTE OF TECHNOLOGY. Downloaded on March 30,2010 at 02:22:11 EDT from IEEE Xplore. Restrictions apply.
574 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 18, NO. 4, APRIL 2010
TABLE IV
TOTAL NUMBER OF MUX INPUTS AND RUNTIME OF DIFFERENT ALGORITHMS
VHDL form. The controller provides control signals for every TABLE V
FU, register, and multiplexer. Register read/write or clock en- ALLOCATION AND SCHEDULING RESULTS OF SPARK/LOPASS
able/disable operations are also decided by the control signals.
We then feed both the data path and control of the design to
Synopsys Design Compiler for synthesis and mapping. Design
Compiler transforms the RTL design into a gate-level netlist in
VHDL format. After the VHDL-to-BLIF conversion, the design
is fed into fpgaEva_LP2 [24]. We set fpgaEva_LP2 to use the
same architecture model as that used in LOPASS.
A set of data-intensive benchmarks are used in our experi-
ments. The pure DFG programs are from [30], including sev-
eral different DCT algorithms, such as pr, wang, and dir, and
TABLE VI
several DSP programs, such as mcm, honda, and chem. Table II BINDING AND SCHEDULING RESULTS (S-BC/LOPASS)
shows the benchmark information. Each node is either an ad-
dition/subtraction or a multiplication. We first show the experi-
mental data on the high-level power estimator. We then compare
our MUX reduction results to those of a previous algorithm [18].
To evaluate LOPASS, we compare our results with an academic
tool SPARK [17]. We also compare LOPASS against commer-
cial high-level synthesis tools Synopsys Behavioral Compiler
(S-BC) [32] and Impulse C [19].
A. Power Estimation
Table III shows the comparison results between our estimated
wire length and power and those reported by fpgaEva_LP2 after -cofamily w/o pa, bipartite w/o pa, and left-edge w/o pa al-
placement and routing. We observe that wire length is 13.7% gorithms are 2.2%, 24.7%, and 29.6% worse, respectively, than
(absolute value average) away from reality. This indicates that -cofamily with pa. The gain is mainly coming from register
Rent’s rule-based estimation method is effective to estimate binding because port assignment just provides a small improve-
wire length for FPGA designs before layout information is ment. This shows that our -cofamily-based algorithm is able to
available. Our high-level power estimation also works relatively reduce the interconnection cost much more effectively than the
well with a 14.4% average error (absolute value average). Since bipartite-based algorithm.
behavioral-level estimation is two levels higher than gate-level To evaluate the impact of multiplexer optimization, we carry
estimation, we believe that these results are very encouraging. out two experiments. One takes the RTL outputs of regular
LOPASS with MUXes optimized under Cofamily with pa.
B. Multiplexer Optimization Results Another takes the RTL outputs of LOPASS under Leftedge
To examine the effectiveness of our MUX optimization al- w/o pa. We then go through fpgaEva_LP2 evaluation flow
gorithms, we conduct experiments to compare our solutions to for both cases. On average, LOPASS with Leftedge w/o pa is
those generated by a previously published algorithm in [18]. 9.2%, 1.5%, and 9.8% worse compared to regular LOPASS in
Table IV shows the total MUX input results for -cofamily with terms of wire length, performance, and power consumption,
pa (port assignment), -cofamily without pa, bipartite without respectively. Details are omitted due to page limitation.
pa [18], and left edge without pa. The runtime results of these We also evaluated the effectiveness of our port assignment
algorithms are also shown. A zero runtime means that it is less heuristic. We first computed the upper bound of the total pos-
then 0.5 s. Columns 6, 9, and 12 show the comparison data sible reductions of MUX inputs for all the benchmarks by port
using -cofamily with pa as the base. We can see that, overall, assignment. This upper bound is obtained assuming that all the
Authorized licensed use limited to: BANGALORE INSTITUTE OF TECHNOLOGY. Downloaded on March 30,2010 at 02:22:11 EDT from IEEE Xplore. Restrictions apply.
CHEN et al.: LOPASS: A LOW-POWER ARCHITECTURAL SYNTHESIS SYSTEM FOR FPGAS WITH INTERCONNECT ESTIMATION AND OPTIMIZATION 575
TABLE VII
LUT NUMBER, DELAY, AND POWER COMPARISON BETWEEN S-BC AND LOPASS
registers that initially drive both ports of FUs can be changed TABLE VIII
to only driving a single port through port reassignment. We ob- IMPULSE C SYNTHESIS RESULTS
serve that our heuristic achieved a 54.8% MUX-input reduction
of the upper bound value.
Authorized licensed use limited to: BANGALORE INSTITUTE OF TECHNOLOGY. Downloaded on March 30,2010 at 02:22:11 EDT from IEEE Xplore. Restrictions apply.
576 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 18, NO. 4, APRIL 2010
TABLE X
QUARTUS II FPGA IMPLEMENTATION RESULTS FOR IMPULSE C AND LOPASS
(up to 32 b in width). Impulse C can automatically generate designs during high-level synthesis to optimize area, power,
first-in–first-out or memory blocks to temporarily hold input and latency. We believe that the following features lead to the
data when necessary. promising results of LOPASS: 1) accurate FPGA architecture
Table VIII shows the results from Impulse C. It can be seen and CAD design flow modeling; 2) well-designed optimiza-
from the table that much more adders and multipliers are needed tion engine with FPGA interconnect and steering logic power
in these solutions from Impulse C. It is obvious that Impulse C’s estimation; and 3) effective interconnect optimization through
objective is not resource sharing or register sharing but running multiplexer reduction.
the operations in a streaming fashion. As a result, each defini-
tion of variable or operation is turned into a dedicated register
or FU. The total numbers of adders and multipliers in the solu- VII. CONCLUSION AND FUTURE WORK
tion are equal to the numbers of additions and multiplications We have presented a low-power architectural synthesis
in the original C specification, respectively. Impulse C does system, i.e., LOPASS, for FPGA designs with interconnect
have bit-width analysis capability, so some adders/multipliers power estimation and optimization. It includes three major
may use smaller bit widths. Note that we did not try the largest components: 1) a flexible FPGA high-level power estimator
benchmarks (steam and chem) because they simply follow the considering interconnect power; 2) a simulated-annealing-based
same trend, and the nonsharing solutions of these largest bench- optimization engine; and 3) a postprocessing -cofamily-based
marks with hundreds of adders and multipliers are already on the register binding algorithm and an efficient port assignment
boundary of exceeding the logic capacity of many FPGA chips. algorithm for multiplexer optimization. Overall, LOPASS is
Table IX shows the results of LOPASS, which uses the same 61.6% better on power consumption and 10.6% better on clock
clock cycles as those in Table VIII to have a fair comparison. period compared to that of an early commercial high-level
The synthesis results from Impulse C and LOPASS are eval- synthesis tool Synopsys Behavioral Compiler. Compared to a
uated using Quartus II, a commercial FPGA design environ- current commercial C-to-FPGA tool, i.e., Impulse C, LOPASS
ment from Altera. A 536-I/O Cyclone III FPGA device, namely, is 31.1% better on power consumption with an 11.8% penalty
EP3C40F780C6, is chosen as the target device because it pro- on clock period. In the future, detailed high-level glitch power
vides abundant LEs, I/Os, and 252 hardwired 9-b multipliers. modeling will be explored. FPGA architecture evaluation using
Aggressive timing requirements are set to exert high-effort de- LOPASS will also be explored.
sign in Quartus II. For each benchmark, we took the RTL out-
puts, including both data path and controller, of Impulse C and
LOPASS and ran through synthesis, clustering, placement, and REFERENCES
routing to fit into the FPGA chip. Then, we used the power es- [1] R. K. Ahuja, T. L. Magnanti, and J. B. Orlin, Network Flows. Engle-
timator available in Quartus II for power estimation. Table X wood Cliffs, NJ: Prentice-Hall, 1993, sec. 10.2.
[2] “Stratix Device Handbook” Altera Corporation, San Jose, CA [On-
is the summary of the comparison results. Impulse C’s solution line]. Available: http://www.altera.com/literature/hb/stx/stratix_hand-
does not generate MUXes, so it offers a better critical path delay book.pdf
compared to LOPASS’ results. However, with an 11.8% penalty [3] V. Betz, J. Rose, and A. Marquardt, Architecture and CAD for Deep-
Submicron FPGAs. Norwell, MA: Kluwer, 1999.
on clock period, LOPASS can accomplish the same task with [4] A. Bogliolo, L. Benini, B. Riccó, and G. De Micheli, “Efficient
far less resources. On average, LOPASS saves 9-b multipliers switching activity computation during high-level synthesis of con-
by 77.1% and LEs by 27.9%. The savings on power are also trol-dominated designs,” in Proc. Int. Symp. Low Power Electron.
Des., Aug. 1999, pp. 127–132.
significant: 44.1% and 31.1% for dynamic and total powers, re- [5] D. Chen and J. Cong, “Register binding and port assignment for mul-
spectively. Note that, for Impulse C, only the HW portion is used tiplexer optimization,” in Proc. Asia South Pacific Des. Autom. Conf.,
to do the comparison. Jan. 2004, pp. 68–73.
[6] D. Chen, J. Cong, and Y. Fan, “Low-power high-level synthesis for
Overall, in Section VI, we have demonstrated that LOPASS FPGA architectures,” in Proc. Int. Symp. Low Power Electron. Des.,
provides a significant amount of improvement for FPGA Aug. 2003, pp. 134–139.
Authorized licensed use limited to: BANGALORE INSTITUTE OF TECHNOLOGY. Downloaded on March 30,2010 at 02:22:11 EDT from IEEE Xplore. Restrictions apply.
CHEN et al.: LOPASS: A LOW-POWER ARCHITECTURAL SYNTHESIS SYSTEM FOR FPGAS WITH INTERCONNECT ESTIMATION AND OPTIMIZATION 577
[7] D. Chen, J. Cong, Y. Fan, and Z. Zhang, “High-level power estima- [33] M. Vasilko and D. Ait-Boudaoud, “Scheduling for dynamically recon-
tion and low-power design space exploration for FPGAs,” in Proc. Asia figurable FPGAs,” in Proc. Int. Workshop Logic Architecture Synthesis,
South Pacific Des. Autom. Conf., Jan. 2007, pp. 529–534. 1995, pp. 328–336.
[8] J. Cong and C. L. Liu, “On the k -layer planar subset and topological via [34] F. G. Wolff, M. J. Knieser, D. J. Weyer, and C. A. Papachristou,
minimization problems,” IEEE Trans. Comput.-Aided Design Integr. “High-level low power FPGA design methodology,” in Proc. IEEE
Circuits Syst., vol. 10, no. 8, pp. 972–981, Aug. 1991. Nat. Aerosp. Conf., 2000, pp. 554–559.
[9] J. A. Davis, V. K. De, and J. Meindl, “A stochastic wire-length distribu- [35] M. Xu and F. J. Kurdahi, “Layout-driven high level synthesis for FPGA
tion for gigascale integration (GSI)—Part I: Derivation and validation,” based architectures,” in Proc. IEEE Symp. FPGAs Custom Comput.
IEEE Trans. Electron Devices, vol. 45, no. 3, pp. 580–589, Mar. 1998. Mach., 1998, pp. 446–450.
[10] G. De Micheli, Synthesis and Optimization of Digital Circuits. New
York: McGraw-Hill, 1994.
[11] S. Devadas and A. R. Newton, “Algorithms for hardware allocation in
datapath synthesis,” IEEE Trans. Comput.-Aided Design Integr. Cir-
cuits Syst., vol. 8, no. 7, pp. 768–781, Jul. 1989. Deming Chen (S’01–M’05) received the B.S. degree in computer science from
[12] R. P. Dilworth, “A decomposition theorem for partially ordered set,” University of Pittsburgh, PA, in 1995, and the M.S. and Ph.D. degrees in com-
Ann. Math, vol. 51, pp. 161–166, 1950. puter science from University of California at Los Angeles, in 2001 and 2005,
[13] W. E. Donath, “Placement and average interconnection lengths of respectively.
computer logic,” IEEE Trans. Circuits Syst., vol. CAS-26, no. 4, pp. He is a technical committee member for a series of conferences and sym-
272–277, Apr. 1979. posia. His current research interests include nano-systems design and nano-cen-
[14] A. A. Duncan, D. C. Hendry, and P. Gray, “An overview of the tric CAD techniques, FPGA synthesis and physical design, high-level synthesis,
COBRA-ABS high level synthesis system for multi-FPGA systems,” microprocessor architecture design under process/parameter variation, and re-
in Proc. Symp. FPGAs Custom Comput. Mach., 1998, pp. 106–115. configurable computing. He is a TPC subcommittee chair for ASPDAC’09-10
[15] M. Feuer, “Connectivity of random logic,” IEEE Trans. Comput., vol. and a CAD Track co-chair for ISVLSI’09.
C-31, no. 1, pp. 29–33, Jan. 1982. Dr. Chen was a recipient of the Achievement Award for Excellent Teamwork
[16] C. Greene and D. Kleitman, “The structure of Sperner k-family,” J. from Aplus Design Technologies in 2001, the Arnold O. Beckman Research
Comb. Theory, Ser. A, vol. 20, pp. 41–68, 1976. Award from UIUC in 2007, the NSF CAREER Award in 2008, and the ASPDAC
[17] S. Gupta, R. Gupta, N. Dutt, and A. Nicolau, SPARK: A Parallelizing Best Paper Award in 2009. He is included in the List of Teachers Ranked as
Approach to the High-Level Synthesis of Digital Circuits. Norwell, Excellent in 2008. He is an Associated Editor for the IEEE TRANSACTIONS ON
MA: Kluwer, 2004. VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS.
[18] C. Y. Huang, Y.-S. Chen, Y.-L. Lin, and Y.-C. Hsu, “Data path allo-
cation based on bipartite weighted matching,” in Des. Autom. Conf.,
1990, pp. 499–504.
[19] Impulse Accelerated Technologies, Kirkland, WA, “Impulse C,” [On- Jason Cong (S’88–M’90–SM’96–F’00) received the B.S. degree in computer
line]. Available: http://www.impulsec.com/ science from Peking University, Peking, China, in 1985, the M.S. and Ph.D. de-
[20] P. Kollig and B. M. Al-Hashimi, “Simultaneous scheduling, allocation grees in computer science from the University of Illinois at Urbana-Champaign,
and binding in high level synthesis,” Electron. Lett., vol. 33, no. 18, pp. in 1987 and 1990, respectively.
1516–1518, Aug. 1997. Currently, he is a Chancellor’s Professor at the Computer Science Depart-
[21] E. Kusse and J. Rabaey, “Low-energy embedded FPGA structures,” in ment of University of California, Los Angeles, and a co-director of the VLSI
Proc. Int. Symp. Low Power Electron. Des., Aug. 1998, pp. 155–160. CAD Laboratory. He also served as the department chair from 2005 to 2008.
[22] B. Landman and R. Russo, “On a pin versus block relationship for par- His research interests include computer-aided design of VLSI circuits and sys-
titions of logic graphs,” IEEE Trans. Comput., vol. C-20, no. 12, pp. tems, design and synthesis of system-on-a-chip, programmable systems, novel
1469–1479, Dec. 1971. computer architectures, nano-systems, and highly scalable algorithms.
[23] F. Li, D. Chen, L. He, and J. Cong, “Architecture evaluation for Dr. Cong was a recipient of a number of awards and recognitions, including
power-efficient FPGAs,” in Proc. ACM Int. Symp. FPGA, Feb. 2003, the Ross J. Martin Award for Excellence in Research from the University of
pp. 175–184. Illinois at Urbana-Champaign in 1989, the NSF Young Investigator Award in
[24] F. Li, Y. Lin, L. He, D. Chen, and J. Cong, “Power modeling and char- 1993, the Northrop Outstanding Junior Faculty Research Award from UCLA
acteristics of field programmable gate arrays,” IEEE Trans. Comput.- in 1993, the ACM/SIGDA Meritorious Service Award in 1998, and the SRC
Aided Design Integr. Circuits Syst., vol. 24, no. 11, pp. 1712–1724, Technical Excellence Award in 2000. He also received four Best Paper Awards.
Nov. 2005. He was elected to an IEEE Fellow in 2000 and ACM Fellow in 2008.
[25] C. L. Liu, Elements of Discrete Mathematics. New York: McGraw-
Hill, 1977.
[26] B. Pangrle, “On the complexity of connectivity binding,” IEEE Trans.
Comput.-Aided Design Integr. Circuits Syst., vol. 10, no. 11, pp.
1460–1465, Nov. 1991. Yiping Fan (S’02–M’06) received the B.S. degree in electrical engineering and
[27] M. Pedram, “Low power design methodologies and techniques: An the M.S. degree in computer science from Tsinghua University, Beijing, China,
overview,” Mar. 1999. [Online]. Available: http://atrak.usc.edu/~mas- in 1998 and 2001, respectively, and the Ph.D. degree in computer science from
soud University of California, Los Angeles, in 2006.
[28] L. Shang, A. Kaviani, and K. Bathala, “Dynamic power consumption Currently, he is a cofounder and director of engineering in synthesis infra-
in Virtex-II FPGA family,” in Proc. Int. Symp. Field-Program. Gate structure of AutoESL Design Technologies, Inc. He has published over 20 pub-
Arrays, Feb. 2002, pp. 157–164. lications in the research area of electronic design automation.
[29] A. Singh and M. Marek-Sadowska, “Efficient circuit clustering for area
and power reduction in FPGAs,” in Proc. ACM Int. Symp. FPGA, Feb.
2002, pp. 59–66.
[30] M. B. Srivastava and M. Potkonjak, “Optimum and heuristic trans- Lu Wan (S’08) received the B.S. degree in electrical engineering and the M.S.
formation techniques for simultaneous optimization of latency and degree in computer science and engineering from Jiaotong University, Shanghai,
throughput,” IEEE Trans. Very Large Scale Integr. (VLSI) Syst., vol. 3, China, in 2001 and 2004, respectively. He is currently pursuing the Ph.D. degree
no. 1, pp. 2–19, Mar. 1995. in the Electrical and Computer Engineering Department, University of Illinois,
[31] D. Stroobandt and J. V. Campenhout, “Accurate interconnection length Urbana-Champaign.
estimations for predictions early in the design cycle,” VLSI Des.—Spe- He was with IBM China Research Lab as a R&D Engineer from 2004 to
cial Issue Phys. Des. Deep Submicron, vol. 10, no. 1, pp. 1–20, 1999. 2006. His research interests include VLSI design for application acceleration,
[32] Synopsys, San Jose, CA, “Synopsys,” [Online]. Available: http://www. reconfigurable computing, and CAD techniques for logic synthesis and physical
synopsys.com/products/products_matrix.html design.
Authorized licensed use limited to: BANGALORE INSTITUTE OF TECHNOLOGY. Downloaded on March 30,2010 at 02:22:11 EDT from IEEE Xplore. Restrictions apply.