v8.0 CoreFFT Fourier Transform
CoreFFT v8.0
Specifikationer
- Transformeringsstørrelser, punkter: 32, 64, 128, 256, 512, 1024, 2048,
4096, 8192 og 16384. - In-Place FFT: Forlæns og omvendt FFT
- Streaming FFT: Fremadgående og omvendt FFT
- Input data bitbredde: To's komplement
- Twiddle faktor bitbredde: Naturlig output sample ordre
- Input/output dataformat: Betinget blok flydende komma
skalering - Foruddefineret skaleringsplan eller ingen skalering
- Valgfri minimale eller bufferlagrede hukommelseskonfigurationer
- Indlejret RAM-blok baseret twiddle-opslagstabel (LUT)
- Støtte til forfriskende twiddle LUT
- Håndtrykssignaler for at lette brugergrænsefladen
kredsløb - AXI4 Streaming interface: Nej
- Runtime fremad/invers transformationskonfiguration: Ja
Produktbrugsvejledning
In-Place FFT
In-Place FFT-implementeringen understøtter Radix-2
decimering-i-tid transformation. Følg disse for at bruge In-Place FFT
trin:
- Initialiser inputsekvensen X(0), X(1),..., X(N-1).
- Konfigurer transformationsstørrelsen og punktet.
- Udfør den fremadgående eller omvendte FFT-operation efter behov.
- Hent de transformerede data fra outputsekvensen.
Streamer FFT
Streaming FFT-implementeringen understøtter Radix-22
decimering-i-frekvens transformation. For at bruge Streaming FFT, følg
disse trin:
- Initialiser inputsekvensen X(0), X(1),..., X(N-1).
- Konfigurer transformationsstørrelsen og punktet.
- Udfør den fremadgående eller omvendte FFT-operation efter behov.
- Hent de transformerede data fra outputsekvensen.
FAQ
Q: Hvilke transformationsstørrelser understøttes?
A: CoreFFT understøtter transformationsstørrelser på 32, 64, 128, 256,
512, 1024, 2048, 4096, 8192 og 16384.
Q: Hvad er inputdataformatet?
A: Inputdataformatet er to's komplement.
Sp: Understøtter CoreFFT fremad og omvendt FFT
operationer?
A: Ja, CoreFFT understøtter både fremadgående og omvendt FFT
operationer.
CoreFFT v8.0
CoreFFT brugervejledning
Indledning
Fast Fourier-transformationen (FFT)-kernen implementerer den effektive Cooley-Turkey-algoritme til beregning af den diskrete Fourier-transformation. CoreFFT bruges i en bred vifte af applikationer såsom digital kommunikation, lyd, målinger, kontrol og biomedicin. CoreFFT giver meget parameteriserbar, arealeffektiv og højtydende MACC-baseret FFT. Kernen er tilgængelig som en Register Transfer Level (RTL) kode for transformationen i Verilog og VHDL sprog. Ligning 1.N-punkt fremad FFT (N er en potens af 2) af en sekvens x(0), x(1),…, x(N-1) hvor, k = 0, 1… N-1
Ligning 2.N-punkt invers FFT (N er en potens af 2) af en sekvens X(0), X(1),..., X(N-1) hvor, n = 0, 1... N-1
Vigtigt: Mens du udfører en invers FFT, anvender kernen ikke division med N af EQ 2 (da divisionen med en potens af to er triviel).
Den følgende figur illustrerer et FFT-baseret system, der består af en datakilde, FFT-modulet og en datasink, som er den transformerede datamodtager. Figur 1. FFT-baseret system Eksample
Funktioner
CoreFFT understøtter Radix-2 decimation-in-time in-place FFT og Radix-22 decimation-in-frekvens streaming FFT transformationsimplementeringer. Følgende tabel viser nøglefunktionerne for hver implementering.
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 1
CoreFFT v8.0
Tabel 1. Nøglefunktioner Support
Funktion Transform størrelser, punkter
På plads
Streaming
32, 64, 128, 256, 512, 1024, 2048, 16, 32, 64, 128, 256, 512, 1024,
4096, 8192 og 16384.
2048 og 4096
Bemærk: 16384-pt FFT understøttes på RTG4TM, PolarFire®,
og kun PolarFire SoC-dele.
Fremad og omvendt FFT
Ja
Input data bit bredde
8
Twiddle faktor bitbredde
8
Input/output dataformat
To's komplement
Naturligt output sample ordre
Ja
Betinget blok floating point
Ja
skalering
Foruddefineret skaleringsplan eller nej Ingen skalering
Valgfri minimal eller bufret hukommelse Ja-konfigurationer
Indlejret RAM-blok baseret twiddle Ja Opslagstabel (LUT)
Understøttelse af forfriskende twiddle LUT Ja
Handshake-signaler for at lette en nem Ja-grænseflade til brugerkredsløbet
AXI4 Streaming interface
Ingen
Run-time forward/invers transformation Ingen konfiguration
Ja 8 32 To-komplement Valgfrit nr
Ja
Ingen
Ja
Nej Ja
Ja Ja
Støttede familier
CoreFFT understøtter følgende FPGA-familier. · PolarFire® · PolarFire SoC · SmartFusion® 2 · IGLOO® 2 · RTG4TM
Enhedsudnyttelse og ydeevne
CoreFFT er blevet implementeret i SmartFusion2 M2S050-enheden ved hjælp af hastighedsgrad -1 og PolarFire MPF300 med hastighedsgrad -1. En oversigt over implementeringsdataene findes i 6. Bilag A: Anvendelse og ydeevne af FFT-enheder på stedet og 7. Bilag B: Anvendelse og ydeevne af streaming af FFT-enheder.
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 2
CoreFFT v8.0
Indholdsfortegnelse
Introduktion………………………………………………………………………………………………………………………………… ..1 Funktioner……………………………………………………………………………………………………………………………………………… …….. 1 støttede familier………………………………………………………………………………………………………………………………… 2 Enhedsudnyttelse og ydeevne………………………………………………………………………………………………….. 2
1. Funktionsbeskrivelse…………………………………………………………………………………………………………………………..4 1.1. Arkitektur muligheder………………………………………………………………………………………………………………4 1.2. In-Place FFT…………………………………………………………………………………………………………………………………4 1.3. In-Place Memory Buffers………………………………………………………………………………………………………………..5 1.4. Streaming af FFT……………………………………………………………………………………………………………………………….. 7
2. Grænseflade……………………………………………………………………………………………………………………………………………… … 12 2.1. In-Place FFT……………………………………………………………………………………………………………………………….12 2.2. Streaming FFT……………………………………………………………………………………………………………………………… 14
3. Tidsdiagrammer……………………………………………………………………………………………………………………………….. 20 3.1. In-Place FFT……………………………………………………………………………………………………………………………….20 3.2. Streaming FFT……………………………………………………………………………………………………………………………… 21
4. Værktøjsflow……………………………………………………………………………………………………………………………………………… ….. 23 4.1. Licens……………………………………………………………………………………………………………………………………… 23 4.2. Konfiguration af CoreFFT i SmartDesign…………………………………………………………………………………………. 23 4.3. Simuleringsflow………………………………………………………………………………………………………………… 24 4.4. Designbegrænsninger……………………………………………………………………………………………………………… 25 4.5. Syntese i Libero SoC………………………………………………………………………………………………………. 25 4.6. Place-and-Route i Libero SoC…………………………………………………………………………………………………..25
5. Systemintegration……………………………………………………………………………………………………………………………….. 26 5.1 . In-Place FFT……………………………………………………………………………………………………………………………….26 5.2. Streaming FFT……………………………………………………………………………………………………………………………… 26
6. Appendiks A: Anvendelse og ydeevne af FFT-enheder på stedet…………………………………………………………28
7. Appendiks B: Streaming FFT-enhedsudnyttelse og ydeevne………………………………………………………………30
8. Revisionshistorik………………………………………………………………………………………………………………………………… 32
Mikrochip FPGA-understøttelse………………………………………………………………………………………………………………………………………34
Mikrochipoplysninger……………………………………………………………………………………………………………………………….. 34 Mikrochippen Webwebsted…………………………………………………………………………………………………………………………..34 Produktændringsmeddelelsesservice…… …………………………………………………………………………………………. 34 Kundesupport……………………………………………………………………………………………………………………………… 34 Mikrochip-enhederskode Beskyttelsesfunktion…………………………………………………………………………………………..34 Juridisk meddelelse……………………………………………… ………………………………………………………………………………………………… 35 Varemærker……………………………………………… ………………………………………………………………………………………. 35 Kvalitetsstyringssystem………………………………………………………………………………………………………………. 36 Verdensomspændende salg og service………………………………………………………………………………………………………….37
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 3
CoreFFT v8.0
Funktionsbeskrivelse
1. Funktionsbeskrivelse
Dette afsnit beskriver den funktionelle beskrivelse af CoreFFT.
1.1 Arkitektur muligheder
Afhængigt af brugerkonfigurationen genererer CoreFFT en af følgende transformationsimplementeringer: · In-place FFT · Streaming FFT
1.2 In-Place FFT
Arkitekturindstillingen indlæser en ramme med N komplekse dataampfiler i dets in-place RAM og behandler dem sekventielt ved hjælp af en enkelt Radix-2-processor. Den gemmer resultaterne af hver stage i den in-place RAM. Den in-place FFT tager færre chipressourcer end den streaming FFT, men transformationstiden er længere. Den følgende figur viser et funktionelt diagram af in-ilace-transformationen. Figur 1-1. In-Place Radix-2 FFT funktionelt blokdiagram (minimal konfiguration)
Input- og outputdataene er repræsenteret som 2 * WIDTH-bit ord bestående af reelle og imaginære dele. Begge dele er tos komplementantal af WIDTH bit hver. Modulet behandler rammer (bursts) af data med en rammestørrelse på N komplekse ord. Den ramme, der skal behandles, indlæses i in-place hukommelsen. Hukommelsen indeholder to identiske RAM-blokke, som hver er i stand til at lagre N/2 komplekse ord. Den in-place hukommelse understøtter dobbelt båndbredde. Den kan læse og skrive to komplekse ord på samme tid. Når de N komplekse data erampfiler indlæses i hukommelsen, FFT-beregningen starter automatisk, og in-place hukommelsen bruges til beregningerne.
Den in-place FFT-beregningsproces foregår i en sekvens af stages med antallet af stager lig med log2N. Ved hver stagI FFT-databehandlingen læser Radix-2-sommerfuglen alle de data, der er gemt i in-place-hukommelsen, to komplekse ord ad gangen. Læsekontakten sammen med en læseadressegenerator (ikke vist i figur 1-1) hjælper sommerfuglen med at opnå lagrede data i den rækkefølge, som FFT-algoritmen kræver. Ud over dataene opnår sommerfuglen twiddle-faktorer (sinus/cosinus-koefficienter) fra twiddle-LUT. Sommerfuglen skriver mellemresultater til hukommelsen på stedet gennem skrivekontakten.
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 4
CoreFFT v8.0
Funktionsbeskrivelse
Efter de sidste beregnings-stage, in-place hukommelsen gemmer de fuldt transformerede data. Modulet udsender en N-ord transformeret dataramme, et ord ad gangen, forudsat at signalet READ_OUTP er aktivt. CoreFFT beregner twiddle-faktorerne, der kræves af FFT-algoritmen og skriver dem til twiddle-LUT. Dette sker automatisk ved opstart, når asynkron global nulstilling NGRST hævdes.
1.3
1.3.1
In-Place Memory Buffere
Dette afsnit beskriver In-Place Memory Buffere af CoreFFT.
Minimal konfiguration Den minimale konfiguration, som vist i figur 1-1, er tilstrækkelig til at udføre FFT, fordi den har den in-place RAM, som kræves af FFT-algoritmen. Men den minimale konfiguration udnytter ikke behandlingsmotoren hele tiden. Tværtimod, når data indlæses i stedets hukommelse, eller de transformerede data udlæses, forbliver sommerfuglen inaktiv. Følgende figur viser FFT-cyklussens tidslinje. Cyklussen består af følgende tre faser:
· Download en ny inputdataramme i den in-place RAM · Udfør den faktiske transformation · Upload transformationsresultatet for at frigøre den in-lace RAM
Figur 1-2. Minimal konfiguration på stedet FFT-cyklus
1.3.2
I den minimale konfiguration kører sommerfuglen kun under beregningsfasen. Når databursthastigheden tillader det, giver den minimale konfiguration den bedste enhedsressourceudnyttelse. Det sparer især et betydeligt antal RAM-blokke.
Bufret konfiguration For at forbedre sommerfugleudnyttelsen og dermed reducere den gennemsnitlige transformationstid, kan der bruges yderligere hukommelsesbuffere. Følgende figur viser det bufferede FFT-blokdiagram.
Figur 1-3. Bufret FFT-blokdiagram
Bufferindstillingen har to identiske in-place hukommelsesbanker, der implementerer en ping-pong buffer og en output buffer. Hver bank er i stand til at lagre N komplekse ord og læse to komplekse ord ad gangen. Kernetilstandsmaskinen styrer ping-pong-omskiftningen, så en datakilde kun ser en buffer, der er klar til at acceptere nye data. Bufferen, der ikke accepterer de nye data, bruges som en in-place RAM af FFT-motoren.
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 5
CoreFFT v8.0
Funktionsbeskrivelse
Ping-pong buffer-arkitekturen øger effektiviteten af FFT-motoren. Mens en af de to inputbanker er involveret i den aktuelle FFT-beregning, er den anden tilgængelig til at downloade den næste inputdataramme. Som følge heraf sidder FFT-motoren ikke inaktiv og venter på, at friske data fylder inputbufferen. Fra datakildeperspektivet kan kernen modtage en databurst hvor som helst inden for FFT-beregningsperioden. Når motoren er færdig med at behandle den aktuelle dataramme, og inputbufferbanken er blevet fyldt med en anden dataramme, skifter tilstandsmaskinen ping-pong-bankerne, og dataindlæsningen og beregningen fortsætter på de alternative hukommelsesbanker.
De sidste stage af FFT-beregningen bruger et out-of-place-skema. FFT-motoren læser mellemliggende data fra in-place-hukommelsen, men skriver det endelige resultat i outputdatabufferen. De endelige resultater forbliver i outputbufferen, indtil FFT-motoren erstatter dem med resultaterne af den næste dataramme. Fra datamodtagerens perspektiv er outputdataene tilgængelige til læsning til enhver tid, undtagen de sidste FFT stage.
Den bufferede konfigurations FFT-cyklus er vist i følgende figur.
Figur 1-4. Bufret konfiguration FFT-cyklusser
1.3.3
Betragtninger af endelig ordlængde Ved hvert stagI den in-place FFT-algoritme tager sommerfuglen to sekunderamples ud af in-place hukommelsen og returnerer to behandlede sampfiler til de samme hukommelsesplaceringer. Sommerfugleberegningen involverer kompleks multiplikation, addition og subtraktion. Den tilbagevendende samples kan have en større databredde end samples plukket fra hukommelsen. Der skal tages forholdsregler for at sikre, at der ikke er dataoverløb.
For at undgå risiko for overløb anvender kernen en af følgende tre metoder:
· Skalering af inputdata · Ubetinget blok med flydende komma skalering · Betinget blok flydende kommaskalering
Skalering af inputdata: Skalering af inputdata kræver forudgående afventning af inputdataamples med nok ekstra tegnbits, kaldet guard bits. Antallet af beskyttelsesbit, der er nødvendigt for at kompensere for den maksimalt mulige bitvækst for en N-punkts FFT, er log2N + 1. F.eks.ample, hver input sample af en 256-punkts FFT skal indeholde ni guard bits. En sådan teknik reducerer i høj grad den effektive FFT bit-opløsning.
Ubetinget blok Floating-Point-skalering: Den anden måde at kompensere for FFT-bitvæksten på er at nedskalere dataene med en faktor på to for hvert s.tage. Som følge heraf nedskaleres de endelige FFT-resultater med en faktor 1/N. Denne tilgang kaldes ubetinget blokskalering med flydende komma.
Inputdataene skal nedskaleres med en faktor to for at forhindre overløb ved de første stage. For at forhindre overløb i successive stages, kernen nedskalerer resultaterne af alle tidligere stage med faktoren to ved at flytte hele datablokken (alle resultater af den aktuelle stage) et stykke til højre. Det samlede antal bit, som dataene mister på grund af bitforskydningen i FFT-beregningen, er log2N.
Den ubetingede blok med flydende komma resulterer i det samme antal tabte bits som i inputdataskaleringen. Det giver dog mere præcise resultater, da FFT-motoren starter med mere præcise inputdata.
Betinget blok flydende punktskalering: I den betingede blok flydende punktskalering flyttes data kun, hvis bitvækst rent faktisk forekommer. Hvis en eller flere sommerfugle-output vokser, flyttes hele datablokken til højre. Den betingede blok-floating-point-monitor kontrollerer hver sommerfugl-output for vækst. Hvis det er nødvendigt at skifte, er det det
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 6
CoreFFT v8.0
Funktionsbeskrivelse
udført efter hele stage er færdig, ved indgangen af de næste stage sommerfugl. Denne teknik giver den mindste mængde forvrængning (kvantiseringsstøj) forårsaget af endelig ordlængde.
I tilstanden Conditional Block Floating-Point kan kernen valgfrit beregne den faktiske skaleringsfaktor. Det gør den, hvis parameteren SCALE_EXP_ON er sat til at være 1. Så vises den beregnede faktiske faktor på SCALE_EXP-porten. Faktoren repræsenterer antallet af højreskift, som FFT-motoren anvendte på resultaterne. F.eksample, SCALE_EXP-værdien på 4 (100) betyder, at FFT-resultaterne blev forskudt til højre (nedskaleret) med 4 bit; det vil sige divideret med 2SCALE_EXP = 16. Signalet ledsager FFT-resultaterne og er gyldigt, mens OUTP_READY hævdes. For at nedskalere de faktiske CoreFFT-resultater, det vil sige at gøre dem sammenlignelige med floating-point transformerede bins, skal hver FFT-output sample skal ganges med 2SCALE_EXP:
· FFT-resultat (rigtigt) = DATAO_RE*2SCALE_EXP · FFT-resultat (imaginært) = DATAO_IM*2SCALE_EXP
Vigtigt: Skalaeksponentberegneren kan kun aktiveres i tilstanden betinget blok med flydende komma.
1.3.4
CoreFFT er som standard konfigureret til at anvende den betingede blok med flydende kommaskalering. I betinget blok Floating-Point-tilstand kontrolleres inputdataene og nedskaleres med en faktor på to, hvis det er nødvendigt, før de første s.tage.
Transformationstid FFT-beregningen tager (N/2 + L) x log2N + 2 clock-cyklusser, hvor L er en implementeringsspecifik parameter, der repræsenterer den samlede latens for en hukommelsesbank, switches og sommerfuglen. L afhænger ikke af transformationsstørrelse N. Det afhænger kun af FFT-bitopløsningen. L er lig med 10 ved bitopløsninger på 8 til 18, og L er lig med 16 ved bitopløsninger på 19 til 32. F.eks.ample,
· For en 256-punkts 16-bit FFT
Beregningstid = (256/2 + 10) x log2256 + 2 = 1106 klokperioder.
· For en 4096-punkts 24-bit FFT
Beregningstid = (4096/2 + 16) x log24096 + 2 = 24770 klokperioder.
1.3.5
Hukommelsesimplementering Kernen bruger hårde RAM-blokke til at implementere in-place hukommelsen, andre hukommelsesbuffere og en twiddle LUT. FPGA'erne bærer to hårde RAM-typer: store SRAM (LSRAM) og mikro-RAM'er. Hukommelsesimplementeringen kan styres ved at indstille parameteren URAM_MAXDEPTH. CoreFFT bruger mikro-RAM'er, hvis den nødvendige dybde ikke overstiger parameterværdien. F.eksample, URAM_MAXDEPTH-parameteren sat til 64, bruger mikro-RAM'er i enhver FFT-størrelse op til 128 punkter, da den nødvendige dybde er POINTS/2. Ved at sætte parameterværdien til 0 forhindres kernen i overhovedet at bruge mikro-RAM'erne, så de kan bruges andre steder.
Parameteren URAM_MAXDEPTH er tilgængelig via kernebrugergrænsefladen.
1.4 Streaming FFT
Streaming FFT understøtter kontinuerlig kompleks databehandling, en kompleks inputdataample pr. urperiode. Streaming-arkitekturen har så mange Radix-22-processorer, RAM-blokke og LUT'er, som det er nødvendigt for at understøtte streaming-datatransformation. Følgende figur viser et funktionelt diagram af 256-punkts streamingtransformationen.
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 7
Figur 1-5. Streaming Radix-22 256-pt FFT funktionelt blokdiagram
CoreFFT v8.0
Funktionsbeskrivelse
Input- og outputdataene er repræsenteret som (2 x DATA_BITS)-bit-ord bestående af reelle og imaginære dele. Begge dele er tos komplementære antal af DATA_BITS bit hver. Modulet behandler rammer af data med en rammestørrelse svarende til transformationsstørrelsen af N komplekse ord. Rammen, der skal behandles, kommer til x(n)-inputtet som en sekvens af de komplekse dataord, et (2 x DATA_BITS)-bit ord pr. klokinterval. Den næste frame kan starte umiddelbart efter det sidste dataord i en aktuel frame eller på et hvilket som helst tidspunkt senere.
Følgende figur viser en eksample af ramme i+1 umiddelbart efter ramme i, og rammen i+2 kommer efter et vilkårligt mellemrum. Indgangsdataene samples inden for en ramme skal komme ved hvert clock-interval, således en ramme, der varer nøjagtigt N clock-intervaller. Der er en betydelig latenstid forbundet med streamingalgoritmen. Outputdatarammerne vises i samme rækkefølge, takthastighed og med de samme mellemrum (hvis nogen) mellem outputframes som dem mellem inputframes.
Figur 1-6. Streaming af FFT-inputdatarammer
1.4.1 1.4.2
Antallet af FFT sommerfugle er lig med log2(N), således hver stage bliver behandlet af en separat sommerfugl. Som følge heraf er alle stages behandles parallelt.
CoreFFT beregner de twiddle-faktorer, der kræves af FFT-algoritmen. Ved opstart uploader kernen automatisk twiddle-faktorerne i on-chip RAM'er, der bliver twiddle-LUT'erne. Brugerhandling er ikke nødvendig for at få det til at ske. Når uploaden er fuldført, aktiverer kernen RFS-signalet, så en datakilde ved, at kernen er klar til at starte FFT-behandling. LUT-indholdet kan til enhver tid opdateres ved at udsende et signal på én ur, REFRESH.
Streaming FFT-latens Streaming-FFT-latensen er primært defineret af transformationsstørrelsen, N. Implementeringen tilføjer et antal pipeline-forsinkelser, der afhænger af FFT-størrelsen og datastiens bitbredde. Med andre ord er FFT-resultaterne forsinket med hensyn til inputdataene med ikke mindre end N dataintervaller for de bit-reverserede output. Den bestilte output latency er omkring to gange større.
Streaming FFT-hukommelsesimplementering På samme måde som in-place-arkitekturen bruger streaming-FFT hårde RAM-blokke til at implementere de nødvendige hukommelser, LUT'er og forsinkelseslinjer. Hukommelsesimplementeringen kan styres ved at indstille parameteren URAM_MAXDEPTH. CoreFFT bruger mikro-RAM'er, hvis hukommelsens dybde ikke overstiger parameterværdien. F.eksample, URAM_MAXDEPTH-parameteren, sat til 128, bruger mikro-RAM'er til at skabe minder med en dybde på 128 og mindre. Ved at sætte parameterværdien til 0 forhindrer du kernen i overhovedet at bruge mikro-RAM'erne, så de kan bruges andre steder.
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 8
CoreFFT v8.0
Funktionsbeskrivelse
1.4.3
Streaming af FFT-outputdataordsrækkefølge Outputresultaterne opnået fra Radix-2 og Radix-22 FFT-algoritmerne er i omvendt bitrækkefølge.
Den in-place implementering udfører dog internt sampbestilling. Derfor sætter kernen resultaterne ud i en naturlig rækkefølge. Streaming FFT understøtter både bit-reverserede og naturlige outputordrer. Den bit-omvendte indstilling bruger færre chipressourcer og giver mindre latenstid.
1.4.4 1.4.4.1
Betragtninger til endelig ordlængde Dette afsnit beskriver overvejelserne om endelig ordlængde i CoreFFT.
Uskaleret og skaler planlægningstilstande
Sommerfugleberegningen involverer addition og subtraktion. Disse operationer kan få sommerfuglens databredde til at vokse fra input til output. Hver sommerfugl, BF2I eller BF2II (se figur 1-5), kan introducere en ekstra bit til databredden. Derudover kan multiplikationerne tilføje en bit til resultatet. Den samlede potentielle bitvækst = log2(N)+1 bit. Der skal tages forholdsregler for at sikre, at der ikke er dataoverløb.
For at undgå eller reducere risikoen for overløb anvender kernen en af to teknikker:
· Uskaleret tilstand bygger datasti bred nok til at imødekomme bitvæksten. Datastiens bredde vokser fra stage til stage fuldt ud at imødekomme algoritmens bitvækst, så dataoverløbet aldrig sker. Den reelle eller imaginære output-bitbredde er log2(N)+1 bit bredere end input-bit. Designet er helt sikkert fra overløbspunktet view.
· Konfigurerbar skalaplansteknik giver en bruger kontrol over nedskalering (trunkering af) ethvert mellemresultat, der kan forårsage overløb. Udgangsbitbredden er lig med inputbitbredden. Teknikken er kun overløbssikker, når skaleringsplanen matcher den faktiske bitvækst, hvilket ikke er let at opnå. Forsigtig tilgang til den konfigurerbare skalering fører ofte til ekstra nedskalering. Men hvis karakteren af det transformerede signal vides at være overløbssikker med nogle eller alle stagIdet man udelader den omfattende nedskalering, er teknikken gavnlig både ud fra et signal-til-støjforhold og chipressourceudnyttelse. Når den er konfigureret til skalaplansteknikken, genererer kernen et overløbsflag, hvis overløbet skete. Radix-22 sommerfuglen kan introducere 3-bit vækst: sommerfugle BF2I, BF2II og en multiplikator kan hver tilføje en smule. Men kun én multiplikation ud af alle FFT'ertages kan tilføje bit. Da det er ukendt på forhånd stage hvor multiplikatoren inducerer den ekstra bit, hvis nogen, forlænger FFT-motoren i den uskalerede tilstand datastien med den bit, der starter ved de første s.tage.
I skalaskemateknikken hver Radix-22 stage kan introducere 3-bit vækst. Datastien inden for stage vokser tilsvarende, det vil sige stage output er tre bit bredere end stage input. Motoren skærer de tre ekstra bits ud efter stagResultatet beregnes, det vil sige stagUdgangen afkortes med tre bit, før den går til næste stage. En sådan tilgang eliminerer behovet for at gætte sub-stage, hvor nedskalering skal anvendes.
Følgende tabel forklarer de tre bits, der bliver skåret ud i skalaplanlægningstilstanden afhængigt af 2-bit tidsplanværdien for et bestemt stage.
Tabel 1-1. Udskæring af tre ekstra bits i skalaplantilstand
Skalaplan for en given Radix-22 Stage
Bits the Core Cuts Out
00
Klip tre MSB'er ud
01
Klip to MSB'er ud og rund en LSB
10
Klip en MSB ud og rund to LSB'er
11
Runde tre LSB'er
FFT/IFFT i størrelserne 32, 128 eller 512, der ikke er en power-of-four, ud over Radix-22 sommerfugle, bruger en enkelt Radix-2 sommerfugl. Den ene gælder for den sidste behandlingtage og skærer en enkelt ekstra bid ud.
Kernen påkalder automatisk overløbsdetektion i skalaplanstilstand. Overløbsflaget (OVFLOW_FLAG) vises, så snart kernen registrerer det faktiske overløb. Flaget forbliver aktivt indtil slutningen af en outputramme, hvor overløbet detekteres.
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 9
CoreFFT v8.0
Funktionsbeskrivelse
1.4.4.2
Uskaleret tilstand Input Bit Width Begrænsninger Uskaleret tilstand begrænser de maksimale input sample bitbredde håndteres af kernen. Følgende tabel viser de maksimale bitbredder for hver FFT-størrelse.
Tabel 1-2. Streaming uskaleret FFT Max Input Data Bit Width
FFT størrelse 16
Maksimal inputbredde 32
32
30
64
30
128
28
256
28
512
26
1024
26
2048
24
4096
24
1.4.4.3
Indtastning af skalaplan Skalaplanen identificerer nedskaleringsfaktoren for hver streaming-FFTtage. Hver Radix-22 stage skaleringsfaktor styres af dedikerede to bits af skalaskemaet, og Radix-2 stage, der bruges i ikke-power-of-fire FFT'er, styres af en enkelt bit. Følgende figur viser et example af en skalaplanbrugergrænseflade til 1024-pt FFT. Et par afkrydsningsfelter svarer til en specifik Radix-22 stage og præsenterer to bits af nedskaleringsfaktoren. Den faktiske nedskaleringsfaktor ved en bestemt stage beregnes som 22*Bit1+Bit0 og tager en af følgende værdier: 1, 2, 4, 8. Afkrydsningsfelterne vist i følgende figur svarer til den binære skala-skemaværdi på 10 10 10 10 11. Denne værdi viser en konservativ skalaplan, der ikke forårsager overløbet.
Figur 1-7. Scale Schedule User Interface
Følgende tabel viser de konservative skalaskemaer for hver FFT-størrelse, der er fuldstændig overløbssikker.
Tabel 1-3. Konservative skalaskemaer for forskellige FFT-størrelser
FFT størrelse
Radix-22 Stage
5
4
3
2
1
0
4096
1
0
1
0
1
0
1
0
1
0
1
1
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 10
………..fortsat FFT Str
2048 1024 512 256 128 64 32 16
CoreFFT v8.0
Funktionsbeskrivelse
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 Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 11
CoreFFT v8.0
Interface
2. Interface
Dette afsnit beskriver grænsefladen for CoreFFT.
2.1
2.1.1
In-Place FFT
Dette afsnit beskriver In-Place FFT af CoreFFT.
Konfigurationsparametre CoreFFT har parametre (Verilog) eller generiske (VHDL) til konfiguration af RTL-koden. Følgende tabel beskriver parametrene og generiske stoffer. Alle parametre og generiske parametre er heltalstyper.
Tabel 2-1. In-Place CoreFFT parameterbeskrivelser
Parameter INVERS
Gyldigt område 0
Standard 0
Beskrivelse
0: Forlæns Fourier transformation 1: Invers Fourier transformation
SKALA
0
0
0: Betinget blokskalering med flydende komma
1: Ubetinget blok-floating point-skalering
For at anvende inputdataskaleringen skal du indstille SCALE-parameteren til 0 og sætte det korrekte antal guard-bits foran inputdataene. Så har det betingede blok flydende komma ingen effekt.
PUNKTER
BREDDE MEMBUF
32, 64, 128,
256
256, 512, 1024,
2048, 4096,
8192, 16384
8
18
0
0
Transformer størrelse. Bemærk: 16384-pt FFT understøttes kun på RTG4-, PolarFire- og PolarFire SoC-dele.
Data og twiddle faktor bitbredde
0: Minimal (ingen buffer) konfiguration 1: Bufret konfiguration
SCALE_EXP_ON
0
0
0: Opbygger ikke den betingede blok floating-point
eksponentberegner
1: Bygger lommeregneren
URAM_MAXDEPTH
0, 4, 8, 16, 32, 64, 128, 256, 512
Den største RAM-dybde, der skal implementeres med microRAM tilgængelig på SmartFusion2, IGLOO2, RTG4, PolarFire og PolarFire SoC delene. Når den nødvendige RAM-dybde for en brugervalgt transformationsstørrelse POINTS overstiger URAM_MAXDEPTH, bruges store LSRAM-blokke.
2.1.2
Porte Følgende tabel viser portsignalerne for CoreFFT-arkitekturen på stedet.
Tabel 2-2. In-Place CoreFFT-portbeskrivelser
Portnavn DATAI_IM
Ind/ud portbredde bits Beskrivelse
In
BREDDE
Imaginære inputdata, der skal transformeres
DATAI_RE
In
BREDDE
Reelle inputdata, der skal transformeres
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 12
CoreFFT v8.0
Interface
………..fortsatte
Port navn
Ind/Ud
DATAI_VALID Ind
Portbredde bits 1
Beskrivelse
Input kompleks ord valid Signalet ledsager gyldige input komplekse ord, der findes på input DATAI_IM, DATAI_RE. Når signalet er aktivt, indlæses det komplekse inputord i kernehukommelsen, forudsat at BUF_READY-signalet er blevet hævdet.
READ_OUTP Ind
1
Læs transformerede data Normalt udsender modulet FFT-resultater, når de er klar, i en enkelt burst af N komplekse ord. Den transformerede datamodtager kan indsætte vilkårlige pauser i burst ved at deassertere READ_OUTP signalet.
DATAO_IM
Ud
DATAO_RE
Ud
DATAO_VALID ude
BREDDE BREDDE 1
Imaginære outputdata
Reelle outputdata
Output komplekse ord valid Signalet ledsager gyldige output komplekse ord, der findes på DATAO_IM og DATAO_RE output.
BUF_READY ude
1
FFT accepterer friske data Kernen hævder signalet, når den er klar til at acceptere data. Signalet forbliver aktivt, indtil kernehukommelsen er fuld. Med andre ord forbliver signalet aktivt indtil POINTS komplekse input sampfiler er indlæst.
OUTP_READY Ude
1
FFT-resultater klar Kernen hævder signalet, når FFT-resultaterne er klar til at den transformerede datamodtager kan læse. Signalet forbliver aktivt, mens den transformerede dataramme læses. Normalt varer det i POINTS clock-intervaller, medmindre READ_OUTP-signalet er deasserted.
SCALE_EXP
Ud
gulv[log2 (Ceil(log2(PUNKT TS)))]+1
Betinget blok flydende-komma-skaleringseksponent Denne valgfri udgang kan aktiveres ved at indstille parameteren SCALE_EXP_ON. Udgangen kan kun aktiveres, når kernen er i betinget blok med flydende komma skaleringstilstand (parameteren SCALE = 0).
PONG CLK
Ud
1
In
1
Pong-banken i inputhukommelsesbufferen bruges af FFT-motoren som en fungerende in-place hukommelse. Dette valgfrie signal er kun gyldigt i bufferkonfigurationen.
Ur Stigende flanke aktiv Hoveduret
SLOWCLK
In
1
NGRST
In
1
Lavfrekvent clocksignal med stigende kant til twiddle LUT-initiering, det skal mindst divideres med otte gange CLK-frekvensen.
Asynkron nulstilling Active-Low
Vigtigt: Alle signaler er aktive-høje (logik 1), medmindre andet er angivet.
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 13
CoreFFT v8.0
Interface
2.2
2.2.1
Streamer FFT
Streaming FFT er tilgængelig med GUI-konfigurerbar native grænseflade eller AXI4 streaming-grænseflade.
Konfigurationsparametre CoreFFT har parametre (Verilog) eller generiske (VHDL) til konfiguration af RTL-koden. Følgende tabel beskriver disse parametre og generiske stoffer. Alle parametre og generiske parametre er heltalstyper.
Tabel 2-3. CoreFFT Streaming Architecture Parameterbeskrivelser
Parameternavn FFT_SIZE
Gyldigt område som standard
16, 32, 64, 128, 256 256, 512, 1024, 2048 og 4096
Beskrivelse
Transformer størrelsespunkter Kernen behandler frames af komplekse data med hver frame, der indeholder FFT_SIZE komplekse samples. De transformerede datarammer er af samme størrelse.
NATIV_AXI4
0 – 1
0
Interfacevalg af IP
· 0 – Native grænseflade
· 1 – AXI4 streaming interface
Den er kun tilgængelig til streamingarkitektur
SCALE_ON
0 – 1
1
1 – Aktiver konfigurerbar skalaplan
Når indstillingen er aktiveret, anvender kernen det konfigurerbare
skaleringsfaktor, SCALE_SCH efter hver sommerfugl.
0 – Uskaleret tilstand
SCALE_SCH
0
Skala tidsplan
Hvis parameteren SCALE_ON er lig med 1, bruges SCALE_SCH til
definere skaleringsfaktoren for hver behandlingtage.
DATA_BITS TWID_BITS ORDRE
8 - 32 8 - 32 0 - 1
18
Input data bitbredde af reelle eller imaginære dele.
18
Twiddle faktor bitbredde af dens reelle eller imaginære dele.
0
0: Outputdata i bit-omvendt rækkefølge
1: Outputdata i normal rækkefølge
URAM_MAXDEPTH 0, 4, 8, 16, 32, 0 64, 128, 256, 512
Den største RAM-dybde, der skal implementeres med mikro-RAM tilgængelig på SmartFusion2, IGLOO2, RTG4, PolarFire eller PolarFire SoC-delene. Når den nødvendige RAM-dybde for en brugervalgt transformationsstørrelse POINTS overstiger URAM_MAXDEPTH, bruges store LSRAM-blokke.
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 14
CoreFFT v8.0
Interface
………..fortsatte
Parameternavn
AXI4S_IN_DATA Bemærk: Forklarer 0'ernes polstring for reelle og imaginære inputdataamples når NATIV_AXI4 = 1
Gyldigt område 8,16,24,32
Standard 24
Beskrivelse
Det er internt genereret parameter, ikke tilgængelig for brugeren. Det bruges til at fortolke inputdataeneamples i form af byte-grænser for at lette AXI4-streaminggrænsefladen. AXI4S_IN_DATA størrelse defineret som følger:
1. Hvis DATA_BITS = 8 og derefter AXI4S_IN_DATA= 8, kræves der ingen polstring for inputdataamples
2. Hvis 8 < DATA_BITS < 16, så AXI4S_IN_DATA = 16, vil inputdataene sample skal være udfyldt med 16 (DATA_BITS) af 0'er ved MSB-position, både for reelle og imaginære dataamples før afsendelse
3. Hvis 16 < DATA_BITS < 24, så AXI4S_IN_DATA = 24, vil inputdataene sample skal være udfyldt med 24 (DATA_BITS) af 0'er ved MSB-position, både for reelle og imaginære dataamples før afsendelse
4. Hvis 24 < DATA_BITS < 32, så AXI4S_IN_DATA = 32, vil inputdataene sample skal være udfyldt med 32 (DATA_BITS) af 0'er ved MSB-position, både for reelle og imaginære dataamples før afsendelse
Bemærk: Padding skal starte fra MSB.
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 15
CoreFFT v8.0
Interface
………..fortsat Parameternavn
Gyldigt interval
AXI4S_OUT_DATA 8,16,24,32, 40 Bemærk: Forklarer 0'ernes polstring for reelle og imaginære outputdataamples når NATIV_AXI4 = 1
Standard 24
Beskrivelse
Det er internt genereret parameter, ikke tilgængelig for brugeren. Det bruges til at fortolke outputdataeneamples i form af byte-grænser for at lette AXI4-streaminggrænsefladen. AXI4S_OUT_DATA størrelse defineret som følger:
Når SCALE_ON = 0, så output sampfilstørrelsen er STREAM_DATAO_BITS = DATA_BITS+loft_log2 (FFT_SIZE) + 1
Når SCALE_ON = 1, så output sampfilstørrelsen er STREAM_DATAO_BITS = DATA_BITS
1. Hvis STREAM_DATAO_BITS = 8 så AXI4S_OUT_DATA = 8, tilføjes der ingen polstring for outputdata samples
2. Hvis 8 < STREAM_DATAO_BITS < 16, så AXI4S_OUT_DATA= 16, vil outputdataene sampfiler er polstret med 16 – (STREAM_DATAO_BITS) af 0'er ved MSB-position, både for rigtige og imaginære dataamples før indramning
3. Hvis 16 < STREAM_DATAO_BITS < 24, så er AXI4S_OUT_DATA = 24, udgangsdataene sampfiler er polstret med 24 – (STREAM_DATAO_BITS) af 0'er ved MSB-position, både for rigtige og imaginære dataamples før indramning
4. Hvis 24 < STREAM_DATAO_BITS < 32, så er AXI4S_OUT_DATA = 32, udgangsdataene sampfiler er polstret med 32-(STREAM_DATAO_BITS) af 0'er ved MSB-position, både for rigtige og imaginære dataamples før indramning
5. Hvis 32 < STREAM_DATAO_BITS < 40, så er AXI4S_OUT_DATA = 40, udgangsdataene sampfiler er polstret med 40 – (STREAM_DATAO_BITS) af 0'er ved MSB-position, både for rigtige og imaginære dataamples før indramning
Bemærk: Padding skal starte fra MSB.
2.2.2
Porte Følgende tabel beskriver portsignalerne for Streaming CoreFFT-makroen.
Tabel 2-4. Streaming FFT I/O-signalbeskrivelser
Portnavn CLK SLOWCLK
CLKEN
Ind/Ud Ind Ind
In
Portbredde, bits Beskrivelse
1
Stigende ursignal
1
Lavfrekvent clocksignal med stigende kant til twiddle LUT
initialisering, skal den mindst divideres med fire gange CLK
frekvens.
1
Valgfrit uraktiveringssignal
Efter deaktivering af signalet stopper kernen med at generere gyldig
resultater
NGRST
In
1
RST
In
1
Porte tilgængelige, når NATIV_AXI4 = 1
Asynkront nulstillingssignal aktiv-lav. Valgfrit synkront nulstillingssignal aktiv-høj.
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 16
CoreFFT v8.0
Interface
………..fortsatte
Port navn
Ind/Ud
AXI4_S_DATAI_ I TVALID
AXI4_S_DATAI_ Ude TREADY
AXI4_S_TDATAI Ind
AXI4_S_TLASTI Ind
AXI4_M_DATAO Ud _TVALID
AXI4_M_DATAO I _TREADY
AXI4_M_TDATA Out O
AXI4_M_TLAST Ud O
AXI4_S_CONFIG I I_TVALID
AXI4_S_
Ud
CONFIGI
_TREADY
AXI4_S_CONFIG I I
AXI4_M_CONFI Ud GO_TVALID
AXI4_M_CONFI I GO _TREADY
Portbredde, bits Beskrivelse
1
AXI4 Stream data gyldigt input til kernen fra ekstern kilde
angiver tilgængeligheden af data. Det fungerer som START af kernen.
Bemærk: Læs START-portbeskrivelsen for at få flere oplysninger.
1
AXI4 Stream data klar til den eksterne kilde
Indikerer kernernes parathed til at acceptere dataene
(2 *
AXI4 Stream datainput fra kilden til kernen.
AXI4S_IN_DATA) Indeholder rigtige data (DATAI_RE) polstret med 0'er og imaginære
(DATAI_IM) data polstret med 0'er tilsvarende.
1
Indikerer transmissionen af de sidste dataample fra eksterne
kilde.
1
AXI4 Stream data gyldigt output til modtageren indikerer, at kernen er klar
at sende transformerede data. Det fungerer som DATAO_VALID af kernen.
Bemærk: Læs DATAO_VALID portbeskrivelse for mere
information.
1
AXI4 Stream data klar fra modtageren
Angiv den eksterne modtagers parathed
Det skal altid være 1 for kernefunktionalitet
(2 * AXI4S_OUT_DA TA)
AXI4 Stream data ud til modtageren.
Indeholder transformerede reelle data (DATAO_RE) polstret med 0'er og imaginære data (DATAO_IM) polstret med 0'er tilsvarende.
1
Angiver transmissionen af sidst transformerede dataample fra
IP
1
Gyldig input til kernen fra ekstern kilde
Angiver tilgængeligheden af konfigurationsdata
1
Klar til den eksterne kilde for at indikere kerner parathed af
accept af konfigurationsdata.
8
Konfigurationsdata input fra kilden til kernen og kilden
skal konfigurere IP'en, før dataene overføresamples. Det
indeholder følgende konfigurationsoplysninger:
· Bit0 – INVERS (Når biten er høj, beregner kernen invers FFT af følgende dataramme, ellers Fremad FFT)
· Bit1 – REFRESH (Genindlæs twiddle-koefficient-LUT'erne i de tilsvarende RAM-blokke)
1
Statusdata gyldigt output til modtager
Angiv, at kerne er klar til at sende transformerede data
1
Statusdata klar fra modtager
Indikerer den eksterne modtagers parathed.
Det skal altid være 1 for kernefunktionalitet.
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 17
CoreFFT v8.0
Interface
………..fortsatte
Port navn
Ind/Ud
AXI4_M_CONFI Ud GO
Portbredde, bits Beskrivelse
8
Statusdata ud til modtager
Den indeholder følgende statusoplysninger:
Bit0 – OVFLOW_FLAG (Aritmetisk overløbsflag, CoreFFT hævder flaget, hvis FFT/IFFT-beregningen løber over. Flaget starter, så snart kernen registrerer overløb. Flaget slutter, når den aktuelle outputdataramme slutter)
Porte tilgængelige, når NATIV_AXI4=0
DATAI_IM
In
DATA_BITS
DATAI_RE
In
DATA_BITS
STARTE
In
1
Imaginære inputdata, der skal transformeres.
Reelle inputdata, der skal transformeres.
Transformations startsignal
Betegner øjeblikket det første sample af en inputdataramme på N komplekse samples kommer ind i kernen.
Hvis START kommer, når den forrige inputdataramme ikke er fuldført, skal signalet ignoreres.
INVERS
In
1
Invers transformation Når signalet hævdes, beregner kernen invers FFT af den følgende dataramme, ellers fremad FFT.
OPFRISKE
In
DATAO_IM
Ud
DATAO_RE
Ud
OUTP_READY Ude
1
DATA_BITS DATA_BITS 1
Genindlæser twiddle-koefficient-LUT'erne i de tilsvarende RAM-blokke.
Imaginære outputdata
Reelle outputdata
FFT-resultater er klar Kernen hævder signalet, når den er ved at udsende en ramme med N FFT'ede data. Signalets bredde er et clock-interval.
DATAO_VALID ude
1
Udgangsrammen er gyldig
Følger med en gyldig outputdataramme. Når først det er startet, varer signalet N clock-cyklusser.
Hvis inputdataene kommer kontinuerligt uden mellemrum mellem frames, vil DATAO_VALID, når den er startet, vare på ubestemt tid.
OVFLOW_FLAG ude
1
Aritmetisk overløbsflag CoreFFT hævder flaget, hvis FFT/IFFT-beregningen løber over. Flaget starter, så snart kernen registrerer overløb. Flaget slutter, når den aktuelle outputdataramme slutter.
RFS
Ud
1
Anmodning om start Kernen hævder signalet, når den er klar til næste inputdataramme. Signalet starter, så snart kernen er klar til næste billede. Signalet slutter, når kernen får det ønskede START-signal.
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 18
CoreFFT v8.0
Interface
Vigtigt: Alle signaler er aktive-høje (logik 1), medmindre andet er angivet.
2.2.3
Input/output datarammeformat for AXI4 Streaming Interface Når AXI4 Streaming interface er valgt, er input og output dataframes tilgængelige som kaskadede reelle og imaginære data, dataeneampfiler er først polstret med nuller for at matche byte-grænser for at lette AXI4-streaming.
F.eksample, DATA_BITS på 26, nærmeste byte-grænse er 32, så det er nødvendigt at tilføje seks 0'er for reelle og imaginære dataamples før kaskade til ramme AXI4 streaming I/O DATA
Tabel 2-5. AXI4 Streaming Interface I/O Datarammeformat
Bits: 63…58 0'er polstring
Bits: 57…32 imaginære data
Bits: 31..26 0'er polstring
Bits: 25…0 rigtige data
Tip: Se AXI4S_IN_DATA og AXI4S_OUT_DATA parameterbeskrivelse for nulpolstring i Tabel 2-3.
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 19
CoreFFT v8.0
Tidsdiagrammer
3. Tidsdiagrammer
Dette afsnit beskriver timingdiagrammet for CoreFFT.
3.1 In-Place FFT
Når den på plads FFT hævder BUF_READY-signalet, begynder en datakilde at levere dataeneamples, der skal transformeres. Imaginære og reelle halvdele af inputdataeneample skal leveres samtidigt og ledsaget af gyldighedsbitten DATAI_VALID. Datakilden kan levere sample ved hver clock-cyklus eller med en vilkårlig langsommere hastighed (se figur 3-1). Når først FFT-modulet modtager N-input samples, sænker det BUF_READY-signalet. FFT-motoren begynder automatisk at behandle dataene, når den er klar. I den minimale hukommelseskonfiguration starter behandlingsfasen umiddelbart efter, at dataindlæsningen er fuldført. I bufferkonfigurationen kan FFT-motoren vente, indtil den forrige databurst er behandlet. Derefter starter motoren automatisk. Følgende figur viser indlæsningen af inputdata. Figur 3-1. Indlæser inputdata
Efter at have gennemført transformationen, bekræfter FFT-modulet OUTP_READY-signalet og begynder at generere FFT-resultaterne. De imaginære og reelle halvdele af output sampfiler vises samtidigt på DATAO_IM og DATAO_RE multibit output. Hver udgang sample er ledsaget af DATAO_VALID bit. Datamodtageren accepterer de transformerede data enten ved hver clock-cyklus eller med en vilkårlig langsommere hastighed. FFT-modulet bliver ved med at levere dataoutput, mens READ_OUTP-signalet hævdes. For at styre output sampI hastigheden skal modtageren deaktivere READ_OUTP-signalet efter behov (som vist i den følgende figur). Følgende figur viser modtagelse af transformationsdata. Figur 3-2. Modtagelse af transformerede data
Når du bruger READ_OUTP-signalet til at kontrollere læsehastigheden, skal mulig FFT-cyklusvækst tages i betragtning. I den minimale hukommelseskonfiguration forlænger enhver forlængelse af læse- (upload-)tiden FFT-cyklussen, se figur 1-2. I den bufrede konfiguration vokser FFT-cyklussen, når den faktiske uploadtid overstiger det dedikerede interval vist i figur 1-3 som "Tilgængelig til aflæsning af resultater af cyklus i." Også i den bufrede konfiguration begynder outputbufferen at acceptere de friske FFT-resultater, selvom de ældre resultater ikke er blevet læst op, og overskriver dermed de ældre. I dette tilfælde annullerer kernen OUTP_READY- og DATAO_VALID-signalerne, når de ikke længere er gyldige.
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 20
CoreFFT v8.0
Tidsdiagrammer
3.2
3.2.1
Streamer FFT
For AXI4S-grænsefladen er driften af AXI4S-grænsefladeporte afbildet til den for native grænseflade. For én til én kortlægning, se tabel 2-4 i Porte af 2.2. Streamer FFT.
RFS og START Kernen genererer RFS-signalet for at lade en datakilde vide, at den er klar til næste frame af inputdataeneamples. Efter det er hævdet, forbliver RFS aktiv, indtil datakilden reagerer med START-signalet.
Når kernen får START, afkræfter den RFS-signalet og begynder at modtage inputdatarammen. Efter N clock-intervaller er datarammemodtagelsen fuldført, og RFS-signalet bliver aktivt igen. Følgende figur viser et example, når FFT-motoren venter på, at datakilden leverer START-signalet.
Figur 3-3. RFS venter på START
START-signalet har en permanent aktiv værdi, og kernen begynder at modtage endnu en inputramme lige efter slutningen af en tidligere ramme. Det er valgfrit for datakilden at holde øje med RFS-signalet. Den kan påstå START-signalet til enhver tid, og kernen begynder at acceptere en anden inputramme, så snart den kan. I situationen i figur 3-3 starter en ny rammebelastning umiddelbart efter START-signalet. Hvis START-signalet kommer, når en tidligere inputramme indlæses, venter kernen, indtil rammen slutter, og begynder derefter at indlæse en anden ramme. Følgende figur viser et andet example hvor inputdataene kommer uendeligt uden mellemrum mellem frames. Figur 3-4. Transformation af streamingdata
Den følgende figur viser, at START-signalet fører den faktiske inputramme med et clock-interval. Figur 3-5. START fører dataene
3.2.2
OUTP_READY og DATAO_VALID
Disse to signaler tjener til at underrette en datamodtager, når FFT-resultaterne er klar. OUTP_READY er en puls i hele uret. Kernen hævder, når outputdatarammen er ved at udskrive. Kernen hævder DATAO_VALID-signalet, mens den genererer outputrammen. DATAO_VALID-signalet følger OUTP_READY-signalet med et clock-interval. Den følgende figur viser timing-relationerne mellem de to signaler og den FFTed-dataramme.
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 21
Figur 3-6. Outputdata og Handshake-signaler
CoreFFT v8.0
Tidsdiagrammer
Følgende figur viser et scenarie, hvor DATAO_VALID-signalet er permanent aktivt, når streamingdataene ikke har mellemrum mellem frames.
Figur 3-7. Streaming af outputdata uden huller
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 22
CoreFFT v8.0
Værktøjsflow
4. Værktøjsflow
Dette afsnit beskriver værktøjsflowet i CoreFFT.
4.1-licens
CoreFFT er licenslåst.
4.2 Konfiguration af CoreFFT i SmartDesign
CoreFFT er tilgængelig til download i Libero® IP-kataloget via web depot. Når den er opført i kataloget, kan kernen instansieres ved hjælp af SmartDesign-flowet. For at vide, hvordan man opretter et SmartDesign-projekt, se SmartDesign-brugervejledningen. Efter konfiguration og generering af kerneinstansen kan den grundlæggende funktionalitet simuleres ved hjælp af testbænken, der leveres med CoreFFT. Testbench-parametrene justeres automatisk til CoreFFT-konfigurationen. CoreFFT kan instansieres som en komponent i et større design.
Vigtigt: CoreFFT er kompatibel med både Libero integreret designmiljø (IDE) og Libero SoC. Medmindre andet er angivet, bruger dette dokument navnet Libero til at identificere både Libero IDE og Libero SoC. Figur 4-1. SmartDesign CoreFFT Instance View
Kernen kan konfigureres ved hjælp af konfigurationen Graphical User Interface (GUI) i SmartDesign. En eksample af GUI'en til SmartFusion2-familien er vist i den følgende figur.
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 23
Figur 4-2. Konfiguration af CoreFFT i SmartDesign
CoreFFT v8.0
Værktøjsflow
4.3 Simuleringsflows
Brugertestbænken til CoreFFT er inkluderet i udgivelsen. For at gøre dette skal du udføre følgende trin: 1. For at køre brugertestbænken skal du indstille Design Root til CoreFFT-instansieringen i Libero SoC-designhierarkiruden. 2. Under Verify Pre-Synthesized Design i Libero SoC Design Flow-vinduet skal du højreklikke på Simuler og derefter vælge Åbn interaktivt. Dette påberåber ModelSim og kører automatisk simuleringen.
Vigtigt: Når du simulerer VHDL-versionen af kernen, vil du måske slippe af med IEEE.NUMERIC_STD-bibliotekets advarsler. For at gøre det skal du tilføje følgende to linjer til den automatisk genererede run.do file:
· sæt NumericStdNoWarnings -1 · sæt StdArithNoWarnings -1
4.3.1 4.3.1.1
Testbench Den forenede testbench, der bruges til at verificere og teste CoreFFT, kaldes brugertestbench.
User Testbench Den følgende figur viser blokdiagrammet for testbench. Den følgende ligning viser, hvordan den gyldne adfærdsmæssige FFT implementerer de endelige præcisionsberegninger vist i
x(k) = n= 0N-1X(n)e?jnk2?/N
Ligning 1 eller ligning 2 i introduktion, både den gyldne FFT og CoreFFT er konfigureret identisk og modtager det samme testsignal. Testbænken sammenligner udgangssignalerne fra det gyldne modul og den faktiske CoreFFT.
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 24
Figur 4-3. CoreFFT User Testbench
CoreFFT v8.0
Værktøjsflow
Testbænken giver examples om, hvordan man bruger det genererede FFT-modul. Testbænken kan modificeres i henhold til kravene.
4.4 Designbegrænsninger
Kernetiming behov undtagelser (det vil sige falsk sti og multi cycle sti) skal bruges mellem uret grænser. For reference om nødvendige begrænsninger, der skal tilføjes, se CoreFFT.sdc fra stien. /component/Actel/DirectCores/CoreFFT/ /constraints/ CoreFFT.sdc.
4.5 Syntese i Libero SoC
Udfør følgende trin for at køre syntesen af den valgte konfiguration: 1. Indstil designroden korrekt i konfigurations-GUI'en. 2. Under Implement Design på fanen Design Flow skal du højreklikke på Synthesize og vælge Kør.
4.6 Place-and-Route i Libero SoC
Efter at have indstillet designroden korrekt, og kør Synthesis. Under Implement Design på fanen Design Flow skal du højreklikke på Placer og rute og klikke på Kør.
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 25
CoreFFT v8.0
Systemintegration
5. Systemintegration
Dette afsnit giver et example, der viser integrationen af CoreFFT.
5.1 In-Place FFT
Følgende figur viser en eksample af at bruge kernen. Når den på plads FFT hævder BUF_READY-signalet, begynder en datakilde at levere dataeneamples, der skal transformeres. Imaginære og reelle halvdele af inputdataeneample skal leveres samtidigt og ledsaget af gyldighedsbit-DATAI_VALID. Datakilden kan levere sample ved hver clock-cyklus eller med en vilkårlig langsommere hastighed (se figur 3-1). Efter at FFT-modulet modtager N-input samples, sænker det BUF_READY-signalet. Figur 5-1. Eksample af In-Place FFT-systemet
FFT-motoren begynder automatisk at behandle dataene, når den er klar. I den minimale hukommelseskonfiguration starter behandlingsfasen umiddelbart efter, at dataindlæsningen er fuldført. I bufferkonfigurationen kan FFT-motoren vente, indtil en tidligere databurst er behandlet. Så starter motoren automatisk.
5.2 Streaming FFT
Kernen udfører fremad FFT over de data, der kommer ved hver clock-cyklus. Datakilden bliver ved med at levere dataene, mens datamodtageren løbende modtager de FFT-ed resultater og overvåger overløbsflaget om nødvendigt. Det valgfrie input START-signal og output-RFS-signalet kan bruges, hvis behandling af datarammerne er påkrævet. Datakilden genererer START-signalet for at markere begyndelsen af en anden ramme, og datamodtageren bruger RFS-signalet til at markere begyndelsen af outputrammen. Streaming CoreFFT kan behandle uendelige komplekse datastrømme, som vist i den følgende figur.
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 26
Figur 5-2. Eksampaf et streaming FFT-system
CoreFFT v8.0
Systemintegration
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 27
CoreFFT v8.0
Appendiks A: Anvendelse af FFT-enhed på stedet …
6. Appendiks A: Anvendelse og ydeevne af FFT-enheder på stedet
Tabel 6-1 og Tabel 6-2 viser udnyttelse og ydeevne for en række forskellige FFT-størrelser og databredder på stedet. Numrene blev hentet fra konfigurationen anført i tabel 6-3.
Tabel 6-1. In-Place FFT SmartFusion2 M2S050 enhedsudnyttelse og ydeevne (minimal hukommelseskonfiguration)
Kerneparametre
Brug af stofressourcer
Blokke
Præstation
Point 256
Bredde 18
DFF 1227
4 LUT 1245
I alt 2472
LSRAM MACC
3
4
Urhastighed
328
FFT-tid (r)
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 enhedsudnyttelse og ydeevne (bufret konfiguration)
Kerneparametre
PUNKTER BREDDE
256
18
512
18
1024
18
4096
18
Brug af stofressourcer
DFF
4LUT
Total
1487
1558
3045
1527
1820
3347
1579
2346
3925
2418
4955
7372
Blokerer LSRAM 7 7 7 28
MACC 4 4 4 4
Præstation
Klokkefrekvens FFT-tid (r)
328
3.3
321
7.4
310
16.8
281
87.8
Tip: · Data i tabel 6-1 og tabel 6-2 blev opnået ved brug af typiske synteseindstillinger. Synplify-frekvensen (MHz) blev sat til 500
· Udnyttelsesnumrene er opnået ved brug af Libero v12.4, og der kan være potentielle forbedringer af areal og ydeevne med nyere revisioner
· I synteseindstillinger er ROM-komponenter kortlagt til logik og RAM-optimering kortlagt til højhastighed
· Layoutindstillingerne var som følger:
Oprettelse af designerblok aktiveret
High Effort Layout aktiveret
· Den viste FFT-tid afspejler kun transformationstiden. Det tager ikke højde for dataoverførsel eller upload af resultater
Tabel 6-3. In-Place FFT PolarFire MPF300-enhedsudnyttelse og ydeevne (minimal hukommelseskonfiguration)
Kerneparametre
Brug af stofressourcer
Max ur
PUNKT BREDDE uRAM Dybde 4 LUT DFF uRAM LSRAM MACC Frekvens
64
18
512
939 1189 9
0
4
415
Transformationstid (USA)
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 Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 28
CoreFFT v8.0
Appendiks A: Anvendelse af FFT-enhed på stedet …
………..fortsatte
Kerneparametre
Brug af stofressourcer
Max ur
PUNKT BREDDE uRAM Dybde 4 LUT DFF uRAM LSRAM MACC Frekvens
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
Transformationstid (USA)
6.2 6.7 14.3 70.1 73 387 353.5
Tabel 6-4. In-Place FFT PolarFire MPF300-enhedsudnyttelse og ydeevne (bufferkonfiguration)
Kerneparametre
Brug af stofressourcer
Max ur
PUNKT BREDDE uRAM Dybde 4 LUT DFF uRAM LSRAM MACC Frekvens
Transformationstid (USA)
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: · Data i tabel 6-3 og tabel 6-4 blev opnået ved brug af typiske Libero SoC-værktøjsindstillinger. Timing-begrænsningen blev sat til 400 MHz
· Udnyttelsesnumrene er opnået ved brug af Libero v12.4, og der kan være potentielle forbedringer af areal og ydeevne med nyere revisioner
· I synteseindstillinger er ROM-komponenter kortlagt til logik og RAM-optimering kortlagt til højhastighed
· Sted og rute blev indstillet til Timing-drevet High Effort Layout
· FFT-tiden afspejler kun transformationstiden. Det tager ikke højde for dataoverførsel eller upload af resultater
Vigtigt: FPGA-ressourcer og ydeevnedata for PolarFire SoC-familien ligner PolarFire-familien.
Tabel 6-5. In-Place FFT-udnyttelse og præstationskonfigurationsparameter INVERSE SCALE SCALE_EXP_ON HDL-type
Værdi 0 0 0 Verilog
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 29
CoreFFT v8.0
Appendiks B: Streaming af FFT-enhedsudnyttelse...
7. Appendiks B: Streaming af FFT-enhedsudnyttelse og ydeevne
Følgende tabeller viser brugen og ydeevnen for en række streaming FFT-konfigurationer.
Tabel 7-1. Streaming FFT SmartFusion2 M2S050T Speed Grade -1
Kerneparametre
Ressourceforbrug
Blokke
Urhastighed
FFT_SIZE DATA_BITS TWID_BITS Ordre DFF 4LUT Total LSRAM uRAM MACC
16
18
18
Omvendt 2198 1886 4084 0
11
8
241
16
18
18
Normal 1963 1600 3563 0
5
8
241
32
18
18
Omvendt 3268 2739 6007 0
16
16
225
64
18
18
Omvendt 3867 3355 7222 0
19
16
217
128
18
18
Omvendt 4892 4355 9247 5
16
24
216
256
18
18
Omvendt 5510 5302 10812 7
16
24
229
256
18
18
Normal 5330 5067 10406 3
16
24
229
256
24
25
Omvendt 8642 7558 16200 8
21
48
223
512
18
18
Omvendt 6634 6861 13495 10
16
32
228
512
18
24
Omvendt 9302 8862 18164 12
18
64
228
1024
24
24
Omvendt 10847 11748 22595 17
18
64
225
1024
24
25
Omvendt 11643 12425 24068 19
22
64
221
Tip: · uRAM maksimal dybde blev indstillet til 64
· Udnyttelsestallene er opnået ved hjælp af Libero v12.4, og der kan være potentielle areal- og ydeevneforbedring med nyere revisioner
· I synteseindstillinger er ROM-komponenter afbildet til logik og RAM-optimering kortlagt til højhastighed. Synplify-frekvensen blev sat til 500
· Layout høj anstrengelsestilstand blev indstillet
Tabel 7-2. Streaming FFT PolarFire MPF300 Speed Grade -1
Kerneparametre
FFT_SIZE DATA_BIT TWID_BITS SCALE uRAM Ordredybde
Ressourceforbrug
Ur
4LUT DFF uRAM LSRAM MACC Rate
16
16
18
On
256 Omvendt 1306 1593 6
0
4
319
16
16
18
On
256 Normal 1421 1700 12 0
4
319
32
16
18
On
256 Reverse 1967 2268 18 0
8
319
64
16
18
On
256 Reverse 2459 2692 15 0
8
319
128
20
18
On
256 Normal 4633 4911 44 0
24
310
256
22
18
Slukket
256 Normal 6596 6922 94 0
24
307
256
24
25
512
18
18
On
0
On
0
Omvendt 8124 8064 0
14
48
304
Omvendt 6686 5691 0
9
32
293
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 30
CoreFFT v8.0
Appendiks B: Streaming af FFT-enhedsudnyttelse...
………..fortsat Kerneparametre
FFT_SIZE DATA_BIT TWID_BITS SCALE uRAM Ordredybde
Ressourceforbrug
Ur
4LUT DFF uRAM LSRAM MACC Rate
1024
24
25
On
0
Omvendt 13974 10569 0
21
64
304
1024
18
18
On
0
Normal 14289 10816 0
27
64
307
2048
18
18
On
0
Normal 12852 7640 0
24
40
304
2048
18
18
On
0
Omvendt 12469 7319 0
16
40
315
4096
24
25
On
0
Normal 29977 14288 0
59
80
305
4096
28
28
On
512 Normal 34448 17097 120 48
80
301
Tip: · Data i den foregående tabel blev opnået ved hjælp af de typiske Libero SoC-værktøjsindstillinger. Timing-begrænsningen blev sat til 400 MHz
· Enhedsudnyttelsesnumrene for streamingarkitekturen er næsten de samme for både AXI4S-grænsefladen og den oprindelige grænseflade
· Udnyttelsestallene er opnået ved hjælp af Libero v12.4, og der kan være potentielle areal- og ydeevneforbedring med nyere revisioner
· I synteseindstillinger er ROM-komponenter kortlagt til logik og RAM-optimering kortlagt til højhastighed
· Sted og rute blev indstillet til det timingdrevne High Effort Layout
· FPGA-ressourcer og ydeevnedata for PolarFire SoC-familien ligner PolarFire-familien
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 31
CoreFFT v8.0
Revisionshistorie
8. Revisionshistorie
Revisionshistorikken beskriver de ændringer, der blev implementeret i dokumentet. Ændringerne er listet efter revision, startende med den seneste publikation.
Tabel 8-1. Revisionshistorik
Revisionsdato Beskrivelse
C
08/2022 I revision C af dokumentet, opdateret Tabel 6-1, Tabel 6-2, Tabel 6-3, Tabel 6-4, Tabel 7-1,
og tabel 7-2.
B
07/2022 Følgende er listen over ændringer i revision B af dokumentet:
· Opdateret: Tabel 2-2 i 2.1.2. Havne.
· Opdateret: Tabel 2-4 i 2.2.2. Havne.
· Opdateret: 4.4. Design begrænsninger.
· Fjernet: afsnittet "Konfiguration af tidsbegrænsninger".
A
07/2022 Følgende er listen over ændringer i revision A af dokumentet:
· Dokumentet blev migreret til Microchip-skabelonen.
· Dokumentnummeret blev opdateret til DS50003348A fra 50200267.
· Følgende afsnit er opdateret:
Tabel 1 i Funktioner.
Enhedsudnyttelse og ydeevne.
Tabel 1-2 i 1.4.4.2. Uskaleret tilstand Input Bit Bredde begrænsninger.
Figur 1-7 i 1.4.4.3. Går ind i skalaplan.
Tabel 1-3 i 1.4.4.3. Går ind i skalaplan.
Tabel 2-3 i 2.2.1. Konfigurationsparametre.
Tabel 2-4 i 2.2.2. Havne.
Tabel 2-2 i 2.1.2. Havne.
Figur 4-2 i 4.2. Konfiguration af CoreFFT i SmartDesign.
· Følgende afsnit tilføjes: 1.4.3. Streaming af FFT-outputdataordorden. 2.2.3. Input/Output Datarammeformat til AXI4 Streaming Interface. 4.3. Simuleringsflows. 4.4. Design begrænsninger. 4.5. Syntese i Libero SoC. 4.6. Place-and-Route i Libero SoC.
· Følgende sektioner fjernes: "Understøttet version." "Naturlig outputrækkefølge."
10
—
Tilføjet PolarFire® SoC-understøttelse.
9
—
"Produktsupport": Fjernet.
8
—
Opdaterede ændringer relateret til CoreFFT v7.0.
7
—
Opdaterede ændringer relateret til CoreFFT v6.4.
6
—
Opdaterede ændringer relateret til CoreFFT v6.3.
5
—
Opdaterede ændringer relateret til understøttede familier (SAR 47942).
4
—
Opdaterede ændringer relateret til CoreFFT v6.1.
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 32
CoreFFT v8.0
Revisionshistorie
………..fortsat Revisionsdato
3
—
2
—
1
—
Beskrivelse
Følgende er listen over ændringer i revision 3.0 af dokumentet: · Opdaterede ændringer relateret til CoreFFT v6.0. · Udgivelsen tilføjer understøttelse af SmartFusion2-familien (kun In-Place-arkitektur).
Følgende er listen over ændringer i revision 2.0 af dokumentet: · Opdaterede ændringer relateret til CoreFFT v5.0. · Denne udgivelse tilføjer en ny arkitektur til den eksisterende In-place CoreFFT v4.0. · Den nye arkitektur understøtter Streaming Forward og Inverse FFT, der transformerer højhastighedsdatastrøm.
Første udgivelse.
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 33
CoreFFT v8.0
Mikrochip FPGA-understøttelse
Microchip FPGA-produktgruppen støtter sine produkter med forskellige supporttjenester, herunder kundeservice, teknisk kundesupportcenter, et webwebsted og verdensomspændende salgskontorer. Kunder foreslås at besøge Microchips onlineressourcer, før de kontakter support, da det er meget sandsynligt, at deres forespørgsler allerede er blevet besvaret. Kontakt teknisk supportcenter via webwebsted på www.microchip.com/support. Nævn FPGA-enhedens varenummer, vælg passende sagskategori, og upload design files, mens du opretter en teknisk supportsag. Kontakt kundeservice for ikke-teknisk produktsupport, såsom produktpriser, produktopgraderinger, opdateringsoplysninger, ordrestatus og godkendelse.
· Fra Nordamerika, ring 800.262.1060 · Fra resten af verden, ring 650.318.4460 · Fax, hvor som helst i verden, 650.318.8044
Mikrochip information
Mikrochippen Webwebsted
Microchip yder online support via vores webwebsted på www.microchip.com/. Dette website bruges til at lave files og information let tilgængelig for kunderne. Noget af det tilgængelige indhold inkluderer:
· Produktsupport Datablade og errata, applikationsnoter og sample-programmer, designressourcer, brugervejledninger og hardwaresupportdokumenter, seneste softwareudgivelser og arkiveret software
· Generel teknisk support Ofte stillede spørgsmål (FAQ), anmodninger om teknisk support, online diskussionsgrupper, medlemsliste for Microchip-designpartnerprogram
· Business of Microchip Produktvælger og bestillingsvejledninger, seneste Microchip pressemeddelelser, oversigt over seminarer og arrangementer, lister over Microchip salgskontorer, distributører og fabriksrepræsentanter
Produktændringsmeddelelsesservice
Microchips underretningstjeneste for produktændringer hjælper med at holde kunderne opdateret på Microchip-produkter. Abonnenter vil modtage e-mail-meddelelser, når der er ændringer, opdateringer, revisioner eller fejl relateret til en specificeret produktfamilie eller udviklingsværktøj af interesse. For at registrere skal du gå til www.microchip.com/pcn og følge registreringsinstruktionerne.
Kundesupport
Brugere af Microchip-produkter kan modtage assistance gennem flere kanaler: · Distributør eller repræsentant · Lokalt salgskontor · Embedded Solutions Engineer (ESE) · Teknisk support
Kunder bør kontakte deres distributør, repræsentant eller ESE for at få support. Lokale salgskontorer er også tilgængelige for at hjælpe kunder. En liste over salgskontorer og lokationer er inkluderet i dette dokument. Teknisk support er tilgængelig via webwebsted på: www.microchip.com/support
Mikrochip-enheder kodebeskyttelsesfunktion
Bemærk følgende detaljer om kodebeskyttelsesfunktionen på Microchip-produkter:
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 34
CoreFFT v8.0
· Microchip-produkter opfylder specifikationerne i deres særlige Microchip-datablad. · Microchip mener, at dens familie af produkter er sikker, når den bruges på den tilsigtede måde inden for drift
specifikationer og under normale forhold. · Microchip værdsætter og beskytter aggressivt sine intellektuelle ejendomsrettigheder. Forsøg på at bryde koden
beskyttelsesfunktioner i Microchip-produktet er strengt forbudt og kan være i strid med Digital Millennium Copyright Act. · Hverken Microchip eller nogen anden halvlederproducent kan garantere sikkerheden af deres kode. Kodebeskyttelse betyder ikke, at vi garanterer, at produktet er "ubrydeligt". Kodebeskyttelse er i konstant udvikling. Microchip er forpligtet til løbende at forbedre kodebeskyttelsesfunktionerne i vores produkter.
Juridisk meddelelse
Denne publikation og oplysningerne heri må kun bruges med Microchip-produkter, herunder til at designe, teste og integrere Microchip-produkter med din applikation. Brug af disse oplysninger på anden måde overtræder disse vilkår. Oplysninger om enhedsapplikationer gives kun for din bekvemmelighed og kan blive afløst af opdateringer. Det er dit ansvar at sikre, at din ansøgning lever op til dine specifikationer. Kontakt dit lokale Microchip-salgskontor for yderligere support, eller få yderligere support på www.microchip.com/en-us/support/design-help/client-support-services.
DISSE OPLYSNINGER LEVERES AF MICROCHIP "SOM DE ER". MICROCHIP GIVER INGEN REPRÆSENTATIONER ELLER GARANTIER AF NOGEN ART, HVERKEN UDTRYKKELIGE ELLER UNDERFORSTÅEDE, SKRIFTLIGE ELLER mundtlige, LOVBESTEMMET ELLER ANDEN MÅDE, RELATET TIL OPLYSNINGERNE, INKLUSIVE MEN IKKE BEGRÆNSET TIL NOGEN STILTIENDE GARANTIER, GARANTIER OG GARANTIER. EGNETHED TIL ET BESTEMT FORMÅL ELLER GARANTIER RELATET TIL DETS TILSTAND, KVALITET ELLER YDELSE.
MICROCHIP VIL UNDER INGEN OMSTÆNDIGHEDER VÆRE ANSVARLIG FOR NOGEN INDIREKTE, SÆRLIGE, STRAFFENDE, TILFÆLDELIGE ELLER FØLGETAB, SKADER, OMKOSTNINGER ELLER UDGIFTER AF NOGEN ART, SOM ER RELATET TIL OPLYSNINGERNE ELLER DERES ANVENDELSE, UNDER ANDET ELLER ARGANG. MULIGHEDEN ELLER SKADERNE ER FORUDSIGELIGE. I DET FULDSTÆNDE OMFANG, DET ER TILLADT AF LOVEN, VIL MICROCHIPS SAMLEDE ANSVAR PÅ ALLE KRAV PÅ NOGEN MÅDE RELATET TIL INFORMATIONEN ELLER DERES ANVENDELSE IKKE OVERstige BELØBET, HVIS NOGET, SOM DU HAR BETALT DIREKTE TIL MICRATIONOCHIP.
Brug af Microchip-enheder i livsstøtte- og/eller sikkerhedsapplikationer er helt på købers risiko, og køberen indvilliger i at forsvare, skadesløsholde og holde Microchip skadesløs fra enhver skade, krav, sager eller udgifter som følge af sådan brug. Ingen licenser videregives, implicit eller på anden måde, under nogen af Microchips intellektuelle ejendomsrettigheder, medmindre andet er angivet.
Varemærker
Mikrochipnavnet og logoet, mikrochiplogoet, Adaptec, AVR, AVR-logoet, 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 og XMEGA er registrerede varemærker tilhørende Microchip Technology Incorporated i USA og andre lande.
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 og ZL er registrerede varemærker tilhørende Microchip Technology Incorporated i USA
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, In-Circuit Serial Programmering, ICSP, INICnet, Intelligent Paralleling, IntelliMOS, Inter-Chip Connectivity, JitterBlocker, Knob-on-Display, KoD, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, . , RTG4, SAM-
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 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 og ZENA er varemærker tilhørende Microchip Technology Incorporated i USA og andre lande. SQTP er et servicemærke tilhørende Microchip Technology Incorporated i USA Adaptec-logoet, Frequency on Demand, Silicon Storage Technology og Symmcom er registrerede varemærker tilhørende Microchip Technology Inc. i andre lande. GestIC er et registreret varemærke tilhørende Microchip Technology Germany II GmbH & Co. KG, et datterselskab af Microchip Technology Inc., i andre lande. Alle andre varemærker nævnt heri tilhører deres respektive virksomheder. © 2022, Microchip Technology Incorporated og dets datterselskaber. Alle rettigheder forbeholdes. ISBN: 978-1-6683-1058-8
Kvalitetsstyringssystem
For information om Microchips kvalitetsstyringssystemer, besøg venligst www.microchip.com/quality.
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 36
AMERIKA
Corporate Office 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tlf.: 480-792-7200 Fax: 480-792-7277 Teknisk support: www.microchip.com/support Web Adresse: www.microchip.com Atlanta Duluth, GA Tlf.: 678-957-9614 Fax: 678-957-1455 Austin, TX Tlf.: 512-257-3370 Boston Westborough, MA Tlf.: 774-760-0087 Fax: 774-760-0088 Chicago Itasca, IL Tlf.: 630-285-0071 Fax: 630-285-0075 Dallas Addison, TX Tlf.: 972-818-7423 Fax: 972-818-2924 Detroit Novi, MI Tlf.: 248-848-4000 Houston, TX Tlf.: 281-894-5983 Indianapolis Noblesville, IN Tlf.: 317-773-8323 Fax: 317-773-5453 Tlf.: 317-536-2380 Los Angeles Mission Viejo, CA Tlf.: 949-462-9523 Fax: 949-462-9608 Tlf.: 951-273-7800 Raleigh, NC Tlf.: 919-844-7510 New York, NY Tlf.: 631-435-6000 San Jose, CA Tlf.: 408-735-9110 Tlf.: 408-436-4270 Canada – Toronto Tlf.: 905-695-1980 Fax: 905-695-2078
Verdensomspændende salg og service
ASIEN/PACIFIK
Australien – Sydney Tlf.: 61-2-9868-6733 Kina – Beijing Tlf.: 86-10-8569-7000 Kina – Chengdu Tlf.: 86-28-8665-5511 Kina – Chongqing Tlf.: 86-23-8980-9588 Kina – Dongguan Tlf.: 86-769-8702-9880 Kina – Guangzhou Tlf.: 86-20-8755-8029 Kina – Hangzhou Tlf.: 86-571-8792-8115 Kina – Hong Kong SAR Tlf.: 852-2943-5100 Tlf. Kina – Nanjing : 86-25-8473-2460 Kina – Qingdao Tlf.: 86-532-8502-7355 Kina – Shanghai Tlf.: 86-21-3326-8000 Kina – Shenyang Tlf.: 86-24-2334-2829 Kina – Shenzhen Tlf.: 86 -755-8864-2200 Kina – Suzhou Tlf.: 86-186-6233-1526 Kina – Wuhan Tlf.: 86-27-5980-5300 Kina – Xian Tlf.: 86-29-8833-7252 Kina – Xiamen Tlf.: 86-592 -2388138 Kina – Zhuhai Tlf.: 86-756-3210040
ASIEN/PACIFIK
Indien – Bangalore Tlf.: 91-80-3090-4444 Indien – New Delhi Tlf.: 91-11-4160-8631 Indien – Pune Tlf.: 91-20-4121-0141 Japan – Osaka Tlf.: 81-6-6152-7160 Japan – Tokyo Tlf.: 81-3-6880- 3770 Korea – Daegu Tlf.: 82-53-744-4301 Korea – Seoul Tlf.: 82-2-554-7200 Malaysia – Kuala Lumpur Tlf.: 60-3-7651-7906 Malaysia – Penang Tlf.: 60-4-227-8870 Filippinerne – Manila Tlf.: 63-2-634-9065 Singapore Tlf.: 65-6334-8870 Taiwan – Hsin Chu Tlf.: 886-3-577-8366 Taiwan – Kaohsiung Tlf.: 886- 7-213-7830 Taiwan – Taipei Tlf.: 886-2-2508-8600 Thailand – Bangkok Tlf.: 66-2-694-1351 Vietnam – Ho Chi Minh Tlf.: 84-28-5448-2100
EUROPA
Østrig – Wels Tlf.: 43-7242-2244-39 Fax: 43-7242-2244-393 Danmark – København Tlf.: 45-4485-5910 Fax: 45-4485-2829 Finland – Espoo Tlf.: 358-9-4520-820 Frankrig – Paris Tlf.: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Tyskland – Garching Tlf.: 49-8931-9700 Tyskland – Haan Tlf.: 49-2129-3766400 Tyskland – Heilbronn Tlf.: 49-7131-72400 Tyskland – Karlsruhe Tlf.: 49-721-625370 Tyskland – München Tlf.: 49-89-627-144-0 Fax: 49-89-627-144-44 Tyskland – Rosenheim Tlf.: 49 -8031-354-560 Israel – Ra'anana Tlf.: 972-9-744-7705 Italien – Milano Tlf.: 39-0331-742611 Fax: 39-0331-466781 Italien – Padova Tlf.: 39-049-7625286 Holland – Drunen Tlf.: 31-416-690399 Fax: 31-416-690340 Norge – Trondheim Tlf.: 47-72884388 Polen – Warszawa Tlf.: 48-22-3325737 Rumænien – Bukarest Tlf.: 40-21-407-87 Tlf. 50 Spanien – Madrid : 34-91-708-08-90 Fax: 34-91-708-08-91 Sverige – Göteborg Tlf.: 46-31-704-60-40 Sverige – Stockholm Tlf.: 46-8-5090-4654 UK – Wokingham Tlf.: 44-118-921-5800 Fax: 44-118-921-5820
© 2022 Microchip Technology Inc.
og dets datterselskaber
Brugervejledning
DS50003348C-side 37
Dokumenter/ressourcer
![]() |
MICROCHIP v8.0 CoreFFT Fourier Transform [pdfBrugervejledning v8.0 CoreFFT Fourier Transform, v8.0 CoreFFT, Fourier Transform, Transform |