intel-logo

intel UG-20094 Cyclone 10 GX Native Vast Punt DSP IP Core

intel-UG-20094-Cyclone-10-GX-Native-Fixed-Point-DSP-IP-Core-PRODUCT

Intel® Cyclone® 10 GX Native Fixed Point DSP IP Core Gebruikershandleiding

De Intel Cyclone® 10 GX Native Fixed Point DSP IP-kern instantiëert en bestuurt een enkel Intel Cyclone 10 GX Variable Precision Digital Signal Processing (DSP)-blok. De Cyclone 10 GX Native Fixed Point DSP IP-kern is alleen beschikbaar voor Intel Cyclone 10 GX-apparaten.

Cyclone 10 GX Native Fixed Point DSP IP Core functioneel blokdiagramintel-UG-20094-Cyclone-10-GX-Native-Fixed-Point-DSP-IP-Core-FIG- (1)

Gerelateerde informatie
Inleiding tot Intel FPGA IP-kernen.

Cyclone 10 GX Native Fixed Point DSP IP-kernfuncties

De Cyclone 10 GX Native Fixed Point DSP IP-kern ondersteunt de volgende functies:

  • Krachtige, energiezuinige en volledig geregistreerde vermenigvuldigingsbewerkingen
  • Woordlengten van 18 bits en 27 bits
  • Twee vermenigvuldigers van 18 × 19 of één vermenigvuldiger van 27 × 27 per DSP-blok
  • Ingebouwde optelling, aftrekking en 64-bit dubbel accumulatieregister om vermenigvuldigingsresultaten te combineren
  • Cascading 19-bit of 27-bit wanneer pre-adder is uitgeschakeld en cascadering 18-bit wanneer pre-adder wordt gebruikt om de tap-delay-lijn te vormen voor filtertoepassingen
  • Cascaderende 64-bits uitgangsbus om uitgangsresultaten van het ene blok naar het volgende blok te verspreiden zonder externe logische ondersteuning
  • Harde pre-adder ondersteund in 19-bits en 27-bits modi voor symmetrische filters
  • Interne coëfficiëntenregisterbank in zowel 18-bits als 27-bits modi voor filterimplementatie
  • 18-bits en 27-bits systolische FIR-filters (Finite Impulse Response) met gedistribueerde uitgangsopteller

Aan de slag

Dit hoofdstuk geeft een algemeen overzichtview van de Intel FPGA IP-kernontwerpstroom om u te helpen snel aan de slag te gaan met de Cyclone 10 GX Native Fixed Point DSP IP-kern. De Intel FPGA IP-bibliotheek wordt geïnstalleerd als onderdeel van het Intel Quartus® Prime-installatieproces. U kunt elke Intel FPGA IP-core uit de bibliotheek selecteren en parametriseren. Intel biedt een geïntegreerde parametereditor waarmee u de Intel FPGA DSP IP-kern kunt aanpassen om een ​​grote verscheidenheid aan toepassingen te ondersteunen. De parametereditor begeleidt u bij het instellen van parameterwaarden en de selectie van optionele poorten.

Gerelateerde informatie

  • Inleiding tot Intel FPGA IP-kernen
    Biedt algemene informatie over alle Intel FPGA IP-cores, inclusief het parametriseren, genereren, upgraden en simuleren van IP-cores.
  • Versie-onafhankelijke IP- en platformontwerper-simulatiescripts (standaard) maken
    Maak simulatiescripts waarvoor geen handmatige updates voor software- of IP-versie-upgrades nodig zijn.
  • Best practices voor projectbeheer
    Richtlijnen voor efficiënt beheer en overdraagbaarheid van uw project en IP files.
Cyclone 10 GX Native Fixed Point DSP IP Core-parameterinstellingen

U kunt de Cyclone 10 GX Native Fixed Point DSP IP-kern aanpassen door de parameters op te geven met behulp van de parametereditor in de Intel Quartus Prime-software.

Bedieningsmodus Tab

Parameter IP-gegenereerde parameter Waarde Beschrijving
Kies de bedieningsmodus operatie modus m18×18_full m18×18_sumof2 m18×18_plus36 m18×18_systolic m27×27 Selecteer de gewenste bedrijfsmodus.
Vermenigvuldigerconfiguratie
Weergaveformaat voor topvermenigvuldiger x operand ondertekend_max ondertekend niet ondertekend Geef het representatieformaat op voor de hoogste vermenigvuldiger x-operand.
Parameter IP-gegenereerde parameter Waarde Beschrijving
Weergaveformaat voor topvermenigvuldiger en operand ondertekend_mei ondertekend niet ondertekend Geef het representatieformaat op voor de hoogste vermenigvuldiger en operand.
Weergaveformaat voor onderste vermenigvuldiger x operand ondertekend_mbx ondertekend niet ondertekend Geef het representatieformaat op voor de onderste vermenigvuldiger x-operand.
Weergaveformaat voor onderste vermenigvuldiger en operand ondertekend_mby ondertekend niet ondertekend Geef het representatieformaat op voor de onderste vermenigvuldiger en operand.

Selecteer altijd niet ondertekend voor m18×18_plus36 .

Schakel 'sub'-poort in enable_sub Nee Ja Selecteer Ja in staat stellen

