Partial Reconfigurable Designs

Partial Reconfigurable
Designs
Multi-layer Floorplanning
Max Walton
Outline

Introduction




Floorplanning
Model
Proposed Floorplanner





Challenges
Data Representation
Cost Functions
Moves
Matching
Results
Jun 12, 2008
Max Walton
2
Introduction

Partial Reconfiguration



Difference-based (used in this paper)
Module-based
Issues



Jun 12, 2008
Reconfiguration overhead
Time issues
Placement
Max Walton
3
Floorplanning Terminology

Static Module



AKA: fixed module
A module that will not be reconfigured
Non-static module


Jun 12, 2008
AKA: reconfigured modules
Modules that will be reconfigured between
designs
Max Walton
4
Introduction: Challenges

Reuse Matching


Reuse Placement


Which components overlap during configuration?
Where do the components need to be placed?
Reuse Interface

Jun 12, 2008
How are such components connected to
reconfigurable regions?
Max Walton
5
Floorplanning

Placing components on a chip




Differs from placement by only placing large
sized components on chip
Does not look at logic
Complements Placement
Outputs coordinates defining positions of
block on device
Jun 12, 2008
Max Walton
6
Floorplanning

Three types of floorplanning



Jun 12, 2008
Independent
Dependent
Combined
Max Walton
7
Floorplanning


Simulated Annealing Based
Fixed Outline Floorplanning


Constrain design in rectangular shapes of fixed
aspect ratio
Parquet



Jun 12, 2008
Area
Wirelength
Aspect Ratio
Max Walton
8
Model

Frames




Span n columns
Module spans contiguous set of frames (hor/vert)
Time to reconfigure linear function of number
of frames to be reconfigured
Minimize number of frames by placing fixed
and reconfigurable parts in separate frames
Jun 12, 2008
Max Walton
9
Assumptions



Complete Sequence of Designs is known
No Data Dependency Between Designs /
Input and Output Buffered in Static region
Soft blocks


Block can be placed anywhere on device


Changing of aspect ratio is allowed
Heterogeneous floorplanning out of scope
All designs are timing critical
Jun 12, 2008
Max Walton
10
Reusable Components

Keep interconnects outside of static regions


Use of whitespace for interfaces
Maximize A1,2 and Areused
Jun 12, 2008
Max Walton
11
Proposed Floorplanner (FFPR)

Built from Parquet floorplanner



Routing congestion
Total Frames
Handles multiple designs simultaneously
Jun 12, 2008
Max Walton
12
Definition





Given design D1 with a set of modules M1 = {m1, …,
mn1} and corresponding connectivity,
Given design D2 with a set of modules M2 = {m1, …,
mn2} and corresponding connectivity,
Given a set of common modules between the two
designs M12,
Floorplan each design such that the total area and
wirelength in each design is minimized as well as
total reconfiguration area is minimized.
Extensible to k>2 reconfigurable designs
Jun 12, 2008
Max Walton
13
FFPR
Jun 12, 2008
Max Walton
14
FFPR: Data Representation

Placement by Sequence Pairs


Jun 12, 2008
Exact placement found with horizontal and
vertical graphs
Algorithm runs in O(n2)
Max Walton
15
FFPR: Data Representation

Two-layer Sequence pair


Jun 12, 2008
Non-static have no left-right or up-down
relationship between each other
Horizontal and vertical graphs are connected
through static nodes only
Max Walton
16
FFPR: Data Representation
Jun 12, 2008
Max Walton
17
FFPR: Cost Functions

Scaling factors



Sum to 1
Represent respective weights of area, aspect ratio, frames,
wirelength, congestion
Area


Jun 12, 2008
Minimum bounding box encompassing all designs
Negative if new area is less than current
Max Walton
18
FFPR: Cost Functions

Aspect Ratio



Computed as a penalty function
Computes change in cost of the aspect ratio
Wirelength

Adds wirelength of each interconnect in design

Jun 12, 2008
Half-perimeter bounding box is used for each interconnect
Max Walton
19
FFPR: Cost Functions

Congestion Cost


Probability Congestion model
2D array of bins (CLBs in Virtex 4)





Jun 12, 2008
A pin lies in only one bin
A bin may contain multiple pins
Sum of probabilites of all the paths that pass through bin
Bin is congested if its congestion exceeds a threshold
Calculated as sum of excess congestion of each bin
Max Walton
20
FFPR: Cost Functions

Reconfiguration Frames Cost


Jun 12, 2008
Computed by looking at the fixed and
reconfigurable regions compared with next design
Consecutive design frames are added together to
get total number
Max Walton
21
FFPR: Moves

Moves on Blocks
1)
2)
3)

Changing orientation of a block
Changing aspect ratio
Changing whitespace along the border
Moves on Data Representation
1)
2)
3)
Jun 12, 2008
Compaction: swapping random modules
Compaction: moving block left/right or up/down
Matching
Max Walton
22
Moves: Changing the Whitespace

Add four offsets to the blocks
n, e, w, s
 Range {0 .. 5}

Jun 12, 2008
Max Walton
23
FFPR: Matching


2 designs is equivalent to bipartite matching
Matching for multiple designs

Jun 12, 2008
Leads to many cases
Max Walton
24
FFPR: Matching
Jun 12, 2008
Max Walton
25
Results

Matching:

Jun 12, 2008
50% savings on frames (50% partial matching)
Max Walton
26
Results

Direction of matching can impact design


Dependent Mode as much as 3X wirelength of
combined/independent



D1  D2 vs. D2  D1
50% higher on average
Combined 9% more wirelength than independent
Multilayer vs. traditional floorplanner


Jun 12, 2008
12% better clock period on average
Reduces place and route time
Max Walton
27
References

“Multi-layer floorplanning for reconfigurable
designs”, L. Singhal and E. Bozorgzadeh, IET
Comput. Digit. Tech., 2007, 1, pp. 276-294
Jun 12, 2008
Max Walton
28
Project




Create a Scatter Search implementation in
Celoxica Handel-C
Search out better performance from Handel-C
version of SS
Use Handel-C constructs to gain better
performance
Attempt multiple approaches of
implementation (time permits)
Jun 12, 2008
Max Walton
29
Project Status


Used C code for 0-1 Knapsack Problem from
“Scatter Search: Methodology and
Implementations in C” by Laguna and Marti
Currently converting to avoid pointer use and
use less complex data structures more
inherent in hardware
Jun 12, 2008
Max Walton
30