Evaluation and optimization of a Tensilica processor for ...

65
Institut für Mikroelektronische Systeme Smart HeaP Evaluation and optimization of a Tensilica processor for hearing aids Tensilica Day 2019 M.Sc. Jens Karrenbauer, Dipl. Ing. Lukas Gerlach, Prof. Dr.-Ing. Holger Blume, Jun.-Prof. Dr.-Ing. Guillermo Payá Vayá

Transcript of Evaluation and optimization of a Tensilica processor for ...

Page 1: Evaluation and optimization of a Tensilica processor for ...

Institut für Mikroelektronische Systeme

Smart

HeaP

Evaluation and optimization of a Tensilicaprocessor for hearing aids

Tensilica Day 2019M.Sc. Jens Karrenbauer, Dipl. Ing. Lukas Gerlach,

Prof. Dr.-Ing. Holger Blume, Jun.-Prof. Dr.-Ing. Guillermo Payá Vayá

Page 2: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 2

Institut für Mikroelektronische Systeme

Smart

HeaP

Motivation

Smart Hearing Aid Processor (Smart HeaP)

Framework

Profiling And Optimization Techniques

Virtual Prototyp

Outline and Future Work

Outline

Page 3: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 3

Institut für Mikroelektronische Systeme

Smart

HeaP

"obs Fördergemeinschaft Gutes Hören (FGH)"

<20 years 21-40 years 41-60 years >60 years

normal slight hearing loss moderate significant heraing loss

Around 466 million people suffer from a hearing loss (WHO)

Less than 16% of the affected Americans use hearing aids

(NIDCD)

Small form factor

Low power: a few mW

Low processing delay: <10 ms

Programmability / flexibility

MotivationChallenges For Hearing Aid Processors

Microphone

Digital Signal

Processor

Battery

Reciver

Page 4: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 4

Institut für Mikroelektronische Systeme

Smart

HeaP

Smart Hearing Aid Processor (SmartHeaP)ASIC Concept

Page 5: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 5

Institut für Mikroelektronische Systeme

Smart

HeaP

Associative partnerSubvendors

Project partner

Smart Hearing Aid Processor (SmartHeaP)Collaborated BMBF Project

Audio algorithms

ASIC technologies

Processor framework

Project management

SoC Design

SmartHeaP

Processor architecture

Bluetooth Modem

Hearing aid vendorAD/DA DesignHearing aid vendor NFMI module

Page 6: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 6

Institut für Mikroelektronische Systeme

Smart

HeaP

Selection of a processor architecture

Smart Hearing Aid Processor (SmartHeaP)Steps And Goals

Fusion

F1

Fusion

G3

Fusion

G6

HiFi 2

HiFi 3

Cadence Tensilica Processors

Implementation of reference algorithms

Profiling and design space exploration

HiFi 4

HiFi 5

Processor evaluation

Performance gain evaluation

Hifi4 G3 G6

Load/Store (Bits) 2x32 2x128 2x256

ALU ops/cycle * 4 4 8

MACs/cycle * 4 4 8

Issue-Slots 4 4 4

SIMD * 2 4 8

*32-Bit operands

Page 7: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 7

Institut für Mikroelektronische Systeme

Smart

HeaP

Smart Hearing Aid Processor (SmartHeaP)Area and Power Consumption

0

5

10

15

20

25

0

0,2

0,4

0,6

0,8

1

1,2

Co

re P

ow

er (

mW

)

Co

re S

ize

(mm

2)

Core Size (mm2) Core Power (mW)

28 nm HPL technology at 100 MHz

F1

H4

G3

G6

F1 F1 F1

H4 H4

G3 G3

G6 G6

Page 8: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 8

Institut für Mikroelektronische Systeme

Smart

HeaP

FrameworkFixed–Point Code And DSE Flow

Noise reduction

DOA-SVM-MVDR

Feedback cancellation

Dynamic compressor

Hörtech

Configuration Test wav input

Page 9: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 9

