Advertisement

Reconfigurable CPU Instruction Set Extensions

  • Dirk Koch
Chapter
Part of the Lecture Notes in Electrical Engineering book series (LNEE, volume 153)

Abstract

Swapping just small fractions of the configuration of an FPGA can be very beneficial in many applications. This is in particular useful for reconfiguring the instruction set of embedded soft core processors. This is highly relevant for software driven design flows. Here, the system is initially implemented as far as possible in software (which is faster to accomplish than hardware development). By profiling the application, hot spots will be identified and kernals will be implemented for the FPGA for acceleration until performance requirements are met. There are several methodologies to integrate such accelerator modules. This ranges from small CPU instruction set extensions to large and fully autonomous modules that work concurrently with the CPU. In this chapter, we will investigate how CPU instruction set extensions can be used efficiently with the help of partial runtime reconfiguration. The base idea of extending a CPU with exchangeable instructions is sketched in Fig. 5.1.

References

  1. [ABD + 05]
    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–90Google Scholar
  2. [ABD + 07]
    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.Google Scholar
  3. [Abe11]
    Abel N (2011) Design and implementation of an object-oriented framework for dynamic partial reconfiguration. PhD thesis, University of Heidelberg, HeidelbergGoogle Scholar
  4. [ABM + 05]
    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–158Google Scholar
  5. [Abo09]
    Abound Logic, Inc (2009) The raptor family of FPGAs (V1.0)Google Scholar
  6. [Alt07]
    Altera Corporation (2007) Avalon memory-mapped interface specification V3.3. Available online: www.altera.com/literature/manual/mnl_avalon_spec.pdf
  7. [Alt09]
    Altera Inc (2009) Altera devices. Available online: www.altera.com/products/devices/dev-index.jsp
  8. [AS93]
    Athanas PM, Silverman HF (1993) Processor reconfiguration through instruction-set metamorphosis: compiler and architectures. IEEE Comput 26(3):11–18CrossRefGoogle Scholar
  9. [Ash08]
    Ashenden PJ (2008) The designer’s guide to VHDL, 3rd edn. Morgan KaufmannGoogle Scholar
  10. [AT05]
    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–212Google Scholar
  11. [BBH + 06]
    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–4Google Scholar
  12. [BD01]
    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–191Google Scholar
  13. [Bec07]
    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, ErlangenGoogle Scholar
  14. [BHB + 07]
    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–691Google Scholar
  15. [BJRK + 03]
    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–574Google Scholar
  16. [BKT10]
    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–601Google Scholar
  17. [BKT11]
    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–8Google Scholar
  18. [BLC07]
    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–44Google Scholar
  19. [BM02]
    Benini L, De Micheli G (2002) Networks on chips: a new SoC paradigm. Computer 35(1):70–78CrossRefGoogle Scholar
  20. [BMG06]
    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–199Google Scholar
  21. [BMK + 04]
    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–1036Google Scholar
  22. [BMMAAS09]
    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 2009Google Scholar
  23. [BMN + 01]
    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–70Google Scholar
  24. [BR97]
    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–222Google Scholar
  25. [Bre97]
    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–86Google Scholar
  26. [BRM99]
    Betz V, Rose J, Marquardt A (eds) (1999) Architecture and CAD for deep-submicron FPGAs. Kluwer, NorwellGoogle Scholar
  27. [BT93]
    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–151Google Scholar
  28. [BTD + 97]
    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–626CrossRefGoogle Scholar
  29. [CKL + ]
    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 2004Google Scholar
  30. [CLC + 02]
    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–220CrossRefGoogle Scholar
  31. [CMS06]
    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–131Google Scholar
  32. [CMZS07]
    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–7Google Scholar
  33. [CPF09]
    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–272Google Scholar
  34. [CS1]
    Department of Computer Science 12, ReCoNets-Project website, University of Erlangen Nuremberg, Germany. www.reconets.de
  35. [Deh99]
    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–78Google Scholar
  36. [DF07]
    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–128Google Scholar
  37. [Dij59]
    Dijkstra EW (1959) A note on two problems in connexion with graphs. Numer Math 1:269–271MathSciNetMATHCrossRefGoogle Scholar
  38. [DL09]
    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–244Google Scholar
  39. [DT01]
    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–689Google Scholar
  40. [EAWJ02]
    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–408CrossRefGoogle Scholar
  41. [epc07]
    Altera Inc. (2007) Enhanced configuration devices (EPC4, EPC8 & EPC16) data sheet. www.altera.com/literature/hb/cfg/ch_14_vol_2.pdf
  42. [EW0]
    Can programmables break out of $3.6bn niche. ElectronicWeekly, 26.06.2009Google Scholar
  43. [Fid88]
    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–66Google Scholar
  44. [FKS + 08]
    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–118Google Scholar
  45. [Fly05]
    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–6Google Scholar
  46. [FvdVA + 07]
    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–160Google Scholar
  47. [FvdVMT06]
    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–540Google Scholar
  48. [GLS99]
    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)Google Scholar
  49. [GSS09]
    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–17Google Scholar
  50. [GZ97]
    Gupta RK, Zorian Y (1997) Introducing core-based system design. IEEE Des Test 14(4):15–25CrossRefGoogle Scholar
  51. [Hal07]
    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.
  52. [Hau98]
    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–74Google Scholar
  53. [Heu03]
    Heun V (2003) Grundlegende algorithmen. ViewegGoogle Scholar
  54. [HHK10]
    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–474Google Scholar
  55. [HKKP07a]
    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–338Google Scholar
  56. [HKKP07b]
    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 2007Google Scholar
  57. [HKP06]
    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)Google Scholar
  58. [HKT03]
    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–22Google Scholar
  59. [HKT11]
    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). IEEEGoogle Scholar
  60. [HLK02]
    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–191Google Scholar
  61. [HLTP02]
    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–348Google Scholar
  62. [HM01]
    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–146Google Scholar
  63. [HSKB06]
    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 97Google Scholar
  64. [Huf52]
    Huffman DA (1952) A method for the construction of minimum-redundancy codes. Proc IRE 40(9):1098–1101CrossRefGoogle Scholar
  65. [HW99]
    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–287Google Scholar
  66. [Inc02]
    Xilinx Inc (2002) Two flows for partial reconfiguration: module based or difference based. Available online: www.xilinx.com/bvdocs/appnotes/xapp290.pdf
  67. [Inc03]
    Atmel Inc (2003) AT40K series configuration user guide. Available online: http://www.atmel.com/dyn/resources/prod_documents/DOC1009.PDF
  68. [Inc05a]
    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
  69. [Inc05b]
    Xilinx Inc (2005) Virtex-II platform FPGAs: complete data sheet. Available online: http://www.xilinx.com/support/documentation/data_sheets/ds031.pdf
  70. [Inc07]
    Xilinx Inc (2007) Xilinx Virtex-II platform FPGA user guide. Available online: http://www.xilinx.com/support/documentation/user_guides/ug002.pdf
  71. [Inc08a]
    Altera Inc (2008) Logic array blocks and adaptive logic modules in Stratix IV devices. Available online: http://www.altera.com/literature/hb/stratix-iv/
  72. [Inc08b]
    Xilinx Inc (2008) CLB white papers. Available online: http://www.xilinx.com/support/documentation/wpfpgafeaturedesign_clb.htm/
  73. [Inc08c]
    Xilinx Inc (2008) PlanAhead design analysis tool. Available online: http://www.xilinx.com/ise/optional_prod/planahead.htm
  74. [Int99]
    International Business Machines corporation (IBM) (1999) The CoreConnect bus architecture. Available online: http://www-03.ibm.com/chips/products/coreconnect/
  75. [JS90]
    Jones G, Sheeran M (1990) Circuit design in Ruby. In Staunstrup, J. (ed) Formal Methods for VLSI Design. North-HollandGoogle Scholar
  76. [JW05]
    Jerraya AA, Wolf W (2005) Hardware/software interface codesign for embedded systems. Computer 38(2):63–69CrossRefGoogle Scholar
  77. [KBAT07]
    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–436Google Scholar
  78. [KBT07]
    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–168Google Scholar
  79. [KBT08]
    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–124Google Scholar
  80. [KBT09a]
    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–236Google Scholar
  81. [KBT09b]
    Koch D, Beckhoff C, Teich J (2009) Hardware decompression techniques for FPGA-based embedded systems. ACM Trans Reconfig Technol Syst 2:9:1–9:23Google Scholar
  82. [KBT09c]
    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–254Google Scholar
  83. [KBT10]
    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–215Google Scholar
  84. [KD06a]
    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–182Google Scholar
  85. [KD06b]
    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–274Google Scholar
  86. [KdlTRJ06]
    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–8Google Scholar
  87. [KHST07]
    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–2749Google Scholar
  88. [KHT07]
    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–196Google Scholar
  89. [KHT08]
    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–290Google Scholar
  90. [KJdlTR05]
    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–83Google Scholar
  91. [KKH + 06]
    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–195Google Scholar
  92. [KKT06]
    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–48Google Scholar
  93. [KLPR05]
    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 SocietyGoogle Scholar
  94. [KMD + 06]
    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–216Google Scholar
  95. [Kot]
    Kotolly A (2006) The economics of structured- and standard-cell-ASIC designs. Electronic News, 16.03.2006Google Scholar
  96. [KP05]
    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–228Google Scholar
  97. [KP06]
    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–412Google Scholar
  98. [KPR02]
    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)Google Scholar
  99. [KPR04a]
    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 2004Google Scholar
  100. [KPR04b]
    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–146Google Scholar
  101. [KR07]
    Kuon I, Rose J (2007) Measuring the gap between FPGAs and ASICs. Tran Comput-Aided Des Integr Circ Syst 26(2):203–215CrossRefGoogle Scholar
  102. [KRS + 10]
    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–244Google Scholar
  103. [KSHT08a]
    Koch D, Streichert T, Haubelt C, Teich J (2008) Logic chip, logic system and method for designing a logic chip. Patent PCT/EP2008/007342Google Scholar
  104. [KSHT08b]
    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/007343Google Scholar
  105. [KSHT09]
    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–317Google Scholar
  106. [KT04]
    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–403Google Scholar
  107. [KT10]
    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–464Google Scholar
  108. [KT11a]
    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–290Google Scholar
  109. [KT11b]
    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–54Google Scholar
  110. [KV06]
    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–62Google Scholar
  111. [LAB + 05]
    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–20Google Scholar
  112. [LBM + 06]
    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–6Google Scholar
  113. [LCK07]
    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–79CrossRefGoogle Scholar
  114. [LH99]
    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–98Google Scholar
  115. [LH01]
    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–159Google Scholar
  116. [LK10]
    Lange H, Koch A (2010) Architectures and execution models for hardware/software compilation and their system-level realization. IEEE Trans Comput 59:1363–1377MathSciNetCrossRefGoogle Scholar
  117. [LLTY04]
    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)Google Scholar
  118. [LNTT01]
    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–93Google Scholar
  119. [LP08]
    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–89Google Scholar
  120. [LSC96]
    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–176Google Scholar
  121. [LSC97]
    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–65Google Scholar
  122. [Ltd07]
    Advanced RISC Machines Ltd (2007) AMBA system architecture. Available online: http://www.arm.com/products/solutions/AMBAHomePage.html
  123. [LWH02]
    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–815Google Scholar
  124. [Mar11]
    Bourgeault M (2011) Alteras partial reconfiguration flow. Available online: http://www.eecg.utoronto.ca/jayar/FPGAseminar/FPGA_Bourgeault_June23_2011.pdf
  125. [MBV + 02]
    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–805Google Scholar
  126. [ME95]
    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–117Google Scholar
  127. [Met04]
    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–70Google Scholar
  128. [MMP + 03]
    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.1Google Scholar
  129. [MNC + 03]
    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–991Google Scholar
  130. [MNM + 04]
    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–130CrossRefGoogle Scholar
  131. [MSCL06]
    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–8Google Scholar
  132. [MSCL08]
    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)Google Scholar
  133. [MTAB07]
    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–31CrossRefGoogle Scholar
  134. [OM07]
    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
  135. [PdMM + 02]
    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 183Google Scholar
  136. [PMW04]
    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–773Google Scholar
  137. [Sal04]
    Salomon D (2004) Data compression – The complete reference. SpringerGoogle Scholar
  138. [SAP08]
    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–130Google Scholar
  139. [SBB + 06]
    Sedcole P, Blodget B, Becker T, Anderson J, Lysaght P (2006) Modular dynamic reconfiguration in Virtex FPGAs. IEE 153(3):157–164Google Scholar
  140. [SBKV05]
    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–457Google Scholar
  141. [SCCL04]
    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–1051Google Scholar
  142. [SF08]
    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–372Google Scholar
  143. [SGS05]
    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 2005Google Scholar
  144. [Sil02]
    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
  145. [SKHT06]
    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/42168Google Scholar
  146. [SLM00]
    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–130Google Scholar
  147. [SLV03]
    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–255Google Scholar
  148. [SNH + 10]
    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–158Google Scholar
  149. [spi07]
    The Spirit Consortium (2007) http://www.spiritconsortium.org/
  150. [SPLC12]
    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):10Google Scholar
  151. [SS82]
    Storer JA, Szymanski TG (1982) Data compression via textual substitution. J ACM 29(4):928–951MathSciNetMATHCrossRefGoogle Scholar
  152. [SSK + 07]
    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–36Google Scholar
  153. [SV98]
    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 78Google Scholar
  154. [SW07]
    Snider GS, Williams S (2007) Nano/CMOS architectures using a field-programmable nanowire interconnect. Nanotechnology 18(3):1–11CrossRefGoogle Scholar
  155. [SWT09]
    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)Google Scholar
  156. [Syn08]
    Synopsys Inc (2008) DesignWare GTECH library. Available online: www.synopsys.com/dw/doc.php/doc/dwf/manuals/dw_gtech.pdf
  157. [TCJW97]
    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–28Google Scholar
  158. [Tei07]
    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
  159. [Tes98]
    Tessier R (1998) Negotiated A* routing for FPGAs. In: Proceedings of the fifth canadian workshop on field-programmable devices (FPD)Google Scholar
  160. [TT03]
    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–711Google Scholar
  161. [vsi07]
    Virtual Socket Interface Alliance (2007) Legacy documents of the VSI alliance. Available online: http://vsi.org/
  162. [VSV + 01]
    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–35Google Scholar
  163. [WAL + 93]
    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–16Google Scholar
  164. [WGNH01]
    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–492Google Scholar
  165. [WH95]
    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–103Google Scholar
  166. [WH96]
    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–128Google Scholar
  167. [WJ06]
    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–232Google Scholar
  168. [WL05]
    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übingenGoogle Scholar
  169. [WP02]
    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–30Google Scholar
  170. [WP04]
    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–835Google Scholar
  171. [xcf07]
    Xilinx Inc (2007) Platform flash in-system programmable configuration PROMs. Available online: www.xilinx.com/support/documentation/data_sheets/ds123.pdf
  172. [Xil07]
    Xilinx Inc (2007) Xilinx: silicon devices. Available online: www.xilinx.com/products/silicon_solutions/
  173. [Xil11]
    Xilinx Inc (2011) Partial reconfiguration user guide (Rel 13.2). Available online: www.xilinx.com/support/documentation/sw_manuals/xilinx13_2/ug702.pdf
  174. [XRT03]
    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 143Google Scholar
  175. [ZKS04]
    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 30198Google Scholar
  176. [ZL77]
    Ziv J, Lempel A (1977) A universal algorithm for sequential data compression. IEEE Trans Inform Theory 23(3):337–343MathSciNetMATHCrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  • Dirk Koch
    • 1
  1. 1.University of OsloOsloNorway

Personalised recommendations