Embedded Systems Design: An Introduction to Processes, Tools, and Techniques

Chapter 3: The Partitioning Decision

Overview

Designing the hardware for an embedded system is more than just selecting the right processor and gluing it to a few peripherals. Deciding how to partition the design into the functionality that is represented by the hardware and the software is a key part of creating an embedded system. This decision is not just an academic exercise nor is it self-evident. You don t just pick a processor, design the hardware, and then throw it over the wall to the software team. (Actually, many R&D labs still select a processor, design the hardware, and throw it over the wall, but the purpose of this chapter is to show you a better way.) The partitioning choice has significant impact on project cost, development time, and risk.

This chapter will explore the following:

  • The hardware/software duality that makes the partitioning decision possible

  • How the separation of hardware and software design imposes development costs

  • How silicon compilation is making the partitioning decision more flexible but more risk-laden

  • How future trends might radically alter your view of the partitioning decision

Hardware/Software Duality

Partitioning is possible and necessary because of the duality between hardware and software. For example, prior to the introduction of the 80486 by Intel, the hottest processor around was the 80386.

The 386 is an integer-only processor. To speed up your spreadsheet calculations, you purchased an 80387 numeric FPU processor. Systems without the FPU would detect that floating-point calculations were required and then simulate the presence of the FPU by branching to...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Computers
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.