CORDS: hardware-software co-synthesis of reconfigurable real-time distributed embedded systems