VirtualSoC: A research tool for modern MPSoCs