intel-logotyp

intel UG-20094 Cyclone 10 GX Native Fixed Point 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 Användarhandbok

Intel Cyclone® 10 GX Native Fixed Point DSP IP-kärna instansierar och styr ett enda Intel Cyclone 10 GX Variable Precision Digital Signal Processing (DSP)-block. Cyclone 10 GX Native Fixed Point DSP IP-kärna är endast tillgänglig för Intel Cyclone 10 GX-enheter.

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

Relaterad information
Introduktion till Intel FPGA IP-kärnor.

Cyclone 10 GX Native Fixed Point DSP IP Core-funktioner

Cyclone 10 GX Native Fixed Point DSP IP-kärna stöder följande funktioner:

  • Högpresterande, effektoptimerade och fullt registrerade multiplikationsoperationer
  • 18-bitars och 27-bitars ordlängder
  • Två 18 × 19 multiplikatorer eller en 27 × 27 multiplikator per DSP-block
  • Inbyggt register för addition, subtraktion och 64-bitars dubbelackumulering för att kombinera multiplikationsresultat
  • Kaskad 19-bitars eller 27-bitars när pre-adderaren är inaktiverad och cascading 18-bitars när pre-adderaren används för att bilda tappfördröjningslinjen för filtreringstillämpning
  • Kaskad 64-bitars utgångsbuss för att sprida utdata från ett block till nästa block utan externt logikstöd
  • Hård föradderare som stöds i 19-bitars och 27-bitars lägen för symmetriska filter
  • Intern koefficientregisterbank i både 18-bitars och 27-bitars lägen för filterimplementering
  • 18-bitars och 27-bitars systoliska finita impulssvar (FIR)-filter med distribuerad utgångsadderare

Komma igång

Detta kapitel ger en allmän överview av Intel FPGA IP-kärndesignflödet för att hjälpa dig att snabbt komma igång med Cyclone 10 GX Native Fixed Point DSP IP-kärna. Intel FPGA IP-biblioteket installeras som en del av installationsprocessen för Intel Quartus® Prime. Du kan välja och parametrera vilken Intel FPGA IP-kärna som helst från biblioteket. Intel tillhandahåller en integrerad parameterredigerare som låter dig anpassa Intel FPGA DSP IP-kärnan för att stödja en mängd olika applikationer. Parametereditorn guidar dig genom inställningen av parametervärden och valet av valfria portar.

Relaterad information

  • Introduktion till Intel FPGA IP-kärnor
    Ger allmän information om alla Intel FPGA IP-kärnor, inklusive parametrering, generering, uppgradering och simulering av IP-kärnor.
  • Skapa versionsoberoende IP- och plattformsdesigner (Standard) Simulatio-skript
    Skapa simuleringsskript som inte kräver manuella uppdateringar för uppgraderingar av programvara eller IP-versioner.
  • Best Practices för projektledning
    Riktlinjer för effektiv hantering och portabilitet av ditt projekt och IP files.
Cyclone 10 GX Native Fixed Point DSP IP Core Parameterinställningar

Du kan anpassa Cyclone 10 GX Native Fixed Point DSP IP-kärna genom att specificera parametrarna med parameterredigeraren i Intel Quartus Prime-programvaran.

Fliken Driftläge

Parameter IP-genererad parameter Värde Beskrivning
Välj driftläge Driftläge m18×18_full m18×18_sumof2 m18×18_plus36 m18×18_systolic m27×27 Välj önskat driftläge.
Multiplikatorkonfiguration
Representationsformat för toppmultiplikator x operand signerad_max undertecknad osignerad Ange representationsformatet för den övre multiplikatorn x-operanden.
Parameter IP-genererad parameter Värde Beskrivning
Representationsformat för toppmultiplikator y-operand undertecknad_maj undertecknad osignerad Ange representationsformatet för den översta multiplikatorns y-operand.
Representationsformat för bottenmultiplikator x operand signerad_mbx undertecknad osignerad Ange representationsformatet för den nedre multiplikatorn x-operand.
Representationsformat för bottenmultiplikator y-operand signerad_mby undertecknad osignerad Ange representationsformatet för den nedre multiplikatorns y-operand.

Välj alltid osignerad för m18×18_plus36 .

Aktivera "sub"-port enable_sub Inga Ja Välja Ja att aktivera

underport.

Registrera ingången 'sub' för multiplikatorn underklocka Inga Klocka0 Klocka1 Klocka2 Välja Klocka 0, Klocka 1, eller Klocka 2 för att aktivera och specificera ingångsklocksignalen för underingångsregistret.
Ingångskaskad
Aktivera ingångskaskad för 'ay'-ingång ay_use_scan_in Inga Ja Välja Ja för att aktivera ingångskaskadmodul för ay-datainmatning.

