Professional Documents
Culture Documents
Final IEEE Penang
Final IEEE Penang
Final IEEE Penang
ON FPGAs
Periodic task:
We associate a period pi with each task Ti.
pi is the interval between job releases.
Deadline constraint
Resource constraints
Shared access
Exclusive access
Precedence constraints
T1 T2: Task T2 can start executing only after T1 finishes its execution
Fault-tolerant requirements
To achieve higher reliability for task execution
Redundancy in execution
7
Real-Time Workload
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 5 10 9
15
REAL TIME ISSUES IN EMBEDDED SYSTEM
What is an Embedded System
Microprocessor
Flexibility
?
Reconfigurable
SoC
ASIP and
Configurable p
ASIC
Performance
12/58
Embedded Systems
An embedded system is nearly any computing system (other than a general-purpose
computer) with the following characteristics
Single-functioned
Typically, is designed to perform predefined function
Tightly constrained
Tuned for low cost
Single-to-fewer components based
Performs functions fast enough
Consumes minimum power
Reactive and real-time
Must continually monitor the desired environment and react to changes
Hardware and software co-existence
13
Modern day Car as ES
Controlling System
- Human driver: Sensors - Eyes and Ears of the driver.
- Computer: Sensors - Cameras, Infrared receiver, and Laser telemeter.
Microcontroller-based systems
DSP processor-based systems
ASIC technology
FPGA technology
16
Integration in System Design
Embedded Software Tools
Time 17
What are FPGAs
FPGAs are programmable digital logic chip
We can program them to do almost any digital
function
Here's the general flow of working with FPGAs:
We use a computer to describe a "logic function" that
we want. We might draw a schematic
We compile the "logic function", using a software
provided by the FPGA vendor.
That creates a binary file that can be downloaded into
the FPGA
Binary file can be downloaded to the FPGA by
connecting cable
That's it! our FPGA behaves according to our "logic
Xilinx Spartan 3e & Altera Cyclone Board
function"
Why FPGAs are Favorable for ES
Customization
Complete flexibility to select any combination of peripherals and controllers
New, unique peripherals that can be connected directly to the processors bus
Component and cost reduction
Multiple component systems can be replaced with a single FPGA
One can reduce board size and inventory management, both of which will save design time and cost
Hardware acceleration
Ability to make trade off between hardware and software to maximize efficiency and performance
Algorithm with software bottleneck, a custom co-processing engine can be designed in the FPGA specially for that
algorithm
Main processor and co-processor architecture makes the total Hardware system much accelerated
Embedded Design in an FPGA
22
Context Switching Analogy
Processor Context Switch FPGA Context Switch
uP FPGA
Software task 1
Region 1 Hardware task 1
OS Software task 2 uP or
Region 2 Hardware task 2
custom
Stack
+
MMU HW
Region 3 Hardware task N
Software task N
HW task B1
HW task A1
Full bitstream 1
Configuration
Port
C1
Full bitstream 2
B2
A2
Mem Controller
Module B
Embedded
processor
initial configuration at startup
Module C
Reconfigurable region: multiple PR regions (PRRs)
PRRs execute PR modules (PRMs) (hardware tasks) Module D
Task 1
Task 2
Task 3
time = 0 1 2 3
35
Global Schedule
Example: 2 processors; 3 tasks, each with 2 units of work
required every 3 time units
CPU 1
CPU 2
time = 0 1 2 3
36
The Big Goal
Design an optimal scheduling algorithm for periodic task sets on
multiprocessors
37
Necessary and Sufficient Conditions
Any set of tasks needing at most
1) 1 processor for each task ( for all i, ui ≤ 1 ) , and
2) m processors for all tasks ( ui ≤ m)
is feasible
Status: Solved
pfair (1996) was the first optimal algorithm
38
New real time task scheduling methodologies for
Reconfigurable Platforms
Why Involving Reconfigurable Platforms
HW Task
Period, deadline, wcet as SW tasks.
Additionally has an area requirement.
Requirement depends on the area model.
41
Area Model
2D model
HW Tasks with variable width and height. 2 3
4
1
• 1D model
– HW Tasks have variable width, fixed height.
1 2 3 4 – Easier implementation, but possibly more
fragmentation.
5/ 18
Assumptions
Processor Identity: All processors are equivalent
43
Concept of Deadline Partitioning
Task 1
Task 2
Task 3
Task 4
44
Deadline Partitioning (Contd..)
CPU 1
CPU 2
45
Working Principle of DPSFR
Example:
Let there be 6 tasks, having weights 24/60, 36/90, 24/60, 72/90, 72/90,
36/90
m=4, tfrg=6 ms, now 1st time slice length=60 ms
The shares to be executed within this time slice is shr1= shr2= shr3=
shr6=24 and shr4= shr5=48 and sum_shr=192
Total available Context switch=└60*4-192/6*4┘=2
Hence we may allow 2 frames in that time slice and at each of length
(60-6*2)/2=24
So, total number of required frames for all tasks
⌈24/24˥+ ⌈24/24˥+ ⌈24/24˥+ ⌈48/24˥+ ⌈48/24˥+ ⌈24/24˥=8
And total number of available frames 2*4=8. so the task set is schedulable
Example(contd..)
Time : 0 6 (Full reconfiguration)
6 30 (1st Frame )
T4 T5
T1 T2
30 36 (Full reconfiguration)
36 60 (2nd Frame)
T3 T5
T4 T6
If the share of any task increased by 1, then sum_shr=193 thus, Cfrg=1, scheduling
infeasible
DPSPR Working Principle
DPSPR (Deadline Partitioning Scheduler for Partially Reconfigurable Systems)
Context switching not a global event
Localized to individual partitions
Partial reconfiguration overhead is low than full reconfiguration over head
Task Graph
Infeasible
52
Criticality of Task Placement
Task Graph
Feasible
53
Heterogeneous Implementations
n
Where, A is FPGA
area
n
HSi is task size
15 T2
20
25
Deadline Miss
Scheduling Strategy
Using pessimistic Execution time
10 area 15 20 25
5
time
5
T1
T3
10 T2
15
20
Deadline Miss
25
space
MIX Critical Scheduling
area
10 15 20
5
time
5
T1
T2 T3
10
15
20
25
Advance Design Thoughts
Software components running on processors exhibit high flexibility but often poor
performance
Hardware components placed on FPGA modules are of high performance but of low
flexibility and higher cost
Making a framework to allow seamless mapping and scheduling of real time tasks on
these complex platform
Low run time overhead, Power budgets and reliability are need to be satisfied
Scheduling a task on S/W or H/W is a crucial decision
An improper execution would lead to deadline failure and more consumption of power
So its serious concern of combined spatial-cum-temporal scheduling
If we conclude…………..
Multi core SSL/TLS security processor architecture and its FPGA prototype design with automated
preferential algorithm, Elsevier Micro, 2015
Error Resilient Secure Multi-gigabit Optical Link Design for High Energy Physics Experiment, VLSID 2016
FPGA Based Novel High Speed DAQ System Design with Error Correction, ISVLSI 2015
FPGA Implementation of High Speed Latency Optimized Optical Communication System Based on
Orthogonal Concatenated Code, ATS 2015
Integrated chip and package co-analysis for early data-driven package bump & ball optimization on
Value-Tier Smartphone products, DAC 2016
An Efficient Synthesis Method for Ternary Reversible Logic, ISCAS 2016
74