sub-poort.

Registreer invoer 'sub' van de vermenigvuldiger sub_klok Nee Klok0 Klok1 Klok2 Selecteer Klok0, Klok1, of Klok2 om het ingangskloksignaal voor het subingangsregister in te schakelen en te specificeren.
Ingangscascade
Schakel ingangscascade in voor 'ay'-ingang ay_use_scan_in Nee Ja Selecteer Ja om de ingangscascademodule in te schakelen voor elke gegevensinvoer.

Wanneer u de ingangscascademodule inschakelt, gebruikt de Cyclone 10 GX Native Fixed Point DSP IP-kern de scaningangssignalen als ingang in plaats van alle ingangssignalen.

Schakel ingangscascade in voor 'door'-invoer by_use_scan_in Nee Ja Selecteer Ja om de ingangscascademodule in te schakelen voor gegevensinvoer.

Wanneer u de ingangscascademodule inschakelt, gebruikt de Cyclone 10 GX Native Fixed Point DSP IP-kern de ingangssignalen als ingang in plaats van als ingangssignalen.

Gegevens- en vertragingsregister inschakelen delay_scan_out_ay Nee Ja Selecteer Ja om vertragingsregister tussen ay en door invoerregisters in te schakelen.

Deze functie wordt niet ondersteund in m18×18_plus36 En m27x27 operationele modus.

Parameter IP-gegenereerde parameter Waarde Beschrijving
Gegevens inschakelen via vertragingsregister delay_scan_out_by Nee Ja Selecteer Ja om het vertragingsregister tussen de ingangsregisters en de scanout-uitgangsbus in te schakelen.

Deze functie wordt niet ondersteund in m18×18_plus36 En m27x27 operationele modus.

Schakel scanoutpoort in gui_scanout_enable Nee Ja Selecteer Ja in staat stellen

scanout-uitgangsbus.

'scanout'-uitvoerbusbreedte scan_uit_breedte 1–27 Geef de breedte op van

scanout-uitgangsbus.

Gegevens 'x'-configuratie
'ax' invoerbusbreedte bijl_breedte 1–27 Geef de breedte op van

ax ingangsbus.(1)

Registreer invoer 'ax' van de vermenigvuldiger bijl_klok Nee Klok0 Klok1 Klok2 Selecteer Klok0, Klok1, of Klok2 om het ingangskloksignaal voor het ax-ingangsregister in te schakelen en te specificeren.

ax-invoerregister is niet beschikbaar als u dit instelt 'ax'-operandbron naar 'coef'.

'bx' invoerbusbreedte bx_breedte 1–18 Geef de breedte op van

bx-ingangsbus.(1)

Registreer invoer 'bx' van de vermenigvuldiger bx_klok Nee Klok0 Klok1 Klok2 Selecteer Klok0, Klok1, of Klok2 om het ingangskloksignaal voor het bx-ingangsregister in te schakelen en te specificeren.

bx-ingangsregister is niet beschikbaar als u dit instelt 'bx'-operandbron naar 'coef'.

Gegevens 'y'-configuratie
'ay' of 'scanin' busbreedte ay_scan_in_width 1–27 Specificeer de breedte van een of scaninvoerbus.(1)
Registreer invoer 'ay' of voer 'scanin' van de vermenigvuldiger in ay_scan_in_clock Nee Klok0 Klok1 Klok2 Selecteer Klok0, Klok1, of Klok2 om het ingangskloksignaal voor elk of scaninvoerregister in te schakelen en te specificeren.
'op' ingangsbusbreedte op_breedte 1–19 Specificeer de breedte van de invoerbus.(1)
Parameter IP-gegenereerde parameter Waarde Beschrijving
Registreer invoer 'door' van de vermenigvuldiger tegen_klok Nee Klok0 Klok1 Klok2 Selecteer Klok0, Klok1, of Klok2 om het ingangskloksignaal voor by of scanin in te schakelen en te specificeren

invoerregister.(1)

Uitvoer 'resultaat'-configuratie
'resulta' uitvoerbusbreedte resultaat_a_breedte 1–64 Geef de breedte op van

resulterende uitgangsbus.

'resultb' uitvoerbusbreedte resultaat_b_breedte 1–64 Specificeer de breedte van de resultaatuitvoerbus. resultb alleen beschikbaar bij gebruik van operations_mode m18×18_vol.
Gebruik uitvoerregister uitvoer_klok Nee Klok0 Klok1 Klok2 Selecteer Klok0, Klok1, of Klok2 om het ingangskloksignaal voor resulta- en resultb-uitgangsregisters in te schakelen en te specificeren.

Tabblad Pre-adder

