Benefits of Partial Reconfiguration Reducing the size of the FPGA device required to implement a given function, with consequent reductions in cost and.

Slides:



Advertisements
Similar presentations
PARTIAL RECONFIGURATION USING FPGAs: ARCHITECTURE
Advertisements

Hao wang and Jyh-Charn (Steve) Liu
Sana Rezgui 1, Jeffrey George 2, Gary Swift 3, Kevin Somervill 4, Carl Carmichael 1 and Gregory Allen 3, SEU Mitigation of a Soft Embedded Processor in.
A self-reconfiguring platform Brandon Blodget,Philip James- Roxby, Eric Keller, Scott McMillan, Prasanna Sundararajan.
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.
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.
Hardwired networks on chip for FPGAs and their applications
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR SRAM-based FPGA n SRAM-based LE –Registers in logic elements –LUT-based logic element.
Customizing Virtual Networks with Partial FPGA Reconfiguration
1 Student: Khinich Fanny Instructor: Fiksman Evgeny המעבדה למערכות ספרתיות מהירות High Speed Digital Systems Laboratory הטכניון - מכון טכנולוגי לישראל.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
1 Performed by: Lin Ilia Khinich Fanny Instructor: Fiksman Eugene המעבדה למערכות ספרתיות מהירות High Speed Digital Systems Laboratory הטכניון - מכון טכנולוגי.
IO Controller Module Arbitrates IO from the CCP Physically separable from CCP –Can be used as independent data logger or used in future projects. Implemented.
VirtexIIPRO FPGA Device Functional Testing In Space environment. Performed by: Mati Musry, Yahav Bar Yosef Instuctor: Inna Rivkin Semester: Winter/Spring.
Evolution of implementation technologies
The Xilinx EDK Toolset: Xilinx Platform Studio (XPS) Building a base system platform.
ECE 331 – Digital System Design Tristate Buffers, Read-Only Memories and Programmable Logic Devices (Lecture #16) The slides included herein were taken.
HW/SW Co-Synthesis of Dynamically Reconfigurable Embedded Systems HW/SW Partitioning and Scheduling Algorithms.
Implementation of DSP Algorithm on SoC. Mid-Semester Presentation Student : Einat Tevel Supervisor : Isaschar Walter Accompaning engineer : Emilia Burlak.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
Virtual Architecture For Partially Reconfigurable Embedded Systems (VAPRES) Architecture for creating partially reconfigurable embedded systems Module.
Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.
Microsoft Virtual Academy Module 4 Creating and Configuring Virtual Machine Networks.
Bitstream Relocation with Local Clock Domains for Partially Reconfigurable FPGAs Adam Flynn, Ann Gordon-Ross, Alan D. George NSF Center for High-Performance.
Dr. Konstantinos Tatas ACOE201 – Computer Architecture I – Laboratory Exercises Background and Introduction.
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)
Networking Virtualization Using FPGAs Russell Tessier, Deepak Unnikrishnan, Dong Yin, and Lixin Gao Reconfigurable Computing Group Department of Electrical.
February 12, 1998 Aman Sareen DPGA-Coupled Microprocessors Commodity IC’s for the Early 21st Century by Aman Sareen School of Electrical Engineering and.
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
Automated Design of Custom Architecture Tulika Mitra
Heng Tan Ronald Demara A Device-Controlled Dynamic Configuration Framework Supporting Heterogeneous Resource Management.
1 Moore’s Law in Microprocessors Pentium® proc P Year Transistors.
J. Christiansen, CERN - EP/MIC
GRECO - CIn - UFPE1 A Reconfigurable Architecture for Multi-context Application Remy Eskinazi Sant´Anna Federal University of Pernambuco – UFPE GRECO.
Embedded Runtime Reconfigurable Nodes for wireless sensor networks applications Chris Morales Kaz Onishi 1.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
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.
® Java Debug Hardware Modules Using JBits by Jonathan Ballagh Eric Keller Peter Athanas Reconfigurable Architectures Workshop 2001.
Partial Region and Bitstream Cost Models for Hardware Multitasking on Partially Reconfigurable FPGAs + Also Affiliated with NSF Center for High- Performance.
EE3A1 Computer Hardware and Digital Design
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE Presenter: Shu-yen Lin Advisor: Prof. An-Yeu Wu 2005/6/6.
4/19/20021 TCPSplitter: A Reconfigurable Hardware Based TCP Flow Monitor David V. Schuehler.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Hot Interconnects TCP-Splitter: A Reconfigurable Hardware Based TCP/IP Flow Monitor David V. Schuehler
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.
Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the FPX.
This material exempt per Department of Commerce license exception TSU Xilinx On-Chip Debug.
M. ALSAFRJALANI D. DZENITIS Runtime PR for Software Radio 2/26/2010 UFL ECE Dept 1 PARTIAL RECONFIGURATION (PR)
VAPRES A Virtual Architecture for Partially Reconfigurable Embedded Systems Presented by Joseph Antoon Abelardo Jara-Berrocal, Ann Gordon-Ross NSF Center.
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
Survey of Reconfigurable Logic Technologies
بسم الله الرحمن الرحيم MEMORY AND I/O.
PARBIT Tool 1 PARBIT Partial Bitfile Configuration Tool Edson L. Horta Washington University, Applied Research Lab August 15, 2001.
System on a Programmable Chip (System on a Reprogrammable Chip)
Runtime Reconfigurable Network-on- chips for FPGA-based systems Mugdha Puranik Department of Electrical and Computer Engineering
Runtime Temporal Partitioning Assembly to Reduce FPGA Reconfiguration Time Abelardo Jara-Berrocal, Ann Gordon-Ross HCS Research Laboratory College of Engineering.
Introduction to the FPGA and Labs
Programmable Hardware: Hardware or Software?
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
FPGA: Real needs and limits
CS 31006: Computer Networks – The Routers
Network-on-Chip Programmable Platform in Versal™ ACAP Architecture
NetFPGA - an open network development platform
Presentation transcript:

