1 / 50

Benefits of Partial Reconfiguration

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

kueng
Download Presentation

Benefits of Partial Reconfiguration

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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.

  3. 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.

  4. 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.

  5. 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

  6. Partition Pins

  7. Bus Macro Implementation

  8. PR Region Selection

  9. 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

  10. Hardware ICAP Core

  11. Example Self Reconfiguration System

  12. 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

  13. Modular Layout

  14. 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.

  15. 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.

  16. 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.

  17. 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.

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

  19. Customizing Virtual Networks with Partial FPGAReconfiguration • 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

  20. 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

  21. Limitations of Current State of the Art

  22. 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

  23. 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

  24. 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

  25. System Design

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

  27. 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

  28. System Implementation

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

  30. Experiment Testbed

  31. Throughput of Routers

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

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

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

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

  36. 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

  37. Hot-Spot Mitigation

  38. Module the size of ¼ a Microblaze

  39. Module the size of ½ a Microblaze

  40. Module the size of one Microblaze

  41. 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

  42. Pixel Processor

  43. My Project: Data Adaptable Reconfiguration

More Related