Parameter IP-gegenereerde parameter Waarde Beschrijving
'ay'-operandbron operand_source_may invoervoorloper Specificeer de operandbron voor elke invoer. Selecteer voorloper om pre-addermodule voor topvermenigvuldiger in te schakelen. Instellingen voor elke en per operandbron moeten hetzelfde zijn.
'per' operandbron operand_bron_mby invoervoorloper Specificeer de operandbron voor invoer. Selecteer voorloper om pre-addermodule voor bodemvermenigvuldiger in te schakelen. Instellingen voor elke en per operandbron moeten hetzelfde zijn.
Stel vóór het optellen een bewerking in op aftrekken preadder_subtract_a Nee Ja Selecteer Ja om de aftrekkingsbewerking voor de pre-addermodule voor de bovenste vermenigvuldiger te specificeren. Pre-adder-instellingen voor de bovenste en onderste vermenigvuldiger moeten hetzelfde zijn.
Stel pre-optelling b-bewerking in op aftrekken preadder_subtract_b Nee Ja Selecteer Ja om de aftrekkingsbewerking voor de pre-addermodule voor de onderste vermenigvuldiger te specificeren. Pre-adder-instellingen voor de bovenste en onderste vermenigvuldiger moeten hetzelfde zijn.
Gegevens 'z'-configuratie
'az' invoerbusbreedte az_breedte 1–26 Geef de breedte op van een z-invoerbus.(1)
Registreer invoer 'az' van de vermenigvuldiger az_klok Nee Klok0 Klok1 Klok2 Selecteer Klok0, Klok1, of Klok2 om het ingangskloksignaal voor az-ingangsregisters in te schakelen en te specificeren. Klokinstellingen voor ay- en az-ingangsregisters moeten hetzelfde zijn.
'bz' invoerbusbreedte bz_breedte 1–18 Specificeer de breedte van de bz-invoerbus.(1)
Registreer invoer 'bz' van de vermenigvuldiger bz_klok Nee Klok0 Klok1 Klok2 Selecteer Klok0, Klok1, of Klok2 om het ingangskloksignaal voor bz-ingangsregisters in te schakelen en te specificeren. Klokinstellingen voor by- en bz-ingangsregisters moeten hetzelfde zijn.

Tabblad Interne Coëfficiënt

Parameter IP-gegenereerde parameter Waarde Beschrijving
'ax'-operandbron operand_bron_max invoer coëfficient Specificeer de operandbron voor de ax-invoerbus. Selecteer coëfficient om de interne coëfficiëntenmodule voor de topvermenigvuldiger in te schakelen.

Selecteer Nee voor Registreer invoer 'ax' van de vermenigvuldiger parameter wanneer u de interne coëfficiëntfunctie inschakelt.

Parameter IP-gegenereerde parameter Waarde Beschrijving
      Instellingen voor ax- en bx-operandbron moeten hetzelfde zijn.
'bx'-operandbron operand_source_mbx invoer coëfficient Specificeer de operandbron voor de bx-ingangsbus. Selecteer coëfficient om de interne coëfficiëntenmodule voor de topvermenigvuldiger in te schakelen.

Selecteer Nee voor Registreer invoer 'bx' van de vermenigvuldiger parameter wanneer u de interne coëfficiëntfunctie inschakelt.

Instellingen voor ax- en bx-operandbron moeten hetzelfde zijn.

'coefsel' Invoerregisterconfiguratie
Registreer invoer 'coefsela' van de vermenigvuldiger coef_sel_a_clock Nee Klok0 Klok1 Klok2 Selecteer Klok0, Klok1, of Klok2 om het ingangskloksignaal voor de coefsela-ingangsregisters in te schakelen en te specificeren.
Registreer invoer 'coefselb' van de vermenigvuldiger coef_sel_b_klok Nee Klok0 Klok1 Klok2 Selecteer Klok0, Klok1, of Klok2 om het ingangskloksignaal voor de coefselb-ingangsregisters in te schakelen en te specificeren.
Coëfficiënte opslagconfiguratie
coef_a_0–7 coef_a_0–7 Geheel getal Specificeer de coëfficiëntwaarden voor de ax-invoerbus.

Voor 18-bits werking is de maximale invoerwaarde 218 – 1. Voor 27-bits werking is de maximale waarde 227 – 1.

coef_b_0–7 coef_b_0–7 Geheel getal Specificeer de coëfficiëntwaarden voor de bx-ingangsbus.

Tabblad Accumulator/Uitgangscascade

Parameter IP-gegenereerde parameter Waarde Beschrijving
Schakel de 'accumulatie'-poort in enable_accumulate Nee Ja Selecteer Ja in staat stellen

accu poort.

Schakel 'negatie'-poort in enable_negate Nee Ja Selecteer Ja in staat stellen

poort ontkennen.

Schakel 'loadconst'-poort in enable_loadconst Nee Ja Selecteer Ja in staat stellen

loadconst-poort.

Registreer invoer 'accumuleren' van de accu accumuleren_klok Nee Klok0 Klok1 Klok2 Selecteer Klok0 , Klok1, of Klok2 om het ingangskloksignaal voor de verzamelde ingangsregisters in te schakelen en te specificeren.
Parameter IP-gegenereerde parameter Waarde Beschrijving
Registreer invoer 'loadconst' van de accu laad_const_clock Nee Klok0 Klok1 Klok2 Selecteer Klok0, Klok1, of Klok2 om het ingangskloksignaal voor de loadconst-ingangsregisters in te schakelen en te specificeren.
Registeringang 'negeren' van de opteleenheid negeer_klok Nee Klok0 Klok1 Klok2 Selecteer Klok0, Klok1, of Klok2 om het ingangskloksignaal voor de negatieve ingangsregisters in te schakelen en te specificeren.
Dubbele accumulator inschakelen enable_double_accum Nee Ja Selecteer Ja om de dubbele accumulatorfunctie in te schakelen.
N-waarde van vooraf ingestelde constante belasting_const_waarde 0 – 63 Geef de vooraf ingestelde constante waarde op.

