20
1 Synthèse abstraite d’éléments de turbo décodeur en bloc pour un circuit reconfigurable Caaliph ANDRIAMISAINA, Catherine DEZAN Christophe JEGO, Bernard POTTIER par Laboratoires Architectures et Systèmes LESTER-UBO et TAMCIC ENST-Bretagne

1 Synthèse abstraite déléments de turbo décodeur en bloc pour un circuit reconfigurable Caaliph ANDRIAMISAINA, Catherine DEZAN Christophe JEGO, Bernard

Embed Size (px)

Citation preview

Page 1: 1 Synthèse abstraite déléments de turbo décodeur en bloc pour un circuit reconfigurable Caaliph ANDRIAMISAINA, Catherine DEZAN Christophe JEGO, Bernard

1

Synthèse abstraite d’éléments de turbo décodeur en bloc pour un circuit reconfigurable

Caaliph ANDRIAMISAINA, Catherine DEZAN Christophe JEGO, Bernard POTTIER

par

Laboratoires Architectures et Systèmes LESTER-UBO et

TAMCIC ENST-Bretagne

Page 2: 1 Synthèse abstraite déléments de turbo décodeur en bloc pour un circuit reconfigurable Caaliph ANDRIAMISAINA, Catherine DEZAN Christophe JEGO, Bernard

2

Motivation

Modéliser 2 blocs d’un turbo décodeur BCH étendu (128,120,4)

Avoir un gain en compléxité et en temps de conception

Exploiter l’utilisation des corps de Galois

Page 3: 1 Synthèse abstraite déléments de turbo décodeur en bloc pour un circuit reconfigurable Caaliph ANDRIAMISAINA, Catherine DEZAN Christophe JEGO, Bernard

3

Plan

Turbo code en bloc

Madeo

Modélisation et synthèse de 2 fonctions du turbo décodeur en bloc BCH (128,120,4)2

Page 4: 1 Synthèse abstraite déléments de turbo décodeur en bloc pour un circuit reconfigurable Caaliph ANDRIAMISAINA, Catherine DEZAN Christophe JEGO, Bernard

4

Turbocode Construits par concaténation de 2 codes élémentaires

Gain de codage de 2 à 4 dB par rapport aux codes correcteurs d’erreurs classiques

Dans le cas des turbo codes en bloc, les codes concatenés sont des codes de types BCH ou RS

Construction d’un code BCH à partir des éléments du corps de Galois

Page 5: 1 Synthèse abstraite déléments de turbo décodeur en bloc pour un circuit reconfigurable Caaliph ANDRIAMISAINA, Catherine DEZAN Christophe JEGO, Bernard

5

Principe de décodage Décodage reposant sur un processus itératif Décodage des lignes suivi des décodages des

colonnes à l’aide d’un décodeur élémentaire EPSP Le décodeur élémentaire prend en entrées le mot

d’information du décodage précédent et le mot reçuDécodage des colonnes (demi-itération)

Décodage des lignes (demi-itération)

Décodage des colonnes (demi-itération)

Matrice reçue

Reconstruction de la matrice

Reconstruction de la matrice

Décodeur

Delay

+ * +R'k

Rk

Dk

Fk +- Wk

R'k+

Page 6: 1 Synthèse abstraite déléments de turbo décodeur en bloc pour un circuit reconfigurable Caaliph ANDRIAMISAINA, Catherine DEZAN Christophe JEGO, Bernard

6

Algorithme de décodage d'un turbocode en bloc BCH(128,120,4)2

Réception du mot R’k : 1 bit de signe et 4 bits de fiabilités

Recherche des symboles les moins fiables: 5 symboles les moins fiables parmi les 128 symboles

Construction des 16 vecteurs tests: à partir des inversions de bits les moins fiables

Calcul du syndrome du 1er vecteur de test

Calcul des syndromes pour les 15 autres vecteurs de test

Correction des 16 vecteurs de test

Calcul des métriques: distance euclidienne entre 2 mots

Séléction du mot décidé et des mots concurrents

