Reliability-aware placement and routing for FPGAs