Institut für Mikroelektronische Systeme

Smart

HeaP

FrameworkFixed–Point Code And DSE Flow

Fusion F1

Fixed-Point analyses

Fixed-Point coderFusion G3

Fusion G6

HiFi 4

HiFi 2

Software

optimization

Cycle-accurate profiling (ISS)

Hardware evaluation

Build

automation

Verification

Hörtech

Configuration Test wav input

Page 10: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 10

Institut für Mikroelektronische Systeme

Smart

HeaP

Bit width reduction

Optimization of the compiler options (Memory-Alignment, Auto-

Vectorize, Loop-Unrolling, IPA …)

Use and evaluation of processor specific libraries

FFT

Division

Exponential functions

Logarithmic functions

Absolut value of a complex number

Multiplication

Profiling And OptimizationTechniques

Noise Reduction

DOA-SVM-MVDR

Feedback Cancellation

Page 11: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 11

Institut für Mikroelektronische Systeme

Smart

HeaP

0

20000

40000

60000

80000

100000

120000

140000

160000

0 1000 2000 3000 4000 5000

Cyc

les

FFT Size

FFT Processing Performance Comparison

HiFi4

HiFi3

HiFi2

Fusion F1

Fusion G3

Fusion G6

Profiling And OptimizationProcessor Specific Libraries

Page 12: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 12

Institut für Mikroelektronische Systeme

Smart

HeaP

BeamformingCocktail Party

Page 13: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 13

Institut für Mikroelektronische Systeme

Smart

HeaP

Binaural Steering Beamformer

Adiloğlu, Kamil, et al. "A binaural steering beamformer system for enhancing a moving speech source." Trends in hearing (2015)

Page 14: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 14

Institut für Mikroelektronische Systeme

Smart

HeaP

Profiling And OptimizationGCC Feature Extraction Profiling Results

0

1.000.000

2.000.000

3.000.000

4.000.000

5.000.000

6.000.000

Cyc

les

G6G6G6 G3 G3

G3

H4

H4 H4 H5

F1 F1

F1 F1

Page 15: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 15

Institut für Mikroelektronische Systeme

Smart

HeaP

Profiling And OptimizationSupport Vector Machine Profiling Results

0

50.000

100.000

150.000

200.000

250.000

300.000

350.000

Cyc

les

G6 G6G6 G3G3 G3 H4 H4H4H5

F1F1

F1F1

Page 16: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 16

Institut für Mikroelektronische Systeme

Smart

HeaP

Profiling And OptimizationMVDR Beamformer

05.000

10.00015.00020.00025.00030.00035.00040.000

Cyc

les

openMHA Referenz

Loopunrolling undUmsortierung

Auftrennen vomcomplexem Struct

G6 G6G6 G3G3 G3

H4 H4H4

F1F1 F1 F1

H3

H5

openMHA reference

Loop unrolling and

reordering

Separation of

complex structs

Page 17: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 17

Institut für Mikroelektronische Systeme

Smart

HeaP

vX

Delay

dM

Pre-

whiten

vY-dLp

Delay

vE-dG

+

GainvU = G*vE

vU

vWfull

-

IIR

Delay

vU-dW

dL

DelayvU-dW

vU-dLp

+ -

LMS

EPrew

LPC

H. Schepker, S. Doclo, "A semidefinite programming approach to min-max estimation of the

common part of acoustic feedback paths in hearing aids,“ IEEE Trans. Audio, Speech, Lang.

Process., vol. 24, no. 2, Feb. 2016, pp. 366-377.

Profiling And Optimization Adaptive Feedback Cancellation (AFC)

Page 18: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 18

Institut für Mikroelektronische Systeme

Smart

HeaP

Profiling And Optimization Adaptive Feedback Cancellation (AFC)

0

10.000.000

20.000.000

30.000.000

40.000.000

50.000.000

60.000.000

70.000.000

Cyc

les

G6

G6

G6

G3

G3 G3 H4H4H4H5

