Dynamically Reconfigurable NoC using a deadlock-free flexible routing algorithm with a low hardware implementation cost