Calcul de la nouvelle fiabilité de chacun des symboles du mot

Calcul de l'information extrinsèque: apportée par le décodeur

Addition avec le mot reçu du canal

Page 7: 1 Synthèse abstraite déléments de turbo décodeur en bloc pour un circuit reconfigurable Caaliph ANDRIAMISAINA, Catherine DEZAN Christophe JEGO, Bernard

7

Outil générique permettant de modéliser une architecture quelconque de FPGA

Outils basiques: placement-routage/floor-planner/éditeur

Deux parties: Madeo-FET/Madeo-BET

MADEO: chaîne de CAO pour les architectures reconfigurables

Page 8: 1 Synthèse abstraite déléments de turbo décodeur en bloc pour un circuit reconfigurable Caaliph ANDRIAMISAINA, Catherine DEZAN Christophe JEGO, Bernard

8

Flot de MADEO

Madeo-BET

Madeo-FET

Page 9: 1 Synthèse abstraite déléments de turbo décodeur en bloc pour un circuit reconfigurable Caaliph ANDRIAMISAINA, Catherine DEZAN Christophe JEGO, Bernard

9

Spécifications de l’application dans MADEO

Description initiale en Smalltatlk de l’application

Codes génériques pouvant s’utiliser avec des contextes différents: entiers, flottants, matrices, …

Exemple:

addprod: x with:y

^x*2 + (y*3)

x et y peuvent être des entiers, flottants

Page 10: 1 Synthèse abstraite déléments de turbo décodeur en bloc pour un circuit reconfigurable Caaliph ANDRIAMISAINA, Catherine DEZAN Christophe JEGO, Bernard

10

Modélisation du corps de Galois GF(2n)

Eléments pouvant être représentés par des polynômes de degré n-1.

Addition/soustraction modélisées en ou-exclusif Multiplication/division utilisent des tables de

logarithmes les transformant en addition/soustraction

Création d’une classe génératrice des corps de Galois GF(2n)

Page 11: 1 Synthèse abstraite déléments de turbo décodeur en bloc pour un circuit reconfigurable Caaliph ANDRIAMISAINA, Catherine DEZAN Christophe JEGO, Bernard

11

Modélisation du syndrome

Transformation de l’équation du calcul de syndrome:

α: éléments du corps de Galois GF(128) de polynôme générateur r’j: les bits du mot reçu n: nombre de bit de découpage

k: niveau d’hiérarchie

2 types de modélisations étudiées en fonction de k:

Modélisation à plat pour k=1

Modélisation hiérarchique pour k>1

137 xx

Page 12: 1 Synthèse abstraite déléments de turbo décodeur en bloc pour un circuit reconfigurable Caaliph ANDRIAMISAINA, Catherine DEZAN Christophe JEGO, Bernard

12

Exemple: Modélisation à plat k=1 et n=4

0 1 2 3 4 5 6 7 123 124 126 127

motRecu:

syndrome

motRecu: motRecu:

+

+

…………...

Page 13: 1 Synthèse abstraite déléments de turbo décodeur en bloc pour un circuit reconfigurable Caaliph ANDRIAMISAINA, Catherine DEZAN Christophe JEGO, Bernard

13

motRecu: r a0:a0 a1:a1 a2:a2 a3:a3| r0 r1 r2 r3 syndrome |

syndrome:= MonGF128 on: 0.r0:= (r bitAnd: 2r1000)~=0.r1:= (r bitAnd: 2r0100)~=0.r2:= (r bitAnd: 2r0010)~=0.r3:= (r bitAnd: 2r0001)~=0.r0 ifTrue: [syndrome:=syndrome + a0].r1 ifTrue: [syndrome:=syndrome + a1].r2 ifTrue: [syndrome:=syndrome + a2].r3 ifTrue: [syndrome:=syndrome + a3].^syndrome

entrée sur 4 bits

éléments du corps de Galois GF(128)

S1

motRecu:

0 1 2 3

Modélisation d'une somme partielle

