Why RTOS is needed for FPGA based real-time embedded system?

41 views Asked by At

I am new to real time embedded systems. As I learned RTOS is used for task scheduling. If the system is simple, interrupts can used apart from using RTOS. I wonder if I use FPGA for my real time system, there I need use RTOS? because FPGA already doing parallel processing.

What can RTOS do in this situation differ from FPGA? Can you explain it?

1

There are 1 answers

0
Clifford On

Hardware concurrency is not the same as software concurrency.

Whether your application requires (or benefits from) an RTOS will depend entirely on the design and real-time requirements of your application and what you choose to implement in software and what in hardware. You never need and RTOS, but without one, for any non-trivial application you may find yourself doing the kind of thing that is provided or made simpler by an RTOS, and having to develop an debug all that unnecessarily rather than concentrating on the application.

So long as you have chosen to implement any part of your application on a processor (on the FPGA or external) rather than a direct hardware implementation, the consideration of whether to use an RTOS will depend only on what you are implementing in software - not what the hardware might do.

You can of course mitigate some hard real-time deadlines by implementing hardware, but the more complex the hardware application, the more FPGA real estate you use, and that is a scarce resource. An FPGA embedded processor and software can make more efficient use of the available hardware where the timing constraints are less critical.