Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Malek Naoues - Techniques de gestion des Opérateurs Communs pour les algorithmes FFT et Viterbi

SCEE Team
March 22, 2012

Malek Naoues - Techniques de gestion des Opérateurs Communs pour les algorithmes FFT et Viterbi

SCEE Team

March 22, 2012
Tweet

More Decks by SCEE Team

Other Decks in Research

Transcript

  1. 1 Techniques de gestion des Opérateurs Communs pour les algorithmes

    FFT et Viterbi Séminaire SCEE Malek NAOUES (CEA‐LETI, SUPÉLEC, SUP’Com) [email protected] 0438780940 Rennes, jeudi le 22 Mars 2012 Plan • Contexte: Technique des Opérateurs Communs • Objectifs de nos travaux • Définition des Opérateurs FFT/Viterbi • Architectures de gestion des Opérateurs • Mutualisation des permutations FFT/Viterbi • Conclusion Réf © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 2 • Réferences
  2. 2 Contexte  Multiplication & évolution rapide des standards: Incertitudes!

     Sur quels standards parier?  Quelle combinaison de standards pourrait coexister dans les p équipements de télécommunication?  Quels sont les standards qui pourrait être actifs simultanément dans un équipement?  Comment vont évoluer ces standards?  Les techniques de conception Multistandards actuelles « Velcro »:  Les standards sont implémentés séparément en utilisant des instanciations dédiées Difficile à prédire! © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 3 instanciations dédiées,  Mise à niveau difficile pour supporter des nouvelles fonctionnalités  Faible flexibilité Hardware IF /RF RF IF /RF RF UMTS UMTS GSM WLAN RF ADC/ DAC Fn1 Fn2 FnN … RF ADC/ DAC Fn1 Fn2 FnN … RF ADC/ DAC Fn1 Fn2 FnN … Standard 1 Standard 2 Standard 3 “Velcro” Une architecture générique et flexible devient de plus en plus nécessaire! La technique des Opérateurs Communs  Nouvelle approche de Paramétrisation!  Identifier les éléments communs basés sur des structures fortement réutilisés par les fonctions de traitement de signal,  Concevoir un terminal évolutif basé sur des opérateurs de granularité moyenne (plus grand que les portes logiques & plus petit que les fonctions) grand que les portes logiques & plus petit que les fonctions). Standard 1 Standard 2 CO1 CO1 CO2 CO2 CO3 CO4 CO4 CO4 Common Operator Bank Function Mapping Identification des Opérateurs Communs avec la Design Multistandard basé sur la technique © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 4  Avantages:  Permet une implémentation flexible et évolutive et moins dépendante des standards,  Peut réduire la surface & complexité du design et le temps de développement,  Ajoute une régularité architecturale permettant un design plus ouvert aux futurs « mapping » des fonctions et plus adapté pour affronter les problèmes de variabilité technologiques Identification des Opérateurs Communs avec la théorie des graphes Design Multistandard basé sur la technique des Opérateurs Communs
  3. 3 Technique des Opérateurs Communs: Travaux SCEE Approche théorique •

    S.Gul • P.Kaiser A h • A.Al Ghouwayel • H Wang Travaux Communs © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 5 Approche pragmatique • H. Wang • L. Alaus • M. Naoues Définition d’un premier set d’OCs + 0 a 1  z 1 a 1  r a 0 b 1 b 1  r b r b + 1  z + 1  z + r a 0 ' a 1 ' a 1 '  r a r a' 0 ' b 1 ' b 1 '  r b r b' X G Y M Y + + + + + + + i E R LFSR Common Operator AS3 Operator Real Real Real Real Part Real Part Imag Part Imag Part FFT/Viterbi Butterfly R-LFSR Common Operator Common Operators Cordic based FFT Butterfly LFSR based Cordic © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 6 Du point de vue architectural : – Hybrid platform (HW, SW) – Architectures reconfigurables – MPSoC design – “Architecture space exploration” – Systèmes de communication sur puce (bus, réseau, crossbar…) Domaines explorés Du point de vue méthodologique : – Le partitionnement Hard/Soft – Software / hardware co‐design – Ordonnancement et “Hardware Multiplexing” – "Profiling" sous contraintes (Exple latence comme contrainte) Gestion des OCs
  4. 4 Plan • Contexte: Technique des Opérateurs Communs • Objectifs

    de nos travaux • Définition des Opérateurs FFT/Viterbi • Architectures de gestion des Opérateurs • Mutualisation des permutations FFT/Viterbi • Conclusion Réf © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 7 • Réferences Mutualisation des algorithmes FFT et Viterbi Pourquoi? • Largement utilisés surtout pour les nouveaux standards particulièrement pour les terminaux Multi‐porteuses. • Similarités dans l’utilisation des architectures à base de Treillis/Papillon. • Les tailles des FFTs varient beaucoup en fonction des standards de 32 à 32768 + les besoins MIMO! • Les algorithmes de codage convolutionnel nécessitent beaucoup moins de ressources (degrés des polynômes générateurs varient entre 4 et 8  entre 8 et 128 papillons logiques) Objectifs: Il peut y avoir un coût non négligeable d’éléments implémentés mais non utilisés à 100%! © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 8 • L’utilisation de la puissance de calcul des processeurs FFT pour le décodage des données • Les modules de calculs du papillon Viterbi ne sont plus instanciés spécifiquement mais réalisés par le biais d’un opérateur FFT OC FFT/Viterbi!
  5. 5 Papillon FFT Radix‐2 La DFT est définie par: 

        1 0 . . . . 2 . N n k n N i n k e x X  La décomposition en Radix‐2 donne: Décomposition en 2 DFT pour les «indexes pairs» et «indexes impairs»             1 2 / 0 ). 1 . . 2 .( . . 2 1 2 1 2 / 0 . . 2 . . . 2 2 . . N m k m M i m N m k m N i m k e x e x X   Radix-2 decimation-in-time bit- reversed input, in-order output FFT: signal flow graph © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 9 Définition du papillon FFT: signal flow graph Le Papillon Radix-2 Le papillon Viterbi Structure en treillis comparable à celle de la FFT Découpage en papillons • BMC (Branch Metric Calculation) effectue le calcul des métriques de branche pour chaque état du treillis. • Le module ACS (Add Compare Select) effectue le calcul des métriques de chemin et la sélection du chemin survivant • Le module SMM (Survivor Memory Management) mémorise les choix effectués à propos des chemins survivants Structure globale du décodeur de Viterbi © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 10 Papillon Viterbi: Calculs des métriques de chemin Calculs des métriques de chemin ) , min( 3 2 1 2 2 bm pm bm pm pm k i i i      ) , min( 4 2 2 1 2 2 bm pm bm pm pm k i i i       State i 2i 2i+1 i+2k-2 State State State bm 1 bm 4 bm 2 bm 3 Métrique de chemin précédente Nouvelle métrique de chemin
  6. 6 Implémentation du papillon FFT jf e y jd c

    w jb a y k n k k       ] 0 [ ] 1 [                  )] ( .[ ) ( * )], ( .[ ) ( * ] 1 [ ] 0 [ ] 1 [ ] 0 [ bc ad f j bd ac e w y y bc ad f j bd ac e w y y n k k k n k k k Ecriture Complexe des entrées des Ecriture directe de la sortie de chaque papillon des entrées des papillons 2ème écriture possible © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 11 Architecture à 4 Multiplications réelles et 5 opérations d’A/S Architecture à 3 Multiplications réelles et 9 opérations d’A/S Implémentation du papillon Viterbi Calculs des métriques de chemin ) , min( 3 2 1 2 2 bm pm bm pm pm k i i i      ) , min( 4 2 2 1 2 2 bm pm bm pm pm k i i i       Métrique de chemin précédente Nouvelle métrique de chemin ACS BMC Représentation schématique du Papillon Viterbi I lé t ti d l l State i 2i 2i+1 i+2k-2 State State State bm 1 bm 4 bm 2 bm 3 précédente de chemin © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 12 Implémentation du calcul des métriques de Branches Implémentation du calcul des métriques de chemin
  7. 7 Construction de l’Opérateur Commun FFT/Viterbi 1er étage 2ème étage

    1er étage 3ème étage 3ème étage Construction © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 13 Viterbi ACS module + FFT Imag Part Viterbi ACS module + FFT Real Part étage par étage 3ème étage 1er Opérateur Commun FFT/Viterbi • Permet d’utiliser un papillon de FFT pour réaliser un traitement de Viterbi P t d li it l b • Permet de limiter le nombre d’instance physique a considérer • Offre un design reconfigurable • Reconfiguration simple, seul un paramètre binaire est à télécharger • Capacité de traiter des algorithmes de Viterbi avec Real Real Real © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 14 algorithmes de Viterbi avec entrées souples ou dures Real Part Real Part Imag Part Imag Part
  8. 8 Limites du 1er OC FFT/Viterbi Avantages: • Architecture très

    parallèle Inconvénients: Possibilité de l’améliorer • Consomme beaucoup en surface: 9 Mux supplémentaires! • Selon [1], l’architecture à 3 multiplication n’est pas la plus optimale pour la FFT • BMC dupliqué inutilement • Pas nécessairement très rapide (chemin critique plus long que l’architecture à 4 multiplications) Real Real Real © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 15 Real Part Real Part Imag Part Imag Part [1] J.Takala, K. Punkka, “Scalable FFT Processors and Pipelined Butterfly Units”, The Journal of VLSI Signal Processing, Springer Netherlands 2006 Stocker les sommes et les différences dans la ROM… Mais +50% de mémoire! Papillon FFT à 2 Multiplications Réelles [1] A partir de l’écriture mathématique directe du papillon FFT: R R R R           )] ( [ ) ( * )], ( .[ ) ( * ] 1 [ ] 0 [ ] 1 [ ] 0 [ b d f bd bc ad f j bd ac e w y y k n k k k On peut définir une exécution en deux cycles: A/S M M A/S R R R R R W R ,W I P I ,Q I P R ,Q R S A R R R I          )] ( .[ ) ( * ] 1 [ ] 0 [ bc ad f j bd ac e w y y n k k k 2 # ; 1 # ; 2 2 1 1 Cycle bd B ad A Cycle bc B ac A                        )] ( .[ ) ( * )], ( .[ ) ( * 1 2 2 1 ] 1 [ ] 0 [ 1 2 2 1 ] 1 [ ] 0 [ B A f j B A e w y y B A f j B A e w y y n k k k n k k k Entrées & Sorties regroupés real part and imaginary part of the twiddle factor are not needed at the same time © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 16 • Réduit très significativement la surface et la consommation de circuit (≈ 50%) par rapport à l’architecture à 3 multiplications • Avantages niveau architecture (suite de la présentation) [1] J.Takala, K. Punkka, “Scalable FFT Processors and Pipelined Butterfly Units”, The Journal of VLSI Signal Processing, Springer Netherlands 2006
  9. 9 2ème Opérateur Commun FFT/Viterbi • Modifier très légèrement le

    papillon FFT Radix‐2 (Architecture à 2 Multiplications) pour supporter les opérations de calculs pour l’algorithme de Viterbi. c,d b,f a,e " 1 " a,"0" E1,E3 E2,E4 b ,"0" • Séparer les modules de calculs de branches BMC et des calculs de chemins ACS et éviter de dupliquer inutilement les ressources matérielles. • Conserver une paramétrisation simple pour un basculement rapide entre les deux algorithmes • Limiter le surcoût matériel nécessaire à la reconfiguration. M M R R R R R R R R R S A R R © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 17 Seul changement par rapport au papillon FFT Architecture très optimisée en surface : Très faible surcoût par rapport à un papillon FFT A/S A/S S1,S2 S3 R( ) I( ) a+b a-b -a+b -a-b Modes de fonctionnement de l’OC FFT/Viterbi R R R R R R R c,d b,f a,e R R R R R R R " 1 " E1,E3 E2,E4 R R R R R R R a,"0" b ,"0" " 1 " 3 modes de fonctionnement A/S M M A/S R R R R R R R R R S A R R R( ) I( ) A/S M M A/S R R R R R R R R R S A R R S1 S2 S3 A/S M M A/S R R R R R R R R R S A R R a+b a-b -a+b -a-b © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 18 ( ) ( ) S1,S2 S3 Fonctionnement papillon FFT Radix-2 Fonctionnement Calcul des métriques de Chemin Fonctionnement Calcul des métriques de Branches Reconfiguration très simple, on s’approche du concept idéal de la radio reconfigurable (traitement s’adapte en fonction du signal d’entrée)
  10. 10 Performances et comparaisons Les cellules proposées sont comparées à

    des cellules reconfigurables similaires dans la litterature. Architecture parallèle Architecture en pipeline RMAC‐PE [2] RCC [3] Complexity (Gate Count) Reference ‐27% ‐26% +103% Oper atio ns/C FFT Radix‐2 Butterfly 1 0,5 0,33 1,5 L’architecture en pipeline offre une reduction en complexité avec une faible reduction de throughput. STD 1 STD 2 VIT FFT VIT FFT / ycle Path Metrics Calc. (ACS) 2 0,5 0,5 2 Branch Metrics Calc. (BMC) 1 0,5 0,33 4 © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 19 Velcro VIT FFT FFT/VIT OC [1] H. Lange, O. Franzen, H. Schröder, M. Bücker, B, Oelkrug, “Reconfigurable Multiply-Accumulate-based Processing Element”, In: Proc. of the IEEE Workshop on heterogeneous Systems on a Chip, Hamburg, Germany, 2002. [2] C.Y. Jung, M.H. Sunwoo, S.K. Oh, “Design of reconfigurable coprocessor for communication systems”, SIPS 2004. IEEE Workshop on Signal Processing Systems, 2004. Plan • Contexte: Technique des Opérateurs Communs • Objectifs de nos travaux • Définition des Opérateurs FFT/Viterbi • Architectures de gestion des Opérateurs • Mutualisation des permutations FFT/Viterbi • Conclusion Réf © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 20 • Réferences
  11. 11 Organisation des instances de l’OC FFT/Viterbi • Le nombre

    de papillon FFT étant supérieur à ceux du Viterbi, une implémentation fortement parallélisée est possible pour le décodage Viterbi. ê dé d d d d h é é • Pour être indépendant des standards, un architecture générique supportant des tailles de FFT et vitesse de décodage variables est nécessaire OC FFT Radix‐2 Viterbi OC FFT Radix‐2 Viterbi OC FFT Radix‐2 Viterbi OC FFT Radix‐2 Viterbi … OC FFT Radix‐2 Viterbi FFT Viterbi t=t0 t=t1 © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 21 A définir: • Le nombre d’opérateurs implémentés physiquement • Architecture générique supportant tous les (ou un maximum d’) algorithmes FFT et décodage convolutionnels • Méthode de reconfiguration et d’affectation des cellules Implémentations possibles • Implémentation purement matérielle: • Implémentation de toutes les possibilités (réseau de switchs classique) • Reconfiguration partielle (Travaux de Delahaye, Supélec) Pas assez flexible • Génération automatique de code VHDL/ Bitstream (Travaux de Biard, CEA‐LETI) • Implémentation mixte Hw/Sw HDL + CAD Semaines Mois Software + Compilateur Soft Processor Custom HW © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 22  Plus facile à implementer  Rapide  Moins de surface  Moins de consomation COMPETE Utilisé dans 25% des designs [source: Altera, 2009]  Flexible
  12. 12 Etat de l’art Exemples: LEON, Ajout de Hardware customisé

    à un Soft processor Exemple: SIMD VIRAM p , MicroBlaze Architectures parallèles (Vector processing) © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 23 Exemple: SIMD, VIRAM Propcessor (Berkeley, Stanford 2008) Banc d’opérateurs FFT/Viterbi Choix de l’architecture OC OC OC Bus du processeur Choix architecturaux: • Laisser le bus du processeur PLB pour la configuration pour Processeur OC #0 OC #1 OC #N … SRAM Problème: Comment connecter le processeur, les OCs et la mémoire? © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 24 p p g p éviter un point d’étranglement au niveau du Microblaze. • Séparer les flux de configuration et celles des données. • Prévoir plusieurs blocs mémoires pour éviter un autre point d’étranglement au niveau de l’accès mémoire.
  13. 13 Processeur FFT/Viterbi proposé Config Bus Flux de données MiroBlaze

    OC #0 Memory Crossbar SRAM OC #1 OC #N … © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 25 BRAM #0 I/O BRAM #1 BRAM #Q … Gestion des OCs Dans le MicroBlaze Motivation et Ressources • Définir et implémenter la gestion des opérateurs FFT/Viterbi Carte disponible 4MORE: Un seul FPGA et une SRAM sont utilisés Carte disponible 4MORE: • Deux FPGAs Virtex‐4 • Deux SRAM 36Mb • Liens sur la carte entre les FPGAs + LVDS • Ethernet SRAM sont utilisés pour l’instant © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 26 • Ethernet • RS232 • LCD 20X4 • LEDs
  14. 14 Implémentation sur la carte 4MORE SRAM Bus PLB RS232

    Ethernet LCD LEDs GPIO GPIO GPIO MiroBlaze OC #0 OC #1 OC #N … REG0 REG1 REG2 Config interconnexions Control mémoires © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 27 Memory Crossbar BRAM #0 BRAM #1 BRAM #Q … Ctrl #0 Ctrl #1 Ctrl #Q Algorithmes de gestion des opérateurs • Partage des ressources: allouer en fonction du standard choisi les OCs aux algorithmes FFT et Viterbi (implémenté en statique pour l’instant) Implémentés en Sw statique pour l instant) • Calcul des twidle factors: se fait « on‐the‐fly » avec la méthode du Singleton sans utiliser une ROM. • Module SMM (Survivor Memory Management) pour Viterbi. Utilisation de la SRAM de la carte. • Les permutations: Manipulation des bit dans des registres © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 28 • Les permutations: Manipulation des bit dans des registres de 32 bits. Calcul de la configuration du crossbar et des adresses mémoires. Utilisation des algorithmes de permutations cycliques
  15. 15 Méthode et outils utilisés Hardware Software Coder l’architecture en

    VHDL Implémenter les algorithmes de ISE Tailler le MicroBlaze, définir les bus et les interfaces p é e te es a go t es de gestion des OCs en C EDK SDK Eclipse Fichiers *.bit et *.bmm Fichier *.elf Instruction Synthèse © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 29 Instruction Set Simulation RTL Simulation verification verification Performances Décodeur K=7, R=1/2 K=9, R=1/3 Taille FFT 1024 2048 Implémentation Viterbi Hw Implémentation FFT Hw , / , / Slices / Block RAM 1363 / 2 5053 / 8 Slices / Block RAM 2454 / 7 2801 / 12 Nb OC 4 8 [*] Pour info: un © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 30 Slices / Block RAM 3251 / 4 [*] 3972 / 8 [*] [ ] MicroBlaze peut atteindre 180 MHz consomme ≈ 1270 Slices (sur Virtex-4 peut varier en fonction de la configuration) Notre architecture mixte à base des OCs
  16. 16 Plan • Contexte: Technique des Opérateurs Communs • Objectifs

    de nos travaux • Définition des Opérateurs FFT/Viterbi • Architectures de gestion des Opérateurs • Implémentation sur FPGA • Mutualisation des permutations FFT/Viterbi C l i © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 31 • Conclusion • Réferences Réseaux d’interconnexions pour les algorithmes à base de Treillis Radix 2 decimation in time bit Méthodes de permutation? © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 32 Radix-2 decimation-in-time bit- reversed input, in-order output FFT: signal flow graph Décodeur Viterbi à longueur de la contrainte 6  Définir des méthodes de permutation génériques pour supporter les algorithmes FFT et Vierbi!  Support des implémentations où le nombre de papillons physiques est inférieur à celui des papillons logiques!
  17. 17 Permutations du Treillis Viterbi State i 2i State bm

    1 Métrique de chemin précédente 1 2 0 2  k i Construction des transitions: P Nouvelle métrique de chemin i 2i 2i+1 i+2k-2 State State bm 4 bm 2 bm 3 1 2 ,..., 0 2   k i ) , min( 3 2 1 2 2 bm pm bm pm pm k i i i      ) , min( 4 2 2 1 2 2 bm pm bm pm pm k i i i       0 0 Etage j Papillon Viterbi k: Longueur de Contrainte Pm : métriques de chemin Bm: métriques de branche Pour © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 33 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 Exemple: pour une Longueur de Contrainte k = 4 Nombre des Etats du Treillis 2k-1 = 8 Treillis partiel Viterbi Construction du Treillis FFT/Viterbi 000 001 010 000 001 010 000 001 010 000 001 010 000 001 010 Etage 1 Etage 2 Etage n Treillis Viterbi représentation 000 010 000 100 000 001 000 001 011 100 101 110 111 011 100 101 110 111 011 100 101 110 111 011 100 101 110 111 011 100 101 110 111 … 0 1 0 1 Etage 1 Etage 2 Etage 3 représentation classique Correspond au pour une Longueur de Contrainte k = 4 Nombre des Etats du Treillis 2k-1 = 8 En pratique n ≈ 5 log 2 (k-1) © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 34 010 100 110 001 011 101 111 100 001 101 010 110 011 111 001 010 011 100 101 110 111 001 010 011 100 101 110 111 1 2 3 4 5 6 7 1 2 3 4 5 6 7 Correspond au Treillis d’une FFT DIF Radix-2 de taille 8 Les états se réarrangent ‘naturellement’ après log 2 (k-1) étages
  18. 18 Construction du Treillis en DIT for , … ,

    000 100 000 001 000 010 000 001 000 001 Etage 1 Etage 2 Etage 3 000 001 000 001 Etage j Treillis partiel Viterbi Treillis FFT/Viterbi 010 110 001 101 011 111 100 101 010 011 110 111 001 011 100 110 101 111 010 011 100 101 110 111 010 011 100 101 110 111 Préarrangement Permutations étage par étage 010 011 100 101 110 111 010 011 100 101 110 111 © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 35 Perfect shuffle permutations Bit reverse permutations MSB MSB‐1 … LSB+1 LSB LSB MSB MSB‐1 … LSB+1 MSB MSB‐1 … LSB+1 LSB LSB LSB+1 … MSB‐1 MSB FFT/Viterbi SDF architecture On se base sur les architectures FFT en pipeline pour proposer une architecture FFT/Viterbi Exemple d’une architecture Single-path Delay Feedback (R2SDF) FFT de taille 16 Architecture FFT/Viterbi: taille FFT = 8 Longueur de contrainte © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 36 Longueur de contrainte Viterbi = 9 Pas Suffisamment Flexible!
  19. 19 Architecture du processeur FFT/Viterbi CO #0 BRAM #0 r

    On se base sur l’architecture du processeur FFT/Viterbi CO #1 CO #n … BRAM #1 BRAM #n Memory Crossba … proposé précédemment pour implémenter les permutations de l’algorithme FFT/Viterbi en Hw © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 37 Switching Control Address generation … CO Config … Twiddle factors & BMC Mux … Control & synchronisation Implémentation En cours… Conclusion & Persepctives • Deux opérateurs FFT/Viterbi on été proposés: un opérateur rapide et un deuxième plus compact. • L’opérateur en pipeline a été sélectionné pour son L opérateur en pipeline a été sélectionné pour son efficacité (compromis surface et fréquence) et pour ses avantages architecturaux • Une première architecture Sw/Hw a été proposée pour gérer les OCs (très flexible mais relativement lente..) • La mutualisation des permutations FFT et Viterbi a été © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 38 La mutualisation des permutations FFT et Viterbi a été étudiée et une deuxième architecture Hw a été proposée • Les modules Hw de permutations sont en cours d’implémentation
  20. 20 Publications Conférences internationales: M. Naoues, L. Alaus, D. Noguet,

    “A Common Operator for FFT and Viterbi algorithms,” The 13th Euromicro Conference on Digital System Design (DSD), Lille, France, Septembre 2010 M N D N Y L ë K G i A Gh l “A Effi i Fl ibl M. Naoues, D. Noguet, Y. Louët, K. Grati, A. Ghazel, “An Efficient Flexible Common Operator for FFT and Viterbi algorithms, ” The 2nd International Workshop on COGNITIVE RADIO and COOPERATIVE STRATEGIES for POWER SAVING (C2POWER), Co‐located with IEEE VTC conference, 15‐18 May 2011, Budapest M. Naoues, D. Noguet, Y. Louët, K. Grati, A. Ghazel, “FFT/Viterbi Parallel Processor Architecture,” The 15th Euromicro Conference on Digital System Design (DSD), Izmir, Turkey, Septembre 2012 [en préparation] Brevet : © CEA. All rights reserved Séminaire SCEE| 22 Mars 2012 | 39 M. Naoues, D. Noguet, “Cellule de traitement matériel reconfigurable pour le calcul des algorithmes FFT et Viterbi,” Brevet Français Journal: M. Naoues, D. Noguet L. Alaus, Y. louët, “A Common Operator for FFT and FEC Decoding,” Microprocessors and Microsystems Embedded Hardware Design (MICPRO) Elsevier