Reconfigurable Computing (EN2911X, Fall07)

Slides:



Advertisements
Similar presentations
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 06: Verilog (2/3) Prof. Sherief Reda Division of.
Advertisements

Reconfigurable Computing (EN2911X, Fall07) Lecture 04: Programmable Logic Technology (2/3) Prof. Sherief Reda Division of Engineering, Brown University.
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Topics n Logic synthesis. n Placement and routing.
ECE 506 Reconfigurable Computing Lecture 6 Clustering Ali Akoglu.
S. Reda EN2911X FALL’07 Reconfigurable Computing (EN2911X) Lecture 01: Introduction Prof. Sherief Reda Division of Engineering, Brown University Spring.
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 10: RC Principles: Software (3/4) Prof. Sherief Reda.
100 Placement Assign logic blocks to specific chip locations Seek to minimize routing distance, congestion CLB IOB.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
Design and Implementation of VLSI Systems (EN0160) Sherief Reda Division of Engineering, Brown University Spring 2007.
MAE 552 – Heuristic Optimization Lecture 6 February 6, 2002.
A High Performance Application Representation for Reconfigurable Systems Wenrui GongGang WangRyan Kastner Department of Electrical and Computer Engineering.
Placement 1 Outline Goal What is Placement? Why Placement?
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 08: RC Principles: Software (1/4) Prof. Sherief Reda.
Fuzzy Simulated Evolution for Power and Performance of VLSI Placement Sadiq M. SaitHabib Youssef Junaid A. KhanAimane El-Maleh Department of Computer Engineering.
Lecture 4: FPGA Placement September 12, 2013 ECE 636 Reconfigurable Computing Lecture 4 FPGA Placement.
Simulated Annealing 10/7/2005.
S. Reda EN1600 SP’08 Design and Implementation of VLSI Systems (EN1600) Lecture 24: Computer-Aided Design using Tanner Tools Prof. Sherief Reda Division.
Altera’s Quartus II Installation, usage and tutorials Gopi Tummala Lab/Office Hours : Friday 2:00 PM to.
EDA (CS286.5b) Day 7 Placement (Simulated Annealing) Assignment #1 due Friday.
Lecture 9: Multi-FPGA System Software October 3, 2013 ECE 636 Reconfigurable Computing Lecture 9 Multi-FPGA System Software.
S. Reda EN160 SP’07 Design and Implementation of VLSI Systems (EN0160) Lecture 33: Array Subsystems (PLAs/FPGAs) Prof. Sherief Reda Division of Engineering,
Merging Synthesis With Layout For Soc Design -- Research Status Jinian Bian and Hongxi Xue Dept. Of Computer Science and Technology, Tsinghua University,
Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum.
CSE 144 Project Part 2. Overview Multiple rows Routing channel between rows Components of identical height but various width Goal: Implement a placement.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
ECE 506 Reconfigurable Computing Lecture 7 FPGA Placement.
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
Design and Implementation of VLSI Systems (EN1600) lecture01 Sherief Reda Division of Engineering, Brown University Spring 2008 [sources: Weste/Addison.
Placement by Simulated Annealing. Simulated Annealing  Simulates annealing process for placement  Initial placement −Random positions  Perturb by block.
MASSOUD PEDRAM UNIVERSITY OF SOUTHERN CALIFORNIA Interconnect Length Estimation in VLSI Designs: A Retrospective.
1 - ECpE 583 (Reconfigurable Computing): Placing Applications onto FPGAs, Part II Iowa State University (Ames) ECpE 583 Reconfigurable Computing Lecture.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
COE4OI5 Engineering Design. Copyright S. Shirani 2 Course Outline Design process, design of digital hardware Programmable logic technology Altera’s UP2.
Automated Design of Custom Architecture Tulika Mitra
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
1 Wire Length Prediction-based Technology Mapping and Fanout Optimization Qinghua Liu Malgorzata Marek-Sadowska VLSI Design Automation Lab UC-Santa Barbara.
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
Massachusetts Institute of Technology 1 L14 – Physical Design Spring 2007 Ajay Joshi.
Tools - Implementation Options - Chapter15 slide 1 FPGA Tools Course Implementation Options.
Fuzzy Genetic Algorithm
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
Lecture #3 Page 1 ECE 4110–5110 Digital System Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.HW#2 assigned Due.
Introduction to FPGAs Dr. Philip Brisk Department of Computer Science and Engineering University of California, Riverside CS 223.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)
C OMPARING T HREE H EURISTIC S EARCH M ETHODS FOR F UNCTIONAL P ARTITIONING IN H ARDWARE -S OFTWARE C ODESIGN Theerayod Wiangtong, Peter Y. K. Cheung and.
1 - CPRE 583 (Reconfigurable Computing): VHDL to FPGA: A Tool Flow Overview Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 5: 9/7/2011.
Single-solution based metaheuristics. Outline Local Search Simulated annealing Tabu search …
Timing-Driven Routing for FPGAs Based on Lagrangian Relaxation
FPGA CAD 10-MAR-2003.
Ramakrishna Lecture#2 CAD for VLSI Ramakrishna
An Introduction to Simulated Annealing Kevin Cannons November 24, 2005.
FPGA Routing Pathfinder [Ebeling, et al., 1995] Introduced negotiated congestion During each routing iteration, route nets using shortest.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
6/19/ VLSI Physical Design Automation Prof. David Pan Office: ACES Placement (3)
Placement and Routing Algorithms. 2 FPGA Placement & Routing.
A Study of the Scalability of On-Chip Routing for Just-in-Time FPGA Compilation Roman Lysecky a, Frank Vahid a*, Sheldon X.-D. Tan b a Department of Computer.
Embedded systems, Lab 1: notes
Topics Logic synthesis. Placement and routing..
Register-Transfer (RT) Synthesis
A New Hybrid FPGA with Nanoscale Clusters and CMOS Routing Reza M. P
More on HW 2 (due Jan 26) Again, it must be in Python 2.7.
Reconfigurable Computing (EN2911X)
Reconfigurable Computing (EN2911X, Fall07)
Reconfigurable Computing (EN2911X, Fall07)
Reconfigurable Computing (EN2911X)
Reconfigurable Computing (EN2911X, Fall07)
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

