v8.0 Transformation de Fourier CoreFFT

CoreFFT v8.0

Caractéristiques

  • Tailles de transformation, points : 32, 64, 128, 256, 512, 1024, 2048,
    4096, 8192 et 16384.
  • FFT sur place : FFT directe et inverse
  • Streaming FFT : FFT avant et arrière
  • Largeur de bit des données d'entrée : complément à deux
  • Largeur de bit du facteur Twiddle : sortie naturelle sampla commande
  • Format des données d'entrée/sortie : bloc conditionnel à virgule flottante
    mise à l'échelle
  • Calendrier de mise à l'échelle prédéfini ou pas de mise à l'échelle
  • Configurations de mémoire minimale ou tampon en option
  • Table de recherche Twiddle (LUT) basée sur des blocs de RAM intégrés
  • Prise en charge de la LUT Twiddle rafraîchissante
  • Signaux de poignée de main pour faciliter l’interface avec l’utilisateur
    circuits
  • Interface de diffusion AXI4 : Non
  • Configuration de transformation avant/inverse au moment de l'exécution : Oui

Instructions d'utilisation du produit

FFT sur place

L'implémentation In-Place FFT prend en charge le Radix-2
transformation par décimation dans le temps. Pour utiliser la FFT sur place, suivez ces
mesures:

  1. Initialisez la séquence d'entrée X(0), X(1),…, X(N-1).
  2. Configurez la taille et le point de transformation.
  3. Effectuez l’opération FFT avant ou inverse selon les besoins.
  4. Récupérez les données transformées de la séquence de sortie.

FFT en continu

L'implémentation Streaming FFT prend en charge le Radix-22
transformée de décimation en fréquence. Pour utiliser le Streaming FFT, suivez
ces étapes:

  1. Initialisez la séquence d'entrée X(0), X(1),…, X(N-1).
  2. Configurez la taille et le point de transformation.
  3. Effectuez l’opération FFT avant ou inverse selon les besoins.
  4. Récupérez les données transformées de la séquence de sortie.

FAQ

Q : Quelles tailles de transformation sont prises en charge ?

R : CoreFFT prend en charge des tailles de transformation de 32, 64, 128, 256,
512, 1024, 2048, 4096, 8192 et 16384.

Q : Quel est le format des données d’entrée ?

R : Le format des données d’entrée est le complément à deux.

Q : CoreFFT prend-il en charge la FFT directe et inverse ?
opérations?

R : Oui, CoreFFT prend en charge la FFT directe et inverse.
opérations.

CoreFFT v8.0
Guide de l'utilisateur CoreFFT
Introduction
Le noyau de transformation de Fourier rapide (FFT) implémente l'algorithme efficace de Cooley-Turkey pour calculer la transformée de Fourier discrète. CoreFFT est utilisé dans un large éventail d'applications telles que les communications numériques, l'audio, les mesures, le contrôle et le biomédical. CoreFFT fournit une FFT basée sur MACC hautement paramétrable, efficace en termes de zone et hautes performances. Le noyau est disponible sous forme de code RTL (Register Transfer Level) de la transformation dans les langages Verilog et VHDL. Équation 1. FFT directe à N points (N est une puissance de 2) d'une séquence x(0), x(1),…, x(N-1) où, k = 0, 1… N-1
Équation 2.FFT inverse à N points (N est une puissance de 2) d'une séquence X(0), X(1),…, X(N-1) où, n = 0, 1… N-1
Important : lors de l'exécution d'une FFT inverse, le noyau n'applique pas la division par N de l'EQ 2 (car la division par une puissance de deux est triviale).
La figure suivante illustre un système basé sur FFT qui se compose d'une source de données, du module FFT et d'un récepteur de données, qui est le destinataire des données transformées. Figure 1. Ex système basé sur FFTample

Caractéristiques
CoreFFT prend en charge les implémentations de transformation FFT de décimation en temps sur place Radix-2 et de transformation FFT de décimation en fréquence Radix-22. Le tableau suivant répertorie les fonctionnalités clés de chaque implémentation.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 1

CoreFFT v8.0

Tableau 1. Prise en charge des principales fonctionnalités

Tailles de transformation des fonctionnalités, points

En place

Streaming

32, 64, 128, 256, 512, 1024, 2048, 16, 32, 64, 128, 256, 512, 1024,

4096, 8192 et 16384.

2048 et 4096

Remarque : la FFT de 16384 4 pts est prise en charge sur les modèles RTGXNUMXTM, PolarFire®,

et pièces PolarFire SoC uniquement.

FFT avant et inverse

Oui

Largeur de bits des données d'entrée

8

Largeur de bits du facteur de rotation

8

Format des données d'entrée/sortie

Complément à deux

Rendement naturelampla commande

Oui

Bloc conditionnel à virgule flottante

Oui

mise à l'échelle

Calendrier de mise à l'échelle prédéfini ou non Pas de mise à l'échelle

Mémoire minimale ou tampon en option Oui configurations

Table de recherche (LUT) Oui basée sur des blocs de RAM intégrés

Prise en charge de l'actualisation de la LUT Twiddle Oui

Signaux de prise de contact pour faciliter l'interface Oui facile avec les circuits utilisateur

Interface de diffusion AXI4

Non

Transformation avant/inverse au moment de l'exécution Aucune configuration

Oui 8 32 Complément à deux Optionnel Non
Oui
Non
Oui
Non Oui
Oui Oui

Familles soutenues
CoreFFT prend en charge les familles de FPGA suivantes. · PolarFire® · SoC PolarFire · SmartFusion® 2 · IGLOO® 2 · RTG4TM
Utilisation et performances des appareils
CoreFFT a été implémenté dans l'appareil SmartFusion2 M2S050 en utilisant le niveau de vitesse -1 et PolarFire MPF300 en utilisant le niveau de vitesse -1. Un résumé des données de mise en œuvre est fourni dans 6. Annexe A : Utilisation et performances du périphérique FFT sur place et 7. Annexe B : Utilisation et performances du périphérique FFT en streaming.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 2

CoreFFT v8.0
Table des matières
Introduction………………………………………………………………………………………………………………………………… ..1 Caractéristiques……………………………………………………………………………………………………………………… …….. 1 Familles prises en charge……………………………………………………………………………………………………………… 2 Utilisation et performances de l'appareil………………………………………………………………………………………….. 2
1. Description fonctionnelle…………………………………………………………………………………………………………..4 1.1. Options architecturales………………………………………………………………………………………………………4 1.2. FFT sur place…………………………………………………………………………………………………………………4 1.3. Tampons de mémoire sur place………………………………………………………………………………………………..5 1.4. FFT en continu…………………………………………………………………………………………………………….. 7
2.Interface…………………………………………………………………………………………………………………………… … 12 2.1. FFT sur place……………………………………………………………………………………………………………….12 2.2. FFT en continu……………………………………………………………………………………………………………… 14
3. Chronogrammes………………………………………………………………………………………………………………….. 20 3.1. FFT sur place……………………………………………………………………………………………………………….20 3.2. FFT en continu……………………………………………………………………………………………………………… 21
4. Flux d'outils……………………………………………………………………………………………………………………… ….. 23 4.1. Licence……………………………………………………………………………………………………………………… 23 4.2. Configuration de CoreFFT dans SmartDesign……………………………………………………………………………. 23 4.3. Flux de simulation………………………………………………………………………………………………………… 24 4.4. Contraintes de conception……………………………………………………………………………………………………… 25 4.5. Synthèse dans Libero SoC………………………………………………………………………………………………. 25 4.6. Placement et itinéraire dans Libero SoC……………………………………………………………………………………..25
5. Intégration du système…………………………………………………………………………………………………………….. 26 5.1 . FFT sur place……………………………………………………………………………………………………………….26 5.2. FFT en continu…………………………………………………………………………………………………………… 26
6. Annexe A : Utilisation et performances du dispositif FFT sur place……………………………………………………28
7. Annexe B : Utilisation et performances des périphériques FFT de streaming…………………………………………………30
8. Historique des révisions…………………………………………………………………………………………………………………… 32
Prise en charge des micropuces FPGA…………………………………………………………………………………………………………………34
Informations sur la puce électronique………………………………………………………………………………………………………………….. 34 La puce électronique Website…………………………………………………………………………………………………………..34 Service de notification de modification de produit…… …………………………………………………………………………………. 34 Support client…………………………………………………………………………………………………………………… 34 Code des appareils à puce électronique Fonction de protection……………………………………………………………………………..34 Mentions légales…………………………………… …………………………………………………………………………………… 35 Marques………………………………………… ………………………………………………………………………………. 35 Système de Management de la Qualité…………………………………………………………………………………………………. 36 Ventes et service dans le monde entier………………………………………………………………………………………………….37

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 3

CoreFFT v8.0
Description fonctionnelle
1. Description fonctionnelle
Cette section décrit la description fonctionnelle de CoreFFT.
1.1 Options architecturales
En fonction de la configuration de l'utilisateur, CoreFFT génère l'une des implémentations de transformation suivantes : · FFT sur place · FFT en streaming
1.2 FFT sur place
L'option d'architecture charge une trame de N données complexesampfichiers dans sa RAM sur place et les traite séquentiellement, à l'aide d'un seul processeur Radix-2. Il stocke les résultats de chaque stage dans la RAM sur place. La FFT sur place nécessite moins de ressources de puce que la FFT en streaming, mais le temps de transformation est plus long. La figure suivante montre un schéma fonctionnel de la transformation en ilace. Figure 1-1. Schéma fonctionnel In-Place Radix-2 FFT (configuration minimale)

Les données d'entrée et de sortie sont représentées sous forme de mots de 2 bits de largeur composés de parties réelles et imaginaires. Les deux parties sont chacune des nombres complémentaires à deux de bits WIDTH. Le module traite des trames (rafales) de données avec une taille de trame de N mots complexes. La trame à traiter est chargée dans la mémoire sur place. La mémoire contient deux blocs RAM identiques, chacun étant capable de stocker N/2 mots complexes. La mémoire sur place prend en charge la double bande passante. Il peut lire et écrire deux mots complexes en même temps. Une fois les N données complexes sampLes fichiers sont chargés dans la mémoire, le calcul FFT démarre automatiquement et la mémoire sur place est utilisée pour les calculs.
Le processus de calcul FFT sur place se déroule dans une séquence de stages avec le nombre de stages égal à log2N. À chaque stagE du traitement des données FFT, le papillon Radix-2 lit toutes les données stockées dans la mémoire sur place, deux mots complexes à la fois. Le commutateur de lecture ainsi qu'un générateur d'adresses de lecture (non représenté sur la figure 1-1) aident le papillon à obtenir les données stockées dans l'ordre requis par l'algorithme FFT. En plus des données, le papillon obtient des facteurs de rotation (coefficients sinus/cosinus) à partir de la LUT de rotation. Le papillon écrit les résultats intermédiaires dans la mémoire sur place via le commutateur d'écriture.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 4

CoreFFT v8.0
Description fonctionnelle
Après les derniers calculstage, la mémoire sur place stocke les données entièrement transformées. Le module émet une trame de données transformées de N mots, un mot à la fois, à condition que le signal READ_OUTP soit actif. CoreFFT calcule les facteurs twiddle requis par l'algorithme FFT et les écrit dans la LUT twiddle. Cela se produit automatiquement à la mise sous tension lorsque la réinitialisation globale asynchrone NGRST est affirmée.

