Reduce SW/HW Migration Efforts by a RTOS in Multi-FPGA Systems

The boundary between software and hardware is becoming blurry in modern embedded systems, especially in reconfigurable computing systems. It makes an easy-to-use design space explorer more important than ever for engineers. This paper proposes a RTOS (Real-Time Operating System) to reduce design efforts while migrating functions between software and hardware. The RTOS provides reconfigurable hardware threads with identical API interfaces and data structures, just like those for software threads. To utilize reconfigurable resources efficiently, the states of threads are controlled and managed by the RTOS. Threads can also be preconfigured according to static DFGs (data flow graphs). Experiments on the Rhealstone benchmark have shown that multi-thread environments provided by the proposed RTOS can extend the scale of traditional operating systems and give designers more freedom to perform design space exploration.

[1]  Peter J. Ashenden,et al.  Programming models for hybrid FPGA-cpu computational components: a missing link , 2004, IEEE Micro.

[2]  Hossam ElGindy,et al.  Dynamic scheduling of tasks on partially reconfigurable FPGAs , 2000 .

[3]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[4]  Ishfaq Ahmad,et al.  Dynamic Critical-Path Scheduling: An Effective Technique for Allocating Task Graphs to Multiprocessors , 1996, IEEE Trans. Parallel Distributed Syst..

[5]  Dinesh Bhatia,et al.  Temporal Partitioning and Scheduling Data Flow Graphs for Reconfigurable Computers , 1999, IEEE Trans. Computers.

[6]  Rabindra P. Kar Implementing the Rhealstone real-time benchmark , 1990 .

[7]  Scott Hauck,et al.  Configuration Relocation and Defragmentation for FPGAs , 2001 .

[8]  Clifford Stein,et al.  Introduction to Algorithms, 2nd edition. , 2001 .

[9]  Scott Hauck,et al.  Configuration relocation and defragmentation for reconfigurable computing , 2000, Proceedings 2000 IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00871).

[10]  Majid Sarrafzadeh,et al.  Fast Template Placement for Reconfigurable Computing Systems , 2000, IEEE Des. Test Comput..

[11]  R. L. Haggard,et al.  A survey of dynamically reconfigurable FPGA devices , 2003, Proceedings of the 35th Southeastern Symposium on System Theory, 2003..

[12]  Jean J. Labrosse,et al.  MicroC/OS-II: The Real Time Kernel , 1998 .

[13]  Marco Platzner,et al.  Fast online task placement on FPGAs: free space partitioning and 2D-hashing , 2003, Proceedings International Parallel and Distributed Processing Symposium.