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:
- Initialisez la séquence d'entrée X(0), X(1),…, X(N-1).
- Configurez la taille et le point de transformation.
- Effectuez l’opération FFT avant ou inverse selon les besoins.
- 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:
- Initialisez la séquence d'entrée X(0), X(1),…, X(N-1).
- Configurez la taille et le point de transformation.
- Effectuez l’opération FFT avant ou inverse selon les besoins.
- 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 |