Abstract
In this book, methods architectures and tools have been proposed for runtime reconfigurable systems based on FPGAs. This results in substantial improvements in the efficiency of integrating reconfigurable modules into an FPGA, the tools to build such systems, and the capabilities to reconfigure a system at runtime. The key contributions are as follows:
Access provided by Autonomous University of Puebla. Download chapter PDF
Keywords
- Communication Architecture
- Design Reuse
- Partial Reconfiguration
- Electronic Design Automation
- Runtime Reconfiguration
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
In this book, methods architectures and tools have been proposed for runtime reconfigurable systems based on FPGAs. This results in substantial improvements in the efficiency of integrating reconfigurable modules into an FPGA, the tools to build such systems, and the capabilities to reconfigure a system at runtime. The key contributions are as follows:
Communication architecture for module-based on-FPGA communication: It has been proven that existing methodologies and communication architectures provide a tiling of the reconfigurable area that is too coarse-grained for most practical applications. With the novel ReCoBus and connection bar architecture, the size of the tiles is reduced by more than an order of magnitude while reducing the cost to implement the complete infrastructure and to increase throughput at the same time. This is the key technology improvement required to efficiently implement runtime reconfigurable systems.
Design flow and tools: For implementing the ReCoBus and connection bar communication architecture, a powerful tool has been developed that is capable to map the communication infrastructure in a regular structured manner on an FPGA. Furthermore, this tool provides a floorplanner capable to generate all location and resource constraints required to build the static system or the configurable modules.
Techniques for flexible high-speed runtime reconfiguration: For partial runtime reconfiguration, techniques have been proposed that allow to place modules in a two-dimensional fashion at high speed. In addition it was demonstrated how modules can be parameterized by configuration bitstream manipulation at runtime (e.g., setting a module base address). For a further acceleration of the configuration, additional techniques, including prefetching, configuration port overclocking, configuration decompression, and defragmenting the module layout have been examined.
With these architectures, methods, and tools, a technical basics for achieving a considerable benefit over completely statically implemented systems on FPGAs has been provided and demonstrated in different applications. This will help design engineers in the field of reconfigurable computing to exploit the advantages of adapting systems at runtime. Additionally, the results are relevant for commercial applications and electronic design automation in general. With partial runtime reconfiguration, systems can be implemented cheaper and with lower power consumption by using smaller devices. Furthermore, this is an option to add additional functionality to existing systems. Even if only a relatively small part of the worldwide multi billion US$ FPGA market [EW0] can substantial benefit from runtime reconfiguration, the possible savings are many tens of millions US$ per year. However these savings will not decrease the total FPGA market. As illustrated in Fig. 6.1, the reduction of the FPGA unit cost – due to runtime reconfiguration – yields in a much wider range of designs that dominate an ASIC solution from an economical point of view. And the FPGA has further advantages, including faster time to market, possible after sales business by updates, lower economical risk due to the lower initial investment – just to mention a few of them. Moreover, runtime reconfiguration provides new opportunities in fast system start and system modularity. Consequently, partial runtime reconfiguration is advantageous for both, FPGA users and vendors.
A further important aspect is the fully encapsulated component-based design methodology that is advantageous for FPGA design and hardware development in general. With the here presented design flow, implemented and foremost fully placed and routed modules are composed together to complex systems based on interface specifications that also include the timing behavior. This enormously simplifies the system integration phase and addresses the demands of an easy design reuse to close the design productivity gap, as sketched in Fig. 6.2. With introducing design reuse, more functionality can be designed in less time and fully implemented modules will in particular ensure timing and reduce the module test expenses. Furthermore, the encapsulated design methodology prevents that changes in one part of the system will influence the rest of the system. Also the synthesis, and place and route itself will be accelerated as they can be carried out fully parallel for each module and because of the reduced problem size by partition the implementation steps in smaller units. In other words, this book provides the technical basics required for performing place and route in the cloud.
6.1 Future Directions
The range of applications and the field of research on runtime reconfigurable systems is huge; and in this book, focus was put on technical aspects required for efficient implementations of according FPGA-based systems. In this context, efficiency is used for both, the implementation process (supported by tools) as well as for the resulting systems (supported by architectures and methods). However, there remain challenging open problems for future research and development.
Most embedded systems integrate various hardware and software components. So far, the hardware/software partitioning (i.e., the decision, which part of the system will be implemented in hardware and which in software) is performed completely at design-time. As presented in Chap. 4, runtime reconfiguration – together with hardware/software morphing – provides interesting opportunities for self-adapting a system according to various objectives, including variable throughput demands, power consumption, or the currently available resources. However, the different hardware and software components have to communicate among each other. This demands compatible hardware/software interfaces that allow to link components that are arbitrary implemented in hardware or software (and that might change, even at runtime). This might also include a network layer with a dynamic binding of task among multiple nodes, as revealed for a ReCoNet. Here exists already good work that targets efficient [LK10, HHK10] interfaces or even complete message passing systems [GSS09, SPLC12, LP08]. It would be interesting to combine these approaches with partial reconfiguration and the dynamic hardware/software partitioning.
This could be further combined with modern design languages and behavioral compilers, such as Catapult-C from Mentor-Graphics or Impulse C from Impulse Accelerated Technologies. Such tools are not only helping in rising design productivity, they can automatically provide a range of implementation alternatives that are optimized for different objectives (typically resources versus throughput /latency). Consequently, various design alternatives for software as well as different hardware implementations may be automatically generated from the same specification. And these implementation might then be integrated on demand at runtime. This would combine the advantages of behavioral synthesis with the advanced system integration capabilities provided by the ReCoBus and connection bar communication architecture. Behavioral compilers allow communication constructs that may be automatically mapped to a customized or standardized communication architecture. For instance, pointers may result in a bus master interface to a ReCoBus and streaming ports may be mapped to corresponding connection bars.
Throughout this book, many issues that arise when implementing more advanced runtime reconfigurable systems have been presented. With tools like the RoCoBus-Builder, or the upcoming GoAhead (introduced in the appendix) most of these issues have been solved and automated such that a designer has not to care much about low-level details of the FPGA. In particular, this provides an easy migration path from one FPGA family to another one. However, there is still further room for automating the design of runtime reconfigurable systems. Here, it requires language extensions to specify specific properties of a reconfigurable system. Present RTL HDL languages are made for completely static ASIC designs and do not include constructs to express dynamic aspects, as they might arise for FPGAs. For example there are no statements to express that modules are executed mutually exclusive to each other (which means that they can share FPGA resources), or that a module might be preempted. There are also no nice ways to describe reconfiguration sequences of modules. Moreover, simple data flow models describe mainly an order of modules rather than a precise communication behavior. For instance, it is a big difference if a module is pipelined in the sense that it consumes an input value and produces an output value in, lets say, every clock cycle (e.g., a FIR filter) or if a module produces only a single result after some complex processing (e.g., a CRC checker). Consequently, the temporal module placement example of a DFG in Fig. 1.20 on Page 37 has to be refined to automatically derive an optimized module packing and communication synthesis. In this field exist already good entry points. Besides the system level initiatives, there are very promising approaches using polymorphism in object oriented languages to express reconfiguration [SNH + 10, Abe11].
We can conclude, that runtime reconfiguration is ready to use and that it will be used in many upcoming systems order to meat performance, cost, or power requirements.
References
Ahmadinia A, Bobda C, Ding J, Majer M, Teich J, Fekete S, van der Veen J (2005) A practical approach for circuit routing on dynamic reconfigurable devices. In: Proceedings of the 16th IEEE international workshop on rapid system prototyping (RSP), June 2005, pp 84–90
Athanas P, Bowen J, Dunham T, Patterson C, Rice J, Shelburne M, Suris J, Bucciero M, Graf J (2007) Wires on demand: run-time communication synthesis for reconfigurable computing. In: International conference on field programmable logic and applications (FPL), Aug 2007. IEEE, pp 513–516.
Abel N (2011) Design and implementation of an object-oriented framework for dynamic partial reconfiguration. PhD thesis, University of Heidelberg, Heidelberg
Ahmadinia A, Bobda C, Majer M, Teich J, Fekete S, van der Veen J (2005) DyNoC: a dynamic infrastructure for communication in dynamically reconfigurable devices. In: Proceedings of the international conference on field-programmable logic and applications (FPL), Aug 2005, pp 153–158
Abound Logic, Inc (2009) The raptor family of FPGAs (V1.0)
Altera Corporation (2007) Avalon memory-mapped interface specification V3.3. Available online: www.altera.com/literature/manual/mnl_avalon_spec.pdf
Altera Inc (2009) Altera devices. Available online: www.altera.com/products/devices/dev-index.jsp
Athanas PM, Silverman HF (1993) Processor reconfiguration through instruction-set metamorphosis: compiler and architectures. IEEE Comput 26(3):11–18
Ashenden PJ (2008) The designer’s guide to VHDL, 3rd edn. Morgan Kaufmann
Asadi G-H, Tahoori MB (2005) Soft error mitigation for SRAM-based FPGAs. In: Proceedings of the 23rd IEEE VLSI test symposium (VTS), IEEE Computer Society, pp 207–212
Bieser C, Bahlinger M, Heinz M, Stops C, Müller-Glaser KD (2006) A novel partial bitstream merging methodology accelerating Xilinx Virtex-II FPGA based RP system setup. In: Proceedings of the international conference on field programmable logic and applications (FPL), pp 1–4
Brebner GJ, Diessel O (2001) Chip-based reconfigurable task management. In: Proceedings of the 11th international conference on field programmable logic and application (FPL), Springer, pp 182–191
Beckhoff C (2007) Entwurf und Implementierung von Hardwaremodulen zur Dekompression von FPGA-Konfigurationsdaten. In: Studienarbeit, Lehrstuhl für Hardware-Software-Co-Design. Universtät Erlangen-Nürnberg, Erlangen
Braun L, Hübner M, Becker J, Perschke T, Schatz V, Bach S (2007) Circuit switched run-time adaptive network-on-chip for image processing applications. In: International conference on field programmable logic and applications (FPL), Aug 2007. IEEE, pp 688–691
Blodget B, James-Roxby P, Keller E, McMilla S, Sundararajan P (2003) A self-reconfiguring platform. In: Proceedings of international conference on field-programmable logic and applications (FPL), pp 565–574
Beckhoff C, Koch D, Torresen J (2010) Short-circuits on FPGAs caused by partial runtime reconfiguration. In: Proceedings of the international conference on field programmable logic and applications (FPL), Aug 2010, pp 596–601
Beckhoff C, Koch D, Torresen J (2011) The Xilinx Design Language (XDL): tutorial and use cases. In: Proceedings of the 6th international workshop on reconfigurable communication-centric systems-on-chip (ReCoSoC), pp 1–8
Becker T, Luk W, Cheung PYK (2007) Enhancing relocatability of partial bitstreams for run-time reconfiguration. In: Proceedings of the 15th annual IEEE symposium on Field-programmable Custom Computing Machines (FCCM), IEEE Computer Society, pp 35–44
Benini L, De Micheli G (2002) Networks on chips: a new SoC paradigm. Computer 35(1):70–78
Bieser C, Mueller-Glaser K-D (2006) Rapid prototyping design acceleration using a novel merging methodology for partial configuration streams of Xilinx Virtex-II FPGAs. In: Proceedings of the 17th IEEE international workshop on Rapid System Prototyping (RSP). IEEE Computer Society, pp 193–199
Bobda C, Majer M, Koch D, Ahmadinia A, Teich J (2004) A dynamic NoC approach for communication in reconfigurable devices. In: Proceedings of international conference on field-programmable logic and applications (FPL). Volume 3203 of lecture notes in computer science (LNCS). Springer, pp 1032–1036
Bruneel K, Abouelella FMMA, Stroobandt D (2009) TMAP: s reconfigurability-aware technology mapper. In: Jacquemod G, Luxey C, Damiano J-P (eds) Design, automation and test Europe: university booth (DATE), Apr 2009
Baumgarte V, May F, Nückel A, Vorbach M, Weinhardt M (2001) PACT XPP – A self-reconfigurable data processing architecture. In: Proceedings of the international conference on Engineering of Reconfigurable Systems and Algorithms (ERSA), June 2001, pp 64–70
Betz V, Rose J (1997) VPR: a new packing, placement and routing tool for FPGA research. In: Proceedings of the 7th international workshop on field-programmable logic and applications (FPL). Springer, pp 213–222
Brebner G (1997) The swappable logic unit: a paradigm for virtual hardware. In: Pocek KL, Arnold J (eds) IEEE symposium on FPGAs for custom computing machines (FPGA), Apr 1997, pp 77–86
Betz V, Rose J, Marquardt A (eds) (1999) Architecture and CAD for deep-submicron FPGAs. Kluwer, Norwell
Babb J, Tessier R (1993) Virtual wires: overcoming pin limitations in FPGA-based logic emulators. In: IEEE workshop on FPGAs for custom computing machines, pp 142–151
Babb J, Tessier R, Dahl M, Hanono S, Hoki D, Agarwal A (1997) Logic emulation with virtual wires. IEEE trans Comput Aided Design 16:609–626
Curt D, Kalara P, Leblanc R, Eck V, Trynosky S, Lindholm J, Bauer T, Blodget B, McMillan S, Philip J, Prasanna S, Keller E (2004) Reconfiguration of the programmable logic of an integrated circuit. WO Patent WO002004055986A3, issued 25, Nov 2004
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 Integ Syst 10:209–220
Claus C, Müller FH, Stechele W (2006) Combitgen: a new approach for creating partial bitstreams in Virtex-II Pro. In: Karl W, Becker J, Großpietsch K-E, Hochberger C, Maehle E (eds) Workshops proceedings of the 19th international conference on Architecture of Computing Systems (ARCS). Volume 81 of lecture notes in informatics. GI, pp 122–131
Claus C, Müller FH, Zeppenfeld J, Stechele W (2007) A new framework to accelerate Virtex-II Pro dynamic partial self-reconfiguration. In: Proceedings of the IEEE 21th International Parallel and Distributed Processing Symposium (IPDPS), Mar 2007, pp 1–7
Carver JM, Pittman RN, Forin A (2009) Automatic bus macro placement for partially reconfigurable FPGA designs. In: Proceeding of the ACM/SIGDA international symposium on Field Programmable Gate Arrays (FPGA). ACM, pp 269–272
Department of Computer Science 12, ReCoNets-Project website, University of Erlangen Nuremberg, Germany. www.reconets.de
Dehon A (1999) Balancing interconnect and computation in a reconfigurable computing array (or, why you don’t really want 100% LUT utilization. In: Proceedings of the international symposium on Field Programmable Gate Arrays (FPGA), pp 69–78
Dittmann F, Frank S (2007) Hard real-time reconfiguration port scheduling. In: Proceedings of the conference on design, automation and test in Europe (DATE). EDA Consortium, pp 123–128
Dijkstra EW (1959) A note on two problems in connexion with graphs. Numer Math 1:269–271
Demirsoy SS, Langhammer M (2009) Cholesky decomposition using fused datapath synthesis. In: Proceeding of the ACM/SIGDA international symposium on Field-Programmable Gate Arrays (FPGA). ACM, pp 241–244
Dally WJ, Towles B (2001) Route packets, not wires: on-chip interconnection networks. In: Proceedings of the 38th conference on design automation (DAC), pp 684–689
Elnozahy EN, Alvisi L, Wang Y-M, Johnson D (2002) A survey of rollback-recovery protocols in message-passing systems. ACM Comput Surv 34(3): 375–408
Altera Inc. (2007) Enhanced configuration devices (EPC4, EPC8 & EPC16) data sheet. www.altera.com/literature/hb/cfg/ch_14_vol_2.pdf
Can programmables break out of $3.6bn niche. ElectronicWeekly, 26.06.2009
Fidge C (1988) Timestamps in message-passing systems that preserve the partial ordering. In: Proceedings of the 11th Australian Computer Science Conference (ACSC), pp 56–66
Fekete SP, Kamphans T, Schweer N, Tessars C, van der Veen JC, Angermeier J, Koch D, Teich J (2008) No-break dynamic defragmentation of reconfigurable devices. In: FPL 2008, international conference on field programmable logic and applications, Heidelberg, pp 113–118
Flynn M (2005) Area – time – power and design effort: the basic tradeoffs in application specific systems. In: Proceedings of the IEEE international conference on Application-Specific Systems, Architecture Processors (ASAP). IEEE Computer Society, pp 3–6
Fekete SP, van der Veen J, Angermeier J, Göhringer D, Majer M, Teich J (2007) Scheduling and communication-aware mapping of HW/SW modules for dynamically and partially reconfigurable SoC architectures. In: Proceedings of the 20th international conference on Architecture of Computing Systems (ARCS), Zurich. VDE-Verlag, pp 151–160
Fekete S, van der Veen J, Majer M, Teich J (2006) Minimizing communication cost for reconfigurable slot modules. In: Proceedings of 16th international conference on field programmable logic and applications (FPL), Aug 2006, pp 535–540
Guccione S, Levi D, Sundararajan P (1999) JBits: Java based interface for reconfigurable computing. In: Proceedings of the 2nd annual military and aerospace applications of programmable devices and technologies (MAPLD)
Gao S, Schmidt A, Sass R (2009) Hardware implementation of mpi barrier on an fpga cluster. In: Proceedings of the international conference on field programmable logic and applications (FPL), pp 12–17
Gupta RK, Zorian Y (1997) Introducing core-based system design. IEEE Des Test 14(4):15–25
Halfhill TR (2007) Tabulas time machine – Rapidly reconfigurable chips will challenge conventional FPGAs. Microprocessor Report, Issue 032910. Available online: www.tabula.com/news/M11_Tabula_Reprint.pdf.
Hauck S (1998) Configuration prefetch for single context reconfigurable coprocessors. In: Proceedings of the sixth ACM/SIGDA international symposium on Field Programmable Gate Arrays (FPGA). ACM, pp 65–74
Heun V (2003) Grundlegende algorithmen. Vieweg
Hempel G, Hochberger C, Koch A (2010) A comparison of hardware acceleration interfaces in a customizable soft core processor. In: Proceedings of the international conference on field programmable logic and applications (FPL). IEEE Computer Society, pp 469–474
Hagemeyer J, Kettelhoit B, Koester M, Porrmann M (2007) A design methodology for communication infrastructures on partially reconfigurable FPGAs. In: International conference on field programmable logic and applications (FPL), Aug 2007. IEEE, pp 331–338
Hagemeyer J, Kettelhoit B, Koester M, Porrmann M (2007) Design of homogeneous communication infrastructures for partially reconfigurable FPGAs. In: Proceedings of the international conference on Engineering of Reconfigurable Systems and Algorithms (ERSA), Jun 2007
Hagemeyer J, Kettelhoit B, Porrmann M (2006) Dedicated module access in dynamically reconfigurable systems. In: Proceedings of the 20th International Parallel and Distributed Processing Symposium (IPDPS)
Haubelt C, Koch D, Teich J (2003) Basic OS support for distributed reconfigurable hardware. In: Proceedings of the third international workshop on systems, architectures, modeling, and simulation, July 2003, pp 18–22
Hansen SG, Koch D, Torresen J (2011) High speed partial run-time reconfiguration using enhanced ICAP hard macro. In: Proceedings of the 18th reconfigurable architectures workshop (RAW). IEEE
Horta EL, Lockwood JW, Kofuji ST (2002) Using PARBIT to implement partial run-time reconfigurable systems. In: Proceedings of the 12th international conference on field-programmable logic and applications (FPL). Springer, pp 182–191
Horta EL, Lockwood JW, Taylor DE, Parlour D (2002) Dynamic hardware plugins in an FPGA with partial run-time reconfiguration. In: Proceedings of the 39th conference on design automation (DAC). ACM, pp 343–348
Huang W-J, McCluskey EJ (2001) Column-based precompiled configuration techniques for FPGA. In: Proceedings of the the 9th annual IEEE symposium on field-programmable custom computing machines (FCCM). IEEE Computer Society, pp 137–146
Hübner M, Schuck C, Kühnle M, Becker J (2006) New 2-dimensional partial dynamic reconfiguration techniques for real-time adaptive microelectronic circuits. In: Proceedings of the IEEE computer society annual symposium on emerging VLSI technologies and architectures (ISVLSI), p 97
Huffman DA (1952) A method for the construction of minimum-redundancy codes. Proc IRE 40(9):1098–1101
Hauck S, Wilson WD (1999) Runlength compression techniques for FPGA configurations. In: Proceedings of the seventh annual IEEE symposium on field-programmable custom computing machines (FCCM99). IEEE Computer Society, pp 286–287
Xilinx Inc (2002) Two flows for partial reconfiguration: module based or difference based. Available online: www.xilinx.com/bvdocs/appnotes/xapp290.pdf
Atmel Inc (2003) AT40K series configuration user guide. Available online: http://www.atmel.com/dyn/resources/prod_documents/DOC1009.PDF
Xilinx Inc (2005) Using look-up tables as shift registers (SRL16) in Spartan-3 generation FPGAs. Available online: www.xilinx.com/bvdocs/appnotes/xapp465.pdf
Xilinx Inc (2005) Virtex-II platform FPGAs: complete data sheet. Available online: http://www.xilinx.com/support/documentation/data_sheets/ds031.pdf
Xilinx Inc (2007) Xilinx Virtex-II platform FPGA user guide. Available online: http://www.xilinx.com/support/documentation/user_guides/ug002.pdf
Altera Inc (2008) Logic array blocks and adaptive logic modules in Stratix IV devices. Available online: http://www.altera.com/literature/hb/stratix-iv/
Xilinx Inc (2008) CLB white papers. Available online: http://www.xilinx.com/support/documentation/wpfpgafeaturedesign_clb.htm/
Xilinx Inc (2008) PlanAhead design analysis tool. Available online: http://www.xilinx.com/ise/optional_prod/planahead.htm
International Business Machines corporation (IBM) (1999) The CoreConnect bus architecture. Available online: http://www-03.ibm.com/chips/products/coreconnect/
Jones G, Sheeran M (1990) Circuit design in Ruby. In Staunstrup, J. (ed) Formal Methods for VLSI Design. North-Holland
Jerraya AA, Wolf W (2005) Hardware/software interface codesign for embedded systems. Computer 38(2):63–69
Koch D, Bobda C, Ahmadinia A, Teich J (2007) FPGA architecture extensions for preemptive multitasking and hardware defragmentation. In: Proceedings of International Conference on Field-Programmable Technology 2007 (ICFPT ’07), Dec 2007. IEEE, pp 433–436
Koch D, Beckhoff C, Teich J (2007) Bitstream decompression for high speed FPGA configuration from slow memories. In: Proceedings of international conference on field-programmable technology (ICFPT), Dec 2007. IEEE, pp 161–168
Koch D, Beckhoff C, Teich J (2008) ReCoBus-builder – A novel tool and technique to build statically and dynamically reconfigurable systems for FPGAs. In: Proceedings of international conference on field-programmable logic and applications (FPL 08), Sept 2008, pp 119–124
Koch D, Beckhoff C, Teich J (2009) A communication architecture for complex runtime reconfigurable systems and its implementation on Spartan-3 FPGAs. In: Proceedings of the 17th ACM/SIGDA international symposium on field-programmable gate arrays (FPGA 2009), Feb 2009. ACM, pp 233–236
Koch D, Beckhoff C, Teich J (2009) Hardware decompression techniques for FPGA-based embedded systems. ACM Trans Reconfig Technol Syst 2:9:1–9:23
Koch D, Beckhoff C, Teich J (2009) Minimizing internal fragmentation by fine-grained two-dimensional module placement for runtime reconfigurable systems. In: 17th annual IEEE symposium on field-programmable custom computing machines (FCCM 2009), Apr 2009. IEEE Computer Society, pp 251–254
Koch D, Beckhoff C, Torresen J (2010) Obstacle-free two-dimensional online-routing for run-time reconfigurable FPGA-based systems. In: Proceedings of international conference on field-programmable technology (ICFPT1́0). IEEE, pp 208–215
Koh S, Diessel O (2006) COMMA: a communications methodology for dynamic module-based reconfiguration of FPGAs. In: Workshops proceedings of the 19th international conference on architecture of computing systems (ARCS), Mar 2006, pp 173–182
Koh S, Diessel O (2006) COMMA: a communications methodology for dynamic module reconfiguration in FPGAs. In: Proceedings of the 14th annual IEEE symposium on field-programmable custom computing machines (FCCM). IEEE Computer Society, pp 273–274
Krasteva YE, de la Torre E, Riesgo T, Joly D (2006) Virtex II FPGA bitstream manipulation: application to reconfiguration control systems. In: Proceedings of the 16th international conference on field programmable logic and applications (FPL). IEEE, pp 1–8
Koch D, Haubelt C, Streichert T, Teich J (2007) Modeling and synthesis of hardware-software morphing. In: Proceedings of the international symposium on circuits and systems (ISCAS 2007), May 2007, pp 2746–2749
Koch D, Haubelt C, Teich J (2007) Efficient hardware checkpointing – Concepts, overhead analysis, and implementation. In: Proceedings of the 15th ACM/SIGDA international symposium on field-programmable gate arrays (FPGA 2007), Feb 2007. ACM, pp 188–196
Koch D, Haubelt C, Teich J (2008) Efficient reconfigurable on-chip buses for FPGAs. In: 16th annual IEEE symposium on field-programmable custom computing machines (FCCM 2008), Apr 2008. IEEE Computer Society, pp 287–290
Krasteva YE, Jimeno AB, de la Torre E, Riesgo T (2005) Straight method for reallocation of complex cores by dynamic reconfiguration in Virtex II FPGAs. In: Proceedings of the 16th IEEE international workshop on rapid system prototyping (RSP), pp 77–83
Kissler D, Kupriyanov A, Hannig F, Koch D, Teich J (2006) A generic framework for rapid prototyping of system-on-chip designs. In: Proceedings of international conference on computer design (CDES), June 2006, pp 189–195
Koch D, Körber M, Teich J (2006) Searching RC5-keys with distributed reconfigurable computing. In: Proceedings of international conference on engineering of reconfigurable systems and algorithms (ERSA 2006), June 2006. CSREA Press, pp 42–48
Kalte H, Lee G, Porrmann M, Rückert U (2005) REPLICA: a bitstream manipulation filter for module relocation in partial reconfigurable systems. In: Proceedings of the 19th International Parallel and Distributed Processing Symposium – Reconfigurable architectures workshop (IPDPS). IEEE Computer Society
Kapre N, Mehta N, Delorimier M, Rubin R, Barnor H, Wilson MJ, Wrighton M, Dehon A (2006) Packet-switched vs. time-multiplexed FPGA overlay networks. In: Proceedings of the IEEE symposium on Field-programmable Custom Computing Machines (FCCM). IEEE, pp 205–216
Kotolly A (2006) The economics of structured- and standard-cell-ASIC designs. Electronic News, 16.03.2006
Kalte H, Porrmann M (2005) Context saving and restoring for multitasking in reconfigurable systems. In: Proceedings of the 15th international conference on field programmable logic and applications (FPL), Aug 2005, pp 223–228
Kalte H, Porrmann M (2006) REPLICA2Pro: task relocation by bitstream manipulation in Virtex-II/Pro FPGAs. In: Proceedings of the 3rd conference on computing frontiers (CF). ACM, pp 403–412
Kalte H, Porrmann M, Rückert U (2002) A prototyping platform for dynamically reconfigurable system on chip designs. In: Proceedings of the IEEE workshop heterogeneous reconfigurable systems on chip (SoC)
Kalte H, Porrmann M, Rückert U (2004) Study on column wise design compaction for reconfigurable systems. In: Proceedings of the IEEE international conference on field programmable technology (FPT), Dec 2004
Kalte H, Porrmann M, Rückert U (2004) System-on-programmable-chip approach enabling online fine-grained 1D-placement. In: Proceedings of the 11th reconfigurable architectures workshop (RAW), pp 141–146
Kuon I, Rose J (2007) Measuring the gap between FPGAs and ASICs. Tran Comput-Aided Des Integr Circ Syst 26(2):203–215
Koch D, Reimann F, Streichert T, Haubelt C, Teich J (2010) ReCoNets – design methodology for embedded systems consisting of small networks of reconfigurable nodes and connections. In: Platzner M, Teich J, Wehn N (eds) Dynamically reconfigurable systems. Springer, pp 223–244
Koch D, Streichert T, Haubelt C, Teich J (2008) Logic chip, logic system and method for designing a logic chip. Patent PCT/EP2008/007342
Koch D, Streichert T, Haubelt C, Teich J (2008) Logic chip, method and computer program for providing a configuration information for a configurable logic chip. Patent PCT/EP2008/007343
Kissler D, Strawetz A, Hannig F, Teich J (2009) Power-efficient reconfiguration control in coarse-grained dynamically reconfigurable architectures. In: Proceedings of the 18th international workshop on power and timing modeling, optimization, and simulation (PATMOS), Sept 2009. Lecture notes in computer science (LNCS, vol 5349). Springer, pp 307–317
Koch D, Teich J (2004) Platform-independent methodology for partial reconfiguration. In: Proceedings of the 1st conference on computing frontiers (CF’04). ACM, pp 398–403
Koch D, Torresen J (2010) Routing optimizations for component-based system design and partial run-time reconfiguration on FPGAs. In: Proceedings of international conference on field-programmable technology (ICFPT). IEEE, pp 460–464
Koch D, Torresen J (2011) A routing architecture for mapping dataflow graphs at run-time. In: Proceedings of international conference on field-programmable logic and applications (FPL 11), Sept 2011, pp 286–290
Koch D, Torresen J (2011) FPGASort: a high performance sorting architecture exploiting run-time reconfiguration on FPGAs for large problem sorting. In: Proceedings of the 19th ACM/SIGDA international symposium on field-programmable gate arrays (FPGA 2011), Feb 2011. ACM, pp 45–54
Kachris C, Vassiliadis S (2006) Performance evaluation of an adaptive FPGA for network applications. In: Proceedings of the seventeenth IEEE international workshop on rapid system prototyping (RSP). IEEE Computer Society, pp 54–62
Lewis D, Ahmed E, Baeckler G, Betz V, Bourgeault M, Galloway D, Hutton M, Lane C, Lee A, Leventis P, Mcclintock C, Padalia K, Pedersen B, Powell G, Ratchev B, Reddy S, Schleicher J, Stevens K, Yuan R, Cliff R, Rose J (2005) The Stratix II logic and routing architecture. In: Proceedings of the ACM/SIGDA 13th international symposium on field-programmable gate arrays (FPGA). ACM, pp 14–20
Lysaght P, Blodget B, Mason J, Young J, Bridgford B (2006) Invited paper: enhanced architecture, design methodologies and CAD tools for dynamic reconfiguration of Xilinx FPGAs. In: Proceedings of the 16th international conference on field programmable logic and application (FPL), Aug 2006, pp 1–6
Lu R, Cao A, Koh C-K (2007) SAMBA-Bus: a high performance bus architecture for system-on-chips. IEEE Trans VLSI Syst 15(1):69–79
Li Z, Hauck S (1999) Don’t care discovery for FPGA configuration compression. In: Proceedings of the 7th ACM/SIGDA international symposium on field programmable gate arrays (FPGA). ACM, pp 91–98
Li Z, Hauck S (2001) Configuration compression for Virtex FPGAs. In: Proceedings of the 9th annual IEEE symposium on field-programmable custom computing machines (FCCM). IEEE Computer Society, pp 147–159
Lange H, Koch A (2010) Architectures and execution models for hardware/software compilation and their system-level realization. IEEE Trans Comput 59:1363–1377
Lemieux G, Lee E, Tom M, Yu A (2004) Directional and single-driver wires in FPGA interconnect. In: IEEE international conference on field-programmable technology (FPT)
Lockwood JW, Naufel N, Turner JS, Taylor DE (2001) Reprogrammable network packet processing on the field programmable port extender (FPX). In: Proceedings of the 1998 ACM/SIGDA sixth international symposium on field programmable gate arrays (FPGA). ACM, pp 87–93
Lübbers E, Platzner M (2008) Communication and synchronization in multithreaded reconfigurable computing systems. In: Proceedings of the international conference on engineering of reconfigurable systems and algorithms (ERSA), Jun 2008, pp 83–89
Luk W, Shirazi N, Cheung PYK (1996) Modelling and optimising run-time reconfigurable systems. In: IEEE symposium on FPGAs for custom computing machines. IEEE Computer Society Press, pp 167–176
Luk W, Shirazi N, Cheung PYK (1997) Compilation tools for run-time reconfigurable designs. In: Proceedings of the 5th IEEE symposium on FPGA-based custom computing machines (FCCM). IEEE Computer Society, pp 56–65
Advanced RISC Machines Ltd (2007) AMBA system architecture. Available online: http://www.arm.com/products/solutions/AMBAHomePage.html
Landaker WJ, Wirthlin MJ, Hutchings B (2002) Multitasking hardware on the SLAAC1-V reconfigurable computing system. In: Proceedings of the 12th international conference on field-programmable logic and applications (FPL), pp 806–815
Bourgeault M (2011) Alteras partial reconfiguration flow. Available online: http://www.eecg.utoronto.ca/jayar/FPGAseminar/FPGA_Bourgeault_June23_2011.pdf
Marescaux T, Bartic A, Verkest D, Vernalde S, Lauwereins R (2002) Interconnection networks enable fine-grain dynamic multi-tasking on FPGAs. In: Proceedings of the 12th international conference on field-programmable logic and applications (FPL), pp 795–805
Mcmurchie L, Ebeling C (1995) Pathfinder: a negotiation-based performance-driven router for FPGAs. In: Proceedings of the 1995 ACM third international symposium on field-programmable gate arrays (FPGA), pp 111–117
Metzgen P (2004) A high performance 32-bit ALU for programmable logic. In: Proceedings of the 2004 ACM/SIGDA 12th international symposium on field programmable gate arrays (FPGA). ACM, pp 61–70
Mesquita D, Moraes F, Palma J, Möller L, Calazans N (2003) Remote and partial reconfiguration of FPGAs: tools and trends. In: Proceedings of the 17th international symposium on parallel and distributed processing (IPDPS). IEEE Computer Society, p 177.1
Mignolet J-Y, Nollet V, Coene P, Verkest D, Vernalde S, Lauwereins R (2003) Infrastructure for design and management of relocatable tasks in a heterogeneous reconfigurable system-on-chip. In: Proceedings of the conference on design, automation and test in Europe (DATE). IEEE Computer Society, pp 986–991
Marescaux T, Nollet V, Mignolet J-Y, Bartic A, Moffat W, Avasare P, Coene P, Verkest D, Vernalde S, Lauwereins R (2004) Run-time support for heterogeneous multitasking on reconfigurable SoCs. Integr VLSI J 38(1):107–130
Mak TST, Sedcole NP, Cheung PYK, Luk W (2006) On-FPGA communication architectures and design factors. In: Proceedings of the 16th international conference on field programmable logic and applications (FPL). IEEE, pp 1–8
Mak T, Sedcole P, Cheung PYK, Luk W (2008) Wave-pipelined signalling for On-FPGA communication. In: IEEE international conference on field-programmable technology (FPT)
Majer M, Teich J, Ahmadinia A, Bobda C (2007) The erlangen slot machine: a dynamically reconfigurable FPGA-based computer. J VLSI Sig Process Syst 47(1):15–31
Oliver TF, Maskell DL (2007) Prerouted FPGA cores for rapid system construction in a dynamic reconfigurable system. EURASIP J Embed Syst 2007(1):7 [ope] opencores http://www.opencores.org
Palma JC, de Mello AV, Möller L, Moraes F, Calazans N (2002) Core communication interface for FPGAs. In: Proceedings of the 15th symposium on integrated circuits and systems design (SBCCI), p 183
Pan JH, Mitra T, Wong W-F (2004) Configuration bitstream compression for dynamically reconfigurable FPGAs. In: Proceedings of the IEEE/ACM international conference on computer-aided design (ICCAD), pp 766–773
Salomon D (2004) Data compression – The complete reference. Springer
Suris J, Athanas P, Patterson C (2008) An efficient run-time router for connecting modules in FPGAs. In: Proceedings of international conference on field-programmable logic and applications (FPL), Sept 2008, pp 125–130
Sedcole P, Blodget B, Becker T, Anderson J, Lysaght P (2006) Modular dynamic reconfiguration in Virtex FPGAs. IEE 153(3):157–164
Sethuraman B, Bhattacharya P, Khan J, Vemuri R (2005) LiPaR: a light-weight parallel router for FPGA-based networks-on-chip. In: Proceedings of the 15th ACM great lakes symposium on VLSI (GLSVSLI), New York. ACM, pp 452–457
Sedcole P, Cheung PYK, Constantinides GA, Luk W (2004) A structured methodology for system-on-an-FPGA design. In: 14th international conference on field programmable logic and application (FPL), Aug 2004. Volume 3203 of lecture notes in computer science, pp 1047–1051
Silvia M, Ferreira JC (2008) Generation of partial FPGA configurations at run-time. In: Proceedings of international conference on field-programmable logic and applications (FPL), Sept 2008, pp 367–372
Sunwoo J, Garimella S, Stroud C (2005) On embedded processor reconfiguration of logic BIST for FPGA cores in SoCs. In: Proceedings of the 14th IEEE North Atlantic test workshop (NATW), May 2005
SilicoreTM (2002) WISHBONE System-on-Chip (SoC)interconnection architecture for portable IP cores Rev. B.3. Available online: http://www.opencores.org/projects.cgi/web/wishbone/wbspec_b3.pdf
Streichert T, Koch D, Haubelt C, Teich J (2006) Modeling and design of fault-tolerant and self-adaptive reconfigurable networked embedded systems. EURASIP J Embed Syst 2006:1–15. Article ID 42168, doi:10.1155/ES/2006/42168
Simmler H, Levinson L, Manner R (2000) Multitasking on FPGA coprocessors. In: Proceedings of the 10rd international conference on field programmable logic and application (FPL), pp 121–130
Stitt G, Lysecky R, Vahid F (2003) Dynamic hardware/software partitioning: a first approach. In: Proceedings of the 40th conference on design automation (DAC). ACM, pp 250–255
Schallenberg A, Nebel W, Herrholz A, Hartmann P, Grüttner K, Oppenheimer F (2010) POLYDYN – object-oriented modelling and synthesis targeting dynamically reconfigurable FPGAs. In: Platzner M, Teich J, Wehn N (eds) Dynamically reconfigurable systems. Springer, pp 139–158
The Spirit Consortium (2007) http://www.spiritconsortium.org/
Saldana M, Patel A, Liu HJ, Chow P (2012) Using partial reconfiguration and message passing to enable FPGA-based generic computing platforms. EURASIP J Embed Syst 2012(127302):10
Storer JA, Szymanski TG (1982) Data compression via textual substitution. J ACM 29(4):928–951
Streichert T, Strengert C, Koch D, Haubelt C, Teich J (2007) Communication aware optimization of the task binding in hardware/software reconfigurable networks. Int J Circ Syst 2(1):29–36
Scalera SM, Vázquez JR (1998) The design and implementation of a context switching FPGA. In: Proceedings of the IEEE symposium on FPGAs for custom computing machines (FCCM). IEEE Computer Society, p 78
Snider GS, Williams S (2007) Nano/CMOS architectures using a field-programmable nanowire interconnect. Nanotechnology 18(3):1–11
Sim JE, Wong W-F, Teich J (2009) Optimal placement-aware trace-based scheduling of hardware reconfigurations for FPGA accelerators. In: Proceedings of the 17th annual IEEE symposium on field-programmable custom computing machines (FCCM), Apr 2009. IEEE Computer Society (to appear)
Synopsys Inc (2008) DesignWare GTECH library. Available online: www.synopsys.com/dw/doc.php/doc/dwf/manuals/dw_gtech.pdf
Trimberger S, Carberry D, Johnson A, Wong J (1997) A time-multiplexed FPGA. In: Proceedings of the 5th IEEE symposium on FPGA-based custom computing machines (FCCM). IEEE Computer Society, pp 22–28
Teich J (2007) Lecture on reconfigurable computing: Chapter 1. inroduction, University of Erlangen-Nuremberg. Available online: http://www12.informatik.uni-erlangen.de/edu/rc/slides/1_RC_introduction.pdf
Tessier R (1998) Negotiated A* routing for FPGAs. In: Proceedings of the fifth canadian workshop on field-programmable devices (FPD)
Tiwari A, Tomko KA (2003) Scan-chain based watch-points for efficient run-time debugging and verification of FPGA designs. In: Proceedings of the conference on Asia South Pacific design automation (ASPDAC). ACM, pp 705–711
Virtual Socket Interface Alliance (2007) Legacy documents of the VSI alliance. Available online: http://vsi.org/
Vanmeerbeeck G, Schaumont P, Vernalde S, Engels M, Bolsens I (2001) Hardware/software partitioning of embedded system in OCAPI-xl. In: Proceedings of the ninth international symposium on hardware/software codesign. ACM, pp 30–35
Wazlowski M, Agarwal L, Lee T, Smith A, Lam E, Athanas P, Silverman H, Ghosh S (1993) PRISM-II compiler and architecture. In: Buell DA, Pocek KL (eds) IEEE workshop on FPGAs for custom computing machines (FCCM). IEEE Computer Society Press, pp 9–16
Wheeler T, Graham P, Nelson BE, Hutchings B (2001) Using design-level scan to improve FPGA design observability and controllability for functional verification. In: Proceedings of the 11th international conference on field programmable logic and application (FPL), pp 483–492
Wirthlin M, Hutchings BL (1995) DISC: the dynamic instruction set computer. In: Schewel J (ed) Proceedings on Field Programmable Gate Arrays (FPGAs) for fast board development and reconfigurable computing (SPIE) 2607. SPIE – The International Society for Optical Engineering, pp 92–103
Wirthlin MJ, Hutchings BL (1996) Sequencing run-time reconfigured hardware with software. In: Proceedings of the 1996 ACM fourth international symposium on field-programmable gate arrays (FPGA). ACM, pp 122–128
Wang F, Jean J (2006) Architectural support for runtime 2D partial reconfiguration. In: Proceedings of international conference on engineering of reconfigurable systems and algorithms (ERSA), June 2006. CSREA Press, pp 231–232
Wetekam G, Lutz B(2005) Hardware-Implementierung einer 3D-Huffman-Decodierung für dynamische Volumendaten. In: Hardware for visual computing workshop, Universität Tübingen, University of Tübingen
Walder H, Platzner M (2002) Non-preemptive multitasking on FPGA: task placement and footprint transform. In: Proceedings of the international conference on engineering of reconfigurable systems and algorithms (ERSA), June 2002. CSREA Press, pp 24–30
Walder H, Platzner M (2004) A runtime environment for reconfigurable operating systems. In: Proceedings of the 14th international conference on field programmable logic and application (FPL), pp 831–835
Xilinx Inc (2007) Platform flash in-system programmable configuration PROMs. Available online: www.xilinx.com/support/documentation/data_sheets/ds123.pdf
Xilinx Inc (2007) Xilinx: silicon devices. Available online: www.xilinx.com/products/silicon_solutions/
Xilinx Inc (2011) Partial reconfiguration user guide (Rel 13.2). Available online: www.xilinx.com/support/documentation/sw_manuals/xilinx13_2/ug702.pdf
Xu W, Ramanarayanan R, Tessier R (2003) Adaptive fault recovery for networked reconfigurable systems. In: Proceedings of the 11th annual IEEE symposium on field-programmable custom computing machines (FCCM). IEEE Computer Society, p 143
eferino CA, Kreutz ME, Susin AA (2004) RASoC: a router soft-core for networks-on-chip. In: Proceedings of the conference on design, automation and test in Europe (DATE). IEEE Computer Society, p 30198
Ziv J, Lempel A (1977) A universal algorithm for sequential data compression. IEEE Trans Inform Theory 23(3):337–343
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer Science+Business Media New York
About this chapter
Cite this chapter
Koch, D. (2013). Concluding Remarks. In: Partial Reconfiguration on FPGAs. Lecture Notes in Electrical Engineering, vol 153. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-1225-0_6
Download citation
DOI: https://doi.org/10.1007/978-1-4614-1225-0_6
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4614-1224-3
Online ISBN: 978-1-4614-1225-0
eBook Packages: EngineeringEngineering (R0)