Beruflich Dokumente
Kultur Dokumente
G
ood software design is ass impor-
tant in the development of a
product as a strong foundation in Sachin P. Kamat
the construction of an edifice.
This is particularly important in the devel-
opment of an embedded system where
resources like memory, power, and pro-
cessing capabilities are limited. Continu-
ous innovation, fast-changing consumer
needs, and the drive to remain ahead of
competitors in terms of market share and
product profile has drastically reduced the
time to market a product and its develop-
ment life cycle. The cost of defect correction
increases with the development lifecycle
stage. Post-release defect fixing is the most
costly. Thus, it is important to have good
software design and a process in place so
that stringent deadlines can be met and
rework activities minimized.
Good software design should effec-
tively utilize all the hardware capabilities
provided by the system-on-chip (SOC).
Present day SOCs can contain over 30 dif-
ferent intellectual properties with single-
or multicore processors and several
hardware accelerators for multimedia and
graphics data processing. Some SOCs also
contain a dedicated digital signal proces-
sor (DSP) for performing specialized
tasks. A system-level block diagram of a
typical SOC used for general application
purposes in consumer and entertainment
electronic products like personal digital
assistants (PDA), smart phones, portable
media players, gaming consoles, car navi-
gation systems, and DVD players is shown
in Fig. 1.
An engineer entrusted with the devel-
opment of a specific module or a sub-
system should start by studying and ana-
lyzing the SOC architecture as a whole
and then move toward the analysis of the
particular module under consideration. A
top-down design approach helps in tak-
ing into consideration the interdepen-
dencies between various modules, and
thus resource sharing and interface de-
sign can be done in an effective manner.
A post-processor, for example, is one
34 IEEE POTENTIALS
Sometimes it is not possible for a par- good software design is one that is a bal-
ticular peripheral or a piece of software anced tradeoff between high perfor-
code to handle and process all possible mance, low memory usage, and low
cases of input data. A stable software power consumption.
design should have a mechanism to
handle unsupported and corrupted data Read more about it
gracefully. Wherever possible, a soft- • T. A. Henzinger and J. Sifakis,
ware workaround and fallback mecha- “The discipline of embedded systems
nism should be provided to handle these design,” Computer, vol. 40, no. 10, pp.
kind of invalid data. 32–40, Oct. 2007.
Power is another important and scarce • V. Narayanan and Y. Xie, “Reli-
resource in battery powered devices. The ability concerns in embedded system
design should take into account power Wherever there is a possibility of designs,” Computer, vol. 39, no. 1, pp.
management aspects to enhance the bat- implementing a design in multiple ways, 118–120, Jan. 2006.
tery life and reduce the heat dissipation the engineer should analyze and assess
of the chip. Power management features each method and choose the one that is About the author
are provided by the hardware chip as most optimal. Good software design Sachin P. Kamat (sachin.kamat@ieee.
well as by the operating system running should exploit all the features provided org) received his bachelor’s degree in ele-
on it. Dynamic voltage and frequency by the hardware and give provisions for ctrical and electronics engineering from
scaling (DVFS) is a popular power man- developing scalable, portable, modular, the National Institute of Technology,
agement technique employed in embed- and highly efficient software in terms of Karnataka, India, in 2003. Currently he is
ded systems. The software design should power consumption, memory usage, working as development lead with Sam-
encompass these features and utilize the and performance. Since a high perfor- sung India Software Operations, Banga-
hooks provided by the hardware and mance output generally requires more lore, India, handling the software design
software platforms. memory and consumes more power, of high-end multimedia phones.
YO U K N O W YO U R S T U D E N T S N E E D I E E E I N F O R M AT I O N .
N O W T H E Y C A N H AV E I T . A N D Y O U C A N A F F O R D I T .
SEPTEMBER/OCTOBER 2010 35