CSCE 3730 Place and Route for FPGAs

CSCE 3730 Place and Route for FPGAs - Place and Route for...

Info iconThis preview shows pages 1–5. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Place and Route for FPGAs 1 FPGA CAD Flow Circuit description (VHDL, schematic, ...) Synthesize to logic blocks Place logic blocks in FPGA Route connections between logic blocks FPGA programming file Physical design 2 Placement Goal: Determine which logic block within an FPGA should implement each of the logic blocks required by the circuit. Objective: Minimize the required wiring (wire-length driven placement). Balance the wiring density across the FPGA (routability-driven placement). Maximize circuit speed (timing-driven placement). 3 major classes of placers: min-cut (partitioning-based) placers analytic placers simulated annealing based placers. 3 Simulated Annealing Simulated annealing (SA) mimics the annealing process used to gradually cool molten metal to produce a high-quality crystal structure. SA takes an existing solution and then makes successive changes in a series of random moves. Each move is accepted or rejected based on an energy function . In order to escape from solutions which are local minima , it allows up-hill moves that seemingly move to a less desirable solution. Probability of accepting an up-hill move is controlled by the expression where is the resulting increase in the energy function and is the current tempera- ture . The temperature is slowly decreased and the system finally comes to rest at a low-energy configuration. 4 Simulated Annealing Based Placer An initial placement is created by assigning logic blocks of the circuit randomly to the available locations in the FPGA. A common cost function in wirelength-driven placement is the sum over all nets of the half-perimeter of their bounding boxes. A move can be the exchange of locations of two randomly selected logic blocks. Initially, temperature is very high so almost all moves are accepted; it is gradually decreased as the placement is refined so that eventually the probability of accepting a move that makes the placement worst is very low. An advantage of simulated annealing based placer is the ease to add new opti- mization objectives or constraints. But a drawback is the running time required. 5 Algorithm: Simulated Annealing Based Placer 1 begin 2 RandomPlacement(); 3 InitialTemperature(); 4 while (ExitCriterion() == False) do 5 while (InnerLoopCriterion() == False) do 6 GenerateViaMove(S); 7 ; 8 if then 9 if then with probability ; 10 end while ; 11 UpdateTemp(); 12 end while ; 13 return 14 end 6 Min-Cut Placement The given circuit is repeatedly partitioned into two subcircuits. Meanwhile, the chip area is partitioned alternately in the horizontal and vertical directions into subsections. Each subcircuit is assigned to a subsection. The process is repeated until each subcircuit consists of a single logic block and has a unique location on the chip area....
View Full Document

Page1 / 16

CSCE 3730 Place and Route for FPGAs - Place and Route for...

This preview shows document pages 1 - 5. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online