HW and SW programming