FPGA integer aritmetička IP jezgra
Korisnički priručnik za Intel FPGA integer aritmetičke IP jezgre
Ažurirano za Intel® Quartus® Prime Design Suite: 20.3
Online verzija Pošalji povratne informacije
UG-01063
ID: 683490 Verzija: 2020.10.05
Sadržaj
Sadržaj
1. Intel FPGA integer aritmetička IP jezgra…………………………………………………………………………….. 5
2. LPM_COUNTER (Counter) IP Core……………………………………………………………………….. 7 2.1. Karakteristike…………………………………………………………………………………………………………………7 2.2. Verilog HDL prototip……………………………………………………………………………….. 8 2.3. Deklaracija VHDL komponente…………………………………………………………………………………….8 2.4. VHDL LIBRARY_USE Deklaracija……………………………………………………………………… 9 2.5. Priključci…………………………………………………………………………………………………………………………..9 2.6. Parametri………………………………………………………………………………………………………… 10
3. LPM_DIVIDE (Divider) Intel FPGA IP Core……………………………………………………………………….. 12 3.1. Karakteristike……………………………………………………………………………………………………………. 12 3.2. Verilog HDL prototip………………………………………………………………………………… 12 3.3. Deklaracija VHDL komponente………………………………………………………………………………….. 13 3.4. VHDL LIBRARY_USE deklaracija…………………………………………………………………. 13 3.5. Priključci………………………………………………………………………………………………………………………… 13 3.6. Parametri………………………………………………………………………………………………………… 14
4. LPM_MULT (multiplikator) IP jezgra………………………………………………………………………………………. 16 4.1. Karakteristike……………………………………………………………………………………………………………. 16 4.2. Verilog HDL prototip………………………………………………………………………………… 17 4.3. Deklaracija VHDL komponente………………………………………………………………………………….. 17 4.4. VHDL LIBRARY_USE deklaracija…………………………………………………………………. 17 4.5. Signali……………………………………………………………………………………………………………… 18 4.6. Parametri za Stratix V, Arria V, Cyclone V i Intel Cyclone 10 LP uređaje…………… 18 4.6.1. Kartica Općenito……………………………………………………………………………………18 4.6.2. Kartica Općenito 2…………………………………………………………………………………………… 19 4.6.3. Kartica cjevovoda………………………………………………………………………………… 19 4.7. Parametri za Intel Stratix 10, Intel Arria 10 i Intel Cyclone 10 GX uređaje……….. 20 4.7.1. Kartica Općenito……………………………………………………………………………………20 4.7.2. Općenito 2 Tab…………………………………………………………………………………………… 20 4.7.3. Cjevovod…………………………………………………………………………………………………21
5. LPM_ADD_SUB (Sabirač/Oduzimanje)…………………………………………………………………… 22 5.1. Karakteristike……………………………………………………………………………………………………………. 22 5.2. Verilog HDL prototip………………………………………………………………………………… 23 5.3. Deklaracija VHDL komponente………………………………………………………………………………….. 23 5.4. VHDL LIBRARY_USE deklaracija…………………………………………………………………. 23 5.5. Priključci………………………………………………………………………………………………………………………… 23 5.6. Parametri………………………………………………………………………………………………………… 24
6. LPM_COMPARE (komparator)………………………………………………………………………………………… 26 6.1. Karakteristike……………………………………………………………………………………………………………. 26 6.2. Verilog HDL prototip………………………………………………………………………………… 27 6.3. Deklaracija VHDL komponente………………………………………………………………………………….. 27 6.4. VHDL LIBRARY_USE deklaracija…………………………………………………………………. 27 6.5. Priključci………………………………………………………………………………………………………………………… 27 6.6. Parametri………………………………………………………………………………………………………… 28
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 2
Pošalji povratne informacije
Sadržaj
7. ALTECC (kod za ispravljanje grešaka: koder/dekoder) IP jezgro…………………………………… 30
7.1. Karakteristike ALTECC enkodera………………………………………………………………………………………..31 7.2. Verilog HDL prototip (ALTECC_ENCODER)……………………………………………………. 32 7.3. Verilog HDL prototip (ALTECC_DECODER)……………………………………………………. 32 7.4. Deklaracija VHDL komponente (ALTECC_ENCODER)……………………………………………33 7.5. Deklaracija VHDL komponente (ALTECC_DECODER)……………………………………………33 7.6. VHDL LIBRARY_USE deklaracija…………………………………………………………………. 33 7.7. Portovi kodera………………………………………………………………………………………………………………… 33 7.8. Portovi dekodera………………………………………………………………………………………………………34 7.9. Parametri kodera …………………………………………………………………………………… 34 7.10. Parametri dekodera ……………………………………………………………………………… 35
8. Intel FPGA Multiply Adder IP Core……………………………………………………………………. 36
8.1. Karakteristike……………………………………………………………………………………………………………. 37 8.1.1. Predsabirač……………………………………………………………………………………………….. 38 8.1.2. Registar sistoličkog kašnjenja………………………………………………………………….. 40 8.1.3. Konstanta predopterećenja…………………………………………………………………………………… 43 8.1.4. Dvostruki akumulator…………………………………………………………………………………… 43
8.2. Verilog HDL prototip………………………………………………………………………………… 44 8.3. Deklaracija VHDL komponente………………………………………………………………………………….. 44 8.4. VHDL LIBRARY_USE deklaracija…………………………………………………………………. 44 8.5. Signali……………………………………………………………………………………………………………… 44 8.6. Parametri………………………………………………………………………………………………………… 47
8.6.1. Kartica Općenito……………………………………………………………………………………47 8.6.2. Kartica Extra Modes ……………………………………………………………………………………….. 47 8.6.3. Kartica množitelja…………………………………………………………………………………………………….. 49 8.6.4. Kartica Predavač……………………………………………………………………………………………. 51 8.6.5. Kartica akumulatora………………………………………………………………………………………………….. 53 8.6.6. Tab Sistolic/Chainout……………………………………………………………………. 55 8.6.7. Kartica cjevovoda…………………………………………………………………………………………… 56
9. ALTMEMMULT (Množitelj konstantnog koeficijenta zasnovan na memoriji) IP jezgra…………………………… 57
9.1. Karakteristike……………………………………………………………………………………………………………. 57 9.2. Verilog HDL prototip………………………………………………………………………………… 58 9.3. Deklaracija VHDL komponente………………………………………………………………………………….. 58 9.4. Priključci……………………………………………………………………………………………………………………… 59 9.5. Parametri………………………………………………………………………………………………………… 59
10. ALTMULT_ACCUM (Množenje-akumuliraj) IP jezgro…………………………………………………………………… 61
10.1. Karakteristike………………………………………………………………………………………………………….. 62 10.2. Verilog HDL prototip………………………………………………………………………………………..62 10.3. Deklaracija VHDL komponente……………………………………………………………………… 63 10.4. VHDL LIBRARY_USE Deklaracija……………………………………………………………………63 10.5. Priključci………………………………………………………………………………………………………………. 63 10.6. Parametri…………………………………………………………………………………………. 64
11. ALTMULT_ADD (Multi-Adder) IP jezgra………………………………………………………………………..69
11.1. Karakteristike………………………………………………………………………………………………………….. 71 11.2. Verilog HDL prototip………………………………………………………………………………………..72 11.3. Deklaracija VHDL komponente……………………………………………………………………… 72 11.4. VHDL LIBRARY_USE deklaracija……………………………………………………………………72
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 3
Sadržaj
11.5. Priključci………………………………………………………………………………………………………………. 72 11.6. Parametri…………………………………………………………………………………………. 73
12. ALTMULT_COMPLEX (kompleksni množitelj) IP jezgra………………………………………………………… 86 12.1. Kompleksno množenje………………………………………………………………………………………. 86 12.2. Kanonsko predstavljanje…………………………………………………………………………………… 87 12.3. Konvencionalno predstavljanje………………………………………………………………………………. 87 12.4. Karakteristike………………………………………………………………………………………………………….. 88 12.5. Verilog HDL prototip………………………………………………………………………………………..88 12.6. Deklaracija VHDL komponente…………………………………………………………………… 89 12.7. VHDL LIBRARY_USE deklaracija……………………………………………………………………89 12.8. Signali……………………………………………………………………………………………………………. 89 12.9. Parametri…………………………………………………………………………………………. 90
13. ALTSQRT (Cjelobrojni kvadratni korijen) IP jezgro……………………………………………………………92 13.1. Karakteristike………………………………………………………………………………………………………….. 92 13.2. Verilog HDL prototip………………………………………………………………………………………..92 13.3. Deklaracija VHDL komponente…………………………………………………………………… 93 13.4. VHDL LIBRARY_USE deklaracija……………………………………………………………………93 13.5. Priključci………………………………………………………………………………………………………………. 93 13.6. Parametri…………………………………………………………………………………………. 94
14. PARALLEL_ADD (paralelni sabirač) IP jezgro……………………………………………………………………….. 95 14.1. Karakteristika…………………………………………………………………………………………………………….95 14.2. Verilog HDL prototip………………………………………………………………………………………..95 14.3. Deklaracija VHDL komponente…………………………………………………………………… 96 14.4. VHDL LIBRARY_USE deklaracija……………………………………………………………………96 14.5. Priključci………………………………………………………………………………………………………………. 96 14.6. Parametri…………………………………………………………………………………………. 97
15. Korisnički vodič za integer aritmetička IP jezgra Arhiva dokumenata………………………………… 98
16. Istorija revizija dokumenta za Intel FPGA Integer Aritmetička IP jezgra Korisničko uputstvo…. 99
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 4
Pošalji povratne informacije
683490 | 2020.10.05. Pošalji povratnu informaciju
1. Intel FPGA integer aritmetička IP jezgra
Možete koristiti Intel® FPGA cjelobrojna IP jezgra za obavljanje matematičkih operacija u vašem dizajnu.
Ove funkcije nude efikasniju sintezu logike i implementaciju uređaja od kodiranja vlastitih funkcija. Možete prilagoditi IP jezgre kako bi se prilagodili vašim zahtjevima dizajna.
Intelova integer aritmetička IP jezgra podijeljena su u sljedeće dvije kategorije: · Biblioteka parametariziranih modula (LPM) IP jezgra · Intel-specifična (ALT) IP jezgra
U sljedećoj tabeli su navedene cjelobrojne aritmetičke IP jezgre.
Tabela 1.
Lista IP jezgri
IP jezgra
LPM IP jezgra
LPM_COUNTER
LPM_DIVIDE
LPM_MULT
LPM_ADD_SUB
LPM_COMPARE
Intel-specifična (ALT) IP jezgra ALTECC
Funkcija je završenaview Counter Divider Multiplier
Komparator za zbrajanje ili oduzimanje
ECC enkoder/dekoder
Podržani uređaj
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 nastavak…
Intel Corporation. Sva prava zadržana. Intel, Intel logo i druge Intel oznake su zaštitni znaci Intel Corporation ili njenih podružnica. Intel garantuje performanse svojih FPGA i poluprovodničkih proizvoda u skladu sa trenutnim specifikacijama u skladu sa Intelovom standardnom garancijom, ali zadržava pravo da izvrši izmene bilo kojeg proizvoda i usluge u bilo koje vreme bez prethodne najave. Intel ne preuzima nikakvu odgovornost ili odgovornost koja proizilazi iz primene ili korišćenja bilo koje informacije, proizvoda ili usluge opisane ovde, osim ako je Intel izričito pristao u pisanoj formi. Intelovim kupcima se savjetuje da nabave najnoviju verziju specifikacija uređaja prije nego što se oslone na bilo koju objavljenu informaciju i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.
ISO 9001:2015 Registrovan
1. Intel FPGA Integer Aritmetic IP Cores 683490 | 2020.10.05
IP jezgre Intel FPGA Multiply Adder ili ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
ALTSQRT
PARALLEL_ADD
Funkcija je završenaview Multiplier-Adder
Multiplikator konstantnog koeficijenta zasnovan na memoriji
Multiplier-Akumulator Multiplier-Adder
Kompleksni množitelj
Integer Square-Root
Parallel Adder
Podržani uređaj
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, Stratiks IV, Stratiks 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, Stratiks IV, Stratiks V
Povezane informacije
· Napomene o izdanju Intel FPGA i programabilnih uređaja
· Uvod u Intel FPGA IP jezgra Pruža više informacija o Intel FPGA IP jezgrima.
· Korisnički vodič za IP jezgre s pomičnim zarezom Pruža više informacija o Intel FPGA IP jezgrama s pomičnim zarezom.
· Uvod u Intel FPGA IP jezgra Pruža opšte informacije o svim Intel FPGA IP jezgrama, uključujući parametriranje, generisanje, nadogradnju i simulaciju IP jezgara.
· Kreiranje skripti za IP i Qsys simulaciju neovisne o verziji Kreirajte simulacijske skripte koje ne zahtijevaju ručno ažuriranje softvera ili nadogradnje verzije IP-a.
· Smjernice najbolje prakse za upravljanje projektima za efikasno upravljanje i prenosivost vašeg projekta i IP-a files.
· Korisnički vodič za Integer Arithmetic IP Cores Arhive dokumenata na stranici 98 Pruža listu korisničkih vodiča za prethodne verzije jezgri Integer Arithmetic IP.
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 6
Pošalji povratne informacije
683490 | 2020.10.05. Pošalji povratnu informaciju
2. LPM_COUNTER (Counter) IP Core
Slika 1.
LPM_COUNTER IP jezgro je binarni brojač koji kreira brojače naviše, brojače nadole i brojače nagore ili nadole sa izlazima širine do 256 bita.
Sljedeća slika prikazuje portove za LPM_COUNTER IP jezgro.
LPM_COUNTER Portovi
LPM_COUNTER
ssclr sload sset podaci[]
q[]
gore dolje
cout
aclr aload aset
clk_en cnt_en cin
inst
2.1. Karakteristike
LPM_COUNTER IP jezgro nudi sljedeće karakteristike: · Generiše brojače gore, dolje i gore/dolje · Generiše sljedeće tipove brojača:
— Običan binarni – brojač se povećava počevši od nule ili smanjuje počevši od 255
— Modul – brojač povećava ili smanjuje vrijednost modula koju je odredio korisnik i ponavlja se
· Podržava opcionalne sinhrone ulazne portove za brisanje, učitavanje i postavljanje · Podržava opcionalne asinhrone ulazne portove za brisanje, učitavanje i postavljanje · Podržava opcionalne ulazne portove za omogućavanje brojanja i omogućavanje sata · Podržava opcionalne portove za unos i iznošenje
Intel Corporation. Sva prava zadržana. Intel, Intel logo i druge Intel oznake su zaštitni znaci Intel Corporation ili njenih podružnica. Intel garantuje performanse svojih FPGA i poluprovodničkih proizvoda u skladu sa trenutnim specifikacijama u skladu sa Intelovom standardnom garancijom, ali zadržava pravo da izvrši izmene bilo kojeg proizvoda i usluge u bilo koje vreme bez prethodne najave. Intel ne preuzima nikakvu odgovornost ili odgovornost koja proizilazi iz primene ili korišćenja bilo koje informacije, proizvoda ili usluge opisane ovde, osim ako je Intel izričito pristao u pisanoj formi. Intelovim kupcima se savjetuje da nabave najnoviju verziju specifikacija uređaja prije nego što se oslone na bilo koju objavljenu informaciju i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.
ISO 9001:2015 Registrovan
2. LPM_COUNTER (Counter) IP Core
683490 | 2020.10.05
2.2. Verilog HDL prototip
Sljedeći Verilog HDL prototip se nalazi u Verilog Designu File (.v) lpm.v u edasynthesis directory.
modul lpm_counter (q, data, clock, cin, cout, clk_en, cnt_en, updown, aset, aclr, aload, sset, sclr, sload, eq); parametar lpm_type = “lpm_counter”; parametar lpm_width = 1; parametar lpm_modulus = 0; parametar lpm_direction = “NEKORIŠĆENO”; parametar lpm_value = “NEKORIŠĆENO”; parametar lpm_svalue = “NEKORIŠTEN”; parametar lpm_pvalue = “NEKORIŠTEN”; parametar lpm_port_updown = “PORT_CONNECTIVITY”; parametar lpm_hint = “NEKORIŠĆENO”; izlaz [lpm_width-1:0] q; output cout; izlaz [15:0] ekv; input cin; ulazni [lpm_width-1:0] podaci; ulazni sat, clk_en, cnt_en, updown; ulaz aset, aclr, aload; ulaz sset, sclr, sload; endmodule
2.3. Deklaracija VHDL komponente
Deklaracija VHDL komponente nalazi se u VHDL dizajnu File (.vhd) LPM_PACK.vhd u librariesvhdllpm direktorij.
komponenta LPM_COUNTER generička ( LPM_WIDTH : prirodno; LPM_MODULUS : prirodno := 0; LPM_DIRECTION : string := “NEKORIŠĆENO”; LPM_AVALUE : string := “NEKORIŠĆENO”; LPM_SVALUE : niz := “NEKORIŠĆENO”; “LPM_PORT: CONTIVITY”; LPM_PVALUE : string := “NEKORIŠĆENO”; LPM_TYPE : string := L_COUNTER; LPM_HINT : string := “NEKORIŠĆENO”); port (Podaci: u std_logic_vector(LPM_WIDTH-1 do 0):= (OSTALI =>
'0'); CLOCK: u std_logic; CLK_EN : u std_logic := '1'; CNT_EN : u std_logic := '1'; GORE : u std_logic := '1'; SLOAD : u std_logic := '0'; SSET : u std_logic := '0'; SCLR : u std_logic := '0'; ALOAD : u std_logic := '0'; ASET : u std_logic := '0'; ACLR : u std_logic := '0'; CIN : u std_logic := '1'; COUT : out std_logic := '0'; Q: out std_logic_vector(LPM_WIDTH-1 downto 0); EQ: out std_logic_vector(15 downto 0));
krajnja komponenta;
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 8
Pošalji povratne informacije
2. LPM_COUNTER (Counter) IP Core 683490 | 2020.10.05
2.4. VHDL LIBRARY_USE deklaracija
Deklaracija VHDL LIBRARY-USE nije potrebna ako koristite deklaraciju komponente VHDL.
BIBLIOTEKA lpm; USE lpm.lpm_components.all;
2.5. Portovi
Sljedeće tablice navode ulazne i izlazne portove za LPM_COUNTER IP jezgro.
Tabela 2.
LPM_COUNTER ulazni portovi
Port Name
Obavezno
Opis
podaci[]
br
Paralelni unos podataka u brojač. Veličina ulaznog porta ovisi o vrijednosti parametra LPM_WIDTH.
sat
Da
Ulaz sata sa okidanjem pozitivne ivice.
clk_en
br
Sat omogućava ulaz da omogući sve sinhrone aktivnosti. Ako se izostavi, zadana vrijednost je 1.
cnt_en
br
Broj omogućava unos za onemogućavanje brojanja kada se tvrdi da je nizak bez utjecaja na sload, sset ili sclr. Ako se izostavi, zadana vrijednost je 1.
gore dolje
br
Kontrolira smjer brojanja. Kada je potvrđeno visoko (1), smjer brojanja je gore, a kada je potvrđeno nisko (0), smjer brojanja je dolje. Ako se koristi parametar LPM_DIRECTION, port prema gore ne može se povezati. Ako se LPM_DIRECTION ne koristi, port prema dolje nije obavezan. Ako se izostavi, zadana vrijednost je gore (1).
cin
br
Prijenos na bit nižeg reda. Za up brojače, ponašanje cin ulaza je
identično ponašanju cnt_en ulaza. Ako se izostavi, zadana vrijednost je 1
(VCC).
aclr
br
Asinhroni čisti unos. Ako se i aset i aclr koriste i potvrđuju, aclr nadjačava aset. Ako se izostavi, zadana vrijednost je 0 (onemogućeno).
aset
br
Asinhroni set ulaz. Određuje q[] izlaze kao sve 1, ili na vrijednost specificiranu parametrom LPM_AVALUE. Ako se koriste i potvrđuju i aset i aclr portovi, vrijednost porta aclr nadjačava vrijednost porta aseta. Ako se izostavi, zadana vrijednost je 0, onemogućeno.
aload
br
Asinhroni ulaz za učitavanje koji asinkrono učitava brojač sa vrijednošću na ulazu podataka. Kada se koristi port za učitavanje, port podataka[] mora biti povezan. Ako se izostavi, zadana vrijednost je 0, onemogućeno.
sclr
br
Sinhroni brisanje ulaza koji briše brojač na sljedećem aktivnom rubu sata. Ako se koriste i potvrđuju i sset i sclr port, vrijednost sclr porta nadjačava vrijednost sset porta. Ako se izostavi, zadana vrijednost je 0, onemogućeno.
sset
br
Sinhroni set ulaz koji postavlja brojač na sljedeću aktivnu ivicu sata. Određuje vrijednost izlaza q kao sve 1, ili na vrijednost specificiranu parametrom LPM_SVALUE. Ako se koriste i potvrđuju i sset i sclr portovi,
vrijednost sclr porta nadjačava vrijednost sset porta. Ako se izostavi, zadana vrijednost je 0 (onemogućeno).
sload
br
Sinhroni ulaz za učitavanje koji učitava brojač sa podacima [] na sljedećoj aktivnoj ivici takta. Kada se koristi sload port, port podataka[] mora biti povezan. Ako se izostavi, zadana vrijednost je 0 (onemogućeno).
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 9
2. LPM_COUNTER (Counter) IP Core 683490 | 2020.10.05
Tabela 3.
LPM_COUNTER izlazni portovi
Port Name
Obavezno
Opis
q[]
br
Izlaz podataka sa brojača. Veličina izlaznog porta ovisi o
Vrijednost parametra LPM_WIDTH. Ili q[] ili barem jedan od eq[15..0] portova
mora biti povezan.
eq[15..0]
br
Izlaz dekodiranja brojača. eq[15..0] port nije dostupan u uređivaču parametara jer parametar podržava samo AHDL.
Moraju biti povezani ili q[] port ili eq[] port. Može se koristiti do c eq portova (0 <= c <= 15). Samo 16 najnižih vrijednosti brojanja se dekodira. Kada je vrijednost brojanja c, eqc izlaz se smatra visokim (1). Za nprample, kada je broj 0, eq0 = 1, kada je broj 1, eq1 = 1, a kada je broj 15, eq 15 = 1. Dekodirani izlaz za vrijednosti brojanja od 16 ili veće zahtijeva eksterno dekodiranje. Izlazi eq[15..0] su asinhroni sa q[] izlazom.
cout
br
Port za izvođenje MSB bita brojača. Može se koristiti za spajanje na drugi brojač za stvaranje većeg brojača.
2.6. Parametri
Sljedeća tabela navodi parametre za LPM_COUNTER IP jezgro.
Tabela 4.
LPM_COUNTER parametri
Naziv parametra
Tip
LPM_WIDTH
Integer
LPM_DIRECTION
String
LPM_MODULUS LPM_AVALUE
Integer
Integer/String
LPM_SVALUE LPM_HINT
Integer/String
String
LPM_TYPE
String
Obavezno Da Ne Ne Ne
Ne Ne
br
Opis
Određuje širine portova podataka[] i q[], ako se koriste.
Vrijednosti su GORE, DOLJE i NEKORIŠĆENO. Ako se koristi parametar LPM_DIRECTION, port prema gore ne može se povezati. Kada gornji port nije povezan, zadana vrijednost parametra LPM_DIRECTION je UP.
Maksimalni broj plus jedan. Broj jedinstvenih stanja u ciklusu brojača. Ako je vrijednost opterećenja veća od parametra LPM_MODULUS, ponašanje brojača nije specificirano.
Konstantna vrijednost koja se učitava kada je sredstvo potvrđeno visoko. Ako je navedena vrijednost veća ili jednaka , ponašanje brojača je nedefinisani (X) logički nivo, gde je LPM_MODULUS, ako postoji, ili 2 ^ LPM_WIDTH. Intel preporučuje da navedete ovu vrijednost kao decimalni broj za AHDL dizajn.
Konstantna vrijednost koja se učitava na rastućoj ivici porta takta kada je sset port postavljen na visoku vrijednost. Intel preporučuje da navedete ovu vrijednost kao decimalni broj za AHDL dizajn.
Kada instancirate funkciju biblioteke parametriziranih modula (LPM) u VHDL dizajnu File (.vhd), morate koristiti parametar LPM_HINT da navedete parametar specifičan za Intel. Za nprample: LPM_HINT = “CHAIN_SIZE = 8, ONE_INPUT_IS_CONSTANT = DA”
Podrazumevana vrijednost je NEKORIŠĆENO.
Identificira naziv entiteta biblioteke parametriziranih modula (LPM) u VHDL dizajnu files.
nastavak…
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 10
Pošalji povratne informacije
2. LPM_COUNTER (Counter) IP Core 683490 | 2020.10.05
Naziv parametra INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN
Tip String String
String
String
Obavezno Ne br
br
br
Opis
Ovaj parametar se koristi za potrebe modeliranja i simulacije ponašanja. Ovaj parametar se koristi za potrebe modeliranja i simulacije ponašanja. Editor parametara izračunava vrijednost za ovaj parametar.
Parametar specifičan za Intel. Morate koristiti LPM_HINT parametar da specificirate parametar CARRY_CNT_EN u VHDL dizajnu files. Vrijednosti su SMART, ON, OFF i UNUSED. Omogućuje funkciju LPM_COUNTER za propagiranje cnt_en signala kroz lanac prijenosa. U nekim slučajevima, postavka parametra CARRY_CNT_EN može imati blagi utjecaj na brzinu, pa biste je možda željeli isključiti. Zadana vrijednost je SMART, što pruža najbolji kompromis između veličine i brzine.
Parametar specifičan za Intel. Morate koristiti LPM_HINT parametar da navedete LABWIDE_SCLR parametar u VHDL dizajnu files. Vrijednosti su ON, OFF ili UNUSED. Zadana vrijednost je ON. Omogućava vam da onemogućite upotrebu funkcije LABwide sclr koja se nalazi u zastarjelim porodicama uređaja. Isključivanje ove opcije povećava šanse za potpuno korištenje djelomično popunjenih LAB-ova i stoga može omogućiti veću logičku gustoću kada se SCLR ne primjenjuje na potpuni LAB. Ovaj parametar je dostupan za kompatibilnost unatrag, a Intel vam preporučuje da ne koristite ovaj parametar.
Određuje upotrebu ulaznog porta nagore. Ako se izostavi, zadana vrijednost je PORT_CONNECTIVITY. Kada je vrijednost porta postavljena na PORT_USED, port se tretira kao korišten. Kada je vrijednost porta postavljena na PORT_UNUSED, port se tretira kao neiskorišten. Kada je vrijednost porta postavljena na PORT_CONNECTIVITY, korištenje porta se utvrđuje provjerom povezanosti porta.
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 11
683490 | 2020.10.05. Pošalji povratnu informaciju
3. LPM_DIVIDE (Divider) Intel FPGA IP Core
Slika 2.
LPM_DIVIDE Intel FPGA IP jezgro implementira djelitelj za dijeljenje ulazne vrijednosti brojila sa ulaznom vrijednošću imenitelja kako bi se proizveo kvocijent i ostatak.
Sljedeća slika prikazuje portove za LPM_DIVIDE IP jezgro.
LPM_DIVIDE Portovi
LPM_DIVIDE
broj[] denom[] sat
količnik[] ostaje[]
clken aclr
inst
3.1. Karakteristike
LPM_DIVIDE IP jezgro nudi sljedeće karakteristike: · Generira djelitelj koji dijeli ulaznu vrijednost brojila sa unosom nazivnika
vrijednost za proizvodnju količnika i ostatka. · Podržava širinu podataka od 1 bita. · Podržava potpisani i nepotpisani format predstavljanja podataka za oba brojioca
i vrijednosti nazivnika. · Podržava optimizaciju područja ili brzine. · Pruža opciju za specificiranje pozitivnog izlaza ostatka. · Podržava konfiguraciju izlazne latencije za konfigurisanje. · Podržava opcione asinhrone portove za brisanje i omogućavanje takta.
3.2. Verilog HDL prototip
Sljedeći Verilog HDL prototip se nalazi u Verilog Designu File (.v) lpm.v u edasynthesis directory.
modul lpm_divide ( količnik, ostatak, broj, denom, sat, clken, aclr); parametar lpm_type = “lpm_divide”; parametar lpm_widthn = 1; parametar lpm_widthd = 1; parametar lpm_nrepresentation = “NEPOTPISAN”; parametar lpm_drepresentation = “NEPOTPISAN”; parametar lpm_remainderpositive = “TRUE”; parametar lpm_pipeline = 0;
Intel Corporation. Sva prava zadržana. Intel, Intel logo i druge Intel oznake su zaštitni znaci Intel Corporation ili njenih podružnica. Intel garantuje performanse svojih FPGA i poluprovodničkih proizvoda u skladu sa trenutnim specifikacijama u skladu sa Intelovom standardnom garancijom, ali zadržava pravo da izvrši izmene bilo kojeg proizvoda i usluge u bilo koje vreme bez prethodne najave. Intel ne preuzima nikakvu odgovornost ili odgovornost koja proizilazi iz primene ili korišćenja bilo koje informacije, proizvoda ili usluge opisane ovde, osim ako je Intel izričito pristao u pisanoj formi. Intelovim kupcima se savjetuje da nabave najnoviju verziju specifikacija uređaja prije nego što se oslone na bilo koju objavljenu informaciju i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.
ISO 9001:2015 Registrovan
3. LPM_DIVIDE (Divider) Intel FPGA IP Core 683490 | 2020.10.05
parametar lpm_hint = “NEKORIŠĆENO”; ulazni sat; input clken; input aclr; ulaz [lpm_widthn-1:0] broj; ulaz [lpm_widthd-1:0] denom; izlazni [lpm_widthn-1:0] kvocijent; izlaz [lpm_widthd-1:0] ostaje; endmodule
3.3. Deklaracija VHDL komponente
Deklaracija VHDL komponente nalazi se u VHDL dizajnu File (.vhd) LPM_PACK.vhd u librariesvhdllpm direktorij.
komponenta LPM_DIVIDE generičko (LPM_WIDTHN : prirodno; LPM_WIDTHD : prirodno;
LPM_NREPRESENTATION : string := “UNSIGNED”; LPM_DREPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : prirodno := 0; LPM_TYPE : string := L_DIVIDE; LPM_HINT : string := “NEKORIŠĆENO”); port (NUMER: u std_logic_vector(LPM_WIDTHN-1 do 0); DENOM: u std_logic_vector(LPM_WIDTHD-1 do 0); ACLR: u std_logic := '0'; CLOCK: u std_logic':= inCLst' := '0';QUOTIENT : izlaz std_logic_vector(LPM_WIDTHN-1 do 1);REMAIN: izlaz std_logic_vector(LPM_WIDTHD-0 do 1)); krajnja komponenta;
3.4. VHDL LIBRARY_USE deklaracija
Deklaracija VHDL LIBRARY-USE nije potrebna ako koristite deklaraciju komponente VHDL.
BIBLIOTEKA lpm; USE lpm.lpm_components.all;
3.5. Portovi
Sljedeće tablice navode ulazne i izlazne portove za LPM_DIVIDE IP jezgro.
Tabela 5.
LPM_DIVIDE ulazni portovi
Port Name
Obavezno
broj[]
Da
denom[]
Da
Opis
Unos podataka numeratora. Veličina ulaznog porta ovisi o vrijednosti parametra LPM_WIDTHN.
Unos podataka o nazivniku. Veličina ulaznog porta ovisi o vrijednosti parametra LPM_WIDTHD.
nastavak…
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 13
3. LPM_DIVIDE (Divider) Intel FPGA IP Core 683490 | 2020.10.05
Naziv porta clock clken
aclr
Obavezno Ne br
br
Opis
Ulaz sata za cevovodnu upotrebu. Za LPM_PIPELINE vrijednosti različite od 0 (podrazumevano), port sata mora biti omogućen.
Sat omogućava cevovodnu upotrebu. Kada je port clken visok, odvija se operacija podjele. Kada je signal nizak, nema operacije. Ako se izostavi, zadana vrijednost je 1.
Asinhroni čisti port koji se koristi u bilo koje vrijeme za resetiranje cjevovoda na sve '0' asinhrono na ulaz sata.
Tabela 6.
LPM_DIVIDE Izlazni portovi
Port Name
Obavezno
Opis
količnik[]
Da
Izlaz podataka. Veličina izlaznog porta ovisi o LPM_WIDTHN
vrijednost parametra.
ostati[]
Da
Izlaz podataka. Veličina izlaznog porta ovisi o LPM_WIDTHD
vrijednost parametra.
3.6. Parametri
Sljedeća tabela navodi parametre za LPM_DIVIDE Intel FPGA IP jezgro.
Naziv parametra
Tip
Obavezno
Opis
LPM_WIDTHN
Integer
Da
Određuje širinu broja [] i
kvocijent[] portovi. Vrijednosti su od 1 do 64.
LPM_WIDTHD
Integer
Da
Određuje širine denom[] i
preostali[] portovi. Vrijednosti su od 1 do 64.
LPM_NREPRESENTATION LPM_DREPRESENTATION
String String
br
Predznak ulaznog brojača.
Vrijednosti su SIGNED i UNSIGNED. Kada ovo
parametar je postavljen na SIGNED, razdjelnik
interpretira unos broj[] kao dva predznaka
dopuna.
br
Predznak unosa nazivnika.
Vrijednosti su SIGNED i UNSIGNED. Kada ovo
parametar je postavljen na SIGNED, razdjelnik
tumači denom[] ulaz kao dva predznaka
dopuna.
LPM_TYPE
String
br
Identificira biblioteku parametriziranih
module (LPM) naziv entiteta u VHDL dizajnu
files (.vhd).
LPM_HINT
String
br
Kada instancirate biblioteku od
funkcija parametriziranih modula (LPM) u a
VHDL Design File (.vhd), morate koristiti
LPM_HINT parametar za određivanje Intel-
specifičan parametar. Za nprample: LPM_HINT
= “CHAIN_SIZE = 8,
ONE_INPUT_IS_CONSTANT = DA” The
zadana vrijednost je NEKORIŠĆENO.
LPM_REMAINDERPOSITIVE
String
br
Parametar specifičan za Intel. Morate koristiti
LPM_HINT parametar za specificiranje
LPM_REMAINDERPOSITIVE parametar u
VHDL dizajn files. Vrijednosti su TRUE ili FALSE.
Ako je ovaj parametar postavljen na TRUE, onda
vrijednost porta rest[] mora biti veća
nastavak…
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 14
Pošalji povratne informacije
3. LPM_DIVIDE (Divider) Intel FPGA IP Core 683490 | 2020.10.05
Naziv parametra
Tip
MAXIMIZE_SPEED
Integer
LPM_PIPELINE
Integer
INTENDED_DEVICE_FAMILY SKIP_BITS
String Integer
Obavezno br
Ne Ne Ne
Opis
veći ili jednak nuli. Ako je ovaj parametar postavljen na TRUE, tada je vrijednost porta rest[] ili nula, ili je vrijednost istog predznaka, bilo pozitivnog ili negativnog, kao i vrijednost porta numera. U cilju smanjenja površine i poboljšanja brzine, Intel preporučuje postavljanje ovog parametra na TRUE u operacijama u kojima ostatak mora biti pozitivan ili gdje je ostatak nebitan.
Parametar specifičan za Intel. Morate koristiti LPM_HINT parametar da specificirate parametar MAXIMIZE_SPEED u VHDL dizajnu files. Vrijednosti su [0..9]. Ako se koristi, softver Intel Quartus Prime pokušava da optimizuje određenu instancu funkcije LPM_DIVIDE za brzinu, a ne za rutabilnost, i poništava postavku logičke opcije Optimization Technique. Ako se MAXIMIZE_SPEED ne koristi, umjesto toga se koristi vrijednost opcije Optimization Technique. Ako je vrijednost MAXIMIZE_SPEED 6 ili veća, kompajler optimizira LPM_DIVIDE IP jezgro za veću brzinu korištenjem lanaca za nošenje; ako je vrijednost 5 ili manja, kompajler implementira dizajn bez prijenosnih lanaca.
Određuje broj ciklusa takta latencije povezanih s kvocijentom[] i preostalim[] izlazima. Vrijednost nula (0) ukazuje da ne postoji latencija i da je instancirana čisto kombinacijska funkcija. Ako se izostavi, zadana vrijednost je 0 (neprotočno). Ne možete specificirati vrijednost za parametar LPM_PIPELINE koja je viša od LPM_WIDTHN.
Ovaj parametar se koristi za potrebe modeliranja i simulacije ponašanja. Editor parametara izračunava vrijednost za ovaj parametar.
Omogućava efikasniju podjelu razlomaka bitova za optimizaciju logike na vodećim bitovima pružanjem broja vodećih GND za LPM_DIVIDE IP jezgro. Odredite broj vodećih GND na izlazu kvocijenta za ovaj parametar.
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 15
683490 | 2020.10.05. Pošalji povratnu informaciju
4. LPM_MULT (multiplikator) IP jezgro
Slika 3.
LPM_MULT IP jezgro implementira množitelj za množenje dvije vrijednosti ulaznih podataka kako bi se proizveo proizvod kao izlaz.
Sljedeća slika prikazuje portove za LPM_MULT IP jezgro.
LPM_Mult Ports
LPM_MULT podaci sataa[] rezultat[] datab[] aclr/sclr clken
inst
Povezane informacije Funkcije na stranici 71
4.1. Karakteristike
LPM_MULT IP jezgro nudi sljedeće karakteristike: · Generiše množitelj koji množi dvije vrijednosti ulaznih podataka · Podržava širinu podataka od 1 bita · Podržava format predstavljanja potpisanih i nepotpisanih podataka · Podržava optimizaciju područja ili brzine · Podržava cjevovod sa konfigurabilnim izlaznim kašnjenjem · Pruža opcija za implementaciju u namjenskoj digitalnoj obradi signala (DSP)
blok kola ili logički elementi (LE) Napomena: Prilikom izrade množitelja većih od izvorno podržane veličine može se/
će biti uticaj na performanse koji je rezultat kaskadiranja DSP blokova. · Podržava opcionalne ulazne portove za asinkrono brisanje i omogućavanje takta · Podržava opcioni sinhroni clear za Intel Stratix 10, Intel Arria 10 i Intel Cyclone 10 GX uređaje
Intel Corporation. Sva prava zadržana. Intel, Intel logo i druge Intel oznake su zaštitni znaci Intel Corporation ili njenih podružnica. Intel garantuje performanse svojih FPGA i poluprovodničkih proizvoda u skladu sa trenutnim specifikacijama u skladu sa Intelovom standardnom garancijom, ali zadržava pravo da izvrši izmene bilo kojeg proizvoda i usluge u bilo koje vreme bez prethodne najave. Intel ne preuzima nikakvu odgovornost ili odgovornost koja proizilazi iz primene ili korišćenja bilo koje informacije, proizvoda ili usluge opisane ovde, osim ako je Intel izričito pristao u pisanoj formi. Intelovim kupcima se savjetuje da nabave najnoviju verziju specifikacija uređaja prije nego što se oslone na bilo koju objavljenu informaciju i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.
ISO 9001:2015 Registrovan
4. LPM_MULT (Multiplier) IP Core 683490 | 2020.10.05
4.2. Verilog HDL prototip
Sljedeći Verilog HDL prototip se nalazi u Verilog Designu File (.v) lpm.v u edasynthesis directory.
modul lpm_mult ( rezultat, dataa, datab, suma, sat, clken, aclr) parametar lpm_type = “lpm_mult”; parametar lpm_widtha = 1; parametar lpm_widthb = 1; parametar lpm_widths = 1; parametar lpm_widthp = 1; parametar lpm_representation = “NEPOTPISAN”; parametar lpm_pipeline = 0; parametar lpm_hint = “NEKORIŠĆENO”; ulazni sat; input clken; input aclr; ulaz [lpm_widtha-1:0] dataa; ulaz [lpm_widthb-1:0] datab; ulaz [lpm_widths-1:0] suma; izlaz [lpm_widthp-1:0] rezultat; endmodule
4.3. Deklaracija VHDL komponente
Deklaracija VHDL komponente nalazi se u VHDL dizajnu File (.vhd) LPM_PACK.vhd u librariesvhdllpm direktorij.
komponenta LPM_MULT generički ( LPM_WIDTHA : prirodno; LPM_WIDTHB : prirodno; LPM_WIDTHS : prirodno := 1; LPM_WIDTHP : prirodno;
LPM_REPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : prirodno := 0; LPM_TYPE: string := L_MULT; LPM_HINT : string := “NEKORIŠĆENO”); port ( DATAA: u std_logic_vector(LPM_WIDTHA-1 do 0); DATAB: u std_logic_vector(LPM_WIDTHB-1 do 0); ACLR: u std_logic := '0'; CLOCK : u std_logic' := CLKst_logic := := '0';SUM : u std_logic_vector(LPM_WIDTHS-1 do 1) := (OSTALI => '0');RESULT: van std_logic_vector(LPM_WIDTHP-0 do 1)); krajnja komponenta;
4.4. VHDL LIBRARY_USE deklaracija
Deklaracija VHDL LIBRARY-USE nije potrebna ako koristite deklaraciju komponente VHDL.
BIBLIOTEKA lpm; USE lpm.lpm_components.all;
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 17
4. LPM_MULT (Multiplier) IP Core 683490 | 2020.10.05
4.5. Signali
Tabela 7.
LPM_MULT Ulazni signali
Naziv signala
Obavezno
Opis
podacia[]
Da
Unos podataka.
Za uređaje Intel Stratix 10, Intel Arria 10 i Intel Cyclone 10 GX, veličina ulaznog signala ovisi o vrijednosti parametra širine podataka.
Za starije i Intel Cyclone 10 LP uređaje, veličina ulaznog signala ovisi o vrijednosti parametra LPM_WIDTHA.
baza podataka[]
Da
Unos podataka.
Za uređaje Intel Stratix 10, Intel Arria 10 i Intel Cyclone 10 GX, veličina ulaznog signala ovisi o vrijednosti parametra širine podataka baze podataka.
Za starije i Intel Cyclone 10 LP uređaje, veličina ulaznog signala zavisi
na vrijednosti parametra LPM_WIDTHB.
sat
br
Ulaz sata za cevovodnu upotrebu.
Za starije i Intel Cyclone 10 LP uređaje, signal takta mora biti omogućen za LPM_PIPELINE vrijednosti koje nisu 0 (podrazumevano).
Za uređaje Intel Stratix 10, Intel Arria 10 i Intel Cyclone 10 GX, signal sata mora biti omogućen ako je vrijednost Latencije drugačija od 1 (podrazumevano).
clken
br
Omogućavanje sata za korištenje u cjevovodu. Kada je clken signal visok,
odvija se operacija sabirača/oduzimanja. Kada je signal slab, nema operacije
javlja. Ako se izostavi, zadana vrijednost je 1.
aclr sclr
br
Asinhroni čisti signal koji se koristi u bilo koje vrijeme za resetiranje cjevovoda na sve 0s,
asinhrono na signal sata. Cjevovod se inicijalizira na nedefinirano (X)
logički nivo. Izlazi su konzistentne, ali različite od nule vrijednosti.
br
Sinhroni čisti signal koji se koristi u bilo koje vrijeme za resetiranje cjevovoda na sve 0s,
sinhrono sa signalom sata. Cjevovod se inicijalizira na nedefinirano (X)
logički nivo. Izlazi su konzistentne, ali različite od nule vrijednosti.
Tabela 8.
LPM_MULT Izlazni signali
signal Name
Obavezno
Opis
rezultat[]
Da
Izlaz podataka.
Za starije i Intel Cyclone 10 LP uređaje, veličina izlaznog signala ovisi o vrijednosti parametra LPM_WIDTHP. Ako LPM_WIDTHP < max (LPM_WIDTHA + LPM_WIDTHB, LPM_WIDTHS) ili (LPM_WIDTHA + LPM_WIDTHS), prisutni su samo LPM_WIDTHP MSB-ovi.
Za Intel Stratix 10, Intel Arria 10 i Intel Cyclone 10 GX, veličina izlaznih signala zavisi od parametra širine rezultata.
4.6. Parametri za Stratix V, Arria V, Cyclone V i Intel Cyclone 10 LP uređaje
4.6.1. General Tab
Tabela 9.
General Tab
Parametar
Vrijednost
Konfiguracija množitelja
Pomnožite 'dataa' unos sa 'datab' unosom
Zadana vrijednost
Opis
Pomnožite 'dataa' unos sa 'datab' unosom
Odaberite željenu konfiguraciju za množitelj.
nastavak…
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 18
Pošalji povratne informacije
4. LPM_MULT (Multiplier) IP Core 683490 | 2020.10.05
Parametar
Koliko širok treba da bude 'dataa' ulaz? Koliko širok bi trebao biti ulaz 'datab'? Kako treba odrediti širinu 'rezultata'? Ograničite širinu
Vrijednost
Pomnoži 'dataa' unos sam po sebi (operacija kvadriranja)
1 – 256 bita
Zadana vrijednost
Opis
8 bita
Odredite širinu porta dataa[].
1 – 256 bita
8 bita
Odredite širinu porta datab[].
Automatski izračunajte širinu Ograničite širinu
1 – 512 bita
Automatski izračunajte širinu
Odaberite željenu metodu da odredite širinu porta result[].
16 bita
Odredite širinu porta rezultata[].
Ova vrijednost će biti učinkovita samo ako odaberete Ograniči širinu u parametru Vrsta.
4.6.2. Općenito 2 Tab
Tabela 10. Općenito 2 Tab
Parametar
Vrijednost
Datab Input
Da li ulazna magistrala 'datab' ima konstantnu vrijednost?
Ne Da
Vrsta množenja
Koju vrstu
Unsigned
množenje želiš? Potpisano
Implementacija
Koju implementaciju množitelja treba koristiti?
Koristite zadanu implementaciju
Koristite namjensko kolo za množenje (nije dostupno za sve porodice)
Koristite logičke elemente
Zadana vrijednost
Opis
br
Odaberite Da da biste odredili konstantnu vrijednost
`datab' ulazna magistrala, ako postoji.
Unsigned
Navedite format predstavljanja i za dataa[] i datab[] ulaze.
Koristite zadanu implementaciju
Odaberite željenu metodu da odredite širinu porta result[].
4.6.3. Pipelining Tab
Tabela 11. Cjevovod Tab
Parametar
Da li želite da dovedete br
funkciju?
Da
Vrijednost
Kreirajte 'aclr'
—
asinhroni čisti port
Zadana vrijednost
Opis
br
Odaberite Da da biste omogućili registar cjevovoda za
izlaz množitelja i navedite željeni
izlazna latencija u taktu. Omogućavanje
pipeline register dodaje dodatno kašnjenje
izlaz.
Neoznačeno
Odaberite ovu opciju da omogućite aclr port da koristi asinkrono brisanje za registar cjevovoda.
nastavak…
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 19
4. LPM_MULT (Multiplier) IP Core 683490 | 2020.10.05
Parametar
Kreirajte 'clken' sat za omogućavanje sata
Optimizacija
Koju vrstu optimizacije želite?
Vrijednost —
Podrazumevano područje brzine
Zadana vrijednost
Opis
Neoznačeno
Određuje aktivnu mogućnost visokog takta za port takta registra cjevovoda
Default
Odredite željenu optimizaciju za IP jezgro.
Odaberite Podrazumevano da dozvolite softveru Intel Quartus Prime da odredi najbolju optimizaciju za IP jezgro.
4.7. Parametri za Intel Stratix 10, Intel Arria 10 i Intel Cyclone 10 GX uređaje
4.7.1. General Tab
Tabela 12. Općenito Tab
Parametar
Vrijednost
Zadana vrijednost
Opis
Tip konfiguracije množitelja
Širina porta podataka
Pomnožite 'dataa' unos sa 'datab' unosom
Pomnoži 'dataa' unos sam po sebi (operacija kvadriranja)
Pomnožite 'dataa' unos sa 'datab' unosom
Odaberite željenu konfiguraciju za množitelj.
Dataa width
1 – 256 bita
8 bita
Odredite širinu porta dataa[].
Širina baze podataka
1 – 256 bita
8 bita
Odredite širinu porta datab[].
Kako treba odrediti širinu 'rezultata'?
Tip
Automatski izračunajte širinu
Ograničite širinu
Automatski izračunajte širinu
Odaberite željenu metodu da odredite širinu porta result[].
Vrijednost
1 – 512 bita
16 bita
Odredite širinu porta rezultata[].
Ova vrijednost će biti učinkovita samo ako odaberete Ograniči širinu u parametru Vrsta.
Širina rezultata
1 – 512 bita
—
Prikazuje efektivnu širinu porta rezultata [].
4.7.2. Općenito 2 Tab
Tabela 13. Općenito 2 Tab
Parametar
Datab Input
Da li ulazna magistrala 'datab' ima konstantnu vrijednost?
Ne Da
Vrijednost
Zadana vrijednost
Opis
br
Odaberite Da da biste odredili konstantnu vrijednost
`datab' ulazna magistrala, ako postoji.
nastavak…
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 20
Pošalji povratne informacije
4. LPM_MULT (Multiplier) IP Core 683490 | 2020.10.05
Parametar
Vrijednost
Vrijednost
Bilo koja vrijednost veća od 0
Vrsta množenja
Koju vrstu
Unsigned
množenje želiš? Potpisano
Stil implementacije
Koju implementaciju množitelja treba koristiti?
Koristite zadanu implementaciju
Koristite namjensko kolo za množenje
Koristite logičke elemente
Zadana vrijednost
Opis
0
Odredite konstantnu vrijednost porta datab[].
Unsigned
Navedite format predstavljanja i za dataa[] i datab[] ulaze.
Koristite zadanu implementaciju
Odaberite željenu metodu da odredite širinu porta result[].
4.7.3. Cjevovod
Tabela 14. Cjevovod Tab
Parametar
Vrijednost
Da li želite da kanalizujete funkciju?
Pipeline
Ne Da
Latency Clear Signal Type
Bilo koja vrijednost veća od 0.
NONE ACLR SCLR
Kreirajte 'clken' sat
—
omogućiti sat
Koju vrstu optimizacije želite?
Tip
Podrazumevano područje brzine
Zadana vrijednost
Opis
Ne 1 NONE
—
Odaberite Da da biste omogućili registar cjevovoda za izlaz množitelja. Omogućavanje registra cjevovoda dodaje dodatno kašnjenje izlazu.
Odredite željeno kašnjenje izlaza u ciklusu takta.
Odredite tip resetiranja za registar cjevovoda. Odaberite NONE ako ne koristite nijedan registar cjevovoda. Odaberite ACLR da koristite asinkrono brisanje za registar cjevovoda. Ovo će generirati ACLR port. Odaberite SCLR za korištenje sinkronog brisanja za registar cjevovoda. Ovo će generirati SCLR port.
Određuje aktivnu mogućnost visokog takta za port takta registra cjevovoda
Default
Odredite željenu optimizaciju za IP jezgro.
Izaberite Podrazumevano da dozvolite softveru Intel Quartus Prime da odredi najbolju optimizaciju za IP jezgro.
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 21
683490 | 2020.10.05. Pošalji povratnu informaciju
5. LPM_ADD_SUB (Sabirač/Oduzimanje)
Slika 4.
LPM_ADD_SUB IP jezgro vam omogućava da implementirate sabirač ili oduzimanje za dodavanje ili oduzimanje skupova podataka kako biste proizveli izlaz koji sadrži zbir ili razliku ulaznih vrijednosti.
Sljedeća slika prikazuje portove za LPM_ADD_SUB IP jezgro.
LPM_ADD_SUB Portovi
LPM_ADD_SUB add_sub cin
podacia[]
sat clken datab[] aclr
rezultat[] overflow cout
inst
5.1. Karakteristike
LPM_ADD_SUB IP jezgro nudi sljedeće karakteristike: · Generira sabirač, oduzimanje i dinamički konfigurabilni sabirač/oduzimanje
funkcije. · Podržava širinu podataka od 1 bita. · Podržava format predstavljanja podataka kao što su potpisani i nepotpisani. · Podržava opciono preuzimanje (posuđivanje), asinhrono brisanje i omogućavanje sata
ulazni portovi. · Podržava opcione izlazne portove za iznošenje (posuđivanje) i prelivanje. · Dodjeljuje jednu od ulaznih sabirnica podataka konstanti. · Podržava cjevovod sa konfigurabilnim izlaznim kašnjenjem.
Intel Corporation. Sva prava zadržana. Intel, Intel logo i druge Intel oznake su zaštitni znaci Intel Corporation ili njenih podružnica. Intel garantuje performanse svojih FPGA i poluprovodničkih proizvoda u skladu sa trenutnim specifikacijama u skladu sa Intelovom standardnom garancijom, ali zadržava pravo da izvrši izmene bilo kojeg proizvoda i usluge u bilo koje vreme bez prethodne najave. Intel ne preuzima nikakvu odgovornost ili odgovornost koja proizilazi iz primene ili korišćenja bilo koje informacije, proizvoda ili usluge opisane ovde, osim ako je Intel izričito pristao u pisanoj formi. Intelovim kupcima se savjetuje da nabave najnoviju verziju specifikacija uređaja prije nego što se oslone na bilo koju objavljenu informaciju i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.
ISO 9001:2015 Registrovan
5. LPM_ADD_SUB (Sabirač/Oduzimanje) 683490 | 2020.10.05
5.2. Verilog HDL prototip
Sljedeći Verilog HDL prototip se nalazi u Verilog Designu File (.v) lpm.v u edasynthesis directory.
modul lpm_add_sub (rezultat, cout, overflow,add_sub, cin, dataa, datab, clock, clken, aclr); parametar lpm_type = “lpm_add_sub”; parametar lpm_width = 1; parametar lpm_direction = “NEKORIŠĆENO”; parametar lpm_representation = “POTPISAN”; parametar lpm_pipeline = 0; parametar lpm_hint = “NEKORIŠĆENO”; ulaz [lpm_width-1:0] dataa, datab; ulaz add_sub, cin; ulazni sat; input clken; input aclr; izlaz [lpm_width-1:0] rezultat; izlazni izlaz, preliv; endmodule
5.3. Deklaracija VHDL komponente
Deklaracija VHDL komponente nalazi se u VHDL dizajnu File (.vhd) LPM_PACK.vhd u librariesvhdllpm direktorij.
komponenta LPM_ADD_SUB generička (LPM_WIDTH : prirodno;
LPM_DIRECTION : string := “NEKORIŠĆENO”; LPM_REPRESENTATION: string := “POTPISAN”; LPM_PIPELINE : prirodno := 0; LPM_TYPE : string := L_ADD_SUB; LPM_HINT : string := “NEKORIŠĆENO”); port (DATAA: u std_logic_vector(LPM_WIDTH-1 do 0); DATAB: u std_logic_vector(LPM_WIDTH-1 do 0); ACLR: u std_logic := '0'; CLOCK : u std_logic' := in CLKEN_ := '0'; CIN : u std_logic := 'Z'; ADD_SUB : u std_logic := '1'; REZULTAT: izlaz std_logic_vector(LPM_WIDTH-1 do 1); COUT : izlaz std_logic; OVERFLOW_logic: izlaz); krajnja komponenta;
5.4. VHDL LIBRARY_USE deklaracija
Deklaracija VHDL LIBRARY-USE nije potrebna ako koristite deklaraciju komponente VHDL.
BIBLIOTEKA lpm; USE lpm.lpm_components.all;
5.5. Portovi
Sljedeće tablice navode ulazne i izlazne portove za LPM_ADD_SUB IP jezgro.
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 23
5. LPM_ADD_SUB (Sabirač/Oduzimanje) 683490 | 2020.10.05
Tabela 15. LPM_ADD_SUB IP jezgra ulaznih portova
Port Name
Obavezno
Opis
cin
br
Prijenos na bit nižeg reda. Za operacije sabiranja, zadana vrijednost je 0. Za
operacije oduzimanja, zadana vrijednost je 1.
podacia[]
Da
Unos podataka. Veličina ulaznog porta ovisi o vrijednosti parametra LPM_WIDTH.
baza podataka[]
Da
Unos podataka. Veličina ulaznog porta ovisi o vrijednosti parametra LPM_WIDTH.
add_sub
br
Opcioni ulazni port za omogućavanje dinamičkog prebacivanja između sabirača i oduzimača
funkcije. Ako se koristi parametar LPM_DIRECTION, add_sub se ne može koristiti. Ako
izostavljeno, zadana vrijednost je ADD. Intel preporučuje da koristite
LPM_DIRECTION parametar za specificiranje rada funkcije LPM_ADD_SUB,
umjesto dodjeljivanja konstante add_sub portu.
sat
br
Ulaz za cevovodnu upotrebu. Port za takt obezbeđuje ulaz takta za cevovod
operacija. Za LPM_PIPELINE vrijednosti različite od 0 (podrazumevano), port sata mora biti
omogućeno.
clken
br
Omogućavanje sata za korištenje u cjevovodu. Kada je port clken visok, zbrajač/
odvija se rad oduzimača. Kada je signal nizak, nema operacije. Ako
izostavljeno, zadana vrijednost je 1.
aclr
br
Asinkrono brisanje za cevovodnu upotrebu. Cjevovod se inicijalizira na nedefinirano (X)
logički nivo. Aclr port se može koristiti u bilo koje vrijeme za resetiranje cjevovoda na sve 0s,
asinhrono na signal sata.
Tabela 16. LPM_ADD_SUB Izlazni portovi IP jezgra
Port Name
Obavezno
Opis
rezultat[]
Da
Izlaz podataka. Veličina izlaznog porta ovisi o parametru LPM_WIDTH
vrijednost.
cout
br
Izvođenje (posuđivanje) najznačajnijeg bita (MSB). Izlazni port ima fizički
tumačenje kao izvršenje (posuđivanje) MSB. Izlazni port detektuje
prelivanje u UNSIGNED operacijama. Cout port radi na isti način za
POTPISANE i NEPOTPISANE operacije.
overflow
br
Opcioni izlaz izuzetka prelivanja. Prelivni port ima fizičku interpretaciju kao
XOR prijenosa na MSB sa iznošenjem MSB-a. Prelivni priključak
potvrđuje kada rezultati premašuju dostupnu preciznost i koristi se samo kada je
Vrijednost parametra LPM_REPRESENTATION je SIGNED.
5.6. Parametri
Sljedeća tabela navodi parametre LPM_ADD_SUB IP jezgre.
Tablica 17. LPM_ADD_SUB IP jezgrini parametri
Naziv parametra LPM_WIDTH
Upišite cijeli broj
Obavezno Da
Opis
Određuje širinu portova dataa[], datab[] i result[].
LPM_DIRECTION
String
br
Vrijednosti su ADD, SUB i UNUSED. Ako se izostavi, zadana vrijednost je DEFAULT, koja usmjerava parametar da preuzme svoju vrijednost iz add_sub porta. add_sub port se ne može koristiti ako se koristi LPM_DIRECTION. Intel preporučuje da koristite parametar LPM_DIRECTION da specificirate rad funkcije LPM_ADD_SUB, umjesto da dodjeljujete konstantu add_sub portu.
nastavak…
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 24
Pošalji povratne informacije
5. LPM_ADD_SUB (Sabirač/Oduzimanje) 683490 | 2020.10.05
Naziv parametra LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY
Tip String Integer String String Integer
String
Obavezno Ne Ne Ne Ne Ne Ne Ne
br
Opis
Određuje tip izvršenog dodavanja. Vrijednosti su SIGNED i UNSIGNED. Ako se izostavi, zadana vrijednost je SIGNED. Kada je ovaj parametar postavljen na SIGNED, sabirač/oduzimanje tumači ulazne podatke kao komplementar dva predznaka.
Određuje broj ciklusa latencije pridruženih rezultatu [] izlazu. Vrijednost nula (0) ukazuje da ne postoji latencija i da će se instancirati čisto kombinacijska funkcija. Ako se izostavi, zadana vrijednost je 0 (bez cjevovoda).
Omogućava vam da specificirate parametre specifične za Intel u VHDL dizajnu files (.vhd). Podrazumevana vrijednost je NEKORIŠĆENO.
Identificira naziv entiteta biblioteke parametriziranih modula (LPM) u VHDL dizajnu files.
Parametar specifičan za Intel. Morate koristiti LPM_HINT parametar da specificirate parametar ONE_INPUT_IS_CONSTANT u VHDL dizajnu files. Vrijednosti su DA, NE i NEKORIŠĆENO. Pruža veću optimizaciju ako je jedan ulaz konstantan. Ako se izostavi, zadana vrijednost je NE.
Parametar specifičan za Intel. Morate koristiti LPM_HINT parametar da specificirate parametar MAXIMIZE_SPEED u VHDL dizajnu files. Možete navesti vrijednost između 0 i 10. Ako se koristi, softver Intel Quartus Prime pokušava optimizirati određenu instancu funkcije LPM_ADD_SUB radi brzine, a ne rutabilnosti, i poništava postavku logičke opcije Optimization Technique. Ako se MAXIMIZE_SPEED ne koristi, umjesto toga se koristi vrijednost opcije Optimization Technique. Ako je postavka za MAXIMIZE_SPEED 6 ili veća, kompajler optimizuje LPM_ADD_SUB IP jezgro za veću brzinu koristeći lance za nošenje; ako je postavka 5 ili manje, kompajler implementira dizajn bez lanaca za nošenje. Ovaj parametar mora biti specificiran za Cyclone, Stratix i Stratix GX uređaje samo kada se add_sub port ne koristi.
Ovaj parametar se koristi za potrebe modeliranja i simulacije ponašanja. Editor parametara izračunava vrijednost za ovaj parametar.
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 25
683490 | 2020.10.05. Pošalji povratnu informaciju
6. LPM_COMPARE (komparator)
Slika 5.
LPM_COMPARE IP jezgro uspoređuje vrijednost dva skupa podataka kako bi odredila odnos između njih. U svom najjednostavnijem obliku, možete koristiti isključivu ILI kapiju da odredite da li su dva bita podataka jednaka.
Sljedeća slika prikazuje portove za LPM_COMPARE IP jezgro.
LPM_COMPARE Portovi
LPM_COMPARE
clken
alb
aeb
podacia[]
agb
baza podataka[]
ageb
sat
aneb
aclr
aleb
inst
6.1. Karakteristike
IP jezgro LPM_COMPARE nudi sljedeće karakteristike: · Generiše funkciju komparatora za upoređivanje dva skupa podataka · Podržava širinu podataka od 1 bita · Podržava format predstavljanja podataka kao što su potpisani i nepotpisani · Proizvodi sljedeće tipove izlaza:
— alb (ulaz A je manji od ulaza B) — aeb (ulaz A je jednak ulazu B) — agb (ulaz A je veći od ulaza B) — ageb (ulaz A je veći ili jednak ulazu B) — aneb ( ulaz A nije jednak ulazu B) — aleb (ulaz A je manji od ili jednak ulazu B) · Podržava opcionalne asinhrone ulazne portove za brisanje i omogućavanje takta · Dodjeljuje ulaz datab[] konstanti · Podržava cjevovod sa konfigurabilnom izlaznom latencijom
Intel Corporation. Sva prava zadržana. Intel, Intel logo i druge Intel oznake su zaštitni znaci Intel Corporation ili njenih podružnica. Intel garantuje performanse svojih FPGA i poluprovodničkih proizvoda u skladu sa trenutnim specifikacijama u skladu sa Intelovom standardnom garancijom, ali zadržava pravo da izvrši izmene bilo kojeg proizvoda i usluge u bilo koje vreme bez prethodne najave. Intel ne preuzima nikakvu odgovornost ili odgovornost koja proizilazi iz primene ili korišćenja bilo koje informacije, proizvoda ili usluge opisane ovde, osim ako je Intel izričito pristao u pisanoj formi. Intelovim kupcima se savjetuje da nabave najnoviju verziju specifikacija uređaja prije nego što se oslone na bilo koju objavljenu informaciju i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.
ISO 9001:2015 Registrovan
6. LPM_COMPARE (komparator) 683490 | 2020.10.05
6.2. Verilog HDL prototip
Sljedeći Verilog HDL prototip se nalazi u Verilog Designu File (.v) lpm.v u edasynthesis directory.
modul lpm_compare (alb, aeb, agb, aleb, aneb, ageb, dataa, datab, clock, clken, aclr); parametar lpm_type = “lpm_compare”; parametar lpm_width = 1; parametar lpm_representation = “NEPOTPISAN”; parametar lpm_pipeline = 0; parametar lpm_hint = “NEKORIŠĆENO”; ulaz [lpm_width-1:0] dataa, datab; ulazni sat; input clken; input aclr; izlaz alb, aeb, agb, aleb, aneb, ageb; endmodule
6.3. Deklaracija VHDL komponente
Deklaracija VHDL komponente nalazi se u VHDL dizajnu File (.vhd) LPM_PACK.vhd u librariesvhdllpm direktorij.
komponenta LPM_COMPARE generičko (LPM_WIDTH : prirodno;
LPM_REPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : prirodno := 0; LPM_TYPE: string := L_COMPARE; LPM_HINT : string := “NEKORIŠĆENO”); port (DATAA: u std_logic_vector(LPM_WIDTH-1 do 0); DATAB: u std_logic_vector(LPM_WIDTH-1 do 0); ACLR: u std_logic := '0'; CLOCK : u std_logic' := in CLKEN_ := '0'; AGB : izlaz std_logic; AGEB : izlaz std_logic; AEB : izlaz std_logic; ANEB : izlaz std_logic; ALB : izlaz std_logic; ALEB : izlaz std_logic); krajnja komponenta;
6.4. VHDL LIBRARY_USE deklaracija
Deklaracija VHDL LIBRARY-USE nije potrebna ako koristite deklaraciju komponente VHDL.
BIBLIOTEKA lpm; USE lpm.lpm_components.all;
6.5. Portovi
Sljedeće tablice navode ulazne i izlazne portove za LMP_COMPARE IP jezgro.
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 27
6. LPM_COMPARE (komparator) 683490 | 2020.10.05
Tablica 18. LPM_COMPARE IP jezgro ulaznih portova
Port Name
Obavezno
Opis
podacia[]
Da
Unos podataka. Veličina ulaznog porta ovisi o vrijednosti parametra LPM_WIDTH.
baza podataka[]
Da
Unos podataka. Veličina ulaznog porta ovisi o vrijednosti parametra LPM_WIDTH.
sat
br
Ulaz sata za cevovodnu upotrebu. Port za takt obezbeđuje ulaz takta za cevovod
operacija. Za LPM_PIPELINE vrijednosti različite od 0 (podrazumevano), port sata mora biti
omogućeno.
clken
br
Omogućavanje sata za korištenje u cjevovodu. Kada je port clken visok,
odvija se operacija poređenja. Kada je signal nizak, nema operacije. Ako
izostavljeno, zadana vrijednost je 1.
aclr
br
Asinkrono brisanje za cevovodnu upotrebu. Cjevovod se inicijalizira na nedefiniranu (X) logiku
nivo. Aclr port se može koristiti u bilo koje vrijeme za resetiranje cjevovoda na sve 0s,
asinhrono na signal sata.
Tablica 19. LPM_COMPARE Izlazni portovi IP jezgre
Port Name
Obavezno
Opis
alb
br
Izlazni port za komparator. Potvrđeno ako je ulaz A manji od ulaza B.
aeb
br
Izlazni port za komparator. Potvrđeno ako je ulaz A jednak ulazu B.
agb
br
Izlazni port za komparator. Potvrđeno ako je ulaz A veći od ulaza B.
ageb
br
Izlazni port za komparator. Potvrđeno ako je ulaz A veći ili jednak ulazu
B.
aneb
br
Izlazni port za komparator. Potvrđeno ako ulaz A nije jednak ulazu B.
aleb
br
Izlazni port za komparator. Potvrđeno ako je ulaz A manji ili jednak ulazu B.
6.6. Parametri
Sljedeća tabela navodi parametre za LPM_COMPARE IP jezgro.
Tablica 20. Parametri LPM_COMPARE IP jezgre
Naziv parametra
Tip
Obavezno
LPM_WIDTH
Integer Yes
LPM_REPRESENTATION
String
br
LPM_PIPELINE
Cijeli broj
LPM_HINT
String
br
Opis
Određuje širinu portova dataa[] i datab[].
Određuje tip izvršenog poređenja. Vrijednosti su SIGNED i UNSIGNED. Ako se izostavi, zadana vrijednost je UNSIGNED. Kada je ova vrijednost parametra postavljena na SIGNED, komparator tumači ulazne podatke kao komplement dva znaka.
Određuje broj ciklusa takta latencije povezanih sa izlazom alb, aeb, agb, ageb, aleb ili aneb. Vrijednost nula (0) ukazuje da ne postoji latencija i da će se instancirati čisto kombinacijska funkcija. Ako se izostavi, zadana vrijednost je 0 (neprotočno).
Omogućava vam da specificirate parametre specifične za Intel u VHDL dizajnu files (.vhd). Podrazumevana vrijednost je NEKORIŠĆENO.
nastavak…
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 28
Pošalji povratne informacije
6. LPM_COMPARE (komparator) 683490 | 2020.10.05
Naziv parametra LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT
Tip String String
String
Obavezno Ne br
br
Opis
Identificira naziv entiteta biblioteke parametriziranih modula (LPM) u VHDL dizajnu files.
Ovaj parametar se koristi za potrebe modeliranja i simulacije ponašanja. Editor parametara izračunava vrijednost za ovaj parametar.
Parametar specifičan za Intel. Morate koristiti LPM_HINT parametar da specificirate parametar ONE_INPUT_IS_CONSTANT u VHDL dizajnu files. Vrijednosti su DA, NE ili NEKORIŠĆENO. Pruža veću optimizaciju ako je ulaz konstantan. Ako se izostavi, zadana vrijednost je NE.
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 29
683490 | 2020.10.05. Pošalji povratnu informaciju
7. ALTECC (kod za ispravljanje grešaka: koder/dekoder) IP jezgro
Slika 6.
Intel obezbeđuje ALTECC IP jezgro za implementaciju ECC funkcionalnosti. ECC otkriva oštećene podatke koji se javljaju na strani prijemnika tokom prijenosa podataka. Ova metoda ispravljanja grešaka je najprikladnija za situacije u kojima se greške javljaju nasumično, a ne u nizu.
ECC otkriva greške kroz proces kodiranja i dekodiranja podataka. Za nprampDakle, kada se ECC primjenjuje u aplikaciji za prijenos, podaci pročitani iz izvora se kodiraju prije nego što se pošalju prijemniku. Izlaz (kodna riječ) iz enkodera se sastoji od sirovih podataka pridodanih brojem bitova parnosti. Tačan broj dodanih bitova parnosti ovisi o broju bitova u ulaznim podacima. Generirana kodna riječ se zatim prenosi do odredišta.
Prijemnik prima kodnu riječ i dekodira je. Informacije koje dobije dekoder određuju da li je greška otkrivena. Dekoder otkriva jednobitne i dvobitne greške, ali može popraviti samo jednobitne greške u oštećenim podacima. Ovaj tip ECC-a je jednostruka ispravka greške, otkrivanje dvostruke greške (SECDED).
Možete konfigurirati funkcije kodera i dekodera ALTECC IP jezgre. Ulaz podataka u enkoder je kodiran za generiranje kodne riječi koja je kombinacija unosa podataka i generiranih bitova parnosti. Generirana kodna riječ se prenosi modulu dekodera za dekodiranje neposredno prije nego što stigne do odredišnog bloka. Dekoder generiše vektor sindroma kako bi utvrdio postoji li greška u primljenoj kodnoj riječi. Dekoder ispravlja podatke samo ako je jednobitna greška iz bitova podataka. Nema signala ako je jednobitna greška iz bitova parnosti. Dekoder takođe ima signale zastavice za prikaz statusa primljenih podataka i radnje koju je dekoder preduzeo, ako ih ima.
Sljedeće slike prikazuju portove za ALTECC IP jezgro.
ALTECC Encoder Portovi
ALTECC_ENCODER
podaci[]
q[]
sat
clocken
aclr
inst
Intel Corporation. Sva prava zadržana. Intel, Intel logo i druge Intel oznake su zaštitni znaci Intel Corporation ili njenih podružnica. Intel garantuje performanse svojih FPGA i poluprovodničkih proizvoda u skladu sa trenutnim specifikacijama u skladu sa Intelovom standardnom garancijom, ali zadržava pravo da izvrši izmene bilo kojeg proizvoda i usluge u bilo koje vreme bez prethodne najave. Intel ne preuzima nikakvu odgovornost ili odgovornost koja proizilazi iz primene ili korišćenja bilo koje informacije, proizvoda ili usluge opisane ovde, osim ako je Intel izričito pristao u pisanoj formi. Intelovim kupcima se savjetuje da nabave najnoviju verziju specifikacija uređaja prije nego što se oslone na bilo koju objavljenu informaciju i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.
ISO 9001:2015 Registrovan
7. ALTECC (kod za ispravljanje grešaka: koder/dekoder) IP Core 683490 | 2020.10.05
Slika 7. Portovi ALTECC dekodera
ALTECC_DECODER
data[] clock clocken
q[] err_detected err_corrected
err_fatal
aclr
inst
7.1. Karakteristike ALTECC enkodera
IP jezgro ALTECC enkodera nudi sljedeće karakteristike: · Izvodi kodiranje podataka koristeći šemu Hammingovog kodiranja · Podržava širinu podataka od 2 bita · Podržava format predstavljanja potpisanih i nepotpisanih podataka · Podržava cevovod sa izlaznom latencijom od jednog ili dva ciklusa takta · Podržava opciono asinhroni portovi za brisanje i omogućavanje takta
IP jezgro ALTECC kodera preuzima i kodira podatke koristeći šemu Hamming kodiranja. Šema Hamingovog kodiranja izvodi paritetne bitove i dodaje ih originalnim podacima kako bi proizvela izlaznu kodnu riječ. Broj paritetnih bitova koji se dodaju ovisi o širini podataka.
Sljedeća tabela navodi broj bitova parnosti koji se dodaju za različite raspone širina podataka. Kolona Total Bits predstavlja ukupan broj bitova ulaznih podataka i pridodanih bitova parnosti.
Tabela 21.
Broj bitova parnosti i kodna riječ prema širini podataka
Širina podataka
Broj bitova parnosti
Ukupan broj bitova (kodna riječ)
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
Izvođenje bitova parnosti koristi provjeru parnosti. Dodatni 1 bit (prikazano u tabeli kao +1) se dodaje paritetnim bitovima kao MSB kodne riječi. Ovo osigurava da kodna riječ ima paran broj 1. Za nprampAko je širina podataka 4 bita, 4 bita parnosti se dodaju podacima kako bi postali kodna riječ sa ukupno 8 bita. Ako 7 bitova iz LSB-a 8-bitne kodne riječi imaju neparan broj 1, 8. bit (MSB) kodne riječi je 1, čime je ukupan broj 1 u kodnoj riječi paran.
Sljedeća slika prikazuje generiranu kodnu riječ i raspored bitova parnosti i bitova podataka u 8-bitnom ulazu podataka.
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 31
7. ALTECC (kod za ispravljanje grešaka: koder/dekoder) IP Core 683490 | 2020.10.05
Slika 8.
Paritetni bitovi i raspored bitova podataka u 8-bitnoj generiranoj kodnoj riječi
MSB
LSB
4 paritetna bita
4 bitova podataka
8
1
IP jezgro ALTECC enkodera prihvata samo ulazne širine od 2 do 64 bita odjednom. Ulazne širine od 12 bita, 29 bita i 64 bita, koje su idealno prilagođene Intel uređajima, generišu izlaze od 18 bita, 36 bita, odnosno 72 bita. Možete kontrolirati ograničenje odabira bitova u uređivaču parametara.
7.2. Verilog HDL prototip (ALTECC_ENCODER)
Sljedeći Verilog HDL prototip se nalazi u Verilog Designu File (.v) lpm.v u edasynthesis directory.
modul altecc_encoder #( parametar namenjen_device_family = "neiskorišten", parametar lpm_pipeline = 0, parametar width_codeword = 8, parametar width_dataword = 8, parametar lpm_type = "altecc_encoder", parametar lpm_hint = "uneti žicu, ubaciti žicu") ( takt žice, ulazna žica [width_dataword-1:0] podaci, izlazna žica [width_codeword-1:0] q); endmodule
7.3. Verilog HDL prototip (ALTECC_DECODER)
Sljedeći Verilog HDL prototip se nalazi u Verilog Designu File (.v) lpm.v u edasynthesis directory.
modul altecc_decoder #( parametar namenjen_device_family = "neiskorišten", parametar lpm_pipeline = 0, parametar width_codeword = 8, parametar width_dataword = 8, parametar lpm_type = "altecc_decoder", parametar lpm_hint = "uneti žicu, ubaciti žicu") ( takt žice, ulazna žica [width_codeword-1:0] podaci, izlazna žica err_corrected, izlazna žica err_detected, izlazna žica err_fatal, izlazna žica [width_dataword-1:0] q); endmodule
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 32
Pošalji povratne informacije
7. ALTECC (kod za ispravljanje grešaka: koder/dekoder) IP Core 683490 | 2020.10.05
7.4. Deklaracija VHDL komponente (ALTECC_ENCODER)
Deklaracija VHDL komponente nalazi se u VHDL dizajnu File (.vhd) altera_mf_components.vhd u librariesvhdlaltera_mf direktorij.
komponenta altecc_encoder generička ( namijenjena_family_device:string := “nekorišten”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := “UNUSED”; lpm_type “UNUSED”; lpm_type_nco ”); port(aclr:u std_logic := '0'; sat:u std_logic := '0'; clocken:u std_logic := '1'; podaci:u std_logic_vector(width_dataword-1 do 0); q:out std_logic_ve -1 do 0)); krajnja komponenta;
7.5. Deklaracija VHDL komponente (ALTECC_DECODER)
Deklaracija VHDL komponente nalazi se u VHDL dizajnu File (.vhd) altera_mf_components.vhd u librariesvhdlaltera_mf direktorij.
komponenta altecc_decoder generički ( namijenjen_device_family:string := “nekorišten”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := “UNUSED”; lpm_type:ostringdec_ ”); port(aclr:in std_logic := '0'; clock:in std_logic := '0'; clocken:in std_logic := '1'; data:in std_logic_vector(width_codeword-1 do 0); err_corrected: out; stder_ : out std_logic;q:out std_logic_vector(width_dataword-1 downto 0); syn_e: out std_logic); krajnja komponenta;
7.6. VHDL LIBRARY_USE deklaracija
Deklaracija VHDL LIBRARY-USE nije potrebna ako koristite deklaraciju komponente VHDL.
BIBLIOTEKA altera_mf; KORISTI altera_mf.altera_mf_components.all;
7.7. Portovi kodera
Sljedeće tablice navode ulazne i izlazne portove za IP jezgro ALTECC kodera.
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 33
7. ALTECC (kod za ispravljanje grešaka: koder/dekoder) IP Core 683490 | 2020.10.05
Tablica 22. Ulazni portovi ALTECC enkodera
Port Name
Obavezno
Opis
podaci[]
Da
Port za unos podataka. Veličina ulaznog porta ovisi o WIDTH_DATAWORD
vrijednost parametra. Port podataka[] sadrži sirove podatke koji se kodiraju.
sat
Da
Ulazni port za sat koji daje signal sata za sinhronizaciju operacije kodiranja.
Port sata je potreban kada je vrijednost LPM_PIPELINE veća od 0.
clocken
br
Omogućavanje sata. Ako se izostavi, zadana vrijednost je 1.
aclr
br
Asinhroni čisti unos. Aktivni visoki aclr signal se može koristiti u bilo kojem trenutku za
asinhrono brisati registre.
Tablica 23. Izlazni portovi ALTECC enkodera
Naziv porta q[]
Obavezno Da
Opis
Port za izlaz kodiranih podataka. Veličina izlaznog porta ovisi o vrijednosti parametra WIDTH_CODEWORD.
7.8. Portovi dekodera
Sljedeće tablice navode ulazne i izlazne portove za IP jezgro ALTECC dekodera.
Tablica 24. Ulazni portovi ALTECC dekodera
Port Name
Obavezno
Opis
podaci[]
Da
Port za unos podataka. Veličina ulaznog porta ovisi o vrijednosti parametra WIDTH_CODEWORD.
sat
Da
Ulazni port za sat koji daje signal sata za sinhronizaciju operacije kodiranja. Port sata je potreban kada je vrijednost LPM_PIPELINE veća od 0.
clocken
br
Omogućavanje sata. Ako se izostavi, zadana vrijednost je 1.
aclr
br
Asinhroni čisti unos. Aktivni visoki aclr signal se može koristiti u bilo kojem trenutku za asinhrono brisanje registara.
Tablica 25. Izlazni portovi ALTECC dekodera
Naziv porta q[]
Obavezno Da
Opis
Izlazni port dekodiranih podataka. Veličina izlaznog porta ovisi o vrijednosti parametra WIDTH_DATAWORD.
err_detected Da
Signal zastavice koji odražava status primljenih podataka i specificira sve pronađene greške.
err_correcte Da d
Signal zastavice koji odražava status primljenih podataka. Označava jednobitnu grešku koja je pronađena i ispravljena. Možete koristiti podatke jer su već ispravljeni.
err_fatal
Da
Signal zastavice koji odražava status primljenih podataka. Označava dvobitnu grešku koja je pronađena, ali nije ispravljena. Ne smijete koristiti podatke ako je ovaj signal potvrđen.
syn_e
br
Izlazni signal koji će biti visok kad god se detektira jednobitna greška na paritetu
bits.
7.9. Parametri kodera
Sljedeća tablica navodi parametre za IP jezgru ALTECC kodera.
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 34
Pošalji povratne informacije
7. ALTECC (kod za ispravljanje grešaka: koder/dekoder) IP Core 683490 | 2020.10.05
Tablica 26. Parametri ALTECC enkodera
Naziv parametra
Tip
Obavezno
Opis
WIDTH_DATAWORD
Integer Yes
Određuje širinu neobrađenih podataka. Vrijednosti su od 2 do 64. Ako se izostavi, zadana vrijednost je 8.
WIDTH_CODEWORD
Integer Yes
Određuje širinu odgovarajuće kodne riječi. Važeće vrijednosti su od 6 do 72, isključujući 9, 17, 33 i 65. Ako se izostavi, zadana vrijednost je 13.
LPM_PIPELINE
Cijeli broj
Određuje cjevovod za krug. Vrijednosti su od 0 do 2. Ako je vrijednost 0, portovi nisu registrirani. Ako je vrijednost 1, izlazni portovi se registriraju. Ako je vrijednost 2, ulazni i izlazni portovi su registrirani. Ako se izostavi, zadana vrijednost je 0.
7.10. Parametri dekodera
Sljedeća tabela navodi parametre jezgre ALTECC dekodera.
Tablica 27. Parametri ALTECC dekodera
Naziv parametra WIDTH_DATAWORD
Upišite cijeli broj
Obavezno
Opis
Da
Određuje širinu neobrađenih podataka. Vrijednosti su od 2 do 64. The
zadana vrijednost je 8.
WIDTH_CODEWORD
Integer
Da
Određuje širinu odgovarajuće kodne riječi. Vrijednosti su 6
do 72, isključujući 9, 17, 33 i 65. Ako se izostavi, zadana vrijednost
iznosi 13.
LPM_PIPELINE
Integer
br
Određuje registar kola. Vrijednosti su od 0 do 2. Ako je
vrijednost je 0, nijedan registar nije implementiran. Ako je vrijednost 1,
izlaz je registrovan. Ako je vrijednost 2, i ulaz i
izlaz je registrovan. Ako je vrijednost veća od 2, dodatno
registri se implementiraju na izlazu za dop
latencije. Ako se izostavi, zadana vrijednost je 0.
Kreirajte 'syn_e' port
Integer
br
Uključite ovaj parametar da kreirate syn_e port.
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 35
683490 | 2020.10.05. Pošalji povratnu informaciju
8. Intel FPGA Multiply Adder IP Core
Slika 9.
Intel FPGA Multiply Adder (Intel Stratix 10, Intel Arria 10 i Intel Cyclone 10 GX uređaji) ili ALTERA_MULT_ADD (Arria V, Stratix V i Cyclone V uređaji) IP jezgro vam omogućava da implementirate sabirač množitelja.
Sljedeća slika prikazuje portove za Intel FPGA Multiply Adder ili ALTERA_MULT_ADD IP jezgro.
Intel FPGA višestruki sabirač ili ALTERA_MULT_ADD portovi
Intel FPGA Multiply Adder ili ALTERA_MULT_ADD
dataa[] signa datab[] signb datac[] coefsel0[] coefsel1[] coefsel2[] coefsel3[] addnsub1 addnsub3 aclr/sclr[] scanina[] clock0 clock1 clock2 ena0 ena1 ena2 sload_accum
accum_sload chainin[]
scanouta[] rezultat[]
aclr0 aclr1
inst
Multiplikator-sabirač prihvata parove ulaza, množi vrijednosti zajedno i zatim dodaje ili oduzima od proizvoda svih ostalih parova.
Ako su sve širine ulaznih podataka širine 9 bita ili manje, funkcija koristi konfiguraciju ulaznog množenja 9 x 9 bita u DSP bloku za uređaje koji podržavaju konfiguraciju 9 x 9. Ako ne, DSP blok koristi 18 × 18-bitne ulazne množitelje za obradu podataka širine između 10 i 18 bita. Ako se u dizajnu pojavljuje više Intel FPGA Multiply Adder ili ALTERA_MULT_ADD IP jezgara, funkcije se distribuiraju na
Intel Corporation. Sva prava zadržana. Intel, Intel logo i druge Intel oznake su zaštitni znaci Intel Corporation ili njenih podružnica. Intel garantuje performanse svojih FPGA i poluprovodničkih proizvoda u skladu sa trenutnim specifikacijama u skladu sa Intelovom standardnom garancijom, ali zadržava pravo da izvrši izmene bilo kojeg proizvoda i usluge u bilo koje vreme bez prethodne najave. Intel ne preuzima nikakvu odgovornost ili odgovornost koja proizilazi iz primene ili korišćenja bilo koje informacije, proizvoda ili usluge opisane ovde, osim ako je Intel izričito pristao u pisanoj formi. Intelovim kupcima se savjetuje da nabave najnoviju verziju specifikacija uređaja prije nego što se oslone na bilo koju objavljenu informaciju i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.
ISO 9001:2015 Registrovan
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
mnogo različitih DSP blokova što je moguće tako da je rutiranje do ovih blokova fleksibilnije. Manje množitelja po DSP bloku omogućava više izbora rutiranja u blok minimiziranjem putanja do ostatka uređaja.
Registri i dodatni registri cevovoda za sledeće signale su takođe smešteni unutar DSP bloka: · Unos podataka · Potpisani ili nepotpisani selekt · Dodaj ili oduzmi selekt · Proizvodi množitelja
U slučaju izlaznog rezultata, prvi registar se postavlja u DSP blok. Međutim, dodatni registri kašnjenja se postavljaju u logičke elemente izvan bloka. Periferni za DSP blok, uključujući ulaze podataka u množitelj, ulaze kontrolnih signala i izlaze sabirača, koriste redovno rutiranje za komunikaciju sa ostatkom uređaja. Sve veze u funkciji koriste namjensko rutiranje unutar DSP bloka. Ovo namjensko usmjeravanje uključuje lance registra pomaka kada odaberete opciju da pomaknete registrovane ulazne podatke množitelja iz jednog množitelja u susjedni množitelj.
Za više informacija o DSP blokovima u bilo kojoj od serija uređaja Stratix V i Arria V, pogledajte poglavlje DSP blokovi odgovarajućih priručnika na stranici Literatura i tehnička dokumentacija.
Povezane informacije AN 306: Implementacija množitelja u FPGA uređajima
Pruža više informacija o implementaciji množitelja koristeći DSP i memorijske blokove u Intel FPGA uređajima.
8.1. Karakteristike
Intel FPGA Multiply Adder ili ALTERA_MULT_ADD IP jezgro nudi sljedeće karakteristike: · Generiše množitelj za obavljanje operacija množenja dva kompleksa
brojevi Napomena: Prilikom izrade množitelja većih od izvorno podržane veličine može/
će biti uticaj na performanse koji je rezultat kaskadiranja DSP blokova. · Podržava širine podataka od 1 256 bita · Podržava format predstavljanja potpisanih i nepotpisanih podataka · Podržava cjevovod sa konfigurabilnim kašnjenjem unosa · Pruža opciju za dinamičko prebacivanje između potpore potpisanih i nepotpisanih podataka · Pruža opciju za dinamičko prebacivanje između operacije sabiranja i oduzimanja · Podržava opcioni asinhroni i sinhroni čisti i takt koji omogućavaju ulazne portove · Podržava režim registra sistoličkog kašnjenja · Podržava pred-sabirač sa 8 koeficijenata pred-opterećenja po množitelju · Podržava konstantu pred-opterećenja da dopuni povratne informacije akumulatora
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 37
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.1. Pred-sabirač
Sa predsabiračem, sabiranja ili oduzimanja se vrše prije unosa množitelja.
Postoji pet modova pred-sabirača: · Jednostavni način · Način rada koeficijenta · Način unosa · Kvadratni način · Konstantni način
Napomena:
Kada se koristi pred-sabirač (koeficijent pred-sabirača/ulaz/kvadrat mod), svi ulazi podataka u množitelj moraju imati istu postavku sata.
8.1.1.1. Jednostavni način rada za pred-sabirač
U ovom modu, oba operanda proizlaze iz ulaznih portova i pred-sabirač se ne koristi niti zaobilazi. Ovo je zadani način rada.
Slika 10. Jednostavni način rada pred-sabirača
a0 b0
Mult0
rezultat
8.1.1.2. Režim koeficijenta pred-sabirača
U ovom modu, jedan operand množenja izvodi se iz pred-sabirača, a drugi operand se izvodi iz interne memorije koeficijenata. Skladištenje koeficijenta omogućava do 8 unaprijed postavljenih konstanti. Signali za odabir koeficijenta su coefsel[0..3].
Ovaj mod je izražen u sljedećoj jednačini.
U nastavku je prikazan način koeficijenta pred-sabirača množitelja.
Slika 11. Režim koeficijenta pred-sabirača
Predader
a0
Mult0
+/-
rezultat
b0
coefsel0 coef
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 38
Pošalji povratne informacije
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.1.3. Režim unosa pred-sabirača U ovom režimu, jedan operand množenja izvodi se iz pred-sabirača, a drugi operand se izvodi iz ulaznog porta datac[]. Ovaj mod je izražen u sljedećoj jednačini.
U nastavku je prikazan način unosa pred-sabirača množitelja.
Slika 12. Režim unosa pred-sabirača
a0 b0
Mult0
+/-
rezultat
c0
8.1.1.4. Kvadratni mod pred-sabirača Ovaj mod je izražen u sljedećoj jednadžbi.
U nastavku je prikazan kvadratni mod pred-sabirača dva množitelja.
Slika 13. Kvadratni mod pred-sabirača
a0 b0
Mult0
+/-
rezultat
8.1.1.5. Konstantni način rada pred-sabirača
U ovom modu, jedan operand množenja izvodi se iz ulaznog porta, a drugi operand izvodi iz interne memorije koeficijenata. Skladištenje koeficijenta omogućava do 8 unaprijed postavljenih konstanti. Signali za odabir koeficijenta su coefsel[0..3].
Ovaj mod je izražen u sljedećoj jednačini.
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 39
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Sljedeća slika prikazuje konstantni mod pred-sabirača množitelja.
Slika 14. Konstantni režim pred-sabirača
a0
Mult0
rezultat
coefsel0
koef
8.1.2. Registar sistoličkog kašnjenja
U sistoličkoj arhitekturi, ulazni podaci se unose u kaskadu registara koji djeluju kao bafer podataka. Svaki registar daje ulaz sample do množitelja gdje se množi sa odgovarajućim koeficijentom. Lanac sabirača pohranjuje postepeno kombinovane rezultate iz množitelja i prethodno registrovani rezultat iz ulaznog porta chainin[] kako bi formirao konačni rezultat. Svaki element pomnoži-dodaj mora biti odgođen za jedan ciklus kako bi se rezultati na odgovarajući način sinhronizirali kada se zbroje. Svako uzastopno kašnjenje se koristi za adresiranje i memorije koeficijenata i bafera podataka njihovih odgovarajućih elemenata za višestruko sabiranje. Za nprample, jedno kašnjenje za drugi element umnoženog dodavanja, dva kašnjenja za treći element pomnoženja i tako dalje.
Slika 15. Sistolni registri
Sistolni 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 iz kontinuiranog toka ulaza samples i y(t)
predstavlja zbir skupa ulaza samples, i vremenom, pomnožen njihovim
odgovarajućih koeficijenata. I ulazni i izlazni rezultati teku s lijeva na desno. C(0) do c(N-1) označava koeficijente. Registri sistoličkog kašnjenja su označeni sa S-1, dok 1 predstavlja jednostruko kašnjenje takta. Registri sistoličkog kašnjenja se dodaju na
ulaze i izlaze za cjevovode na način koji osigurava rezultate iz
operand množitelja i akumulirani sumi ostaju sinhronizirani. Ovaj element obrade
se replicira kako bi se formiralo kolo koje izračunava funkciju filtriranja. Ova funkcija je
izraženo u sljedećoj jednačini.
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 40
Pošalji povratne informacije
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
N predstavlja broj ciklusa podataka koji su ušli u akumulator, y(t) predstavlja izlaz u trenutku t, A(t) predstavlja ulaz u trenutku t, a B(i) su koeficijenti. T i i u jednadžbi odgovaraju određenom trenutku vremena, tako da se izračuna izlaz sample y(t) u trenutku t, grupa ulaza samples u N različitih tačaka u vremenu, ili je potrebno A(n), A(n-1), A(n-2), … A(n-N+1). Grupa od N ulaza samples se množe sa N koeficijenata i zbrajaju da bi se formirao konačni rezultat y.
Arhitektura sistoličkog registra dostupna je samo za modove sum-of-2 i sum-of-4. Za oba moda arhitekture sistoličkog registra, prvi signal lančanika mora biti vezan za 0.
Sljedeća slika prikazuje implementaciju registra sistoličkog kašnjenja od 2 množitelja.
Slika 16. Implementacija registra sistoličkog kašnjenja od 2 množitelja
chainin
a0
Mult0
+/-
b0
a1
Mult1
+/-
b1
rezultat
Zbir dvaju množitelja izražen je u sljedećoj jednačini.
Sljedeća slika prikazuje implementaciju registra sistoličkog kašnjenja od 4 množitelja.
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 41
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Slika 17. Implementacija registra sistoličkog kašnjenja od 4 množitelja
chainin
a0
Mult0
+/-
b0
a1
Mult1
+/-
b1
a2
Mult2
+/-
b2
a3
Mult3
+/-
b3
rezultat
Zbir četiri množitelja izražen je u sljedećoj jednačini. Slika 18. Zbir 4 množitelja
U nastavku se navodi advantages implementacije sistoličkog registra: · Smanjuje upotrebu DSP resursa · Omogućava efikasno mapiranje u DSP bloku koristeći strukturu lančanog sabirača
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 42
Pošalji povratne informacije
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.3. Pre-load Constant
Konstanta predučitavanja kontrolira akumulatorski operand i dopunjuje povratnu informaciju akumulatora. Važeća vrijednost LOADCONST_VALUE kreće se od 0. Konstantna vrijednost je jednaka 64N, gdje je N = LOADCONST_VALUE. Kada je LOADCONST_VALUE postavljena na 2, konstantna vrijednost je jednaka 64. Ova funkcija se može koristiti kao pristrasno zaokruživanje.
Sljedeća slika prikazuje implementaciju konstante pred učitavanje.
Slika 19. Konstanta predopterećenja
Povratna informacija akumulatora
konstantan
a0
Mult0
+/-
b0
a1
Mult1
+/b1
rezultat
accum_sload sload_accum
Pogledajte sljedeća IP jezgra za druge implementacije množitelja: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. Double Accumulator
Funkcija dvostrukog akumulatora dodaje dodatni registar u putanju povratne informacije akumulatora. Registar dvostrukog akumulatora prati izlazni registar, koji uključuje sat, omogućavanje takta i aclr. Dodatni registar akumulatora vraća rezultat sa odgodom od jednog ciklusa. Ova funkcija vam omogućava da imate dva akumulatorska kanala sa istim brojem resursa.
Sljedeća slika prikazuje implementaciju dvostrukog akumulatora.
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 43
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Slika 20. Dvostruki akumulator
Dvostruki registar akumulatora
Povratna informacija o akumulatoru
a0
Mult0
+/-
b0
a1
Mult1
+/b1
Izlazni rezultat Izlazni registar
8.2. Verilog HDL prototip
Možete pronaći Intel FPGA Multiply Adder ili ALTERA_MULT_ADD Verilog HDL prototip file (altera_mult_add_rtl.v) u direktorij librariesmegafunctions.
8.3. Deklaracija VHDL komponente
Deklaracija VHDL komponente nalazi se u altera_lnsim_components.vhd u librariesvhdl altera_lnsim direktorij.
8.4. VHDL LIBRARY_USE deklaracija
Deklaracija VHDL LIBRARY-USE nije potrebna ako koristite deklaraciju komponente VHDL.
BIBLIOTEKA altera_mf; KORISTI altera_mf.altera_mf_components.all;
8.5. Signali
Sljedeće tabele navode ulazne i izlazne signale Intel FPGA IP ili ALTERA_MULT_ADD IP jezgra Multiply Adder Intel.
Tabela 28. Multiplikator Intel FPGA IP ili ALTERA_MULT_ADD ulazni signali
Signal
Obavezno
Opis
dataa_0[]/dataa_1[]/
Da
dataa_2[]/dataa_3[]
Unos podataka u množitelj. Ulazni port [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1 … 0] širok
nastavak…
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 44
Pošalji 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[] sat[1:0] aclr[1:0] sclr[1:0] ena [1:0] znak
signb
scanina[] accum_sload
Obavezno Da Ne
Ne Ne Ne Ne Ne
br
Ne Ne
Opis
Simulacijski model za ovaj IP podržava neodređenu ulaznu vrijednost (X) za ove signale. Kada date X vrijednost ovim signalima, vrijednost X se širi na izlazne signale.
Unos podataka u množitelj. Ulazni signal [NUMBER_OF_MULTIPLIERS * WIDTH_B – 1 … 0] širok Simulacijski model za ovaj IP podržava neodređenu ulaznu vrijednost (X) za ove signale. Kada ovim signalima date vrijednost X, vrijednost X se širi na izlaznim signalima.
Unos podataka u množitelj. Ulazni signal [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] širok Odaberite INPUT za Odaberi parametar načina rada preaddera da omogućite ove signale. Simulacijski model za ovaj IP podržava neodređenu ulaznu vrijednost (X) za ove signale. Kada ovim signalima date vrijednost X, vrijednost X se širi na izlaznim signalima.
Ulazni ulaz sata u odgovarajući registar. Ovaj signal može koristiti bilo koji registar u IP jezgru. Simulacijski model za ovaj IP podržava neodređenu ulaznu vrijednost (X) za ove signale. Kada ovim signalima date vrijednost X, vrijednost X se širi na izlaznim signalima.
Asinhroni čisti ulaz u odgovarajući registar. Simulacijski model za ovaj IP podržava neodređenu ulaznu vrijednost (X) za ove signale. Kada ovim signalima date vrijednost X, vrijednost X se širi na izlaznim signalima.
Sinhroni čisti ulaz u odgovarajući registar. Simulacijski model za ovaj IP podržava neodređenu ulaznu vrijednost X za ove signale. Kada ovim signalima date vrijednost X, vrijednost X se širi na izlaznim signalima
Omogućite ulaz signala u odgovarajući registar. Simulacijski model za ovaj IP podržava neodređenu ulaznu vrijednost (X) za ove signale. Kada ovim signalima date vrijednost X, vrijednost X se širi na izlaznim signalima.
Određuje numerički prikaz ulaza množitelja A. Ako je signal signala visok, množitelj tretira ulazni signal množitelja A kao predznačeni broj. Ako je signalni signal nizak, množitelj tretira ulazni signal množitelja A kao neoznačeni broj. Odaberite VARIABLE za Koji je format reprezentacije za množitelji A ulazni parametar da biste omogućili ovaj signal. Simulacijski model za ovaj IP podržava neodređenu ulaznu vrijednost (X) za ovaj signal. Kada date X vrijednost ovom ulazu, X vrijednost se širi na izlazne signale.
Određuje numerički prikaz ulaznog B signala množitelja. Ako je signal signb visok, množitelj tretira ulazni B signal množenja kao komplementarni broj dvojke s predznakom. Ako je signal signb nizak, množitelj tretira ulazni B signal množitelja kao neoznačeni broj. Simulacijski model za ovaj IP podržava neodređenu ulaznu vrijednost (X) za ovaj signal. Kada date X vrijednost ovom ulazu, X vrijednost se širi na izlazne signale.
Ulaz za lanac skeniranja A. Ulazni signal [WIDTH_A – 1, … 0] širok. Kada parametar INPUT_SOURCE_A ima vrijednost SCANA, potreban je signal scanina[].
Dinamički određuje da li je vrijednost akumulatora konstantna. Ako je signal accum_sload nizak, tada se izlaz množitelja učitava u akumulator. Nemojte koristiti accum_sload i sload_accum istovremeno.
nastavak…
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 45
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Signal sload_accum
chainin[] addnsub1
addnsub3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]
Obavezno br
Ne Ne
br
Ne Ne Ne Ne
Opis
Simulacijski model za ovaj IP podržava neodređenu ulaznu vrijednost (X) za ovaj signal. Kada date X vrijednost ovom ulazu, X vrijednost se širi na izlazne signale.
Dinamički određuje da li je vrijednost akumulatora konstantna. Ako je signal sload_accum visok, tada se izlaz množitelja učitava u akumulator. Nemojte koristiti accum_sload i sload_accum istovremeno. Simulacijski model za ovaj IP podržava neodređenu ulaznu vrijednost (X) za ovaj signal. Kada date X vrijednost ovom ulazu, X vrijednost se širi na izlazne signale.
Ulazna sabirnica rezultata sabirača iz prethodnih stage. Ulazni signal [WIDTH_CHAININ – 1, … 0] širok.
Izvršite sabiranje ili oduzimanje izlaza iz prvog para množitelja. Ulaz 1 u addnsub1 signal za dodavanje izlaza iz prvog para množitelja. Unesite 0 u addnsub1 signal da biste oduzeli izlaze iz prvog para množitelja. Simulacijski model za ovaj IP podržava neodređenu ulaznu vrijednost (X) za ovaj signal. Kada date X vrijednost ovom ulazu, X vrijednost se širi na izlazne signale.
Izvršite sabiranje ili oduzimanje izlaza iz prvog para množitelja. Ulaz 1 u addnsub3 signal za dodavanje izlaza iz drugog para množitelja. Unesite 0 u addnsub3 signal da biste oduzeli izlaze iz prvog para množitelja. Simulacijski model za ovaj IP podržava neodređenu ulaznu vrijednost (X) za ovaj signal. Kada date X vrijednost ovom ulazu, X vrijednost se širi na izlazne signale.
Koeficijent ulaznog signala [0:3] do prvog množitelja. Simulacijski model za ovaj IP podržava neodređenu ulaznu vrijednost (X) za ovaj signal. Kada date X vrijednost ovom ulazu, X vrijednost se širi na izlazne signale.
Koeficijent ulaznog signala [0:3] do drugog množitelja. Simulacijski model za ovaj IP podržava neodređenu ulaznu vrijednost (X) za ovaj signal. Kada date X vrijednost ovom ulazu, X vrijednost se širi na izlazne signale.
Koeficijent ulaznog signala [0:3] do trećeg množitelja. Simulacijski model za ovaj IP podržava neodređenu ulaznu vrijednost (X) za ovaj signal. Kada date X vrijednost ovom ulazu, X vrijednost se širi na izlazne signale.
Koeficijent ulaznog signala [0:3] do četvrtog množitelja. Simulacijski model za ovaj IP podržava neodređenu ulaznu vrijednost (X) za ovaj signal. Kada date X vrijednost ovom ulazu, X vrijednost se širi na izlazne signale.
Tabela 29. Intel FPGA IP izlazni signali za umnožavanje
Signal
Obavezno
Opis
rezultat []
Da
Izlazni signal množitelja. Izlazni signal [WIDTH_RESULT – 1 … 0] širok
Simulacijski model za ovaj IP podržava neodređenu izlaznu vrijednost (X). Kada date X vrijednost kao ulaz, X vrijednost se širi na ovaj signal.
scanuta []
br
Izlaz lanca skeniranja A. Izlazni signal [WIDTH_A – 1..0] širok.
Odaberite više od 2 za brojeve množitelja i odaberite Skeniraj ulaz lanca za Koji je ulaz A množitelja spojenog na parametar da biste omogućili ovaj signal.
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 46
Pošalji povratne informacije
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.6. Parametri
8.6.1. General Tab
Tabela 30. Općenito Tab
Parametar
IP generirani parametar
Vrijednost
Koliki je broj množitelja?
broj_m 1 – 4 umnožitelja
Koliko široke trebaju biti A width_a ulazne magistrale?
1 – 256
Koliko široke trebaju biti B width_b ulazne magistrale?
1 – 256
Kolika bi trebala biti izlazna sabirnica 'rezultata'?
width_result
1 – 256
Kreirajte pridruženo omogućavanje sata za svaki sat
gui_associate Uključeno d_clock_enabl Isključeno e
8.6.2. Dodatni režimi Tab
Tabela 31. Dodatni režimi Tab
Parametar
IP generirani parametar
Vrijednost
Konfiguracija izlaza
Registrirajte izlaz jedinice za sabiranje
gui_output_re On
gister
Isključeno
Koji je izvor za ulaz takta?
gui_output_re gister_clock
Sat0 Sat1 Sat2
Koji je izvor za asinhroni čisti unos?
gui_output_re gister_aclr
NIŠTA ACLR0 ACLR1
Koji je izvor za sinhroni čisti ulaz?
gui_output_re gister_sclr
NIŠTA SCLR0 SCLR1
Operacija zbrajanja
Koju operaciju treba izvesti na izlazima prvog para množitelja?
gui_multiplier 1_direction
DODAJ, SUB, VARIABLE
Zadana vrijednost 1
16
Opis
Broj množitelja koji se zbrajaju. Vrijednosti su od 1 do 4. Navedite širinu porta dataa[].
16
Odredite širinu porta datab[].
32
Odredite širinu porta rezultata[].
Isključeno
Odaberite ovu opciju da biste omogućili kreiranje sata
za svaki sat.
Zadana vrijednost
Opis
Isključen sat0
NONE NONE
Odaberite ovu opciju da omogućite izlazni registar modula za sabiranje.
Odaberite Clock0 , Clock1 ili Clock2 da omogućite i odredite izvor takta za izlazne registre. Morate odabrati Registriraj izlaz jedinice za sabiranje da biste omogućili ovaj parametar.
Određuje asinkroni čisti izvor za izlazni registar sabirača. Morate odabrati Registriraj izlaz jedinice za sabiranje da biste omogućili ovaj parametar.
Određuje sinhroni čisti izvor za izlazni registar sabirača. Morate odabrati Registriraj izlaz jedinice za sabiranje da biste omogućili ovaj parametar.
ADD
Odaberite operaciju sabiranja ili oduzimanja za izvođenje za izlaze između prvog i drugog množitelja.
· Odaberite DODAJ da izvršite operaciju sabiranja.
· Odaberite SUB da izvršite operaciju oduzimanja.
· Odaberite VARIABLE za korištenje addnsub1 porta za kontrolu dinamičkog sabiranja/oduzimanja.
nastavak…
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 47
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametar
IP generirani parametar
Vrijednost
Registrirajte 'addnsub1' ulaz
gui_addnsub_ On multiplier_reg Isključen ister1
Koji je izvor za ulaz takta?
gui_addnsub_ multiplier_reg ister1_clock
Sat0 Sat1 Sat2
Koji je izvor za asinhroni čisti unos?
gui_addnsub_ multiplier_aclr 1
NIŠTA ACLR0 ACLR1
Koji je izvor za sinhroni čisti ulaz?
gui_addnsub_ multiplier_sclr 1
NIŠTA SCLR0 SCLR1
Koju operaciju treba izvesti na izlazima drugog para množitelja?
gui_multiplier 3_direction
DODAJ, SUB, VARIABLE
Registrirajte 'addnsub3' ulaz
gui_addnsub_ On multiplier_reg Isključen ister3
Koji je izvor za ulaz takta?
gui_addnsub_ multiplier_reg ister3_clock
Sat0 Sat1 Sat2
Zadana vrijednost
Off Sat0 NONE NONE DOD
Isključen sat0
Opis
Kada je odabrana vrijednost VARIABLE: · Pogoni addnsub1 signal na visoki za
operacija sabiranja. · Postavite addnsub1 signal na nisko za
operacija oduzimanja. Morate odabrati više od dva množitelja da biste omogućili ovaj parametar.
Odaberite ovu opciju da omogućite ulazni registar za addnsub1 port. Morate odabrati VARIABLE za Koju operaciju treba izvesti na izlazima prvog para množitelja da biste omogućili ovaj parametar.
Odaberite Clock0 , Clock1 ili Clock2 da odredite ulazni signal takta za addnsub1 registar. Morate odabrati Register 'addnsub1' ulaz da omogućite ovaj parametar.
Određuje asinhroni čisti izvor za addnsub1 registar. Morate odabrati Register 'addnsub1' ulaz da omogućite ovaj parametar.
Određuje sinhroni čisti izvor za addnsub1 registar. Morate odabrati Register 'addnsub1' ulaz da omogućite ovaj parametar.
Odaberite operaciju sabiranja ili oduzimanja koju ćete izvesti za izlaze između trećeg i četvrtog množitelja. · Odaberite DODAJ da izvršite sabiranje
operacija. · Odaberite SUB za oduzimanje
operacija. · Odaberite VARIABLE za korištenje addnsub1
port za kontrolu dinamičkog sabiranja/oduzimanja. Kada je odabrana vrijednost VARIABLE: · Postavite addnsub1 signal na visoku vrijednost za operaciju sabiranja. · Dovedite addnsub1 signal na nisko za operaciju oduzimanja. Morate odabrati vrijednost 4 za Koliki je broj množitelja? da omogućite ovaj parametar.
Odaberite ovu opciju da omogućite ulazni registar za addnsub3 signal. Morate odabrati VARIABLE za Koju operaciju treba izvesti na izlazima drugog para množitelja da biste omogućili ovaj parametar.
Odaberite Clock0 , Clock1 ili Clock2 da odredite ulazni signal sata za addnsub3 registar. Morate odabrati Register 'addnsub3' ulaz da omogućite ovaj parametar.
nastavak…
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 48
Pošalji povratne informacije
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametar
Koji je izvor za asinhroni čisti unos?
IP generirani parametar
Vrijednost
gui_addnsub_ multiplier_aclr 3
NIŠTA ACLR0 ACLR1
Koji je izvor za sinhroni čisti ulaz?
gui_addnsub_ multiplier_sclr 3
NIŠTA SCLR0 SCLR1
Polaritet Omogući `use_subadd'
gui_use_subn Uključeno
add
Isključeno
8.6.3. Multipliers Tab
Tablica 32. Množitelji Tab
Parametar
IP generirani parametar
Vrijednost
Šta je
gui_represent
format reprezentacije ation_a
za ulaze množitelja A?
POTPISAN, NEPOTPISAN, PROMJELJIV
Registrirajte `signa' ulaz
gui_register_s On
igna
Isključeno
Koji je izvor za ulaz takta?
gui_register_s igna_clock
Sat0 Sat1 Sat2
Koji je izvor za asinhroni čisti unos?
gui_register_s igna_aclr
NIŠTA ACLR0 ACLR1
Koji je izvor za sinhroni čisti ulaz?
gui_register_s igna_sclr
NIŠTA SCLR0 SCLR1
Šta je
gui_represent
format reprezentacije ation_b
za ulaze množitelja B?
POTPISAN, NEPOTPISAN, PROMJELJIV
Registrirajte `signb' ulaz
gui_register_s On
ignb
Isključeno
Zadana vrijednost NONE
NONE
Opis
Određuje asinhroni čisti izvor za addnsub3 registar. Morate odabrati Register 'addnsub3' ulaz da omogućite ovaj parametar.
Određuje sinhroni čisti izvor za addnsub3 registar. Morate odabrati Register 'addnsub3' ulaz da omogućite ovaj parametar.
Isključeno
Odaberite ovu opciju da biste obrnuli funkciju
addnsub ulaznog porta.
Povežite addnsub na visoku vrijednost za operaciju oduzimanja.
Postavite addnsub na nisko za rad sa dodavanjem.
Zadana vrijednost
Opis
UNSIGNED Odredite format reprezentacije za ulaz množitelja A.
Isključeno
Odaberite ovu opciju da biste omogućili signal
registar.
Morate odabrati vrijednost VARIABLE za Koji je format reprezentacije za ulaze množitelja A? parametar za omogućavanje ove opcije.
Sat0
Odaberite Clock0 , Clock1 ili Clock2 da omogućite i odredite ulazni signal sata za registar signala.
Morate odabrati Registriraj `signa' ulaz da omogućite ovaj parametar.
NONE
Određuje asinhroni čisti izvor za registar znakova.
Morate odabrati Registriraj `signa' ulaz da omogućite ovaj parametar.
NONE
Određuje sinhroni čisti izvor za registar znakova.
Morate odabrati Registriraj `signa' ulaz da omogućite ovaj parametar.
UNSIGNED Odredite format reprezentacije za ulaz množitelja B.
Isključeno
Odaberite ovu opciju da biste omogućili signb
registar.
nastavak…
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 49
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametar
IP generirani parametar
Vrijednost
Zadana vrijednost
Koji je izvor za ulaz takta?
gui_register_s ignb_clock
Sat0 Sat1 Sat2
Sat0
Koji je izvor za asinhroni čisti unos?
gui_register_s ignb_aclr
NIŠTA ACLR0 ACLR1
Koji je izvor za sinhroni čisti ulaz?
gui_register_s ignb_sclr
NIŠTA SCLR0 SCLR1
Konfiguracija ulaza
Registrirajte ulaz A množitelja
Koji je izvor za ulaz takta?
gui_input_reg On
ister_a
Isključeno
gui_input_reg ister_a_clock
Sat0 Sat1 Sat2
NONE NONE
Isključen sat0
Koji je izvor za asinhroni čisti unos?
gui_input_reg ister_a_aclr
NIŠTA ACLR0 ACLR1
Koji je izvor za sinhroni čisti ulaz?
gui_input_reg ister_a_sclr
NIŠTA SCLR0 SCLR1
Registrirajte ulaz B množitelja
Koji je izvor za ulaz takta?
gui_input_reg On
ister_b
Isključeno
gui_input_reg ister_b_clock
Sat0 Sat1 Sat2
NONE NONE Isključeno Sat0
Koji je izvor za asinhroni čisti unos?
gui_input_reg ister_b_aclr
NIŠTA ACLR0 ACLR1
NONE
Koji je izvor za sinhroni čisti ulaz?
gui_input_reg ister_b_sclr
NIŠTA SCLR0 SCLR1
NONE
Na koji je ulaz A množitelja spojen?
gui_multiplier Množilac ulaza Množilac
_a_input
Ulaz za skeniranje lanca
Opis
Morate odabrati vrijednost VARIABLE za Koji je format reprezentacije za ulaze množitelja B? parametar za omogućavanje ove opcije.
Odaberite Clock0 , Clock1 ili Clock2 da omogućite i odredite ulazni signal sata za signb registar. Morate odabrati Register `signb' ulaz da omogućite ovaj parametar.
Određuje asinhroni čisti izvor za signb registar. Morate odabrati Register `signb' ulaz da omogućite ovaj parametar.
Određuje sinhroni čisti izvor za signb registar. Morate odabrati Register `signb' ulaz da omogućite ovaj parametar.
Odaberite ovu opciju da omogućite ulazni registar za ulaznu sabirnicu podataka.
Odaberite Clock0 , Clock1 ili Clock2 da omogućite i odredite ulazni sat registra za ulaznu sabirnicu podataka. Morate odabrati Registriraj ulaz A množitelja da biste omogućili ovaj parametar.
Određuje asinkroni čisti izvor registra za ulaznu sabirnicu podataka. Morate odabrati Registriraj ulaz A množitelja da biste omogućili ovaj parametar.
Određuje sinhroni čisti izvor registra za ulaznu sabirnicu podataka. Morate odabrati Registriraj ulaz A množitelja da biste omogućili ovaj parametar.
Odaberite ovu opciju da biste omogućili ulazni registar za ulaznu sabirnicu podataka.
Odaberite Clock0 , Clock1 ili Clock2 da omogućite i odredite ulazni sat registra za ulaznu magistralu podataka. Morate odabrati Registriraj ulaz B množitelja da biste omogućili ovaj parametar.
Određuje asinhroni čisti izvor registra za ulaznu sabirnicu podataka. Morate odabrati Registriraj ulaz B množitelja da biste omogućili ovaj parametar.
Određuje sinhroni čisti izvor registra za ulaznu sabirnicu podataka. Morate odabrati Registriraj ulaz B množitelja da biste omogućili ovaj parametar.
Odaberite ulazni izvor za ulaz A množitelja.
nastavak…
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 50
Pošalji povratne informacije
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametar
IP generirani parametar
Vrijednost
Skeniraj A konfiguraciju registra
Registrirajte izlaz lanca skeniranja
gui_scanouta On
_registar
Isključeno
Koji je izvor za ulaz takta?
gui_scanouta _register_cloc k
Sat0 Sat1 Sat2
Koji je izvor za asinhroni čisti unos?
gui_scanouta _register_aclr
NIŠTA ACLR0 ACLR1
Koji je izvor za sinhroni čisti ulaz?
gui_scanouta _register_sclr
NIŠTA SCLR0 SCLR1
8.6.4. Preadder Tab
Tabela 33. Tab
Parametar
IP generirani parametar
Vrijednost
Odaberite način rada za čitanje
preadder_mo de
SIMPLE, COEF, INPUT, SQUARE, CONSTANT
Zadana vrijednost
Opis
Odaberite Ulaz za množenje da biste koristili ulaznu sabirnicu podataka kao izvor množitelja. Odaberite Skeniraj lančani ulaz da biste koristili ulaznu sabirnicu skeniranja kao izvor za množenje i omogućili izlaznu sabirnicu skeniranja. Ovaj parametar je dostupan kada odaberete 2, 3 ili 4 za Koliki je broj množitelja? parametar.
Off Sat0 NONE NONE
Odaberite ovu opciju da omogućite izlazni registar za scanouta izlaznu sabirnicu.
Morate odabrati Skeniraj lanac ulaza za Na koji je ulaz A množitelja povezan? parametar za omogućavanje ove opcije.
Odaberite Clock0 , Clock1 ili Clock2 da omogućite i odredite ulazni sat registra za izlaznu sabirnicu scanouta.
Morate uključiti izlaz Registra parametra lanca skeniranja da biste omogućili ovu opciju.
Određuje asinkroni čisti izvor registra za izlaznu sabirnicu scanouta.
Morate uključiti izlaz Registra parametra lanca skeniranja da biste omogućili ovu opciju.
Određuje sinhroni čisti izvor registra za izlaznu sabirnicu scanouta.
Morate odabrati Registriraj izlaz parametra lanca skeniranja da biste omogućili ovu opciju.
Zadana vrijednost
JEDNOSTAVNO
Opis
Određuje način rada za modul preadder. JEDNOSTAVNO: Ovaj način rada zaobilazi čitač. Ovo je zadani način rada. COEF: Ovaj način rada koristi izlaz sabirnice za predadder i coefsel ulaznu sabirnicu kao ulaze za množitelj. INPUT: Ovaj način rada koristi izlaz predaddera i datac ulazne magistrale kao ulaze za množitelj. KVADRAT: Ovaj način rada koristi izlaz prebirača kao oba ulaza u množitelj.
nastavak…
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 51
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametar
IP generirani parametar
Vrijednost
Odaberite smjer čitača
gui_preadder ADD,
_direction
SUB
Koliko široke treba da budu C width_c ulazne magistrale?
1 – 256
Konfiguracija registra unosa podataka C
Registrirajte unos podataka
gui_datac_inp On
ut_register
Isključeno
Koji je izvor za ulaz takta?
gui_datac_inp ut_register_cl ock
Sat0 Sat1 Sat2
Koji je izvor za asinhroni čisti unos?
gui_datac_inp ut_register_a clr
NIŠTA ACLR0 ACLR1
Koji je izvor za sinhroni čisti ulaz?
gui_datac_inp ut_register_sc lr
NIŠTA SCLR0 SCLR1
Koeficijenti
Kolika bi trebala biti širina koefa?
width_coef
1 – 27
Konfiguracija registra koef
Registrirajte unos koef
gui_coef_regi On
ster
Isključeno
Koji je izvor za ulaz takta?
gui_coef_regi ster_clock
Sat0 Sat1 Sat2
Zadana vrijednost
ADD
16
Opis
CONSTANT: Ovaj način rada koristi ulaznu sabirnicu podataka sa premošćivačem i koef. ulaznom sabirnicom kao ulaze za množitelj.
Određuje rad čitača. Da biste omogućili ovaj parametar, odaberite sljedeće za Select preadder mod: · COEF · INPUT · SQUARE ili · CONSTANT
Određuje broj bitova za C ulaznu magistralu. Morate odabrati INPUT za Select preadder mod da omogućite ovaj parametar.
Na Satu 0 NONE NONE
Odaberite ovu opciju da omogućite ulazni registar za ulaznu sabirnicu podataka. Morate postaviti INPUT na Odaberi parametar načina rada za čitanje da biste omogućili ovu opciju.
Odaberite Clock0 , Clock1 ili Clock2 da odredite ulazni signal sata za ulazni registar podataka. Morate odabrati Register datac input da biste omogućili ovaj parametar.
Određuje asinhroni čisti izvor za ulazni registar podataka. Morate odabrati Register datac input da biste omogućili ovaj parametar.
Određuje sinhroni čisti izvor za ulazni registar podataka. Morate odabrati Register datac input da biste omogućili ovaj parametar.
18
Određuje broj bitova za
coefsel ulazna magistrala.
Morate odabrati COEF ili CONSTANT za način rada za čitanje da biste omogućili ovaj parametar.
Na Satu0
Odaberite ovu opciju da biste omogućili ulazni registar za coefsel ulaznu sabirnicu. Morate odabrati COEF ili CONSTANT za način rada za čitanje da biste omogućili ovaj parametar.
Odaberite Clock0 , Clock1 ili Clock2 da odredite ulazni taktni signal za ulazni registar koef. Morate odabrati Register the coefsel input da biste omogućili ovaj parametar.
nastavak…
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 52
Pošalji povratne informacije
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametar
Koji je izvor za asinhroni čisti unos?
IP generirani parametar
Vrijednost
gui_coef_regi ster_aclr
NIŠTA ACLR0 ACLR1
Koji je izvor za sinhroni čisti ulaz
gui_coef_regi ster_sclr
NIŠTA SCLR0 SCLR1
Koeficijent_0 Konfiguracija
coef0_0 do coef0_7
0x00000 0xFFFFFFF
Koeficijent_1 Konfiguracija
coef1_0 do coef1_7
0x00000 0xFFFFFFF
Koeficijent_2 Konfiguracija
coef2_0 do coef2_7
0x00000 0xFFFFFFF
Koeficijent_3 Konfiguracija
coef3_0 do coef3_7
0x00000 0xFFFFFFF
8.6.5. Akumulator Tab
Tabela 34. Akumulator Tab
Parametar
IP generirani parametar
Vrijednost
Omogućiti akumulator?
akumulator
DA NE
Koji je tip rada akumulatora?
accum_directi ADD,
on
SUB
Zadana vrijednost NONE
NONE
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0
Opis
Određuje asinhroni čisti izvor za koefsel ulazni registar. Morate odabrati Register the coefsel input da biste omogućili ovaj parametar.
Određuje sinhroni čisti izvor za koefsel ulazni registar. Morate odabrati Register the coefsel input da biste omogućili ovaj parametar.
Određuje vrijednosti koeficijenta za ovaj prvi množitelj. Broj bitova mora biti isti kao što je navedeno u Koliko široka treba biti širina koefa? parametar. Morate odabrati COEF ili CONSTANT za način rada za čitanje da biste omogućili ovaj parametar.
Određuje vrijednosti koeficijenta za ovaj drugi množitelj. Broj bitova mora biti isti kao što je navedeno u Koliko široka treba biti širina koefa? parametar. Morate odabrati COEF ili CONSTANT za način rada za čitanje da biste omogućili ovaj parametar.
Određuje vrijednosti koeficijenta za ovaj treći množitelj. Broj bitova mora biti isti kao što je navedeno u Koliko široka treba biti širina koefa? parametar. Morate odabrati COEF ili CONSTANT za način rada za čitanje da biste omogućili ovaj parametar.
Određuje vrijednosti koeficijenta za ovaj četvrti množitelj. Broj bitova mora biti isti kao što je navedeno u Koliko široka treba biti širina koefa? parametar. Morate odabrati COEF ili CONSTANT za način rada za čitanje da biste omogućili ovaj parametar.
Zadana vrijednost NO
ADD
Opis
Odaberite DA da aktivirate akumulator. Morate odabrati Registriraj izlaz jedinice sabirača kada koristite funkciju akumulatora.
Određuje rad akumulatora: · ADD za operaciju sabiranja · SUB za operaciju oduzimanja. Morate odabrati DA za Omogući akumulator? parametar za omogućavanje ove opcije.
nastavak…
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 53
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametar
Konstanta predopterećenja Omogući konstantu predopterećenja
IP generirani parametar
Vrijednost
gui_ena_prelo On
ad_const
Isključeno
Na koji je ulaz povezan port za akumuliranje?
gui_accumula ACCUM_SLOAD, te_port_select SLOAD_ACCUM
Odaberite vrijednost za predopterećenje loadconst_val 0 – 64
konstantan
ue
Koji je izvor za ulaz takta?
gui_accum_sl oad_register_ sat
Sat0 Sat1 Sat2
Koji je izvor za asinhroni čisti unos?
gui_accum_sl oad_register_ aclr
NIŠTA ACLR0 ACLR1
Koji je izvor za sinhroni čisti ulaz?
gui_accum_sl oad_register_ sclr
NIŠTA SCLR0 SCLR1
Omogući dvostruki akumulator
gui_double_a On
ccum
Isključeno
Zadana vrijednost
Opis
Isključeno
Omogućite accum_sload ili
sload_accum signale i ulaz registra
za dinamički odabir ulaza za
akumulator.
Kada je accum_sload niska ili sload_accum, izlaz množitelja se dovodi u akumulator.
Kada je accum_sload visoka ili sload_accum, korisnički specificirana konstanta predopterećenja se dovodi u akumulator.
Morate odabrati DA za Omogući akumulator? parametar za omogućavanje ove opcije.
ACCUM_SL OAD
Određuje ponašanje accum_sload/sload_accum signala.
ACCUM_SLOAD: Pokretanje accum_sload niske za učitavanje izlaza množenja u akumulator.
SLOAD_ACCUM: Pokreni sload_accum visoko za učitavanje izlaza množenja u akumulator.
Morate odabrati opciju Omogući konstantu predučitavanja da biste omogućili ovaj parametar.
64
Odredite unaprijed postavljenu konstantnu vrijednost.
Ova vrijednost može biti 2N gdje je N unaprijed postavljena konstantna vrijednost.
Kada je N=64, to predstavlja konstantnu nulu.
Morate odabrati opciju Omogući konstantu predučitavanja da biste omogućili ovaj parametar.
Sat0
Odaberite Clock0 , Clock1 ili Clock2 da odredite ulazni signal takta za accum_sload/sload_accum registar.
Morate odabrati opciju Omogući konstantu predučitavanja da biste omogućili ovaj parametar.
NONE
Određuje asinhroni čisti izvor za accum_sload/sload_accum registar.
Morate odabrati opciju Omogući konstantu predučitavanja da biste omogućili ovaj parametar.
NONE
Određuje sinhroni čisti izvor za accum_sload/sload_accum registar.
Morate odabrati opciju Omogući konstantu predučitavanja da biste omogućili ovaj parametar.
Isključeno
Omogućava registar dvostrukog akumulatora.
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 54
Pošalji povratne informacije
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.6.6. Systolic/Chainout Tab
Tablica 35. Tab
Parametar Omogući lančani sabirač
IP generirani parametar
Vrijednost
chainout_add DA,
er
NO
Koji je tip operacije lančanog sabirača?
chainout_add ADD,
er_direction
SUB
Omogućiti `negate' unos za sabirač lančanika?
Port_negate
PORT_USED, PORT_UNUSED
Registrirati `negate' unos? negate_regist er
NEREGISTROVAN, SAT0, SAT1, SAT2, SAT3
Koji je izvor za asinhroni čisti unos?
negate_aclr
NIŠTA ACLR0 ACLR1
Koji je izvor za sinhroni čisti ulaz?
negate_sclr
NIŠTA SCLR0 SCLR1
Systolic Delay
Omogući registre sistoličkog kašnjenja
gui_systolic_d On
elay
Isključeno
Koji je izvor za ulaz takta?
gui_systolic_d CLOCK0,
elay_clock
SAT 1,
Zadana vrijednost
NO
Opis
Odaberite DA da omogućite modul za sabiranje lančanika.
ADD
Određuje operaciju lančanog sabirača.
Za operaciju oduzimanja, SIGNED mora biti odabran za Koji je format reprezentacije za ulaze množitelja A? i Koji je format reprezentacije za ulaze množitelja B? na kartici Multipliers.
PORT_UN USED
Odaberite PORT_USED da omogućite negirajući ulazni signal.
Ovaj parametar je nevažeći kada je lančani sabirač onemogućen.
UNREGIST ERED
Za omogućavanje ulaznog registra za negirani ulazni signal i specificira ulazni takt signal za negirajući registar.
Odaberite UNREGISTERED ako nije potreban registar za unos nije potreban
Ovaj parametar je nevažeći kada odaberete:
· NE za Enable chainout adder ili
· PORT_UNUSED za Omogućavanje 'negate' ulaza za sabirač lančanika? parametar ili
NONE
Određuje asinhroni čisti izvor za negativni registar.
Ovaj parametar je nevažeći kada odaberete:
· NE za Enable chainout adder ili
· PORT_UNUSED za Omogućavanje 'negate' ulaza za sabirač lančanika? parametar ili
NONE
Određuje sinhroni čisti izvor za negativni registar.
Ovaj parametar je nevažeći kada odaberete:
· NE za Enable chainout adder ili
· PORT_UNUSED za Omogućavanje 'negate' ulaza za sabirač lančanika? parametar ili
Off CLOCK0
Odaberite ovu opciju da biste omogućili sistolni način rada. Ovaj parametar je dostupan kada odaberete 2 ili 4 za Koliki je broj množitelja? parametar. Morate omogućiti izlaz registra jedinice za sabiranje da biste koristili registre sistoličkog kašnjenja.
Određuje ulazni taktni signal za registar sistoličkog kašnjenja.
nastavak…
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 55
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametar
IP generirani parametar
Vrijednost
SAT 2,
Koji je izvor za asinhroni čisti unos?
gui_systolic_d elay_aclr
NIŠTA ACLR0 ACLR1
Koji je izvor za sinhroni čisti ulaz?
gui_systolic_d elay_sclr
NIŠTA SCLR0 SCLR1
Zadana vrijednost
NONE
NONE
Opis
Morate odabrati Omogući registre sistoličkog kašnjenja da biste omogućili ovu opciju.
Određuje asinhroni čisti izvor za registar sistoličkog kašnjenja. Morate odabrati Omogući registre sistoličkog kašnjenja da biste omogućili ovu opciju.
Određuje sinhroni čisti izvor za registar sistoličkog kašnjenja. Morate odabrati Omogući registre sistoličkog kašnjenja da biste omogućili ovu opciju.
8.6.7. Pipelining Tab
Tabela 36. Cjevovod Tab
Konfiguracija cjevovoda parametara
IP generirani parametar
Vrijednost
Želite li dodati registar cjevovoda na ulaz?
gui_pipelining Ne, Da
Zadana vrijednost
br
Molimo navedite
latencija
broj sata latencije
ciklusa
Bilo koja vrijednost veća od 0
Koji je izvor za ulaz takta?
gui_input_late ncy_clock
SAT0, SAT1, SAT2
Koji je izvor za asinhroni čisti unos?
gui_input_late ncy_aclr
NIŠTA ACLR0 ACLR1
Koji je izvor za sinhroni čisti ulaz?
gui_input_late ncy_sclr
NIŠTA SCLR0 SCLR1
CLOCK0 NONE NONE
Opis
Odaberite Da da biste omogućili dodatni nivo registra cjevovoda za ulazne signale. Morate navesti vrijednost veću od 0 za parametar Molimo navedite broj ciklusa latencije takta.
Određuje željeno kašnjenje u taktovima. Jedan nivo registra cjevovoda = 1 latencija u ciklusu takta. Morate odabrati DA za Da li želite dodati registar cjevovoda na ulaz? da omogućite ovu opciju.
Odaberite Clock0 , Clock1 ili Clock2 da omogućite i odredite ulazni satni signal registra cjevovoda. Morate odabrati DA za Da li želite dodati registar cjevovoda na ulaz? da omogućite ovu opciju.
Određuje asinkroni čisti izvor registra za dodatni registar cjevovoda. Morate odabrati DA za Da li želite dodati registar cjevovoda na ulaz? da biste omogućili ovu opciju.
Određuje sinkroni čisti izvor registra za dodatni registar cjevovoda. Morate odabrati DA za Da li želite dodati registar cjevovoda na ulaz? da biste omogućili ovu opciju.
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 56
Pošalji povratne informacije
683490 | 2020.10.05. Pošalji povratnu informaciju
9. ALTMEMMULT (Množitelj konstantnog koeficijenta zasnovan na memoriji) IP jezgro
pažnja:
Intel je uklonio podršku za ovu IP adresu u verziji 20.3 Intel Quartus Prime Pro Edition. Ako IP jezgro u vašem dizajnu cilja na uređaje u Intel Quartus Prime Pro izdanju, možete zamijeniti IP sa LPM_MULT Intel FPGA IP ili ponovo generisati IP i kompajlirati svoj dizajn pomoću softvera Intel Quartus Prime Standard Edition.
ALTMEMMULT IP jezgro se koristi za kreiranje množitelja zasnovanih na memoriji koristeći onchip memorijske blokove koji se nalaze u Intel FPGA (sa M512, M4K, M9K i MLAB memorijskim blokovima). Ovo IP jezgro je korisno ako nemate dovoljno resursa za implementaciju množitelja u logičke elemente (LE) ili namjenske resurse množenja.
ALTMEMMULT IP jezgro je sinhrona funkcija za koju je potreban sat. ALTMEMMULT IP jezgro implementira množitelj sa najmanjom mogućom propusnošću i kašnjenjem za dati skup parametara i specifikacija.
Sljedeća slika prikazuje portove za ALTMEMMULT IP jezgro.
Slika 21. ALTMEMMULT portovi
ALTMEMMULT
data_in[] sload_data coeff_in[]
result[] result_valid load_done
sload_coeff
sclr sat
inst
Povezane informacije Funkcije na stranici 71
9.1. Karakteristike
ALTMEMMULT IP jezgro nudi sljedeće karakteristike: · Stvara samo memorijske množitelje koristeći memorijske blokove na čipu koji se nalaze u
Intel FPGA · Podržava širinu podataka od 1 bita · Podržava format predstavljanja potpisanih i nepotpisanih podataka · Podržava cevovod sa fiksnim izlaznim kašnjenjem
Intel Corporation. Sva prava zadržana. Intel, Intel logo i druge Intel oznake su zaštitni znaci Intel Corporation ili njenih podružnica. Intel garantuje performanse svojih FPGA i poluprovodničkih proizvoda u skladu sa trenutnim specifikacijama u skladu sa Intelovom standardnom garancijom, ali zadržava pravo da izvrši izmene bilo kojeg proizvoda i usluge u bilo koje vreme bez prethodne najave. Intel ne preuzima nikakvu odgovornost ili odgovornost koja proizilazi iz primene ili korišćenja bilo koje informacije, proizvoda ili usluge opisane ovde, osim ako je Intel izričito pristao u pisanoj formi. Intelovim kupcima se savjetuje da nabave najnoviju verziju specifikacija uređaja prije nego što se oslone na bilo koju objavljenu informaciju i prije naručivanja proizvoda ili usluga. *Druga imena i robne marke mogu se smatrati vlasništvom drugih.
ISO 9001:2015 Registrovan
9. ALTMEMMULT (Množitelj konstantnog koeficijenta zasnovan na memoriji) IP Core 683490 | 2020.10.05
· Pohranjuje višestruke konstante u memoriju sa slučajnim pristupom (RAM)
· Pruža opciju za odabir tipa RAM bloka
· Podržava opcione sinhrone čiste i ulazne portove za kontrolu opterećenja
9.2. Verilog HDL prototip
Sljedeći Verilog HDL prototip se nalazi u Verilog Designu File (.v) altera_mf.v u eda synthesis directory.
modul altmemmult #( parametar coeff_representation = “POTPISAN”, parametar koeficijent 0 = “NEKORIŠĆEN”, parametar data_representation = “POTPISAN”, parametar namijenjen_device_family = “neiskorišten”, parametar max_clock_cycles_per_result = 1, parametar broj_koeficijenata_koeficijenata_koeficijenata parametara = AUb ram 1_, total_latency = 1, parametar width_c = 1, parametar width_d = 1, parametar width_r = 1, parametar width_s = 1, parametar lpm_type = "altmemmult", parametar lpm_hint = "unused") (takt ulazne žice, ulazna žica [width_c-1: 0]coeff_in, ulazna žica [width_d-1:0] data_in, izlazna žica load_done, izlazna žica [width_r-1:0] rezultat, izlazna žica result_valid, ulazna žica sclr, ulazna žica [width_s-1:0] sel, ulaz žica sload_coeff, ulazna žica sload_data)/* sinteza syn_black_box=1 */; endmodule
9.3. Deklaracija VHDL komponente
Deklaracija VHDL komponente nalazi se u VHDL dizajnu File (.vhd) altera_mf_components.vhd u librariesvhdlaltera_mf direktorij.
komponenta altmemmult generički ( coeff_representation:string := “POTPISAN”; coefficient0:string := “NEKORIŠTEN”; data_representation:string := “POTPISAN”; predviđena_familija_uređaja:string := “nekorišten”; max_clock_cycles_per_result:1. := 1; ram_block_type:string := "AUTO"; total_latency:prirodno; width_c:prirodno; width_d:prirodno; width_r:prirodno; width_s:prirodno := 1; lpm_hint:string := "NEKORIŠTEN"; lpm_type:string := “altmemmult”); port(clock:u std_logic; coeff_in:u std_logic_vector(width_c-1 do 0) := (ostali => '0'); data_in:u std_logic_vector(width_d-1 do 0);
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 58
Pošalji povratne informacije
9. ALTMEMMULT (Množitelj konstantnog koeficijenta zasnovan na memoriji) IP Core 683490 | 2020.10.05
load_done:out std_logic; result:out std_logic_vector(width_r-1 do 0); result_valid:out std_logic; sclr:in std_logic := '0'; sel:in std_logic_vector(width_s-1 do 0) := (ostali => '0'); sload_coeff:u std_logic := '0'; sload_data:in std_logic := '0'); krajnja komponenta;
9.4. Portovi
Sljedeće tablice navode ulazne i izlazne portove za ALTMEMMULT IP jezgro.
Tablica 37. ALTMEMMULT ulazni portovi
Port Name
Obavezno
Opis
sat
Da
Ulaz sata u množitelj.
coeff_in[]
br
Koeficijent ulaznog porta za množitelj. Veličina ulaznog porta ovisi o vrijednosti parametra WIDTH_C.
data_in[]
Da
Port za unos podataka u multiplikator. Veličina ulaznog porta ovisi o vrijednosti parametra WIDTH_D.
sclr
br
Sinhroni čisti unos. Ako se ne koristi, zadana vrijednost je aktivna visoka.
sel[]
br
Odabir fiksnog koeficijenta. Veličina ulaznog porta ovisi o WIDTH_S
vrijednost parametra.
sload_coeff
br
Ulazni port za sinhroni koeficijent opterećenja. Zamjenjuje trenutnu odabranu vrijednost koeficijenta vrijednošću specificiranom u unosu coeff_in.
sload_data
br
Sinhroni ulazni port za učitavanje podataka. Signal koji specificira novu operaciju množenja i poništava sve postojeće operacije množenja. Ako parametar MAX_CLOCK_CYCLES_PER_RESULT ima vrijednost 1, ulazni port sload_data se zanemaruje.
Tablica 38. ALTMEMMULT izlazni portovi
Port Name
Obavezno
Opis
rezultat[]
Da
Izlazni port množitelja. Veličina ulaznog porta ovisi o vrijednosti parametra WIDTH_R.
result_valid
Da
Označava kada je izlaz valjan rezultat potpunog množenja. Ako parametar MAX_CLOCK_CYCLES_PER_RESULT ima vrijednost 1, izlazni port result_valid se ne koristi.
load_done
br
Označava kada je novi koeficijent završio učitavanje. Signal load_done potvrđuje kada je novi koeficijent završio učitavanje. Osim ako je signal load_done visok, nijedna druga vrijednost koeficijenta ne može se učitati u memoriju.
9.5. Parametri
Sljedeća tabela navodi parametre za ALTMEMMULT IP jezgro.
Tabela 39.
WIDTH_D WIDTH_C
ALTMEMMULT Parameters
Naziv parametra
Vrsta Obavezno
Opis
Integer Yes
Određuje širinu porta data_in[].
Integer Yes
Određuje širinu porta coeff_in[]. nastavak…
Pošalji povratne informacije
Korisnički vodič za Intel FPGA integer aritmetičke IP jezgre 59
9. ALTMEMMULT (Množitelj konstantnog koeficijenta zasnovan na memoriji) IP Core 683490 | 2020.10.05
Naziv parametra WIDTH_R WIDTH
Dokumenti / Resursi
![]() |
intel FPGA Integer Aritmetic IP Cores [pdf] Korisnički priručnik FPGA Integer Aritmetičke IP jezgre, Integer Aritmetičke IP jezgre, Aritmetičke IP jezgre, IP jezgre |