what is hardware prototyping