När du aktiverar ingångskaskadmodulen använder Cyclone 10 GX Native Fixed Point DSP IP-kärna scanin-ingångssignalerna som ingång istället för ay-ingångssignaler.

Aktivera ingångskaskad för "efter" ingång by_use_scan_in Inga Ja Välja Ja för att aktivera ingångskaskadmodul för dataingång.

När du aktiverar ingångskaskadmodulen använder Cyclone 10 GX Native Fixed Point DSP IP-kärna ay-ingångssignalerna som insignal istället för ingångssignaler.

Aktivera data och fördröjningsregister delay_scan_out_ay Inga Ja Välja Ja för att aktivera fördröjningsregister mellan ay- och av ingångsregister.

Den här funktionen stöds inte i m18×18_plus36 och m27x27 driftläge.

Parameter IP-genererad parameter Värde Beskrivning
Aktivera data genom fördröjningsregister delay_scan_out_by Inga Ja Välja Ja för att aktivera fördröjningsregister mellan av ingångsregister och scanoututgångsbussen.

Den här funktionen stöds inte i m18×18_plus36 och m27x27 driftläge.

Aktivera avsökningsport gui_scanout_enable Inga Ja Välja Ja att aktivera

scanout utgångsbuss.

'scanout' utgångsbussbredd scan_out_width 1–27 Ange bredden på

scanout utgångsbuss.

Data 'x'-konfiguration
'ax' ingångsbussbredd ax_width 1–27 Ange bredden på

axelingångsbuss.(1)

Registrera multiplikatorns input 'ax' ax_klocka Inga Klocka0 Klocka1 Klocka2 Välja Klocka 0, Klocka 1, eller Klocka 2 för att aktivera och specificera ingångsklocksignalen för axe-ingångsregistret.

yxingångsregistret är inte tillgängligt om du ställer in 'ax' operandkälla till 'coef'.

'bx' ingångsbussbredd bx_width 1–18 Ange bredden på

bx ingångsbuss.(1)

Registrera multiplikatorns ingång 'bx' bx_klocka Inga Klocka0 Klocka1 Klocka2 Välja Klocka 0, Klocka 1, eller Klocka 2 för att aktivera och specificera ingångsklocksignalen för bx-ingångsregistret.

bx-ingångsregistret är inte tillgängligt om du ställer in 'bx' operandkälla till 'coef'.

Data 'y'-konfiguration
'ay' eller 'scanin' bussbredd ay_scan_in_width 1–27 Ange bredden på ay- eller scanin-ingångsbussen.(1)
Registrera ingången 'ay' eller ingången 'scanin' av multiplikatorn ay_scan_in_clock Inga Klocka0 Klocka1 Klocka2 Välja Klocka 0, Klocka 1, eller Klocka 2 för att aktivera och specificera ingångsklocksignalen för ay eller scaniningångsregister.
'efter' ingångsbussbredd by_width 1–19 Ange bredden på ingångsbuss.(1)
Parameter IP-genererad parameter Värde Beskrivning
Registrera inmatning 'med' av multiplikatorn efter_klocka Inga Klocka0 Klocka1 Klocka2 Välja Klocka 0, Klocka 1, eller Klocka 2 för att aktivera och specificera ingångsklocksignalen för by eller scanin

ingångsregister.(1)

Konfiguration av 'resultat'
'resulta' utgångsbussbredd result_a_width 1–64 Ange bredden på

resulta en utgångsbuss.

'resultb' utgångsbussbredd result_b_width 1–64 Ange bredden på resultatbussen. resultb endast tillgängligt när du använder operation_mode m18×18_full.
Använd utgångsregister output_clock Inga Klocka0 Klocka1 Klocka2 Välja Klocka 0, Klocka 1, eller Klocka 2 för att aktivera och specificera ingångsklocksignalen för resulta- och resulta-utgångsregister.

Tab för pre-adder

