hardware and firmware co-design