This introductory textbook provides students with a system-level perspective and the tools they need to understand, analyze and design digital systems. Going beyond the design of simple combinational and sequential modules, it shows how such modules are used to build complete systems, reflecting real-world digital design. All the essential topics are covered, including design and analysis of combinational and sequential modules, as well as system timing and synchronization. It also teaches how to write Verilog HDL in a productive and maintainable style that enables CAD tools to do much of the tedious work. A complete introduction to digital design is given through clear explanations, extensive examples and online Verilog files. The teaching package is completed with lecture slides, labs and a solutions manual for instructors. Assuming no previous digital knowledge, this textbook is ideal for undergraduate digital design courses that will prepare students for modern digital practice. "Dally and Harting blend circuit and architecture design in a clear and constructive manner on the basis of their exceptional experience in digital design. Students will discover a modern and effective way to understand the fundamental underpinning of digital design, by being exposed to the different abstraction levels and views of computing systems." - Giovanni De Micheli, EPFL Switzerland "Bill and Curt have combined decades of academic and industry experience to produce a textbook that teaches digital system design from a very practical perspective without sacrificing the theoretical understanding needed to train tomorrow's engineers. Their approach pushes students to understand not just what they are designing but also what they are building. By presenting key advanced topics, such as synthesis, delay and logical effort, and synchronization, at the introductory level, this book is in the rare position of providing both practical advice and deep understanding. In doing so, this book will prepare students well even as technology, tools, and techniques change in the future." - David Black-Schaffer, Uppsala University "Everything you would expect from a book on digital design from Prof. Dally. Decades of practical experience are distilled to provide the tools necessary to design and compose complete digital systems. A clear and well written text that covers the basics and system-level issues equally well. An ideal starting point for the microprocessor and SoC designers of the future!" - Robert Mullins, University of Cambridge and the Raspberry Pi Foundation "This textbook sets a new standard for how digital system design is taught to undergraduates. The practical approach and concrete examples provides a solid foundation for anyone who wants to understand or design modern complex digital systems." - Steve Keckler, The University of Texas at Austin "This book not only teaches how to do digital design, but more importantly shows how to do good design. It stresses the importance of modularization with clean interfaces, and the importance of producing digital artifacts that not only meet their specifications, but which can also be easily understood by others. It uses an aptly-chosen set of examples and the Verilog code used to implement them. It includes a section on the design of asynchronous logic, a topic that is likely to become increasingly important as energy consumption becomes a primary concern in digital systems. The final appendix on Verilog coding style is particularly useful. This book will be valuable not only to students, but to practitioners in the area. I recommend it highly." - Chuck Thacker, Microsoft