Benefits of Partial Reconfiguration Reducing the size of the FPGA device required to implement a given function, with consequent reductions in cost and power consumption Providing flexibility in the choices of algorithms or protocols available to an application Enabling new techniques in design security Improving FPGA fault tolerance Accelerating configurable computing

Definitions Partial Reconfiguration (PR) Partial Reconfiguration is modifying a subset of logic in an operating FPGA design by downloading a partial configuration file. Partition Logical section of the design, defined by the user, to be considered for design reuse. This is the section of the FPGA designated for PR.

Definitions Configuration Frame The smallest addressable segments of the FPGA configuration memory space. Reconfigurable frames are built from discrete numbers of these lowest level elements Frame The smallest reconfigurable region within an FPGA device. Frame in Virtex-6 are 40 CLBs high by 1 CLB wide. Frame in Virtex-5 are 20 CLBs high by 1 CLB wide. Frame in Virtex-4, are 16 CLBs high by 1 CLB wide.

Partition Pins Logical and physical connection between static logic and reconfigurable logic. Formerly known as “Bus Macros”. Now they are automatically created for all Reconfigurable Partition ports, no manual reconfiguration is needed from the user.

Partition Pins – Proxy Logic Each partition pin is connected to a LUT, These LUTs are called “Proxy Logic” Logically located in the Static Region Required to be at a fixed known point to act as an interface between static and reconfigurable partitions

Partition Pins

Bus Macro Implementation

PR Region Selection

Internal Configuration Access Port (ICAP) 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

Hardware ICAP Core

Example Self Reconfiguration System

Two Ways to update LUTS Modular Partial Reconfiguration: – Large changes – Full module is changed between two configurations Difference Partial Reconfiguration – Small Changes – Modify a LUT function or a memory content

Modular Layout

Constraints of Modular Method The size and the position of a module cannot be changed. Input-output blocks (IOBs) are exclusively accessible by contiguous modules. Reconfigurable modules can communicate only with neighbor modules, and it must be done through bus macros. No global signals are allowed (e.g., global reset), with the exception of clocks that use a different bitstream and routing channels.

Difference Based Partial Reconfiguration Small changes on the FPGA configuration Manually done using the FPGA Editor What can be modified? – LUTs equations – BRAM contents and BRAM write modes – I/O standards and pull-ups or pull-downs on external pins – muxes that invert polarity, – Flipflop initialization and reset values, What cannot be modified? – Routing – very dangerous: internal contentions.

