UNIVERSITÀ DEGLI STUDI DI PISA
FACOLTÀ DI INGEGNERIA
CORSO DI LAUREA IN INGEGNERIA ELETTRONICA
Tesi di Laurea
Progettazione VLSI di un processore flessibile
e riconfigurabile per il calcolo delle metriche
ricorsive di un Turbo decoder
Anno Accademico 2008/2009
Primo Relatore: Prof. Luca Fanucci
Secondo Relatore: Ing. Massimo Rovini
Indice
1
Indice
Indice ………...2
Indice delle figure……….4
Introduzione ……….7
1 Turbo Codici, Nozioni e Algoritmi di Decodifica ... 11
1.1 Descrizione dei Turbo Codici ... 11
1.1.1 Codificatori Convoluzionali Ricorsivi ... 11
1.1.2 CCR Concatenati in Parallelo ... 14
1.2 Algoritmi di Decodifica Turbo ... 16
1.2.1 Algoritmo BCJR ... 17
1.2.2 Algoritmo PCCC di Decodifica Turbo ... 25
1.3 Codici Circolari ... 26
2 L’algoritmo di Decodifica Turbo in C++ ... 29
2.1 Tecniche di Decodifica ... 29
2.2 Il Simulatore Turbo C++ ... 31
2.3 La Funzione SISO_LLR_BCJR (floating point) ... 34
2.3.1 Calcolo di Gamma (γ) ... 36
Indice
2
2.3.3 Calcolo della probabilità a posteriori ( ) ... 39
2.4 Modello Fixed Point... 40
2.5 La Funzione SISO_LLR_BCJR (fixed point) ... 43
2.6 Risultati di Simulazione ... 45
3 Architettura del Processore ... 49
3.1 Architettura del Processore di Singolo Stato ... 50
3.1.1 Introduzione all’Architettura dello State Metric Processor ... 50
3.1.2 Implementazione dello State Metric Processor ... 52
3.1.3 Registri di Pipeline ... 59
3.1.4 L’operatore / ... 60
3.2 Architettura dell’Intero Processore ... 62
3.2.1 Implementazione dello State Metric Processor Array ... 62
4 Simulazioni e Verifica del Progetto ... 68
4.1 Introduzione ... 68
4.2 Simulazione e Verifica del Processore si Singolo Stato α/β ... 69
4.3 Simulazione e Verifica dell’Array di Processori ... 74
5 Sintesi Logica ... 84
5.1.1 Sintesi dello SPMA ... 84
5.1.2 Risultati delle sintesi ... 87
6 Conclusioni ... 93