Design of embedded systems

tspradeepkumar 19,641 views 27 slides Mar 17, 2011
Slide 1
Slide 1 of 27
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27

About This Presentation

No description available for this slideshow.


Slide Content

Hardware/Software Co-Design Hardware/Software Co-Design
T S PRADEEPKUMART S PRADEEPKUMAR
SCS, VITSCS, VIT

T S PT S P 22
OutlineOutline
Embedded Hardware Embedded Hardware
Embedded SoftwareEmbedded Software
Issues in Embedded System DesignIssues in Embedded System Design
Hardware/ Software PartioningHardware/ Software Partioning
Designing Embedded SystemsDesigning Embedded Systems
Co-DesignCo-Design

T S PT S P 33
Embedded SystemsEmbedded Systems
An embedded system An embedded system
uses a computer to perform some function, butuses a computer to perform some function, but
is not used (nor perceived) as a computeris not used (nor perceived) as a computer
Software is used for features and flexibilitySoftware is used for features and flexibility
Hardware is used for performanceHardware is used for performance
Typical characteristics:Typical characteristics:
it performs a single functionit performs a single function
it is part of a larger (controlled) systemit is part of a larger (controlled) system
cost and reliability are often the most significant cost and reliability are often the most significant
aspectsaspects

T S PT S P 44
Embedded SystemsEmbedded Systems
Satellite
Macro-Cell
Micro-Cell
Zone 2: Urban
Zone 1: In-Building
Pico-Cell
Zone 4: Global
Zone 3: Suburban
Firmware
CORE
SOC IP
Based Design
Software
SOC
µP/C
Analog
Embedded Software
Memory
Embedded
System Design
System
Environment
PCB
Design

T S PT S P 55
Embedded HardwareEmbedded Hardware
InputInput
SensorsSensors
Sample and Hold CircuitSample and Hold Circuit
A/D ConvertersA/D Converters
CommunicationCommunication
UARTUART
Processing UnitsProcessing Units
ASICASIC
ProcessorsProcessors
Reconfigurable processorsReconfigurable processors

T S PT S P 66
Embedded HardwareEmbedded Hardware
MemoriesMemories
RAM, ROM, Flash, CacheRAM, ROM, Flash, Cache
OutputOutput
D/A Converters,D/A Converters,
ActuatorsActuators

T S PT S P 77
Embedded SoftwareEmbedded Software
Real Time Operating SystemsReal Time Operating Systems
General RequirementsGeneral Requirements
Scheduling in RTOSScheduling in RTOS
AperiodicAperiodic
PeriodicPeriodic
Real Time DatabasesReal Time Databases
Other Software ArchitecturesOther Software Architectures
Function Queue SchedulingFunction Queue Scheduling
Round Robin (with Interrupts)Round Robin (with Interrupts)

T S PT S P 88
Issues while Designing ESIssues while Designing ES
Choosing Right platformChoosing Right platform
Memory and I/O RequirementsMemory and I/O Requirements
WDT, Cache, Flash memory, etcWDT, Cache, Flash memory, etc
Processors ChoiceProcessors Choice
PLCPLC
Micro Controller or DSPMicro Controller or DSP
ASIC or FPGAASIC or FPGA

T S PT S P 99
Issues…Issues…
Hardware Software TradeoffHardware Software Tradeoff
Porting Issues of OS in the Target BoardPorting Issues of OS in the Target Board

T S PT S P 1010
Hardware /Software PartitioningHardware /Software Partitioning
DefinitionDefinition
A HW/SW partitioning algorithm implements a A HW/SW partitioning algorithm implements a
specificationspecification on some sort of on some sort of
multiprocessor architecturemultiprocessor architecture
UsuallyUsually
Multiprocessor architecture = one CPU + Multiprocessor architecture = one CPU +
some ASICs on CPU bussome ASICs on CPU bus

T S PT S P 1111
Hardware /Software PartitioningHardware /Software Partitioning
TerminologyTerminology
AllocationAllocation
Synthesis methods which design the Synthesis methods which design the
multiprocessor topology along with the Process multiprocessor topology along with the Process
Elements and SW architectureElements and SW architecture
SchedulingScheduling
The process of assigning Process Element (CPU The process of assigning Process Element (CPU
and/or ASICs) time to processes to get executedand/or ASICs) time to processes to get executed

T S PT S P 1212
Hardware /Software PartitioningHardware /Software Partitioning
Hw/Sw partitioning can speedup softwareHw/Sw partitioning can speedup software
Can reduce energy tooCan reduce energy too
In most partitioning algorithmsIn most partitioning algorithms
Type of CPU is fixed and givenType of CPU is fixed and given
ASICs must be synthesizedASICs must be synthesized

