PARTIAL RECONFIGURATION USING FPGAs: ARCHITECTURE

Slides:



Advertisements
Similar presentations
Adders Used to perform addition, subtraction, multiplication, and division (sometimes) Half-adder adds rightmost (least significant) bit Full-adder.
Advertisements

1 UNIT I (Contd..) High-Speed LANs. 2 Introduction Fast Ethernet and Gigabit Ethernet Fast Ethernet and Gigabit Ethernet Fibre Channel Fibre Channel High-speed.
Distributed Systems Architectures
McGraw-Hill©The McGraw-Hill Companies, Inc., 2003 Chapter 11 Ethernet Evolution: Fast and Gigabit Ethernet.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 4 Computing Platforms.
Processes and Operating Systems
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 1 Embedded Computing.
1 Introducing the Specifications of the Metro Ethernet Forum MEF 19 Abstract Test Suite for UNI Type 1 February 2008.
FIGURE 3.1 System for illustrating Boolean applications to control.
Chapter 5 Input/Output 5.1 Principles of I/O hardware
1 Chapter 11 I/O Management and Disk Scheduling Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and.
Copyright © 2007 Heathkit Company, Inc. All Rights Reserved PC Fundamentals Presentation 35 – Buses.
Figure 12–1 Basic computer block diagram.
Gabriel Honoré 1. What is it? A collection of software emulators –A software emulator is a computer program that imitates an electronic device or another.
Jongsok Choi M.A.Sc Candidate, University of Toronto.
Mehdi Naghavi Spring 1386 Operating Systems Mehdi Naghavi Spring 1386.
Chapter 1: Introduction to Scaling Networks
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 2 The OSI Model and the TCP/IP.
Chapter 3 Basic Logic Gates 1.
FPGA (Field Programmable Gate Array)
Marco D. Santambrogio FPGA: What? Why? Marco D. Santambrogio
Mohamed ABDELFATTAH Vaughn BETZ. 2 Why NoCs on FPGAs? Embedded NoCs Power Analysis
Chapter 10: Virtual Memory
Computer Maintenance Unit Subtitle: CPUs Copyright © Texas Education Agency, All rights reserved.1.
IP Multicast Information management 2 Groep T Leuven – Information department 2/14 Agenda •Why IP Multicast ? •Multicast fundamentals •Intradomain.
Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.
Defect Tolerance for Yield Enhancement of FPGA Interconnect Using Fine-grain and Coarse-grain Redundancy Anthony J. YuGuy G.F. Lemieux September 15, 2005.
© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
Global Analysis and Distributed Systems Software Architecture Lecture # 5-6.
Chapter 10: The Traditional Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
©2004 Brooks/Cole FIGURES FOR CHAPTER 12 REGISTERS AND COUNTERS Click the mouse to move to the next page. Use the ESC key to exit this chapter. This chapter.
Interfacing to the Analog World
PSSA Preparation.
TCP/IP Protocol Suite 1 Chapter 18 Upon completion you will be able to: Remote Login: Telnet Understand how TELNET works Understand the role of NVT in.
Run-Time FPGA Partial Reconfiguration for Image Processing Applications Shaon Yousuf Ph.D. Student NSF CHREC Center, University of Florida Dr. Ann Gordon-Ross.
1 SECURE-PARTIAL RECONFIGURATION OF FPGAs MSc.Fisnik KRAJA Computer Engineering Department, Faculty Of Information Technology, Polytechnic University of.
PARTIAL RECONFIGURATION DESIGN. 2 Partial Reconfiguration Partial Reconfiguration :  Ability to reconfigure a portion of the FPGA while the remainder.
HTR: On-Chip Hardware Task Relocation for Partially Reconfigurable FPGAs + Also Affiliated with NSF Center for High- Performance Reconfigurable Computing.
QUIZ What does ICAP stand for ? What is its main use ? Why is Partition Pin preferred over Bus Macro? 1.
Hardwired networks on chip for FPGAs and their applications
1 Performed by: Lin Ilia Khinich Fanny Instructor: Fiksman Eugene המעבדה למערכות ספרתיות מהירות High Speed Digital Systems Laboratory הטכניון - מכון טכנולוגי.
Bitstream Relocation with Local Clock Domains for Partially Reconfigurable FPGAs Adam Flynn, Ann Gordon-Ross, Alan D. George NSF Center for High-Performance.
Juanjo Noguera Xilinx Research Labs Dublin, Ireland Ahmed Al-Wattar Irwin O. Irwin O. Kennedy Alcatel-Lucent Dublin, Ireland.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Benefits of Partial Reconfiguration Reducing the size of the FPGA device required to implement a given function, with consequent reductions in cost and.
Heng Tan Ronald Demara A Device-Controlled Dynamic Configuration Framework Supporting Heterogeneous Resource Management.
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.
© 2004 Mercury Computer Systems, Inc. FPGAs & Software Components Graham Bardouleau & Jim Kulp Mercury Computer Systems, Inc. High Performance Embedded.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
Design Framework for Partial Run-Time FPGA Reconfiguration Chris Conger, Ann Gordon-Ross, and Alan D. George Presented by: Abelardo Jara-Berrocal HCS Research.
Partial Region and Bitstream Cost Models for Hardware Multitasking on Partially Reconfigurable FPGAs + Also Affiliated with NSF Center for High- Performance.
MAPLD 2005/254C. Papachristou 1 Reconfigurable and Evolvable Hardware Fabric Chris Papachristou, Frank Wolff Robert Ewing Electrical Engineering & Computer.
Task Graph Scheduling for RTR Paper Review By Gregor Scott.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
A Physical Resource Management Approach to Minimizing FPGA Partial Reconfiguration Overhead Heng Tan and Ronald F. DeMara University of Central Florida.
CHAPTER 8 Developing Hard Macros The topics are: Overview Hard macro design issues Hard macro design process Physical design for hard macros Block integration.
Reconfigurable Embedded Processor Peripherals Xilinx Aerospace and Defense Applications Brendan Bridgford Brandon Blodget.
FPGA Partial Reconfiguration Presented by: Abelardo Jara-Berrocal HCS Research Laboratory College of Engineering University of Florida April 10 th, 2009.
M. ALSAFRJALANI D. DZENITIS Runtime PR for Software Radio 2/26/2010 UFL ECE Dept 1 PARTIAL RECONFIGURATION (PR)
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
Runtime Reconfigurable Network-on- chips for FPGA-based systems Mugdha Puranik Department of Electrical and Computer Engineering
Introduction to the FPGA and Labs
An Automated Hardware/Software Co-Design
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
Ming Liu, Wolfgang Kuehn, Zhonghai Lu, Axel Jantsch
The Xilinx Virtex Series FPGA
The Xilinx Virtex Series FPGA
Presentation transcript:

