intel UG-20094 Cyclone 10 GX Native Fixed Point DSP IP Core
Intel® Cyclone® 10 GX Native Fixed Point DSP IP Core User Guide
De Intel Cyclone® 10 GX Native Fixed Point DSP IP-kearn instantiearret en kontrolearret in inkele Intel Cyclone 10 GX Variable Precision Digital Signal Processing (DSP) blok. De Cyclone 10 GX Native Fixed Point DSP IP-kearn is allinich beskikber foar Intel Cyclone 10 GX-apparaten.
Cyclone 10 GX Native Fêst punt DSP IP Core funksjoneel blokdiagram
Related Information
Yntroduksje ta Intel FPGA IP Cores.
Cyclone 10 GX Native Fêst punt DSP IP Core Features
De Cyclone 10 GX Native Fixed Point DSP IP-kearn stipet de folgjende funksjes:
- Hege prestaasjes, power-optimalisearre en folslein registrearre fermannichfâldigje operaasjes
- 18-bit en 27-bit wurd lingtes
- Twa 18 × 19 multipliers of ien 27 × 27 multiplier per DSP blok
- Ynboude tafoeging, subtraksje en 64-bit dûbele akkumulaasjeregister om multiplikaasjeresultaten te kombinearjen
- Cascading 19-bit of 27-bit as pre-adder is útskeakele en cascading 18-bit as pre-adder wurdt brûkt om de tap-fertragingsline te foarmjen foar filterapplikaasje
- Cascading fan 64-bit útfierbus om útfierresultaten fan it iene blok nei it folgjende blok te propagearjen sûnder eksterne logika-stipe
- Hurde pre-adder stipe yn 19-bit en 27-bit modi foar symmetryske filters
- Ynterne koeffisientregisterbank yn sawol 18-bit as 27-bit modus foar filterimplementaasje
- 18-bit en 27-bit systolic finite impulse response (FIR) filters mei ferspraat útfier adder
Getting Started
Dit haadstik jout in algemiene oerview fan 'e stream fan Intel FPGA IP-kearnûntwerp om jo te helpen fluch te begjinnen mei de Cyclone 10 GX Native Fixed Point DSP IP-kearn. De Intel FPGA IP-bibleteek wurdt ynstalleare as ûnderdiel fan it ynstallaasjeproses fan Intel Quartus® Prime. Jo kinne elke Intel FPGA IP-kearn selektearje en parameterisearje fan 'e bibleteek. Intel leveret in yntegreare parameterbewurker wêrmei jo de Intel FPGA DSP IP-kearn kinne oanpasse om in breed ferskaat oan applikaasjes te stypjen. De parameterbewurker liedt jo troch it ynstellen fan parameterwearden en de seleksje fan opsjonele havens.
Related Information
- Yntroduksje ta Intel FPGA IP Cores
Jout algemiene ynformaasje oer alle Intel FPGA IP-kearnen, ynklusyf parameterisearjen, generearjen, opwurdearjen en simulearjen fan IP-kearnen. - It meitsjen fan ferzje-ûnôfhinklike IP- en platfoarmûntwerper (Standert) Simulaasjeskripts
Meitsje simulaasjeskripts dy't gjin hânmjittige fernijings nedich binne foar upgrades fan software of IP-ferzje. - Project Management Best Practices
Rjochtlinen foar effisjint behear en portabiliteit fan jo projekt en IP files.
Cyclone 10 GX Native Fêst punt DSP IP Core Parameter ynstellings
Jo kinne de Cyclone 10 GX Native Fixed Point DSP IP-kearn oanpasse troch de parameters op te jaan mei de parameterbewurker yn 'e Intel Quartus Prime-software.
Operaasje Mode Tab
Parameter | IP Generearre Parameter | Wearde | Beskriuwing |
Kies asjebleaft de operaasjemodus | operaasje_modus | m18×18_full m18×18_sumof2 m18×18_plus36 m18×18_systolic m27×27 | Selektearje de winske operasjonele modus. |
Multiplier Konfiguraasje | |||
Fertsjintwurdigingsformaat foar topmultiplikator x operand | tekene_max | ûndertekene net ûndertekene | Spesifisearje de fertsjintwurdiging opmaak foar de top multiplier x operand. |
Parameter | IP Generearre Parameter | Wearde | Beskriuwing |
Fertsjintwurdiging opmaak foar top multiplier y operand | tekene_mei | ûndertekene net ûndertekene | Spesifisearje de represintaasje opmaak foar de top multiplier y operand. |
Fertsjintwurdigingsformaat foar ûnderste multiplier x operand | ûndertekene_mbx | ûndertekene net ûndertekene | Spesifisearje de represintaasje opmaak foar de ûnderste multiplier x operand. |
Fertsjintwurdigingsformaat foar ûnderste multiplier y operand | ûndertekene_mby | ûndertekene net ûndertekene | Spesifisearje de fertsjintwurdiging opmaak foar de ûnderste multiplier y operand.
Altyd selektearje net ûndertekene foar m18×18_plus36 . |
Aktivearje 'sub' poarte | enable_sub | Nee Ja | Selektearje Ja ynskeakelje
sub poarte. |
Registrearje ynfier 'sub' fan 'e multiplier | sub_klok | Nee Klok0 Klok1 Klok2 | Selektearje Klok 0, Klok 1,of Klok 2 om it ynfierkloksinjaal yn te skeakeljen en oan te jaan foar sub-ynputregister. |
Ynfier Cascade | |||
Ynputkaskade ynskeakelje foar 'ay' ynfier | ay_use_scan_in | Nee Ja | Selektearje Ja om ynfierkaskademodule yn te skeakeljen foar ay gegevensynfier.
As jo ynfierkaskademodule ynskeakelje, brûkt de Cyclone 10 GX Native Fixed Point DSP IP-kearn de scanin-ynputsinjalen as ynfier ynstee fan ay-ynputsinjalen. |
Ynputkaskade ynskeakelje foar 'by' ynfier | by_use_scan_in | Nee Ja | Selektearje Ja ynskeakelje input cascade module foar troch gegevens input.
As jo ynputkaskademodule ynskeakelje, brûkt de Cyclone 10 GX Native Fixed Point DSP IP-kearn de ay-ynputsinjalen as ynfier ynstee fan troch ynfiersinjalen. |
Aktivearje gegevens ay fertraging register | delay_scan_out_ay | Nee Ja | Selektearje Ja om fertragingsregister yn te skeakeljen tusken ay en troch ynfierregisters.
Dizze funksje wurdt net stipe yn m18×18_plus36 en m27x27 operasjonele modus. |
Parameter | IP Generearre Parameter | Wearde | Beskriuwing |
Ynskeakelje gegevens troch fertraging register | delay_scan_out_by | Nee Ja | Selektearje Ja te aktivearjen fertraging register tusken troch ynfier registers en scanout útfier bus.
Dizze funksje wurdt net stipe yn m18×18_plus36 en m27x27 operasjonele modus. |
Scanoutpoarte ynskeakelje | gui_scanout_enable | Nee Ja | Selektearje Ja ynskeakelje
scanout útfier bus. |
'scanout' útfier bus breedte | scan_out_width | 1-27 | Spesifisearje de breedte fan
scanout útfier bus. |
Data 'x' konfiguraasje | |||
'ax' input bus breedte | ax_width | 1-27 | Spesifisearje de breedte fan
ax input bus.(1) |
Registrearje ynfier 'ax' fan de multiplier | ax_klok | Nee Klok0 Klok1 Klok2 | Selektearje Klok 0, Klok 1,of Klok 2 om it ynfierkloksinjaal yn te skeakeljen en oan te jaan foar akse-ynputregister.
ax input register is net beskikber as jo ynstelle 'ax' operand boarne nei 'koef'. |
'bx' ynfier bus breedte | bx_width | 1-18 | Spesifisearje de breedte fan
bx input bus.(1) |
Registrearje ynfier 'bx' fan 'e multiplier | bx_klok | Nee Klok0 Klok1 Klok2 | Selektearje Klok 0, Klok 1,of Klok 2 om it ynfierkloksinjaal yn te skeakeljen en oan te jaan foar bx-ynputregister.
bx input register is net beskikber as jo ynstelle 'bx' operand boarne nei 'koef'. |
Data 'y' konfiguraasje | |||
'ay' of 'scanin' busbreedte | ay_scan_in_width | 1-27 | Spesifisearje de breedte fan ay of scaninputbus.(1) |
Registrearje ynfier 'ay' of ynfier 'scanin' fan 'e multiplier | ay_scan_in_clock | Nee Klok0 Klok1 Klok2 | Selektearje Klok 0, Klok 1,of Klok 2 om it ynfierkloksinjaal yn te skeakeljen en oan te jaan foar ay of scanin ynfierregister. |
'by' ynfier bus breedte | by_width | 1-19 | Spesifisearje de breedte fan troch ynfierbus.(1) |
Parameter | IP Generearre Parameter | Wearde | Beskriuwing |
Registrearje ynfier 'troch' fan 'e multiplier | by_klok | Nee Klok0 Klok1 Klok2 | Selektearje Klok 0, Klok 1,of Klok 2 om it ynfierkloksinjaal yn te skeakeljen en oan te jaan foar troch of scanin
ynfier register.(1) |
Utfier 'resultaat' Konfiguraasje | |||
'resulta' útfier bus breedte | result_a_width | 1-64 | Spesifisearje de breedte fan
resulta útfier bus. |
'resultb' útfier bus breedte | result_b_width | 1-64 | Spesifisearje de breedte fan resultb útfier bus. resultb allinich beskikber by it brûken fan operation_mode m18×18_fol. |
Brûk output register | útfier_klok | Nee Klok0 Klok1 Klok2 | Selektearje Klok 0, Klok 1,of Klok 2 om it ynfierkloksinjaal yn te skeakeljen en oan te jaan foar resulta- en resultb-útfierregisters. |
Pre-adder Tab
Parameter | IP Generearre Parameter | Wearde | Beskriuwing |
'ay' operand boarne | operand_source_may | input preadder | Spesifisearje de operandboarne foar ay-ynfier. Útkieze preadder te aktivearjen pre-adder module foar top multiplier. Ynstellings foar ay en troch operandboarne moatte itselde wêze. |
'troch' operand boarne | operand_source_mby | input preadder | Spesifisearje de operandboarne foar troch ynfier. Útkieze preadder te aktivearjen pre-adder module foar boaiem multiplier. Ynstellings foar ay en troch operandboarne moatte itselde wêze. |
Set pre-adder in operaasje oan subtraksje | preadder_subtract_a | Nee Ja | Selektearje Ja te spesifisearje subtraction operaasje foar pre-adder module foar de top multiplier. Pre-adder ynstellings foar boppe- en ûnderste multiplier moatte wêze itselde. |
Set pre-adder b operaasje op subtraksje | preadder_subtract_b | Nee Ja | Selektearje Ja te spesifisearje subtraction operaasje foar pre-adder module foar de boaiem multiplier. Pre-adder ynstellings foar boppe- en ûnderste multiplier moatte wêze itselde. |
Data 'z' konfiguraasje | |||
'az' ynfier bus breedte | az_width | 1-26 | Spesifisearje de breedte fan az input bus.(1) |
Registrearje ynfier 'az' fan de multiplier | az_klok | Nee Klok0 Klok1 Klok2 | Selektearje Klok 0, Klok 1,of Klok 2 om it ynfierkloksinjaal foar az-ynputregisters yn te skeakeljen en oan te jaan. Klokynstellingen foar ay- en az-ynputregisters moatte itselde wêze. |
'bz' ynfier bus breedte | bz_width | 1-18 | Spesifisearje de breedte fan bz input bus.(1) |
Registrearje ynfier 'bz' fan 'e multiplier | bz_klok | Nee Klok0 Klok1 Klok2 | Selektearje Klok 0, Klok 1,of Klok 2 om it ynfierkloksinjaal foar bz-ynputregisters yn te skeakeljen en oan te jaan. Klokynstellingen foar by en bz ynfierregisters moatte itselde wêze. |
Ynterne koëffisjint Tab
Parameter | IP Generearre Parameter | Wearde | Beskriuwing |
'ax' operand boarne | operand_source_max | ynfier coef | Spesifisearje de operand boarne foar ax input bus. Útkieze coef om ynterne koeffisientmodule foar topmultiplikator yn te skeakeljen.
Selektearje Nee foar Registrearje ynfier 'ax' fan de multiplier parameter as jo de ynterne koeffisientfunksje ynskeakelje. |
Parameter | IP Generearre Parameter | Wearde | Beskriuwing |
Ynstellings foar ax en bx operand boarne moatte itselde wêze. | |||
'bx' operand boarne | operand_source_mbx | ynfier coef | Spesifisearje de operand boarne foar bx input bus. Útkieze coef om ynterne koeffisientmodule foar topmultiplikator yn te skeakeljen.
Selektearje Nee foar Registrearje ynfier 'bx' fan 'e multiplier parameter as jo de ynterne koeffisientfunksje ynskeakelje. Ynstellings foar ax en bx operand boarne moatte itselde wêze. |
'coefsel' Ynput Register Konfiguraasje | |||
Registrearje input 'coefsela' fan de multiplier | coef_sel_a_clock | Nee Klok0 Klok1 Klok2 | Selektearje Klok 0, Klok 1,of Klok 2 om it ynfierkloksinjaal foar de coefsela-ynputregisters yn te skeakeljen en oan te jaan. |
Registrearje input 'coefselb' fan de multiplier | coef_sel_b_clock | Nee Klok0 Klok1 Klok2 | Selektearje Klok 0, Klok 1,of Klok 2 om it ynfierkloksinjaal foar de coefselb-ynputregisters yn te skeakeljen en oan te jaan. |
Koëffisjint Storage Konfiguraasje | |||
coef_a_0–7 | coef_a_0–7 | Integer | Spesifisearje de koeffisient wearden foar ax input bus.
Foar 18-bit operaasjemodus is de maksimale ynfierwearde 218 - 1. Foar 27-bit operaasje is de maksimale wearde 227 - 1. |
coef_b_0–7 | coef_b_0–7 | Integer | Spesifisearje de koeffisientwearden foar bx input bus. |
Akkumulator / Utfier Cascade Tab
Parameter | IP Generearre Parameter | Wearde | Beskriuwing |
Aktivearje 'accumulearje' poarte | enable_accumulate | Nee Ja | Selektearje Ja ynskeakelje
accumulator haven. |
Aktivearje 'negate' poarte | enable_negate | Nee Ja | Selektearje Ja ynskeakelje
negearje haven. |
Ynskeakelje 'loadconst' poarte | enable_loadconst | Nee Ja | Selektearje Ja ynskeakelje
loadconst haven. |
Registrearje ynfier 'akkumulearje' fan 'e accumulator | accumulearje_klok | Nee Klok0 Klok1 Klok2 | Selektearje Klok 0 , Klok 1,of Klok 2 om it ynfierkloksinjaal yn te skeakeljen en oan te jaan foar de accumulearjende ynfierregisters. |
Parameter | IP Generearre Parameter | Wearde | Beskriuwing |
Registrearje ynfier 'loadconst' fan 'e accumulator | load_const_clock | Nee Klok0 Klok1 Klok2 | Selektearje Klok 0, Klok 1,of Klok 2 om it ynfierkloksinjaal yn te skeakeljen en oan te jaan foar de ynfierregisters fan loadconst. |
Registrearje ynfier 'negate' fan 'e adder-ienheid | negate_clock | Nee Klok0 Klok1 Klok2 | Selektearje Klok 0, Klok 1,of Klok 2 om it ynfierkloksinjaal yn te skeakeljen en oan te jaan foar de negate-ynputregisters. |
Aktivearje dûbele accumulator | enable_double_accum | Nee Ja | Selektearje Ja om dûbele accumulatorfunksje yn te skeakeljen. |
N wearde fan ynsteld konstante | load_const_value | 0 – 63 | Spesifisearje de ynstelde konstante wearde.
Dizze wearde kin 2 wêzeN wêr N is de ynstelde konstante wearde. |
Ynskeakelje chainin haven | use_chainadder | Nee Ja | Selektearje Ja om útfierkaskademodule en de kettingynputbus yn te skeakeljen.
Utfierkaskadefunksje wurdt net stipe yn m18×18_fol operaasje modus. |
Ynskeakelje chainout haven | gui_chainout_enable | Nee Ja | Selektearje Ja om de chainout-útfierbus yn te skeakeljen. Utfierkaskadefunksje wurdt net stipe yn
m18×18_fol operaasje modus. |
Pipelining Tab
Parameter | IP Generearre Parameter | Wearde | Beskriuwing |
Foegje ynfierpipelineregister ta oan it ynfiergegevenssinjaal (x/y/z/coefsel) | input_pipeline_clock | Nee Klok0 Klok1 Klok2 | Selektearje Klok 0, Klok 1,of Klok 2 om it ynfierkloksinjaal yn te skeakeljen en oan te jaan foar x, y, z, coefsela en coefselb pipeline input registers. |
Foegje ynfierpipelineregister ta oan it 'sub' gegevenssinjaal | sub_pipeline_klok | Nee Klok0 Klok1 Klok2 | Selektearje Klok 0, Klok 1,of Klok 2 om it ynfierkloksinjaal foar it subpipeline-ynputregister yn te skeakeljen en oan te jaan. (2) |
Foegje ynfierpipelineregister ta oan it gegevenssinjaal 'accumulearje' | accum_pipeline_clock | Nee Klok0 Klok1 Klok2 | Selektearje Klok 0, Klok 1,of Klok 2 om it ynfierkloksinjaal yn te skeakeljen en te spesifisearjen foar it akkumulearre pipeline-ynputregister.(2) |
Foegje ynfierpipelineregister ta oan it gegevenssinjaal 'loadconst' | load_const_pipeline_clock | Nee Klok0 Klok1 Klok2 | Selektearje Klok 0, Klok 1,of Klok 2 om it ynfierkloksinjaal yn te skeakeljen en te spesifisearjen foar it ynfierregister fan 'e loadconst pipeline.(2) |
Foegje ynfierpipelineregister ta oan it 'negate' gegevenssinjaal | negate_pipeline_clock | Nee Klok0 Klok1 Klok2 | Selektearje Klok 0, Klok 1,of Klok 2 om it ynfierkloksinjaal yn te skeakeljen en op te jaan foar it ynputregister fan negate pipeline.(2) |
Maksimum Input Data Breedte Per Operation Mode
Jo kinne de gegevensbreedte oanpasse foar x-, y- en z-ynputs lykas oantsjutte yn 'e tabel.
Alle pipeline ynfier registers foar dynamyske kontrôle sinjalen moatte hawwe deselde klok ynstelling.
Operaasje Mode | Maksimum Input Data Breedte | |||||
ax | ay | az | bx | by | bz | |
Sûnder Pre-adder of ynterne koëffisjint | ||||||
m18×18_fol | 18 (ûndertekene)
18 (net ûndertekene) |
19 (ûndertekene)
18 (net ûndertekene) |
Net brûkt | 18 (ûndertekene)
18 (net ûndertekene) |
19 (ûndertekene)
18 (net ûndertekene) |
Net brûkt |
m18×18_sumof2 | ||||||
m18×18_systolik | ||||||
m18×18_plus36 | ||||||
m27×27 | 27 (ûndertekene)
27 (net ûndertekene) |
Net brûkt | ||||
Allinich mei Pre-adder-funksje | ||||||
m18×18_fol | 18 (ûndertekene)
18 (net ûndertekene) |
|||||
m18×18_sumof2 | ||||||
m18×18_systolik | ||||||
m27×27 | 27 (ûndertekene)
27 (net ûndertekene) |
26 (ûndertekene)
26 (net ûndertekene) |
Net brûkt | |||
Allinich mei ynterne koëffisjintfunksje | ||||||
m18×18_fol | Net brûkt | 19 (ûndertekene)
18 (net ûndertekene) |
Net brûkt | 19 (ûndertekene)
18 (net ûndertekene) |
Net brûkt | |
m18×18_sumof2 | ||||||
m18×18_systolik | ||||||
m27×27 | 27 (ûndertekene)
27 (net ûndertekene) |
Net brûkt |
Funksjonele beskriuwing
De Cyclone 10 GX Native Fixed Point DSP IP-kearn bestiet út 2-arsjitektuer; 18 × 18 multiplikaasje en 27 × 27 multiplikaasje. Elke ynstânsje fan 'e Cyclone 10 GX Native Fixed Point DSP IP-kearn genereart allinich 1 fan' e 2-arsjitektueren ôfhinklik fan 'e selekteare operasjonele modi. Jo kinne opsjonele modules ynskeakelje foar jo applikaasje.
Related Information
Fariabele Precision DSP-blokken yn Intel Cyclone 10 GX-apparaten haadstik, Intel Cyclone 10 GX Core Fabric en Algemien Doel I / Os Hânboek.
Operasjonele Modes
De Cyclone 10 GX Native Fixed Point DSP IP-kearn stipet 5 operasjonele modi:
- De 18 × 18 Folsleine modus
- De 18 × 18 Som fan 2 Mode
- De 18 × 18 Plus 36 Mode
- De 18 × 18 systolyske modus
- De 27 × 27 modus
De 18 × 18 Folsleine modus
As ynsteld as 18 × 18 folsleine modus, wurket de Cyclone 10 GX Native Fixed Point DSP IP-kearn as twa ûnôfhinklike 18 (ûndertekene / net ûndertekene) × 19 (ûndertekene) of 18
(ûndertekene / net ûndertekene) × 18 (net ûndertekene) multipliers mei 37-bit útfier. Dizze modus jildt de folgjende fergelikingen:
- resulta = ax * ay
- resultb = bx * by
De 18 × 18 Full Mode Architecture
De 18 × 18 Som fan 2 Mode
Yn 18 × 18 Som fan 2-modi makket de Cyclone 10 GX Native Fixed Point DSP IP-kearn de boppe- en ûnderste multipliers yn en genereart in resultaat fan tafoeging of subtraksje tusken de 2 multipliers. It subdynamyske kontrôlesinjaal kontrolearret in opteller om de tafoeging- of subtraksje-operaasjes út te fieren. De resulta-útfierbreedte fan 'e Cyclone 10 GX Native Fixed Point DSP IP-kearn kin maksimaal 64 bits stypje as jo accumulator / útfierkaskade ynskeakelje. Dizze modus jildt de fergeliking fan resulta =[±(ax * ay) + (bx * by)].
De 18 × 18 Sum of 2 Mode Architecture
De 18 × 18 Plus 36 Mode
As konfigureare as 18 × 18 Plus 36-modus, makket de Cyclone 10 GX Native Fixed Point DSP IP-kearn allinich de topmultiplikator mooglik. Dizze modus jildt de fergeliking fan resulta = (ax * ay) + concatenate(bx[17:0],by[17:0]).
De 18 × 18 Plus 36 Mode Architecture
Jo moatte it Representation-formaat foar ûnderste multipliers y operand ynstelle op net ûndertekene by it brûken fan dizze modus. As de ynfierbus minder is as 36-bit yn dizze modus, binne jo ferplichte om de nedige ûndertekene útwreiding te leverjen om de 36-bit-ynput te foljen.
Minder dan 36-bit operand brûke yn 18 × 18 Plus 36-modus
Dizze eksample lit sjen hoe't jo de Cyclone 10 GX Native Fixed Point DSP IP-kearn konfigurearje om 18 × 18 Plus 36 operasjonele modus te brûken mei in tekene 12-bit ynfiergegevens fan 101010101010 (binêr) ynstee fan in 36-bit operand.
- Set Representation format foar ûnderste multiplier x operand: oan ûndertekene.
- Set Representation format foar ûnderste multiplier y operand: nei unsigned.
- Stel 'bx' ynfierbusbreedte yn op 18.
- Stel 'by' ynfierbusbreedte yn op 18.
- Jou gegevens fan '111111111111111111' oan bx input bus.
- Jou gegevens fan '111111101010101010' oan troch ynfierbus.
De 18 × 18 systolyske modus
Yn 18 × 18 systolike operative modi makket de Cyclone 10 GX Native Fixed Point DSP IP-kearn de boppe- en ûnderste multipliers, in ynfier systolik register foar de boppeste multiplier, en in keten systolik register foar de ketting yn ynfiersignalen. As jo útfierkaskade ynskeakelje, stipet dizze modus resultaat in útfierbreedte fan 44 bits. As jo de akkumulatorfunksje ynskeakelje sûnder útfierkaskade, kinne jo de resulta-útfierbreedte konfigurearje nei 64 bits.
De 18 × 18 Systolic Mode Architecture
De 27 × 27 modus
As konfigureare as 27 × 27-modi, makket de Cyclone 10 GX Native Fixed Point DSP IP-kearn in 27 (ûndertekene / net ûndertekene) × 27 (ûndertekene / net ûndertekene) multiplier. De útfierbus kin oant 64 bits stypje mei accumulator / útfierkaskade ynskeakele. Dizze modus jildt de fergeliking fan resulta = ax * ay.
De arsjitektuer fan 27 × 27 modus
Optionale modules
De opsjonele modules te krijen yn 'e Cyclone 10 GX Native Fixed Point DSP IP Core binne:
- Ynput kaskade
- Pre-adders
- Ynterne koëffisjint
- Akkumulator en útfier kaskade
- Pipeline registers
Ynfier Cascade
Ynputkaskadefunksje wurdt stipe op ay en troch ynfierbus. As jo ynfierkaskade ynskeakelje foar 'ay' ynfier op Ja ynstelle, sil de Cyclone 10 GX Native Fixed Point DSP IP-kearn ynputen nimme fan scan-ynputsinjalen ynstee fan ay-ynputbus. As jo ynfierkaskade ynskeakelje foar 'troch' ynfier op Ja ynstelle, sil de Cyclone 10 GX Native Fixed Point DSP IP-kearn ynputen nimme fan ay-ynputbus ynstee fan troch ynfierbus.
It is oan te rieden om de ynfierregisters yn te skeakeljen foar ay en / of troch wannear't ynfierkaskade ynskeakele is foar de korrektheid fan 'e applikaasje.
Jo kinne de fertragingsregisters ynskeakelje om oerien te kommen mei de latency-eask tusken it ynfierregister en it útfierregister. D'r binne 2 fertragingsregisters yn 'e kearn. It boppeste fertragingsregister wurdt brûkt foar ay- of scan-yn-ynputpoarten, wylst it ûnderste fertragingsregister wurdt brûkt foar scanoutútfierpoarten. Dizze fertragingsregisters wurde stipe yn 18 × 18 folsleine modus, 18 × 18 sommen fan 2 modi, en 18 × 18 systolyske modi.
Pre-adder
De pre-adder kin wurde konfigureare yn de folgjende konfiguraasjes:
- Twa ûnôfhinklike 18-bit (ûndertekene / net ûndertekene) pre-adders.
- Ien 26-bit pre-adder.
As jo pre-adder ynskeakelje yn 18 × 18 multiplikaasjemodi, wurde ay en az brûkt as de ynfierbus nei de boppeste pre-adder, wylst by en bz wurde brûkt as de ynfierbus nei de ûnderste pre-adder. As jo pre-adder ynskeakelje yn 27 × 27 multiplikaasjemodus, wurde ay en az brûkt as de ynfierbus nei de pre-adder. De pre-adder stipet sawol optellen as subtraksje operaasjes. As beide pre-adders binnen itselde DSP-blok wurde brûkt, moatte se itselde operaasjetype diele (sawol tafoeging as subtraksje).
Ynterne koëffisjint
De ynterne koeffizient kin maksimaal acht konstante koeffizienten stypje foar de multiplikanen yn 18-bit en 27-bit modus. As jo de ynterne koëffisjintfunksje ynskeakelje, wurde twa ynfierbussen om de seleksje fan 'e koëffisjintmultiplexer te kontrolearjen oanmakke. De coefsela-ynputbus wurdt brûkt om de foarôf definieare koeffizienten foar de boppeste multiplier te selektearjen en de riedsinputbus wurdt brûkt om de foarôf definieare koeffizienten foar de ûnderste multiplier te selektearjen.
De ynterne koeffisientopslach stipet gjin dynamysk kontrolearbere koeffizientwearden en eksterne koeffisientopslach is nedich om sa'n operaasje út te fieren.
Akkumulator en Output Cascade
De accumulatormodule kin ynskeakele wurde om de folgjende operaasjes út te fieren:
- Opheffen of subtraksje operaasje
- Biased rounding operaasje mei help fan in konstante wearde fan 2N
- Dual kanaal accumulation
Om dynamysk út te fieren tafoeging of subtraksje operaasje fan 'e accumulator, kontrolearje de negate ynfier sinjaal. Foar in biased rounding operaasje, kinne jo oantsjutte en lade in foarôf ynstelde konstante fan 2N foar de accumulator module wurdt ynskeakele troch it opjaan fan in hiel getal oan de parameter N wearde fan de ynstelde konstante. It heule getal N moat minder wêze as 64. Jo kinne it gebrûk fan 'e foarynstelde konstante dynamysk yn- of útskeakelje troch it loadconst-sinjaal te kontrolearjen. Jo kinne dizze operaasje brûke as in aktive muxing fan 'e rûne wearde yn it accumulatorfeedbackpaad. De laden kosten en it opboude sinjaalgebrûk binne inoar eksklusyf.
Jo kinne it dûbele accumulatorregister ynskeakelje mei de parameter Dûbele accumulator ynskeakelje om dûbele accumulator út te fieren. De akkumulatormodule kin it keatling fan meardere DSP-blokken stypje foar tafoegings- of subtraksje-operaasjes troch it ynskeakeljen fan de ketting-ynputpoarte en chain-out-útfierpoarte. Yn 18 × 18 systolyske modus sil allinich 44-bit fan 'e ketting-ynputbus en kettingútútfierbus brûkt wurde. Lykwols, alle 64-bit keatlingen yn de ynfier bus moatte wurde ferbûn mei de ketting-out útfier bus út de foargeande DSP blok.
Pipeline Register
De Cyclone 10 GX Native Fixed Point DSP IP-kearn stipet ien nivo fan pipelineregister. It pipelineregister stipet maksimaal trije klokboarnen en ien asynchrone dúdlik sinjaal om de pipelineregisters werom te setten. D'r binne fiif pipelineregisters:
- data input bus pipeline register
- sub dynamyske kontrôle sinjaal pipeline register
- negate dynamyske kontrôle sinjaal pipeline register
- accumulearje dynamyske kontrôle sinjaal pipeline register
- loadconst dynamyske kontrôle pipeline register
Jo kinne kieze te skeakeljen eltse gegevens ynfier bus pipeline registers en de dynamyske kontrôle sinjaal pipeline registers ûnôfhinklik. Alle ynskeakele pipelineregisters moatte lykwols deselde klokboarne brûke.
Clocking Scheme
De ynfier-, pipeline- en útfierregisters yn 'e Cyclone 10 GX Native Fixed Point DSP IP-kearn stipet trije klokboarnen / ynskeakelje en twa asynchrone wissingen. Alle ynfierregisters brûke aclr[0] en alle pipeline- en útfierregisters brûke aclr[1]. Elts register type kin selektearje ien fan de trije klok boarnen en klok ynskeakelje sinjalen. As jo de Cyclone 10 GX Native Fixed Point DSP IP-kearn konfigurearje nei 18 × 18 systolyske operaasjemodus, sil de Intel Quartus Prime-software it ynfier systolysk register en de keatling systolyske registerklokboarne ynstelle op deselde klokboarne as it útfierregister yntern.
As jo de dûbele accumulatorfunksje ynskeakelje, sil de Intel Quartus Prime-software de klokboarne fan 'e dûbele accumulatorregister ynstelle op deselde klokboarne as it útfierregister yntern.
Clocking Scheme beheinings
Dit ljepblêd toant de beheiningen dy't jo moatte oanfreegje foar alle registerklokskema's.
Betingst | Beheining |
As pre-adder is ynskeakele | Klokboarne foar ay- en az-ynputregisters moatte itselde wêze. |
Klokboarne foar by en bz ynfierregisters moatte itselde wêze. | |
As pipeline registers binne ynskeakele | Klokboarne foar alle pipelineregisters moat itselde wêze. |
Wannear't ien fan de ynfier registers foar dynamyske kontrôle sinjalen | Klokboarne foar ynfierregisters foar sub, accumulearje, loadconst en negate moat itselde wêze. |
Cyclone 10 GX Native Fêst punt DSP IP Core sinjalen
De folgjende figuer toant de ynfier- en útfiersinjalen fan 'e Cyclone 10 GX Native Fixed Point DSP IP-kearn.
Cyclone 10 GX Native Fêst punt DSP IP Core sinjalen
Data Input sinjalen
Sinjaal Namme | Type | Breedte | Beskriuwing |
bile[] | Ynfier | 27 | Input data bus nei top multiplier. |
ja[] | Ynfier | 27 | Input data bus nei top multiplier.
As pre-adder ynskeakele is, wurde dizze sinjalen tsjinne as ynfiersinjalen nei de boppeste pre-adder. |
az[] | Ynfier | 26 | Dizze sinjalen binne ynfiersinjalen nei de boppeste pre-adder.
Dizze sinjalen binne allinich beskikber as pre-adder ynskeakele is. Dizze sinjalen binne net beskikber yn m18×18_plus36 operasjonele modus. |
bx[] | Ynfier | 18 | Input data bus nei boaiem multiplier.
Dizze sinjalen binne net beskikber yn m27×27 operasjonele modus. |
troch[] | Ynfier | 19 | Input data bus nei boaiem multiplier.
As pre-adder ynskeakele is, tsjinje dizze sinjalen as ynfiersinjalen nei de ûnderste pre-adder. Dizze sinjalen binne net beskikber yn m27×27 operasjonele modus. |
bz[] | Ynfier | 18 | Dizze sinjalen binne ynfiersignalen nei de ûnderste pre-adder. Dizze sinjalen binne allinich beskikber as pre-adder ynskeakele is. Dizze sinjalen binne net beskikber yn m27×27 en m18×18_plus36 operasjonele modes. |
Data útfier sinjalen
Sinjaal Namme | Type | Breedte | Beslút |
resultaat[] | Utfier | 64 | Utfier data bus út top multiplier.
Dizze sinjalen stypje oant 37 bits foar m18×18_fol operasjonele modus. |
resultaatb[] | Utfier | 37 | Utfier data bus út boaiem multiplier.
Dizze sinjalen allinne beskikber yn m18×18_fol operasjonele modus. |
Klok, ynskeakelje en sinjalen wiskje
Sinjaal Namme | Type | Breedte | Beskriuwing |
klk[] | Ynfier | 3 | Input klok sinjalen foar alle registers.
Dizze kloksinjalen binne allinich beskikber as ien fan 'e ynfierregisters, pipelineregisters of útfierregister is ynsteld op Klok 0, Klok 1,of Klok 2. • clk[0] = Klok 0 • clk[1] = Klok 1 • clk[2] = Klok 2 |
ena[] | Ynfier | 3 | Klok ynskeakelje foar clk[2:0]. Dit sinjaal is aktyf-High.
• ena[0] is foar Klok 0 • ena[1] is foar Klok 1 • ena[2] is foar Klok 2 |
aclr[] | Ynfier | 2 | Asynchronous dúdlike ynfier sinjalen foar alle registers. Dit sinjaal is aktyf-High.
Gebrûk aclr[0] foar alle ynfier registers en gebrûk aclr[1] foar alle pipeline registers en útfier register. Standert wurdt dit sinjaal de-asserted. |
Dynamic Control Signals
Sinjaal Namme | Type | Breedte | Beskriuwing |
sub | Ynfier | 1 | Ynfiersinjaal om de útfier fan 'e boppeste multiplier ta te foegjen of te subtrahearjen mei de útfier fan' e ûnderste multiplier.
• Deassert dit sinjaal te spesifisearjen addition operaasje. • Assert dit sinjaal te spesifisearjen subtraction operaasje. Standert is dit sinjaal deasserted. Jo kinne dit sinjaal beweare of deasserje tidens run-time.(3) |
negearje | Ynfier | 1 | Ynfiersinjaal om de som fan boppe- en ûnderste multipliers ta te foegjen of ôf te trekken mei de gegevens fan kettingsinjalen.
• Deassert dit sinjaal te spesifisearjen addition operaasje. • Assert dit sinjaal te spesifisearjen subtraction operaasje. Standert is dit sinjaal deasserted. Jo kinne dit sinjaal beweare of deasserje tidens run-time.(3) |
accumulearje | Ynfier | 1 | Ynfiersinjaal om de accumulatorfunksje yn te skeakeljen of út te skeakeljen.
• Deassert dit sinjaal te skeakeljen de accumulator funksje. • Assert dit sinjaal te skeakeljen de accumulator funksje. Standert is dit sinjaal deasserted. Jo kinne dit sinjaal beweare of deasserje tidens run-time.(3) |
loadconst | Ynfier | 1 | Ynfiersinjaal om de funksje foar konstante lading yn te skeakeljen of út te skeakeljen.
• Deassert dit sinjaal te skeakeljen de lading konstante funksje. • Assert dit sinjaal te skeakeljen de lading konstante funksje. Standert is dit sinjaal deasserted. Jo kinne dit sinjaal beweare of deasserje tidens run-time.(3) |
Ynterne koëffisjint sinjalen
Sinjaal Namme | Type | Breedte | Beskriuwing |
coefsela[] | Ynfier | 3 | Input seleksje sinjalen foar 8 koeffisient wearden definiearre troch brûker foar de top multiplier. De koeffizientwearden wurde opslein yn it ynterne ûnthâld en oantsjutte troch parameters coef_a_0 nei coef_a_7.
• coefsela[2:0] = 000 ferwiist nei coef_a_0 • coefsela[2:0] = 001 ferwiist nei coef_a_1 • coelsela[2:0] = 010 ferwiist nei coef_a_2 • … ensafuorthinne. Dizze sinjalen binne allinich beskikber as de ynterne koëffisjintfunksje ynskeakele is. |
koefselb[] | Ynfier | 3 | Input seleksje sinjalen foar 8 koeffisient wearden definiearre troch brûker foar de ûnderste multiplier. De koeffizientwearden wurde opslein yn it ynterne ûnthâld en oantsjutte troch parameters coef_b_0 nei coef_b_7.
• coefselb[2:0] = 000 ferwiist nei coef_b_0 • coefselb[2:0] = 001 ferwiist nei coef_b_1 • coelselb[2:0] = 010 ferwiist nei coef_b_2 • … ensafuorthinne. Dizze sinjalen binne allinich beskikber as de ynterne koëffisjintfunksje ynskeakele is. |
Input Cascade sinjalen
Sinjaal Namme | Type | Breedte | Beskriuwing |
skennen[] | Ynfier | 27 | Input data bus foar input cascade module.
Ferbine dizze sinjalen mei de scanout sinjalen út de foargeande DSP kearn. |
scanout[] | Output | 27 | Utfier data bus fan de ynfier cascade module.
Ferbine dizze sinjalen mei de scansinjalen fan 'e folgjende DSP-kearn. |
Utfier Cascade sinjalen
Sinjaal Namme | Type | Breedte | Beskriuwing |
ketting[] | Ynfier | 64 | Input gegevens bus foar útfier cascade module.
Ferbine dizze sinjalen mei de chainout sinjalen út de foargeande DSP kearn. |
keatling[] | Utfier | 64 | Utfier data bus fan de útfier cascade module.
Ferbine dizze sinjalen mei de kettingsinjalen fan 'e folgjende DSP-kearn. |
Dokumintferzjeskiednis foar de Cyclone 10 GX Native Fixed Point DSP IP Core User Guide
Datum | Ferzje | Feroarings |
novimber 2017 | 2017.11.06 | Inisjele release. |
Intel Corporation. Alle rjochten foarbehâlden. Intel, it Intel-logo en oare Intel-merken binne hannelsmerken fan Intel Corporation of har dochterûndernimmingen. Intel garandearret de prestaasjes fan har FPGA- en semiconductorprodukten oan hjoeddeistige spesifikaasjes yn oerienstimming mei Intel's standert garânsje, mar behâldt it rjocht foar om op elk momint feroarings oan te bringen oan produkten en tsjinsten sûnder notice. Intel nimt gjin ferantwurdlikens of oanspraaklikens oan dy't fuortkomme út 'e applikaasje of gebrûk fan ynformaasje, produkt of tsjinst beskreaun hjiryn, útsein as útdruklik skriftlik ôfpraat troch Intel. Intel-klanten wurde advisearre om de lêste ferzje fan apparaatspesifikaasjes te krijen foardat se fertrouwe op alle publisearre ynformaasje en foardat se oarders pleatse foar produkten of tsjinsten.
Oare nammen en merken kinne wurde opeaske as eigendom fan oaren.
Dokuminten / Resources
![]() |
intel UG-20094 Cyclone 10 GX Native Fixed Point DSP IP Core [pdf] Brûkersgids UG-20094 Cyclone 10 GX Native Fêst punt DSP IP Core, UG-20094, Cyclone 10 GX Native Fêst punt DSP IP Core, Native Fêst punt DSP IP Core, Fêst punt DSP IP Core, DSP IP Core |