ABSTRACT

System-level design covers a wide range of design activities and design situations. It includes the more specific activity system engineering, that involves the requirements development, test planning, subsystem interfacing, and end-to-end analysis of systems. System-level design is sometimes called system architecting,

a term used

widely in the aerospace industry. General-purpose system-level design involves the design of programmable digital systems, including

the basic modules containing storage, processors, input/output, and system controllers. At the system level, the design activities include determining the following:

• Power budget (the amount of power allocated to each module in the system) • Cost and performance budget allocated to each module in the system • Interconnection strategy • Selection of commercial off-the-shelf modules (COTS) • Packaging of each module • Overall packaging strategy • Number of processors, storage units, and input/output interfaces required • Overall characteristics of each processor, storage unit, and input/output interface

For example, memory system design focuses on the number of memory modules required, how they are organized, and the capacity of each module. A specific system-level issue in this domain can be the question of how to partition the memory between the processor chip and the off-chip memory. At a higher level, a similar issue might involve configuration of the complete storage hierarchy, including memory, disk drives, and archival storage.