Abstract
This article presents a new solution for easing the development of reconfigurable applications using Field-Programable Gate Arrays (FPGAs). Namely, our Reliable Reconfigurable Real-Time Operating System (R3TOS) provides OS-like support for partially reconfigurable FPGAs. Unlike related works, R3TOS is founded on the basis of resource reusability and computation ephemerality. It makes intensive use of reconfiguration at very fine FPGA granularity, keeping the logic resources used only while performing computation and releasing them as soon as it is completed. To achieve this goal, R3TOS goes beyond the traditional approach of using reconfigurable slots with fixed boundaries interconnected by means of a static communication infrastructure. Instead, R3TOS approaches a static route-free system where nearly everything is reconfigurable. The tasks are concatenated to form a computation chain through which partial results naturally flow, and data are exchanged among remotely located tasks using FPGA’s reconfiguration mechanism or by means of “removable” routing circuits. In this article, we describe the R3TOS microkernel architecture as well as its hardware abstraction services and programming interface. Notably, the article presents a set of novel circuits and mechanisms to overcome the limitations and exploit the opportunities of Xilinx reconfigurable technology in the scope of hardware multitasking and dependability.
- M. Abramovici, C. E. Stroud, and J. M. Emmert. 2004. Online BIST and BIST-based diagnosis of FPGA logic blocks. IEEE Transactions on Very Large Scale Integration Systems 12, 12 (2004), 1284--1294. Google Scholar
Digital Library
- A. Ahmadinia, C. Bobda, J. Ding, M. Majer, J. Teich, S. P. Fekete, and J. C. van der Veen. 2005. A practical approach for circuit routing on dynamic reconfigurable devices. In Proceedings of the IEEE International Workshop on Rapid System Prototyping. 84--90. Google Scholar
Digital Library
- A. Ahmadinia, C. Bobda, D. Koch, M. Majer, and J. Teich. 2004. Task scheduling for heterogeneous reconfigurable computers. In Proceedings of the International Symposium on Integrated Circuits and System Design. 22--27. Google Scholar
Digital Library
- A. Amouri and M. B. Tahoori. 2011. A low-cost sensor for aging and late transitions detection in modern FPGAs. In Proceedings of the International Conference on Field-Programmable Logic and Applications. 329--335. Google Scholar
Digital Library
- D. Andrews, W. Peck, J. Agron, K. Preston, E. Komp, M. Finley, and R. Sass. 2005. Hthreads: A hardware/software co-designed multithreaded RTOS kernel. In Proceedings of the IEEE Conference on Emerging Technologies and Factory Automation.Google Scholar
- C. Beckhoff, D. Koch, and J. Torresen. 2012. GoAhead: A partial reconfiguration framework. In Proceedings of the IEEE Symposium on Field-Programmable Custom Computing Machines. 37--44. Google Scholar
Digital Library
- N. W. Bergmann, J. A. Williams, J. Han, and Y. Chen. 2006. A process model for hardware modules in reconfigurable System-on-Chip. In Proceedings of the International Conference on Architecture of Computing Systems. 205--214.Google Scholar
- B. Blodget, P. James-Roxby, E. Keller, S. McMillan, and P. Sundararajan. 2003. A self-reconfiguring platform. In Field-Programmable Logic and Application (Lecture Notes in Computer Science), Vol. 2778. 565--574.Google Scholar
Cross Ref
- C. Bobda, A. Ahmadinia, M. Majer, J. Teich, S. Fekete, and J. C. van der Veen. 2005. DyNoC: A dynamic infrastructure for communication in dynamically reconfigurable devices. In Proceedings of the International Conference on Field-Programmable Logic and Applications. 153--158.Google Scholar
- G. J. Brebner. 1996. A virtual hardware operating system for the Xilinx XC6200. In Proceedings of the International Workshop on Field-Programmable Logic, Smart Applications, New Paradigms and Compilers. 327--336. Google Scholar
Digital Library
- K. Chapman. 2010. SEU Strategies for Virtex-5 Devices (XAPP864). Technical Report. Xilinx Inc.Google Scholar
- C. Charmichael and C. W. Tseng. 2009. Correcting Single-Event Upsets in Virtex-4FPGA Configuration Memory (XAPP1088). Technical Report. Xilinx Inc.Google Scholar
- J. D. Corbett. 2012. The Xilinx Isolation Design Flow for Fault-Tolerant Systems (WP412). Technical Report. Xilinx Inc.Google Scholar
- S. Corbetta, M. Morandi, M. Novati, M. D. Santambrogio, D. Sciuto, and P. Spoletini. 2009. Internal and external bitstream relocation for partial dynamic reconfiguration. IEEE Transactions on Very Large Scale Integration Systems 17 (2009), 1650--1654. Issue 11. Google Scholar
Digital Library
- A. Donato, F. Ferrandi, M. D. Santambrogio, and D. Sciuto. 2005. Operating system support for dynamically reconfigurable SoC architectures. In Proceedings of the IEEE International System-on-Chip Conference. 233--238.Google Scholar
- A. Donlin, P. Lysaght, B. Blodget, and G. Troeger. 2004. A virtual file system for dynamically reconfigurable FPGAs. In Proceedings of the International Conference on Field-Programmable Logic and Applications. 1127--1129.Google Scholar
- S. Dutt, V. Verma, and V. Suthar. 2008. Built-in-self-test of FPGAs with provable diagnosabilities and high diagnostic coverage with application to online testing. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 27, 2 (2008), 309--326. Google Scholar
Digital Library
- A. Ebrahim, K. Benkrid, X. Iturbe, and Chuan Hong. 2012. A novel high-performance fault-tolerant ICAP controller. In Proceedings of the NASA/ESA Conference on Adaptive Hardware and Systems. 259--263.Google Scholar
Cross Ref
- A. Ebrahim, K. Benkrid, X. Iturbe, and C. Hong. 2013. Multiple-clone configuration of relocatable partial bitstreams in Xilinx Virtex FPGAs. In Proceedings of the NASA/ESA Conference on Adaptive Hardware and Systems.Google Scholar
- D. Gohringer, M. Hubner, L. Hugot-Derville, and J. Becker. 2010a. Message passing interface support for the runtime adaptive multi-processor system-on-chip RAMPSoC. In Proceedings of the IEEE International Conference IC-SAMOS. 357--364.Google Scholar
- D. Gohringer, M. Hubner, E. N. Zeutebouo, and J. Becker. 2010b. Operating system for runtime reconfigurable multiprocessor systems. International Journal of Reconfigurable Computing (2010). Google Scholar
Digital Library
- S. G. Hansen, D. Koch, and J. Torresen. 2011. High speed partial run-time reconfiguration using enhanced ICAP hard macro. In Proceedings of the IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum. 174--180. Google Scholar
Digital Library
- J. Heiner, B. Sellers, M. Wirthlin, and J. Kalb. 2009. FPGA partial reconfiguration via configuration scrubbing. In Proceedings of the International Conference on Field-Programmable Logic and Applications. 99--104.Google Scholar
- C. Hong, K. Benkrid, X. Iturbe, A. Ebrahim, and T. Arslan. 2011. Efficient on-chip task scheduler and allocator for reconfigurable operating systems. IEEE Embedded Systems Letters 3, 3 (2011), 85--88. Google Scholar
Digital Library
- A. Ismail and L. Shannon. 2011. FUSE: Front-end user framework for O/S abstraction of hardware accelerators. In Proceedings of the Annual IEEE International Symposium on Field-Programmable Custom Computing Machines. 170--177. Google Scholar
Digital Library
- X. Iturbe, M. Azkarate, I. Martinez, J. Perez, and A. Astarloa. 2009. A novel SEU, MBU and SHE handling strategy for Xilinx Virtex-4 FPGAs. In Proceedings of the International Conference on Field-Programmable Logic and Applications. 569--573.Google Scholar
- X. Iturbe, K. Benkrid, T. Arslan, R. Torrego, and I. Martinez. 2011a. Methods and mechanisms for hardware multitasking: Executing and synchronizing fully relocatable hardware tasks in Xilinx FPGAs. In Proceedings of the International Conference on Field-Programmable Logic and Applications. Google Scholar
Digital Library
- X. Iturbe, K. Benkrid, A. Ebrahim, C. Hong, T. Arslan, and I. Martinez. 2011b. Snake: An efficient strategy for the reuse of circuitry and partial computation results in high-performance reconfigurable computing. In Proceedings of the International Conference on Reconfigurable Computing and FPGAs. Google Scholar
Digital Library
- X. Iturbe, K. Benkrid, C. Hong, A. Ebrahim, T. Arslan, and I. Martinez. 2013a. Runtime scheduling, allocation and execution of real-time hardware tasks onto Xilinx FPGAs subject to fault occurrence. International Journal of Reconfigurable Computing (2013).Google Scholar
- X. Iturbe, K. Benkrid, C. Hong, A. Ebrahim, R. Torrego, I. Martinez, T. Arslan, and J. Perez. 2013b. R3TOS: A novel reliable reconfigurable real-time operating system for highly adaptive, efficient and dependable computing on FPGAs. IEEE Transactions on Computing 62, 8 (2013), 1542--1556. Google Scholar
Digital Library
- X. Iturbe, K. Benkrid, R. Torrego, A. Ebrahim, and T. Arslan. 2012. Online clock routing in Xilinx FPGAs for high-performance and reliability. In Proceedings of the NASA/ESA Conference on Adaptive Hardware and Systems.Google Scholar
- A. Jara-Berrocal and A. Gordon-Ross. 2010. VAPRES: A virtual architecture for partially reconfigurable embedded systems. In Proceedings of the Conference on Design, Automation and Test in Europe. 837--842. Google Scholar
Digital Library
- S. Jovanovic, C. Tanougast, and S. Weber. 2007. A hardware preemptive multitasking mechanism based on scan-path register structure for FPGA-based reconfigurable systems. In Proceedings of the NASA/ESA Conference on Adaptive Hardware and Systems. 358--364. Google Scholar
Digital Library
- K. Jozwik, H. Tomiyama, S. Honda, and H. Takada. 2010. A novel mechanism for effective hardware task preemption in dynamically reconfigurable systems. In Proceedings of the International Conference on Field-Programmable Logic and Applications. 352--355. Google Scholar
Digital Library
- H. Kalte, G. Lee, M. Porrmann, and U. Ruckert. 2005. REPLICA: A bitstream manipulation filter for module relocation in partial reconfigurable systems. In Proceedings of the IEEE International Parallel and Distributed Processing Symposium. Google Scholar
Digital Library
- H. Kalte and M. Porrmann. 2005. Context saving and restoring for multitasking in reconfigurable systems. In Proceedings of the International Conference on Field-Programmable Logic and Applications. 223--228.Google Scholar
- H. Kalte and M. Porrmann. 2006. REPLICA2Pro: Task relocation by bitstream manipulation in Virtex-II/Pro FPGAs. In Proceedings of the Conference on Computing Frontiers. 403--412. Google Scholar
Digital Library
- D. Koch, C. Beckhoff, and J. Teich. 2008. ReCoBus-builder—a novel tool and technique to build statically and dynamically reconfigurable systems for FPGAs. In Proceedings of the International Conference on Field-Programmable Logic and Applications. 119--124.Google Scholar
- D. Koch, C. Beckhoff, and J. Torresen. 2010. Obstacle-free two-dimensional online-routing for run-time reconfigurable FPGA-based systems. In Proceedings of the International Conference on Field-Programmable Technology. 208--215.Google Scholar
- D. Koch, C. Haubelt, and J. Teich. 2007. Efficient hardware checkpointing: Concepts, overhead analysis and implementation. In Proceedings of the ACM/SIGDA International Symposium on Field-Programmable Gate Arrays. 188--196. Google Scholar
Digital Library
- D. Koch, C. Haubelt, and J. Teich. 2008. Efficient reconfigurable on-chip buses for FPGAs. In Proceedings of the IEEE Symposium on Field-Programmable Custom Computing Machines. 287--290. Google Scholar
Digital Library
- H. Kopetz. 2011. Real-Time Systems: Design Principles for Distributed Embedded Applications (2nd ed.). Springer-Verlag. Google Scholar
Digital Library
- K. Kosciuszkiewicz, F. Morgan, and K. Kepa. 2007. Run-Time management of reconfigurable hardware tasks using embedded Linux. In Proceedings of the International Conference on Field-Programmable Tecnology.Google Scholar
- E. Lubbers. 2010. Multithreaded Programming and Execution Models for Reconfigurable Hardware. Ph.D. Dissertation. University of Paderborn, Germany.Google Scholar
- J. Y. Mignolet, V. Nollet, P. Coene, D. Verkest, S. Vernalde, and R. Lauwereins. 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. Google Scholar
Digital Library
- F. Muller, J. Le Rhun, F. Lemonnier, B. Miramond, and L. Devaux. 2005. A flexible operating system for dynamic applications. Xilinx Xcell Journal Fourth Quarter 2010 (2005), 30--34.Google Scholar
- R. Pellizzoni and M. Caccamo. 2006. Adaptive allocation of software and hardware real-time tasks for FPGA-based embedded systems. In Proceedings of the IEEE Real-Time and Embedded Technology and Applications Symposium. 208--220. Google Scholar
Digital Library
- M. D. Santambrogio, V. Rana, and D. Sciuto. 2008. Operating system support for online partial dynamic reconfiguration management. In Proceedings of the International Conference on Field-Programmable Logic and Applications. 455--458.Google Scholar
- P. Sedcole. 2006. Reconfigurable Platform-Based Design in FPGAs for Video Image Processing. Ph.D. Dissertation. Imperial College London, UK.Google Scholar
- P. Sedcole, P. Y. K. Cheung, G. A. Constantinides, and W. Luk. 2007. Run-time integration of reconfigurable video processing systems. IEEE Transactions on Very Large Scale Integration Systems 15 (2007), 1003--1016. Issue 9. Google Scholar
Digital Library
- M. Shelburne, C. Patterson, P. Athanas, M. Jones, B. Martin, and R. Fong. 2008. Metawire: Using FPGA configuration circuitry to emulate a Network-on-Chip. In International Conference on Field-Programmable Logic and Applications. 257--262.Google Scholar
- H. Simmler, L. Levinson, and R. Manner. 2000. Multitasking on FPGA coprocessors. In Proceedings of the International Workshop on Field-Programmable Logic and Applications. 121--130. Google Scholar
Digital Library
- J. Smith, T. Xia, and C. Stroud. 2006. An automated BIST architecture for testing and diagnosing FPGA interconnect faults. Journal of Electronic Testing: Theory and Applications 22, 3 (2006), 239--253. Google Scholar
Digital Library
- H. K. H. So. 2007. BORPH: An Operating System for FPGA-Based Reconfigurable Computers. Ph.D. Dissertation. University of California at Berkeley, USA. Google Scholar
Digital Library
- A. A. Sohanghpurwala, P. Athanas, T. Frangieh, and A. Wood. 2011. OpenPR: An open-source partial-reconfiguration toolkit for Xilinx FPGAs. In Proceedings of the IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum. 228--235. Google Scholar
Digital Library
- M. B. Stensgaard and J. Sparso. 2008. ReNoC: A network-on-chip architecture with reconfigurable topology. In Proceedings of the ACM/IEEE International Symposium on Networks-on-Chip. 55--64. Google Scholar
Digital Library
- L. Sterpone and M. Violante. 2005. Analysis of the robustness of the TMR architecture in SRAM-based FPGAs. IEEE Transactions on Nuclear Science 52, 5 (2005), 1545--1549.Google Scholar
Cross Ref
- J. Suris, M. Shelburne, C. Patterson, P. Athanas, J. Bowen, T. Dunham, and J. Rice. 2008. Untethered on-the-fly radio assembly with Wires-on-Demand. In Proceedings of the IEEE National Aerospace and Electronics Conference. 229--233.Google Scholar
- R. Torrego, I. Val, and E. Muxika. 2011. QPSK cognitive modulator fully FPGA-implemented via dynamic partial reconfiguration and rapid prototyping tools. In Proceedings of the European Conference on Communications Technologies and Software Defined Radio.Google Scholar
- V. M. Tuan and H. Amano. 2008. A method for capturing state data on dynamically reconfigurable processors. In Proceedings of the International Conference on Engineering of Reconfigurable Systems and Algorithms.Google Scholar
- H. Walder. 2005. Operating System Design for Partially Reconfigurable Logic Devices. Ph.D. Dissertation. Swiss Federal Institute of Technology Zurich, Switzerland.Google Scholar
- J. A. Williams and N. W. Bergmann. 2004. Embedded Linux as a platform for dynamically self-reconfiguring Systems-On-Chip. In Proceedings of the International Conference on Engineering of Reconfigurable Systems and Algorithms.Google Scholar
- J. A. Williams, N. W. Bergmann, and X. Xie. 2005. FIFO communication models in operating systems for reconfigurable computing. In Proceedings of the Annual IEEE Symposium on Field-Programmable Custom Computing Machines. 277--278. Google Scholar
Digital Library
- B. Zhou, W. Qiu, and C. Peng. 2005. An operating system framework for reconfigurable systems. In Proceedings of the International Conference on Computer and Information Technology. 788--792. Google Scholar
Digital Library
Index Terms
Microkernel Architecture and Hardware Abstraction Layer of a Reliable Reconfigurable Real-Time Operating System (R3TOS)
Recommendations
Virtualizable hardware/software design infrastructure for dynamically partially reconfigurable systems
Special Section on 19th Reconfigurable Architectures Workshop (RAW 2012)In most existing works, reconfigurable hardware modules are still managed as conventional hardware devices. Further, the software reconfiguration overhead incurred by loading corresponding device drivers into the kernel of an operating system has been ...
R3TOS: A Novel Reliable Reconfigurable Real-Time Operating System for Highly Adaptive, Efficient, and Dependable Computing on FPGAs
Despite the clear potential of FPGAs to push the current power wall beyond what is possible with general-purpose processors, as well as to meet ever more exigent reliability requirements, the lack of standard tools and interfaces to develop ...
A hybrid nano/CMOS dynamically reconfigurable system—Part I: Architecture
Rapid progress on nanodevices points to a promising direction for future circuit design. However, since nanofabrication techniques are not yet mature, implementation of nanocircuits, at least on a large scale, in the near future is infeasible. To ease ...






Comments