T S PT S P 1313
Designing of Embedded SystemsDesigning of Embedded Systems
There are five stages of development of Embedded There are five stages of development of Embedded
SystemsSystems
•Requirement AnalysisRequirement Analysis
•DesignDesign
•Data Structures, Software Architecture, Interfaces Data Structures, Software Architecture, Interfaces
and algorithmsand algorithms
•CodingCoding
•TestingTesting
•MaintenanceMaintenance

T S PT S P 1414
Designing of Embedded SystemsDesigning of Embedded Systems
There are three Design FlowsThere are three Design Flows
•Waterfall ModelWaterfall Model
•Spiral ModelSpiral Model
•Successive refinementSuccessive refinement
For Designing, Unified Modeling Language For Designing, Unified Modeling Language
(UML) is used(UML) is used

T S PT S P 1515
Embedded System DesignEmbedded System Design
Traditional MethodologyTraditional Methodology
HW Design
& Build
Hardware/Software
Partitioning and Allocation
SW Design
& Code
Interface
Design
HW/SW
Integration

T S PT S P 1616
Problems with Past Design MethodProblems with Past Design Method
Lack of unified system-level representationLack of unified system-level representation
Can't verify the entire HW-SW systemCan't verify the entire HW-SW system
Hard to find incompatibilities across HW-SW boundaryHard to find incompatibilities across HW-SW boundary
(often found only when prototype is built) (often found only when prototype is built)
Architecture is defined Architecture is defined a prioria priori, based on expert , based on expert
evaluation of the functionality and constraintsevaluation of the functionality and constraints
Lack of well-defined design flowLack of well-defined design flow
Time-to-market problemsTime-to-market problems
Specification revision becomes difficultSpecification revision becomes difficult

T S PT S P 1717
Embedded System DesignEmbedded System Design
HW/SW Co-Design MethodologyHW/SW Co-Design Methodology
HW Design
& Build
Hardware/Software
Partitioning and Allocation
SW Design
& Code
Interface
Design
HW/SW
Integration

T S PT S P 1818
Co-Design FrameworkCo-Design Framework

T S PT S P 1919
Co-DesignCo-Design
The software functionality should be The software functionality should be
partitioned in such a fashion that partitioned in such a fashion that
processors in the system do not get processors in the system do not get
overloaded when the system is operating overloaded when the system is operating
at peak capacity. at peak capacity.
This involves simulating the system with This involves simulating the system with
the proposed software and hardware the proposed software and hardware
architecture. architecture.

T S PT S P 2020
Co-DesignCo-Design
The system should be designed for future The system should be designed for future
growth by considering a scalable growth by considering a scalable
architecture, i.e. system capacity can be architecture, i.e. system capacity can be
increased by adding new hardware increased by adding new hardware
modules. The system will not scale very modules. The system will not scale very
well if some hardware or software module well if some hardware or software module
becomes a bottleneck in increasing system becomes a bottleneck in increasing system
capacity. capacity.

T S PT S P 2121
Co-DesignCo-Design
Software modules that interact very Software modules that interact very
closely with each other should be placed closely with each other should be placed
on the same processor, this will reduce on the same processor, this will reduce
delays in the system.delays in the system.
Higher system performance can be Higher system performance can be
achieved by this approach by inter-achieved by this approach by inter-
processor message communication.processor message communication.

T S PT S P 2222
Embedded Controller Example:Embedded Controller Example:
Engine Control Unit (ECU)Engine Control Unit (ECU)
Task: control the torque produced by
the engine
by timing fuel injection and spark
Major constraints:Major constraints:
Low fuel consumptionLow fuel consumption
Low exhaust emissionLow exhaust emission

T S PT S P 2323
ECU ECU Task: control injection time (3 sub-tasks)
compute
air flow
compute
injection
time
drive
actuators
air
flow
injection
time
air temperature
engine temperature
engine speed
throttle position
look-up table
PWM signals
air pressure

T S PT S P 2424
32 bit CPU
A/D
Actuations (PWM)
Analog inputs
Digital inputs
ECU- Option 1ECU- Option 1
compute
air flow
compute
injection
time
drive
actuators
air
flow
injection
time
air temperature
engine temperature
engine speed
throttle position
look-up table
PWM signals
air pressure

T S PT S P 2525
16 bit CPU
A/D
Actuations (PWM)
Analog inputs
Digital inputs
FPGA
ECU- Option 2ECU- Option 2
compute
air flow
compute
injection
time
drive
actuators
air
flow
injection
time
air temperature
engine temperature
engine speed
throttle position
look-up table
PWM signals
air pressure

T S PT S P 2626
8 bit CPU
DSP
Actuations (PWM)
Analog
inputs
Digital inputs
FPGA
A/D
ECU- Option 3ECU- Option 3
compute
air flow
compute
injection
time
drive
actuators
air
flow
injection
time
air temperature
engine temperature
engine speed
throttle position
look-up table
PWM signals
air pressure

T S PT S P 2727
Thank YouThank You