1.3
1.3.1

Tampons de mémoire sur place
Cette section décrit les tampons de mémoire sur place du CoreFFT.
Configuration minimale La configuration minimale, comme illustré dans la figure 1-1, est suffisante pour réaliser la FFT car elle dispose de la RAM sur place requise par l'algorithme FFT. Mais la configuration minimale n’utilise pas le moteur de traitement à tout moment. Au contraire, lorsque les données sont chargées dans la mémoire sur place ou que les données transformées sont lues, le papillon reste inactif. La figure suivante montre la chronologie du cycle FFT. Le cycle comprend les trois phases suivantes :
· Téléchargez une nouvelle trame de données d'entrée dans la RAM sur place · Effectuez la transformation réelle · Téléchargez le résultat de la transformation pour libérer la RAM sur place
Figure 1-2. Cycle FFT sur place à configuration minimale

1.3.2

Dans la configuration minimale, le papillon ne fonctionne que pendant la phase de calcul. Lorsque le taux de rafale de données le permet, la configuration minimale offre la meilleure utilisation des ressources de l'appareil. Il permet notamment d'économiser un nombre important de blocs de RAM.
Configuration tamponnée Afin d'améliorer l'utilisation du papillon et par conséquent de réduire le temps de transformation moyen, des tampons mémoire supplémentaires peuvent être utilisés. La figure suivante montre le schéma fonctionnel FFT tamponné.
Figure 1-3. Schéma fonctionnel FFT tamponné

L'option tamponnée dispose de deux banques de mémoire sur place identiques implémentant un tampon ping-pong et un tampon de sortie. Chaque banque est capable de stocker N mots complexes et de lire deux mots complexes à la fois. La machine à états centrale contrôle la commutation ping-pong, de sorte qu'une source de données ne voit qu'un tampon prêt à accepter de nouvelles données. Le tampon qui n'accepte pas les nouvelles données est utilisé comme RAM sur place par le moteur FFT.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 5

CoreFFT v8.0
Description fonctionnelle
L'architecture de mise en mémoire tampon ping-pong augmente l'efficacité du moteur FFT. Tandis que l'une des deux banques d'entrée est impliquée dans le calcul FFT en cours, l'autre est disponible pour télécharger la trame de données d'entrée suivante. En conséquence, le moteur FFT ne reste pas inactif en attendant que de nouvelles données remplissent le tampon d'entrée. Du point de vue de la source de données, le cœur peut recevoir une rafale de données n'importe où pendant la période de calcul FFT. Lorsque le moteur a fini de traiter la trame de données actuelle et que la banque de tampons d'entrée a été remplie avec une autre trame de données, la machine d'état échange les banques de ping-pong, et le chargement des données et le calcul continuent sur les banques de mémoire alternatives.
Le dernier stage du calcul FFT utilise un schéma déplacé. Le moteur FFT lit les données intermédiaires de la mémoire sur place mais écrit le résultat final dans le tampon de données de sortie. Les résultats finaux restent dans le tampon de sortie jusqu'à ce que le moteur FFT les remplace par les résultats de la trame de données suivante. Du point de vue du destinataire des données, les données de sortie sont disponibles pour lecture à tout moment, à l'exception des dernières FFT.tage.
Le cycle FFT de configuration mis en mémoire tampon est illustré dans la figure suivante.
Figure 1-4. Cycles FFT de configuration tampon

1.3.3

Considérations sur la longueur de mot finie à chaque stage de l'algorithme FFT sur place, le papillon prend deux sampchiers hors de la mémoire sur place et renvoie deux s traitésampfichiers vers les mêmes emplacements mémoire. Le calcul papillon implique une multiplication, une addition et une soustraction complexes. Le retour samples fichiers peuvent avoir une largeur de données plus grande que les samples choisis dans la mémoire. Des précautions doivent être prises pour s’assurer qu’il n’y ait pas de débordements de données.
Pour éviter tout risque de débordement, le noyau utilise l'une des trois méthodes suivantes :
· Mise à l'échelle des données d'entrée · Mise à l'échelle inconditionnelle du bloc à virgule flottante · Mise à l'échelle conditionnelle du bloc à virgule flottante
Mise à l'échelle des données d'entrée : la mise à l'échelle des données d'entrée nécessite de pré-attendre les données d'entrée.ampchiers avec suffisamment de bits de signe supplémentaires, appelés bits de garde. Le nombre de bits de garde nécessaires pour compenser la croissance maximale possible des bits pour une FFT à N points est log2N + 1. Par exempleample, chaque entrée sampLe chier d'une FFT de 256 points doit contenir neuf bits de garde. Une telle technique réduit considérablement la résolution binaire efficace de la FFT.
Mise à l'échelle inconditionnelle des blocs à virgule flottante : la deuxième façon de compenser la croissance des bits FFT consiste à réduire les données d'un facteur deux à chaque s.tage. Par conséquent, les résultats FFT finaux sont réduits d’un facteur 1/N. Cette approche est appelée mise à l’échelle inconditionnelle de blocs à virgule flottante.
Les données d'entrée doivent être réduites d'un facteur deux pour éviter tout débordement dès les premières secondes.tage. Pour éviter le débordement dans les s successivestages, le noyau réduit les résultats de chaque s précédentetage par le facteur deux en décalant tout le bloc de données (tous les résultats du s actueltage) un peu à droite. Le nombre total de bits perdus par les données en raison du décalage de bits dans le calcul FFT est log2N.
Le bloc inconditionnel à virgule flottante entraîne le même nombre de bits perdus que lors de la mise à l'échelle des données d'entrée. Cependant, il produit des résultats plus précis, car le moteur FFT démarre avec des données d'entrée plus précises.
Mise à l'échelle à virgule flottante du bloc conditionnel : dans la mise à l'échelle à virgule flottante du bloc conditionnel, les données ne sont décalées que si une croissance des bits se produit réellement. Si une ou plusieurs sorties papillon augmentent, le bloc entier de données est décalé vers la droite. Le moniteur à virgule flottante à bloc conditionnel vérifie la croissance de chaque sortie papillon. Si un déplacement est nécessaire, c'est

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 6

CoreFFT v8.0
Description fonctionnelle
effectué après tout le stage est complet, à l’entrée du prochain stage papillon. Cette technique fournit le moins de distorsion (bruit de quantification) provoquée par une longueur de mot finie.
En mode Bloc conditionnel à virgule flottante, le noyau peut éventuellement calculer le facteur d'échelle réel. Il le fait si le paramètre SCALE_EXP_ON est défini sur 1. Le facteur réel calculé apparaît alors sur le port SCALE_EXP. Le facteur représente le nombre de décalages vers la droite appliqués par le moteur FFT aux résultats. Par exempleample, la valeur SCALE_EXP de 4 (100) signifie que les résultats FFT ont été décalés vers la droite (réduire à l'échelle) de 4 bits ; c'est-à-dire divisé par 2SCALE_EXP = 16. Le signal accompagne les résultats FFT et est valide tant que OUTP_READY est affirmé. Pour réduire les résultats CoreFFT réels, c'est-à-dire les rendre comparables aux compartiments transformés en virgule flottante, chaque sortie FFT estample doit être multiplié par 2SCALE_EXP :
· Résultat FFT (réel) = DATAO_RE*2SCALE_EXP · Résultat FFT (imaginaire) = DATAO_IM*2SCALE_EXP
Important : Le calculateur d'exposant d'échelle peut être activé uniquement en mode virgule flottante de bloc conditionnel.

1.3.4

Le CoreFFT, par défaut, est configuré pour appliquer la mise à l'échelle à virgule flottante du bloc conditionnel. En mode virgule flottante par bloc conditionnel, les données d'entrée sont vérifiées et réduites d'un facteur deux si nécessaire, avant la première s.tage.
Temps de transformation Le calcul FFT prend (N/2 + L) x log2N + 2 cycles d'horloge, où L est un paramètre spécifique à l'implémentation représentant la latence globale d'une banque de mémoire, de commutateurs et du papillon. L ne dépend pas de la taille de transformation N. Cela dépend uniquement de la résolution en bits FFT. L est égal à 10 aux résolutions en bits de 8 à 18, et L est égal à 16 aux résolutions en bits de 19 à 32. Par exempleample,
· Pour une FFT 256 bits de 16 points
Temps de calcul = (256/2 + 10) x log2256 + 2 = 1106 périodes d'horloge.
· Pour une FFT 4096 bits de 24 points
Temps de calcul = (4096/2 + 16) x log24096 + 2 = 24770 périodes d'horloge.

1.3.5

Implémentation de la mémoire Le cœur utilise des blocs de RAM durs pour implémenter la mémoire sur place, d'autres tampons de mémoire et une LUT twiddle. Les FPGA embarquent deux types de RAM matérielle : la grande SRAM (LSRAM) et les micro-RAM. L'implémentation de la mémoire peut être contrôlée en définissant le paramètre URAM_MAXDEPTH. CoreFFT utilise des micro-RAM si la profondeur requise ne dépasse pas la valeur du paramètre. Par exempleample, le paramètre URAM_MAXDEPTH défini sur 64, utilise des micro-RAM dans n'importe quelle taille FFT jusqu'à 128 points, car la profondeur requise est POINTS/2. En réglant la valeur du paramètre sur 0, le cœur n'utilise pas du tout les micro-RAM, afin qu'elles puissent être utilisées ailleurs.
Le paramètre URAM_MAXDEPTH est accessible via l'interface utilisateur principale.

1.4 FFT en continu
Streaming FFT prend en charge le traitement continu de données complexes, une donnée d'entrée complexeample par période d'horloge. L'architecture de streaming dispose d'autant de processeurs Radix-22, de blocs de RAM et de LUT que nécessaire pour prendre en charge la transformation des données en streaming. La figure suivante montre un diagramme fonctionnel de la transformation de streaming en 256 points.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 7

Figure 1-5. Schéma fonctionnel FFT Streaming Radix-22 256 points

CoreFFT v8.0
Description fonctionnelle

Les données d'entrée et de sortie sont représentées sous forme de mots de (2 x DATA_BITS) composés de parties réelles et imaginaires. Les deux parties sont chacune des nombres complémentaires de deux bits DATA_BITS. Le module traite des trames de données avec une taille de trame égale à la taille de transformation de N mots complexes. La trame à traiter arrive à l'entrée x(n) sous la forme d'une séquence de mots de données complexes, un mot de bits (2 x DATA_BITS) par intervalle d'horloge. La trame suivante peut démarrer immédiatement après le dernier mot de données d'une trame en cours ou à tout moment ultérieurement.
La figure suivante montre un example de la trame i+1 suivant immédiatement la trame i, et la trame i+2 venant après un intervalle arbitraire. Les données d'entrée sampLes fichiers d'une trame doivent arriver à chaque intervalle d'horloge, donc une trame dure exactement N intervalles d'horloge. Il existe une latence importante associée à l’algorithme de streaming. Les trames de données de sortie apparaissent dans le même ordre, à la même fréquence d'horloge et avec les mêmes écarts (le cas échéant) entre les trames de sortie, que ceux entre les trames d'entrée.
Figure 1-6. Streaming de trames de données d'entrée FFT

