At the beginning of a new embedded system
design, there are so many different solution options that it is hard to predict their impact on system cost, development time, and performance. Examples of design considerations are: memory devices (DDR, SRAM, flash, SPI-Flash); bus architecture and topologies (PLB,
OPB, OCM); processor architecture (PowerPC 405,
PowerPC 440, Xilinx MicroBlaze processor, ARM); operating system (stand-alone, Xilinx microkernel, Embedded Linux, commercial RTOS); and whether to use single or multiple processors. This articles explains how to evaluate these different choices during the whole design process to build an optimized system.

Reprinted with permission from Xcell Journal / Second Quarter 2008. Article © Xcell Journal.