FPGA Celoštevilska aritmetična IP jedra
Uporabniški priročnik za Intel FPGA Integer Aritmetic IP Cores
Posodobljeno za Intel® Quartus® Prime Design Suite: 20.3
Spletna različica Pošlji povratne informacije
UG-01063
ID: 683490 Različica: 2020.10.05
Vsebina
Vsebina
1. Celoštevilska aritmetična IP jedra Intel FPGA………………………………………………………………….. 5
2. LPM_COUNTER (Števec) IP Core………………………………………………………………………….. 7 2.1. Lastnosti…………………………………………………………………………………………………7 2.2. Prototip Verilog HDL……………………………………………………………………………….. 8 2.3. Deklaracija komponente VHDL……………………………………………………………………….8 2.4. Deklaracija VHDL LIBRARY_USE……………………………………………………………………… 9 2.5. Vrata……………………………………………………………………………………………………..9 2.6. Parametri……………………………………………………………………………………………… 10
3. LPM_DIVIDE (delilnik) Intel FPGA IP Core……………………………………………………….. 12 3.1. Lastnosti………………………………………………………………………………………………. 12 3.2. Prototip Verilog HDL……………………………………………………………………………… 12 3.3. Deklaracija komponente VHDL……………………………………………………………………….. 13 3.4. Izjava VHDL LIBRARY_USE……………………………………………………………………. 13 3.5. Pristanišča…………………………………………………………………………………………………… 13 3.6. Parametri…………………………………………………………………………………………… 14
4. LPM_MULT (množilnik) jedro IP……………………………………………………………………………. 16 4.1. Lastnosti………………………………………………………………………………………………. 16 4.2. Prototip Verilog HDL……………………………………………………………………………… 17 4.3. Deklaracija komponente VHDL……………………………………………………………………….. 17 4.4. Izjava VHDL LIBRARY_USE……………………………………………………………………. 17 4.5. Signali………………………………………………………………………………………………… 18 4.6. Parametri za naprave Stratix V, Arria V, Cyclone V in Intel Cyclone 10 LP…………… 18 4.6.1. Zavihek Splošno…………………………………………………………………………………18 4.6.2. Zavihek Splošno 2……………………………………………………………………………… 19 4.6.3. Zavihek Cevovod………………………………………………………………………………… 19 4.7. Parametri za naprave Intel Stratix 10, Intel Arria 10 in Intel Cyclone 10 GX……….. 20 4.7.1. Zavihek Splošno…………………………………………………………………………………20 4.7.2. Zavihek Splošno 2……………………………………………………………………………… 20 4.7.3. Cevovod………………………………………………………………………………………21
5. LPM_ADD_SUB (Seštevalnik/Odštevalnik)……………………………………………………………………… 22 5.1. Lastnosti………………………………………………………………………………………………. 22 5.2. Prototip Verilog HDL………………………………………………………………………………… 23 5.3. Deklaracija komponente VHDL……………………………………………………………………….. 23 5.4. Izjava VHDL LIBRARY_USE……………………………………………………………………. 23 5.5. Pristanišča…………………………………………………………………………………………………… 23 5.6. Parametri…………………………………………………………………………………………… 24
6. LPM_COMPARE (Primerjalnik)……………………………………………………………………………… 26 6.1. Lastnosti………………………………………………………………………………………………. 26 6.2. Prototip Verilog HDL……………………………………………………………………………… 27 6.3. Deklaracija komponente VHDL……………………………………………………………………….. 27 6.4. Izjava VHDL LIBRARY_USE……………………………………………………………………. 27 6.5. Pristanišča…………………………………………………………………………………………………… 27 6.6. Parametri…………………………………………………………………………………………… 28
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 2
Pošlji povratne informacije
Vsebina
7. ALTECC (koda za odpravo napak: kodirnik/dekoder) jedro IP……………………………………… 30
7.1. Funkcije kodirnika ALTECC…………………………………………………………………………..31 7.2. Prototip Verilog HDL (ALTECC_ENCODER)………………………………………………………. 32 7.3. Prototip Verilog HDL (ALTECC_DECODER)………………………………………………………. 32 7.4. Deklaracija komponente VHDL (ALTECC_ENCODER)……………………………………………33 7.5. Deklaracija komponente VHDL (ALTECC_DECODER)……………………………………………33 7.6. Izjava VHDL LIBRARY_USE……………………………………………………………………. 33 7.7. Vrata kodirnika………………………………………………………………………………………… 33 7.8. Vrata dekoderja…………………………………………………………………………………………34 7.9. Parametri dajalnika………………………………………………………………………………… 34 7.10. Parametri dekoderja ………………………………………………………………………………… 35
8. Intel FPGA Multiply Adder IP Core………………………………………………………………………. 36
8.1. Lastnosti………………………………………………………………………………………………. 37 8.1.1. Predseštevalnik………………………………………………………………………………….. 38 8.1.2. Register sistolične zakasnitve…………………………………………………………………….. 40 8.1.3. Konstanta predobremenitve………………………………………………………………………… 43 8.1.4. Dvojni akumulator………………………………………………………………………… 43
8.2. Prototip Verilog HDL……………………………………………………………………………… 44 8.3. Deklaracija komponente VHDL……………………………………………………………………….. 44 8.4. Izjava VHDL LIBRARY_USE……………………………………………………………………. 44 8.5. Signali………………………………………………………………………………………………… 44 8.6. Parametri…………………………………………………………………………………………… 47
8.6.1. Zavihek Splošno…………………………………………………………………………………47 8.6.2. Zavihek Dodatni načini…………………………………………………………………………….. 47 8.6.3. Zavihek Množitelji…………………………………………………………………………….. 49 8.6.4. Zavihek Preadder……………………………………………………………………………………. 51 8.6.5. Zavihek Akumulator…………………………………………………………………………….. 53 8.6.6. Sistolični/verižni zavihek………………………………………………………………………. 55 8.6.7. Zavihek Cevovod………………………………………………………………………………… 56
9. ALTMEMMULT (pomnilniški konstantni množitelj koeficientov) IP Core…………………… 57
9.1. Lastnosti………………………………………………………………………………………………. 57 9.2. Prototip Verilog HDL……………………………………………………………………………… 58 9.3. Deklaracija komponente VHDL……………………………………………………………………….. 58 9.4. Pristanišča…………………………………………………………………………………………………… 59 9.5. Parametri…………………………………………………………………………………………… 59
10. ALTMULT_ACCUM (množenje-kopičenje) jedro IP………………………………………………… 61
10.1. Značilnosti………………………………………………………………………………………….. 62 10.2. Prototip Verilog HDL……………………………………………………………………………..62 10.3. Deklaracija komponente VHDL……………………………………………………………………… 63 10.4. Deklaracija VHDL LIBRARY_USE……………………………………………………………………63 10.5. Pristanišča………………………………………………………………………………………………………. 63 10.6. Parametri………………………………………………………………………………………………. 64
11. ALTMULT_ADD (Množilni seštevalnik) IP Core……………………………………………………………..69
11.1. Lastnosti…………………………………………………………………………………………….. 71 11.2. Prototip Verilog HDL……………………………………………………………………………..72 11.3. Deklaracija komponente VHDL……………………………………………………………………… 72 11.4. Deklaracija VHDL LIBRARY_USE……………………………………………………………………72
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 3
Vsebina
11.5. Pristanišča……………………………………………………………………………………………………. 72 11.6. Parametri………………………………………………………………………………………………. 73
12. ALTMULT_COMPLEX (kompleksni množitelj) jedro IP……………………………………………… 86 12.1. Kompleksno množenje………………………………………………………………………………. 86 12.2. Kanonična predstavitev………………………………………………………………………… 87 12.3. Konvencionalna predstavitev………………………………………………………………………. 87 12.4. Lastnosti…………………………………………………………………………………………….. 88 12.5. Prototip Verilog HDL…………………………………………………………………………..88 12.6. Deklaracija komponente VHDL……………………………………………………………………… 89 12.7. Deklaracija VHDL LIBRARY_USE…………………………………………………………………89 12.8. Signali…………………………………………………………………………………………………. 89 12.9. Parametri………………………………………………………………………………………………. 90
13. ALTSQRT (Integer Square Root) IP Core………………………………………………………………92 13.1. Značilnosti………………………………………………………………………………………….. 92 13.2. Prototip Verilog HDL……………………………………………………………………………..92 13.3. Deklaracija komponente VHDL……………………………………………………………………… 93 13.4. VHDL Library_use Declaracija ………………………………………………………………… 93 13.5. Pristanišča……………………………………………………………………………………………………. 93 13.6. Parametri………………………………………………………………………………………………. 94
14. PARALLEL_ADD (vzporedni seštevalnik) jedro IP………………………………………………………….. 95 14.1. Značilnost…………………………………………………………………………………………….95 14.2. Prototip Verilog HDL……………………………………………………………………………..95 14.3. Deklaracija komponente VHDL……………………………………………………………………… 96 14.4. Deklaracija VHDL LIBRARY_USE……………………………………………………………………96 14.5. Pristanišča………………………………………………………………………………………………………. 96 14.6. Parametri………………………………………………………………………………………………. 97
15. Arhivi dokumentov uporabniškega priročnika za celoštevilska aritmetična IP jedra…………………………………… 98
16. Zgodovina revizij dokumenta za Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik…. 99
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 4
Pošlji povratne informacije
683490 | 2020.10.05 Pošlji povratne informacije
1. Celoštevilska aritmetična IP jedra Intel FPGA
Celoštevilska jedra IP Intel® FPGA lahko uporabite za izvajanje matematičnih operacij v svojem dizajnu.
Te funkcije ponujajo učinkovitejšo logično sintezo in implementacijo naprave kot kodiranje lastnih funkcij. Jedra IP lahko prilagodite svojim zahtevam.
Jedra IP za celoštevilsko aritmetiko Intel so razdeljena v naslednji dve kategoriji: · Jedra IP knjižnice parametriziranih modulov (LPM) · Jedra IP, specifična za Intel (ALT).
Naslednja tabela navaja celoštevilska aritmetična jedra IP.
Tabela 1.
Seznam jeder IP
IP jedra
LPM IP jedra
LPM_COUNTER
LPM_DIVIDE
LPM_MULT
LPM_ADD_SUB
LPM_COMPARE
Intel-specifična (ALT) IP jedra ALTECC
Funkcija je končanaview Counter Divider Multiplikator
Seštevalec ali odštevalec Primerjalnik
ECC kodirnik/dekoder
Podprta naprava
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 nadaljevanje ...
Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.
ISO 9001:2015 Registriran
1. Celoštevilska aritmetična IP jedra Intel FPGA 683490 | 2020.10.05
IP Cores Intel FPGA Multiply Adder ali ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_DODAJ ALTMULT_KOMPLEKS
ALTSQRT
PARALLEL_ADD
Funkcija je končanaview Množitelj-seštevalnik
Množitelj konstantnega koeficienta na osnovi pomnilnika
Množitelj-Akumulator Množilec-Seštevalnik
Kompleksni množitelj
Kvadratni koren celega števila
Vzporedni seštevalnik
Podprta naprava
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
Povezane informacije
· Opombe ob izdaji Intel FPGA in programabilnih naprav
· Uvod v jedra IP Intel FPGA Ponuja več informacij o jedrih IP Intel FPGA.
· Uporabniški priročnik za jedra IP s plavajočo vejico Ponuja več informacij o jedrih IP s plavajočo vejico Intel FPGA.
· Uvod v jedra IP Intel FPGA Ponuja splošne informacije o vseh jedrih IP Intel FPGA, vključno s parametriranjem, generiranjem, nadgradnjo in simulacijo jeder IP.
· Ustvarjanje simulacijskih skriptov IP in Qsys, neodvisnih od različic. Ustvarite simulacijske skripte, ki ne zahtevajo ročnih posodobitev za nadgradnjo programske opreme ali različic IP.
· Smernice najboljših praks upravljanja projektov za učinkovito upravljanje in prenosljivost vašega projekta in IP files.
· Arhivi dokumentov uporabniškega priročnika za jedra Integer Aritmetic IP na strani 98 Ponuja seznam uporabniških priročnikov za prejšnje različice jeder IP Integer Aritmetic.
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 6
Pošlji povratne informacije
683490 | 2020.10.05 Pošlji povratne informacije
2. LPM_COUNTER (Števec) IP Core
Slika 1.
Jedro IP LPM_COUNTER je binarni števec, ki ustvarja števce navzgor, navzdol in števce navzgor ali navzdol z izhodi širine do 256 bitov.
Naslednja slika prikazuje vrata za jedro IP LPM_COUNTER.
LPM_COUNTER Vrata
LPM_COUNTER
ssclr sload sset data[]
q[]
gor, dol
cout
aclr naloži sredstvo
clk_en cnt_en cin
inst
2.1. Lastnosti
Jedro IP LPM_COUNTER ponuja naslednje funkcije: · Generira števce navzgor, navzdol in gor/dol · Generira naslednje vrste števcev:
— Navadna dvojiška vrednost – števec se povečuje od nič ali zmanjšuje od 255
— Modul – števec poveča ali zmanjša vrednost modula, ki jo določi uporabnik, in se ponovi
· Podpira izbirna sinhrona vhodna vrata za brisanje, nalaganje in nastavitev · Podpira izbirna asinhrona vhodna vrata za brisanje, nalaganje in nastavitev · Podpira izbirna vhodna vrata za omogočanje štetja in omogočanje ure · Podpira izbirna vrata za prenos in prenos
Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.
ISO 9001:2015 Registriran
2. LPM_COUNTER (Števec) IP Core
683490 | 2020.10.05
2.2. Prototip Verilog HDL
Naslednji prototip Verilog HDL se nahaja v Verilog Design File (.v) lpm.v v imenik edasinteze.
modul lpm_counter (q, podatki, ura, cin, cout, clk_en, cnt_en, updown, aset, aclr, aload, sset, sclr, sload, eq); parameter lpm_type = “lpm_counter”; parameter lpm_width = 1; parameter lpm_modulus = 0; parameter lpm_direction = “NEUPORABLJENO”; parameter lpm_avalue = “NEUPORABLJENO”; parameter lpm_svalue = “NEUPORABLJENO”; parameter lpm_pvalue = “NEUPORABLJENO”; parameter lpm_port_updown = “PORT_CONNECTIVITY”; parameter lpm_hint = “NEUPORABLJENO”; izhod [lpm_width-1:0] q; izhodni izhod; izhod [15:0] eq; vnos cin; vnos podatkov [lpm_width-1:0]; vhodna ura, clk_en, cnt_en, gor navzdol; vnos aset, aclr, aload; vnos sset, sclr, sload; končni modul
2.3. Deklaracija komponente VHDL
Deklaracija komponente VHDL se nahaja v VHDL Design File (.vhd) LPM_PACK.vhd v imenik librariesvhdllpm.
komponenta LPM_COUNTER generično ( LPM_WIDTH : naravno; LPM_MODULUS : naravno := 0; LPM_DIRECTION : niz := “NEUPORABLJENO”; LPM_AVALUE : niz := “NEUPORABLJENO”; LPM_SVALUE : niz := “NEUPORABLJENO”; LPM_PORT_UPDOWN : niz := “PORT_CONNECTIVITY” ; LPM_PVALUE : niz := “UNUSED”; LPM_TYPE : niz := L_COUNTER; LPM_HINT : niz := “UNUSED”); vrata (DATA: v std_logic_vector(LPM_WIDTH-1 navzdol do 0):= (DRUGI =>
'0'); URA: v std_logic; CLK_EN: v std_logic:= '1'; CNT_EN : v std_logic := '1'; GOR DOL : v std_logic := '1'; SLOAD: v std_logic:= '0'; SSET: v std_logic:= '0'; SCLR: v std_logic:= '0'; NALOŽI : v std_logic := '0'; ASET: v std_logic:= '0'; ACLR: v std_logic:= '0'; CIN : v std_logic := '1'; COUT : out std_logic := '0'; Q: ven std_logic_vector(LPM_WIDTH-1 navzdol do 0); EQ : out std_logic_vector(15 downto 0));
končna komponenta;
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 8
Pošlji povratne informacije
2. LPM_COUNTER (Števec) IP Core 683490 | 2020.10.05
2.4. Izjava VHDL LIBRARY_USE
Deklaracija VHDL LIBRARY-USE ni potrebna, če uporabljate deklaracijo komponente VHDL.
KNJIŽNICA lpm; UPORABA lpm.lpm_components.all;
2.5. Pristanišča
Naslednje tabele navajajo vhodna in izhodna vrata za jedro IP LPM_COUNTER.
Tabela 2.
LPM_COUNTER Vhodna vrata
Ime vrat
Obvezno
Opis
podatki[]
št
Vzporedni vnos podatkov v števec. Velikost vhodnih vrat je odvisna od vrednosti parametra LPM_WIDTH.
ura
ja
Vhod ure, sprožen s pozitivnim robom.
clk_en
št
Ura omogoči vnos, da omogoči vse sinhrone dejavnosti. Če je izpuščeno, je privzeta vrednost 1.
cnt_en
št
Štetje omogoči vnos, da onemogoči štetje, ko je nizko, ne da bi to vplivalo na sload, sset ali sclr. Če je izpuščeno, je privzeta vrednost 1.
gor, dol
št
Nadzoruje smer štetja. Ko je potrjeno visoko (1), je smer štetja navzgor, ko je potrjeno nizko (0), je smer štetja navzdol. Če je uporabljen parameter LPM_DIRECTION, vrat gor navzdol ni mogoče povezati. Če LPM_DIRECTION ni uporabljen, so vrata navzgor navzdol neobvezna. Če je izpuščeno, je privzeta vrednost up (1).
cin
št
Prenos v bit nizkega reda. Za števce navzgor je vedenje vhoda cin
identično obnašanju vnosa cnt_en. Če je izpuščeno, je privzeta vrednost 1
(VCC).
aclr
št
Asinhroni čisti vnos. Če sta uporabljena in uveljavljena tako aset kot aclr, aclr preglasi aset. Če je izpuščeno, je privzeta vrednost 0 (onemogočeno).
aset
št
Asinhroni nastavljeni vnos. Podaja izhode q[] kot vse 1 ali na vrednost, podano s parametrom LPM_AVALUE. Če sta uporabljena in uveljavljena vrata aset in aclr, vrednost vrat aclr preglasi vrednost vrat aset. Če je izpuščeno, je privzeta vrednost 0, onemogočeno.
aload
št
Asinhrono nalaganje vnosa, ki asinhrono naloži števec z vrednostjo na vhodu podatkov. Ko se uporabljajo vrata za nalaganje, morajo biti povezana vrata za podatke[]. Če je izpuščeno, je privzeta vrednost 0, onemogočeno.
sclr
št
Sinhroni čisti vhod, ki počisti števec na naslednjem aktivnem robu ure. Če sta uporabljena in uveljavljena tako vrata sset kot sclr, vrednost vrat sclr preglasi vrednost vrat sset. Če je izpuščeno, je privzeta vrednost 0, onemogočeno.
sset
št
Vhod sinhrone nastavitve, ki nastavi števec na naslednji aktivni rob ure. Podaja vrednost izhodov q kot vse 1 ali na vrednost, podano s parametrom LPM_SVALUE. Če sta uporabljena in uveljavljena vrata sset in sclr,
vrednost vrat sclr preglasi vrednost vrat sset. Če je izpuščeno, je privzeta vrednost 0 (onemogočeno).
sload
št
Sinhroni vnos obremenitve, ki naloži števec s podatki [] na naslednjem aktivnem robu ure. Ko se uporabljajo vrata sload, morajo biti povezana vrata data[]. Če je izpuščeno, je privzeta vrednost 0 (onemogočeno).
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 9
2. LPM_COUNTER (Števec) IP Core 683490 | 2020.10.05
Tabela 3.
LPM_COUNTER Izhodna vrata
Ime vrat
Obvezno
Opis
q[]
št
Izhod podatkov iz števca. Velikost izhodnih vrat je odvisna od
Vrednost parametra LPM_WIDTH. Bodisi q[] ali vsaj ena od vrat eq[15..0].
mora biti povezan.
eq[15..0]
št
Izhod dekodiranja števca. Vrata eq[15..0] niso dostopna v urejevalniku parametrov, ker parameter podpira samo AHDL.
Povezana morajo biti vrata q[] ali vrata eq[]. Uporabite lahko do c eq vrat (0 <= c <= 15). Dekodira se samo 16 najnižjih vrednosti štetja. Ko je vrednost števca c, je izhod eqc visok (1). Na primerample, ko je števec 0, eq0 = 1, ko je števec 1, eq1 = 1 in ko je števec 15, je eq 15 = 1. Dekodirani izhod za vrednosti števila 16 ali več zahteva zunanje dekodiranje. Izhodi eq[15..0] so asinhroni z izhodom q[].
cout
št
Izhodna vrata bita MSB števca. Uporabite ga lahko za povezavo z drugim števcem, da ustvarite večji števec.
2.6. Parametri
Naslednja tabela navaja parametre za jedro IP LPM_COUNTER.
Tabela 4.
Parametri LPM_COUNTER
Ime parametra
Vrsta
LPM_WIDTH
Celo število
LPM_DIRECTION
Niz
LPM_MODULUS LPM_AVALUE
Celo število
Celo število/niz
LPM_SVALUE LPM_HINT
Celo število/niz
Niz
LPM_TYPE
Niz
Zahtevano Da Ne Ne Ne
ne ne
št
Opis
Podaja širine vrat data[] in q[], če se uporabljajo.
Vrednosti so GOR, DOL in NEUPORABLJENO. Če je uporabljen parameter LPM_DIRECTION, vrat gor navzdol ni mogoče povezati. Ko vrata navzdol niso povezana, je privzeta vrednost parametra LPM_DIRECTION UP.
Največje število, plus ena. Število edinstvenih stanj v ciklu števca. Če je vrednost obremenitve večja od parametra LPM_MODULUS, obnašanje števca ni podano.
Konstantna vrednost, ki se naloži, ko je sredstvo uveljavljeno visoko. Če je navedena vrednost večja ali enaka , je obnašanje števca nedefinirana (X) logična raven, kjer je LPM_MODULUS, če je prisoten, ali 2 ^ LPM_WIDTH. Intel priporoča, da to vrednost določite kot decimalno število za načrte AHDL.
Konstantna vrednost, ki se naloži na naraščajočem robu vrat ure, ko so vrata sset uveljavljena visoko. Intel priporoča, da to vrednost določite kot decimalno število za načrte AHDL.
Ko instancirate funkcijo knjižnice parametriziranih modulov (LPM) v zasnovi VHDL File (.vhd), morate uporabiti parameter LPM_HINT, da določite parameter, specifičen za Intel. Na primerample: LPM_HINT = “CHAIN_SIZE = 8, ONE_INPUT_IS_CONSTANT = YES”
Privzeta vrednost je NEUPORABLJENO.
Identificira ime entitete knjižnice parametriziranih modulov (LPM) v zasnovi VHDL files.
nadaljevanje ...
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 10
Pošlji povratne informacije
2. LPM_COUNTER (Števec) IP Core 683490 | 2020.10.05
Ime parametra INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN
Vrsta niza niz
Niz
Niz
Zahtevana št. št
št
št
Opis
Ta parameter se uporablja za namene modeliranja in vedenjske simulacije. Ta parameter se uporablja za namene modeliranja in vedenjske simulacije. Urejevalnik parametrov izračuna vrednost za ta parameter.
Parameter, specifičen za Intel. Za določitev parametra CARRY_CNT_EN v načrtu VHDL morate uporabiti parameter LPM_HINT files. Vrednosti so SMART, ON, OFF in UNUSED. Omogoča funkcijo LPM_COUNTER za širjenje signala cnt_en skozi prenosno verigo. V nekaterih primerih lahko nastavitev parametra CARRY_CNT_EN rahlo vpliva na hitrost, zato jo boste morda želeli izklopiti. Privzeta vrednost je SMART, ki zagotavlja najboljši kompromis med velikostjo in hitrostjo.
Parameter, specifičen za Intel. Za podajanje parametra LABWIDE_SCLR v načrtu VHDL morate uporabiti parameter LPM_HINT files. Vrednosti so VKLOPLJENO, IZKLOPLJENO ali NEUPORABLJENO. Privzeta vrednost je ON. Omogoča vam, da onemogočite uporabo funkcije LABwide sclr, ki je v zastarelih družinah naprav. Če izklopite to možnost, povečate možnosti za popolno uporabo delno zapolnjenih LAB-jev in tako lahko omogočite višjo logično gostoto, ko SCLR ne velja za celoten LAB. Ta parameter je na voljo za združljivost s prejšnjimi različicami in Intel priporoča, da tega parametra ne uporabljate.
Določa uporabo vhodnih vrat gor navzdol. Če je izpuščeno, je privzeta vrednost PORT_CONNECTIVITY. Ko je vrednost vrat nastavljena na PORT_USED, se vrata obravnavajo kot uporabljena. Ko je vrednost vrat nastavljena na PORT_UNUSED, se vrata obravnavajo kot neuporabljena. Ko je vrednost vrat nastavljena na PORT_CONNECTIVITY, se uporaba vrat določi s preverjanjem povezljivosti vrat.
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 11
683490 | 2020.10.05 Pošlji povratne informacije
3. LPM_DIVIDE (delilnik) Intel FPGA IP Core
Slika 2.
Jedro LPM_DIVIDE Intel FPGA IP implementira delilnik za deljenje vhodne vrednosti števca z vhodno vrednostjo imenovalca, da se ustvari količnik in ostanek.
Naslednja slika prikazuje vrata za jedro IP LPM_DIVIDE.
Vrata LPM_DIVIDE
LPM_DIVIDE
številka[] denom[] ura
količnik[] ostane[]
clken aclr
inst
3.1. Lastnosti
Jedro IP LPM_DIVIDE ponuja naslednje funkcije: · Ustvari delilnik, ki deli vhodno vrednost števca z vhodom imenovalca
vrednost za izdelavo količnika in ostanka. · Podpira podatkovno širino 1 bitov. · Podpira podpisan in nepodpisan format predstavitve podatkov za števec
in vrednosti imenovalca. · Podpira optimizacijo območja ali hitrosti. · Zagotavlja možnost podajanja pozitivnega izhoda ostanka. · Podpira cevovodno nastavljivo izhodno zakasnitev. · Podpira izbirna asinhrona vrata za brisanje in omogočanje ure.
3.2. Prototip Verilog HDL
Naslednji prototip Verilog HDL se nahaja v Verilog Design File (.v) lpm.v v imenik edasinteze.
modul lpm_divide (količnik, ostanek, število, denom, ura, clken, aclr); parameter lpm_type = “lpm_divide”; parameter lpm_widthn = 1; parameter lpm_widthd = 1; parameter lpm_nrepresentation = “UNSIGNED”; parameter lpm_drepresentation = “UNSIGNED”; parameter lpm_remainderpositive = “TRUE”; parameter lpm_pipeline = 0;
Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.
ISO 9001:2015 Registriran
3. LPM_DIVIDE (delilnik) Intel FPGA IP Core 683490 | 2020.10.05
parameter lpm_hint = “NEUPORABLJENO”; vhodna ura; vnos clken; vnos aclr; vnos [lpm_widthn-1:0] številka; vnos [lpm_widthd-1:0] denom; izhod [lpm_widthn-1:0] količnik; izhod [lpm_widthd-1:0] ostane; končni modul
3.3. Deklaracija komponente VHDL
Deklaracija komponente VHDL se nahaja v VHDL Design File (.vhd) LPM_PACK.vhd v imenik librariesvhdllpm.
komponenta LPM_DIVIDE generično (LPM_WIDTHN : naravna; LPM_WIDTHD : naravna;
LPM_NREPRESENTATION : niz := “UNSIGNED”; LPM_DREPRESENTATION : niz := “UNSIGNED”; LPM_PIPELINE : naravno := 0; LPM_TYPE : niz := L_DIVIDE; LPM_HINT : string := “UNUSED”); vrata (NUMER: v std_logic_vector(LPM_WIDTHN-1 downto 0); DENOM: v std_logic_vector(LPM_WIDTHD-1 downto 0); ACLR: v std_logic:= '0'; CLOCK: v std_logic:= '0'; CLKEN: v std_logic := '1'; QUOTIENT: out std_logic_vector(LPM_WIDTHN-1 downto 0); REMAIN: out std_logic_vector(LPM_WIDTHD-1 downto 0)); končna komponenta;
3.4. Izjava VHDL LIBRARY_USE
Deklaracija VHDL LIBRARY-USE ni potrebna, če uporabljate deklaracijo komponente VHDL.
KNJIŽNICA lpm; UPORABA lpm.lpm_components.all;
3.5. Pristanišča
Naslednje tabele navajajo vhodna in izhodna vrata za jedro IP LPM_DIVIDE.
Tabela 5.
LPM_DIVIDE Vhodna vrata
Ime vrat
Obvezno
številka []
ja
denom[]
ja
Opis
Vnos podatkov števca. Velikost vhodnih vrat je odvisna od vrednosti parametra LPM_WIDTHN.
Vnos podatkov o imenovalcu. Velikost vhodnih vrat je odvisna od vrednosti parametra LPM_WIDTHD.
nadaljevanje ...
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 13
3. LPM_DIVIDE (delilnik) Intel FPGA IP Core 683490 | 2020.10.05
Port Name clock clken
aclr
Zahtevana št. št
št
Opis
Vhod ure za cevovodno uporabo. Za vrednosti LPM_PIPELINE, ki niso 0 (privzeto), morajo biti vrata ure omogočena.
Ura omogoča cevovodno uporabo. Ko so vrata clken postavljena na visoko raven, se izvede operacija delitve. Ko je signal nizek, se ne izvede nobena operacija. Če je izpuščeno, je privzeta vrednost 1.
Asinhrona čista vrata, ki se kadar koli uporabljajo za ponastavitev cevovoda na vse '0' asinhrono na vhod ure.
Tabela 6.
LPM_DIVIDE Izhodna vrata
Ime vrat
Obvezno
Opis
količnik[]
ja
Izpis podatkov. Velikost izhodnih vrat je odvisna od LPM_WIDTHN
vrednost parametra.
ostati[]
ja
Izpis podatkov. Velikost izhodnih vrat je odvisna od LPM_WIDTHD
vrednost parametra.
3.6. Parametri
V spodnji tabeli so navedeni parametri za jedro LPM_DIVIDE Intel FPGA IP.
Ime parametra
Vrsta
Obvezno
Opis
LPM_WIDTHN
Celo število
ja
Podaja širine številk [] in
kvočnik[] vrat. Vrednosti so od 1 do 64.
LPM_WIDTHD
Celo število
ja
Podaja širini denom[] in
ostanejo [] vrata. Vrednosti so od 1 do 64.
LPM_NREPRESENTATION LPM_DREPRESENTATION
Niz Niz
št
Znakovni prikaz vnosa števca.
Vrednosti sta SIGNED in UNSIGNED. Ko to
parameter je nastavljen na SIGNED, delilnik
interpretira vnos številke [] kot dvojke s predznakom
dopolnjujejo.
št
Predznak vnosa imenovalca.
Vrednosti sta SIGNED in UNSIGNED. Ko to
parameter je nastavljen na SIGNED, delilnik
interpretira vnos denom[] kot predpisane dvojke
dopolnjujejo.
LPM_TYPE
Niz
št
Identificira knjižnico parametriziranih
ime entitete modulov (LPM) v oblikovanju VHDL
files (.vhd).
LPM_HINT
Niz
št
Ko ustvarite primerek knjižnice
parametrizirani moduli (LPM) delujejo v a
Oblikovanje VHDL File (.vhd), morate uporabiti
Parameter LPM_HINT za podajanje Intel-
specifični parameter. Na primerample: LPM_HINT
= “VELIKOST_VERIGE = 8,
ONE_INPUT_IS_CONSTANT = YES” The
privzeta vrednost je NEUPORABLJENO.
LPM_REMAINDERPOSITIVE
Niz
št
Parameter, specifičen za Intel. Morate uporabiti
LPM_HINT parameter za določitev
LPM_REMAINDERPOSITIVE parameter v
Oblikovanje VHDL files. Vrednosti so TRUE ali FALSE.
Če je ta parameter nastavljen na TRUE, potem je
vrednost vrat remain[] mora biti večja
nadaljevanje ...
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 14
Pošlji povratne informacije
3. LPM_DIVIDE (delilnik) Intel FPGA IP Core 683490 | 2020.10.05
Ime parametra
Vrsta
MAXIMIZE_SPEED
Celo število
LPM_PIPELINE
Celo število
INTENDED_DEVICE_FAMILY SKIP_BITS
Niz Celo število
zahtevana št
ne ne ne
Opis
kot ali enako nič. Če je ta parameter nastavljen na TRUE, je vrednost vrat remain[] bodisi nič ali pa je vrednost istega predznaka, bodisi pozitivnega bodisi negativnega, kot vrednost vrat številka. Da bi zmanjšali območje in izboljšali hitrost, Intel priporoča nastavitev tega parametra na TRUE v operacijah, kjer mora biti ostanek pozitiven ali kjer je ostanek nepomemben.
Parameter, specifičen za Intel. Za določitev parametra MAXIMIZE_SPEED v zasnovi VHDL morate uporabiti parameter LPM_HINT files. Vrednosti so [0..9]. Če je uporabljena, poskuša programska oprema Intel Quartus Prime optimizirati določen primerek funkcije LPM_DIVIDE za hitrost in ne za usmerjanje ter preglasi nastavitev logične možnosti Optimization Technique. Če MAXIMIZE_SPEED ni uporabljen, se namesto tega uporabi vrednost možnosti Optimization Technique. Če je vrednost MAXIMIZE_SPEED 6 ali višja, prevajalnik optimizira jedro IP LPM_DIVIDE za višjo hitrost z uporabo prenosnih verig; če je vrednost 5 ali manj, prevajalnik izvaja načrt brez nosilnih verig.
Podaja število taktov zakasnitve, povezane z izhodoma kvocienta[] in ostanka[]. Vrednost nič (0) pomeni, da zakasnitev ne obstaja in da je instancirana izključno kombinacijska funkcija. Če je izpuščeno, je privzeta vrednost 0 (brez cevovoda). Za parameter LPM_PIPELINE ne morete podati vrednosti, ki je višja od LPM_WIDTHN.
Ta parameter se uporablja za namene modeliranja in vedenjske simulacije. Urejevalnik parametrov izračuna vrednost za ta parameter.
Omogoča učinkovitejšo delno delitev bitov za optimizacijo logike vodilnih bitov z zagotavljanjem števila vodilnih GND jedru IP LPM_DIVIDE. Določite število vodilnih GND na izhodu kvocienta za ta parameter.
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 15
683490 | 2020.10.05 Pošlji povratne informacije
4. LPM_MULT (Množilec) IP Core
Slika 3.
Jedro IP LPM_MULT implementira množitelj za množenje dveh vrednosti vhodnih podatkov za izdelavo produkta kot izhoda.
Naslednja slika prikazuje vrata za jedro IP LPM_MULT.
LPM_Mult Ports
LPM_MULT ura dataa[] rezultat[] datab[] aclr/sclr clken
inst
Funkcije povezanih informacij na strani 71
4.1. Lastnosti
Jedro IP LPM_MULT ponuja naslednje funkcije: · Generira množitelj, ki pomnoži dve vrednosti vhodnih podatkov · Podpira podatkovno širino 1 bitov · Podpira predpisan in nepodpisan format predstavitve podatkov · Podpira optimizacijo območja ali hitrosti · Podpira cevovod z nastavljivo izhodno zakasnitvijo · Zagotavlja možnost implementacije v namensko digitalno obdelavo signalov (DSP)
blokovno vezje ali logični elementi (LE) Opomba: Pri gradnji množiteljev, večjih od izvorno podprte velikosti, lahko pride do/
bo vplival na zmogljivost zaradi kaskade blokov DSP. · Podpira izbirna vhodna vrata za asinhrono brisanje in omogočanje ure · Podpira izbirno sinhrono brisanje za naprave Intel Stratix 10, Intel Arria 10 in Intel Cyclone 10 GX
Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.
ISO 9001:2015 Registriran
4. LPM_MULT (Množilec) IP Core 683490 | 2020.10.05
4.2. Prototip Verilog HDL
Naslednji prototip Verilog HDL se nahaja v Verilog Design File (.v) lpm.v v imenik edasinteze.
modul lpm_mult ( rezultat, dataa, datab, vsota, ura, clken, aclr ) parameter lpm_type = “lpm_mult”; parameter lpm_widtha = 1; parameter lpm_widthb = 1; parameter lpm_widths = 1; parameter lpm_widthp = 1; parameter lpm_representation = “UNSIGNED”; parameter lpm_pipeline = 0; parameter lpm_hint = “NEUPORABLJENO”; vhodna ura; vnos clken; vnos aclr; vnos [lpm_widtha-1:0] podatkia; vhod [lpm_widthb-1:0] datab; vnos [lpm_widths-1:0] vsota; izpis [lpm_widthp-1:0] rezultat; končni modul
4.3. Deklaracija komponente VHDL
Deklaracija komponente VHDL se nahaja v VHDL Design File (.vhd) LPM_PACK.vhd v imenik librariesvhdllpm.
komponenta LPM_MULT generično ( LPM_WIDTHA : naravna; LPM_WIDTHB : naravna; LPM_WIDTHS : naravna := 1; LPM_WIDTHP : naravna;
LPM_REPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : naravno := 0; LPM_TYPE: niz := L_MULT; LPM_HINT : string := “UNUSED”); vrata (DATAA: v std_logic_vector(LPM_WIDTHA-1 downto 0); DATAB: v std_logic_vector(LPM_WIDTHB-1 downto 0); ACLR: v std_logic:= '0'; CLOCK: v std_logic:= '0'; CLKEN: v std_logic := '1'; SUM: in std_logic_vector(LPM_WIDTHS-1 downto 0) := (OTHERS => '0'); RESULT: out std_logic_vector(LPM_WIDTHP-1 downto 0)); končna komponenta;
4.4. Izjava VHDL LIBRARY_USE
Deklaracija VHDL LIBRARY-USE ni potrebna, če uporabljate deklaracijo komponente VHDL.
KNJIŽNICA lpm; UPORABA lpm.lpm_components.all;
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 17
4. LPM_MULT (Množilec) IP Core 683490 | 2020.10.05
4.5. Signali
Tabela 7.
Vhodni signali LPM_MULT
Ime signala
Obvezno
Opis
podatki[]
ja
Vnos podatkov.
Pri napravah Intel Stratix 10, Intel Arria 10 in Intel Cyclone 10 GX je velikost vhodnega signala odvisna od vrednosti parametra širine Dataa.
Pri starejših napravah in napravah Intel Cyclone 10 LP je velikost vhodnega signala odvisna od vrednosti parametra LPM_WIDTHA.
datab[]
ja
Vnos podatkov.
Pri napravah Intel Stratix 10, Intel Arria 10 in Intel Cyclone 10 GX je velikost vhodnega signala odvisna od vrednosti parametra širine Datab.
Pri starejših napravah in napravah Intel Cyclone 10 LP je velikost vhodnega signala odvisna
na vrednosti parametra LPM_WIDTHB.
ura
št
Vhod ure za cevovodno uporabo.
Za starejše naprave in naprave Intel Cyclone 10 LP mora biti signal ure omogočen za vrednosti LPM_PIPELINE, ki niso 0 (privzeto).
Za naprave Intel Stratix 10, Intel Arria 10 in Intel Cyclone 10 GX mora biti signal ure omogočen, če je vrednost Latency drugačna od 1 (privzeto).
clken
št
Omogočanje ure za cevovodno uporabo. Ko je signal clken visok, je
poteka operacija seštevalnika/odštevalca. Ko je signal nizek, ni delovanja
pojavi. Če je izpuščeno, je privzeta vrednost 1.
aclr sclr
št
Asinhroni jasni signal, ki se kadar koli uporablja za ponastavitev cevovoda na vse 0,
asinhrono na signal ure. Cevovod se inicializira na nedefinirano (X)
logični nivo. Izhodi so dosledne, vendar neničelne vrednosti.
št
Sinhroni čisti signal, ki se kadar koli uporabi za ponastavitev cevovoda na vse 0,
sinhrono s signalom ure. Cevovod se inicializira na nedefinirano (X)
logični nivo. Izhodi so dosledne, vendar neničelne vrednosti.
Tabela 8.
LPM_MULT Izhodni signali
Ime signala
Obvezno
Opis
rezultat[]
ja
Izpis podatkov.
Pri starejših napravah in napravah Intel Cyclone 10 LP je velikost izhodnega signala odvisna od vrednosti parametra LPM_WIDTHP. Če je LPM_WIDTHP < max (LPM_WIDTHA + LPM_WIDTHB, LPM_WIDTHS) ali (LPM_WIDTHA + LPM_WIDTHS), so prisotni le MSB LPM_WIDTHP.
Za Intel Stratix 10, Intel Arria 10 in Intel Cyclone 10 GX je velikost izhodnih signalov odvisna od parametra Result width.
4.6. Parametri za naprave Stratix V, Arria V, Cyclone V in Intel Cyclone 10 LP
4.6.1. Zavihek Splošno
Tabela 9.
Zavihek Splošno
Parameter
Vrednost
Konfiguracija množitelja
Pomnožite vnos 'dataa' z vnosom 'datab'
Privzeta vrednost
Opis
Pomnožite vnos 'dataa' z vnosom 'datab'
Izberite želeno konfiguracijo za množitelj.
nadaljevanje ...
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 18
Pošlji povratne informacije
4. LPM_MULT (Množilec) IP Core 683490 | 2020.10.05
Parameter
Kako širok naj bo vnos 'dataa'? Kako širok naj bo vnos 'datab'? Kako naj se določi širina izpisa 'rezultata'? Omejite širino
Vrednost
Pomnoži vnos 'dataa' s samim seboj (operacija kvadriranja)
1-256 bitov
Privzeta vrednost
Opis
8 bitov
Določite širino vrat dataa[].
1-256 bitov
8 bitov
Določite širino vrat datab[].
Samodejno izračuna širino Omejite širino
1-512 bitov
Samodejno izračuna širino
Izberite želeno metodo za določitev širine vrat za rezultat[].
16 bitov
Določite širino vrat za rezultat[].
Ta vrednost bo učinkovita le, če v parametru Vrsta izberete Omejitev širine.
4.6.2. Splošno 2 Tab
Tabela 10. Splošno 2 Tab
Parameter
Vrednost
Vnos podatkov
Ali ima vhodno vodilo 'datab' konstantno vrednost?
Ne Da
Vrsta množenja
Katero vrsto
Nepodpisano
množenje hočeš? Podpisano
Izvedba
Katero implementacijo množitelja je treba uporabiti?
Uporabite privzeto izvedbo
Uporabite namensko množilno vezje (ni na voljo za vse družine)
Uporabite logične elemente
Privzeta vrednost
Opis
št
Izberite Da, da določite konstantno vrednost
vhodno vodilo `datab', če obstaja.
Nepodpisano
Določite obliko predstavitve za oba vnosa dataa[] in datab[].
Uporabite privzeto implementacijo
Izberite želeno metodo za določitev širine vrat za rezultat[].
4.6.3. Zavihek Cevovod
Tabela 11. Zavihek Cevovod
Parameter
Ali želite cevovod št
funkcija?
ja
Vrednost
Ustvari 'aclr'
—
asinhrona čista vrata
Privzeta vrednost
Opis
št
Izberite Da, da omogočite register cevovoda za
izhod množitelja in določite želeno
izhodna zakasnitev v taktu. Omogočanje
register cevovoda doda dodatno zakasnitev
izhod.
Nepreverjeno
Izberite to možnost, če želite omogočiti vrata aclr, da uporabljajo asinhrono brisanje za register cevovoda.
nadaljevanje ...
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 19
4. LPM_MULT (Množilec) IP Core 683490 | 2020.10.05
Parameter
Ustvarite uro za omogočanje ure 'clken'
Optimizacija
Kakšno vrsto optimizacije želite?
Vrednost —
Privzeto območje hitrosti
Privzeta vrednost
Opis
Nepreverjeno
Podaja aktivno omogočanje visoke ure za vrata ure registra cevovoda
Privzeto
Podajte želeno optimizacijo za jedro IP.
Izberite Privzeto, če želite programski opremi Intel Quartus Prime določiti najboljšo optimizacijo za jedro IP.
4.7. Parametri za naprave Intel Stratix 10, Intel Arria 10 in Intel Cyclone 10 GX
4.7.1. Zavihek Splošno
Tabela 12. Tabela Splošno
Parameter
Vrednost
Privzeta vrednost
Opis
Vrsta konfiguracije množitelja
Širina podatkovnih vrat
Pomnožite vnos 'dataa' z vnosom 'datab'
Pomnoži vnos 'dataa' s samim seboj (operacija kvadriranja)
Pomnožite vnos 'dataa' z vnosom 'datab'
Izberite želeno konfiguracijo za množitelj.
Širina podatkov
1-256 bitov
8 bitov
Določite širino vrat dataa[].
Širina Datab
1-256 bitov
8 bitov
Določite širino vrat datab[].
Kako naj se določi širina izpisa 'rezultata'?
Vrsta
Samodejno izračuna širino
Omejite širino
Samodejno izračuna širino
Izberite želeno metodo za določitev širine vrat za rezultat[].
Vrednost
1-512 bitov
16 bitov
Določite širino vrat za rezultat[].
Ta vrednost bo učinkovita le, če v parametru Vrsta izberete Omejitev širine.
Širina rezultata
1-512 bitov
—
Prikaže efektivno širino vrat za rezultat[].
4.7.2. Splošno 2 Tab
Tabela 13. Splošno 2 Tab
Parameter
Vnos podatkov
Ali ima vhodno vodilo 'datab' konstantno vrednost?
Ne Da
Vrednost
Privzeta vrednost
Opis
št
Izberite Da, da določite konstantno vrednost
vhodno vodilo `datab', če obstaja.
nadaljevanje ...
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 20
Pošlji povratne informacije
4. LPM_MULT (Množilec) IP Core 683490 | 2020.10.05
Parameter
Vrednost
Vrednost
Vsaka vrednost, večja od 0
Vrsta množenja
Katero vrsto
Nepodpisano
množenje hočeš? Podpisano
Slog izvedbe
Katero implementacijo množitelja je treba uporabiti?
Uporabite privzeto izvedbo
Uporabite namensko vezje množitelja
Uporabite logične elemente
Privzeta vrednost
Opis
0
Določite konstantno vrednost vrat datab[].
Nepodpisano
Določite obliko predstavitve za oba vnosa dataa[] in datab[].
Uporabite privzeto implementacijo
Izberite želeno metodo za določitev širine vrat za rezultat[].
4.7.3. Cevovod
Tabela 14. Zavihek Cevovod
Parameter
Vrednost
Ali želite funkcijo napeljati po cevovodu?
Cevovod
Ne Da
Latency Clear Signal Type
Vsaka vrednost, večja od 0.
NI ACLR SCLR
Ustvarite uro 'clken'
—
omogočite uro
Kakšno vrsto optimizacije želite?
Vrsta
Privzeto območje hitrosti
Privzeta vrednost
Opis
Št. 1 NIČ
—
Izberite Da, da omogočite register cevovoda za izhod množitelja. Omogočanje registra cevovoda doda izhodu dodatno zakasnitev.
Določite želeno izhodno zakasnitev v taktu.
Določite vrsto ponastavitve za register cevovoda. Če ne uporabljate nobenega registra cevovoda, izberite NONE. Izberite ACLR, če želite za register cevovoda uporabiti asinhrono brisanje. To bo ustvarilo vrata ACLR. Izberite SCLR, če želite za register cevovoda uporabiti sinhrono brisanje. To bo ustvarilo vrata SCLR.
Podaja aktivno omogočanje visoke ure za vrata ure registra cevovoda
Privzeto
Podajte želeno optimizacijo za jedro IP.
Izberite Privzeto, če želite programski opremi Intel Quartus Prime določiti najboljšo optimizacijo za jedro IP.
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 21
683490 | 2020.10.05 Pošlji povratne informacije
5. LPM_ADD_SUB (Seštevalnik/Odštevalnik)
Slika 4.
Jedro IP LPM_ADD_SUB vam omogoča implementacijo seštevalnika ali odštevalnika za dodajanje ali odštevanje naborov podatkov za izdelavo izhoda, ki vsebuje vsoto ali razliko vhodnih vrednosti.
Naslednja slika prikazuje vrata za jedro IP LPM_ADD_SUB.
Vrata LPM_ADD_SUB
LPM_ADD_SUB add_sub cin
podatki[]
ura clken datab[] aclr
rezultat[] overflow cout
inst
5.1. Lastnosti
Jedro IP LPM_ADD_SUB ponuja naslednje funkcije: · Generira seštevalnik, odštevalnik in dinamično nastavljiv seštevalnik/odštevalnik
funkcije. · Podpira podatkovno širino 1 bitov. · Podpira format za predstavitev podatkov, kot sta podpisani in nepodpisani. · Podpira izbirni prenos (izposoja), asinhrono brisanje in omogočanje ure
vhodna vrata. · Podpira neobvezna izhodna vrata za izposojo (izposojo) in prelivanje. · Dodeli eno od vodil vhodnih podatkov konstanti. · Podpira cevovod z nastavljivo izhodno zakasnitvijo.
Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.
ISO 9001:2015 Registriran
5. LPM_ADD_SUB (Seštevalnik/Odštevalnik) 683490 | 2020.10.05
5.2. Prototip Verilog HDL
Naslednji prototip Verilog HDL se nahaja v Verilog Design File (.v) lpm.v v imenik edasinteze.
modul lpm_add_sub (rezultat, cout, overflow,add_sub, cin, dataa, datab, clock, clken, aclr); parameter lpm_type = “lpm_add_sub”; parameter lpm_width = 1; parameter lpm_direction = “NEUPORABLJENO”; parameter lpm_representation = “SIGNED”; parameter lpm_pipeline = 0; parameter lpm_hint = “NEUPORABLJENO”; vhod [lpm_width-1:0] dataa, datab; vnos add_sub, cin; vhodna ura; vnos clken; vnos aclr; rezultat [lpm_width-1:0] rezultat; izhod, preliv; končni modul
5.3. Deklaracija komponente VHDL
Deklaracija komponente VHDL se nahaja v VHDL Design File (.vhd) LPM_PACK.vhd v imenik librariesvhdllpm.
komponenta LPM_ADD_SUB generično (LPM_WIDTH : naravna;
LPM_DIRECTION : string := “UNUSED”; LPM_REPRESENTATION: niz := “SIGNED”; LPM_PIPELINE : naravno := 0; LPM_TYPE : niz := L_ADD_SUB; LPM_HINT : string := “UNUSED”); vrata (DATAA: v std_logic_vector(LPM_WIDTH-1 downto 0); DATAB: v std_logic_vector(LPM_WIDTH-1 downto 0); ACLR: v std_logic:= '0'; CLOCK: v std_logic:= '0'; CLKEN: v std_logic := '1'; CIN : v std_logic := 'Z'; ADD_SUB : v std_logic := '1'; RESULT : izhod std_logic_vector(LPM_WIDTH-1 downto 0); COUT : izhod std_logic; OVERFLOW : izhod std_logic); končna komponenta;
5.4. Izjava VHDL LIBRARY_USE
Deklaracija VHDL LIBRARY-USE ni potrebna, če uporabljate deklaracijo komponente VHDL.
KNJIŽNICA lpm; UPORABA lpm.lpm_components.all;
5.5. Pristanišča
Naslednje tabele navajajo vhodna in izhodna vrata za jedro IP LPM_ADD_SUB.
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 23
5. LPM_ADD_SUB (Seštevalnik/Odštevalnik) 683490 | 2020.10.05
Tabela 15. LPM_ADD_SUB IP Core Input Ports
Ime vrat
Obvezno
Opis
cin
št
Prenos v bit nizkega reda. Za operacije dodajanja je privzeta vrednost 0. Za
operacije odštevanja, privzeta vrednost je 1.
podatki[]
ja
Vnos podatkov. Velikost vhodnih vrat je odvisna od vrednosti parametra LPM_WIDTH.
datab[]
ja
Vnos podatkov. Velikost vhodnih vrat je odvisna od vrednosti parametra LPM_WIDTH.
add_sub
št
Izbirna vhodna vrata za omogočanje dinamičnega preklapljanja med seštevalnikom in odštevalnikom
funkcije. Če je uporabljen parameter LPM_DIRECTION, add_sub ni mogoče uporabiti. če
izpuščen, privzeta vrednost je ADD. Intel priporoča, da uporabite
parameter LPM_DIRECTION za določitev delovanja funkcije LPM_ADD_SUB,
namesto dodeljevanja konstante vratom add_sub.
ura
št
Vnos za cevovodno uporabo. Vrata za uro zagotavljajo vhod za uro za cevovod
delovanje. Za vrednosti LPM_PIPELINE, ki niso 0 (privzeto), morajo biti vrata ure
omogočeno.
clken
št
Omogočanje ure za cevovodno uporabo. Ko so vrata clken uveljavljena visoko, se seštevalnik/
poteka delovanje odštevalnika. Ko je signal nizek, se ne izvede nobena operacija. če
izpuščeno, privzeta vrednost je 1.
aclr
št
Asinhrono jasno za cevovodno uporabo. Cevovod se inicializira na nedefinirano (X)
logični nivo. Vrata aclr lahko kadar koli uporabite za ponastavitev cevovoda na vse 0,
asinhrono na signal ure.
Tabela 16. LPM_ADD_SUB Izhodna vrata IP Core
Ime vrat
Obvezno
Opis
rezultat[]
ja
Izpis podatkov. Velikost izhodnih vrat je odvisna od parametra LPM_WIDTH
vrednost.
cout
št
Izvedba (izposoja) najpomembnejšega bita (MSB). Pristanišče cout ima fizično
razlaga kot izvedba (izposoja) MSB. Vrata cout zaznajo
prelivanje v operacijah UNSIGNED. Vrata cout delujejo na enak način za
Operaciji SIGNED in UNSIGNED.
preliv
št
Izbirni izhod izjeme prelivanja. Prelivna odprtina ima fizično razlago kot
XOR prenosa v MSB z prenosom MSB. Prelivna odprtina
potrdi, ko rezultati presežejo razpoložljivo natančnost, in se uporablja le, če
Vrednost parametra LPM_REPRESENTATION je PODPISANA.
5.6. Parametri
Naslednja tabela navaja glavne parametre IP LPM_ADD_SUB.
Tabela 17. Jedrni parametri IP LPM_ADD_SUB
Ime parametra LPM_WIDTH
Vnesite celo število
Obvezno Da
Opis
Podaja širine vrat dataa[], datab[] in result[].
LPM_DIRECTION
Niz
št
Vrednosti so ADD, SUB in UNUSED. Če je izpuščeno, je privzeta vrednost DEFAULT, ki parametru narekuje, da vzame svojo vrednost iz vrat add_sub. Vrat add_sub ni mogoče uporabiti, če je uporabljen LPM_DIRECTION. Intel priporoča, da uporabite parameter LPM_DIRECTION, da določite delovanje funkcije LPM_ADD_SUB, namesto da dodeljujete konstanto vratom add_sub.
nadaljevanje ...
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 24
Pošlji povratne informacije
5. LPM_ADD_SUB (Seštevalnik/Odštevalnik) 683490 | 2020.10.05
Ime parametra LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY
Tip String Integer String String String Integer
Niz
Zahtevano Ne Ne Ne Ne Ne Ne Ne
št
Opis
Podaja vrsto izvedenega dodajanja. Vrednosti sta SIGNED in UNSIGNED. Če je izpuščeno, je privzeta vrednost SIGNED. Ko je ta parameter nastavljen na SIGNED, seštevalnik/odštevalec interpretira vnesene podatke kot komplement s predznakom.
Podaja število časovnih ciklov zakasnitve, povezanih z rezultatom []. Vrednost nič (0) pomeni, da zakasnitev ne obstaja in da bo instancirana zgolj kombinacijska funkcija. Če je izpuščeno, je privzeta vrednost 0 (brez cevovoda).
Omogoča vam, da določite parametre, specifične za Intel, v zasnovi VHDL files (.vhd). Privzeta vrednost je NEUPORABLJENO.
Identificira ime entitete knjižnice parametriziranih modulov (LPM) v zasnovi VHDL files.
Parameter, specifičen za Intel. Za podajanje parametra ONE_INPUT_IS_CONSTANT v zasnovi VHDL morate uporabiti parameter LPM_HINT files. Vrednosti so DA, NE in NEUPORABLJENO. Zagotavlja večjo optimizacijo, če je en vhod konstanten. Če je izpuščeno, je privzeta vrednost NE.
Parameter, specifičen za Intel. Za določitev parametra MAXIMIZE_SPEED v zasnovi VHDL morate uporabiti parameter LPM_HINT files. Določite lahko vrednost med 0 in 10. Če je uporabljena, poskuša programska oprema Intel Quartus Prime optimizirati določen primerek funkcije LPM_ADD_SUB za hitrost in ne za usmerjanje ter preglasi nastavitev logične možnosti Optimization Technique. Če MAXIMIZE_SPEED ni uporabljen, se namesto tega uporabi vrednost možnosti Optimization Technique. Če je nastavitev za MAXIMIZE_SPEED 6 ali višja, prevajalnik optimizira jedro IP LPM_ADD_SUB za višjo hitrost z uporabo prenosnih verig; če je nastavitev 5 ali manj, prevajalnik izvede načrt brez nosilnih verig. Ta parameter je treba določiti za naprave Cyclone, Stratix in Stratix GX samo, če vrata add_sub niso uporabljena.
Ta parameter se uporablja za namene modeliranja in vedenjske simulacije. Urejevalnik parametrov izračuna vrednost za ta parameter.
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 25
683490 | 2020.10.05 Pošlji povratne informacije
6. LPM_COMPARE (primerjalnik)
Slika 5.
Jedro IP LPM_COMPARE primerja vrednosti dveh nizov podatkov, da določi razmerje med njima. V najpreprostejši obliki lahko uporabite vrata izključujočega ALI, da ugotovite, ali sta dva bita podatkov enaka.
Naslednja slika prikazuje vrata za jedro IP LPM_COMPARE.
Vrata LPM_COMPARE
LPM_COMPARE
clken
alb
aeb
podatki[]
agb
datab[]
starostb
ura
aneb
aclr
aleb
inst
6.1. Lastnosti
Jedro IP LPM_COMPARE ponuja naslednje funkcije: · Generira primerjalno funkcijo za primerjavo dveh nizov podatkov · Podpira podatkovno širino 1 bitov · Podpira format za predstavitev podatkov, kot sta predznak in nepodznak · Proizvede naslednje vrste izhoda:
— alb (vhod A je manjši od vhoda B) — aeb (vnos A je enak vhodu B) — agb (vnos A je večji od vhoda B) — ageb (vnos A je večji ali enak vhodu B) — aneb ( vhod A ni enak vhodu B) — aleb (vhod A je manjši ali enak vhodu B) · Podpira izbirna vhodna vrata za asinhrono brisanje in omogočanje ure · Dodeli vhod datab[] konstanti · Podpira cevovod z nastavljivo izhodno zakasnitvijo
Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.
ISO 9001:2015 Registriran
6. LPM_COMPARE (Primerjalnik) 683490 | 2020.10.05
6.2. Prototip Verilog HDL
Naslednji prototip Verilog HDL se nahaja v Verilog Design File (.v) lpm.v v imenik edasinteze.
modul lpm_compare (alb, aeb, agb, aleb, aneb, ageb, dataa, datab, ura, clken, aclr); parameter lpm_type = “lpm_compare”; parameter lpm_width = 1; parameter lpm_representation = “UNSIGNED”; parameter lpm_pipeline = 0; parameter lpm_hint = “NEUPORABLJENO”; vhod [lpm_width-1:0] dataa, datab; vhodna ura; vnos clken; vnos aclr; izpis alb, aeb, agb, aleb, aneb, ageb; končni modul
6.3. Deklaracija komponente VHDL
Deklaracija komponente VHDL se nahaja v VHDL Design File (.vhd) LPM_PACK.vhd v imenik librariesvhdllpm.
komponenta LPM_COMPARE generično (LPM_WIDTH : naravna;
LPM_REPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : naravno := 0; LPM_TYPE: niz := L_COMPARE; LPM_HINT : string := “UNUSED”); vrata (DATAA: v std_logic_vector(LPM_WIDTH-1 downto 0); DATAB: v std_logic_vector(LPM_WIDTH-1 downto 0); ACLR: v std_logic:= '0'; CLOCK: v std_logic:= '0'; CLKEN: v std_logic := '1'; AGB : izhod std_logike; AGEB : izhod std_logike; AEB : izhod std_logike; ANEB : izhod std_logike; ALB : izhod std_logike; ALEB : izhod std_logike); končna komponenta;
6.4. Izjava VHDL LIBRARY_USE
Deklaracija VHDL LIBRARY-USE ni potrebna, če uporabljate deklaracijo komponente VHDL.
KNJIŽNICA lpm; UPORABA lpm.lpm_components.all;
6.5. Pristanišča
Naslednje tabele navajajo vhodna in izhodna vrata za jedro IP LMP_COMPARE.
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 27
6. LPM_COMPARE (Primerjalnik) 683490 | 2020.10.05
Tabela 18. Vhodna vrata jedra IP LPM_COMPARE
Ime vrat
Obvezno
Opis
podatki[]
ja
Vnos podatkov. Velikost vhodnih vrat je odvisna od vrednosti parametra LPM_WIDTH.
datab[]
ja
Vnos podatkov. Velikost vhodnih vrat je odvisna od vrednosti parametra LPM_WIDTH.
ura
št
Vhod ure za cevovodno uporabo. Vrata za uro zagotavljajo vhod za uro za cevovod
delovanje. Za vrednosti LPM_PIPELINE, ki niso 0 (privzeto), morajo biti vrata ure
omogočeno.
clken
št
Omogočanje ure za cevovodno uporabo. Ko so vrata clken uveljavljena visoko, je
poteka primerjalna operacija. Ko je signal nizek, se ne izvede nobena operacija. če
izpuščeno, privzeta vrednost je 1.
aclr
št
Asinhrono jasno za cevovodno uporabo. Cevovod se inicializira z nedefinirano logiko (X).
raven. Vrata aclr lahko kadar koli uporabite za ponastavitev cevovoda na vse 0,
asinhrono na signal ure.
Tabela 19. Izhodna vrata jedra IP LPM_COMPARE
Ime vrat
Obvezno
Opis
alb
št
Izhodna vrata za primerjalnik. Uveljavi se, če je vhod A manjši od vhoda B.
aeb
št
Izhodna vrata za primerjalnik. Uveljavljeno, če je vhod A enak vložku B.
agb
št
Izhodna vrata za primerjalnik. Uveljavljeno, če je vnos A večji od vhoda B.
starostb
št
Izhodna vrata za primerjalnik. Uveljavi se, če je vnos A večji ali enak vhodu
B.
aneb
št
Izhodna vrata za primerjalnik. Uveljavi se, če vnos A ni enak vložku B.
aleb
št
Izhodna vrata za primerjalnik. Uveljavi se, če je vnos A manjši ali enak vložku B.
6.6. Parametri
Naslednja tabela navaja parametre za jedro IP LPM_COMPARE.
Tabela 20. Parametri jedra IP LPM_COMPARE
Ime parametra
Vrsta
Obvezno
LPM_WIDTH
Celo število Da
LPM_REPRESENTATION
Niz
št
LPM_PIPELINE
Celo število št
LPM_HINT
Niz
št
Opis
Podaja širine vrat dataa[] in datab[].
Podaja vrsto izvedene primerjave. Vrednosti sta SIGNED in UNSIGNED. Če je izpuščeno, je privzeta vrednost UNSIGNED. Ko je ta vrednost parametra nastavljena na SIGNED, primerjalnik interpretira vnesene podatke kot komplement s predznakom.
Podaja število taktov zakasnitve, povezanih z izhodom alb, aeb, agb, ageb, aleb ali aneb. Vrednost nič (0) pomeni, da zakasnitev ne obstaja in da bo instancirana zgolj kombinacijska funkcija. Če je izpuščeno, je privzeta vrednost 0 (brez cevovoda).
Omogoča vam, da določite parametre, specifične za Intel, v zasnovi VHDL files (.vhd). Privzeta vrednost je NEUPORABLJENO.
nadaljevanje ...
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 28
Pošlji povratne informacije
6. LPM_COMPARE (Primerjalnik) 683490 | 2020.10.05
Ime parametra LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT
Vrsta niza niz
Niz
Zahtevana št. št
št
Opis
Identificira ime entitete knjižnice parametriziranih modulov (LPM) v zasnovi VHDL files.
Ta parameter se uporablja za namene modeliranja in vedenjske simulacije. Urejevalnik parametrov izračuna vrednost za ta parameter.
Parameter, specifičen za Intel. Za podajanje parametra ONE_INPUT_IS_CONSTANT v zasnovi VHDL morate uporabiti parameter LPM_HINT files. Vrednosti so DA, NE ali NEUPORABLJENO. Zagotavlja večjo optimizacijo, če je vnos konstanten. Če je izpuščeno, je privzeta vrednost NE.
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 29
683490 | 2020.10.05 Pošlji povratne informacije
7. ALTECC (koda za odpravo napak: kodirnik/dekoder) jedro IP
Slika 6.
Intel zagotavlja jedro ALTECC IP za implementacijo funkcionalnosti ECC. ECC zazna poškodovane podatke, ki se pojavijo na strani sprejemnika med prenosom podatkov. Ta metoda odpravljanja napak je najprimernejša za situacije, ko se napake pojavljajo naključno in ne v zaporednih izbruhih.
ECC zazna napake skozi proces kodiranja in dekodiranja podatkov. Na primerample, ko je ECC uporabljen v aplikaciji za prenos, so podatki, prebrani iz vira, kodirani, preden so poslani prejemniku. Izhod (kodna beseda) iz kodirnika je sestavljen iz neobdelanih podatkov, ki jim je dodano število paritetnih bitov. Natančno število dodanih paritetnih bitov je odvisno od števila bitov v vhodnih podatkih. Ustvarjena kodna beseda se nato prenese na cilj.
Sprejemnik sprejme kodno besedo in jo dekodira. Informacije, ki jih pridobi dekoder, določajo, ali je zaznana napaka. Dekoder zazna enobitne in dvobitne napake, vendar lahko popravi samo enobitne napake v poškodovanih podatkih. Ta vrsta ECC je odkrivanje dvojnih napak s popravljanjem ene napake (SECDED).
Konfigurirate lahko funkcije kodirnika in dekoderja jedra ALTECC IP. Podatki, vneseni v kodirnik, so kodirani za ustvarjanje kodne besede, ki je kombinacija vnesenih podatkov in ustvarjenih paritetnih bitov. Ustvarjena kodna beseda se prenese v dekodirni modul za dekodiranje, tik preden doseže ciljni blok. Dekoder ustvari vektor sindroma, da ugotovi, ali je v prejeti kodni besedi kakšna napaka. Dekoder popravi podatke le, če je enobitna napaka iz podatkovnih bitov. Noben signal ni označen, če je enobitna napaka iz paritetnih bitov. Dekoder ima tudi signale zastavic, ki prikazujejo status prejetih podatkov in morebitno dejanje, ki ga je sprejel dekoder.
Naslednje slike prikazujejo vrata za jedro ALTECC IP.
Vrata kodirnika ALTECC
ALTECC_ENCODER
podatki[]
q[]
ura
clocken
aclr
inst
Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.
ISO 9001:2015 Registriran
7. ALTECC (koda za odpravljanje napak: kodirnik/dekoder) IP Core 683490 | 2020.10.05
Slika 7. Vrata dekoderja ALTECC
ALTECC_DEKODER
podatki [] ura clocken
q[] napaka_zaznana napaka_popravljena
err_fatal
aclr
inst
7.1. Funkcije kodirnika ALTECC
IP jedro kodirnika ALTECC ponuja naslednje funkcije: · Izvaja kodiranje podatkov z uporabo Hammingove sheme kodiranja · Podpira podatkovno širino 2 bitov · Podpira podpisan in nepodpisan format predstavitve podatkov · Podpira cevovod z izhodno zakasnitvijo enega ali dveh taktov · Podpira izbirno asinhrona vrata za brisanje in omogočanje ure
IP jedro kodirnika ALTECC zajema in kodira podatke s pomočjo Hammingove sheme kodiranja. Shema Hammingovega kodiranja izpelje paritetne bite in jih doda izvirnim podatkom, da ustvari izhodno kodno besedo. Število dodanih paritetnih bitov je odvisno od širine podatkov.
Naslednja tabela navaja število paritetnih bitov, dodanih za različne obsege širin podatkov. Stolpec Total Bits predstavlja skupno število vhodnih podatkovnih bitov in dodanih paritetnih bitov.
Tabela 21.
Število paritetnih bitov in kodna beseda glede na širino podatkov
Podatkovna širina
Število paritetnih bitov
Skupno število bitov (kodna beseda)
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
Izpeljava paritetnega bita uporablja preverjanje sode paritete. Dodatni 1 bit (prikazan v tabeli kot +1) je dodan paritetnim bitom kot MSB kodne besede. To zagotavlja, da ima kodna beseda sodo število 1. Na primerample, če je širina podatkov 4 bite, se podatkom dodajo 4 paritetni biti, da postanejo kodna beseda s skupno 8 bitov. Če ima 7 bitov iz LSB 8-bitne kodne besede liho število 1, je 8. bit (MSB) kodne besede 1, zaradi česar je skupno število 1 v kodni besedi sodo.
Naslednja slika prikazuje generirano kodno besedo in razporeditev paritetnih bitov in podatkovnih bitov v 8-bitnem podatkovnem vhodu.
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 31
7. ALTECC (koda za odpravljanje napak: kodirnik/dekoder) IP Core 683490 | 2020.10.05
Slika 8.
Razporeditev paritetnih bitov in podatkovnih bitov v 8-bitni generirani kodni besedi
MSB
LSB
4 paritetni biti
4 podatkovnih bitov
8
1
Jedro IP kodirnika ALTECC sprejema samo vhodne širine od 2 do 64 bitov naenkrat. Vhodne širine 12 bitov, 29 bitov in 64 bitov, ki so idealne za naprave Intel, ustvarjajo izhode 18 bitov, 36 bitov oziroma 72 bitov. Omejitev izbire bitov lahko nadzorujete v urejevalniku parametrov.
7.2. Prototip Verilog HDL (ALTECC_ENCODER)
Naslednji prototip Verilog HDL se nahaja v Verilog Design File (.v) lpm.v v imenik edasinteze.
modul altecc_encoder #( parameter namenjen_device_family = “unused”, parameter lpm_pipeline = 0, parameter width_codeword = 8, parameter width_dataword = 8, parameter lpm_type = “altecc_encoder”, parameter lpm_hint = “unused”) ( vhodna žica aclr, vhodna žična ura, vhod žična ura, vhodna žica [width_dataword-1:0] podatki, izhodna žica [width_codeword-1:0] q); končni modul
7.3. Prototip Verilog HDL (ALTECC_DECODER)
Naslednji prototip Verilog HDL se nahaja v Verilog Design File (.v) lpm.v v imenik edasinteze.
modul altecc_decoder #( parameter namenjen_device_family = “neuporabljen”, parameter lpm_pipeline = 0, parameter width_codeword = 8, parameter width_dataword = 8, parameter lpm_type = “altecc_decoder”, parameter lpm_hint = “unused”) ( vhodna žica aclr, vhodna žična ura, vhod wire clocken, vhodna žica [width_codeword-1:0] podatki, izhodna žica err_corrected, izhodna žica err_detected, izhodna žica err_fatal, izhodna žica [width_dataword-1:0] q); končni modul
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 32
Pošlji povratne informacije
7. ALTECC (koda za odpravljanje napak: kodirnik/dekoder) IP Core 683490 | 2020.10.05
7.4. Deklaracija komponente VHDL (ALTECC_ENCODER)
Deklaracija komponente VHDL se nahaja v VHDL Design File (.vhd) altera_mf_components.vhd v imenik knjižnicvhdlaltera_mf.
komponenta altecc_encoder generic ( predvidena_družina_naprav:niz := “neuporabljen”; lpm_pipeline:naraven := 0; width_codeword:naraven := 8; width_dataword:naraven := 8; lpm_hint:niz := “NEUPORABLJEN”; lpm_type:niz := “altecc_encoder ”); 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(width_codeword -1 navzdol do 0)); končna komponenta;
7.5. Deklaracija komponente VHDL (ALTECC_DECODER)
Deklaracija komponente VHDL se nahaja v VHDL Design File (.vhd) altera_mf_components.vhd v imenik knjižnicvhdlaltera_mf.
komponenta altecc_decoder generic (načrtovana_družina_naprav:niz := “neuporabljen”; lpm_pipeline:naraven := 0; width_codeword:naraven := 8; width_dataword:naraven := 8; lpm_hint:niz := “NEUPORABLJEN”; lpm_type:niz := “altecc_dekoder ”); port( aclr:in std_logic := '0'; clock:in std_logic := '0'; clocken:in std_logic := '1'; data:in std_logic_vector(width_codeword-1 downto 0); err_corrected: out std_logic; err_detected : out std_logic; q:out std_logic_vector(width_dataword-1 downto 0); syn_e: out std_logic); končna komponenta;
7.6. Izjava VHDL LIBRARY_USE
Deklaracija VHDL LIBRARY-USE ni potrebna, če uporabljate deklaracijo komponente VHDL.
KNJIŽNICA altera_mf; UPORABA altera_mf.altera_mf_components.all;
7.7. Vrata kodirnika
V naslednjih tabelah so navedena vhodna in izhodna vrata za jedro IP kodirnika ALTECC.
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 33
7. ALTECC (koda za odpravljanje napak: kodirnik/dekoder) IP Core 683490 | 2020.10.05
Tabela 22. Vhodna vrata kodirnika ALTECC
Ime vrat
Obvezno
Opis
podatki[]
ja
Vrata za vnos podatkov. Velikost vhodnih vrat je odvisna od WIDTH_DATAWORD
vrednost parametra. Vrata data[] vsebujejo neobdelane podatke, ki jih je treba kodirati.
ura
ja
Vhodna vrata ure, ki zagotavljajo signal ure za sinhronizacijo postopka kodiranja.
Vrata ure so potrebna, ko je vrednost LPM_PIPELINE večja od 0.
clocken
št
Omogoči uro. Če je izpuščeno, je privzeta vrednost 1.
aclr
št
Asinhroni čisti vnos. Aktivni signal visokega aclr lahko kadar koli uporabite za
asinhrono počistite registre.
Tabela 23. Izhodna vrata kodirnika ALTECC
Ime vrat q[]
Obvezno Da
Opis
Vrata za izhod kodiranih podatkov. Velikost izhodnih vrat je odvisna od vrednosti parametra WIDTH_CODEWORD.
7.8. Vrata dekoderja
V naslednjih tabelah so navedena vhodna in izhodna vrata za jedro IP dekoderja ALTECC.
Tabela 24. Vhodna vrata dekoderja ALTECC
Ime vrat
Obvezno
Opis
podatki[]
ja
Vrata za vnos podatkov. Velikost vhodnih vrat je odvisna od vrednosti parametra WIDTH_CODEWORD.
ura
ja
Vhodna vrata ure, ki zagotavljajo signal ure za sinhronizacijo postopka kodiranja. Vrata ure so potrebna, ko je vrednost LPM_PIPELINE večja od 0.
clocken
št
Omogoči uro. Če je izpuščeno, je privzeta vrednost 1.
aclr
št
Asinhroni čisti vnos. Aktivni signal visokega aclr lahko kadar koli uporabite za asinhrono brisanje registrov.
Tabela 25. Izhodna vrata dekoderja ALTECC
Ime vrat q[]
Obvezno Da
Opis
Vrata za izhod dekodiranih podatkov. Velikost izhodnih vrat je odvisna od vrednosti parametra WIDTH_DATAWORD.
err_detected Da
Signal zastavice, ki prikazuje status prejetih podatkov in določa morebitne najdene napake.
err_correcte Da d
Signal zastavice, ki prikazuje status prejetih podatkov. Označuje najdeno in popravljeno enobitno napako. Podatke lahko uporabite, ker so že popravljeni.
err_fatal
ja
Signal zastavice, ki prikazuje status prejetih podatkov. Označuje dvobitno napako, ki je bila najdena, vendar ni bila popravljena. Podatkov ne smete uporabiti, če je ta signal uveljavljen.
sin_e
št
Izhodni signal, ki bo visok, kadar koli bo na pariteti zaznana enobitna napaka
bitov.
7.9. Parametri kodirnika
V naslednji tabeli so navedeni parametri za jedro IP kodirnika ALTECC.
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 34
Pošlji povratne informacije
7. ALTECC (koda za odpravljanje napak: kodirnik/dekoder) IP Core 683490 | 2020.10.05
Tabela 26. Parametri kodirnika ALTECC
Ime parametra
Vrsta
Obvezno
Opis
WIDTH_DATAWORD
Celo število Da
Podaja širino neobdelanih podatkov. Vrednosti so od 2 do 64. Če je izpuščeno, je privzeta vrednost 8.
WIDTH_CODEWORD
Celo število Da
Podaja širino ustrezne kodne besede. Veljavne vrednosti so od 6 do 72, razen 9, 17, 33 in 65. Če je izpuščeno, je privzeta vrednost 13.
LPM_PIPELINE
Celo število št
Določa cevovod za vezje. Vrednosti so od 0 do 2. Če je vrednost 0, vrata niso registrirana. Če je vrednost 1, so izhodna vrata registrirana. Če je vrednost 2, so vhodna in izhodna vrata registrirana. Če je izpuščeno, je privzeta vrednost 0.
7.10. Parametri dekoderja
Naslednja tabela navaja osnovne parametre IP dekoderja ALTECC.
Tabela 27. Parametri dekoderja ALTECC
Ime parametra WIDTH_DATAWORD
Vnesite celo število
Obvezno
Opis
ja
Podaja širino neobdelanih podatkov. Vrednosti so od 2 do 64. The
privzeta vrednost je 8.
WIDTH_CODEWORD
Celo število
ja
Podaja širino ustrezne kodne besede. Vrednosti so 6
do 72, razen 9, 17, 33 in 65. Če je izpuščeno, je privzeta vrednost
je 13.
LPM_PIPELINE
Celo število
št
Določa register vezja. Vrednosti so od 0 do 2. Če je
vrednost je 0, noben register ni implementiran. Če je vrednost 1, je
izhod je registriran. Če je vrednost 2, sta vnos in
izhodi so registrirani. Če je vrednost večja od 2, dodatno
registri so implementirani na izhodu za dop
zakasnitve. Če je izpuščeno, je privzeta vrednost 0.
Ustvarite vrata 'syn_e'
Celo število
št
Vklopite ta parameter, da ustvarite vrata syn_e.
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 35
683490 | 2020.10.05 Pošlji povratne informacije
8. Intel FPGA Multiply Adder IP Core
Slika 9.
Jedro IP Intel FPGA Multiply Adder (naprave Intel Stratix 10, Intel Arria 10 in Intel Cyclone 10 GX) ali ALTERA_MULT_ADD (naprave Arria V, Stratix V in Cyclone V) omogoča implementacijo seštevalnika množitelja.
Naslednja slika prikazuje vrata za jedro IP Intel FPGA Multiply Adder ali ALTERA_MULT_ADD.
Vrata Intel FPGA Multiply Adder ali ALTERA_MULT_ADD
Intel FPGA Multiply Adder ali ALTERA_MULT_ADD
dataa[] signa datab[] signa datac[] coefsel0[] coefsel1[] coefsel2[] coefsel3[] addnsub1 addnsub3 aclr/sclr[] scanina[] clock0 clock1 clock2 ena0 ena1 ena2 sload_accum
accum_sload chainin[]
scanouta[] rezultat[]
aclr0 aclr1
inst
Množilec-seštevalnik sprejme pare vhodov, pomnoži vrednosti skupaj in nato doda ali odšteje produkte vseh drugih parov.
Če so vse širine vhodnih podatkov 9-bitne ali manjše, funkcija uporablja konfiguracijo vhodnega množitelja 9 x 9 bitov v bloku DSP za naprave, ki podpirajo konfiguracijo 9 x 9. Če ni, blok DSP uporablja 18 × 18-bitne vhodne množitelje za obdelavo podatkov s širino med 10 in 18 bitov. Če se v načrtu pojavi več jeder Intel FPGA Multiply Adder ali ALTERA_MULT_ADD IP, so funkcije porazdeljene na
Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.
ISO 9001:2015 Registriran
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
čim več različnih blokov DSP, tako da je usmerjanje do teh blokov bolj prilagodljivo. Manj množiteljev na blok DSP omogoča več možnosti usmerjanja v blok z zmanjšanjem poti do preostale naprave.
Registri in dodatni cevovodni registri za naslednje signale so prav tako nameščeni znotraj bloka DSP: · Vnos podatkov · Predznačen ali nepredznačen izbor · Seštevanje ali odštevanje izbora · Zmnožki množiteljev
V primeru izhodnega rezultata se prvi register postavi v blok DSP. Vendar so dodatni registri zakasnitve nameščeni v logičnih elementih zunaj bloka. Periferija bloka DSP, vključno s podatkovnimi vhodi v množilnik, vhodi krmilnega signala in izhodi seštevalnika, uporablja običajno usmerjanje za komunikacijo s preostalo napravo. Vse povezave v funkciji uporabljajo namensko usmerjanje znotraj bloka DSP. To namensko usmerjanje vključuje verige premikovnega registra, ko izberete možnost za premik registriranih vhodnih podatkov množitelja z enega množitelja na sosednjega množitelja.
Za več informacij o blokih DSP v kateri koli seriji naprav Stratix V in Arria V glejte poglavje Bloki DSP v ustreznih priročnikih na strani z literaturo in tehnično dokumentacijo.
Povezane informacije AN 306: Implementacija množiteljev v napravah FPGA
Zagotavlja več informacij o izvajanju množiteljev z uporabo DSP in pomnilniških blokov v napravah Intel FPGA.
8.1. Lastnosti
Intel FPGA Multiply Adder ali jedro IP ALTERA_MULT_ADD ponuja naslednje funkcije: · Ustvari množitelj za izvajanje operacij množenja dveh kompleksnih
števila Opomba: Pri gradnji množiteljev, večjih od izvorno podprte velikosti, lahko pride do/
bo vplival na zmogljivost zaradi kaskade blokov DSP. · Podpira podatkovne širine 1 bitov · Podpira obliko predstavitve podpisanih in nepodpisanih podatkov · Podpira cevovodno povezovanje z nastavljivo zakasnitvijo vnosa · Ponuja možnost dinamičnega preklapljanja med podporo za podpisane in nepodpisane podatke · Ponuja možnost dinamičnega preklapljanja med operacijo seštevanja in odštevanja · Podpira izbirna vhodna vrata za asinhrono in sinhrono brisanje in omogočanje ure · Podpira način registra sistolične zakasnitve · Podpira predseštevalnik z 256 koeficienti predobremenitve na množitelj · Podpira konstanto prednapetosti za dopolnitev povratnih informacij akumulatorja
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 37
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.1. Predseštevalnik
Pri predhodnem seštevalniku se seštevanja ali odštevanja izvedejo pred dovajanjem množitelja.
Obstaja pet načinov predseštevalnika: · Enostavni način · Način koeficienta · Način vnosa · Kvadratni način · Konstanten način
Opomba:
Ko se uporablja predseštevalnik (koeficient predseštevalnika/vnos/kvadratni način), morajo imeti vsi vhodi podatkov v množitelj enako nastavljeno uro.
8.1.1.1. Enostavni način pred seštevalnikom
V tem načinu oba operanda izhajata iz vhodnih vrat in predseštevalnik se ne uporablja ali zaobide. To je privzeti način.
Slika 10. Enostavni način predseštevalnika
a0 b0
Mult0
rezultat
8.1.1.2. Način koeficienta pred seštevalnikom
V tem načinu en operand množitelja izhaja iz predseštevalnika, drugi operand pa izhaja iz notranjega pomnilnika koeficientov. Shranjevanje koeficientov omogoča do 8 prednastavljenih konstant. Signali izbire koeficienta so coefsel[0..3].
Ta način je izražen v naslednji enačbi.
Naslednje prikazuje način koeficienta pred seštevalnikom množitelja.
Slika 11. Način koeficienta predseštevalnika
Preadder
a0
Mult0
+/-
rezultat
b0
coefsel0 coef
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 38
Pošlji povratne informacije
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.1.3. Vhodni način predseštevalnika V tem načinu en operand množitelja izhaja iz predseštevalnika, drugi operand pa izhaja iz vhodnih vrat datac[]. Ta način je izražen v naslednji enačbi.
Naslednje prikazuje način vnosa množitelja pred seštevalnikom.
Slika 12. Vnosni način predseštevalnika
a0 b0
Mult0
+/-
rezultat
c0
8.1.1.4. Kvadratni način predseštevalnika Ta način je izražen v naslednji enačbi.
Naslednje prikazuje kvadratni način predseštevalnika dveh množiteljev.
Slika 13. Kvadratni način predseštevalnika
a0 b0
Mult0
+/-
rezultat
8.1.1.5. Konstantni način pred seštevalnikom
V tem načinu en operand množitelja izhaja iz vhodnih vrat, drugi operand pa izhaja iz notranjega pomnilnika koeficientov. Shranjevanje koeficientov omogoča do 8 prednastavljenih konstant. Signali izbire koeficienta so coefsel[0..3].
Ta način je izražen v naslednji enačbi.
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 39
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Naslednja slika prikazuje konstantni način množitelja pred seštevalnikom.
Slika 14. Konstantni način predseštevalnika
a0
Mult0
rezultat
coefsel0
coef
8.1.2. Register sistolične zakasnitve
V sistolični arhitekturi se vhodni podatki vnesejo v kaskado registrov, ki delujejo kot podatkovni medpomnilnik. Vsak register zagotavlja vhod sampna množitelj, kjer se pomnoži z ustreznim koeficientom. Verižni seštevalnik shrani postopno združene rezultate iz množitelja in predhodno registriran rezultat iz vhodnih vrat verige v [], da oblikuje končni rezultat. Vsak element množenja in dodajanja je treba odložiti za en sam cikel, tako da se rezultati ustrezno sinhronizirajo, ko seštejemo. Vsaka zaporedna zakasnitev se uporablja za naslavljanje pomnilnika koeficientov in podatkovnega medpomnilnika njihovih elementov množenja in seštevanja. Na primerample, ena zakasnitev za drugi element množenja in dodajanja, dve zakasnitvi za tretji element množenja in dodajanja itd.
Slika 15. Sistolični registri
Sistolični registri
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 y(t)
x(t) predstavlja rezultate neprekinjenega toka vnosa samples in y(t)
predstavlja vsoto nabora vhodnih samples, in v času, pomnoženo z njihovimi
ustrezne koeficiente. Tako vhodni kot izhodni rezultati tečejo od leve proti desni. C(0) do c(N-1) označujejo koeficiente. Registri sistoličnega zakasnitve so označeni s S-1, medtem ko 1 predstavlja eno zakasnitev ure. Registri sistoličnega zakasnitve so dodani pri
vhode in izhode za cevovod na način, ki zagotavlja rezultate iz
operand množitelja in akumulirane vsote ostanejo sinhronizirane. Ta procesni element
se replicira, da tvori vezje, ki izračuna funkcijo filtriranja. Ta funkcija je
izraženo v naslednji enačbi.
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 40
Pošlji povratne informacije
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
N predstavlja število ciklov podatkov, ki so bili vneseni v akumulator, y(t) predstavlja izhod v času t, A(t) predstavlja vhod v času t, B(i) pa so koeficienti. T in i v enačbi ustrezata določenemu trenutku v času, da bi izračunali izhod sample y(t) v času t, skupina vhodnih sampdatotek na N različnih časovnih točkah ali pa se zahteva A(n), A(n-1), A(n-2), … A(n-N+1). Skupina N vhodnih sampse pomnožijo z N koeficienti in seštejejo, da tvorijo končni rezultat y.
Arhitektura sistoličnega registra je na voljo samo za načina vsote 2 in vsote 4. Za oba načina arhitekture sistoličnega registra mora biti prvi verižni signal vezan na 0.
Naslednja slika prikazuje izvedbo registra sistolične zakasnitve dveh množiteljev.
Slika 16. Izvedba registra sistolične zakasnitve dveh množiteljev
verižiti
a0
Mult0
+/-
b0
a1
Mult1
+/-
b1
rezultat
Vsota dveh množiteljev je izražena v naslednji enačbi.
Naslednja slika prikazuje izvedbo registra sistolične zakasnitve dveh množiteljev.
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 41
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Slika 17. Izvedba registra sistolične zakasnitve dveh množiteljev
verižiti
a0
Mult0
+/-
b0
a1
Mult1
+/-
b1
a2
Mult2
+/-
b2
a3
Mult3
+/-
b3
rezultat
Vsota štirih množiteljev je izražena v naslednji enačbi. Slika 18. Vsota 4 množiteljev
Sledi seznam advantagIzvedba sistoličnega registra: · Zmanjša porabo virov DSP · Omogoča učinkovito preslikavo v bloku DSP z uporabo strukture verižnega seštevalnika
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 42
Pošlji povratne informacije
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.3. Konstanta predobremenitve
Konstanta predobremenitve nadzira operand akumulatorja in dopolnjuje povratno informacijo akumulatorja. Veljavna LOADCONST_VALUE se giblje od 0. Konstantna vrednost je enaka 64N, kjer je N = LOADCONST_VALUE. Ko je LOADCONST_VALUE nastavljena na 2, je konstantna vrednost enaka 64. To funkcijo lahko uporabite kot pristransko zaokroževanje.
Naslednja slika prikazuje izvedbo konstante prednapetosti.
Slika 19. Konstanta predobremenitve
Povratne informacije akumulatorja
konstantna
a0
Mult0
+/-
b0
a1
Mult1
+/b1
rezultat
accum_sload sload_accum
Glejte naslednja jedra IP za druge izvedbe množitelja: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. Dvojni akumulator
Funkcija dvojnega akumulatorja doda dodaten register na povratni poti akumulatorja. Register dvojnega akumulatorja sledi izhodnemu registru, ki vključuje uro, omogoči uro in aclr. Dodatni akumulatorski register vrne rezultat z enociklično zakasnitvijo. Ta funkcija vam omogoča, da imate dva zbiralna kanala z enakim številom virov.
Naslednja slika prikazuje izvedbo dvojnega akumulatorja.
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 43
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Slika 20. Dvojni akumulator
Dvojni register akumulatorjev
Napajanje akumulatorja
a0
Mult0
+/-
b0
a1
Mult1
+/b1
Izhodni rezultat Izhodni register
8.2. Prototip Verilog HDL
Najdete lahko prototip Intel FPGA Multiply Adder ali ALTERA_MULT_ADD Verilog HDL file (altera_mult_add_rtl.v) v imenik knjižnicmegafunkcij.
8.3. Deklaracija komponente VHDL
Deklaracija komponente VHDL se nahaja v altera_lnsim_components.vhd v imenik librariesvhdl altera_lnsim.
8.4. Izjava VHDL LIBRARY_USE
Deklaracija VHDL LIBRARY-USE ni potrebna, če uporabljate deklaracijo komponente VHDL.
KNJIŽNICA altera_mf; UPORABA altera_mf.altera_mf_components.all;
8.5. Signali
V naslednjih tabelah so navedeni vhodni in izhodni signali jedra IP Multiply Adder Intel FPGA IP ali ALTERA_MULT_ADD.
Tabela 28. Vhodni signali Intel FPGA IP ali ALTERA_MULT_ADD Množenja
Signal
Obvezno
Opis
dataa_0[]/dataa_1[]/
ja
dataa_2[]/dataa_3[]
Vnos podatkov v množitelj. Vhodna vrata [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1 … 0] široka
nadaljevanje ...
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 44
Pošlji povratne informacije
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Signal datab_0[]/datab_1[]/ datab_2[]/datab_3[] datac_0[] /datac_1[]/ datac_2[]/datac_3[] ura[1:0] aclr[1:0] sclr[1:0] ena [1:0] znak
signb
scanina[] accum_sload
Obvezno Da Ne
Ne Ne Ne Ne Ne
št
ne ne
Opis
Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za te signale. Ko tem signalom zagotovite vrednost X, se vrednost X prenese na izhodne signale.
Vnos podatkov v množitelj. Vhodni signal [NUMBER_OF_MULTIPLIERS * WIDTH_B – 1 … 0] širok Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za te signale. Ko tem signalom zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Vnos podatkov v množitelj. Vhodni signal [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] širok Izberite INPUT za parameter Select preadder mode, da omogočite te signale. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za te signale. Ko tem signalom zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Vhodna vrata ure v ustrezen register. Ta signal lahko uporablja kateri koli register v jedru IP. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za te signale. Ko tem signalom zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Asinhroni čisti vnos v ustrezen register. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za te signale. Ko tem signalom zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Sinhroni čisti vnos v ustrezen register. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost X za te signale. Ko tem signalom zagotovite vrednost X, se vrednost X razširi na izhodne signale
Omogoči vnos signala v ustrezni register. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za te signale. Ko tem signalom zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Podaja numerično predstavitev vhoda množitelja A. Če je signal signa visok, množitelj obravnava signal vhoda množitelja A kot predznačeno število. Če je signal signa nizek, množitelj obravnava vhodni signal množitelja A kot nepredznačeno število. Izberite SPREMENLJIVA za Kaj je oblika predstavitve za parameter vnosov množiteljev A, da omogočite ta signal. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za ta signal. Ko temu vhodu zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Podaja numerično predstavitev vhodnega B signala množitelja. Če je signal signb visok, množitelj obravnava vhodni signal B množitelja kot komplementno število s predznakom dve. Če je signal signb nizek, množitelj obravnava vhodni signal množitelja B kot nepredznačeno število. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za ta signal. Ko temu vhodu zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Vhod za verigo skeniranja A. Vhodni signal [WIDTH_A – 1, … 0] širok. Če ima parameter INPUT_SOURCE_A vrednost SCANA, je zahtevan signal scanina[].
Dinamično določa, ali je vrednost akumulatorja konstantna. Če je signal accum_sload nizek, se izhod množitelja naloži v akumulator. Ne uporabljajte accum_sload in sload_accum hkrati.
nadaljevanje ...
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 45
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Signal sload_accum
veriga[] addnsub1
addnsub3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]
zahtevana št
ne ne
št
Ne Ne Ne Ne
Opis
Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za ta signal. Ko temu vhodu zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Dinamično določa, ali je vrednost akumulatorja konstantna. Če je signal sload_accum visok, se izhod množitelja naloži v akumulator. Ne uporabljajte accum_sload in sload_accum hkrati. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za ta signal. Ko temu vhodu zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Vhodno vodilo rezultatov seštevalnika iz prejšnjih stage. Vhodni signal [WIDTH_CHAININ – 1, … 0] širok.
Izvedite seštevanje ali odštevanje rezultatov prvega para množiteljev. Vhod 1 v signal addnsub1 za dodajanje izhodov iz prvega para množiteljev. Vnesite 0 v signal addnsub1, da odštejete izhode od prvega para množiteljev. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za ta signal. Ko temu vhodu zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Izvedite seštevanje ali odštevanje rezultatov prvega para množiteljev. Vhod 1 v signal addnsub3 za dodajanje izhodov iz drugega para množiteljev. Vnesite 0 v signal addnsub3, da odštejete izhode od prvega para množiteljev. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za ta signal. Ko temu vhodu zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Vhodni signal koeficienta [0:3] v prvi množitelj. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za ta signal. Ko temu vhodu zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Vhodni signal koeficienta [0:3] v drugi množitelj. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za ta signal. Ko temu vhodu zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Vhodni signal koeficienta [0:3] v tretji množitelj. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za ta signal. Ko temu vhodu zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Vhodni signal koeficienta [0:3] v četrti množitelj. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za ta signal. Ko temu vhodu zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Tabela 29. Izhodni signali Intel FPGA IP pomnoženega seštevalnika
Signal
Obvezno
Opis
rezultat []
ja
Izhodni signal množitelja. Izhodni signal [WIDTH_RESULT – 1 … 0] širok
Simulacijski model za ta IP podpira nedoločeno izhodno vrednost (X). Ko podate vrednost X kot vhod, se vrednost X razširi na ta signal.
scanouta []
št
Izhod verige skeniranja A. Izhodni signal [WIDTH_A – 1..0] širok.
Izberite več kot 2 za število množiteljev in izberite Scan chain input za Kaj je vhod A množitelja, ki je povezan s parametrom, da omogočite ta signal.
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 46
Pošlji povratne informacije
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.6. Parametri
8.6.1. Zavihek Splošno
Tabela 30. Tabela Splošno
Parameter
Parameter, ustvarjen IP
Vrednost
Kakšno je število množiteljev?
število_m 1 – 4 množitelji
Kako široka naj bodo vhodna vodila A width_a?
1 – 256
Kako široka naj bodo vhodna vodila B width_b?
1 – 256
Kako široko naj bo izhodno vodilo 'rezultata'?
širina_rezultat
1 – 256
Za vsako uro ustvarite povezano uro
gui_associate On d_clock_enabl Off e
8.6.2. Zavihek Dodatni načini
Tabela 31. Zavihek Dodatni načini
Parameter
Parameter, ustvarjen IP
Vrednost
Konfiguracija izhodov
Registrski izhod seštevalnika
gui_output_re On
gister
Izključeno
Kaj je vir za vhod ure?
gui_output_re gister_clock
Ura0 Ura1 Ura2
Kaj je vir za asinhroni jasni vnos?
gui_output_re gister_aclr
NI ACLR0 ACLR1
Kaj je vir za sinhroni jasni vnos?
gui_output_re gister_sclr
BREZ SCLR0 SCLR1
Operacija seštevalnika
Kakšno operacijo je treba izvesti na izhodih prvega para množiteljev?
gui_multiplier 1_smer
ADD, SUB, VARIABLE
Privzeta vrednost 1
16
Opis
Število množiteljev, ki jih je treba sešteti. Vrednosti so od 1 do 4. Določite širino vrat dataa[].
16
Določite širino vrat datab[].
32
Določite širino vrat za rezultat[].
Izključeno
Izberite to možnost, če želite omogočiti uro
za vsako uro.
Privzeta vrednost
Opis
Izklopljena ura0
NIČ NIČ
Izberite to možnost, da omogočite izhodni register modula seštevalnika.
Izberite Clock0, Clock1 ali Clock2, da omogočite in določite vir takta za izhodne registre. Če želite omogočiti ta parameter, morate izbrati Registriraj izhod enote seštevalnika.
Podaja asinhroni čisti izvor za izhodni register seštevalnika. Če želite omogočiti ta parameter, morate izbrati Registriraj izhod enote seštevalnika.
Podaja sinhroni čisti vir za izhodni register seštevalnika. Če želite omogočiti ta parameter, morate izbrati Registriraj izhod enote seštevalnika.
DODAJ
Izberite operacijo seštevanja ali odštevanja za izhode med prvim in drugim množiteljem.
· Izberite ADD, da izvedete seštevanje.
· Izberite SUB za izvedbo operacije odštevanja.
· Izberite VARIABLE za uporabo vrat addnsub1 za dinamični nadzor seštevanja/odštevanja.
nadaljevanje ...
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 47
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Parameter, ustvarjen IP
Vrednost
Registrirajte vnos 'addnsub1'
gui_addnsub_ On multiplier_reg Off ister1
Kaj je vir za vhod ure?
gui_addnsub_ multiplier_reg ister1_clock
Ura0 Ura1 Ura2
Kaj je vir za asinhroni jasni vnos?
gui_addnsub_ multiplier_aclr 1
NI ACLR0 ACLR1
Kaj je vir za sinhroni jasni vnos?
gui_addnsub_ multiplier_sclr 1
BREZ SCLR0 SCLR1
Kakšno operacijo je treba izvesti na izhodih drugega para množiteljev?
gui_multiplier 3_smer
ADD, SUB, VARIABLE
Registrirajte vnos 'addnsub3'
gui_addnsub_ On multiplier_reg Off ister3
Kaj je vir za vhod ure?
gui_addnsub_ multiplier_reg ister3_clock
Ura0 Ura1 Ura2
Privzeta vrednost
Off Clock0 NONE NONE ADD
Izklopljena ura0
Opis
Ko je izbrana vrednost VARIABLE: · Preklopite signal addnsub1 na visoko vrednost za
operacija dodajanja. · Preklopite signal addnsub1 na nizko za
operacija odštevanja. Če želite omogočiti ta parameter, morate izbrati več kot dva množitelja.
Izberite to možnost, da omogočite vhodni register za vrata addnsub1. Izbrati morate VARIABLE za Katera operacija naj se izvede na izhodih prvega para množiteljev, da omogočite ta parameter.
Izberite Clock0, Clock1 ali Clock2, da določite vhodni signal ure za register addnsub1. Če želite omogočiti ta parameter, morate izbrati vnos Register 'addnsub1'.
Podaja asinhroni čisti izvor za register addnsub1. Če želite omogočiti ta parameter, morate izbrati vnos Register 'addnsub1'.
Podaja sinhroni čisti vir za register addnsub1. Če želite omogočiti ta parameter, morate izbrati vnos Register 'addnsub1'.
Izberite operacijo seštevanja ali odštevanja za izhode med tretjim in četrtim množiteljem. · Za seštevanje izberite ADD
delovanje. · Izberite SUB za izvedbo odštevanja
delovanje. · Izberite SPREMENLJIVKA za uporabo addnsub1
vrata za nadzor dinamičnega seštevanja/odštevanja. Ko je izbrana vrednost VARIABLE: · Povečajte signal addnsub1 na visoko za operacijo dodajanja. · Preklopite signal addnsub1 na nizko za operacijo odštevanja. Izbrati morate vrednost 4 za Kakšno je število množiteljev? da omogočite ta parameter.
Izberite to možnost, da omogočite vhodni register za signal addnsub3. Izbrati morate VARIABLE za Katera operacija naj se izvede na izhodih drugega para množiteljev, da omogočite ta parameter.
Izberite Clock0, Clock1 ali Clock2, da določite vhodni signal ure za register addnsub3. Če želite omogočiti ta parameter, morate izbrati Register 'addnsub3' input.
nadaljevanje ...
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 48
Pošlji povratne informacije
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Kaj je vir za asinhroni jasni vnos?
Parameter, ustvarjen IP
Vrednost
gui_addnsub_ multiplier_aclr 3
NI ACLR0 ACLR1
Kaj je vir za sinhroni jasni vnos?
gui_addnsub_ multiplier_sclr 3
BREZ SCLR0 SCLR1
Omogoči polarnost `use_subadd'
gui_use_subn Vklopljeno
dodati
Izključeno
8.6.3. Zavihek množiteljev
Tabela 32. Množitelji Tab
Parameter
Parameter, ustvarjen IP
Vrednost
Kaj je
gui_represent
oblika predstavitve ation_a
za vnose množiteljev A?
PREDZNANO, NEPOZNANO, SPREMENLJIVO
Registrirajte vnos `signa'
gui_register_s Vklopljeno
igna
Izključeno
Kaj je vir za vhod ure?
gui_register_s igna_clock
Ura0 Ura1 Ura2
Kaj je vir za asinhroni jasni vnos?
gui_register_s igna_aclr
NI ACLR0 ACLR1
Kaj je vir za sinhroni jasni vnos?
gui_register_s igna_sclr
BREZ SCLR0 SCLR1
Kaj je
gui_represent
oblika predstavitve ation_b
za vhode množiteljev B?
PREDZNANO, NEPOZNANO, SPREMENLJIVO
Registrirajte vnos `signb'
gui_register_s Vklopljeno
ignb
Izključeno
Privzeta vrednost NONE
NIČ
Opis
Podaja asinhroni čisti izvor za register addnsub3. Če želite omogočiti ta parameter, morate izbrati vnos Register 'addnsub3'.
Podaja sinhroni čisti vir za register addnsub3. Če želite omogočiti ta parameter, morate izbrati Register 'addnsub3' input.
Izključeno
Izberite to možnost, če želite obrniti funkcijo
vhodnih vrat addnsub.
Preklopite addnsub na visoko za operacijo odštevanja.
Preklopite addnsub na nizko za operacijo dodajanja.
Privzeta vrednost
Opis
UNSIGNED Določite obliko predstavitve za vnos množitelja A.
Izključeno
Izberite to možnost, da omogočite signa
register.
Izbrati morate vrednost VARIABLE za Kakšen je format predstavitve za vnose množiteljev A? parameter za omogočanje te možnosti.
Ura 0
Izberite Clock0, Clock1 ali Clock2, da omogočite in določite vhodni signal ure za register znakov.
Če želite omogočiti ta parameter, morate izbrati Registriraj vnos `signa'.
NIČ
Podaja asinhroni čisti izvor za register signa.
Če želite omogočiti ta parameter, morate izbrati Registriraj vnos `signa'.
NIČ
Podaja sinhroni čisti vir za register signa.
Če želite omogočiti ta parameter, morate izbrati Registriraj vnos `signa'.
UNSIGNED Določite obliko predstavitve za vnos množitelja B.
Izključeno
Izberite to možnost, da omogočite signb
register.
nadaljevanje ...
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 49
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Parameter, ustvarjen IP
Vrednost
Privzeta vrednost
Kaj je vir za vhod ure?
gui_register_s ignb_ura
Ura0 Ura1 Ura2
Ura 0
Kaj je vir za asinhroni jasni vnos?
gui_register_s ignb_aclr
NI ACLR0 ACLR1
Kaj je vir za sinhroni jasni vnos?
gui_register_s ignb_sclr
BREZ SCLR0 SCLR1
Vhodna konfiguracija
Registrirajte vhod A množitelja
Kaj je vir za vhod ure?
gui_input_reg Vklopljeno
ister_a
Izključeno
gui_input_reg ister_a_ura
Ura0 Ura1 Ura2
NIČ NIČ
Izklopljena ura0
Kaj je vir za asinhroni jasni vnos?
gui_input_reg ister_a_aclr
NI ACLR0 ACLR1
Kaj je vir za sinhroni jasni vnos?
gui_input_reg ister_a_sclr
BREZ SCLR0 SCLR1
Registrirajte vhod B množitelja
Kaj je vir za vhod ure?
gui_input_reg Vklopljeno
ister_b
Izključeno
gui_input_reg ister_b_ura
Ura0 Ura1 Ura2
BREZ BREZ Izklopljena ura0
Kaj je vir za asinhroni jasni vnos?
gui_input_reg ister_b_aclr
NI ACLR0 ACLR1
NIČ
Kaj je vir za sinhroni jasni vnos?
gui_input_reg ister_b_sclr
BREZ SCLR0 SCLR1
NIČ
Na kaj je priključen vhod A množitelja?
gui_multiplier Množitelj vhodni množitelj
_a_vnos
Vnos vhodne verige skeniranja
Opis
Izbrati morate vrednost VARIABLE za Kakšen je format predstavitve za vnose množiteljev B? parameter za omogočanje te možnosti.
Izberite Clock0, Clock1 ali Clock2, da omogočite in določite vhodni signal ure za register signb. Če želite omogočiti ta parameter, morate izbrati Registriraj vnos `signb'.
Podaja asinhroni čisti izvor za register signb. Če želite omogočiti ta parameter, morate izbrati Registriraj vnos `signb'.
Podaja sinhroni čisti vir za register signb. Če želite omogočiti ta parameter, morate izbrati Registriraj vnos `signb'.
Izberite to možnost, da omogočite vhodni register za podatkovno vhodno vodilo.
Izberite Clock0, Clock1 ali Clock2, da omogočite in določite vhodni signal ure registra za vhodno vodilo podatkov. Če želite omogočiti ta parameter, morate izbrati Registriraj vhod A množitelja.
Podaja asinhroni čisti izvor registra za vhodno vodilo dataa. Če želite omogočiti ta parameter, morate izbrati Registriraj vhod A množitelja.
Podaja izvor sinhronega brisanja registra za vhodno vodilo podatkov. Če želite omogočiti ta parameter, morate izbrati Registriraj vhod A množitelja.
Izberite to možnost, da omogočite vhodni register za vhodno vodilo datab.
Izberite Clock0, Clock1 ali Clock2, da omogočite in določite vhodni signal ure registra za vhodno vodilo datab. Če želite omogočiti ta parameter, morate izbrati Registriraj vhod B množitelja.
Podaja asinhroni čisti izvor registra za vhodno vodilo datab. Če želite omogočiti ta parameter, morate izbrati Registriraj vhod B množitelja.
Podaja izvor sinhronega brisanja registra za vhodno vodilo datab. Če želite omogočiti ta parameter, morate izbrati Registriraj vhod B množitelja.
Izberite vhodni vir za vhod A množitelja.
nadaljevanje ...
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 50
Pošlji povratne informacije
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Parameter, ustvarjen IP
Vrednost
Scanout A Register Configuration
Registrirajte izhod verige skeniranja
gui_scanouta Vklopljeno
_register
Izključeno
Kaj je vir za vhod ure?
gui_scanouta _register_cloc k
Ura0 Ura1 Ura2
Kaj je vir za asinhroni jasni vnos?
gui_scanouta _register_aclr
NI ACLR0 ACLR1
Kaj je vir za sinhroni jasni vnos?
gui_scanouta _register_sclr
BREZ SCLR0 SCLR1
8.6.4. Zavihek Preadder
Tabela 33. Zavihek Preadder
Parameter
Parameter, ustvarjen IP
Vrednost
Izberite način vnaprejšnjega zbiralnika
preadder_mo de
ENOSTAVNO, COEF, VNOS, KVADRAT, KONSTANTA
Privzeta vrednost
Opis
Izberite Vnos množitelja, če želite uporabiti vhodno vodilo podatkov kot vir množitelja. Izberite Scanin chain input, če želite uporabiti vhodno vodilo scanin kot vir za množitelj in omogočiti izhodno vodilo scanin. Ta parameter je na voljo, ko izberete 2, 3 ali 4 za Kakšno je število množiteljev? parameter.
Off Clock0 NONE NONE
Izberite to možnost, da omogočite izhodni register za izhodno vodilo scanouta.
Morate izbrati Scan chain input za Kaj je povezan vhod A množitelja? parameter za omogočanje te možnosti.
Izberite Clock0, Clock1 ali Clock2, da omogočite in določite vhodni signal ure registra za izhodno vodilo scanouta.
Če želite omogočiti to možnost, morate vklopiti Register output parametra scan chain.
Podaja asinhroni čisti izvor registra za izhodno vodilo scanouta.
Če želite omogočiti to možnost, morate vklopiti Register output parametra scan chain.
Podaja izvor sinhronega brisanja registra za izhodno vodilo scanouta.
Če želite omogočiti to možnost, morate izbrati možnost Register output of the scan chain parameter.
Privzeta vrednost
PREPROSTO
Opis
Določa način delovanja za modul predseštevalnika. PREPROSTO: Ta način zaobide vnaprej seštevalnik. To je privzeti način. COEF: Ta način uporablja izhod predseštevalnika in vhodnega vodila coefsel kot vhode v množitelj. INPUT: Ta način uporablja izhod predseštevalnika in vhodnega vodila podatkov kot vhoda v množilnik. SQUARE: Ta način uporablja izhod predseštevalnika kot oba vhoda v množitelj.
nadaljevanje ...
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 51
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Parameter, ustvarjen IP
Vrednost
Izberite smer prednabiralnika
gui_preadder ADD,
_smer
SUB
Kako široka naj bodo vhodna vodila C width_c?
1 – 256
Konfiguracija vhodnega registra podatkov C
Registrirajte vnos podatkov
gui_datac_inp Vklopljeno
ut_register
Izključeno
Kaj je vir za vhod ure?
gui_datac_inp ut_register_cl ock
Ura0 Ura1 Ura2
Kaj je vir za asinhroni jasni vnos?
gui_datac_inp ut_register_a clr
NI ACLR0 ACLR1
Kaj je vir za sinhroni jasni vnos?
gui_datac_inp ut_register_sc lr
BREZ SCLR0 SCLR1
Koeficienti
Kako široka naj bo širina coef?
širina_koef
1 – 27
Konfiguracija registra Coef
Registrirajte vnos coefsel
gui_coef_regi Vklopljeno
ster
Izključeno
Kaj je vir za vhod ure?
gui_coef_regi ster_ura
Ura0 Ura1 Ura2
Privzeta vrednost
DODAJ
16
Opis
CONSTANT: Ta način uporablja vhodno vodilo dataa z obhodnim predseštevalnikom in vhodno vodilo coefsel kot vhoda v množitelj.
Podaja delovanje prednabiralnika. Če želite omogočiti ta parameter, izberite naslednje za Select preadder mode: · COEF · INPUT · SQUARE ali · CONSTANT
Določa število bitov za vhodno vodilo C. Če želite omogočiti ta parameter, morate izbrati INPUT za Select preadder mode.
Na uri0 NI NI
Izberite to možnost, da omogočite vhodni register za vhodno vodilo datac. Če želite omogočiti to možnost, morate INPUT nastaviti na Select preadder mode parameter.
Izberite Clock0, Clock1 ali Clock2, da določite vhodni signal ure za vhodni register podatkov. Če želite omogočiti ta parameter, morate izbrati Register datac input.
Podaja asinhroni čisti vir za vhodni register podatkov. Če želite omogočiti ta parameter, morate izbrati Register datac input.
Podaja sinhroni čisti vir za vhodni register podatkov. Če želite omogočiti ta parameter, morate izbrati Register datac input.
18
Določa število bitov za
coefsel vhodno vodilo.
Če želite omogočiti ta parameter, morate za način predhodnega seštevalnika izbrati COEF ali CONSTANT.
Na uro 0
Izberite to možnost, da omogočite vhodni register za coefsel vhodno vodilo. Če želite omogočiti ta parameter, morate za način predhodnega seštevalnika izbrati COEF ali CONSTANT.
Izberite Clock0, Clock1 ali Clock2, da določite vhodni taktni signal za vhodni register coefsel. Če želite omogočiti ta parameter, morate izbrati Register the coefsel input.
nadaljevanje ...
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 52
Pošlji povratne informacije
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Kaj je vir za asinhroni jasni vnos?
Parameter, ustvarjen IP
Vrednost
gui_coef_regi ster_aclr
NI ACLR0 ACLR1
Kaj je vir za sinhroni čisti vnos
gui_coef_regi ster_sclr
BREZ SCLR0 SCLR1
Koeficient_0 Konfiguracija
coef0_0 do coef0_7
0x00000 0xFFFFFFF
Koeficient_1 Konfiguracija
coef1_0 do coef1_7
0x00000 0xFFFFFFF
Koeficient_2 Konfiguracija
coef2_0 do coef2_7
0x00000 0xFFFFFFF
Koeficient_3 Konfiguracija
coef3_0 do coef3_7
0x00000 0xFFFFFFF
8.6.5. Zavihek akumulatorja
Tabela 34. Akumulator Tab
Parameter
Parameter, ustvarjen IP
Vrednost
Omogoči akumulator?
akumulator
DA, NE
Kakšna je vrsta delovanja akumulatorja?
accum_directi ADD,
on
SUB
Privzeta vrednost NONE
NIČ
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0
Opis
Podaja asinhroni čisti izvor za vhodni register coefsel. Če želite omogočiti ta parameter, morate izbrati Register the coefsel input.
Podaja sinhroni čisti vir za vhodni register coefsel. Če želite omogočiti ta parameter, morate izbrati Register the coefsel input.
Podaja vrednosti koeficientov za ta prvi množitelj. Število bitov mora biti enako, kot je določeno v Kako široka naj bo širina coef? parameter. Če želite omogočiti ta parameter, morate za način predhodnega seštevalnika izbrati COEF ali CONSTANT.
Podaja vrednosti koeficientov za ta drugi množitelj. Število bitov mora biti enako, kot je določeno v Kako široka naj bo širina coef? parameter. Če želite omogočiti ta parameter, morate za način predhodnega seštevalnika izbrati COEF ali CONSTANT.
Podaja vrednosti koeficientov za ta tretji množitelj. Število bitov mora biti enako, kot je določeno v Kako široka naj bo širina coef? parameter. Če želite omogočiti ta parameter, morate za način predhodnega seštevalnika izbrati COEF ali CONSTANT.
Podaja vrednosti koeficientov za ta četrti množitelj. Število bitov mora biti enako, kot je določeno v Kako široka naj bo širina coef? parameter. Če želite omogočiti ta parameter, morate za način predhodnega seštevalnika izbrati COEF ali CONSTANT.
Privzeta vrednost NO
DODAJ
Opis
Izberite DA, da omogočite akumulator. Ko uporabljate funkcijo akumulatorja, morate izbrati Registriraj izhod seštevalnika.
Določa delovanje akumulatorja: · ADD za operacijo seštevanja · SUB za operacijo odštevanja. Morate izbrati DA za Omogoči akumulator? parameter za omogočanje te možnosti.
nadaljevanje ...
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 53
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Preload Constant Omogoči konstanto prednalaganja
Parameter, ustvarjen IP
Vrednost
gui_ena_prelo On
ad_const
Izključeno
Na kaj je povezan vhod akumulacijskih vrat?
gui_accumula ACCUM_SLOAD, te_port_select SLOAD_ACCUM
Izberite vrednost za prednapetost loadconst_val 0 – 64
konstantna
ue
Kaj je vir za vhod ure?
gui_accum_sl oad_register_ ura
Ura0 Ura1 Ura2
Kaj je vir za asinhroni jasni vnos?
gui_accum_sl oad_register_ aclr
NI ACLR0 ACLR1
Kaj je vir za sinhroni jasni vnos?
gui_accum_sl oad_register_ sclr
BREZ SCLR0 SCLR1
Omogoči dvojni akumulator
gui_double_a Vklopljeno
cum
Izključeno
Privzeta vrednost
Opis
Izključeno
Omogočite accum_sload oz
signali sload_accum in vnos registra
za dinamično izbiro vhoda za
akumulator.
Ko je accum_sload nizek ali sload_accum, se izhod množitelja poda v akumulator.
Ko je accum_sload visok ali sload_accum, se v akumulator poda uporabniško določena konstanta prednalaganja.
Morate izbrati DA za Omogoči akumulator? parameter za omogočanje te možnosti.
ACCUM_SL OAD
Podaja vedenje signala accum_sload/sload_accum.
ACCUM_SLOAD: Poganjajte accum_sload nizko, da naložite izhod množitelja v akumulator.
SLOAD_ACCUM: Poganjajte sload_accum visoko, da naložite izhod množitelja v akumulator.
Če želite omogočiti ta parameter, morate izbrati možnost Omogoči konstanto prednalaganja.
64
Določite prednastavljeno konstantno vrednost.
Ta vrednost je lahko 2N, kjer je N prednastavljena konstantna vrednost.
Ko je N=64, predstavlja konstanto nič.
Če želite omogočiti ta parameter, morate izbrati možnost Omogoči konstanto prednalaganja.
Ura 0
Izberite Clock0, Clock1 ali Clock2, da določite vhodni signal ure za register accum_sload/sload_accum.
Če želite omogočiti ta parameter, morate izbrati možnost Omogoči konstanto prednalaganja.
NIČ
Podaja asinhroni čisti izvor za register accum_sload/sload_accum.
Če želite omogočiti ta parameter, morate izbrati možnost Omogoči konstanto prednalaganja.
NIČ
Podaja sinhroni čisti izvor za register accum_sload/sload_accum.
Če želite omogočiti ta parameter, morate izbrati možnost Omogoči konstanto prednalaganja.
Izključeno
Omogoči dvojni register akumulatorja.
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 54
Pošlji povratne informacije
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.6.6. Sistolični/verižni zavihek
Tabela 35. Zavihek sistolični/verižni seštevalec
Parameter Omogoči verižni seštevalnik
Parameter, ustvarjen IP
Vrednost
chainout_add DA,
er
št
Kakšna je vrsta operacije verižnega seštevalnika?
chainout_add DODAJ,
er_smer
SUB
Omogočiti vnos `negate' za verižni seštevalnik?
Port_negate
PORT_USED, PORT_UNUSED
Registrirati vnos `negate'? zanikati_register er
NEREGISTRIRANO, URA0, URA1, URA2, URA3
Kaj je vir za asinhroni jasni vnos?
negate_aclr
NI ACLR0 ACLR1
Kaj je vir za sinhroni jasni vnos?
negate_sclr
BREZ SCLR0 SCLR1
Sistolična zamuda
Omogoči registre sistolične zakasnitve
gui_systolic_d Vklopljeno
elay
Izključeno
Kaj je vir za vhod ure?
gui_systolic_d CLOCK0,
elay_clock
URA1,
Privzeta vrednost
št
Opis
Izberite DA, da omogočite modul verižnega seštevalnika.
DODAJ
Podaja operacijo verižnega seštevalnika.
Za operacijo odštevanja je treba izbrati SIGNED za Kaj je oblika predstavitve za vnose množiteljev A? in kakšen je format predstavitve za vnose množiteljev B? v zavihku Množitelji.
PORT_UN UPORABLJEN
Izberite PORT_USED, da omogočite zanikanje vhodnega signala.
Ta parameter ni veljaven, če je verižni seštevalnik onemogočen.
ODJAVA ERED
Omogoči vhodni register za negativni vhodni signal in določi vhodni taktni signal za negativni register.
Izberite UNREGISTERED, če zanikani vhodni register ni potreben
Ta parameter ni veljaven, ko izberete:
· NE za Enable chainout adder oz
· PORT_UNUSED za Omogoči 'negativni' vnos za verižni seštevalnik? parameter oz
NIČ
Podaja asinhroni čisti izvor za negirani register.
Ta parameter ni veljaven, ko izberete:
· NE za Enable chainout adder oz
· PORT_UNUSED za Omogoči 'negativni' vnos za verižni seštevalnik? parameter oz
NIČ
Podaja sinhroni čisti izvor za negirani register.
Ta parameter ni veljaven, ko izberete:
· NE za Enable chainout adder oz
· PORT_UNUSED za Omogoči 'negativni' vnos za verižni seštevalnik? parameter oz
Izklopljeno CLOCK0
Izberite to možnost, da omogočite sistolični način. Ta parameter je na voljo, ko izberete 2 ali 4 za Kakšno je število množiteljev? parameter. Za uporabo registrov sistolične zakasnitve morate omogočiti izhod Register enote seštevalnika.
Določa vhodni taktni signal za register sistolične zakasnitve.
nadaljevanje ...
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 55
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Parameter, ustvarjen IP
Vrednost
URA2,
Kaj je vir za asinhroni jasni vnos?
gui_systolic_d elay_aclr
NI ACLR0 ACLR1
Kaj je vir za sinhroni jasni vnos?
gui_systolic_d elay_sclr
BREZ SCLR0 SCLR1
Privzeta vrednost
NIČ
NIČ
Opis
Če želite omogočiti to možnost, morate izbrati omogoči registre sistolične zakasnitve.
Podaja asinhroni čisti vir za register sistolične zakasnitve. Če želite omogočiti to možnost, morate izbrati omogoči registre sistolične zakasnitve.
Podaja sinhroni čisti vir za register sistolične zakasnitve. Če želite omogočiti to možnost, morate izbrati omogoči registre sistolične zakasnitve.
8.6.7. Zavihek Cevovod
Tabela 36. Zavihek Cevovod
Konfiguracija cevovoda parametrov
Parameter, ustvarjen IP
Vrednost
Ali želite vhodu dodati register cevovoda?
gui_pipelining Ne, da
Privzeta vrednost
št
Prosimo, navedite
zakasnitev
število zakasnitve ure
ciklov
Vsaka vrednost, večja od 0 kot 0
Kaj je vir za vhod ure?
gui_input_late ncy_clock
URA0, URA1, URA2
Kaj je vir za asinhroni jasni vnos?
gui_input_late ncy_aclr
NI ACLR0 ACLR1
Kaj je vir za sinhroni jasni vnos?
gui_input_late ncy_sclr
BREZ SCLR0 SCLR1
URA0 NI NI
Opis
Izberite Da, da omogočite dodatno raven registra cevovoda za vhodne signale. Navesti morate vrednost, večjo od 0 za parameter Prosimo, navedite število ciklov zakasnitve.
Podaja želeno zakasnitev v taktih. Ena raven registra cevovoda = 1 zakasnitev v taktu. Morate izbrati DA za Ali želite vhodu dodati register cevovoda? da omogočite to možnost.
Izberite Clock0, Clock1 ali Clock2, da omogočite in določite vhodni taktni signal registra cevovoda. Morate izbrati DA za Ali želite vhodu dodati register cevovoda? da omogočite to možnost.
Podaja asinhroni čisti izvor registra za dodatni register cevovoda. Morate izbrati DA za Ali želite vhodu dodati register cevovoda? da omogočite to možnost.
Podaja izvor sinhronega brisanja registra za dodatni register cevovoda. Morate izbrati DA za Ali želite vhodu dodati register cevovoda? da omogočite to možnost.
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 56
Pošlji povratne informacije
683490 | 2020.10.05 Pošlji povratne informacije
9. ALTMEMMULT (pomnilniški množitelj s konstantnim koeficientom) IP Core
Pozor:
Intel je odstranil podporo za ta IP v različici Intel Quartus Prime Pro Edition 20.3. Če je jedro IP v vaši zasnovi namenjeno napravam v izdaji Intel Quartus Prime Pro Edition, lahko zamenjate IP z LPM_MULT Intel FPGA IP ali znova ustvarite IP in prevedete svojo zasnovo s programsko opremo Intel Quartus Prime Standard Edition.
Jedro IP ALTMEMMULT se uporablja za ustvarjanje pomnilniških množiteljev z uporabo pomnilniških blokov na čipu, ki jih najdemo v Intelovih FPGA (s pomnilniškimi bloki M512, M4K, M9K in MLAB). To jedro IP je uporabno, če nimate dovolj sredstev za implementacijo množiteljev v logičnih elementih (LE) ali namenskih virov množiteljev.
Jedro IP ALTMEMMULT je sinhrona funkcija, ki zahteva uro. Jedro IP ALTMEMMULT implementira množitelj z najmanjšo možno prepustnostjo in zakasnitvijo za dani nabor parametrov in specifikacij.
Naslednja slika prikazuje vrata za jedro IP ALTMEMMULT.
Slika 21. Vrata ALTMEMMULT
ALTMEMMULT
data_in[] sload_data coeff_in[]
rezultat[] rezultat_veljaven load_done
sload_coeff
ura sclr
inst
Funkcije povezanih informacij na strani 71
9.1. Lastnosti
Jedro ALTMEMMULT IP ponuja naslednje funkcije: · Ustvari le množitelje, ki temeljijo na pomnilniku, z uporabo pomnilniških blokov na čipu, ki jih najdete v
Intel FPGA · Podpira podatkovno širino 1 bitov · Podpira podpisan in nepodpisan format predstavitve podatkov · Podpira cevovod s fiksno izhodno zakasnitvijo
Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.
ISO 9001:2015 Registriran
9. ALTMEMMULT (pomnilniški množitelj s konstantnim koeficientom) IP Core 683490 | 2020.10.05
· Shranjuje večkratne konstante v pomnilnik z naključnim dostopom (RAM)
· Omogoča izbiro vrste bloka RAM
· Podpira izbirna vhodna vrata za sinhrono čiščenje in nadzor obremenitve
9.2. Prototip Verilog HDL
Naslednji prototip Verilog HDL se nahaja v Verilog Design File (.v) altera_mf.v v eda sintezni imenik.
module altmemmult #( parameter coeff_representation = “SIGNED”, parameter coefficient0 = “UNUSED”, parameter data_representation = “SIGNED”, parameter nameravana_družina_naprav = “unused”, parameter max_clock_cycles_per_result = 1, parameter number_of_coefficients = 1, parameter ram_block_type = “AUTO”, parameter total_latency = 1, parameter width_c = 1, parameter width_d = 1, parameter width_r = 1, parameter width_s = 1, parameter lpm_type = “altmemmult”, parameter lpm_hint = “unused”) ( ura vhodne žice, vhodna žica [width_c-1: 0]coeff_in, vhodna žica [width_d-1:0] data_in, izhodna žica load_done, izhodna žica [width_r-1:0] rezultat, izhodna žica result_valid, vhodna žica sclr, vhodna žica [width_s-1:0] sel, vhod wire sload_coeff, vhodna žica sload_data)/* sinteza syn_black_box=1 */; končni modul
9.3. Deklaracija komponente VHDL
Deklaracija komponente VHDL se nahaja v VHDL Design File (.vhd) altera_mf_components.vhd v imenik knjižnicvhdlaltera_mf.
komponenta altmemmult generic ( coeff_representation:string := “SIGNED”; coefficient0:string := “UNUSED”; data_representation:string := “SIGNED”; nameravana_družina_naprav:string := “unused”; max_clock_cycles_per_result:natural := 1; number_of_oefficients:natural := 1; ram_block_type:string := “AUTO”; total_latency:natural; width_c:natural; width_d:natural; width_r:natural; width_s:natural := 1; lpm_hint:string := “NEUPORABLJENO”; lpm_type:string := “altmemmult”); port( clock:in std_logic; coeff_in:in std_logic_vector(width_c-1 downto 0) := (others => '0'); data_in:in std_logic_vector(width_d-1 downto 0);
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 58
Pošlji povratne informacije
9. ALTMEMMULT (pomnilniški množitelj s konstantnim koeficientom) IP Core 683490 | 2020.10.05
load_done:out std_logic; rezultat:out std_logic_vector(width_r-1 downto 0); result_valid:out std_logic; sclr:in std_logic := '0'; sel:in std_logic_vector(width_s-1 downto 0) := (others => '0'); sload_coeff:in std_logic := '0'; sload_data:in std_logic := '0'); končna komponenta;
9.4. Pristanišča
Naslednje tabele navajajo vhodna in izhodna vrata za jedro IP ALTMEMMULT.
Tabela 37. Vhodna vrata ALTMEMMULT
Ime vrat
Obvezno
Opis
ura
ja
Vnos ure v množitelj.
coeff_in[]
št
Vhodna vrata koeficienta za množitelj. Velikost vhodnih vrat je odvisna od vrednosti parametra WIDTH_C.
podatki_in[]
ja
Vrata za vnos podatkov v množilnik. Velikost vhodnih vrat je odvisna od vrednosti parametra WIDTH_D.
sclr
št
Sinhroni čisti vnos. Če ni uporabljen, je privzeta vrednost aktivna visoka.
sel[]
št
Izbira fiksnega koeficienta. Velikost vhodnih vrat je odvisna od WIDTH_S
vrednost parametra.
sload_coeff
št
Vhodna vrata za koeficient sinhrone obremenitve. Zamenja trenutno izbrano vrednost koeficienta z vrednostjo, navedeno v vnosu coeff_in.
sload_data
št
Vrata za vnos podatkov o sinhroni obremenitvi. Signal, ki določa novo operacijo množenja in prekliče katero koli obstoječo operacijo množenja. Če ima parameter MAX_CLOCK_CYCLES_PER_RESULT vrednost 1, so vhodna vrata sload_data prezrta.
Tabela 38. Izhodna vrata ALTMEMMULT
Ime vrat
Obvezno
Opis
rezultat[]
ja
Izhodna vrata množitelja. Velikost vhodnih vrat je odvisna od vrednosti parametra WIDTH_R.
rezultat_veljaven
ja
Označuje, kdaj je izhod veljaven rezultat popolnega množenja. Če ima parameter MAX_CLOCK_CYCLES_PER_RESULT vrednost 1, se izhodna vrata result_valid ne uporabljajo.
load_done
št
Označuje, kdaj se je nov koeficient naložil. Signal load_done potrdi, ko je nov koeficient končal nalaganje. Razen če je signal load_done visok, nobene druge vrednosti koeficienta ni mogoče naložiti v pomnilnik.
9.5. Parametri
Naslednja tabela navaja parametre za jedro IP ALTMEMMULT.
Tabela 39.
WIDTH_D WIDTH_C
Parametri ALTMEMMULT
Ime parametra
Vrsta je zahtevana
Opis
Celo število Da
Podaja širino vrat data_in[].
Celo število Da
Podaja širino vrat coeff_in[]. nadaljevano…
Pošlji povratne informacije
Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 59
9. ALTMEMMULT (pomnilniški množitelj s konstantnim koeficientom) IP Core 683490 | 2020.10.05
Ime parametra WIDTH_R WIDTH
Dokumenti / Viri
![]() |
intel FPGA Integer Aritmetic IP Cores [pdf] Uporabniški priročnik FPGA Integer aritmetična IP jedra, Integer aritmetična IP jedra, aritmetična IP jedra, IP jedra |