1.4.1 1.4.2

Le nombre de papillons FFT est égal à log2(N), donc tous les stage étant traité par un papillon séparé. En conséquence, tous les stagLes messages sont traités en parallèle.
CoreFFT calcule les facteurs de torsion requis par l'algorithme FFT. À la mise sous tension, le cœur télécharge automatiquement les facteurs de rotation dans les RAM sur puce qui deviennent les LUTs de rotation. Aucune action de l’utilisateur n’est requise pour que cela se produise. Une fois le téléchargement terminé, le cœur active le signal RFS, indiquant à une source de données que le cœur est prêt à démarrer le traitement FFT. Le contenu de la LUT peut être actualisé à tout moment en émettant un signal d'une largeur d'horloge, REFRESH.
Latence FFT de streaming La latence FFT de streaming est principalement définie par la taille de transformation, N. L'implémentation ajoute un certain nombre de retards de pipeline qui dépendent de la taille de la FFT et de la largeur de bits du chemin de données. En d'autres termes, les résultats FFT sont retardés en ce qui concerne les données d'entrée d'au moins N intervalles de données pour les sorties à bits inversés. La latence de sortie ordonnée est environ deux fois supérieure.
Implémentation de la mémoire FFT de streaming De la même manière que l'architecture sur place, la FFT de streaming utilise des blocs de RAM durs pour implémenter les mémoires, LUT et lignes à retard requises. L'implémentation de la mémoire peut être contrôlée en définissant le paramètre URAM_MAXDEPTH. CoreFFT utilise des micro RAM si la profondeur de la mémoire ne dépasse pas la valeur du paramètre. Par exempleample, le paramètre URAM_MAXDEPTH, défini sur 128, utilise des micro-RAM pour créer des mémoires d'une profondeur de 128 et moins. En réglant la valeur du paramètre sur 0, cela empêche le cœur d'utiliser les micro RAM, afin qu'elles puissent être utilisées ailleurs.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 8

CoreFFT v8.0
Description fonctionnelle

1.4.3

Ordre des mots de données de sortie FFT en continu Les résultats de sortie obtenus à partir des algorithmes FFT Radix-2 et Radix-22 sont dans l'ordre des bits inversés.
Cependant, l'implémentation sur place effectue en interne les tâches sampla commande. Par conséquent, le noyau présente les résultats dans un ordre naturel. Le Streaming FFT prend en charge les ordres de sortie binaires et naturels. L'option bit inversé utilise moins de ressources de puce et offre une latence plus faible.

1.4.4 1.4.4.1

Considérations sur la longueur de mot finie Cette section décrit les considérations sur la longueur de mot finie du CoreFFT.

Modes de planification non mis à l'échelle et à l'échelle
Le calcul papillon implique une addition et une soustraction. Ces opérations peuvent entraîner une augmentation de la largeur des données papillon de l’entrée à la sortie. Chaque papillon, BF2I ou BF2II (voir Figure 1-5), peut introduire un bit supplémentaire dans la largeur des données. De plus, les multiplications peuvent ajouter un bit au résultat. La croissance potentielle globale des bits = log2(N)+1 bits. Des précautions doivent être prises pour s’assurer qu’il n’y ait pas de débordements de données.

Pour éviter ou réduire un risque de débordement, le noyau utilise l'une des deux techniques suivantes :
· Le mode non mis à l'échelle crée un chemin de données suffisamment large pour s'adapter à la croissance des bits. La largeur du chemin de données augmente de stage à stage pour s'adapter pleinement à la croissance des bits de l'algorithme, afin que le débordement de données ne se produise jamais. La largeur de bits de sortie réelle ou imaginaire est log2(N)+1 bits plus large que celle d'entrée. La conception est entièrement sûre du point de débordement de view.
· La technique de planification d'échelle configurable permet à l'utilisateur de contrôler la réduction (troncation) de chaque résultat intermédiaire pouvant provoquer un débordement. La largeur de bits de sortie est égale à la largeur de bits d’entrée. La technique est sécurisée contre les débordements uniquement lorsque le calendrier de mise à l'échelle correspond à la croissance réelle du nombre de bits, ce qui n'est pas facile à réaliser. Une approche prudente de la mise à l'échelle configurable conduit souvent à une réduction supplémentaire. Mais si la nature du signal transformé est connue pour être sans débordement avec tout ou partie des stagEn omettant la réduction d'échelle importante, la technique est bénéfique à la fois du point de vue du rapport signal/bruit et de l'utilisation des ressources de la puce. Lorsqu'il est configuré pour la technique de planification de mise à l'échelle, le cœur génère un indicateur de débordement si le débordement se produit. Le papillon Radix-22 peut introduire une croissance de 3 bits : les papillons BF2I, BF2II et un multiplicateur chacun peuvent en ajouter un peu. Mais une seule multiplication sur toutes les FFTtages peut ajouter le peu. Comme on ne sait pas à l'avance le stage auquel le multiplicateur induit le bit supplémentaire le cas échéant, le moteur FFT en mode non mis à l'échelle étend le chemin de données du bit en commençant au premier stage.
Dans la technique de planification à l'échelle, toutes les Radix-22 stagNous pouvons introduire une croissance sur 3 bits. Le chemin des données dans le stage grandit en conséquence, c'est-à-dire que stagLa sortie est trois bits plus large que la sortie stage entrée. Le moteur coupe les trois bits supplémentaires après le stagLe résultat est calculé, c'est-à-dire le stagLa sortie est tronquée de trois bits avant de passer à la suivante.tage. Une telle approche élimine le besoin de deviner les sous-stage auquel la réduction d’échelle doit être appliquée.
Le tableau suivant explique les trois bits qui sont supprimés en mode planification de mise à l'échelle en fonction de la valeur de planification de 2 bits pour un s particulier.tage.

Tableau 1-1. Découpe de trois bits supplémentaires en mode planification de mise à l'échelle

Calendrier d'échelle pour un Radix-22 S donnétage

Bits le noyau coupe

00

Découpez trois MSB

01

Découpez deux MSB et arrondissez un LSB

10

Découpez un MSB et arrondissez deux LSB

11

Troisième tour LSB

Les FFT/IFFT des tailles 32, 128 ou 512 qui ne sont pas une puissance de quatre, en plus des papillons Radix-22, utilisent un seul papillon Radix-2. Celui-ci s'applique aux derniers traitementstage et coupe un seul bit supplémentaire.
Le cœur invoque automatiquement la détection de débordement en mode planification de mise à l’échelle. L'indicateur de débordement (OVFLOW_FLAG) apparaît dès que le noyau détecte le débordement réel. Le drapeau reste actif jusqu'à la fin d'une trame de sortie où le débordement est détecté.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 9

CoreFFT v8.0
Description fonctionnelle

1.4.4.2

Limitations de largeur de bits d'entrée en mode non mis à l'échelle Le mode non mis à l'échelle limite le nombre maximal de bits d'entrée.ampla largeur de bit gérée par le noyau. Le tableau suivant répertorie les largeurs de bits maximales pour chaque taille FFT.
Tableau 1-2. Largeur de bits maximale des données d'entrée FFT non mise à l'échelle en continu

Taille FFT 16

Largeur d'entrée maximale 32

32

30

64

30

128

28

256

28

512

26

1024

26

2048

24

4096

24

1.4.4.3

Saisie du calendrier de mise à l'échelle Le calendrier de mise à l'échelle identifie le facteur de réduction d'échelle pour chaque FFT en streaming.tage. Toutes les Radix-22 stagLe facteur de mise à l'échelle est contrôlé par deux bits dédiés du programme de mise à l'échelle et par les Radix-2.tagLe e utilisé dans les FFT non puissance de quatre est contrôlé par un seul bit. La figure suivante représente un example d'une interface utilisateur de planification d'échelle pour 1024-pt FFT. Une paire de cases à cocher correspond à un Radix-22 spécifiquetage et présente deux bits du facteur de réduction d'échelle. Le facteur de réduction d'échelle réel à un moment donnétage est calculé comme 22*Bit1+Bit0 et prend l'une des valeurs suivantes : 1, 2, 4, 8. Les cases à cocher illustrées dans la figure suivante correspondent à la valeur de planification d'échelle binaire de 10 10 10 10 11. Cette valeur présente un un calendrier d'échelle conservateur qui ne provoque pas de débordement.
Figure 1-7. Interface utilisateur de planification d'échelle

Le tableau suivant répertorie les programmes d'échelle prudents pour chaque taille de FFT totalement sécurisée contre les débordements.

Tableau 1-3. Programmes d'échelle conservateurs pour différentes tailles de FFT

Taille FFT

Radix-22Stage

5

4

3

2

1

0

4096

1

0

1

0

1

0

1

0

1

0

1

1

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 10

………..suite Taille FFT
2048 1024 512 256 128 64 32 16

CoreFFT v8.0
Description fonctionnelle

Radix-22Stage

5

4

3

2

1

0

x

1

1

0

1

0

1

0

1

0

1

1

x

x

1

0

1

0

1

0

1

0

1

1

x

x

x

1

1

0

1

0

1

0

1

1

x

x

x

x

1

0

1

0

1

0

1

1

x

x

x

x

x

1

1

0

1

0

1

1

x

x

x

x

x

x

1

0

1

0

1

1

x

x

x

x

x

x

x

1

1

0

1

1

x

x

x

x

x

x

x

x

1

0

1

1

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 11

CoreFFT v8.0
Interface

2. Interface
Cette section décrit l'interface de CoreFFT.

2.1
2.1.1

FFT sur place
Cette section décrit la FFT sur place du CoreFFT.

Paramètres de configuration CoreFFT possède des paramètres (Verilog) ou des génériques (VHDL) pour configurer le code RTL. Le tableau suivant décrit les paramètres et les génériques. Tous les paramètres et génériques sont des types entiers.
Tableau 2-1. Descriptions des paramètres CoreFFT sur place

Paramètre INVERSE

Plage valide 0

Par défaut 0

Description
0 : transformée de Fourier directe 1 : transformée de Fourier inverse

ÉCHELLE

0

0

0 : mise à l'échelle conditionnelle du bloc à virgule flottante

1 : mise à l'échelle inconditionnelle du bloc à virgule flottante

Pour appliquer la mise à l'échelle des données d'entrée, définissez le paramètre SCALE sur 0 et ajoutez le nombre approprié de bits de garde aux données d'entrée. Ensuite, le bloc conditionnel à virgule flottante n'a aucun effet.

POINTS
LARGEUR MEMBRE

32, 64, 128,

256

256, 512, 1024,

2048, 4096,

8192 16384

8

18

0

0

Transformer la taille. Remarque : la FFT de 16384 4 points est prise en charge uniquement sur les pièces RTGXNUMX, PolarFire et PolarFire SoC.
Largeur de bits des données et du facteur de rotation
0 : configuration minimale (sans tampon) 1 : configuration avec tampon

SCALE_EXP_ON

0

0

0 : ne construit pas le bloc conditionnel à virgule flottante

