300 likes | 459 Views
Partial Reconfigurable Designs. Multi-layer Floorplanning Max Walton. Outline. Introduction Challenges Floorplanning Model Proposed Floorplanner Data Representation Cost Functions Moves Matching Results. Introduction. Partial Reconfiguration Difference-based (used in this paper)
E N D
Partial Reconfigurable Designs Multi-layer Floorplanning Max Walton
Outline • Introduction • Challenges • Floorplanning • Model • Proposed Floorplanner • Data Representation • Cost Functions • Moves • Matching • Results Max Walton
Introduction • Partial Reconfiguration • Difference-based (used in this paper) • Module-based • Issues • Reconfiguration overhead • Time issues • Placement Max Walton
Floorplanning Terminology • Static Module • AKA: fixed module • A module that will not be reconfigured • Non-static module • AKA: reconfigured modules • Modules that will be reconfigured between designs Max Walton
Introduction: Challenges • Reuse Matching • Which components overlap during configuration? • Reuse Placement • Where do the components need to be placed? • Reuse Interface • How are such components connected to reconfigurable regions? Max Walton
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 Max Walton
Floorplanning • Three types of floorplanning • Independent • Dependent • Combined Max Walton
Floorplanning • Simulated Annealing Based • Fixed Outline Floorplanning • Constrain design in rectangular shapes of fixed aspect ratio • Parquet • Area • Wirelength • Aspect Ratio Max Walton
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 Max Walton
Assumptions • Complete Sequence of Designs is known • No Data Dependency Between Designs / Input and Output Buffered in Static region • Soft blocks • Changing of aspect ratio is allowed • Block can be placed anywhere on device • Heterogeneous floorplanning out of scope • All designs are timing critical Max Walton
Reusable Components • Keep interconnects outside of static regions • Use of whitespace for interfaces • Maximize A1,2 and Areused Max Walton
Proposed Floorplanner (FFPR) • Built from Parquet floorplanner • Routing congestion • Total Frames • Handles multiple designs simultaneously Max Walton
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 Max Walton
FFPR Max Walton
FFPR: Data Representation • Placement by Sequence Pairs • Exact placement found with horizontal and vertical graphs • Algorithm runs in O(n2) Max Walton
FFPR: Data Representation • Two-layer Sequence pair • 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
FFPR: Data Representation Max Walton
FFPR: Cost Functions • Scaling factors • Sum to 1 • Represent respective weights of area, aspect ratio, frames, wirelength, congestion • Area • Minimum bounding box encompassing all designs • Negative if new area is less than current Max Walton
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 • Half-perimeter bounding box is used for each interconnect Max Walton
FFPR: Cost Functions • Congestion Cost • Probability Congestion model • 2D array of bins (CLBs in Virtex 4) • 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
FFPR: Cost Functions • Reconfiguration Frames Cost • 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
FFPR: Moves • Moves on Blocks • Changing orientation of a block • Changing aspect ratio • Changing whitespace along the border • Moves on Data Representation • Compaction: swapping random modules • Compaction: moving block left/right or up/down • Matching Max Walton
Moves: Changing the Whitespace • Add four offsets to the blocks • n, e, w, s • Range {0 .. 5} Max Walton
FFPR: Matching • 2 designs is equivalent to bipartite matching • Matching for multiple designs • Leads to many cases Max Walton
FFPR: Matching Max Walton
Results • Matching: • 50% savings on frames (50% partial matching) Max Walton
Results • Direction of matching can impact design • D1 D2 vs. D2 D1 • Dependent Mode as much as 3X wirelength of combined/independent • 50% higher on average • Combined 9% more wirelength than independent • Multilayer vs. traditional floorplanner • 12% better clock period on average • Reduces place and route time Max Walton
References • “Multi-layer floorplanning for reconfigurable designs”, L. Singhal and E. Bozorgzadeh, IET Comput. Digit. Tech., 2007, 1, pp. 276-294 Max Walton
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) Max Walton
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 Max Walton