A Practical Introduction to Hardware/Software Codesign - Schaumont, Patrick R. (Springer, 2013)
This textbook provides an introduction to embedded systems design, with emphasis on integration of custom hardware components with software. The key problem addressed in the book is the following: how can an embedded systems designer strike a balance between flexibility and efficiency? The book describes how combining hardware design with software design leads to a solution to this important computer engineering problem.The book covers four topics in hardware/software codesign: fundamentals, the designspace of custom architectures, the hardware/software interface and application examples. The book comes with an associated design environment that helps the reader to perform experiments in hardware/software codesign. Each chapter also includes exercises and further reading suggestions.Improvements in this second edition include labs and examples using modern FPGA environments from Xilinx and Altera, which make the material applicable to a greater number of courses where these tools are already in use. More examples and exercises have been added throughout the book and several chapters were expanded and reorganized.“If I were teaching a course on this subject, I would use this as a resource and text. If I were a student who wanted to learn codesign, I would look for a course that at least used a similar approach. If I were an engineer or engineering manager who wanted to learn more about codesign from a very practical perspective, I would read this book first before any other. When I first started learning about codesign as a practitioner, a book like this would have been the perfect introduction.”--Grant Martin, Tensilica-- Teaches embedded systems design, emphasizing the integration of custom hardware components with software. Presents the field of hardware/software codesign in four parts: Basic Concepts, Custom Architecture, Hardware/Software Interfaces, and Applications; Incorporates labs and examples using modern FPGA environments from Xilinx and Altera.