Deze waarde kan 2 zijnN waar N is de vooraf ingestelde constante waarde.

Chainin-poort inschakelen gebruik_chainadder Nee Ja Selecteer Ja om de uitgangscascademodule en de chainin-ingangsbus in te schakelen.

De cascadefunctie voor uitvoer wordt niet ondersteund in m18×18_vol operatie modus.

Chainout-poort inschakelen gui_chainout_enable Nee Ja Selecteer Ja om de chainout-uitgangsbus in te schakelen. De cascadefunctie voor uitvoer wordt niet ondersteund in

m18×18_vol operatie modus.

Tabblad Pipelining

Parameter IP-gegenereerde parameter Waarde Beschrijving
Voeg invoerpijplijnregister toe aan het invoergegevenssignaal (x/y/z/coefsel) invoer_pijplijn_klok Nee Klok0 Klok1 Klok2 Selecteer Klok0, Klok1, of Klok2 om het ingangskloksignaal voor x-, y-, z-, coefsela- en coefselb-pijplijningangsregisters in te schakelen en te specificeren.
Voeg een ingangspijplijnregister toe aan het 'sub'-datasignaal sub_pipeline_klok Nee Klok0 Klok1 Klok2 Selecteer Klok0, Klok1, of Klok2 om het ingangskloksignaal voor het subpijplijningangsregister in te schakelen en te specificeren. (2)
Voeg het invoerpijplijnregister toe aan het 'accumulatie'-gegevenssignaal accum_pipeline_clock Nee Klok0 Klok1 Klok2 Selecteer Klok0, Klok1, of Klok2 om het ingangskloksignaal voor het verzamelde pijplijningangsregister in te schakelen en te specificeren.(2)
Voeg een invoerpijplijnregister toe aan het 'loadconst'-gegevenssignaal load_const_pipeline_clock Nee Klok0 Klok1 Klok2 Selecteer Klok0, Klok1, of Klok2 om het ingangskloksignaal voor het loadconst pijplijningangsregister in te schakelen en te specificeren.(2)
Voeg het invoerpijplijnregister toe aan het 'negatieve' datasignaal negate_pipeline_clock Nee Klok0 Klok1 Klok2 Selecteer Klok0, Klok1, of Klok2 om het ingangskloksignaal voor het negatieve pijplijningangsregister in te schakelen en te specificeren.(2)

Maximale invoergegevensbreedte per bedieningsmodus
U kunt de gegevensbreedte voor x-, y- en z-invoer aanpassen zoals aangegeven in de tabel.

Alle pijplijningangsregisters voor dynamische stuursignalen moeten dezelfde klokinstelling hebben.

Werkingsmodus Maximale invoergegevensbreedte
ax ay az bx by bz
Zonder pre-adder of interne coëfficiënt
m18×18_vol 18 (getekend)

18

(niet ondertekend)

19 (getekend)

18 (niet ondertekend)

Niet gebruikt 18 (getekend)

18

(niet ondertekend)

19 (getekend)

18

(niet ondertekend)

Niet gebruikt
m18×18_somof2
m18×18_systolisch
m18×18_plus36
m27×27 27 (getekend)

27 (niet ondertekend)

Niet gebruikt
Alleen met pre-adder-functie
m18×18_vol 18 (getekend)

18 (niet ondertekend)

m18×18_somof2
m18×18_systolisch
m27×27 27 (getekend)

27

(niet ondertekend)

26 (getekend)

26 (niet ondertekend)

Niet gebruikt
Alleen met interne coëfficiëntfunctie
m18×18_vol Niet gebruikt 19 (getekend)

18 (niet ondertekend)

Niet gebruikt 19 (getekend)

18

(niet ondertekend)

Niet gebruikt
m18×18_somof2
m18×18_systolisch
m27×27 27 (getekend)

27 (niet ondertekend)

Niet gebruikt

Functionele beschrijving

De Cyclone 10 GX Native Fixed Point DSP IP-kern bestaat uit 2 architecturen; 18 × 18 vermenigvuldiging en 27 × 27 vermenigvuldiging. Elke instantiatie van de Cyclone 10 GX Native Fixed Point DSP IP-kern genereert slechts 1 van de 2 architecturen, afhankelijk van de geselecteerde operationele modi. U kunt optionele modules voor uw toepassing inschakelen.

Gerelateerde informatie
DSP-blokken met variabele precisie in het hoofdstuk Intel Cyclone 10 GX Devices, Intel Cyclone 10 GX Core Fabric en General Purpose I/Os Handbook.

Operationele modi

De Cyclone 10 GX Native Fixed Point DSP IP-kern ondersteunt 5 operationele modi:

  • De 18 × 18 volledige modus
  • De 18 × 18 som van 2-modus
  • De 18 × 18 Plus 36-modus
  • De 18 × 18 systolische modus
  • De 27 × 27-modus

