FPGA Integer Arithmetic IP Nukleoak
Intel FPGA Integer Arithmetic IP Nukleoen erabiltzailearen gida
Intel® Quartus® Prime Design Suite-rako eguneratua: 20.3
Lineako bertsioa Bidali iritzia
UG-01063
ID: 683490 Bertsioa: 2020.10.05
Edukiak
Edukiak
1. Intel FPGA Integer Arithmetic IP Nukleoak…………………………………………………………………………….. 5
2. LPM_COUNTER (Kontagailua) IP Nukleoa……………………………………………………………………………….. 7 2.1. Ezaugarriak…………………………………………………………………………………………………7 2.2. Verilog HDL prototipoa…………………………………………………………………………………………….. 8 2.3. VHDL Osagaien Adierazpena……………………………………………………………………………….8 2.4. VHDL LIBRARY_USE Adierazpena………………………………………………………………… 9 2.5. Portuak………………………………………………………………………………………………………………..9 2.6. Parametroak………………………………………………………………………………………………… 10
3. LPM_DIVIDE (zatitzailea) Intel FPGA IP Core………………………………………………………….. 12 3.1. Ezaugarriak………………………………………………………………………………………………. 12 3.2. Verilog HDL prototipoa……………………………………………………………………………… 12 3.3. VHDL Osagaien Adierazpena…………………………………………………………………….. 13 3.4. VHDL LIBRARY_USE Adierazpena…………………………………………………………………. 13 3.5. Portuak……………………………………………………………………………………………………………… 13 3.6. Parametroak………………………………………………………………………………………………… 14
4. LPM_MULT (biderkatzailea) IP Nukleoa………………………………………………………………………………………. 16 4.1. Ezaugarriak………………………………………………………………………………………………. 16 4.2. Verilog HDL prototipoa……………………………………………………………………………… 17 4.3. VHDL Osagaien Adierazpena……………………………………………………………………………….. 17 4.4. VHDL LIBRARY_USE Adierazpena…………………………………………………………………. 17 4.5. Seinaleak………………………………………………………………………………………………………… 18 4.6. Stratix V, Arria V, Cyclone V eta Intel Cyclone 10 LP gailuen parametroak…………… 18 4.6.1. Fitxa Orokorra…………………………………………………………………………………18 4.6.2. Orokorra 2 fitxa……………………………………………………………………………… 19 4.6.3. Pipelinen fitxa……………………………………………………………………………… 19 4.7. Intel Stratix 10, Intel Arria 10 eta Intel Cyclone 10 GX gailuen parametroak……….. 20 4.7.1. Fitxa Orokorra…………………………………………………………………………………20 4.7.2. Orokorra 2 fitxa……………………………………………………………………………… 20 4.7.3. Kanalizazioa ………………………………………………………………………………………………21
5. LPM_ADD_SUB (Bagatzailea/Kenkaria)……………………………………………………………………………… 22 5.1. Ezaugarriak………………………………………………………………………………………………. 22 5.2. Verilog HDL prototipoa……………………………………………………………………………… 23 5.3. VHDL Osagaien Adierazpena……………………………………………………………………………….. 23 5.4. VHDL LIBRARY_USE Adierazpena…………………………………………………………………. 23 5.5. Portuak………………………………………………………………………………………………… 23 5.6. Parametroak…………………………………………………………………………………………… 24
6. LPM_COMPARE (Konparatzailea)……………………………………………………………………………………… 26 6.1. Ezaugarriak………………………………………………………………………………………………. 26 6.2. Verilog HDL prototipoa……………………………………………………………………………… 27 6.3. VHDL Osagaien Adierazpena…………………………………………………………………….. 27 6.4. VHDL LIBRARY_USE Adierazpena…………………………………………………………………. 27 6.5. Portuak…………………………………………………………………………………………………………… 27 6.6. Parametroak…………………………………………………………………………………………… 28
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 2
Bidali Iritzia
Edukiak
7. ALTEC (Erroreak zuzentzeko kodea: kodetzailea/deskodetzailea) IP Nukleoa………………………………………………… 30
7.1. ALTEC kodetzailearen Ezaugarriak…………………………………………………………………………………..31 7.2. Verilog HDL prototipoa (ALTECC_ENCODER)……………………………………………………. 32 7.3. Verilog HDL prototipoa (ALTECC_DECODER)……………………………………………………. 32 7.4. VHDL Osagaien Adierazpena (ALTECC_ENCODER)………………………………………………33 7.5. VHDL Osagaien Adierazpena (ALTECC_DECODER)………………………………………………33 7.6. VHDL LIBRARY_USE Adierazpena…………………………………………………………………. 33 7.7. Kodetzailearen atakak………………………………………………………………………………………………… 33 7.8. Deskodetzaileen atakak……………………………………………………………………………………………………34 7.9. Kodegailuaren parametroak……………………………………………………………………………… 34 7.10. Deskodetzailearen parametroak ……………………………………………………………………………… 35
8. Intel FPGA Multiply Adder IP Core ……………………………………………………………………. 36
8.1. Ezaugarriak………………………………………………………………………………………………. 37 8.1.1. Aurre-bagatzailea………………………………………………………………………………….. 38 8.1.2. Atzerapen Sistolikoaren Erregistroa………………………………………………………………….. 40 8.1.3. Aurre-karga-konstantea……………………………………………………………………………… 43 8.1.4. Metagailu bikoitza……………………………………………………………………………… 43
8.2. Verilog HDL prototipoa……………………………………………………………………………… 44 8.3. VHDL Osagaien Adierazpena……………………………………………………………………………….. 44 8.4. VHDL LIBRARY_USE Adierazpena…………………………………………………………………. 44 8.5. Seinaleak………………………………………………………………………………………………………… 44 8.6. Parametroak……………………………………………………………………………………………… 47
8.6.1. Fitxa Orokorra……………………………………………………………………………………47 8.6.2. Modu gehigarriak fitxa………………………………………………………………………………….. 47 8.6.3. Biderkatzaileak fitxa…………………………………………………………………………………….. 49 8.6.4. Iragarkiaren fitxa………………………………………………………………………………. 51 8.6.5. Metagailuen fitxa………………………………………………………………………………….. 53 8.6.6. Sistolikoa/Chainout fitxa………………………………………………………………………………. 55 8.6.7. Pipelinen fitxa……………………………………………………………………………… 56
9. ALTMEMMULT (Memorian oinarritutako koefiziente konstanteen biderkatzailea) IP Core………… 57
9.1. Ezaugarriak………………………………………………………………………………………………. 57 9.2. Verilog HDL prototipoa……………………………………………………………………………… 58 9.3. VHDL Osagaien Adierazpena…………………………………………………………………….. 58 9.4. Portuak………………………………………………………………………………………………… 59 9.5. Parametroak……………………………………………………………………………………………… 59
10. ALTMULT_ACCUM (Aniztu-Metatzea) IP Nukleoa………………………………………………… 61
10.1. Ezaugarriak……………………………………………………………………………………………….. 62 10.2. Verilog HDL prototipoa……………………………………………………………………………………..62 10.3. VHDL Osagaien Adierazpena………………………………………………………………… 63 10.4. VHDL LIBRARY_USE Adierazpena…………………………………………………………………63 10.5. Portuak………………………………………………………………………………………………………………. 63 10.6. Parametroak…………………………………………………………………………………………………. 64
11. ALTMULT_ADD (Bikoiztu-gehitzailea) IP Nukleoa…………………………………………………………..69
11.1. Ezaugarriak……………………………………………………………………………………………….. 71 11.2. Verilog HDL prototipoa……………………………………………………………………………………..72 11.3. VHDL Osagaien Adierazpena………………………………………………………………… 72 11.4. VHDL LIBRARY_USE Adierazpena…………………………………………………………………72
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 3
Edukiak
11.5. Portuak………………………………………………………………………………………………………………. 72 11.6. Parametroak…………………………………………………………………………………………………. 73
12. ALTMULT_COMPLEX (biderkatzaile konplexua) IP nukleoa……………………………………………… 86 12.1. Biderketa konplexua……………………………………………………………………………………. 86 12.2. Adierazpen Kanonikoa……………………………………………………………………………… 87 12.3. Ordezkaritza konbentzionala………………………………………………………………………. 87 12.4. Ezaugarriak…………………………………………………………………………………………….. 88 12.5. Verilog HDL prototipoa……………………………………………………………………………………………..88 12.6. VHDL Osagaien Adierazpena………………………………………………………………… 89 12.7. VHDL LIBRARY_USE Adierazpena………………………………………………………………… 89 12.8. Seinaleak…………………………………………………………………………………………………………. 89 12.9. Parametroak…………………………………………………………………………………………………. 90
13. ALTSQRT (Erro Karratu Osoa) IP Nukleoa………………………………………………………………92 13.1. Ezaugarriak……………………………………………………………………………………………….. 92 13.2. Verilog HDL prototipoa……………………………………………………………………………………………..92 13.3. VHDL Osagaien Adierazpena………………………………………………………………… 93 13.4. VHDL LIBRARY_USE Adierazpena…………………………………………………………………93 13.5. Portuak………………………………………………………………………………………………………………. 93 13.6. Parametroak…………………………………………………………………………………………………. 94
14. PARALLEL_ADD (Gehitzaile paraleloa) IP Nukleoa………………………………………………………….. 95 14.1. Ezaugarria………………………………………………………………………………………………………….95 14.2. Verilog HDL prototipoa……………………………………………………………………………………………..95 14.3. VHDL Osagaien Adierazpena………………………………………………………………… 96 14.4. VHDL LIBRARY_USE Adierazpena…………………………………………………………………96 14.5. Portuak………………………………………………………………………………………………………………. 96 14.6. Parametroak…………………………………………………………………………………………………. 97
15. Integer Arithmetic IP Cores Erabiltzailearen Gida Dokumentuen Artxiboak………………………………… 98
16. Intel FPGA Integer Arithmetic IP Nukleoen Dokumentuen Berrikuspen Historiaren Erabiltzailearen Gida... 99
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 4
Bidali Iritzia
683490 | 2020.10.05/XNUMX/XNUMX Bidali iritzia
1. Intel FPGA Integer Arithmetic IP Nukleoak
Intel® FPGA zenbaki osoko IP nukleoak erabil ditzakezu zure diseinuan eragiketa matematikoak egiteko.
Funtzio hauek sintesi logiko eta gailuaren ezarpen eraginkorragoak eskaintzen dituzte zure funtzioak kodetzea baino. IP nukleoak pertsonaliza ditzakezu zure diseinu eskakizunetara egokitzeko.
Intel aritmetiko osoko IP nukleoak bi kategoria hauetan banatzen dira: · Parameterized modules of library (LPM) IP nukleoak · Intel-eko espezifikoak (ALT) IP nukleoak
Ondorengo taulan zenbaki osoko IP nukleoak zerrendatzen dira.
1. taula.
IP Nukleoen zerrenda
IP Nukleoak
LPM IP nukleoak
LPM_COUNTER
LPM_DIVIDE
LPM_MULT
LPM_ADD_SUB
LPM_COMPARE
Intel-en espezifikoak (ALT) IP nukleoak ALTEC
Funtzioa amaitu daview Counter Divider biderkatzailea
Batutzailea edo kentzailea Konparatzailea
ECC kodetzailea/deskodetzailea
Onartutako gailua
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 jarraitu...
Intel Corporation. Eskubide guztiak erreserbatuak. Intel, Intel logotipoa eta beste Intel marka Intel Corporation edo bere filialen marka komertzialak dira. Intel-ek bere FPGA eta erdieroaleen produktuen errendimendua bermatzen du uneko zehaztapenekin, Intel-en berme estandarraren arabera, baina edozein unetan edozein produktu eta zerbitzutan aldaketak egiteko eskubidea gordetzen du jakinarazi gabe. Intel-ek ez du bere gain hartzen hemen deskribatutako edozein informazio, produktu edo zerbitzuren aplikazio edo erabileratik eratorritako erantzukizunik edo erantzukizunik, Intel-ek idatziz berariaz hitzartutakoa izan ezik. Intel-eko bezeroei gomendatzen zaie gailuaren zehaztapenen azken bertsioa eskuratzea argitaratutako edozein informaziotan oinarritu aurretik eta produktu edo zerbitzuen eskaerak egin aurretik. *Beste izen eta markak beste batzuen jabetza direla erreklamatu daitezke.
ISO 9001:2015 Erregistratua
1. Intel FPGA Integer Arithmetic IP Nukleoak 683490 | 2020.10.05/XNUMX/XNUMX
IP nukleoak Intel FPGA Multiply Adder edo ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
ALTSQRT
PARALLEL_GEHITU
Funtzioa amaitu daview Biderkatzailea-Baitzailea
Memorian oinarritutako koefiziente konstanteen biderkatzailea
Biderkatzailea-Metagailua Biderkatzailea-Bagatzailea
Biderkatzaile konplexua
Osoko karratu-erroa
Gehigarri paraleloa
Onartutako gailua
Arria V, Stratix V, Cyclone V, Intel Stratix 10, Intel Arria 10, Intel Cyclone
10 GX
Arria II GX, Arria II GZ, Arria V, Intel Arria 10 (Intel Quartus® Prime Standard Edition), Cyclone IV E, Cyclone IV GX, Cyclone V, Intel
Cyclone 10 LP, MAX II, MAX V, MAX 10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Cyclone IV E, Cyclone IV GX, Intel Cyclone 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Cyclone IV E, Cyclone IV GX,Intel Cyclone 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Intel Arria 10, Arria V, Arria V GZ, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel
Cyclone 10 GX, Intel Cyclone 10 LP, MAX 10, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP,Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V
Lotutako informazioa
· Intel FPGA eta gailu programagarrien bertsio-oharrak
· Intel FPGA IP nukleoei buruzko sarrera Intel FPGA IP nukleoei buruzko informazio gehiago eskaintzen du.
· Floating-Point IP Nukleoen Erabiltzailearen Gida Intel FPGA Floating-Point IP Nukleoei buruzko informazio gehiago eskaintzen du.
· Intel FPGA IP nukleoei buruzko sarrera Intel FPGA IP nukleo guztiei buruzko informazio orokorra eskaintzen du, IP nukleoak parametrizatzea, sortzea, berritzea eta simulatzea barne.
· Bertsioz independenteak diren IP eta Qsys simulazio-scriptak sortzea Sortu simulazio-scriptak software edo IP bertsioen eguneratzeetarako eskuzko eguneraketak behar ez dituztenak.
· Proiektuak Kudeatzeko Jardunbide Egokien Gidalerroak, zure proiektuaren eta IParen kudeaketa eraginkorra eta eramangarritasuna lortzeko files.
· Integer Arithmetic IP Cores Erabiltzailearen gida Dokumentuen artxiboak 98. orrialdean Integer Arithmetic IP nukleoen aurreko bertsioetarako erabiltzailearen giden zerrenda eskaintzen du.
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 6
Bidali Iritzia
683490 | 2020.10.05/XNUMX/XNUMX Bidali iritzia
2. LPM_COUNTER (Kontagailua) IP Nukleoa
1. irudia.
LPM_COUNTER IP nukleoa 256 biteko zabalera duten irteerak dituzten goranzko, beherako kontagailuak eta gora edo beherako kontagailuak sortzen dituen kontagailu bitar bat da.
Hurrengo irudiak LPM_COUNTER IP nukleoaren atakak erakusten ditu.
LPM_COUNTER atakak
LPM_COUNTER
ssclr sload sset datuak[]
q[]
gora behera
cout
aclr kargatu aset
clk_en cnt_en cin
inst
2.1. Ezaugarriak
LPM_COUNTER IP nukleoak ezaugarri hauek eskaintzen ditu: · Kontagailuak gora, behera eta gora/behera sortzen ditu · Kontadore mota hauek sortzen ditu:
— Binario arrunta: zerotik hasten den kontagailua handitzen da edo 255etik hasita gutxitzen da
— Modulua: kontagailuak erabiltzaileak zehaztutako moduluaren balioarekin handitzen edo txikitzen du eta errepikatzen du
· Garbitu, kargatu eta ezarri sarrerako ataka sinkronoak aukeran onartzen ditu · Garbitu, kargatu eta ezarri sarrerako ataka asinkrono aukeran onartzen ditu · Zenbaketa eta erlojua gaitzeko aukerako sarrerak onartzen ditu
Intel Corporation. Eskubide guztiak erreserbatuak. Intel, Intel logotipoa eta beste Intel marka Intel Corporation edo bere filialen marka komertzialak dira. Intel-ek bere FPGA eta erdieroaleen produktuen errendimendua bermatzen du uneko zehaztapenekin, Intel-en berme estandarraren arabera, baina edozein unetan edozein produktu eta zerbitzutan aldaketak egiteko eskubidea gordetzen du jakinarazi gabe. Intel-ek ez du bere gain hartzen hemen deskribatutako edozein informazio, produktu edo zerbitzuren aplikazio edo erabileratik eratorritako erantzukizunik edo erantzukizunik, Intel-ek idatziz berariaz hitzartutakoa izan ezik. Intel-eko bezeroei gomendatzen zaie gailuaren zehaztapenen azken bertsioa eskuratzea argitaratutako edozein informaziotan oinarritu aurretik eta produktu edo zerbitzuen eskaerak egin aurretik. *Beste izen eta markak beste batzuen jabetza direla erreklamatu daitezke.
ISO 9001:2015 Erregistratua
2. LPM_COUNTER (Kontagailua) IP Nukleoa
683490 | 2020.10.05
2.2. Verilog HDL prototipoa
Hurrengo Verilog HDL prototipoa Verilog Design-en dago File (.v) lpm.v-en edasynthesis direktorioa.
lpm_counter modulua ( q, data, clock, cin, cout, clk_en, cnt_en, updown, aset, aclr, aload, sset, sclr, sload, eq ); lpm_type parametroa = "lpm_counter"; lpm_width parametroa = 1; lpm_modulus parametroa = 0; lpm_direction parametroa = "ERABILTZEN EZ"; lpm_avalue parametroa = "ERABILTZEN EZ"; lpm_svalue parametroa = "ERABILTZEN EZ"; lpm_pvalue parametroa = "ERABILTZEN EZ"; lpm_port_updown parametroa = "PORT_CONNECTIVITY"; lpm_hint parametroa = "ERABILTZEN EZ"; irteera [lpm_width-1:0] q; irteera cout; irteera [15:0] eq; sarrera cin; sarrera [lpm_width-1:0] datuak; sarrerako erlojua, clk_en, cnt_en, gora behera; input aset, aclr, aload; sarrera sset, sclr, sload; amaierako modulua
2.3. VHDL osagaien adierazpena
VHDL osagaien adierazpena VHDL diseinuan dago File (.vhd) LPM_PACK.vhd atalean librariesvhdllpm direktorioa.
osagaia LPM_COUNTER generikoa ( LPM_WIDTH : naturala; LPM_MODULUS : naturala := 0; LPM_DIRECTION : katea := “UNUSED”; LPM_AVALUE : katea := “UNUSED”; LPM_SVALUE : string := “UNUSED”; LPM_PORT_UPDOWN: “string:” string :_CONNECTIVITY ; LPM_PVALUE : katea := “UNUSED”; LPM_TYPE : string := L_COUNTER; LPM_HINT : katea := “UNUSED”); ataka (DATUAK: std_logic_vector-en (LPM_WIDTH-1 behera 0):= (BESTEAK =>
'0'); CLOCK: std_logic-en; CLK_EN : in std_logic := '1'; CNT_EN : std_logic := '1'; IGOERA : std_logic := '1'; SLOAD : std_logic := '0'; SSET : std_logic := '0'; SCLR : std_logic := '0'; ALOAD : std_logic := '0'; ASET : std_logic := '0'; ACLR : std_logic := '0'; CIN : std_logic := '1'; COUT : out std_logic := '0'; Q: out std_logic_vector (LPM_WIDTH-1 behera 0); EQ: out std_logic_vector (15 behera 0));
amaierako osagaia;
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 8
Bidali Iritzia
2. LPM_COUNTER (Kontagailua) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
2.4. VHDL LIBRARY_USE Adierazpena
VHDL LIBRARY-USE adierazpena ez da beharrezkoa VHDL osagaien adierazpena erabiltzen baduzu.
LIBURUTEGIA lpm; ERABILI lpm.lpm_components.all;
2.5. Portuak
Ondorengo tauletan LPM_COUNTER IP nukleoaren sarrera eta irteera atakak zerrendatzen dira.
2. taula.
LPM_COUNTER Sarrera atakak
Portuaren izena
Beharrezkoa
Deskribapena
datuak[]
Ez
Kontagailuan datuen sarrera paraleloa. Sarrerako atakaren tamaina LPM_WIDTH parametroaren balioaren araberakoa da.
erlojua
Bai
Ertz positiboak abiarazitako erlojuaren sarrera.
clk_eu
Ez
Erlojua gaitu sarrera jarduera sinkrono guztiak gaitzeko. Baztertzen bada, balio lehenetsia 1 da.
cnt_eu
Ez
Count enable input zenbaketa desgaitzeko baxua baieztatzen denean sload, sset edo sclr eragin gabe. Baztertzen bada, balio lehenetsia 1 da.
gora behera
Ez
Zenbaketaren norabidea kontrolatzen du. Altua (1) baieztatzen denean, zenbaketaren norabidea gora egiten da, eta baxua (0) baieztatzen denean, zenbaketaren norabidea behera egiten da. LPM_DIRECTION parametroa erabiltzen bada, goranzko ataka ezin da konektatu. LPM_DIRECTION erabiltzen ez bada, goranzko ataka hautazkoa da. Baztertzen bada, balio lehenetsia gora da (1).
cin
Ez
Eraman ezazu eskaera txikiko bitra. Gora-kontagailuetarako, cin sarreraren portaera da
cnt_en sarreraren portaeraren berdina. Baztertzen bada, balio lehenetsia 1 da
(VCC).
aklr
Ez
Sarrera garbi asinkronoa. Aset eta aclr biak erabiltzen eta baieztatzen badira, aclr-k aset gainidazten du. Baztertzen bada, balio lehenetsia 0 da (desgaituta).
aset
Ez
Multzo asinkronoaren sarrera. q[] irteerak 1 guztiak bezala zehazten ditu, edo LPM_AVALUE parametroak zehaztutako balioarekin. Aset eta aclr atakak erabiltzen eta baieztatzen badira, aclr atakaren balioak aset atakaren balioa gainidazten du. Baztertzen bada, balio lehenetsia 0 da, desgaituta.
kargatu
Ez
Karga-sarrera asinkronoa, kontagailua modu asinkronoan kargatzen duena datu-sarrerako balioarekin. Aload ataka erabiltzen denean, datu[] ataka konektatuta egon behar da. Baztertzen bada, balio lehenetsia 0 da, desgaituta.
sclr
Ez
Sarrera garbi sinkronikoa, hurrengo erloju aktiboaren ertzean kontagailua garbitzen duena. Sset eta sclr atakak erabiltzen eta baieztatzen badira, sclr atakaren balioak sset atakaren balioa gainidazten du. Baztertzen bada, balio lehenetsia 0 da, desgaituta.
multzoa
Ez
Kontagailua hurrengo erloju aktiboaren ertzean ezartzen duen sarrera sinkronikoa. q irteeren balioa 1 guztiak bezala zehazten du, edo LPM_SVALUE parametroak zehaztutako balioarekin. Sset eta sclr atakak erabiltzen eta baieztatzen badira,
sclr atakaren balioak sset atakaren balioa gainidazten du. Baztertzen bada, balio lehenetsia 0 da (desgaituta).
kargatu
Ez
Karga-sarrera sinkronikoa, kontadorea datuekin kargatzen duena hurrengo erloju aktiboaren ertzean. Sload ataka erabiltzen denean, data[] ataka konektatuta egon behar da. Baztertzen bada, balio lehenetsia 0 da (desgaituta).
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 9
2. LPM_COUNTER (Kontagailua) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
3. taula.
LPM_COUNTER Irteerako atakak
Portuaren izena
Beharrezkoa
Deskribapena
q[]
Ez
Kontadoretik datuak ateratzea. Irteerako atakaren tamainaren araberakoa da
LPM_WIDTH parametroaren balioa. Edo q[] edo gutxienez eq[15..0] ataka bat
konektatuta egon behar da.
eq[15..0]
Ez
Kontagailua deskodetzeko irteera. eq[15..0] ataka ez dago eskuragarri parametroen editorean, parametroak AHDL soilik onartzen duelako.
q[] ataka edo eq[] ataka konektatuta egon behar da. Gehienez c eq atakak erabil daitezke (0 <= c <= 15). 16 zenbaki txikieneko balioak bakarrik deskodetzen dira. Zenbaketa-balioa c denean, eqc irteera altua adierazten da (1). Adibidezample, zenbaketa 0 denean, eq0 = 1, zenbaketa 1 denean, eq1 = 1, eta zenbaketa 15 denean, eq 15 = 1. 16 edo gehiagoko zenbaketa-balioetarako deskodetutako irteerak kanpoko deskodeketa eskatzen du. eq[15..0] irteerak q[] irteerarekin asinkronoak dira.
cout
Ez
Kontagailuaren MSB bitaren exekuzio ataka. Beste kontagailu batera konektatzeko erabil daiteke kontagailu handiago bat sortzeko.
2.6. parametroak
Hurrengo taulan LPM_COUNTER IP nukleoaren parametroak zerrendatzen dira.
4. taula.
LPM_COUNTER parametroak
Parametroaren izena
Mota
LPM_WIDTH
Zenbaki osoa
LPM_DIRECTION
Katea
LPM_MODULUS LPM_AVALUE
Zenbaki osoa
Zenbaki osoa/ Katea
LPM_SVALUE LPM_HINT
Zenbaki osoa/ Katea
Katea
LPM_TYPE
Katea
Beharrezkoa Bai Ez Ez Ez
Ez Ez
Ez
Deskribapena
Datu[] eta q[] ataken zabalerak zehazten ditu, erabiltzen badira.
Balioak GORA, BEHERA eta ERABILTZEN EZ dira. LPM_DIRECTION parametroa erabiltzen bada, goranzko ataka ezin da konektatu. Gora beherako ataka konektatuta ez dagoenean, LPM_DIRECTION parametroaren balio lehenetsia GORA da.
Gehienezko kopurua, gehi bat. Kontagailuaren zikloko egoera bakarrak. Karga-balioa LPM_MODULUS parametroa baino handiagoa bada, kontagailuaren portaera ez da zehazten.
Aktiboa altua baieztatzen denean kargatzen den balio konstantea. Zehaztutako balioa baino handiagoa edo berdina bada , kontagailuaren portaera definitu gabeko (X) maila logiko bat da, non LPM_MODULUS da, badago, edo 2 ^ LPM_WIDTH. Intelek gomendatzen du balio hori zehaztea zenbaki hamartar gisa AHDL diseinuetarako.
Erlojuaren atakaren goranzko ertzean kargatzen den balio konstantea sset ataka altua aldarrikatzen denean. Intelek gomendatzen du balio hori zehaztea zenbaki hamartar gisa AHDL diseinuetarako.
Modulu parametrizatuen liburutegia (LPM) funtzioa VHDL Diseinu batean instantziatzean File (.vhd), LPM_HINT parametroa erabili behar duzu Intel-en berariazko parametro bat zehazteko. Adibidezample: LPM_HINT = "CHAIN_SIZE = 8, ONE_INPUT_IS_CONSTANT = YES"
Balio lehenetsia ERABILTZEN da.
Parameterized modules (LPM) entitatearen izena VHDL diseinuan identifikatzen du files.
jarraitu…
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 10
Bidali Iritzia
2. LPM_COUNTER (Kontagailua) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parametroaren izena INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN
Idatzi String String
Katea
Katea
Beharrezkoa Ez Ez
Ez
Ez
Deskribapena
Parametro hau modelizazio eta portaera simulaziorako erabiltzen da. Parametro hau modelizazio eta portaera simulaziorako erabiltzen da. Parametro-editoreak parametro honen balioa kalkulatzen du.
Intel-en parametro espezifikoa. LPM_HINT parametroa erabili behar duzu VHDL diseinuan CARRY_CNT_EN parametroa zehazteko files. Balioak SMART, ON, OFF eta ERABILTZEN dira. LPM_COUNTER funtzioak cnt_en seinalea garraio-katean zehar hedatzeko gaitzen du. Zenbait kasutan, CARRY_CNT_EN parametroaren ezarpenak abiaduran eragin txikia izan dezake, beraz, desaktibatu nahi duzu. Balio lehenetsia SMART da, tamainaren eta abiaduraren arteko truke-off onena eskaintzen duena.
Intel-en parametro espezifikoa. LPM_HINT parametroa erabili behar duzu VHDL diseinuan LABWIDE_SCLR parametroa zehazteko files. Balioak ON, OFF edo ERABILTZEN EZ dira. Balio lehenetsia ON da. Zaharkitutako gailu familietan aurkitzen den LABwide sclr funtzioaren erabilera desgaitzeko aukera ematen du. Aukera hau desaktibatuz gero, partzialki betetako LABak guztiz erabiltzeko aukerak areagotzen dira, eta, beraz, dentsitate logiko handiagoa ahalbidetu dezake SCLR LAB oso bati aplikatzen ez zaionean. Parametro hau atzerako bateragarritasunerako eskuragarri dago, eta Intel-ek gomendatzen dizu parametro hau ez erabiltzea.
Goran beherako sarrerako atakaren erabilera zehazten du. Baztertzen bada, balio lehenetsia PORT_CONNECTIVITY da. Portuaren balioa PORT_USED gisa ezartzen denean, ataka erabiltzen da. Portuaren balioa PORT_UNUSED gisa ezartzen denean, ataka erabili gabeko gisa hartzen da. Portuaren balioa PORT_CONNECTIVITY gisa ezartzen denean, ataka-konektibitatea egiaztatuz zehazten da portuaren erabilera.
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 11
683490 | 2020.10.05/XNUMX/XNUMX Bidali iritzia
3. LPM_DIVIDE (zatitzailea) Intel FPGA IP Core
2. irudia.
LPM_DIVIDE Intel FPGA IP nukleoak zatitzaile bat inplementatzen du zenbakitzailea sarrerako balioa izendatzailearen sarrerako balio batekin zatitzeko zatidura eta hondarra sortzeko.
Hurrengo irudian LPM_DIVIDE IP nukleoaren atakak erakusten dira.
LPM_DIVIDE Portuak
LPM_DIVIDE
zenbaki[] denom[] erloju
zatidura[] geratzen[]
clken aclr
inst
3.1. Ezaugarriak
LPM_DIVIDE IP nukleoak ezaugarri hauek eskaintzen ditu: · Zenbakitzailearen sarrera-balioa izendatzaile-sarrera batekin banatzen duen zatitzailea sortzen du.
balioa zatidura eta hondarra sortzeko. · 1 biteko datu-zabalera onartzen du. · Sinatutako eta sinatu gabeko datuen irudikapen formatua onartzen du zenbatzailearentzat
eta izendatzailearen balioak. · Eremuaren edo abiaduraren optimizazioa onartzen du. · Hondarren irteera positiboa zehazteko aukera eskaintzen du. · Irteera konfiguragarriaren latentzia kanalizatzea onartzen du. · Garbiketa asinkronoa eta erlojua gaitzeko aukerako atakak onartzen ditu.
3.2. Verilog HDL prototipoa
Hurrengo Verilog HDL prototipoa Verilog Design-en dago File (.v) lpm.v-en edasynthesis direktorioa.
modulua lpm_divide ( zatidura, geratzen, zenbakia, izendapena, erlojua, clken, aclr); lpm_type parametroa = "lpm_divide"; lpm_widthn parametroa = 1; lpm_widthd parametroa = 1; lpm_nrepresentation parametroa = "SINATU GABE"; lpm_drepresentation parametroa = “SINATU GABE”; lpm_remainderpositive parametroa = “EGIA”; lpm_pipeline parametroa = 0;
Intel Corporation. Eskubide guztiak erreserbatuak. Intel, Intel logotipoa eta beste Intel marka Intel Corporation edo bere filialen marka komertzialak dira. Intel-ek bere FPGA eta erdieroaleen produktuen errendimendua bermatzen du uneko zehaztapenekin, Intel-en berme estandarraren arabera, baina edozein unetan edozein produktu eta zerbitzutan aldaketak egiteko eskubidea gordetzen du jakinarazi gabe. Intel-ek ez du bere gain hartzen hemen deskribatutako edozein informazio, produktu edo zerbitzuren aplikazio edo erabileratik eratorritako erantzukizunik edo erantzukizunik, Intel-ek idatziz berariaz hitzartutakoa izan ezik. Intel-eko bezeroei gomendatzen zaie gailuaren zehaztapenen azken bertsioa eskuratzea argitaratutako edozein informaziotan oinarritu aurretik eta produktu edo zerbitzuen eskaerak egin aurretik. *Beste izen eta markak beste batzuen jabetza direla erreklamatu daitezke.
ISO 9001:2015 Erregistratua
3. LPM_DIVIDE (zatitzailea) Intel FPGA IP Core 683490 | 2020.10.05/XNUMX/XNUMX
lpm_hint parametroa = "ERABILTZEN EZ"; sarrerako erlojua; sarrera clken; sarrera aklr; sarrera [lpm_widthn-1:0] zenbakia; sarrera [lpm_widthd-1:0] denom; irteera [lpm_widthn-1:0] zatidura; irteera [lpm_widthd-1:0] geratzen da; amaierako modulua
3.3. VHDL osagaien adierazpena
VHDL osagaien adierazpena VHDL diseinuan dago File (.vhd) LPM_PACK.vhd atalean librariesvhdllpm direktorioa.
osagaia LPM_DIVIDE generikoa (LPM_WIDTHN : naturala; LPM_WIDTHD : naturala;
LPM_NREPRESENTATION : string := “SINATU GABE”; LPM_DREPRESENTATION : katea := “SINATU GABE”; LPM_PIPELINE : naturala := 0; LPM_TYPE : katea := L_DIVIDE; LPM_HINT : katea := “ERABILTZEN EZ”); ataka (ZENBAKIA: std_logic_vector-n (LPM_WIDTHN-1 behera 0); DENOM: std_logic_vector (LPM_WIDTHD-1 behera 0); ACLR: std_logic := '0'; CLOCK : std_logic := '0'; CLKEN : std_logic-en := '1'; KOTIENTUA: out std_logic_vector (LPM_WIDTHN-1 behera 0); REMAIN: out std_logic_vector (LPM_WIDTHD-1 behera 0)); amaierako osagaia;
3.4. VHDL LIBRARY_USE Adierazpena
VHDL LIBRARY-USE adierazpena ez da beharrezkoa VHDL osagaien adierazpena erabiltzen baduzu.
LIBURUTEGIA lpm; ERABILI lpm.lpm_components.all;
3.5. Portuak
Ondoko tauletan LPM_DIVIDE IP nukleoaren sarrera eta irteera atakak zerrendatzen dira.
5. taula.
LPM_DIVIDE Sarrerako atakak
Portuaren izena
Beharrezkoa
zenbakia[]
Bai
izendapena[]
Bai
Deskribapena
Zenbakitzailearen datuen sarrera. Sarrerako atakaren tamaina LPM_WIDTHN parametroaren balioaren araberakoa da.
Izendatzailea datuen sarrera. Sarrerako atakaren tamaina LPM_WIDTHD parametroaren balioaren araberakoa da.
jarraitu…
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 13
3. LPM_DIVIDE (zatitzailea) Intel FPGA IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Portuaren izena erlojua clken
aklr
Beharrezkoa Ez Ez
Ez
Deskribapena
Erlojuaren sarrera kanalizatutako erabilerarako. 0 ez den LPM_PIPELINE balioetarako (lehenetsia), erloju-ataka gaituta egon behar da.
Erlojuak kanalizatutako erabilera gaitu. Clken ataka altua aldarrikatzen denean, zatiketa eragiketa gertatzen da. Seinalea baxua denean, ez da eragiketarik gertatzen. Baztertzen bada, balio lehenetsia 1 da.
Garbi-portu asinkronoa edozein unetan erabiltzen da kanalizazioa "0" guztietara berrezartzeko erlojuaren sarrerarekin modu asinkronoan.
6. taula.
LPM_DIVIDE Irteerako atakak
Portuaren izena
Beharrezkoa
Deskribapena
zatidura[]
Bai
Datuen irteera. Irteerako atakaren tamaina LPM_WIDTHN-ren araberakoa da
parametroaren balioa.
geratu[]
Bai
Datuen irteera. Irteerako atakaren tamaina LPM_WIDTHD-ren araberakoa da
parametroaren balioa.
3.6. parametroak
Hurrengo taulan LPM_DIVIDE Intel FPGA IP nukleoaren parametroak zerrendatzen dira.
Parametroaren izena
Mota
Beharrezkoa
Deskribapena
LPM_WIDTHN
Zenbaki osoa
Bai
Zenbakiaren [] eta zabalerak zehazten ditu
zatidura[] atakak. Balioak 1etik 64ra bitartekoak dira.
LPM_WIDTHD
Zenbaki osoa
Bai
Denom[] eta zabalerak zehazten ditu
geratzen [] portuak. Balioak 1etik 64ra bitartekoak dira.
LPM_NREPRESENTATION LPM_DREPRESENTATION
Katea Katea
Ez
Zenbatzailearen sarreraren zeinu-irudikapena.
Balioak SIGNED eta SIGNED dira. Hau denean
parametroa SIGNED gisa ezartzen da, zatitzailea
zenbaki[] sarrera bi sinatu gisa interpretatzen du
osagarri.
Ez
Izendatzailearen sarreraren zeinu-irudikapena.
Balioak SIGNED eta SIGNED dira. Hau denean
parametroa SIGNED gisa ezartzen da, zatitzailea
denom[] sarrera bi sinatu gisa interpretatzen du
osagarri.
LPM_TYPE
Katea
Ez
Parametrizatuen liburutegia identifikatzen du
moduluak (LPM) entitatearen izena VHDL diseinuan
files (.vhd).
LPM_HINT
Katea
Ez
Liburutegi bat instantziatzean
modulu parametrizatuak (LPM) funtzionatzen du a
VHDL Diseinua File (.vhd), erabili behar duzu
LPM_HINT parametroa Intel- bat zehazteko
parametro zehatza. Adibidezample: LPM_HINT
= "CHAIN_SIZE = 8,
ONE_INPUT_IS_CONSTANT = YES” The
balio lehenetsia ERABILTZEN DA.
LPM_REMAINDERPOSITIVE
Katea
Ez
Intel-en parametro espezifikoa. Erabili behar duzu
LPM_HINT parametroa zehazteko
LPM_REMAINDERPOSITIVE parametroan
VHDL diseinua files. Balioak EGIA edo GEZURRA dira.
Parametro hau TRUE gisa ezartzen bada, orduan
gainerako[] atakaren balioa handiagoa izan behar da
jarraitu…
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 14
Bidali Iritzia
3. LPM_DIVIDE (zatitzailea) Intel FPGA IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parametroaren izena
Mota
MAXIMIZA_Abiadura
Zenbaki osoa
LPM_PIPELINE
Zenbaki osoa
INTENDED_DEVICE_FAMILY SKIP_BITS
Katea Zenbaki osoa
Beharrezko zenbakia
Ez Ez Ez
Deskribapena
zero baino edo berdina. Parametro hau TRUE gisa ezartzen bada, geratzen [] atakaren balioa zero da, edo balioa zenbaki atakaren balioaren zeinu bera da, positiboa edo negatiboa. Eremua murrizteko eta abiadura hobetzeko, Intelek parametro hau TRUE gisa ezartzea gomendatzen du gainerakoak positiboa izan behar duen edo gainerakoak garrantzirik ez duen eragiketetan.
Intel-en parametro espezifikoa. LPM_HINT parametroa erabili behar duzu VHDL diseinuan MAXIMIZE_SPEED parametroa zehazteko files. Balioak [0..9] dira. Erabiltzen bada, Intel Quartus Prime softwarea LPM_DIVIDE funtzioaren instantzia zehatz bat optimizatzen saiatzen da bideragarritasunerako baino abiadurarako, eta Optimizazio Teknikaren aukera logikoaren ezarpena gainidazten du. MAXIMIZE_SPEED erabiltzen ez bada, Optimizazio Teknika aukeraren balioa erabiliko da horren ordez. MAXIMIZE_SPEED-ren balioa 6 edo handiagoa bada, Konpilatzaileak LPM_DIVIDE IP nukleoa optimizatzen du abiadura handiagoa lortzeko, garraio-kateak erabiliz; balioa 5 edo txikiagoa bada, konpilatzaileak diseinua inplementatzen du garraio-katerik gabe.
[] eta geratzen[] irteerarekin erlazionatutako latentzia-ziklo kopurua zehazten du. Zero (0) balio batek latentziarik ez dagoela adierazten du, eta funtzio konbinazio hutsa instantziatzen dela. Baztertzen bada, balio lehenetsia 0 da (tubiderik gabekoa). Ezin duzu zehaztu LPM_PIPELINE parametrorako LPM_WIDTHN baino handiagoa den baliorik.
Parametro hau modelizazio eta portaera simulaziorako erabiltzen da. Parametro-editoreak parametro honen balioa kalkulatzen du.
Biten zatikako zatiketa eraginkorragoa ahalbidetzen du, bit nagusien logika optimizatzeko, LPM_DIVIDE IP nukleoari GND nagusiaren kopurua emanez. Zehaztu parametro honen irteerako zatiduraren lehen GND kopurua.
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 15
683490 | 2020.10.05/XNUMX/XNUMX Bidali iritzia
4. LPM_MULT (biderkatzailea) IP nukleoa
3. irudia.
LPM_MULT IP nukleoak biderkatzaile bat ezartzen du sarrerako bi datu-balio biderkatzeko produktu bat irteera gisa ekoizteko.
Hurrengo irudian LPM_MULT IP nukleoaren atakak erakusten dira.
LPM_Mult Ports
LPM_MULT erloju-datuaka[] emaitza[] datuakb[] aclr/sclr clken
inst
Lotutako informazioa Ezaugarriak 71. orrialdean
4.1. Ezaugarriak
LPM_MULT IP nukleoak ezaugarri hauek eskaintzen ditu: · Sarrerako bi datu-balio biderkatzen dituen biderkatzailea sortzen du · 1 biteko datu-zabalera onartzen du · Sinatutako eta sinatu gabeko datuen irudikapen formatua onartzen du · Eremuaren edo abiaduraren optimizazioa onartzen du. Seinale digitaleko prozesamendu dedikatuan (DSP) ezartzeko aukera
bloke-zirkuitua edo elementu logikoak (LE) Oharra: natiboki onartzen den tamaina baino biderkagaiak eraikitzean, baliteke/
DSP blokeen kaskadaren ondoriozko errendimendu-eragina izango da. · Garbiketa asinkronoa eta erlojua gaitzeko aukerako sarrera-atatuak onartzen ditu · Garbiketa sinkronoa aukerakoa onartzen du Intel Stratix 10, Intel Arria 10 eta Intel Cyclone 10 GX gailuetarako
Intel Corporation. Eskubide guztiak erreserbatuak. Intel, Intel logotipoa eta beste Intel marka Intel Corporation edo bere filialen marka komertzialak dira. Intel-ek bere FPGA eta erdieroaleen produktuen errendimendua bermatzen du uneko zehaztapenekin, Intel-en berme estandarraren arabera, baina edozein unetan edozein produktu eta zerbitzutan aldaketak egiteko eskubidea gordetzen du jakinarazi gabe. Intel-ek ez du bere gain hartzen hemen deskribatutako edozein informazio, produktu edo zerbitzuren aplikazio edo erabileratik eratorritako erantzukizunik edo erantzukizunik, Intel-ek idatziz berariaz hitzartutakoa izan ezik. Intel-eko bezeroei gomendatzen zaie gailuaren zehaztapenen azken bertsioa eskuratzea argitaratutako edozein informaziotan oinarritu aurretik eta produktu edo zerbitzuen eskaerak egin aurretik. *Beste izen eta markak beste batzuen jabetza direla erreklamatu daitezke.
ISO 9001:2015 Erregistratua
4. LPM_MULT (biderkatzailea) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
4.2. Verilog HDL prototipoa
Hurrengo Verilog HDL prototipoa Verilog Design-en dago File (.v) lpm.v-en edasynthesis direktorioa.
modulu lpm_mult ( emaitza, dataa, datab, sum, clock, clken, aclr ) parametroa lpm_type = "lpm_mult"; lpm_widtha parametroa = 1; lpm_widthb parametroa = 1; lpm_widths parametroa = 1; lpm_widthp parametroa = 1; lpm_representation parametroa = “SINATU GABE”; lpm_pipeline parametroa = 0; lpm_hint parametroa = "ERABILTZEN EZ"; sarrerako erlojua; sarrera clken; sarrera aklr; sarrera [lpm_widtha-1:0] datuaka; sarrera [lpm_widthb-1:0] datab; sarrera [lpm_widths-1:0] batura; irteera [lpm_widthp-1:0] emaitza; amaierako modulua
4.3. VHDL osagaien adierazpena
VHDL osagaien adierazpena VHDL diseinuan dago File (.vhd) LPM_PACK.vhd atalean librariesvhdllpm direktorioa.
osagaia LPM_MULT generikoa ( LPM_WIDTHA : naturala; LPM_WIDTHB : naturala; LPM_WIDTHS : naturala := 1; LPM_WIDTHP : naturala;
LPM_REPRESENTATION : katea := “SINATU GABE”; LPM_PIPELINE : naturala := 0; LPM_TYPE: katea := L_MULT; LPM_HINT : katea := “ERABILTZEN EZ”); ataka (DATAA: std_logic_vector(LPM_WIDTHA-1 behera 0); DATAB: std_logic_vector(LPM_WIDTHB-1 downto 0); ACLR: std_logic := '0'; CLOCK: std_logic := '0'; CLKEN: std_logic := '1'; SUM : std_logic_vector(LPM_WIDTHS-1 behera 0ra) := (BESTEAK => '0'); EMAITZA : out std_logic_vector(LPM_WIDTHP-1 behera 0)); amaierako osagaia;
4.4. VHDL LIBRARY_USE Adierazpena
VHDL LIBRARY-USE adierazpena ez da beharrezkoa VHDL osagaien adierazpena erabiltzen baduzu.
LIBURUTEGIA lpm; ERABILI lpm.lpm_components.all;
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 17
4. LPM_MULT (biderkatzailea) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
4.5. Seinaleak
7. taula.
LPM_MULT Sarrera-seinaleak
Seinalearen izena
Beharrezkoa
Deskribapena
datuaka[]
Bai
Datuen sarrera.
Intel Stratix 10, Intel Arria 10 eta Intel Cyclone 10 GX gailuetarako, sarrerako seinalearen tamaina Dataa zabalera parametroaren balioaren araberakoa da.
Zaharragoak diren eta Intel Cyclone 10 LP gailuetarako, sarrerako seinalearen tamaina LPM_WIDTHA parametroaren balioaren araberakoa da.
datuak[]
Bai
Datuen sarrera.
Intel Stratix 10, Intel Arria 10 eta Intel Cyclone 10 GX gailuetarako, sarrerako seinalearen tamaina Datab zabalera parametroaren balioaren araberakoa da.
Zaharragoak diren eta Intel Cyclone 10 LP gailuetarako, sarrerako seinalearen tamainaren araberakoa da
LPM_WIDTHB parametroaren balioan.
erlojua
Ez
Erlojuaren sarrera kanalizatutako erabilerarako.
Zaharragoak diren eta Intel Cyclone 10 LP gailuetarako, erloju-seinalea gaituta egon behar da 0 ez den LPM_PIPELINE balioetarako (lehenetsia).
Intel Stratix 10, Intel Arria 10 eta Intel Cyclone 10 GX gailuetarako, erloju-seinalea gaituta egon behar da Latentziaren balioa 1 baino ez bada (lehenetsia).
clken
Ez
Erlojua gaitzea kanalizatutako erabilerarako. Clken seinalea altua aldarrikatzen denean,
batutzaile/kentzaile eragiketa gertatzen da. Seinalea baxua denean, ez dago eragiketarik
gertatzen da. Baztertzen bada, balio lehenetsia 1 da.
aclr sclr
Ez
Seinale argi asinkronoa edozein unetan erabiltzen da kanalizazioa 0-etara berrezartzeko,
erlojuaren seinalearekin modu asinkronoan. Kanalizazioa zehaztu gabeko (X) batera hasten da
maila logikoa. Irteerak balio koherenteak dira, baina ez-zero.
Ez
Seinale argi sinkronikoa edozein unetan erabiltzen da kanalizazioa 0 guztietara berrezartzeko,
sinkronoki erlojuaren seinalearekin. Kanalizazioa zehaztu gabeko (X) batera hasten da
maila logikoa. Irteerak balio koherenteak dira, baina ez-zero.
8. taula.
LPM_MULT Irteerako seinaleak
seinale Izena
Beharrezkoa
Deskribapena
emaitza[]
Bai
Datuen irteera.
Zaharragoak diren eta Intel Cyclone 10 LP gailuetarako, irteerako seinalearen tamaina LPM_WIDTHP parametroaren balioaren araberakoa da. LPM_WIDTHP < gehienez (LPM_WIDTHA + LPM_WIDTHB, LPM_WIDTHS) edo (LPM_WIDTHA + LPM_WIDTHS), LPM_WIDTHP MSBak bakarrik egongo dira.
Intel Stratix 10, Intel Arria 10 eta Intel Cyclone 10 GX-rako, irteerako seinaleen tamaina Emaitza zabalera parametroaren araberakoa da.
4.6. Stratix V, Arria V, Cyclone V eta Intel Cyclone 10 LP gailuen parametroak
4.6.1. Orokorra fitxa
9. taula.
Orokorra fitxa
Parametroa
Balioa
Biderkatzailearen konfigurazioa
Biderkatu 'dataa' sarrera 'datab' sarrerarekin
Balio lehenetsia
Deskribapena
Biderkatu 'dataa' sarrera 'datab' sarrerarekin
Aukeratu biderkatzailearen nahi duzun konfigurazioa.
jarraitu…
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 18
Bidali Iritzia
4. LPM_MULT (biderkatzailea) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parametroa
Zenbaterainokoa izan behar du 'dataa' sarrerak? Zenbaterainokoa izan behar du 'datab' sarrerak? Nola zehaztu behar da 'emaitza' irteeraren zabalera? Zabalera mugatu
Balioa
Biderkatu 'dataa' sarrera berez (karratu eragiketa)
1-256 bit
Balio lehenetsia
Deskribapena
8 bit
Zehaztu datua[] atakaren zabalera.
1-256 bit
8 bit
Zehaztu datub[] atakaren zabalera.
Kalkulatu automatikoki zabalera. Murriztu zabalera
1-512 bit
Kalkulatu automatikoki zabalera
Hautatu nahi duzun metodoa emaitza[] atakaren zabalera zehazteko.
16 bit
Zehaztu emaitza[] atakaren zabalera.
Balio hau Mota parametroan Zabalera mugatu hautatzen baduzu bakarrik izango da eraginkorra.
4.6.2. Orokorra 2 fitxa
10. taula Orokorra 2 fitxa
Parametroa
Balioa
Datu-sarrera
'datab' sarrera-busak balio konstanterik al du?
Ez Bai
Biderketa Mota
Zein motatakoa
Sinatu gabe
biderketa nahi duzu? Sinatuta
Ezarpena
Zein inplementazio biderkatzaile erabili behar da?
Erabili ezarpen lehenetsia
Erabili biderkadura-zirkuitu dedikatua (Ez dago erabilgarri familia guztientzat)
Elementu logikoak erabiltzea
Balio lehenetsia
Deskribapena
Ez
Hautatu Bai balio konstantea zehazteko
`datab' sarrera-busa, halakorik badago.
Sinatu gabe
Zehaztu datua[] zein datab[] sarreretarako irudikapen formatua.
Erabili inplementazio lehenetsia
Hautatu nahi duzun metodoa emaitza[] atakaren zabalera zehazteko.
4.6.3. Pipelinen fitxa
11. taula. Pipelinen fitxa
Parametroa
No
funtzioa?
Bai
Balioa
Sortu 'aclr' bat
—
ataka garbi asinkronoa
Balio lehenetsia
Deskribapena
Ez
Hautatu Bai kanalizazio-erregistroa gaitzeko
biderkatzailearen irteera eta zehaztu nahi duzuna
irteerako latentzia erlojuaren zikloan. Gaitzen
kanalizazio erregistroak latentzia gehigarria gehitzen dio
irteera.
Desmarkatuta
Hautatu aukera hau aklr ataka gaitzeko garbiketa asinkronoa erabiltzeko kanalizazio-erregistrorako.
jarraitu…
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 19
4. LPM_MULT (biderkatzailea) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parametroa
Sortu 'clken' erlojua gaitu erlojua
Optimizazioa
Zein optimizazio mota nahi duzu?
Balioa —
Abiadura Eremu lehenetsia
Balio lehenetsia
Deskribapena
Desmarkatuta
Erloju handiko gaikuntza aktiboa zehazten du kanalizazio-erregistroko erloju atakarako
Lehenetsia
Zehaztu IP nukleorako nahi duzun optimizazioa.
Hautatu Lehenetsia Intel Quartus Prime softwareari IP nukleorako optimizazio onena zehazteko.
4.7. Intel Stratix 10, Intel Arria 10 eta Intel Cyclone 10 GX gailuen parametroak
4.7.1. Orokorra fitxa
12. taula Orokorra fitxa
Parametroa
Balioa
Balio lehenetsia
Deskribapena
Biderkatzailearen konfigurazio mota
Datu portuen zabalerak
Biderkatu 'dataa' sarrera 'datab' sarrerarekin
Biderkatu 'dataa' sarrera berez (karratu eragiketa)
Biderkatu 'dataa' sarrera 'datab' sarrerarekin
Aukeratu biderkatzailearen nahi duzun konfigurazioa.
Datuen zabalera
1-256 bit
8 bit
Zehaztu datua[] atakaren zabalera.
Datuen zabalera
1-256 bit
8 bit
Zehaztu datub[] atakaren zabalera.
Nola zehaztu behar da 'emaitza' irteeraren zabalera?
Mota
Kalkulatu automatikoki zabalera
Zabalera mugatu
Kalkulatu automatikoki zabalera
Hautatu nahi duzun metodoa emaitza[] atakaren zabalera zehazteko.
Balioa
1-512 bit
16 bit
Zehaztu emaitza[] atakaren zabalera.
Balio hau Mota parametroan Zabalera mugatu hautatzen baduzu bakarrik izango da eraginkorra.
Emaitza zabalera
1-512 bit
—
Emaitza[] atakaren zabalera eraginkorra bistaratzen du.
4.7.2. Orokorra 2 fitxa
13. taula Orokorra 2 fitxa
Parametroa
Datu-sarrera
'datab' sarrera-busak balio konstanterik al du?
Ez Bai
Balioa
Balio lehenetsia
Deskribapena
Ez
Hautatu Bai balio konstantea zehazteko
`datab' sarrera-busa, halakorik badago.
jarraitu…
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 20
Bidali Iritzia
4. LPM_MULT (biderkatzailea) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parametroa
Balioa
Balioa
0 baino handiagoa den edozein balio
Biderketa Mota
Zein motatakoa
Sinatu gabe
biderketa nahi duzu? Sinatuta
Ezarpen-estiloa
Zein inplementazio biderkatzaile erabili behar da?
Erabili ezarpen lehenetsia
Erabili zirkuitu biderkatzaile dedikatua
Elementu logikoak erabiltzea
Balio lehenetsia
Deskribapena
0
Zehaztu datab[] atakaren balio konstantea.
Sinatu gabe
Zehaztu datua[] zein datab[] sarreretarako irudikapen formatua.
Erabili inplementazio lehenetsia
Hautatu nahi duzun metodoa emaitza[] atakaren zabalera zehazteko.
4.7.3. Kanalizazioa
14. taula. Pipelinen fitxa
Parametroa
Balioa
Funtzioa kanalizatu nahi duzu?
Hodibidea
Ez Bai
Latentzia Garbitu Seinale Mota
0 baino handiagoa den edozein balio.
EZ DA ACLR SCLR
Sortu 'clken' erloju bat
—
gaitu erlojua
Zein optimizazio mota nahi duzu?
Mota
Abiadura Eremu lehenetsia
Balio lehenetsia
Deskribapena
EZ 1 EZ
—
Hautatu Bai kanalizazio-erregistroa biderkatzailearen irteeran gaitzeko. Kanalizazio-erregistroa gaitzeak latentzia gehigarria gehitzen dio irteerari.
Zehaztu nahi duzun irteerako latentzia erlojuaren zikloan.
Zehaztu kanalizazio-erregistrorako berrezartze mota. Hautatu EZER inongo kanalizazio erregistrorik erabiltzen ez baduzu. Hautatu ACLR garbiketa asinkronoa erabiltzeko kanalizazio-erregistrorako. Honek ACLR ataka sortuko du. Hautatu SCLR garbiketa sinkronikoa erabiltzeko kanalizazio-erregistrorako. Honek SCLR ataka sortuko du.
Erloju handiko gaikuntza aktiboa zehazten du kanalizazio-erregistroko erloju atakarako
Lehenetsia
Zehaztu IP nukleorako nahi duzun optimizazioa.
Hautatu Lehenetsia Intel Quartus Prime softwareari IP nukleorako optimizazio onena zehazteko.
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 21
683490 | 2020.10.05/XNUMX/XNUMX Bidali iritzia
5. LPM_ADD_SUB (batzailea/kentzailea)
4. irudia.
LPM_ADD_SUB IP nukleoak gehigarri edo kentzaile bat inplementatzeko aukera ematen dizu datu multzoak gehitzeko edo kentzeko, sarrerako balioen batura edo aldea duen irteera bat sortzeko.
Hurrengo irudian LPM_ADD_SUB IP nukleoaren atakak erakusten dira.
LPM_ADD_SUB Portuak
LPM_ADD_SUB add_sub cin
datuaka[]
erloju clken datab[] aclr
emaitza[] gainezka-cout
inst
5.1. Ezaugarriak
LPM_ADD_SUB IP nukleoak ezaugarri hauek eskaintzen ditu: · Batutzaileak, kentzaileak eta dinamikoki konfigura daitezkeen batutzaileak/kentzaileak sortzen ditu.
funtzioak. · 1 biteko datu-zabalera onartzen du. · Datuak irudikatzeko formatuak onartzen ditu, hala nola sinatuta eta sinatu gabe. · Aukerako eramatea (mailegutik ateratzea), garbiketa asinkronoa eta erlojua gaitzea onartzen du
sarrerako atakak. · Hautazko out-out (mailegu-sarrera) eta gainezka irteera atakak onartzen ditu. · Sarrerako datu-busetako bat konstante bati esleitzen dio. · Irteerako latentzia konfiguragarria duen kanalizazioa onartzen du.
Intel Corporation. Eskubide guztiak erreserbatuak. Intel, Intel logotipoa eta beste Intel marka Intel Corporation edo bere filialen marka komertzialak dira. Intel-ek bere FPGA eta erdieroaleen produktuen errendimendua bermatzen du uneko zehaztapenekin, Intel-en berme estandarraren arabera, baina edozein unetan edozein produktu eta zerbitzutan aldaketak egiteko eskubidea gordetzen du jakinarazi gabe. Intel-ek ez du bere gain hartzen hemen deskribatutako edozein informazio, produktu edo zerbitzuren aplikazio edo erabileratik eratorritako erantzukizunik edo erantzukizunik, Intel-ek idatziz berariaz hitzartutakoa izan ezik. Intel-eko bezeroei gomendatzen zaie gailuaren zehaztapenen azken bertsioa eskuratzea argitaratutako edozein informaziotan oinarritu aurretik eta produktu edo zerbitzuen eskaerak egin aurretik. *Beste izen eta markak beste batzuen jabetza direla erreklamatu daitezke.
ISO 9001:2015 Erregistratua
5. LPM_ADD_SUB (Bagatzailea/Kenkaria) 683490 | 2020.10.05/XNUMX/XNUMX
5.2. Verilog HDL prototipoa
Hurrengo Verilog HDL prototipoa Verilog Design-en dago File (.v) lpm.v-en edasynthesis direktorioa.
lpm_add_sub modulua (emaitza, cout, gainezkatzea,add_sub, cin, dataa, datab, clock, clken, aclr ); lpm_type parametroa = "lpm_add_sub"; lpm_width parametroa = 1; lpm_direction parametroa = "ERABILTZEN EZ"; lpm_representation parametroa = "SINATUA"; lpm_pipeline parametroa = 0; lpm_hint parametroa = "ERABILTZEN EZ"; sarrera [lpm_width-1:0] dataa, datab; sarrera gehi_sub, cin; sarrerako erlojua; sarrera clken; sarrera aklr; irteera [lpm_width-1:0] emaitza; irteera cout, gainezka; amaierako modulua
5.3. VHDL osagaien adierazpena
VHDL osagaien adierazpena VHDL diseinuan dago File (.vhd) LPM_PACK.vhd atalean librariesvhdllpm direktorioa.
osagaia LPM_ADD_SUB generikoa (LPM_WIDTH: naturala;
LPM_DIRECTION : katea := “ERABILTZEN EZ”; LPM_ERREPRESENTAZIOA: katea := "SINATUA"; LPM_PIPELINE : naturala := 0; LPM_TYPE : katea := L_ADD_SUB; LPM_HINT : katea := “ERABILTZEN EZ”); ataka (DATAA: std_logic_vector-en (LPM_WIDTH-1 behera 0); DATAB: std_logic_vector-en (LPM_WIDTH-1 behera 0); ACLR: std_logic-en:= '0'; CLOCK: std_logic-en:= '0'; CLKEN: std_logic-en := '1'; CIN : std_logic := 'Z'; ADD_SUB : std_logic := '1'; EMAITZA : out std_logic_vector (LPM_WIDTH-1 behera 0); COUT : out std_logic; OVERFLOW : out std_logic); amaierako osagaia;
5.4. VHDL LIBRARY_USE Adierazpena
VHDL LIBRARY-USE adierazpena ez da beharrezkoa VHDL osagaien adierazpena erabiltzen baduzu.
LIBURUTEGIA lpm; ERABILI lpm.lpm_components.all;
5.5. Portuak
Ondorengo tauletan LPM_ADD_SUB IP nukleoaren sarrera- eta irteera-portuak zerrendatzen dira.
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 23
5. LPM_ADD_SUB (Bagatzailea/Kenkaria) 683490 | 2020.10.05/XNUMX/XNUMX
15. taula. LPM_ADD_SUB IP Core Sarrerako Portuak
Portuaren izena
Beharrezkoa
Deskribapena
cin
Ez
Eraman ezazu eskaera txikiko bitra. Gehitze-eragiketetarako, balio lehenetsia 0 da
kenketa eragiketak, balio lehenetsia 1 da.
datuaka[]
Bai
Datuen sarrera. Sarrerako atakaren tamaina LPM_WIDTH parametroaren balioaren araberakoa da.
datuak[]
Bai
Datuen sarrera. Sarrerako atakaren tamaina LPM_WIDTH parametroaren balioaren araberakoa da.
gehitu_azpi
Ez
Aukerako sarrerako ataka batutzailearen eta kentzailearen arteko aldaketa dinamikoa ahalbidetzeko
funtzioak. LPM_DIRECTION parametroa erabiltzen bada, ezin da add_sub erabili. Bada
kenduta, balio lehenetsia ADD da. Intel-ek gomendatzen du erabiltzea
LPM_DIRECTION parametroa LPM_ADD_SUB funtzioaren funtzionamendua zehazteko,
add_sub atakari konstante bat esleitu beharrean.
erlojua
Ez
Pipelined erabilerarako sarrera. Erlojuaren atakak erlojuaren sarrera eskaintzen du kanalizatutako batentzat
operazioa. 0 ez den LPM_PIPELINE balioetarako (lehenetsia), erlojuaren atakak izan behar du
gaituta.
clken
Ez
Erlojua gaitzea kanalizatutako erabilerarako. Clken ataka altua adierazten denean, gehitzailea/
kengailuaren eragiketa gertatzen da. Seinalea baxua denean, ez da eragiketarik gertatzen. Bada
kenduta, balio lehenetsia 1 da.
aklr
Ez
Garbiketa asinkronoa kanalizatutako erabilerarako. Kanalizazioa zehaztu gabeko (X) batera hasten da
maila logikoa. Aclr ataka edozein unetan erabil daiteke kanalizazioa 0 guztietara berrezartzeko,
erlojuaren seinalearekin modu asinkronoan.
16. taula. LPM_ADD_SUB IP Nukleoaren irteerako atakak
Portuaren izena
Beharrezkoa
Deskribapena
emaitza[]
Bai
Datuen irteera. Irteerako atakaren tamaina LPM_WIDTH parametroaren araberakoa da
balioa.
cout
Ez
Bit esanguratsuenaren (MSB) gauzatzea (mailegatzea). Cout portuak fisikoa du
MSBren gauzatze (mailegu-sartzea) gisa interpretatzea. Cout ataka detektatzen du
SINATU GABEKO eragiketetan gainezkatzea. Cout portuak era berean funtzionatzen du
SINATU eta SINATU GABE eragiketak.
gainezka
Ez
Gainerako salbuespenaren aukerako irteera. Gainezka-atatuak interpretazio fisikoa du
MSBra eramatearen XOR MSBren eramatearekin. Gainezka-ataka
emaitzak eskuragarri dagoen zehaztasuna gainditzen duenean baieztatzen du, eta soilik erabiltzen da
LPM_REPRESENTATION parametroaren balioa SIGNED dago.
5.6. parametroak
Hurrengo taulan LPM_ADD_SUB IP oinarrizko parametroak zerrendatzen dira.
17. taula. LPM_ADD_SUB IP oinarrizko parametroak
Parametroaren izena LPM_WIDTH
Idatzi Integer
Beharrezkoa Bai
Deskribapena
Datua[], datab[] eta emaitza[] ataken zabalerak zehazten ditu.
LPM_DIRECTION
Katea
Ez
Balioak ADD, SUB eta UNUSED dira. Baztertzen bada, balio lehenetsia DEFAULT da, eta horrek parametroari bere balioa gehi_sub atakatik har dezan zuzentzen du. Add_sub ataka ezin da erabili LPM_DIRECTION erabiltzen bada. Intelek gomendatzen du LPM_DIRECTION parametroa erabiltzea LPM_ADD_SUB funtzioaren funtzionamendua zehazteko, gehi_sub atakari konstante bat esleitu beharrean.
jarraitu…
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 24
Bidali Iritzia
5. LPM_ADD_SUB (Bagatzailea/Kenkaria) 683490 | 2020.10.05/XNUMX/XNUMX
Parametroaren izena LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY
Idatzi String Integer String String String Integer
Katea
Beharrezkoa Ez Ez Ez Ez Ez Ez
Ez
Deskribapena
Egindako batuketa mota zehazten du. Balioak SIGNED eta SIGNED dira. Baztertzen bada, balio lehenetsia SIGNED da. Parametro hau SIGNED gisa ezartzen denean, batutzaileak/kentzaileak datuak sarrera biko osagarri gisa interpretatzen du.
Emaitza[] irteerarekin lotutako latentzia-erloju-ziklo kopurua zehazten du. Zero (0) balio batek latentziarik ez dagoela adierazten du, eta funtzio konbinazio hutsa instantziatuko dela. Baztertzen bada, balio lehenetsia 0 da (tubiderik gabekoa).
VHDL diseinuan Intel-en berariazko parametroak zehazteko aukera ematen du files (.vhd). Balio lehenetsia ERABILTZEN da.
Parameterized modules (LPM) entitatearen izena VHDL diseinuan identifikatzen du files.
Intel-en parametro espezifikoa. LPM_HINT parametroa erabili behar duzu VHDL diseinuan ONE_INPUT_IS_CONSTANT parametroa zehazteko files. Balioak BAI, EZ eta ERABILTZEN EZ dira. Optimizazio handiagoa ematen du sarrera bat konstantea bada. Baztertzen bada, balio lehenetsia EZ da.
Intel-en parametro espezifikoa. LPM_HINT parametroa erabili behar duzu VHDL diseinuan MAXIMIZE_SPEED parametroa zehazteko files. 0 eta 10 arteko balio bat zehaztu dezakezu. Erabiltzen bada, Intel Quartus Prime softwarea LPM_ADD_SUB funtzioaren instantzia zehatz bat optimizatzen saiatzen da bideragarritasunerako baino abiadurarako, eta Optimizazio Teknikaren aukera logikoaren ezarpena gainditzen du. MAXIMIZE_SPEED erabiltzen ez bada, Optimizazio Teknika aukeraren balioa erabiliko da horren ordez. MAXIMIZE_SPEED-en ezarpena 6 edo handiagoa bada, Konpilatzaileak LPM_ADD_SUB IP nukleoa optimizatzen du abiadura handiagorako garraio-kateak erabiliz; ezarpena 5 edo gutxiago bada, Konpilatzaileak diseinua inplementatzen du katerik gabe. Parametro hau Cyclone, Stratix eta Stratix GX gailuetarako zehaztu behar da add_sub ataka erabiltzen ez denean soilik.
Parametro hau modelizazio eta portaera simulaziorako erabiltzen da. Parametro-editoreak parametro honen balioa kalkulatzen du.
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 25
683490 | 2020.10.05/XNUMX/XNUMX Bidali iritzia
6. LPM_COMPARE (Konparatzailea)
5. irudia.
LPM_COMPARE IP nukleoak bi datu-multzoren balioa konparatzen du haien arteko erlazioa zehazteko. Bere forma sinpleenean, OR esklusiboko ate bat erabil dezakezu bi datu-bit berdinak diren zehazteko.
Hurrengo irudian LPM_COMPARE IP nukleoaren atakak erakusten dira.
LPM_COMPARE Portuak
LPM_COMPARE
clken
alb
aeb
datuaka[]
agb
datuak[]
adinb
erlojua
aneb
aklr
aleb
inst
6.1. Ezaugarriak
LPM_COMPARE IP nukleoak ezaugarri hauek eskaintzen ditu: · Konparazio-funtzioa sortzen du bi datu-multzo alderatzeko · 1 biteko datuen zabalera onartzen du · Datuen irudikapen formatua onartzen du, hala nola sinatua eta sinatu gabea. · Irteera mota hauek sortzen ditu:
— alb (A sarrera B sarrera baino txikiagoa da) — aeb (A sarrera B sarreraren berdina da) — agb (A sarrera B sarrera baino handiagoa da) — ageb (A sarrera B sarrera baino handiagoa edo berdina da) — aneb ( A sarrera ez da B sarreraren berdina) — aleb (A sarrera B sarreraren berdina edo txikiagoa da) · Garbiketa asinkronoa eta erlojua gaitzeko aukerako sarrera-atatuak onartzen ditu · Datab[] sarrera konstante bati esleitzen dio · Irteerako latentzia konfiguragarria duen kanalizazioa onartzen du
Intel Corporation. Eskubide guztiak erreserbatuak. Intel, Intel logotipoa eta beste Intel marka Intel Corporation edo bere filialen marka komertzialak dira. Intel-ek bere FPGA eta erdieroaleen produktuen errendimendua bermatzen du uneko zehaztapenekin, Intel-en berme estandarraren arabera, baina edozein unetan edozein produktu eta zerbitzutan aldaketak egiteko eskubidea gordetzen du jakinarazi gabe. Intel-ek ez du bere gain hartzen hemen deskribatutako edozein informazio, produktu edo zerbitzuren aplikazio edo erabileratik eratorritako erantzukizunik edo erantzukizunik, Intel-ek idatziz berariaz hitzartutakoa izan ezik. Intel-eko bezeroei gomendatzen zaie gailuaren zehaztapenen azken bertsioa eskuratzea argitaratutako edozein informaziotan oinarritu aurretik eta produktu edo zerbitzuen eskaerak egin aurretik. *Beste izen eta markak beste batzuen jabetza direla erreklamatu daitezke.
ISO 9001:2015 Erregistratua
6. LPM_COMPARE (Konparatzailea) 683490 | 2020.10.05/XNUMX/XNUMX
6.2. Verilog HDL prototipoa
Hurrengo Verilog HDL prototipoa Verilog Design-en dago File (.v) lpm.v-en edasynthesis direktorioa.
lpm_compare modulua ( alb, aeb, agb, aleb, aneb, ageb, dataa, datab, clock, clken, aclr ); lpm_type parametroa = "lpm_compare"; lpm_width parametroa = 1; lpm_representation parametroa = “SINATU GABE”; lpm_pipeline parametroa = 0; lpm_hint parametroa = "ERABILTZEN EZ"; sarrera [lpm_width-1:0] dataa, datab; sarrerako erlojua; sarrera clken; sarrera aklr; irteera alb, aeb, agb, aleb, aneb, ageb; amaierako modulua
6.3. VHDL osagaien adierazpena
VHDL osagaien adierazpena VHDL diseinuan dago File (.vhd) LPM_PACK.vhd atalean librariesvhdllpm direktorioa.
osagaia LPM_COMPARE generikoa (LPM_WIDTH: naturala;
LPM_REPRESENTATION : katea := “SINATU GABE”; LPM_PIPELINE : naturala := 0; LPM_TYPE: katea := L_COMPARE; LPM_HINT : katea := “ERABILTZEN EZ”); ataka (DATAA: std_logic_vector-en (LPM_WIDTH-1 behera 0); DATAB: std_logic_vector-en (LPM_WIDTH-1 behera 0); ACLR: std_logic-en:= '0'; CLOCK: std_logic-en:= '0'; CLKEN: std_logic-en := '1'; AGB: out std_logic; AGEB: out std_logic; AEB: out std_logic; ANEB: out std_logic; ALB: out std_logic; ALEB: out std_logic); amaierako osagaia;
6.4. VHDL LIBRARY_USE Adierazpena
VHDL LIBRARY-USE adierazpena ez da beharrezkoa VHDL osagaien adierazpena erabiltzen baduzu.
LIBURUTEGIA lpm; ERABILI lpm.lpm_components.all;
6.5. Portuak
Ondorengo tauletan LMP_COMPARE IP nukleoaren sarrera- eta irteera-portuak zerrendatzen dira.
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 27
6. LPM_COMPARE (Konparatzailea) 683490 | 2020.10.05/XNUMX/XNUMX
18. Taula. LPM_COMPARE IP core Sarrera Portuak
Portuaren izena
Beharrezkoa
Deskribapena
datuaka[]
Bai
Datuen sarrera. Sarrerako atakaren tamaina LPM_WIDTH parametroaren balioaren araberakoa da.
datuak[]
Bai
Datuen sarrera. Sarrerako atakaren tamaina LPM_WIDTH parametroaren balioaren araberakoa da.
erlojua
Ez
Erlojuaren sarrera kanalizatutako erabilerarako. Erlojuaren atakak erlojuaren sarrera eskaintzen du kanalizatutako batentzat
operazioa. 0 ez den LPM_PIPELINE balioetarako (lehenetsia), erlojuaren atakak izan behar du
gaituta.
clken
Ez
Erlojua gaitzea kanalizatutako erabilerarako. Clken ataka altua aldarrikatzen denean,
konparazio eragiketa egiten da. Seinalea baxua denean, ez da eragiketarik gertatzen. Bada
kenduta, balio lehenetsia 1 da.
aklr
Ez
Garbiketa asinkronoa kanalizatutako erabilerarako. Kanalizazioa definitu gabeko (X) logika batera hasten da
maila. Aclr ataka edozein unetan erabil daiteke kanalizazioa 0 guztietara berrezartzeko,
erlojuaren seinalearekin modu asinkronoan.
19. taula. LPM_COMPARE IP core Irteera Portuak
Portuaren izena
Beharrezkoa
Deskribapena
alb
Ez
Konparagailurako irteerako ataka. A sarrera B sarrera baino txikiagoa bada baieztatzen da.
aeb
Ez
Konparagailurako irteerako ataka. A sarrera B sarreraren berdina bada baieztatzen da.
agb
Ez
Konparagailurako irteerako ataka. A sarrera B sarrera baino handiagoa bada baieztatzen da.
adinb
Ez
Konparagailurako irteerako ataka. A sarrera sarrera baino handiagoa edo berdina bada baieztatzen da
B.
aneb
Ez
Konparagailurako irteerako ataka. A sarrera B sarreraren berdina ez bada baieztatzen da.
aleb
Ez
Konparagailurako irteerako ataka. A sarrera B sarrera baino txikiagoa edo berdina bada baieztatzen da.
6.6. parametroak
Hurrengo taulan LPM_COMPARE IP nukleoaren parametroak zerrendatzen dira.
20. taula. LPM_COMPARE IP core parametroak
Parametroaren izena
Mota
Beharrezkoa
LPM_WIDTH
Zenbaki osoa Bai
LPM_ERREPRESENTAZIOA
Katea
Ez
LPM_PIPELINE
Zenbaki osoa
LPM_HINT
Katea
Ez
Deskribapena
Dataa[] eta datab[] ataken zabalerak zehazten ditu.
Egindako konparazio mota zehazten du. Balioak SIGNED eta SIGNED dira. Baztertzen bada, balio lehenetsia SINATU GABE da. Parametro-balio hau SIGNED gisa ezartzen denean, konparatzaileak datu-sarrera biko osagarri gisa interpretatzen du.
Alb, aeb, agb, ageb, aleb edo aneb irteerarekin lotutako latentzia-ziklo kopurua zehazten du. Zero (0) balio batek latentziarik ez dagoela adierazten du, eta funtzio konbinazio hutsa instantziatuko dela. Baztertzen bada, balio lehenetsia 0 da (tubiderik gabekoa).
VHDL diseinuan Intel-en berariazko parametroak zehazteko aukera ematen du files (.vhd). Balio lehenetsia ERABILTZEN da.
jarraitu…
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 28
Bidali Iritzia
6. LPM_COMPARE (Konparatzailea) 683490 | 2020.10.05/XNUMX/XNUMX
Parametroaren izena LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT
Idatzi String String
Katea
Beharrezkoa Ez Ez
Ez
Deskribapena
Parameterized modules (LPM) entitatearen izena VHDL diseinuan identifikatzen du files.
Parametro hau modelizazio eta portaera simulaziorako erabiltzen da. Parametro-editoreak parametro honen balioa kalkulatzen du.
Intel-en parametro espezifikoa. LPM_HINT parametroa erabili behar duzu VHDL diseinuan ONE_INPUT_IS_CONSTANT parametroa zehazteko files. Balioak BAI, EZ edo ERABILTZEN EZ dira. Optimizazio handiagoa ematen du sarrera bat konstantea bada. Baztertzen bada, balio lehenetsia EZ da.
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 29
683490 | 2020.10.05/XNUMX/XNUMX Bidali iritzia
7. ALTEC (Erroreak zuzentzeko kodea: kodetzailea/deskodetzailea) IP Nukleoa
6. irudia.
Intel-ek ALTEC IP nukleoa eskaintzen du ECC funtzionaltasuna ezartzeko. ECC-k datu-transmisioan hartzailearen aldean gertatzen diren datu hondatuak hautematen ditu. Erroreak zuzentzeko metodo hau egokiena da akatsak ausaz gertatzen diren egoeretarako.
ECCk akatsak hautematen ditu datuen kodeketa eta deskodetze prozesuaren bidez. AdibidezampECC transmisio-aplikazio batean aplikatzen denean, iturritik irakurritako datuak kodetzen dira hargailura bidali aurretik. Kodegailuaren irteera (kode-hitza) paritate-bit kopuruarekin erantsitako datu gordinak osatzen dute. Erantsitako parekotasun-bit kopuru zehatza sarrerako datuen bit-kopuruaren araberakoa da. Ondoren, sortutako kode-hitza helmugara igortzen da.
Hartzaileak kode-hitza jasotzen du eta deskodetzen du. Deskodetzaileak lortutako informazioak akatsen bat detektatzen den zehazten du. Deskodetzaileak bit bakarreko eta bikoko erroreak hautematen ditu, baina hondatutako datuetan bit bakarreko akatsak soilik konpondu ditzake. ECC mota hau errore bakarreko zuzenketa akats bikoitzeko detekzioa (SECDED) da.
ALTECC IP nukleoaren kodetzaile eta deskodetzaile funtzioak konfigura ditzakezu. Kodetzaileari sarrerako datuak kodetzen dira, datu-sarreraren eta sortutako parekotasun-biten konbinazioa den kode-hitza sortzeko. Sortutako kode-hitza deskodetzaile-modulura igortzen da, helmuga-blokea iritsi baino lehen deskodetzeko. Deskodetzaileak sindrome-bektore bat sortzen du jasotako kode-hitzean errorerik dagoen zehazteko. Deskodetzaileak datuak zuzentzen ditu bit bakarreko errorea datu-bitetakoa bada. Ez da seinalerik markatuko bit bakarreko errorea paritate-bitetakoa bada. Deskodetzaileak bandera-seinaleak ere baditu jasotako datuen egoera eta deskodetzaileak egindako ekintza, halakorik balego, erakusteko.
Hurrengo irudiek ALTECC IP nukleoaren atakak erakusten dituzte.
ALTEC kodetzailearen atakak
ALTEC_ENCODER
datuak[]
q[]
erlojua
erlojua
aklr
inst
Intel Corporation. Eskubide guztiak erreserbatuak. Intel, Intel logotipoa eta beste Intel marka Intel Corporation edo bere filialen marka komertzialak dira. Intel-ek bere FPGA eta erdieroaleen produktuen errendimendua bermatzen du uneko zehaztapenekin, Intel-en berme estandarraren arabera, baina edozein unetan edozein produktu eta zerbitzutan aldaketak egiteko eskubidea gordetzen du jakinarazi gabe. Intel-ek ez du bere gain hartzen hemen deskribatutako edozein informazio, produktu edo zerbitzuren aplikazio edo erabileratik eratorritako erantzukizunik edo erantzukizunik, Intel-ek idatziz berariaz hitzartutakoa izan ezik. Intel-eko bezeroei gomendatzen zaie gailuaren zehaztapenen azken bertsioa eskuratzea argitaratutako edozein informaziotan oinarritu aurretik eta produktu edo zerbitzuen eskaerak egin aurretik. *Beste izen eta markak beste batzuen jabetza direla erreklamatu daitezke.
ISO 9001:2015 Erregistratua
7. ALTEC (Erroreak zuzentzeko kodea: kodetzailea/deskodetzailea) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
7. Irudia. ALTEC Deskodetzailearen atakak
ALTEC_DECODER
datu[] erloju erloju
q[] err_detected err_corrected
err_fatal
aklr
inst
7.1. ALTEC kodetzailearen Ezaugarriak
ALTECC kodetzailearen IP nukleoak ezaugarri hauek eskaintzen ditu: · Datuen kodeketa egiten du Hamming Kodeketa eskema erabiliz · 2 biteko datuen zabalera onartzen du · Sinatutako eta sinatu gabeko datuen irudikapen formatua onartzen du · Pipelineing onartzen du erloju-ziklo bateko edo biko irteerako latentziarekin · Aukerako onartzen du Garbiketa asinkronoa eta erlojua gaitzeko atakak
ALTEC kodetzailearen IP nukleoak datuak hartzen eta kodetzen ditu Hamming Kodeketa eskema erabiliz. Hamming Coding eskemak parekotasun bitak ateratzen ditu eta jatorrizko datuei eransten die irteerako kode hitza sortzeko. Erantsitako parekotasun-bit kopurua datuen zabaleraren araberakoa da.
Hurrengo taulak datu-zabalera desberdinetarako erantsitako parekotasun-bit kopurua zerrendatzen du. Bit totalak zutabeak sarrerako datu-bit eta erantsitako paritate-bit kopuru osoa adierazten du.
21. taula.
Parekidetasun-bit kopurua eta kode-hitzaren datu-zabaleraren arabera
Datuen zabalera
Parekidetasun-bit kopurua
Bit guztira (kode-hitza)
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
Paritate-biten eratorpenak parekotasun-egiaztapena erabiltzen du. 1 bit gehigarria (taulan +1 gisa ageri dena) parekidetasun-bitei eransten zaie kode hitzaren MSB gisa. Honek kode-hitzak 1eko zenbaki bikoitia duela ziurtatzen du. Adibidezample, datuen zabalera 4 bit bada, 4 parekotasun bit eransten zaizkie datuei, guztira 8 bit dituen kode-hitz bihurtzeko. 7 biteko kode-hitzaren LSBko 8 bitek 1eko zenbaki bakoitia badute, kode-hitzaren 8. bit-a (MSB) 1 izango da, kode-hitzaren 1-kopurua bikoitia bihurtuz.
Hurrengo irudian sortutako kode-hitza eta parekotasun-biten eta datu-biten antolamendua erakusten da 8 biteko datu-sarrera batean.
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 31
7. ALTEC (Erroreak zuzentzeko kodea: kodetzailea/deskodetzailea) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
8. irudia.
Parekidetasun-bitak eta datu-biten antolamendua 8 biteko sortutako kode-hitz batean
MSB
LSB
4 parekidetasun bit
4 datu-bit
8
1
ALTEC kodetzailearen IP nukleoak 2 eta 64 bit arteko sarrera-zabalerak soilik onartzen ditu aldi berean. 12 biteko, 29 biteko eta 64 biteko sarrera-zabalerek, Intel gailuetarako oso egokiak direnak, 18 biteko, 36 biteko eta 72 biteko irteerak sortzen dituzte hurrenez hurren. Bit-hautaketaren muga kontrola dezakezu parametroen editorean.
7.2. Verilog HDL prototipoa (ALTECC_ENCODER)
Hurrengo Verilog HDL prototipoa Verilog Design-en dago File (.v) lpm.v-en edasynthesis direktorioa.
module altecc_encoder #( parametroa target_device_family = "ez erabilia", parametroa lpm_pipeline = 0, parametroa width_codeword = 8, parametroa width_dataword = 8, parametroa lpm_type = "altecc_encoder", parametroa lpm_hint = "ez dago erabilita") (sarrerako kablearen aclr, sarrerako hariaren clock wire clocken, sarrerako hari [width_dataword-1:0] datuak, irteerako haria [width_codeword-1:0] q); amaierako modulua
7.3. Verilog HDL prototipoa (ALTECC_DECODER)
Hurrengo Verilog HDL prototipoa Verilog Design-en dago File (.v) lpm.v-en edasynthesis direktorioa.
module altecc_decoder #( parametroa target_device_family = "ez erabilia", parametroa lpm_pipeline = 0, parametroa width_codeword = 8, parametroa width_dataword = 8, parametroa lpm_type = "altecc_decoder", parametroa lpm_hint = "ez da erabili") (sarrera hari-clock, sarrerako hari-clock, sarrera alanbre erlojua, sarrerako haria [width_codeword-1:0] datuak, irteerako haria err_corrected, irteerako haria err_detected, outut haria err_fatal, irteerako haria [width_dataword-1:0] q); amaierako modulua
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 32
Bidali Iritzia
7. ALTEC (Erroreak zuzentzeko kodea: kodetzailea/deskodetzailea) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
7.4. VHDL osagaien adierazpena (ALTECC_ENCODER)
VHDL osagaien adierazpena VHDL diseinuan dago File (.vhd) altera_mf_components.vhd atalean librariesvhdlaltera_mf direktorioa.
osagaia altecc_encoder generic ( intentsed_device_family:string := “ez erabilia”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := “EZ ERABILI”; lpm_type:string := “altecc_encoder ”); portua (aclr: std_logic := '0'; erlojua: std_logic := '0'; clocken: std_logic := '1'; datuak: std_logic_vector (width_dataword-1 down to 0); q: out std_logic_vector (width_codeword -1 behera 0)); amaierako osagaia;
7.5. VHDL osagaien adierazpena (ALTECC_DECODER)
VHDL osagaien adierazpena VHDL diseinuan dago File (.vhd) altera_mf_components.vhd atalean librariesvhdlaltera_mf direktorioa.
osagaia altecc_decoder generic ( intentsed_device_family:string := “ez erabilia”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := “ERABILTZEN”; lpm_type:string := “altecc_decoder ”); portua (aclr: std_logic-en:= '0'; erlojua: std_logic-en:= '0'; erlojua: std_logic-en:= '1'; datuak: std_logic_vector-en (width_codeword-1 0raino); err_corrected: out std_logic; err_detected : out std_logic; q: out std_logic_vector (width_dataword-1 down to 0); syn_e : out std_logic); amaierako osagaia;
7.6. VHDL LIBRARY_USE Adierazpena
VHDL LIBRARY-USE adierazpena ez da beharrezkoa VHDL osagaien adierazpena erabiltzen baduzu.
LIBURUTEGIA altera_mf; ERABILI altera_mf.altera_mf_components.all;
7.7. Kodetzailearen atakak
Ondorengo tauletan ALTECC kodegailuaren IP nukleoaren sarrera eta irteera atakak zerrendatzen dira.
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 33
7. ALTEC (Erroreak zuzentzeko kodea: kodetzailea/deskodetzailea) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
22. taula. ALTEC kodetzailearen sarrera-atatuak
Portuaren izena
Beharrezkoa
Deskribapena
datuak[]
Bai
Datuak sartzeko ataka. Sarrerako atakaren tamaina WIDTH_DATAWORD-ren araberakoa da
parametroaren balioa. Data[] atakak kodetu beharreko datu gordinak ditu.
erlojua
Bai
Erlojuaren sarrerako ataka, kodetze-eragiketa sinkronizatzeko erlojuaren seinalea ematen duena.
Erlojuaren ataka behar da LPM_PIPELINE balioa 0 baino handiagoa denean.
erlojua
Ez
Erlojua gaitu. Baztertzen bada, balio lehenetsia 1 da.
aklr
Ez
Sarrera garbi asinkronoa. Aclr handiko seinale aktiboa edozein unetan erabil daiteke
garbitu erregistroak modu asinkronoan.
23. taula. ALTEC kodetzailearen irteerako atakak
Portuaren izena q[]
Beharrezkoa Bai
Deskribapena
Kodetutako datuen irteerako ataka. Irteerako atakaren tamaina WIDTH_CODEWORD parametroaren balioaren araberakoa da.
7.8. Deskodetzaileen atakak
Ondorengo tauletan ALTEC deskodetzailearen IP nukleoaren sarrera- eta irteera-portuak zerrendatzen dira.
24. Taula. ALTEC Deskodetzailearen Sarrera Portuak
Portuaren izena
Beharrezkoa
Deskribapena
datuak[]
Bai
Datuak sartzeko ataka. Sarrerako atakaren tamaina WIDTH_CODEWORD parametroaren balioaren araberakoa da.
erlojua
Bai
Erlojuaren sarrerako ataka, kodetze-eragiketa sinkronizatzeko erlojuaren seinalea ematen duena. Erlojuaren ataka behar da LPM_PIPELINE balioa 0 baino handiagoa denean.
erlojua
Ez
Erlojua gaitu. Baztertzen bada, balio lehenetsia 1 da.
aklr
Ez
Sarrera garbi asinkronoa. Aclr handiko seinale aktiboa edozein unetan erabil daiteke erregistroak modu asinkronoan garbitzeko.
25. Taula. ALTEC Deskodetzailearen irteerako atakak
Portuaren izena q[]
Beharrezkoa Bai
Deskribapena
Deskodetutako datuen irteerako ataka. Irteerako atakaren tamaina WIDTH_DATAWORD parametroaren balioaren araberakoa da.
err_detekted Bai
Markatu seinalea jasotako datuen egoera islatzeko eta aurkitutako akatsak zehazten ditu.
err_correct Bai d
Markatu seinalea jasotako datuen egoera islatzeko. Aurkitutako eta zuzendutako bit bakarreko errorea adierazten du. Datuak erabil ditzakezu dagoeneko zuzenduta dagoelako.
err_fatal
Bai
Markatu seinalea jasotako datuen egoera islatzeko. Bit bikoitzeko errorea aurkitutako, baina zuzendu ez den adierazten du. Ez dituzu datuak erabili behar seinale hori baieztatzen bada.
sin_e
Ez
Paritatean bit bakarreko errore bat hautematen den bakoitzean altua izango den irteera-seinalea
bitsak.
7.9. Kodetzailearen parametroak
Ondorengo taulan ALTEC kodetzailearen IP nukleoaren parametroak zerrendatzen dira.
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 34
Bidali Iritzia
7. ALTEC (Erroreak zuzentzeko kodea: kodetzailea/deskodetzailea) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
26. taula. ALTEC kodetzailearen parametroak
Parametroaren izena
Mota
Beharrezkoa
Deskribapena
WIDTH_DATAWORD
Zenbaki osoa Bai
Datu gordinaren zabalera zehazten du. Balioak 2tik 64ra bitartekoak dira. Baztertzen badira, balio lehenetsia 8 da.
WIDTH_CODEWORD
Zenbaki osoa Bai
Dagokion kode hitzaren zabalera zehazten du. Baliozko balioak 6tik 72ra bitartekoak dira, 9, 17, 33 eta 65 izan ezik. Baztertzen badira, balio lehenetsia 13 da.
LPM_PIPELINE
Zenbaki osoa
Zirkuituaren kanalizazioa zehazten du. Balioak 0tik 2ra dira. Balioa 0 bada, atakak ez dira erregistratzen. Balioa 1 bada, irteerako atakak erregistratzen dira. Balioa 2 bada, sarrerako eta irteerako atakak erregistratzen dira. Baztertzen bada, balio lehenetsia 0 da.
7.10. Deskodetzailearen parametroak
Hurrengo taulan ALTEC deskodetzailearen IP oinarrizko parametroak zerrendatzen dira.
27. taula. ALTEC deskodetzailearen parametroak
WIDTH_DATAWORD parametroaren izena
Idatzi Integer
Beharrezkoa
Deskribapena
Bai
Datu gordinaren zabalera zehazten du. Balioak 2 eta 64 bitartekoak dira
balio lehenetsia 8 da.
WIDTH_CODEWORD
Zenbaki osoa
Bai
Dagokion kode hitzaren zabalera zehazten du. Balioak 6 dira
72ra, 9, 17, 33 eta 65 izan ezik. Salbatuz gero, balio lehenetsia
13 da.
LPM_PIPELINE
Zenbaki osoa
Ez
Zirkuituaren erregistroa zehazten du. Balioak 0tik 2ra dira. Bada
balioa 0 da, ez da erregistrorik ezartzen. Balioa 1 bada,
irteera erregistratuta dago. Balioa 2 bada, bai sarrera eta bai
irteera erregistratuta daude. Balioa 2 baino handiagoa bada, gehigarria
erregistroak gehigarriaren irteeran inplementatzen dira
latentzia. Baztertzen bada, balio lehenetsia 0 da.
Sortu 'syn_e' ataka
Zenbaki osoa
Ez
Aktibatu parametro hau syn_e ataka bat sortzeko.
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 35
683490 | 2020.10.05/XNUMX/XNUMX Bidali iritzia
8. Intel FPGA Multiply Adder IP Core
9. irudia.
Intel FPGA Multiply Adder (Intel Stratix 10, Intel Arria 10 eta Intel Cyclone 10 GX gailuak) edo ALTERA_MULT_ADD (Arria V, Stratix V eta Cyclone V gailuak) IP nukleoak biderkatzaile-batzailea ezartzeko aukera ematen du.
Hurrengo irudian Intel FPGA Multiply Adder edo ALTERA_MULT_ADD IP nukleoaren atakak erakusten dira.
Intel FPGA Multiply Adder edo ALTERA_MULT_ADD Portuak
Intel FPGA Multiply Adder edo 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 katea[]
scanouta[] emaitza[]
aclr0 aclr1
inst
Biderkatzaile-batzaile batek sarrera bikoteak onartzen ditu, balioak elkarrekin biderkatzen ditu eta, ondoren, beste bikote guztien produktuak gehitzen edo kentzen ditu.
Sarrerako datu-zabalera guztiak 9 biteko zabalera edo txikiagoak badira, funtzioak 9 x 9 biteko sarrerako biderkatzailearen konfigurazioa erabiltzen du DSP blokean 9 x 9 konfigurazioa onartzen duten gailuetarako. Hala ez bada, DSP blokeak 18 × 18 biteko sarrerako biderkatzaileak erabiltzen ditu 10 bit eta 18 bit arteko zabalerak dituzten datuak prozesatzeko. Diseinu batean Intel FPGA Multiply Adder edo ALTERA_MULT_ADD IP nukleo anitz gertatzen badira, funtzioak honela banatuko dira.
Intel Corporation. Eskubide guztiak erreserbatuak. Intel, Intel logotipoa eta beste Intel marka Intel Corporation edo bere filialen marka komertzialak dira. Intel-ek bere FPGA eta erdieroaleen produktuen errendimendua bermatzen du uneko zehaztapenekin, Intel-en berme estandarraren arabera, baina edozein unetan edozein produktu eta zerbitzutan aldaketak egiteko eskubidea gordetzen du jakinarazi gabe. Intel-ek ez du bere gain hartzen hemen deskribatutako edozein informazio, produktu edo zerbitzuren aplikazio edo erabileratik eratorritako erantzukizunik edo erantzukizunik, Intel-ek idatziz berariaz hitzartutakoa izan ezik. Intel-eko bezeroei gomendatzen zaie gailuaren zehaztapenen azken bertsioa eskuratzea argitaratutako edozein informaziotan oinarritu aurretik eta produktu edo zerbitzuen eskaerak egin aurretik. *Beste izen eta markak beste batzuen jabetza direla erreklamatu daitezke.
ISO 9001:2015 Erregistratua
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Ahalik eta DSP bloke ezberdin asko bloke horietara bideratzea malguagoa izan dadin. DSP bloke bakoitzeko biderkatzaile gutxiagok blokean bideratze-aukera gehiago ahalbidetzen ditu gailurako gainerako bideak gutxituz.
Seinale hauetarako erregistroak eta kanalizazio-erregistro gehigarriak ere jartzen dira DSP blokearen barruan: · Datuen sarrera · Hautaketa sinatuta edo sinatu gabe · Hautaketa gehitu edo kendu · Biderkatzaileen produktuak
Irteerako emaitzaren kasuan, lehen erregistroa DSP blokean jartzen da. Hala ere, latentzia gehigarriko erregistroak bloketik kanpoko elementu logikoetan jartzen dira. DSP blokearen periferikoek, biderkagailurako datu-sarrerak, kontrol-seinalearen sarrerak eta gehigailuaren irteerak barne, bideratze arrunta erabiltzen dute gainerako gailuarekin komunikatzeko. Funtzioko konexio guztiek bideratze dedikatua erabiltzen dute DSP blokearen barruan. Bideratze dedikatu honek aldaketa-erregistro-kateak barne hartzen ditu biderkatzaile baten erregistratutako sarrerako datuak biderkatzaile batetik aldameneko biderkatzaile batera aldatzeko aukera hautatzen duzunean.
Stratix V eta Arria V gailu serieetako edozein DSP blokeei buruzko informazio gehiago lortzeko, ikusi dagozkien eskuliburuetako DSP blokeen kapitulua Literatura eta Dokumentazio Teknikoa orrian.
Lotutako informazioa AN 306: FPGA gailuetan biderkatzaileak ezartzea
Intel FPGA gailuetan DSP eta memoria blokeak erabiliz biderkatzaileak ezartzeari buruzko informazio gehiago eskaintzen du.
8.1. Ezaugarriak
Intel FPGA Multiply Adder edo ALTERA_MULT_ADD IP nukleoak ezaugarri hauek eskaintzen ditu: · Biderkatzaile bat sortzen du bi konplexuen biderketa eragiketak egiteko.
zenbakiak Oharra: jatorriz onartzen den tamaina baino biderkagaiak eraikitzean baliteke/
DSP blokeen kaskadaren ondoriozko errendimendu-eragina izango da. · 1 biteko datu-zabalerak onartzen ditu · Sinatutako eta sinatu gabeko datuen irudikapen formatua onartzen du · Sarrerako latentzia konfiguragarriarekin pipelining onartzen du · Sinatutako eta sinatu gabeko datuen euskarria dinamikoki aldatzeko aukera eskaintzen du. aukerako garbiketa asinkronoa eta sinkronoa eta erlojua gaitzeko sarrerako atakak · Atzerapen sistolikoaren erregistro modua onartzen du · Aurre-bagatzailea onartzen du biderkatzaile bakoitzeko 256 aurrekarga koefizienteekin · Aurre-karga konstantea onartzen du metagailuaren feedbacka osatzeko
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 37
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
8.1.1. Aurre-bagatzailea
Aurre-bagatzailearekin, batuketak edo kenketak biderkatzailea elikatu aurretik egiten dira.
Aurrez gehitzeko bost modu daude: · Modu sinplea · Koefiziente modua · Sarrera modua · Karratu modua · Konstante modua
Oharra:
Aurre-bagatzailea erabiltzen denean (aurre-bagatzailea koefizientea/sarrera/karratu modua), biderkatzailearen datu-sarrera guztiek erloju-ezarpen bera izan behar dute.
8.1.1.1. Aurre-bagatzailea modu sinplea
Modu honetan, bi eragigaiak sarrerako ataketatik eratortzen dira eta aurre-bagatzailea ez da erabiltzen edo baztertzen. Hau da modu lehenetsia.
10. Irudia Batitzaile aurreko modu sinplea
a0 b0
Mult0
emaitza
8.1.1.2. Batitzaile aurreko koefiziente modua
Modu honetan, eragiketa biderkatzaile bat aurre-bagatzailetik eratortzen da, eta beste eragiketa barneko koefizienteen biltegiratzetik. Koefizienteen biltegiratzeak aurrez ezarritako 8 konstante ahalbidetzen ditu. Koefiziente hautatzeko seinaleak coefsel[0..3] dira.
Modu hau hurrengo ekuazioan adierazten da.
Jarraian, biderkatzaile baten aurreko batutzailearen koefizientearen modua erakusten da.
11. Irudia Batitzailearen aurreko koefizientearen modua
Iragarkia
a0
Mult0
+/-
emaitza
b0
coefsel0 koef
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 38
Bidali Iritzia
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
8.1.1.3. Aurre-bagatzailea Sarrera-modua Modu honetan, biderkatzaile-eragigai bat aurre-bagatzailetik eratortzen da, eta beste eragigaia datac[] sarrerako atakatik. Modu hau hurrengo ekuazioan adierazten da.
Jarraian, biderkatzaile baten aurreko gehigarriaren sarrera modua erakusten da.
12. Irudia. Batatzailearen aurreko sarrera modua
a0 b0
Mult0
+/-
emaitza
c0
8.1.1.4. Batatzailearen aurreko karratu modua Modu hau hurrengo ekuazioan adierazten da.
Jarraian, bi biderkatzaileren aurreko batutzaile karratu modua erakusten da.
13. Irudia Batitzaile aurreko karratu modua
a0 b0
Mult0
+/-
emaitza
8.1.1.5. Aurre-bagatzailea modu konstantea
Modu honetan, eragigai biderkatzaile bat sarrerako atakatik eratortzen da, eta beste eragigaia barneko koefizienteen biltegiratzetik. Koefizienteen biltegiratzeak aurrez ezarritako 8 konstante ahalbidetzen ditu. Koefiziente hautatzeko seinaleak coefsel[0..3] dira.
Modu hau hurrengo ekuazioan adierazten da.
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 39
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Ondorengo irudiak biderkatzaile baten aurreko batutzailearen konstante modua erakusten du.
14. Irudia Batitzailearen aurreko modua
a0
Mult0
emaitza
koefsel0
koef
8.1.2. Atzerapen sistolikoaren erregistroa
Arkitektura sistolikoan, sarrerako datuak datu-buffer gisa jarduten duten erregistro-jauzi batean sartzen dira. Erregistro bakoitzak sarrera s bat ematen duample biderkatzaile bati dagokion koefizienteaz biderkatzen den. Kate batutzaileak biderkagailuaren pixkanaka konbinatutako emaitzak eta chainin[] sarrerako atakatik aurrez erregistratutako emaitza gordetzen ditu azken emaitza osatzeko. Biderkatze-gehiketa elementu bakoitza ziklo bakar batez atzeratu behar da, emaitzak elkarrengandik egokiro sinkroniza daitezen. Ondoz ondoko atzerapen bakoitza koefizienteen memoria eta dagozkien biderketa-gehiketa elementuen datu-bufferra zuzentzeko erabiltzen da. Adibidezample, atzerapen bakarra bigarren biderketa gehitu elementuarentzat, bi atzerapen hirugarren biderketa-gehiketa elementuarentzat, eta abar.
15. Irudia Erregistro Sistolikoak
Erregistro sistolikoak
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) s sarrerako korronte jarraitu baten emaitzak adierazten dituamples eta y(t)
sarrera s multzo baten batuketa adierazten duamples, eta denboran, haien bidez biderkatu
dagozkien koefizienteak. Sarrera eta irteerako emaitzak ezkerretik eskuinera doaz. c(0)tik c(N-1) koefizienteak adierazten ditu. Atzerapen sistolikoaren erregistroak S-1 bidez adierazten dira, eta 1ak erlojuaren atzerapen bakarra adierazten du. Atzerapen sistolikoaren erregistroak hemen gehitzen dira
kanalizaziorako sarrerak eta irteerak emaitzak bermatzen dituen moduan
eragiketa biderkatzailea eta metatutako batuketak sinkronizatuta geratzen dira. Prozesatzeko elementu hau
erreplikatzen da iragazketa-funtzioa kalkulatzen duen zirkuitu bat osatzeko. Funtzio hau da
hurrengo ekuazioan adierazita.
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 40
Bidali Iritzia
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
N metagailuan sartu diren datu-ziklo kopurua adierazten du, y(t) t denboran irteera, A(t) t denboran sarrera eta B(i) koefizienteak. Ekuazioaren t eta i denbora-une jakin bati dagozkio, beraz, s irteera kalkulatzekoample y(t) t denboran, s sarrerako talde batampdenboran N puntu ezberdinetan, edo A(n), A(n-1), A(n-2), … A(n-N+1) behar dira. N sarrerako s taldeaampleak N koefizienteez biderkatu eta batzen dira y azken emaitza sortzeko.
Erregistro sistolikoaren arkitektura sum-of-2 eta sum-of-4 moduetarako soilik dago erabilgarri. Erregistro sistolikoaren arkitektura modu bietarako, lehen kate-seinalea 0-ra lotu behar da.
Hurrengo irudiak 2 biderkatzaileren atzerapen-erregistro sistolikoaren ezarpena erakusten du.
16. irudia. Atzerapen sistolikoaren erregistroa 2 biderkatzaileren ezarpena
katea
a0
Mult0
+/-
b0
a1
Mult1
+/-
b1
emaitza
Bi biderkatzaileen batura hurrengo ekuazioan adierazten da.
Hurrengo irudiak 4 biderkatzaileren atzerapen-erregistro sistolikoaren ezarpena erakusten du.
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 41
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
17. irudia. Atzerapen sistolikoaren erregistroa 4 biderkatzaileren ezarpena
katea
a0
Mult0
+/-
b0
a1
Mult1
+/-
b1
a2
Mult2
+/-
b2
a3
Mult3
+/-
b3
emaitza
Lau biderkatzaileren batura hurrengo ekuazioan adierazten da. 18. irudia. 4 biderkatzaileen batura
Jarraian abantaila zerrendatzen datagErregistro sistolikoaren ezarpenak: · DSP baliabideen erabilera murrizten du · DSP blokean mapaketa eraginkorra ahalbidetzen du kate gehigarriaren egitura erabiliz.
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 42
Bidali Iritzia
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
8.1.3. Aurre-karga konstantea
Aurrekargako konstanteak metagailuaren eragiketa kontrolatzen du eta metagailuaren feedbacka osatzen du. Baliozko LOADCONST_VALUE 0 bitartekoa da. Balio konstantea 64N berdina da, non N = LOADCONST_VALUE. LOADCONST_VALUE 2-n ezartzen denean, balio konstantea 64-ren berdina da. Funtzio hau alboratutako biribilketa gisa erabil daiteke.
Hurrengo irudian karga aurretiko konstantearen ezarpena erakusten da.
19. irudia. Karga aurreko konstantea
Metagailuaren iritzia
konstantea
a0
Mult0
+/-
b0
a1
Mult1
+/b1
emaitza
accum_sload sload_accum
Ikusi IP nukleo hauei beste biderkatzaileen inplementazioetarako: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. Metagailu bikoitza
Metagailu bikoitzeko funtzioak erregistro gehigarri bat gehitzen du metagailuaren feedback-bidean. Metagailu bikoitzeko erregistroak irteerako erregistroari jarraitzen dio, erlojua, erlojuaren gaitzea eta aclr barne. Metagailu-erregistro gehigarriak ziklo bateko atzerapenarekin emaitza itzultzen du. Ezaugarri honek bi metagailu-kanal edukitzea ahalbidetzen du baliabide-zenbaketa berdinarekin.
Hurrengo irudian metagailu bikoitzaren ezarpena erakusten da.
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 43
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
20. Irudia Metagailu bikoitza
Metagailu bikoitzaren Erregistroa
Accumulator feedback-a
a0
Mult0
+/-
b0
a1
Mult1
+/b1
Irteera emaitza Irteera Erregistroa
8.2. Verilog HDL prototipoa
Intel FPGA Multiply Adder edo ALTERA_MULT_ADD Verilog HDL prototipoa aurki dezakezu file (altera_mult_add_rtl.v) atalean liburutegiakmegafuntzioen direktorioa.
8.3. VHDL osagaien adierazpena
VHDL osagaien deklarazioa altera_lnsim_components.vhd-en dago librariesvhdl altera_lnsim direktorioa.
8.4. VHDL LIBRARY_USE Adierazpena
VHDL LIBRARY-USE adierazpena ez da beharrezkoa VHDL osagaien adierazpena erabiltzen baduzu.
LIBURUTEGIA altera_mf; ERABILI altera_mf.altera_mf_components.all;
8.5. Seinaleak
Ondorengo tauletan Multiply Adder Intel FPGA IP edo ALTERA_MULT_ADD IP nukleoaren sarrera eta irteera seinaleak zerrendatzen dira.
28. taula. Biderkatu Adder Intel FPGA IPor ALTERA_MULT_ADD Sarrera-seinaleak
Seinalea
Beharrezkoa
Deskribapena
dataa_0[]/dataa_1[]/
Bai
dataa_2[]/dataa_3[]
Datuen sarrera biderkatzaileari. Sarrerako ataka [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1 … 0] zabalera
jarraitu…
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 44
Bidali Iritzia
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Seinalearen datuakb_0[]/datab_1[]/ datab_2[]/datab_3[] datac_0[] /datac_1[]/ datac_2[]/datac_3[] clock[1:0] aclr[1:0] sclr[1:0] ena [1:0] signa
zeinu b
eskanina[] accum_sload
Beharrezkoa Bai Ez
Ez Ez Ez Ez Ez
Ez
Ez Ez
Deskribapena
IP honen simulazio-ereduak seinale hauetarako sarrera-balio zehaztugabea (X) onartzen du. Seinale horiei X balioa ematen diezunean, X balioa irteerako seinaleetan hedatzen da.
Datuen sarrera biderkatzaileari. Sarrerako seinalea [NUMBER_OF_MULTIPLIERS * WIDTH_B – 1 … 0] zabala IP honen simulazio-ereduak seinale hauetarako zehaztu gabeko sarrera-balioa (X) onartzen du. Seinale horiei X balioa ematen diezunean, X balioa irteerako seinaleetan hedatzen da.
Datuen sarrera biderkatzaileari. Sarrera-seinalea [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] zabala Hautatu INPUT Hautatu preadder modua parametrorako seinale hauek gaitzeko. IP honen simulazio-ereduak seinale hauetarako sarrera-balio zehaztugabea (X) onartzen du. Seinale horiei X balioa ematen diezunean, X balioa irteerako seinaleetan hedatzen da.
Erlojuaren sarrerako ataka dagokion erregistrora. Seinale hau IP nukleoko edozein erregistrok erabil dezake. IP honen simulazio-ereduak seinale hauetarako sarrera-balio zehaztugabea (X) onartzen du. Seinale horiei X balioa ematen diezunean, X balioa irteerako seinaleetan hedatzen da.
Sarrera garbi asinkronoa dagokion erregistroan. IP honen simulazio-ereduak seinale hauetarako sarrera-balio zehaztugabea (X) onartzen du. Seinale horiei X balioa ematen diezunean, X balioa irteerako seinaleetan hedatzen da.
Sarrera garbi sinkronikoa dagokion erregistroan. IP honen simulazio-ereduak X sarrera-balio zehaztugabea onartzen du seinale horietarako. Seinale horiei X balioa ematen diezunean, X balioa irteerako seinaleetan hedatzen da
Gaitu seinalea sarrera dagokion erregistroan. IP honen simulazio-ereduak seinale hauetarako sarrera-balio zehaztugabea (X) onartzen du. Seinale horiei X balioa ematen diezunean, X balioa irteerako seinaleetan hedatzen da.
A sarrera biderkatzailearen zenbakizko irudikapena zehazten du. Seinalearen seinalea altua bada, biderkatzaileak A sarrerako biderkatzailearen seinalea zenbaki sinatu gisa tratatzen du. Seinalearen seinalea baxua bada, biderkatzaileak A sarrerako seinalea sinatu gabeko zenbaki gisa tratatzen du. Hautatu ALDAGAIA Zein da Multipliers A sarrera-parametroaren irudikapen formatua seinale hau gaitzeko. IP honen simulazio-ereduak seinale honen sarrera-balio zehaztugabea (X) onartzen du. Sarrera honi X balioa ematen diozunean, X balioa irteerako seinaleetan hedatzen da.
Biderkatzailearen sarrerako B seinalearen zenbakizko irudikapena zehazten du. Signb seinalea altua bada, biderkatzaileak biderkatzailearen sarrerako B seinalea sinatutako bi osagarri-zenbaki gisa tratatzen du. Signb seinalea baxua bada, biderkatzaileak biderkatzailearen sarrerako B seinalea sinatu gabeko zenbaki gisa tratatzen du. IP honen simulazio-ereduak seinale honen sarrera-balio zehaztugabea (X) onartzen du. Sarrera honi X balioa ematen diozunean, X balioa irteerako seinaleetan hedatzen da.
A eskaneatzeko katearen sarrera. Sarrerako seinalea [WIDTH_A – 1, … 0] zabala. INPUT_SOURCE_A parametroak SCANA balioa duenean, scanina[] seinalea behar da.
Metagailuaren balioa konstantea den modu dinamikoan zehazten du. accum_sload seinalea baxua bada, orduan biderkatzailearen irteera metagailuan kargatzen da. Ez erabili accum_sload eta sload_accum aldi berean.
jarraitu…
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 45
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Seinalea sload_accum
katea[] addnsub1
gehigarri3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]
Beharrezko zenbakia
Ez Ez
Ez
Ez Ez Ez Ez
Deskribapena
IP honen simulazio-ereduak seinale honen sarrera-balio zehaztugabea (X) onartzen du. Sarrera honi X balioa ematen diozunean, X balioa irteerako seinaleetan hedatzen da.
Metagailuaren balioa konstantea den modu dinamikoan zehazten du. Sload_accum seinalea altua bada, biderkatzailearen irteera metagailura kargatzen da. Ez erabili accum_sload eta sload_accum aldi berean. IP honen simulazio-ereduak seinale honen sarrera-balio zehaztugabea (X) onartzen du. Sarrera honi X balioa ematen diozunean, X balioa irteerako seinaleetan hedatzen da.
Batitzailearen emaitza sarrera-busa aurreko s-tiktage. Sarrerako seinalea [WIDTH_CHAININ – 1, … 0] zabala.
Egin batuketak edo kenketak lehen biderkatzaileen bikotearen irteerak. Sarrera 1 addnsub1 seinaleari lehen biderkatzaileen irteerak gehitzeko. Sartu 0 addnsub1 seinaleari irteerak kentzeko lehen biderkatzaileen bikoteari. IP honen simulazio-ereduak seinale honen sarrera-balio zehaztugabea (X) onartzen du. Sarrera honi X balioa ematen diozunean, X balioa irteerako seinaleetan hedatzen da.
Egin batuketak edo kenketak lehen biderkatzaileen bikotearen irteerak. Sarrera 1 addnsub3 seinalera bigarren biderkatzaile bikotearen irteerak gehitzeko. Sartu 0 addnsub3 seinaleari irteerak kentzeko lehen biderkatzaileen bikoteari. IP honen simulazio-ereduak seinale honen sarrera-balio zehaztugabea (X) onartzen du. Sarrera honi X balioa ematen diozunean, X balioa irteerako seinaleetan hedatzen da.
Koefizientearen sarrerako seinalea[0:3] lehen biderkatzaileari. IP honen simulazio-ereduak seinale honen sarrera-balio zehaztugabea (X) onartzen du. Sarrera honi X balioa ematen diozunean, X balioa irteerako seinaleetan hedatzen da.
Koefizientearen sarrerako seinalea[0:3]bigarren biderkatzaileari. IP honen simulazio-ereduak seinale honen sarrera-balio zehaztugabea (X) onartzen du. Sarrera honi X balioa ematen diozunean, X balioa irteerako seinaleetan hedatzen da.
Koefizientearen sarrerako seinalea[0:3]hirugarren biderkatzaileari. IP honen simulazio-ereduak seinale honen sarrera-balio zehaztugabea (X) onartzen du. Sarrera honi X balioa ematen diozunean, X balioa irteerako seinaleetan hedatzen da.
Koefizientearen sarrerako seinalea [0:3] laugarren biderkatzaileari. IP honen simulazio-ereduak seinale honen sarrera-balio zehaztugabea (X) onartzen du. Sarrera honi X balioa ematen diozunean, X balioa irteerako seinaleetan hedatzen da.
29. taula. Biderkatu Adder Intel FPGA IP Irteera Seinaleak
Seinalea
Beharrezkoa
Deskribapena
emaitza []
Bai
Biderkatzailearen irteerako seinalea. Irteerako seinalea [WIDTH_RESULT – 1 … 0] zabala
IP honen simulazio-ereduak irteera-balio zehaztugabea onartzen du (X). Sarrera gisa X balioa ematen duzunean, X balioa hedatzen da seinale honetan.
eskanuta []
Ez
Eskaneatu katearen irteera A. Irteerako seinalea [WIDTH_A – 1..0] zabal.
Aukeratu 2 baino gehiago biderkatzaile-kopuruetarako eta aukeratu Eskaneatu katearen sarrera-Zein da parametrora konektatutako biderkatzailearen A sarrera seinale hau gaitzeko.
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 46
Bidali Iritzia
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
8.6. parametroak
8.6.1. Orokorra fitxa
30. taula Orokorra fitxa
Parametroa
Sortutako IP parametroa
Balioa
Zein da biderkatzaile kopurua?
m_kopurua 1 – 4 biderkatzaile
Zenbateko zabalera izan behar dute A width_a sarrera-busek?
1-256
Zenbateko zabalera izan behar dute B width_b sarrera-busek?
1-256
Zenbaterainokoa izan behar du 'emaitza' irteera-busak?
zabalera_emaitza
1-256
Sortu erlazionatutako erloju-gaikuntza bat erloju bakoitzeko
gui_associate On d_clock_enbl Off e
8.6.2. Modu gehigarriak fitxa
31. taula. Modu gehigarriak fitxa
Parametroa
Sortutako IP parametroa
Balioa
Irteeren konfigurazioa
Erregistratu gehigarri unitatearen irteera
gui_output_re Aktibatuta
gister
Desaktibatuta
Zein da erlojuaren sarrerarako iturria?
gui_output_re gister_clock
Erlojua0 Erlojua1 Erlojua2
Zein da sarrera argi asinkronoaren iturria?
gui_output_re gister_aclr
EZER ACLR0 ACLR1
Zein da sarrera argi sinkronoaren iturria?
gui_output_re gister_sclr
EZER SCLR0 SCLR1
Gehitzaileen Eragiketa
Zein eragiketa egin behar da lehen biderkatzaileen irteeretan?
gui_multiplicator 1_direction
GEHITU, AZPI, ALDAGAIA
Balio lehenetsia 1
16
Deskribapena
Batu beharreko biderkagai kopurua. Balioak 1 eta 4 artekoak dira. Zehaztu datua[] atakaren zabalera.
16
Zehaztu datub[] atakaren zabalera.
32
Zehaztu emaitza[] atakaren zabalera.
Desaktibatuta
Hautatu aukera hau erlojua gaitzeko
erloju bakoitzeko.
Balio lehenetsia
Deskribapena
Off Erlojua0
EZER EZ
Hautatu aukera hau gehigarri moduluaren irteera-erregistroa gaitzeko.
Hautatu Clock0 , Clock1 edo Clock2 irteera-erregistroetarako erloju-iturria gaitzeko eta zehazteko. Parametro hau gaitzeko, batutzailearen unitatearen Erregistratu irteera hautatu behar duzu.
Gehitzaileen irteera-erregistrorako iturri garbi asinkronoa zehazten du. Parametro hau gaitzeko, batutzailearen unitatearen Erregistratu irteera hautatu behar duzu.
Gehitzaileen irteera-erregistrorako iturri garbi sinkronoa zehazten du. Parametro hau gaitzeko, batutzailearen unitatearen Erregistratu irteera hautatu behar duzu.
GEHITU
Hautatu batuketa edo kenketa eragiketa lehenengo eta bigarren biderkatzaileen arteko irteeretarako egiteko.
· Hautatu GEHITU gehiketa eragiketa egiteko.
· Hautatu SUB kenketa eragiketa egiteko.
· Hautatu ALDAGAIA batuketa/kenketa kontrol dinamikorako addnsub1 ataka erabiltzeko.
jarraitu…
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 47
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parametroa
Sortutako IP parametroa
Balioa
Erregistratu 'addnsub1' sarrera
gui_addnsub_ On multiplier_reg Off ister1
Zein da erlojuaren sarrerarako iturria?
gui_addnsub_ multiplier_reg ister1_clock
Erlojua0 Erlojua1 Erlojua2
Zein da sarrera argi asinkronoaren iturria?
gui_addnsub_ multiplier_aclr 1
EZER ACLR0 ACLR1
Zein da sarrera argi sinkronoaren iturria?
gui_addnsub_ multiplier_sclr 1
EZER SCLR0 SCLR1
Zein eragiketa egin behar da bigarren biderkatzaile bikotearen irteeretan?
gui_multiplicator 3_direction
GEHITU, AZPI, ALDAGAIA
Erregistratu 'addnsub3' sarrera
gui_addnsub_ On multiplier_reg Off ister3
Zein da erlojuaren sarrerarako iturria?
gui_addnsub_ multiplier_reg ister3_clock
Erlojua0 Erlojua1 Erlojua2
Balio lehenetsia
Desaktibatuta Erlojua0 EZER EZ GEHITU
Off Erlojua0
Deskribapena
ALDAGAIA balioa hautatzen denean: · Gidatu addnsub1 seinalea altuera
batuketa eragiketa. · Gidatu addnsub1 seinalea baxura
kenketa eragiketa. Bi biderkatzaile baino gehiago hautatu behar dituzu parametro hau gaitzeko.
Hautatu aukera hau addnsub1 atakarako sarrera-erregistroa gaitzeko. Parametro hau gaitzeko, ALDAGAIA hautatu behar duzu zer eragiketa egin behar den lehen biderkatzaileen irteeretan.
Hautatu Clock0 , Clock1 edo Clock2 addnsub1 erregistrorako sarrerako erlojuaren seinalea zehazteko. Parametro hau gaitzeko, Erregistratu 'addnsub1' sarrera hautatu behar duzu.
addnsub1 erregistrorako iturri garbi asinkronoa zehazten du. Parametro hau gaitzeko, Erregistratu 'addnsub1' sarrera hautatu behar duzu.
addnsub1 erregistrorako iturri garbi sinkronoa zehazten du. Parametro hau gaitzeko, Erregistratu 'addnsub1' sarrera hautatu behar duzu.
Hautatu batuketa edo kenketa eragiketa hirugarren eta laugarren biderkatzaileen arteko irteeran egiteko. · Hautatu GEHITU gehiketa egiteko
operazioa. · Hautatu SUB kenketa egiteko
operazioa. · Hautatu ALDAGAIA addnsub1 erabiltzeko
batuketa/kenketa kontrol dinamikorako ataka. ALDAGAIA balioa hautatzen denean: · Addnsub1 seinalea altuera eraman gehiketa funtzionatzeko. · Gidatu addnsub1 seinalea baxura kenketa funtzionatzeko. 4 balioa hautatu behar duzu Zein da biderkatzaile kopurua? parametro hau gaitzeko.
Hautatu aukera hau addnsub3 seinalerako sarrera-erregistroa gaitzeko. Parametro hau gaitzeko, ALDAGAIA hautatu behar duzu bigarren biderkagaien irteeretan zer eragiketa egin behar den.
Hautatu Clock0 , Clock1 edo Clock2 addnsub3 erregistrorako sarrerako erlojuaren seinalea zehazteko. Parametro hau gaitzeko Erregistratu 'addnsub3' sarrera hautatu behar duzu.
jarraitu…
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 48
Bidali Iritzia
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parametroa
Zein da sarrera argi asinkronoaren iturria?
Sortutako IP parametroa
Balioa
gui_addnsub_ multiplier_aclr 3
EZER ACLR0 ACLR1
Zein da sarrera argi sinkronoaren iturria?
gui_addnsub_ multiplier_sclr 3
EZER SCLR0 SCLR1
Polaritatea gaitu `use_subadd'
gui_use_subn Aktibatuta
gehitu
Desaktibatuta
8.6.3. Biderkatzaileak fitxa
32. taula. Biderkatzaileak fitxa
Parametroa
Sortutako IP parametroa
Balioa
Zer da
gui_represent
irudikapen formatua ation_a
Multipliers A inputetarako?
SINATU, SINATU GABE, ALDAGAIA
Erregistratu `signa' sarrera
gui_register_s Aktibatuta
igna
Desaktibatuta
Zein da erlojuaren sarrerarako iturria?
gui_register_s igna_clock
Erlojua0 Erlojua1 Erlojua2
Zein da sarrera argi asinkronoaren iturria?
gui_register_s igna_aclr
EZER ACLR0 ACLR1
Zein da sarrera argi sinkronoaren iturria?
gui_register_s igna_sclr
EZER SCLR0 SCLR1
Zer da
gui_represent
irudikapen formatua ation_b
Multipliers B sarreretarako?
SINATU, SINATU GABE, ALDAGAIA
Erregistratu `signb' sarrera
gui_register_s Aktibatuta
ignb
Desaktibatuta
Balio lehenetsia EZER
EZER
Deskribapena
addnsub3 erregistrorako iturri garbi asinkronoa zehazten du. Parametro hau gaitzeko, Erregistratu 'addnsub3' sarrera hautatu behar duzu.
addnsub3 erregistrorako iturri garbi sinkronoa zehazten du. Parametro hau gaitzeko Erregistratu 'addnsub3' sarrera hautatu behar duzu.
Desaktibatuta
Hautatu aukera hau funtzioa alderantzikatzeko
addnsub sarrerako ataka.
Gidatu gehigarria altuera kenketa eragiketa egiteko.
Gidatu addnsub baxura gehitzeko eragiketa egiteko.
Balio lehenetsia
Deskribapena
UNSIGNED Zehaztu A sarrera biderkatzailearen irudikapen formatua.
Desaktibatuta
Hautatu aukera hau seinalea gaitzeko
erregistratu.
Aldagaiaren balioa hautatu behar duzu. Zein da Multipliers A sarreretarako irudikapen formatua? aukera hau gaitzeko parametroa.
Erlojua0
Hautatu Clock0 , Clock1 edo Clock2 seinale erregistrorako sarrerako erlojuaren seinalea gaitzeko eta zehazteko.
Parametro hau gaitzeko Erregistratu `signa' sarrera hautatu behar duzu.
EZER
Seina erregistrorako iturri garbi asinkronoa zehazten du.
Parametro hau gaitzeko Erregistratu `signa' sarrera hautatu behar duzu.
EZER
Seina erregistrorako iturri garbi sinkronoa zehazten du.
Parametro hau gaitzeko Erregistratu `signa' sarrera hautatu behar duzu.
SINATU GABE Zehaztu B biderkatzailearen sarrerarako irudikapen formatua.
Desaktibatuta
Hautatu aukera hau Signb gaitzeko
erregistratu.
jarraitu…
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 49
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parametroa
Sortutako IP parametroa
Balioa
Balio lehenetsia
Zein da erlojuaren sarrerarako iturria?
gui_register_s ignb_clock
Erlojua0 Erlojua1 Erlojua2
Erlojua0
Zein da sarrera argi asinkronoaren iturria?
gui_register_s ignb_aclr
EZER ACLR0 ACLR1
Zein da sarrera argi sinkronoaren iturria?
gui_register_s ignb_sclr
EZER SCLR0 SCLR1
Sarreraren konfigurazioa
Erregistratu biderkatzailearen A sarrera
Zein da erlojuaren sarrerarako iturria?
gui_input_reg Aktibatuta
ister_a
Desaktibatuta
gui_input_reg ister_a_clock
Erlojua0 Erlojua1 Erlojua2
EZER EZ
Off Erlojua0
Zein da sarrera argi asinkronoaren iturria?
gui_input_reg ister_a_aclr
EZER ACLR0 ACLR1
Zein da sarrera argi sinkronoaren iturria?
gui_input_reg ister_a_sclr
EZER SCLR0 SCLR1
Erregistratu biderkatzailearen B sarrera
Zein da erlojuaren sarrerarako iturria?
gui_input_reg Aktibatuta
ister_b
Desaktibatuta
gui_input_reg ister_b_clock
Erlojua0 Erlojua1 Erlojua2
EZER EZER EZ Erlojua desaktibatuta
Zein da sarrera argi asinkronoaren iturria?
gui_input_reg ister_b_aclr
EZER ACLR0 ACLR1
EZER
Zein da sarrera argi sinkronoaren iturria?
gui_input_reg ister_b_sclr
EZER SCLR0 SCLR1
EZER
Zertara dago konektatuta biderkatzailearen A sarrera?
gui_multiplier Biderkatzailea sarrera Biderkatzailea
_a_sarrera
Eskaneatu katearen sarrerako sarrera
Deskribapena
Balio ALDAGAIA hautatu behar duzu. Zein da Multipliers B sarreretarako irudikapen formatua? aukera hau gaitzeko parametroa.
Hautatu Erlojua0 , Erlojua1 edo Erlojua2 seinalearen erregistrorako sarrerako erlojuaren seinalea gaitzeko eta zehazteko. Parametro hau gaitzeko Erregistratu `signb' sarrera hautatu behar duzu.
Signb erregistrorako iturri garbi asinkronoa zehazten du. Parametro hau gaitzeko Erregistratu `signb' sarrera hautatu behar duzu.
Signb erregistrorako iturri garbi sinkronoa zehazten du. Parametro hau gaitzeko Erregistratu `signb' sarrera hautatu behar duzu.
Hautatu aukera hau sarrera-erregistroa gaitzeko datuen sarrera-buserako.
Hautatu Clock0 , Clock1 edo Clock2 datuen sarrerako buserako erregistroko sarrerako erlojuaren seinalea gaitzeko eta zehazteko. Parametro hau gaitzeko, biderkatzailearen A erregistratu sarrera hautatu behar duzu.
Datuen sarrerako buserako erregistro asinkronoaren iturri garbia zehazten du. Parametro hau gaitzeko, biderkatzailearen A erregistratu sarrera hautatu behar duzu.
Datu-sarrerako buserako erregistro-iturburu garbi sinkronoa zehazten du. Parametro hau gaitzeko, biderkatzailearen A erregistratu sarrera hautatu behar duzu.
Hautatu aukera hau datu-sarrerako buserako sarrera-erregistroa gaitzeko.
Hautatu Erlojua0 , Erlojua1 edo Erlojua2 datu-sarrerako buserako erregistroko sarrerako erlojuaren seinalea gaitzeko eta zehazteko. Parametro hau gaitzeko, biderkatzailearen B sarrera erregistratu hautatu behar duzu.
Datu-sarrera-buserako erregistro asinkronoaren iturri garbia zehazten du. Parametro hau gaitzeko, biderkatzailearen B sarrera erregistratu hautatu behar duzu.
Datu-sarrera-busaren erregistro-iturburu garbi sinkronoa zehazten du. Parametro hau gaitzeko, biderkatzailearen B sarrera erregistratu hautatu behar duzu.
Aukeratu biderkatzailearen A sarrerarako sarrera-iturria.
jarraitu…
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 50
Bidali Iritzia
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parametroa
Sortutako IP parametroa
Balioa
Eskaneatu A Erregistroaren konfigurazioa
Erregistratu eskaneatu katearen irteera
gui_scanouta On
_erregistratu
Desaktibatuta
Zein da erlojuaren sarrerarako iturria?
gui_scanouta _register_cloc k
Erlojua0 Erlojua1 Erlojua2
Zein da sarrera argi asinkronoaren iturria?
gui_scanouta _register_aclr
EZER ACLR0 ACLR1
Zein da sarrera argi sinkronoaren iturria?
gui_scanouta _register_sclr
EZER SCLR0 SCLR1
8.6.4. Iragarkia fitxa
33. taula. Preadder fitxa
Parametroa
Sortutako IP parametroa
Balioa
Hautatu preadder modua
predder_mo de
SIMPLE, KOEF, SARRERA, KARAUA, KONSTANTUA
Balio lehenetsia
Deskribapena
Hautatu Sarrera biderkatzailea datuen sarrera-busa biderkatzailearen iturri gisa erabiltzeko. Hautatu Eskaneatu katearen sarrera eskaneatzeko sarrera-busa biderkatzailearen iturri gisa erabiltzeko eta eskaneatzeko irteera-busa gaitzeko. Parametro hau erabilgarri dago 2, 3 edo 4 hautatzen duzunean. Zein da biderkagai kopurua? parametroa.
Erlojua desaktibatuta0 EZER EZ
Hautatu aukera hau scanouta irteera-buserako irteera-erregistroa gaitzeko.
Scan chain input hautatu behar duzu Zertara konektatuta dago biderkatzailearen A sarrera? aukera hau gaitzeko parametroa.
Hautatu Erlojua0 , Erlojua1 edo Erlojua2 eskanutako irteera-buserako erregistroko sarrerako erlojuaren seinalea gaitzeko eta zehazteko.
Eskaneatu katearen parametroaren Erregistratu irteera aktibatu behar duzu aukera hau gaitzeko.
Scanouta irteera-busaren erregistro asinkronoaren iturri garbia zehazten du.
Eskaneatu katearen parametroaren Erregistratu irteera aktibatu behar duzu aukera hau gaitzeko.
Scanouta irteera-busaren erregistro-iturburu garbi sinkronoa zehazten du.
Eskaneatu katearen parametroaren Erregistratu irteera hautatu behar duzu aukera hau gaitzeko.
Balio lehenetsia
SINPLEA
Deskribapena
Preadder moduluaren funtzionamendu modua zehazten du. SIMPLE: Modu honek iragarlea saihesten du. Hau da modu lehenetsia. COEF: Modu honek preadder eta coefsel sarrera-busaren irteera erabiltzen du biderkatzailearen sarrera gisa. INPUT: Modu honek preadder eta datac sarrerako busaren irteera erabiltzen du biderkatzailearen sarrera gisa. SQUARE: Modu honek predikatzailearen irteera erabiltzen du biderkatzailearen sarrera gisa.
jarraitu…
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 51
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parametroa
Sortutako IP parametroa
Balioa
Hautatu iragarkiaren norabidea
gui_preadder ADD,
_norabidea
AZPI
Zenbateko zabalera izan behar dute C width_c sarrera-busek?
1-256
Datu C Sarrera Erregistroaren konfigurazioa
Erregistratu datuen sarrera
gui_datac_inp Aktibatuta
ut_erregistratu
Desaktibatuta
Zein da erlojuaren sarrerarako iturria?
gui_datac_inp ut_register_cl ock
Erlojua0 Erlojua1 Erlojua2
Zein da sarrera argi asinkronoaren iturria?
gui_datac_inp ut_register_a clr
EZER ACLR0 ACLR1
Zein da sarrera argi sinkronoaren iturria?
gui_datac_inp ut_register_sc lr
EZER SCLR0 SCLR1
Koefizienteak
Zenbateko zabalera izan behar du koefaren zabalerak?
zabalera_koef
1-27
Koef Erregistroaren konfigurazioa
Erregistratu koefselaren sarrera
gui_coef_regi On
ster
Desaktibatuta
Zein da erlojuaren sarrerarako iturria?
gui_coef_regi ster_clock
Erlojua0 Erlojua1 Erlojua2
Balio lehenetsia
GEHITU
16
Deskribapena
KONSTANTUA: Modu honek datu-sarrerako bus bat erabiltzen ditu, aitzindaria saihestuta eta koefsel sarrera-busa biderkatzailearen sarrera gisa.
Aurreragailuaren funtzionamendua zehazten du. Parametro hau gaitzeko, hautatu hauxe hautatu iragarlea modurako: · COEF · INPUT · SQUARE edo · CONSTANT
C sarrerako buserako bit kopurua zehazten du. Parametro hau gaitzeko, INPUT hautatu behar duzu Hautatu predikatzaile moduan.
Erlojuan0 EZER EZ
Hautatu aukera hau sarrera-erregistroa gaitzeko datac sarrera-buserako. Aukera hau gaitzeko INPUT ezarri behar duzu Hautatu preadder modua parametroa.
Hautatu Clock0 , Clock1 edo Clock2 datac sarrerako erregistrorako sarrerako erlojuaren seinalea zehazteko. Parametro hau gaitzeko, hautatu Registrar datac input.
Datac sarrerako erregistrorako iturri garbi asinkronoa zehazten du. Parametro hau gaitzeko, hautatu Registrar datac input.
Datac sarrerako erregistrorako iturri garbi sinkronoa zehazten du. Parametro hau gaitzeko, hautatu Registrar datac input.
18
Bit kopurua zehazten du
coefsel sarrera-busa.
Parametro hau gaitzeko, COEF edo CONSTANT hautatu behar duzu predader modurako.
Erlojuan0
Hautatu aukera hau sarrera-erregistroa gaitzeko koefsel sarrera-buserako. Parametro hau gaitzeko, COEF edo CONSTANT hautatu behar duzu predader modurako.
Hautatu Clock0 , Clock1 edo Clock2 sarrerako erlojuaren seinalea zehazteko koefsel sarrerako erregistrorako. Parametro hau gaitzeko Erregistratu koefsel sarrera hautatu behar duzu.
jarraitu…
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 52
Bidali Iritzia
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parametroa
Zein da sarrera argi asinkronoaren iturria?
Sortutako IP parametroa
Balioa
gui_coef_regi ster_aclr
EZER ACLR0 ACLR1
Zein da sarrera argi sinkronoaren iturria
gui_coef_regi ster_sclr
EZER SCLR0 SCLR1
Koefizientea_0 Konfigurazioa
koef0_0 koef0_7
0x00000 0xFFFFFFF
Koefizientea_1 Konfigurazioa
koef1_0 koef1_7
0x00000 0xFFFFFFF
Koefizientea_2 Konfigurazioa
koef2_0 koef2_7
0x00000 0xFFFFFFF
Koefizientea_3 Konfigurazioa
koef3_0 koef3_7
0x00000 0xFFFFFFF
8.6.5. Metagailua fitxa
34. taula. Metagailuen fitxa
Parametroa
Sortutako IP parametroa
Balioa
Gaitu metagailua?
metagailu
BAI EZ
Zein da metagailuaren eragiketa mota?
accum_directi GEHITU,
on
AZPI
Balio lehenetsia EZER
EZER
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0
Deskribapena
Coefsel sarrera-erregistrorako iturri garbi asinkronoa zehazten du. Parametro hau gaitzeko Erregistratu koefsel sarrera hautatu behar duzu.
Coefsel sarrera-erregistrorako iturri garbi sinkronoa zehazten du. Parametro hau gaitzeko Erregistratu koefsel sarrera hautatu behar duzu.
Lehen biderkatzaile honen koefizienteen balioak zehazten ditu. Bit-kopuruak zehazten denaren berdina izan behar du Zenbaterainoko zabalera izan behar du koefaren zabalerak? parametroa. Parametro hau gaitzeko, COEF edo CONSTANT hautatu behar duzu predader modurako.
Bigarren biderkatzaile honen koefizienteen balioak zehazten ditu. Bit-kopuruak zehazten denaren berdina izan behar du Zenbaterainoko zabalera izan behar du koefaren zabalerak? parametroa. Parametro hau gaitzeko, COEF edo CONSTANT hautatu behar duzu predader modurako.
Hirugarren biderkatzaile honen koefizienteen balioak zehazten ditu. Bit-kopuruak zehazten denaren berdina izan behar du Zenbaterainoko zabalera izan behar du koefaren zabalerak? parametroa. Parametro hau gaitzeko, COEF edo CONSTANT hautatu behar duzu predader modurako.
Laugarren biderkatzaile honen koefizienteen balioak zehazten ditu. Bit-kopuruak zehazten denaren berdina izan behar du Zenbaterainoko zabalera izan behar du koefaren zabalerak? parametroa. Parametro hau gaitzeko, COEF edo CONSTANT hautatu behar duzu predader modurako.
Balio lehenetsia NO
GEHITU
Deskribapena
Hautatu BAI metagailua gaitzeko. Metagailu-funtzioa erabiltzen duzunean, erregistratu batugailuaren irteera hautatu behar duzu.
Metagailuaren funtzionamendua zehazten du: · ADD batuketa eragiketa egiteko · SUB kenketa eragiketa egiteko. BAI hautatu behar duzu Gaitu metagailua? aukera hau gaitzeko parametroa.
jarraitu…
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 53
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parametroa
Preload Constant Gaitu aurrekarga konstantea
Sortutako IP parametroa
Balioa
gui_ena_prelo On
ad_const
Desaktibatuta
Zertara dago konektatuta pilatutako atakaren sarrera?
gui_accumula ACCUM_SLOAD, te_port_select SLOAD_ACCUM
Hautatu aurrekargatzeko loadconst_val 0 - 64 balioa
konstantea
ue
Zein da erlojuaren sarrerarako iturria?
gui_accum_sl oad_register_ erlojua
Erlojua0 Erlojua1 Erlojua2
Zein da sarrera argi asinkronoaren iturria?
gui_accum_sl oad_register_ aclr
EZER ACLR0 ACLR1
Zein da sarrera argi sinkronoaren iturria?
gui_accum_sl oad_register_ sclr
EZER SCLR0 SCLR1
Gaitu metagailu bikoitza
gui_double_a On
ccum
Desaktibatuta
Balio lehenetsia
Deskribapena
Desaktibatuta
Gaitu accum_sload edo
sload_accum seinaleak eta erregistro sarrera
sarrera dinamikoki hautatzeko
metagailua.
accum_sload baxua edo sload_accum denean, biderkatzailearen irteera metagailura sartzen da.
accum_sload altua edo sload_accum denean, erabiltzaileak zehaztutako aurrekarga-konstante bat metagailura sartzen da.
BAI hautatu behar duzu Gaitu metagailua? aukera hau gaitzeko parametroa.
ACCUM_SL OAD
accum_sload/ sload_accum seinalearen portaera zehazten du.
ACCUM_SLOAD: Gidatu accum_sload baxuan irteera biderkatzailea metagailura kargatzeko.
SLOAD_ACCUM: Gidatu sload_accum altuera biderkatzailearen irteera metagailura kargatzeko.
Parametro hau gaitzeko Gaitu aurrekarga konstantea aukera hautatu behar duzu.
64
Zehaztu aurrez ezarritako balio konstantea.
Balio hau 2N izan daiteke, non N aurrez ezarritako balio konstantea den.
N=64 denean, zero konstantea adierazten du.
Parametro hau gaitzeko Gaitu aurrekarga konstantea aukera hautatu behar duzu.
Erlojua0
Hautatu Clock0 , Clock1 edo Clock2 accum_sload/sload_accum erregistrorako sarrerako erlojuaren seinalea zehazteko.
Parametro hau gaitzeko Gaitu aurrekarga konstantea aukera hautatu behar duzu.
EZER
accum_sload/sload_accum erregistrorako iturri garbi asinkronoa zehazten du.
Parametro hau gaitzeko Gaitu aurrekarga konstantea aukera hautatu behar duzu.
EZER
accum_sload/sload_accum erregistrorako iturri garbi sinkronoa zehazten du.
Parametro hau gaitzeko Gaitu aurrekarga konstantea aukera hautatu behar duzu.
Desaktibatuta
Metagailu bikoitzaren erregistroa gaitzen du.
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 54
Bidali Iritzia
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
8.6.6. Sistolikoa/Chainout fitxa
35. taula. Sistoliko/Chainout Adder fitxa
Parametroa Gaitu kateatze gehigarria
Sortutako IP parametroa
Balioa
chainout_add BAI,
er
EZ
Zein da kateatze gehigarriaren eragiketa mota?
chainout_add ADD,
er_norabidea
AZPI
Gaitu `ezeztatu' sarrera katearen gehigarrirako?
Portua_ezeztatu
PORT_USED, PORT_UNUSED
"Ezeztatu" sarrera erregistratu? ezeztatu_erregistroa er
ERREGISTRATU GABE, CLOCK0, CLOCK1, CLOCK2, CLOCK3
Zein da sarrera argi asinkronoaren iturria?
ezeztatu_aclr
EZER ACLR0 ACLR1
Zein da sarrera argi sinkronoaren iturria?
ezeztatu_sclr
EZER SCLR0 SCLR1
Atzerapen Sistolikoa
Gaitu atzerapen sistolikoaren erregistroak
gui_sistolic_d On
ELAY
Desaktibatuta
Zein da erlojuaren sarrerarako iturria?
gui_systolic_d CLOCK0,
elay_erlojua
ERLOIA1,
Balio lehenetsia
EZ
Deskribapena
Hautatu BAI chainout gehigarri modulua gaitzeko.
GEHITU
Chainout gehigarriaren eragiketa zehazten du.
Kenketa eragiketa egiteko, SIGNED hautatu behar da. Zein da Multipliers A sarreretarako irudikapen formatua? eta Zein da Multipliers B sarreretarako irudikapen formatua? Biderkatzaileak fitxan.
PORT_UN ERABILITA
Hautatu PORT_USED ezezko sarrera-seinalea gaitzeko.
Parametro hau baliogabea da kateatze gehigarria desgaituta dagoenean.
ERREGISTRATU ERED
Sarrera-erregistroa ezeztatze-sarrerako seinalea gaitzeko eta ezeztapen-erregistrorako sarrerako erloju-seinalea zehazten du.
Hautatu REGISTRATEGIA ezeztatzeko sarrera erregistroa behar ez bada
Parametro hau baliogabea da hautatzen duzunean:
· EZ Gaitu kateatze gehitzailea edo
· PORT_UNUSED Gaitu "ezeztatu" sarrera kate-sarrerako gehigarrirako? parametroa edo
EZER
Ezezko erregistrorako iturri garbi asinkronoa zehazten du.
Parametro hau baliogabea da hautatzen duzunean:
· EZ Gaitu kateatze gehitzailea edo
· PORT_UNUSED Gaitu "ezeztatu" sarrera kate-sarrerako gehigarrirako? parametroa edo
EZER
Ezezko erregistrorako iturri garbi sinkronoa zehazten du.
Parametro hau baliogabea da hautatzen duzunean:
· EZ Gaitu kateatze gehitzailea edo
· PORT_UNUSED Gaitu "ezeztatu" sarrera kate-sarrerako gehigarrirako? parametroa edo
Desaktibatuta CLOCK0
Hautatu aukera hau modu sistolikoa gaitzeko. Parametro hau erabilgarri dago 2 edo 4 hautatzen duzunean. Zein da biderkagai kopurua? parametroa. Atzerapen sistolikoaren erregistroak erabiltzeko batutzailearen unitatearen Erregistro irteera gaitu behar duzu.
Atzerapen sistolikoaren erregistrorako sarrerako erlojuaren seinalea zehazten du.
jarraitu…
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 55
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parametroa
Sortutako IP parametroa
Balioa
ERLOIA2,
Zein da sarrera argi asinkronoaren iturria?
gui_systolic_d elay_aclr
EZER ACLR0 ACLR1
Zein da sarrera argi sinkronoaren iturria?
gui_systolic_d elay_sclr
EZER SCLR0 SCLR1
Balio lehenetsia
EZER
EZER
Deskribapena
Aukera hau gaitzeko gaitu behar duzu atzerapen sistolikoaren erregistroak gaitu.
Atzerapen sistolikoaren erregistrorako iturri garbi asinkronoa zehazten du. Aukera hau gaitzeko gaitu behar duzu atzerapen sistolikoaren erregistroak gaitu.
Atzerapen sistolikoaren erregistrorako iturri garbi sinkronoa zehazten du. Aukera hau gaitzeko gaitu behar duzu atzerapen sistolikoaren erregistroak gaitu.
8.6.7. Pipelinen fitxa
36. taula. Pipelinen fitxa
Parametro Pipelinen konfigurazioa
Sortutako IP parametroa
Balioa
Sarrerari kanalizazio erregistroa gehitu nahi al diozu?
gui_pipelining Ez, bai
Balio lehenetsia
Ez
Mesedez, zehaztu
latentzia
latentzia-erloju kopurua
zikloak
0 baino 0 handiagoa den edozein balio
Zein da erlojuaren sarrerarako iturria?
gui_input_late ncy_clock
CLOCK0, CLOCK1, CLOCK2
Zein da sarrera argi asinkronoaren iturria?
gui_input_late ncy_aclr
EZER ACLR0 ACLR1
Zein da sarrera argi sinkronoaren iturria?
gui_input_late ncy_sclr
EZER SCLR0 SCLR1
ERLOIA0 EZER EZ
Deskribapena
Hautatu Bai sarrerako seinaleetarako kanalizazio-erregistro maila gehigarri bat gaitzeko. 0 baino balio handiagoa zehaztu behar duzu Mesedez, zehaztu latentzia-erlojuaren ziklo-kopurua parametrorako.
Erloju-zikloetan nahi den latentzia zehazten du. Kanalizazio-erregistroaren maila bat = 1 latentzia erloju-zikloan. BAI hautatu behar duzu Sarrerari kanalizazio-erregistroa gehitu nahi al diozu? aukera hau gaitzeko.
Hautatu Clock0 , Clock1 edo Clock2 kanalizazio-erregistroaren sarrerako erlojuaren seinalea gaitzeko eta zehazteko. BAI hautatu behar duzu Sarrerari kanalizazio-erregistroa gehitu nahi al diozu? aukera hau gaitzeko.
Erregistro asinkronoaren iturri garbia zehazten du kanalizazio-erregistro gehigarrirako. BAI hautatu behar duzu Sarrerari kanalizazio-erregistroa gehitu nahi al diozu? aukera hau gaitzeko.
Erregistro sinkronoaren iturri garbia zehazten du kanalizazio-erregistro gehigarrirako. BAI hautatu behar duzu Sarrerari kanalizazio-erregistroa gehitu nahi al diozu? aukera hau gaitzeko.
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 56
Bidali Iritzia
683490 | 2020.10.05/XNUMX/XNUMX Bidali iritzia
9. ALTMEMMULT (Memorian oinarritutako koefiziente konstanteen biderkatzailea) IP Core
Arreta:
Intel-ek IP honen euskarria kendu du Intel Quartus Prime Pro Edition 20.3 bertsioan. Zure diseinuko IP nukleoak Intel Quartus Prime Pro Edition-ko gailuak bideratzen baditu, IP-a LPM_MULT Intel FPGA IP-rekin ordezkatu dezakezu edo IP-a birsortu eta zure diseinua Intel Quartus Prime Standard Edition softwarearekin konpilatu dezakezu.
ALTMEMMULT IP nukleoa memorian oinarritutako biderkatzaileak sortzeko erabiltzen da Intel FPGAetan aurkitzen diren onchip memoria blokeak erabiliz (M512, M4K, M9K eta MLAB memoria blokeekin). IP nukleo hau erabilgarria da baliabide nahikorik ez baduzu biderkatzaileak elementu logikoetan (LE) edo baliabide biderkatzaile dedikatuetan ezartzeko.
ALTMEMMULT IP nukleoa erloju bat behar duen funtzio sinkronoa da. ALTMEMMULT IP nukleoak parametro eta zehaztapen multzo jakin baterako errendimendu eta latentzia txikiena duen biderkatzailea ezartzen du.
Hurrengo irudian ALTMEMMULT IP nukleoaren atakak erakusten dira.
21. Irudia ALTMEMMULT Portuak
ALTMEMMULT
data_in[] sload_data koeff_in[]
emaitza[] emaitza_baliozko karga_eginda
sload_coeff
sclr erlojua
inst
Lotutako informazioa Ezaugarriak 71. orrialdean
9.1. Ezaugarriak
ALTMEMMULT IP nukleoak ezaugarri hauek eskaintzen ditu: · Memorian oinarritutako biderkagailuak soilik sortzen ditu txiparen memoria blokeak erabiliz.
Intel FPGAak · 1 biteko datu-zabalera onartzen du · Sinatutako eta sinatu gabeko datuen irudikapen formatua onartzen du · Irteerako latentzia finkoarekin kanalizazioa onartzen du
Intel Corporation. Eskubide guztiak erreserbatuak. Intel, Intel logotipoa eta beste Intel marka Intel Corporation edo bere filialen marka komertzialak dira. Intel-ek bere FPGA eta erdieroaleen produktuen errendimendua bermatzen du uneko zehaztapenekin, Intel-en berme estandarraren arabera, baina edozein unetan edozein produktu eta zerbitzutan aldaketak egiteko eskubidea gordetzen du jakinarazi gabe. Intel-ek ez du bere gain hartzen hemen deskribatutako edozein informazio, produktu edo zerbitzuren aplikazio edo erabileratik eratorritako erantzukizunik edo erantzukizunik, Intel-ek idatziz berariaz hitzartutakoa izan ezik. Intel-eko bezeroei gomendatzen zaie gailuaren zehaztapenen azken bertsioa eskuratzea argitaratutako edozein informaziotan oinarritu aurretik eta produktu edo zerbitzuen eskaerak egin aurretik. *Beste izen eta markak beste batzuen jabetza direla erreklamatu daitezke.
ISO 9001:2015 Erregistratua
9. ALTMEMMULT (Memorian oinarritutako koefiziente konstanteen biderkatzailea) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
· Konstante anitz gordetzen ditu ausazko sarbideko memorian (RAM)
· RAM bloke mota hautatzeko aukera eskaintzen du
· Aukerako argi eta karga-kontroleko sarrera-portuak sinkronoak onartzen ditu
9.2. Verilog HDL prototipoa
Hurrengo Verilog HDL prototipoa Verilog Design-en dago File (.v) altera_mf.v in eda sintesi direktorioa.
modulua altmemmult #( parametroa coeff_representation = “SIGNED”, parametroa koefiziente0 = “UNUSED”, parametroa data_representation = “SIGNED”, parametroa target_device_family = “ezed”, parametroa max_clock_cycles_per_result = 1, parametroa_koefiziente_zenbakia, parametroa = “AUT_block”, parametroa = “AUT_1_ total_latency = 1, parametroa width_c = 1, parametroa width_d = 1, parametroa width_r = 1, parametroa width_s = 1, parametroa lpm_type = "altmemmult", parametroa lpm_hint = "ez da erabili") (sarrerako hari-erlojua, sarrerako hari bat [width_c-1): 0]coeff_in, sarrerako kablea [width_d-1:0] data_in, irteerako haria load_done, irteerako haria [width_r-1:0] emaitza, irteerako hariaren emaitza_valida, sarrerako haria sclr, sarrerako haria [width_s-1:0] sel, sarrera wire sload_coeff, input wire sload_data)/* sintesi syn_black_box=1 */; amaierako modulua
9.3. VHDL osagaien adierazpena
VHDL osagaien adierazpena VHDL diseinuan dago File (.vhd) altera_mf_components.vhd atalean librariesvhdlaltera_mf direktorioa.
component altmemmult generic ( koeff_representation:string := “SIGNED”; koefiziente0:string := “EZ ERABILI”; data_representation:string := “SIGNED”; asmoa_device_family:string := “ezed”; max_clock_cycles_per_result:natural := 1; := 1; ram_block_type:string := “AUTO”; latentzia_totala:naturala; width_c:natural; width_d:natural; width_r:naturala; width_s:natural := 1; lpm_hint:string := “UNUSED”; lpm_type:string := "altmemmult"); port (erlojua: std_logic-en; koeff_in: std_logic_vector-en (width_c-1 down to 0) := (besteak => '0'); data_in: in std_logic_vector (width_d-1 down to 0);
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 58
Bidali Iritzia
9. ALTMEMMULT (Memorian oinarritutako koefiziente konstanteen biderkatzailea) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
load_done: out std_logic; emaitza: out std_logic_vector (zabalera_r-1 0raino); result_valid:out std_logic; sclr: in std_logic := '0'; sel:in std_logic_vector(width_s-1 down to 0) := (besteak => '0'); sload_coeff: in std_logic := '0'; sload_data: in std_logic := '0'); amaierako osagaia;
9.4. Portuak
Ondorengo tauletan ALTMEMMULT IP nukleoaren sarrera eta irteera atakak zerrendatzen dira.
37. Taula. ALTMEMMULT Sarrerako Portuak
Portuaren izena
Beharrezkoa
Deskribapena
erlojua
Bai
Erlojuaren sarrera biderkatzaileari.
koeff_in[]
Ez
Biderkatzailearen sarrerako koefizientea. Sarrerako atakaren tamaina WIDTH_C parametroaren balioaren araberakoa da.
datuak_in[]
Bai
Datuak sartzeko ataka biderkatzaileari. Sarrerako atakaren tamaina WIDTH_D parametroaren balioaren araberakoa da.
sclr
Ez
Sarrera garbi sinkronikoa. Erabiltzen ez bada, balio lehenetsia altua da.
sal[]
Ez
Koefiziente finkoa hautatzea. Sarrerako atakaren tamaina WIDTH_S-ren araberakoa da
parametroaren balioa.
sload_coeff
Ez
Karga-koefiziente sinkronoaren sarrerako ataka. Uneko hautatutako koefizientearen balioa coeff_in sarreran zehaztutako balioarekin ordezkatzen du.
sload_data
Ez
Karga sinkronikoko datuak sartzeko ataka. Biderketa eragiketa berria zehazten duen eta lehendik dagoen biderketa eragiketa guztiak bertan behera uzten dituen seinalea. MAX_CLOCK_CYCLES_PER_RESULT parametroak 1eko balioa badu, sload_data sarrerako ataka ez da aintzat hartuko.
38. Taula. ALTMEMMULT Irteera Portuak
Portuaren izena
Beharrezkoa
Deskribapena
emaitza[]
Bai
Biderkatzailearen irteerako ataka. Sarrerako atakaren tamaina WIDTH_R parametroaren balioaren araberakoa da.
emaitza_baliozkoa
Bai
Irteera biderketa oso baten baliozko emaitza noiz den adierazten du. MAX_CLOCK_CYCLES_PER_RESULT parametroak 1eko balioa badu, result_valid irteerako ataka ez da erabiltzen.
kargatu_eginda
Ez
Koefiziente berria kargatzen noiz amaitu den adierazten du. load_done seinaleak koefiziente berri bat kargatzen amaitzen denean baieztatzen du. load_done seinalea altua izan ezean, ezin da beste koefiziente-baliorik kargatu memorian.
9.5. parametroak
Hurrengo taulan ALTMEMMULT IP nukleoaren parametroak zerrendatzen dira.
39. taula.
WIDTH_D WIDTH_C
ALTMEMMULT Parametroak
Parametroaren izena
Mota Beharrezkoa
Deskribapena
Zenbaki osoa Bai
Data_in[] atakaren zabalera zehazten du.
Zenbaki osoa Bai
Coeff_in[] atakaren zabalera zehazten du. jarraitu…
Bidali Iritzia
Intel FPGA Integer Arithmetic IP Cores Erabiltzailearen Gida 59
9. ALTMEMMULT (Memorian oinarritutako koefiziente konstanteen biderkatzailea) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parametroaren izena WIDTH_R WIDTH
Dokumentuak / Baliabideak
![]() |
intel FPGA Integer Arithmetic IP Nukleoak [pdfErabiltzailearen gida FPGA Osoko IP nukleoak aritmetikoak, IP nukleoak aritmetikoak osoak, IP nukleoak aritmetikoak, IP nukleoak |