PARTIAL RECONFIGURATION USING FPGAs: ARCHITECTURE

Agenda Introduction Partial Reconfiguration Basics Design Considerations Advantages of Partial Reconfiguration Challenges of Partial Reconfiguration Application Examples Case Study

Introduction FPGA Chip Basic Premise : Hardware reconfiguration is allowed during execution of an application. Some Interesting Applications Dynamic Instruction Set Architecture Software Defined Radio Video encoding techniques Cryptography Networking protocols FPGA Chip Design A Design B Design C

Introduction Classification of FPGA with respect to configuration capabilities Dynamic Partial Reconfiguration : Reconfiguring only a part of the device at run time while the rest of the device executes. Useful for systems which can time share the FPGA resources.

Introduction Benefits Area reduction Power reduction Hardware Reuse Flexibility Performance Improvement Higher Level of Parallelism Time sliced resource sharing Fast system start Load a basic module to enable a fast system boot up Load peripheral modules later. Smaller bitstreams sizes Application Portability Encapsulation of reconfigurable system into a portable application.

Partial Reconfiguration Basics Each vendor’s products can have different characteristics and utilities Some common terminology are as below. TERMINOLOGY Reconfigurable Partition(RP) Dynamic Partial Reconfiguration (DPR) Reconfigurable Module (PRM) Configuration Memory (CM) Frames Partial Bitstream Merged Bitstream Static Logic (Base Region) Bus Macro

Partial Reconfiguration Basics Structure Overview Overall Structure CLBs – Configurable logic blocks IOBs – Input-output buffers DSP48s – Xilinx’s digital signal processing units BRAMs – Block Random Access Memories FIFOs – First-in First-out buffers DCMs – Digital Clock Managers CLBs IOBs DSP48s BRAMS and FIFOs DCMs and Clock Dist. Figure 1. Virtex-4 LX15 FPGA layout

Partial Reconfiguration Basics Structure Overview

Partial Reconfiguration Basics Bit Stream and Frames FPGAs are reprogrammed by writing bits into CM Organized in small blocks called ‘Frames’ Multiple frames required to program a column of tiles(After Virtex II ) Contains both routing and logic tile configuration. Virtex-6 Frame size: 81 x 32 bits (81 words) Typical Bit streams for Virtex-6 are in the range of 43Mb to 190 Mb

Partial Reconfiguration Basics Bit Stream Different columns of FPGA fabric can have different bit streams PR overhead for full flexibility Possible to reduce Bit stream Size : - Compression Techniques - Partial Reconfiguration

Partial Reconfiguration Basics Frames Row address – 0 to 9 Top/Bottom row – with respect to HCLK Together with row address can locate the tile Major Address : Columns 0 onwards Minor Address : No. of frames in tile Block type : Logic Blocks, BRAMs, Routing Blocks.

Partial Reconfiguration Basics Bus Macros Bus Macros: Means of communication between PRMs and static design All connections between PRMs and static design must pass through a bus macro with the exception of a clock signal Type of Bus Macros Tri-state buffer (TBUF) based bus macros Slice-based (or LUT-based) bus macros

Partial Reconfiguration Basics Xilinx Bus Macros (Tri state Buffer Based) Used for connecting points to link Static and reconfigurable part Introduced in 2002 Fixed positions on the FPGA fabric Present along a thin vertical slice Extra hardware required. No longer supported in modern FPGAs.