Parameter IP-genererad parameter Värde Beskrivning
'ay' operandkälla operand_source_may ingångsförare Ange operandkällan för ay-inmatning. Välj förläsare för att aktivera pre-addermodul för toppmultiplikator. Inställningarna för ay och per operandkälla måste vara desamma.
'av' operandkälla operand_source_mby ingångsförare Ange operandkällan för genom inmatning. Välj förläsare för att aktivera pre-addermodul för bottenmultiplikator. Inställningarna för ay och per operandkälla måste vara desamma.
Ställ in pre-adder en operation till subtraktion preadder_subtract_a Inga Ja Välja Ja för att specificera subtraktionsoperation för pre-addermodul för toppmultiplikatorn. Pre-adderinställningar för topp- och bottenmultiplikator måste vara desamma.
Ställ in preadder b operation på subtraktion preadder_subtract_b Inga Ja Välja Ja för att specificera subtraktionsoperation för pre-addermodul för bottenmultiplikatorn. Pre-adderinställningar för topp- och bottenmultiplikator måste vara desamma.
Data 'z'-konfiguration
'az' ingångsbussbredd az_width 1–26 Ange bredden på az-ingångsbussen.(1)
Registrera ingången 'az' för multiplikatorn az_clock Inga Klocka0 Klocka1 Klocka2 Välja Klocka 0, Klocka 1, eller Klocka 2 för att aktivera och specificera ingångsklocksignalen för az-ingångsregister. Klockinställningarna för ay- och az-ingångsregister måste vara desamma.
'bz' ingångsbussbredd bz_width 1–18 Ange bredden på bz-ingångsbussen.(1)
Registrera ingången 'bz' för multiplikatorn bz_clock Inga Klocka0 Klocka1 Klocka2 Välja Klocka 0, Klocka 1, eller Klocka 2 för att aktivera och specificera ingångsklocksignalen för bz-ingångsregister. Klockinställningar för by- och bz-ingångsregister måste vara desamma.

Intern koefficient Tab

Parameter IP-genererad parameter Värde Beskrivning
'ax' operandkälla operand_source_max input coef Ange operandkällan för axe-ingångsbussen. Välj coef för att aktivera intern koefficientmodul för toppmultiplikator.

Välja Inga för Registrera multiplikatorns input 'ax' parameter när du aktiverar den interna koefficientfunktionen.

Parameter IP-genererad parameter Värde Beskrivning
      Inställningarna för ax- och bx-operandkälla måste vara desamma.
'bx' operandkälla operand_source_mbx input coef Ange operandkällan för bx-ingångsbussen. Välj coef för att aktivera intern koefficientmodul för toppmultiplikator.

Välja Inga för Registrera multiplikatorns ingång 'bx' parameter när du aktiverar den interna koefficientfunktionen.

Inställningarna för ax- och bx-operandkälla måste vara desamma.

'coefsel' Input Register Configuration
Registrera ingången 'coefsela' för multiplikatorn coef_sel_a_clock Inga Klocka0 Klocka1 Klocka2 Välja Klocka 0, Klocka 1, eller Klocka 2 för att aktivera och specificera ingångsklocksignalen för coefsela-ingångsregistren.
Registrera ingången 'coefselb' för multiplikatorn coef_sel_b_clock Inga Klocka0 Klocka1 Klocka2 Välja Klocka 0, Klocka 1, eller Klocka 2 för att aktivera och specificera ingångsklocksignalen för coefselb-ingångsregistren.
Koefficientlagringskonfiguration
coef_a_0–7 coef_a_0–7 Heltal Ange koefficientvärdena för axelingångsbussen.

För 18-bitars driftläge är det maximala ingångsvärdet 218 – 1. För 27-bitars drift är det maximala värdet 227 – 1.

coef_b_0–7 coef_b_0–7 Heltal Ange koefficientvärdena för bx-ingångsbussen.

Akkumulator/utgång Kaskad Tab

Parameter IP-genererad parameter Värde Beskrivning
Aktivera "ackumulera" port aktivera_ackumulera Inga Ja Välja Ja att aktivera

ackumulatorport.

Aktivera "negera" port enable_negate Inga Ja Välja Ja att aktivera

förneka hamn.

Aktivera "loadconst"-porten enable_loadconst Inga Ja Välja Ja att aktivera

loadconst port.

Registrera ingången 'ackumulera' för ackumulatorn ackumulera_klocka Inga Klocka0 Klocka1 Klocka2 Välja Klocka 0 , Klocka 1, eller Klocka 2 för att aktivera och specificera ingångsklocksignalen för de ackumulerade ingångsregistren.
Parameter IP-genererad parameter Värde Beskrivning
Registrera ingången 'loadconst' för ackumulatorn load_const_clock Inga Klocka0 Klocka1 Klocka2 Välja Klocka 0, Klocka 1, eller Klocka 2 för att aktivera och specificera ingångsklocksignalen för belastningskonst-ingångsregistren.
Registrera ingången 'negate' för adderaren negate_clock Inga Klocka0 Klocka1 Klocka2 Välja Klocka 0, Klocka 1, eller Klocka 2 för att aktivera och specificera ingångsklocksignalen för de negativa ingångsregistren.
Aktivera dubbel ackumulator enable_double_accum Inga Ja Välja Ja för att aktivera dubbel ackumulatorfunktion.
N-värdet för förinställd konstant load_const_value 0 – 63 XNUMX Ange det förinställda konstantvärdet.