Reconfigurable Computing (EN2911X, Fall07) Lecture 11: RC Principles: Software (4/4) Prof. Sherief Reda Division of Engineering, Brown University http://ic.engin.brown.edu

Summary of the last 3 lectures previous lectures System Specification this lecture traditional compiler class partitioning SW HW compile compiling Verilog link synthesis mapping & packing executable image place & route configuration file download to board

Embedding a digital circuit to FPGA fabric [Maxfield’04] Programmable logic element Mapping decomposes the circuit into logic sections and flip-flops such that each section fits into a K-LUT LE. Packing groups LEs into clusters so that each cluster fits into a LAB Placement determines the position of each cluster into the LABs of the island style FPGA Routing determines the exact routes for the communicating LE/LABs What are the objectives/metrics that these algorithms should pursue?

1. Mapping finds a covering for a given circuit using K-LUT Map to a LUT in a LB [Figure form Cong FPGA’01]

A covering example [From Ling et al. DAC’05] There could be many possible covering? Which one should be picked?

2. Packing How can we decide which LEs should go together in the same logic cluster? Possible method (VPACK): Construct each cluster sequentially Start by choosing seed LE for the cluster Then greedily selects the LE which shares the most inputs and outputs with the cluster being constructed Repeat the procedure until greedily until the cluster is full or the number of inputs exceed the limit I Can addition of a LE to a cluster reduces the number of distinct inputs?

3. Placement Placement assigns an exact position or LAB for each cluster in the input netlist Suppose you start with a random placement, how can you improve it? Possible algorithm: - Pick a pair of cells and swap their locations if this leads to reduction in WL What’s wrong with the previous greedy algorithm? WL results possible placements local optimal global  It can simply get stuck in a local optimal result

Simulated annealing allows us to avoid getting trapped in a local minima Modified algorithm Generate a random move (say a swap of two cells) calculate the chance in WL (L) due to the move if the move results in reduction (L < 0) then accept else reject with probability 1-e-L/T WL results possible placements local optimal global T (temperature) controls the rejection probability Initially, T is high (thus avoiding getting trapped early in a local minima) then the temperature cools down in a scheduled manner; at the end, the rejection probability is 1 With the right “slow-enough” cooling scheduling, simulated annealing is guaranteed to reach the global optimal

How do the cooling scheduling and corresponding cost functions look like? [source: I. Markov]

Placement before & after simulated annealing [using VPR tool]

4. Routing Assign exact routes for each wire in the given circuit in the FPGA fabric such that no two wires overlap General idea: Order the wires according to some criteria Sequentially route each wire using shortest path algorithms (after removing the resources consumed from preceding routed wires)

Maze routing 2 1 s t 5 4 3 6 7 8 9 10 2 1 s 11 t Problem: Find the shortest path for a 2-pin wire from s to t grid cell capacity is full grid cell still has available tracks Speed ups are possible using A* search algorithms and other AI search techniques

Impact of Net Ordering B A B A B B A A A bad net ordering may unnecessarily increase the total wirelength or even yield the chip unroutable! Example: Two nets A and B B A B A B B A A B first then A (Good order) A first then B (Bad order) Length in placement Timing criticality

When a route for a net can’t be found then rip up and re-route So rip-up B and route C first. Cannot route C A B C Finally route B. A A B B C C [Example from Prof. D. Pan Lecture]

VPR. After routing After placement and routing After placement You probably saw similar layouts from the Quartus II tool

Finally programming the FPGA

Summary Done with software part for reconfigurable computing Next lecture, project overview The one after is the midterm Afterwards, we will start looking at SystemC is a higher-level method to synthesis systems