Title: ASSET: An Embedded Systems Design Methodology
1ASSETAn Embedded Systems Design Methodology
- Prof. M. Balakrishnan
- Embedded Systems Group,
- IIT Delhi, India
- Sponsored by
- Naval Research Board, Government of India
2Introduction to Our Group
- I.I.T. Delhi
- One of the six leading engineering institutions
in India - Dept. of Comp. Sci. Engg.
- One of 13 departments/12 centres in I.I.T. Delhi
- 16 faculty members covering all major areas in CS
- 320 students (250 UG, 55 M. Tech., 15 Ph.D.)
- Embedded systems group
- 2 core 2 non-core faculty
- 15 students (4 Ph.D., 3 M.S./M.Tech., 8
B.Tech.)
3Overview
- Objective methodology
- Application Internal representation
- Target architectures
- Estimation (HW, SW and Interface)
- Partitioning
- Synthesis
- Related research work
4Motivation
- Drive towards automated system design
- In this project we target computation dominated
embedded systems - The motivation has been to
- develop a flow,
- integrate public domain tools where available
and - to identify and conduct research in emerging
areas
5Methodology
6Modified Methodology
7Application
- Vision applications
- Collision detection
- Motion segmentation
- Tracking
- An integrated application
- C Programs developed and tested on standard
platforms (Sun Intel) are available - Applications rewritten with MPI and Pthreads
8Tracking Case Study
- Tracking application
- Vision based
- Computation intensive
9Collision Detection Demo
10Tracking Demo - Toy Train
11Tracking Demo - Camera
12ESIREmbedded Systems Internal Representation
- Storehouse of information
- Uses SUIF for providing the data structures
- SUIF annotations used to add information to the
application syntax tree
13ESIR Example
14Target Architecture
Processor
Bus
ASIC1
ASIC4
ASIC3
ASIC2
15Hardware Estimation
- Hardware estimation for two target technologies
- ASICs
- FPGA
- Hardware estimation involves estimate of
- Performance based on number of clocks and clock
period estimate - Cost using area or CLBs
16Hardware Estimation (contd)
- Schedule length (or number of clocks) estimation
- Operator use method for the upper bound
- Mobility based method for the lower bound
- Clock period estimation
- Optimal clock using slack minimization
- Operator and memory components area and delay
- ASIC library
- FPGA library
17Software Estimation
- Software estimation follows essentially the
processor selection flow - Input Application (SUIF) with profile
information Machine description (resources
delays) - Special instructions
- Output Estimated performance
18Software Estimation Flow
19Processor Description
- Types of functional units and their properties
- Number of each type available
- Number of registers
- Slots for each operation
- Load/Store in parallel
20Application Parameters
- Average block size
- Number of mac operations
- Address ALU utilization
- Memory bandwidth requirement
- ASAP schedule and average arc length
21Results (MPEG Case Study)
22Communication Time Estimation
- Objective
- Estimating communication time requirements from
process-resource mapping and architectural inputs
- Specific communication time models for data
transfer over PCI bus have been built - Pentium - Trimedia communication
- Pentium - FPGA communication
23Partitioning
- Process/function level partitioning
- Scheduling and binding of tasks onto hw sw
resources - Objective is to minimize total execution time or
to meet a specific time constraint - Problem model
- Single processor with a single bus and multiple
ASICs - Concurrent execution of resources
- Communication overheads
24Problem modeling
- Linear programming
- 0-1 Integer linear programming
- Integer linear programming
- Dynamic Programming
25Inputs
- Dependency graph
- Hardware resources type and number
- Software time estimate for each computation node
- Hardware time estimate for each computation node
- Communication time estimates for each
communication node
26Modes of communication tasks
SW
SW
HW
HW
SW
HW
SW
HW
SW
HW
Different communication costs associated with
different modes
CM
27JPEG Example
Loop Pipelining of JPEG System
28JPEG Example
Xilinx FPGA 32bit RISC microprocessor Communicat
ion delay 4096
Zigzag has been mapped to Hardware Others mapped
to Software
29Synthesis
- Hardware synthesis
- SUIF to VHDL translator
- Software synthesis
- Standard compilers
- Interface synthesis
- Standard buses and manual transformations
- Kernel Synthesis
- Automated synthesis
30Kernel Synthesis Objectives
- To synthesize a customized kernel supporting
- process and thread management
- real time scheduling and timing guarantees for
tasks - relevant device drivers
- portability
31Task Description
- Type of task periodic or not
- Periodicity (if periodic)
- Release time
- Execution time
- Deadline
- Recovery task
32Development Flow
33Kernel Synthesis Status
- Boots and runs on Intel 386 and Trimedia
- Threads with task description
- Real time pre-emptive scheduling
- Pluggable scheduling algorithm
- Semaphores
- VGA for graphics display, Frame grabber on Intel
platforms - Three vision applications ported to both Intel
and TriMedia namely collision detection,
tracking and motion segmentation
34Associated Research Activities
- Platform analysis and visualization by simulation
using probabilistic IO models of components - Communication time estimation, performance
analysis and interface synthesis for applications
with specified QoS - A methodology for ASIP synthesis
35Platform Analysis Visualization
- Inputs Architecture formed by instantiating
components from the library Application tasks
analyzed for extracting certain parameters
Binding - Library Components and their parameterized IO
communication models - Outputs Feasibility and bus bandwidth
utilization with a view to explore binding as
well as choose appropriate communication media - Process Cycle by cycle simulation of the
instantiated component models
36Interface Synthesis for Applications with QoS
Specs
- Multi-Media as well as many network applications
have a QoS specs - Design for worst-case (ignoring QoS) can be very
expensive and wasteful - Interface synthesis and communication bandwidth
requirement under QoS requirements is being
analysed
37ASIP Synthesis
- This work is being carried out in collaboration
with Dortmund University, Germany under a
DST-DAAD exchange collaboration project - Broad responsibilities
- Application analysis and architecture synthesis
IIT Delhi - Retargetable code generation Dortmund University
- First task Customizing the LEON processor
- In the modified design flow, ASIP synthesis
replaces the processor selection step.
38ASIP Design Flow
39Work in Progress
- Parameterizing the synthesizable VHDL model of
LEON along with area, delay and power models of
its components - Extracting application parameters for deciding
number of register windows - Effect of register file size on application
performance and power consumption
40Reference
- All technical reports, references to papers and
status reports on the project are available at - http//www.cse.iitd.ernet.in/esproject
41