Detta värde kan vara 2N där N är det förinställda konstantvärdet.

Aktivera chainin-port use_chainadder Inga Ja Välja Ja för att aktivera utgångskaskadmodulen och chainin-ingångsbussen.

Utdatakaskadfunktionen stöds inte i m18×18_full Driftläge.

Aktivera chainout-port gui_chainout_enable Inga Ja Välja Ja för att aktivera chainout-utgångsbussen. Utdatakaskadfunktionen stöds inte i

m18×18_full Driftläge.

Rörledningsflik

Parameter IP-genererad parameter Värde Beskrivning
Lägg till indatapipelineregister till indatasignalen (x/y/z/coefsel) input_pipeline_clock Inga Klocka0 Klocka1 Klocka2 Välja Klocka 0, Klocka 1, eller Klocka 2 för att aktivera och specificera ingångsklocksignalen för x, y, z, coefsela och coefselb pipeline input register.
Lägg till indatapipelineregister till "sub"-datasignalen sub_pipeline_clock Inga Klocka0 Klocka1 Klocka2 Välja Klocka 0, Klocka 1, eller Klocka 2 för att aktivera och specificera ingångsklocksignalen för subpipeline-ingångsregistret. (2)
Lägg till indatapipelineregister till "ackumulera" datasignalen accum_pipeline_clock Inga Klocka0 Klocka1 Klocka2 Välja Klocka 0, Klocka 1, eller Klocka 2 för att aktivera och specificera ingångsklocksignalen för det ackumulerade pipeline-ingångsregistret.(2)
Lägg till indatapipelineregister till datasignalen 'loadconst' load_const_pipeline_clock Inga Klocka0 Klocka1 Klocka2 Välja Klocka 0, Klocka 1, eller Klocka 2 för att aktivera och specificera ingångsklocksignalen för loadconst pipeline input register.(2)
Lägg till indatapipelineregister till den "negera" datasignalen negate_pipeline_clock Inga Klocka0 Klocka1 Klocka2 Välja Klocka 0, Klocka 1, eller Klocka 2 för att aktivera och specificera ingångsklocksignalen för negate pipeline-ingångsregistret.(2)

Maximal indatabredd per driftläge
Du kan anpassa databredden för x-, y- och z-ingångar enligt tabellen.

Alla pipeline-ingångsregister för dynamiska styrsignaler måste ha samma klockinställning.

Driftläge Maximal indatabredd
ax ay az bx by bz
Utan föradderare eller intern koefficient
m18×18_full 18 (signerad)

18

(osignerad)

19 (signerad)

18 (osignerad)

Ej använd 18 (signerad)

18

(osignerad)

19 (signerad)

18

(osignerad)

Ej använd
m18×18_sumof2
m18×18_systolisk
m18×18_plus36
m27×27 27 (signerad)

27 (osignerad)

Ej använd
Endast med pre-adder-funktion
m18×18_full 18 (signerad)

18 (osignerad)

m18×18_sumof2
m18×18_systolisk
m27×27 27 (signerad)

27

(osignerad)

26 (signerad)

26 (osignerad)

Ej använd
Endast med intern koefficientfunktion
m18×18_full Ej använd 19 (signerad)

18 (osignerad)

Ej använd 19 (signerad)

18

(osignerad)

Ej använd
m18×18_sumof2
m18×18_systolisk
m27×27 27 (signerad)

27 (osignerad)

Ej använd

Funktionsbeskrivning

Cyclone 10 GX Native Fixed Point DSP IP-kärna består av 2 arkitekturer; 18 × 18 multiplikation och 27 × 27 multiplikation. Varje instansiering av Cyclone 10 GX Native Fixed Point DSP IP-kärna genererar endast 1 av de 2 arkitekturerna beroende på de valda driftlägena. Du kan aktivera valfria moduler för din applikation.

Relaterad information
Variable Precision DSP-block i kapitlet Intel Cyclone 10 GX-enheter, Intel Cyclone 10 GX Core Fabric och I/O-handbok för allmänna ändamål.

Driftlägen

