1 / 66

Application Study of EAPR based Partial Dynamic Reconfiguration

Outline. IntroductionBackgroundPartial Dynamic ReconfigurationIterative Repair ProcessorResults and ObservationsConclusionsPublicationsReferences. 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 deviceDynamic Partial Reconfiguration (PDR): Reconfiguring a portion of the device while the remaining design is s13

albert
Download Presentation

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

    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

    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

    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. Iterative Repair Processor Simulated Annealing consists of calling the same 5 functions repeatedly This structure has been exploited through use of a pipelined processor

    46. System Architecture

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

    48. PR of Iterative Repair Processor

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

    50. Basic idea of setting up the system

    51. Results & Observations

    52. Results and Observations Partial Reconfiguration Observations Time for partial reconfiguration IR Processor Setup for Partial Reconfiguration Tested PR by reconfiguring with itself Ready for thermal capturing Partial Reconfiguration Tutorial

    53. Partial Reconfiguration Latecny

    54. Designs – ellintr_g and ellintr_d

    55. Designs – ellintr_g and multiplier

    56. Experimental vs. Analytical

    57. IR Processor Time to Reconfigure the whole IR Processor: It takes 0.55 sec to reconfigure the whole processor If we reconfigure only two of the five stages in the Iterative Repair processor, the reconfiguration time will reduce significantly

    58. CONCLUSIONS

    59. Conclusions Current Status Ready to partial reconfigure the entire IR Processor Ready to test the IR Processor with thermal camera Need to set up IR Processor to reconfigure just two stages instead of the whole IR Processor Proposing a method to improve event scheduling in deep space missions using PDR Thesis defense in August?

    60. Publications

    61. Publications Journal Articles under review IET Transactions on Computers and Digital Techniques Phillips, J., Sudarsanam, A., Kallam, R., Carver, J., and Dasu, A., “Methodology to Derive Polymorphic Soft-IP Cores for FPGAs”

    62. REFERENCES

    63. References "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 "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. "Partial and dynamic reconfiguration of FPGAs: a top down design methodology for an automatic implementation", Berthelot, F.; Nouvel, F., Emerging VLSI Technologies and Architectures, 2006. IEEE Computer Society Annual Symposium on, Vol.00, Iss., 2-3 March 2006 Pages: 2 pp. "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

    64. References "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 "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 "Partial Dynamic Reconfiguration: The Caronte Approach. A New Degree of Freedom in the HW/SW Codesign", Marco D. Santambrogio; Donatella Sciuto, Field Programmable Logic and Applications, 2006. FPL '06. International Conference on, Vol., Iss., Aug. 2006 ages:1-2

    65. References "Fast IP-Core Generation in a Partial Dynamic Reconfiguration Workflow", Murgida, M.; Panella, A.; Rana, V.; Santambrogio, M.D.; Sciuto, D., Very Large Scale Integration, 2006 IFIP International Conference on, Vol., Iss., Oct. 2006 Pages:74-79 "A Decade of Reconfigurable Computing: a Visionary Retrospective", Hartenstein, R., Design, Automation and Test in Europe, 2001. Conference and Exhibition 2001. Proceedings "Application-driven Research in Partial Reconfiguration", Juanjo Noguera, Robert Esser, 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

    66. References "A Coarse-grain Pipelined Architecture for Accelerating Iterative Repair-Type Event Scheduling on SRAM-FPGAs", Jonathan Phillips and Aravind Dasu, VLSI Journal 2007 "ug070 - Virtex4 User guide", www.xilinx.com "ug071 - Virtex4 configuration guide",www.xilinx.com "Virtex Series Configuration Architecture User Guide", www.xilinx.com "Two Flows for Partial Reconfiguration: Module Based or Difference Based", www.xilinx.com "ug208- Early Access Partial Reconfigureation user guide", www.xilinx.com

More Related