intel UG-20094 Cyclone 10 GX Native Fixed Point DSP IP Core
Intel® Cyclone® 10 GX Native Fixed Point DSP IP Core Gebruikersgids
Die Intel Cyclone® 10 GX Native Fixed Point DSP IP-kern instansieer en beheer 'n enkele Intel Cyclone 10 GX Variable Precision Digital Signal Processing (DSP)-blok. Die Cyclone 10 GX Native Fixed Point DSP IP-kern is slegs beskikbaar vir Intel Cyclone 10 GX-toestelle.
Cyclone 10 GX Native Fixed Point DSP IP Core Functional Block Diagram
Verwante inligting
Inleiding tot Intel FPGA IP Cores.
Cyclone 10 GX Inheemse vastepunt DSP IP-kernkenmerke
Die Cyclone 10 GX Native Fixed Point DSP IP-kern ondersteun die volgende kenmerke:
- Hoëprestasie, kraggeoptimaliseerde en volledig geregistreerde vermenigvuldigingsbewerkings
- 18-bis en 27-bis woordlengtes
- Twee 18 × 19 vermenigvuldigers of een 27 × 27 vermenigvuldiger per DSP-blok
- Ingeboude optel-, aftrekking- en 64-bis dubbelakkumulasieregister om vermenigvuldigingsresultate te kombineer
- Cascading 19-bis of 27-bis as pre-adder gedeaktiveer is en cascading 18-bis wanneer pre-adder gebruik word om die tikvertragingslyn vir filtertoepassing te vorm
- Cascaderende 64-bis-uitsetbus om uitsetresultate van een blok na die volgende blok te versprei sonder eksterne logika-ondersteuning
- Harde vooropteller ondersteun in 19-bis en 27-bis modusse vir simmetriese filters
- Interne koëffisiëntregisterbank in beide 18-bis en 27-bis modusse vir filterimplementering
- 18-bis en 27-bis sistoliese eindige impulsrespons (FIR) filters met verspreide uitsetopteller
Aan die gang
Hierdie hoofstuk bied 'n algemene oorview van die Intel FPGA IP-kernontwerpvloei om jou te help om vinnig met die Cyclone 10 GX Native Fixed Point DSP IP-kern te begin. Die Intel FPGA IP-biblioteek word geïnstalleer as deel van die Intel Quartus® Prime-installasieproses. U kan enige Intel FPGA IP-kern uit die biblioteek kies en parameteriseer. Intel bied 'n geïntegreerde parameterredigeerder waarmee u die Intel FPGA DSP IP-kern kan aanpas om 'n wye verskeidenheid toepassings te ondersteun. Die parameterredigeerder lei jou deur die instelling van parameterwaardes en die keuse van opsionele poorte.
Verwante inligting
- Inleiding tot Intel FPGA IP Cores
Verskaf algemene inligting oor alle Intel FPGA IP-kerns, insluitend parameterisering, generering, opgradering en simulering van IP-kerne. - Skep weergawe-onafhanklike IP- en platformontwerper (standaard) simulasieskrifte
Skep simulasieskrifte wat nie handmatige opdaterings vir sagteware- of IP-weergawe-opgraderings benodig nie. - Beste praktyke vir projekbestuur
Riglyne vir doeltreffende bestuur en oordraagbaarheid van jou projek en IP files.
Cyclone 10 GX Native Fixed Point DSP IP Core Parameter Settings
U kan die Cyclone 10 GX Native Fixed Point DSP IP-kern aanpas deur die parameters te spesifiseer deur die parameterredigeerder in die Intel Quartus Prime-sagteware te gebruik.
Operasiemodus-oortjie
Parameter | IP-gegenereerde parameter | Waarde | Beskrywing |
Kies asseblief die operasiemodus | operasiemodus | m18×18_full m18×18_sumof2 m18×18_plus36 m18×18_systolic m27×27 | Kies die gewenste operasionele modus. |
Vermenigvuldiger konfigurasie | |||
Voorstellingsformaat vir topvermenigvuldiger x operand | onderteken_maks | onderteken ongetekende | Spesifiseer die voorstellingsformaat vir die boonste vermenigvuldiger x operand. |
Parameter | IP-gegenereerde parameter | Waarde | Beskrywing |
Voorstellingsformaat vir topvermenigvuldiger y operand | geteken_mei | onderteken ongetekende | Spesifiseer die voorstellingsformaat vir die boonste vermenigvuldiger y-operand. |
Voorstellingsformaat vir onderste vermenigvuldiger x operand | onderteken_mbx | onderteken ongetekende | Spesifiseer die voorstellingsformaat vir die onderste vermenigvuldiger x operand. |
Voorstellingsformaat vir onderste vermenigvuldiger y operand | onderteken_mby | onderteken ongetekende | Spesifiseer die voorstellingsformaat vir die onderste vermenigvuldiger y-operand.
Kies altyd ongetekende vir m18×18_plus36 . |
Aktiveer 'sub'-poort | aktiveer_sub | Nee Ja | Kies Ja in staat te stel
sub-poort. |
Registreer invoer 'sub' van die vermenigvuldiger | sub_klok | Nee Klok0 Klok1 Klok2 | Kies Horlosie 0, Horlosie 1, of Horlosie 2 om die insetkloksein vir subinsetregister te aktiveer en te spesifiseer. |
Invoer Cascade | |||
Aktiveer invoerkaskade vir 'ay'-invoer | ay_use_scan_in | Nee Ja | Kies Ja om invoerkaskademodule vir ay data-invoer te aktiveer.
Wanneer jy insetkaskademodule aktiveer, gebruik die Cyclone 10 GX Native Fixed Point DSP IP-kern die skandeerinvoerseine as inset in plaas van ay-insetseine. |
Aktiveer invoerkaskade vir 'deur' invoer | deur_gebruik_skandeer_in | Nee Ja | Kies Ja insette kaskade module te aktiveer vir deur data invoer.
Wanneer u insetkaskademodule aktiveer, gebruik die Cyclone 10 GX Native Fixed Point DSP IP-kern die ay-invoerseine as invoer in plaas van deur insetseine. |
Aktiveer data en vertragingsregister | vertraag_skander_uit_ag | Nee Ja | Kies Ja om vertragingsregister tussen ay en deur invoerregisters moontlik te maak.
Hierdie kenmerk word nie ondersteun in m18×18_plus36 en m27x27 operasionele modus. |
Parameter | IP-gegenereerde parameter | Waarde | Beskrywing |
Aktiveer data deur vertragingsregister | delay_scan_out_by | Nee Ja | Kies Ja om vertragingsregister tussen deur insetregisters en scanout-uitsetbus moontlik te maak.
Hierdie kenmerk word nie ondersteun in m18×18_plus36 en m27x27 operasionele modus. |
Aktiveer scanout-poort | gui_scanout_enable | Nee Ja | Kies Ja in staat te stel
scanout uitset bus. |
'scanout' uitset bus breedte | scan_out_width | 1–27 | Spesifiseer die breedte van
scanout uitset bus. |
Data 'x' konfigurasie | |||
'byl' invoer bus breedte | byl_wydte | 1–27 | Spesifiseer die breedte van
byl invoer bus.(1) |
Registreer invoer 'byl' van die vermenigvuldiger | byl_klok | Nee Klok0 Klok1 Klok2 | Kies Horlosie 0, Horlosie 1, of Horlosie 2 om die insetkloksein vir byl-invoerregister te aktiveer en te spesifiseer.
byl-invoerregister is nie beskikbaar as jy stel nie 'byl' operand bron aan 'koef'. |
'bx' invoer bus breedte | bx_wydte | 1–18 | Spesifiseer die breedte van
bx invoer bus.(1) |
Registreer invoer 'bx' van die vermenigvuldiger | bx_klok | Nee Klok0 Klok1 Klok2 | Kies Horlosie 0, Horlosie 1, of Horlosie 2 om die insetkloksein vir bx-invoerregister te aktiveer en te spesifiseer.
bx-invoerregister is nie beskikbaar as jy instel nie 'bx' operand bron aan 'koef'. |
Data 'y' konfigurasie | |||
'ay' of 'scanin' buswydte | ay_scan_in_width | 1–27 | Spesifiseer die breedte van ay- of skandering-invoerbus.(1) |
Registreer invoer 'ay' of invoer 'scanin' van die vermenigvuldiger | ay_scan_in_clock | Nee Klok0 Klok1 Klok2 | Kies Horlosie 0, Horlosie 1, of Horlosie 2 om die insetkloksein vir ay of skandeerinvoerregister te aktiveer en te spesifiseer. |
'deur' invoer bus breedte | by_breedte | 1–19 | Spesifiseer die breedte van per invoerbus.(1) |
Parameter | IP-gegenereerde parameter | Waarde | Beskrywing |
Registreer invoer 'deur' van die vermenigvuldiger | teen_klok | Nee Klok0 Klok1 Klok2 | Kies Horlosie 0, Horlosie 1, of Horlosie 2 om die insetkloksein vir deur of skandeer te aktiveer en te spesifiseer
invoerregister.(1) |
Uitvoer 'resultaat'-konfigurasie | |||
'resulta' uitset bus breedte | resultaat_'n_wydte | 1–64 | Spesifiseer die breedte van
resulta uitsetbus. |
'resultb' uitset bus breedte | resultaat_b_wydte | 1–64 | Spesifiseer die breedte van resultaatb-uitsetbus. resultb slegs beskikbaar wanneer operasie_modus gebruik word m18×18_vol. |
Gebruik uitsetregister | uitset_klok | Nee Klok0 Klok1 Klok2 | Kies Horlosie 0, Horlosie 1, of Horlosie 2 om die insetkloksein vir resulta- en resulta-uitsetregisters te aktiveer en te spesifiseer. |
Vooropteller-oortjie
Parameter | IP-gegenereerde parameter | Waarde | Beskrywing |
'ay' operand bron | operand_source_may | invoervoorsitter | Spesifiseer die operandbron vir ay-invoer. Kies voorlêer om voorafoptelmodule vir topvermenigvuldiger te aktiveer. Instellings vir ay en per operandbron moet dieselfde wees. |
'deur' operandbron | operand_source_mby | invoervoorsitter | Spesifiseer die operandbron vir deur invoer. Kies voorlêer om voorafoptelmodule vir onderste vermenigvuldiger te aktiveer. Instellings vir ay en per operandbron moet dieselfde wees. |
Stel voorafoptel 'n bewerking op aftrekking | voorteller_aftrek_a | Nee Ja | Kies Ja om aftrekkingsbewerking vir vooroptellermodule vir die boonste vermenigvuldiger te spesifiseer. Vooroptellerinstellings vir boonste en onderste vermenigvuldiger moet dieselfde wees. |
Stel vooropteller b-bewerking op aftrekking | voorteller_aftrek_b | Nee Ja | Kies Ja om aftrekkingsbewerking vir vooroptellermodule vir die onderste vermenigvuldiger te spesifiseer. Vooroptellerinstellings vir boonste en onderste vermenigvuldiger moet dieselfde wees. |
Data 'z' konfigurasie | |||
'az' invoer bus breedte | az_wydte | 1–26 | Spesifiseer die breedte van az-invoerbus.(1) |
Registreer invoer 'az' van die vermenigvuldiger | az_klok | Nee Klok0 Klok1 Klok2 | Kies Horlosie 0, Horlosie 1, of Horlosie 2 om die insetkloksein vir az-invoerregisters te aktiveer en te spesifiseer. Klokinstellings vir ay- en az-invoerregisters moet dieselfde wees. |
'bz' invoer bus breedte | bz_wydte | 1–18 | Spesifiseer die breedte van bz-invoerbus.(1) |
Registreer invoer 'bz' van die vermenigvuldiger | bz_klok | Nee Klok0 Klok1 Klok2 | Kies Horlosie 0, Horlosie 1, of Horlosie 2 om die insetkloksein vir bz-invoerregisters te aktiveer en te spesifiseer. Klokinstellings vir by- en bz-invoerregisters moet dieselfde wees. |
Interne Koëffisiënt Tab
Parameter | IP-gegenereerde parameter | Waarde | Beskrywing |
'byl' operand bron | operand_source_max | insette koef | Spesifiseer die operandbron vir byl-invoerbus. Kies koef om interne koëffisiëntmodule vir topvermenigvuldiger in staat te stel.
Kies Nee vir Registreer invoer 'byl' van die vermenigvuldiger parameter wanneer jy die interne koëffisiëntfunksie aktiveer. |
Parameter | IP-gegenereerde parameter | Waarde | Beskrywing |
Instellings vir ax- en bx-operandbron moet dieselfde wees. | |||
'bx' operand bron | operand_source_mbx | insette koef | Spesifiseer die operandbron vir bx-invoerbus. Kies koef om interne koëffisiëntmodule vir topvermenigvuldiger in staat te stel.
Kies Nee vir Registreer invoer 'bx' van die vermenigvuldiger parameter wanneer jy die interne koëffisiëntfunksie aktiveer. Instellings vir ax- en bx-operandbron moet dieselfde wees. |
'coefsel' Invoerregisterkonfigurasie | |||
Registreer invoer 'coefsela' van die vermenigvuldiger | coef_sel_a_clock | Nee Klok0 Klok1 Klok2 | Kies Horlosie 0, Horlosie 1, of Horlosie 2 om die insetkloksein vir die coefsela-insetregisters te aktiveer en te spesifiseer. |
Registreer invoer 'coefselb' van die vermenigvuldiger | coef_sel_b_klok | Nee Klok0 Klok1 Klok2 | Kies Horlosie 0, Horlosie 1, of Horlosie 2 om die insetkloksein vir die coefselb-invoerregisters te aktiveer en te spesifiseer. |
Koëffisiëntbergingkonfigurasie | |||
koef_a_0–7 | koef_a_0–7 | Heelgetal | Spesifiseer die koëffisiëntwaardes vir byl-invoerbus.
Vir 18-bis-bewerkingsmodus is die maksimum insetwaarde 218 – 1. Vir 27-bis-werking is die maksimum waarde 227 – 1. |
koef_b_0–7 | koef_b_0–7 | Heelgetal | Spesifiseer die koëffisiëntwaardes vir bx-invoerbus. |
Akkumulator / Uitset Cascade Tab
Parameter | IP-gegenereerde parameter | Waarde | Beskrywing |
Aktiveer 'akkumuleer'-poort | enable_accumulate | Nee Ja | Kies Ja in staat te stel
akkumulatorpoort. |
Aktiveer 'negate'-poort | enable_negate | Nee Ja | Kies Ja in staat te stel
hawe ontken. |
Aktiveer 'loadconst'-poort | enable_loadconst | Nee Ja | Kies Ja in staat te stel
loadconst-poort. |
Registreer invoer 'akkumuleer' van die akkumulator | versamel_klok | Nee Klok0 Klok1 Klok2 | Kies Horlosie 0 , Horlosie 1, of Horlosie 2 om die insetkloksein vir die akkumuleer insetregisters te aktiveer en te spesifiseer. |
Parameter | IP-gegenereerde parameter | Waarde | Beskrywing |
Registreer invoer 'loadconst' van die akkumulator | laai_konst_klok | Nee Klok0 Klok1 Klok2 | Kies Horlosie 0, Horlosie 1, of Horlosie 2 om die insetkloksein vir die laskonst-insetregisters te aktiveer en te spesifiseer. |
Registreer invoer 'negate' van die opteleenheid | ontken_klok | Nee Klok0 Klok1 Klok2 | Kies Horlosie 0, Horlosie 1, of Horlosie 2 om die insetkloksein vir die ontkennende insetregisters te aktiveer en te spesifiseer. |
Aktiveer dubbele akkumulator | aktiveer_dubbel_accum | Nee Ja | Kies Ja om dubbelakkumulatorfunksie te aktiveer. |
N waarde van voorafbepaalde konstante | laai_konst_waarde | 0 – 63 | Spesifiseer die voorafbepaalde konstante waarde.
Hierdie waarde kan 2 weesN waar N is die voorafbepaalde konstante waarde. |
Aktiveer kettingpoort | use_chainadder | Nee Ja | Kies Ja om uitsetkaskademodule en die kettinginvoerbus te aktiveer.
Uitsetkaskadekenmerk word nie ondersteun in m18×18_vol bedryfsmodus. |
Aktiveer chainout-poort | gui_chainout_enable | Nee Ja | Kies Ja om die chainout-uitsetbus te aktiveer. Uitsetkaskadekenmerk word nie ondersteun in
m18×18_vol bedryfsmodus. |
Pypleiding Tab
Parameter | IP-gegenereerde parameter | Waarde | Beskrywing |
Voeg insetpyplynregister by die insetdatasein (x/y/z/coefsel) | input_pipeline_clock | Nee Klok0 Klok1 Klok2 | Kies Horlosie 0, Horlosie 1, of Horlosie 2 om die insetkloksein vir x-, y-, z-, coefsela- en coefselb-pyplyninsetregisters te aktiveer en te spesifiseer. |
Voeg insetpyplynregister by die 'sub'-datasein | sub_pyplyn_klok | Nee Klok0 Klok1 Klok2 | Kies Horlosie 0, Horlosie 1, of Horlosie 2 om die insetkloksein vir die subpyplyninsetregister te aktiveer en te spesifiseer. (2) |
Voeg insetpyplynregister by die 'akkumuleer' datasein | accum_pipeline_clock | Nee Klok0 Klok1 Klok2 | Kies Horlosie 0, Horlosie 1, of Horlosie 2 om die insetkloksein vir die akkumuleer pyplyninsetregister te aktiveer en te spesifiseer.(2) |
Voeg insetpyplynregister by die 'loadconst'-datasein | load_const_pipeline_clock | Nee Klok0 Klok1 Klok2 | Kies Horlosie 0, Horlosie 1, of Horlosie 2 om die insetkloksein vir die loadconst pyplyninsetregister te aktiveer en te spesifiseer.(2) |
Voeg insetpyplynregister by die 'negate' datasein | negate_pipeline_clock | Nee Klok0 Klok1 Klok2 | Kies Horlosie 0, Horlosie 1, of Horlosie 2 om die insetkloksein vir die ontkennende pyplyninsetregister te aktiveer en te spesifiseer.(2) |
Maksimum invoerdatabreedte per operasiemodus
Jy kan die datawydte vir x-, y- en z-insette pasmaak soos in die tabel gespesifiseer.
Alle pyplyn-invoerregisters vir dinamiese beheerseine moet dieselfde klokverstelling hê.
Bedryfsmodus | Maksimum invoerdatabreedte | |||||
ax | ay | az | bx | by | bz | |
Sonder voorafopteller of interne koëffisiënt | ||||||
m18×18_vol | 18 (geteken)
18 (ongeteken) |
19 (geteken)
18 (ongeteken) |
Nie gebruik nie | 18 (geteken)
18 (ongeteken) |
19 (geteken)
18 (ongeteken) |
Nie gebruik nie |
m18×18_somof2 | ||||||
m18×18_sistolies | ||||||
m18×18_plus36 | ||||||
m27×27 | 27 (geteken)
27 (ongeteken) |
Nie gebruik nie | ||||
Slegs met Pre-adder-funksie | ||||||
m18×18_vol | 18 (geteken)
18 (ongeteken) |
|||||
m18×18_somof2 | ||||||
m18×18_sistolies | ||||||
m27×27 | 27 (geteken)
27 (ongeteken) |
26 (geteken)
26 (ongeteken) |
Nie gebruik nie | |||
Slegs met interne koëffisiëntfunksie | ||||||
m18×18_vol | Nie gebruik nie | 19 (geteken)
18 (ongeteken) |
Nie gebruik nie | 19 (geteken)
18 (ongeteken) |
Nie gebruik nie | |
m18×18_somof2 | ||||||
m18×18_sistolies | ||||||
m27×27 | 27 (geteken)
27 (ongeteken) |
Nie gebruik nie |
Funksionele beskrywing
Die Cyclone 10 GX Native Fixed Point DSP IP-kern bestaan uit 2 argitekture; 18 × 18 vermenigvuldiging en 27 × 27 vermenigvuldiging. Elke instansiasie van die Cyclone 10 GX Native Fixed Point DSP IP-kern genereer slegs 1 van die 2 argitekture afhangende van die geselekteerde operasionele modusse. Jy kan opsionele modules vir jou toepassing aktiveer.
Verwante inligting
Veranderlike presisie DSP-blokke in Intel Cyclone 10 GX-toestelle hoofstuk, Intel Cyclone 10 GX Core Fabric en algemene doel I/O's-handboek.
Operasionele modusse
Die Cyclone 10 GX Native Fixed Point DSP IP-kern ondersteun 5 operasionele modusse:
- Die 18 × 18 volle modus
- Die 18 × 18 Som van 2-modus
- Die 18 × 18 Plus 36-modus
- Die 18 × 18 sistoliese modus
- Die 27 × 27-modus
Die 18 × 18 volle modus
Wanneer gekonfigureer as 18 × 18 volmodus, werk die Cyclone 10 GX Native Fixed Point DSP IP-kern as twee onafhanklike 18 (geteken/ongeteken) × 19 (geteken) of 18
(geteken/ongeteken) × 18 (ongeteken) vermenigvuldigers met 37-bis afvoer. Hierdie modus pas die volgende vergelykings toe:
- resulta = byl * ay
- resultaatb = bx * by
Die 18 × 18 Volmodus-argitektuur
Die 18 × 18 Som van 2-modus
In 18 × 18 Som van 2-modusse, aktiveer die Cyclone 10 GX Native Fixed Point DSP IP-kern die boonste en onderste vermenigvuldigers en genereer 'n resultaat van optelling of aftrekking tussen die 2 vermenigvuldigers. Die sub-dinamiese beheersein beheer 'n opteller om die optel- of aftrekbewerkings uit te voer. Die resulterende uitsetwydte van die Cyclone 10 GX Native Fixed Point DSP IP-kern kan tot 64 bisse ondersteun wanneer jy akkumulator/afvoerkaskade aktiveer. Hierdie modus pas die vergelyking van resulta =[±(ax * ay) + (bx * by)] toe.
Die 18 × 18 Som van 2 Modus-argitektuur
Die 18 × 18 Plus 36-modus
Wanneer gekonfigureer as 18 × 18 Plus 36-modus, stel die Cyclone 10 GX Native Fixed Point DSP IP-kern slegs die boonste vermenigvuldiger in staat. Hierdie modus pas die vergelyking van resulta = (ax * ay) + concatenate(bx[17:0],by[17:0] toe).
Die 18 × 18 Plus 36-modus-argitektuur
Jy moet die Voorstellingsformaat vir onderste vermenigvuldigers y operand op ongeteken stel wanneer jy hierdie modus gebruik. Wanneer die invoerbus in hierdie modus minder as 36-bis is, moet u die nodige ondertekende uitbreiding verskaf om die 36-bis-invoer te vul.
Gebruik minder as 36-bis operand in 18 × 18 Plus 36-modus
Hierdie example wys hoe om die Cyclone 10 GX Native Fixed Point DSP IP-kern te konfigureer om 18 × 18 Plus 36 operasionele modus te gebruik met 'n getekende 12-bis invoerdata van 101010101010 (binêr) in plaas van 'n 36-bis operand.
- Stel voorstellingformaat vir onderste vermenigvuldiger x operand: na onderteken.
- Stel voorstellingsformaat vir onderste vermenigvuldiger y operand: na ongeteken.
- Stel 'bx'-invoerbuswydte na 18.
- Stel 'deur' invoerbuswydte na 18.
- Verskaf data van '111111111111111111' na bx-invoerbus.
- Verskaf data van '111111101010101010' per insetbus.
Die 18 × 18 sistoliese modus
In 18 × 18 sistoliese operasionele modusse, maak die Cyclone 10 GX Native Fixed Point DSP IP-kern die boonste en onderste vermenigvuldigers, 'n inset sistoliese register vir die boonste vermenigvuldiger, en 'n ketting sistoliese register vir die ketting in insetseine moontlik. Wanneer jy uitsetkaskade aktiveer, ondersteun hierdie modus 'n uitsetwydte van 44 bisse. Wanneer u die akkumulatorfunksie sonder uitsetkaskade aktiveer, kan u die resultaatuitsetwydte op 64 bisse instel.
Die 18 × 18 sistoliese modus argitektuur
Die 27 × 27-modus
Wanneer gekonfigureer as 27 × 27 modusse, maak die Cyclone 10 GX Native Fixed Point DSP IP-kern 'n 27 (geteken/ongeteken) × 27 (geteken/ongeteken) vermenigvuldiger moontlik. Die uitsetbus kan tot 64 bisse ondersteun met akkumulator/uitsetkaskade geaktiveer. Hierdie modus pas die vergelyking van resulta = ax * ay toe.
Die 27 × 27 modus argitektuur
Opsionele Modules
Die opsionele modules beskikbaar in die Cyclone 10 GX Native Fixed Point DSP IP Core is:
- Invoerkaskade
- Vooroptellers
- Interne koëffisiënt
- Akkumulator en uitsetkaskade
- Pyplyn registers
Invoer Cascade
Invoerkaskade-funksie word ondersteun op ay en deur insetbus. Wanneer jy Aktiveer insetkaskade vir 'ay'-invoer op Ja stel, sal die Cyclone 10 GX Native Fixed Point DSP IP-kern insette van skandeer-insetseine in plaas van ay-invoerbus neem. Wanneer jy Aktiveer insetkaskade vir 'deur' invoer op Ja stel, sal die Cyclone 10 GX Native Fixed Point DSP IP-kern insette van ay-invoerbus neem in plaas van deur insetbus.
Dit word aanbeveel om die invoerregisters vir ay te aktiveer en/of teen elke keer wanneer invoerkaskade geaktiveer is vir die korrektheid van die toepassing.
U kan die vertragingsregisters in staat stel om die vertragingsvereiste tussen die insetregister en die uitsetregister te pas. Daar is 2 vertragingsregisters in die kern. Die boonste vertragingsregister word gebruik vir ay- of skandering-invoerpoorte, terwyl die onderste vertragingsregister gebruik word vir scanout-uitvoerpoorte. Hierdie vertragingsregisters word ondersteun in 18 × 18 volmodus, 18 × 18 somme van 2 modusse en 18 × 18 sistoliese modusse.
Vooropteller
Die vooropteller kan in die volgende konfigurasies gekonfigureer word:
- Twee onafhanklike 18-bis (getekende/ongetekende) voorafoptellers.
- Een 26-bis pre-adder.
Wanneer jy vooropteller in 18 × 18 vermenigvuldigingsmodusse aktiveer, word ay en az as die invoerbus na die boonste vooropteller gebruik, terwyl by en bz as die invoerbus na die onderste vooropteller gebruik word. Wanneer jy vooropteller in 27 × 27 vermenigvuldigingsmodus aktiveer, word ay en az as die invoerbus na die vooropteller gebruik. Die vooropteller ondersteun beide optel- en aftrekbewerkings. Wanneer beide vooroptellers binne dieselfde DSP-blok gebruik word, moet hulle dieselfde bewerkingstipe deel (óf optel óf aftrekking).
Interne koëffisiënt
Die interne koëffisiënt kan tot agt konstante koëffisiënte vir die veelvoude in 18-bis en 27-bis modusse ondersteun. Wanneer jy die interne koëffisiënt-kenmerk aktiveer, sal twee insetbusse gegenereer word om die keuse van die koëffisiëntvermenigvuldiger te beheer. Die coefsela-invoerbus word gebruik om die voorafbepaalde koëffisiënte vir die boonste vermenigvuldiger te kies en die raadsinvoerbus word gebruik om die voorafbepaalde koëffisiënte vir die onderste vermenigvuldiger te kies.
Die interne koëffisiëntberging ondersteun nie dinamies beheerbare koëffisiëntwaardes nie en eksterne koëffisiëntberging is nodig om so 'n bewerking uit te voer.
Akkumulator en uitsetkaskade
Die akkumulatormodule kan geaktiveer word om die volgende bewerkings uit te voer:
- Optel- of aftrekbewerking
- Bevooroordeelde afrondingsbewerking met 'n konstante waarde van 2N
- Dubbelkanaal-akkumulasie
Om optel- of aftrekbewerking van die akkumulator dinamies uit te voer, beheer die ontkennende insetsein. Vir 'n bevooroordeelde afrondingsbewerking kan jy 'n voorafbepaalde konstante van 2N spesifiseer en laai voordat die akkumulatormodule geaktiveer word deur 'n heelgetal van die parameter N-waarde van die voorafbepaalde konstante te spesifiseer. Die heelgetal N moet minder as 64 wees. Jy kan die gebruik van die voorafbepaalde konstante dinamies aktiveer of deaktiveer deur die loadconst-sein te beheer. U kan hierdie bewerking gebruik as 'n aktiewe samevoeging van die ronde waarde in die akkumulatorterugvoerpad. Die gelaaide koste en die opgehoopte seingebruik sluit mekaar uit.
Jy kan die dubbelakkumulatorregister aktiveer deur die parameter Aktiveer dubbelakkumulator om dubbele akkumulasie uit te voer. Die akkumulatormodule kan die ketting van veelvuldige DSP-blokke ondersteun vir optel- of aftrekbewerkings deur die ketting-invoerpoort en ketting-uit-uitvoerpoort te aktiveer. In 18 × 18 sistoliese modus sal slegs 44-bis van die kettinginvoerbus en kettinguitsetbus gebruik word. Alle 64-bis-kettings in die insetbus moet egter aan die uitketting-uitsetbus van die voorafgaande DSP-blok gekoppel word.
Pyplynregister
Die Cyclone 10 GX Native Fixed Point DSP IP-kern ondersteun 'n enkele vlak van pyplynregister. Die pyplynregister ondersteun tot drie klokbronne en een asynchrone duidelike sein om die pyplynregisters terug te stel. Daar is vyf pyplynregisters:
- data invoer bus pyplyn register
- sub dinamiese beheer sein pyplyn register
- ontken dinamiese beheer sein pyplyn register
- versamel dinamiese beheer sein pyplyn register
- loadconst dinamiese beheer pyplyn register
Jy kan kies om elke data-invoerbuspyplynregisters en die dinamiese beheerseinpyplynregisters onafhanklik te aktiveer. Alle geaktiveerde pyplynregisters moet egter dieselfde klokbron gebruik.
Klokskema
Die invoer-, pyplyn- en uitsetregisters in die Cyclone 10 GX Native Fixed Point DSP IP-kern ondersteun drie klokbronne/aktivasies en twee asynchrone skoonmaak. Alle invoerregisters gebruik aclr[0] en alle pyplyn- en uitsetregisters gebruik aclr[1]. Elke registertipe kan een van die drie klokbronne en klokaktiveerseine kies. Wanneer jy die Cyclone 10 GX Native Fixed Point DSP IP-kern konfigureer na 18 × 18 sistoliese werkingsmodus, sal die Intel Quartus Prime-sagteware die invoer sistoliese register en die ketting sistoliese register klokbron op dieselfde klokbron stel as die uitsetregister intern.
Wanneer jy die dubbelakkumulatorfunksie aktiveer, sal die Intel Quartus Prime-sagteware die dubbelakkumulatorregisterklokbron op dieselfde klokbron stel as die uitsetregister intern.
Klokskema-beperkings
Hierdie oortjie wys die beperkings wat jy moet toepas vir al die register klokskemas.
Toestand | Beperking |
Wanneer pre-adder geaktiveer is | Klokbron vir ay- en az-invoerregisters moet dieselfde wees. |
Klokbron vir by- en bz-invoerregisters moet dieselfde wees. | |
Wanneer pyplynregisters geaktiveer is | Klokbron vir alle pyplynregisters moet dieselfde wees. |
Wanneer enige van die insette registreer vir dinamiese beheerseine | Klokbron vir invoerregisters vir sub, accumulate, loadconst en negate moet dieselfde wees. |
Cyclone 10 GX Native Fixed Point DSP IP Core Seine
Die volgende figuur toon die inset- en uitsetseine van die Cyclone 10 GX Native Fixed Point DSP IP-kern.
Cyclone 10 GX Native Fixed Point DSP IP Core Seine
Data-invoerseine
Sein Naam | Tik | Breedte | Beskrywing |
byl[] | Invoer | 27 | Voer databus in na boonste vermenigvuldiger. |
ja [] | Invoer | 27 | Voer databus in na boonste vermenigvuldiger.
Wanneer vooropteller geaktiveer is, word hierdie seine as insetseine na die boonste vooropteller bedien. |
az[] | Invoer | 26 | Hierdie seine is insetseine na die boonste vooropteller.
Hierdie seine is slegs beskikbaar wanneer pre-adder geaktiveer is. Hierdie seine is nie beskikbaar in m18×18_plus36 operasionele modus. |
bx[] | Invoer | 18 | Voer databus na onderste vermenigvuldiger in.
Hierdie seine is nie beskikbaar in m27×27 operasionele modus. |
deur[] | Invoer | 19 | Voer databus na onderste vermenigvuldiger in.
Wanneer vooropteller geaktiveer is, dien hierdie seine as insetseine na die onderste vooropteller. Hierdie seine is nie beskikbaar in m27×27 operasionele modus. |
bz[] | Invoer | 18 | Hierdie seine is insetseine na die onderste vooropteller. Hierdie seine is slegs beskikbaar wanneer pre-adder geaktiveer is. Hierdie seine is nie beskikbaar in m27×27 en m18×18_plus36 operasionele modusse. |
Data Uitset Seine
Sein Naam | Tik | Breedte | Beskrywing |
resultaat[] | Uitset | 64 | Uitvoer data bus vanaf top vermenigvuldiger.
Hierdie seine ondersteun tot 37 bisse vir m18×18_vol operasionele modus. |
resultaatb[] | Uitset | 37 | Voer databus uit vanaf onderste vermenigvuldiger.
Hierdie seine slegs beskikbaar in m18×18_vol operasionele modus. |
Klok, aktiveer en maak seine skoon
Sein Naam | Tik | Breedte | Beskrywing |
klk[] | Invoer | 3 | Voer klokseine vir alle registers in.
Hierdie klokseine is slegs beskikbaar as enige van die insetregisters, pyplynregisters of uitsetregister op gestel is Horlosie 0, Horlosie 1, of Horlosie 2. • clk[0] = Horlosie 0 • clk[1] = Horlosie 1 • clk[2] = Horlosie 2 |
ena[] | Invoer | 3 | Klok aktiveer vir clk[2:0]. Hierdie sein is aktief-Hoog.
• ena[0] is vir Horlosie 0 • ena[1] is vir Horlosie 1 • ena[2] is vir Horlosie 2 |
aclr[] | Invoer | 2 | Asinchroniese duidelike insetseine vir alle registers. Hierdie sein is aktief-Hoog.
Gebruik aclr[0] vir alle invoerregisters en gebruik aclr[1] vir alle pyplynregisters en uitsetregister. By verstek word hierdie sein gedeaktiveer. |
Dinamiese beheer seine
Sein Naam | Tik | Breedte | Beskrywing |
sub | Invoer | 1 | Invoersein om die uitset van die boonste vermenigvuldiger op te tel of af te trek met die uitset van die onderste vermenigvuldiger.
• Verklaar hierdie sein om optelbewerking te spesifiseer. • Bevestig hierdie sein om aftrekbewerking te spesifiseer. By verstek, is hierdie sein deasserted. Jy kan hierdie sein tydens looptyd bevestig of weerlê.(3) |
ontken | Invoer | 1 | Invoersein om die som van boonste en onderste vermenigvuldigers op te tel of af te trek met die data van kettingseine.
• Verklaar hierdie sein om optelbewerking te spesifiseer. • Bevestig hierdie sein om aftrekbewerking te spesifiseer. By verstek, is hierdie sein deasserted. Jy kan hierdie sein tydens looptyd bevestig of weerlê.(3) |
ophoop | Invoer | 1 | Invoersein om die akkumulatorfunksie te aktiveer of te deaktiveer.
• Verklaar hierdie sein om die akkumulatorfunksie te deaktiveer. • Bevestig hierdie sein om die akkumulatorfunksie te aktiveer. By verstek, is hierdie sein deasserted. Jy kan hierdie sein tydens looptyd bevestig of weerlê.(3) |
laskonst | Invoer | 1 | Invoersein om die laskonstante-kenmerk te aktiveer of te deaktiveer.
• Verminder hierdie sein om die laskonstante-kenmerk te deaktiveer. • Bevestig hierdie sein om die laskonstante-kenmerk te aktiveer. By verstek, is hierdie sein deasserted. Jy kan hierdie sein tydens looptyd bevestig of weerlê.(3) |
Interne koëffisiënte seine
Sein Naam | Tik | Breedte | Beskrywing |
coefsela[] | Invoer | 3 | Invoerkeuseseine vir 8 koëffisiëntwaardes gedefinieer deur gebruiker vir die boonste vermenigvuldiger. Die koëffisiëntwaardes word in die interne geheue gestoor en deur parameters gespesifiseer koef_a_0 aan koef_a_7.
• coefsela[2:0] = 000 verwys na koef_a_0 • coefsela[2:0] = 001 verwys na koef_a_1 • coelsela[2:0] = 010 verwys na koef_a_2 • … ensovoorts. Hierdie seine is slegs beskikbaar wanneer die interne koëffisiëntfunksie geaktiveer is. |
coefselb[] | Invoer | 3 | Invoerkeuseseine vir 8 koëffisiëntwaardes gedefinieer deur gebruiker vir die onderste vermenigvuldiger. Die koëffisiëntwaardes word in die interne geheue gestoor en deur parameters gespesifiseer koef_b_0 aan koef_b_7.
• coefselb[2:0] = 000 verwys na koef_b_0 • coefselb[2:0] = 001 verwys na koef_b_1 • coelselb[2:0] = 010 verwys na koef_b_2 • … ensovoorts. Hierdie seine is slegs beskikbaar wanneer die interne koëffisiëntfunksie geaktiveer is. |
Invoer kaskade seine
Sein Naam | Tik | Breedte | Beskrywing |
skandeer[] | Invoer | 27 | Invoerdatabus vir invoerkaskademodule.
Koppel hierdie seine aan die scanout-seine van die voorafgaande DSP-kern. |
scanout[] | Uitset | 27 | Uitsetdatabus van die insetkaskademodule.
Koppel hierdie seine aan die skandeerseine van die volgende DSP-kern. |
Uitset kaskade seine
Sein Naam | Tik | Breedte | Beskrywing |
ketting [] | Invoer | 64 | Invoerdatabus vir uitsetkaskademodule.
Koppel hierdie seine aan die uitkettingseine van die voorafgaande DSP-kern. |
ketting uit[] | Uitset | 64 | Uitset data bus van die uitset kaskade module.
Koppel hierdie seine aan die kettingseine van die volgende DSP-kern. |
Dokumenthersieningsgeskiedenis vir die Cyclone 10 GX Native Fixed Point DSP IP Core Gebruikersgids
Datum | Weergawe | Veranderinge |
November 2017 | 2017.11.06 | Aanvanklike vrystelling. |
Intel Corporation. Alle regte voorbehou. Intel, die Intel-logo en ander Intel-merke is handelsmerke van Intel Corporation of sy filiale. Intel waarborg die werkverrigting van sy FPGA- en halfgeleierprodukte volgens huidige spesifikasies in ooreenstemming met Intel se standaardwaarborg, maar behou die reg voor om enige tyd sonder kennisgewing veranderinge aan enige produkte en dienste aan te bring. Intel aanvaar geen verantwoordelikheid of aanspreeklikheid wat voortspruit uit die toepassing of gebruik van enige inligting, produk of diens wat hierin beskryf word nie, behalwe soos uitdruklik skriftelik deur Intel ooreengekom. Intel-kliënte word aangeraai om die nuutste weergawe van toestelspesifikasies te bekom voordat hulle op enige gepubliseerde inligting staatmaak en voordat bestellings vir produkte of dienste geplaas word.
Ander name en handelsmerke kan as die eiendom van ander geëis word.
Dokumente / Hulpbronne
![]() |
intel UG-20094 Cyclone 10 GX Native Fixed Point DSP IP Core [pdf] Gebruikersgids UG-20094 Cyclone 10 GX Native Fixed Point DSP IP Core, UG-20094, Cyclone 10 GX Native Fixed Point DSP IP Core, Native Fixed Point DSP IP Core, Fixed Point DSP IP Core, DSP IP Core |