Hardware designing