Context Switching Reconfigurable Hardware for Communication Systems
Context switching is used for decades in software systems. Here, multiple processes share the same CPU by rapidly swapping the process contexts. As a consequence, all programs seem to run in parallel despite that only one process can be active on a CPU at a point in time.
In the COSRECOS project (Context Switching Reconfigurable Hardware for Communication Systems), we want to transfer this principle to reconfigurable hardware. In particular, we want to examine partial runtime reconfiguration of FPGAs to swap rapidly hardware modules. We consider the context on two levels, the FPGA technology level and the logic level of the module:
Context switching can be independently performed on both levels:
In most cases, when talking about partial runtime reconfiguration, only the FPGA technology level is assumed to be swappable, and modules are executed following a run to completion policy. In the COSRECOS project, we want to push this level to comprise also the internal states of the control and data paths of a module.