Cyclone 10 GX Native Fixed Point DSP IP-kärna stöder 5 driftlägen:

  • 18 × 18 Full Mode
  • 18 × 18 Summan av 2-läge
  • Läget 18 × 18 Plus 36
  • 18 × 18 systoliskt läge
  • Läget 27 × 27

18 × 18 Full Mode
När den är konfigurerad som 18 × 18 fullt läge, fungerar Cyclone 10 GX Native Fixed Point DSP IP-kärna som två oberoende 18 (signerade/osignerade) × 19 (signerade) eller 18
(signerade/osignerade) × 18 (osignerade) multiplikatorer med 37-bitars utdata. Detta läge tillämpar följande ekvationer:

  • resulta = ax * ay
  • resultb = bx * by

18 × 18 fulllägesarkitektur

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

18 × 18 Summan av 2-läge
I 18 × 18 Sum of 2-lägen möjliggör Cyclone 10 GX Native Fixed Point DSP IP-kärna de övre och nedre multiplikatorerna och genererar ett resultat från addition eller subtraktion mellan de 2 multiplikatorerna. Den subdynamiska styrsignalen styr en adderare för att utföra additions- eller subtraktionsoperationerna. Resultatet av utgångsbredden för Cyclone 10 GX Native Fixed Point DSP IP-kärna kan stödja upp till 64 bitar när du aktiverar ackumulator/utgångskaskad. Detta läge tillämpar ekvationen för resulta =[±(ax * ay) + (bx * by)].

18 × 18 summan av 2-lägesarkitektur

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

Läget 18 × 18 Plus 36
När den är konfigurerad som 18 × 18 Plus 36-läge, möjliggör Cyclone 10 GX Native Fixed Point DSP IP-kärna endast den översta multiplikatorn. Detta läge tillämpar ekvationen för resulta = (ax * ay) + concatenate(bx[17:0],by[17:0]).

18 × 18 Plus 36 Mode Architecture

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

Du måste ställa in representationsformatet för bottenmultiplikatorer y operand till osignerad när du använder detta läge. När ingångsbussen är mindre än 36-bitar i detta läge, måste du tillhandahålla den nödvändiga signerade förlängningen för att fylla upp 36-bitars ingången.

Använder mindre än 36-bitars operand i 18 × 18 Plus 36-läge
Detta example visar hur man konfigurerar Cyclone 10 GX Native Fixed Point DSP IP-kärna för att använda 18 × 18 Plus 36-driftläge med en signerad 12-bitars indata på 101010101010 (binär) istället för en 36-bitars operand.

  1. Ställ in representationsformat för bottenmultiplikator x operand: till signerad.
  2. Ställ in representationsformat för bottenmultiplikator y operand: till osignerad.
  3. Ställ in 'bx' ingångsbussbredd till 18.
  4. Ställ in "efter" ingångsbussbredd till 18.
  5. Ange data för '111111111111111111' till bx-ingångsbussen.
  6. Ange data för '111111101010101010' till via ingångsbuss.

18 × 18 systoliskt läge
I 18 × 18 systoliska driftlägen, möjliggör Cyclone 10 GX Native Fixed Point DSP IP-kärna topp- och bottenmultiplikatorer, ett systoliskt ingångsregister för toppmultiplikatorn och ett kedjesystoliskt register för kedjan i insignaler. När du aktiverar utdatakaskad stöder detta läge en utmatningsbredd på 44 bitar. När du aktiverar ackumulatorfunktionen utan utgångskaskad kan du konfigurera resultatets utgångsbredd till 64 bitar.

18 × 18 systoliskt lägesarkitektur

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

Läget 27 × 27
När den är konfigurerad som 27 × 27-lägen, möjliggör Cyclone 10 GX Native Fixed Point DSP IP-kärna en 27(signerad/osignerad) × 27(signerad/osignerad) multiplikator. Utgångsbussen kan stödja upp till 64 bitar med ackumulator/utgångskaskad aktiverad. Detta läge tillämpar ekvationen för resulta = ax * ay.

27 × 27 lägesarkitektur

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

Valfria moduler

De valfria modulerna som finns tillgängliga i Cyclone 10 GX Native Fixed Point DSP IP Core är:

  • Ingångskaskad
  • Föraddare
  • Intern koefficient
  • Ackumulator och utgångskaskad
  • Pipeline register

