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

Viited

Jäta kommentaar

Teie e-posti aadressi ei avaldata. Kohustuslikud väljad on märgitud *