tspradeepkumar
19,641 views
27 slides
Mar 17, 2011
Slide 1 of 27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
About This Presentation
No description available for this slideshow.
Size: 263.83 KB
Language: en
Added: Mar 17, 2011
Slides: 27 pages
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