APPLIED SIGNAL PROCESSING AND IMPLEMENTATION Introduction to 9 & 10th semester Fall 2005

Download Report

Transcript APPLIED SIGNAL PROCESSING AND IMPLEMENTATION Introduction to 9 & 10th semester Fall 2005

APPLIED SIGNAL PROCESSING
AND IMPLEMENTATION
Introduction to 9 & 10th semester
Fall 2005
Outline
1.
2.
3.
4.
5.
6.
7.
Basic ASPI Model (A3)
Trends from S8 -> S9 -> S10
Course overview
Project work
Reading suggestions
Formation of project groups
Group Rooms, Schedule, Home Page etc
ASPI Introduction
2
A3 Paradigm
Applications
1
Algorithms
4
5
Architectures
2
3
Application: Non-Linear Signal Processing etc.
1. Algorithm selection
2. Simulation
3. Architecture selection and modelling
4. Design Space Exploration
5. HW/SW Co-Design
ASPI Introduction
3
Basic ASPI Model (A3)
Applications
Algorithms
Architectures
For each application
=> many candidate algorithms
For each algorithm
=> many implementation architectures
=> Large no. of solutions => Large Design Space
ASPI Introduction
4
Focus of S8ASPI
Applications
1
Algorithms
Architectures
2
3
1. Application to Algorithm Transformation
2. Simulation & Implementation Environments
ASPI Introduction
5
Focus of S9 ASPI
Applications
1
Algorithms
Architectures
4
5
2
1. App -> Alg: Non-Linear Signal Processsing and others
2. Simulation
4-5.Alg  Arch:HW/SW Codesign and Architecture Exploration
ASPI Introduction
6
Focus of S10 ASPI
Applications
Algorithms
Architectures
1. Proving your potential for R&D
2. Closing the loop
ASPI Introduction
7
9th Semester
Applied Signal Processing and Implementation
THEME:
Non-linear DSP Methods and Real-Time Architectures
PERIOD:
1 September – 31 January
PURPOSE:
To enable the students to understand, analyze, and employ state-of-theart DSP methods and algorithms, for example in the domain of non-linear
techniques.
To enable the students to apply theories and methods
to select, analyze and evaluate heterogeneous DSPprocessor architectures given a DSP functionality
under the constraint of some cost function.
ASPI Introduction
8
Putting it all together
8.sem
Design Methodology
9.Sem
Algorithm analysis
SW Platform analysis
HW Platform analysis
SW compilers
HW compilers
Design Space Expoloration
ASPI Introduction
9
9th Semester Courses
S9 Theme: Non-linear DSP Methods and Real-time Architectures
FP9-2
Discrete-Time Kalman Filtering
2 ECTS
SE/KB
ASPI9-2A
ASPI9-2B
ASPI9-3
ASPI9-4
Mob9-2
HW/SW CoDesign
HW Platform Analysis, Comp. & Optim.
Non-linear Signal Processing
Neural Networks
Radio Communication III
2 ECTS
2 ECTS
2 ECTS
1 ECTS
1.4 ECTS
PE/YM/PK
PE/YM/PK
PE/PR
EL/UH
EL/FF
Project
22 ECTS
S10 Master Thesis in Applied Signal Processing and Implementation 30 ECTS
EL : ELective Course
ASPI Introduction
10
Project Work Overview
Project Development Model
1.
2.
3.
4.
5.
6.
Application domain study
Algorithm Development and Simulation
Design Space Exploration
Implementation
Evaluation of results
Next step
ASPI Introduction
11
Project Work Overview
Project Development Model
1.
2.
3.
4.
5.
6.
Application domain study
Algorithm Development and Simulation
Design Space Exploration
Implementation
Evaluation of results
Next step
ASPI Introduction
12
HW/SW Co-Design: generic flow
ASPI Introduction
13
Project Work Technology
Platform:
Components:
Lang.:
Property:
PC
FPGA
Pentium Proc.
Sync. Logic PE’s
Soft Proc.
Hard Proc.
C
HandelC
C
C
Seq, Gips, 100 W
Par, ??, ??
Seq, Mips, ??
Seq, Mips, ??
FPGA
Supplier:
Xilinx
Components:
Lang.:
Property:
MicroBlaze Proc.
PowerPC
NIOS
ARM
Sync. Logic PE’s
C
C
C
C
HandelC
32 bit RISC
32 bit RISC
16 bit RISC
16/32 bit RISC
”Anything”
Altera
Xilinx,
ASPI
Introduction
Altera
14
Project Work Content
• 2 conventional processor platforms
• 2 languages
• Complex Design Software
=> Keep projects simple(at first)
Generic project example:
Design, implement and test a processor/coprocessor
architecture, that speeds up the execution of a selected
algorithm or eventually a family or a set of algorithms
ASPI Introduction
15
Project Work Content
An example can be found in:
Accelerating C Software Applications
Results:
FPGA, 50MHz w/o I/O .71
FPGA, 50MHz with I/O 15.61
Pentium, 3.6GHz
0.64
PPC405, 400MHz
24.20
Iterations
100
Acceleration (@10K iterations)
3.03 4.69
16.48 144.71 147X
15.47 15.32 22.74 149.40 106X
2.51 5.32
23.11 199.55 104X
242
484
2418
n/a
1
1000 2000 10000 100000
Notes:
Figure 5. Test results for a range of maximum iteration values demonstrate substantial speedup of
the algorithm (167X when using two parallel processes) compared to an embedded processor
implementation.
ASPI Introduction
16
Project Work Content
Specific project examples:
1. Vector Co-processor (next pages)
2. Active Noise Cancellation in Headsets, Per Rubak
3. Any suitable algorithm, that you/we may suggest
1. GSM Vocoder (Ch. 5 in SpecC book)
2. H263 Video Decoder (prev. S10 project)
3. RS codec for DVB-H (prev. S10 project)
4. Digital Camera example (Ch. 7 in Vahid’s book)
5. Video filtering
6. 3GDSP algorithm examples
7. A.s.o.
ASPI Introduction
17
Vector Inner Product (1)
c = aTb
Ex. (3 elements)
(a transposed times b)
c is a scalar, a and b are vectors (real valued)
a = [a1, a2, a3]T
b = [b1, b2, b3]T
c = a1*b1 + a2*b2 + a3*b3;
Pseudo code
acc = 0;
for i=1:3,
acc = acc + a[i]*b[i];
end;
c = acc;
Parallelism, Control & Communication
How to combine with NIOS/MicroBlaze
When is it beneficial
etc
ASPI Introduction
18
Vector Inner Product (2)
Example algoritms
FIR filter
a represents the filter coefficients
b represents the buffer of the signal to be filtered
c represents the filtered signal
Matrix multiplication may be described as a set of
vector inner products.
Several matrix operations may be described
as sets of vector operations.
ASPI Introduction
19
Project Work Details
Application/Algorithm
Implementation(s)
SW (PC/AD/ARM) HW(Xilinx/Altera)
Implementation
SW + HW
MicroBlaze/NiosII + Co-processor
Implementation Analysis
(Partial) design methodology
Application/Algorithm Analysis
Implementation Analysis
Suggestions for HW/SW partitioning
ASPI Introduction
20
Project Work Results
ASPI Introduction
See also slide
21
Lab Resources
Available platforms:
1. 2 RC100 boards (“small” Xilinx FPGA),
2. 2 RC203 boards (“medium” Xilinx FPGA),
3. 2 Altera boards (“medium” Altera FPGA),
4. TI and AD DSP boards (model ? quantity ?),
5. 1 Lyrtech Signal-Master board (FPGA+DSP, no support!!!)
Available development tools:
1. Celoxica DK3 design tools
2. Xilinx & Altera design tools
ASPI Introduction
22
Reading suggestions/Articles
Closely Coupled Co-processors for Algorithmic Acceleration
Accelerating C Software Applications
Applications of Reprogrammability in Algorithm Acceleration
Algorithmic C Synthesis Fuels Functional Reuse
Using Hardware Acceleration Units in
Software Defined Radio Modem Functions
Finding the best System Design Flow for a High-Speed JPEG Encoder
From C software to FPGA hardware
ASPI Introduction
23
Reading suggestions/Books
1. SpecC: Specification Language and Design Methodology
2. System: Design: A Practical Guide with SpecC
See also SpecC System
3. Embedded System Design:
A Unified Hardware/Software Introduction
ASPI Introduction
24
Formation of project groups
1. Study project ideas carefully
2. Discuss with teachers
3. Prepare for Sept. 14th. a specific project proposal and a list
of participants
4. Present your proposal at the next semester group meeting
to be held at ???
ASPI Introduction
25
ASPI Group Rooms, Home Page etc
Group Rooms:
9ASPI 12 studerende i 1 grupperum
RUM:
A6-108/ 36 m2
Home Page:
http://kom.aau.dk/~dsp/aspi05-02/sites/default/
Secretary:
Dorthe Sparre
Fredrik Bajers Vej 12, A5-214
Phone: +45 9635 8616
E-mail: Dorthe Sparre <[email protected]>
ASPI Introduction
26
9th Semester Courses
ASPI9-2A Hardware/Software Codesign
Purposes:
1. Give the students the essential knowledge about problems related to
the design of modern digital systems for various applications,
in particular mobile applications.
2. Make the students understand how to apply digital electronic
components efficiently in such systems.
3. Make the students able to apply a systematic design methodology to
arrive at near-optimal implementations, using design tools for
evaluating a large number of alternatives
(Design Space Exploration, DSE).
ASPI Introduction
27
9th Semester Courses
ASPI9-2B Hardware Platform Analysis, Compilation, and
optimization
Purposes:
1. To provide the students with:
knowledge about one particular state-of-the-art IC technology, and
comprehension about its usage in modern integrated system design.
2. To make the students understand and apply methods for synthesizing from a functional description to an optimal heterogeneous
architecture in terms of physical size, execution time, and power
consumption.
3. To provide comprehension on syntax and semantics of a specific
modern Hardware Description Language (HDL).
4. To make the students able to apply the above topics in terms of
formal methods for structures HW/SW Codesign.
ASPI Introduction
28