F1 F1

F1 F1

Page 19: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 19

Institut für Mikroelektronische Systeme

Smart

HeaP

Verification with a virtual prototype made by Cadence

F. Kautz, H.-M. Blüthgen, D. Langen, C. Sauer: Smart Hearing Aid Architecture Overview, Cadence Design Systems, 6. SmartHeaPProjekttreffen in Erlangen, 13.08.19

Page 20: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 20

Institut für Mikroelektronische Systeme

Smart

HeaP

Challenges for Hearing aid processors

Framework for design space exploration

Profiling and optimization results

Decision made for Tensilica Fusion G6

Continue the optimizations

Code optimizations

TIEs

Tape out in 22nm FDSOI

Outline And Future Work

Page 21: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 21

Institut für Mikroelektronische Systeme

Smart

HeaP

Thank you for your attention!

Further Questions?

Page 22: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 28

Institut für Mikroelektronische Systeme

Smart

HeaP

Erstellung und Nutzung prozessor-spezifischer Bibliotheken

FFT

Division

Exponentialfunktion

Logarithmusfunktion

Betrag einer komplexen Zahl

Multiplikationen

Reduktion der Wortbreite

Optimierungen für den Compiler (Memory-Alignment, Auto-

Vektorisierung, Loop-Unrolling, IPA …)

Software Mapping und Optimierungen

Noise Reduction

DOA-SVM-MVDR

Feedback Cancellation

Page 23: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 29

Institut für Mikroelektronische Systeme

Smart

HeaP

A Binaural Steering Beamformer System for Enhancing a Moving Speech Source

Adiloğlu, Kamil, et al. "A binaural steering beamformer system for enhancing a

moving speech source." Trends in hearing 19 (2015)

Page 24: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 31

Institut für Mikroelektronische Systeme

Smart

HeaP

A Binaural Steering Beamformer System for Enhancing a Moving Speech Source

Speicheranforderungen

Read-Only Data Text

Byt

es 20000

35000

GCC Feature Extraction Profiling Results

Page 25: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 32

Institut für Mikroelektronische Systeme

Smart

HeaP

A Binaural Steering Beamformer System for Enhancing a Moving Speech Source

Adiloğlu, Kamil, et al. "A binaural steering beamformer system for enhancing a

moving speech source." Trends in hearing 19 (2015)

Page 26: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 34

Institut für Mikroelektronische Systeme

Smart

HeaP

0

20

40

60

80

100

120

140

160

180co

s_32b

sin_32b

tan_32b

ata

n_32b

exp_32b

sqrt

_32b

log2_32b

div

ide_

32b

Cyc

les

Trigonometric Math Function (32 bit Fixed Point)

Trigonometric Math Function Performance Comparison

HiFi4

HiFi3

HiFi2

Fusion F1

Fusion G3

Fusion G6

Prozessor-spezifische Bibliotheken

Page 27: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 35

Institut für Mikroelektronische Systeme

Smart

HeaP

A Binaural Steering Beamformer System for Enhancing a Moving Speech Source

Speicheranforderungen

Read-Only Data

Text

Byt

es

100000

Classification Profiling Results

Page 28: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 36

Institut für Mikroelektronische Systeme

Smart

HeaP

A Binaural Steering Beamformer System for Enhancing a Moving Speech Source

Adiloğlu, Kamil, et al. "A binaural steering beamformer system for enhancing a

moving speech source." Trends in hearing 19 (2015)

Page 29: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 37

Institut für Mikroelektronische Systeme

Smart

HeaP

A Binaural Steering Beamformer System for Enhancing a Moving Speech SourceMVDR Beamformer

Speicheranforderungen

Read-Only Data

Text

Byt

es

600000

Page 30: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 41

Institut für Mikroelektronische Systeme

Smart

HeaP

Unbiased MMSE-based Noise Power Estimation with Low Complexity and Low Tracking Delay

Speicheranforderungen

Read-Only Data Text

Byt

es

25000

