1 / 66

Application Study of EAPR based Partial Dynamic Reconfiguration

Application Study of EAPR based Partial Dynamic Reconfiguration. RCG Presentation (12/07/2007) Ramachandra Kallam. Outline. Introduction Background Partial Dynamic Reconfiguration Iterative Repair Processor Results and Observations Conclusions Publications References.

emera
Télécharger la présentation

Application Study of EAPR based Partial Dynamic 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. Application Study of EAPR based Partial Dynamic Reconfiguration RCG Presentation (12/07/2007) Ramachandra Kallam

  2. Outline • Introduction • Background • Partial Dynamic Reconfiguration • Iterative Repair Processor • Results and Observations • Conclusions • Publications • References

  3. Introduction: Partial Reconfiguration • Partial Reconfiguration: • Static Partial Reconfiguration: Reconfiguring a portion of the device (changing the functionality) when the device is inactive without affecting other areas of the device • Dynamic Partial Reconfiguration (PDR): Reconfiguring a portion of the device while the remaining design is still active and operating without affecting the remaining portion of the device.

  4. Intuitive Benefits of using PDR Saves space on the FPGA Less time to change only a part of design Reduction of power dissipation by storing functionality to external memory Smaller FPGAs can be used to run an application

  5. Applicability of PDR

  6. NASA’s missions Space missions cannot rely on constant and reliable communication between earth and spacecraft On-board Processing FPGAs Low Cost compared to ASICs Reconfigurable Spacecraft event scheduling Iterative Repair and Simulated Annealing Iterative Repair Processor

  7. Iterative Repair and Simulated Annealing Initial solution modified over several iterations Greedy Algorithm – may not yield optimal schedule (solution) Altering the solution randomly Evaluating the solution in a particular way Perfect solution? Different Solutions The way the initial solution is altered The way the solution is evaluated Different alter and evaluate stages Simulated Annealing

  8. Spacecraft Event Scheduling A set of 100 events Need to find the best solution.

  9. Different ‘Alter’ functions

  10. Impact of ‘alter’ functions

  11. Alternate ‘Evaluate’ functions Suppose a problem has three different tasks We can assign different weights to different tasks depending on the degree of importance of each task Can we store different ‘alter’ and ‘evaluate’ functions on the FPGA? Area constraints on the FPGA Solution?

  12. PDR based on-board event scheduling FPGA IRP 2 Mid-term scheduling IRP 3 Long-term scheduling IRP 1 Short-term scheduling External memory alter - 1 alter - 1 alter - 1 evaluate - 1 evaluate - 1 evaluate - 1 Bit Streams alter - 1 alter - 2 alter - 2 Micro Blaze - 1 Micro Blaze - 2 Micro Blaze - 3 evaluate - 1 evaluate - 2 evaluate - 2

  13. Lets review the definitions again: • Partial Reconfiguration: • Static Partial Reconfiguration: Reconfiguring a portion of the device (changing the functionality) when the device is inactive without affecting other areas of the device • Dynamic Partial Reconfiguration (PDR): Reconfiguring a portion of the device while the remaining design is still active and operating without affecting the remaining portion of the device.

  14. Background Method of Partial Reconfiguration Internal Configuration Access Port (ICAP) Bus Macros

  15. Partial Reconfiguration • Partial Reconfiguration is useful for systems with multiple functions that can time-share the same FPGA resources. TERMINOLOGY • Reconfigurable Region (PRR) • Reconfigurable Module (PRM) • Static Logic • Bus Macro • Partial Bitstream • Merged Bitstream

  16. Literature "Run-time dynamic reconfiguration: a reality check based on FPGA architectures from Xilinx", Wu, K.; Madsen, J., NORCHIP Conference, 2005. 23rd, Vol., Iss., 21-22 Nov. 2005 Pages: 192- 195 "Study on column wise design compaction for reconfigurable systems", Kalte, H.; Lee, G.; Porrmann, M.; Ruckert, U., Field-Programmable Technology, 2004. Proceedings. 2004 IEEE International Conference on, Vol., Iss., 6-8 Dec. 2004 Pages: 413- 416 "Modular partial reconfigurable in Virtex FPGAs", Sedcole, P.; Blodget, B.; Anderson, J.; Lysaghi, P.; Becker, T., Field Programmable Logic and Applications, 2005. International Conference on, Vol., Iss., 24-26 Aug. 2005 Pages: 211- 216 "A Decade of Reconfigurable Computing: a Visionary Retrospective", Hartenstein, R., Design, Automation and Test in Europe, 2001. Conference and Exhibition 2001. Proceedings

  17. Literature "Application-driven Research in Partial Reconfiguration", Juanjo Noguera, Robert Esser, Xilinx Research Labs “Two Flows for Partial Reconfiguration: Module Based or Difference Based”, Xilinx Research Labs "A new framework to accelerate Virtex-II Pro dynamic partial self-reconfiguration", Claus, C.; Muller, F.H.; Zeppenfeld, J.; Stechele, W., Parallel and Distributed Processing Symposium, 2007. IPDPS 2007. IEEE International "A lightweight approach for embedded reconfiguration of FPGAs", Blodget, B.; McMillan, S.; Lysaght, P., Design, Automation and Test in Europe Conference and Exhibition, 2003

  18. Partial Reconfiguration Methods • Module-based Partial Reconfiguration • Systematic design of larger systems • Modular Design Methodology • Communication between modules is done through tri-state buffers • Care should be taken that tri-state buffers are not being reconfigured • High storage cost • Long reconfiguration Latency • Area-constrained placement and routing process. No hardware support to guarantee successful P&R

  19. Partial Reconfiguration Methods Difference-based Partial Reconfiguration Suitable for very small designs Compares the circuit description of two designs, note the different frames between the two designs and creates a partial bitstream that only modifies the frames that are different The reconfiguration time and storage cost are proportional to number of frames that are different Very inefficient for large designs Both the designs have to be same at the layout level

  20. Partial Reconfiguration Methods Early Access Partial Reconfiguration (EAPR) Similar to Modular-design methodology Allows Partial Reconfigurable regions of any rectangular size Allows signals in the base design to pass through PR region Placer will not locate any logic elements in PRR Router can route static nets through PRR Communication between static and partially reconfigurable region is done using slice-based (or LUT-based) bus macros

  21. Medium for Partial Reconfiguration External – JTAG, UART (RS232) Internal – ICAP ICAP (Internal Configuration Access Port) Self-Reconfiguration controlled by soft-processor Internal read and write access to configuration logic Faster hwicap (provided by Xilinx) Wraps the ICAP with additional logic to read and write frames to BRAM Slave to OPB (On-chip Peripheral Bus)

  22. ICAP - Flow Bitstream Flow Factors effecting Reconfiguration Time Bitstream length Bitstream transfer Ways to Improve Reduce the bitstream size (combitgen) Optimize the way the bitstreams are transferred SystemACE BRAM (Microblaze) ICAP Memory Configuration Memory

  23. 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 • Advantage of slice-based bus macros • No signals lines should cross the border in partial reconfiguration • TBUFs – will ignore the boundaries • Slice-based – signals not crossing boundaries

  24. Bus Macros All Bus Macros provide eight bits of data bandwidth and enable/disable control Provided with EAPR software tools as pre-placed and pre-routed with .nmc extension Expanded during NGDBuild Placement of Bus Macros Placed such that the bus macros are placed half on the static side and half in the PR Region Placed such that they do not straddle a DSP or BRAM column

  25. Literature • "An FPGA-Based Dynamically Reconfigurable Platform: From Concept to Realization", Mateusz Majer, Field Programmable Logic and Applications, 2006. FPL '06. International Conference on, Vol., Iss., Aug. 2006 Pages:1-2 • Communicating with other modules is difficult as there may be routing through partial reconfigurable regions • Proposed a new architecture for partial reconfiguration • With the introduction of EAPR, it is possible to send static nets through partial reconfigurable regions

  26. Literature • "Modular partial reconfigurable in Virtex FPGAs", Sedcole, P.; Blodget, B.; Anderson, J.; Lysaghi, P.; Becker, T., Field Programmable Logic and Applications, 2005. International Conference on, Vol., Iss., 24-26 Aug. 2005 Pages: 211- 216 • Apart from partial reconfiguration methods, this paper gives a analytical method to calculate reconfiguration time

  27. Literature • "Dynamic and Partial FPGA Exploitation", Jrgen Becker; Michael Hubner; Gerhard Hettich; Rainer Constapel; Joachim Eisenmann; Jrgen Luka, Proceedings of the IEEE, Vol.95, Iss.2, Feb. 2007 Pages:438-452 • Motivation: electronics in automobiles are increasing with time. • A Reconfigurable system for automotive industry to reduce the high number of control systems necessary for all the functions is presented

  28. Literature • "Dynamic loading of peripherals on reconfigurable system-on-chip", Yi Lu; Bergmann, N., Field-Programmable Technology, 2005. Proceedings. 2005 IEEE International Conference on, Vol., Iss., 11-14 Dec. 2005 Pages: 279- 280 • Auto peripheral detection using partial dynamic self reconfiguration

  29. Invoking Partial Dynamic Reconfiguration through Xilinx Early Access Partial Reconfiguration methodology

  30. Early Access Partial Reconfiguration (EAPR) – Design Flow • New Design flow by Xilinx in which slice based bus macros are used • EAPR Design Flow • HDL (Design Description) • EDK (System level design) • PlanAhead (Floor plan) • Constraints (area, timing etc) • Design Rule Check (DRC) • Implement Static Design • Implement PR Modules • Create Bitstreams • Programming the FPGA

  31. Design Description • HDL (Design Description) • Have to decide which part of the design is to be implemented in static design • Decide on number of PR regions • Which functionality to implement (PRMs) in each PRR • VHDL or Verilog • Synthesis • Keep Hierarchy • Disable ‘Add I/O Buffers’ • Set Global Clocks to ‘0’ (Figure of drc error)

  32. Design Description • Partial Reconfiguration Modules (PRMs) • Pin Compatible • Same port names

  33. EDK (System Level Design) • EDK (System Level Design) • Create Peripherals • Entity names should match • System Architecture

  34. EDK (System Level Design) • Create software to run in Microblaze • Create Netlist for the entire design • Compile the software

  35. PlanAhead (Floor Planning) PlanAhead (Floor Planning) Import system netlist

  36. PlanAhead (Floor Planning) • Set Constraints (area, location, timing)

  37. PlanAhead (Floor Planning) Virtex-4 SX35 device with static and partial reconfigurable region

  38. PlanAhead (Floor Planning) Set the Partial Reconfigurable Region (PRR) Add PRMs to the PRR

  39. PlanAhead (Floor Planning) Design Rule Check (DRC)

  40. PlanAhead (Floor Planning) ExploreAhead Static Runs PR Runs PRAssemble To create full and partial bitstreams

  41. PAR of Full Design and PR Region

  42. PlanAhead Some Disadvantages of PlanAhead Module has to be top level to set it as a reconfigurable region Cannot have gaps when specifying boundaries for a partial region

  43. Programming the FPGA • Programming the FPGA • Export full bitstream to EDK • Create SystemACE file • Program the FPGA (file names should be small)

  44. Test Application:ITERATIVE REPAIR PROCESSOR

  45. Simulated Annealing consists of calling the same 5 functions repeatedly This structure has been exploited through use of a pipelined processor Iterative Repair Processor

  46. System Architecture

  47. Socket Bridge • Communication between OPB and PRR using slice-based Bus Macros • Capable of isolating PRR while Reconfiguration Courtesy: Xilinx

  48. PR of Iterative Repair Processor

  49. Event Scheduling • Short-term • Mid-term • Lon-term

  50. Basic idea of setting up the system FPGA IRP 2 Mid-term scheduling IRP 3 Long-term scheduling IRP 1 Short-term scheduling External memory alter - 1 alter - 1 alter - 1 evaluate - 1 evaluate - 1 evaluate - 1 Bit Streams alter - 1 alter - 2 alter - 2 Micro Blaze - 1 Micro Blaze - 2 Micro Blaze - 3 evaluate - 1 evaluate - 2 evaluate - 2

More Related