Introduction to Embedded Systems Design¶
Lectures 1 and 3 · Introduction to Embedded Systems; Embedded Systems Design
What is an Embedded System?¶
An embedded system is a computer system built into a larger product to perform a dedicated function. Unlike a general-purpose computer, it is designed around a specific application — a car's braking controller, a pacemaker, a router, or a washing machine.
Characteristics¶
Embedded systems typically share several characteristics:
- Dedicated function — designed for one application, not for arbitrary software
- Reactive — continuously respond to inputs from sensors and the environment
- Timing constraints — many applications must produce correct results within deadlines
- Resource-constrained — limited processing power, memory, energy, and cost budget
- Dependable — often safety- or mission-critical, requiring high reliability
Examples
Engine control units, flight controllers, medical infusion pumps, industrial PLCs, smart meters, and wireless sensor nodes are all embedded systems.
Design Metrics¶
Embedded system design balances competing metrics:
| Metric | Description |
|---|---|
| Performance | Latency and throughput of the system |
| Power / Energy | Consumption, battery life, and heat dissipation |
| Size | Physical dimensions and silicon area |
| Unit Cost | Cost to manufacture each unit |
| NRE Cost | One-off non-recurring engineering cost to design the system |
| Time-to-Market | Time taken to develop and release the product |
| Flexibility | Ability to change functionality after deployment |
| Dependability | Reliability, safety, and security |
Note
Metrics often conflict. Custom hardware may improve performance or energy use for a suitable workload, while increasing development effort. Measure the complete system, including communication and interfaces.
The Design Process¶
A typical embedded system design process moves through increasing levels of detail:
- Requirements — Capture what the system must do and the constraints it must meet
- Specification — Describe the required behaviour precisely, often with formal models
- Architecture — Choose the hardware platform and system structure
- Components — Design the hardware and software components
- Integration — Combine the components into a working system
- Verification and Validation — Check that the system meets its specification and requirements
Key Insight
Decisions made early in the process — during specification and architecture — have the largest effect on cost and performance, and are the most expensive to change later.
Levels of Abstraction¶
Designers work at different levels of abstraction as the design is refined:
| Level | Hardware View | Software View |
|---|---|---|
| System | Processing elements, buses, memories | Tasks and communication |
| Architecture | Instruction set, microarchitecture | Algorithms and data structures |
| Implementation | Register-transfer level, gates | Source code, machine code |
Higher levels allow faster exploration of design alternatives; lower levels support more detailed estimates of timing, area, and power. Accuracy still depends on the validity of the model and its assumptions.
Refinement and evidence¶
Lecture 3 follows a design from conceptual models through source and instruction models, transaction-level communication, cycle-accurate RTL, gates and physical layout. Each refinement adds implementation detail and reduces the range of choices still available.
Choose the least detailed model that can answer the current question. A task graph may be enough to compare partitions; a bus contention question needs a communication model; a clock constraint requires timing information from the hardware implementation.
| Activity | Question | Example evidence |
|---|---|---|
| Verification | Does the design satisfy its specification? | Simulation results, assertions, timing analysis |
| Validation | Does the system serve the intended application? | Tests with representative users or environmental conditions |
| Evaluation | How well does this candidate perform? | Latency, energy, memory and resource measurements |
Keep a trace from each requirement to its model, design choice and final measurement. For example, a sampling deadline should connect to the task period, processor mapping, response-time calculation and observed timing on the prototype. A fast component alone does not establish the full input-to-output deadline.
Next Steps¶
- Connect the theory to FPGA design and implementation
- Learn how to describe system behaviour precisely in Embedded Systems Specification
- See how design decisions are split between hardware and software in HW/SW Co-Design