Title: A Practical Introduction to Hardware/Software Codesign
Description: <p>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 design space 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.</p><p>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.</p><p>“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-- </p><p>·         Teaches embedded systems design, emphasizing the integration of custom hardware components with software.</p><p>·         Presents the field of hardware/software codesign in four parts: Basic Concepts, Custom Architecture, Hardware/Software Interfaces, and Applications; </p><p>·         Incorporates labs and examples using modern FPGA environments from Xilinx and Altera.</p>
Subjects: Systems engineering, Engineering, Processor Architectures, Circuits and Systems, Electronics, Instrumentation Electronics and Microelectronics, Computer science, System design