
384 Chapter 7 Hardware and Software Co-design
elements that do not help with the application at hand. Removing excess compo-
nents is often as important as adding new features.
co-design as a
methodology
As the name implies, hardware/software co-design means jointly designing
hardware and software architectures to meet performance, cost, and energy
goals. Co-design is a radically different methodology than the layered abstrac-
tions used in general-purpose computing. Because co-design tries to optimize
many different parts of the system at the same time, it makes extensive use of
tools for both design analysis and optimization.
Increasingly, hardware/softw ...