De 18 × 18 volledige modus
Wanneer geconfigureerd als 18 × 18 volledige modus, werkt de Cyclone 10 GX Native Fixed Point DSP IP-kern als twee onafhankelijke 18 (ondertekend/niet-ondertekend) × 19 (ondertekend) of 18
(ondertekend/niet-ondertekend) × 18 (niet-ondertekende) vermenigvuldigers met 37-bits uitvoer. Deze modus past de volgende vergelijkingen toe:

  • resultaat = bijl * ja
  • resultaatb = bx * door

De 18×18 Full Mode-architectuur

intel-UG-20094-Cyclone-10-GX-Native-Fixed-Point-DSP-IP-Core-FIG- (2)

De 18 × 18 som van 2-modus
In 18 × 18 som van 2 modi maakt de Cyclone 10 GX Native Fixed Point DSP IP-kern de bovenste en onderste vermenigvuldigers mogelijk en genereert een resultaat door optelling of aftrekking tussen de 2 vermenigvuldigers. Het subdynamische stuursignaal bestuurt een opteller om de optel- of aftrekbewerkingen uit te voeren. De resulterende uitvoerbreedte van de Cyclone 10 GX Native Fixed Point DSP IP-kern kan maximaal 64 bits ondersteunen wanneer u accumulator/uitvoercascade inschakelt. Deze modus past de vergelijking toe van resulta =[±(ax * ay) + (bx * by)].

De 18 × 18 som van 2-modusarchitectuur

intel-UG-20094-Cyclone-10-GX-Native-Fixed-Point-DSP-IP-Core-FIG- (3)

De 18 × 18 Plus 36-modus
Indien geconfigureerd als 18 × 18 Plus 36-modus, maakt de Cyclone 10 GX Native Fixed Point DSP IP-kern alleen de hoogste vermenigvuldiger mogelijk. Deze modus past de vergelijking toe van resulta = (ax * ay) + concatenate(bx[17:0],by[17:0]).

De 18 × 18 Plus 36-modusarchitectuur

intel-UG-20094-Cyclone-10-GX-Native-Fixed-Point-DSP-IP-Core-FIG- (4)

Wanneer u deze modus gebruikt, moet u het weergaveformaat voor onderste vermenigvuldigers en operand instellen op niet-ondertekend. Wanneer de invoerbus in deze modus minder dan 36 bits is, moet u de noodzakelijke ondertekende extensie opgeven om de 36 bits invoer te vullen.

Minder dan 36-bits operand gebruiken in de 18 × 18 Plus 36-modus
Deze example laat zien hoe de Cyclone 10 GX Native Fixed Point DSP IP-kern moet worden geconfigureerd om de 18 × 18 Plus 36 operationele modus te gebruiken met ondertekende 12-bit invoergegevens van 101010101010 (binair) in plaats van een 36-bit operand.

  1. Stel het weergaveformaat voor onderste vermenigvuldiger x operand: in op ondertekend.
  2. Stel het representatieformaat voor de onderste vermenigvuldiger en operand: in op niet-ondertekend.
  3. Stel de 'bx'-ingangsbusbreedte in op 18.
  4. Stel de 'by'-ingangsbusbreedte in op 18.
  5. Geef gegevens van '111111111111111111' door aan de bx-ingangsbus.
  6. Geef gegevens van '111111101010101010' door via de invoerbus.

De 18 × 18 systolische modus
In 18 x 18 systolische operationele modi maakt de Cyclone 10 GX Native Fixed Point DSP IP-kern de bovenste en onderste vermenigvuldigers mogelijk, een ingangssystolisch register voor de bovenste vermenigvuldiger en een keten-systolisch register voor de keten van ingangssignalen. Wanneer u uitvoercascade inschakelt, ondersteunt deze modus een uitvoerbreedte van 44 bits. Wanneer u de accumulatorfunctie zonder uitvoercascade inschakelt, kunt u de resulterende uitvoerbreedte configureren tot 64 bits.

De 18 × 18 systolische modusarchitectuur

intel-UG-20094-Cyclone-10-GX-Native-Fixed-Point-DSP-IP-Core-FIG- (4)

De 27 × 27-modus
Indien geconfigureerd als 27 × 27 modi, maakt de Cyclone 10 GX Native Fixed Point DSP IP-kern een vermenigvuldiger van 27 (ondertekend/niet-ondertekend) x 27 (ondertekend/niet-ondertekend) mogelijk. De uitgangsbus kan maximaal 64 bits ondersteunen als de accumulator/uitgangscascade is ingeschakeld. Deze modus past de vergelijking van resulta = ax * ay toe.

De 27 × 27-modusarchitectuur

intel-UG-20094-Cyclone-10-GX-Native-Fixed-Point-DSP-IP-Core-FIG- (6)

Optionele Modules

De optionele modules die beschikbaar zijn in de Cyclone 10 GX Native Fixed Point DSP IP Core zijn:

  • Ingangscascade
  • Pre-adders
  • Interne coëfficiënt
  • Accumulator en uitgangscascade
  • Pijplijnregistraties

