Automating the design flow under dynamic partial reconfiguration for hardware-software co-design in FPGA SoC