Ingångskaskad
Ingångskaskadfunktionen stöds på ay och av ingångsbussen. När du ställer in Aktivera ingångskaskad för 'ay'-ingång till Ja, kommer Cyclone 10 GX Native Fixed Point DSP IP-kärna att ta insignaler från skanningsingångssignaler istället för ay-ingångsbussen. När du ställer in Aktivera ingångskaskad för 'av'-ingång till Ja, kommer Cyclone 10 GX Native Fixed Point DSP IP-kärna att ta ingångar från ay-ingångsbussen istället för från ingångsbussen.

Det rekommenderas att aktivera ingångsregistren för ay och/eller senast när ingångskaskad är aktiverad för applikationens korrekthet.

Du kan aktivera fördröjningsregistren för att matcha latenskravet mellan ingångsregistret och utgångsregistret. Det finns 2 fördröjningsregister i kärnan. Det övre fördröjningsregistret används för ay- eller scan-iningångsportar medan det nedre fördröjningsregistret används för scanoututgångsportar. Dessa fördröjningsregister stöds i 18 × 18 fullt läge, 18 × 18 summor av 2 lägen och 18 × 18 systoliska lägen.

Föradderare

Föradderaren kan konfigureras i följande konfigurationer:

  • Två oberoende 18-bitars (signerade/osignerade) pre-adders.
  • En 26-bitars föradderare.

När du aktiverar föradderare i 18 × 18 multiplikationslägen, används ay och az som ingångsbussen till den övre föradderaren medan by och bz används som ingångsbussen till den nedre föradderaren. När du aktiverar pre-adderare i 27 × 27 multiplikationsläge, används ay och az som ingångsbuss till pre-adderaren. Föradderaren stöder både addition och subtraktion. När båda föradderarna inom samma DSP-block används måste de dela samma operationstyp (antingen addition eller subtraktion).

Intern koefficient
Den interna koefficienten kan stödja upp till åtta konstanta koefficienter för multiplikanterna i 18-bitars och 27-bitarslägen. När du aktiverar den interna koefficientfunktionen genereras två ingångsbussar för att styra valet av koefficientmultiplexern. Coefsela-ingångsbussen används för att välja de fördefinierade koefficienterna för den övre multiplikatorn och rådgivningsingångsbussen används för att välja de fördefinierade koefficienterna för den nedre multiplikatorn.

Den interna koefficientlagringen stöder inte dynamiskt styrbara koefficientvärden och extern koefficientlagring krävs för att utföra en sådan operation.

Ackumulator och utgångskaskad

Ackumulatormodulen kan aktiveras för att utföra följande operationer:

  • Additions- eller subtraktionsoperation
  • Biased avrundningsoperation med ett konstant värde på 2N
  • Dubbla kanal ackumulering

För att dynamiskt utföra additions- eller subtraktionsoperation av ackumulatorn, kontrollera den negativa ingångssignalen. För en partisk avrundningsoperation kan du specificera och ladda en förinställd konstant på 2N innan ackumulatormodulen aktiveras genom att ange ett heltal till parametern N-värdet för den förinställda konstanten. Heltalet N måste vara mindre än 64. Du kan dynamiskt aktivera eller inaktivera användningen av den förinställda konstanten genom att styra signalen för lastkonst. Du kan använda denna operation som en aktiv överföring av det runda värdet till ackumulatorns återkopplingsväg. Den laddade kostnaden och den ackumulerade signalanvändningen utesluter varandra.

Du kan aktivera dubbelackumulatorregistret med parametern Aktivera dubbelackumulator för att utföra dubbelackumulering. Ackumulatormodulen kan stödja kedjan av flera DSP-block för additions- eller subtraktionsoperationer genom att aktivera kedjeingångsporten och kedjeutgångsporten. I 18 × 18 systoliskt läge kommer endast 44-bitar av kedjeingångsbussen och kedjeutgångsbussen att användas. Emellertid måste alla 64-bitarskedjor i ingångsbussen vara anslutna till kedjeutgångsutgångsbussen från föregående DSP-block.

Pipeline Register

Cyclone 10 GX Native Fixed Point DSP IP-kärna stöder en enda nivå av pipelineregister. Pipelineregistret stöder upp till tre klockkällor och en asynkron raderingssignal för att återställa pipelineregistren. Det finns fem pipelineregister:

  • dataingång buss pipeline register
  • under dynamisk styrsignal pipeline register
  • negera dynamisk styrsignal pipeline register
  • ackumulera dynamisk styrsignal pipeline register
  • loadconst dynamisk kontroll pipeline register

Du kan välja att aktivera varje dataingångsbusspipelineregister och de dynamiska styrsignalpipelineregistren oberoende. Alla aktiverade pipelineregister måste dock använda samma klockkälla.