Partial Reconfiguration Basics Xilinx Bus Macros (LUT Based) LUTs and Switch matrix acts as the connection points (2004) Passes the boundary of static and reconfigurable regions in a predefined manner. Uses 2 LUTs per wire Increased latency and area Not used any more. Partition Pins replace Bus Macros

Partial Reconfiguration Basics Partition Pins Partition Pins are the logical and physical connection between static logic and reconfigurable logic. Automatically created for all RP ports. Also referred to as Proxy LUTs. It is single LUT1 No special instantiations required Not Bidirectional

Partial Reconfiguration Basics Methods of Reconfiguration Externally Serial configuration port JTAG (Boundary Scan) port Select Map port Internally Though the Internal configuration access port (ICAP) using an embedded microcontroller or state machine Summary of Configuration Options

Partial Reconfiguration Basics Reconfiguration via a processor

Partial Reconfiguration Basics ICAP Interface Port to read and write the FPGA configuration at run time Enables a user to write software programs for an embedded processor that modifies the circuit structure and functionality during the circuit’s operation. Allows for automated runtime reconfiguration

Partial Reconfiguration Basics ICAP Interface Storage Device Bus System DMA to Storage Device Read back Support Configuration manager

Design Considerations Partitioning Style Partitioning style could be island style Slot Based Grid Based

Design Considerations Placement Flexibility Partitioning style affects placement and flexibility A partition defines the smallest atomic area a module can be assigned Island style – suffers from fragmentation Slot style - also suffers from fragmentation but to a lesser extent. Offered by the current vendors Xilinx and Altera. Grid Style – Reduced fragmentation. Difficult to support. To enhance flexibility, the PR module must be placed and routed in every region it needs to be configured. Additional stress on Bit stream size.

Design Considerations Resource Column wise layout of different logic primitives Must be considered when placing Depending on the type of logic primitives used by the module(SLICEX, SLICEM, etc), relocation may or may not be possible.

Design Considerations Power One of the potential advantages of PR – Power reduction But PR itself requires power. Power during PR is spent in: 1. Configuration Data Access – - Spent on the configuration controller - Off/On chip Memory access - Programming interface(ICAP, SelectMAP,etc) 2. Actual configuration of FPGA Resources Bonamy, R., et al. "Power Consumption Models for the Use of Dynamic and Partial Reconfiguration." Microprocessors and Microsystems (2014).

Design Considerations Power Tasks switching power graph T1 T2 and T2T1 Bonamy, R., et al. "Power Consumption Models for the Use of Dynamic and Partial Reconfiguration." Microprocessors and Microsystems (2014).

Design Considerations Design Flows Module-based PR: Implement any single component separately. Constrain components to be placed at a given location. Complete bitstream is finally built as the sum of all partial bit streams. Difference-based PR: Implement the complete bitstreams separately. Implement fix parts + reconfigurable parts with components constrained at the same location in all the bitstreams. Compute the difference of two bitstreams to obtain the partial bitstream needed to move from one configuration to the next one.

Design Considerations Module Based P-R

Design Considerations Difference Based P-R Useful for making small on-the-fly changes to design parameters such as logic equations, Filter Parameters. Procedure: Designer makes small logic changes using FPGA_Editor: changing I/Os, block RAM contents LUT programming muxs flip-flop initialization and reset values pull-ups or pull-downs on external pins block RAM write modes Changing any property or value that would impact routing is not recommended due to the risk of internal contention Uses BitGen to generate a bitstream that programs only the difference between the two versions. Very quick switching

Design Considerations Difference Based P-R LUT equations change

Design Considerations Difference Based P-R Changing BRAM contents

Challenges of Partial Reconfiguration Complicated design flow Manual assistance for reconfiguring different target devices. Security issues Decrease performance as compared to full configuration. Xilinx reports 10% degradation in clock frequency when using PR. Xilinx PR Implementation Flow HDL Design Description HDL Synthesis Set Design Constraints Placement Analysis Implement Static Design and PR Modules Merge Final Bitsreams Manual steps

Complete Architecture Overview

Application examples of Partial Reconfiguration Evolution Architectures Artifical Neural Networks Evolvable Hardware Platforms Fuzzy systems Modular Robotics Speed Up Crypto (Asym) Area Saving Networking (exchange packet filters according to traffic) Modulation/frequency/encryption hopping in military radios Digital Signal Processing JPEG Encoder/Decoder systems Edge detection applications

Case Study Fault Tolerance – Self Healing Architecture Fault tolerant Processor IF ,MAC and ALU are the PRMs Different configurations available for each module. Focus on the self healing feature more than the performance itself.

Case Study Reconfigurable Crypto processor Processor can choose from Different crypto algorithms Major Area savings Some Power Savings too.

Case Study Fast Start Up Fast Start up is a 2 step configuration Useful in time critical systems to initiate a swift system start up. Example : Automotive safety

Thank you Questions ?