HW/SW co-design approach towards reliable embedded systems