This carefully developed piece was widely praised by reviewers for both its great clarity and its rigor. The book balances theory and practice in depth without getting bogged down in excessive technical or mathematical language and has abundant coverage of current topics of interest, such as programmable devices, computer-aided design, and testability. An unusually large number of illustrations, examples, and problems help the reader gain a solid sense of how theory underlies practice.