Uninitialized Data

Page 31: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 42

Institut für Mikroelektronische Systeme

Smart

HeaP

Feedback Algorithmus (AFC)

SpeicheranforderungenRead-Only Data

Text

Byt

es

80000

Page 32: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 43

Institut für Mikroelektronische Systeme

Smart

HeaP

Zusammenfassung der Profiling Ergebnisse

0

1.000.000

2.000.000

3.000.000

4.000.000

5.000.000

6.000.000

7.000.000

8.000.000

Übersicht über Zyklen aller Algorithmen

DOA_EXTRACTION DOA_CLASSIFICATION MVDR AFC NOISE

Page 33: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 44

Institut für Mikroelektronische Systeme

Smart

HeaP

Verifikation of Soft- and Hardware

Verifikation ist Teil der Algorithmen-

Implementierung

Verifikation werden automatisch

generiert:

Unit-Tests des Master Hearing Aid

Master Hearing Aid als Referenz-

Implementierung

Matlab Implmentierung in Floating

Point und Fixed Point (Bit-genau)

Page 34: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 45

Institut für Mikroelektronische Systeme

Smart

HeaP

vXL

FFT

Filterbank

3D

Gaintable

vXR

FFT

Filterbank

3D

Gaintable

Compute

Bandwidth

Compute

Bandwidth

BL

BR

Compute

Binaurality

DL

FFT

Filterbank

FFT

Filterbank

DGL

DGR

Apply

Correction

Apply

Correction

iFFT

Filterbank

iFFT

Filterbank

Binauraler breitbandiger Dynamikkompressor

Oetting, Dirk; Adiloğlu, Kamil

Page 35: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 46

Institut für Mikroelektronische Systeme

Smart

HeaP

Hardware Implementation Flow ist aufgesetzt

GF 20 nm PDK ist verfügbar

INVECAS IP Bibliotheken sind angefragt

Racyics NDA unterzeichnet

Analyse der Energieaufnahme der Hardwarekomponenten zur Energieeffienzabschätzung

Page 36: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 47

Institut für Mikroelektronische Systeme

Smart

HeaP

3 reference algorithm implemented on all Tensilica Cores

Applied software optimizations

Profiling results indicate that Fusion G6 might be a good choice

Further work

Apply DSE flow for last reference algorithm

Integrate Hardware acceleration

Power Analysis

Conclusion and Further Work

Page 37: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 48

Institut für Mikroelektronische Systeme

Smart

HeaP

Page 38: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 49

Institut für Mikroelektronische Systeme

Smart

HeaP

Erstellung von TIEs

Erstellung spezifischer Akzeleratoren mit Hilfe von VHDL (z.B.

für Filterbänke, komplexe arithmetische Funktionen etc.)

Erste Ideen existieren

Implementierung existieren

Beispiele existieren aus Projekten wie Hearing4All

Co-Prozessoren und Funktionelle Einheiten für

Audiosignalverarbeitung

AP5 – Design und Optimierung der ISA des ProzessorsAP6 – Design von dedizierten Akzeleratoren Statusupdate

Page 39: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 50

Institut für Mikroelektronische Systeme

Smart

HeaP

CORDIC Coprocessor(COordinate Rotation DIgital Computer)

MVI_32 VxR70, #1

ANDCS_32 VxR70, VxR70, SHIFT_CNT

SMVI CONDSEL, #0b0010 // COND_Z

MIXL_32 VxR54, VxR53, VxR53

MIXR_32 VxR70, VxR53, VxR53

MVCR_32 VxR54, VxR70

SMVI VxR98, REG_Z_OUT, #0

CONDSEL, #0b0011 // COND_N

SUBICS_32

// Kernel equations

// x = x - sigma * 2^(-iteration) * y

// y = y + sigma * 2^(-iteration) * x

HW SW

Fast computations of non-linear functions

Hyperbolic and trigonometric

operations

Sine Cosine Exponential Natural

logarithm

Square

root

Cycles

