FPGA Entjeraj Aritmetikaj IP Kernoj
Intel FPGA Integer Arithmetic IP Cores User Guide
Ĝisdatigita por Intel® Quartus® Prime Design Suite: 20.3
Enreta Versio Sendu Reago
UG-01063
ID: 683490 Versio: 2020.10.05
Enhavo
Enhavo
1. Intel FPGA Entjeraj Aritmetikaj IP Kernoj…………………………………………………………………………….. 5
2. LPM_COUNTER (Nombrilo) IP Kerno………………………………………………………………………………….. 7 2.1. Karakterizaĵoj…………………………………………………………………………………………………………7 2.2. Verilog HDL-Prototipo…………………………………………………………………………………………….. 8 2.3. Deklaracio de VHDL-Komponento……………………………………………………………………………….8 2.4. VHDL LIBRARY_USE Deklaro………………………………………………………………… 9 2.5. Havenoj…………………………………………………………………………………………………………..9 2.6. Parametroj…………………………………………………………………………………………… 10
3. LPM_DIVIDE (Disigilo) Intel FPGA IP Core…………………………………………………………….. 12 3.1. Trajtoj………………………………………………………………………………………………. 12 3.2. Verilog HDL-Prototipo……………………………………………………………………………… 12 3.3. VHDL-Kompozanta Deklaro……………………………………………………………………………….. 13 3.4. VHDL LIBRARY_USE Deklaro…………………………………………………………………. 13 3.5. Havenoj………………………………………………………………………………………………………… 13 3.6. Parametroj…………………………………………………………………………………………… 14
4. LPM_MULT (Multiplikanto) IP Kerno…………………………………………………………………………………………………. 16 4.1. Trajtoj………………………………………………………………………………………………. 16 4.2. Verilog HDL-Prototipo……………………………………………………………………………… 17 4.3. VHDL-Kompozanta Deklaro……………………………………………………………………………….. 17 4.4. VHDL LIBRARY_USE Deklaro…………………………………………………………………. 17 4.5. Signaloj………………………………………………………………………………………………………… 18 4.6. Parametroj por Stratix V, Arria V, Cyclone V, kaj Intel Cyclone 10 LP-Aparatoj…………… 18 4.6.1. Ĝenerala langeto………………………………………………………………………………18 4.6.2. Ĝenerala 2 Langeto……………………………………………………………………………… 19 4.6.3. Pipelining Tab……………………………………………………………………………… 19 4.7. Parametroj por Intel Stratix 10, Intel Arria 10, kaj Intel Cyclone 10 GX-aparatoj……….. 20 4.7.1. Ĝenerala langeto………………………………………………………………………………20 4.7.2. Ĝenerala 2 Langeto……………………………………………………………………………… 20 4.7.3. Dukto…………………………………………………………………………………………………21
5. LPM_ADD_SUB (Aldonanto/Subtraktanto)……………………………………………………………………………… 22 5.1. Trajtoj………………………………………………………………………………………………. 22 5.2. Verilog HDL-Prototipo……………………………………………………………………………… 23 5.3. Deklaracio de VHDL-komponanto………………………………………………………………….. 23 5.4. VHDL LIBRARY_USE Deklaro…………………………………………………………………. 23 5.5. Havenoj………………………………………………………………………………………………………… 23 5.6. Parametroj…………………………………………………………………………………………… 24
6. LPM_COMPARE (Komparilo)……………………………………………………………………………………… 26 6.1. Trajtoj………………………………………………………………………………………………. 26 6.2. Verilog HDL-Prototipo……………………………………………………………………………… 27 6.3. VHDL-Kompozanta Deklaro……………………………………………………………………………….. 27 6.4. VHDL LIBRARY_USE Deklaro…………………………………………………………………. 27 6.5. Havenoj………………………………………………………………………………………………………… 27 6.6. Parametroj…………………………………………………………………………………………… 28
Intel FPGA Integer Arithmetic IP Cores User Guide 2
Sendu Rimarkojn
Enhavo
7. ALTEC (Kodo de Korekto de Eraro: Kodilo/Malĉifrilo) IP Kerno……………………………………………… 30
7.1. Karakterizaĵoj de ALTEC-Kodilo……………………………………………………………………………………..31 7.2. Verilog HDL-Prototipo (ALTECC_ENCODER)……………………………………………………. 32 7.3. Verilog HDL-Prototipo (ALTECC_DECODER)……………………………………………………. 32 7.4. VHDL-Kompozanta Deklaro (ALTECC_ENCODER)……………………………………………33 7.5. VHDL-Kompozanta Deklaro (ALTECC_DECODER)………………………………………………33 7.6. VHDL LIBRARY_USE Deklaro…………………………………………………………………. 33 7.7. Kodigilo-Havenoj………………………………………………………………………………………………………… 33 7.8. Malĉifrilaj Havenoj…………………………………………………………………………………………………34 7.9. Kodigilo-Parametroj……………………………………………………………………………… 34 7.10. Malĉifrilaj Parametroj ……………………………………………………………………………… 35
8. Intel FPGA Multiply Adder IP Core…………………………………………………………………. 36
8.1. Trajtoj………………………………………………………………………………………………. 37 8.1.1. Antaŭ-adiciulo…………………………………………………………………………………………….. 38 8.1.2. Registro de Sistola Prokrasto………………………………………………………………….. 40 8.1.3. Antaŭŝarĝa Konstanto……………………………………………………………………………… 43 8.1.4. Duobla akumulilo……………………………………………………………………………… 43
8.2. Verilog HDL-Prototipo……………………………………………………………………………… 44 8.3. Deklaracio de VHDL-komponanto………………………………………………………………….. 44 8.4. VHDL LIBRARY_USE Deklaro…………………………………………………………………. 44 8.5. Signaloj………………………………………………………………………………………………………… 44 8.6. Parametroj…………………………………………………………………………………………… 47
8.6.1. Ĝenerala Langeto…………………………………………………………………………………47 8.6.2. Klapeto Kromaj Reĝimoj………………………………………………………………………………….. 47 8.6.3. Ojeto de Multiplicadores……………………………………………………………………………….. 49 8.6.4. Prediga langeto………………………………………………………………………………. 51 8.6.5. Akumulilo Tab………………………………………………………………………………….. 53 8.6.6. Sistola/Ĉeneniga langeto………………………………………………………………………………. 55 8.6.7. Langeto Pipelining……………………………………………………………………………… 56
9. ALTMEMMULT (Memo-bazita Konstanta Koeficienta Multipliktilo) IP Kerno………… 57
9.1. Trajtoj………………………………………………………………………………………………. 57 9.2. Verilog HDL-Prototipo……………………………………………………………………………… 58 9.3. Deklaracio de VHDL-komponanto…………………………………………………………………….. 58 9.4. Havenoj………………………………………………………………………………………………………… 59 9.5. Parametroj…………………………………………………………………………………………… 59
10. ALTMULT_ACCUM (Multobla-Akumulo) IP Kerno………………………………………………………… 61
10.1. Trajtoj………………………………………………………………………………………………………….. 62 10.2. Verilog HDL-Prototipo……………………………………………………………………………………………..62 10.3. Deklaro pri VHDL-komponanto………………………………………………………………… 63 10.4. VHDL LIBRARY_USE Deklaro………………………………………………………………………………63 10.5. Havenoj………………………………………………………………………………………………………………………. 63 10.6. Parametroj………………………………………………………………………………………………………………………. 64
11. ALTMULT_ADD (Multobliga-Aldonanto) IP Kerno………………………………………………………………………..69
11.1. Trajtoj………………………………………………………………………………………………………….. 71 11.2. Verilog HDL-Prototipo………………………………………………………………………………………..72 11.3. Deklaracio de VHDL-Komponento………………………………………………………………… 72 11.4. Deklaro pri VHDL LIBRARY_USE…………………………………………………………………72
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 3
Enhavo
11.5. Havenoj………………………………………………………………………………………………………………………. 72 11.6. Parametroj………………………………………………………………………………………………………………………. 73
12. ALTMULT_COMPLEX (Kompleksa Multobligilo) IP Kerno……………………………………………… 86 12.1. Kompleksa Multobligo……………………………………………………………………………………………. 86 12.2. Kanona Reprezento……………………………………………………………………………… 87 12.3. Konvencia Reprezento………………………………………………………………………………. 87 12.4. Trajtoj………………………………………………………………………………………………………….. 88 12.5. Verilog HDL-Prototipo……………………………………………………………………………………………..88 12.6. Deklaracio de VHDL-Komponento………………………………………………………………… 89 12.7. VHDL LIBRARY_USE Deklaro……………………………………………………………………………… 89 12.8. Signaloj……………………………………………………………………………………………………………. 89 12.9. Parametroj………………………………………………………………………………………………………………………. 90
13. ALTSQRT (Entjera Kvadrata Radiko) IP Kerno…………………………………………………………………………92 13.1. Trajtoj………………………………………………………………………………………………………….. 92 13.2. Verilog HDL-Prototipo……………………………………………………………………………………………..92 13.3. Deklaro pri VHDL-Komponento………………………………………………………………… 93 13.4. VHDL LIBRARY_USE Deklaro………………………………………………………………………………93 13.5. Havenoj………………………………………………………………………………………………………………………. 93 13.6. Parametroj………………………………………………………………………………………………………………………. 94
14. PARALLEL_ADD (Paralela Adder) IP Kerno………………………………………………………….. 95 14.1. Karakterizaĵo………………………………………………………………………………………………………….95 14.2. Verilog HDL-Prototipo……………………………………………………………………………………………..95 14.3. Deklaro pri VHDL-Komponento………………………………………………………………… 96 14.4. VHDL LIBRARY_USE Deklaro………………………………………………………………………………96 14.5. Havenoj………………………………………………………………………………………………………………………. 96 14.6. Parametroj………………………………………………………………………………………………………………………. 97
15. Entjera Aritmetika IP Kernoj Uzantgvidilo Dokumentaj Arkivoj………………………………… 98
16. Dokumenta Revizia Historio por Intel FPGA Integer Arithmetic IP Cores User Guide.... 99
Intel FPGA Integer Arithmetic IP Cores User Guide 4
Sendu Rimarkojn
683490 | 2020.10.05 Sendu komentojn
1. Intel FPGA Integer Arithmetic IP Kernoj
Vi povas uzi la Intel® FPGA-entjerajn IP-kernojn por fari matematikajn operaciojn en via dezajno.
Ĉi tiuj funkcioj ofertas pli efikan logikan sintezon kaj aparatan efektivigon ol kodi viajn proprajn funkciojn. Vi povas personecigi la IP-kernojn por alĝustigi viajn dezajnpostulojn.
Intel-entjeraj aritmetikaj IP-kernoj estas dividitaj en la jenajn du kategoriojn: · Biblioteko de parametrizitaj moduloj (LPM) IP-kernoj · Intel-specifaj (ALT) IP-kernoj
La sekva tabelo listigas la entjerajn aritmetikajn IP-kernojn.
Tabelo 1.
Listo de IP Kernoj
IP Kernoj
LPM IP-kernoj
LPM_COUNTER
LPM_DIVIDE
LPM_MULT
LPM_ADD_SUB
LPM_COMPARE
Intel-specifaj (ALT) IP-kernoj ALTEC
Funkcio Finitaview Counter Divider Multiplier
Adder aŭ subtractor Komparilo
ECC Kodigilo/Malĉifrilo
Subtenita Aparato
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 longdisko, 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 longdisko, 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 longdisko, 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 longdisko, 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 daŭrigis...
Intel Corporation. Ĉiuj rajtoj rezervitaj. Intel, la Intel-emblemo kaj aliaj Intel-markoj estas varmarkoj de Intel Corporation aŭ ĝiaj filioj. Intel garantias agadon de siaj FPGA kaj duonkonduktaĵoj laŭ nunaj specifoj konforme al la norma garantio de Intel, sed rezervas la rajton fari ŝanĝojn al ajnaj produktoj kaj servoj iam ajn sen avizo. Intel supozas neniun respondecon aŭ respondecon de la apliko aŭ uzo de ajna informo, produkto aŭ servo priskribita ĉi tie krom kiel eksplicite konsentite skribe de Intel. Intel-klientoj estas konsilitaj akiri la lastan version de aparato-specifoj antaŭ ol fidi je ajnaj publikigitaj informoj kaj antaŭ ol fari mendojn por produktoj aŭ servoj. *Aliaj nomoj kaj markoj povas esti postulataj kiel posedaĵo de aliaj.
ISO 9001:2015 Registrita
1. Intel FPGA Integer Arithmetic IP Kernoj 683490 | 2020.10.05
IP Kernoj Intel FPGA Multiply Adder aŭ ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
ALTSQRT
PARALLEL_ADD
Funkcio Finitaview Multiplier-Adder
Memor-bazita Konstanta Koeficienta Multipliganto
Multiplier-Akumulilo Multiplier-Adder
Kompleksa Multobligilo
Entjera Kvadrato-Radiko
Paralela Adder
Subtenita Aparato
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
Ciklono 10 longdisko, 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 longdisko, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Cyclone IV E, Cyclone IV GX, Intel Cyclone 10 longdisko, 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
Rilataj Informoj
· Intel FPGAs kaj Programable Devices Eldonnotoj
· Enkonduko al Intel FPGA IP Kernoj Provizas pli da informoj pri Intel FPGA IP Kernoj.
· Uzanto-Gvidilo de Floating-Point IP Cores Provizas pli da informoj pri Intel FPGA Floating-Point-IP-kernoj.
· Enkonduko al Intel FPGA IP Kernoj Provizas ĝeneralajn informojn pri ĉiuj Intel FPGA IP-kernoj, inkluzive de parametrigado, generado, ĝisdatigo kaj simulado de IP-kernoj.
· Kreado de Versio-Sendependa IP kaj Qsys Simuladaj Skriptoj Kreu simuladajn skriptojn, kiuj ne postulas manajn ĝisdatigojn por programaro aŭ IP-versiaj ĝisdatigoj.
· Gvidlinioj pri Plej Bonaj Praktikaj Administrado de Projektoj por efika administrado kaj porteblo de via projekto kaj IP files.
· Integer Arithmetic IP Cores User Guide Dokumentaj Arkivoj sur paĝo 98 Disponigas liston de uzantgvidiloj por antaŭaj versioj de la Integer Arithmetic IP-kernoj.
Intel FPGA Integer Arithmetic IP Cores User Guide 6
Sendu Rimarkojn
683490 | 2020.10.05 Sendu komentojn
2. LPM_COUNTER (Nombrilo) IP Kerno
Figuro 1.
La IP-kerno de LPM_COUNTER estas binara nombrilo, kiu kreas suprenajn, malsuprenajn nombrilojn kaj supren aŭ malsuprenajn nombrilojn kun eliroj de ĝis 256 bitoj larĝaj.
La sekva figuro montras la havenojn por la LPM_COUNTER IP-kerno.
LPM_COUNTER Havenoj
LPM_COUNTER
ssclr ŝargi sset-datumojn[]
q[]
supren malsupren
cout
aklr ŝargi aset
clk_en cnt_en cin
inst
2.1. Karakterizaĵoj
La IP-kerno de LPM_COUNTER ofertas la jenajn funkciojn: · Generas supren, malsupren, kaj supren/malsupren nombrilojn · Generas la sekvajn nombrilojn:
— Simpla duuma – la nombrilo pliigas ekde nulo aŭ malpliiĝas ekde 255
— Modulo–la nombrilo pliigas aŭ malpliiĝas de la modula valoro specifita de la uzanto kaj ripetas
· Subtenas laŭvolajn sinkronajn purigi, ŝarĝi kaj agordi enigajn havenojn · Subtenas laŭvolajn nesinkronajn purigi, ŝarĝi kaj agordi enigajn havenojn · Subtenas laŭvolajn kalkulajn ebligajn kaj horloĝajn ebligajn enigajn havenojn · Subtenas laŭvolajn enportajn kaj elportajn havenojn
Intel Corporation. Ĉiuj rajtoj rezervitaj. Intel, la Intel-emblemo kaj aliaj Intel-markoj estas varmarkoj de Intel Corporation aŭ ĝiaj filioj. Intel garantias agadon de siaj FPGA kaj duonkonduktaĵoj laŭ nunaj specifoj konforme al la norma garantio de Intel, sed rezervas la rajton fari ŝanĝojn al ajnaj produktoj kaj servoj iam ajn sen avizo. Intel supozas neniun respondecon aŭ respondecon de la apliko aŭ uzo de ajna informo, produkto aŭ servo priskribita ĉi tie krom kiel eksplicite konsentite skribe de Intel. Intel-klientoj estas konsilitaj akiri la lastan version de aparato-specifoj antaŭ ol fidi je ajnaj publikigitaj informoj kaj antaŭ ol fari mendojn por produktoj aŭ servoj. *Aliaj nomoj kaj markoj povas esti postulataj kiel posedaĵo de aliaj.
ISO 9001:2015 Registrita
2. LPM_COUNTER (Nombrilo) IP Kerno
683490 | 2020.10.05
2.2. Verilog HDL-Prototipo
La sekva Verilog HDL-prototipo situas en la Verilog Dezajno File (.v) lpm.v en la dosierujo edasynthesis.
modulo lpm_counter ( q, datumoj, horloĝo, cin, cout, clk_en, cnt_en, updown, aset, aclr, aload, sset, sclr, sload, eq); parametro lpm_type = “lpm_counter”; parametro lpm_width = 1; parametro lpm_modulo = 0; parametro lpm_direction = "NEUZITA"; parametro lpm_avalue = “NEUZITA”; parametro lpm_svalue = “NEUZITA”; parametro lpm_pvalue = “NEUZITA”; parametro lpm_port_updown = “PORT_CONNECTIVITY”; parametro lpm_hint = "NEUZITA"; eligo [lpm_width-1:0] q; eligo cout; output [15:0] eq; enigo cin; enigi [lpm_width-1:0] datumoj; enigo horloĝo, clk_en, cnt_en, updown; enigo aset, aklr, aload; enigo sset, sclr, sload; finmodulo
2.3. Deklaracio de VHDL Komponanto
La VHDL-komponentdeklaro situas en la VHDL-Dezajno File (.vhd) LPM_PACK.vhd en la dosierujo librariesvhdllpm.
komponanto LPM_COUNTER-genera ( LPM_WIDTH : natura; LPM_MODULUS : natura := 0; LPM_DIRECTION : ĉeno := “NEUZITA”; LPM_AVALUE : ĉeno := “NEUZITA”; LPM_SVALUE : ĉeno := “NEUZITA”; LPM_PORT_UPDOWN: “Ŝnuro:” _CONNECTIVITY:” ; LPM_PVALUE : ĉeno := “NEUZITA”; LPM_TYPE : ĉeno := L_COUNTER; LPM_HINT : ĉeno := “NEUZITA”); haveno (DATUMO: en std_logic_vector (LPM_WIDTH-1 malsupren al 0):= (ALIAJ =>
'0'); HORLOĜO : en std_logiko ; CLK_EN : en std_logic := '1'; CNT_EN : en std_logic := '1'; UPDOWN : en std_logic := '1'; SLOAD : en std_logic := '0'; SSET : en std_logic := '0'; SCLR : en std_logic := '0'; ALOAD : en std_logic := '0'; ASET : en std_logic := '0'; ACLR : en std_logic := '0'; CIN : en std_logic := '1'; COUT : ekster std_logic := '0'; Q : el std_logic_vector (LPM_WIDTH-1 malsupren al 0); EQ : el std_logic_vector (15 malsupren al 0));
fina komponanto;
Intel FPGA Integer Arithmetic IP Cores User Guide 8
Sendu Rimarkojn
2. LPM_COUNTER (Nombrilo) IP Kerno 683490 | 2020.10.05
2.4. VHDL LIBRARY_USE Deklaro
La VHDL LIBRARY-USE-deklaro ne estas bezonata se vi uzas la VHDL-Kompontan Deklaracion.
BIBLIOTECA lpm; UZU lpm.lpm_components.all;
2.5. Havenoj
La sekvaj tabeloj listigas la enigajn kaj eligajn havenojn por la LPM_COUNTER IP-kerno.
Tabelo 2.
LPM_COUNTER Enigaj Pordoj
Haveno Nomo
Bezonata
Priskribo
datumoj[]
Ne
Paralela enigo de datumoj al la nombrilo. La grandeco de la eniga haveno dependas de la LPM_WIDTH parametrovaloro.
horloĝo
Jes
Pozitiva rando-eksigita horloĝo-enigo.
clk_eo
Ne
Horloĝo ebligas enigon por ebligi ĉiujn sinkronajn agadojn. Se ellasita, la defaŭlta valoro estas 1.
cnt_eo
Ne
Kalkulo ebligas enigon por malŝalti la kalkulon kiam asertita malalta sen tuŝi sload, sset aŭ sclr. Se ellasita, la defaŭlta valoro estas 1.
supren malsupren
Ne
Kontrolas la direkton de la kalkulo. Kiam asertita alta (1), la kalkuldirekto estas supren, kaj kiam asertita malalte (0), la kalkuldirekto estas malsupren. Se la parametro LPM_DIRECTION estas uzata, la updown ne povas esti konektita. Se LPM_DIRECTION ne estas uzata, la updown haveno estas laŭvola. Se ellasita, la defaŭlta valoro estas supren (1).
cin
Ne
Kunportu al la malalt-orda bito. Por suprenkalkuliloj, la konduto de la cin-enigo estas
identa al la konduto de la enigaĵo cnt_en. Se ellasita, la defaŭlta valoro estas 1
(VCC).
aklr
Ne
Nesinkrona klara enigo. Se kaj aset kaj aclr estas uzataj kaj asertitaj, aklr superregas aset. Se ellasita, la defaŭlta valoro estas 0 (malŝaltita).
aset
Ne
Nesinkrona aro-enigo. Specifas la q[] eligojn kiel ĉiuj 1s, aŭ al la valoro specifita de la parametro LPM_AVALUE. Se kaj la aset kaj aclr-havenoj estas uzitaj kaj asertitaj, la valoro de la aclr-haveno superregas la valoron de la aset-haveno. Se ellasita, la defaŭlta valoro estas 0, malŝaltita.
ŝarĝo
Ne
Nesinkrona ŝarĝa enigo, kiu nesinkrone ŝarĝas la nombrilon kun la valoro sur la datuma enigo. Kiam la ŝarĝa haveno estas uzata, la datuma [] haveno devas esti konektita. Se ellasita, la defaŭlta valoro estas 0, malŝaltita.
sclr
Ne
Sinkrona klara enigo, kiu purigas la nombrilon sur la sekva aktiva horloĝa rando. Se kaj la sset kaj sclr-havenoj estas uzitaj kaj asertitaj, la valoro de la sclr-haveno superas la valoron de la sset-haveno. Se ellasita, la defaŭlta valoro estas 0, malŝaltita.
aro
Ne
Sinkrona aro enigo kiu metas la nombrilon sur la sekva aktiva horloĝo rando. Specifas la valoron de la q eligoj kiel ĉiuj 1s, aŭ al la valoro specifita de la parametro LPM_SVALUE. Se kaj la sset kaj sclr-havenoj estas uzataj kaj asertitaj,
la valoro de la sclr-haveno superas la valoron de la sset-haveno. Se ellasita, la defaŭlta valoro estas 0 (malŝaltita).
ŝargi
Ne
Sinkrona ŝarĝa enigo, kiu ŝarĝas la nombrilon kun datumoj[] sur la sekva aktiva horloĝa rando. Kiam la sload-haveno estas uzata, la datumoj[]-haveno devas esti konektita. Se ellasita, la defaŭlta valoro estas 0 (malŝaltita).
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 9
2. LPM_COUNTER (Nombrilo) IP Kerno 683490 | 2020.10.05
Tabelo 3.
LPM_COUNTER Eligo-Havenoj
Haveno Nomo
Bezonata
Priskribo
q[]
Ne
Eligo de datumoj de la nombrilo. La grandeco de la eliga haveno dependas de la
LPM_WIDTH parametrovaloro. Aŭ q[] aŭ almenaŭ unu el la eq[15..0] pordoj
devas esti konektita.
eq[15..0]
Ne
Nombrilo malkodi eligo. La haveno eq[15..0] ne estas alirebla en la parametra redaktilo ĉar la parametro nur subtenas AHDL.
Aŭ la q[] haveno aŭ eq[] haveno devas esti konektita. Ĝis c eq-pordoj povas esti uzataj (0 <= c <= 15). Nur la 16 plej malaltaj kalkulvaloroj estas malkoditaj. Kiam la kalkulvaloro estas c, la eqc-produktaĵo estas asertita alta (1). Por ekzample, kiam la kalkulo estas 0, eq0 = 1, kiam la kalkulo estas 1, eq1 = 1, kaj kiam la kalkulo estas 15, eq 15 = 1. Malkodita eligo por kalkulvaloroj de 16 aŭ pli granda postulas eksteran malkodigon. La eq[15..0] eliroj estas nesinkronaj al la q[] eligo.
cout
Ne
Efektiva haveno de la MSB-bito de la nombrilo. Ĝi povas esti uzata por konekti al alia nombrilo por krei pli grandan nombrilon.
2.6. Parametroj
La sekva tabelo listigas la parametrojn por la LPM_COUNTER IP-kerno.
Tabelo 4.
LPM_COUNTER Parametroj
Parametro Nomo
Tajpu
LPM_WIDTH
Entjero
LPM_DIRECTION
Ŝnuro
LPM_MODULUS LPM_AVALUE
Entjero
Entjero/ Ŝnuro
LPM_SVALUE LPM_HINT
Entjero/ Ŝnuro
Ŝnuro
LPM_TYPE
Ŝnuro
Bezonata Jes Ne Ne Ne
Ne Ne
Ne
Priskribo
Specifas la larĝojn de la datumaj [] kaj q[] pordoj, se ili estas uzataj.
Valoroj estas UP, DOWN kaj NEUZATAJ. Se la parametro LPM_DIRECTION estas uzata, la updown ne povas esti konektita. Kiam la updown haveno ne estas konektita, la LPM_DIRECTION parametro defaŭlta valoro estas UP.
La maksimuma kalkulo, plus unu. Nombro de unikaj ŝtatoj en la ciklo de la nombrilo. Se la ŝarĝvaloro estas pli granda ol la parametro LPM_MODULUS, la konduto de la nombrilo ne estas specifita.
Konstanta valoro kiu estas ŝarĝita kiam valoraĵo estas asertita alta. Se la valoro specifita estas pli granda ol aŭ egala al , la konduto de la nombrilo estas nedifinita (X) logika nivelo, kie estas LPM_MODULUS, se ĉeestas, aŭ 2 ^ LPM_WIDTH. Intel rekomendas, ke vi specifu ĉi tiun valoron kiel dekuma nombro por AHDL-dezajnoj.
Konstanta valoro, kiu estas ŝarĝita sur la levrando de la horloĝa haveno kiam la sset-haveno estas asertita alta. Intel rekomendas, ke vi specifu ĉi tiun valoron kiel dekuma nombro por AHDL-dezajnoj.
Kiam vi instancas bibliotekon de parametrizitaj moduloj (LPM) funkcio en VHDL-Dezajno File (.vhd), vi devas uzi la parametron LPM_HINT por specifi Intel-specifan parametron. Por ekzample: LPM_HINT = "CHAIN_SIZE = 8, ONE_INPUT_IS_CONSTANT = YES"
La defaŭlta valoro estas NEUZITA.
Identigas la bibliotekon de parametrizitaj moduloj (LPM) entonomo en VHDL-dezajno files.
daŭrigis…
Intel FPGA Integer Arithmetic IP Cores User Guide 10
Sendu Rimarkojn
2. LPM_COUNTER (Nombrilo) IP Kerno 683490 | 2020.10.05
Parametronomo INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN
Tajpu String String
Ŝnuro
Ŝnuro
Bezonata Ne Ne
Ne
Ne
Priskribo
Ĉi tiu parametro estas uzata por modelaj kaj kondutismaj simuladceloj. Ĉi tiu parametro estas uzata por modelaj kaj kondutismaj simuladceloj. La parametra redaktilo kalkulas la valoron por ĉi tiu parametro.
Intel-specifa parametro. Vi devas uzi la parametron LPM_HINT por specifi la parametron CARRY_CNT_EN en VHDL-dezajno files. Valoroj estas SMART, ON, OFF kaj NEUZATAJ. Ebligas la funkcion LPM_COUNTER disvastigi la cnt_en-signalon tra la portanta ĉeno. En iuj kazoj, la agordo de la parametro CARRY_CNT_EN povus havi iomete efikon sur la rapideco, do vi eble volas malŝalti ĝin. La defaŭlta valoro estas SMART, kiu disponigas la plej bonan kompromison inter grandeco kaj rapideco.
Intel-specifa parametro. Vi devas uzi la parametron LPM_HINT por specifi la parametron LABWIDE_SCLR en VHDL-dezajno files. Valoroj estas ON, OFF aŭ NEUZATAJ. La defaŭlta valoro estas ON. Permesas al vi malŝalti la uzon de la LABwide sclr-funkcio trovita en malnoviĝintaj aparatfamilioj. Malŝalti tiun opcion pliigas la eblecojn de plene uzado de la parte plenigitaj LABoj, kaj tiel povas permesi pli altan logikan densecon kiam SCLR ne validas por kompleta LAB. Ĉi tiu parametro disponeblas por retrokongruo, kaj Intel rekomendas al vi ne uzi ĉi tiun parametron.
Specifas la uzadon de la updown enirhaveno. Se ellasita la defaŭlta valoro estas PORT_CONNECTIVITY. Kiam la porda valoro estas agordita al PORT_USED, la haveno estas traktata kiel uzata. Kiam la porda valoro estas agordita al PORT_UNUSED, la haveno estas traktata kiel neuzata. Kiam la havenvaloro estas agordita al PORT_CONNECTIVITY, la havena uzado estas determinita per kontrolado de la havena konektebleco.
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 11
683490 | 2020.10.05 Sendu komentojn
3. LPM_DIVIDE (Disigilo) Intel FPGA IP Core
Figuro 2.
La LPM_DIVIDE Intel FPGA IP-kerno efektivigas dividilon por dividi numeratoran enigvaloron per denominatora enigvaloro por produkti kvocienton kaj reston.
La sekva figuro montras la havenojn por la LPM_DIVIDE IP-kerno.
LPM_DIVIDE Havenoj
LPM_DIVIDE
numero[] denom[] horloĝo
kvociento[] restas[]
clken aclr
inst
3.1. Karakterizaĵoj
La LPM_DIVIDE IP-kerno ofertas la jenajn funkciojn: · Generas dividilon kiu dividas numeratoran enigvaloron per denominatora enigo
valoro por produkti kvocienton kaj reston. · Elportas datumlarĝon de 1 bitoj. · Subtenas subskribitan kaj nesubskribitan datumformaton por ambaŭ la numeratoro
kaj denominatoraj valoroj. · Subtenas areon aŭ rapidecan optimumigon. · Provizas eblon por specifi pozitivan restan eligon. · Subtenas pipeline agordebla eligo latencia. · Subtenas laŭvolajn nesinkronajn klarajn kaj horloĝajn ebligajn havenojn.
3.2. Verilog HDL-Prototipo
La sekva Verilog HDL-prototipo situas en la Verilog Dezajno File (.v) lpm.v en la dosierujo edasynthesis.
modulo lpm_dividi ( kvociento, resto, numero, nomo, horloĝo, clken, aklr); parametro lpm_type = "lpm_divide"; parametro lpm_widthn = 1; parametro lpm_widthd = 1; parametro lpm_nrepresentation = “SENSEGNITA”; parametro lpm_drepresentation = “SENSEGNITA”; parametro lpm_remainderpositive = “VERA”; parametro lpm_pipeline = 0;
Intel Corporation. Ĉiuj rajtoj rezervitaj. Intel, la Intel-emblemo kaj aliaj Intel-markoj estas varmarkoj de Intel Corporation aŭ ĝiaj filioj. Intel garantias agadon de siaj FPGA kaj duonkonduktaĵoj laŭ nunaj specifoj konforme al la norma garantio de Intel, sed rezervas la rajton fari ŝanĝojn al ajnaj produktoj kaj servoj iam ajn sen avizo. Intel supozas neniun respondecon aŭ respondecon de la apliko aŭ uzo de ajna informo, produkto aŭ servo priskribita ĉi tie krom kiel eksplicite konsentite skribe de Intel. Intel-klientoj estas konsilitaj akiri la lastan version de aparato-specifoj antaŭ ol fidi je ajnaj publikigitaj informoj kaj antaŭ ol fari mendojn por produktoj aŭ servoj. *Aliaj nomoj kaj markoj povas esti postulataj kiel posedaĵo de aliaj.
ISO 9001:2015 Registrita
3. LPM_DIVIDE (Disigilo) Intel FPGA IP Core 683490 | 2020.10.05
parametro lpm_hint = "NEUZITA"; eniga horloĝo; enigo clken; enigo aklr; enigo [lpm_widthn-1:0] nombro; enigo [lpm_widthd-1:0] denom; eligo [lpm_widthn-1:0] kvociento; eligo [lpm_widthd-1:0] restas; finmodulo
3.3. Deklaracio de VHDL Komponanto
La VHDL-komponentdeklaro situas en la VHDL-Dezajno File (.vhd) LPM_PACK.vhd en la dosierujo librariesvhdllpm.
komponanto LPM_DIVIDE ĝenerala (LPM_WIDTHN : natura; LPM_WIDTHD : natura;
LPM_NREPRESENTATION : ĉeno := “SENSEGNITA”; LPM_DREPRESENTATION : ĉeno := “SENSEGNITA”; LPM_PIPELINE : natura := 0; LPM_TYPE : ĉeno := L_DIVIDE; LPM_HINT : ĉeno := “NEUZITA”); haveno (NUMER : en std_logic_vector (LPM_WIDTHN-1 malsupren ĝis 0); DENOM : en std_logic_vector (LPM_WIDTHD-1 malsupren ĝis 0); ACLR : en std_logic := '0'; CLOCK : en std_logic := '0'; CLKEN : en std_logic := '1'; KVENTO : ekstere std_logic_vector (LPM_WIDTHN-1 malsupren al 0); REMAIN : ekstere std_logic_vector (LPM_WIDTHD-1 malsupren al 0)); fina komponanto;
3.4. VHDL LIBRARY_USE Deklaro
La VHDL LIBRARY-USE-deklaro ne estas bezonata se vi uzas la VHDL-Kompontan Deklaracion.
BIBLIOTECA lpm; UZU lpm.lpm_components.all;
3.5. Havenoj
La sekvaj tabeloj listigas la enigajn kaj eligajn havenojn por la LPM_DIVIDE IP-kerno.
Tabelo 5.
LPM_DIVIDE Enigaj Pordoj
Haveno Nomo
Bezonata
nombro[]
Jes
nomo[]
Jes
Priskribo
Enigo de datumoj de numeralo. La grandeco de la eniga haveno dependas de la LPM_WIDTHN parametrovaloro.
Enigo de datumoj de denominatoro. La grandeco de la eniga haveno dependas de la LPM_WIDTHD parametrovaloro.
daŭrigis…
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 13
3. LPM_DIVIDE (Disigilo) Intel FPGA IP Core 683490 | 2020.10.05
Haveno Nomo horloĝo clken
aklr
Bezonata Ne Ne
Ne
Priskribo
Enigo de horloĝo por dukta uzado. Por LPM_PIPELINE-valoroj krom 0 (defaŭlte), la horloĝa haveno devas esti ebligita.
Horloĝo ebligas duktan uzadon. Kiam la clken-haveno estas asertita alta, la divida operacio okazas. Kiam la signalo estas malalta, neniu operacio okazas. Se ellasita, la defaŭlta valoro estas 1.
Nesinkrona klara haveno uzata iam ajn por restarigi la dukto al ĉiuj '0'oj nesinkrone al la horloĝa enigo.
Tabelo 6.
LPM_DIVIDE Eligo-Havenoj
Haveno Nomo
Bezonata
Priskribo
kvociento[]
Jes
Eligo de datumoj. La grandeco de la eliga haveno dependas de la LPM_WIDTHN
parametrovaloro.
resti[]
Jes
Eligo de datumoj. La grandeco de la eliga haveno dependas de la LPM_WIDTHD
parametrovaloro.
3.6. Parametroj
La sekva tabelo listigas la parametrojn por la LPM_DIVIDE Intel FPGA IP-kerno.
Parametro Nomo
Tajpu
Bezonata
Priskribo
LPM_WIDTHN
Entjero
Jes
Specifas la larĝojn de la nombro[] kaj
kvociento[] havenoj. Valoroj estas 1 ĝis 64.
LPM_WIDTHD
Entjero
Jes
Specifas la larĝojn de la nomo[] kaj
restas[] havenoj. Valoroj estas 1 ĝis 64.
LPM_NREPRESENTATION LPM_DREPRESENTATION
Ŝnuro Ŝnuro
Ne
Signa reprezentado de la numeratora enigo.
Valoroj estas SIGNED kaj UNSIGNED. Kiam ĉi tio
parametro estas agordita al SIGNED, la disigilo
interpretas la numero[] enigon kiel signitaj duoj
komplemento.
Ne
Signa reprezentado de la denominatora enigo.
Valoroj estas SIGNED kaj UNSIGNED. Kiam ĉi tio
parametro estas agordita al SIGNED, la disigilo
interpretas la denom[] enigon kiel signitaj duoj
komplemento.
LPM_TYPE
Ŝnuro
Ne
Identigas la bibliotekon de parametrigita
moduloj (LPM) unuonomo en VHDL-dezajno
files (.vhd).
LPM_HINT
Ŝnuro
Ne
Kiam vi instantiigas bibliotekon de
parametrizitaj moduloj (LPM) funkcias en a
VHDL Dezajno File (.vhd), vi devas uzi la
LPM_HINT parametro por specifi Intel-
specifa parametro. Por ekzample: LPM_HINT
= "ĉeno_grandeco = 8,
ONE_INPUT_IS_CONSTANT = YES” La
defaŭlta valoro estas NEUZITA.
LPM_REMAINDERPOSITIVE
Ŝnuro
Ne
Intel-specifa parametro. Vi devas uzi la
LPM_HINT parametro por specifi la
LPM_REMAINDERPOSITIVE parametro en
VHDL-dezajno files. Valoroj estas VERA aŭ FALSA.
Se ĉi tiu parametro estas agordita al VERA, tiam la
valoro de la rest[] haveno devas esti pli granda
daŭrigis…
Intel FPGA Integer Arithmetic IP Cores User Guide 14
Sendu Rimarkojn
3. LPM_DIVIDE (Disigilo) Intel FPGA IP Core 683490 | 2020.10.05
Parametro Nomo
Tajpu
MAXIMIZE_SPEED
Entjero
LPM_PIPELINE
Entjero
INTENDED_DEVICE_FAMILY SKIP_BITS
Ŝnuro Entjero
Bezonata Nr
Ne Ne Ne
Priskribo
ol aŭ egala al nulo. Se ĉi tiu parametro estas agordita al VERA, tiam la valoro de la rest[] haveno estas aŭ nul, aŭ la valoro estas la sama signo, aŭ pozitiva aŭ negativa, kiel la valoro de la numera haveno. Por redukti areon kaj plibonigi rapidecon, Intel rekomendas agordi ĉi tiun parametron al VERA en operacioj kie la resto devas esti pozitiva aŭ kie la resto estas negrava.
Intel-specifa parametro. Vi devas uzi la parametron LPM_HINT por specifi la parametron MAXIMIZE_SPEED en VHDL-dezajno files. Valoroj estas [0..9]. Se uzata, la Intel Quartus Prime-programaro provas optimumigi specifan okazon de la funkcio LPM_DIVIDE por rapideco prefere ol vojigebleco, kaj superregas la agordon de la opcio de Optimization Technique. Se MAXIMIZE_SPEED estas neuzata, la valoro de la opcio Optimumiga Tekniko estas uzata anstataŭe. Se la valoro de MAXIMIZE_SPEED estas 6 aŭ pli alta, la Kompililo optimumigas la LPM_DIVIDE IP-kernon por pli alta rapideco uzante porti ĉenojn; se la valoro estas 5 aŭ malpli, la kompililo efektivigas la dezajnon sen porti ĉenoj.
Specifas la nombron da horloĝcikloj de latenteco asociita kun la kvociento[] kaj rest[] eligoj. Valoro de nul (0) indikas ke neniu latenco ekzistas, kaj ke pure kombina funkcio estas instantiigita. Se ellasita, la defaŭlta valoro estas 0 (nepipelined). Vi ne povas specifi valoron por la parametro LPM_PIPELINE, kiu estas pli alta ol LPM_WIDTHN.
Ĉi tiu parametro estas uzata por modelaj kaj kondutismaj simuladceloj. La parametra redaktilo kalkulas la valoron por ĉi tiu parametro.
Ebligas pli efikan frakciecan dividon por optimumigi logikon sur la gvidaj bitoj disponigante la nombron da gvida GND al la LPM_DIVIDE IP-kerno. Indiku la nombron de gvida GND sur la kvocienta eligo al ĉi tiu parametro.
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 15
683490 | 2020.10.05 Sendu komentojn
4. LPM_MULT (Multiplikanto) IP Kerno
Figuro 3.
La LPM_MULT IP-kerno efektivigas multiplikilon por multobligi du enigajn datumvalorojn por produkti produkton kiel eligo.
La sekva figuro montras la havenojn por la LPM_MULT IP-kerno.
LPM_Multaj Havenoj
LPM_MULT horloĝdatumoja[] rezulto[] datumb[] aclr/sclr clken
inst
Rilataj Informoj Trajtoj sur paĝo 71
4.1. Karakterizaĵoj
La LPM_MULT IP-kerno ofertas la jenajn funkciojn: · Generas multiplikilon, kiu multiplikas du enigajn datumvalorojn · Subtenas datumlarĝon de 1 bitoj · Subtenas subskribitan kaj nesubskribitan datumformaton · Subtenas areon aŭ rapidan optimumigon · Subtenas dukto kun agordebla eliga latenco · Provizas opcio por efektivigo en diligenta cifereca signal-prilaborado (DSP)
blokcirkvito aŭ logikaj elementoj (LEoj) Noto: Dum konstruado de multiplikatoj pli grandaj ol la denaske subtenata grandeco povas/
estos efikeco efiko rezultanta de la kaskado de la DSP-blokoj. · Subtenas laŭvolan nesinkronan purigi kaj horloĝon ebligas enigajn havenojn · Subtenas laŭvolan sinkronan purigi por Intel Stratix 10, Intel Arria 10 kaj Intel Cyclone 10 GX-aparatoj
Intel Corporation. Ĉiuj rajtoj rezervitaj. Intel, la Intel-emblemo kaj aliaj Intel-markoj estas varmarkoj de Intel Corporation aŭ ĝiaj filioj. Intel garantias agadon de siaj FPGA kaj duonkonduktaĵoj laŭ nunaj specifoj konforme al la norma garantio de Intel, sed rezervas la rajton fari ŝanĝojn al ajnaj produktoj kaj servoj iam ajn sen avizo. Intel supozas neniun respondecon aŭ respondecon de la apliko aŭ uzo de ajna informo, produkto aŭ servo priskribita ĉi tie krom kiel eksplicite konsentite skribe de Intel. Intel-klientoj estas konsilitaj akiri la lastan version de aparato-specifoj antaŭ ol fidi je ajnaj publikigitaj informoj kaj antaŭ ol fari mendojn por produktoj aŭ servoj. *Aliaj nomoj kaj markoj povas esti postulataj kiel posedaĵo de aliaj.
ISO 9001:2015 Registrita
4. LPM_MULT (Multiplikanto) IP Kerno 683490 | 2020.10.05
4.2. Verilog HDL-Prototipo
La sekva Verilog HDL-prototipo situas en la Verilog Dezajno File (.v) lpm.v en la dosierujo edasynthesis.
modulo lpm_mult ( result, dataa, datab, sum, clock, clken, aclr ) parametro lpm_type = “lpm_mult”; parametro lpm_widtha = 1; parametro lpm_widthb = 1; parametro lpm_widths = 1; parametro lpm_widthp = 1; parametro lpm_representation = “SENSEGNITA”; parametro lpm_pipeline = 0; parametro lpm_hint = "NEUZITA"; eniga horloĝo; enigo clken; enigo aklr; enigi [lpm_widtha-1:0] datumoja; enigo [lpm_widthb-1:0] datumba; enigo [lpm_widths-1:0] sumo; eligo [lpm_widthp-1:0] rezulto; finmodulo
4.3. Deklaracio de VHDL Komponanto
La VHDL-komponentdeklaro situas en la VHDL-Dezajno File (.vhd) LPM_PACK.vhd en la dosierujo librariesvhdllpm.
komponanto LPM_MULT genérico ( LPM_WIDTHA : natura; LPM_WIDTHB : natura; LPM_WIDTHS : natura := 1; LPM_WIDTHP : natura;
LPM_REPRESENTATION : ĉeno := “SENSEGNITA”; LPM_PIPELINE : natura := 0; LPM_TYPE: ĉeno := L_MULT; LPM_HINT : ĉeno := “NEUZITA”); haveno ( DATAA : en std_logic_vector (LPM_WIDTHA-1 malsupren ĝis 0); DATAB : en std_logic_vector (LPM_WIDTHB-1 malsupren ĝis 0); ACLR : en std_logic := '0'; CLOCK : en std_logic := '0'; CLKEN : en std_logic := '1'; SUM : en std_logic_vector (LPM_WIDTHS-1 malsupren al 0) := (ALIAJ => '0'); REZULTO : ekster std_logic_vector (LPM_WIDTHP-1 malsupren al 0)); fina komponanto;
4.4. VHDL LIBRARY_USE Deklaro
La VHDL LIBRARY-USE-deklaro ne estas bezonata se vi uzas la VHDL-Kompontan Deklaracion.
BIBLIOTECA lpm; UZU lpm.lpm_components.all;
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 17
4. LPM_MULT (Multiplikanto) IP Kerno 683490 | 2020.10.05
4.5. Signaloj
Tabelo 7.
LPM_MULT Enigaj Signaloj
Signala Nomo
Bezonata
Priskribo
datumoja[]
Jes
Enigo de datumoj.
Por Intel Stratix 10, Intel Arria 10, kaj Intel Cyclone 10 GX-aparatoj, la grandeco de la eniga signalo dependas de la Dataa-larĝa parametrovaloro.
Por pli malnovaj kaj Intel Cyclone 10 LP-aparatoj, la grandeco de la eniga signalo dependas de la LPM_WIDTHA parametrovaloro.
datumbazo[]
Jes
Enigo de datumoj.
Por Intel Stratix 10, Intel Arria 10, kaj Intel Cyclone 10 GX-aparatoj, la grandeco de la eniga signalo dependas de la Datab-larĝa parametrovaloro.
Por pli malnovaj kaj Intel Cyclone 10 LP-aparatoj, la grandeco de la eniga signalo dependas
sur la LPM_WIDTHB parametrovaloro.
horloĝo
Ne
Enigo de horloĝo por dukta uzado.
Por pli malnovaj kaj Intel Cyclone 10 LP-aparatoj, la horloĝsignalo devas esti ebligita por LPM_PIPELINE-valoroj krom 0 (defaŭlte).
Por aparatoj Intel Stratix 10, Intel Arria 10 kaj Intel Cyclone 10 GX, la horloĝsignalo devas esti ebligita se Latencia valoro estas alia ol 1 (defaŭlta).
clken
Ne
Horloĝo ebligas por dukta uzado. Kiam la clken-signalo estas asertita alta, la
operacio de suma/subtrahilo okazas. Kiam la signalo estas malalta, neniu operacio
okazas. Se ellasita, la defaŭlta valoro estas 1.
aklr sclr
Ne
Nesinkrona klara signalo uzata iam ajn por restarigi la dukton al ĉiuj 0oj,
nesinkrone al la horloĝsignalo. La dukto pravalorigas al nedifinita (X)
logika nivelo. La eligoj estas konsekvenca, sed ne-nula valoro.
Ne
Sinkrona klara signalo uzata iam ajn por restarigi la dukton al ĉiuj 0oj,
sinkrone al la horloĝsignalo. La dukto pravalorigas al nedifinita (X)
logika nivelo. La eligoj estas konsekvenca, sed ne-nula valoro.
Tabelo 8.
LPM_MULT Eligsignaloj
signal Nomo
Bezonata
Priskribo
rezulto[]
Jes
Eligo de datumoj.
Por pli malnovaj kaj Intel Cyclone 10 LP-aparatoj, la grandeco de la eliga signalo dependas de la LPM_WIDTHP parametrovaloro. Se LPM_WIDTHP < max (LPM_WIDTHA + LPM_WIDTHB, LPM_WIDTHS) aŭ (LPM_WIDTHA + LPM_WIDTHS), nur la LPM_WIDTHP MSB-oj ĉeestas.
Por Intel Stratix 10, Intel Arria 10 kaj Intel Cyclone 10 GX, la grandeco de la eligsignaloj dependas de la parametro de larĝo de Rezulto.
4.6. Parametroj por Stratix V, Arria V, Cyclone V, kaj Intel Cyclone 10 LP-Aparatoj
4.6.1. Ĝenerala Tab
Tabelo 9.
Ĝenerala Tab
Parametro
Valoro
Multiplica Agordo
Multipliku 'dataa' enigo per 'datab' enigo
Defaŭlta Valoro
Priskribo
Multipliku 'dataa' enigo per 'datab' enigo
Elektu la deziratan agordon por la multipliko.
daŭrigis…
Intel FPGA Integer Arithmetic IP Cores User Guide 18
Sendu Rimarkojn
4. LPM_MULT (Multiplikanto) IP Kerno 683490 | 2020.10.05
Parametro
Kiom larĝa estu la enigo 'dataa'? Kiom larĝa estu la enigo de 'datumtab'? Kiel devus esti determinita la larĝo de la 'rezulta' eligo? Limigi la larĝon
Valoro
Multipliku 'dataa' enigaĵon per si mem (kvadrata operacio)
1 – 256 bitoj
Defaŭlta Valoro
Priskribo
8 bitoj
Specifi la larĝon de la datuma[] haveno.
1 – 256 bitoj
8 bitoj
Indiku la larĝon de la datumporto[].
Aŭtomate kalkulu la larĝon Limigi la larĝon
1 – 512 bitoj
Aŭtomate kaj kalkulas la larĝon
Elektu la deziratan metodon por determini la larĝon de la rezulto[] haveno.
16 bitoj
Indiku la larĝon de la rezulto[] pordo.
Ĉi tiu valoro efektiviĝos nur se vi elektas Limigi la larĝon en la parametro Tipo.
4.6.2. Ĝenerala 2 Tab
Tabelo 10. Ĝenerala 2 Tab
Parametro
Valoro
Enigo de Datumoj
Ĉu la 'datumbuso' eniga buso havas konstantan valoron?
Ne Jes
Multiplika Tipo
Kiu tipo de
Nesubskribita
multipliko ĉu vi volas? Subskribita
Efektivigo
Kiu multiplika efektivigo estu uzata?
Uzu la defaŭltan efektivigon
Uzu la dediĉitan multiplikan cirkviton (Ne havebla por ĉiuj familioj)
Uzu logikajn elementojn
Defaŭlta Valoro
Priskribo
Ne
Elektu Jes por specifi la konstantan valoron de la
`datab' eniga buso, se ekzistas.
Nesubskribita
Specifu la reprezentan formaton por ambaŭ enigaĵoj dataa[] kaj datab[].
Uzu la defaŭltan efektivigon
Elektu la deziratan metodon por determini la larĝon de la rezulto[] haveno.
4.6.3. Pipelining Tab
Tabelo 11. Pipelining Tab
Parametro
Ĉu vi volas dukto la Nr
funkcio?
Jes
Valoro
Krei 'aclr'
—
nesinkrona klara haveno
Defaŭlta Valoro
Priskribo
Ne
Elektu Jes por ebligi duktoregistron al la
la eligo de multiplikisto kaj specifu la deziratan
eligo latenteco en horloĝa ciklo. Ebligante la
duktoregistro aldonas kroman latentecon al la
eligo.
Nemarkita
Elektu ĉi tiun opcion por ebligi aclr-pordon por uzi nesinkronan purigon por la dukta registro.
daŭrigis…
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 19
4. LPM_MULT (Multiplikanto) IP Kerno 683490 | 2020.10.05
Parametro
Kreu 'clken' horloĝon ebligu horloĝon
Optimumigo
Kian optimumigon vi volas?
Valoro —
Defaŭlta Rapida Areo
Defaŭlta Valoro
Priskribo
Nemarkita
Specifas aktivan altan horloĝan ebligon por la horloĝa haveno de la duktoregistro
Defaŭlte
Indiku la deziratan optimumigon por la IP-kerno.
Elektu Defaŭltan por permesi al Intel Quartus Prime-programaro determini la plej bonan optimumigon por la IP-kerno.
4.7. Parametroj por Intel Stratix 10, Intel Arria 10, kaj Intel Cyclone 10 GX-aparatoj
4.7.1. Ĝenerala Tab
Tabelo 12. Ĝenerala Tab
Parametro
Valoro
Defaŭlta Valoro
Priskribo
Multipliga Agorda Tipo
Larĝoj de Datenhavenoj
Multipliku 'dataa' enigo per 'datab' enigo
Multipliku 'dataa' enigaĵon per si mem (kvadrata operacio)
Multipliku 'dataa' enigo per 'datab' enigo
Elektu la deziratan agordon por la multipliko.
Larĝo de datumoj
1 – 256 bitoj
8 bitoj
Specifi la larĝon de la datuma[] haveno.
Larĝo de datumoj
1 – 256 bitoj
8 bitoj
Indiku la larĝon de la datumporto[].
Kiel devus esti determinita la larĝo de la 'rezulta' eligo?
Tajpu
Aŭtomate kalkulu la larĝon
Limigi la larĝon
Aŭtomate kaj kalkulas la larĝon
Elektu la deziratan metodon por determini la larĝon de la rezulto[] haveno.
Valoro
1 – 512 bitoj
16 bitoj
Indiku la larĝon de la rezulto[] pordo.
Ĉi tiu valoro efektiviĝos nur se vi elektas Limigi la larĝon en la parametro Tipo.
Larĝo de rezulto
1 – 512 bitoj
—
Montras la efektivan larĝon de la rezulto[] haveno.
4.7.2. Ĝenerala 2 Tab
Tabelo 13. Ĝenerala 2 Tab
Parametro
Enigo de Datumoj
Ĉu la 'datumbuso' eniga buso havas konstantan valoron?
Ne Jes
Valoro
Defaŭlta Valoro
Priskribo
Ne
Elektu Jes por specifi la konstantan valoron de la
`datab' eniga buso, se ekzistas.
daŭrigis…
Intel FPGA Integer Arithmetic IP Cores User Guide 20
Sendu Rimarkojn
4. LPM_MULT (Multiplikanto) IP Kerno 683490 | 2020.10.05
Parametro
Valoro
Valoro
Ajna valoro pli granda ol 0
Multiplika Tipo
Kiu tipo de
Nesubskribita
multipliko ĉu vi volas? Subskribita
Efektiviga Stilo
Kiu multiplika efektivigo estu uzata?
Uzu la defaŭltan efektivigon
Uzu la dediĉitan multiplikan cirkviton
Uzu logikajn elementojn
Defaŭlta Valoro
Priskribo
0
Specifu la konstantan valoron de datab[] pordo.
Nesubskribita
Specifu la reprezentan formaton por ambaŭ enigaĵoj dataa[] kaj datab[].
Uzu la defaŭltan efektivigon
Elektu la deziratan metodon por determini la larĝon de la rezulto[] haveno.
4.7.3. Dukto
Tabelo 14. Pipelining Tab
Parametro
Valoro
Ĉu vi volas kanaligi la funkcion?
Dukto
Ne Jes
Latencia Klara Signal-Tipo
Ajna valoro pli granda ol 0.
NENIU ACLR SCLR
Kreu 'clken' horloĝon
—
ebligi horloĝon
Kian optimumigon vi volas?
Tajpu
Defaŭlta Rapida Areo
Defaŭlta Valoro
Priskribo
Neniu 1 NENIU
—
Elektu Jes por ebligi duktoregistron al la eligo de la multiplikato. Ebligi la duktoregistron aldonas kroman latentecon al la eligo.
Indiku la deziratan eligan latentecon en horloĝciklo.
Indiku la tipon de rekomenciĝo por la duktoregistro. Elektu NENIUN se vi ne uzas iun ajn duktoregistrilon. Elektu ACLR por uzi nesinkronan klaran por la duktoregistro. Ĉi tio generos ACLR-havenon. Elektu SCLR por uzi sinkronan klaran por la duktoregistro. Ĉi tio generos SCLR-havenon.
Specifas aktivan altan horloĝan ebligon por la horloĝa haveno de la duktoregistro
Defaŭlte
Indiku la deziratan optimumigon por la IP-kerno.
Elektu Defaŭltan por permesi al Intel Quartus Prime-programaro determini la plej bonan optimigon por la IP-kerno.
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 21
683490 | 2020.10.05 Sendu komentojn
5. LPM_ADD_SUB (Aldonanto/Subtraktanto)
Figuro 4.
La LPM_ADD_SUB IP-kerno ebligas al vi efektivigi adicion aŭ subtrahiilon por aldoni aŭ subtrahi arojn da datumoj por produkti eligon enhavantan la sumon aŭ diferencon de la enigvaloroj.
La sekva figuro montras la havenojn por la LPM_ADD_SUB IP-kerno.
LPM_ADD_SUB Havenoj
LPM_ADD_SUB add_sub cin
datumoja[]
horloĝo clken datab[] aklr
result[] overflow cout
inst
5.1. Karakterizaĵoj
La IP-kerno de LPM_ADD_SUB ofertas la jenajn funkciojn: · Generas adicion, subtraktoron kaj dinamike agordeblan supurilon/subtraktilon.
funkcioj. · Elportas datumlarĝon de 1 bitoj. · Subtenas formaton de reprezentado de datumoj kiel subskribita kaj nesubskribita. · Subtenas laŭvolan enkondukon (pruntepreni), nesinkronan klaran kaj ebligon de horloĝo
enigaj havenoj. · Subtenas laŭvolajn eligajn havenojn (pruntepreni) kaj superfluajn. · Atribuas aŭ unu el la enirdatumbusoj al konstanto. · Subtenas dukto kun agordebla eliga latenco.
Intel Corporation. Ĉiuj rajtoj rezervitaj. Intel, la Intel-emblemo kaj aliaj Intel-markoj estas varmarkoj de Intel Corporation aŭ ĝiaj filioj. Intel garantias agadon de siaj FPGA kaj duonkonduktaĵoj laŭ nunaj specifoj konforme al la norma garantio de Intel, sed rezervas la rajton fari ŝanĝojn al ajnaj produktoj kaj servoj iam ajn sen avizo. Intel supozas neniun respondecon aŭ respondecon de la apliko aŭ uzo de ajna informo, produkto aŭ servo priskribita ĉi tie krom kiel eksplicite konsentite skribe de Intel. Intel-klientoj estas konsilitaj akiri la lastan version de aparato-specifoj antaŭ ol fidi je ajnaj publikigitaj informoj kaj antaŭ ol fari mendojn por produktoj aŭ servoj. *Aliaj nomoj kaj markoj povas esti postulataj kiel posedaĵo de aliaj.
ISO 9001:2015 Registrita
5. LPM_ADD_SUB (Aldonanto/Subtraktilo) 683490 | 2020.10.05
5.2. Verilog HDL-Prototipo
La sekva Verilog HDL-prototipo situas en la Verilog Dezajno File (.v) lpm.v en la dosierujo edasynthesis.
modulo lpm_add_sub (rezulto, cout, overflow,add_sub, cin, dataa, datab, clock, clken, aclr ); parametro lpm_type = "lpm_add_sub"; parametro lpm_width = 1; parametro lpm_direction = "NEUZITA"; parametro lpm_representation = “SIGNED”; parametro lpm_pipeline = 0; parametro lpm_hint = "NEUZITA"; enigo [lpm_width-1:0] dataa, datab; enigo add_sub, cin; eniga horloĝo; enigo clken; enigo aklr; eligo [lpm_width-1:0] rezulto; eligo cout, superfluo; finmodulo
5.3. Deklaracio de VHDL Komponanto
La VHDL-komponentdeklaro situas en la VHDL-Dezajno File (.vhd) LPM_PACK.vhd en la dosierujo librariesvhdllpm.
komponanto LPM_ADD_SUB ĝenerala (LPM_WIDTH : natura;
LPM_DIRECTION : ĉeno := “NEUZITA”; LPM_REPRESENTACIO: ĉeno := “SIGNED”; LPM_PIPELINE : natura := 0; LPM_TYPE : ĉeno := L_ADD_SUB; LPM_HINT : ĉeno := “NEUZITA”); haveno (DATAA : en std_logic_vector (LPM_WIDTH-1 malsupren al 0); DATAB : en std_logic_vector (LPM_WIDTH-1 malsupren al 0); ACLR : en std_logic := '0'; HORLOĜO : en std_logic := '0'; CLKEN : en std_logic := '1'; CIN : en std_logiko := 'Z'; ADD_SUB : en std_logic := '1'; RESULT : el std_logic_vector (LPM_WIDTH-1 malsupren al 0); COUT : el std_logic; OVERFLOW : el std_logiko); fina komponanto;
5.4. VHDL LIBRARY_USE Deklaro
La VHDL LIBRARY-USE-deklaro ne estas bezonata se vi uzas la VHDL-Kompontan Deklaracion.
BIBLIOTECA lpm; UZU lpm.lpm_components.all;
5.5. Havenoj
La sekvaj tabeloj listigas la enigajn kaj eligajn havenojn por la LPM_ADD_SUB IP-kerno.
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 23
5. LPM_ADD_SUB (Aldonanto/Subtraktilo) 683490 | 2020.10.05
Tablo 15. LPM_ADD_SUB IP Kernaj Enigo-Havenoj
Haveno Nomo
Bezonata
Priskribo
cin
Ne
Kunportu al la malalt-orda bito. Por aldonaj operacioj, la defaŭlta valoro estas 0. Por
subtraho, la defaŭlta valoro estas 1.
datumoja[]
Jes
Enigo de datumoj. La grandeco de la eniga haveno dependas de la LPM_WIDTH parametrovaloro.
datumbazo[]
Jes
Enigo de datumoj. La grandeco de la eniga haveno dependas de la LPM_WIDTH parametrovaloro.
aldoni_sub
Ne
Laŭvola eniga haveno por ebligi dinamikan ŝanĝadon inter la adiciulo kaj subtraktoro
funkcioj. Se la parametro LPM_DIRECTION estas uzata, add_sub ne povas esti uzata. Se
ellasita, la defaŭlta valoro estas ADD. Intel rekomendas ke vi uzu la
LPM_DIRECTION parametro por specifi la funkciadon de la funkcio LPM_ADD_SUB,
prefere ol atribui konstanton al la haveno add_sub.
horloĝo
Ne
Enigo por dukta uzado. La horloĝa haveno disponigas la horloĝan enigon por dukto
operacio. Por LPM_PIPELINE-valoroj krom 0 (defaŭlte), la horloĝa haveno devas esti
ebligita.
clken
Ne
Horloĝo ebligas por dukta uzado. Kiam la clken-haveno estas asertita alta, la adiciulo/
subtraktor operacio okazas. Kiam la signalo estas malalta, neniu operacio okazas. Se
ellasita, la defaŭlta valoro estas 1.
aklr
Ne
Nesinkrona klara por dukta uzado. La dukto pravalorigas al nedifinita (X)
logika nivelo. La aclr-haveno povas esti uzata iam ajn por restarigi la dukton al ĉiuj 0oj,
nesinkrone al la horloĝsignalo.
Tablo 16. LPM_ADD_SUB IP Kernaj Eligo-Havenoj
Haveno Nomo
Bezonata
Priskribo
rezulto[]
Jes
Eligo de datumoj. La grandeco de la eliga haveno dependas de la parametro LPM_WIDTH
valoro.
cout
Ne
Efektivigo (pruntepreno) de la plej signifa bito (MSB). La cout haveno havas fizikan
interpreto kiel la efektivigo (pruntepreno) de la MSB. La cout haveno detektas
superfluo en SENSEJNITAj operacioj. La cout haveno funkcias en la sama maniero por
SIGNED kaj SENSEGNITA operacioj.
superfluo
Ne
Laŭvola superflua escepto eligo. La superflua haveno havas fizikan interpreton kiel
la XOR de la enkonduko al la MSB kun la portado de la MSB. La superflua haveno
asertas kiam rezultoj superas la disponeblan precizecon, kaj estas uzata nur kiam la
LPM_REPRESENTATION parametrovaloro estas SIGNED.
5.6. Parametroj
La sekva tabelo listigas la kernajn parametrojn de LPM_ADD_SUB IP.
Tablo 17. LPM_ADD_SUB IP Kernaj Parametroj
Parametronomo LPM_WIDTH
Tajpu Entjeron
Bezonata Jes
Priskribo
Specifas la larĝojn de la dataa[], datab[], kaj rezult[]-havenoj.
LPM_DIRECTION
Ŝnuro
Ne
Valoroj estas ADD, SUB kaj NEUZITA. Se ellasita, la defaŭlta valoro estas DEFAULT, kiu direktas la parametron preni sian valoron el la haveno add_sub. La haveno add_sub ne povas esti uzata se LPM_DIRECTION estas uzata. Intel rekomendas, ke vi uzu la parametron LPM_DIRECTION por specifi la funkciadon de la funkcio LPM_ADD_SUB, anstataŭ atribui konstanton al la haveno add_sub.
daŭrigis…
Intel FPGA Integer Arithmetic IP Cores User Guide 24
Sendu Rimarkojn
5. LPM_ADD_SUB (Aldonanto/Subtraktilo) 683490 | 2020.10.05
Parametronomo LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY
Tajpu String Entjero String String String Entjero
Ŝnuro
Bezonata Ne Ne Ne Ne Ne Ne
Ne
Priskribo
Specifas la tipon de aldono farita. Valoroj estas SIGNED kaj UNSIGNED. Se ellasita, la defaŭlta valoro estas SIGNED. Kiam ĉi tiu parametro estas agordita al SIGNED, la adiciulo/subtraktoro interpretas la enigaĵon de datumoj kiel signita du-komplemento.
Specifas la nombron da latentecaj horloĝcikloj asociitaj kun la rezulto[] eligo. Valoro de nul (0) indikas ke neniu latenco ekzistas, kaj ke pure kombina funkcio estos instantiigita. Se ellasita, la defaŭlta valoro estas 0 (ne-dukto).
Permesas al vi specifi Intel-specifajn parametrojn en VHDL-dezajno files (.vhd). La defaŭlta valoro estas NEUZITA.
Identigas la bibliotekon de parametrizitaj moduloj (LPM) entonomo en VHDL-dezajno files.
Intel-specifa parametro. Vi devas uzi la parametron LPM_HINT por specifi la parametron ONE_INPUT_IS_CONSTANT en VHDL-dezajno files. Valoroj estas JES, NE, kaj NEUZATAJ. Provizas pli grandan optimumigon se unu enigo estas konstanta. Se ellasita, la defaŭlta valoro estas NO.
Intel-specifa parametro. Vi devas uzi la parametron LPM_HINT por specifi la parametron MAXIMIZE_SPEED en VHDL-dezajno files. Vi povas specifi valoron inter 0 kaj 10. Se uzata, la programaro Intel Quartus Prime provas optimumigi specifan okazon de la funkcio LPM_ADD_SUB por rapideco prefere ol vojebleco, kaj superregas la agordon de la opcio de Optimumigo-Tekniko. Se MAXIMIZE_SPEED estas neuzata, la valoro de la opcio Optimumiga Tekniko estas uzata anstataŭe. Se la agordo por MAXIMIZE_SPEED estas 6 aŭ pli alta, la Kompililo optimumigas la LPM_ADD_SUB IP-kernon por pli alta rapideco uzante portantajn ĉenojn; se la fikso estas 5 aŭ malpli, la Kompililo efektivigas la dezajnon sen porti ĉenoj. Ĉi tiu parametro devas esti specifita por Cyclone, Stratix kaj Stratix GX-aparatoj nur kiam la haveno add_sub ne estas uzata.
Ĉi tiu parametro estas uzata por modelaj kaj kondutismaj simuladceloj. La parametra redaktilo kalkulas la valoron por ĉi tiu parametro.
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 25
683490 | 2020.10.05 Sendu komentojn
6. LPM_COMPARE (Komparilo)
Figuro 5.
La LPM_COMPARE IP-kerno komparas la valoron de du aroj da datumoj por determini la rilaton inter ili. En ĝia plej simpla formo, vi povas uzi ekskluzivan-OR-pordegon por determini ĉu du bitoj da datumoj estas egalaj.
La sekva figuro montras la havenojn por la LPM_COMPARE IP-kerno.
LPM_COMPARE Havenoj
LPM_COMPARE
clken
alb
aeb
datumoja[]
agb
datumbazo[]
ageb
horloĝo
aneb
aklr
aleb
inst
6.1. Karakterizaĵoj
La LPM_COMPARE IP-kerno ofertas la jenajn funkciojn: · Generas komparan funkcion por kompari du arojn da datumoj · Subtenas datumlarĝon de 1 bitoj · Subtenas datuman reprezentan formaton kiel subskribita kaj nesubskribita · Produktas la jenajn eligajn tipojn:
— alb (enigo A estas malpli granda ol enigo B) — aeb (enigo A estas egala al enigo B) — agb (enigo A estas pli granda ol enigo B) — ageb (enigo A estas pli granda ol aŭ egala al enigo B) — aneb ( enigo A ne estas egala al enigo B) — aleb (enigo A estas malpli ol aŭ egala al enigo B) · Subtenas laŭvolajn nesinkronajn klarajn kaj horloĝajn ebligajn enigajn havenojn · Atribuas la enigaĵon de datum[] al konstanto · Subtenas dukto kun agordebla eliga latenco
Intel Corporation. Ĉiuj rajtoj rezervitaj. Intel, la Intel-emblemo kaj aliaj Intel-markoj estas varmarkoj de Intel Corporation aŭ ĝiaj filioj. Intel garantias agadon de siaj FPGA kaj duonkonduktaĵoj laŭ nunaj specifoj konforme al la norma garantio de Intel, sed rezervas la rajton fari ŝanĝojn al ajnaj produktoj kaj servoj iam ajn sen avizo. Intel supozas neniun respondecon aŭ respondecon de la apliko aŭ uzo de ajna informo, produkto aŭ servo priskribita ĉi tie krom kiel eksplicite konsentite skribe de Intel. Intel-klientoj estas konsilitaj akiri la lastan version de aparato-specifoj antaŭ ol fidi je ajnaj publikigitaj informoj kaj antaŭ ol fari mendojn por produktoj aŭ servoj. *Aliaj nomoj kaj markoj povas esti postulataj kiel posedaĵo de aliaj.
ISO 9001:2015 Registrita
6. LPM_COMPARE (Komparilo) 683490 | 2020.10.05
6.2. Verilog HDL-Prototipo
La sekva Verilog HDL-prototipo situas en la Verilog Dezajno File (.v) lpm.v en la dosierujo edasynthesis.
modulo lpm_kompari ( alb, aeb, agb, aleb, aneb, ageb, dataa, datab, horloĝo, clken, aclr ); parametro lpm_type = "lpm_kompari"; parametro lpm_width = 1; parametro lpm_representation = “SENSEGNITA”; parametro lpm_pipeline = 0; parametro lpm_hint = "NEUZITA"; enigo [lpm_width-1:0] dataa, datab; eniga horloĝo; enigo clken; enigo aklr; eligo alb, aeb, agb, aleb, aneb, ageb; finmodulo
6.3. Deklaracio de VHDL Komponanto
La VHDL-komponentdeklaro situas en la VHDL-Dezajno File (.vhd) LPM_PACK.vhd en la dosierujo librariesvhdllpm.
komponanto LPM_COMPARE generi (LPM_WIDTH : natura;
LPM_REPRESENTATION : ĉeno := “SENSEGNITA”; LPM_PIPELINE : natura := 0; LPM_TYPE: ĉeno := L_COMPARE; LPM_HINT : ĉeno := “NEUZITA”); haveno (DATAA : en std_logic_vector (LPM_WIDTH-1 malsupren al 0); DATAB : en std_logic_vector (LPM_WIDTH-1 malsupren al 0); ACLR : en std_logic := '0'; HORLOĜO : en std_logic := '0'; CLKEN : en std_logic := '1'; AGB : ekster std_logiko; AGEB : ekster std_logiko; AEB : ekster std_logiko; ANEB : ekster std_logiko; ALB : ekster std_logiko; ALEB : ekstere std_logiko); fina komponanto;
6.4. VHDL LIBRARY_USE Deklaro
La VHDL LIBRARY-USE-deklaro ne estas bezonata se vi uzas la VHDL-Kompontan Deklaracion.
BIBLIOTECA lpm; UZU lpm.lpm_components.all;
6.5. Havenoj
La sekvaj tabeloj listigas la enigajn kaj eligajn havenojn por la LMP_COMPARE IP-kerno.
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 27
6. LPM_COMPARE (Komparilo) 683490 | 2020.10.05
Tablo 18. LPM_COMPARE IP-kernaj Enigo-Havenoj
Haveno Nomo
Bezonata
Priskribo
datumoja[]
Jes
Enigo de datumoj. La grandeco de la eniga haveno dependas de la LPM_WIDTH parametrovaloro.
datumbazo[]
Jes
Enigo de datumoj. La grandeco de la eniga haveno dependas de la LPM_WIDTH parametrovaloro.
horloĝo
Ne
Enigo de horloĝo por dukta uzado. La horloĝa haveno disponigas la horloĝan enigon por dukto
operacio. Por LPM_PIPELINE-valoroj krom 0 (defaŭlte), la horloĝa haveno devas esti
ebligita.
clken
Ne
Horloĝo ebligas por dukta uzado. Kiam la clken haveno estas asertita alta, la
kompara operacio okazas. Kiam la signalo estas malalta, neniu operacio okazas. Se
ellasita, la defaŭlta valoro estas 1.
aklr
Ne
Nesinkrona klara por dukta uzado. La dukto pravalorigas al nedifinita (X) logiko
nivelo. La aclr-haveno povas esti uzata iam ajn por restarigi la dukton al ĉiuj 0oj,
nesinkrone al la horloĝsignalo.
Tablo 19. LPM_COMPARE IP-kernaj Eligo-Havenoj
Haveno Nomo
Bezonata
Priskribo
alb
Ne
Eliga haveno por la komparilo. Asertite se enigo A estas malpli ol enigo B.
aeb
Ne
Eliga haveno por la komparilo. Asertite se enigo A estas egala al enigo B.
agb
Ne
Eliga haveno por la komparilo. Asertite se enigo A estas pli granda ol enigo B.
ageb
Ne
Eliga haveno por la komparilo. Asertata se enigo A estas pli granda ol aŭ egala al enigo
B.
aneb
Ne
Eliga haveno por la komparilo. Asertite se enigo A ne estas egala al enigo B.
aleb
Ne
Eliga haveno por la komparilo. Asertite se enigo A estas malpli ol aŭ egala al enigo B.
6.6. Parametroj
La sekva tabelo listigas la parametrojn por la LPM_COMPARE IP-kerno.
Tablo 20. LPM_COMPARE IP-kernaj Parametroj
Parametro Nomo
Tajpu
Bezonata
LPM_WIDTH
Entjero Jes
LPM_REPRESENTACIO
Ŝnuro
Ne
LPM_PIPELINE
Entjera Nr
LPM_HINT
Ŝnuro
Ne
Priskribo
Specifas la larĝojn de la dataa[] kaj datab[] pordoj.
Specifas la tipon de komparo farita. Valoroj estas SIGNED kaj UNSIGNED. Se ellasita, la defaŭlta valoro estas SENSEGNITA. Kiam ĉi tiu parametrovaloro estas agordita al SIGNED, la komparilo interpretas la datuman enigaĵon kiel signita du-komplemento.
Specifas la nombron da horloĝcikloj de latenteco asociita kun la eligo alb, aeb, agb, ageb, aleb aŭ aneb. Valoro de nul (0) indikas ke neniu latenco ekzistas, kaj ke pure kombina funkcio estos instantiigita. Se ellasita, la defaŭlta valoro estas 0 (nepipelined).
Permesas al vi specifi Intel-specifajn parametrojn en VHDL-dezajno files (.vhd). La defaŭlta valoro estas NEUZITA.
daŭrigis…
Intel FPGA Integer Arithmetic IP Cores User Guide 28
Sendu Rimarkojn
6. LPM_COMPARE (Komparilo) 683490 | 2020.10.05
Parametronomo LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT
Tajpu String String
Ŝnuro
Bezonata Ne Ne
Ne
Priskribo
Identigas la bibliotekon de parametrizitaj moduloj (LPM) entonomo en VHDL-dezajno files.
Ĉi tiu parametro estas uzata por modelaj kaj kondutismaj simuladceloj. La parametra redaktilo kalkulas la valoron por ĉi tiu parametro.
Intel-specifa parametro. Vi devas uzi la parametron LPM_HINT por specifi la parametron ONE_INPUT_IS_CONSTANT en VHDL-dezajno files. Valoroj estas JES, NE, aŭ NEUZATAJ. Provizas pli grandan optimumigo se enigo estas konstanta. Se ellasita, la defaŭlta valoro estas NO.
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 29
683490 | 2020.10.05 Sendu komentojn
7. ALTEC (Kodo de Korekto de Eraro: Kodilo/Malĉifrilo) IP Kerno
Figuro 6.
Intel disponigas la ALTEC IP-kernon por efektivigi la ECC-funkciecon. ECC detektas koruptitajn datenojn kiuj okazas ĉe la ricevilflanko dum datumtranssendo. Ĉi tiu erarĝustigmetodo plej taŭgas por situacioj kie eraroj okazas hazarde prefere ol en eksplodoj.
La ECC detektas erarojn per la procezo de datumkodado kaj malkodado. Por ekzample, kiam la ECC estas aplikata en transdona aplikaĵo, datumoj legitaj de la fonto estas ĉifritaj antaŭ esti senditaj al la ricevilo. La produktaĵo (kodvorto) de la kodilo konsistas el la krudaj datenoj almetitaj kun la nombro da parecbitoj. La preciza nombro da egalecaj bitoj almetitaj dependas de la nombro da bitoj en la enirdatenoj. La generita kodvorto tiam estas elsendita al la celloko.
La ricevilo ricevas la kodvorton kaj malkodas ĝin. Informoj akiritaj per la malĉifrilo determinas ĉu eraro estas detektita. La malĉifrilo detektas unubitajn kaj dubitajn erarojn, sed povas nur ripari unubitajn erarojn en la koruptitaj datumoj. Ĉi tiu speco de ECC estas ununura erarkorekta duobla erardetekto (SECDED).
Vi povas agordi funkciojn de kodilo kaj malĉifrilo de la ALTEC IP-kerno. La datenenigaĵo al la kodigilo estas ĉifrita por generi kodvorton kiu estas kombinaĵo de la datenenigaĵo kaj la generitaj parecbitoj. La generita kodvorto estas elsendita al la malĉifrila modulo por malkodigo ĵus antaŭ atingado de sia celbloko. La malĉifrilo generas sindromvektoron por determini ĉu ekzistas iu eraro en la ricevita kodvorto. La malĉifrilo korektas la datenojn nur se la unubita eraro estas de la datenbitoj. Neniu signalo estas markita se la unubita eraro estas de la egalpecoj. La malĉifrilo ankaŭ havas flagsignalojn por montri la staton de la datumoj ricevitaj kaj la ago prenita de la malĉifrilo, se entute.
La sekvaj figuroj montras la havenojn por la ALTEC IP-kerno.
ALTEC-Kodilaj Havenoj
ALTEC_ENCODER
datumoj[]
q[]
horloĝo
horloĝo
aklr
inst
Intel Corporation. Ĉiuj rajtoj rezervitaj. Intel, la Intel-emblemo kaj aliaj Intel-markoj estas varmarkoj de Intel Corporation aŭ ĝiaj filioj. Intel garantias agadon de siaj FPGA kaj duonkonduktaĵoj laŭ nunaj specifoj konforme al la norma garantio de Intel, sed rezervas la rajton fari ŝanĝojn al ajnaj produktoj kaj servoj iam ajn sen avizo. Intel supozas neniun respondecon aŭ respondecon de la apliko aŭ uzo de ajna informo, produkto aŭ servo priskribita ĉi tie krom kiel eksplicite konsentite skribe de Intel. Intel-klientoj estas konsilitaj akiri la lastan version de aparato-specifoj antaŭ ol fidi je ajnaj publikigitaj informoj kaj antaŭ ol fari mendojn por produktoj aŭ servoj. *Aliaj nomoj kaj markoj povas esti postulataj kiel posedaĵo de aliaj.
ISO 9001:2015 Registrita
7. ALTEC (Kodo de Korekto de Eraro: Kodilo/Malĉifrilo) IP Core 683490 | 2020.10.05
Figuro 7. ALTEC Decoder Havenoj
ALTEC_DECODER
data[] horloĝo horloĝo
q[] eraro_detektita eraro_korektita
eraro_fatala
aklr
inst
7.1. Karakterizaĵoj de ALTEC-Kodilo
La IP-kerno de ALTECC-kodilo ofertas la jenajn funkciojn: · Elfaras datuman kodigon uzante la Hamming-kodigan skemon · Elportas datumlarĝon de 2 bitoj · Subtenas subskribitan kaj nesubskribitan datumformaton · Subtenas duptadon kun eligo latenteco de aŭ unu aŭ du horloĝcikloj · Subtenas laŭvolan nesinkronaj klaraj kaj horloĝaj ebligaj havenoj
La IP-kerno de ALTEC-kodilo prenas kaj kodas la datumojn uzante la Hamming-Kodigan skemon. La Hamming Coding-skemo derivas la egalecbitojn kaj almetas ilin al la originaj datenoj por produkti la produktaĵkodvorton. La nombro da egalecaj bitoj almetitaj dependas de la larĝo de la datenoj.
La sekva tabelo listigas la nombron da egalecaj bitoj almetitaj por malsamaj intervaloj de datenlarĝoj. La kolumno Total Bits reprezentas la tutsumon de eniga datumaj bitoj kaj almetitaj egalecbitoj.
Tabelo 21.
Nombro de Parecaj Bitoj kaj Koda Vorto Laŭ Datuma Larĝo
Larĝo de datumoj
Nombro de Parecaj Bitoj
Sumaj Bitoj (Kodvorto)
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
La egaleca bita derivado uzas parecan kontrolon. La kroma 1 bito (montrita en la tabelo kiel +1) estas almetita al la egalecbitoj kiel la MSB de la kodvorto. Ĉi tio certigas, ke la kodvorto havas paran nombron de 1-oj. Por ekzample, se la datenlarĝo estas 4 bitoj, 4 parecbitoj estas almetitaj al la datenoj por iĝi kodvorto kun totalo de 8 bitoj. Se 7 bitoj de la LSB de la 8-bita kodvorto havas neparan nombron de 1'oj, la 8-a bito (MSB) de la kodvorto estas 1 igante la tutsumon de 1'oj en la kodvorto para.
La sekva figuro montras la generitan kodvorton kaj la aranĝon de la egalpecoj kaj datenbitoj en 8-bita datenenigo.
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 31
7. ALTEC (Kodo de Korekto de Eraro: Kodilo/Malĉifrilo) IP Core 683490 | 2020.10.05
Figuro 8.
Parecaj Bitoj kaj Datumaj Bitoj Aranĝo en 8-Bita Generita Kodvorto
MSB
LSB
4 egalaj bitoj
4 datumaj bitoj
8
1
La IP-kerno de ALTEC-kodilo akceptas nur enigajn larĝojn de 2 ĝis 64 bitoj samtempe. Enigaj larĝoj de 12 bitoj, 29 bitoj kaj 64 bitoj, kiuj estas ideale taŭgaj por Intel-aparatoj, generas produktaĵojn de 18 bitoj, 36 bitoj kaj 72 bitoj respektive. Vi povas kontroli la limigon de bitselektado en la parametra redaktilo.
7.2. Verilog HDL-Prototipo (ALTECC_ENCODER)
La sekva Verilog HDL-prototipo situas en la Verilog Dezajno File (.v) lpm.v en la dosierujo edasynthesis.
module altecc_encoder #( parametro intencita_device_family = "neuzata", parametro lpm_pipeline = 0, parametro width_codeword = 8, parametro width_dataword = 8, parametro lpm_type = "altecc_encoder", parametro lpm_hint = "neuzata") ( eniga drato aclr, enigo drato clock, drato horloĝo, eniga drato [width_dataword-1:0] datumoj, eligo drato [width_codeword-1:0] q); finmodulo
7.3. Verilog HDL-Prototipo (ALTECC_DECODER)
La sekva Verilog HDL-prototipo situas en la Verilog Dezajno File (.v) lpm.v en la dosierujo edasynthesis.
module altecc_decoder #( parametro intencita_decoder_decoder = "neuzata", parametro lpm_pipeline = 0, parametro width_codeword = 8, parametro width_dataword = 8, parametro lpm_type = "altecc_decoder", parametro lpm_hint = "neuzata") ( enigo drato aclr, enigo drato aclr drato horloĝo, eniga drato [width_codeword-1:0] datumoj, eligo drato err_corrected, eligo drato err_detected, eligo drato err_fatal, eligo drato [width_dataword-1:0] q); finmodulo
Intel FPGA Integer Arithmetic IP Cores User Guide 32
Sendu Rimarkojn
7. ALTEC (Kodo de Korekto de Eraro: Kodilo/Malĉifrilo) IP Core 683490 | 2020.10.05
7.4. VHDL-Kompozanta Deklaro (ALTECC_ENCODER)
La VHDL-komponentdeklaro situas en la VHDL-Dezajno File (.vhd) altera_mf_components.vhd en la dosierujo librariesvhdlaltera_mf.
komponanto altecc_encoder generic ( intencita_device_family:string := “neuzata”; lpm_pipeline:natura := 0; width_codeword:natura := 8; width_dataword:natura := 8; lpm_hint:string := “NEUZITA”; lpm_type:string := “altecc_encoder ”); port( aclr:en std_logiko:= '0'; horloĝo:en std_logiko:= '0'; horloĝo:en std_logic:= '1'; datumoj:en std_logic_vector (larĝo_datumvorto-1 ĝis 0); q:out std_logic_vector (larĝo_kodvorto -1 malsupren ĝis 0)); fina komponanto;
7.5. VHDL-Kompozanta Deklaro (ALTECC_DECODER)
La VHDL-komponentdeklaro situas en la VHDL-Dezajno File (.vhd) altera_mf_components.vhd en la dosierujo librariesvhdlaltera_mf.
component altecc_decoder generic ( intencita_device_family:string := “neuzata”; lpm_pipeline:natura := 0; width_codeword:natura := 8; width_dataword:natura := 8; lpm_hint:string := “NEUZITA”; lpm_type:string := “altecc_decoder ”); port( aclr:en std_logiko:= '0'; horloĝo:en std_logiko:= '0'; horloĝo:en std_logic:= '1'; datumoj:en std_logic_vector (larĝo_kodvorto-1 ĝis 0); eraro_korektita: ekster std_logiko; eraro_detektita : out std_logic; q:out std_logic_vector(width_dataword-1 downto 0); syn_e : out std_logic); fina komponanto;
7.6. VHDL LIBRARY_USE Deklaro
La VHDL LIBRARY-USE-deklaro ne estas bezonata se vi uzas la VHDL-Kompontan Deklaracion.
BIBLIOTECA altera_mf; UZU altera_mf.altera_mf_components.all;
7.7. Enkodilaj Havenoj
La sekvaj tabeloj listigas la enigajn kaj eligajn havenojn por la IP-kerno de la kodilo ALTECC.
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 33
7. ALTEC (Kodo de Korekto de Eraro: Kodilo/Malĉifrilo) IP Core 683490 | 2020.10.05
Tablo 22. Enigo-Havenoj de ALTEC-Kodilo
Haveno Nomo
Bezonata
Priskribo
datumoj[]
Jes
Eniga haveno de datumoj. La grandeco de la eniga haveno dependas de la WIDTH_DATAWORD
parametrovaloro. La datumporto enhavas la krudajn datumojn por esti kodotaj.
horloĝo
Jes
Horloĝa eniga haveno kiu provizas la horloĝan signalon por sinkronigi la kodan operacion.
La horloĝa haveno estas postulata kiam la LPM_PIPELINE-valoro estas pli granda ol 0.
horloĝo
Ne
Ebligi horloĝon. Se ellasita, la defaŭlta valoro estas 1.
aklr
Ne
Nesinkrona klara enigo. La aktiva alta aclr-signalo povas esti uzata iam ajn por
nesinkrone malplenigi la registrojn.
Tabelo 23. ALTEC-Encoder Eligo-Havenoj
Havenonomo q[]
Bezonata Jes
Priskribo
Kodigita datuma eligo haveno. La grandeco de la eliga haveno dependas de la parametrovaloro WIDTH_CODEWORD.
7.8. Malĉifrilaj Havenoj
La sekvaj tabeloj listigas la enigajn kaj eligajn havenojn por la IP-kerno de la malĉifrilo ALTECC.
Tablo 24. ALTEC Decoder Enigo Havenoj
Haveno Nomo
Bezonata
Priskribo
datumoj[]
Jes
Eniga haveno de datumoj. La grandeco de la eniga haveno dependas de la parametrovaloro WIDTH_CODEWORD.
horloĝo
Jes
Horloĝa eniga haveno kiu provizas la horloĝan signalon por sinkronigi la kodan operacion. La horloĝa haveno estas postulata kiam la LPM_PIPELINE-valoro estas pli granda ol 0.
horloĝo
Ne
Ebligi horloĝon. Se ellasita, la defaŭlta valoro estas 1.
aklr
Ne
Nesinkrona klara enigo. La aktiva alta aclr-signalo povas esti uzata en ajna momento por malsinkrone malplenigi la registrojn.
Tablo 25. ALTEC Decoder Eligo Havenoj
Havenonomo q[]
Bezonata Jes
Priskribo
Malkodita datuma eligo haveno. La grandeco de la eliga haveno dependas de la parametrovaloro WIDTH_DATAWORD.
eraro_detektita Jes
Signalo por reflekti la staton de ricevitaj datumoj kaj specifas ajnajn erarojn trovitajn.
erari_korekti Jes d
Flagsignalo por reflekti la staton de ricevitaj datumoj. Indikas unubitan eraron trovitan kaj korektitan. Vi povas uzi la datumojn ĉar ĝi jam estis korektita.
eraro_fatala
Jes
Flagsignalo por reflekti la staton de ricevitaj datumoj. Indikas duoblan eraron trovitan, sed ne korektitan. Vi ne devas uzi la datumojn se ĉi tiu signalo estas asertita.
syn_e
Ne
Eligsignalo kiu altiĝos kiam ajn unu-bita eraro estas detektita sur la egaleco
pecetoj.
7.9. Kodilaj Parametroj
La sekva tabelo listigas la parametrojn por la IP-kerno de la kodilo ALTECC.
Intel FPGA Integer Arithmetic IP Cores User Guide 34
Sendu Rimarkojn
7. ALTEC (Kodo de Korekto de Eraro: Kodilo/Malĉifrilo) IP Core 683490 | 2020.10.05
Tablo 26. Parametroj de ALTEC-Kodilo
Parametro Nomo
Tajpu
Bezonata
Priskribo
WIDTH_DATAWORD
Entjero Jes
Specifas la larĝon de la krudaj datumoj. Valoroj estas de 2 ĝis 64. Se ellasita, la defaŭlta valoro estas 8.
WIDTH_KODEWORD
Entjero Jes
Specifas la larĝon de la responda kodvorto. Validaj valoroj estas de 6 ĝis 72, ekskludante 9, 17, 33 kaj 65. Se ellasita, la defaŭlta valoro estas 13.
LPM_PIPELINE
Entjera Nr
Specifas la dukton por la cirkvito. Valoroj estas de 0 ĝis 2. Se la valoro estas 0, la havenoj ne estas registritaj. Se la valoro estas 1, la eliraj havenoj estas registritaj. Se la valoro estas 2, la enigo kaj eligo-havenoj estas registritaj. Se ellasita, la defaŭlta valoro estas 0.
7.10. Malĉifrilaj Parametroj
La sekva tabelo listigas la kernajn parametrojn de IP-malĉifriloj de ALTECC.
Tablo 27. Parametroj de Malkodilo ALTECC
Parametro Nomo WIDTH_DATAWORD
Tajpu Entjeron
Bezonata
Priskribo
Jes
Specifas la larĝon de la krudaj datumoj. Valoroj estas 2 ĝis 64. La
defaŭlta valoro estas 8.
WIDTH_KODEWORD
Entjero
Jes
Specifas la larĝon de la responda kodvorto. Valoroj estas 6
al 72, ekskludante 9, 17, 33 kaj 65. Se ellasite, la defaŭlta valoro
estas 13.
LPM_PIPELINE
Entjero
Ne
Specifas la registron de la cirkvito. Valoroj estas de 0 ĝis 2. Se la
valoro estas 0, neniu registro estas efektivigita. Se la valoro estas 1, la
eligo estas registrita. Se la valoro estas 2, kaj la enigo kaj la
eligo estas registritaj. Se la valoro estas pli granda ol 2, plia
registroj estas efektivigitaj ĉe la eligo por la kroma
latentecoj. Se ellasita, la defaŭlta valoro estas 0.
Kreu 'syn_e' havenon
Entjero
Ne
Ŝaltu ĉi tiun parametron por krei syn_e-pordon.
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 35
683490 | 2020.10.05 Sendu komentojn
8. Intel FPGA Multiply Adder IP Core
Figuro 9.
La IP-kerno de Intel FPGA Multiply Adder (aparatoj Intel Stratix 10, Intel Arria 10 kaj Intel Cyclone 10 GX) aŭ ALTERA_MULT_ADD (aparatoj Arria V, Stratix V kaj Cyclone V) ebligas al vi efektivigi multiplikanton.
La sekva figuro montras la havenojn por la Intel FPGA Multiply Adder aŭ ALTERA_MULT_ADD IP-kerno.
Intel FPGA Multiply Adder aŭ ALTERA_MULT_ADD Havenoj
Intel FPGA Multiply Adder aŭ 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 ĉeno[]
scanouta[] rezulto[]
aklr0 aklr1
inst
Multipliktilo akceptas parojn de enigaĵoj, multobligas la valorojn kune kaj tiam aldonas aŭ subtrahas de la produktoj de ĉiuj aliaj paroj.
Se ĉiuj el la enirdatumlarĝoj estas 9-bitoj larĝaj aŭ pli malgrandaj, la funkcio uzas la 9 x 9 bitan enig-multiplikan agordon en la DSP-bloko por aparatoj kiuj subtenas 9 x 9-agordon. Se ne, la DSP-bloko uzas 18 × 18-bitajn enigmultiplikatojn por prilabori datenojn kun larĝoj inter 10 bitoj kaj 18 bitoj. Se pluraj Intel FPGA Multiply Adder aŭ ALTERA_MULT_ADD IP-kernoj okazas en dezajno, la funkcioj estas distribuitaj al kiel
Intel Corporation. Ĉiuj rajtoj rezervitaj. Intel, la Intel-emblemo kaj aliaj Intel-markoj estas varmarkoj de Intel Corporation aŭ ĝiaj filioj. Intel garantias agadon de siaj FPGA kaj duonkonduktaĵoj laŭ nunaj specifoj konforme al la norma garantio de Intel, sed rezervas la rajton fari ŝanĝojn al ajnaj produktoj kaj servoj iam ajn sen avizo. Intel supozas neniun respondecon aŭ respondecon de la apliko aŭ uzo de ajna informo, produkto aŭ servo priskribita ĉi tie krom kiel eksplicite konsentite skribe de Intel. Intel-klientoj estas konsilitaj akiri la lastan version de aparato-specifoj antaŭ ol fidi je ajnaj publikigitaj informoj kaj antaŭ ol fari mendojn por produktoj aŭ servoj. *Aliaj nomoj kaj markoj povas esti postulataj kiel posedaĵo de aliaj.
ISO 9001:2015 Registrita
8. Intel FPGA Multobligi Adder IP Kerno 683490 | 2020.10.05
multaj malsamaj DSP-blokoj kiel eble tiel ke vojigo al tiuj blokoj estas pli fleksebla. Malpli da multipligantoj per DSP-bloko permesas pli da vojaj elektoj en la blokon minimumigante vojojn al la resto de la aparato.
La registroj kaj ekstra duktoregistroj por la sekvaj signaloj ankaŭ estas metitaj ene de la DSP-bloko: · Datum-enigo · Subskribita aŭ sensigna elekta · Aldoni aŭ subtrahi elektu · Produktoj de multiplikatoj
En la kazo de la produktaĵrezulto, la unua registro estas metita en la DSP-blokon. Tamen la ekstraj latentecaj registroj estas metitaj en logikelementojn ekster la bloko. Ekstercentraj al la DSP-bloko, inkluzive de datumaj enigaĵoj al la multiplikilo, kontrolsignalaj enigoj kaj eliroj de la vipuro, uzas regulan vojigon por komuniki kun la resto de la aparato. Ĉiuj konektoj en la funkcio uzas dediĉitan vojigon ene de la DSP-bloko. Ĉi tiu diligenta vojigo inkluzivas la ŝanĝregistrajn ĉenojn kiam vi elektas la opcion por ŝanĝi la registritajn enigajn datumojn de multiplikisto de unu multiplikato al apuda multiplikato.
Por pliaj informoj pri DSP-blokoj en iu ajn el la aparato-serio Stratix V, kaj Arria V, referu al la ĉapitro DSP-Blokoj de la respektivaj manlibroj sur la paĝo Literaturo kaj Teknika Dokumentado.
Rilata Informo AN 306: Implementing Multipliers in FPGA Devices
Provizas pli da informoj pri efektivigado de multiplikatoj uzante DSP kaj memorblokojn en Intel FPGA-aparatoj.
8.1. Karakterizaĵoj
La Intel FPGA Multiply Adder aŭ ALTERA_MULT_ADD IP-kerno ofertas la jenajn funkciojn: · Generas multiplikilon por plenumi multiplikajn operaciojn de du kompleksaj.
nombroj Noto: Dum konstruo de multiplikatoj pli grandaj ol la denaske subtenata grandeco povas/
estos efikeco efiko rezultanta de la kaskado de la DSP-blokoj. · Subtenas datumlarĝojn de 1 256 bitoj · Subtenas subskribitan kaj nesubskribitan datumformaton · Subtenas dukto kun agordebla eniga latenco · Provizas eblon por dinamike ŝanĝi inter subskribita kaj nesubskribita datumsubteno · Provizas eblon por dinamike ŝanĝi inter operacio aldono kaj subtrahi · Subtenas laŭvola nesinkrona kaj sinkrona klara kaj horloĝo ebligas enigajn havenojn · Subtenas sistolan prokrastregistran reĝimon · Subtenas antaŭ-adiciilon kun 8 antaŭŝarĝaj koeficientoj per multiplikilo · Subtenas antaŭŝarĝan konstanton por kompletigi akumulilajn sugestojn
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 37
8. Intel FPGA Multobligi Adder IP Kerno 683490 | 2020.10.05
8.1.1. Antaŭ-adiciulo
Kun antaŭ-adiciulo, aldonoj aŭ subtrahoj estas faritaj antaŭ nutri la multiplikaton.
Estas kvin antaŭ-adiciaj reĝimoj: · Simpla reĝimo · Koeficientreĝimo · Eniga reĝimo · Kvadrata reĝimo · Konstanta reĝimo
Notu:
Kiam antaŭ-sumanto estas uzata (antaŭ-suma koeficiento/enigaĵo/kvadrata reĝimo), ĉiuj datenenigaĵoj al la multiplikato devas havi la saman horloĝ-agordon.
8.1.1.1. Antaŭ-adiciulo Simpla Reĝimo
En ĉi tiu reĝimo, ambaŭ operaciantoj venas de la enirhavenoj kaj antaŭ-aperanto ne estas uzata aŭ preterpasita. Ĉi tiu estas la defaŭlta reĝimo.
Figuro 10. Simpla Reĝimo de Antaŭ-adiciulo
a0 b0
Mult0
rezulto
8.1.1.2. Reĝimo de koeficiento antaŭ-adiciulo
En ĉi tiu reĝimo, unu multiplika operando venas de la antaŭ-aperanto, kaj la alia operando venas de la interna koeficienta stokado. La koeficienta stokado permesas ĝis 8 antaŭfiksitajn konstantojn. La koeficientaj elektaj signaloj estas koefsel[0..3].
Ĉi tiu reĝimo estas esprimita en la sekva ekvacio.
La sekvanta montras la antaŭ-adan koeficientreĝimon de multiplikisto.
Figuro 11. Reĝimo de Koeficiento de Antaŭ-adiciulo
Predigilo
a0
Mult0
+/-
rezulto
b0
koefsel0 koef
Intel FPGA Integer Arithmetic IP Cores User Guide 38
Sendu Rimarkojn
8. Intel FPGA Multobligi Adder IP Kerno 683490 | 2020.10.05
8.1.1.3. Antaŭ-adiciulo Eniga reĝimo En ĉi tiu reĝimo, unu multiplika operando venas de la antaŭ-adiciulo, kaj la alia operando devenas de la datac[] enirhaveno. Ĉi tiu reĝimo estas esprimita en la sekva ekvacio.
La sekvanta montras la antaŭ-adician enigreĝimon de multiplikisto.
Figuro 12. Antaŭ-adicia Eniga Reĝimo
a0 b0
Mult0
+/-
rezulto
c0
8.1.1.4. Antaŭ-sumanto Kvadrata Reĝimo Ĉi tiu reĝimo estas esprimita en la sekva ekvacio.
La sekvanta montras la antaŭ-adician kvadratan reĝimon de du multiplikatoj.
Figuro 13. Antaŭ-adiciulo Square Mode
a0 b0
Mult0
+/-
rezulto
8.1.1.5. Antaŭ-adiciulo Konstanta Reĝimo
En ĉi tiu modo, unu multiplika operando venas de la enirhaveno, kaj la alia operando venas de la interna koeficientstokado. La koeficienta stokado permesas ĝis 8 antaŭfiksitajn konstantojn. La koeficientaj elektaj signaloj estas koefsel[0..3].
Ĉi tiu reĝimo estas esprimita en la sekva ekvacio.
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 39
8. Intel FPGA Multobligi Adder IP Kerno 683490 | 2020.10.05
La sekva figuro montras la antaŭ-adician konstantan reĝimon de multiplikisto.
Figuro 14. Antaŭ-adiga Konstanta Reĝimo
a0
Mult0
rezulto
coefsel0
koef
8.1.2. Registro de Sistola Prokrasto
En sistola arkitekturo, la enirdatenoj estas provizitaj en kaskadon de registroj funkciantaj kiel datenbufro. Ĉiu registro liveras enigaĵon sample al multiplikisto kie ĝi estas multiplikita per la respektiva koeficiento. La ĉenvipuro stokas la iom post iom kombinitajn rezultojn de la multiplikisto kaj la antaŭe registritan rezulton de la ĉena[] enirhaveno por formi la finan rezulton. Ĉiu multobligi-aldona elemento devas esti prokrastita per ununura ciklo tiel ke la rezultoj sinkronigas taŭge kiam aldonitaj kune. Ĉiu sinsekva prokrasto kutimas trakti kaj la koeficientmemoron kaj la datenbufron de iliaj respektivaj multobligi-aldonu elementojn. Por ekzample, unuopa prokrasto por la dua multipli-aldona elemento, du prokrastoj por la tria multipli-aldona elemento, ktp.
Figuro 15. Sistolaj Registroj
Sistolaj registroj
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) reprezentas la rezultojn de kontinua fluo de enigaĵo samples kaj y(t)
reprezentas la sumon de aro de enigaĵo samples, kaj en tempo, multobligitaj per ilia
respektivaj koeficientoj. Kaj la enigo kaj eligo rezultoj fluas de maldekstre dekstren. La c(0) al c(N-1) indikas la koeficientojn. La sistolaj prokrastregistroj estas indikitaj per S-1, dum la 1 reprezentas ununuran horloĝprokraston. Sistolaj prokrastregistroj estas aldonitaj ĉe
la enigaĵoj kaj eliroj por dukto en maniero kiu certigas la rezultojn de la
multiplika operando kaj la amasigitaj sumoj restas sinkronigitaj. Ĉi tiu prilabora elemento
estas reproduktita por formi cirkviton kiu komputas la filtran funkcion. Ĉi tiu funkcio estas
esprimita en la sekva ekvacio.
Intel FPGA Integer Arithmetic IP Cores User Guide 40
Sendu Rimarkojn
8. Intel FPGA Multobligi Adder IP Kerno 683490 | 2020.10.05
N reprezentas la nombron da cikloj de datenoj kiuj eniris en la akumulilon, y(t) reprezentas la produktaĵon je tempo t, A(t) reprezentas la enigaĵon je tempo t, kaj B(i) estas la koeficientoj. La t kaj i en la ekvacio egalrilatas al aparta momento en tempo, do por komputi la produktaĵon sample y(t) je tempo t, grupo de enigaĵo samples ĉe N malsamaj punktoj en tempo, aŭ A(n), A(n-1), A(n-2), … A(n-N+1) estas bezonata. La grupo de N enigo samplesoj estas multobligitaj per N koeficientoj kaj kunsumitaj por formi la finan rezulton y.
La sistola registro-arkitekturo estas havebla nur por sum-de-2 kaj sum-de-4 reĝimoj. Por ambaŭ sistolregistraj arkitekturreĝimoj, la unua ĉensignalo devas esti ligita al 0.
La sekva figuro montras la sistolan prokrastan registron efektivigon de 2 multiplikatoj.
Figuro 16. Sistola Malfrua Registro-Efektivigo de 2 Multipligantoj
ĉeno
a0
Mult0
+/-
b0
a1
Mult1
+/-
b1
rezulto
La sumo de du multiplikiloj estas esprimita en la sekva ekvacio.
La sekva figuro montras la sistolan prokrastan registron efektivigon de 4 multiplikatoj.
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 41
8. Intel FPGA Multobligi Adder IP Kerno 683490 | 2020.10.05
Figuro 17. Sistola Malfrua Registro-Efektivigo de 4 Multipligantoj
ĉeno
a0
Mult0
+/-
b0
a1
Mult1
+/-
b1
a2
Mult2
+/-
b2
a3
Mult3
+/-
b3
rezulto
La sumo de kvar multiplikiloj estas esprimita en la sekva ekvacio. Figuro 18. Sumo de 4 Multiplikiloj
La sekvanta listigas la avancontages de sistola registro-efektivigo: · Reduktas DSP-rimedan uzadon · Ebligas efikan mapadon en la DSP-bloko uzante la ĉenan adiciulstrukturon
Intel FPGA Integer Arithmetic IP Cores User Guide 42
Sendu Rimarkojn
8. Intel FPGA Multobligi Adder IP Kerno 683490 | 2020.10.05
8.1.3. Antaŭ-ŝarĝo Konstanto
La antaŭŝarĝa konstanto kontrolas la akumuliloperandon kaj kompletigas la akumulilreligon. La valida LOADCONST_VALUE intervalas de 0. La konstanta valoro estas egala al 64N, kie N = LOADCONST_VALUE. Kiam la LOADCONST_VALUE estas agordita al 2, la konstanta valoro estas egala al 64. Ĉi tiu funkcio povas esti uzata kiel tendencita rondigo.
La sekva figuro montras la antaŭŝarĝan konstantan efektivigon.
Figuro 19. Antaŭŝarĝa Konstanto
Sugestoj de akumulilo
konstanta
a0
Mult0
+/-
b0
a1
Mult1
+/b1
rezulto
accum_sload sload_accum
Riferu al la sekvaj IP-kernoj por aliaj multiplikaloj: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. Duobla akumulilo
La duobla akumulila trajto aldonas plian registron en la akumulilreligipado. La duobla akumulregistro sekvas la produktaĵregistron, kiu inkludas la horloĝon, horloĝan ebligon kaj aklr. La kroma akumulregistro resendas rezulton kun unu-cikla prokrasto. Ĉi tiu funkcio ebligas al vi havi du akumulilkanalojn kun la sama resursa nombro.
La sekva figuro montras la efektivigon de duobla akumulilo.
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 43
8. Intel FPGA Multobligi Adder IP Kerno 683490 | 2020.10.05
Figuro 20. Duobla akumulilo
Registro de duobla akumulilo
Akumulatoro feedba ck
a0
Mult0
+/-
b0
a1
Mult1
+/b1
Eligo rezulto Eligo Registro
8.2. Verilog HDL-Prototipo
Vi povas trovi la Intel FPGA Multiply Adder aŭ ALTERA_MULT_ADD Verilog HDL-prototipon file (altera_mult_add_rtl.v) en la bibliotekaj megafunkciaj dosierujo.
8.3. Deklaracio de VHDL Komponanto
La deklaracio de VHDL-komponento troviĝas en la altera_lnsim_components.vhd en la librariesvhdl altera_lnsim dosierujo.
8.4. VHDL LIBRARY_USE Deklaro
La VHDL LIBRARY-USE-deklaro ne estas bezonata se vi uzas la VHDL-Kompontan Deklaracion.
BIBLIOTECA altera_mf; UZU altera_mf.altera_mf_components.all;
8.5. Signaloj
La sekvaj tabeloj listigas la enigajn kaj eligajn signalojn de la Multiply Adder Intel FPGA IPor ALTERA_MULT_ADD IP-kerno.
Tablo 28. Multobligi Adder Intel FPGA IPor ALTERA_MULT_ADD Enigaj Signaloj
Signalo
Bezonata
Priskribo
dataa_0[]/dataa_1[]/
Jes
dataa_2[]/dataa_3[]
Enigo de datumoj al la multiplikato. Eniga haveno [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1 … 0] larĝa
daŭrigis…
Intel FPGA Integer Arithmetic IP Cores User Guide 44
Sendu Rimarkojn
8. Intel FPGA Multobligi Adder IP Kerno 683490 | 2020.10.05
Signal datab_0[]/datab_1[]/ datab_2[]/datab_3[] datac_0[] /datac_1[]/ datac_2[]/datac_3[] clock[1:0] aclr[1:0] sclr[1:0] ena [1:0] signa
signob
scanina[] accum_sload
Bezonata Jes Ne
Ne Ne Ne Ne Ne
Ne
Ne Ne
Priskribo
La simuladmodelo por ĉi tiu IP subtenas nedeterminitan enigvaloron (X) al ĉi tiuj signaloj. Kiam vi provizas X-valoron al ĉi tiuj signaloj, la X-valoro estas disvastigita sur la eligsignaloj.
Enigo de datumoj al la multiplikato. Eniga signalo [NUMBER_OF_MULTIPLIERS * WIDTH_B – 1 … 0] larĝa La simula modelo por ĉi tiu IP subtenas nedeterminitan enigvaloron (X) al ĉi tiuj signaloj. Kiam vi provizas X-valoron al ĉi tiuj signaloj, la X-valoro estas disvastigita sur la eligsignaloj.
Enigo de datumoj al la multiplikato. Eniga signalo [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] larĝa Elektu INPUT por Elektu la parametron de la predigilo por ebligi ĉi tiujn signalojn. La simuladmodelo por ĉi tiu IP subtenas nedeterminitan enigvaloron (X) al ĉi tiuj signaloj. Kiam vi provizas X-valoron al ĉi tiuj signaloj, la X-valoro estas disvastigita sur la eligsignaloj.
Horloĝa eniga haveno al la responda registro. Ĉi tiu signalo povas esti uzata de iu ajn registro en la IP-kerno. La simuladmodelo por ĉi tiu IP subtenas nedeterminitan enigvaloron (X) al ĉi tiuj signaloj. Kiam vi provizas X-valoron al ĉi tiuj signaloj, la X-valoro estas disvastigita sur la eligsignaloj.
Nesinkrona klara enigo al la responda registro. La simuladmodelo por ĉi tiu IP subtenas nedeterminitan enigvaloron (X) al ĉi tiuj signaloj. Kiam vi provizas X-valoron al ĉi tiuj signaloj, la X-valoro estas disvastigita sur la eligsignaloj.
Sinkrona klara enigo al la responda registro. La simuladmodelo por ĉi tiu IP subtenas nedeterminitan enigvaloron X al ĉi tiuj signaloj. Kiam vi provizas X-valoron al ĉi tiuj signaloj, la X-valoro estas disvastigita sur la eligsignaloj
Ebligu signalenigon al la responda registro. La simuladmodelo por ĉi tiu IP subtenas nedeterminitan enigvaloron (X) al ĉi tiuj signaloj. Kiam vi provizas X-valoron al ĉi tiuj signaloj, la X-valoro estas disvastigita sur la eligsignaloj.
Specifas la nombran reprezenton de la multiplikanta enigo A. Se la signa signalo estas alta, la multiplikanto traktas la multiplikantan enigaĵon A signalon kiel signitan nombron. Se la signa signalo estas malalta, la multiplikanto traktas la multiplikan enigaĵon A signalo kiel sensigna nombro. Elektu VARIABLO por Kio estas la reprezenta formato por Multipligaloj A eniga parametro por ebligi ĉi tiun signalon. La simuladmodelo por ĉi tiu IP subtenas nedeterminitan enigvaloron (X) al ĉi tiu signalo. Kiam vi provizas X-valoron al ĉi tiu enigo, la X-valoro estas disvastigita sur la eligsignaloj.
Specifas la nombran reprezentadon de la multiplika eniga signalo B. Se la signb-signalo estas alta, la multiplikisto traktas la multiplikan enigB-signalon kiel signitan du-komplementan nombron. Se la signb-signalo estas malalta, la multiplikanto traktas la multiplikan enigaĵon B-signalon kiel nesignatan nombron. La simuladmodelo por ĉi tiu IP subtenas nedeterminitan enigvaloron (X) al ĉi tiu signalo. Kiam vi provizas X-valoron al ĉi tiu enigo, la X-valoro estas disvastigita sur la eligsignaloj.
Enigo por skana ĉeno A. Eniga signalo [WIDTH_A – 1, … 0] larĝa. Kiam la parametro INPUT_SOURCE_A havas valoron de SCANA, la signalo scanina[] estas postulata.
Dinamike precizigas ĉu la akumulvaloro estas konstanta. Se la accum_sload-signalo estas malalta, tiam la multiplika eligo estas ŝarĝita en la akumulilon. Ne uzu accum_sload kaj sload_accum samtempe.
daŭrigis…
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 45
8. Intel FPGA Multobligi Adder IP Kerno 683490 | 2020.10.05
Signalo sload_accum
ĉeno[] addnsub1
aldonisub3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]
Bezonata Nr
Ne Ne
Ne
Ne Ne Ne Ne
Priskribo
La simuladmodelo por ĉi tiu IP subtenas nedeterminitan enigvaloron (X) al ĉi tiu signalo. Kiam vi provizas X-valoron al ĉi tiu enigo, la X-valoro estas disvastigita sur la eligsignaloj.
Dinamike precizigas ĉu la akumulvaloro estas konstanta. Se la signalo sload_accum estas alta, tiam la multiplika eligo estas ŝarĝita en la akumulilon. Ne uzu accum_sload kaj sload_accum samtempe. La simuladmodelo por ĉi tiu IP subtenas nedeterminitan enigvaloron (X) al ĉi tiu signalo. Kiam vi provizas X-valoron al ĉi tiu enigo, la X-valoro estas disvastigita sur la eligsignaloj.
Adder-rezulta eniga buso de la antaŭa stage. Eniga signalo [WIDTH_CHAININ – 1, … 0] larĝa.
Faru aldonon aŭ subtrahon al la eliroj de la unua paro de multiplikiloj. Enigu 1 al addnsub1-signalo por aldoni la elirojn de la unua paro de multiplikatoj. Enigu 0 al addnsub1 signalo por subtrahi la produktaĵojn de la unua paro de multiplikatoj. La simuladmodelo por ĉi tiu IP subtenas nedeterminitan enigvaloron (X) al ĉi tiu signalo. Kiam vi provizas X-valoron al ĉi tiu enigo, la X-valoro estas disvastigita sur la eligsignaloj.
Faru aldonon aŭ subtrahon al la eliroj de la unua paro de multiplikiloj. Enigu 1 al addnsub3-signalo por aldoni la elirojn de la dua paro de multiplikatoj. Enigu 0 al addnsub3 signalo por subtrahi la produktaĵojn de la unua paro de multiplikatoj. La simuladmodelo por ĉi tiu IP subtenas nedeterminitan enigvaloron (X) al ĉi tiu signalo. Kiam vi provizas X-valoron al ĉi tiu enigo, la X-valoro estas disvastigita sur la eligsignaloj.
Koeficienta eniga signalo[0:3] al la unua multiplikato. La simuladmodelo por ĉi tiu IP subtenas nedeterminitan enigvaloron (X) al ĉi tiu signalo. Kiam vi provizas X-valoron al ĉi tiu enigo, la X-valoro estas disvastigita sur la eligsignaloj.
Koeficienta eniga signalo[0:3]al la dua multiplikato. La simuladmodelo por ĉi tiu IP subtenas nedeterminitan enigvaloron (X) al ĉi tiu signalo. Kiam vi provizas X-valoron al ĉi tiu enigo, la X-valoro estas disvastigita sur la eligsignaloj.
Koeficienta eniga signalo[0:3]al la tria multiplikato. La simuladmodelo por ĉi tiu IP subtenas nedeterminitan enigvaloron (X) al ĉi tiu signalo. Kiam vi provizas X-valoron al ĉi tiu enigo, la X-valoro estas disvastigita sur la eligsignaloj.
Koeficienta eniga signalo [0:3] al la kvara multiplikato. La simuladmodelo por ĉi tiu IP subtenas nedeterminitan enigvaloron (X) al ĉi tiu signalo. Kiam vi provizas X-valoron al ĉi tiu enigo, la X-valoro estas disvastigita sur la eligsignaloj.
Tablo 29. Multobligi Adder Intel FPGA IP Eligo Signaloj
Signalo
Bezonata
Priskribo
rezulto []
Jes
Multiplica eligo signalo. Eliga signalo [WIDTH_RESULT – 1 … 0] larĝa
La simuladmodelo por ĉi tiu IP subtenas nedeterminitan produktaĵvaloron (X). Kiam vi provizas X-valoron kiel la enigaĵon, la X-valoro estas disvastigita sur ĉi tiu signalo.
scanouta []
Ne
Eligo de skanĉeno A. Eliga signalo [WIDTH_A – 1..0] larĝa.
Elektu pli ol 2 por nombroj da multiplikiloj kaj elektu Scan ĉen-enigo por Kio estas la enigo A de la multiplikato konektita al parametro por ebligi ĉi tiun signalon.
Intel FPGA Integer Arithmetic IP Cores User Guide 46
Sendu Rimarkojn
8. Intel FPGA Multobligi Adder IP Kerno 683490 | 2020.10.05
8.6. Parametroj
8.6.1. Ĝenerala Tab
Tabelo 30. Ĝenerala Tab
Parametro
IP Generita Parametro
Valoro
Kio estas la nombro de multiplikiloj?
nombro_de_m 1 – 4 multiplikiloj
Kiom larĝaj devus esti la A width_a enirbusoj?
1 – 256
Kiom larĝaj devus esti la B width_b enirbusoj?
1 – 256
Kiom larĝa devus esti la "rezulta" eligobuso?
larĝo_rezulto
1 – 256
Kreu rilatan horloĝan ebligon por ĉiu horloĝo
gui_associate On d_clock_enbl Off e
8.6.2. Kromaj Reĝimoj Tab
Tabelo 31. Tabulo Kromaj Reĝimoj
Parametro
IP Generita Parametro
Valoro
Eligoj Agordo
Registri eliron de la aldonilo
gui_output_re On
gister
Malŝaltita
Kio estas la fonto por horloĝa enigo?
gui_output_re gister_clock
Horloĝo0 Horloĝo1 Horloĝo2
Kio estas la fonto por nesinkrona klara enigo?
gui_output_re gister_aclr
NENIU ACLR0 ACLR1
Kio estas la fonto por sinkrona klara enigo?
gui_output_re gister_sclr
NENIU SCLR0 SCLR1
Adder Operacio
Kian operacion oni faru sur eliroj de la unua paro de multiplikiloj?
gui_multiplicator 1_direkto
ALDONI, SUB, VARIABLOJ
Apriora Valoro 1
16
Priskribo
Nombro de multiplikiloj aldonotaj. Valoroj estas 1 ĝis 4. Specifu la larĝon de la datuma[] haveno.
16
Indiku la larĝon de la datumporto[].
32
Indiku la larĝon de la rezulto[] pordo.
Malŝaltita
Elektu ĉi tiun opcion por krei horloĝan ebligon
por ĉiu horloĝo.
Defaŭlta Valoro
Priskribo
For Horloĝo0
NENIU NENIU
Elektu ĉi tiun opcion por ebligi eligregistron de la aldonmodulo.
Elektu Clock0 , Clock1 aŭ Clock2 por ebligi kaj specifi la horloĝfonton por eligo-registroj. Vi devas elekti Registri eliron de la aldonunuo por ebligi ĉi tiun parametron.
Specifas la nesinkronan klaran fonton por la eligregistro de adiciulo. Vi devas elekti Registri eliron de la aldonunuo por ebligi ĉi tiun parametron.
Specifas la sinkronan klaran fonton por la eligregistro de adiciulo. Vi devas elekti Registri eliron de la aldonunuo por ebligi ĉi tiun parametron.
ALDONI
Elektu operacion de aldono aŭ subtraho por plenumi por la eliroj inter la unua kaj dua multiplikiloj.
· Elektu ADD por fari aldonan operacion.
· Elektu SUB por elfari operacion de subtraho.
· Elektu VARIABLON por uzi addnsub1-pordon por dinamika kontrolo de aldono/subtraho.
daŭrigis…
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 47
8. Intel FPGA Multobligi Adder IP Kerno 683490 | 2020.10.05
Parametro
IP Generita Parametro
Valoro
Registri 'addnsub1' enigo
gui_addnsub_ On multiplier_reg Off ister1
Kio estas la fonto por horloĝa enigo?
gui_addnsub_ multiplier_reg ister1_clock
Horloĝo0 Horloĝo1 Horloĝo2
Kio estas la fonto por nesinkrona klara enigo?
gui_addnsub_ multiplier_aclr 1
NENIU ACLR0 ACLR1
Kio estas la fonto por sinkrona klara enigo?
gui_addnsub_ multiplier_sclr 1
NENIU SCLR0 SCLR1
Kian operacion oni faru sur eliroj de la dua paro de multiplikiloj?
gui_multiplicator 3_direkto
ALDONI, SUB, VARIABLOJ
Registri 'addnsub3' enigo
gui_addnsub_ On multiplier_reg Off ister3
Kio estas la fonto por horloĝa enigo?
gui_addnsub_ multiplier_reg ister3_clock
Horloĝo0 Horloĝo1 Horloĝo2
Defaŭlta Valoro
For Clock0 NONE NONE ALDONI
For Horloĝo0
Priskribo
Kiam VARIABLA valoro estas elektita: · Stiri addnsub1 signalon al alta por
aldono operacio. · Veturi addnsub1 signalon al malalta por
subtraho operacio. Vi devas elekti pli ol du multiplikilojn por ebligi ĉi tiun parametron.
Elektu ĉi tiun opcion por ebligi enigregistron por addnsub1-haveno. Vi devas elekti VARIABLE por Kia operacio faru sur eliroj de la unua paro de multiplikiloj por ebligi ĉi tiun parametron.
Elektu Clock0 , Clock1 aŭ Clock2 por specifi la enigan horloĝsignalon por addnsub1-registro. Vi devas elekti Registri 'addnsub1' enigo por ebligi ĉi tiun parametron.
Specifas la nesinkronan klaran fonton por la registro addnsub1. Vi devas elekti Registri 'addnsub1' enigo por ebligi ĉi tiun parametron.
Specifas la sinkronan klaran fonton por la addnsub1-registro. Vi devas elekti Registri 'addnsub1' enigo por ebligi ĉi tiun parametron.
Elektu operacion de aldono aŭ subtraho por plenumi por la eliroj inter la tria kaj kvara multiplikiloj. · Elektu ALDONI por fari aldonon
operacio. · Elektu SUB por fari subtrahon
operacio. · Elektu VARIABON por uzi addnsub1
haveno por dinamika kontrolo de aldono/subtraho. Kiam VARIABLA valoro estas elektita: · Vetu addnsub1-signalon al alta por aldona operacio. · Veturi addnsub1 signalon al malalta por subtraho operacio. Vi devas elekti la valoron 4 por Kio estas la nombro de multiplikiloj? por ebligi ĉi tiun parametron.
Elektu ĉi tiun opcion por ebligi enigregistron por addnsub3-signalo. Vi devas elekti VARIABLO por Kia operacio devas esti farita sur eliroj de la dua paro de multiplikiloj por ebligi ĉi tiun parametron.
Elektu Clock0 , Clock1 aŭ Clock2 por specifi la enigan horloĝsignalon por addnsub3-registro. Vi devas elekti Registri 'addnsub3' enigo por ebligi ĉi tiun parametron.
daŭrigis…
Intel FPGA Integer Arithmetic IP Cores User Guide 48
Sendu Rimarkojn
8. Intel FPGA Multobligi Adder IP Kerno 683490 | 2020.10.05
Parametro
Kio estas la fonto por nesinkrona klara enigo?
IP Generita Parametro
Valoro
gui_addnsub_ multiplier_aclr 3
NENIU ACLR0 ACLR1
Kio estas la fonto por sinkrona klara enigo?
gui_addnsub_ multiplier_sclr 3
NENIU SCLR0 SCLR1
Polareco Ebligu `use_subadd'
gui_use_subn On
aldoni
Malŝaltita
8.6.3. Multiplikiloj Tab
Tabelo 32. Multipligaloj Tab
Parametro
IP Generita Parametro
Valoro
Kio estas la
gui_represent
reprezenta formato ation_a
por Multipligaloj A-enigaĵoj?
SIGNED, SENSIGNED, VARIABLE
Registru `signa' enigo
gui_register_s On
igna
Malŝaltita
Kio estas la fonto por horloĝa enigo?
gui_register_s igna_clock
Horloĝo0 Horloĝo1 Horloĝo2
Kio estas la fonto por nesinkrona klara enigo?
gui_register_s igna_aclr
NENIU ACLR0 ACLR1
Kio estas la fonto por sinkrona klara enigo?
gui_register_s igna_sclr
NENIU SCLR0 SCLR1
Kio estas la
gui_represent
reprezenta formato ation_b
por Multipliers B-enigaĵoj?
SIGNED, SENSIGNED, VARIABLE
Registru `signb' enigo
gui_register_s On
ignb
Malŝaltita
Defaŭlta valoro NONE
NENIUJ
Priskribo
Specifas la nesinkronan klaran fonton por la registro addnsub3. Vi devas elekti Registri 'addnsub3' enigo por ebligi ĉi tiun parametron.
Specifas la sinkronan klaran fonton por la addnsub3-registro. Vi devas elekti Registri 'addnsub3' enigo por ebligi ĉi tiun parametron.
Malŝaltita
Elektu ĉi tiun opcion por inversigi la funkcion
de addnsub enirhaveno.
Vetu addnsub al alta por subtraho operacio.
Vetu addnsub al malalta por aldona operacio.
Defaŭlta Valoro
Priskribo
SENSIGNED Indiku la reprezentan formaton por la multiplika A enigo.
Malŝaltita
Elektu ĉi tiun opcion por ebligi signon
registri.
Vi devas elekti VARIABLAN valoron por Kio estas la reprezenta formato por Multipligaloj A enigaĵoj? parametro por ebligi ĉi tiun opcion.
Horloĝo0
Elektu Clock0 , Clock1 aŭ Clock2 por ebligi kaj specifi la enigan horloĝsignalon por signa registro.
Vi devas elekti Registri `signa'-enigon por ebligi ĉi tiun parametron.
NENIUJ
Specifas la nesinkronan klaran fonton por la signa registro.
Vi devas elekti Registri `signa'-enigon por ebligi ĉi tiun parametron.
NENIUJ
Specifas la sinkronan klaran fonton por la signa registro.
Vi devas elekti Registri `signa'-enigon por ebligi ĉi tiun parametron.
SENSIGNED Indiku la reprezentan formaton por la multiplika B-enigo.
Malŝaltita
Elektu ĉi tiun opcion por ebligi signb
registri.
daŭrigis…
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 49
8. Intel FPGA Multobligi Adder IP Kerno 683490 | 2020.10.05
Parametro
IP Generita Parametro
Valoro
Defaŭlta Valoro
Kio estas la fonto por horloĝa enigo?
gui_register_s ignb_clock
Horloĝo0 Horloĝo1 Horloĝo2
Horloĝo0
Kio estas la fonto por nesinkrona klara enigo?
gui_register_s ignb_aclr
NENIU ACLR0 ACLR1
Kio estas la fonto por sinkrona klara enigo?
gui_register_s ignb_sclr
NENIU SCLR0 SCLR1
Eniga Agordo
Registri enigo A de la multiplikato
Kio estas la fonto por horloĝa enigo?
gui_input_reg On
ister_a
Malŝaltita
gui_input_reg ister_a_clock
Horloĝo0 Horloĝo1 Horloĝo2
NENIU NENIU
For Horloĝo0
Kio estas la fonto por nesinkrona klara enigo?
gui_input_reg ister_a_aclr
NENIU ACLR0 ACLR1
Kio estas la fonto por sinkrona klara enigo?
gui_input_reg ister_a_sclr
NENIU SCLR0 SCLR1
Registri enigo B de la multiplikato
Kio estas la fonto por horloĝa enigo?
gui_input_reg On
ister_b
Malŝaltita
gui_input_reg ister_b_clock
Horloĝo0 Horloĝo1 Horloĝo2
NENINU NENIO Off Clock0
Kio estas la fonto por nesinkrona klara enigo?
gui_input_reg ister_b_aclr
NENIU ACLR0 ACLR1
NENIUJ
Kio estas la fonto por sinkrona klara enigo?
gui_input_reg ister_b_sclr
NENIU SCLR0 SCLR1
NENIUJ
Al kio estas la enigo A de la multiplikisto konektita?
gui_multiplier Multiplier enigo Multiplier
_a_enigo
Skanita ĉena enigo enigo
Priskribo
Vi devas elekti VARIABLAN valoron por Kio estas la reprezenta formato por Multipliers B-enigaĵoj? parametro por ebligi ĉi tiun opcion.
Elektu Clock0 , Clock1 aŭ Clock2 por ebligi kaj specifi la enigan horloĝsignalon por signb-registro. Vi devas elekti Registri `signb' enigo por ebligi ĉi tiun parametron.
Specifas la nesinkronan klaran fonton por la signb-registro. Vi devas elekti Registri `signb' enigo por ebligi ĉi tiun parametron.
Specifas la sinkronan klaran fonton por la signb-registro. Vi devas elekti Registri `signb' enigo por ebligi ĉi tiun parametron.
Elektu ĉi tiun opcion por ebligi enigregistron por datumoja eniga buso.
Elektu Clock0 , Clock1 aŭ Clock2 por ebligi kaj specifi la registran enighorloĝsignalon por datumoja eniga buso. Por ebligi ĉi tiun parametron, vi devas elekti Registri enigaĵon A de la multiplikato.
Specifas la registran nesinkronan klaran fonton por la datuma eniga buso. Por ebligi ĉi tiun parametron, vi devas elekti Registri enigaĵon A de la multiplikato.
Specifas la registran sinkronan klaran fonton por la datuma enirbuso. Por ebligi ĉi tiun parametron, vi devas elekti Registri enigaĵon A de la multiplikato.
Elektu ĉi tiun opcion por ebligi enigregistron por datumba enigobuso.
Elektu Clock0 , Clock1 aŭ Clock2 por ebligi kaj specifi la registran enighorloĝsignalon por datumba eniga buso. Vi devas elekti Registri enigon B de la multiplikato por ebligi ĉi tiun parametron.
Specifas la registran nesinkronan klaran fonton por la datum-eniga buso. Vi devas elekti Registri enigon B de la multiplikato por ebligi ĉi tiun parametron.
Specifas la registran sinkronan klaran fonton por la datum-eniga buso. Vi devas elekti Registri enigon B de la multiplikato por ebligi ĉi tiun parametron.
Elektu la enigfonton por enigo A de la multiplikato.
daŭrigis…
Intel FPGA Integer Arithmetic IP Cores User Guide 50
Sendu Rimarkojn
8. Intel FPGA Multobligi Adder IP Kerno 683490 | 2020.10.05
Parametro
IP Generita Parametro
Valoro
Scanout A Registra Agordo
Registri eliron de la skana ĉeno
gui_scanouta On
_registri
Malŝaltita
Kio estas la fonto por horloĝa enigo?
gui_scanouta _registru_horloĝo k
Horloĝo0 Horloĝo1 Horloĝo2
Kio estas la fonto por nesinkrona klara enigo?
gui_scanouta _register_aclr
NENIU ACLR0 ACLR1
Kio estas la fonto por sinkrona klara enigo?
gui_scanouta _register_sclr
NENIU SCLR0 SCLR1
8.6.4. Predder Tab
Tabelo 33. Predder Tab
Parametro
IP Generita Parametro
Valoro
Elektu predderreĝimon
predder_mo de
SIMPLA, KOEF, ENIGO, KVAGRADO, KONSTANTA
Defaŭlta Valoro
Priskribo
Elektu Multiplier-enigo por uzi datumoja enigbuso kiel la fonto al la multiplikato. Elektu Skanan ĉen-enigon por uzi skanin-enigbuson kiel la fonton al la multiplikato kaj ebligi la skanitan eligbuson. Ĉi tiu parametro disponeblas kiam vi elektas 2, 3 aŭ 4 por Kio estas la nombro de multiplikiloj? parametro.
For Clock0 NENIU NENIU
Elektu ĉi tiun opcion por ebligi eligregistron por scanouta eligbuso.
Vi devas elekti Skanan ĉenan enigon por Kio estas la enigo A de la multiplikato konektita al? parametro por ebligi ĉi tiun opcion.
Elektu Clock0 , Clock1 aŭ Clock2 por ebligi kaj specifi la registran enighorloĝsignalon por scanouta eligobuso.
Vi devas ŝalti Registri eliron de la parametro de skana ĉeno por ebligi ĉi tiun opcion.
Specifas la registran nesinkronan klaran fonton por la skanouta eligbuso.
Vi devas ŝalti Registri eliron de la parametro de skana ĉeno por ebligi ĉi tiun opcion.
Specifas la registran sinkronan klaran fonton por la scanouta eligbuso.
Vi devas elekti Registri eliron de la parametro de skana ĉeno por ebligi ĉi tiun opcion.
Defaŭlta Valoro
SIMPLA
Priskribo
Specifas la operacian reĝimon por antaŭdiga modulo. SIMPLA: Ĉi tiu reĝimo preterpasas la antaŭdigon. Ĉi tiu estas la defaŭlta reĝimo. COEF: Ĉi tiu reĝimo utiligas la eligon de la predigilo kaj koefsel-enigbuso kiel la enigaĵojn al la multiplikisto. ENIGO: Ĉi tiu reĝimo utiligas la eligon de la antaŭigilo kaj datac-enigbuso kiel la enigaĵojn al la multiplikilo. Kvadrato: Ĉi tiu reĝimo uzas la eliron de la antaŭilo kiel ambaŭ la enigoj al la multiplikilo.
daŭrigis…
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 51
8. Intel FPGA Multobligi Adder IP Kerno 683490 | 2020.10.05
Parametro
IP Generita Parametro
Valoro
Elektu la direkton de la predisto
gui_preadder ADD,
_direkto
SUB
Kiom larĝaj devus esti la C width_c enirbusoj?
1 – 256
Datumoj C Eniga Registro-Agordo
Registri datuman enigaĵon
gui_datac_inp On
ut_registru
Malŝaltita
Kio estas la fonto por horloĝa enigo?
gui_datac_inp ut_register_cl ock
Horloĝo0 Horloĝo1 Horloĝo2
Kio estas la fonto por nesinkrona klara enigo?
gui_datac_inp ut_register_a clr
NENIU ACLR0 ACLR1
Kio estas la fonto por sinkrona klara enigo?
gui_datac_inp ut_register_sc lr
NENIU SCLR0 SCLR1
Koeficientoj
Kiom larĝa estu la koeflarĝo?
larĝo_koef
1 – 27
Koef-Registra Agordo
Registri la coefsel enigo
gui_coef_regi On
ster
Malŝaltita
Kio estas la fonto por horloĝa enigo?
gui_coef_regi ster_clock
Horloĝo0 Horloĝo1 Horloĝo2
Defaŭlta Valoro
ALDONI
16
Priskribo
KONSTANTA: Ĉi tiu reĝimo uzas datumojn en enigbuson kun predigilo preterpasita kaj koefsel-enigbuson kiel la enigaĵojn al la multiplikilo.
Specifas la funkciadon de la antaŭilo. Por ebligi ĉi tiun parametron, elektu la jenon por Elektu antaŭpredilan reĝimon: · KOEF · ENIGO · KVAGRADO aŭ · KONSTANTO
Specifas la nombron da bitoj por C-eniga buso. Por ebligi ĉi tiun parametron, vi devas elekti INPUT por Elektu predigilon.
Sur Horloĝo0 NENIU NENIU
Elektu ĉi tiun opcion por ebligi enigregistron por datac-enigbuso. Por ebligi ĉi tiun opcion, vi devas agordi INPUT al Elektu la parametron de predder-reĝimo.
Elektu Horloĝo0 , Horloĝo1 aŭ Horloĝo2 por specifi la enigan horloĝsignalon por datac eniga registro. Vi devas elekti Registri datuman enigaĵon por ebligi ĉi tiun parametron.
Specifas la nesinkronan klaran fonton por la datac-eniga registro. Vi devas elekti Registri datuman enigaĵon por ebligi ĉi tiun parametron.
Specifas la sinkronan klaran fonton por la datac-eniga registro. Vi devas elekti Registri datuman enigaĵon por ebligi ĉi tiun parametron.
18
Specifas la nombron da bitoj por
coefsel eniga buso.
Vi devas elekti COEF aŭ KONSTANTO por predder-reĝimo por ebligi ĉi tiun parametron.
Sur Horloĝo0
Elektu ĉi tiun opcion por ebligi enigregistron por koefsel-enigbuso. Vi devas elekti COEF aŭ KONSTANTO por predder-reĝimo por ebligi ĉi tiun parametron.
Elektu Clock0 , Clock1 aŭ Clock2 por specifi la enigan horloĝsignalon por koefsel-eniga registro. Vi devas elekti Registri la coefsel-enigon por ebligi ĉi tiun parametron.
daŭrigis…
Intel FPGA Integer Arithmetic IP Cores User Guide 52
Sendu Rimarkojn
8. Intel FPGA Multobligi Adder IP Kerno 683490 | 2020.10.05
Parametro
Kio estas la fonto por nesinkrona klara enigo?
IP Generita Parametro
Valoro
gui_coef_regi ster_aclr
NENIU ACLR0 ACLR1
Kio estas la fonto por sinkrona klara enigo
gui_coef_regi ster_sclr
NENIU SCLR0 SCLR1
Koeficiento_0 Agordo
koef0_0 al koef0_7
0x00000 0xFFFFFFF
Koeficiento_1 Agordo
koef1_0 al koef1_7
0x00000 0xFFFFFFF
Koeficiento_2 Agordo
koef2_0 al koef2_7
0x00000 0xFFFFFFF
Koeficiento_3 Agordo
koef3_0 al koef3_7
0x00000 0xFFFFFFF
8.6.5. Akumulilo Tab
Tabelo 34. Akumulilo Tab
Parametro
IP Generita Parametro
Valoro
Ĉu ebligi akumulilon?
akumulilo
JES NE
Kio estas la tipo de operacio de akumulilo?
accum_directi ADD,
on
SUB
Defaŭlta valoro NONE
NENIUJ
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0
Priskribo
Specifas la nesinkronan klaran fonton por la koefsel-eniga registro. Vi devas elekti Registri la coefsel-enigon por ebligi ĉi tiun parametron.
Specifas la sinkronan klaran fonton por la koefsel-eniga registro. Vi devas elekti Registri la coefsel-enigon por ebligi ĉi tiun parametron.
Specifas la koeficientajn valorojn por ĉi tiu unua multiplikato. La nombro da bitoj devas esti la sama kiel specifita en Kiom larĝa estu la koeflarĝo? parametro. Vi devas elekti COEF aŭ KONSTANTO por predder-reĝimo por ebligi ĉi tiun parametron.
Specifas la koeficientajn valorojn por ĉi tiu dua multiplikato. La nombro da bitoj devas esti la sama kiel specifita en Kiom larĝa estu la koeflarĝo? parametro. Vi devas elekti COEF aŭ KONSTANTO por predder-reĝimo por ebligi ĉi tiun parametron.
Specifas la koeficientajn valorojn por ĉi tiu tria multiplikato. La nombro da bitoj devas esti la sama kiel specifita en Kiom larĝa estu la koeflarĝo? parametro. Vi devas elekti COEF aŭ KONSTANTO por predder-reĝimo por ebligi ĉi tiun parametron.
Specifas la koeficientajn valorojn por ĉi tiu kvara multiplikato. La nombro da bitoj devas esti la sama kiel specifita en Kiom larĝa estu la koeflarĝo? parametro. Vi devas elekti COEF aŭ KONSTANTO por predder-reĝimo por ebligi ĉi tiun parametron.
Defaŭlta Valoro NO
ALDONI
Priskribo
Elektu JES por ebligi la akumulilon. Vi devas elekti Registri eliron de adiciulo kiam vi uzas akumulilon.
Specifas la funkciadon de la akumulilo: · ADD por aldona operacio · SUB por subtraho. Vi devas elekti JES por Ebligi akumulilon? parametro por ebligi ĉi tiun opcion.
daŭrigis…
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 53
8. Intel FPGA Multobligi Adder IP Kerno 683490 | 2020.10.05
Parametro
Antaŭŝarga Konstanto Ebligu antaŭŝarĝan konstanton
IP Generita Parametro
Valoro
gui_ena_prelo On
ad_konst
Malŝaltita
Al kio estas la enigo de akumula haveno konektita?
gui_accumula ACCUM_SLOAD, te_port_select SLOAD_ACCUM
Elektu valoron por antaŭŝarĝo loadconst_val 0 – 64
konstanta
ue
Kio estas la fonto por horloĝa enigo?
gui_accum_sl oad_register_ horloĝo
Horloĝo0 Horloĝo1 Horloĝo2
Kio estas la fonto por nesinkrona klara enigo?
gui_accum_sl oad_register_ aclr
NENIU ACLR0 ACLR1
Kio estas la fonto por sinkrona klara enigo?
gui_accum_sl oad_register_ sclr
NENIU SCLR0 SCLR1
Ebligu duoblan akumulilon
gui_double_a On
ccum
Malŝaltita
Defaŭlta Valoro
Priskribo
Malŝaltita
Ebligu la accum_sload aŭ
sload_accum signaloj kaj registri enigon
por dinamike elekti la enigon al la
akumulilo.
Kiam accum_sload estas malalta aŭ sload_accum, la multiplika eligo estas nutrata en la akumulilon.
Kiam accum_sload estas alta aŭ sload_accum, uzanto specifita antaŭŝarĝa konstanto estas nutrata en la akumulilon.
Vi devas elekti JES por Ebligi akumulilon? parametro por ebligi ĉi tiun opcion.
ACCUM_SL OAD
Specifas la konduton de accum_sload/ sload_accum signalo.
ACCUM_SLOAD: Vetu accum_sload malalte por ŝargi la multiplikan eligon al la akumulilo.
SLOAD_ACCUM: Vetu sload_accum alten por ŝargi la multiplikan eligon al la akumulilo.
Vi devas elekti Ebligi antaŭŝarĝan konstantan opcion por ebligi ĉi tiun parametron.
64
Indiku la antaŭfiksitan konstantan valoron.
Ĉi tiu valoro povas esti 2N kie N estas la antaŭfiksita konstanta valoro.
Kiam N=64, ĝi reprezentas konstantan nulon.
Vi devas elekti Ebligi antaŭŝarĝan konstantan opcion por ebligi ĉi tiun parametron.
Horloĝo0
Elektu Clock0 , Clock1 aŭ Clock2 por specifi la enigan horloĝsignalon por accum_sload/sload_accum-registro.
Vi devas elekti Ebligi antaŭŝarĝan konstantan opcion por ebligi ĉi tiun parametron.
NENIUJ
Specifas la nesinkronan klaran fonton por la registro accum_sload/sload_accum.
Vi devas elekti Ebligi antaŭŝarĝan konstantan opcion por ebligi ĉi tiun parametron.
NENIUJ
Specifas la sinkronan klaran fonton por la registro accum_sload/sload_accum.
Vi devas elekti Ebligi antaŭŝarĝan konstantan opcion por ebligi ĉi tiun parametron.
Malŝaltita
Ebligas la duoblan akumulregistron.
Intel FPGA Integer Arithmetic IP Cores User Guide 54
Sendu Rimarkojn
8. Intel FPGA Multobligi Adder IP Kerno 683490 | 2020.10.05
8.6.6. Sistola/Chainout Tab
Tabelo 35. Sistola/Chainout Adder Tab
Parametro Ebligu ĉenflugilon
IP Generita Parametro
Valoro
chainout_add JES,
er
NE
Kio estas la tipo de operacio de la ĉenigita vidulo?
chainout_add ADD,
er_direkto
SUB
Ĉu ebligi `negati'-enigon por ĉeniga aldonilo?
Port_negate
PORT_USED, PORT_UNUSED
Registri `neigi' enigon? neigi_registri er
NEREGISTRITA, HORLOĜO0, HORLOĜO1, HORLOĜO2, HORLOĜO3
Kio estas la fonto por nesinkrona klara enigo?
neigi_aclr
NENIU ACLR0 ACLR1
Kio estas la fonto por sinkrona klara enigo?
neigi_sclr
NENIU SCLR0 SCLR1
Sistola Malfruo
Ebligu sistolajn prokrastregistrojn
gui_systolic_d On
elay
Malŝaltita
Kio estas la fonto por horloĝa enigo?
gui_systolic_d CLOCK0,
elay_horloĝo
HORLOĜO1,
Defaŭlta Valoro
NE
Priskribo
Elektu JES por ebligi la modulon de ĉenigita aldonanto.
ALDONI
Specifas la operacion de ĉenĉeniga aldonanto.
Por subtrahi operacio, SIGNED devas esti elektita por Kio estas la reprezenta formato por Multipliers A enigaĵoj? kaj Kio estas la reprezenta formato por Multipliers B-enigaĵoj? en la Multiplikiloj.
PORT_UN UZITA
Elektu PORT_USED por ebligi neigi enigsignalon.
Ĉi tiu parametro estas malvalida kiam ĉeniga aldonilo estas malŝaltita.
NEREGISTRI ERED
Ebligi la enigregistron por neigi enigsignalon kaj precizigas la enighorloĝsignalon por neigi registron.
Elektu NERegistrita se la nea eniga registro al ne estas bezonata
Ĉi tiu parametro estas malvalida kiam vi elektas:
· NE por Ebligi ĉenflugilon aŭ
· PORT_UNUSED por Ebligi 'neigi' enigaĵon por ĉenigita aldonilo? parametro aŭ
NENIUJ
Specifas la nesinkronan klaran fonton por la neiga registro.
Ĉi tiu parametro estas malvalida kiam vi elektas:
· NE por Ebligi ĉenflugilon aŭ
· PORT_UNUSED por Ebligi 'neigi' enigaĵon por ĉenigita aldonilo? parametro aŭ
NENIUJ
Specifas la sinkronan klaran fonton por la neiga registro.
Ĉi tiu parametro estas malvalida kiam vi elektas:
· NE por Ebligi ĉenflugilon aŭ
· PORT_UNUSED por Ebligi 'neigi' enigaĵon por ĉenigita aldonilo? parametro aŭ
Malŝaltita CLOCK0
Elektu ĉi tiun opcion por ebligi sistolan reĝimon. Ĉi tiu parametro disponeblas kiam vi elektas 2 aŭ 4 por Kio estas la nombro de multiplikiloj? parametro. Vi devas ebligi la Registri-produktaĵon de la adiciunuo por uzi la sistolajn prokrastregistrojn.
Specifas la enigan horloĝsignalon por sistola prokrasta registro.
daŭrigis…
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 55
8. Intel FPGA Multobligi Adder IP Kerno 683490 | 2020.10.05
Parametro
IP Generita Parametro
Valoro
HORLOĜO2,
Kio estas la fonto por nesinkrona klara enigo?
gui_systolic_d elay_aclr
NENIU ACLR0 ACLR1
Kio estas la fonto por sinkrona klara enigo?
gui_systolic_d elay_sclr
NENIU SCLR0 SCLR1
Defaŭlta Valoro
NENIUJ
NENIUJ
Priskribo
Vi devas elekti ebligi sistolajn prokrastregistrojn por ebligi ĉi tiun opcion.
Specifas la nesinkronan klaran fonton por la sistola prokrasta registro. Vi devas elekti ebligi sistolajn prokrastregistrojn por ebligi ĉi tiun opcion.
Specifas la sinkronan klaran fonton por la sistola prokrasta registro. Vi devas elekti ebligi sistolajn prokrastregistrojn por ebligi ĉi tiun opcion.
8.6.7. Pipelining Tab
Tabelo 36. Pipelining Tab
Parametro Pipelining Agordo
IP Generita Parametro
Valoro
Ĉu vi volas aldoni duktoregistron al la enigo?
gui_pipelining Ne, Jes
Defaŭlta Valoro
Ne
Bonvolu specifi la
latenteco
nombro de latenta horloĝo
cikloj
Ajna valoro pli granda 0 ol 0
Kio estas la fonto por horloĝa enigo?
gui_input_late ncy_clock
CLOCK0, CLOCK1, CLOCK2
Kio estas la fonto por nesinkrona klara enigo?
gui_input_late ncy_aclr
NENIU ACLR0 ACLR1
Kio estas la fonto por sinkrona klara enigo?
gui_input_late ncy_sclr
NENIU SCLR0 SCLR1
CLOCK0 NONE NONE
Priskribo
Elektu Jes por ebligi plian nivelon de duktoregistro al la enigsignaloj. Vi devas specifi valoron pli granda ol 0 por Bonvolu specifi la parametron de la nombro de latencaj horloĝaj cikloj.
Specifas la deziratan latentecon en horloĝcikloj. Unu nivelo de duktoregistro = 1 latenteco en horloĝciklo. Vi devas elekti JES por Ĉu vi volas aldoni duktoregistron al la enigo? por ebligi ĉi tiun opcion.
Elektu Clock0 , Clock1 aŭ Clock2 por ebligi kaj specifi la duktoregistran enighorloĝsignalon. Vi devas elekti JES por Ĉu vi volas aldoni duktoregistron al la enigo? por ebligi ĉi tiun opcion.
Specifas la registron nesinkronan klaran fonton por la kroma duktoregistro. Vi devas elekti JES por Ĉu vi volas aldoni duktoregistron al la enigo? por ebligi ĉi tiun opcion.
Specifas la registron sinkronan klaran fonton por la kroma duktoregistro. Vi devas elekti JES por Ĉu vi volas aldoni duktoregistron al la enigo? por ebligi ĉi tiun opcion.
Intel FPGA Integer Arithmetic IP Cores User Guide 56
Sendu Rimarkojn
683490 | 2020.10.05 Sendu komentojn
9. ALTMEMMULT (Memo-bazita Konstanta Koeficienta Multipliganto) IP Kerno
Atentu:
Intel forigis la subtenon de ĉi tiu IP en Intel Quartus Prime Pro Edition versio 20.3. Se la IP-kerno en via dezajno celas aparatojn en Intel Quartus Prime Pro Edition, vi povas anstataŭigi la IP per LPM_MULT Intel FPGA IP aŭ regeneri la IP kaj kompili vian dezajnon per la programaro Intel Quartus Prime Standard Edition.
La ALTMEMMULT IP-kerno estas uzata por krei memor-bazitajn multiplikilojn uzante la surĉipajn memorblokojn trovitajn en Intel FPGA-oj (kun M512, M4K, M9K, kaj MLAB-memorblokoj). Ĉi tiu IP-kerno estas utila se vi ne havas sufiĉajn rimedojn por efektivigi la multiplikantojn en logikaj elementoj (LE) aŭ dediĉitaj multoblaj rimedoj.
La ALTMEMMULT IP-kerno estas sinkrona funkcio, kiu postulas horloĝon. La ALTMEMMULT IP-kerno efektivigas multiplikilon kun la plej malgranda trairo kaj latencia ebla por antaŭfiksita aro de parametroj kaj specifoj.
La sekva figuro montras la havenojn por la ALTMEMMULT IP-kerno.
Figuro 21. ALTMEMMULT Havenoj
ALTMEMMULT
datumoj_en[] sload_data koeff_in[]
rezulto[] rezulto_valida ŝarĝo_farita
sload_coeff
sclr horloĝo
inst
Rilataj Informoj Trajtoj sur paĝo 71
9.1. Karakterizaĵoj
La ALTMEMMULT IP-kerno ofertas la jenajn funkciojn: · Kreas nur memor-bazitajn multiplikilojn uzante sur-blatajn memorblokojn trovitajn en
Intel FPGA-oj · Subtenas datumlarĝon de 1 bitoj · Subtenas subskribitan kaj nesubskribitan datumformaton · Subtenas duptadon kun fiksa eliga latenco
Intel Corporation. Ĉiuj rajtoj rezervitaj. Intel, la Intel-emblemo kaj aliaj Intel-markoj estas varmarkoj de Intel Corporation aŭ ĝiaj filioj. Intel garantias agadon de siaj FPGA kaj duonkonduktaĵoj laŭ nunaj specifoj konforme al la norma garantio de Intel, sed rezervas la rajton fari ŝanĝojn al ajnaj produktoj kaj servoj iam ajn sen avizo. Intel supozas neniun respondecon aŭ respondecon de la apliko aŭ uzo de ajna informo, produkto aŭ servo priskribita ĉi tie krom kiel eksplicite konsentite skribe de Intel. Intel-klientoj estas konsilitaj akiri la lastan version de aparato-specifoj antaŭ ol fidi je ajnaj publikigitaj informoj kaj antaŭ ol fari mendojn por produktoj aŭ servoj. *Aliaj nomoj kaj markoj povas esti postulataj kiel posedaĵo de aliaj.
ISO 9001:2015 Registrita
9. ALTMEMMULT (Memo-bazita Konstanta Koeficienta Multipliganto) IP Kerno 683490 | 2020.10.05
· Stokas multoblajn konstantojn en hazarda alira memoro (RAM)
· Provizas eblon elekti la RAM-blokospecon
· Subtenas laŭvolajn sinkronajn klarajn kaj ŝarĝkontrolajn enigajn havenojn
9.2. Verilog HDL-Prototipo
La sekva Verilog HDL-prototipo situas en la Verilog Dezajno File (.v) altera_mf.v en la eda sinteza dosierujo.
module altmemmult #( parametro coeff_representation = “SIGNED”, parametro koeficient0 = “NEUZITA”, parametro data_representation = “SIGNED”, parametro intencita_device_family = “neuzata”, parametro max_clock_cycles_per_result = 1, parametro nombro_de_koeficientoj = “_1O, parametroj = “ram” total_latency = 1, parametro width_c = 1, parametro width_d = 1, parametro width_r = 1, parametro width_s = 1, parametro lpm_type = "altmemmult", parametro lpm_hint = "neuzata") ( eniga drato horloĝo, eniga drato [width_c-1: 0]coeff_in, eniga drato [width_d-1:0] data_in, eligo drato load_done, eligo drato [width_r-1:0] rezulto, eligo drato result_valid, enigo drato sclr, enigo drato [width_s-1:0] sel, enigo wire sload_coeff, input wire sload_data)/* sintezo syn_black_box=1 */; finmodulo
9.3. Deklaracio de VHDL Komponanto
La VHDL-komponentdeklaro situas en la VHDL-Dezajno File (.vhd) altera_mf_components.vhd en la dosierujo librariesvhdlaltera_mf.
component altmemmult generic ( koeff_representation:string := “SIGNED”; koeficient0:string := “NEUZITA”; data_representation:string := “SIGNED”; intencita_device_family:string := “neuzata”; maks_horloĝcikloj_po_rezulto:naturaj_de_1; := 1; ram_block_type:ŝnuro := “AUTO”; tuta_latenteco:natura; width_c:natura; width_d:natura; width_r:natura; width_s:natura := 1; lpm_hint:string := “NEUZITA”; lpm_type:string := "altmemmult"); port( horloĝo:in std_logic; coeff_in:in std_logic_vector (larĝo_c-1 malsupren ĝis 0) := (aliaj => '0'); data_in:in std_logic_vector (larĝo_d-1 malsupren ĝis 0);
Intel FPGA Integer Arithmetic IP Cores User Guide 58
Sendu Rimarkojn
9. ALTMEMMULT (Memo-bazita Konstanta Koeficienta Multipliganto) IP Kerno 683490 | 2020.10.05
load_done:out std_logic; rezulto:out std_logic_vector (larĝo_r-1 malsupren ĝis 0); result_valid:out std_logic; sclr:in std_logic := '0'; sel:in std_logic_vector(width_s-1 downto 0) := (aliaj => '0'); sload_coeff:in std_logic := '0'; sload_data:in std_logic := '0'); fina komponanto;
9.4. Havenoj
La sekvaj tabeloj listigas la enigajn kaj eligajn havenojn por la ALTMEMMULT IP-kerno.
Tabelo 37. ALTMEMMULT Enighavenoj
Haveno Nomo
Bezonata
Priskribo
horloĝo
Jes
Enigo de horloĝo al la multiplikato.
koeff_en[]
Ne
Koeficienta eniga haveno por la multiplikato. La grandeco de la eniga haveno dependas de la parametrovaloro WIDTH_C.
datumoj_en[]
Jes
Datum-eniga haveno al la multiplikato. La grandeco de la eniga haveno dependas de la parametrovaloro WIDTH_D.
sclr
Ne
Sinkrona klara enigo. Se ne uzata, la defaŭlta valoro estas aktiva alta.
sel[]
Ne
Fiksa koeficienta elekto. La grandeco de la eniga haveno dependas de la WIDTH_S
parametrovaloro.
sload_coeff
Ne
Sinkrona ŝarĝa koeficienta eniga haveno. Anstataŭigas la nunan elektitan koeficientan valoron per la valoro specifita en la enigo coeff_in.
ŝargi_datumojn
Ne
Sinkrona ŝarĝa datuma eniga haveno. Signalo kiu precizigas novan multiplikoperacion kaj nuligas ajnan ekzistantan multiplikoperacion. Se la parametro MAX_CLOCK_CYCLES_PER_RESULT havas valoron 1, la eniga haveno sload_data estas ignorita.
Tablo 38. ALTMEMMULT Eligo-Havenoj
Haveno Nomo
Bezonata
Priskribo
rezulto[]
Jes
Multiplica eligo haveno. La grandeco de la eniga haveno dependas de la parametrovaloro WIDTH_R.
rezulto_valida
Jes
Indikas kiam la eligo estas la valida rezulto de kompleta multipliko. Se la parametro MAX_CLOCK_CYCLES_PER_RESULT havas valoron 1, la eligpordo result_valid ne estas uzata.
ŝarĝo_farita
Ne
Indikas kiam la nova koeficiento finiĝis ŝarĝo. La signalo load_done asertas kiam nova koeficiento finiĝis. Krom se la load_done signalo estas alta, neniu alia koeficientvaloro povas esti ŝarĝita en la memoron.
9.5. Parametroj
La sekva tabelo listigas la parametrojn por la ALTMEMMULT IP-kerno.
Tabelo 39.
WIDTH_D WIDTH_C
ALTMEMMULT Parametroj
Parametro Nomo
Tipo Bezonata
Priskribo
Entjero Jes
Specifas la larĝon de la pordo data_in[].
Entjero Jes
Specifas la larĝon de la pordo coeff_in[]. daŭrigis…
Sendu Rimarkojn
Intel FPGA Integer Arithmetic IP Cores User Guide 59
9. ALTMEMMULT (Memo-bazita Konstanta Koeficienta Multipliganto) IP Kerno 683490 | 2020.10.05
Parametro Nomo WIDTH_R WIDTH
Dokumentoj/Rimedoj
![]() |
Intel FPGA Entjeraj Aritmetikaj IP Kernoj [pdf] Uzantogvidilo FPGA Entjeraj Aritmetikaj IP Kernoj, Entjeraj Aritmetikaj IP Kernoj, Aritmetikaj IP Kernoj, IP Kernoj |