This is a practical book for computer engineers who want to understand or
implement hardware/software systems. It focuses on problems that require one
to combine hardware design with software design – such problems can be solved
with hardware/software codesign. When used properly, hardware/software codesign
works better than hardware design or software design alone: it can improve the
overall performance of digital systems, and it can shorten their design time.
Hardware/software codesign can help a designer to make trade-offs between the
flexibility and the performance of a digital system. To achieve this, a designer needs
to combine two radically different ways of design: the sequential way of decomposition
in time, using software, with the parallel way of decomposition in space,
This book assumes that you have a basic understanding of hardware that you are familiar
with standard digital hardware components such as registers, logic gates, and
components such as multiplexers and arithmetic operators. The book also assumes
that you know how to write a program in C. These topics are usually covered in
an introductory course on computer engineering or in a combination of courses on
digital design and software engineering.
The book is suited for advanced undergraduate students and beginning graduate
students. I believe the book will also be useful for researchers from other (noncomputer
engineering) fields, who have a need for hardware/software codesign. For
example, I often work with cryptographers who have no formal training in hardware
design but still want to obtain dedicated architectures for highly specialized
algorithms. In my experience, it is very rewarding to explain codesign ideas to a
cryptographer (or any other domain expert, for that matter).
High-Speed DSP and Analog System Design
High-Speed DSP and Analog System Design is based on the author’s over 25 years of experience in high-speed DSP and computer systems and courses in both digital and analog systems design at Rice University. It provides hands-on, practical advice for working engineers, including: • Tips on cost-efficient design and system simulation...
Programming Finite Elements in Java
The finite element method (FEM) is a computational technique for solving problems which are described by partial differential equations or which can be formulated as functional minimization. The FEM is commonly used in the design and development of products, especially where structural analysis is involved. The simple object model of the...
Flash 8 Essentials
As a creative professional or interactive developer, you'll be amazed at the exciting possibilities presented to you by the new features available in Flash 8; but as a busy designer, we know you won’t have as much time as you'd like to explore these new additions. Never fear—this book wastes no time looking at timeline basics,...
Strategic XML Trying to learn useful things about XML can be hard. XML is so flexible and can be used for so many things, descriptions of it have a bad tendency to be vague, never touching the real world. Or they are too detailed and technical to easily understand. This book has a really nice balance of these factors. For example, if you want to know what a web... Digital Alias-free Signal Processing
The rationale of replacing signal analog processing by digital, worth doing whenever
it is feasible, is well known. The benefits that can be obtained are usually
significant. Digital signal processing (DSP) technology is widely used in the
application range characterized by relatively low frequencies and other acceptable...