Klockning Schema

Ingångs-, pipeline- och utgångsregistren i Cyclone 10 GX Native Fixed Point DSP IP-kärna stöder tre klockkällor/aktiveringar och två asynkrona rensningar. Alla ingångsregister använder aclr[0] och alla pipeline- och utgångsregister använder aclr[1]. Varje registertyp kan välja en av de tre klockkällorna och klockaktiveringssignaler. När du konfigurerar Cyclone 10 GX Native Fixed Point DSP IP-kärna till 18 × 18 systoliskt driftläge, kommer Intel Quartus Prime-programvaran att ställa in det systoliska ingångsregistret och det kedjesystoliska registrets klockkälla till samma klockkälla som utgångsregistret internt.

När du aktiverar dubbelackumulatorfunktionen kommer Intel Quartus Prime-programvaran att ställa in dubbelackumulatorregistrets klockkälla till samma klockkälla som utgångsregistret internt.

Begränsningar för klockschema
Den här fliken visar de begränsningar du måste tillämpa för alla klockningsscheman.

Skick Tvång
När pre-adder är aktiverat Klockkällan för ay- och az-ingångsregister måste vara densamma.
  Klockkällan för by- och bz-ingångsregister måste vara samma.
När pipelineregister är aktiverade Klockkällan för alla pipelineregister måste vara densamma.
När någon av ingångarna registrerar sig för dynamiska styrsignaler Klockkällan för ingångsregister för sub, ackumulera, loadconst och negate måste vara densamma.
Cyclone 10 GX Native Fixed Point DSP IP Core Signaler

Följande bild visar in- och utsignalerna för Cyclone 10 GX Native Fixed Point DSP IP-kärna.

Cyclone 10 GX Native Fixed Point DSP IP Core Signaler

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

Dataingångssignaler
Signalnamn Typ Bredd Beskrivning
yxa[] Input 27 Indatabuss till toppmultiplikator.
ja[] Input 27 Indatabuss till toppmultiplikator.

När föradderaren är aktiverad, serveras dessa signaler som insignaler till den översta föradderaren.

az[] Input 26 Dessa signaler är insignaler till den övre föradderaren.

Dessa signaler är endast tillgängliga när pre-adder är aktiverat. Dessa signaler är inte tillgängliga i m18×18_plus36

driftläge.

bx[] Input 18 Indatabuss till bottenmultiplikator.

Dessa signaler är inte tillgängliga i m27×27 driftläge.

förbi[] Input 19 Indatabuss till bottenmultiplikator.

När föradderaren är aktiverad fungerar dessa signaler som insignaler till den nedre föradderaren.

Dessa signaler är inte tillgängliga i m27×27 driftläge.

bz[] Input 18 Dessa signaler är insignaler till den nedre föradderaren. Dessa signaler är endast tillgängliga när pre-adder är aktiverat. Dessa signaler är inte tillgängliga i m27×27 och m18×18_plus36 driftslägen.
Datautgångssignaler
Signalnamn Typ Bredd Avskrivning
resulta[] Produktion 64 Utdatabuss från toppmultiplikatorn.

Dessa signaler stöder upp till 37 bitar för m18×18_full driftläge.

resultatb[] Produktion 37 Utdatabuss från bottenmultiplikatorn.

Dessa signaler är endast tillgängliga i m18×18_full driftläge.

Klocka, aktivera och rensa signaler

Signalnamn Typ Bredd Beskrivning
clk[] Input 3 Ingående klocksignaler för alla register.

Dessa klocksignaler är endast tillgängliga om något av ingångsregistren, pipelineregistren eller utgångsregistret är inställt på Klocka 0, Klocka 1, eller Klocka 2.

• clk[0] = Klocka 0

• clk[1] = Klocka 1

• clk[2] = Klocka 2

ena[] Input 3 Klockaktivering för clk[2:0]. Denna signal är aktiv-Hög.

• ena[0] är för Klocka 0

• ena[1] är för Klocka 1

• ena[2] är för Klocka 2

aclr[] Input 2 Asynkrona klara insignaler för alla register. Denna signal är aktiv-Hög.

Använda aclr[0] för alla ingångsregister och användning aclr[1] för alla pipelineregister och utgångsregister.

Som standard är denna signal avaktiverad.

Dynamiska styrsignaler

Signalnamn Typ Bredd Beskrivning
sub Input 1 Insignal för att addera eller subtrahera utsignalen från den övre multiplikatorn med utsignalen från den nedre multiplikatorn.