Ingangscascade
De ingangscascadefunctie wordt ondersteund op elke ingangsbus en op de ingangsbus. Wanneer u Enable input cascade for 'ay' input instelt op Yes, zal de Cyclone 10 GX Native Fixed Point DSP IP-kern input ontvangen van scaninvoersignalen in plaats van een inputbus. Wanneer u Enable input cascade for 'by' input instelt op Yes, zal de Cyclone 10 GX Native Fixed Point DSP IP-kern input ontvangen van elke inputbus in plaats van via inputbus.

Voor de juistheid van de toepassing wordt aanbevolen om de ingangsregisters in te schakelen voor en/of telkens wanneer de ingangscascade is ingeschakeld.

U kunt ervoor zorgen dat de vertragingsregisters overeenkomen met de latentievereiste tussen het invoerregister en het uitvoerregister. Er zijn 2 vertragingsregisters in de kern. Het bovenste vertragingsregister wordt gebruikt voor alle invoerpoorten of scan-in-ingangen, terwijl het onderste vertragingsregister wordt gebruikt voor scan-uitvoerpoorten. Deze vertragingsregisters worden ondersteund in 18 × 18 volledige modus, 18 × 18 sommen van 2 modi en 18 × 18 systolische modi.

Pre-adder

De pre-adder kan in de volgende configuraties worden geconfigureerd:

  • Twee onafhankelijke 18-bits (ondertekend/niet-ondertekend) pre-adders.
  • Eén 26-bits pre-adder.

Wanneer u pre-adder inschakelt in 18 × 18-vermenigvuldigingsmodi, worden ay en az gebruikt als invoerbus voor de bovenste pre-adder, terwijl by en bz worden gebruikt als invoerbus voor de onderste pre-adder. Wanneer u pre-adder inschakelt in de 27 × 27-vermenigvuldigingsmodus, worden ay en az gebruikt als invoerbus voor de pre-adder. De pre-adder ondersteunt zowel optel- als aftrekkingsbewerkingen. Wanneer beide pre-adders binnen hetzelfde DSP-blok worden gebruikt, moeten ze hetzelfde bewerkingstype delen (optellen of aftrekken).

Interne coëfficiënt
De interne coëfficiënt kan maximaal acht constante coëfficiënten ondersteunen voor de multiplicanden in 18-bits en 27-bits modi. Wanneer u de interne coëfficiëntfunctie inschakelt, worden er twee ingangsbussen gegenereerd om de selectie van de coëfficiëntmultiplexer te besturen. De coefsela-invoerbus wordt gebruikt om de vooraf gedefinieerde coëfficiënten voor de bovenste vermenigvuldiger te selecteren en de adviesinvoerbus wordt gebruikt om de vooraf gedefinieerde coëfficiënten voor de onderste vermenigvuldiger te selecteren.

De interne coëfficiëntopslag ondersteunt geen dynamisch bestuurbare coëfficiëntwaarden en externe coëfficiëntopslag is vereist om een ​​dergelijke bewerking uit te voeren.

Accumulator en uitgangscascade

De accumulatormodule kan worden ingeschakeld om de volgende bewerkingen uit te voeren:

  • Optellen of aftrekken
  • Vooringenomen afrondingsbewerking met een constante waarde van 2N
  • Accumulatie via twee kanalen

Om de optel- of aftrekbewerking van de accumulator dynamisch uit te voeren, bestuurt u het negatieve ingangssignaal. Voor een biased afronding kunt u een vooraf ingestelde constante van 2N opgeven en laden voordat de accumulatormodule wordt ingeschakeld, door een geheel getal op te geven voor de parameter N-waarde van de vooraf ingestelde constante. Het gehele getal N moet kleiner zijn dan 64. U kunt het gebruik van de vooraf ingestelde constante dynamisch in- of uitschakelen door het loadconst-signaal te besturen. U kunt deze bewerking gebruiken als een actieve muxing van de ronde waarde in het accumulatorfeedbackpad. De geladen kosten en het geaccumuleerde signaalgebruik sluiten elkaar uit.

U kunt het dubbele accumulatorregister inschakelen met behulp van de parameter Dubbele accumulator inschakelen om dubbele accumulatie uit te voeren. De accumulatormodule kan het aan elkaar koppelen van meerdere DSP-blokken ondersteunen voor optel- of aftrekkingsbewerkingen door de gekoppelde invoerpoort en de gekoppelde uitvoerpoort in te schakelen. In de 18 x 18 systolische modus wordt slechts 44-bit van de keteninvoerbus en ketenuitvoerbus gebruikt. Alle 64-bits ketens in de invoerbus moeten echter worden verbonden met de uitgeketende uitvoerbus van het voorgaande DSP-blok.

Pijplijnregister

De Cyclone 10 GX Native Fixed Point DSP IP-kern ondersteunt een enkel niveau van pijplijnregister. Het pijplijnregister ondersteunt maximaal drie klokbronnen en één asynchroon wissignaal om de pijplijnregisters te resetten. Er zijn vijf pijplijnregisters:

  • pijpleidingregister voor gegevensinvoerbus
  • pijplijnregister voor subdynamisch stuursignaal
  • negeer het pijplijnregister voor dynamische stuursignalen
  • accumuleren dynamisch controlesignaal pijplijnregister
  • loadconst pijplijnregister voor dynamische controle

