fpga based fuzzy logic controller for semi- active suspensions aws abu-khudhair

26
FPGA Based Fuzzy Logic Controller for Semi-Active Suspensions Aws Abu-Khudhair

Upload: shauna-norton

Post on 24-Dec-2015

223 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

FPGA Based Fuzzy Logic Controller for Semi-Active Suspensions

Aws Abu-Khudhair

Page 2: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 2

Outline

• Types of Suspension Systems• Project Objective

Page 3: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

DSP and Reconfigurable Computing Systems

Aws Abu-Khudhair

Page 4: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 4

Outline

• What is DSP?...• Implementation of Various Algorithms…• Advantages of FPGA in DSP…• Tools available/Mapping DSP onto

FPGA…

Page 5: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 5

Resources

[1] “A Primer on FPGA-Based DSP Applications”, by Acromag Inc.

[2] “Designing Digital Signal Processing with FPGAs”, by Allen Kinast

[3] “FPGA Implementations of Fast Fourier Transforms for Real-Time Signal and Image Processing”, by I.S. Uzun, A. Amira and A. Bouridane

[4] “Choosing the Right Architecture for Real-Time Signal Processing Designs”, by Leon Adams.

[5] “Digital Signal Processors: Applications and Architectures”, by Kurt Keutzer

Page 6: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 6

What is DSP?

• Concerned with the manipulation of signals for:– Filtering– Transformation– Decoding/Encoding etc.

• Widely implemented in PDSP

Page 7: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 7

DSP Applications

• Wireless Communication• Audio Applications • Image Processing/Medical

Imaging• Networking• Weather forecasting

Page 8: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 8

Various Algorithms

• Finite Impulse Response (FIR) filters

• Fast Fourier Transforms (FFT)

• Infinite Impulse Response (IIR) filters• Forward Error Correction (FEC)• Modulation/Demodulation

Page 9: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 9

DSP Implementation Comparison

Technology Performance Cost Power Flexibility Design Effort

GPP Low Low Medium High Low

PDSP Medium Medium Medium Medium Medium

FPGA Med-High Medium Low-Med High Medium

ASIC High High Low Low High

Most suitable technology??

Page 10: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 10

PDSP vs. FPGA

• PDSP– Specialized microprocessor based on the

Von Neumann arch.– Programmed in C/assembly for performance– Suited for complex math-intensive tasks, with

conditional processing.– Limited in performance by the clock rate and

number of operations it can perform per clock cycle.

• e.g. TMS320C6201 has 2 multipliers + 200MHz clock 400M multipliers/second

Page 11: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 11

PDSP vs. FPGA cont.

• FPGA– Uncommitted gates– Programmed by HDL. – Performance limited by the number of gates

and clock rate.– Suited for a wide range of applications

Page 12: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 12

Advantages/Disadvantages of FPGA

• Advantages– Parallel Processing (Performance)– Flexible Architecture– Price– Power Demand compared to DSP

• Disadvantages– Higher development cost and increased time

to market than DSP– Implementation of conditional processing

Page 13: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 13

Important Building Blocks

• Add• Subtract• Multiply• Multiply and Add• Multiply and Accumulate (MAC) Unit

Data Out

Reg

MAC unitCoefficient

Page 14: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 14

256 Tap FIR Filter

256 Loops needed to process samples1 FIR tap per DSP instruction cycle

Conventional DSP – Serial processing

Page 15: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 15

256 Tap FIR Filter cont.

All 256 MAC operations in 1 clock cycle

FPGA – Parallel processing

Page 16: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 16

FPGA Design Flexibility

FPGA – Design Optimization

×

×

×

× +

+

+

+

+

+

+

D Q ××

+

+

+

+

D Q

Parallel Semi-Parallel Serial

Speed Cost

Q = (A x B) + (C x D) + (E x F) + (G x H)

Multiply and Add

Page 17: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 17

Performance of PDSP VS. FPGA

FeatureConventional

PDSP Virtex –II

Virtex –II pro

Spartan-3

8 x 8 Multiply Accumulate (MAC)

5.7 billion MAC/s0.5 Tera MAC/s

1 Tera MAC/s

0.27 Tera MAC/s

FIR Filter

- 256 taps, linear

phase

- 16-bit

data/coefficients

11.16 MSPS

720 MHz

180 MSPS

180 MHz

300 MSPS

300 MHz

140 MSPS

140 MHz

Complex FFT

- 1024 point, 16-bit

data

8.5 s

720 MHz

0.914 s

140 MHz

0.853 s

150 MHz

0.914 s

140 MHz

Page 18: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 18

Advanced FPGA Architectures with DSP Resources

Features Virtex-4 Startix II ECP-DSP

Clock Management

DCM – up to 20

PLL – up to 12sysCLOCK

PLL – up to 4

Embedded Memory

BlockRAM up to 10 Mb

TriMatrix memory up to

9 Mb

sysMEM blocks up to 498 Kb

Data Processing

Up to 200K CLBs & 512 XtremeDSP

Slices

Up to 179K LEs, 384

Embedded multipliers & 96

DSP blocks

Up to 4096 PFUs, 32 multiplier

blocks & 8 DSP blocks

Clock Speed Up to 500 MHz Up to 500 MHz Up to 250 MHz

Page 19: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 19

DSP Design tools

• C, C++• MATLAB / Simulink• HDL (VHDL / Verilog)• Xilinx EDK/ISE

Page 20: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 20

MATLAB / Simulink

Page 21: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 21

Simulink

Page 22: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 22

Simulink + ISE

Page 23: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 23

Design flow with FPGA

Page 24: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 24

DSP Design Evolution from HW DSP to FPGA DSP solutions

1. Signal capture and sync.2. Data exchange methodology3. off-the shelf hardware4. Logic Processing5. Price/Feature6. Data/Sample rates7. Debugging8. Use of IP cores9. I/O interface10. Development cycles11. Deployment cost

Page 25: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 25

Conclusion

• “The primary reason solutions were so expensive to design, slow to develop and prove, and difficult to re-deploy was that the solutions were fixed in hardware” [1]

Page 26: FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair

Aws Abu-Khudhair ENGG 6530 26

Questions?

• Thank you