• Sätt tillbaka denna signal för att specificera additionsoperation.

• Bekräfta denna signal för att specificera subtraktionsoperation.

Som standard är denna signal avaktiverad. Du kan hävda eller avhäva denna signal under körning.(3)

förneka Input 1 Insignal för att addera eller subtrahera summan av topp- och bottenmultiplikatorer med data från kedjesignaler.

• Sätt tillbaka denna signal för att specificera additionsoperation.

• Bekräfta denna signal för att specificera subtraktionsoperation.

Som standard är denna signal avaktiverad. Du kan hävda eller avhäva denna signal under körning.(3)

ackumulera Input 1 Insignal för att aktivera eller inaktivera ackumulatorfunktionen.

• Avaktivera denna signal för att inaktivera ackumulatorfunktionen.

• Bekräfta denna signal för att aktivera ackumulatorfunktionen.

Som standard är denna signal avaktiverad. Du kan hävda eller avhäva denna signal under körning.(3)

lastkonst Input 1 Insignal för att aktivera eller inaktivera belastningskonstantfunktionen.

• Avaktivera denna signal för att inaktivera belastningskonstantfunktionen.

• Bekräfta denna signal för att aktivera funktionen för belastningskonstant.

Som standard är denna signal avaktiverad. Du kan hävda eller avhäva denna signal under körning.(3)

Interna koefficientsignaler

Signalnamn Typ Bredd Beskrivning
coefsela[] Input 3 Ingångsvalssignaler för 8 koefficientvärden definierade av användaren för den översta multiplikatorn. Koefficientvärdena lagras i internminnet och specificeras av parametrar coef_a_0 till coef_a_7.

• coefsela[2:0] = 000 avser coef_a_0

• coefsela[2:0] = 001 avser coef_a_1

• coelsela[2:0] = 010 avser coef_a_2

• … och så vidare.

Dessa signaler är endast tillgängliga när den interna koefficientfunktionen är aktiverad.

coefselb[] Input 3 Ingångsvalssignaler för 8 koefficientvärden definierade av användaren för bottenmultiplikatorn. Koefficientvärdena lagras i internminnet och specificeras av parametrar coef_b_0 till coef_b_7.

• coefselb[2:0] = 000 refererar till coef_b_0

• coefselb[2:0] = 001 refererar till coef_b_1

• coelselb[2:0] = 010 hänvisar till coef_b_2

• … och så vidare.

Dessa signaler är endast tillgängliga när den interna koefficientfunktionen är aktiverad.

Ingående kaskadsignaler

Signalnamn Typ Bredd Beskrivning
skanna[] Input 27 Ingångsdatabuss för ingångskaskadmodul.

Anslut dessa signaler till scanout-signalerna från föregående DSP-kärna.

scanout[] Utgång 27 Utdatabuss för ingångskaskadmodulen.

Anslut dessa signaler till skanningssignalerna för nästa DSP-kärna.

Utgående kaskadsignaler

Signalnamn Typ Bredd Beskrivning
kedja i[] Input 64 Indatabuss för utgångskaskadmodul.

Anslut dessa signaler till chainout-signalerna från den föregående DSP-kärnan.

chainout[] Produktion 64 Utdatabuss för utgångskaskadmodulen.

Anslut dessa signaler till kedjesignalerna för nästa DSP-kärna.

Dokumentversionshistorik för Cyclone 10 GX Native Fixed Point DSP IP Core användarhandbok

Datum Version Ändringar
november 2017 2017.11.06 Initial release.

Intel Corporation. Alla rättigheter förbehållna. Intel, Intels logotyp och andra Intel-märken är varumärken som tillhör Intel Corporation eller dess dotterbolag. Intel garanterar prestandan för sina FPGA- och halvledarprodukter enligt gällande specifikationer i enlighet med Intels standardgaranti men förbehåller sig rätten att göra ändringar av alla produkter och tjänster när som helst utan föregående meddelande. Intel tar inget ansvar eller ansvar som uppstår till följd av applikationen eller användningen av någon information, produkt eller tjänst som beskrivs här, förutom vad som uttryckligen har godkänts skriftligen av Intel. Intel-kunder rekommenderas att skaffa den senaste versionen av enhetsspecifikationerna innan de förlitar sig på någon publicerad information och innan de beställer produkter eller tjänster.

Andra namn och varumärken kan göras anspråk på att vara andras egendom.

Dokument/resurser

intel UG-20094 Cyclone 10 GX Native Fixed Point DSP IP Core [pdf] Användarhandbok
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

Referenser

Lämna en kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade *