v8.0 CoreFFT Fourier-transformatie
CoreFFT v8.0
Specificaties
- Transformatiegroottes, punten: 32, 64, 128, 256, 512, 1024, 2048,
4096, 8192 en 16384. - In-Place FFT: Voorwaartse en omgekeerde FFT
- Streaming FFT: Voorwaartse en omgekeerde FFT
- Bitbreedte invoergegevens: Twee-complement
- Twiddle-factor bitbreedte: natuurlijke output sample bestelling
- Invoer-/uitvoergegevensformaat: voorwaardelijk blok drijvende komma
schalen - Vooraf gedefinieerd schalingsschema of geen schaling
- Optionele minimale of gebufferde geheugenconfiguraties
- Ingebouwde op RAM-blok gebaseerde Twiddle Look-up Table (LUT)
- Ondersteuning voor het vernieuwen van Twiddle LUT
- Handdruksignalen om een gemakkelijke interface met de gebruiker te vergemakkelijken
schakeling - AXI4 Streaming-interface: Nee
- Configuratie voor voorwaartse/inverse transformatie tijdens runtime: Ja
Instructies voor productgebruik
FFT ter plaatse
De In-Place FFT-implementatie ondersteunt de Radix-2
decimatie-in-tijd-transformatie. Volg deze stappen om de In-Place FFT te gebruiken
stappen:
- Initialiseer de invoerreeks X(0), X(1),…, X(N-1).
- Configureer de transformatiegrootte en het punt.
- Voer indien nodig de voorwaartse of omgekeerde FFT-bewerking uit.
- Haal de getransformeerde gegevens op uit de uitvoerreeks.
FFT streamen
De Streaming FFT-implementatie ondersteunt de Radix-22
decimatie-in-frequentie-transformatie. Om de Streaming FFT te gebruiken, volgt u
deze stappen:
- Initialiseer de invoerreeks X(0), X(1),…, X(N-1).
- Configureer de transformatiegrootte en het punt.
- Voer indien nodig de voorwaartse of omgekeerde FFT-bewerking uit.
- Haal de getransformeerde gegevens op uit de uitvoerreeks.
Veelgestelde vragen
Vraag: Welke transformatieformaten worden ondersteund?
A: De CoreFFT ondersteunt transformatiegroottes van 32, 64, 128, 256,
512, 1024, 2048, 4096, 8192 en 16384.
Vraag: Wat is het invoergegevensformaat?
A: Het invoergegevensformaat is twee-complement.
Vraag: Ondersteunt CoreFFT voorwaartse en inverse FFT
activiteiten?
A: Ja, CoreFFT ondersteunt zowel voorwaartse als inverse FFT
operaties.
CoreFFT v8.0
CoreFFT-gebruikershandleiding
Invoering
De Fast Fourier-transformatie (FFT)-kern implementeert het efficiënte Cooley-Turkey-algoritme voor het berekenen van de discrete Fourier-transformatie. CoreFFT wordt gebruikt in een breed scala aan toepassingen, zoals digitale communicatie, audio, metingen, controle en biomedische toepassingen. CoreFFT biedt zeer parametreerbare, gebiedsefficiënte en krachtige MACC-gebaseerde FFT. De kern is beschikbaar als Register Transfer Level (RTL) -code van de transformatie in Verilog- en VHDL-talen. Vergelijking 1.N-punt voorwaarts FFT (N is een macht van 2) van een reeks x(0), x(1),…, x(N-1) waarbij k = 0, 1… N-1
Vergelijking 2.N-punt inverse FFT (N is een macht van 2) van een reeks X(0), X(1),…, X(N-1) waarbij, n = 0, 1… N-1
Belangrijk:Tijdens het uitvoeren van een inverse FFT past de kern geen deling door N van EQ 2 toe (aangezien de deling door een macht van twee triviaal is).
De volgende afbeelding illustreert een op FFT gebaseerd systeem dat bestaat uit een gegevensbron, de FFT-module, en een data-sink, die de getransformeerde gegevensontvanger is. Figuur 1. Op FFT gebaseerd systeem, bijvample
Functies
CoreFFT ondersteunt de Radix-2 decimatie-in-time in-place FFT en Radix-22 decimatie-in-frequentie streaming FFT-transformatie-implementaties. In de volgende tabel worden de belangrijkste kenmerken voor elke implementatie vermeld.
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 1
CoreFFT v8.0
Tabel 1. Belangrijkste kenmerken Ondersteuning
Functie Transformeer maten, punten
In situ
Streamen
32, 64, 128, 256, 512, 1024, 2048, 16, 32, 64, 128, 256, 512, 1024,
4096, 8192 en 16384.
2048 en 4096
Opmerking: De 16384-pt FFT wordt ondersteund op de RTG4TM, PolarFire®,
en alleen PolarFire SoC-onderdelen.
Voorwaartse en omgekeerde FFT
Ja
Invoergegevensbitbreedte
8
Twiddle-factor bitbreedte
8
Gegevensformaat voor invoer/uitvoer
Twee-complement
Natuurlijke output sample bestelling
Ja
Voorwaardelijk blok drijvende komma
Ja
schalen
Vooraf gedefinieerd schalingsschema of nee Geen schaling
Optioneel minimaal of gebufferd geheugen Ja configuraties
Ingebouwde op RAM-blokken gebaseerde twiddle Ja Look-up Table (LUT)
Ondersteuning voor het vernieuwen van Twiddle LUT Ja
Handshake-signalen voor een eenvoudige Ja-interface met het gebruikerscircuit
AXI4 Streaming-interface
Nee
Runtime voorwaartse/inverse transformatie Geen configuratie
Ja 8 32 Tweecompleet Optioneel Nee
Ja
Nee
Ja
Nee Ja
Ja Ja
Ondersteunde gezinnen
CoreFFT ondersteunt de volgende FPGA-families. · PolarFire® · PolarFire SoC · SmartFusion® 2 · IGLOO® 2 · RTG4TM
Apparaatgebruik en prestaties
CoreFFT is geïmplementeerd in het SmartFusion2 M2S050-apparaat met snelheidsklasse -1 en PolarFire MPF300 met snelheidsklasse -1. Een samenvatting van de implementatiegegevens vindt u in 6. Bijlage A: Gebruik en prestaties van FFT-apparaten ter plaatse en 7. Bijlage B: Gebruik en prestaties van streaming FFT-apparaten.
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 2
CoreFFT v8.0
Inhoudsopgave
Invoering………………………………………………………………………………………………………………………………… ..1 Kenmerken…………………………………………………………………………………………………………… …….. 1 Ondersteunde gezinnen…………………………………………………………………………………………………… 2 Gebruik en prestaties van het apparaat.................................................................................................. 2
1. Functionele beschrijving……………………………………………………………………………………………………..4 1.1. Architectuuropties..........................................................................................................4 1.2. FFT ter plaatse……………………………………………………………………………………………………4 1.3. Interne geheugenbuffers.............................................................................................................5 1.4. FFT streamen…………………………………………………………………………………………….. 7
2. Interface.......................................................................................................................... … 12 2.1. In-place FFT..........................................................................................................................12 2.2. Streaming FFT…………………………………………………………………………………………………… 14
3. Timingdiagrammen............................................................................................................................. 20 3.1. FFT ter plaatse.................................................................................................20 3.2. Streaming FFT…………………………………………………………………………………………………… 21
4. Gereedschapstroom…………………………………………………………………………………………………………… ….. 23 4.1. Licentie……………………………………………………………………………………………………………… 23 4.2. CoreFFT configureren in SmartDesign.......................................................................................................................... 23 4.3. Simulatiestromen............................................................................................................................................. 24 4.4. Ontwerpbeperkingen................................................................................................................. 25 4.5. Synthese in Libero SoC................................................................................................................. 25 4.6. Plaats-en-Route in Libero SoC……………………………………………………………………………..25
5. Systeemintegratie................................................................................................................................. 26 5.1 . FFT ter plaatse.................................................................................................26 5.2. Streaming FFT…………………………………………………………………………………………………… 26
6. Bijlage A: Gebruik en prestaties van FFT-apparaten ter plaatse……………………………………………………28
7. Bijlage B: Gebruik en prestaties van streaming FFT-apparaten.............................................................30
8. Revisiegeschiedenis…………………………………………………………………………………………………………… 32
Microchip FPGA-ondersteuning.............................................................................................................34
Microchip-informatie…………………………………………………………………………………………………………….. 34 De microchip Website…………………………………………………………………………………………………..34 Meldingsservice voor productwijzigingen…… ……………………………………………………………………. 34 Klantenondersteuning…………………………………………………………………………………………………… 34 Code microchip-apparaten Beschermingsfunctie……………………………………………………………………..34 Juridische kennisgeving……………………………… …………………………………………………………………………………… 35 Handelsmerken…………………………………… ……………………………………………………………………. 35 Kwaliteitsmanagementsysteem................................................................................................................. 36 Wereldwijde verkoop en service.............................................................................................................37
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 3
CoreFFT v8.0
Functionele beschrijving
1. Functionele beschrijving
In deze sectie wordt de functionele beschrijving van de CoreFFT beschreven.
1.1 Architectuuropties
Afhankelijk van de gebruikersconfiguratie genereert CoreFFT een van de volgende transformatie-implementaties: · In-place FFT · Streaming FFT
1.2 FFT ter plaatse
De architectuuroptie laadt een frame van N complexe gegevensampbestanden in het interne RAM en verwerkt ze opeenvolgend, met behulp van een enkele Radix-2-processor. Het slaat de resultaten van elke s optage in het interne RAM. De in-place FFT neemt minder chipbronnen in beslag dan de streaming FFT, maar de transformatietijd is langer. De volgende afbeelding toont een functioneel diagram van de in-ilace-transformatie. Figuur 1-1. In-place Radix-2 FFT functioneel blokdiagram (minimale configuratie)
De invoer- en uitvoergegevens worden weergegeven als woorden van 2 * WIDTH-bits, bestaande uit reële en denkbeeldige delen. Beide delen zijn elk twee complementaire getallen van WIDTH-bits. De module verwerkt frames (bursts) met gegevens met een framegrootte van N complexe woorden. Het te verwerken frame wordt in het interne geheugen geladen. Het geheugen bevat twee identieke RAM-blokken, die elk N/2 complexe woorden kunnen opslaan. Het interne geheugen ondersteunt dubbele bandbreedte. Het kan twee complexe woorden tegelijkertijd lezen en schrijven. Zodra de N complexe gegevens sampbestanden worden in het geheugen geladen, de FFT-berekening start automatisch en het interne geheugen wordt voor de berekeningen gebruikt.
Het interne FFT-berekeningsproces vindt plaats in een reeks van stages met het aantal stages gelijk aan log2N. Bij elke stagTijdens de FFT-gegevensverwerking leest de Radix-2-vlinder alle gegevens die zijn opgeslagen in het interne geheugen, twee complexe woorden tegelijk. De leesschakelaar samen met een leesadresgenerator (niet weergegeven in figuur 1-1) helpt de vlinder om opgeslagen gegevens te verkrijgen in de volgorde die vereist is door het FFT-algoritme. Naast de gegevens verkrijgt de vlinder twiddle-factoren (sinus/cosinus-coëfficiënten) van de twiddle-LUT. De vlinder schrijft tussenresultaten naar het interne geheugen via de schrijfschakelaar.
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 4
CoreFFT v8.0
Functionele beschrijving
Na de laatste computationele stagDat wil zeggen dat het interne geheugen de volledig getransformeerde gegevens opslaat. De module verzendt een N-woord getransformeerd dataframe, woord voor woord, op voorwaarde dat het signaal READ_OUTP actief is. CoreFFT berekent de twiddle-factoren die nodig zijn voor het FFT-algoritme en schrijft deze naar de twiddle-LUT. Dit gebeurt automatisch bij het inschakelen wanneer asynchrone globale reset NGRST wordt uitgevoerd.
1.3
1.3.1
In-place geheugenbuffers
In deze sectie worden de in-place geheugenbuffers van de CoreFFT beschreven.
Minimale configuratie De minimale configuratie, zoals weergegeven in figuur 1-1, is voldoende om de FFT uit te voeren, omdat deze beschikt over het interne RAM dat nodig is voor het FFT-algoritme. Maar de minimale configuratie maakt niet altijd gebruik van de verwerkingsengine. Integendeel, wanneer gegevens in het interne geheugen worden geladen of de getransformeerde gegevens worden uitgelezen, blijft de vlinder inactief. De volgende afbeelding toont de tijdlijn van de FFT-cyclus. De cyclus bestaat uit de volgende drie fasen:
· Download een nieuw invoerdataframe in het interne RAM · Voer de daadwerkelijke transformatie uit · Upload het transformatieresultaat om het interne RAM vrij te maken
Figuur 1-2. Minimale configuratie ter plaatse FFT-cyclus
1.3.2
In de minimale configuratie draait de vlinder alleen tijdens de rekenfase. Wanneer de databurstsnelheid dit toelaat, biedt de minimale configuratie het beste gebruik van apparaatbronnen. Het bespaart met name een aanzienlijk aantal RAM-blokken.
Gebufferde configuratie Om het vlindergebruik te verbeteren en bijgevolg de gemiddelde transformatietijd te verkorten, kunnen extra geheugenbuffers worden gebruikt. De volgende afbeelding toont het gebufferde FFT-blokdiagram.
Figuur 1-3. Gebufferd FFT-blokdiagram
De gebufferde optie heeft twee identieke interne geheugenbanken die een pingpongbuffer en één uitvoerbuffer implementeren. Elke bank kan N complexe woorden opslaan en twee complexe woorden tegelijk lezen. De core state machine bestuurt de pingpong-switching, zodat een databron alleen een buffer ziet die klaar is om nieuwe data te accepteren. De buffer die de nieuwe gegevens niet accepteert, wordt door de FFT-engine gebruikt als intern RAM-geheugen.
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 5
CoreFFT v8.0
Functionele beschrijving
De pingpongbufferarchitectuur verhoogt de efficiëntie van de FFT-engine. Terwijl een van de twee invoerbanken betrokken is bij de huidige FFT-berekening, is de andere beschikbaar voor het downloaden van het volgende invoerdataframe. Als gevolg hiervan blijft de FFT-engine niet stil zitten wachten tot nieuwe gegevens de invoerbuffer vullen. Vanuit het perspectief van de databron kan de kern overal binnen de FFT-berekeningsperiode een databurst ontvangen. Wanneer de engine klaar is met het verwerken van het huidige dataframe en de invoerbufferbank is gevuld met een ander dataframe, wisselt de toestandsmachine de pingpongbanken om, en gaat het laden en berekenen van gegevens verder op de alternatieve geheugenbanken.
de laatste zotage van de FFT-berekening maakt gebruik van een out-of-place-schema. De FFT-engine leest tussenliggende gegevens uit het interne geheugen, maar schrijft het eindresultaat in de uitvoergegevensbuffer. De uiteindelijke resultaten blijven in de uitvoerbuffer totdat de FFT-engine ze vervangt door de resultaten van het volgende dataframe. Vanuit het perspectief van de gegevensontvanger zijn de uitvoergegevens op elk moment beschikbaar om te lezen, behalve de laatste FFT'stage.
De FFT-cyclus met gebufferde configuratie wordt weergegeven in de volgende afbeelding.
Figuur 1-4. Gebufferde configuratie FFT-cycli
1.3.3
Overwegingen bij eindige woordlengte bij elke stage van het in-place FFT-algoritme duurt de vlinder twee secondenampbestanden uit het interne geheugen en retourneert twee verwerkte sampbestanden naar dezelfde geheugenlocaties. De vlinderberekening omvat complexe vermenigvuldigen, optellen en aftrekken. De terugkerende samples kan een grotere databreedte hebben dan de samples uit het geheugen geplukt. Er moeten voorzorgsmaatregelen worden genomen om ervoor te zorgen dat er geen gegevensoverflows optreden.
Om het risico op overstroming te voorkomen, gebruikt de kern een van de volgende drie methoden:
· Schaal van invoergegevens · Onvoorwaardelijke blok-drijvende-komma-schaling · Voorwaardelijke blok-drijvende-komma-schaling
Schaal van invoergegevens: Voor het schalen van invoergegevens is het vooraf instellen van de invoergegevens vereistampbestanden met voldoende extra tekenbits, de zogenaamde guardbits. Het aantal guardbits dat nodig is om de maximaal mogelijke bitgroei voor een N-punt FFT te compenseren, is log2N + 1. Bijvoorbeeldample, elke invoer sampbestand van een 256-punts FFT moet negen bewakingsbits bevatten. Een dergelijke techniek vermindert de effectieve FFT-bitresolutie aanzienlijk.
Onvoorwaardelijke Block Floating-Point Scaling: De tweede manier om de FFT-bitgroei te compenseren is door de gegevens elke seconde met een factor twee te verkleinen.tage. Bijgevolg worden de uiteindelijke FFT-resultaten met een factor 1/N verkleind. Deze benadering wordt onvoorwaardelijke blok-drijvende-kommaschaling genoemd.
De invoergegevens moeten met een factor twee worden verkleind om overflow in de eerste seconde te voorkomentage. Om de overloop in opeenvolgende s te voorkomentages, de kern schaalt de resultaten van elke voorgaande s naar benedentage met een factor twee door het hele gegevensblok te verschuiven (alle resultaten van de huidige stage) een stukje naar rechts. Het totale aantal bits dat de gegevens verliezen vanwege de bitverschuiving in de FFT-berekening is log2N.
Het onvoorwaardelijke blok met drijvende komma resulteert in hetzelfde aantal verloren bits als bij het schalen van de invoergegevens. Het levert echter nauwkeurigere resultaten op, omdat de FFT-engine start met nauwkeurigere invoergegevens.
Voorwaardelijke blok-drijvende-komma-schaling: Bij de voorwaardelijke blok-drijvende-komma-schaling worden gegevens alleen verschoven als er daadwerkelijk bitgroei plaatsvindt. Als een of meer vlinderuitgangen groeien, wordt het hele gegevensblok naar rechts verschoven. De voorwaardelijke blok-floating-point-monitor controleert elke vlinderuitvoer op groei. Als schakelen nodig is, dan is dat zo
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 6
CoreFFT v8.0
Functionele beschrijving
uitgevoerd na de hele stage is voltooid, bij de invoer van de volgende stage vlinder. Deze techniek zorgt voor de minste hoeveelheid vervorming (kwantiseringsruis) veroorzaakt door een eindige woordlengte.
In de Conditional Block Floating-Point-modus kan de kern optioneel de werkelijke schaalfactor berekenen. Dit gebeurt als de parameter SCALE_EXP_ON is ingesteld op 1. Vervolgens verschijnt de berekende werkelijke factor op de SCALE_EXP-poort. De factor vertegenwoordigt het aantal rechtsverschuivingen dat de FFT-engine op de resultaten heeft toegepast. Bijvoorbeeldample, de SCALE_EXP-waarde van 4 (100) betekent dat de FFT-resultaten met 4 bits naar rechts zijn verschoven (verkleind); dat wil zeggen gedeeld door 2SCALE_EXP = 16. Het signaal begeleidt de FFT-resultaten en is geldig zolang OUTP_READY wordt beweerd. Om de werkelijke CoreFFT-resultaten terug te schalen, dat wil zeggen om ze vergelijkbaar te maken met met drijvende komma getransformeerde bins, wordt elke FFT-uitvoerampbestand moet worden vermenigvuldigd met 2SCALE_EXP:
· FFT-resultaat (echt) = DATAO_RE*2SCALE_EXP · FFT-resultaat (denkbeeldig) = DATAO_IM*2SCALE_EXP
Belangrijk: De schaal-exponentcalculator kan alleen worden ingeschakeld in de voorwaardelijke blok-drijvende-kommamodus.
1.3.4
De CoreFFT is standaard geconfigureerd om de voorwaardelijke blok-floating-point-schaling toe te passen. In de voorwaardelijke blok-floating-point-modus worden de invoergegevens vóór de eerste seconde gecontroleerd en indien nodig met een factor twee teruggeschaald.tage.
Transformatietijd De FFT-berekening duurt (N/2 + L) x log2N + 2 klokcycli, waarbij L een implementatiespecifieke parameter is die de totale latentie van een geheugenbank, schakelaars en de vlinder vertegenwoordigt. L is niet afhankelijk van transformatiegrootte N. Het hangt alleen af van de FFT-bitresolutie. L is gelijk aan 10 bij bitresoluties van 8 tot 18, en L is gelijk aan 16 bij bitresoluties van 19 tot 32. Bijvoorbeeldampde,
· Voor een 256-punts 16-bit FFT
Berekeningstijd = (256/2 + 10) x log2256 + 2 = 1106 klokperioden.
· Voor een 4096-punts 24-bit FFT
Berekeningstijd = (4096/2 + 16) x log24096 + 2 = 24770 klokperioden.
1.3.5
Geheugenimplementatie De kern gebruikt harde RAM-blokken om het interne geheugen, andere geheugenbuffers en een twiddle-LUT te implementeren. De FPGA's hebben twee typen harde RAM: grote SRAM (LSRAM) en micro-RAM's. De geheugenimplementatie kan worden bestuurd door de parameter URAM_MAXDEPTH in te stellen. CoreFFT gebruikt micro-RAM's als de vereiste diepte de parameterwaarde niet overschrijdt. Bijvoorbeeldample, de parameter URAM_MAXDEPTH ingesteld op 64, maakt gebruik van micro-RAM's in elke FFT-grootte tot 128 punten, aangezien de vereiste diepte POINTS/2 is. Door de parameterwaarde op 0 te zetten, wordt voorkomen dat de kern de micro-RAM's überhaupt gebruikt, zodat ze elders kunnen worden gebruikt.
De parameter URAM_MAXDEPTH is toegankelijk via de kerngebruikersinterface.
1.4 Streaming-FFT
Streaming FFT ondersteunt continue complexe gegevensverwerking, één complexe invoergegevensample per klokperiode. De streamingarchitectuur heeft zoveel Radix-22-processors, RAM-blokken en LUT's als nodig is om streaming-datatransformatie te ondersteunen. De volgende afbeelding toont een functioneel diagram van de 256-punts streaming-transformatie.
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 7
Figuur 1-5. Streaming Radix-22 256-pt FFT functioneel blokdiagram
CoreFFT v8.0
Functionele beschrijving
De invoer- en uitvoergegevens worden weergegeven als (2 x DATA_BITS)-bitwoorden die bestaan uit reële en denkbeeldige delen. Beide delen zijn elk twee complementaire aantallen DATA_BITS-bits. De module verwerkt gegevensframes met een framegrootte die gelijk is aan de transformatiegrootte van N complexe woorden. Het te verwerken frame komt naar de x(n)-ingang als een reeks van de complexe datawoorden, één (2 x DATA_BITS)-bitwoord per klokinterval. Het volgende frame kan onmiddellijk na het laatste datawoord van een huidig frame beginnen, of op elk moment later.
De volgende afbeelding toont een exampbestand van frame i+1 dat onmiddellijk volgt op frame i, en het frame i+2 dat volgt op een willekeurige opening. De invoergegevens sampbestanden binnen een frame moeten op elk klokinterval komen, dus een frame dat precies N klokintervallen duurt. Er is een aanzienlijke latentie verbonden aan het streamingalgoritme. De uitvoerdataframes verschijnen in dezelfde volgorde, kloksnelheid en met dezelfde gaten (indien aanwezig) tussen de uitvoerframes, als die tussen de invoerframes.
Figuur 1-6. Streaming van FFT-invoergegevensframes
1.4.1 1.4.2
Het aantal FFT-vlinders is gelijk aan log2(N), dus elke stage wordt verwerkt door een aparte vlinder. Als gevolg hiervan zijn alle stages worden parallel verwerkt.
CoreFFT berekent de twiddle-factoren die vereist zijn door het FFT-algoritme. Bij het opstarten uploadt de kern automatisch de twiddle-factoren naar RAM's op de chip die de twiddle-LUT's worden. Er is geen actie van de gebruiker vereist om dit mogelijk te maken. Na voltooiing van het uploaden activeert de kern het RFS-signaal, waardoor een gegevensbron weet dat de kern gereed is om de FFT-verwerking te starten. De LUT-inhoud kan op elk moment worden vernieuwd door een signaal van één klok breed, REFRESH, uit te zenden.
Streaming FFT-latentie De streaming FFT-latentie wordt voornamelijk bepaald door de transformatiegrootte, N. De implementatie telt een aantal pijplijnvertragingen op die afhankelijk zijn van de FFT-grootte en de bitbreedte van het datapad. Met andere woorden, de FFT-resultaten worden vertraagd met betrekking tot de invoergegevens met niet minder dan N gegevensintervallen voor de bit-omgekeerde uitvoer. De bestelde uitvoerlatentie is ongeveer twee keer groter.
Streaming FFT-geheugenimplementatie Net als de in-place architectuur gebruikt de streaming FFT harde RAM-blokken om de vereiste geheugens, LUT's en vertragingslijnen te implementeren. De geheugenimplementatie kan worden bestuurd door de parameter URAM_MAXDEPTH in te stellen. CoreFFT gebruikt micro-RAM's als de diepte van het geheugen de parameterwaarde niet overschrijdt. Bijvoorbeeldample, de parameter URAM_MAXDEPTH, ingesteld op 128, gebruikt micro-RAM's om herinneringen te creëren met een diepte van 128 en minder. Door de parameterwaarde op 0 te zetten, wordt voorkomen dat de kern de micro-RAM's überhaupt gebruikt, zodat ze elders kunnen worden gebruikt.
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 8
CoreFFT v8.0
Functionele beschrijving
1.4.3
Streaming FFT-uitvoergegevens Woordenvolgorde De uitvoerresultaten verkregen uit de Radix-2 en de Radix-22 FFT-algoritmen zijn in de bit-omgekeerde volgorde.
De in-place implementatie voert echter intern de sample bestelling. Daarom publiceert de kern de resultaten in een natuurlijke volgorde. De Streaming FFT ondersteunt zowel bit-omgekeerde als natuurlijke uitvoeropdrachten. De bit-reversed-optie gebruikt minder chipbronnen en biedt een kleinere latentie.
1.4.4 1.4.4.1
Overwegingen over de eindige woordlengte In deze sectie worden de overwegingen over de eindige woordlengte van de CoreFFT beschreven.
Niet-geschaalde en schaalschemamodi
De vlinderberekening omvat optellen en aftrekken. Deze bewerkingen kunnen ervoor zorgen dat de vlindergegevensbreedte groter wordt van invoer naar uitvoer. Elke vlinder, BF2I of BF2II (zie figuur 1-5), kan een extra bit aan de databreedte toevoegen. Bovendien kunnen de vermenigvuldigingen één bit aan het resultaat toevoegen. De totale potentiële bitgroei = log2(N)+1 bits. Er moeten voorzorgsmaatregelen worden genomen om ervoor te zorgen dat er geen gegevensoverflows optreden.
Om het risico op overstroming te voorkomen of te verminderen, maakt de kern gebruik van een van de volgende twee technieken:
· De niet-geschaalde modus bouwt het datapad breed genoeg op om de bitgroei op te vangen. De breedte van het datapad groeit van stage tot stage om de bitgroei van het algoritme volledig te accommoderen, zodat de data-overflow nooit plaatsvindt. De reële of denkbeeldige uitvoerbitbreedte is log2(N)+1 bits breder dan de invoerbitbreedte. Het ontwerp is volkomen veilig vanaf het overlooppunt view.
· De configureerbare schaalschematechniek biedt een gebruiker controle over het terugschalen (afkappen) van elk tussenresultaat dat overflow kan veroorzaken. De uitvoerbitbreedte is gelijk aan de invoerbitbreedte. De techniek is alleen overflow-veilig als het schaalschema overeenkomt met de feitelijke bitgroei, wat niet eenvoudig te bereiken is. Een voorzichtige omgang met de configureerbare schaalvergroting leidt vaak tot extra schaalverkleining. Maar als bekend is dat de aard van het getransformeerde signaal overloopveilig is met sommige of alle stagOmdat de uitgebreide downscaling achterwege wordt gelaten, is de techniek zowel gunstig vanuit het oogpunt van signaal-ruisverhouding als vanuit het oogpunt van het gebruik van chipbronnen. Indien geconfigureerd voor de schaalplanningstechniek, genereert de kern een overloopvlag als de overloop heeft plaatsgevonden. De Radix-22-vlinder kan een groei van 3 bits introduceren: vlinders BF2I, BF2II en een vermenigvuldiger kunnen elk een beetje toevoegen. Maar slechts één vermenigvuldiging van alle FFT'stages kan het bit toevoegen. Omdat het vooraf onbekend is, is de stage waarop de vermenigvuldiger het extra bit induceert, indien aanwezig, verlengt de FFT-engine in de niet-geschaalde modus het datapad met het bit, beginnend bij de eerste stage.
In de schaalschematechniek elke Radix-22 stage kan een groei van 3 bits introduceren. Het gegevenspad binnen de stage groeit dienovereenkomstig, dat wil zeggen de stage-uitvoer is drie bits breder dan de stage invoer. De motor schakelt de drie extra bits uit na de stagHet resultaat wordt berekend, dat wil zeggen de stagDe uitvoer wordt met drie bits afgekapt voordat deze naar de volgende s gaattage. Een dergelijke aanpak elimineert de noodzaak om de sub-s te radentage waarbij schaalverkleining moet worden toegepast.
In de volgende tabel worden de drie bits uitgelegd die worden verwijderd in de schaalschemamodus, afhankelijk van de 2-bits schemawaarde voor een bepaalde stage.
Tabel 1-1. Drie extra bits verwijderen in de schaalschemamodus
Schaalschema voor een gegeven Radix-22 Stage
Bits de kern uitsnijdt
00
Knip drie MSB's uit
01
Knip twee MSB's uit en rond één LSB
10
Knip één MSB uit en rond twee LSB's
11
Ronde drie LSB's
De FFT/IFFT van de maten 32, 128 of 512 die geen macht van vier zijn, gebruiken naast de Radix-22-vlinders een enkele Radix-2-vlinder. De ene geldt voor de laatste verwerkingentage en snijdt een extra stukje uit.
De kern roept automatisch overloopdetectie op in de schaalplanningsmodus. De overflow-vlag (OVFLOW_FLAG) verschijnt zodra de kern de daadwerkelijke overflow detecteert. De vlag blijft actief tot het einde van een uitvoerframe waarin de overloop wordt gedetecteerd.
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 9
CoreFFT v8.0
Functionele beschrijving
1.4.4.2
Beperkingen van de invoerbitbreedte in de niet-geschaalde modus De niet-geschaalde modus beperkt de maximale invoer-sampde bitbreedte die door de kern wordt afgehandeld. De volgende tabel bevat de maximale bitbreedtes voor elke FFT-grootte.
Tabel 1-2. Streaming ongeschaalde FFT maximale bitbreedte van invoergegevens
FFT-maat 16
Maximale invoerbreedte 32
32
30
64
30
128
28
256
28
512
26
1024
26
2048
24
4096
24
1.4.4.3
Schaalschema invoeren Het schaalschema identificeert de schaalfactor voor elke streaming-FFTtage. Elke Radix-22 stagDe schaalfactor wordt bestuurd door twee speciale bits van het schaalschema en de Radix-2 stagDe e die wordt gebruikt in de niet-macht-van-vier FFT's wordt bestuurd door een enkele bit. De volgende afbeelding toont een exampbestand van een gebruikersinterface voor een schaalschema voor 1024-pt FFT. Een paar selectievakjes komt overeen met een specifieke Radix-22 stage en presenteert twee bits van de schaalfactor. De feitelijke verkleiningsfactor op een bepaalde secondetage wordt berekend als 22*Bit1+Bit0 en heeft een van de volgende waarden: 1, 2, 4, 8. De selectievakjes in de volgende afbeelding komen overeen met de binaire schaalschemawaarde van 10 10 10 10 11. Deze waarde vertegenwoordigt een conservatief schaalschema dat geen overstroming veroorzaakt.
Figuur 1-7. Gebruikersinterface voor schaalplanning
De volgende tabel bevat de conservatieve schaalschema's voor elke FFT-grootte die volledig overloopveilig is.
Tabel 1-3. Conservatieve schaalschema's voor verschillende FFT-formaten
FFT-formaat
Radix-22 Stage
5
4
3
2
1
0
4096
1
0
1
0
1
0
1
0
1
0
1
1
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 10
………..vervolg FFT-grootte
2048 1024 512 256 128 64 32 16
CoreFFT v8.0
Functionele beschrijving
Radix-22 Stage
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.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 11
CoreFFT v8.0
Interface
2. Interface
In deze sectie wordt de interface van de CoreFFT beschreven.
2.1
2.1.1
FFT ter plaatse
In deze sectie wordt de In-Place FFT van de CoreFFT beschreven.
Configuratieparameters CoreFFT heeft parameters (Verilog) of generieke parameters (VHDL) voor het configureren van de RTL-code. In de volgende tabel worden de parameters en generieke gegevens beschreven. Alle parameters en generieke gegevens zijn gehele typen.
Tabel 2-1. In-place CoreFFT-parameterbeschrijvingen
Parameter INVERSE
Geldig bereik 0
Standaard 0
Beschrijving
0: Voorwaartse Fourier-transformatie 1: Inverse Fourier-transformatie
SCHAAL
0
0
0: Voorwaardelijke blok-drijvendekommaschaling
1: Onvoorwaardelijke blok-drijvendekommaschaling
Om de schaling van invoergegevens toe te passen, stelt u de SCALE-parameter in op 0 en voegt u het juiste aantal bewakingsbits toe aan de invoergegevens. Dan heeft de voorwaardelijke blokzwevende komma geen effect.
PUNTEN
BREEDTE MEMBUF
32, 64, 128,
256
256, 512, 1024,
2048, 4096,
8192, 16384
8
18
0
0
Grootte transformeren. Opmerking: De 16384-pt FFT wordt alleen ondersteund op RTG4-, PolarFire- en PolarFire SoC-onderdelen.
Bitbreedte van gegevens en twiddle-factor
0: Minimale (geen buffer) configuratie 1: Gebufferde configuratie
SCALE_EXP_ON
0
0
0: Bouwt het voorwaardelijke blok met drijvende komma niet op
exponent rekenmachine
1: Bouwt de rekenmachine
URAM_MAXDEPTH
0, 4, 8, 16, 32, 64, 128, 256, 512
De grootste RAM-diepte die kan worden geïmplementeerd met het microRAM dat beschikbaar is op de SmartFusion2-, IGLOO2-, RTG4-, PolarFire- en PolarFire SoC-onderdelen. Wanneer de RAM-diepte die vereist is voor een door de gebruiker geselecteerde transformatiegrootte POINTS de URAM_MAXDEPTH overschrijdt, worden grote LSRAM-blokken gebruikt.
2.1.2
Poorten De volgende tabel geeft een overzicht van de poortsignalen voor de interne CoreFFT-architectuur.
Tabel 2-2. In-Place CoreFFT-poortbeschrijvingen
Poortnaam DATAI_IM
In/uit poortbreedtebits Beschrijving
In
BREEDTE
Denkbeeldige invoergegevens die moeten worden getransformeerd
DATAI_RE
In
BREEDTE
Echte invoergegevens die moeten worden getransformeerd
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 12
CoreFFT v8.0
Interface
………..voortgezet
Havennaam
In/Uit
DATAI_VALID In
Poortbreedtebits 1
Beschrijving
Ingangscomplexwoord geldig Het signaal begeleidt geldige ingangscomplexe woorden die aanwezig zijn op de ingangen DATAI_IM, DATAI_RE. Wanneer het signaal actief is, wordt het ingevoerde complexe woord in het kerngeheugen geladen, op voorwaarde dat het signaal BUF_READY is bevestigd.
READ_OUTP In
1
Getransformeerde gegevens lezen Normaal gesproken geeft de module FFT-resultaten weer, zodra ze gereed zijn, in een enkele burst van N complexe woorden. De getransformeerde gegevensontvanger kan willekeurige onderbrekingen in de burst invoegen door het READ_OUTP-signaal te deactiveren.
DATAO_IM
Uit
DATAO_RE
Uit
DATAO_VALID Uit
BREEDTE BREEDTE 1
Denkbeeldige uitvoergegevens
Echte outputgegevens
Uitvoercomplexwoord geldig Het signaal begeleidt geldige uitvoercomplexwoorden die aanwezig zijn op de DATAO_IM- en DATAO_RE-uitgangen.
BUF_READY Uit
1
FFT accepteert nieuwe gegevens. De kern geeft het signaal door wanneer deze klaar is om gegevens te accepteren. Het signaal blijft actief totdat het kerngeheugen vol is. Met andere woorden, het signaal blijft actief totdat de POINTS-complexingang s isampbestanden zijn geladen.
OUTP_READY Uit
1
FFT-resultaten gereed De kern geeft het signaal door wanneer de FFT-resultaten gereed zijn om door de getransformeerde gegevensontvanger te worden gelezen. Het signaal blijft actief terwijl het getransformeerde dataframe wordt gelezen. Normaal gesproken duurt het POINTS-klokintervallen, tenzij het READ_OUTP-signaal wordt gedeactiveerd.
SCALE_EXP
Uit
verdieping[log2 ( Plafond(log2(POIN TS)))]+1
Voorwaardelijke blok-exponent voor schaalvergroting met drijvende komma Deze optionele uitvoer kan worden ingeschakeld door de parameter SCALE_EXP_ON in te stellen. De uitgang kan worden ingeschakeld als de kern zich alleen in de voorwaardelijke blok-drijvende-komma-schalingsmodus bevindt (de parameter SCALE = 0).
PONG CLK
Uit
1
In
1
De Pong-bank van de invoergeheugenbuffer wordt door de FFT-engine gebruikt als een werkend intern geheugen. Dit optionele signaal is alleen geldig in de gebufferde configuratie.
Klok Stijgende flank actief De kernmasterklok
LANGZAAMKLK
In
1
NGRST
In
1
Laagfrequent Rising-edge kloksignaal voor twiddle LUT-initialisatie, dit moet minstens gedeeld worden door acht keer de CLK-frequentie.
Asynchrone reset Actief-Laag
Belangrijk:Alle signalen zijn actief-hoog (logisch 1), tenzij anders aangegeven.
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 13
CoreFFT v8.0
Interface
2.2
2.2.1
FFT streamen
Streaming FFT is beschikbaar met een GUI-configureerbare native interface of AXI4-streaminginterface.
Configuratieparameters CoreFFT heeft parameters (Verilog) of generieke parameters (VHDL) voor het configureren van de RTL-code. In de volgende tabel worden deze parameters en generieke parameters beschreven. Alle parameters en generieke gegevens zijn gehele typen.
Tabel 2-3. Parameterbeschrijvingen van CoreFFT-streamingarchitectuur
Parameternaam FFT_SIZE
Geldig bereik Standaard
16, 32, 64, 128, 256 256, 512, 1024, 2048 en 4096
Beschrijving
Groottepunten transformeren De kern verwerkt frames met complexe gegevens, waarbij elk frame FFT_SIZE complexe s bevatamples. De getransformeerde dataframes hebben dezelfde grootte.
NATIV_AXI4
0 – 1
0
Interfaceselectie van het IP
· 0 – Native interface
· 1 – AXI4-streaminginterface
Het is alleen beschikbaar voor streamingarchitectuur
SCALE_AAN
0 – 1
1
1 – Configureerbaar weegschaalschema inschakelen
Wanneer de optie is ingeschakeld, past de kern het configureerbare toe
schaalfactor, SCALE_SCH na elke vlinder.
0 – Niet-geschaalde modus
SCALE_SCH
0
Schaalschema
Als de parameter SCALE_ON gelijk is aan 1, wordt SCALE_SCH hieraan gebruikt
definieer de schaalfactor voor elke verwerkings-stage.
DATA_BITS TWID_BITS BESTELLING
8 – 32 8 – 32 0 – 1
18
Voer de databitbreedte in van reële of denkbeeldige delen.
18
Twiddle-factor bitbreedte van de reële of denkbeeldige delen.
0
0: uitvoergegevens in omgekeerde bitvolgorde
1: Gegevens in normale volgorde uitvoeren
URAM_MAXDEPTH 0, 4, 8, 16, 32, 0 64, 128, 256, 512
De grootste RAM-diepte die kan worden geïmplementeerd met micro-RAM beschikbaar op de SmartFusion2-, IGLOO2-, RTG4-, PolarFire- of PolarFire SoC-onderdelen. Wanneer de RAM-diepte die vereist is voor een door de gebruiker geselecteerde transformatiegrootte POINTS de URAM_MAXDEPTH overschrijdt, worden grote LSRAM-blokken gebruikt.
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 14
CoreFFT v8.0
Interface
………..voortgezet
Parameternaam
AXI4S_IN_DATA Opmerking: legt de opvulling van de nullen uit voor reële en denkbeeldige invoergegevensampbestanden wanneer NATIV_AXI4 = 1
Geldig bereik 8,16,24,32
Standaard 24
Beschrijving
Het is een intern gegenereerde parameter, niet toegankelijk voor de gebruiker. Het wordt gebruikt om de invoergegevens s te interpreterenampbestanden in termen van bytegrenzen om de AXI4-streaminginterface te vergemakkelijken. AXI4S_IN_DATA-grootte als volgt gedefinieerd:
1. Als DATA_BITS = 8 en dan AXI4S_IN_DATA= 8, is er geen opvulling vereist voor invoergegevensampde
2. Als 8 < DATA_BITS < 16, dan is AXI4S_IN_DATA = 16, de invoergegevensampbestand moet worden opgevuld met 16 (DATA_BITS) nullen op MSB-positie, zowel voor echte als denkbeeldige gegevensampbestanden voordat u deze verzendt
3. Als 16 < DATA_BITS < 24, dan is AXI4S_IN_DATA = 24, de invoergegevensampbestand moet worden opgevuld met 24 (DATA_BITS) nullen op MSB-positie, zowel voor echte als denkbeeldige gegevensampbestanden voordat u deze verzendt
4. Als 24 < DATA_BITS < 32, dan is AXI4S_IN_DATA = 32, de invoergegevensampbestand moet worden opgevuld met 32 (DATA_BITS) nullen op MSB-positie, zowel voor echte als denkbeeldige gegevensampbestanden voordat u deze verzendt
Opmerking: de opvulling moet beginnen vanaf MSB.
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 15
CoreFFT v8.0
Interface
………..vervolg Parameternaam
Geldig bereik
AXI4S_OUT_DATA 8,16,24,32, 40 Opmerking: legt de opvulling van de 0 uit voor reële en denkbeeldige uitvoergegevensampbestanden wanneer NATIV_AXI4 = 1
Standaard 24
Beschrijving
Het is een intern gegenereerde parameter, niet toegankelijk voor de gebruiker. Het wordt gebruikt om de uitvoergegevens s te interpreterenampbestanden in termen van bytegrenzen om de AXI4-streaminginterface te vergemakkelijken. AXI4S_OUT_DATA-grootte als volgt gedefinieerd:
Wanneer SCALE_ON = 0, voer dan s uitampbestandsgrootte is STREAM_DATAO_BITS = DATA_BITS+ceil_log2 (FFT_SIZE) + 1
Wanneer SCALE_ON = 1, voer dan s uitampbestandsgrootte is STREAM_DATAO_BITS = DATA_BITS
1. Als STREAM_DATAO_BITS = 8 en dan AXI4S_OUT_DATA = 8, wordt er geen opvulling toegevoegd voor uitvoergegevensampde
2. Als 8 < STREAM_DATAO_BITS < 16 danAXI4S_OUT_DATA= 16, zijn de uitvoergegevensampbestanden worden opgevuld met 16 – (STREAM_DATAO_BITS) nullen op MSB-positie, zowel voor echte als denkbeeldige gegevensampbestanden vóór het inlijsten
3. Als 16 < STREAM_DATAO_BITS < 24 danAXI4S_OUT_DATA = 24, zijn de uitvoergegevensampbestanden worden opgevuld met 24 – (STREAM_DATAO_BITS) nullen op MSB-positie, zowel voor echte als denkbeeldige gegevensampbestanden vóór het inlijsten
4. Als 24 < STREAM_DATAO_BITS < 32 danAXI4S_OUT_DATA = 32, zijn de uitvoergegevensampbestanden worden opgevuld met 32-(STREAM_DATAO_BITS) nullen op MSB-positie, zowel voor echte als denkbeeldige gegevensampbestanden vóór het inlijsten
5. Als 32 < STREAM_DATAO_BITS < 40 danAXI4S_OUT_DATA = 40, zijn de uitvoergegevensampbestanden worden opgevuld met 40 – (STREAM_DATAO_BITS) nullen op MSB-positie, zowel voor echte als denkbeeldige gegevensampbestanden vóór het inlijsten
Opmerking: de opvulling moet beginnen vanaf MSB.
2.2.2
Poorten De volgende tabel beschrijft de poortsignalen voor de Streaming CoreFFT-macro.
Tabel 2-4. Streaming FFT I/O-signaalbeschrijvingen
Poortnaam CLK SLOWCLK
CLKEN
In/uit In In
In
Poortbreedte, bits Beschrijving
1
Stijgend kloksignaal
1
Laagfrequent Rising-edge kloksignaal voor Twiddle LUT
initialisatie, moet deze ten minste gedeeld worden door vier maal CLK
frequentie.
1
Optioneel klokinschakelsignaal
Nadat het signaal is gedeactiveerd, stopt de kern met het genereren van geldige signalen
resultaten
NGRST
In
1
RST
In
1
Poorten beschikbaar wanneer NATIV_AXI4 = 1
Asynchrone resetsignaal actief-laag. Optioneel synchroon resetsignaal actief-hoog.
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 16
CoreFFT v8.0
Interface
………..voortgezet
Havennaam
In/Uit
AXI4_S_DATAI_ In TVALID
AXI4_S_DATAI_ Uit TREADY
AXI4_S_TDATAI In
AXI4_S_TLASTI In
AXI4_M_DATAO Uit _TVALID
AXI4_M_DATAO In _TREADY
AXI4_M_TDATA Uit O
AXI4_M_TLAST Uit O
AXI4_S_CONFIG In I_TVALID
AXI4_S_
Uit
CONFIGI
_TREADY
AXI4_S_CONFIG In I
AXI4_M_CONFI Uit GO_TVALID
AXI4_M_CONFI In GO_TREADY
Poortbreedte, bits Beschrijving
1
AXI4 Stream gegevens met geldige invoer naar de kern vanaf een externe bron
geeft de beschikbaarheid van gegevens aan. Het fungeert als START van de kern.
Opmerking: Lees de START-poortbeschrijving voor meer informatie.
1
AXI4 Stream data gereed naar de externe bron
Geeft aan dat de kern gereed is om de gegevens te accepteren
(2 *
AXI4 Stream data-invoer van de bron naar de kern.
AXI4S_IN_DATA) Bevat echte gegevens (DATAI_RE) opgevuld met nullen en denkbeeldige gegevens
(DATAI_IM) gegevens dienovereenkomstig opgevuld met nullen.
1
Geeft de verzending van de laatste gegevens aanample van extern
bron.
1
AXI4 Streamgegevens geldige uitvoer naar ontvanger geeft aan dat de kern gereed is
om getransformeerde gegevens te verzenden. Het fungeert als DATAO_VALID van de kern.
Opmerking:Lees de DATAO_VALID-poortbeschrijving voor meer informatie
informatie.
1
AXI4 Stream data gereed vanaf ontvanger
Geef de gereedheid van de externe ontvanger aan
Het moet altijd 1 zijn voor kernfunctionaliteit
(2 * AXI4S_OUT_DA TA)
AXI4 Stream gegevens naar de ontvanger.
Bevat getransformeerde echte gegevens (DATAO_RE) opgevuld met nullen en denkbeeldige gegevens (DATAO_IM) dienovereenkomstig opgevuld met nullen.
1
Geeft de verzending van de laatst getransformeerde gegevens aanample van
IP
1
Geldige invoer voor de kern van een externe bron
Geeft de beschikbaarheid van configuratiegegevens aan
1
Klaar om de externe bron aan te geven dat de kernen gereed zijn
het accepteren van de configuratiegegevens.
8
Invoer van configuratiegegevens van de bron naar de kern en de bron
moet het IP-adres configureren voordat de gegevens worden verzondenamples. Het
bevat de volgende configuratie-informatie:
· Bit0 – INVERSE (wanneer het bit hoog is, berekent de kern Inverse FFT van het volgende dataframe, anders Forward FFT)
· Bit1 – REFRESH (Herlaad de Twiddle-coëfficiënt LUT's in de overeenkomstige RAM-blokken)
1
Statusgegevens geldige uitvoer naar ontvanger
Geef aan dat de kern klaar is om getransformeerde gegevens te verzenden
1
Statusgegevens gereed van ontvanger
Geeft de gereedheid van de externe ontvanger aan.
Het moet altijd 1 zijn voor kernfunctionaliteit.
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 17
CoreFFT v8.0
Interface
………..voortgezet
Havennaam
In/Uit
AXI4_M_CONFI Uit GO
Poortbreedte, bits Beschrijving
8
Statusgegevens naar ontvanger
Het bevat de volgende statusinformatie:
Bit0 – OVFLOW_FLAG (Rekenkundige overflowvlag, CoreFFT bevestigt de vlag als de FFT/IFFT-berekening overloopt. De vlag start zodra de kern overflow detecteert. De vlag eindigt wanneer het huidige uitvoerdataframe eindigt)
Poorten beschikbaar wanneer NATIV_AXI4=0
DATAI_IM
In
DATA_BITS
DATAI_RE
In
DATA_BITS
BEGIN
In
1
Denkbeeldige invoergegevens die moeten worden getransformeerd.
Echte invoergegevens die moeten worden getransformeerd.
Transformatie startsignaal
Geeft het moment aan van de eerste sample van een invoerdataframe van N complexe samples komt in de kern terecht.
Als de START komt wanneer het vorige invoerdataframe nog niet is voltooid, wordt het signaal genegeerd.
OMKEREN
In
1
Inverse transformatie Wanneer het signaal wordt bevestigd, berekent de kern de inverse FFT van het volgende dataframe, anders voorwaartse FFT.
VERFRISSEN
In
DATAO_IM
Uit
DATAO_RE
Uit
OUTP_READY Uit
1
DATA_BITS DATA_BITS 1
Herlaadt de Twiddle-coëfficiënt LUT's in de corresponderende RAM-blokken.
Denkbeeldige uitvoergegevens
Echte outputgegevens
FFT-resultaten zijn gereed. De kern geeft het signaal door wanneer het op het punt staat een frame met N-FFT-gegevens uit te voeren. De breedte van het signaal is één klokinterval.
DATAO_VALID Uit
1
Uitvoerframe is geldig
Begeleidt een geldig uitvoerdataframe. Eenmaal gestart, duurt het signaal N klokcycli.
Als de invoergegevens continu binnenkomen zonder onderbrekingen tussen de frames, zal de DATAO_VALID, eenmaal gestart, voor onbepaalde tijd blijven bestaan.
OVFLOW_FLAG uit
1
Rekenkundige overloopvlag CoreFFT handhaaft de vlag als de FFT/IFFT-berekening overloopt. De vlag start zodra de kern overflow detecteert. De vlag eindigt wanneer het huidige uitvoerdataframe eindigt.
RFS
Uit
1
Verzoek om start De kern geeft het signaal door wanneer deze klaar is voor het volgende invoerdataframe. Het signaal start zodra de kern klaar is voor het volgende frame. Het signaal eindigt wanneer de kern het gevraagde START-signaal ontvangt.
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 18
CoreFFT v8.0
Interface
Belangrijk:Alle signalen zijn actief-hoog (logisch 1), tenzij anders aangegeven.
2.2.3
Invoer-/uitvoergegevensframeformaat voor AXI4 Streaming Interface Wanneer de AXI4 Streaming-interface is geselecteerd, zijn de invoer- en uitvoergegevensframes beschikbaar als gecascadeerde reële en denkbeeldige gegevens.ampbestanden worden eerst opgevuld met nullen om de bytegrenzen aan te passen om AXI4-streaming te vergemakkelijken.
Bijvoorbeeldample, DATA_BITS van 26, de dichtstbijzijnde bytegrens is 32, dus er moeten zes nullen worden toegevoegd voor echte en denkbeeldige gegevensampbestanden voordat ze in cascade worden omgezet naar AXI4 streaming I/O DATA
Tabel 2-5. AXI4 Streaming Interface I/O Dataframeformaat
Bits: 63…58 0's opvulling
Bits: 57…32 Denkbeeldige gegevens
Bits: 31..26 0's opvulling
Bits: 25…0 Echte gegevens
Tip: Zie de parameterbeschrijving van AXI4S_IN_DATA en AXI4S_OUT_DATA voor nulopvulling in Tabel 2-3.
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 19
CoreFFT v8.0
Tijdschema's
3. Timingdiagrammen
In deze sectie wordt het timingdiagram van CoreFFT beschreven.
3.1 FFT ter plaatse
Wanneer de interne FFT het BUF_READY-signaal bevestigt, begint een gegevensbron de gegevens te leverenamples getransformeerd worden. Denkbeeldige en reële helften van de invoergegevensampbestand moet gelijktijdig worden aangeleverd en vergezeld gaan van het geldigheidsbit DATAI_VALID. De gegevensbron kan de s leverenample bij elke klokcyclus of op een willekeurig langzamer tempo (zie figuur 3-1). Zodra de FFT-module N-ingangen ontvangtamples, het verlaagt het BUF_READY-signaal. De FFT-engine begint de gegevens automatisch te verwerken zodra deze gereed zijn. In de minimale geheugenconfiguratie begint de verwerkingsfase onmiddellijk nadat het laden van gegevens is voltooid. In de gebufferde configuratie kan de FFT-engine wachten totdat de vorige databurst is verwerkt. Vervolgens start de motor automatisch. De volgende afbeelding toont het laden van invoergegevens. Figuur 3-1. Invoergegevens laden
Na voltooiing van de transformatie geeft de FFT-module het signaal OUTP_READY door en begint met het genereren van de FFT-resultaten. De denkbeeldige en reële helften van de output sampbestanden verschijnen gelijktijdig op DATAO_IM en DATAO_RE multibit-uitgangen. Elke uitgang sampbestand wordt vergezeld door de DATAO_VALID-bit. De gegevensontvanger accepteert de getransformeerde gegevens bij elke klokcyclus of op een willekeurig langzamer tempo. De FFT-module blijft gegevensuitvoer leveren terwijl het READ_OUTP-signaal wordt bevestigd. Om de uitgang te regelenampAls dit niet het geval is, moet de ontvanger het READ_OUTP-signaal deactiveren wanneer dat nodig is (zoals weergegeven in de volgende afbeelding). De volgende afbeelding toont de ontvangst van de transformatiegegevens. Figuur 3-2. Getransformeerde gegevens ontvangen
Wanneer het READ_OUTP-signaal wordt gebruikt om de leessnelheid te regelen, moet rekening worden gehouden met mogelijke FFT-cyclusgroei. In de minimale geheugenconfiguratie verlengt elke verlenging van de lees- (upload)tijd de FFT-cyclus, zie figuur 1-2. In de gebufferde configuratie groeit de FFT-cyclus wanneer de werkelijke uploadtijd het speciale interval overschrijdt dat in Figuur 1-3 wordt weergegeven als “Beschikbaar voor het lezen van resultaten van cyclus i.”. Bovendien begint de uitvoerbuffer in de gebufferde configuratie de nieuwe FFT-resultaten te accepteren, zelfs als de oudere resultaten nog niet zijn uitgelezen, waardoor de oudere worden overschreven. In dit geval deactiveert de kern de signalen OUTP_READY en DATAO_VALID wanneer deze niet langer geldig zijn.
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 20
CoreFFT v8.0
Tijdschema's
3.2
3.2.1
FFT streamen
Voor de AXI4S-interface wordt de werking van de AXI4S-interfacepoorten toegewezen aan die van de native interface. Voor één-op-één mapping, zie Tabel 2-4 in Poorten van 2.2. FFT streamen.
RFS en START De kern genereert het RFS-signaal om een gegevensbron te laten weten dat deze klaar is voor het volgende frame van de invoergegevensamples. Nadat het is bevestigd, blijft de RFS actief totdat de gegevensbron reageert met het START-signaal.
Zodra de kern de START krijgt, wordt het RFS-signaal gedeactiveerd en begint het invoerdataframe te ontvangen. Na N klokintervallen is de ontvangst van het dataframe voltooid en wordt het RFS-signaal weer actief. De volgende afbeelding toont een example wanneer de FFT-engine wacht tot de gegevensbron het START-signaal levert.
Figuur 3-3. RFS wacht op START
Het START-signaal heeft een permanente actieve waarde en de kern begint direct na het einde van een vorig frame een nieuw invoerframe te ontvangen. Het is optioneel dat de gegevensbron op het RFS-signaal let. Het kan het START-signaal op elk moment bevestigen, en de kern begint zo snel mogelijk een ander invoerframe te accepteren. In de situatie van Figuur 3 begint het laden van een nieuw frame onmiddellijk na het START-signaal. Als het START-signaal komt wanneer een vorig invoerframe wordt geladen, wacht de kern tot het frame eindigt en begint dan met het laden van een ander frame. De volgende afbeelding toont een ander example waar de invoergegevens voor onbepaalde tijd binnenkomen zonder gaten tussen de frames. Figuur 3-4. Streaminggegevens transformeren
De volgende afbeelding laat zien dat het START-signaal één klokinterval voorloopt op het daadwerkelijke invoerframe. Figuur 3-5. START leidt de gegevens
3.2.2
OUTP_READY en DATAO_VALID
Deze twee signalen dienen om een gegevensontvanger op de hoogte te stellen wanneer de FFT-resultaten gereed zijn. De OUTP_READY is een klokbrede puls. De kern geeft aan wanneer het uitvoerdataframe op het punt staat te worden uitgevoerd. De kern bevestigt het DATAO_VALID-signaal terwijl het uitvoerframe wordt gegenereerd. Het DATAO_VALID-signaal volgt het OUTP_READY-signaal met één klokinterval. De volgende afbeelding toont de timingrelaties tussen de twee signalen en het FFTed-dataframe.
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 21
Figuur 3-6. Uitgangsgegevens en handshakesignalen
CoreFFT v8.0
Tijdschema's
De volgende afbeelding toont een scenario waarin het DATAO_VALID-signaal permanent actief is wanneer de streaminggegevens geen gaten tussen de frames bevatten.
Figuur 3-7. Streaming van uitvoergegevens zonder onderbrekingen
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 22
CoreFFT v8.0
Gereedschapsstroom
4. Gereedschapstroom
In deze sectie wordt de toolflow van CoreFFT beschreven.
4.1-licentie
CoreFFT is licentievergrendeld.
4.2 CoreFFT configureren in SmartDesign
CoreFFT kan worden gedownload in de Libero® IP-catalogus via de web opslagplaats. Nadat deze in de catalogus is opgenomen, kan de kern worden geïnstantieerd met behulp van de SmartDesign-stroom. Zie de SmartDesign-gebruikershandleiding voor meer informatie over het maken van een SmartDesign-project. Na het configureren en genereren van de core instance kan de basisfunctionaliteit worden gesimuleerd met behulp van de bij CoreFFT meegeleverde testbank. De testbankparameters passen zich automatisch aan de CoreFFT-configuratie aan. CoreFFT kan worden geïnstantieerd als onderdeel van een groter ontwerp.
Belangrijk: CoreFFT is compatibel met zowel de Libero Integrated Design Environment (IDE) als Libero SoC. Tenzij anders aangegeven, wordt in dit document de naam Libero gebruikt om zowel Libero IDE als Libero SoC te identificeren. Figuur 4-1. SmartDesign CoreFFT-instantie View
De kern kan worden geconfigureerd met behulp van de configuratie Grafische gebruikersinterface (GUI) binnen SmartDesign. Een exampbestand van de GUI voor de SmartFusion2-familie wordt weergegeven in de volgende afbeelding.
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 23
Figuur 4-2. CoreFFT configureren in SmartDesign
CoreFFT v8.0
Gereedschapsstroom
4.3 Simulatiestromen
De gebruikerstestbench voor CoreFFT is opgenomen in de release. Om dit te doen, voert u de volgende stappen uit: 1. Om de gebruikerstestbench uit te voeren, stelt u de Design Root in op de CoreFFT-instantie in het Libero SoC-ontwerphiërarchievenster. 2. Klik onder Pre-Synthesized Design verifiëren in het venster Libero SoC Design Flow met de rechtermuisknop op Simuleren en selecteer Interactief openen. Hierdoor wordt ModelSim aangeroepen en wordt de simulatie automatisch uitgevoerd.
Belangrijk: Wanneer u de VHDL-versie van de kern simuleert, wilt u mogelijk de IEEE.NUMERIC_STD-bibliotheekwaarschuwingen verwijderen. Voeg hiervoor de volgende twee regels toe aan het automatisch gegenereerde run.do file:
· stel NumericStdNoWarnings -1 in · stel StdArithNoWarnings -1 in
4.3.1 4.3.1.1
Testbench De uniforme testbench die wordt gebruikt om CoreFFT te verifiëren en te testen, wordt gebruikerstestbench genoemd.
Gebruikerstestbank De volgende afbeelding toont het blokschema voor de testbench. De volgende vergelijking laat zien hoe de gouden gedrags-FFT de eindige precisieberekeningen implementeert die worden getoond in
x(k) = n= 0N-1X(n)e?jnk2?/N
Vergelijking 1 of Vergelijking 2 in de inleiding: zowel de gouden FFT als de CoreFFT zijn identiek geconfigureerd en ontvangen hetzelfde testsignaal. De testbank vergelijkt de uitgangssignalen van de gouden module en de daadwerkelijke CoreFFT.
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 24
Figuur 4-3. CoreFFT-gebruikerstestbank
CoreFFT v8.0
Gereedschapsstroom
De testbank biedt bijvamples over het gebruik van de gegenereerde FFT-module. De testbank kan worden aangepast aan de vereisten.
4.4 Ontwerpbeperkingen
Er moeten uitzonderingen op de kerntiming nodig zijn (dat wil zeggen een vals pad en een pad met meerdere cycli) tussen de klokgrenzen. Voor referentie over de vereiste beperkingen die moeten worden toegevoegd, zie CoreFFT.sdc vanaf het pad. /component/Actel/DirectCores/CoreFFT/ /beperkingen/ CoreFFT.sdc.
4.5 Synthese in Libero SoC
Om de synthese van de geselecteerde configuratie uit te voeren, voert u de volgende stappen uit: 1. Stel de ontwerproot op de juiste wijze in de configuratie-GUI in. 2. Klik onder Implement Design, op het tabblad Design Flow, met de rechtermuisknop op Synthetiseren en selecteer Uitvoeren.
4.6 Plaats-en-route in Libero SoC
Nadat u de ontwerproot op de juiste manier hebt ingesteld en Synthesis hebt uitgevoerd. Klik onder Ontwerp implementeren op het tabblad Ontwerpstroom met de rechtermuisknop op Plaatsen en routeren en klik op Uitvoeren.
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 25
CoreFFT v8.0
Systeemintegratie
5. Systeemintegratie
Deze sectie biedt een example dat de integratie van CoreFFT laat zien.
5.1 FFT ter plaatse
De volgende afbeelding toont een exampvan het gebruik van de kern. Wanneer de interne FFT het BUF_READY-signaal bevestigt, begint een gegevensbron de gegevens te leverenamples getransformeerd worden. Denkbeeldige en reële helften van de invoergegevensampbestand moet gelijktijdig worden geleverd en vergezeld gaan van de geldigheidsbit-DATAI_VALID. De gegevensbron kan de s leverenample bij elke klokcyclus of op een willekeurig langzamer tempo (zie figuur 3-1). Nadat de FFT-module N-ingangen ontvangtamples, het verlaagt het BUF_READY-signaal. Figuur 5-1. Exampbestand van het In-Place FFT-systeem
De FFT-engine begint de gegevens automatisch te verwerken zodra deze gereed zijn. In de minimale geheugenconfiguratie begint de verwerkingsfase onmiddellijk nadat het laden van gegevens is voltooid. In de gebufferde configuratie kan de FFT-engine wachten totdat een eerdere databurst is verwerkt. Vervolgens start de motor automatisch.
5.2 Streaming-FFT
De kern voert voorwaartse FFT uit over de gegevens die bij elke klokcyclus binnenkomen. De gegevensbron blijft de gegevens leveren, terwijl de gegevensontvanger voortdurend de FFT-ed-resultaten ontvangt en indien nodig de overloopvlag bewaakt. Het optionele invoer-START-signaal en het uitvoer-RFS-signaal kunnen worden gebruikt als verwerking van de dataframes vereist is. De gegevensbron genereert het START-signaal om het begin van een ander frame te markeren, en de gegevensontvanger gebruikt het RFS-signaal om het begin van het uitvoerframe te markeren. Streaming CoreFFT kan oneindig veel complexe datastromen verwerken, zoals weergegeven in de volgende afbeelding.
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 26
Figuur 5-2. Exampbestand van een Streaming FFT-systeem
CoreFFT v8.0
Systeemintegratie
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 27
CoreFFT v8.0
Bijlage A: In-place gebruik van FFT-apparaten …
6. Bijlage A: Gebruik en prestaties van FFT-apparaten ter plaatse
Tabel 6-1 en Tabel 6-2 tonen het gebruik en de prestaties voor een verscheidenheid aan interne FFT-groottes en databreedtes. De cijfers zijn verkregen uit de configuratie vermeld in Tabel 6-3.
Tabel 6-1. In-place FFT SmartFusion2 M2S050 apparaatgebruik en prestaties (minimale geheugenconfiguratie)
Kernparameters
Gebruik van stoffenbronnen
Blokken
Prestatie
Punten 256
Breedte 18
DFF 1227
4 LUT 1245
Totaal 2472
LSRAM MACC
3
4
Kloksnelheid
328
FFT-tijd (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
Tabel 6-2. In-place FFT SmartFusion2 M2S050 apparaatgebruik en prestaties (gebufferde configuratie)
Kernparameters
PUNTEN BREEDTE
256
18
512
18
1024
18
4096
18
Gebruik van stoffenbronnen
DFF
4LUT
Totaal
1487
1558
3045
1527
1820
3347
1579
2346
3925
2418
4955
7372
Blokkeert LSRAM 7 7 7 28
MACC4 4 4 4
Prestatie
Kloksnelheid FFT Tijd (s)
328
3.3
321
7.4
310
16.8
281
87.8
Tip: · De gegevens in Tabel 6-1 en Tabel 6-2 zijn verkregen met behulp van typische synthese-instellingen. De Synplify-frequentie (MHz) was ingesteld op 500
· De gebruikscijfers worden verkregen met behulp van Libero v12.4 en er kunnen potentiële gebieds- en prestatieverbeteringen optreden met nieuwere revisies
· In synthese-instellingen worden ROM-componenten toegewezen aan logica en RAM-optimalisatie toegewezen voor hoge snelheid
· De lay-outinstellingen waren als volgt:
Maken van designerblokken ingeschakeld
Lay-out met hoge inspanning ingeschakeld
· De getoonde FFT-tijd weerspiegelt alleen de transformatietijd. Er wordt geen rekening gehouden met de downloadtijden van gegevens of de uploadtijden van resultaten
Tabel 6-3. In-place FFT PolarFire MPF300-apparatengebruik en prestaties (minimale geheugenconfiguratie)
Kernparameters
Gebruik van stoffenbronnen
Maximale klok
PUNTEN BREEDTE uRAM Diepte 4 LUT DFF uRAM LSRAM MACC Frequentie
64
18
512
939 1189 9
0
4
415
Transformatietijd (us)
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.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 28
CoreFFT v8.0
Bijlage A: In-place gebruik van FFT-apparaten …
………..voortgezet
Kernparameters
Gebruik van stoffenbronnen
Maximale klok
PUNTEN BREEDTE uRAM Diepte 4 LUT DFF uRAM LSRAM MACC Frequentie
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
Transformatietijd (us)
6.2 6.7 14.3 70.1 73 387 353.5
Tabel 6-4. In-place FFT PolarFire MPF300 apparaatgebruik en prestaties (gebufferde configuratie)
Kernparameters
Gebruik van stoffenbronnen
Maximale klok
PUNTEN BREEDTE uRAM Diepte 4 LUT DFF uRAM LSRAM MACC Frequentie
Transformatietijd (us)
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
Tip: · De gegevens in Tabel 6-3 en Tabel 6-4 zijn verkregen met behulp van typische Libero SoC-toolinstellingen. De timingbeperking was ingesteld op 400 MHz
· De gebruikscijfers worden verkregen met behulp van Libero v12.4 en er kunnen potentiële gebieds- en prestatieverbeteringen optreden met nieuwere revisies
· In synthese-instellingen worden ROM-componenten toegewezen aan logica en RAM-optimalisatie toegewezen voor hoge snelheid
· Plaats en route zijn ingesteld voor timinggestuurde lay-out met hoge inspanning
· De FFT-tijd weerspiegelt alleen de transformatietijd. Er wordt geen rekening gehouden met de downloadtijden van gegevens of de uploadtijden van resultaten
Belangrijk: FPGA-bronnen en prestatiegegevens voor de PolarFire SoC-familie zijn vergelijkbaar met de PolarFire-familie.
Tabel 6-5. In-Place FFT-gebruik en prestatieconfiguratieparameter INVERSE SCALE SCALE_EXP_ON HDL-type
Waarde 0 0 0 Verilog
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 29
CoreFFT v8.0
Bijlage B: Gebruik van streaming FFT-apparaten…
7. Bijlage B: Gebruik en prestaties van streaming FFT-apparaten
In de volgende tabellen worden het gebruik en de prestaties vermeld voor verschillende streaming FFT-configuraties.
Tabel 7-1. Streaming FFT SmartFusion2 M2S050T Snelheidsklasse -1
Kernparameters
Brongebruik
Blokken
Kloksnelheid
FFT_SIZE DATA_BITS TWID_BITS Order DFF 4LUT Totaal LSRAM uRAM MACC
16
18
18
Achteruit 2198 1886 4084 0
11
8
241
16
18
18
Normaal 1963 1600 3563 0
5
8
241
32
18
18
Achteruit 3268 2739 6007 0
16
16
225
64
18
18
Achteruit 3867 3355 7222 0
19
16
217
128
18
18
Achteruit 4892 4355 9247 5
16
24
216
256
18
18
Achteruit 5510 5302 10812 7
16
24
229
256
18
18
Normaal 5330 5067 10406 3
16
24
229
256
24
25
Achteruit 8642 7558 16200 8
21
48
223
512
18
18
Achteruit 6634 6861 13495 10
16
32
228
512
18
24
Achteruit 9302 8862 18164 12
18
64
228
1024
24
24
Achteruit 10847 11748 22595 17
18
64
225
1024
24
25
Achteruit 11643 12425 24068 19
22
64
221
Tip: · De maximale uRAM-diepte is ingesteld op 64
· De gebruikscijfers worden verkregen met behulp van Libero v12.4, en er kunnen potentiële gebieds- en prestatieverbeteringen optreden met nieuwere revisies
· In synthese-instellingen worden ROM-componenten toegewezen aan logica en RAM-optimalisatie toegewezen voor hoge snelheid. De Synplify-frequentie is ingesteld op 500
· Layout-modus voor hoge inspanning is ingesteld
Tabel 7-2. Streaming FFT PolarFire MPF300 Snelheidsklasse -1
Kernparameters
FFT_SIZE DATA_BIT TWID_BITS SCALE uRAM-bestellingsdiepte
Brongebruik
Klok
4LUT DFF uRAM LSRAM MACC-snelheid
16
16
18
On
256 Achteruit 1306 1593 6
0
4
319
16
16
18
On
256 Normaal 1421 1700 12 0
4
319
32
16
18
On
256 Achteruit 1967 2268 18 0
8
319
64
16
18
On
256 Achteruit 2459 2692 15 0
8
319
128
20
18
On
256 Normaal 4633 4911 44 0
24
310
256
22
18
Uit
256 Normaal 6596 6922 94 0
24
307
256
24
25
512
18
18
On
0
On
0
Achteruit 8124 8064 0
14
48
304
Achteruit 6686 5691 0
9
32
293
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 30
CoreFFT v8.0
Bijlage B: Gebruik van streaming FFT-apparaten…
………..vervolg Kernparameters
FFT_SIZE DATA_BIT TWID_BITS SCALE uRAM-bestellingsdiepte
Brongebruik
Klok
4LUT DFF uRAM LSRAM MACC-snelheid
1024
24
25
On
0
Achteruit 13974 10569 0
21
64
304
1024
18
18
On
0
Normaal 14289 10816 0
27
64
307
2048
18
18
On
0
Normaal 12852 7640 0
24
40
304
2048
18
18
On
0
Achteruit 12469 7319 0
16
40
315
4096
24
25
On
0
Normaal 29977 14288 0
59
80
305
4096
28
28
On
512 Normaal 34448 17097 120 48
80
301
Tip: · De gegevens in de voorgaande tabel zijn verkregen met behulp van de typische Libero SoC-toolinstellingen. De timingbeperking was ingesteld op 400 MHz
· Apparaatgebruikscijfers van de streamingarchitectuur zijn vrijwel hetzelfde voor zowel de AXI4S-interface als de native interface
· De gebruikscijfers worden verkregen met behulp van Libero v12.4, en er kunnen potentiële gebieds- en prestatieverbeteringen optreden met nieuwere revisies
· In synthese-instellingen worden ROM-componenten toegewezen aan logica en RAM-optimalisatie toegewezen voor hoge snelheid
· Plaats en route zijn ingesteld voor de timinggestuurde High Effort Layout
· FPGA-bronnen en prestatiegegevens voor de PolarFire SoC-familie zijn vergelijkbaar met de PolarFire-familie
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 31
CoreFFT v8.0
Revisiegeschiedenis
8. Revisiegeschiedenis
De revisiegeschiedenis beschrijft de wijzigingen die in het document zijn doorgevoerd. De wijzigingen worden per revisie weergegeven, beginnend met de meest recente publicatie.
Tabel 8-1. Revisie geschiedenis
Revisie Datum Beschrijving
C
08/2022 In revisie C van het document, tabel 6-1, tabel 6-2, tabel 6-3, tabel 6-4, tabel 7-1 bijgewerkt,
en Tabel 7-2.
B
07/2022 Hieronder volgt de lijst met wijzigingen in revisie B van het document:
· Bijgewerkt: Tabel 2-2 in 2.1.2. Poorten.
· Bijgewerkt: Tabel 2-4 in 2.2.2. Poorten.
· Bijgewerkt: 4.4. Ontwerpbeperkingen.
· Verwijderd: sectie 'Tijdbeperkingen configureren'.
A
07/2022 Hieronder volgt de lijst met wijzigingen in revisie A van het document:
· Het document is gemigreerd naar de Microchip-sjabloon.
· Het documentnummer is bijgewerkt naar DS50003348A van 50200267.
· De volgende secties zijn bijgewerkt:
Tabel 1 in Kenmerken.
Apparaatgebruik en -prestaties.
Tabel 1-2 in 1.4.4.2. Niet-geschaalde modus Invoerbitbreedtebeperkingen.
Figuur 1-7 in 1.4.4.3. Schaalschema invoeren.
Tabel 1-3 in 1.4.4.3. Schaalschema invoeren.
Tabel 2-3 in 2.2.1. Configuratieparameters.
Tabel 2-4 in 2.2.2. Poorten.
Tabel 2-2 in 2.1.2. Poorten.
Figuur 4-2 in 4.2. CoreFFT configureren in SmartDesign.
· De volgende paragrafen worden toegevoegd: 1.4.3. Streaming FFT-uitvoergegevens Woordenvolgorde. 2.2.3. Invoer/uitvoer Dataframeformaat voor AXI4 Streaming Interface. 4.3. Simulatiestromen. 4.4. Ontwerpbeperkingen. 4.5. Synthese in Libero SoC. 4.6. Plaats-en-Route in Libero SoC.
· De volgende secties zijn verwijderd: “Ondersteunde versie.” "Natuurlijke uitvoervolgorde."
10
—
Ondersteuning voor PolarFire® SoC toegevoegd.
9
—
“Productondersteuning”: verwijderd.
8
—
Bijgewerkte wijzigingen gerelateerd aan CoreFFT v7.0.
7
—
Bijgewerkte wijzigingen gerelateerd aan CoreFFT v6.4.
6
—
Bijgewerkte wijzigingen gerelateerd aan CoreFFT v6.3.
5
—
Bijgewerkte wijzigingen met betrekking tot ondersteunde gezinnen (SAR 47942).
4
—
Bijgewerkte wijzigingen gerelateerd aan CoreFFT v6.1.
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 32
CoreFFT v8.0
Revisiegeschiedenis
………..vervolg herzieningsdatum
3
—
2
—
1
—
Beschrijving
Het volgende is de lijst met wijzigingen in revisie 3.0 van het document: · Bijgewerkte wijzigingen gerelateerd aan CoreFFT v6.0. · De release voegt ondersteuning toe voor de SmartFusion2-familie (alleen In-Place-architectuur).
Het volgende is de lijst met wijzigingen in revisie 2.0 van het document: · Bijgewerkte wijzigingen gerelateerd aan CoreFFT v5.0. · Deze release voegt een nieuwe architectuur toe aan de bestaande In-place CoreFFT v4.0. · De nieuwe architectuur ondersteunt Streaming Forward en Inverse FFT die een snelle gegevensstroom transformeren.
Eerste release.
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 33
CoreFFT v8.0
Microchip FPGA-ondersteuning
De Microchip FPGA-productgroep ondersteunt zijn producten met verschillende ondersteunende diensten, waaronder klantenservice, Customer Technical Support Center, a weblocatie en wereldwijde verkoopkantoren. Klanten wordt aangeraden de online bronnen van Microchip te bezoeken voordat ze contact opnemen met de ondersteuning, omdat de kans groot is dat hun vragen al zijn beantwoord. Neem contact op met het technische ondersteuningscentrum via het webwebsite op www.microchip.com/support. Vermeld het onderdeelnummer van het FPGA-apparaat, selecteer de juiste kastcategorie en upload het ontwerp files tijdens het maken van een technische ondersteuningsaanvraag. Neem contact op met de klantenservice voor niet-technische productondersteuning, zoals productprijzen, productupgrades, update-informatie, bestelstatus en autorisatie.
· Vanuit Noord-Amerika: bel 800.262.1060 · Vanuit de rest van de wereld: bel 650.318.4460 · Fax, waar ook ter wereld, 650.318.8044
Microchip-informatie
de microchip Webplaats
Microchip biedt online ondersteuning via onze webwebsite op www.microchip.com/. Dit website wordt gebruikt om te maken files en informatie die gemakkelijk beschikbaar is voor klanten. Enkele van de beschikbare content omvat:
· Productondersteuning Gegevensbladen en errata, toepassingsnotities en sample-programma's, ontwerpbronnen, gebruikershandleidingen en hardware-ondersteuningsdocumenten, nieuwste softwareversies en gearchiveerde software
· Algemene technische ondersteuning Veelgestelde vragen (FAQ's), verzoeken om technische ondersteuning, online discussiegroepen, lijst met leden van het Microchip-ontwerppartnerprogramma
· Zaken van Microchip Productkiezer en bestelgidsen, laatste persberichten van Microchip, overzicht van seminars en evenementen, overzichten van verkoopkantoren, distributeurs en fabrieksvertegenwoordigers van Microchip
Meldingsservice voor productwijzigingen
Microchip's meldingsdienst voor productwijzigingen helpt klanten op de hoogte te blijven van Microchip-producten. Abonnees ontvangen een e-mailmelding wanneer er wijzigingen, updates, herzieningen of errata zijn met betrekking tot een specifieke productfamilie of ontwikkelingstool waarin ze geïnteresseerd zijn. Om u te registreren, gaat u naar www.microchip.com/pcn en volgt u de registratie-instructies.
Klantenservice
Gebruikers van Microchip-producten kunnen via verschillende kanalen hulp krijgen: · Distributeur of vertegenwoordiger · Lokaal verkoopkantoor · Embedded Solutions Engineer (ESE) · Technische ondersteuning
Klanten dienen voor ondersteuning contact op te nemen met hun distributeur, vertegenwoordiger of ESE. Lokale verkoopkantoren zijn ook beschikbaar om klanten te helpen. In dit document is een lijst van verkoopkantoren en locaties opgenomen. Technische ondersteuning is beschikbaar via de webwebsite op: www.microchip.com/support
Microchip Devices Code Beschermingsfunctie
Let op de volgende details over de codebeveiligingsfunctie op Microchip-producten:
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 34
CoreFFT v8.0
· Microchip-producten voldoen aan de specificaties in hun specifieke Microchip-gegevensblad. · Microchip is van mening dat zijn productenfamilie veilig is als deze op de beoogde manier wordt gebruikt, binnen de bedrijfsvoering
specificaties en onder normale omstandigheden. · Microchip waardeert en beschermt zijn intellectuele eigendomsrechten op agressieve wijze. Pogingen om de code te schenden
beveiligingsfuncties van Microchip-producten zijn ten strengste verboden en kunnen in strijd zijn met de Digital Millennium Copyright Act. · Noch Microchip, noch enige andere fabrikant van halfgeleiders kan de veiligheid van zijn code garanderen. Codebescherming betekent niet dat we garanderen dat het product “onbreekbaar” is. Codebescherming evolueert voortdurend. Microchip streeft ernaar de codebeschermingsfuncties van onze producten voortdurend te verbeteren.
Juridische kennisgeving
Deze publicatie en de informatie hierin mogen alleen worden gebruikt met Microchip-producten, inclusief voor het ontwerpen, testen en integreren van Microchip-producten met uw toepassing. Gebruik van deze informatie op enige andere wijze is in strijd met deze voorwaarden. Informatie over apparaattoepassingen wordt alleen voor uw gemak verstrekt en kan worden vervangen door updates. Het is uw verantwoordelijkheid om ervoor te zorgen dat uw toepassing aan uw specificaties voldoet. Neem contact op met uw plaatselijke Microchip-verkoopkantoor voor aanvullende ondersteuning of verkrijg aanvullende ondersteuning op www.microchip.com/en-us/support/design-help/client-support-services.
DEZE INFORMATIE WORDT DOOR MICROCHIP GELEVERD "ZOALS HET IS". MICROCHIP GEEFT GEEN ENKELE VERKLARING OF GARANTIE VAN WELKE AARD DAN OOK, EXPLICIET OF IMPLICIET, SCHRIFTELIJK OF MONDELING, WETTELIJK OF ANDERSZINS, MET BETREKKING TOT DE INFORMATIE, INCLUSIEF MAAR NIET BEPERKT TOT ENIGE IMPLICIETE GARANTIES VAN NIET-INBREUK, VERKOOPBAARHEID EN GESCHIKTHEID VOOR EEN BEPAALD DOEL, OF GARANTIES MET BETREKKING TOT DE STAAT, KWALITEIT OF PRESTATIES ERVAN.
MICROCHIP IS IN GEEN GEVAL AANSPRAKELIJK VOOR ENIGE INDIRECTE, SPECIALE, PUNITIEVE, INCIDENTELE OF GEVOLGSCHADE, KOSTEN OF UITGAVEN VAN WELKE AARD DAN OOK IN VERBAND MET DE INFORMATIE OF HET GEBRUIK ERVAN, ONGEACHT DE OORZAAK, ZELFS ALS MICROCHIP OP DE HOOGTE IS GESTELD VAN DE MOGELIJKHEID OF ALS DE SCHADE VOORZIENBAAR IS. VOOR ZOVER TOEGESTAAN DOOR DE WET, ZAL DE TOTALE AANSPRAKELIJKHEID VAN MICROCHIP VOOR ALLE CLAIMS DIE OP ENIGERLEI WIJZE GERELATEERD ZIJN AAN DE INFORMATIE OF HET GEBRUIK ERVAN, HET BEDRAG VAN DE EVENTUELE KOSTEN DIE U RECHTSTREEKS AAN MICROCHIP HEBT BETAALD VOOR DE INFORMATIE, NIET OVERSCHRIJDEN.
Het gebruik van Microchip-apparaten in levensondersteunings- en/of veiligheidstoepassingen is geheel voor eigen risico van de koper, en de koper stemt ermee in Microchip te verdedigen, schadeloos te stellen en te vrijwaren van alle schade, claims, rechtszaken of kosten die voortvloeien uit dergelijk gebruik. Er worden geen licenties, impliciet of anderszins, overgedragen onder de intellectuele eigendomsrechten van Microchip, tenzij anders vermeld.
Handelsmerken
De naam en het logo van Microchip, het Microchip-logo, Adaptec, AVR, AVR-logo, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, Microsemi-logo, MOST, MOST-logo, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32-logo, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST-logo, SuperFlash, Symmetricom , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron en XMEGA zijn gedeponeerde handelsmerken van Microchip Technology Incorporated in de VS en andere landen.
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, ProASIC Plus-logo, Quiet-Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime en ZL zijn gedeponeerde handelsmerken van Microchip Technology Incorporated in de VS.
Aangrenzende sleutelonderdrukking, AKS, analoog-voor-het-digitale tijdperk, elke condensator, 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, In-Circuit seriële programmering, ICSP, INICnet, Intelligent Paralleling, IntelliMOS, Inter-Chip Connectivity, JitterBlocker, Knob-on-Display, KoD, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB-gecertificeerd logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Alwetende codegeneratie, PICDEM, PICDEM.net, PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX , RTG4, SAM-
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 35
CoreFFT v8.0
ICE, Seriële 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 en ZENA zijn handelsmerken van Microchip Technology Incorporated in de VS en andere landen. SQTP is een servicemerk van Microchip Technology Incorporated in de VS. Het Adaptec-logo, Frequency on Demand, Silicon Storage Technology en Symmcom zijn geregistreerde handelsmerken van Microchip Technology Inc. in andere landen. GestIC is een geregistreerd handelsmerk van Microchip Technology Germany II GmbH & Co. KG, een dochteronderneming van Microchip Technology Inc., in andere landen. Alle andere hierin genoemde handelsmerken zijn eigendom van hun respectieve bedrijven. © 2022, Microchip Technology Incorporated en haar dochterondernemingen. Alle rechten voorbehouden. ISBN: 978-1-6683-1058-8
Kwaliteitsmanagementsysteem
Ga voor informatie over de kwaliteitsmanagementsystemen van Microchip naar www.microchip.com/quality.
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 36
AMERIKA'S
Bedrijfskantoor 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Fax: 480-792-7277 Technische ondersteuning: www.microchip.com/support Web Adres: www.microchip.com Atlanta Duluth, GA Tel: 678-957-9614 Fax: 678-957-1455 Austin, Texas Tel: 512-257-3370 Boston Westborough, Massachusetts Tel: 774-760-0087 Fax: 774-760-0088 Chicago Itasca, IL Tel: 630-285-0071 Fax: 630-285-0075 Dallas Addison, Texas Tel: 972-818-7423 Fax: 972-818-2924 Detroit Novi, MI Tel: 248-848-4000 Houston, Texas Tel: 281-894-5983 Indianapolis Noblesville, IN Tel: 317-773-8323 Fax: 317-773-5453 Telefoon: 317-536-2380 Los Angeles Mission Viejo, CA Tel: 949-462-9523 Fax: 949-462-9608 Telefoon: 951-273-7800 Raleigh, NC Tel: 919-844-7510 New York, NYTel: 631-435-6000 San Jose, CA Tel: 408-735-9110 Telefoon: 408-436-4270 Canada – Toronto Tel: 905-695-1980 Fax: 905-695-2078
Wereldwijde verkoop en service
AZIË/PACIFIC
Australië – Sydney Tel: 61-2-9868-6733 China – Beijing Tel: 86-10-8569-7000 China – Chengdu Tel: 86-28-8665-5511 China – Chongqing Tel: 86-23-8980-9588 China – Dongguan Tel: 86-769-8702-9880 China – Guangzhou Tel: 86-20-8755-8029 China – Hangzhou Tel: 86-571-8792-8115 China – Hong Kong SAR Tel: 852-2943-5100 China – Nanjing Tel : 86-25-8473-2460 China – Qingdao Tel: 86-532-8502-7355 China – Shanghai Tel: 86-21-3326-8000 China – Shenyang Tel: 86-24-2334-2829 China – Shenzhen Tel: 86 -755-8864-2200 China – Suzhou Tel: 86-186-6233-1526 China – Wuhan Tel: 86-27-5980-5300 China – Xian Tel: 86-29-8833-7252 China – Xiamen Tel: 86-592 -2388138 China – Zhuhai Tel: 86-756-3210040
AZIË/PACIFIC
India – Bangalore Tel: 91-80-3090-4444 India – New Delhi Tel: 91-11-4160-8631 India – Pune Tel: 91-20-4121-0141 Japan – Osaka Tel: 81-6-6152-7160 Japan – Tokyo Tel: 81-3-6880-3770 Korea – Daegu Tel: 82-53-744-4301 Korea – Seoul Tel: 82-2-554-7200 Maleisië – Kuala Lumpur Tel: 60-3-7651-7906 Maleisië – Penang Tel: 60-4-227-8870 Filipijnen – Manilla Tel: 63-2-634-9065 Singapore Tel: 65-6334-8870 Taiwan – Hsin Chu Tel: 886-3-577-8366 Taiwan – Kaohsiung Tel: 886- 7-213-7830 Taiwan – Taipei Tel: 886-2-2508-8600 Thailand – Bangkok Tel: 66-2-694-1351 Vietnam – Ho Chi Minh Tel: 84-28-5448-2100
EUROPA
Oostenrijk – Wels Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 Denemarken – Kopenhagen Tel: 45-4485-5910 Fax: 45-4485-2829 Finland – Espoo Tel: 358-9-4520-820 Frankrijk – Parijs Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Duitsland – Garching Tel: 49-8931-9700 Duitsland – Haan Tel: 49-2129-3766400 Duitsland – Heilbronn Tel: 49-7131-72400 Duitsland – Karlsruhe Tel: 49-721-625370 Duitsland – München Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Duitsland – Rosenheim Tel: 49 -8031-354-560 Israël – Ra'anana Tel: 972-9-744-7705 Italië – Milaan Tel: 39-0331-742611 Fax: 39-0331-466781 Italië – Padua Tel: 39-049-7625286 Nederland – Drunen Tel: 31-416-690399 Fax: 31-416-690340 Noorwegen – Trondheim Tel: 47-72884388 Polen – Warschau Tel: 48-22-3325737 Roemenië – Boekarest Tel: 40-21-407-87-50 Spanje – Madrid Tel : 34-91-708-08-90 Fax: 34-91-708-08-91 Zweden – Göteborg Tel: 46-31-704-60-40 Zweden – Stockholm Tel: 46-8-5090-4654 VK – Wokingham Tel: 44-118-921-5800 Fax: 44-118-921-5820
© 2022 Microchip Technologie Inc.
en haar dochterondernemingen
Gebruikershandleiding
DS50003348C-pagina 37
Documenten / Bronnen
![]() |
MICROCHIP v8.0 CoreFFT Fourier-transformatie [pdf] Gebruikershandleiding v8.0 CoreFFT Fourier-transformatie, v8.0 CoreFFT, Fourier-transformatie, transformatie |