Problems with Difference Based Method Lack of Automation – Changes must be done manually In complex designs it is difficult to find the component you want to modify Xilinx current support is mostly for modular based method.

The Early-Access Partial Reconfiguration Design Flow (The Old Way - used by the paper) This design flow is no longer valid using newer Xilinx tools.

The New Way – A little easier 1.Synthesize base system with reconfigurable module with input and output pins (XPS) 2.Create software files to manage PR Region (SDK) 3.Use Plan Ahead to manage PR Region and create bit-streams (Lots of steps here) 4.Merge bit-streams into download.bit to run on the FPGA

Customizing Virtual Networks with Partial FPGA Reconfiguration Use reconfiguration to create/modify a virtual network Heuristic to assign networks to HW/SW Allows for migration of virtual networks between HW and SW Workstation handles SW while FPGA handles HW

Motivation Network applications have diverse performance requirements for underlying network infrastructure Desire Flexibility, performance and isolation Numerous hardware network substrates would work, but the hardware implementation overhead is too high Need for straight-forward reconfiguration- over-time method

Limitations of Current State of the Art Current ImplementationProsCons Software virtual networks on microprocessors High Flexibility and Isolation Low performance Network processors / dedicated hardware High Performance Flexible Hardware shuts down during reconfiguration (Low isolation) Migrate networks to software when reconfiguring High Performance Flexible Low performance when reconfiguring (Low isolation)

Related Work Supercharging Planet Lab (SPL) – Intel IXP Network Processors – Dedicated ternary content addressable memory (TCAM) for each forwarding table FPGA implementation – 4 concurrent virtual networks with dedicated – Dedicated IP routers – Additional networks run in software – Switch to software when reconfiguring

Related Work Field Programmable Port Extender (FPX) – High speed switch – PR packet processing modules using APIs – Specialized software (PARBIT) for bit-stream management and generation – PR network processor – Reconfigurable Accelerator for packet processing functions

Proposed Approach Use reconfiguration to create/modify a virtual network Heuristic to assign networks to HW/SW Allows for migration of virtual networks between HW and SW Workstation handles SW while FPGA handles HW

System Design Partially Reconfigurable FPGA System Static RegionPR Region ArbiterHeader Verification Packet ClassifierChecksum Verification Output QueuesIP Lookup CPU TransceiverARP Lookup Time to live (TTL) Lookup

System Design Software Based System OpenVZ – lightweight virtualization apporach FPGA receives packets and send them to HW or SW CPU Transeiver sends the packet to the workstation OpenVZ processes the packet on a virtual network All processed packets go to the output queues on FPGA

System Design Dynamic Virtual Network Allocation Virtual network removal Virtual network addition Virtual network bandwidth adjustment – Reduction -> No effect on other networks – Increase -> Greedy Rebalancing Algorithm: Migrate lowest bandwidth to software or the highest bandwidth to hardware to make room for adjustment

System Implementation

Experimental Approach Used EARP design flow to generate bitstreams Used Bus-Macros Separate Verilog files for all modules Downloaded to the FPGA using JTAG

Experiment Testbed

Throughput of Routers

Static Reconfigurable Method Why is there such a drop in performance in this method?

Partial Reconfigurable Method Why is A unaffected by the reconfiguration like in previous method?

There isn’t much of a performance gain between the highest performing PR and SR methods. Why?

What causes the SR method to outperform the PR method as the number of Virtual Networks increases?

Hot-Spot Mitigation Use Partial Reconfiguration to swap hot and cool modules around the chip based on a thermal trigger. Set a threshold temperature and when a module reaches that threshold, swap positions with a cool module using reconfiguration

Hot-Spot Mitigation

Module the size of ¼ a Microblaze

Module the size of ½ a Microblaze

Module the size of one Microblaze

Pixel Video Processor PR modules can be reconfigured to perform arbitrary one pixel functions Tested to see how the reconfiguration time overhead effects the system

Pixel Processor

My Project: Data Adaptable Reconfiguration