Abstract
Reconfigurable machines based on field programmable gate array (FPGA) chips adapt to applications’ needs through hardware reconfiguration. Partial reconfiguration allows the configuration of a portion of a chip while the rest of the chip is busy working on tasks. This paper considers a two-dimensional partially reconfigurable FPGA chip that allows the dynamic swap in and out of circuit modules. Such a chip supports the concurrent execution of multiple applications or an application that is otherwise too large to fit. A challenging issue for 2-D runtime partial reconfiguration is how to support the efficient connection, or routing, between circuit modules or between modules and I/O pins, when those modules may be placed on any area of a chip. Because commercial chips are not efficient in 2-D runtime routing, a new FPGA architecture is proposed based on an array of clusters of configurable logic blocks and a mesh of segmented buses. To evaluate the runtime performance of the architecture, an operating system is specified and implemented which takes care of the scheduling, placement, and routing of circuits on the architecture. Simulation is used to evaluate the efficiency of the OS kernel and to determine the optimal cluster size of the architecture.
Similar content being viewed by others
References
Ahmadinia A, Bobda C, Ding J, Majer M, Teich J, van der Veen J, Fekete S (2005) A practical approach for circuit routing on dynamic reconfigurable devices. In: Proceedings of the IEEE international workshop on rapid system prototyping (RSP), Montreal, Canada, June 8–10, pp 84–90
Bazargan K, Kastner R, Sarrafzadeh M (2000) Fast template placement for reconfigurable computing systems. IEEE Des Test Comput 17(1):68–83
Betz V, Rose J, Marquardt A (1999) Architecture and CAD for deep-submicron FPGAs. Kluwer, Dordrecht
Bobda C, Majer M, Koch D, Ahmadinia A, Teich J (2004) A dynamic NoC approach for communication in reconfigurable devices. In: International proceedings of the field programmable logic and applications (FPL04), Antwerp, Belgium, August 2004, pp 1032–1036
Bobda C, Ahmadinia A, Majer M, Teich J, Fekete S, van der Veen J (2005) DyNoC: a dynamic infrastructure for communication in dynamically reconfigurable devices. In: International conference on field-programmable logic and applications (FPL), Tampere, Finland, August 24–26, pp 153–158
Compton K, Li Z, Cooley J, Knol S, Hauck S (2002) Configuration relocation and defragmentation for run-time reconfigurable computing. IEEE Trans Very Large Scale Integr (VLSI) Syst 10(3):209–220
Dehon A (1996) Reconfigurable architectures for general-purpose computing, PhD thesis, MIT
Diessel OF (1998) On scheduling dynamic FPGA reconfigurations–a partial rearrangement approach. Ph.D. dissertation, University of Newcastle, Australia
Ebeling C, McMurchie L, Hauck SA, Burns (1995) Placement and routing tools for the triptych FPGA. IEEE Trans VLSI, 473–482
Edmonds J, Grayz J, Liang D, Miller RJ (2003) Mining for empty spaces in large data sets. Theor Comput Sci 296:435–452
Elbirt J, Paar C (2000) An FPGA implementation and performance evaluation of the serpent block cipher. In: ACM/SIGDA international symposium on FPGAs, pp 45–56
Handa M, Vemuri R (2004) An efficient algorithm for finding empty space for online FPGA placement. In: Proceedings of the 41st design automation conference (DAC’04), June 7–11, San Diego, California, USA
Haynes SD, Stone J, Cheung PYK, Luk W (2000) Video image processing with the sonic architecture. IEEE Trans Comput, pp 50–57
Horta EL, Lockwood John W, Parlour D Dynamic hardware plugins in an FPGA with partial runtime reconfiguration. In: DAC2002, June, New Orleans, USA
Jean J, Guo X, Wang F, Song L, Zhang Y (2003) A study of mapping generalized sliding window operations on reconfigurable computers. In: Proceedings of the international conference on engineering of reconfigurable systems and algorithms, June, Las Vegas, Nevada, USA, pp 51–57
Keating M, Bricaud P (2002) Reuse methodology manual. Kluwer, Dordrecht
Lee C (1961) An algorithm for path connections and its applications. IEEE Trans Electron Comput EC-10:346–365
Marescaux T, Nollet V et al. (2004) Rum-time support for heterogeneous multitasking on reconfigurable SOCs. INTEGRATION, March
Huebner M, Becker T, Becker J (2004) Real-time LUT-based network topologies for dynamic and partial FPGA self-reconfiguration. In: SBCCI’04, September 7–11, Pernambuco, Brazil
Hübner M, Schuck C, Kühnle M, Becker J New 2-dimensional partial dynamic reconfiguration techniques for real-time adaptive microelectronic circuits. In: Proceedings of the 2006 emerging VLSI technologies and architectures (ISVLSI 2006), Karlsruhe, Germany
Hutton M, Grossman JP, Rose J, Corneil DG (1998) Characterization and parameterized generation of synthetic combinational benchmark circuits. IEEE Trans Comput-Aided Des Integr Circuits Syst 17(10):985–996
Nollet V, Coene P, Verkest D, Venalde S, Lauwereins R (2003) Design an operating system for a heterogeneous reconfigurable SoC. In: Proceedings of the international parallel and distributed processing symposium
Pionteck T, Albrecht C, Koch R (2006) A dynamically reconfigurable packet-switched network-on-chip. In: Proc. of design automation and test in Europe
Rencher M, Hutchings B (1997) Automated target recognition on splash 2. In: IEEE symposium on FPGAs for custom computing machines, April, Napa Valley, California, pp 192–200
Sedcole NP, Cheung PYK, Constantinides GA, Luk W (2003) A reconfigurable platform for real time embedded image processing, In: FPL03, Proc. 13th int. workshop on field programmable logic and applications, Villach, Lisben, Portugal, Sep. 2003, pp 606–615
Skliarova I, de B Ferrari A (2003) Reconfigurable hardware SAT solvers: a survey of systems. In: Proceedings of field programmable logic and application, 13th international conference, FPL 2003, Lisbon, Portugal, September 2003, pp 468-477
Steiger C, Walder H, Platzner M (Nov. 2004) Operating system for reconfigurable embedded platforms: online scheduling of real-time tasks. IEEE Trans Comput 53(11):1393–1407
Tatineni S (2002) Dynamic scheduling, allocation and compaction scheme for real-time tasks on FPGAs. Master’s thesis, Louisiana State University, May 2002
Wang F, Jean J, Sun S (2005) Aspect ratio effects on reconfigurable computing. In: Proc. of the international conference on engineering of reconfigurable systems and algorithms, Las Vegas, Nevada, USA, June 2005
Wang F, Jean J (2006) Architecture support for runtime 2D partial reconfiguration. In: Proc. of the international conference on engineering of reconfigurable systems and algorithms, Las Vegas, Nevada, USA, June 2006
Wang F (2006) A field programmable gate array architecture for two-dimensional partial reconfiguration. PhD dissertation, Wright State University
Weinhardt M, Luk W (1999) Pipeline vectorization for reconfigurable systems. In: FCCM, pp 52–62
Wigley G, Keamey D (2001) The first real operating system for reconfigurable computers. In: 6th Australasian computer systems architecture conference, p 130
Wigley G, Kearney D (January 2002) The management of applications for reconfigurable computing using an operating system. In: Proc. seventh Asia-Pacific computer systems architecture conference, ACS, Washington
Wigley G (2005) An operating system for reconfigurable computing. PhD dissertation, The University of South Australia
Xilinx (2003) Virtex-II platform FPGAs: complete data sheet, p 34
Virtex-II™ platform FPGAs: detailed description. http://www.xilinx.com/bvdocs/publications/ds031-2.pdf
Virtex-4 configuration guide, Xilinx UG071 (ver1.5) Jan. 12, 2007
Virtex-5 configuration user guide, Xilinx UG191 (ver2.2) Feb. 1st, 2007
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Wang, F., Jean, J. Architecture and operating system support for two-dimensional runtime partial reconfiguration. J Supercomput 59, 610–635 (2012). https://doi.org/10.1007/s11227-010-0457-4
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-010-0457-4