Designing embedded hardware. - Catsoulis John (2003)