FPGA täisarvu aritmeetilised IP tuumad
Intel FPGA Integer Aritmetic IP Cores User Guide
Värskendatud Intel® Quartus® Prime Design Suite'i jaoks: 20.3
Veebiversioon Saada tagasisidet
UG-01063
ID: 683490 Versioon: 2020.10.05
Sisu
Sisu
1. Inteli FPGA täisarvulised aritmeetilised IP-südamikud………………………………………………………………….. 5
2. LPM_COUNTER (loendur) IP-tuum…………………………………………………………………………….. 7 2.1. Omadused……………………………………………………………………………………………………7 2.2. Verilog HDL prototüüp………………………………………………………………………………….. 8 2.3. VHDL-i komponendi deklaratsioon……………………………………………………………………….8 2.4. VHDL LIBRARY_USE deklaratsioon………………………………………………………………………… 9 2.5. Portid………………………………………………………………………………………………………..9 2.6. Parameetrid……………………………………………………………………………………………… 10
3. LPM_DIVIDE (jagaja) Intel FPGA IP Core…………………………………………………………….. 12 3.1. Funktsioonid………………………………………………………………………………………………. 12 3.2. Verilog HDL prototüüp………………………………………………………………………………… 12 3.3. VHDL komponendi deklaratsioon…………………………………………………………………….. 13 3.4. VHDL LIBRARY_USE deklaratsioon……………………………………………………………………. 13 3.5. Sadamad……………………………………………………………………………………………………… 13 3.6. Parameetrid………………………………………………………………………………………………… 14
4. LPM_MULT (kordisti) IP-tuum……………………………………………………………………………. 16 4.1. Funktsioonid………………………………………………………………………………………………. 16 4.2. Verilog HDL prototüüp………………………………………………………………………………… 17 4.3. VHDL-i komponendi deklaratsioon…………………………………………………………………….. 17 4.4. VHDL LIBRARY_USE deklaratsioon……………………………………………………………………. 17 4.5. Signaalid…………………………………………………………………………………………………… 18 4.6. Stratix V, Arria V, Cyclone V ja Intel Cyclone 10 LP seadmete parameetrid…………… 18 4.6.1. Vahekaart Üldine…………………………………………………………………………………18 4.6.2. Üldine 2 vahekaart ……………………………………………………………………………………… 19 4.6.3. Vahekaart torujuhtmete ühendamine……………………………………………………………………………… 19 4.7. Intel Stratix 10, Intel Arria 10 ja Intel Cyclone 10 GX seadmete parameetrid……….. 20 4.7.1. Vahekaart Üldine……………………………………………………………………………………20 4.7.2. Üldine 2 sakk………………………………………………………………………………… 20 4.7.3. Torujuhtmestik…………………………………………………………………………………………21
5. LPM_ADD_SUB (liitja/lahutaja)……………………………………………………………………… 22 5.1. Funktsioonid………………………………………………………………………………………………. 22 5.2. Verilog HDL prototüüp………………………………………………………………………………… 23 5.3. VHDL-i komponendi deklaratsioon……………………………………………………………………….. 23 5.4. VHDL LIBRARY_USE deklaratsioon……………………………………………………………………. 23 5.5. Sadamad……………………………………………………………………………………………………… 23 5.6. Parameetrid………………………………………………………………………………………………… 24
6. LPM_COMPARE (võrdlus)………………………………………………………………………………… 26 6.1. Funktsioonid………………………………………………………………………………………………. 26 6.2. Verilog HDL prototüüp………………………………………………………………………………… 27 6.3. VHDL-i komponendi deklaratsioon…………………………………………………………………….. 27 6.4. VHDL LIBRARY_USE deklaratsioon……………………………………………………………………. 27 6.5. Portid……………………………………………………………………………………………………… 27 6.6. Parameetrid………………………………………………………………………………………………… 28
Intel FPGA Integer Aritmetic IP Cores User Guide 2
Saada tagasisidet
Sisu
7. ALTECC (veaparanduskood: kodeerija/dekooder) IP-tuum………………………………………… 30
7.1. ALTECC kodeerija funktsioonid……………………………………………………………………………..31 7.2. Verilog HDL prototüüp (ALTECC_ENCODER)………………………………………………………. 32 7.3. Verilog HDL prototüüp (ALTECC_DECODER)………………………………………………………. 32 7.4. VHDL-i komponendi deklaratsioon (ALTECC_ENCODER)………………………………………………33 7.5. VHDL-i komponendi deklaratsioon (ALTECC_DECODER)………………………………………………33 7.6. VHDL LIBRARY_USE deklaratsioon……………………………………………………………………. 33 7.7. Kodeerija pordid…………………………………………………………………………………………… 33 7.8. Dekoodri pordid………………………………………………………………………………………………34 7.9. Kodeerija parameetrid…………………………………………………………………………………… 34 7.10. Dekoodri parameetrid ………………………………………………………………………………… 35
8. Inteli FPGA mitmekordse liitja IP-tuuma………………………………………………………………………. 36
8.1. Funktsioonid………………………………………………………………………………………………. 37 8.1.1. Eelliitja…………………………………………………………………………………….. 38 8.1.2. Süstoolse viivituse register…………………………………………………………………….. 40 8.1.3. Eelkoormuse konstant…………………………………………………………………………… 43 8.1.4. Topeltaku………………………………………………………………………… 43
8.2. Verilog HDL prototüüp………………………………………………………………………………… 44 8.3. VHDL-i komponendi deklaratsioon…………………………………………………………………….. 44 8.4. VHDL LIBRARY_USE deklaratsioon……………………………………………………………………. 44 8.5. Signaalid…………………………………………………………………………………………………… 44 8.6. Parameetrid……………………………………………………………………………………………… 47
8.6.1. Vahekaart Üldine……………………………………………………………………………………47 8.6.2. Lisarežiimide vahekaart…………………………………………………………………………….. 47 8.6.3. Kordajate vahekaart……………………………………………………………………………….. 49 8.6.4. Preadder Tab………………………………………………………………………………. 51 8.6.5. Akumulaatori vahekaart…………………………………………………………………………….. 53 8.6.6. Süstoolse/ahela vahekaart……………………………………………………………………. 55 8.6.7. Vahekaart torujuhtmete ühendamine………………………………………………………………………………… 56
9. ALTMEMMULT (mälupõhine konstantse koefitsiendi kordaja) IP-tuum……………………… 57
9.1. Funktsioonid………………………………………………………………………………………………. 57 9.2. Verilog HDL prototüüp………………………………………………………………………………… 58 9.3. VHDL-i komponendi deklaratsioon…………………………………………………………………….. 58 9.4. Sadamad…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………. Parameetrid………………………………………………………………………………………………… 59
10. ALTMULT_ACCUM (Multiply-Accumulate) IP-tuum…………………………………………………… 61
10.1. Omadused……………………………………………………………………………………………….. 62 10.2. Verilog HDL prototüüp………………………………………………………………………………..62 10.3. VHDL -i komponentide deklaratsioon …………………………………………………………………………………………………………………………. VHDL LIBRARY_USE deklaratsioon…………………………………………………………………… 63 10.4. Sadamad……………………………………………………………………………………………………. 63 10.5. Parameetrid…………………………………………………………………………………………. 63
11. ALTMULT_ADD (mitmeliitja) IP-tuum………………………………………………………………..69
11.1. Omadused……………………………………………………………………………………………….. 71 11.2. Verilog HDL prototüüp………………………………………………………………………………..72 11.3. VHDL -i komponentide deklaratsioon …………………………………………………………………………………………………………………………………… VHDL LIBRARY_USE deklaratsioon………………………………………………………………………72
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 3
Sisu
11.5. Sadamad……………………………………………………………………………………………………. 72 11.6. Parameetrid…………………………………………………………………………………………. 73
12. ALTMULT_COMPLEX (komplekskordisti) IP-tuum…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………. Kompleksne korrutis……………………………………………………………………………. 86 12.1. Kanooniline esitus…………………………………………………………………………… 86 12.2. Tavapärane esindus……………………………………………………………………. 87 12.3. Omadused……………………………………………………………………………………………….. 87 12.4. Verilog HDL prototüüp………………………………………………………………………………..88 12.5. VHDL-i komponentide deklaratsioon………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 88 12.6. VHDL LIBRARY_USE deklaratsioon………………………………………………………………………89 12.7. Signaalid………………………………………………………………………………………………. 89 12.8. Parameetrid…………………………………………………………………………………………. 89
13. ALTSQRT (täisarv ruutjuur) IP-tuum…………………………………………………………………………………………………………………………………………………………………………………………………………92 13.1. Omadused……………………………………………………………………………………………….. 92 13.2. Verilog HDL prototüüp……………………………………………………………………………..92 13.3. VHDL-i komponentide deklaratsioon…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 93 13.4. VHDL LIBRARY_USE deklaratsioon………………………………………………………………………93 13.5. Sadamad……………………………………………………………………………………………………. 93 13.6. Parameetrid…………………………………………………………………………………………. 94
14. PARALLEL_ADD (Parallel Adder) IP Core…………………………………………………………….. 95 14.1. Funktsioon………………………………………………………………………………………………….95 14.2. Verilog HDL prototüüp………………………………………………………………………………..95 14.3. VHDL -i komponentide deklaratsioon ……………………………………………………………………………………………………………………………. VHDL LIBRARY_USE deklaratsioon………………………………………………………………………96 14.4. Sadamad……………………………………………………………………………………………………. 96 14.5. Parameetrid…………………………………………………………………………………………. 96
15. Integer Aritmetic IP Cores User Guide Dokumendiarhiivid…………………………………… 98
16. Intel FPGA Integer Aritmetic IP Cores User Guide dokumentide läbivaatamise ajalugu…. 99
Intel FPGA Integer Aritmetic IP Cores User Guide 4
Saada tagasisidet
683490 | 2020.10.05 Saada tagasisidet
1. Inteli FPGA täisarvu aritmeetilised IP-südamikud
Saate kasutada kujunduses matemaatiliste toimingute tegemiseks Intel® FPGA täisarvu IP-tuumasid.
Need funktsioonid pakuvad tõhusamat loogikasünteesi ja seadme juurutamist kui teie enda funktsioonide kodeerimine. Saate kohandada IP-südamike vastavalt oma disaininõuetele.
Inteli täisarvulised aritmeetilised IP-tuumad jagunevad kahte järgmisse kategooriasse: · Parameetriliste moodulite (LPM) IP-tuumade raamatukogu · Inteli spetsiifilised (ALT) IP tuumad
Järgmises tabelis on loetletud täisarvulised aritmeetilised IP-tuumad.
Tabel 1.
IP-tuumade loend
IP tuumad
LPM IP tuumad
LPM_COUNTER
LPM_DIVIDE
LPM_MULT
LPM_ADD_SUB
LPM_COMPARE
Inteli spetsiifilised (ALT) IP tuumad ALTECC
Funktsioon läbiview Counter Divider kordaja
Liitja või lahutaja Võrdleja
ECC kodeerija/dekooder
Toetatud seade
Arria® II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone® IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP,
Intel Cyclone 10 GX, MAX® II, MAX V, MAX 10, Stratix® IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX 10, Stratix IV, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX 10, Stratix IV, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP, MAX 10, MAX
II, MAX V, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP, MAX 10, MAX
II, MAX V, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V jätkus…
Intel Corporation. Kõik õigused kaitstud. Intel, Inteli logo ja muud Inteli kaubamärgid on Intel Corporationi või selle tütarettevõtete kaubamärgid. Intel garanteerib oma FPGA ja pooljuhttoodete toimimise praeguste spetsifikatsioonide kohaselt vastavalt Inteli standardgarantiile, kuid jätab endale õiguse teha mis tahes tooteid ja teenuseid igal ajal ilma ette teatamata. Intel ei võta endale mingit vastutust ega kohustusi, mis tulenevad siin kirjeldatud teabe, toote või teenuse rakendusest või kasutamisest, välja arvatud juhul, kui Intel on sellega sõnaselgelt kirjalikult nõustunud. Inteli klientidel soovitatakse hankida seadme spetsifikatsioonide uusim versioon enne avaldatud teabele tuginemist ja enne toodete või teenuste tellimuste esitamist. *Teisi nimesid ja kaubamärke võidakse pidada teiste omandiks.
ISO 9001:2015 registreeritud
1. Inteli FPGA täisarvulised aritmeetilised IP-südamikud 683490 | 2020.10.05
IP-tuumade Inteli FPGA korrutisliitja või ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
ALTSQRT
PARALLEL_LISA
Funktsioon läbiview Kordaja-liitja
Mälupõhine konstantse koefitsiendi kordaja
Kordaja-Aku kordaja-liitja
Kompleksne kordaja
Täisarv ruutjuur
Paralleelliitja
Toetatud seade
Arria V, Stratix V, Cyclone V, Intel Stratix 10, Intel Arria 10, Intel Cyclone
10 GX
Arria II GX, Arria II GZ, Arria V, Intel Arria 10 (Intel Quartus® Prime Standard Edition), Cyclone IV E, Cyclone IV GX, Cyclone V, Intel
Cyclone 10 LP, MAX II, MAX V, MAX 10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Cyclone IV E, Cyclone IV GX, Intel Cyclone 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Cyclone IV E, Cyclone IV GX, Intel Cyclone 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Intel Arria 10, Arria V, Arria V GZ, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel
Cyclone 10 GX, Intel Cyclone 10 LP, MAX 10, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V
Seotud teave
· Inteli FPGA-de ja programmeeritavate seadmete väljalaskemärkmed
· Inteli FPGA IP-südamike tutvustus Annab rohkem teavet Inteli FPGA IP-tuumade kohta.
· Ujukoma IP tuumade kasutusjuhend Annab rohkem teavet Inteli FPGA ujukoma IP tuumade kohta.
· Inteli FPGA IP-tuumade tutvustus Annab üldist teavet kõigi Inteli FPGA IP-tuumade kohta, sealhulgas IP-tuumade parameetrite määramise, genereerimise, uuendamise ja simuleerimise kohta.
· Versioonist sõltumatute IP- ja Qsys-i simulatsiooniskriptide loomine Loo simulatsiooniskripte, mis ei vaja tarkvara käsitsi värskendamist ega IP-versiooni uuendamist.
· Projektijuhtimise parimate tavade juhised teie projekti ja IP tõhusaks haldamiseks ja teisaldamiseks files.
· Integer Aritmetic IP Cores User Guide Document Archives lk 98 Pakub loendit täisarvu aritmeetilise IP tuumade varasemate versioonide kasutusjuhenditest.
Intel FPGA Integer Aritmetic IP Cores User Guide 6
Saada tagasisidet
683490 | 2020.10.05 Saada tagasisidet
2. LPM_COUNTER (loendur) IP-tuum
Joonis 1.
LPM_COUNTER IP-tuum on kahendloendur, mis loob üles-, alla- ja üles- või allaloendurid, mille väljundid on kuni 256 bitti laiad.
Järgmisel joonisel on näidatud LPM_COUNTER IP-tuuma pordid.
LPM_COUNTER Portid
LPM_COUNTER
ssclr laadi sset andmed[]
q[]
üles alla
cout
aclr aload aset
clk_en cnt_en cin
inst
2.1. Omadused
LPM_COUNTER IP-tuum pakub järgmisi funktsioone: · Loob üles, alla ja üles/alla loendureid · Genereerib järgmisi loenduritüüpe:
— Tavaline binaarne – loendur suureneb nullist või kahaneb 255-st
— Modulus – loendur suureneb või väheneb kasutaja määratud mooduli väärtusest ja kordab
· Toetab valikulisi sünkroonseid tühjendus-, laadimis- ja seadistusporte. · Toetab valikulisi asünkroonseid tühjendus-, laadimis- ja seadistusporte. · Toetab valikulisi loenduse ja kella lubamise sisendporte · Toetab valikulisi kande- ja ülekandmisporte
Intel Corporation. Kõik õigused kaitstud. Intel, Inteli logo ja muud Inteli kaubamärgid on Intel Corporationi või selle tütarettevõtete kaubamärgid. Intel garanteerib oma FPGA ja pooljuhttoodete toimimise praeguste spetsifikatsioonide kohaselt vastavalt Inteli standardgarantiile, kuid jätab endale õiguse teha mis tahes tooteid ja teenuseid igal ajal ilma ette teatamata. Intel ei võta endale mingit vastutust ega kohustusi, mis tulenevad siin kirjeldatud teabe, toote või teenuse rakendusest või kasutamisest, välja arvatud juhul, kui Intel on sellega sõnaselgelt kirjalikult nõustunud. Inteli klientidel soovitatakse hankida seadme spetsifikatsioonide uusim versioon enne avaldatud teabele tuginemist ja enne toodete või teenuste tellimuste esitamist. *Teisi nimesid ja kaubamärke võidakse pidada teiste omandiks.
ISO 9001:2015 registreeritud
2. LPM_COUNTER (loendur) IP-tuum
683490 | 2020.10.05
2.2. Verilog HDL prototüüp
Järgmine Verilog HDL prototüüp asub Verilog Designis File (.v) lpm.v edasynthesis kataloog.
moodul lpm_counter ( q, data, clock, cin, cout, clk_en, cnt_en, updown, aset, aclr, aload, sset, slr, sload, eq ); parameeter lpm_type = "lpm_loendur"; parameeter lpm_width = 1; parameeter lpm_modulus = 0; parameeter lpm_direction = "KASUTAMATA"; parameeter lpm_avalue = "KASUTAMATA"; parameeter lpm_svalue = "KASUTAMATA"; parameeter lpm_pvalue = "KASUTAMATA"; parameeter lpm_port_updown = "PORT_CONNECTIVITY"; parameeter lpm_hint = "KASUTAMATA"; väljund [lpm_laius-1:0] q; väljundvõimsus; väljund [15:0] ekv; sisend cin; sisend [lpm_width-1:0] andmed; sisendkell, clk_en, cnt_en, üles alla; sisend aset, aclr, aload; sisend sset, slr, sload; lõppmoodul
2.3. VHDL-i komponendi deklaratsioon
VHDL-i komponendi deklaratsioon asub VHDL-i kujunduses File (.vhd) LPM_PACK.vhd librariesvhdllpm kataloog.
komponendi LPM_COUNTER üldine ( LPM_WIDTH : loomulik; LPM_MODULUS : loomulik := 0; LPM_DIRECTION : string := “UNUSED”; LPM_AVALUE : string := “UNUSED”; LPM_SVALUE : string := “UNUSED”; LPM_PORTING ; LPM_PVALUE : string := "KASUTAMATA"; LPM_TYPE : string := L_COUNTER; LPM_HINT : string := "KASUTAMATA"); port (ANDMED: in std_logic_vector(LPM_WIDTH-1 kuni 0):= (MUUD =>
'0'); CLOCK: in std_logic; CLK_EN : in std_logic := '1'; CNT_EN : in std_logic := '1'; UPDOWN : in std_logic := '1'; LAADIMINE: in std_logic := '0'; SSET : in std_logic := '0'; SCLR : in std_logic := '0'; LAADI : in std_logic := '0'; ASET : in std_logic := '0'; ACLR : in std_logic := '0'; CIN : in std_logic := '1'; COUT : out std_logic := '0'; K: out std_logic_vector(LPM_WIDTH-1 kuni 0); EQ : out std_logic_vector(15 downto 0));
lõppkomponent;
Intel FPGA Integer Aritmetic IP Cores User Guide 8
Saada tagasisidet
2. LPM_COUNTER (loendur) IP Core 683490 | 2020.10.05
2.4. VHDL LIBRARY_USE deklaratsioon
VHDL LIBRARY-USE deklaratsioon ei ole nõutav, kui kasutate VHDL-i komponendi deklaratsiooni.
RAAMATUKOGU lpm; KASUTAGE lpm.lpm_components.all;
2.5. Sadamad
Järgmistes tabelites on loetletud LPM_COUNTER IP-tuuma sisend- ja väljundpordid.
Tabel 2.
LPM_COUNTER sisendpordid
Pordi nimi
Nõutav
Kirjeldus
andmed[]
Ei
Rööpandmete sisestamine loendurisse. Sisendpordi suurus sõltub parameetri LPM_WIDTH väärtusest.
kella
Jah
Positiivse servaga vallandatud kellasisend.
clk_en
Ei
Kella lubamise sisend, et lubada kõik sünkroonsed tegevused. Kui see on välja jäetud, on vaikeväärtus 1.
cnt_en
Ei
Loendur lubab sisendit, et keelata loendus, kui see on madal, ilma et see mõjutaks laadimist, sset-i või slr-i. Kui see on välja jäetud, on vaikeväärtus 1.
üles alla
Ei
Juhib loenduse suunda. Kui väidetakse kõrge (1), on loendussuund üles ja kui väidetakse madalat (0), on loendussuund alla. Kui kasutatakse parameetrit LPM_DIRECTION, ei saa üles-alla porti ühendada. Kui LPM_DIRECTION ei kasutata, on updown port valikuline. Kui see on välja jäetud, on vaikeväärtus üles (1).
cin
Ei
Kandke sisse madala järgu bitile. Ülesloendurite puhul käitub cin sisend
identne sisendi cnt_en käitumisega. Kui see on välja jäetud, on vaikeväärtus 1
(VCC).
aclr
Ei
Asünkroonne tühjendussisend. Kui kasutatakse ja väidetakse nii aset kui ka aclr, tühistab aclr aset. Kui see on välja jäetud, on vaikeväärtus 0 (keelatud).
aset
Ei
Asünkroonne seatud sisend. Määrab q[] väljundid kõigi 1-dena või parameetri LPM_AVALUE poolt määratud väärtusega. Kui kasutatakse ja kinnitatakse nii porti aset kui ka aclr, alistab aclr pordi väärtus aset pordi väärtuse. Kui see on välja jäetud, on vaikeväärtus 0, keelatud.
laadima
Ei
Asünkroonse koormuse sisend, mis laadib asünkroonselt loenduri andmesisendil oleva väärtusega. Kui laadimisporti kasutatakse, peab data[] port olema ühendatud. Kui see on välja jäetud, on vaikeväärtus 0, keelatud.
sclr
Ei
Sünkroonne tühjendussisend, mis tühjendab loenduri järgmisel aktiivsel kellaserval. Kui kasutatakse ja kinnitatakse nii sset- kui ka slr-porti, alistab slr-pordi väärtus sset-pordi väärtuse. Kui see on välja jäetud, on vaikeväärtus 0, keelatud.
sset
Ei
Sünkroonse seadistussisend, mis seab loenduri järgmisele aktiivsele kella servale. Määrab q-väljundite väärtuseks kõik 1-d või parameetri LPM_SVALUE määratud väärtuse. Kui kasutatakse ja kinnitatakse nii sset kui ka slr porti,
slr-pordi väärtus alistab sset-pordi väärtuse. Kui see on välja jäetud, on vaikeväärtus 0 (keelatud).
koorem
Ei
Sünkroonse laadimise sisend, mis laadib loenduri andmetega[] järgmisel aktiivsel kellaserval. Kui kasutatakse laadimisporti, peab data[] port olema ühendatud. Kui see on välja jäetud, on vaikeväärtus 0 (keelatud).
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 9
2. LPM_COUNTER (loendur) IP Core 683490 | 2020.10.05
Tabel 3.
LPM_COUNTER väljundpordid
Pordi nimi
Nõutav
Kirjeldus
q[]
Ei
Andmete väljastamine loendurist. Väljundpordi suurus sõltub
LPM_WIDTH parameetri väärtus. Kas q[] või vähemalt üks eq[15..0] portidest
peab olema ühendatud.
ekv[15..0]
Ei
Loenduri dekodeerimise väljund. Port eq[15..0] ei ole parameetriredaktoris ligipääsetav, kuna parameeter toetab ainult AHDL-i.
Kas port q[] või eq[] peab olema ühendatud. Kasutada saab kuni c eq porte (0 <= c <= 15). Dekodeeritakse ainult 16 madalaimat loendusväärtust. Kui loendusväärtus on c, on eqc väljund väidetavalt kõrge (1). Näiteksample, kui loendus on 0, eq0 = 1, kui arv on 1, eq1 = 1 ja kui arv on 15, siis eq 15 = 1. Dekodeeritud väljund loendusväärtuste jaoks 16 või rohkem nõuab välist dekodeerimist. Väljundid eq[15..0] on q[] väljundiga asünkroonsed.
cout
Ei
Loenduri MSB biti läbiviidud port. Seda saab kasutada teise loenduriga ühendamiseks, et luua suurem loendur.
2.6. Parameetrid
Järgmises tabelis on loetletud IP-tuuma LPM_COUNTER parameetrid.
Tabel 4.
LPM_COUNTER parameetrid
Parameetri nimi
Tüüp
LPM_WIDTH
Täisarv
LPM_DIRECTION
String
LPM_MODULUS LPM_AVALUE
Täisarv
Täisarv/ String
LPM_SVALUE LPM_HINT
Täisarv/ String
String
LPM_TYPE
String
Nõutav Jah Ei Ei Ei Ei
ei Ei
Ei
Kirjeldus
Määrab andme[] ja q[] portide laiused, kui neid kasutatakse.
Väärtused on UP, DOWN ja UNUSED. Kui kasutatakse parameetrit LPM_DIRECTION, ei saa üles-alla porti ühendada. Kui updown port pole ühendatud, on parameetri LPM_DIRECTION vaikeväärtus UP.
Maksimaalne arv pluss üks. Unikaalsete olekute arv loenduri tsüklis. Kui koormuse väärtus on suurem kui parameeter LPM_MODULUS, pole loenduri käitumist määratud.
Konstantne väärtus, mis laaditakse, kui aset on kõrge. Kui määratud väärtus on suurem või võrdne , loenduri käitumine on määratlemata (X) loogikatase, kus on LPM_MODULUS, kui see on olemas, või 2 ^ LPM_WIDTH. Intel soovitab määrata selle väärtuse AHDL-i disainilahenduste jaoks kümnendarvuna.
Konstantne väärtus, mis laaditakse kella pordi tõusvale servale, kui sset-port on kõrge. Intel soovitab määrata selle väärtuse AHDL-i disainilahenduste jaoks kümnendarvuna.
Kui loote parameetritega moodulite teeki (LPM) funktsiooni VHDL-kujunduses File (.vhd), peate Inteli-spetsiifilise parameetri määramiseks kasutama parameetrit LPM_HINT. Näiteksample: LPM_HINT = "CHAIN_SIZE = 8, ONE_INPUT_IS_CONSTANT = JAH"
Vaikeväärtus on UNUSED.
Tuvastab VHDL-kujunduses parameetritega moodulite (LPM) olemi nime teegi files.
jätkus…
Intel FPGA Integer Aritmetic IP Cores User Guide 10
Saada tagasisidet
2. LPM_COUNTER (loendur) IP Core 683490 | 2020.10.05
Parameetri nimi INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN
Sisestage String String
String
String
Nõutav Ei Ei
Ei
Ei
Kirjeldus
Seda parameetrit kasutatakse modelleerimiseks ja käitumise simuleerimiseks. Seda parameetrit kasutatakse modelleerimiseks ja käitumise simuleerimiseks. Parameetriredaktor arvutab selle parameetri väärtuse.
Inteli spetsiifiline parameeter. Parameetri CARRY_CNT_EN määramiseks VHDL-kujunduses peate kasutama parameetrit LPM_HINT files. Väärtused on SMART, ON, OFF ja UNUSED. Võimaldab funktsioonil LPM_COUNTER edastada cnt_en signaali läbi kandeahela. Mõnel juhul võib parameetri CARRY_CNT_EN seadistus kiirust veidi mõjutada, seega võiksite selle välja lülitada. Vaikeväärtus on SMART, mis pakub parimat kompromissi suuruse ja kiiruse vahel.
Inteli spetsiifiline parameeter. Parameetri LABWIDE_SCLR määramiseks VHDL-i disainis peate kasutama parameetrit LPM_HINT files. Väärtused on ON, OFF või UNUSED. Vaikeväärtus on ON. Võimaldab keelata vananenud seadmeperekondades leiduva LABwide sclr-funktsiooni kasutamise. Selle suvandi väljalülitamine suurendab osaliselt täidetud LAB-ide täieliku kasutamise võimalusi ja võib seega võimaldada suuremat loogikatihedust, kui SCLR ei kehti täieliku LAB-i puhul. See parameeter on saadaval tagasiühilduvuse jaoks ja Intel soovitab teil seda parameetrit mitte kasutada.
Määrab üles-alla sisendpordi kasutuse. Kui see on välja jäetud, on vaikeväärtus PORT_CONNECTIVITY. Kui pordi väärtuseks on seatud PORT_USED, käsitletakse porti kasutatudna. Kui pordi väärtuseks on seatud PORT_UNUSED, käsitletakse porti kasutamata. Kui pordi väärtuseks on seatud PORT_CONNECTIVITY, määratakse pordi kasutus pordi ühenduvuse kontrollimise teel.
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 11
683490 | 2020.10.05 Saada tagasisidet
3. LPM_DIVIDE (jagaja) Intel FPGA IP Core
Joonis 2.
Inteli FPGA IP-tuum LPM_DIVIDE kasutab jagajat lugeja sisendväärtuse jagamiseks nimetaja sisendväärtusega, et saada jagatis ja jääk.
Järgmisel joonisel on näidatud LPM_DIVIDE IP-tuuma pordid.
LPM_DIVIDE Portid
LPM_DIVIDE
number[] denom[] kell
jagatis[] jääb[]
clken aclr
inst
3.1. Omadused
LPM_DIVIDE IP-tuum pakub järgmisi funktsioone: · Loob jagaja, mis jagab lugeja sisendväärtuse nimetaja sisendiga
väärtus jagatise ja jäägi saamiseks. · Toetab andmelaiust 1 bitti. · Toetab nii lugeja allkirjastatud kui ka allkirjastamata andmete esitusvormingut
ja nimetaja väärtused. · Toetab ala või kiiruse optimeerimist. · Annab võimaluse määrata positiivse jäägi väljund. · Toetab konveieri konfigureeritavat väljundlatentsust. · Toetab valikulisi asünkroonse tühjendamise ja kella lubamise porte.
3.2. Verilog HDL prototüüp
Järgmine Verilog HDL prototüüp asub Verilog Designis File (.v) lpm.v edasynthesis kataloog.
moodul lpm_divide ( jagatis, jääk, arv, denom, kell, clken, aclr); parameeter lpm_type = "lpm_divide"; parameeter lpm_widthn = 1; parameeter lpm_widthd = 1; parameeter lpm_nrepresentation = "ALLKIRJATA"; parameeter lpm_drepresentation = "ALLKIRJATA"; parameeter lpm_remainderpositive = "TRUE"; parameeter lpm_pipeline = 0;
Intel Corporation. Kõik õigused kaitstud. Intel, Inteli logo ja muud Inteli kaubamärgid on Intel Corporationi või selle tütarettevõtete kaubamärgid. Intel garanteerib oma FPGA ja pooljuhttoodete toimimise praeguste spetsifikatsioonide kohaselt vastavalt Inteli standardgarantiile, kuid jätab endale õiguse teha mis tahes tooteid ja teenuseid igal ajal ilma ette teatamata. Intel ei võta endale mingit vastutust ega kohustusi, mis tulenevad siin kirjeldatud teabe, toote või teenuse rakendusest või kasutamisest, välja arvatud juhul, kui Intel on sellega sõnaselgelt kirjalikult nõustunud. Inteli klientidel soovitatakse hankida seadme spetsifikatsioonide uusim versioon enne avaldatud teabele tuginemist ja enne toodete või teenuste tellimuste esitamist. *Teisi nimesid ja kaubamärke võidakse pidada teiste omandiks.
ISO 9001:2015 registreeritud
3. LPM_DIVIDE (jagaja) Intel FPGA IP Core 683490 | 2020.10.05
parameeter lpm_hint = "KASUTAMATA"; sisendkell; sisend clken; sisend aclr; sisend [lpm_widthn-1:0] number; sisend [lpm_widthd-1:0] denom; väljund [lpm_widthn-1:0] jagatis; väljund [lpm_widthd-1:0] jääb; lõppmoodul
3.3. VHDL-i komponendi deklaratsioon
VHDL-i komponendi deklaratsioon asub VHDL-i kujunduses File (.vhd) LPM_PACK.vhd librariesvhdllpm kataloog.
komponent LPM_DIVIDE üldine (LPM_WIDTHN : loomulik; LPM_WIDTHD : loomulik;
LPM_NREPRESENTATION : string := "ALLKIRJATA"; LPM_DREPRESENTATION : string := "ALLKIRJATA"; LPM_PIPELINE : loomulik := 0; LPM_TYPE : string := L_DIVIDE; LPM_HINT : string := “KASUTAMATA”); port (NUMER : in std_logic_vector(LPM_WIDTHN-1 downto 0); DENOM : in std_logic_vector(LPM_WIDTHD-1 downto 0); ACLR : in std_logic := '0'; CLOCK : in std_logic in CNC_EN'0: in CNC := '1'; QUOTIENT : out std_logic_vector(LPM_WIDTHN-1 downto 0); REMAIN : out std_logic_vector(LPM_WIDTHD-1 downto 0)); lõppkomponent;
3.4. VHDL LIBRARY_USE deklaratsioon
VHDL LIBRARY-USE deklaratsioon ei ole nõutav, kui kasutate VHDL-i komponendi deklaratsiooni.
RAAMATUKOGU lpm; KASUTAGE lpm.lpm_components.all;
3.5. Sadamad
Järgmistes tabelites on loetletud LPM_DIVIDE IP-tuuma sisend- ja väljundpordid.
Tabel 5.
LPM_DIVIDE sisendpordid
Pordi nimi
Nõutav
number[]
Jah
denom[]
Jah
Kirjeldus
Lugeja andmete sisestamine. Sisendpordi suurus sõltub parameetri LPM_WIDTHN väärtusest.
Nimetaja andmete sisestamine. Sisendpordi suurus sõltub parameetri LPM_WIDTHD väärtusest.
jätkus…
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 13
3. LPM_DIVIDE (jagaja) Intel FPGA IP Core 683490 | 2020.10.05
Pordi nimi kell clken
aclr
Nõutav Ei Ei
Ei
Kirjeldus
Kellasisend torujuhtmega kasutamiseks. LPM_PIPELINE väärtuste puhul, mis ei ole 0 (vaikimisi), peab kellaport olema lubatud.
Kell võimaldab konveierkasutust. Kui clkeni port on kinnitatud kõrgele, toimub jagamise operatsioon. Kui signaal on madal, ei toimu toimingut. Kui see on välja jäetud, on vaikeväärtus 1.
Asünkroonne tühjendusport, mida kasutatakse igal ajal konveieri lähtestamiseks kõikidele nullidele asünkroonselt kellasisendiga.
Tabel 6.
LPM_DIVIDE Väljundpordid
Pordi nimi
Nõutav
Kirjeldus
jagatis[]
Jah
Andmete väljund. Väljundpordi suurus sõltub LPM_WIDTHN-st
parameetri väärtus.
jääma[]
Jah
Andmete väljund. Väljundpordi suurus sõltub LPM_WIDTHD-st
parameetri väärtus.
3.6. Parameetrid
Järgmises tabelis on loetletud Inteli FPGA IP-tuuma LPM_DIVIDE parameetrid.
Parameetri nimi
Tüüp
Nõutav
Kirjeldus
LPM_WIDTHN
Täisarv
Jah
Määrab numbri[] ja laiused
jagatis[] pordid. Väärtused on 1 kuni 64.
LPM_WIDTHD
Täisarv
Jah
Määrab denom[] ja laiused
jäävad[] sadamateks. Väärtused on 1 kuni 64.
LPM_NREPRESENTATION LPM_DREPRESENTATION
String String
Ei
Lugeja sisendi märgi esitus.
Väärtused on ALLKIRJATUD ja ALLKIRJATA. Kui see
parameeter on seatud väärtusele SIGNED, jagaja
tõlgendab numer[] sisendit kahe märgiga
täiendada.
Ei
Nimetaja sisendi märgi esitus.
Väärtused on ALLKIRJATUD ja ALLKIRJATA. Kui see
parameeter on seatud väärtusele SIGNED, jagaja
tõlgendab denom[] sisendit kahe märgiga
täiendada.
LPM_TYPE
String
Ei
Tuvastab parameetrite raamatukogu
moodulite (LPM) olemi nimi VHDL kujunduses
files (.vhd).
LPM_HINT
String
Ei
Kui loote raamatukogu
parameetritega moodulite (LPM) funktsioonid a
VHDL disain File (.vhd), peate kasutama
LPM_HINT parameeter, et määrata Intel-
konkreetne parameeter. Näiteksample: LPM_HINT
= "CHAIN_SIZE = 8,
ONE_INPUT_IS_CONSTANT = JAH
vaikeväärtus on UNUSED.
LPM_REMAINDERPOSITIVE
String
Ei
Inteli spetsiifiline parameeter. Peate kasutama
LPM_HINT parameetri täpsustamiseks
LPM_REMAINDERPOSITIVE parameeter sees
VHDL disain files. Väärtused on TRUE või FALSE.
Kui selle parameetri väärtuseks on määratud TRUE, siis
ülejäänud[] pordi väärtus peab olema suurem
jätkus…
Intel FPGA Integer Aritmetic IP Cores User Guide 14
Saada tagasisidet
3. LPM_DIVIDE (jagaja) Intel FPGA IP Core 683490 | 2020.10.05
Parameetri nimi
Tüüp
MAXIMIZE_SPEED
Täisarv
LPM_PIPELINE
Täisarv
INTENDED_DEVICE_FAMILY SKIP_BITS
String Täisarv
Nõutav nr
Ei Ei Ei Ei
Kirjeldus
nullist või sellega võrdne. Kui see parameeter on seatud väärtusele TRUE, on pordi Jääk[] väärtus kas null või on väärtus sama märgiga, kas positiivne või negatiivne, kui numbripordi väärtus. Pindala vähendamiseks ja kiiruse parandamiseks soovitab Intel määrata selle parameetri väärtuseks TRUE toimingutes, kus jääk peab olema positiivne või kus ülejäänud osa on ebaoluline.
Inteli spetsiifiline parameeter. Parameetri MAXIMIZE_SPEED määramiseks VHDL-kujunduses peate kasutama parameetrit LPM_HINT files. Väärtused on [0..9]. Kui seda kasutatakse, proovib Intel Quartus Prime'i tarkvara optimeerida funktsiooni LPM_DIVIDE konkreetset eksemplari kiiruse, mitte marsruutimise jaoks, ning alistab optimeerimistehnika loogikasuvandi sätte. Kui kiirust MAXIMIZE_SPEED ei kasutata, kasutatakse selle asemel suvandi Optimeerimistehnika väärtust. Kui MAXIMIZE_SPEED väärtus on 6 või suurem, optimeerib kompilaator ülekandeahelate abil LPM_DIVIDE IP-tuuma suuremaks kiiruseks; kui väärtus on 5 või vähem, rakendab kompilaator disaini ilma kandekettideta.
Määrab jagatis[] ja jääk[] väljundiga seotud latentsusperioodide arvu. Väärtus null (0) näitab, et latentsusaega ei eksisteeri ja et tegemist on puhtalt kombineeritud funktsiooniga. Kui see on välja jäetud, on vaikeväärtus 0 (nonpipelined). Te ei saa määrata parameetri LPM_PIPELINE väärtust, mis on suurem kui LPM_WIDTHN.
Seda parameetrit kasutatakse modelleerimiseks ja käitumise simuleerimiseks. Parameetriredaktor arvutab selle parameetri väärtuse.
Võimaldab tõhusamat murdosa bittide jagamist, et optimeerida juhtbittide loogikat, pakkudes juhtivate GND-de arvu LPM_DIVIDE IP-tuumale. Määrake selle parameetri jagatisväljundis juhtiva GND arv.
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 15
683490 | 2020.10.05 Saada tagasisidet
4. LPM_MULT (kordaja) IP-tuum
Joonis 3.
LPM_MULT IP-tuum kasutab kordistajat kahe sisendandmete väärtuse korrutamiseks, et toota toode väljundina.
Järgmisel joonisel on näidatud LPM_MULT IP-tuuma pordid.
LPM_Mult Ports
LPM_MULT kella andmeda[] tulemus[] andmeb[] aclr/sclr clken
inst
Seotud teabe funktsioonid lk 71
4.1. Omadused
LPM_MULT IP-tuum pakub järgmisi funktsioone: · Genereerib kordaja, mis korrutab kaks sisendandmete väärtust · Toetab andmete laiust 1 bitti · Toetab allkirjastatud ja signeerimata andmete esitusvormingut · Toetab ala või kiiruse optimeerimist · Toetab konveierit konfigureeritava väljundi latentsusega · Pakub võimalus rakendada spetsiaalses digitaalse signaalitöötluses (DSP)
plokklülitused või loogikaelemendid (LE-d) Märkus. Kui luuakse kordistajaid, mis on suuremad kui algselt toetatud suurus, võib/
on DSP-plokkide kaskaadmisest tulenev mõju jõudlusele. · Toetab valikulisi asünkroonse tühjendamise ja kella lubamise sisendporte · Toetab valikulist sünkroonset tühjendamist Intel Stratix 10, Intel Arria 10 ja Intel Cyclone 10 GX seadmete jaoks
Intel Corporation. Kõik õigused kaitstud. Intel, Inteli logo ja muud Inteli kaubamärgid on Intel Corporationi või selle tütarettevõtete kaubamärgid. Intel garanteerib oma FPGA ja pooljuhttoodete toimimise praeguste spetsifikatsioonide kohaselt vastavalt Inteli standardgarantiile, kuid jätab endale õiguse teha mis tahes tooteid ja teenuseid igal ajal ilma ette teatamata. Intel ei võta endale mingit vastutust ega kohustusi, mis tulenevad siin kirjeldatud teabe, toote või teenuse rakendusest või kasutamisest, välja arvatud juhul, kui Intel on sellega sõnaselgelt kirjalikult nõustunud. Inteli klientidel soovitatakse hankida seadme spetsifikatsioonide uusim versioon enne avaldatud teabele tuginemist ja enne toodete või teenuste tellimuste esitamist. *Teisi nimesid ja kaubamärke võidakse pidada teiste omandiks.
ISO 9001:2015 registreeritud
4. LPM_MULT (kordisti) IP Core 683490 | 2020.10.05
4.2. Verilog HDL prototüüp
Järgmine Verilog HDL prototüüp asub Verilog Designis File (.v) lpm.v edasynthesis kataloog.
moodul lpm_mult ( tulemus, dataa, datab, summa, kell, clken, aclr ) parameeter lpm_type = “lpm_mult”; parameeter lpm_widtha = 1; parameeter lpm_widthb = 1; parameeter lpm_widths = 1; parameeter lpm_widthp = 1; parameeter lpm_representation = "ALLKIRJATA"; parameeter lpm_pipeline = 0; parameeter lpm_hint = "KASUTAMATA"; sisendkell; sisend clken; sisend aclr; sisend [lpm_widtha-1:0] dataa; sisend [lpm_widthb-1:0] datab; sisend [lpm_widths-1:0] summa; väljund [lpm_widthp-1:0] tulemus; lõppmoodul
4.3. VHDL-i komponendi deklaratsioon
VHDL-i komponendi deklaratsioon asub VHDL-i kujunduses File (.vhd) LPM_PACK.vhd librariesvhdllpm kataloog.
komponent LPM_MULT üldine ( LPM_WIDTHA : loomulik; LPM_WIDTHB : loomulik; LPM_WIDTHS : loomulik := 1; LPM_WIDTHP : loomulik;
LPM_RESENTATSIOON : string := "ALLKIRJATA"; LPM_PIPELINE : loomulik := 0; LPM_TYPE: string := L_MULT; LPM_HINT : string := “KASUTAMATA”); port ( DATAA : in std_logic_vector(LPM_WIDTHA-1 downto 0); DATAB : in std_logic_vector(LPM_WIDTHB-1 downto 0); ACLR : in std_logic := '0'; CLOCK : in std_logic := '0'; CLOCK : in std_logic := '1'; SUM : in std_logic_vector(LPM_WIDTHS-1 kuni 0) := (OTHERS => '0'); TULEMUS : out std_logic_vector(LPM_WIDTHP-1 kuni 0)); lõppkomponent;
4.4. VHDL LIBRARY_USE deklaratsioon
VHDL LIBRARY-USE deklaratsioon ei ole nõutav, kui kasutate VHDL-i komponendi deklaratsiooni.
RAAMATUKOGU lpm; KASUTAGE lpm.lpm_components.all;
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 17
4. LPM_MULT (kordisti) IP Core 683490 | 2020.10.05
4.5. Signaalid
Tabel 7.
LPM_MULT sisendsignaalid
Signaali nimi
Nõutav
Kirjeldus
andmed[]
Jah
Andmete sisestamine.
Intel Stratix 10, Intel Arria 10 ja Intel Cyclone 10 GX seadmete puhul sõltub sisendsignaali suurus Dataa laiuse parameetri väärtusest.
Vanemate ja Intel Cyclone 10 LP seadmete puhul sõltub sisendsignaali suurus parameetri LPM_WIDTHA väärtusest.
andmeb[]
Jah
Andmete sisestamine.
Intel Stratix 10, Intel Arria 10 ja Intel Cyclone 10 GX seadmete puhul sõltub sisendsignaali suurus Datab width parameetri väärtusest.
Vanemate ja Intel Cyclone 10 LP seadmete puhul sõltub sisendsignaali suurus
parameetri LPM_WIDTHB väärtusel.
kella
Ei
Kellasisend torujuhtmete kasutamiseks.
Vanemate ja Intel Cyclone 10 LP seadmete puhul peab kellasignaal olema lubatud muude LPM_PIPELINE väärtuste jaoks kui 0 (vaikeseade).
Intel Stratix 10, Intel Arria 10 ja Intel Cyclone 10 GX seadmete puhul peab kellasignaal olema lubatud, kui latentsusväärtus on muu kui 1 (vaikeväärtus).
clken
Ei
Kella lubamine torujuhtmete kasutamiseks. Kui clken-signaal on kõrge, siis
toimub liitja/lahutaja operatsioon. Kui signaal on madal, ei toimita
esineb. Kui see on välja jäetud, on vaikeväärtus 1.
aclr slr
Ei
Asünkroonne puhas signaal, mida kasutatakse igal ajal torujuhtme nullimiseks,
asünkroonselt kella signaaliga. Konveieri initsialiseeritakse määramata väärtuseks (X)
loogika tase. Väljundid on järjekindel, kuid nullist erinev väärtus.
Ei
Sünkroonne puhastussignaal, mida kasutatakse igal ajal torujuhtme nullimiseks,
sünkroonselt kella signaaliga. Konveieri lähtestatakse määramata väärtuseks (X)
loogika tase. Väljundid on järjekindel, kuid nullist erinev väärtus.
Tabel 8.
LPM_MULT Väljundsignaalid
signaali nimi
Nõutav
Kirjeldus
tulemus[]
Jah
Andmete väljund.
Vanemate ja Intel Cyclone 10 LP seadmete puhul sõltub väljundsignaali suurus parameetri LPM_WIDTHP väärtusest. Kui LPM_WIDTHP < max (LPM_WIDTHA + LPM_WIDTHB, LPM_WIDTHS) või (LPM_WIDTHA + LPM_WIDTHS), on olemas ainult LPM_WIDTHP MSB-d.
Intel Stratix 10, Intel Arria 10 ja Intel Cyclone 10 GX puhul sõltub väljundsignaalide suurus parameetrist Result width.
4.6. Stratix V, Arria V, Cyclone V ja Intel Cyclone 10 LP seadmete parameetrid
4.6.1. Üldine vahekaart
Tabel 9.
Üldine vahekaart
Parameeter
Väärtus
Kordaja konfiguratsioon
Korrutage sisend "andmed" sisendiga "andmed".
Vaikeväärtus
Kirjeldus
Korrutage sisend "andmed" sisendiga "andmed".
Valige kordaja jaoks soovitud konfiguratsioon.
jätkus…
Intel FPGA Integer Aritmetic IP Cores User Guide 18
Saada tagasisidet
4. LPM_MULT (kordisti) IP Core 683490 | 2020.10.05
Parameeter
Kui lai peaks olema 'dataa' sisend? Kui lai peaks olema andmesisestus? Kuidas tuleks määrata 'tulemuse' väljundi laius? Piirake laiust
Väärtus
Sisend 'dataa' korrutamine iseendaga (ruudustamisel)
1-256 bitti
Vaikeväärtus
Kirjeldus
8 bitti
Määrake dataa[] pordi laius.
1-256 bitti
8 bitti
Määrake datab[] pordi laius.
Laiuse automaatne arvutamine Piirake laiust
1-512 bitti
Arvutage laius automaatselt
Valige tulemus[] pordi laiuse määramiseks soovitud meetod.
16 bitti
Määrake result[] pordi laius.
See väärtus toimib ainult siis, kui valite parameetris Tüüp valiku Piira laiust.
4.6.2. Üldine 2 Tab
Tabel 10. Üldine 2 Tabel
Parameeter
Väärtus
Andmebaasi sisend
Kas 'andmeside' sisendsiinil on konstantne väärtus?
Ei Jah
Korrutamise tüüp
Millist tüüpi
Allkirjata
korrutamist tahad? Allkirjastatud
Rakendamine
Millist kordaja rakendust tuleks kasutada?
Kasutage vaikerakendust
Kasutage spetsiaalset kordaja vooluringi (pole saadaval kõikidele peredele)
Kasutage loogilisi elemente
Vaikeväärtus
Kirjeldus
Ei
Valige Jah, et määrata konstantne väärtus
'andmeside' sisendsiin, kui see on olemas.
Allkirjata
Määrake esitusvorming nii dataa[] kui ka datab[] sisendite jaoks.
Kasutage vaikerakenduse iooni
Valige tulemus[] pordi laiuse määramiseks soovitud meetod.
4.6.3. Torude ühendamise vahekaart
Tabel 11. Vahekaart Torustik
Parameeter
Kas soovite ühendada nr
funktsioon?
Jah
Väärtus
Loo 'aclr'
—
asünkroonne puhas port
Vaikeväärtus
Kirjeldus
Ei
Valige Jah, et lubada torujuhtmete register
kordaja väljund ja määrake soovitud
väljundi latentsus kella tsüklis. Selle lubamine
torujuhtmete register lisab sellele täiendavat latentsust
väljund.
Märkimata
Valige see suvand, et lubada aclr-pordil kasutada konveieriregistri jaoks asünkroonset tühjendamist.
jätkus…
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 19
4. LPM_MULT (kordisti) IP Core 683490 | 2020.10.05
Parameeter
Looge "clken" kella lubamise kell
Optimeerimine
Millist optimeerimist soovite?
Väärtus —
Vaikekiiruse ala
Vaikeväärtus
Kirjeldus
Märkimata
Määrab torujuhtme registri kella pordi jaoks aktiivse kõrge kella lubamise
Vaikimisi
Määrake IP-tuuma soovitud optimeerimine.
Valige Vaikimisi, et lasta Intel Quartus Prime tarkvaral määrata IP-tuuma jaoks parim optimeerimine.
4.7. Intel Stratix 10, Intel Arria 10 ja Intel Cyclone 10 GX seadmete parameetrid
4.7.1. Üldine vahekaart
Tabel 12. Tabel Üldine
Parameeter
Väärtus
Vaikeväärtus
Kirjeldus
Kordaja konfiguratsiooni tüüp
Andmepordi laiused
Korrutage sisend "andmed" sisendiga "andmed".
Sisend 'dataa' korrutamine iseendaga (ruudustamisel)
Korrutage sisend "andmed" sisendiga "andmed".
Valige kordaja jaoks soovitud konfiguratsioon.
Andme laius
1-256 bitti
8 bitti
Määrake dataa[] pordi laius.
Andmebaasi laius
1-256 bitti
8 bitti
Määrake datab[] pordi laius.
Kuidas tuleks määrata 'tulemuse' väljundi laius?
Tüüp
Arvutage laius automaatselt
Piirake laiust
Arvutage laius automaatselt
Valige tulemus[] pordi laiuse määramiseks soovitud meetod.
Väärtus
1-512 bitti
16 bitti
Määrake result[] pordi laius.
See väärtus toimib ainult siis, kui valite parameetris Tüüp valiku Piira laiust.
Tulemuse laius
1-512 bitti
—
Kuvab result[] pordi tegeliku laiuse.
4.7.2. Üldine 2 Tab
Tabel 13. Üldine 2 Tabel
Parameeter
Andmebaasi sisend
Kas 'andmeside' sisendsiinil on konstantne väärtus?
Ei Jah
Väärtus
Vaikeväärtus
Kirjeldus
Ei
Valige Jah, et määrata konstantne väärtus
'andmeside' sisendsiin, kui see on olemas.
jätkus…
Intel FPGA Integer Aritmetic IP Cores User Guide 20
Saada tagasisidet
4. LPM_MULT (kordisti) IP Core 683490 | 2020.10.05
Parameeter
Väärtus
Väärtus
Iga väärtus, mis on suurem kui 0
Korrutamise tüüp
Millist tüüpi
Allkirjata
korrutamist tahad? Allkirjastatud
Rakendusstiil
Millist kordaja rakendust tuleks kasutada?
Kasutage vaikerakendust
Kasutage spetsiaalset kordaja vooluringi
Kasutage loogilisi elemente
Vaikeväärtus
Kirjeldus
0
Määrake pordi datab[] konstantne väärtus.
Allkirjata
Määrake esitusvorming nii dataa[] kui ka datab[] sisendite jaoks.
Kasutage vaikerakenduse iooni
Valige tulemus[] pordi laiuse määramiseks soovitud meetod.
4.7.3. Torustik
Tabel 14. Vahekaart Torustik
Parameeter
Väärtus
Kas soovite funktsiooni konveierdada?
Torujuhe
Ei Jah
Latentsuse kustutamise signaali tüüp
Iga väärtus, mis on suurem kui 0.
POLE ACLR SCLR
Looge "clken" kell
—
kella lubamine
Millist optimeerimist soovite?
Tüüp
Vaikekiiruse ala
Vaikeväärtus
Kirjeldus
Ei 1 MITTE MITTE
—
Konveieriregistri lubamiseks kordaja väljundis valige Jah. Konveieriregistri lubamine lisab väljundile täiendavat latentsust.
Määrake soovitud väljundi latentsus kella tsüklis.
Määrake torujuhtmete registri lähtestamise tüüp. Valige EI OLE, kui te ei kasuta ühtegi konveieriregistrit. Valige ACLR, et kasutada konveieriregistri jaoks asünkroonset tühjendamist. See loob ACLR-pordi. Valige SCLR, et kasutada konveierregistri jaoks sünkroonset tühjendamist. See loob SCLR-pordi.
Määrab torujuhtme registri kella pordi jaoks aktiivse kõrge kella lubamise
Vaikimisi
Määrake IP-tuuma soovitud optimeerimine.
Valige Vaikimisi, et lasta Intel Quartus Prime tarkvaral määrata IP-tuuma jaoks parim valikuvõimalus.
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 21
683490 | 2020.10.05 Saada tagasisidet
5. LPM_ADD_SUB (liitja/lahutaja)
Joonis 4.
LPM_ADD_SUB IP-tuum võimaldab teil rakendada liitjat või lahutajat andmehulkade liitmiseks või lahutamiseks, et saada väljund, mis sisaldab sisendväärtuste summat või erinevust.
Järgmisel joonisel on näidatud LPM_ADD_SUB IP-tuuma pordid.
LPM_ADD_SUB Portid
LPM_ADD_SUB add_sub cin
andmed[]
kell clken datab[] aclr
tulemus[] ülevoolu cout
inst
5.1. Omadused
LPM_ADD_SUB IP-tuum pakub järgmisi funktsioone: · Loob liitja, lahutaja ja dünaamiliselt konfigureeritava liitja/lahutaja
funktsioonid. · Toetab andmelaiust 1 bitti. · Toetab andmete esitusvorminguid, nagu allkirjastatud ja allkirjastamata. · Toetab valikulist kaasaskandmist (laenamist), asünkroonset tühjendamist ja kella lubamist
sisendpordid. · Toetab valikulisi ülekande- (laenamis-) ja ülevoolu väljundporte. · Määrab ühe sisendandmesiinidest konstandi. · Toetab konveierit konfigureeritava väljundlatentsusega.
Intel Corporation. Kõik õigused kaitstud. Intel, Inteli logo ja muud Inteli kaubamärgid on Intel Corporationi või selle tütarettevõtete kaubamärgid. Intel garanteerib oma FPGA ja pooljuhttoodete toimimise praeguste spetsifikatsioonide kohaselt vastavalt Inteli standardgarantiile, kuid jätab endale õiguse teha mis tahes tooteid ja teenuseid igal ajal ilma ette teatamata. Intel ei võta endale mingit vastutust ega kohustusi, mis tulenevad siin kirjeldatud teabe, toote või teenuse rakendusest või kasutamisest, välja arvatud juhul, kui Intel on sellega sõnaselgelt kirjalikult nõustunud. Inteli klientidel soovitatakse hankida seadme spetsifikatsioonide uusim versioon enne avaldatud teabele tuginemist ja enne toodete või teenuste tellimuste esitamist. *Teisi nimesid ja kaubamärke võidakse pidada teiste omandiks.
ISO 9001:2015 registreeritud
5. LPM_ADD_SUB (liitja/lahutaja) 683490 | 2020.10.05
5.2. Verilog HDL prototüüp
Järgmine Verilog HDL prototüüp asub Verilog Designis File (.v) lpm.v edasynthesis kataloog.
moodul lpm_add_sub ( tulemus, cout, overflow,add_sub, cin, dataa, datab, clock, clken, aclr ); parameeter lpm_type = "lpm_add_sub"; parameeter lpm_width = 1; parameeter lpm_direction = "KASUTAMATA"; parameeter lpm_representation = "ALLKIRJATUD"; parameeter lpm_pipeline = 0; parameeter lpm_hint = "KASUTAMATA"; sisend [lpm_width-1:0] dataa, datab; sisend add_sub, cin; sisendkell; sisend clken; sisend aclr; väljund [lpm_width-1:0] tulemus; väljundvõimsus, ülevool; lõppmoodul
5.3. VHDL-i komponendi deklaratsioon
VHDL-i komponendi deklaratsioon asub VHDL-i kujunduses File (.vhd) LPM_PACK.vhd librariesvhdllpm kataloog.
komponent LPM_ADD_SUB üldine (LPM_WIDTH : loomulik;
LPM_DIRECTION : string := “KASUTAMATA”; LPM_REPRESENTATION: string := “ALLKIRJATUD”; LPM_PIPELINE : loomulik := 0; LPM_TYPE : string := L_ADD_SUB; LPM_HINT : string := “KASUTAMATA”); port (DATAA : in std_logic_vector(LPM_WIDTH-1 downto 0); DATAB : in std_logic_vector(LPM_WIDTH-1 downto 0); ACLR : in std_logic := '0'; CLOCK : in std_logic := '0'; CLK := '1'; CIN : in std_logic := 'Z'; ADD_SUB : in std_logic := '1'; TULEMUS : out std_logic_vector(LPM_WIDTH-1 kuni 0); COUT : out std_logic; OVERFLOW_logic : välja); lõppkomponent;
5.4. VHDL LIBRARY_USE deklaratsioon
VHDL LIBRARY-USE deklaratsioon ei ole nõutav, kui kasutate VHDL-i komponendi deklaratsiooni.
RAAMATUKOGU lpm; KASUTAGE lpm.lpm_components.all;
5.5. Sadamad
Järgmistes tabelites on loetletud LPM_ADD_SUB IP-tuuma sisend- ja väljundpordid.
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 23
5. LPM_ADD_SUB (liitja/lahutaja) 683490 | 2020.10.05
Tabel 15. LPM_ADD_SUB IP-tuuma sisendpordid
Pordi nimi
Nõutav
Kirjeldus
cin
Ei
Kandke sisse madala järgu bitile. Liitmistoimingute puhul on vaikeväärtus 0. For
lahutamistehte, vaikeväärtus on 1.
andmed[]
Jah
Andmete sisestamine. Sisendpordi suurus sõltub parameetri LPM_WIDTH väärtusest.
andmeb[]
Jah
Andmete sisestamine. Sisendpordi suurus sõltub parameetri LPM_WIDTH väärtusest.
add_sub
Ei
Valikuline sisendport, mis võimaldab dünaamilist ümberlülitamist liitja ja lahutaja vahel
funktsioonid. Kui kasutatakse parameetrit LPM_DIRECTION, ei saa add_sub kasutada. Kui
välja jäetud, on vaikeväärtus ADD. Intel soovitab teil kasutada
parameeter LPM_DIRECTION funktsiooni LPM_ADD_SUB toimimise määramiseks,
selle asemel, et määrata pordile add_sub konstant.
kella
Ei
Konveierkasutuse sisend. Kellaport pakub konveieri jaoks kellasisendit
operatsiooni. LPM_PIPELINE väärtuste puhul, mis ei ole 0 (vaikimisi), peab kella port olema
lubatud.
clken
Ei
Kella lubamine torujuhtmete kasutamiseks. Kui clken pordi väärtus on kõrge, siis lisaja/
toimub lahutaja operatsioon. Kui signaal on madal, ei toimu toimingut. Kui
välja jäetud, on vaikeväärtus 1.
aclr
Ei
Asünkroonne puhastus torujuhtmete kasutamiseks. Konveieri initsialiseeritakse määramata väärtuseks (X)
loogika tase. Aclr-porti saab igal ajal kasutada torujuhtme lähtestamiseks kõigile nullidele,
asünkroonselt kella signaaliga.
Tabel 16. LPM_ADD_SUB IP-tuumaväljundi pordid
Pordi nimi
Nõutav
Kirjeldus
tulemus[]
Jah
Andmete väljund. Väljundpordi suurus sõltub parameetrist LPM_WIDTH
väärtus.
cout
Ei
Kõige olulisema biti (MSB) läbiviimine (laenamine). Cout portil on füüsiline
tõlgendamine MSB läbiviimisena (laenamisena). Cout port tuvastab
ületäitumine ALLKIRJATA toimingutes. Cout port töötab samal viisil
ALLKIRJASTATUD ja ALLKIRJATA toimingud.
ülevool
Ei
Valikuline ülevoolu erandi väljund. Ülevoolupordil on füüsiline tõlgendus kui
MSB-sse kandmise XOR koos MSB-ga. Ülevooluava
kinnitab, kui tulemused ületavad saadaoleva täpsuse, ja seda kasutatakse ainult siis, kui
Parameetri LPM_REPRESENTATION väärtus on SIGNED.
5.6. Parameetrid
Järgmises tabelis on loetletud LPM_ADD_SUB IP põhiparameetrid.
Tabel 17. LPM_ADD_SUB IP põhiparameetrid
Parameetri nimi LPM_WIDTH
Tippige täisarv
Nõutav Jah
Kirjeldus
Määrab dataa[], datab[] ja result[] portide laiused.
LPM_DIRECTION
String
Ei
Väärtused on ADD, SUB ja UNUSED. Kui see on välja jäetud, on vaikeväärtus DEFAULT, mis suunab parameetri võtma selle väärtust pordist add_sub. Porti add_sub ei saa kasutada, kui kasutatakse LPM_DIRECTION. Intel soovitab funktsiooni LPM_ADD_SUB toimimise määramiseks kasutada parameetrit LPM_DIRECTION, selle asemel, et määrata pordile add_sub konstant.
jätkus…
Intel FPGA Integer Aritmetic IP Cores User Guide 24
Saada tagasisidet
5. LPM_ADD_SUB (liitja/lahutaja) 683490 | 2020.10.05
Parameetri nimi LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY
Tüüp String Integer String String String Integer
String
Nõutav Ei Ei Ei Ei Ei Ei Ei
Ei
Kirjeldus
Määrab tehtud lisamise tüübi. Väärtused on ALLKIRJATUD ja ALLKIRJATA. Kui see on välja jäetud, on vaikeväärtus ALLKIRJATUD. Kui see parameeter on seatud väärtusele SIGNED, tõlgendab liitja/lahutaja andmesisendit kahe märgiga komplementina.
Määrab result[] väljundiga seotud latentsuskella tsüklite arvu. Väärtus null (0) näitab, et latentsusaega ei eksisteeri ja et instantseeritakse puhtalt kombineeritud funktsioon. Kui see on välja jäetud, on vaikeväärtus 0 (mittekonveier).
Võimaldab teil VHDL-disainis määrata Inteli spetsiifilisi parameetreid files (.vhd). Vaikeväärtus on UNUSED.
Tuvastab VHDL-kujunduses parameetritega moodulite (LPM) olemi nime teegi files.
Inteli spetsiifiline parameeter. Parameetri ONE_INPUT_IS_CONSTANT määramiseks VHDL-kujunduses peate kasutama parameetrit LPM_HINT files. Väärtused on YES, NO ja UNUSED. Pakub suuremat optimeerimist, kui üks sisend on konstantne. Kui see on välja jäetud, on vaikeväärtus NO.
Inteli spetsiifiline parameeter. Parameetri MAXIMIZE_SPEED määramiseks VHDL-kujunduses peate kasutama parameetrit LPM_HINT files. Saate määrata väärtuse vahemikus 0 kuni 10. Kui seda kasutatakse, proovib Intel Quartus Prime'i tarkvara optimeerida funktsiooni LPM_ADD_SUB konkreetset eksemplari kiiruse, mitte marsruutimise jaoks, ja alistab optimeerimistehnika loogikasuvandi sätte. Kui kiirust MAXIMIZE_SPEED ei kasutata, kasutatakse selle asemel suvandi Optimeerimistehnika väärtust. Kui MAXIMIZE_SPEED säte on 6 või kõrgem, optimeerib kompilaator LPM_ADD_SUB IP-tuuma suuremaks kiiruseks, kasutades kandekette; kui seadistus on 5 või vähem, rakendab kompilaator disaini ilma kandekettideta. See parameeter tuleb Cyclone, Stratix ja Stratix GX seadmete jaoks määrata ainult siis, kui porti add_sub ei kasutata.
Seda parameetrit kasutatakse modelleerimiseks ja käitumise simuleerimiseks. Parameetriredaktor arvutab selle parameetri väärtuse.
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 25
683490 | 2020.10.05 Saada tagasisidet
6. LPM_COMPARE (võrdlus)
Joonis 5.
LPM_COMPARE IP-tuum võrdleb kahe andmekogumi väärtust, et määrata nendevaheline seos. Kõige lihtsamal kujul saate kasutada eksklusiivset VÕI väravat, et teha kindlaks, kas kaks andmebitti on võrdsed.
Järgmisel joonisel on näidatud LPM_COMPARE IP-tuuma pordid.
LPM_COMPARE Portid
LPM_COMPARE
clken
alb
aeb
andmed[]
agb
andmeb[]
vanusb
kella
või
aclr
aleb
inst
6.1. Omadused
LPM_COMPARE IP-tuum pakub järgmisi funktsioone: · Loob võrdlusfunktsiooni kahe andmekomplekti võrdlemiseks · Toetab andmete laiust 1 bitti · Toetab andmete esitusvorminguid, nagu allkirjastatud ja allkirjastamata · Toodab järgmisi väljundtüüpe:
— alb (sisend A on väiksem kui sisend B) — aeb (sisend A võrdub sisendiga B) — agb (sisend A on suurem kui sisend B) — ageb (sisend A on suurem või võrdne sisendiga B) — aneb ( sisend A ei võrdu sisendiga B) — aleb (sisend A on väiksem kui sisend B või sellega võrdne) · Toetab valikulisi asünkroonseid tühjendus- ja kella lubamise sisendporte · Määrab datab[] sisendi konstantseks · Toetab konveierit konfigureeritava väljundlatentsusega
Intel Corporation. Kõik õigused kaitstud. Intel, Inteli logo ja muud Inteli kaubamärgid on Intel Corporationi või selle tütarettevõtete kaubamärgid. Intel garanteerib oma FPGA ja pooljuhttoodete toimimise praeguste spetsifikatsioonide kohaselt vastavalt Inteli standardgarantiile, kuid jätab endale õiguse teha mis tahes tooteid ja teenuseid igal ajal ilma ette teatamata. Intel ei võta endale mingit vastutust ega kohustusi, mis tulenevad siin kirjeldatud teabe, toote või teenuse rakendusest või kasutamisest, välja arvatud juhul, kui Intel on sellega sõnaselgelt kirjalikult nõustunud. Inteli klientidel soovitatakse hankida seadme spetsifikatsioonide uusim versioon enne avaldatud teabele tuginemist ja enne toodete või teenuste tellimuste esitamist. *Teisi nimesid ja kaubamärke võidakse pidada teiste omandiks.
ISO 9001:2015 registreeritud
6. LPM_COMPARE (võrdlus) 683490 | 2020.10.05
6.2. Verilog HDL prototüüp
Järgmine Verilog HDL prototüüp asub Verilog Designis File (.v) lpm.v edasynthesis kataloog.
moodul lpm_compare ( alb, aeb, agb, aleb, aneb, ageb, dataa, datab, kell, clken, aclr ); parameeter lpm_type = "lpm_võrdle"; parameeter lpm_width = 1; parameeter lpm_representation = "ALLKIRJATA"; parameeter lpm_pipeline = 0; parameeter lpm_hint = "KASUTAMATA"; sisend [lpm_width-1:0] dataa, datab; sisendkell; sisend clken; sisend aclr; väljund alb, aeb, agb, aleb, aneb, ageb; lõppmoodul
6.3. VHDL-i komponendi deklaratsioon
VHDL-i komponendi deklaratsioon asub VHDL-i kujunduses File (.vhd) LPM_PACK.vhd librariesvhdllpm kataloog.
komponent LPM_COMPARE üldine (LPM_WIDTH : loomulik;
LPM_RESENTATSIOON : string := "ALLKIRJATA"; LPM_PIPELINE : loomulik := 0; LPM_TYPE: string := L_COMPARE; LPM_HINT : string := “KASUTAMATA”); port (DATAA : in std_logic_vector(LPM_WIDTH-1 downto 0); DATAB : in std_logic_vector(LPM_WIDTH-1 downto 0); ACLR : in std_logic := '0'; CLOCK : in std_logic := '0'; CLK := '1'; AGB: std_loogika välja; AGEB: std_loogika välja; AEB: std_loogika välja; ANEB: std_loogika välja; ALB: std_loogika välja; ALEB: std_loogika välja); lõppkomponent;
6.4. VHDL LIBRARY_USE deklaratsioon
VHDL LIBRARY-USE deklaratsioon ei ole nõutav, kui kasutate VHDL-i komponendi deklaratsiooni.
RAAMATUKOGU lpm; KASUTAGE lpm.lpm_components.all;
6.5. Sadamad
Järgmistes tabelites on loetletud LMP_COMPARE IP-tuuma sisend- ja väljundpordid.
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 27
6. LPM_COMPARE (võrdlus) 683490 | 2020.10.05
Tabel 18. LPM_COMPARE IP-tuuma sisendpordid
Pordi nimi
Nõutav
Kirjeldus
andmed[]
Jah
Andmete sisestamine. Sisendpordi suurus sõltub parameetri LPM_WIDTH väärtusest.
andmeb[]
Jah
Andmete sisestamine. Sisendpordi suurus sõltub parameetri LPM_WIDTH väärtusest.
kella
Ei
Kellasisend torujuhtmega kasutamiseks. Kellaport pakub konveieri jaoks kellasisendit
operatsiooni. LPM_PIPELINE väärtuste puhul, mis ei ole 0 (vaikimisi), peab kella port olema
lubatud.
clken
Ei
Kella lubamine torujuhtmete kasutamiseks. Kui clken port on väidetavalt kõrge,
toimub võrdlusoperatsioon. Kui signaal on madal, ei toimu toimingut. Kui
välja jäetud, on vaikeväärtus 1.
aclr
Ei
Asünkroonne puhastus torujuhtmete kasutamiseks. Konveieri initsialiseeritakse määratlemata (X) loogikaga
tasemel. Aclr-porti saab igal ajal kasutada torujuhtme lähtestamiseks kõigile nullidele,
asünkroonselt kella signaaliga.
Tabel 19. LPM_COMPARE IP-tuuma väljundpordid
Pordi nimi
Nõutav
Kirjeldus
alb
Ei
Võrdleja väljundport. Kinnitatakse, kui sisend A on väiksem kui sisend B.
aeb
Ei
Võrdleja väljundport. Kinnitatakse, kui sisend A võrdub sisendiga B.
agb
Ei
Võrdleja väljundport. Kinnitatakse, kui sisend A on suurem kui sisend B.
vanusb
Ei
Võrdleja väljundport. Kinnitatakse, kui sisend A on sisendist suurem või sellega võrdne
B.
või
Ei
Võrdleja väljundport. Kinnitatakse, kui sisend A ei võrdu sisendiga B.
aleb
Ei
Võrdleja väljundport. Kinnitatakse, kui sisend A on sisendist B väiksem või sellega võrdne.
6.6. Parameetrid
Järgmises tabelis on loetletud LPM_COMPARE IP-tuuma parameetrid.
Tabel 20. LPM_COMPARE IP-tuuma parameetrid
Parameetri nimi
Tüüp
Nõutav
LPM_WIDTH
Täisarv Jah
LPM_RESENTATSIOON
String
Ei
LPM_PIPELINE
Täisarv nr
LPM_HINT
String
Ei
Kirjeldus
Määrab dataa[] ja datab[] portide laiused.
Määrab teostatava võrdluse tüübi. Väärtused on ALLKIRJATUD ja ALLKIRJATA. Kui see on välja jäetud, on vaikeväärtus UNSINGNED. Kui selle parameetri väärtuseks on seatud SIGNED, tõlgendab komparaator andmesisendit kahe märgiga komplementina.
Määrab alb, aeb, agb, ageb, aleb või aneb väljundiga seotud latentsustsüklite arvu. Väärtus null (0) näitab, et latentsusaega ei eksisteeri ja et instantseeritakse puhtalt kombineeritud funktsioon. Kui see on välja jäetud, on vaikeväärtus 0 (nonpipelined).
Võimaldab teil VHDL-disainis määrata Inteli spetsiifilisi parameetreid files (.vhd). Vaikeväärtus on UNUSED.
jätkus…
Intel FPGA Integer Aritmetic IP Cores User Guide 28
Saada tagasisidet
6. LPM_COMPARE (võrdlus) 683490 | 2020.10.05
Parameetri nimi LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT
Sisestage String String
String
Nõutav Ei Ei
Ei
Kirjeldus
Tuvastab VHDL-kujunduses parameetritega moodulite (LPM) olemi nime teegi files.
Seda parameetrit kasutatakse modelleerimiseks ja käitumise simuleerimiseks. Parameetriredaktor arvutab selle parameetri väärtuse.
Inteli spetsiifiline parameeter. Parameetri ONE_INPUT_IS_CONSTANT määramiseks VHDL-kujunduses peate kasutama parameetrit LPM_HINT files. Väärtused on YES, NO või UNUSED. Pakub suuremat optimeerimist, kui sisend on konstantne. Kui see on välja jäetud, on vaikeväärtus NO.
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 29
683490 | 2020.10.05 Saada tagasisidet
7. ALTECC (veaparanduskood: kodeerija/dekooder) IP-tuum
Joonis 6.
Intel pakub ECC funktsionaalsuse rakendamiseks ALTECC IP-tuuma. ECC tuvastab rikutud andmed, mis ilmnevad andmeedastuse ajal vastuvõtja poolel. See veaparandusmeetod sobib kõige paremini olukordadeks, kus vead tekivad pigem juhuslikult kui sarivõttena.
ECC tuvastab vead andmete kodeerimise ja dekodeerimise käigus. NäiteksampKui edastusrakenduses rakendatakse ECC-d, kodeeritakse allikast loetud andmed enne vastuvõtjasse saatmist. Kodeerija väljund (koodsõna) koosneb algandmetest, millele on lisatud paarsusbittide arv. Lisatud paarsusbittide täpne arv sõltub sisendandmetes olevate bittide arvust. Loodud koodisõna edastatakse seejärel sihtkohta.
Vastuvõtja võtab koodsõna vastu ja dekodeerib selle. Dekoodri saadud teave määrab, kas viga tuvastatakse. Dekooder tuvastab ühe- ja kahebitised vead, kuid suudab parandada ainult ühebitiseid vigu rikutud andmetes. Seda tüüpi ECC on ühe veaparanduse topeltveatuvastus (SECDED).
Saate konfigureerida ALTECC IP-tuuma kodeerija ja dekoodri funktsioone. Kodeerijasse sisestatavad andmed on kodeeritud koodisõna genereerimiseks, mis on andmesisendi ja genereeritud paarsusbittide kombinatsioon. Loodud koodisõna edastatakse dekodeerimiseks dekoodri moodulisse vahetult enne sihtplokki jõudmist. Dekooder genereerib sündroomi vektori, et teha kindlaks, kas vastuvõetud koodisõnas on viga. Dekooder parandab andmeid ainult siis, kui ühebitine viga tuleneb andmebittidest. Signaali ei märgitata, kui ühebitine viga pärineb paarsusbittidest. Dekooderil on ka lipusignaalid, mis näitavad vastuvõetud andmete olekut ja dekoodri tehtud toiminguid, kui neid on.
Järgmised joonised näitavad ALTECC IP-tuuma porte.
ALTECC kodeerija pordid
ALTECC_ENCODER
andmed[]
q[]
kella
kellad
aclr
inst
Intel Corporation. Kõik õigused kaitstud. Intel, Inteli logo ja muud Inteli kaubamärgid on Intel Corporationi või selle tütarettevõtete kaubamärgid. Intel garanteerib oma FPGA ja pooljuhttoodete toimimise praeguste spetsifikatsioonide kohaselt vastavalt Inteli standardgarantiile, kuid jätab endale õiguse teha mis tahes tooteid ja teenuseid igal ajal ilma ette teatamata. Intel ei võta endale mingit vastutust ega kohustusi, mis tulenevad siin kirjeldatud teabe, toote või teenuse rakendusest või kasutamisest, välja arvatud juhul, kui Intel on sellega sõnaselgelt kirjalikult nõustunud. Inteli klientidel soovitatakse hankida seadme spetsifikatsioonide uusim versioon enne avaldatud teabele tuginemist ja enne toodete või teenuste tellimuste esitamist. *Teisi nimesid ja kaubamärke võidakse pidada teiste omandiks.
ISO 9001:2015 registreeritud
7. ALTECC (veaparanduskood: kodeerija/dekooder) IP Core 683490 | 2020.10.05
Joonis 7. ALTECC dekoodri pordid
ALTECC_DECODER
andme[] kell clocken
q[] err_detected err_corrected
err_fatal
aclr
inst
7.1. ALTECC kodeerija funktsioonid
ALTECC kodeerija IP-tuum pakub järgmisi funktsioone: · Teostab andmete kodeerimist Hammingi kodeerimisskeemi abil · Toetab andmete laiust 2 bitti · Toetab allkirjastatud ja allkirjastamata andmete esitusvormingut · Toetab konveierit ühe või kahe taktitsükli väljundi latentsusega · Toetab valikulist asünkroonsed tühjendus- ja kella lubamise pordid
ALTECC kodeerija IP-tuum võtab vastu ja kodeerib andmed Hammingi kodeerimisskeemi abil. Hammingi kodeerimise skeem tuletab paarsusbitid ja lisab need algandmetele väljundkoodisõna saamiseks. Lisatud paarsusbittide arv sõltub andmete laiusest.
Järgmises tabelis on loetletud erinevate andmelaiuste vahemike jaoks lisatud paarsusbittide arv. Veerg Total Bits tähistab sisendandmete bittide ja lisatud paarsusbittide koguarvu.
Tabel 21.
Paarsusbittide arv ja koodsõna vastavalt andmete laiusele
Andmete laius
Pariteedibittide arv
Bitid kokku (koodisõna)
2-4
3+1
6-8
5-11
4+1
10-16
12-26
5+1
18-32
27-57
6+1
34-64
58-64
7+1
66-72
Paarsusbittide tuletamisel kasutatakse paarispaarsuse kontrolli. Täiendav 1 bitt (tabelis näidatud kui +1) lisatakse paarsusbittidele koodisõna MSB-na. See tagab, et koodisõnas on paarisarv 1. Näiteksample, kui andmete laius on 4 bitti, lisatakse andmetele 4 paarsusbitti, et saada koodsõna, milles on kokku 8 bitti. Kui 7-bitise koodisõna LSB-st pärit 8 bitti on paaritu arv 1-sid, on koodisõna 8. bitt (MSB) 1, mis teeb 1-de koguarvu koodisõnas paarituks.
Järgmisel joonisel on kujutatud genereeritud koodisõna ning paarsusbittide ja andmebittide paigutus 8-bitises andmesisendis.
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 31
7. ALTECC (veaparanduskood: kodeerija/dekooder) IP Core 683490 | 2020.10.05
Joonis 8.
Paarsusbittide ja andmebittide paigutus 8-bitises genereeritud koodisõnas
MSB
LSB
4 paarsusbitti
4 andmebitti
8
1
ALTECC kodeerija IP-tuum aktsepteerib korraga ainult 2–64-bitist sisendilaiust. Inteli seadmetele ideaalselt sobivad 12-, 29- ja 64-bitised sisendilaiused genereerivad vastavalt 18-, 36- ja 72-bitise väljundi. Bitivaliku piirangut saate juhtida parameetriredaktoris.
7.2. Verilog HDL prototüüp (ALTECC_ENCODER)
Järgmine Verilog HDL prototüüp asub Verilog Designis File (.v) lpm.v edasynthesis kataloog.
moodul altecc_encoder #( parameeter ettenähtud_device_family = "unused", parameeter lpm_pipeline = 0, parameeter width_codeword = 8, parameeter width_dataword = 8, parameeter lpm_type = "altecc_encoder", parameeter lpm_hint = "unused" (sisendjuhtme aclr, sisendjuhtme kell traatkell, sisendtraat [laius_andmesõna-1:0] andmed, väljundjuhe [laius_koodsõna-1:0] q); lõppmoodul
7.3. Verilog HDL prototüüp (ALTECC_DECODER)
Järgmine Verilog HDL prototüüp asub Verilog Designis File (.v) lpm.v edasynthesis kataloog.
moodul altecc_decoder #( parameeter ettenähtud_device_family = "unused", parameeter lpm_pipeline = 0, parameeter width_codeword = 8, parameeter width_dataword = 8, parameeter lpm_type = "altecc_decoder", parameeter lpm_hint = "unused" (sisendjuhtme aclr, sisendjuhtme kell traatkell, sisendtraat [laius_koodsõna-1:0] andmed, väljundjuhe viga_parandatud, väljundjuhe viga_tuvastatud, väljundjuhe viga_fatal, väljundjuhe [laius_andmesõna-1:0] q); lõppmoodul
Intel FPGA Integer Aritmetic IP Cores User Guide 32
Saada tagasisidet
7. ALTECC (veaparanduskood: kodeerija/dekooder) IP Core 683490 | 2020.10.05
7.4. VHDL-i komponendi deklaratsioon (ALTECC_ENCODER)
VHDL-i komponendi deklaratsioon asub VHDL-i kujunduses File (.vhd) altera_mf_components.vhd librariesvhdlaltera_mf kataloog.
komponent altecc_encoder generic ( ettenähtud_seadme_perekond:string := "kasutamata"; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := "UNUSED";stringmccen_coder ”); port( aclr:in std_logic := '0'; clock:in std_logic := '0'; clocken:in std_logic := '1'; data:in std_logic_vector(width_dataword-1 downto 0); q:out std_logic_vector -1 kuni 0)); lõppkomponent;
7.5. VHDL-i komponendi deklaratsioon (ALTECC_DECODER)
VHDL-i komponendi deklaratsioon asub VHDL-i kujunduses File (.vhd) altera_mf_components.vhd librariesvhdlaltera_mf kataloog.
komponent altecc_decoder generic ( ettenähtud_seadme_perekond:string := "kasutamata"; lpm_pipeline:natural := 0; width_codeword:natural := 8; laiuse_andmed ”); port( aclr:in std_logic := '8'; clock:in std_logic := '0'; clocken:in std_logic := '0'; data:in std_logic_vector(width_codeword-1 downto 1); err_corrected_logic out;deecterdr_logic out; : out std_logic; q:out std_logic_vector(width_dataword-0 downto 1); syn_e : out std_logic); lõppkomponent;
7.6. VHDL LIBRARY_USE deklaratsioon
VHDL LIBRARY-USE deklaratsioon ei ole nõutav, kui kasutate VHDL-i komponendi deklaratsiooni.
RAAMATUKOGU altera_mf; KASUTAGE altera_mf.altera_mf_components.all;
7.7. Kodeerija pordid
Järgmistes tabelites on loetletud ALTECC kodeerija IP-tuuma sisend- ja väljundpordid.
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 33
7. ALTECC (veaparanduskood: kodeerija/dekooder) IP Core 683490 | 2020.10.05
Tabel 22. ALTECC kodeerija sisendpordid
Pordi nimi
Nõutav
Kirjeldus
andmed[]
Jah
Andmesisestusport. Sisendpordi suurus sõltub WIDTH_DATAWORD-ist
parameetri väärtus. Data[] port sisaldab kodeeritavaid algandmeid.
kella
Jah
Kella sisendport, mis annab kodeerimistoimingu sünkroonimiseks kellasignaali.
Kellaport on vajalik, kui LPM_PIPELINE väärtus on suurem kui 0.
kellad
Ei
Kella lubamine. Kui see on välja jäetud, on vaikeväärtus 1.
aclr
Ei
Asünkroonne tühjendussisend. Aktiivset kõrge aclr-signaali saab igal ajal kasutada
asünkroonselt kustutada registrid.
Tabel 23. ALTECC kodeerija väljundpordid
Pordi nimi q[]
Nõutav Jah
Kirjeldus
Kodeeritud andmeväljundport. Väljundpordi suurus sõltub parameetri WIDTH_CODEWORD väärtusest.
7.8. Dekoodri pordid
Järgmistes tabelites on loetletud ALTECC dekoodri IP-tuuma sisend- ja väljundpordid.
Tabel 24. ALTECC dekoodri sisendpordid
Pordi nimi
Nõutav
Kirjeldus
andmed[]
Jah
Andmesisestusport. Sisendpordi suurus sõltub parameetri WIDTH_CODEWORD väärtusest.
kella
Jah
Kella sisendport, mis annab kodeerimistoimingu sünkroonimiseks kellasignaali. Kellaport on vajalik, kui LPM_PIPELINE väärtus on suurem kui 0.
kellad
Ei
Kella lubamine. Kui see on välja jäetud, on vaikeväärtus 1.
aclr
Ei
Asünkroonne tühjendussisend. Aktiivset kõrge aclr-signaali saab igal ajal kasutada registrite asünkroonseks kustutamiseks.
Tabel 25. ALTECC dekoodri väljundpordid
Pordi nimi q[]
Nõutav Jah
Kirjeldus
Dekodeeritud andmeväljundport. Väljundpordi suurus sõltub parameetri WIDTH_DATAWORD väärtusest.
err_detected Jah
Lipusignaal, mis kajastab vastuvõetud andmete olekut ja määrab leitud vead.
err_correcte Jah d
Lipusignaal, mis kajastab vastuvõetud andmete olekut. Tähistab leitud ja parandatud ühebitist viga. Saate andmeid kasutada, kuna need on juba parandatud.
err_fatal
Jah
Lipusignaal, mis kajastab vastuvõetud andmete olekut. Tähistab, et leitud, kuid parandamata kahebitine viga. Kui see signaal on kinnitatud, ei tohi te andmeid kasutada.
syn_e
Ei
Väljundsignaal, mis läheb kõrgeks, kui paaristamisel tuvastatakse ühebitine viga
bitti.
7.9. Kodeerija parameetrid
Järgmises tabelis on loetletud ALTECC kodeerija IP-tuuma parameetrid.
Intel FPGA Integer Aritmetic IP Cores User Guide 34
Saada tagasisidet
7. ALTECC (veaparanduskood: kodeerija/dekooder) IP Core 683490 | 2020.10.05
Tabel 26. ALTECC kodeerija parameetrid
Parameetri nimi
Tüüp
Nõutav
Kirjeldus
WIDTH_DATAWORD
Täisarv Jah
Määrab algandmete laiuse. Väärtused on vahemikus 2 kuni 64. Kui see on välja jäetud, on vaikeväärtus 8.
WIDTH_CODEWORD
Täisarv Jah
Määrab vastava koodisõna laiuse. Kehtivad väärtused on vahemikus 6 kuni 72, välja arvatud 9, 17, 33 ja 65. Kui see jäetakse välja, on vaikeväärtus 13.
LPM_PIPELINE
Täisarv nr
Määrab ahela torujuhtme. Väärtused on vahemikus 0 kuni 2. Kui väärtus on 0, siis porte ei registreerita. Kui väärtus on 1, registreeritakse väljundpordid. Kui väärtus on 2, registreeritakse sisend- ja väljundpordid. Kui see on välja jäetud, on vaikeväärtus 0.
7.10. Dekoodri parameetrid
Järgmises tabelis on loetletud ALTECC dekoodri IP-tuumaparameetrid.
Tabel 27. ALTECC dekoodri parameetrid
Parameetri nimi WIDTH_DATAWORD
Tippige täisarv
Nõutav
Kirjeldus
Jah
Määrab algandmete laiuse. Väärtused on 2 kuni 64
vaikeväärtus on 8.
WIDTH_CODEWORD
Täisarv
Jah
Määrab vastava koodisõna laiuse. Väärtused on 6
72-ni, välja arvatud 9, 17, 33 ja 65. Kui see jäetakse välja, siis vaikeväärtus
on 13.
LPM_PIPELINE
Täisarv
Ei
Määrab vooluringi registri. Väärtused on vahemikus 0 kuni 2. Kui
väärtus on 0, registrit ei rakendata. Kui väärtus on 1, siis
väljund on registreeritud. Kui väärtus on 2, siis nii sisend kui ka
väljundid on registreeritud. Kui väärtus on suurem kui 2, lisatakse
lisade väljundis rakendatakse registreid
latentsusajad. Kui see on välja jäetud, on vaikeväärtus 0.
Loo 'syn_e' port
Täisarv
Ei
Syn_e-pordi loomiseks lülitage see parameeter sisse.
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 35
683490 | 2020.10.05 Saada tagasisidet
8. Inteli FPGA mitmekordse liitja IP-tuuma
Joonis 9.
Intel FPGA Multiply Adder (Intel Stratix 10, Intel Arria 10 ja Intel Cyclone 10 GX seadmed) või ALTERA_MULT_ADD (Arria V, Stratix V ja Cyclone V seadmed) IP-tuum võimaldab teil rakendada kordaja-liitja.
Järgmisel joonisel on kujutatud Inteli FPGA mitmekordse liitja või ALTERA_MULT_ADD IP-tuuma pordid.
Inteli FPGA korrutisandja või ALTERA_MULT_ADD pordid
Inteli FPGA korrutisandja või ALTERA_MULT_ADD
dataa[] signa datab[] signb datac[] coefsel0[] coefsel1[] coefsel2[] coefsel3[] addnsub1 addnsub3 aclr/sclr[] scanina[] clock0 clock1 clock2 ena0 ena1 ena2 sload_accum
accum_sload chainin[]
scanouta[] tulemus[]
aclr0 aclr1
inst
Kordaja-liitja aktsepteerib sisendite paare, korrutab väärtused kokku ja seejärel liidab või lahutab kõigi teiste paaride korrutistest.
Kui kõik sisendandmete laiused on 9 bitti laiad või väiksemad, kasutab funktsioon 9 x 9 konfiguratsiooni toetavate seadmete jaoks DSP plokis 9 x 9 bitise sisendkordisti konfiguratsiooni. Kui ei, siis kasutab DSP-plokk 18-18-bitise laiusega andmete töötlemiseks 10 × 18-bitiseid sisendkordajaid. Kui kujunduses esineb mitu Inteli FPGA mitmekordse liitja või ALTERA_MULT_ADD IP-tuuma, jaotatakse funktsioonid järgmiselt
Intel Corporation. Kõik õigused kaitstud. Intel, Inteli logo ja muud Inteli kaubamärgid on Intel Corporationi või selle tütarettevõtete kaubamärgid. Intel garanteerib oma FPGA ja pooljuhttoodete toimimise praeguste spetsifikatsioonide kohaselt vastavalt Inteli standardgarantiile, kuid jätab endale õiguse teha mis tahes tooteid ja teenuseid igal ajal ilma ette teatamata. Intel ei võta endale mingit vastutust ega kohustusi, mis tulenevad siin kirjeldatud teabe, toote või teenuse rakendusest või kasutamisest, välja arvatud juhul, kui Intel on sellega sõnaselgelt kirjalikult nõustunud. Inteli klientidel soovitatakse hankida seadme spetsifikatsioonide uusim versioon enne avaldatud teabele tuginemist ja enne toodete või teenuste tellimuste esitamist. *Teisi nimesid ja kaubamärke võidakse pidada teiste omandiks.
ISO 9001:2015 registreeritud
8. Inteli FPGA mitmekordne liitja IP Core 683490 | 2020.10.05
võimalikult palju erinevaid DSP plokke, et nendesse plokkidesse suunamine oleks paindlikum. Vähem kordajaid DSP-ploki kohta võimaldab teha plokki rohkem marsruutimise valikuid, minimeerides teid ülejäänud seadmesse.
DSP plokki paigutatakse ka järgmiste signaalide registrid ja lisakonveieri registrid: · Andmesisend · Signeeritud või allkirjastamata valik · Valiku lisamine või lahutamine · Kordajate korrutised
Väljundtulemuse puhul paigutatakse esimene register DSP plokki. Täiendavad latentsusregistrid paigutatakse aga plokist väljapoole jäävatesse loogikaelementidesse. DSP-ploki välisseadmed, sealhulgas andmesisendid kordajasse, juhtsignaali sisendid ja liitja väljundid, kasutavad ülejäänud seadmega suhtlemiseks tavalist marsruutimist. Kõik funktsiooni ühendused kasutavad spetsiaalset marsruutimist DSP-ploki sees. See spetsiaalne marsruutimine hõlmab nihkeregistri ahelaid, kui valite võimaluse nihutada kordaja registreeritud sisendandmed ühelt kordajalt külgnevale kordajale.
Lisateavet Stratix V ja Arria V seadmete seeria DSP-plokkide kohta leiate vastavate käsiraamatute peatükist DSP-plokid leheküljel Kirjandus ja tehniline dokumentatsioon.
Seotud teave AN 306: kordajate rakendamine FPGA-seadmetes
Annab lisateavet DSP-d ja mäluplokke kasutavate kordajate rakendamise kohta Inteli FPGA-seadmetes.
8.1. Omadused
Inteli FPGA korrutusliite või ALTERA_MULT_ADD IP-tuum pakub järgmisi funktsioone: · Genereerib kordaja kahe keerulise korrutamistoimingu tegemiseks.
numbrid Märkus. Kui luuakse kordistajaid, mis on suuremad kui algselt toetatud suurus, võib/
on DSP-plokkide kaskaadmisest tulenev mõju jõudlusele. · Toetab andmete laiust 1 256 bitti · Toetab allkirjastatud ja allkirjastamata andmete esitusvormingut · Toetab konveierit konfigureeritava sisendi latentsusega · Pakub võimalust allkirjastatud ja allkirjastamata andmete toe dünaamiliseks vahetamiseks · Pakub võimalust dünaamiliselt lülituda liitmise ja lahutamise vahel · Toetab valikulised asünkroonsed ja sünkroonsed tühjendus- ja kella lubamise sisendpordid · Toetab süstoolse viivitusregistri režiimi · Toetab eelliitjat 8 eellaadimiskoefitsiendiga kordaja kohta · Toetab eelkoormuse konstanti, et täiendada aku tagasisidet
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 37
8. Inteli FPGA mitmekordne liitja IP Core 683490 | 2020.10.05
8.1.1. Eelliitja
Eelliitjaga tehakse liitmised või lahutamised enne kordaja sisestamist.
Lisamiseelseid režiime on viis: · Lihtrežiim · Koefitsiendi režiim · Sisestusrežiim · Ruudurežiim · Püsirežiim
Märkus.
Kui kasutatakse eelliitjat (eelliitja koefitsient/sisend/ruutrežiim), peavad kordaja kõikidel andmesisenditel olema sama kella seadistus.
8.1.1.1. Lisamise eelnev lihtrežiim
Selles režiimis lähtuvad mõlemad operandid sisendportidest ja eelliitjat ei kasutata ega jäeta mööda. See on vaikerežiim.
Joonis 10. Lisaja eelnev lihtrežiim
a0 b0
Multi0
tulemus
8.1.1.2. Eelliitja koefitsiendi režiim
Selles režiimis tuleneb üks kordaja operaand eelliitjast ja teine operand sisemisest koefitsiendi mälust. Koefitsientide salvestamine võimaldab kuni 8 eelseadistatud konstanti. Koefitsientide valiku signaalid on coefsel[0..3].
Seda režiimi väljendatakse järgmises võrrandis.
Järgnevalt on näidatud kordaja eelliitja koefitsiendi režiim.
Joonis 11. Eelliitja koefitsiendi režiim
Preadder
a0
Multi0
+/-
tulemus
b0
coefsel0 koef
Intel FPGA Integer Aritmetic IP Cores User Guide 38
Saada tagasisidet
8. Inteli FPGA mitmekordne liitja IP Core 683490 | 2020.10.05
8.1.1.3. Eelliitja sisendrežiim Selles režiimis tuleneb üks kordaja operaand eelliitjast ja teine operand datac[] sisendpordist. Seda režiimi väljendatakse järgmises võrrandis.
Järgnevalt on näidatud kordaja eelliitja sisestusrežiim.
Joonis 12. Eelliitja sisestusrežiim
a0 b0
Multi0
+/-
tulemus
c0
8.1.1.4. Eelliitja Ruutrežiim Seda režiimi väljendatakse järgmises võrrandis.
Järgnevalt on näidatud kahe kordaja liitmis-eelne ruudurežiim.
Joonis 13. Eelliitja ruutrežiim
a0 b0
Multi0
+/-
tulemus
8.1.1.5. Lisaja eelnev püsirežiim
Selles režiimis tuleneb üks kordaja operaand sisendpordist ja teine operand sisemisest koefitsiendi mälust. Koefitsientide salvestamine võimaldab kuni 8 eelseadistatud konstanti. Koefitsientide valiku signaalid on coefsel[0..3].
Seda režiimi väljendatakse järgmises võrrandis.
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 39
8. Inteli FPGA mitmekordne liitja IP Core 683490 | 2020.10.05
Järgmisel joonisel on kujutatud kordaja konstantse liitmise-eelset režiimi.
Joonis 14. Eelliitja konstantne režiim
a0
Multi0
tulemus
coefsel0
koef
8.1.2. Süstoolse viivituse register
Süstoolses arhitektuuris sisestatakse sisendandmed registrite kaskaadi, mis toimib andmepuhvrina. Iga register edastab sisendi sample kordajasse, kus see korrutatakse vastava koefitsiendiga. Ahelsummaja salvestab lõpptulemuse moodustamiseks kordaja järk-järgult kombineeritud tulemused ja chainin[] sisendpordist varem registreeritud tulemused. Iga korrutatava lisamise element peab olema ühe tsükli võrra edasi lükatud, et tulemused sünkroniseeriksid liitmisel asjakohaselt. Iga järjestikust viivitust kasutatakse nii koefitsientide mälu kui ka nende vastavate korrutus-liiteelementide andmepuhvri adresseerimiseks. Näiteksample, üks viivitus teise korrutatava liitmise elemendi jaoks, kaks viivitust kolmanda korrutamis-liitmise elemendi jaoks ja nii edasi.
Joonis 15. Süstoolsed registrid
Süstoolsed registrid
x(t) c(0)
S-1
S-1
c(1)
S-1
S-1
c(2)
S-1
S-1
c(N-1)
S-1
S-1
S-1
S -1 a(t)
x(t) tähistab sisendi s pideva voo tulemusiamples ja y(t)
tähistab sisendi s hulga liitmistamples ja aja jooksul korrutatuna nendega
vastavad koefitsiendid. Nii sisend- kui ka väljundtulemused liiguvad vasakult paremale. C(0) kuni c(N-1) tähistab koefitsiente. Süstoolse viivituse registrid on tähistatud tähega S-1, samas kui 1 tähistab ühte kella viivitust. Süstoolse viivituse registrid lisatakse aadressil
konveieri sisendid ja väljundid viisil, mis tagab tulemuste saavutamise
kordaja operandi ja kogunenud summad jäävad sünkroonis. See töötlemiselement
kopeeritakse, et moodustada vooluahel, mis arvutab filtreerimisfunktsiooni. See funktsioon on
väljendatud järgmises võrrandis.
Intel FPGA Integer Aritmetic IP Cores User Guide 40
Saada tagasisidet
8. Inteli FPGA mitmekordne liitja IP Core 683490 | 2020.10.05
N tähistab akumulaatorisse sisestatud andmete tsüklite arvu, y(t) tähistab väljundit ajahetkel t, A(t) tähistab sisendit ajahetkel t ja B(i) on koefitsiendid. Võrrandis olevad t ja i vastavad konkreetsele ajahetkele, nii et väljundi s arvutamiseksample y(t) ajahetkel t, sisendi s rühmamples N erineval ajahetkel või on nõutav A(n), A(n-1), A(n-2), … A(n-N+1). N sisendi rühm samples korrutatakse N koefitsiendiga ja liidetakse kokku, et saada lõpptulemus y.
Süstoolse registri arhitektuur on saadaval ainult režiimide summa-of-2 ja sum-of-4 jaoks. Mõlema süstoolse registri arhitektuurirežiimi puhul tuleb esimene ahelsignaal siduda 0-ga.
Järgmisel joonisel on kujutatud 2 kordaja süstoolse viivitusregistri rakendamist.
Joonis 16. Süstoolse viivituse registri rakendamine 2 kordajast
kettin
a0
Multi0
+/-
b0
a1
Multi1
+/-
b1
tulemus
Kahe kordaja summat väljendatakse järgmises võrrandis.
Järgmisel joonisel on kujutatud 4 kordaja süstoolse viivitusregistri rakendamist.
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 41
8. Inteli FPGA mitmekordne liitja IP Core 683490 | 2020.10.05
Joonis 17. Süstoolse viivituse registri rakendamine 4 kordajast
kettin
a0
Multi0
+/-
b0
a1
Multi1
+/-
b1
a2
Multi2
+/-
b2
a3
Multi3
+/-
b3
tulemus
Nelja kordaja summat väljendatakse järgmises võrrandis. Joonis 18. 4 kordaja summa
Järgnevalt on loetletud advantagSüstoolse registri juurutamise esitlused: · Vähendab DSP ressursikasutust · Võimaldab tõhusat kaardistamist DSP-plokis, kasutades ahela liitja struktuuri
Intel FPGA Integer Aritmetic IP Cores User Guide 42
Saada tagasisidet
8. Inteli FPGA mitmekordne liitja IP Core 683490 | 2020.10.05
8.1.3. Eellaadimise konstant
Eelkoormuskonstant juhib akumulaatori operandi ja täiendab aku tagasisidet. Kehtiv LOADCONST_VALUE on vahemikus 0. Konstantne väärtus on võrdne 64N-ga, kus N = LOADCONST_VALUE. Kui LOADCONST_VALUE on seatud väärtusele 2, on konstantne väärtus 64. Seda funktsiooni saab kasutada kallutatud ümardamiseks.
Järgmisel joonisel on kujutatud eellaadimiskonstanti rakendamine.
Joonis 19. Eelkoormuse konstant
Aku tagasiside
konstantne
a0
Multi0
+/-
b0
a1
Multi1
+/b1
tulemus
accum_sload sload_acum
Teiste kordajate rakenduste kohta vaadake järgmisi IP-tuumasid: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. Kahekordne aku
Topeltakumulaatori funktsioon lisab akumulaatori tagasiside teele täiendava registri. Kahekordse akumulaatori register järgib väljundregistrit, mis sisaldab kella, kella lubamise ja aclr. Täiendav akumulaatoriregister tagastab tulemuse ühe tsüklilise viivitusega. See funktsioon võimaldab teil kasutada kahte sama ressursside arvuga akumulatsioonikanalit.
Järgmisel joonisel on näidatud topeltakumulaatori rakendamine.
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 43
8. Inteli FPGA mitmekordne liitja IP Core 683490 | 2020.10.05
Joonis 20. Topeltakumulaator
Kahekordne aku register
Aku tagasiside
a0
Multi0
+/-
b0
a1
Multi1
+/b1
Väljundtulemus Väljundregister
8.2. Verilog HDL prototüüp
Leiate Inteli FPGA mitmekordse liitja või ALTERA_MULT_ADD Verilog HDL prototüübi file (altera_mult_add_rtl.v) rakenduses raamatukogudemegafunktsioonide kataloog.
8.3. VHDL-i komponendi deklaratsioon
VHDL-i komponendi deklaratsioon asub failis altera_lnsim_components.vhd librariesvhdl altera_lnsim kataloog.
8.4. VHDL LIBRARY_USE deklaratsioon
VHDL LIBRARY-USE deklaratsioon ei ole nõutav, kui kasutate VHDL-i komponendi deklaratsiooni.
RAAMATUKOGU altera_mf; KASUTAGE altera_mf.altera_mf_components.all;
8.5. Signaalid
Järgmistes tabelites on loetletud mitmekordse liitja Intel FPGA IPor ALTERA_MULT_ADD IP-tuuma sisend- ja väljundsignaalid.
Tabel 28. Inteli FPGA IP või ALTERA_MULT_ADD sisendsignaalide korrutamine
Signaal
Nõutav
Kirjeldus
dataa_0[]/dataa_1[]/
Jah
data_2[]/dataa_3[]
Andmete sisestamine kordajasse. Sisendpordi [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1 … 0] laius
jätkus…
Intel FPGA Integer Aritmetic IP Cores User Guide 44
Saada tagasisidet
8. Inteli FPGA mitmekordne liitja IP Core 683490 | 2020.10.05
Signaal datab_0[]/datab_1[]/ datab_2[]/datab_3[] datac_0[] /datac_1[]/ datac_2[]/datac_3[] clock[1:0] aclr[1:0] sclr[1:0] ena [1:0] märk
märkb
scanina[] accum_sload
Nõutav Jah Ei
Ei Ei Ei Ei Ei Ei
Ei
ei Ei
Kirjeldus
Selle IP simulatsioonimudel toetab nende signaalide määramata sisendväärtust (X). Kui annate nendele signaalidele X väärtuse, levib X väärtus väljundsignaalides.
Andmete sisestamine kordajasse. Sisendsignaal [NUMBER_OF_MULTIPLIERS * WIDTH_B – 1 … 0] lai Selle IP simulatsioonimudel toetab nende signaalide määramata sisendväärtust (X). Kui annate nendele signaalidele X väärtuse, levib X väärtus väljundsignaalides.
Andmete sisestamine kordajasse. Sisendsignaal [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] lai Valige nende signaalide lubamiseks parameetriks Select preadder mode (Sisend). Selle IP simulatsioonimudel toetab nende signaalide määramata sisendväärtust (X). Kui annate nendele signaalidele X väärtuse, levib X väärtus väljundsignaalides.
Kella sisendport vastavasse registrisse. Seda signaali saab kasutada iga IP-tuuma register. Selle IP simulatsioonimudel toetab nende signaalide määramata sisendväärtust (X). Kui annate nendele signaalidele X väärtuse, levib X väärtus väljundsignaalides.
Asünkroonne tühjendussisend vastavasse registrisse. Selle IP simulatsioonimudel toetab nende signaalide määramata sisendväärtust (X). Kui annate nendele signaalidele X väärtuse, levib X väärtus väljundsignaalides.
Sünkroonne tühjendussisend vastavasse registrisse. Selle IP simulatsioonimudel toetab nende signaalide määramata sisendväärtust X. Kui annate nendele signaalidele X väärtuse, levib X väärtus väljundsignaalides
Luba signaali sisend vastavasse registrisse. Selle IP simulatsioonimudel toetab nende signaalide määramata sisendväärtust (X). Kui annate nendele signaalidele X väärtuse, levib X väärtus väljundsignaalides.
Määrab kordaja sisendi A arvulise esituse. Kui signaali signaal on kõrge, käsitleb kordaja kordaja sisendi A signaali märgistatud arvuna. Kui signaali signaal on madal, käsitleb kordaja kordaja sisend A signaali märgita arvuna. Valige MUUTUV, milline on kordajate esitusvorming. Selle signaali lubamiseks sisestab sisendparameeter. Selle IP simulatsioonimudel toetab selle signaali määramata sisendväärtust (X). Kui annate sellele sisendile X väärtuse, levib X väärtus väljundsignaalides.
Määrab kordistaja sisend B signaali numbrilise esituse. Kui märgib signaal on kõrge, käsitleb kordaja kordaja sisend B signaali kahe märgiga komplementarvuna. Kui märgib signaal on madal, käsitleb kordaja kordaja sisend B signaali märgita arvuna. Selle IP simulatsioonimudel toetab selle signaali määramata sisendväärtust (X). Kui annate sellele sisendile X väärtuse, levib X väärtus väljundsignaalides.
Skaneerimisahela A sisend. Sisendsignaal [WIDTH_A – 1, … 0] lai. Kui parameetri INPUT_SOURCE_A väärtus on SCANA, on skanina[] signaal vajalik.
Määrab dünaamiliselt, kas akumulaatori väärtus on konstantne. Kui accum_sload signaal on madal, siis laaditakse kordaja väljund akumulaatorisse. Ärge kasutage accum_sload ja sload_accum samaaegselt.
jätkus…
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 45
8. Inteli FPGA mitmekordne liitja IP Core 683490 | 2020.10.05
Signaali sload_acum
kettin[] addnsub1
addnsub3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]
Nõutav nr
ei Ei
Ei
Ei ei ei ei
Kirjeldus
Selle IP simulatsioonimudel toetab selle signaali määramata sisendväärtust (X). Kui annate sellele sisendile X väärtuse, levib X väärtus väljundsignaalides.
Määrab dünaamiliselt, kas akumulaatori väärtus on konstantne. Kui sload_accum signaal on kõrge, siis laaditakse kordaja väljund akumulaatorisse. Ärge kasutage accum_sload ja sload_accum samaaegselt. Selle IP simulatsioonimudel toetab selle signaali määramata sisendväärtust (X). Kui annate sellele sisendile X väärtuse, levib X väärtus väljundsignaalides.
Eelmiste s-i tulemuste sisestussiintage. Sisendsignaal [WIDTH_CHAININ – 1, … 0] lai.
Tehke esimese kordajate paari väljunditele liitmine või lahutamine. Sisend 1 addnsub1 signaalile, et liita esimese kordajate paari väljundid. Sisestage 0 addnsub1 signaali, et lahutada väljundid esimesest kordajate paarist. Selle IP simulatsioonimudel toetab selle signaali määramata sisendväärtust (X). Kui annate sellele sisendile X väärtuse, levib X väärtus väljundsignaalides.
Tehke esimese kordajate paari väljunditele liitmine või lahutamine. Sisend 1 addnsub3 signaalile, et lisada teise kordajate paari väljundid. Sisestage 0 addnsub3 signaali, et lahutada väljundid esimesest kordajate paarist. Selle IP simulatsioonimudel toetab selle signaali määramata sisendväärtust (X). Kui annate sellele sisendile X väärtuse, levib X väärtus väljundsignaalides.
Koefitsiendi sisendsignaal[0:3] esimesele kordajale. Selle IP simulatsioonimudel toetab selle signaali määramata sisendväärtust (X). Kui annate sellele sisendile X väärtuse, levib X väärtus väljundsignaalides.
Koefitsiendi sisendsignaal[0:3] teisele kordajale. Selle IP simulatsioonimudel toetab selle signaali määramata sisendväärtust (X). Kui annate sellele sisendile X väärtuse, levib X väärtus väljundsignaalides.
Koefitsiendi sisendsignaal[0:3]kolmanda kordaja jaoks. Selle IP simulatsioonimudel toetab selle signaali määramata sisendväärtust (X). Kui annate sellele sisendile X väärtuse, levib X väärtus väljundsignaalides.
Koefitsiendi sisendsignaal [0:3] neljandale kordajale. Selle IP simulatsioonimudel toetab selle signaali määramata sisendväärtust (X). Kui annate sellele sisendile X väärtuse, levib X väärtus väljundsignaalides.
Tabel 29. Inteli FPGA IP väljundsignaalide korrutamine
Signaal
Nõutav
Kirjeldus
tulemus []
Jah
Kordaja väljundsignaal. Väljundsignaal [WIDTH_RESULT – 1 … 0] lai
Selle IP simulatsioonimudel toetab määramata väljundväärtust (X). Kui sisestate sisendiks X väärtuse, levib X väärtus sellel signaalil.
Scanouta []
Ei
Skaneerimisahela A väljund. Väljundsignaal [WIDTH_A – 1...0] lai.
Valige kordajate arvu jaoks rohkem kui 2 ja valige selle signaali lubamiseks parameetriga ühendatud kordaja sisend A valikuks Scan chain input.
Intel FPGA Integer Aritmetic IP Cores User Guide 46
Saada tagasisidet
8. Inteli FPGA mitmekordne liitja IP Core 683490 | 2020.10.05
8.6. Parameetrid
8.6.1. Üldine vahekaart
Tabel 30. Tabel Üldine
Parameeter
IP genereeritud parameeter
Väärtus
Kui suur on kordajate arv?
arv_m 1 – 4 kordajat
Kui laiad peaksid olema A width_a sisendsiinid?
1-256
Kui laiad peaksid olema B width_b sisendsiinid?
1-256
Kui lai peaks olema "tulemuse" väljundsiin?
laius_tulemus
1-256
Looge iga kella jaoks seotud kella lubamine
gui_associate Sees d_clock_enabl Väljas e
8.6.2. Lisarežiimide vahekaart
Tabel 31. Lisarežiimide vahekaart
Parameeter
IP genereeritud parameeter
Väärtus
Väljundite konfiguratsioon
Registreeri liiteseadme väljund
gui_output_re Sees
gister
Väljas
Mis on kella sisendi allikas?
gui_output_re gister_clock
Kell0 Kell1 Kell2
Mis on asünkroonse tühjendussisendi allikas?
gui_output_re gister_aclr
POLE ACLR0 ACLR1
Mis on sünkroonse tühjendussisendi allikas?
gui_output_re gister_sclr
PUUDUB SCLR0 SCLR1
Lisaja toimimine
Millist toimingut tuleks teha esimese kordajate paari väljunditega?
gui_kordaja 1_suund
ADD, SUB, VARIABLE
Vaikeväärtus 1
16
Kirjeldus
Kordajate arv, mis liidetakse. Väärtused on 1 kuni 4. Määrake dataa[] pordi laius.
16
Määrake datab[] pordi laius.
32
Määrake result[] pordi laius.
Väljas
Valige see suvand kella lubamise loomiseks
iga kella jaoks.
Vaikeväärtus
Kirjeldus
Väljas kella 0
Puudub
Valige see suvand, et lubada liitemooduli väljundregister.
Väljundregistrite lubamiseks ja kella allika määramiseks valige Kell0 , Kell1 või Kell2. Selle parameetri lubamiseks peate valima lisaseadme väljundi registreerimine.
Määrab liitja väljundregistri asünkroonse puhastusallika. Selle parameetri lubamiseks peate valima lisaseadme väljundi registreerimine.
Määrab liitja väljundregistri sünkroonse puhastusallika. Selle parameetri lubamiseks peate valima lisaseadme väljundi registreerimine.
LISA
Valige liitmise või lahutamise operatsioon esimese ja teise kordaja vahelise väljundi jaoks.
· Lisamistoimingu tegemiseks valige ADD.
· Lahutamistoimingu tegemiseks valige SUB.
· Dünaamilise liitmise/lahutamise juhtimiseks pordi addnsub1 kasutamiseks valige VARIABLE.
jätkus…
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 47
8. Inteli FPGA mitmekordne liitja IP Core 683490 | 2020.10.05
Parameeter
IP genereeritud parameeter
Väärtus
Registreerige "addnsub1" sisend
gui_addnsub_ Sees kordaja_reg Väljas ister1
Mis on kella sisendi allikas?
gui_addnsub_ multiplier_reg ister1_clock
Kell0 Kell1 Kell2
Mis on asünkroonse tühjendussisendi allikas?
gui_addnsub_ kordaja_aclr 1
POLE ACLR0 ACLR1
Mis on sünkroonse tühjendussisendi allikas?
gui_addnsub_ multiplier_sclr 1
PUUDUB SCLR0 SCLR1
Millist toimingut tuleks teha teise kordajate paari väljunditega?
gui_kordaja 3_suund
ADD, SUB, VARIABLE
Registreerige "addnsub3" sisend
gui_addnsub_ Sees kordaja_reg Väljas ister3
Mis on kella sisendi allikas?
gui_addnsub_ multiplier_reg ister3_clock
Kell0 Kell1 Kell2
Vaikeväärtus
Väljas Kell0 MITTE ÜKSKI EI LISA
Väljas kella 0
Kirjeldus
Kui on valitud väärtus VARIABLE: · Juhtige addnsub1 signaali kõrgeks
lisamise operatsioon. · Juhtida addnsub1 signaal madalale
lahutamistehte. Selle parameetri lubamiseks peate valima rohkem kui kaks kordajat.
Valige see suvand, et lubada addnsub1 pordi sisendregister. Selle parameetri lubamiseks peate valima VARIABLE suvand Mis toiming tuleks teha esimese kordajate paari väljunditega.
Addnsub0 registri sisendkellasignaali määramiseks valige Clock1 , Clock2 või Clock1. Selle parameetri lubamiseks peate valima sisendi registreerimine 'addnsub1'.
Määrab addnsub1 registri asünkroonse selge allika. Selle parameetri lubamiseks peate valima sisendi registreerimine 'addnsub1'.
Määrab addnsub1 registri sünkroonse puhastusallika. Selle parameetri lubamiseks peate valima sisendi registreerimine 'addnsub1'.
Valige liitmise või lahutamise operatsioon, mida teostada kolmanda ja neljanda kordaja vahelise väljundi jaoks. · Lisamise tegemiseks valige ADD
operatsiooni. · Lahutamise sooritamiseks valige SUB
operatsiooni. · Addnsub1 kasutamiseks valige VARIABLE
port dünaamilise liitmise/lahutamise juhtimiseks. Kui on valitud VARIABLE (MUUTUV) väärtus: · Juhtige addnsub1 signaal lisamise toimimiseks kõrgele. · Lülitage addnsub1 signaal madalaks, et lahutada. Peate valima väärtuse 4 suvandi Mis on kordajate arv? selle parameetri lubamiseks.
Valige see suvand, et lubada addnsub3 signaali sisendregister. Selle parameetri lubamiseks peate valima VARIABLE suvandi Mis toiming tuleks teha teise kordajate paari väljunditega.
Addnsub0 registri sisendkellasignaali määramiseks valige Clock1 , Clock2 või Clock3. Selle parameetri lubamiseks peate valima Registreeri 'addnsub3' sisend.
jätkus…
Intel FPGA Integer Aritmetic IP Cores User Guide 48
Saada tagasisidet
8. Inteli FPGA mitmekordne liitja IP Core 683490 | 2020.10.05
Parameeter
Mis on asünkroonse tühjendussisendi allikas?
IP genereeritud parameeter
Väärtus
gui_addnsub_ kordaja_aclr 3
POLE ACLR0 ACLR1
Mis on sünkroonse tühjendussisendi allikas?
gui_addnsub_ multiplier_sclr 3
PUUDUB SCLR0 SCLR1
Polaarsuse lubamine `use_subadd'
gui_use_subn Sees
lisada
Väljas
8.6.3. Kordajate vahekaart
Tabel 32. Kordajad Tab
Parameeter
IP genereeritud parameeter
Väärtus
Mis on
gui_represent
esitusvorming ation_a
kordajate A sisendite jaoks?
ALLKIRJAGA, ALLKIRJATA, MUUTUV
Registreeri `signa' sisend
gui_register_s Sees
igna
Väljas
Mis on kella sisendi allikas?
gui_register_s igna_clock
Kell0 Kell1 Kell2
Mis on asünkroonse tühjendussisendi allikas?
gui_register_s igna_aclr
POLE ACLR0 ACLR1
Mis on sünkroonse tühjendussisendi allikas?
gui_register_s igna_sclr
PUUDUB SCLR0 SCLR1
Mis on
gui_represent
esitusvorming ation_b
kordajate B sisendite jaoks?
ALLKIRJAGA, ALLKIRJATA, MUUTUV
Registreeri `signb' sisend
gui_register_s Sees
ignb
Väljas
Vaikeväärtus PUUDUB
MITTE ÜKSKI
Kirjeldus
Määrab addnsub3 registri asünkroonse selge allika. Selle parameetri lubamiseks peate valima sisendi registreerimine 'addnsub3'.
Määrab addnsub3 registri sünkroonse puhastusallika. Selle parameetri lubamiseks peate valima Registreeri 'addnsub3' sisend.
Väljas
Valige see suvand funktsiooni tagasipööramiseks
addnsub sisendpordist.
Lahutamise toimingu jaoks viige addnsub kõrgele.
Lisamise toimimiseks juhtige addnsub madalale tasemele.
Vaikeväärtus
Kirjeldus
UNINGNED Määrake kordistaja A sisendi esitusvorming.
Väljas
Signa lubamiseks valige see suvand
registreerima.
Peate valima väärtuse VARIABLE suvandi Mis on kordajate A sisendite esitusvorming? selle valiku lubamiseks.
Kell0
Signaaliregistri sisendkellasignaali lubamiseks ja määramiseks valige Kell0 , Kell1 või Kell2.
Selle parameetri lubamiseks peate valima Registreeri `signa' sisend.
MITTE ÜKSKI
Määrab signaaliregistri asünkroonse selge allika.
Selle parameetri lubamiseks peate valima Registreeri `signa' sisend.
MITTE ÜKSKI
Määrab signaaliregistri sünkroonse puhastusallika.
Selle parameetri lubamiseks peate valima Registreeri `signa' sisend.
UNSINGNED Määrake kordaja B sisendi esitusvorming.
Väljas
Valige see suvand märgib lubamiseks
registreerima.
jätkus…
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 49
8. Inteli FPGA mitmekordne liitja IP Core 683490 | 2020.10.05
Parameeter
IP genereeritud parameeter
Väärtus
Vaikeväärtus
Mis on kella sisendi allikas?
gui_register_s ignb_clock
Kell0 Kell1 Kell2
Kell0
Mis on asünkroonse tühjendussisendi allikas?
gui_register_s ignb_aclr
POLE ACLR0 ACLR1
Mis on sünkroonse tühjendussisendi allikas?
gui_register_s ignb_sclr
PUUDUB SCLR0 SCLR1
Sisendkonfiguratsioon
Registreerige kordaja sisend A
Mis on kella sisendi allikas?
gui_input_reg Sees
ister_a
Väljas
gui_input_reg ister_a_clock
Kell0 Kell1 Kell2
Puudub
Väljas kella 0
Mis on asünkroonse tühjendussisendi allikas?
gui_input_reg ister_a_aclr
POLE ACLR0 ACLR1
Mis on sünkroonse tühjendussisendi allikas?
gui_input_reg ister_a_sclr
PUUDUB SCLR0 SCLR1
Registreerige kordaja sisend B
Mis on kella sisendi allikas?
gui_input_reg Sees
ister_b
Väljas
gui_input_reg ister_b_clock
Kell0 Kell1 Kell2
PUUDUB PUUDUB Väljas Kell0
Mis on asünkroonse tühjendussisendi allikas?
gui_input_reg ister_b_aclr
POLE ACLR0 ACLR1
MITTE ÜKSKI
Mis on sünkroonse tühjendussisendi allikas?
gui_input_reg ister_b_sclr
PUUDUB SCLR0 SCLR1
MITTE ÜKSKI
Millega on ühendatud kordaja sisend A?
gui_multiplier Kordaja sisend Kordaja
_a_sisend
Skanni keti sisend
Kirjeldus
Peate valima väärtuse VARIABLE suvandi Mis on kordajate B sisendite esitusvorming? selle valiku lubamiseks.
Signb-registri sisendkellasignaali lubamiseks ja määramiseks valige Kell0 , Kell1 või Kell2. Selle parameetri lubamiseks peate valima Registreeri `signb' sisend.
Määrab signb-registri asünkroonse selge allika. Selle parameetri lubamiseks peate valima Registreeri `signb' sisend.
Määrab signb-registri sünkroonse puhastusallika. Selle parameetri lubamiseks peate valima Registreeri `signb' sisend.
Valige see suvand, et lubada andmesisendsiinile sisendregister.
Valige Andmesisendi siini jaoks registrisisendkellasignaali lubamiseks ja määramiseks Kell0 , Kell1 või Kell2. Selle parameetri lubamiseks peate valima kordaja sisendi Registreeri A.
Määrab registri asünkroonse puhastusallika andmesisendi siini jaoks. Selle parameetri lubamiseks peate valima kordaja sisendi Registreeri A.
Määrab andmesisendi siini registri sünkroonse puhastusallika. Selle parameetri lubamiseks peate valima kordaja sisendi Registreeri A.
Valige see suvand, et lubada andmebaasi sisendsiinile sisendregister.
Valige andmebaasi sisendsiinile registrisisend kellasignaali lubamiseks ja määramiseks Kell0 , Kell1 või Kell2. Selle parameetri lubamiseks peate valima kordaja sisendi Registreeri B.
Määrab registri asünkroonse puhastusallika andmebaasi sisendsiinile. Selle parameetri lubamiseks peate valima kordaja sisendi Registreeri B.
Määrab andmebaasi sisendsiini registri sünkroonse puhastusallika. Selle parameetri lubamiseks peate valima kordaja sisendi Registreeri B.
Valige kordaja sisendi A sisendallikas.
jätkus…
Intel FPGA Integer Aritmetic IP Cores User Guide 50
Saada tagasisidet
8. Inteli FPGA mitmekordne liitja IP Core 683490 | 2020.10.05
Parameeter
IP genereeritud parameeter
Väärtus
Scanout A Registri konfiguratsioon
Registreeri skaneerimisahela väljund
gui_scanouta Sees
_register
Väljas
Mis on kella sisendi allikas?
gui_scanouta _register_cloc k
Kell0 Kell1 Kell2
Mis on asünkroonse tühjendussisendi allikas?
gui_scanouta _register_aclr
POLE ACLR0 ACLR1
Mis on sünkroonse tühjendussisendi allikas?
gui_scanouta _register_sclr
PUUDUB SCLR0 SCLR1
8.6.4. Preadder Tab
Tabel 33. Preadder Tab
Parameeter
IP genereeritud parameeter
Väärtus
Valige eellaadija režiim
preadder_mo de
LIHTNE, COEF, SISEND, RUUT, KONSTANT
Vaikeväärtus
Kirjeldus
Valige kordistaja sisend, et kasutada andmesisendi siini kordaja allikana. Valige Skannimise ahela sisend, et kasutada skannimissisendi siini kordaja allikana ja lubada skannimise väljundsiin. See parameeter on saadaval, kui valite suvandi Mis on kordajate arv jaoks 2, 3 või 4? parameeter.
Väljas Kell0 PUUDUB PUUDUB
Valige see suvand, et lubada Scanouta väljundsiinile väljundregister.
Peate valima Skanni ahelsisendi jaoks Millega on kordistaja sisend A ühendatud? selle valiku lubamiseks.
Valige Skannimise väljundsiini lubamiseks ja määramiseks registrisse kantud kellasignaal Kell0 , Kell1 või Kell2.
Selle valiku lubamiseks peate sisse lülitama skannimisahela parameetri Registreeri väljundi.
Määrab skannimisväljundi siini asünkroonse puhastusallika registri.
Selle valiku lubamiseks peate sisse lülitama skannimisahela parameetri Registreeri väljundi.
Määrab scanouta väljundsiini registri sünkroonse puhastusallika.
Selle suvandi lubamiseks peate valima kontrollimise ahela parameetri Registreeri väljund.
Vaikeväärtus
LIHTNE
Kirjeldus
Määrab eelmooduli töörežiimi. LIHTNE: see režiim möödub preaderist. See on vaikerežiim. COEF: see režiim kasutab kordistaja sisenditena preadderi ja koefitsiendi sisendsiini väljundit. SISEND: see režiim kasutab kordistaja sisenditena eelliitja väljundit ja andmesisendi siini. RUUT: see režiim kasutab eelliitja väljundit nii kordisti sisenditena.
jätkus…
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 51
8. Inteli FPGA mitmekordne liitja IP Core 683490 | 2020.10.05
Parameeter
IP genereeritud parameeter
Väärtus
Valige eelliidese suund
gui_preadder ADD,
_suund
SUB
Kui laiad peaksid olema C width_c sisendsiinid?
1-256
Andmete C sisendregistri konfiguratsioon
Registreerige andmesisend
gui_datac_inp Sees
ut_register
Väljas
Mis on kella sisendi allikas?
gui_datac_inp ut_register_cl ock
Kell0 Kell1 Kell2
Mis on asünkroonse tühjendussisendi allikas?
gui_datac_inp ut_register_a clr
POLE ACLR0 ACLR1
Mis on sünkroonse tühjendussisendi allikas?
gui_datac_inp ut_register_sc lr
PUUDUB SCLR0 SCLR1
Koefitsiendid
Kui lai peaks olema koefitsiendi laius?
laiuse_koef
1-27
Koefitsiendi registri konfiguratsioon
Registreerige koefitsiendi sisend
gui_coef_regi Sees
ster
Väljas
Mis on kella sisendi allikas?
gui_coef_regi ster_clock
Kell0 Kell1 Kell2
Vaikeväärtus
LISA
16
Kirjeldus
CONSTANT: See režiim kasutab kordisti sisenditena andmesisendi siini koos eelliidese möödaviiguga ja koefitsiendi sisendsiiniga.
Määrab preaderi töö. Selle parameetri lubamiseks valige valiku Preadder mode jaoks järgmine valik: · COEF · INPUT · SQUARE või · CONSTANT
Määrab C-sisendi siini bittide arvu. Selle parameetri lubamiseks peate valima valikuks Select preadder mode INPUT.
Kellal0 MITTE ÜHTEGI PUUDUB
Valige see suvand, et lubada andmeside sisendsiinile sisendregister. Selle suvandi lubamiseks peate määrama SISEND parameetriks Select preadder mode.
Andmesisendi registri sisend kellasignaali määramiseks valige Kell0 , Kell1 või Kell2. Selle parameetri lubamiseks peate valima Registreeri andmeside sisend.
Määrab andmesisendi registri asünkroonse puhastusallika. Selle parameetri lubamiseks peate valima Registreeri andmeside sisend.
Määrab andmesisendi registri sünkroonse puhastusallika. Selle parameetri lubamiseks peate valima Registreeri andmeside sisend.
18
Määrab bittide arvu
coefsel sisendsiin.
Selle parameetri lubamiseks peate valima eelliidese režiimi jaoks COEF või CONSTANT.
Kell 0
Valige see suvand, et lubada koefseli sisendsiinile sisendregister. Selle parameetri lubamiseks peate valima eelliidese režiimi jaoks COEF või CONSTANT.
Valige Clock0 , Clock1 või Clock2, et määrata koefseli sisendregistri sisend kellasignaal. Selle parameetri lubamiseks peate valima Registreeri koefitsiendi sisend.
jätkus…
Intel FPGA Integer Aritmetic IP Cores User Guide 52
Saada tagasisidet
8. Inteli FPGA mitmekordne liitja IP Core 683490 | 2020.10.05
Parameeter
Mis on asünkroonse tühjendussisendi allikas?
IP genereeritud parameeter
Väärtus
gui_coef_regi ster_aclr
POLE ACLR0 ACLR1
Mis on sünkroonse selge sisendi allikas
gui_coef_regi ster_sclr
PUUDUB SCLR0 SCLR1
Koefitsient_0 Konfiguratsioon
koefitsient0_0 kuni koefitsient0_7
0x00000 0xFFFFFF
Koefitsient_1 Konfiguratsioon
koefitsient1_0 kuni koefitsient1_7
0x00000 0xFFFFFF
Koefitsient_2 Konfiguratsioon
koefitsient2_0 kuni koefitsient2_7
0x00000 0xFFFFFF
Koefitsient_3 Konfiguratsioon
koefitsient3_0 kuni koefitsient3_7
0x00000 0xFFFFFF
8.6.5. Aku vahekaart
Tabel 34. Aku vahekaart
Parameeter
IP genereeritud parameeter
Väärtus
Kas lubada aku?
akumulaator
JAH EI
Mis on akumulaatori töö tüüp?
accum_directi ADD,
on
SUB
Vaikeväärtus PUUDUB
MITTE ÜKSKI
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0
Kirjeldus
Määrab koefseli sisendregistri asünkroonse selge allika. Selle parameetri lubamiseks peate valima Registreeri koefitsiendi sisend.
Määrab koefseli sisendregistri sünkroonse puhastusallika. Selle parameetri lubamiseks peate valima Registreeri koefitsiendi sisend.
Määrab selle esimese kordaja koefitsiendi väärtused. Bittide arv peab vastama jaotises Kui lai peaks olema koefitsiendi laius? parameeter. Selle parameetri lubamiseks peate valima eelliidese režiimi jaoks COEF või CONSTANT.
Määrab selle teise kordaja koefitsiendi väärtused. Bittide arv peab vastama jaotises Kui lai peaks olema koefitsiendi laius? parameeter. Selle parameetri lubamiseks peate valima eelliidese režiimi jaoks COEF või CONSTANT.
Määrab selle kolmanda kordaja koefitsiendi väärtused. Bittide arv peab vastama jaotises Kui lai peaks olema koefitsiendi laius? parameeter. Selle parameetri lubamiseks peate valima eelliidese režiimi jaoks COEF või CONSTANT.
Määrab selle neljanda kordaja koefitsiendi väärtused. Bittide arv peab vastama jaotises Kui lai peaks olema koefitsiendi laius? parameeter. Selle parameetri lubamiseks peate valima eelliidese režiimi jaoks COEF või CONSTANT.
Vaikeväärtus NO
LISA
Kirjeldus
Aku lubamiseks valige JAH. Aku funktsiooni kasutamisel peate valima lisaseadme väljundi registreerimine.
Määrab akumulaatori töö: · ADD liitmise operatsiooni jaoks · SUB lahutamise operatsiooni jaoks. Peate valima JAH valiku Kas lubada aku? selle valiku lubamiseks.
jätkus…
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 53
8. Inteli FPGA mitmekordne liitja IP Core 683490 | 2020.10.05
Parameeter
Eellaadimiskonstant Luba eellaadimiskonstant
IP genereeritud parameeter
Väärtus
gui_ena_prelo Sees
ad_const
Väljas
Millega on ühendatud akumulatsioonipordi sisend?
gui_accumula ACCUM_SLOAD, te_port_select SLOAD_ACCUM
Valige eellaadimise loadconst_val väärtus 0–64
konstantne
ue
Mis on kella sisendi allikas?
gui_accum_sl oad_register_ kell
Kell0 Kell1 Kell2
Mis on asünkroonse tühjendussisendi allikas?
gui_accum_sl oad_register_ aclr
POLE ACLR0 ACLR1
Mis on sünkroonse tühjendussisendi allikas?
gui_accum_sl oad_register_ slr
PUUDUB SCLR0 SCLR1
Luba topeltaku
gui_double_a Sees
ccum
Väljas
Vaikeväärtus
Kirjeldus
Väljas
Lubage accum_sload või
sload_accum signaalid ja registrisisend
sisendi dünaamiliseks valimiseks
akumulaator.
Kui accum_sload on madal või sload_accum, suunatakse kordaja väljund akumulaatorisse.
Kui accum_sload on kõrge või sload_accum, sisestatakse akumulaatorisse kasutaja määratud eellaadimiskonstant.
Peate valima JAH valiku Kas lubada aku? selle valiku lubamiseks.
ACCUM_SL OAD
Määrab accum_sload/ sload_acum signaali käitumise.
ACCUM_SLOAD: kordaja väljundi laadimiseks akumulaatorisse lülitage accum_sload madalaks.
SLOAD_ACCUM: kordaja väljundi akumulaatorisse laadimiseks juhtige sload_accum kõrgele.
Selle parameetri lubamiseks peate valima suvandi Luba eellaadimiskonstant.
64
Määrake eelseadistatud konstantse väärtus.
See väärtus võib olla 2N, kus N on eelseadistatud konstantne väärtus.
Kui N = 64, on see konstantne null.
Selle parameetri lubamiseks peate valima suvandi Luba eellaadimiskonstant.
Kell0
Registrile accum_sload/sload_acum sisestatud kellasignaali määramiseks valige Kell0 , Kell1 või Kell2.
Selle parameetri lubamiseks peate valima suvandi Luba eellaadimiskonstant.
MITTE ÜKSKI
Määrab registri accum_sload/sload_accum asünkroonse puhasallika.
Selle parameetri lubamiseks peate valima suvandi Luba eellaadimiskonstant.
MITTE ÜKSKI
Määrab registri accum_sload/sload_acum sünkroonse tühjendusallika.
Selle parameetri lubamiseks peate valima suvandi Luba eellaadimiskonstant.
Väljas
Lubab kahe akumulaatori registri.
Intel FPGA Integer Aritmetic IP Cores User Guide 54
Saada tagasisidet
8. Inteli FPGA mitmekordne liitja IP Core 683490 | 2020.10.05
8.6.6. Süstoolne/ahela vahekaart
Tabel 35. Süstoolse/ahela liitja Tab
Parameeter Luba aheldamise liitja
IP genereeritud parameeter
Väärtus
chainout_add JAH,
er
EI
Mis on aheldamise liitja toimingu tüüp?
chainout_add ADD,
er_direction
SUB
Kas lubada aheldamise lisaja "eitamise" sisend?
Port_negate
PORT_USED, PORT_UNUSED
Kas registreerida sisend "eitada"? eita_register er
REGISTREERITA, CLOCK0, CLOCK1, CLOCK2, CLOCK3
Mis on asünkroonse tühjendussisendi allikas?
negate_aclr
POLE ACLR0 ACLR1
Mis on sünkroonse tühjendussisendi allikas?
negate_sclr
PUUDUB SCLR0 SCLR1
Süstoolne viivitus
Lubage süstoolse viivituse registrid
gui_systolic_d Sees
Elay
Väljas
Mis on kella sisendi allikas?
gui_systolic_d CLOCK0,
elay_clock
CLOCK1,
Vaikeväärtus
EI
Kirjeldus
Aheldamise lisamooduli lubamiseks valige JAH.
LISA
Määrab aheldamise liitja toimingu.
Lahutamise jaoks tuleb valida SIGNED väärtuseks Mis on kordajate A sisendite esitusvorming? ja Mis on kordajate B sisendite esitusvorming? vahekaardil Kordajad.
PORT_UN KASUTATUD
Sisendsignaali eitamise lubamiseks valige PORT_USED.
See parameeter on kehtetu, kui aheldamise lisaja on keelatud.
UNREGIST ERED
Sisendregistri lubamiseks eitava sisendsignaali jaoks ja määrab eitusregistri sisend kellasignaali.
Valige REGISTREERITUD, kui eitava sisendi registrit pole vaja
See parameeter on kehtetu, kui valite:
· NO jaoks Luba aheldamise lisaja või
· PORT_UNUSED: Kas lubada aheldamise lisaja "eitamise" sisend? parameeter või
MITTE ÜKSKI
Määrab eitusregistri asünkroonse selge allika.
See parameeter on kehtetu, kui valite:
· NO jaoks Luba aheldamise lisaja või
· PORT_UNUSED: Kas lubada aheldamise lisaja "eitamise" sisend? parameeter või
MITTE ÜKSKI
Määrab eitusregistri sünkroonse puhastusallika.
See parameeter on kehtetu, kui valite:
· NO jaoks Luba aheldamise lisaja või
· PORT_UNUSED: Kas lubada aheldamise lisaja "eitamise" sisend? parameeter või
Väljas CLOCK0
Valige see suvand süstoolse režiimi lubamiseks. See parameeter on saadaval, kui valite suvandi Mis on kordajate arv jaoks 2 või 4? parameeter. Süstoolse viivituse registrite kasutamiseks peate lubama liiteseadme registri väljundi.
Määrab süstoolse viivituse registri sisendsignaali.
jätkus…
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 55
8. Inteli FPGA mitmekordne liitja IP Core 683490 | 2020.10.05
Parameeter
IP genereeritud parameeter
Väärtus
CLOCK2,
Mis on asünkroonse tühjendussisendi allikas?
gui_systolic_d elay_aclr
POLE ACLR0 ACLR1
Mis on sünkroonse tühjendussisendi allikas?
gui_systolic_d elay_sclr
PUUDUB SCLR0 SCLR1
Vaikeväärtus
MITTE ÜKSKI
MITTE ÜKSKI
Kirjeldus
Selle suvandi lubamiseks peate valima Luba süstoolse viivituse registrid.
Määrab süstoolse viivituse registri asünkroonse puhastusallika. Selle suvandi lubamiseks peate valima Luba süstoolse viivituse registrid.
Määrab süstoolse viivituse registri sünkroonse puhastusallika. Selle suvandi lubamiseks peate valima Luba süstoolse viivituse registrid.
8.6.7. Torude ühendamise vahekaart
Tabel 36. Vahekaart Torustik
Parameeter Pipelining Configuration
IP genereeritud parameeter
Väärtus
Kas soovite lisada sisendisse torujuhtmete registri?
gui_pipelining Ei, jah
Vaikeväärtus
Ei
Palun täpsustage
latentsus
latentsuskella arv
tsüklid
Iga väärtus, mis on suurem kui 0
Mis on kella sisendi allikas?
gui_input_late ncy_clock
CLOCK0, CLOCK1, CLOCK2
Mis on asünkroonse tühjendussisendi allikas?
gui_input_late ncy_aclr
POLE ACLR0 ACLR1
Mis on sünkroonse tühjendussisendi allikas?
gui_input_late ncy_sclr
PUUDUB SCLR0 SCLR1
CLOCK0 MITTE MITTE MITTE
Kirjeldus
Valige Jah, et lubada sisendsignaalide jaoks täiendav konveierregistri tase. Peate määrama väärtuse, mis on suurem kui 0, parameetrile Palun määrake latentsuskella tsüklite arv.
Määrab soovitud latentsuse kella tsüklites. Üks konveieriregistri tase = 1 latentsus kellatsüklis. Peate valima JAH valiku Kas soovite lisada sisendisse torujuhtmeregistri? selle valiku lubamiseks.
Valige konveieriregistri sisend kellasignaali lubamiseks ja määramiseks Kell0 , Kell1 või Kell2. Peate valima JAH valiku Kas soovite lisada sisendisse torujuhtmeregistri? selle valiku lubamiseks.
Määrab täiendava konveieriregistri jaoks asünkroonse registri puhasallika. Peate valima JAH valiku Kas soovite lisada sisendisse torujuhtmeregistri? selle valiku lubamiseks.
Määrab täiendava konveieriregistri registri sünkroonse puhastusallika. Peate valima JAH valiku Kas soovite lisada sisendisse torujuhtmeregistri? selle valiku lubamiseks.
Intel FPGA Integer Aritmetic IP Cores User Guide 56
Saada tagasisidet
683490 | 2020.10.05 Saada tagasisidet
9. ALTMEMMULT (mälupõhine konstantse koefitsiendi kordaja) IP-tuum
Tähelepanu:
Intel eemaldas selle IP-aadressi toe Intel Quartus Prime Pro Editioni versioonis 20.3. Kui teie disaini IP-tuum on suunatud Intel Quartus Prime Pro Editioni seadmetele, saate IP asendada LPM_MULT Inteli FPGA IP-ga või genereerida IP uuesti ja koostada oma kujundus, kasutades tarkvara Intel Quartus Prime Standard Edition.
ALTMEMMULT IP-tuuma kasutatakse mälupõhiste kordajate loomiseks, kasutades Inteli FPGA-des leiduvaid kiipmäluplokke (koos M512, M4K, M9K ja MLAB mäluplokkidega). See IP-tuum on kasulik, kui teil pole piisavalt ressursse, et rakendada kordajaid loogikaelementides (LE) või spetsiaalseid kordaja ressursse.
ALTMEMMULT IP-tuum on sünkroonfunktsioon, mis nõuab kella. ALTMEMMULT IP-tuum rakendab antud parameetrite ja spetsifikatsioonide jaoks väikseima läbilaskevõime ja latentsusega kordajat.
Järgmisel joonisel on näidatud ALTMEMMULT IP-tuuma pordid.
Joonis 21. ALTMEMMULT pordid
ALTMEMMULT
data_in[] sload_data coeff_in[]
result[] result_valid load_done
sload_coeff
sclr kell
inst
Seotud teabe funktsioonid lk 71
9.1. Omadused
ALTMEMMULT IP-tuum pakub järgmisi funktsioone: · Loob ainult mälupõhiseid kordistajaid, kasutades kiibil leiduvaid mäluplokke.
Inteli FPGA-d · Toetab andmelaiust 1 bitti · Toetab allkirjastatud ja allkirjastamata andmeesitusvormingut · Toetab fikseeritud väljundlatentsusega konveierit
Intel Corporation. Kõik õigused kaitstud. Intel, Inteli logo ja muud Inteli kaubamärgid on Intel Corporationi või selle tütarettevõtete kaubamärgid. Intel garanteerib oma FPGA ja pooljuhttoodete toimimise praeguste spetsifikatsioonide kohaselt vastavalt Inteli standardgarantiile, kuid jätab endale õiguse teha mis tahes tooteid ja teenuseid igal ajal ilma ette teatamata. Intel ei võta endale mingit vastutust ega kohustusi, mis tulenevad siin kirjeldatud teabe, toote või teenuse rakendusest või kasutamisest, välja arvatud juhul, kui Intel on sellega sõnaselgelt kirjalikult nõustunud. Inteli klientidel soovitatakse hankida seadme spetsifikatsioonide uusim versioon enne avaldatud teabele tuginemist ja enne toodete või teenuste tellimuste esitamist. *Teisi nimesid ja kaubamärke võidakse pidada teiste omandiks.
ISO 9001:2015 registreeritud
9. ALTMEMMULT (mälupõhine konstantse koefitsiendi kordaja) IP Core 683490 | 2020.10.05
· Salvestab mitmekordsed konstandid muutmällu (RAM)
· Annab võimaluse valida RAM-i ploki tüüp
· Toetab valikulisi sünkroonseid puhastus- ja koormuskontrolli sisendporte
9.2. Verilog HDL prototüüp
Järgmine Verilog HDL prototüüp asub Verilog Designis File (.v) altera_mf.v eda sünteesi kataloog.
module altmemmult #(parameeter coeff_representation = "ALLKIRJATUD", parameetri koefitsient0 = "KASUTAMATA", parameeter data_representation = "SIGNED", parameeter ettenähtud_device_family = "unused", parameeter max_clock_cycles_per_result = 1, parameeter number_of_functions = 1, parameeter = AUTOlock_type = "AUTOlock" total_latency = 1, parameeter laius_c = 1, parameeter laius_d = 1, parameeter laius_r = 1, parameeter width_s = 1, parameeter lpm_type = "altmemmult", parameeter lpm_hint = "unused" (sisendjuhtme kell, sisendtraat [width_c-1: 0]koefitsient_sisene, sisendjuhe [laius_d-1:0] andmesises, väljundjuhtme koormus_tehtud, väljundjuhe [laius_r-1:0] tulemus, väljundjuhtme tulemus_kehtiv, sisendjuhtme sclr, sisendjuhe [laius_s-1:0] sel, sisend traat sload_coeff, sisendtraat sload_data)/* süntees syn_black_box=1 */; lõppmoodul
9.3. VHDL-i komponendi deklaratsioon
VHDL-i komponendi deklaratsioon asub VHDL-i kujunduses File (.vhd) altera_mf_components.vhd librariesvhdlaltera_mf kataloog.
komponent altmemmult geneeriline ( coeff_representation:string := “ALLKIRJATUD”; koefitsient0:string := “KASUTAMATA”; data_representation:string := “ALLKIRJATUD”; ettenähtud_seade_perekond:string := “unused”; max_clock_cycles_ural_ar := 1; ram_block_type:string := "AUTO"; kogu_latentsus: loomulik; laius_c: loomulik; laius_d: loomulik; laius_r: loomulik; laius_s: loomulik := 1; lpm_hint:string := "KASUTAMATA"; lpm_tüüp:string := "altmemmult"); port( clock:in std_logic; coeff_in:in std_logic_vector(width_c-1 downto 1) := (others => '0'); data_in:in std_logic_vector(width_d-0 downto 1);
Intel FPGA Integer Aritmetic IP Cores User Guide 58
Saada tagasisidet
9. ALTMEMMULT (mälupõhine konstantse koefitsiendi kordaja) IP Core 683490 | 2020.10.05
load_done:out std_logic; result:out std_logic_vector(width_r-1 downto 0); result_valid:out std_logic; slr:in std_logic := '0'; sel:in std_loogika_vector(width_s-1 downto 0) := (teised => '0'); sload_coeff:in std_logic := '0'; sload_data:in std_logic := '0'); lõppkomponent;
9.4. Sadamad
Järgmistes tabelites on loetletud ALTMEMMULT IP-tuuma sisend- ja väljundpordid.
Tabel 37. ALTMEMMULT sisendpordid
Pordi nimi
Nõutav
Kirjeldus
kella
Jah
Kella sisend kordajasse.
koefitsient[]
Ei
Kordaja koefitsiendi sisendport. Sisendpordi suurus sõltub parameetri WIDTH_C väärtusest.
andmed_in[]
Jah
Andmesisestusport kordajasse. Sisendpordi suurus sõltub parameetri WIDTH_D väärtusest.
sclr
Ei
Sünkroonne tühjendussisend. Kui seda ei kasutata, on vaikeväärtus aktiivne kõrge.
sel[]
Ei
Fikseeritud koefitsiendi valik. Sisendpordi suurus sõltub laiusest WIDTH_S
parameetri väärtus.
sload_coeff
Ei
Sünkroonse koormusteguri sisendport. Asendab praeguse valitud koefitsiendi väärtuse sisendis coeff_in määratud väärtusega.
sload_data
Ei
Sünkroonse laadimise andmete sisendport. Signaal, mis määrab uue korrutamistoimingu ja tühistab kõik olemasolevad korrutamistoimingud. Kui parameetri MAX_CLOCK_CYCLES_PER_RESULT väärtus on 1, ignoreeritakse sload_data sisendporti.
Tabel 38. ALTMEMMULT väljundpordid
Pordi nimi
Nõutav
Kirjeldus
tulemus[]
Jah
Kordaja väljundport. Sisendpordi suurus sõltub parameetri WIDTH_R väärtusest.
tulemus_kehtiv
Jah
Näitab, kui väljund on täieliku korrutamise kehtiv tulemus. Kui parameetri MAX_CLOCK_CYCLES_PER_RESULT väärtus on 1, siis result_valid väljundporti ei kasutata.
load_done
Ei
Näitab, kui uue koefitsiendi laadimine on lõppenud. Signaal load_done kinnitab, kui uus koefitsient on laadimise lõpetanud. Kui signaal load_done pole kõrge, ei saa mällu laadida ühtegi muud koefitsiendi väärtust.
9.5. Parameetrid
Järgmises tabelis on loetletud ALTMEMMULT IP-tuuma parameetrid.
Tabel 39.
WIDTH_D WIDTH_C
ALTMEMMULT parameetrid
Parameetri nimi
Tüüp Nõutav
Kirjeldus
Täisarv Jah
Määrab pordi data_in[] laiuse.
Täisarv Jah
Määrab pordi coeff_in[] laiuse. jätkus…
Saada tagasisidet
Intel FPGA Integer Aritmetic IP Cores User Guide 59
9. ALTMEMMULT (mälupõhine konstantse koefitsiendi kordaja) IP Core 683490 | 2020.10.05
Parameetri nimi WIDTH_R WIDTH
Dokumendid / Ressursid
![]() |
Intel FPGA Integer Aritmetic IP tuumad [pdfKasutusjuhend FPGA täisarvulised aritmeetilised IP südamikud, täisarvulised aritmeetilised IP tuumad, aritmeetilised IP tuumad, IP tuumad |