Hardware Meets Software