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

Referencoj

Lasu komenton

Via retadreso ne estos publikigita. Bezonataj kampoj estas markitaj *