Research Article

Rainbow: An Operating System for Software-Hardware Multitasking on Dynamically Partially Reconfigurable FPGAs

Table 1

Management API.

SW tasks HW tasks

Rbow_hwt_prefetch (HWT ID)
Rbow_hwt_prefetch_act (HWT ID)
Rbow_swt_act (SWT ID) Rbow_hwt_act (HWT ID)
Rbow_swt_term (SWT ID)* Rbow_hwt_term (HWT ID)
Rbow_swt_exit ()* Rbow_hwt_exit (HWT ID)
Rbow_swt_chg_pri (SWT ID, NEW PRI)* Rbow_hwt_chg_pri (HWT ID, NEW PRI)
Rbow_swt_susp (SWT ID)* Rbow_hwt_susp (HWT ID)
Rbow_swt_resm (SWT ID)* Rbow_hwt_resm (HWT ID)
Rbow_swt_rotate_queue (PRI) Rbow_hwt_rotate_queue (RR ID, PRI)
Rbow_hwt_acq_RR_lock (HWT ID, EXIT REL FLG, TMOUT VAL)
Rbow_hwt_rel_RR_lock (HWT ID)
Rbow_hwt_updt_freq (HWT ID, MULT, DIV)
Rbow_hwt_wait_state (HWT ID)

Rbow_ch_lock_acq (CH ID) Rbow_ch_lock_acq (CH ID)
Rbow_ch_lock_rel (CH ID) Rbow_ch_lock_rel (CH ID)

Only supported by the SWT caller.