Design methodology for partial dynamic reconfiguration: a new degree of freedom in the HW/SW codesign

Many emerging products in communication, computing and consumer electronics demand that their functionality remains flexible also after the system has been manufactured and that is why the reconfiguration is starting to be considered into the design flow as a new relevant degree of freedom, in which the designer can have the system autonomously modify its functionalities according to the application's changing needs. Therefore, reconfigurable devices, such as FPGAs, introduce yet another degree of freedom in the design workflow: the designer can have the system autonomously modify the functionality carried out by the IP core according to the application's changing needs while it runs. Research in this field is, indeed, being driven towards a more thorough exploitation of the reconfiguration capabilities of such devices, so as to take advantage of them not only at compile-time, i.e. at the time when the system is first deployed, but also at run-time, which allows the reconfigurable device to be reprogrammed without the rest of the system having to stop running. This paper presents emerging methodologies to design reconfigurable applications, providing, as an example the workflow defined at the Politecnico di Milano.

[1]  Guy E. Blelloch,et al.  Selective memoization , 2003, POPL '03.

[2]  Ulrich Rückert,et al.  System-on-programmable-chip approach enabling online fine-grained 1D-placement , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[3]  Marco D. Santambrogio,et al.  A graph-coloring approach to the allocation and tasks scheduling for reconfigurable architectures , 2006, 2006 IFIP International Conference on Very Large Scale Integration.

[4]  Gerald Estrin,et al.  Reconfigurable Computer Origins: The UCLA Fixed-Plus-Variable (F+V) Structure Computer , 2002, IEEE Ann. Hist. Comput..

[5]  Seth Copen Goldstein,et al.  PipeRench: A Reconfigurable Architecture and Compiler , 2000, Computer.

[6]  Hideharu Amano,et al.  Performance evaluation of WASMII: a data driven computer on a virtual hardware , 1993, PARLE.

[7]  Peter M. Athanas,et al.  A versatile framework for FPGA field updates: an application of partial self-reconfiguration , 2003, 14th IEEE International Workshop on Rapid Systems Prototyping, 2003. Proceedings..

[8]  Robert Harper,et al.  Self-adjusting computation , 2004, Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science, 2004..

[9]  David E. Taylor,et al.  Generalized RAD Module Interface Specification of the Field-programmable Port eXtender (FPX) Version 2.0 , 2001 .

[10]  Marco D. Santambrogio,et al.  Partial Dynamic Reconfiguration: The Caronte Approach. A New Degree of Freedom in the HW/SW Codesign , 2006, 2006 International Conference on Field Programmable Logic and Applications.

[11]  Marco D. Santambrogio,et al.  Fast IP-Core Generation in a Partial Dynamic Reconfiguration Workflow , 2006, 2006 IFIP International Conference on Very Large Scale Integration.

[12]  Guy E. Blelloch,et al.  Adaptive functional programming , 2002, POPL '02.

[13]  John Wawrzynek,et al.  Garp: a MIPS processor with a reconfigurable coprocessor , 1997, Proceedings. The 5th Annual IEEE Symposium on Field-Programmable Custom Computing Machines Cat. No.97TB100186).

[14]  John W. Lockwood,et al.  Dynamic hardware plugins in an FPGA with partial run-time reconfiguration , 2002, DAC '02.

[15]  Fabrizio Ferrandi,et al.  Exploiting partial dynamic reconfiguration for SoC design of complex application on FPGA platforms , 2005 .

[16]  Marco D. Santambrogio,et al.  Task Partitioning for the Scheduling on Reconfigurable Systems driven by Specification Self-Similarity , 2007, ERSA.

[17]  Henry Hoffmann,et al.  The Raw Microprocessor: A Computational Fabric for Software Circuits and General-Purpose Programs , 2002, IEEE Micro.

[18]  Ulrich Rückert,et al.  A Prototyping Platform for Dynamically Reconfigurable System on Chip Designs , 2002 .

[19]  Robert Harper Self-adjusting computation , 2004, LICS 2004.

[20]  John W. Lockwood,et al.  PARBIT: A Tool to Transform Bitfiles to Implement Partial Reconfiguration of Field Programmable Gate Arrays (FPGAs) , 2001 .

[21]  Fabrizio Ferrandi,et al.  VHDL to FPGA automatic IP-Core generation: a case study on Xilinx design flow , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[22]  Vincenzo Piuri,et al.  Virtual FPGAs: Some Steps Behind the Physical Barriers , 1998, IPPS/SPDP Workshops.