KAVUAKA+CORDIC (HW)

KAVUAKA (SW)

TI TMS320C6478

71

621

1259

71

621

1523

76

668

1529

56

664

1134

59

649

341

Page 40: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 51

Institut für Mikroelektronische Systeme

Smart

HeaP

Complex-valued MAC

Specialization Techniques

Processor: KAVUAKA 32 Point FFT Cycles Core Area (40 nm Low Power TSMC )

Real-valued SIMD MAC 570 0.237 mm2

Real- and Complex-valued SIMD MAC

and Butterfly Operations135 (Speedup: 4.22 x) 0.255 mm2 (Overhead: 7%)

Instruction MemoryPC

Instruction

Decoder

Register File

64 registers

Issue 0

Write

ba

ck p

ath

s

Instruction

Decoder

Issue 1

IF / EX

MAC

FUALUData

Mem

EX / WB

Fo

rwa

rdin

g p

ath

s

Forwarding

Co-

Processor

V0RF 4r2w (32) V1RF 4r2w (32)

X2

MO

DE

X2

MO

DE

Page 41: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 52

Institut für Mikroelektronische Systeme

Smart

HeaP

Optimierung der Referenzalgorithmen

Algorithmische Optimierungen

Verwendung der vorhandenen Prozessor-spezifisch

optimierten Bibliotheken

Umsetzung der Referenzalgorithmen auf die Tensilica-

Architektur

Zweiter Algorithmus ist vollständig implementiert

Zusammenstellung einer C oder C++ Bibliothek

Automatisch generiert inklusive Datentypen + Tensilica Libs

Verifikation des Compilers-Frameworks

Verifiziert mit Bit-genauen Matlab Modellen und dem MHA

AP7 – Software-Mapping der Referenzalgorithmen auf neue Architektur

Page 42: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 53

Institut für Mikroelektronische Systeme

Smart

HeaP

Cadence hat den virtuellen Prototypen (VP) zur Verfügung gestellt

Erster Test des VP erfolgreich:

‘Hello World’ mit dem Fusion G3

DOA-SVM-MVDR Debugging im VP über GUI

Der virtuellen Prototyp (VP) soll für die Hardware Integration (Co-

Prozessoren + Interfaces) genutzt werden

Virtual Prototyping

Page 43: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 54

Institut für Mikroelektronische Systeme

Smart

HeaP

Profiling: Akustische BeamformerReferenzalgorithmen

𝜏

Fixed Beamformer

Adaptive Gain Beamformer

Adaptive Filter Beamformer

GSC Beamformer

MVDR Beamformer

Page 44: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 55

Institut für Mikroelektronische Systeme

Smart

HeaP

Tradeoff between Beamforming Algorithms and TensilicaProcessor Configurations

3822 3822

1025

2954 29542640

0

500

1.000

1.500

2.000

2.500

3.000

3.500

4.000

4.500

LX7 Hifi2 TI

An

zah

l der

Zy

klen

/In

stru

ktio

nen

254 254

385

287 258

500560 560 532

352 325

705

0

200

400

600

800

Hifi4 Hifi4 +Multiplizierer

F1 G3 G6 KAVUAKA

Zyklen Instruktionen

0,77 0,77 2,58 2,2 2,2 1,38 1,23 1,26 1,41

1 2 8 4 4 2 4 4 2

0%

50%

100%

LX7 Hifi2 TI Hifi4 Hifi4 +Multiplizierer

F1 G3 G6 KAVUAKA

Au

slas

tun

g

Instruktionen pro Zyklus Anzahl der verfügbaren Issue-Slots

Adaptive Filter Beamformer

Page 45: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 56

Institut für Mikroelektronische Systeme

Smart

HeaP

Tradeoff between Beamforming Algorithms and TensilicaProcessor Configurations

050

100150200250300350400

Hifi4 +Multiplizierer

Hifi4

F1G3

G6

Benötigte Zyklen

0%

20%

40%

60%

80%

Hifi4 +Multiplizierer

Hifi4

F1G3

G6

Auslastung

0

2

4

6

8

Hifi4 +Multiplizierer

Hifi4

F1G3

G6

MHz

Minimal benötigte Frequenz zur Echtzeit

Page 46: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 57

Institut für Mikroelektronische Systeme

Smart

HeaP

Analyse der Energieaufnahme der Hardwarekomponenten zur

Energieeffienzabschätzung

Hardware Implementation Flow ist aufgesetzt

GF 22FDX PDK ist vorhanden

INVECAS IP Bibliotheken sind angefragt

AP4 – Profiling der ReferenzalgorithmenStatusupdate

Page 47: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 58

Institut für Mikroelektronische Systeme

Smart

HeaP

Fusion vs HiFi Chipfläche vs Energieverbrauch

0

5

10

15

20

25

0 0,2 0,4 0,6 0,8 1 1,2 1,4 1,6 1,8 2

Ener

giev

erb

rau

ch in

mW

Chipfläche in mm²

LX7 Hifi2

F1Hifi4+MultipliziererHifi4

1 Slot 2 Slots 4 Slots

G3

G6

KAVAUKA

40 nm TSMC Technologie bei 100 MHz

28 nm HPL Technologie bei 100 MHz

Page 48: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 59

Institut für Mikroelektronische Systeme

Smart

HeaP

Fusion vs HiFiChipfläche vs Performance

0

0,2

0,4

0,6

0,8

1

1,2

1,4

1,6

1,8

2

- 500 1.000 1.500 2.000 2.500 3.000 3.500 4.000

Ch

ipfl

äch

e in

mm

²

Anzahl der ZyklenMVDR Beamformer Fixed BeamformerFixed Beamformer mit intrinsischen Instruktionen Adaptive Gain BeamformerAdaptive Filter Beamformer Framebasierter Adaptive Filter BeamformerGSC Beamformer

KAVUAKA

G6

G3

Hifi4 + Multiplizierer

Hifi4

F1Hifi2Lx7

Page 49: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 60

Institut für Mikroelektronische Systeme

Smart

HeaP

Binauraler breitbandiger Dynamikkompressor

Oetting, D., Hohmann, V., Appell, J. E., Kollmeier, B., & Ewert, S. D. (2018). Restoring perceived

loudness for listeners with hearing loss. Ear and hearing, 39(4), 664-678.

Page 50: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 61

Institut für Mikroelektronische Systeme

Smart

HeaP

Profiling Ergebnisse auf Building Block- und Instruktions-Ebene

43%

14%

10%

26%

3%

4%

Function Profiling for Fusion G3

REAL_FFT COMPLEX_FFT

COMPARE DIVIDE

EXPONTENTIAL MULTIPLY

9%

8%

7%

7%

6%

4%4%

3%3%3%2%2%2%

2%2%

2%2%

1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%

ISA Profiling for Fusion G3

l32i or movi s32iaddi l32r call8 l32i.ns32i.n add j retwslli sub src beqzextui nop movi.n entryretw.n mov.n movnez mulland bgeu addmi sraissai beqz.n saltu bltul16ui add.n bnez addi.ns16i addx8 bltz sllsrli mulsh xor moveqzbne blti loop srlloopgtz ssl nop.n ssr

Page 51: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 62

Institut für Mikroelektronische Systeme

Smart

HeaP

Page 52: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 63

Institut für Mikroelektronische Systeme

Smart

HeaP

Fusion F1

Fixed–Point Implementation Code Generation and DSE Flow

doasvm.cfg Test wav Input

Hörtech

Fixed-Point Analysis

Fixed-Point Coder

Fusion G3

Fusion G6

Build

Automation

doasvm_acsave.mat

The MathWorks

Inputs

Parameter

Constants

Reference Outputs

HiFi 4

HiFi 2

Page 53: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 64

Institut für Mikroelektronische Systeme

Smart

HeaP

Akustische BeamformerReferenzalgorithmen

