Define Embedded Systems
Small (?) Application Specific Computer Systems
Typical Characteristics
Real time Small sized Low power Cost effective
Heterogeneous HW/SW Implementations of Embedded Systems
Cost
Only SW, Low cost and Low performance. Only HW, High cost and High performance. Mixed HW-SW, Medium cost and performance.
Performance
Additionally, flexibility and tight time to market requirements favour SW implementations.
System-on-Chip Design
Current day embedded systems utilize customized embedded processors Embedded processors have System-on-Chip (SoC) architectures SoC incorporate several different discrete cores on the same die. SoC design methodology strongly mirror boardlevel design. Hence, system-level hardware-software co-design has also been utilized for SoC design. This course will utilize platform FPGAs as a vehicle for SoC design.
Control Intensive versus Computation intensive
Control intensive application offer less opportunities for parallelism as opposed to computation intensive applications. Examples ???
Hence, control intensive applications are more amenable for micro-controller implementation.
Computation intensive applications are more amenable to custom-hardware (ASIC) or FPGA implementation.
Define Hardware-Software Codesign
It is the concurrent and co-operative design of hardware and software components of an embedded system.
HW Design Abstraction
Processor-Memory Level RT Level Logic Gates Transistors Polygons of Silicon
Levels of Design Abstraction
Digital System Design
Translation or Design Specification
Verification by Simulation
Traditional System-level Design Flow
Informal Specification, Constraints
System model
Architecture design
HW/SW implementation Fail Test Success Prototype
Implementation
Traditional System-level Design Flow
Lack of system-level performance evaluation HW/SW specification implemented before performance/energy/cost verification Long system-level design times Expensive under performance/energy/cost failures Over-design is common
System-level HW-SW Co-Design
Informal Specification, Constraints Component profiling
System model Performance evaluation HW/SW implementation Fail Test Success Prototype
Architecture design
Implementation
System-level HW-SW Co-design IDEA
Specification Components (HW,SW) HW behavior and components Memory hierarchy and mapping Constraints
System-level HW-SW Co-design Interconnect and buses SW behavior, RTOS, schedule policy and processors
Issues in System-level HW-SW Co-design
Specification of functionality and constraints. Simulation of functionality. Components as building blocks SW processors: DSP and Micro-controllers HW co-processors: ASICs, FPGA Storage elements: Cache, Scratchpad, SRAM, DRAM Interconnection elements: Buses and arbiters Interface and I/O units: DMA, UART, D/A, A/D, Wireless communication Software platform: RTOS and scheduling
Issues in System-level HW-SW Co-design
Performance analysis (timing, power, area)
Design and optimization (timing, power, area) Architecture selection: processing elements, memory units and inter-connect. RTOS and schedule scheme.
Attributes of Embedded computing
Real-time Operation. Sensing & Control. Low cost. Low power consumption. Dependable. Autonomous.
Where Embedded Systems are Used..? [1]
Current Accomplishments
Current Products: Automotive Control: Improved fuel efficiency. Avionics: Navigation, Collision avoidance. Medical Monitoring Systems. Smart Homes.(washing machines, Clocks etc.).
Future Uses:
Intelligent Highways. Chemical and Biological Sensors etc.
An Embedded Control System Designers View
A Customer View
Specification
A more precise description of the system:
should not imply a particular architecture; provides input to the architecture design process.
May include functional and non-functional elements. May be executable or may be in mathematical form for proofs.
GPS specification
Should include:
What is received from GPS; map data; user interface; operations required to satisfy user requests; background operations needed to keep the system running.
Architecture design
What major components go satisfying the specification? Hardware components:
CPUs, peripherals, etc.
Software components:
major programs and their operations.
Must take into account functional and nonfunctional specifications.
GPS moving map block diagram
GPS receiver
search engine
renderer
display
database
user interface
GPS moving map hardware architecture
display
frame buffer
CPU GPS receiver
memory
panel I/O
Processor Selection
Processor selection
Scope of Codesign
Steps
Steps Refined
Map between behaviour and architecture