calculateur d'exposant

1 : Construit la calculatrice

URAM_MAXDEPTH

0, 4, 8, 16, 32, 64, 128, 256, 512

La plus grande profondeur de RAM à implémenter avec la microRAM disponible sur les pièces SmartFusion2, IGLOO2, RTG4, PolarFire et PolarFire SoC. Lorsque la profondeur de RAM requise pour une taille de transformation POINTS sélectionnée par l'utilisateur dépasse URAM_MAXDEPTH, de gros blocs LSRAM sont utilisés.

2.1.2

Ports Le tableau suivant répertorie les signaux de port pour l'architecture CoreFFT sur place.
Tableau 2-2. Descriptions des ports CoreFFT sur place

Nom du port DATAI_IM

Bits de largeur du port d'entrée/sortie Description

In

LARGEUR

Données d'entrée imaginaires à transformer

DATAI_RE

In

LARGEUR

Données d'entrée réelles à transformer

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 12

CoreFFT v8.0
Interface

………..a continué

Nom du port

Entrée/Sortie

DATAI_VALID Dans

Bits de largeur de port 1

Description
Mot complexe d'entrée valide Le signal accompagne les mots complexes d'entrée valides présents sur les entrées DATAI_IM, DATAI_RE. Lorsque le signal est actif, le mot complexe d'entrée est chargé dans la mémoire centrale à condition que le signal BUF_READY ait été activé.

READ_OUTP Dans

1

Lire les données transformées Normalement, le module affiche les résultats FFT, une fois qu'ils sont prêts, en une seule rafale de N mots complexes. Le destinataire des données transformées peut insérer des interruptions arbitraires dans la rafale en désaffirmant le signal READ_OUTP.

DATAO_IM

Dehors

DATAO_RE

Dehors

DATAO_VALID Sortie

LARGEUR LARGEUR 1

Données de sortie imaginaires
Données de sortie réelles
Mot complexe de sortie valide Le signal accompagne les mots complexes de sortie valides présents sur les sorties DATAO_IM et DATAO_RE.

BUF_READY sorti

1

FFT accepte de nouvelles données. Le noyau affirme le signal lorsqu'il est prêt à accepter des données. Le signal reste actif jusqu'à ce que la mémoire principale soit pleine. En d'autres termes, le signal reste actif jusqu'à ce que l'entrée complexe POINTS soit activée.amples chiers sont chargés.

OUTP_READY Sortie

1

Résultats FFT prêts Le noyau affirme le signal lorsque les résultats FFT sont prêts à être lus par le destinataire des données transformées. Le signal reste actif pendant la lecture de la trame de données transformée. Normalement, cela dure pendant les intervalles d'horloge POINTS, à moins que le signal READ_OUTP ne soit désactivé.

SCALE_EXP

Dehors

étage[log2 ( Ceil(log2(POIN TS)))]+1

Exposant de mise à l'échelle à virgule flottante de bloc conditionnel Cette sortie facultative peut être activée en définissant le paramètre SCALE_EXP_ON. La sortie peut être activée lorsque le noyau est en mode de mise à l'échelle à virgule flottante de bloc conditionnel uniquement (le paramètre SCALE = 0).

PONG CLK

Dehors

1

In

1

La banque Pong de la mémoire tampon d'entrée est utilisée par le moteur FFT comme mémoire sur place de travail. Ce signal facultatif est valide uniquement dans la configuration tamponnée.
Horloge Front montant actif L'horloge principale de base

CLK LENT

In

1

NGRST

In

1

Signal d'horloge à front montant basse fréquence pour l'initialisation de la LUT Twiddle, il doit être au moins divisé par huit fois la fréquence CLK.
Réinitialisation asynchrone Actif-Bas

Important : Tous les signaux sont actifs-hauts (logique 1), sauf indication contraire.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 13

CoreFFT v8.0
Interface

2.2
2.2.1

FFT en continu
Le streaming FFT est disponible avec une interface native configurable par GUI ou une interface de streaming AXI4.

Paramètres de configuration CoreFFT possède des paramètres (Verilog) ou des génériques (VHDL) pour configurer le code RTL. Le tableau suivant décrit ces paramètres et génériques. Tous les paramètres et génériques sont des types entiers.
Tableau 2-3. Description des paramètres de l'architecture de streaming CoreFFT

Nom du paramètre FFT_SIZE

Plage valide Par défaut
16, 32, 64, 128, 256, 256, 512, 1024, 2048 et 4096

Description
Transformer les points de taille Le noyau traite les trames de données complexes, chaque trame contenant des complexes FFT_SIZEamples. Les trames de données transformées sont de la même taille.

NATIV_AXI4

0 – 1

0

Sélection de l'interface de l'IP

· 0 – Interface native

· 1 – Interface de diffusion AXI4

Il est disponible uniquement pour l'architecture de streaming

SCALE_ON

0 – 1

1

1 – Activer la planification de mise à l'échelle configurable

Lorsque l'option est activée, le noyau applique le paramètre configurable

facteur d'échelle, SCALE_SCH après chaque papillon.

0 – Mode non mis à l'échelle

SCALE_SCH

0

Calendrier de mise à l'échelle

Si le paramètre SCALE_ON est égal à 1, SCALE_SCH est utilisé pour

définir le facteur d'échelle pour chaque traitementtage.

DATA_BITS TWID_BITS COMMANDE

8 – 32 8 – 32 0 – 1

18

Largeur de bits des données d'entrée des parties réelles ou imaginaires.

18

Facteur de rotation de la largeur de bits de ses parties réelles ou imaginaires.

0

0 : données de sortie dans l'ordre des bits inversés

1 : sortir les données dans l'ordre normal

URAM_MAXDEPTH 0, 4, 8, 16, 32, 0 64, 128, 256, 512

La plus grande profondeur de RAM à implémenter avec la micro-RAM disponible sur les pièces SmartFusion2, IGLOO2, RTG4, PolarFire ou PolarFire SoC. Lorsque la profondeur de RAM requise pour une taille de transformation POINTS sélectionnée par l'utilisateur dépasse URAM_MAXDEPTH, de gros blocs LSRAM sont utilisés.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 14

CoreFFT v8.0
Interface

………..a continué
Nom du paramètre
AXI4S_IN_DATA Remarque : explique le remplissage des 0 pour les données d'entrée réelles et imaginaires.amples lorsque NATIV_AXI4 = 1

Plage valide 8,16,24,32

Par défaut 24

Description
Il s’agit d’un paramètre généré en interne, non accessible à l’utilisateur. Il est utilisé pour interpréter les données d'entrée sampfichiers en termes de limites d'octets pour faciliter l'interface de streaming AXI4. Taille AXI4S_IN_DATA définie comme suit :
1. Si DATA_BITS = 8 alors AXI4S_IN_DATA = 8, aucun remplissage n'est requis pour les données d'entréeamples
2. Si 8 < DATA_BITS < 16 alors AXI4S_IN_DATA = 16, les données d'entrée sample fichier doit être rempli de 16 (DATA_BITS) de 0 à la position MSB, à la fois pour les données réelles et imaginairesamples avant d'envoyer
3. Si 16 < DATA_BITS < 24 alors AXI4S_IN_DATA = 24, les données d'entrée sample fichier doit être rempli de 24 (DATA_BITS) de 0 à la position MSB, à la fois pour les données réelles et imaginairesamples avant d'envoyer
4. Si 24 < DATA_BITS < 32 alors AXI4S_IN_DATA = 32, les données d'entrée sample fichier doit être rempli de 32 (DATA_BITS) de 0 à la position MSB, à la fois pour les données réelles et imaginairesamples avant d'envoyer
Remarque : le remplissage doit commencer à partir de MSB.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 15

CoreFFT v8.0
Interface

………..suite Nom du paramètre

Plage valide

AXI4S_OUT_DATA 8,16,24,32, 40 Remarque : explique le remplissage des 0 pour les données de sortie réelles et imaginaires.amples lorsque NATIV_AXI4 = 1

Par défaut 24

Description
Il s’agit d’un paramètre généré en interne, non accessible à l’utilisateur. Il est utilisé pour interpréter les données de sortie sampfichiers en termes de limites d'octets pour faciliter l'interface de streaming AXI4. Taille AXI4S_OUT_DATA définie comme suit :
Lorsque SCALE_ON = 0, alors sortie sampla taille du fichier est STREAM_DATAO_BITS = DATA_BITS+ceil_log2 (FFT_SIZE) + 1
Lorsque SCALE_ON = 1, alors sortie sampla taille du fichier est STREAM_DATAO_BITS = DATA_BITS
1. Si STREAM_DATAO_BITS = 8 alors AXI4S_OUT_DATA = 8, aucun remplissage n'est ajouté pour les données de sortieamples
2. Si 8 < STREAM_DATAO_BITS < 16 alors AXI4S_OUT_DATA = 16, les données de sortie samples chiers sont complétés par 16 – (STREAM_DATAO_BITS) de 0 à la position MSB, à la fois pour les données réelles et imaginairesamples avant le cadrage
3. Si 16 < STREAM_DATAO_BITS < 24 alors AXI4S_OUT_DATA = 24, les données de sortie samples chiers sont complétés par 24 – (STREAM_DATAO_BITS) de 0 à la position MSB, à la fois pour les données réelles et imaginairesamples avant le cadrage
4. Si 24 < STREAM_DATAO_BITS < 32 alors AXI4S_OUT_DATA = 32, les données de sortie samples chiers sont complétés par 32-(STREAM_DATAO_BITS) de 0 à la position MSB, à la fois pour les données réelles et imaginairesamples avant le cadrage
5. Si 32 < STREAM_DATAO_BITS < 40 alors AXI4S_OUT_DATA = 40, les données de sortie samples chiers sont complétés par 40 – ( STREAM_DATAO_BITS) de 0 à la position MSB, à la fois pour les données réelles et imaginairesamples avant le cadrage
Remarque : le remplissage doit commencer à partir de MSB.

2.2.2

Ports Le tableau suivant décrit les signaux de port pour la macro Streaming CoreFFT.
Tableau 2-4. Descriptions des signaux d'E/S FFT en streaming

Nom du port CLK SLOWCLK
CLKEN

Entrée/Sortie Entrée Entrée
In

Largeur du port, bits Description

1

Signal d'horloge sur front montant

1

Signal d'horloge à front montant basse fréquence pour LUT twiddle

initialisation, il doit être au moins divisé par quatre fois CLK

fréquence.

1

Signal d'activation d'horloge en option

Après avoir désactivé le signal, le noyau cesse de générer des données valides.

résultats

NGRST

In

1

TVD

In

1

Ports disponibles lorsque NATIV_AXI4 = 1

Signal de réinitialisation asynchrone actif-bas. Signal de réinitialisation synchrone actif-haut en option.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 16

CoreFFT v8.0
Interface

………..a continué

Nom du port

Entrée/Sortie

AXI4_S_DATAI_ Dans TVALID

AXI4_S_DATAI_ Sortie TREADY
AXI4_S_TDATAI Dans

AXI4_S_TLASTI Dans
AXI4_M_DATAO Sortie _TVALID

AXI4_M_DATAO Dans _TREADY

