An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt.

Slides:



Advertisements
Similar presentations
FPGA (Field Programmable Gate Array)
Advertisements

Architecture-Specific Packing for Virtex-5 FPGAs
1 Lecture 13 VHDL 3/16/09. 2 VHDL VHDL is a hardware description language. The behavior of a digital system can be described (specified) by writing a.
Graduate Computer Architecture I Lecture 16: FPGA Design.
Quad 2-to-1 and Quad 4-to-1 Multiplexers Discussion D2.4 Example 7.
EECE579: Digital Design Flows
Introductory Comments Regarding Hardware Description Languages.
Introduction to VHDL VHDL Tutorial R. E. Haskell and D. M. Hanna T1: Combinational Logic Circuits.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
FPGAs and VHDL Lecture L12.1. FPGAs and VHDL Field Programmable Gate Arrays (FPGAs) VHDL –2 x 1 MUX –4 x 1 MUX –An Adder –Binary-to-BCD Converter –A Register.
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
ECE 331 – Digital System Design Course Introduction and VHDL Fundamentals (Lecture #1)
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
Introduction to FPGA’s FPGA (Field Programmable Gate Array) –ASIC chips provide the highest performance, but can only perform the function they were designed.
StaticRoute: A novel router for the dynamic partial reconfiguration of FPGAs Brahim Al Farisi, Karel Bruneel, Dirk Stroobandt 2/9/2013.
GallagherP188/MAPLD20041 Accelerating DSP Algorithms Using FPGAs Sean Gallagher DSP Specialist Xilinx Inc.
GPGPU platforms GP - General Purpose computation using GPU
RUN-TIME RECONFIGURATION FOR AUTOMATIC HARDWARE/SOFTWARE PARTITIONING Tom Davidson, Karel Bruneel, Dirk Stroobandt Ghent University, Belgium Presenting:
Automating Shift-Register-LUT Based Run-Time Reconfiguration Karel Heyse, Brahim Al Farisi, Karel Bruneel, Dirk Stroobandt
Overview Dynamic reconfiguration of FPGAs:
FPGA Fault Emulator Jiří Kvasnička, Pavel Kubalík, Hana Kubátová.
Power Reduction for FPGA using Multiple Vdd/Vth
Designing with FPGAs ELEC 418 Advanced Digital Systems Dr. Ron Hayne Images Courtesy of Thomson Engineering.
LOPASS: A Low Power Architectural Synthesis for FPGAs with Interconnect Estimation and Optimization Harikrishnan K.C. University of Massachusetts Amherst.
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
Implementation of Finite Field Inversion
J. Christiansen, CERN - EP/MIC
FPGA (Field Programmable Gate Array): CLBs, Slices, and LUTs Each configurable logic block (CLB) in Spartan-6 FPGAs consists of two slices, arranged side-by-side.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
THE TESTING APPROACH FOR FPGA LOGIC CELLS E. Bareiša, V. Jusas, K. Motiejūnas, R. Šeinauskas Kaunas University of Technology LITHUANIA EWDTW'04.
Mapping Logic to Reconfigurable FPGA Routing Karel Heyse Karel Bruneel and Dirk Stroobandt 1 FACULTY OF ENGINEERING AND ARCHITECTURE.
Reconfigurable Computing Using Content Addressable Memory (CAM) for Improved Performance and Resource Usage Group Members: Anderson Raid Marie Beltrao.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
Basic Sequential Components CT101 – Computing Systems Organization.
Design Space Exploration for Application Specific FPGAs in System-on-a-Chip Designs Mark Hammerquist, Roman Lysecky Department of Electrical and Computer.
Lecture 16: Reconfigurable Computing Applications November 3, 2004 ECE 697F Reconfigurable Computing Lecture 16 Reconfigurable Computing Applications.
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
ECE 331 – Digital System Design Multiplexers and Demultiplexers (Lecture #13)
Evaluating and Improving an OpenMP-based Circuit Design Tool Tim Beatty, Dr. Ken Kent, Dr. Eric Aubanel Faculty of Computer Science University of New Brunswick.
Development of Programmable Architecture for Base-Band Processing S. Leung, A. Postula, Univ. of Queensland, Australia A. Hemani, Royal Institute of Tech.,
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
Introduction to FPGA Tools
1 Synthesizing Datapath Circuits for FPGAs With Emphasis on Area Minimization Andy Ye, David Lewis, Jonathan Rose Department of Electrical and Computer.
George Mason University Data Flow Modeling in VHDL ECE 545 Lecture 7.
5-1 Logic System Design I VHDL Design Principles ECGR2181 Reading: Chapter 5.0, 5.1, 5.3 port ( I: in STD_LOGIC_VECTOR (1 to 9); EVEN, ODD: out STD_LOGIC.
ECOM 4311—Digital System Design with VHDL
FPGA CAD 10-MAR-2003.
Data Flow Modeling in VHDL
Digital Design Using VHDL and PLDs ECOM 4311 Digital System Design Chapter 1.
WARP PROCESSORS ROMAN LYSECKY GREG STITT FRANK VAHID Presented by: Xin Guan Mar. 17, 2010.
VHDL ELEC 311 Digital Logic and Circuits Dr. Ron Hayne Images Courtesy of Cengage Learning.
Mapping of Regular Nested Loop Programs to Coarse-grained Reconfigurable Arrays – Constraints and Methodology Presented by: Luis Ortiz Department of Computer.
1 Field-programmable Gate Array Architectures and Algorithms Optimized for Implementing Datapath Circuits Andy Gean Ye University of Toronto.
1 WireMap FPGA Technology Mapping for Improved Routability Stephen Jang, Xilinx Inc. Billy Chan, Xilinx Inc. Kevin Chung, Xilinx Inc. Alan Mishchenko,
IAY 0600 Digital Systems Design Timing and Post-Synthesis Verifications Hazards in Combinational Circuits Alexander Sudnitson Tallinn University of Technology.
SEMI-SYNTHETIC CIRCUIT GENERATION FOR TESTING INCREMENTAL PLACE AND ROUTE TOOLS David GrantGuy Lemieux University of British Columbia Vancouver, BC.
EEL 5722 FPGA Design Fall 2003 Digit-Serial DSP Functions Part I.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Resource Sharing in LegUp. Resource Sharing in High Level Synthesis Resource Sharing is a well-known technique in HLS to reduce circuit area by sharing.
1 Architecture of Datapath- oriented Coarse-grain Logic and Routing for FPGAs Andy Ye, Jonathan Rose, David Lewis Department of Electrical and Computer.
Technology Mapping into General Programmable Cells
Field Programmable Gate Array
Field Programmable Gate Array
Field Programmable Gate Array
A Novel FPGA Logic Block for Improved Arithmetic Performance
VHDL Introduction.
Off-path Leakage Power Aware Routing for SRAM-based FPGAs
EEL4712 Digital Design (VHDL Tutorial).
Presentation transcript:

An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Overview 1 Multi-mode circuit FPGA Dynamic reconfiguration: Modular dynamic reconfiguration (MDR) Dynamic circuit specialization (DCS) Novel tool flow Experiments and results Conclusions Future work

Multi-mode circuit 2 Several circuits, called modes, that are used mutually exclusive in time Example: software defined radio Goal: Area efficient implementation through hardware resource sharing

FPGA 3 FF LUTLUT

Conventional FPGA tool flow 4 Input: textual description of functionality SYNTHESIS MAP PLACE HDL design Configuration ROUTE LUT circuit

entity multiplexer is port( sel : in std_logic_vector(1 downto 0); in : in std_logic_vector(3 downto 0); out : out std_logic ); end multiplexer; architecture behavior of multiplexer is begin out <= in(conv_integer(sel)); end behavior; Textual description: HDL design 5 in 0 in 1 in 2 in 3 sel 0 sel 1 out

Conventional FPGA tool flow 6 SYNTHESIS MAP Input: Textual description of functionality Internal representation: LUT circuit Output: FPGA configuration PLACE HDL design Configuration ROUTE LUT circuit

Dynamic reconfiguration of FPGAs 7 Advantages: Smaller area Lower power usage Increased speed M1M1 M2M2 M3M3 Goal: area reduction with reduced reconfiguration time M1M1 M2M2 M3M3 Disadvantage: Reconfiguration time

Dynamic reconfiguration of FPGAs 8 M1M1 M2M2 M3M3 2 tool flows: Modular Dynamic Reconfiguration (MDR) Dynamic Circuit Specialization (DCS) M1M1 M2M2 M3M3

Modular Dynamic Reconfiguration (MDR) 9 Mode 1 SYNTHESIS MAP PLACE Configuration 1 ROUTE Mode 2 SYNTHESIS MAP PLACE Configuration 2 ROUTE

MDR Different modes are implemented independently Complete area is rewritten  Results in long reconfiguration times 10

Dynamic Circuit specialization Design with parameters: input signals that only change once a while Implement dependency on parameters using dynamic reconfiguration 11

Dynamic circuit specialization 12 Input: annotated textual description of functionality SYNTHESIS Param. HDL TMAP TPLACE Param. Conf. TROUTE Tunable circuit

entity multiplexer is port( --BEGIN PARAM sel : in std_logic_vector(1 downto 0); --END PARAM in : in std_logic_vector(3 downto 0); out : out std_logic ); end multiplexer; architecture behavior of multiplexer is begin out <= in(conv_integer(sel)); end behavior; Parameterised HDL design 13 in 0 in 1 in 2 in 3 sel 0 sel 1 out

Dynamic circuit specialization 14 SYNTHESIS Input: Annotated textual description of functionality Internal representation: Tunable Circuit Param. HDL TMAP TPLACE Param. Conf. TROUTE Tunable circuit

15 Tunable look-up table Tunable connection

Dynamic circuit specialization 16 Input: Annotated textual description of functionality Internal representation: Tunable Circuit Output: Parameterised configuration Param. HDL SYNTHESIS TMAP TPLACE Param. Conf. TROUTE Tunable Circuit 1A B0 0C1111 A = sel 0 AND sel 1 B = sel 1 C = sel 0 OR sel 1

Dynamic Circuit Specialization Reduced reconfiguration time Takes as input 1 parameterised design How to implement several modes with DCS? 17

Goal of our research Develop tool flow for dynamic reconfiguration of multi-mode circuits Reduce reconfiguration time Combined implementation of different modes:  Utilize similarities  Increase correlation between configurations of the different modes 18

Novel tool flow 19 Mode 1 SYNTHESIS MAP Mode 2 SYNTHESIS MAP Param. Conf. TROUTE Merge PLACE Configuration 1 ROUTE PLACE Configuration 2 ROUTE

Generating a Tunable multi-mode circuit 20

Combined placement: virtual 3D FPGA 21 Simultanous placement of different LUT circuits on FPGA Extension of a simulated annaeling placer

Different cost functions 22 CF RT : estimation of reconfiguration time (= number of switches that need to be rewritten in the routing) CF WL : estimation of total wire length Tunable circuit

Reconfiguration time optimization 23 Uses “edge matching” - previously proposed * Try to overlap connections of different modes Connections that overlap don’t require parameterised bits in the routing *M. Rullmann and R. Merker, “Maximum edge matching for reconfigurable computing,” Parallel and Distributed Processing Symposium, International, vol. 0, p. 179, 2006.

Wire-length optimization 24 Cost function that estimates total wire length needed by TRoute to implement Tunable circuit

Experiments 25 Implemented novel tool flow in our JAVA version of VPR Regular expression matching hardware, constant coefficient FIR filters, and general MCNC benchmarks Circuits of LBs Only 2 modes considered Comparison of MDR and DCS (this work) Metrics: Reconfiguration time Wire length (of each mode separately)

Wire length 26

Results 27

Results 28

Conclusions 27 Using combined placement and DCS: Around 5X speedup of reconfig. time Limited increase in wire length Better to optimize for wire length during combined placement: this also reduces reconfiguration time!

Future work 28 Combining logic circuits instead of LUT circuits Take configuration frames into consideration

Questions? An automatic tool flow for the combined implementation of multi-mode circuits