Page 14: 1 Synthèse abstraite déléments de turbo décodeur en bloc pour un circuit reconfigurable Caaliph ANDRIAMISAINA, Catherine DEZAN Christophe JEGO, Bernard

14

2 types de comparaisons étudiées:

Type arbre arborescent:

• Plusieurs blocs de comparaison appelés dans chaque niveau• Chaque bloc de comparaison prenait en entrée des fiabilités et

leurs positions associées

Type tri à bulles:

• La comparaison se fait en poussant, vers la sortie par permutations successives, la plus petite valeur parmi les entrées

Modélisation de la recherche des 5 symboles les moins fiables

Page 15: 1 Synthèse abstraite déléments de turbo décodeur en bloc pour un circuit reconfigurable Caaliph ANDRIAMISAINA, Catherine DEZAN Christophe JEGO, Bernard

15

v1:v1 pos1:pos1 v2:v2 pos2:pos2v1>v2 ifTrue :[^Array with:v2 with:pos2]

ifFalse :[^Array with:v1 with:pos1]

v pos

0 1 2 3 4 5 6 7 123 124 126 127

.

.

.

Modélisation en Smalltalk:

Modélisation d'un bloc de comparaison

Page 16: 1 Synthèse abstraite déléments de turbo décodeur en bloc pour un circuit reconfigurable Caaliph ANDRIAMISAINA, Catherine DEZAN Christophe JEGO, Bernard

16

Optimisations et Synthèse

On a utilisé l’inférence de type simple avec les optimisations suivantes:

propagation des constantes suppression des codes morts no-op removal

Pour la synthèse, on a utilisé des architectures 4-LUT à une sortie

Page 17: 1 Synthèse abstraite déléments de turbo décodeur en bloc pour un circuit reconfigurable Caaliph ANDRIAMISAINA, Catherine DEZAN Christophe JEGO, Bernard

17

Résultats

fonctions ModélisationsDécoupages

(bits)

Tempsd’optimisation

et de synthèse

Nombres de

LUT

Syndrome

plat

2 (k=1,n=2) 2 mn 10 s 424

4 (k=1,n=4) 10 mn 217

8 (k=1,n=8) 2 h 23 mn 502

hiérarchique2 (k=8,n=2) 12 h 08 mn 725

4 (k=4,n=4) 13 h 30 mn 2311

Fiabilité

plat : arbre arborescen

t 2 (n=2) - 4117

plat : tri à bulles

2 (n=2) - 5234

Page 18: 1 Synthèse abstraite déléments de turbo décodeur en bloc pour un circuit reconfigurable Caaliph ANDRIAMISAINA, Catherine DEZAN Christophe JEGO, Bernard

18

Comparaison avec l’ENSTB

Fonctions Madeo ENSTB

Syndrome 217 LUT (k=1,n=4) 580 LUT

Fiabilité 4117 LUT (n=2)

896 comparaisons à 4 bits 508 décalages de 2 registres

Modélisation en SystemC dans CoCentric System Studio Pour le calcul de syndrome, l’ENSTB a adopté un traitement

parallèle des mots reçus. Pour la fiabilité, un traitement complètement séquentiel

Page 19: 1 Synthèse abstraite déléments de turbo décodeur en bloc pour un circuit reconfigurable Caaliph ANDRIAMISAINA, Catherine DEZAN Christophe JEGO, Bernard

19

Conclusions

La réduction de complexité dans Madéo est due essentiellement aux optimisations de haut niveau

Le gain pour le calcul de syndrome est surtout obtenu par propagation des éléments du corps de Galois

Les types d’applications à gros calculs offrent un contexte favorable d’utilisation de Madéo.

Page 20: 1 Synthèse abstraite déléments de turbo décodeur en bloc pour un circuit reconfigurable Caaliph ANDRIAMISAINA, Catherine DEZAN Christophe JEGO, Bernard

20

Perspectives

Appliquer le même mode de traitement sur d’autres applications en télécommunications

Implémenter les autres blocs du turbo décodeur