AXI4_M_TDATA Sortie O

AXI4_M_TLAST Sortie O
AXI4_S_CONFIG Dans I_TVALID

AXI4_S_

Dehors

CONFIGURATION

_TREADY

AXI4_S_CONFIG En I

AXI4_M_CONFI Sortie GO_TVALID
AXI4_M_CONFI Dans GO _TREADY

Largeur du port, bits Description

1

Données AXI4 Stream entrées valides dans le noyau à partir d'une source externe

indique la disponibilité des données. Il fait office de START du noyau.

Remarque : lisez la description du port START pour plus d'informations.

1

Données AXI4 Stream prêtes pour la source externe

Indique que les cœurs sont prêts à accepter les données

(2 *

AXI4 Flux d'entrée de données de la source vers le noyau.

AXI4S_IN_DATA) Contient des données réelles (DATAI_RE) complétées par des 0 et des données imaginaires

(DATAI_IM) complétées par des 0 en conséquence.

1

Indique la transmission des dernières donnéesample de l'extérieur

source.

1

La sortie valide des données AXI4 Stream vers le récepteur indique que le noyau est prêt

pour envoyer des données transformées. Il agit comme DATAO_VALID du noyau.

Remarque : Lisez la description du port DATAO_VALID pour en savoir plus.

information.

1

Données AXI4 Stream prêtes à partir du récepteur

Indiquer la disponibilité du récepteur externe

Il doit toujours être 1 pour les fonctionnalités de base

(2 * AXI4S_OUT_DATA)

AXI4 Diffusez les données vers le récepteur.
Contient des données réelles transformées (DATAO_RE) complétées par des 0 et des données imaginaires (DATAO_IM) complétées par des 0 en conséquence.

1

Indique la transmission des dernières données transforméesample de

IP

1

Entrée valide dans le noyau à partir d'une source externe

Indique la disponibilité des données de configuration

1

Prêt à la source externe pour indiquer que les cœurs sont prêts

accepter les données de configuration.

8

Entrée des données de configuration de la source vers le noyau et la source

doit configurer l'adresse IP avant de transmettre les données.amples. Il

contient les informations de configuration suivantes :

· Bit0 – INVERSE (Lorsque le bit est haut, le cœur calcule la FFT inverse de la trame de données suivante, sinon la FFT avant)

· Bit1 – REFRESH (Recharger les LUT à coefficient de rotation dans les blocs RAM correspondants)

1

Sortie valide des données d'état vers le récepteur

Indiquer que le noyau est prêt à envoyer des données transformées

1

Données d'état prêtes à partir du récepteur

Indique que le récepteur externe est prêt.

Il doit toujours être 1 pour les fonctionnalités de base.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 17

CoreFFT v8.0
Interface

………..a continué

Nom du port

Entrée/Sortie

AXI4_M_CONFI Sortie GO

Largeur du port, bits Description

8

Données d'état envoyées au récepteur

Il contient les informations d'état suivantes :

