I've been saying for years that hardware design is
far too important
to be left up to hardware engineers. :-)
It would be simpler if hardware engineers learnt to program (and
conversely if programmers, particularly low-level programmers, had some
clue about hardware...)
-tony