Using Partial Reconfiguration for SoC Design and Implementation