U kunt ervoor kiezen om de pijplijnregisters van elke data-invoerbus en de pijplijnregisters voor het dynamische stuursignaal onafhankelijk in te schakelen. Alle ingeschakelde pijplijnregisters moeten echter dezelfde klokbron gebruiken.

Klokschema

De invoer-, pijplijn- en uitvoerregisters in de Cyclone 10 GX Native Fixed Point DSP IP-kern ondersteunen drie klokbronnen/inschakelingen en twee asynchrone clears. Alle invoerregisters gebruiken aclr[0] en alle pijplijn- en uitvoerregisters gebruiken aclr[1]. Elk registertype kan één van de drie klokbronnen en klokvrijgavesignalen selecteren. Wanneer u de Cyclone 10 GX Native Fixed Point DSP IP-kern configureert op 18 × 18 systolische bedrijfsmodus, zal de Intel Quartus Prime-software het ingangs-systolische register en de keten-systolische registerklokbron instellen op dezelfde klokbron als het uitgangsregister intern.

Wanneer u de dubbele accumulatorfunctie inschakelt, zal de Intel Quartus Prime-software de klokbron van het dubbele accumulatorregister instellen op dezelfde klokbron als het uitgangsregister intern.

Beperkingen van het klokschema
Dit tabblad toont de beperkingen die u moet toepassen voor alle registerklokschema's.

Voorwaarde Beperking
Wanneer pre-adder is ingeschakeld De klokbron voor de ingangsregisters ay en az moet hetzelfde zijn.
  De klokbron voor by- en bz-ingangsregisters moet hetzelfde zijn.
Wanneer pijplijnregisters zijn ingeschakeld De klokbron voor alle pijplijnregisters moet hetzelfde zijn.
Wanneer een van de ingangsregisters voor dynamische besturingssignalen De klokbron voor ingangsregisters voor sub, accumulatie, loadconst en negate moet hetzelfde zijn.
Cyclone 10 GX Native Fixed Point DSP IP-kernsignalen

De volgende afbeelding toont de ingangs- en uitgangssignalen van de Cyclone 10 GX Native Fixed Point DSP IP-kern.

Cyclone 10 GX Native Fixed Point DSP IP-kernsignalen

intel-UG-20094-Cyclone-10-GX-Native-Fixed-Point-DSP-IP-Core-FIG- (7)

Gegevensinvoersignalen
Signaalnaam Type Breedte Beschrijving
bijl[] Invoer 27 Voer de databus in naar de bovenste vermenigvuldiger.
ja[] Invoer 27 Voer de databus in naar de bovenste vermenigvuldiger.

Wanneer pre-adder is ingeschakeld, worden deze signalen als ingangssignalen naar de bovenste pre-adder verzonden.

az[] Invoer 26 Deze signalen zijn ingangssignalen naar de bovenste pre-adder.

Deze signalen zijn alleen beschikbaar als pre-adder is ingeschakeld. Deze signalen zijn niet beschikbaar in m18×18_plus36

operationele modus.

bx[] Invoer 18 Voer de databus in naar de onderste vermenigvuldiger.

Deze signalen zijn niet beschikbaar in m27×27 operationele modus.

door[] Invoer 19 Voer de databus in naar de onderste vermenigvuldiger.

Wanneer pre-adder is ingeschakeld, dienen deze signalen als ingangssignalen voor de onderste pre-adder.

Deze signalen zijn niet beschikbaar in m27×27 operationele modus.

bz[] Invoer 18 Deze signalen zijn ingangssignalen naar de onderste pre-adder. Deze signalen zijn alleen beschikbaar als pre-adder is ingeschakeld. Deze signalen zijn niet beschikbaar in m27×27 En m18×18_plus36 operationele modi.
Gegevensuitvoersignalen
Signaalnaam Type Breedte Beschrijving
resultaat[] Uitvoer 64 Uitgangsdatabus van bovenste vermenigvuldiger.

Deze signalen ondersteunen maximaal 37 bits m18×18_vol operationele modus.

resultaat[] Uitvoer 37 Uitvoerdatabus van onderste vermenigvuldiger.

Deze signalen zijn alleen beschikbaar in m18×18_vol operationele modus.

Klok-, inschakel- en wissignalen

Signaalnaam Type Breedte Beschrijving
clk[] Invoer 3 Ingangskloksignalen voor alle registers.

Deze kloksignalen zijn alleen beschikbaar als een van de ingangsregisters, pijplijnregisters of uitgangsregisters is ingesteld op Klok0, Klok1, of Klok2.

• clk[0] = Klok0

• clk[1] = Klok1

• clk[2] = Klok2

ena[] Invoer 3 Klok inschakelen voor clk[2:0]. Dit signaal is actief-hoog.

• ena[0] is voor Klok0

• ena[1] is voor Klok1

• ena[2] is voor Klok2

aclr[] Invoer 2 Asynchrone heldere ingangssignalen voor alle registers. Dit signaal is actief-hoog.

Gebruik aclr[0] voor alle invoerregisters en gebruik aclr[1] voor alle pijplijnregisters en uitgangsregisters.

Standaard wordt dit signaal ingetrokken.

Dynamische stuursignalen

Signaalnaam Type Breedte Beschrijving
sub Invoer 1 Ingangssignaal om de uitvoer van de bovenste vermenigvuldiger op te tellen of af te trekken met de uitvoer van de onderste vermenigvuldiger.

• Beëindig dit signaal om de optelbewerking te specificeren.

• Bekrachtig dit signaal om de aftrekkingsbewerking te specificeren.

Standaard wordt dit signaal gedeactiveerd. U kunt dit signaal tijdens runtime bevestigen of deactiveren.(3)

ontkennen Invoer 1 Ingangssignaal om de som van de bovenste en onderste vermenigvuldigers op te tellen of af te trekken met de gegevens van chainin-signalen.

• Beëindig dit signaal om de optelbewerking te specificeren.

• Bekrachtig dit signaal om de aftrekkingsbewerking te specificeren.

Standaard wordt dit signaal gedeactiveerd. U kunt dit signaal tijdens runtime bevestigen of deactiveren.(3)

accumuleren Invoer 1 Ingangssignaal om de accumulatorfunctie in of uit te schakelen.

• Beëindig dit signaal om de accumulatorfunctie uit te schakelen.

• Bekrachtig dit signaal om de accumulatorfunctie in te schakelen.

Standaard wordt dit signaal gedeactiveerd. U kunt dit signaal tijdens runtime bevestigen of deactiveren.(3)

belastingconst Invoer 1 Ingangssignaal om de belastingconstantefunctie in of uit te schakelen.

• Beëindig dit signaal om de belastingconstantefunctie uit te schakelen.

• Bekrachtig dit signaal om de belastingconstantefunctie in te schakelen.

Standaard wordt dit signaal gedeactiveerd. U kunt dit signaal tijdens runtime bevestigen of deactiveren.(3)

Interne coëfficiëntsignalen

Signaalnaam Type Breedte Beschrijving
Coefsela[] Invoer 3 Ingangsselectiesignalen voor 8 coëfficiëntwaarden gedefinieerd door de gebruiker voor de bovenste vermenigvuldiger. De coëfficiëntwaarden worden opgeslagen in het interne geheugen en gespecificeerd door parameters coef_a_0 naar coef_a_7.

• coefsela[2:0] = 000 verwijst naar coef_a_0

• coefsela[2:0] = 001 verwijst naar coef_a_1

• coelsela[2:0] = 010 verwijst naar coef_a_2

• … enzovoorts.

Deze signalen zijn alleen beschikbaar als de interne coëfficiëntfunctie is ingeschakeld.

Coefselb[] Invoer 3 Ingangsselectiesignalen voor 8 coëfficiëntwaarden gedefinieerd door de gebruiker voor de onderste vermenigvuldiger. De coëfficiëntwaarden worden opgeslagen in het interne geheugen en gespecificeerd door parameters coef_b_0 naar coef_b_7.

• coefselb[2:0] = 000 verwijst naar coef_b_0

• coefselb[2:0] = 001 verwijst naar coef_b_1

• coelselb[2:0] = 010 verwijst naar coef_b_2

• … enzovoorts.

Deze signalen zijn alleen beschikbaar als de interne coëfficiëntfunctie is ingeschakeld.

Ingangscascadesignalen

Signaalnaam Type Breedte Beschrijving
scannen[] Invoer 27 Ingangsdatabus voor ingangscascademodule.

Verbind deze signalen met de scanoutsignalen van de voorgaande DSP-kern.

scannen[] Uitvoer 27 Uitgangsdatabus van de ingangscascademodule.

Verbind deze signalen met de scansignalen van de volgende DSP-kern.

Uitgangscascadesignalen

Signaalnaam Type Breedte Beschrijving
keten[] Invoer 64 Ingangsdatabus voor uitgangscascademodule.

Verbind deze signalen met de chainout-signalen van de voorgaande DSP-kern.

uitschakeling[] Uitvoer 64 Uitgangsdatabus van de uitgangscascademodule.

Verbind deze signalen met de chainin-signalen van de volgende DSP-kern.

Documentrevisiegeschiedenis voor de Cyclone 10 GX Native Fixed Point DSP IP Core Gebruikershandleiding

Datum Versie Wijzigingen
November 2017 2017.11.06 Eerste release.

Intel Corporation. Alle rechten voorbehouden. Intel, het Intel-logo en andere Intel-merken zijn handelsmerken van Intel Corporation of haar dochterondernemingen. Intel garandeert de prestaties van zijn FPGA- en halfgeleiderproducten volgens de huidige specificaties in overeenstemming met de standaardgarantie van Intel, maar behoudt zich het recht voor om op elk moment zonder voorafgaande kennisgeving wijzigingen aan te brengen in producten en diensten. Intel aanvaardt geen verantwoordelijkheid of aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van enige informatie, product of dienst die hierin wordt beschreven, behalve zoals uitdrukkelijk schriftelijk overeengekomen door Intel. Intel-klanten wordt geadviseerd om de nieuwste versie van de apparaatspecificaties te verkrijgen voordat ze vertrouwen op gepubliceerde informatie en voordat ze producten of diensten bestellen.

Andere namen en merken kunnen als eigendom van anderen worden opgeëist.

Documenten / Bronnen

intel UG-20094 Cyclone 10 GX Native Vast Punt DSP IP Core [pdf] Gebruikershandleiding
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

Referenties

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *