UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA FACOLTÀ DI INGEGNERIA DIPARTIMENTO DI...

Post on 02-May-2015

220 views 1 download

transcript

UNIVERSITÀ DEGLI STUDI DI PAVIAUNIVERSITÀ DEGLI STUDI DI PAVIA  FACOLTÀ DI INGEGNERIAFACOLTÀ DI INGEGNERIA

DIPARTIMENTO DI ELETTRONICADIPARTIMENTO DI ELETTRONICA

Elaborato di Laurea di:Tedeschi Marika

PROGETTO ed OTTIMIZZAZIONE di un FILTRO FIR mediante CASCATA di CELLE

BIQUADRATICHE

Relatore:Prof. Carla VacchiCorrelatore:Ing. Everest Zuffetti

FASI del LAVORO

•Scelta della struttura digitale da implementare

•Descrizione a livello di sistema in MATLABTM

•Descrizione ed ottimizzazione dell’architettura hardware in VHDL

•Sintesi dei sorgenti VHDL

•Valutazione prestazioni ottenute

FASI del LAVORO

•Scelta della struttura digitale da implementareScelta della struttura digitale da implementare

•Descrizione a livello di sistema in MATLABTM

•Descrizione ed ottimizzazione dell’architettura hardware in VHDL

•Sintesi dei sorgenti VHDL

•Valutazione prestazioni ottenute

SPECIFICHE del FILTRO•12 bit in ingresso espressi in C2 con SNRin= 59.8 dB

•Ordine 11

•Risposta a fase lineare in banda passante FIR

•Banda di transizione pari a Fs-Fp= 5.58 MHz

F (MHz)

|H(F)|

0 Fc/4

1+1

1-1

Fp Fs

2

1 0.03 2 0.06

SNRout 66 dB

SCHEMA CONCETTUALE del FILTRO come BLOCCO UNICO

M

kk

M

k

knxbknxkhy(n)00

)()()(

h(M)

x(n) z-1 z-1 z-1 z-1

h(0) h(1) h(2) h(3)

z-1

h(M-1)

y(n )

12 bit

-1.5 -1 -0.5 0 0.5 1 1.5

-1

-0.5

0

0.5

1

24

Parte reale

Par

te im

mag

inar

ia

24

zeri coef. inf.poli coef. inf.zeri coef. quant.poli coef. quant.

assi

EFFETTI della QUANTIZZAZIONE

M

kkM

ill

li

kMi

i b

ss

ss

1

1

)(

CELLA BIQUADRATICA

xk-1(n)z-1 z-1

yk(n)

bk0 bk1 bk2

2 ,2

1 1 ,0 ) ( z b z b b z H k k, k k

CASCATA di CELLE BIQUADRATICHE

x(n)H2(z)

y1(n) y2(n) y(n)H1(z) HK(z)

K

kkkk

K

kk zbzbbzHzH

1

22,

11,0,

1

)()()(

FASI del LAVORO

•Scelta della struttura digitale da implementare

•Descrizione a livello di sistema in MATLABDescrizione a livello di sistema in MATLABTMTM

•Descrizione ed ottimizzazione dell’architettura hardware in VHDL

•Sintesi dei sorgenti VHDL

•Valutazione prestazioni ottenute

ANALISI di SISTEMA

• DETERMINAZIONE del set di coefficienti• QUANTIZZAZIONE dei coefficienti e analisi dei suoi effetti sulle prestazioni del filtro

SET di COEFFICIENTI NORMALIZZATI

b0

-0.4788

+1.0000

+0.5810

+1.0000

+1.0000

+1.0000

b1

+1.0000

+0.5212

+1.0000

+0.9801

+0.0507

-0.6573

b2

+0.0000

-0.4788

+0.5810

+1.0000

+1.0000

+1.0000

K

kkkk zbzbbzH

1

22,

11,0, )()(

SET di COEFFICIENTI QUANTIZZATI

-0.4788 +1.0000 +0.0000

+1.0000 +0.5212 -0.4788

+0.5810 +1.0000 +0.5810

+1.0000 +0.9801 +1.0000

+1.0000 +0.0507 +1.0000

+1.0000 -0.6573 +1.0000

-7 15 0

15 8 -7

4 7 4

1 1 1

1 0 1

3 -2 3

5 bit

5 bit

4 bit

2 bit

2 bit

3 bit

MODIFICA dell’ORDINE delle CELLE

28bit

12bit

5 bit 4 bit 2 bit5 bit 20bit

2 bit 3 bit24bit

25bit

26bit

15bit

+3

+5

+4

+1

+1

+2

MODIFICA dell’ORDINE delle CELLE

28bit

12bit

2 bit 3 bit 5 bit2 bit 15bit

4 bit 5 bit17bit

20bit

24bit

14bit

+2

+1

+2

+3

+4

+4

QUANTIZZAZIONE d’USCITA

E’ possibile ridurre il numero di bit, mantenendo SNR 66 dB?

1|0|1 3|-2|3 -7|15|01|1|1 4|7|4 15|8|-712bit

24bit

20bit

17bit

15bit

14bit

28bit

•Divisione per una potenza di 2

•Arrotondamento

•Saturazione

ALGORITMO di ARROTONDAMENTO e SATURAZIONE

b[3]=1AND ((b[23]=0)OR(b[2:0]=0))?

OUT:=b[23:4]+1

OUT:=b[23:4]

SI

SATURA positivo:OUT:=(2^17-1)

ESCI

SI

NO

OUT:=b[21:4]

ESCI

Stringa di bit in uscita dal 5°stadio biquadratico:

b[23 : 0]

NO

SATURA negativo:OUT:= -(2^17)

ESCI

NO

SI

b[23:4]>(2^17-1)?

b[23:4]< -(2^17)?

x 4 x 7 x 4

18 bit

4 bit 4 bit 4 bit

22 bit 22 bit 22 bit

23 bit 24 bit

z -1

z -1

Q U A N T.

18 bit

QUANTIZZAZIONE d’USCITA

Esempio: 5° stadio biquadratico

CELLA

BIQUAD.N.BIT IN SNR IN N.BIT

COEF.COEFFICIENTI

QUANTIZZATI

N.BIT OUT SNROUT

1 12 59.8 dB 2 [ 1 1 1] 14 64.36 dB

2 14 64.36 dB 2 [ 1 0 1] 14 66.05 dB

3 14 66.05 dB 3 [ 3 -2 3] 16 66.14 dB

4 16 66.14 dB 5 [ -7 15 0] 18 61.58 dB

5 18 61.58 dB 4 [ 4 7 4] 18 67.20 dB

6 18 67.20 dB 5 [ 15 8 -7] 17 66.22 dB

RISULTATI MatLab

FASI del LAVORO

•Scelta della struttura digitale da implementare

•Descrizione a livello di sistema in MATLABTM

•Descrizione ed ottimizzazione dell’architettura Descrizione ed ottimizzazione dell’architettura hardware in VHDLhardware in VHDL

•Sintesi dei sorgenti VHDL

•Valutazione prestazioni ottenute

DESCRIZIONE VHDL

TESTBENCH

Entity

FILTERDATI IN

INGRESSO

DEFINIZIONE SEGNALI DI CONTROLLO

MEMORIZZAZIONE SU FILE DEI DATI

IN USCITAMatLab

PIPELINING z -1

z -1

+ Q

z -1

z -1

Q +

z -1

z -1

Q +

z -1

z -1

Q + ff

Pipelining: si inseriscono banchi di flip flop

Tck = Tff + Tcomb

Sommatori e moltiplicatori complessi + area

+ potenza

25 ns

PIPELINING

Dopo quali celle (biquadratica + quantizzatore) inserire un banco di flip flop?

n-esima cella biquadratica

z -1

z -1

+ Q

STRUTTURE DESCRITTE

Filter1°biq 2°biq 3°biq 4°biq 5°biq 6°biq ffin out

Filter_2ff out1°biq 2°biq 3°biq ff 4°biq 5°biq 6°biq ffin

Filter_3ff out1°biq 2°biq ff 3°biq 4°biq ff 5°biq 6°biq ffin

Filter_6ffin 1°biq outff 2°biq ff 3°biq ff 4°biq ff 5°biq ff 6°biq ff

z -1

z -1

+ Q

z -1

z -1

Q +

z -1

z -1

Q + ff

Filter

Filter_2ff

In Tck attraversa 6 celle biquadratiche (non aggiunge latenza)

In Tck attraversa 3 celle biquadratiche (latenza = + 1 colpo di clock)

z -1

z -1

+ Q

z -1

z -1

Q +

z -1

z -1

Q +

z -1

z -1

Q + ff

FASI del LAVORO

•Scelta della struttura digitale da implementare

•Descrizione a livello di sistema in MATLABTM

•Descrizione ed ottimizzazione dell’architettura hardware in VHDL

•Sintesi dei sorgenti VHDLSintesi dei sorgenti VHDL

•Valutazione prestazioni ottenuteValutazione prestazioni ottenute

SINTESI

CODICE

VHDL

SCHEMA

CIRCUITALESINTETIZZATORE

RISPETTO DEI

VINCOLI TEMPORALI

RISULTATI della SINTESI

INGRESSO : sequenza di campioni relativa

ad un segnale casuale a piena

dinamica, bianco in frequenza

TECNOLOGIA : CMOS

• Lunghezza minima di canale 0.13 μm

• Tensione di alimentazione 1.2 V

RISULTATI della SINTESI

Consumo POTENZA (μW)

AREA (μm2)

Requisiti di TIMING

STRUTTURA sintetizzata

(40 MHz) OK(40 MHz) OK

(40 MHz) OK

(40 MHz) OK(40 MHz) OK

Filter

Filter_2ff

Filter_3ff

FilterFilter_6ff

Filter_6ff P.O

51136

3444832612

34319

35186

9160

28381933

620

567

P.O =Power Optimization

Il convertitore A/D consuma una potenza di circa 6÷7 mW

RISULTATI della SINTESIConfronto con un filtro analogo ma:

• stadio unico• ripiegato

Consumo POTENZA (μW)

AREA (μm2)

Requisiti di TIMING

STRUTTURA sintetizzata

(40 MHz) OK(40 MHz) OK

(40 MHz) OK

(40 MHz) OK

Filter_6ff

Filter_6ff P.O

UMTS1

UMTS1 P.O

34319

3518617277

17616

620

567312

285

P.O =Power Optimization

Il convertitore A/D consuma una potenza di circa 6÷7 mW

CONCLUSIONI

•Nel presente lavoro di tesi è stato progettato un filtro FIR digitale come cascata di celle biquadratiche, primo stadio UMTS di un sistema di ricezione multistandard UMTS/WLAN

•Il filtro è stato descritto tramite MatLab ed in VHDL e sintetizzato in varie strutture

•L’inserimento di pipeline ha permesso di diminuire la dissipazione di potenza e di contenere l’occupazione di area

•Il rispetto dei vincoli di timing nella sintesi consente di ottenere il layout del dispositivo mediante procedura automatizzata

CONCLUSIONI

Obiettivi raggiunti:

•Acquisizione di conoscenze sui filtri digitali (in particolare sui filtri FIR e sulle possibili strutture realizzabili)

•Acquisizione di familiarità con MatLab (almeno per quanto riguarda le funzioni di Filter Design)

•Acquisizione di familiarità con il linguaggio di descrizione hardware VHDL

•Primo approccio con sintetizzatori