[23]  John Wawrzynek,et al.  The Garp Architecture and C Compiler , 2000, Computer.

[24]  Fadi J. Kurdahi,et al.  Morphosys: case study of a reconfigurable computing system targeting multimedia applications , 2000, Proceedings 37th Design Automation Conference.

[25]  Darran Nathan,et al.  A Self-Reconfigurable Computing Platform Hardware Architecture , 2004, ArXiv.

[26]  Heiko Kalte,et al.  Task placement for heterogeneous reconfigurable architectures , 2005, Proceedings. 2005 IEEE International Conference on Field-Programmable Technology, 2005..

[27]  Gerald Estrin,et al.  Organization of computer systems: the fixed plus variable structure computer , 1960, IRE-AIEE-ACM '60 (Western).

[28]  Philip James-Roxby,et al.  A Self-reconfiguring Platform , 2003, FPL.

[29]  Ulrich Rückert,et al.  Partial Dynamic Reconfiguration in a Multi-FPGA Clustered Architecture Based on Linux , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.

[30]  John W. Lockwood,et al.  Automated Method to Generate Bitstream Intellectual Property Cores for Virtex FPGAs , 2004, FPL.

[31]  João M. P. Cardoso,et al.  Loop dissevering: a technique for temporally partitioning loops in dynamically reconfigurable computing platforms , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[32]  Fabrizio Ferrandi,et al.  SyCERS: a SystemC Design Exploration Framework for SoC Reconfigurable Architecture , 2006, ERSA.

[33]  Marco Platzner,et al.  Operating systems for reconfigurable embedded platforms: online scheduling of real-time tasks , 2004, IEEE Transactions on Computers.

[34]  Marco D. Santambrogio,et al.  Dynamic Reconfigurability in Embedded System Design , 2007, 2007 IEEE International Symposium on Circuits and Systems.

[35]  Fabrizio Ferrandi,et al.  Caronte: a complete methodology for the implementation of partially dynamically self-reconfiguring systems on FPGA platforms , 2005, 13th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'05).

[36]  Heiko Kalte,et al.  REPLICA2Pro: task relocation by bitstream manipulation in virtex-II/Pro FPGAs , 2006, CF '06.

[37]  Fabrizio Ferrandi,et al.  A design methodology for dynamic reconfiguration: the Caronte architecture , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[38]  Fadi J. Kurdahi,et al.  Design and Implementation of the MorphoSys Reconfigurable Computing Processor , 2000, J. VLSI Signal Process..

[39]  John Wawrzynek,et al.  Augmenting a microprocessor with reconfigurable hardware , 2000 .

[40]  Harvey F. Silverman,et al.  Processor reconfiguration through instruction-set metamorphosis , 1993, Computer.

[41]  João M. P. Cardoso On Combining Temporal Partitioning and Sharing of Functional Units in Compilation for Reconfigurable Architectures , 2003, IEEE Trans. Computers.

[42]  Ranga Vemuri,et al.  An automated temporal partitioning and loop fission approach for FPGA based reconfigurable synthesis of DSP applications , 1999, Proceedings 1999 Design Automation Conference (Cat. No. 99CH36361).

[43]  Jürgen Becker,et al.  An FPGA run-time system for dynamical on-demand reconfiguration , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[44]  Marco D. Santambrogio,et al.  Task Scheduling with Configuration Prefetching and Anti-Fragmentation techniques on Dynamically Reconfigurable Systems , 2008, 2008 Design, Automation and Test in Europe.

[45]  Seda Ogrenci Memik,et al.  A novel SoC design methodology combining adaptive software and reconfigurable hardware , 2007, 2007 IEEE/ACM International Conference on Computer-Aided Design.

[46]  Fabrizio Ferrandi,et al.  Operating system support for dynamically reconfigurable SoC architectures , 2005, Proceedings 2005 IEEE International SOC Conference.

[47]  Tobias Becker,et al.  Modular dynamic reconfiguration in Virtex FPGAs , 2006 .

[48]  André DeHon,et al.  DPGA-coupled microprocessors: commodity ICs for the early 21st Century , 1994, Proceedings of IEEE Workshop on FPGA's for Custom Computing Machines.

[49]  J.M.P. Cardoso,et al.  Compilation for FPGA-based reconfigurable hardware , 2003, IEEE Design & Test of Computers.

[50]  Fabrizio Ferrandi,et al.  Solving the Coloring Problem to Schedule on Partially Dynamically Reconfigurable Hardware , 2005 .