𝜏

Fixed Beamformer

Adaptive Gain Beamformer

Adaptive Filter Beamformer

GSC Beamformer

MVDR Beamformer

Page 54: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 65

Institut für Mikroelektronische Systeme

Smart

HeaP

Akustische BeamformerAdaptive Gain Beamformer

Page 55: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 66

Institut für Mikroelektronische Systeme

Smart

HeaP

Akustische BeamformerAdaptive Filter Beamformer

Page 56: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 67

Institut für Mikroelektronische Systeme

Smart

HeaP

Akustische BeamformerGSC Beamformer

Page 57: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 68

Institut für Mikroelektronische Systeme

Smart

HeaP

Page 58: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 69

Institut für Mikroelektronische Systeme

Smart

HeaP

Analyse der Energieaufnahme der Hardwarekomponenten zur

Energieeffienzabschätzung

Hardware Implementation Flow ist aufgesetzt

Wird getestet mit TSMC 40 nm (wird unterstützt)

GF 20 nm PDK ist verfügbar

INVECAS IP Bibliotheken sind angefragt

AP4 – Profiling der ReferenzalgorithmenStatusupdate

Page 59: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 70

Institut für Mikroelektronische Systeme

Smart

HeaP

Optimierung der Referenzalgorithmen

Algorithmische Optimierungen werden nach der Auswertung

der Profiling Ergebnisse durch Hörtech durchgeführt

Verwendung der vorhandenen Prozessor-spezifisch

optimierten Bibliotheken

Umsetzung der Referenzalgorithmen auf die Tensilica-

Architektur

Erster Algorithmus ist fast vollständig implementiert

Zusammenstellung einer C oder C++ Bibliothek

Bisher nur automatisch generiert inklusive Datentypen

Verifikation des Compilers-Frameworks

Größtenteils nur mit Standardeinstellungen getestet

AP7 – Software-Mapping der Referenzalgorithmen auf neue Architektur

Page 60: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 71

Institut für Mikroelektronische Systeme

Smart

HeaP

Erstellung von TIEs

Erstellung spezifischer Akzeleratoren mit Hilfe von VHDL (z.B.

für Filterbänke, komplexe arithmetische Funktionen etc.)

Erste Ideen existieren

Implementierung steht aus

Beispiele existieren aus Projekten wie Hearing4All

Co-Prozessoren und Funktionelle Einheiten für

Audiosignalverarbeitung

AP5 – Design und Optimierung der ISA des ProzessorsAP6 – Design von dedizierten Akzeleratoren Statusupdate

Page 61: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 72

Institut für Mikroelektronische Systeme

Smart

HeaP

Evaluierung und OptimierungReduktion der Datenwortbreite und Verwendung von intrinsischen Instruktionen für den Hifi2

536

40 54 50

413

53 51 47

0

100

200

300

400

500

600

Hifi2 Hifi4 G6 Hifi2 + angepassteImplementierung

An

zah

l der

Zykl

en/I

nst

rukt

ion

en

Zyklen Instruktionen

0,77 1,33 0,94 0,94

2 4 4 2

0%

20%

40%

60%

80%

100%

Hifi2 Hifi4 G6 Hifi2 + angepassteImplementierung

Au

slas

tun

g

Instruktionen pro Zyklus Anzahl der verfügbaren Issue-Slots

24-Bit

Ø Fehler ~10-7

32-Bit

Ø Fehler ~10-9

Fixed Beamformer

Page 62: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 73

Institut für Mikroelektronische Systeme

Smart

HeaP

https://ip.cadence.com

Page 63: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 74

Institut für Mikroelektronische Systeme

Smart

HeaP

https://ip.cadence.com

Page 64: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 75

Institut für Mikroelektronische Systeme

Smart

HeaP

Page 65: Evaluation and optimization of a Tensilica processor for ...

Tensilica Day 2019 [email protected] Slide 76

Institut für Mikroelektronische Systeme

Smart

HeaP