FPGAs with embedded processors: flexible and reliable