Bit0 – OVFLOW_FLAG (indicateur de dépassement arithmétique, CoreFFT affirme l'indicateur si le calcul FFT/IFFT déborde. L'indicateur démarre dès que le noyau détecte un débordement. L'indicateur se termine à la fin de la trame de données de sortie actuelle)

Ports disponibles lorsque NATIV_AXI4=0

DATAI_IM

In

BITS DE DONNÉES

DATAI_RE

In

BITS DE DONNÉES

COMMENCER

In

1

Données d'entrée imaginaires à transformer.
Données d'entrée réelles à transformer.
Signal de début de transformation
Signifie le moment où le premier sample d'une trame de données d'entrée de N complexes samples entre dans le noyau.
Si le START survient alors que la trame de données d'entrée précédente n'est pas terminée, le signal doit être ignoré.

INVERSE

In

1

Transformation inverse Lorsque le signal est affirmé, le cœur calcule la FFT inverse de la trame de données suivante, sinon la FFT directe.

RAFRAÎCHIR

In

DATAO_IM

Dehors

DATAO_RE

Dehors

OUTP_READY Sortie

1
DONNEES_BITS DONNEES_BITS 1

Recharge les LUT à coefficient de rotation dans les blocs RAM correspondants.
Données de sortie imaginaires
Données de sortie réelles
Les résultats FFT sont prêts Le noyau affirme le signal lorsqu'il est sur le point de produire une trame de données N FFT. La largeur du signal est d'un intervalle d'horloge.

DATAO_VALID Sortie

1

La trame de sortie est valide
Accompagne une trame de données de sortie valide. Une fois démarré, le signal dure N cycles d'horloge.
Si les données d'entrée arrivent en continu sans écart entre les images, le DATAO_VALID une fois démarré durera indéfiniment.

OVFLOW_FLAG Sortie

1

Indicateur de débordement arithmétique CoreFFT affirme l'indicateur si le calcul FFT/IFFT déborde. Le drapeau démarre dès que le noyau détecte un débordement. L'indicateur se termine à la fin de la trame de données de sortie actuelle.

RFS

Dehors

1

Demande de démarrage Le noyau affirme le signal lorsqu'il est prêt pour la prochaine trame de données d'entrée. Le signal démarre dès que le noyau est prêt pour la trame suivante. Le signal se termine lorsque le noyau reçoit le signal START demandé.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 18

CoreFFT v8.0
Interface
Important : Tous les signaux sont actifs-hauts (logique 1), sauf indication contraire.

2.2.3

Format de trame de données d'entrée/sortie pour l'interface de streaming AXI4 Lorsque l'interface de streaming AXI4 est sélectionnée, les trames de données d'entrée et de sortie sont disponibles sous forme de données réelles et imaginaires en cascade, les données sampLes chiers sont d'abord complétés par des zéros pour correspondre aux limites d'octets afin de faciliter le streaming AXI4.
Par exempleample, DATA_BITS de 26, la limite d'octet la plus proche est 32, il faut donc ajouter six 0 pour les données réelles et imaginairesampfichiers avant de passer en cascade pour cadrer les données d'E/S en streaming AXI4
Tableau 2-5. Format de trame de données d'E/S de l'interface de streaming AXI4

Bits : 63…58 0 remplissage

Bits : 57…32 Données imaginaires

Bits : 31..26 0 remplissage

Bits : 25…0 Données réelles

Astuce : Consultez la description des paramètres AXI4S_IN_DATA et AXI4S_OUT_DATA pour le remplissage par zéro dans le tableau 2-3.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 19

CoreFFT v8.0
Diagrammes de synchronisation
3. Chronogrammes
Cette section décrit le chronogramme de CoreFFT.
3.1 FFT sur place
Lorsque la FFT sur place affirme le signal BUF_READY, une source de données commence à fournir les données.amples à transformer. Moitiés imaginaires et réelles des données d'entréeample doit être fourni simultanément et accompagné du bit de validité DATAI_VALID. La source de données peut fournir le sample à chaque cycle d'horloge ou à une fréquence arbitrairement plus lente (voir Figure 3-1). Une fois que le module FFT reçoit des N-entréesamples, il abaisse le signal BUF_READY. Le moteur FFT commence automatiquement à traiter les données une fois qu'elles sont prêtes. Dans la configuration de mémoire minimale, la phase de traitement démarre immédiatement après la fin du chargement des données. Dans la configuration en mémoire tampon, le moteur FFT peut attendre que la rafale de données précédente soit traitée. Ensuite, le moteur démarre automatiquement. La figure suivante montre le chargement des données d'entrée. Figure 3-1. Chargement des données d'entrée
Une fois la transformation terminée, le module FFT affirme le signal OUTP_READY et commence à générer les résultats FFT. Les moitiés imaginaires et réelles des résultatsampLes fichiers apparaissent simultanément sur les sorties multibits DATAO_IM et DATAO_RE. Chaque sortie sample est accompagné du bit DATAO_VALID. Le récepteur de données accepte les données transformées soit à chaque cycle d'horloge, soit à un rythme arbitrairement plus lent. Le module FFT continue de fournir une sortie de données pendant que le signal READ_OUTP est affirmé. Pour contrôler la sortie sample taux, le récepteur doit désactiver le signal READ_OUTP en cas de besoin (comme le montre la figure suivante). La figure suivante montre la réception des données de transformation. Figure 3-2. Réception de données transformées

Lors de l'utilisation du signal READ_OUTP pour contrôler la vitesse de lecture, une éventuelle croissance du cycle FFT doit être prise en compte. Dans la configuration de mémoire minimale, toute prolongation du temps de lecture (téléchargement) étend le cycle FFT (voir Figure 1-2). Dans la configuration tamponnée, le cycle FFT augmente lorsque le temps de téléchargement réel dépasse l'intervalle dédié indiqué dans la figure 1-3 comme « Disponible pour la lecture des résultats du cycle i ». De plus, dans la configuration en mémoire tampon, le tampon de sortie commence à accepter les nouveaux résultats FFT même si les anciens résultats n'ont pas été lus, écrasant ainsi les plus anciens. Dans ce cas, le noyau désaffirme les signaux OUTP_READY et DATAO_VALID lorsqu'ils ne sont plus valides.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 20

CoreFFT v8.0
Diagrammes de synchronisation

3.2
3.2.1

FFT en continu
Pour l'interface AXI4S, le fonctionnement des ports de l'interface AXI4S est mappé sur celui de l'interface native. Pour un mappage individuel, voir le tableau 2-4 dans Ports de 2.2. FFT en streaming.
RFS et START Le noyau génère le signal RFS pour faire savoir à une source de données qu'elle est prête pour la prochaine trame des données d'entrée.amples. Une fois affirmé, le RFS reste actif jusqu'à ce que la source de données réponde avec le signal START.
Une fois que le cœur obtient le START, il désaffirme le signal RFS et commence à recevoir la trame de données d'entrée. Après N intervalles d'horloge, la réception de la trame de données est terminée et le signal RFS redevient actif. La figure suivante montre un example lorsque le moteur FFT attend que la source de données fournisse le signal START.
Figure 3-3. RFS attend le DÉBUT

Le signal START a une valeur active permanente et le noyau commence à recevoir une autre trame d'entrée juste après la fin d'une trame précédente. Il est facultatif que la source de données surveille le signal RFS. Il peut activer le signal START à tout moment et le noyau commence à accepter une autre trame d'entrée dès qu'il le peut. Dans la situation de la figure 3-3, un nouveau chargement de trame démarre immédiatement après le signal START. Si le signal START arrive lorsqu'une trame d'entrée précédente est en cours de chargement, le noyau attend la fin de la trame, puis commence à charger une autre trame. La figure suivante montre un autre example où les données d’entrée arrivent indéfiniment sans espaces entre les images. Figure 3-4. Transformer les données en streaming
La figure suivante montre que le signal START avance la trame d'entrée réelle d'un intervalle d'horloge. Figure 3-5. START mène les données

3.2.2

OUTP_READY et DATAO_VALID
Ces deux signaux servent à avertir un récepteur de données lorsque les résultats FFT sont prêts. Le OUTP_READY est une impulsion à l’échelle de l’horloge. Le noyau affirme quand la trame de données de sortie est sur le point d'être émise. Le noyau affirme le signal DATAO_VALID tout en générant la trame de sortie. Le signal DATAO_VALID suit le signal OUTP_READY d'un intervalle d'horloge. La figure suivante montre les relations temporelles entre les deux signaux et la trame de données FFT.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 21

Figure 3-6. Données de sortie et signaux de prise de contact

CoreFFT v8.0
Diagrammes de synchronisation

La figure suivante montre un scénario dans lequel le signal DATAO_VALID est actif en permanence lorsque les données en streaming ne présentent aucun espace entre les trames.
Figure 3-7. Streaming des données de sortie sans lacunes

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 22

CoreFFT v8.0
Flux d'outils
4. Flux d'outils
Cette section décrit le flux d'outils de CoreFFT.
Licence 4.1
CoreFFT est verrouillé sous licence.
4.2 Configuration de CoreFFT dans SmartDesign
CoreFFT est disponible en téléchargement dans le catalogue Libero® IP via le web dépôt. Une fois répertorié dans le catalogue, le noyau peut être instancié à l'aide du flux SmartDesign. Pour savoir comment créer un projet SmartDesign, consultez le guide de l'utilisateur SmartDesign. Après avoir configuré et généré l'instance principale, les fonctionnalités de base peuvent être simulées à l'aide du banc de test fourni avec CoreFFT. Les paramètres du banc de test s'ajustent automatiquement à la configuration CoreFFT. CoreFFT peut être instancié en tant que composant d'une conception plus large.
Important : CoreFFT est compatible avec l'environnement de conception intégré (IDE) Libero et le SoC Libero. Sauf indication contraire, ce document utilise le nom Libero pour identifier à la fois Libero IDE et Libero SoC. Figure 4-1. Instance SmartDesign CoreFFT View
Le noyau peut être configuré à l'aide de l'interface utilisateur graphique (GUI) de configuration dans SmartDesign. Un exampLe fichier de l'interface graphique de la famille SmartFusion2 est illustré dans la figure suivante.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 23

Figure 4-2. Configuration de CoreFFT dans SmartDesign

CoreFFT v8.0
Flux d'outils

4.3 Flux de simulation
Le banc de test utilisateur pour CoreFFT est inclus dans la version. Pour ce faire, effectuez les étapes suivantes : 1. Pour exécuter le banc de test utilisateur, définissez la racine de conception sur l'instanciation CoreFFT dans le volet de hiérarchie de conception Libero SoC. 2. Sous Vérifier la conception pré-synthétisée, dans la fenêtre Libero SoC Design Flow, cliquez avec le bouton droit sur Simuler, puis sélectionnez Ouvrir de manière interactive. Cela appelle ModelSim et exécute automatiquement la simulation.
Important : lors de la simulation de la version VHDL du noyau, vous souhaiterez peut-être supprimer les avertissements de la bibliothèque IEEE.NUMERIC_STD. Pour ce faire, ajoutez les deux lignes suivantes au run.do généré automatiquement file:
· définir NumericStdNoWarnings -1 · définir StdArithNoWarnings -1

4.3.1 4.3.1.1

Testbench Le banc de test unifié utilisé pour vérifier et tester CoreFFT est appelé banc de test utilisateur.
User Testbench La figure suivante montre le schéma fonctionnel de Testbench. L'équation suivante montre comment la FFT comportementale dorée implémente les calculs de précision finie présentés dans
x(k) = n= 0N-1X(n)e?jnk2?/N

Équation 1 ou Équation 2 dans Introduction , Golden FFT et CoreFFT sont configurés de manière identique et reçoivent le même signal de test. Le banc de test compare les signaux de sortie du module doré et du CoreFFT réel.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 24

Figure 4-3. Banc de test utilisateur CoreFFT

CoreFFT v8.0
Flux d'outils

Le banc de test fournit des exampinstructions sur la façon d'utiliser le module FFT généré. Le banc de test peut être modifié selon les besoins.
4.4 Contraintes de conception
La synchronisation de base nécessite des exceptions (c'est-à-dire un faux chemin et un chemin multi-cycles) qui doivent être utilisées entre les limites d'horloge. Pour référence sur les contraintes requises à ajouter, voir CoreFFT.sdc à partir du chemin. /component/Actel/DirectCores/CoreFFT//constraints/ CoreFFT.sdc.
4.5 Synthèse dans Libero SoC
Pour exécuter la synthèse de la configuration sélectionnée, effectuez les étapes suivantes : 1. Définissez la racine de conception de manière appropriée dans l'interface graphique de configuration. 2. Sous Implémenter la conception, dans l'onglet Flux de conception, cliquez avec le bouton droit sur Synthétiser et sélectionnez Exécuter.
4.6 Placement et itinéraire dans Libero SoC
Après avoir défini la racine de conception de manière appropriée et exécuté Synthesis. Sous Implémenter la conception dans l’onglet Flux de conception, cliquez avec le bouton droit sur Placer et Itinéraire et cliquez sur Exécuter.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 25

CoreFFT v8.0
Intégration de systèmes
5. Intégration du système
Cette section fournit un exampchier qui montre l’intégration de CoreFFT.
5.1 FFT sur place
La figure suivante montre un example de l'utilisation du noyau. Lorsque la FFT sur place affirme le signal BUF_READY, une source de données commence à fournir les données.amples à transformer. Moitiés imaginaires et réelles des données d'entréeample doit être fourni simultanément et accompagné du bit de validité-DATAI_VALID. La source de données peut fournir le sample à chaque cycle d’horloge ou à une fréquence arbitrairement plus lente (voir Figure 3-1). Une fois que le module FFT a reçu des N entréesamples, il abaisse le signal BUF_READY. Figure 5-1. Example du système FFT sur place

Le moteur FFT commence automatiquement à traiter les données une fois qu'elles sont prêtes. Dans la configuration de mémoire minimale, la phase de traitement démarre immédiatement après la fin du chargement des données. Dans la configuration en mémoire tampon, le moteur FFT peut attendre qu'une rafale de données précédente soit traitée. Ensuite, le moteur démarre automatiquement.
5.2 FFT en continu
Le cœur effectue une FFT directe sur les données arrivant à chaque cycle d'horloge. La source de données continue de fournir les données tandis que le récepteur de données reçoit en permanence les résultats FFT et surveille l'indicateur de débordement si nécessaire. Le signal d'entrée START en option et le signal de sortie RFS peuvent être utilisés si le traitement des trames de données est requis. La source de données génère le signal START pour marquer le début d'une autre trame et le récepteur de données utilise le signal RFS pour marquer le début de la trame de sortie. Streaming CoreFFT peut traiter des flux de données complexes infinis, comme le montre la figure suivante.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 26

Illustration 5-2. Example d'un système FFT en streaming

CoreFFT v8.0
Intégration de systèmes

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 27

CoreFFT v8.0
Annexe A : Utilisation du périphérique FFT sur place…

6. Annexe A : Utilisation et performances du périphérique FFT sur place
Le Tableau 6-1 et le Tableau 6-2 montrent l'utilisation et les performances pour une variété de tailles de FFT et de largeurs de données sur place. Les nombres ont été obtenus à partir de la configuration répertoriée dans le tableau 6-3.
Tableau 6-1. Utilisation et performances du périphérique FFT SmartFusion2 M2S050 sur place (configuration de mémoire minimale)

Paramètres de base

Utilisation des ressources de structure

Blocs

Performance

Points 256

Largeur 18

DFF 1227

4LUT1245

Total 2472

LSRAM MACC

3

4

Fréquence d'horloge
328

Temps FFT (s)
3.3

512

18

1262

1521

2783

3

4

321

7.4

1024

18

1299

2029

3328

3

4

310

16.8

4096

18

1685

4190

5875

12

4

288

85.7

Tableau 6-2. Utilisation et performances du périphérique FFT SmartFusion2 M2S050 sur place (configuration tampon)

Paramètres de base

LARGEUR DES POINTS

256

18

512

18

1024

18

4096

18

Utilisation des ressources de structure

DFF

4LUT

Total

1487

1558

3045

1527

1820

3347

1579

2346

3925

2418

4955

7372

Blocs LSRAM 7 7 7 28

MACC 4 4 4 4

Performance

Fréquence d'horloge Temps FFT (s)

328

3.3

321

7.4

310

16.8

281

87.8

Astuce : · Les données des tableaux 6-1 et 6-2 ont été obtenues en utilisant des paramètres de synthèse typiques. La fréquence Synplify (MHz) a été réglée sur 500
· Les chiffres d'utilisation sont obtenus à l'aide de Libero v12.4 et il peut y avoir une amélioration potentielle de la zone et des performances avec des révisions plus récentes.
· Dans les paramètres de synthèse, les composants ROM sont mappés à la logique et l'optimisation de la RAM est mappée pour la haute vitesse.
· Les paramètres de mise en page étaient les suivants :
Création de blocs de concepteur activée
Disposition à effort élevé activée
· Le temps FFT affiché reflète uniquement le temps de transformation. Il ne tient pas compte des temps de téléchargement des données ou des résultats.

Tableau 6-3. Utilisation et performances des appareils FFT PolarFire MPF300 sur place (configuration de mémoire minimale)

Paramètres de base

Utilisation des ressources de structure

Horloge max

POINTS LARGEUR uRAM Profondeur 4 LUT DFF uRAM LSRAM MACC Fréquence

64

18

512

939 1189 9

0

4

415

Temps de transformation (États-Unis)
0.6

128

18

512

1087 1254 9

0

4

415

1.2

256

18

512

1501 1470 18 0

4

415

2.6

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 28

CoreFFT v8.0
Annexe A : Utilisation du périphérique FFT sur place…

………..a continué

Paramètres de base

Utilisation des ressources de structure

Horloge max

POINTS LARGEUR uRAM Profondeur 4 LUT DFF uRAM LSRAM MACC Fréquence

512

18

0

1519 1275 0

3

4

386

512

25

0

2494 2841 0

6

16

364

1024 25

0

3088 2859 0

6

16

369

4096 18

0

4161 1679 0

12

4

352

4096 25

0

6426 3237 0

15

16

339

16384 18

0

9667 3234 0

54

4

296

16384 25

0

17285 5483 0

75

16

325

Temps de transformation (États-Unis)
6.2 6.7 14.3 70.1 73 387 353.5

Tableau 6-4. Utilisation et performances de l'appareil FFT PolarFire MPF300 sur place (configuration tampon)

Paramètres de base

Utilisation des ressources de structure

Horloge max

POINTS LARGEUR uRAM Profondeur 4 LUT DFF uRAM LSRAM MACC Fréquence

Temps de transformation (États-Unis)

64

18

512

1294 1543 21 0

4

351

0.7

256

18

512

2099 2050 42 0

4

351

3.1

512

18

512

2858 2858 84 0

4

351

6.8

1024 18

512

4962 4488 168 0

4

278

18.7

16384 18

0

12346 6219 0

126

4

335

342

Astuce : · Les données des tableaux 6-3 et 6-4 ont été obtenues en utilisant les paramètres typiques de l'outil Libero SoC. La contrainte de synchronisation a été fixée à 400 MHz
· Les chiffres d'utilisation sont obtenus à l'aide de Libero v12.4 et il peut y avoir une amélioration potentielle de la zone et des performances avec des révisions plus récentes.
· Dans les paramètres de synthèse, les composants ROM sont mappés à la logique et l'optimisation de la RAM est mappée pour la haute vitesse.
· Le lieu et l'itinéraire ont été définis pour une mise en page à effort élevé basée sur le timing
· Le temps FFT reflète uniquement le temps de transformation. Il ne tient pas compte des temps de téléchargement des données ou des résultats.

Important : les ressources FPGA et les données de performances de la famille PolarFire SoC sont similaires à celles de la famille PolarFire.

Tableau 6-5. Utilisation de la FFT sur place et paramètre de configuration des performances INVERSE SCALE SCALE_EXP_ON Type HDL

Valeur 0 0 0 Verilog

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 29

CoreFFT v8.0
Annexe B : Utilisation du périphérique FFT de streaming…

7. Annexe B : Utilisation et performances des appareils FFT de streaming
Les tableaux suivants répertorient l'utilisation et les performances d'une variété de configurations FFT de streaming.
Tableau 7-1. Streaming FFT SmartFusion2 M2S050T, niveau de vitesse -1

Paramètres de base

Utilisation des ressources

Blocs

Fréquence d'horloge

FFT_SIZE DATA_BITS TWID_BITS Commande DFF 4LUT Total LSRAM uRAM MACC

16

18

18

Revers 2198 1886 4084 0

11

8

241

16

18

18

Normale 1963 1600 3563 0

5

8

241

32

18

18

Revers 3268 2739 6007 0

16

16

225

64

18

18

Revers 3867 3355 7222 0

19

16

217

128

18

18

Revers 4892 4355 9247 5

16

24

216

256

18

18

Revers 5510 5302 10812 7

16

24

229

256

18

18

Normale 5330 5067 10406 3

16

24

229

256

24

25

Revers 8642 7558 16200 8

21

48

223

512

18

18

Revers 6634 6861 13495 10

16

32

228

512

18

24

Revers 9302 8862 18164 12

18

64

228

1024

24

24

Revers 10847 11748 22595 17

18

64

225

1024

24

25

Revers 11643 12425 24068 19

22

64

221

Astuce : · La profondeur maximale de l'uRAM a été fixée à 64
· Les chiffres d'utilisation sont obtenus à l'aide de Libero v12.4, et il peut y avoir une amélioration potentielle de la zone et des performances avec des révisions plus récentes.
· Dans les paramètres de synthèse, les composants ROM sont mappés sur la logique et l'optimisation de la RAM mappée pour la haute vitesse. La fréquence Synplify a été fixée à 500
· Le mode d'effort élevé de mise en page a été défini

Tableau 7-2. Streaming FFT PolarFire MPF300, niveau de vitesse -1

Paramètres de base
FFT_SIZE DATA_BIT TWID_BITS SCALE uRAM Profondeur de la commande

Utilisation des ressources

Horloge

Taux 4LUT DFF uRAM LSRAM MACC

16

16

18

On

256 Inverse 1306 1593 6

0

4

319

16

16

18

On

256 Normale 1421 1700 12 0

4

319

32

16

18

On

256 Revers 1967 2268 18 0

8

319

64

16

18

On

256 Revers 2459 2692 15 0

8

319

128

20

18

On

256 Normale 4633 4911 44 0

24

310

256

22

18

Désactivé

256 Normale 6596 6922 94 0

24

307

256

24

25

512

18

18

On

0

On

0

Inverse 8124 8064 0

14

48

304

Inverse 6686 5691 0

9

32

293

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 30

CoreFFT v8.0
Annexe B : Utilisation du périphérique FFT de streaming…

………..suite Paramètres de base
FFT_SIZE DATA_BIT TWID_BITS SCALE uRAM Profondeur de la commande

Utilisation des ressources

Horloge

Taux 4LUT DFF uRAM LSRAM MACC

1024

24

25

On

0

Inverse 13974 10569 0

21

64

304

1024

18

18

On

0

Normale 14289 10816 0

27

64

307

2048

18

18

On

0

Normale 12852 7640 0

24

40

304

2048

18

18

On

0

Inverse 12469 7319 0

16

40

315

4096

24

25

On

0

Normale 29977 14288 0

59

80

305

4096

28

28

On

512 Normale 34448 17097 120 48

80

301

Astuce : · Les données du tableau précédent ont été obtenues à l'aide des paramètres typiques de l'outil Libero SoC. La contrainte de synchronisation a été fixée à 400 MHz
· Les chiffres d'utilisation des appareils de l'architecture de streaming sont presque les mêmes pour l'interface AXI4S et l'interface native.
· Les chiffres d'utilisation sont obtenus à l'aide de Libero v12.4, et il peut y avoir une amélioration potentielle de la zone et des performances avec des révisions plus récentes.
· Dans les paramètres de synthèse, les composants ROM sont mappés à la logique et l'optimisation de la RAM est mappée pour la haute vitesse.
· Le lieu et l'itinéraire ont été définis pour la mise en page à effort élevé basée sur le timing
· Les ressources FPGA et les données de performances de la famille PolarFire SoC sont similaires à celles de la famille PolarFire.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 31

CoreFFT v8.0
Historique des révisions

8. Historique des révisions
L'historique des révisions décrit les modifications apportées au document. Les modifications sont répertoriées par révision, en commençant par la publication la plus récente.
Tableau 8-1. Historique des révisions

Date de révision Description

C

08/2022 Dans la révision C du document, tableau 6-1 mis à jour, tableau 6-2, tableau 6-3, tableau 6-4, tableau 7-1,

et Tableau 7-2.

B

07/2022 Voici la liste des modifications apportées à la révision B du document :

· Mise à jour : Tableau 2-2 en 2.1.2. Port.

· Mise à jour : Tableau 2-4 en 2.2.2. Port.

· Mise à jour : 4.4. Contraintes de conception.

· Supprimé : section « Configuration des contraintes de temps ».

A

07/2022 Voici la liste des modifications apportées à la révision A du document :

· Le document a été migré vers le modèle Microchip.

· Le numéro de document a été mis à jour à DS50003348A à partir de 50200267.

· Les sections suivantes sont mises à jour :

Tableau 1 dans Fonctionnalités.

Utilisation et performances des appareils.

Tableau 1-2 en 1.4.4.2. Limitations de largeur de bits d’entrée en mode non mis à l’échelle.

Figure 1-7 en 1.4.4.3. Saisie du calendrier de balance.

Tableau 1-3 en 1.4.4.3. Saisie du calendrier de balance.

Tableau 2-3 en 2.2.1. Paramètres de configuration.

Tableau 2-4 en 2.2.2. Port.

Tableau 2-2 en 2.1.2. Port.

Figure 4-2 en 4.2. Configuration de CoreFFT dans SmartDesign.

· Les sections suivantes sont ajoutées : 1.4.3. Ordre des mots de données de sortie FFT en streaming. 2.2.3. Format de trame de données d’entrée/sortie pour l’interface de streaming AXI4. 4.3. Flux de simulation. 4.4. Contraintes de conception. 4.5. Synthèse dans Libero SoC. 4.6. Placement et itinéraire dans Libero SoC.
· Les sections suivantes sont supprimées : « Version prise en charge. » « Ordre de production naturelle ».

10

Ajout de la prise en charge du SoC PolarFire®.

9

« Support produit » : supprimé.

8

Modifications mises à jour liées à CoreFFT v7.0.

7

Modifications mises à jour liées à CoreFFT v6.4.

6

Modifications mises à jour liées à CoreFFT v6.3.

5

Modifications mises à jour liées aux familles prises en charge (SAR 47942).

4

Modifications mises à jour liées à CoreFFT v6.1.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 32

CoreFFT v8.0
Historique des révisions

………..suite Date de révision

3

2

1

Description
Voici la liste des modifications apportées à la révision 3.0 du document : · Modifications mises à jour liées à CoreFFT v6.0. · La version ajoute la prise en charge de la famille SmartFusion2 (architecture In-Place uniquement).
Voici la liste des modifications apportées à la révision 2.0 du document : · Modifications mises à jour liées à CoreFFT v5.0. · Cette version ajoute une nouvelle architecture au CoreFFT v4.0 sur place existant. · La nouvelle architecture prend en charge le Streaming Forward et Inverse FFT qui transforme le flux de données à grande vitesse.
Version initiale.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 33

CoreFFT v8.0
Prise en charge des micropuces FPGA
Le groupe de produits Microchip FPGA soutient ses produits avec divers services de support, y compris le service client, le centre de support technique client, un website et des bureaux de vente dans le monde entier. Les clients sont invités à consulter les ressources en ligne de Microchip avant de contacter l'assistance, car il est très probable que leurs questions aient déjà reçu une réponse. Contactez le centre d'assistance technique via le website à l'adresse www.microchip.com/support. Mentionnez le numéro de pièce de l'appareil FPGA, sélectionnez la catégorie de cas appropriée et téléchargez la conception files lors de la création d'un dossier de support technique. Contactez le service client pour une assistance produit non technique, telle que la tarification des produits, les mises à niveau des produits, les informations de mise à jour, le statut de la commande et l'autorisation.
· Depuis l'Amérique du Nord, appelez le 800.262.1060 · Depuis le reste du monde, appelez le 650.318.4460 · Par fax, de n'importe où dans le monde, 650.318.8044
Informations sur la puce
La micropuce Website
Microchip fournit une assistance en ligne via notre website à l'adresse www.microchip.com/. Cette weble site est utilisé pour faire files et informations facilement accessibles aux clients. Voici quelques-uns des contenus disponibles :
· Support produit Fiches techniques et errata, notes d'application et samples programmes, les ressources de conception, les guides d'utilisation et les documents de support matériel, les dernières versions de logiciels et les logiciels archivés
· Assistance technique générale - Foire aux questions (FAQ), demandes d'assistance technique, groupes de discussion en ligne, liste des membres du programme de partenaires de conception Microchip
· Business of Microchip Sélecteur de produits et guides de commande, derniers communiqués de presse de Microchip, liste des séminaires et événements, listes des bureaux de vente, des distributeurs et des représentants d'usine de Microchip
Service de notification de changement de produit
Le service de notification des modifications de produits de Microchip aide les clients à rester informés des produits Microchip. Les abonnés recevront une notification par courrier électronique chaque fois qu'il y aura des changements, des mises à jour, des révisions ou des errata liés à une famille de produits spécifiée ou à un outil de développement qui les intéresse. Pour vous inscrire, rendez-vous sur www.microchip.com/pcn et suivez les instructions d'inscription.
Assistance clientèle
Les utilisateurs de produits Microchip peuvent recevoir une assistance via plusieurs canaux : · Distributeur ou représentant · Bureau de vente local · Ingénieur de solutions embarquées (ESE) · Support technique
Les clients doivent contacter leur distributeur, représentant ou ESE pour obtenir de l'aide. Les bureaux de vente locaux sont également disponibles pour aider les clients. Une liste des bureaux de vente et des emplacements est incluse dans ce document. Le support technique est disponible via le website à : www.microchip.com/support
Fonction de protection du code des appareils Microchip
Notez les détails suivants concernant la fonction de protection du code sur les produits Microchip :

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 34

CoreFFT v8.0
· Les produits Microchip répondent aux spécifications contenues dans leur fiche technique Microchip particulière. · Microchip estime que sa famille de produits est sécurisée lorsqu'elle est utilisée de la manière prévue, dans les limites du fonctionnement
spécifications et dans des conditions normales. · Microchip valorise et protège activement ses droits de propriété intellectuelle. Tentatives de violation du code
Les fonctions de protection du produit Microchip sont strictement interdites et peuvent enfreindre le Digital Millennium Copyright Act. · Ni Microchip ni aucun autre fabricant de semi-conducteurs ne peuvent garantir la sécurité de son code. La protection du code ne signifie pas que nous garantissons que le produit est « incassable ». La protection des codes évolue constamment. Microchip s'engage à améliorer continuellement les fonctionnalités de protection du code de nos produits.
Mentions légales
Cette publication et les informations qu'elle contient ne peuvent être utilisées qu'avec les produits Microchip, notamment pour concevoir, tester et intégrer les produits Microchip à votre application. L'utilisation de ces informations de toute autre manière viole ces conditions. Les informations concernant les applications des appareils sont fournies uniquement pour votre commodité et peuvent être remplacées par des mises à jour. Il est de votre responsabilité de vous assurer que votre demande répond à votre cahier des charges. Contactez votre bureau commercial Microchip local pour obtenir une assistance supplémentaire ou obtenez une assistance supplémentaire sur www.microchip.com/en-us/support/design-help/client-support-services.
CES INFORMATIONS SONT FOURNIES PAR MICROCHIP « EN L'ÉTAT ». MICROCHIP NE FAIT AUCUNE DÉCLARATION OU GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE, ÉCRITE OU ORALE, LÉGALE OU AUTRE, CONCERNANT LES INFORMATIONS, Y COMPRIS, MAIS SANS S'Y LIMITER, TOUTE GARANTIE IMPLICITE DE NON-CONTREFAÇON, DE QUALITÉ MARCHANDE ET D'ADÉQUATION À UN USAGE PARTICULIER, OU TOUTE GARANTIE RELATIVE À SON ÉTAT, SA QUALITÉ OU SES PERFORMANCES.
EN AUCUN CAS MICROCHIP NE SERA RESPONSABLE DE TOUTE PERTE, DE TOUT DOMMAGE, DE TOUT COÛT OU DE TOUTE DÉPENSE INDIRECTE, SPÉCIALE, PUNITIF, ACCESSOIRE OU CONSÉCUTIF DE QUELQUE NATURE QUE CE SOIT LIÉ AUX INFORMATIONS OU À LEUR UTILISATION, QUELLE QU'EN SOIT LA CAUSE, MÊME SI MICROCHIP A ÉTÉ AVISÉ DE LA POSSIBILITÉ OU SI LES DOMMAGES SONT PRÉVISIBLES. DANS TOUTE LA MESURE PERMISE PAR LA LOI, LA RESPONSABILITÉ TOTALE DE MICROCHIP SUR TOUTES LES RÉCLAMATIONS LIÉES DE QUELQUE MANIÈRE QUE CE SOIT AUX INFORMATIONS OU À LEUR UTILISATION NE DÉPASSERA PAS LE MONTANT DES FRAIS, LE CAS ÉCHÉANT, QUE VOUS AVEZ PAYÉS DIRECTEMENT À MICROCHIP POUR LES INFORMATIONS.
L'utilisation des dispositifs Microchip dans des applications de maintien des fonctions vitales et/ou de sécurité est entièrement aux risques et périls de l'acheteur, qui s'engage à défendre, indemniser et dégager Microchip de toute responsabilité en cas de dommages, réclamations, poursuites ou dépenses résultant d'une telle utilisation. Aucune licence n'est transmise, implicitement ou autrement, en vertu des droits de propriété intellectuelle de Microchip, sauf indication contraire.
Marques déposées
Le nom et le logo Microchip, le logo Microchip, Adaptec, AVR, le logo AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, logo Microsemi, MOST, MOST logo, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, logo PIC32, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash, Symmetricom , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron et XMEGA sont des marques déposées de Microchip Technology Incorporated aux États-Unis et dans d'autres pays.
AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed ​​Control, HyperLight Load, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, logo ProASIC Plus, Quiet-Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime et ZL sont des marques déposées de Microchip Technology Incorporated aux États-Unis
Adjacent Key Suppression, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, Dynamic Average Matching , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, Programmation série en circuit, ICSP, INICnet, Mise en parallèle intelligente, IntelliMOS, Connectivité inter-puces, JitterBlocker, Bouton sur l'affichage, KoD, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, logo certifié MPLAB, MPLIB, MPLINK, MultiTRAK, NetDetach, Génération de code omniscient, PICDEM, PICDEM.net, PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX , RTG4, SAM-

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 35

CoreFFT v8.0
ICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, Trusted Time, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect et ZENA sont des marques commerciales de Microchip Technology Incorporated aux États-Unis et dans d'autres pays. SQTP est une marque de service de Microchip Technology Incorporated aux États-Unis. Le logo Adaptec, Frequency on Demand, Silicon Storage Technology et Symmcom sont des marques déposées de Microchip Technology Inc. dans d'autres pays. GestIC est une marque déposée de Microchip Technology Germany II GmbH & Co. KG, une filiale de Microchip Technology Inc., dans d'autres pays. Toutes les autres marques citées ici sont la propriété de leurs sociétés respectives. © 2022, Microchip Technology Incorporated et ses filiales. Tous les droits sont réservés. ISBN : 978-1-6683-1058-8
Système de gestion de la qualité
Pour plus d'informations sur les systèmes de gestion de la qualité de Microchip, veuillez visiter www.microchip.com/quality.

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 36

AMÉRIQUES
Siège social 2355 West Chandler Blvd. Chandler, Arizona 85224-6199 Tél. : 480-792-7200 Fax: 480-792-7277 Assistance technique : www.microchip.com/support Web Adresse : www.microchip.com Atlanta Duluth, GA Tél. : 678-957-9614 Fax: 678-957-1455 Austin, Texas Tél. : 512-257-3370 Boston Westborough, MA Tél. : 774-760-0087 Fax: 774-760-0088 Chicago Itasca, Illinois Tél. : 630-285-0071 Fax: 630-285-0075 Dallas Addison, Texas Tél. : 972-818-7423 Fax: 972-818-2924 Détroit Novi, MI Tél. : 248-848-4000 Houston, Texas Tél. : 281-894-5983 Indianapolis Noblesville, IN Tél. : 317-773-8323 Fax: 317-773-5453 Tél.: 317-536-2380 Los Angeles Mission Viejo, Californie Tél. : 949-462-9523 Fax: 949-462-9608 Tél.: 951-273-7800 Raleigh, Caroline du Nord Tél. : 919-844-7510 New York, NY Tél. : 631-435-6000 San José, Californie Tél. : 408-735-9110 Tél.: 408-436-4270 Canada – Toronto Tél. : 905-695-1980 Fax: 905-695-2078

Ventes et service dans le monde entier

ASIE/PACIFIQUE
Australie – Sydney Tél. : 61-2-9868-6733 Chine – Pékin Tél. : 86-10-8569-7000 Chine – Chengdu Tél. : 86-28-8665-5511 Chine – Chongqing Tél. : 86-23-8980-9588 Chine – Dongguan Tél : 86-769-8702-9880 Chine – Guangzhou Tél : 86-20-8755-8029 Chine – Hangzhou Tél : 86-571-8792-8115 Chine – Hong Kong SAR Tél : 852-2943-5100 Chine – Nanjing Tél : 86-25-8473-2460 Chine – Qingdao Tél : 86-532-8502-7355 Chine – Shanghai Tél : 86-21-3326-8000 Chine – Shenyang Tél : 86-24-2334-2829 Chine – Shenzhen Tél : 86 -755-8864-2200 Chine – Suzhou Tél. : 86-186-6233-1526 Chine – Wuhan Tél. : 86-27-5980-5300 Chine – Xian Tél. : 86-29-8833-7252 Chine – Xiamen Tél. : 86-592 -2388138 Chine – Zhuhai Tél. : 86-756-3210040

ASIE/PACIFIQUE
Inde – Bangalore Tél. : 91-80-3090-4444 Inde – New Delhi Tél. : 91-11-4160-8631 Inde – Pune Tél. : 91-20-4121-0141 Japon – Osaka Tél. : 81-6-6152-7160 Japon – Tokyo Tél. : 81-3-6880-3770 Corée – Daegu Tél. : 82-53-744-4301 Corée – Séoul Tél. : 82-2-554-7200 Malaisie – Kuala Lumpur Tél. : 60-3-7651-7906 Malaisie – Penang Tél : 60-4-227-8870 Philippines – Manille Tél : 63-2-634-9065 Singapour Tél : 65-6334-8870 Taïwan – Hsin Chu Tél : 886-3-577-8366 Taïwan – Kaohsiung Tél : 886- 7-213-7830 Taïwan – Taipei Tél : 886-2-2508-8600 Thaïlande – Bangkok Tél : 66-2-694-1351 Vietnam – Ho Chi Minh Tél : 84-28-5448-2100

EUROPE
Autriche – Wels Tél. : 43-7242-2244-39 Fax : 43-7242-2244-393 Danemark – Copenhague Tél. : 45-4485-5910 Fax : 45-4485-2829 Finlande – Espoo Tél. : 358-9-4520-820 France – Paris Tél : 33-1-69-53-63-20 Fax : 33-1-69-30-90-79 Allemagne – Garching Tél : 49-8931-9700 Allemagne – Haan Tél : 49-2129-3766400 Allemagne – Heilbronn Tél : 49-7131-72400 Allemagne – Karlsruhe Tél : 49-721-625370 Allemagne – Munich Tél : 49-89-627-144-0 Fax : 49-89-627-144-44 Allemagne – Rosenheim Tél : 49 -8031-354-560 Israël – Raanana Tél. : 972-9-744-7705 Italie – Milan Tél. : 39-0331-742611 Fax : 39-0331-466781 Italie – Padoue Tél. : 39-049-7625286 Pays-Bas – Drunen Tél. : 31-416-690399 Fax : 31-416-690340 Norvège – Trondheim Tél. : 47-72884388 Pologne – Varsovie Tél. : 48-22-3325737 Roumanie – Bucarest Tél. : 40-21-407-87-50 Espagne – Madrid Tél. : 34-91-708-08-90 Fax : 34-91-708-08-91 Suède – Gothenberg Tél : 46-31-704-60-40 Suède – Stockholm Tél : 46-8-5090-4654 Royaume-Uni – Wokingham Tél. : 44-118-921-5800 Téléc. : 44-118-921-5820

© 2022 Microchip Technologie Inc.
et ses filiales

Guide de l'utilisateur

DS50003348C-page 37

Documents / Ressources

Transformation de Fourier MICROCHIP v8.0 CoreFFT [pdf] Guide de l'utilisateur
v8.0 CoreFFT Transformation de Fourier, v8.0 CoreFFT, Transformation de Fourier, Transformation

Références

Laisser un commentaire

Votre adresse email ne sera pas publiée. Les champs obligatoires sont marqués *