hardware design challenges and solutions