We are dealing with multi-processor and multi-core platforms which consist of embedded processors (or cores) such as COFFEE RISC Core, possibly fixed or coarse-grain reconfigurable accelerators such as BUTTER, and on-chip communication networks consisting of relatively complex multi-port switches. In most cases the platforms are implemented or prototyped on large FPGA devices. Your job is to work on the implementation of such computing platforms and further develop the required hardware blocks and/or low-level software (drivers, operating system kernels, reconfiguration code) on the processor cores. Thus, knowledge on computing hardware and hardware-dependent software is needed.