FPGA celočíselná aritmetická IP jádra
Uživatelská příručka Intel FPGA Integer Arithmetic IP Cores
Aktualizováno pro Intel® Quartus® Prime Design Suite: 20.3
Online verze Odeslat zpětnou vazbu
UG-01063
ID: 683490 Verze: 2020.10.05
Obsah
Obsah
1. Intel FPGA Integer Arithmetic IP Cores……………………………………………………………………….. 5
2. LPM_COUNTER (Counter) IP Core……………………………………………………………………………….. 7 2.1. Vlastnosti………………………………………………………………………………………………………………………7 2.2. Prototyp Verilog HDL……………………………………………………………………………….. 8 2.3. Prohlášení o komponentě VHDL……………………………………………………………………………….8 2.4. Prohlášení VHDL LIBRARY_USE……………………………………………………………………………………… 9 2.5. Přístavy………………………………………………………………………………………………………………………..9 2.6. Parametry………………………………………………………………………………………………… 10
3. LPM_DIVIDE (Divider) Intel FPGA IP Core……………………………………………………………….. 12 3.1. Funkce………………………………………………………………………………………………. 12 3.2. Prototyp Verilog HDL……………………………………………………………………………………… 12 3.3. Prohlášení o komponentě VHDL……………………………………………………………………………….. 13 3.4. Prohlášení VHDL LIBRARY_USE………………………………………………………………………………. 13 3.5. Přístavy……………………………………………………………………………………………………………………… 13 3.6. Parametry……………………………………………………………………………………………………… 14
4. LPM_MULT (Multiplikátor) IP Core…………………………………………………………………………………. 16 4.1. Funkce………………………………………………………………………………………………. 16 4.2. Prototyp Verilog HDL……………………………………………………………………………………… 17 4.3. Prohlášení o komponentě VHDL……………………………………………………………………………….. 17 4.4. Prohlášení VHDL LIBRARY_USE………………………………………………………………………………. 17 4.5. Signály……………………………………………………………………………………………………………… 18 4.6. Parametry pro zařízení Stratix V, Arria V, Cyclone V a Intel Cyclone 10 LP………………… 18 4.6.1. Záložka Obecné………………………………………………………………………………………………………18 4.6.2. Obecné 2 Tab……………………………………………………………………………………… 19 4.6.3. Karta Potrubí……………………………………………………………………………………… 19 4.7. Parametry pro zařízení Intel Stratix 10, Intel Arria 10 a Intel Cyclone 10 GX……….. 20 4.7.1. Záložka Obecné……………………………………………………………………………………………………… 20 4.7.2. Obecné 2 Tab……………………………………………………………………………………… 20 4.7.3. Potrubí……………………………………………………………………………………………… 21
5. LPM_ADD_SUB (Sčítač/Odečítač)………………………………………………………………………………… 22 5.1. Funkce………………………………………………………………………………………………. 22 5.2. Prototyp Verilog HDL……………………………………………………………………………………… 23 5.3. Prohlášení o komponentě VHDL……………………………………………………………………………….. 23 5.4. Prohlášení VHDL LIBRARY_USE………………………………………………………………………………. 23 5.5. Přístavy……………………………………………………………………………………………………………………… 23 5.6. Parametry………………………………………………………………………………………………… 24
6. LPM_COMPARE (srovnávač)……………………………………………………………………………………… 26 6.1. Funkce………………………………………………………………………………………………. 26 6.2. Prototyp Verilog HDL……………………………………………………………………………………… 27 6.3. Prohlášení o komponentě VHDL……………………………………………………………………………….. 27 6.4. Prohlášení VHDL LIBRARY_USE………………………………………………………………………………. 27 6.5. Přístavy……………………………………………………………………………………………………………………… 27 6.6. Parametry………………………………………………………………………………………………… 28
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 2
Odeslat zpětnou vazbu
Obsah
7. ALTECC (kód opravy chyb: kodér/dekodér) IP Core………………………………………… 30
7.1. Vlastnosti kodéru ALTECC………………………………………………………………………………..31 7.2. Prototyp Verilog HDL (ALTECC_ENCODER)…………………………………………………………. 32 7.3. Prototyp Verilog HDL (ALTECC_DECODER)…………………………………………………………. 32 7.4. Prohlášení o komponentě VHDL (ALTECC_ENCODER)…………………………………………………33 7.5. Deklarace komponent VHDL (ALTECC_DECODER)……………………………………………………33 7.6. Prohlášení VHDL LIBRARY_USE………………………………………………………………………………. 33 7.7. Porty kodéru……………………………………………………………………………………………… 33 7.8. Porty dekodéru………………………………………………………………………………………………………34 7.9. Parametry kodéru………………………………………………………………………………………… 34 7.10. Parametry dekodéru ……………………………………………………………………………… 35
8. Intel FPGA Multiply Adder IP Core………………………………………………………………………………. 36
8.1. Funkce………………………………………………………………………………………………. 37 8.1.1. Předpřidávání……………………………………………………………………………………………….. 38 8.1.2. Registr systolického zpoždění……………………………………………………………………….. 40 8.1.3. Konstanta předpětí……………………………………………………………………………………… 43 8.1.4. Dvojitý akumulátor……………………………………………………………………… 43
8.2. Prototyp Verilog HDL……………………………………………………………………………………… 44 8.3. Prohlášení o komponentě VHDL……………………………………………………………………………….. 44 8.4. Prohlášení VHDL LIBRARY_USE………………………………………………………………………………. 44 8.5. Signály……………………………………………………………………………………………………………… 44 8.6. Parametry………………………………………………………………………………………………………… 47
8.6.1. Záložka Obecné………………………………………………………………………………………………………47 8.6.2. Záložka Extra režimy………………………………………………………………………………….. 47 8.6.3. Záložka Multiplikátory……………………………………………………………………………………….. 49 8.6.4. Záložka Preader………………………………………………………………………………………. 51 8.6.5. Záložka Akumulátor……………………………………………………………………………….. 53 8.6.6. Systolická/řetězová karta………………………………………………………………………………. 55 8.6.7. Záložka potrubí……………………………………………………………………………………… 56
9. ALTMEMMULT (paměťový násobitel konstantního koeficientu) IP Core…………………… 57
9.1. Funkce………………………………………………………………………………………………. 57 9.2. Prototyp Verilog HDL……………………………………………………………………………………… 58 9.3. Prohlášení o komponentě VHDL……………………………………………………………………………….. 58 9.4. Porty……………………………………………………………………………………………………………………… 59 9.5. Parametry………………………………………………………………………………………………………… 59
10. ALTMULT_ACCUM (Multiply-Accumulate) IP Core……………………………………………………… 61
10.1. Vlastnosti………………………………………………………………………………………………………….. 62 10.2. Prototyp Verilog HDL………………………………………………………………………………………..62 10.3. Prohlášení o komponentě VHDL……………………………………………………………………………… 63 10.4. Prohlášení VHDL LIBRARY_USE………………………………………………………………………………………63 10.5. Porty …………………………………………………………………………………………………………. 63 10.6. Parametry………………………………………………………………………………………………. 64
11. ALTMULT_ADD (Multiply-Adder) IP Core…………………………………………………………………..69
11.1. Vlastnosti………………………………………………………………………………………………………….. 71 11.2. Prototyp Verilog HDL………………………………………………………………………………………..72 11.3. Prohlášení o komponentě VHDL……………………………………………………………………………… 72 11.4. Prohlášení VHDL LIBRARY_USE………………………………………………………………………………72
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 3
Obsah
11.5. Porty …………………………………………………………………………………………………………. 72 11.6. Parametry………………………………………………………………………………………………………. 73
12. ALTMULT_COMPLEX (komplexní multiplikátor) IP Core……………………………………………………… 86 12.1. Komplexní násobení …………………………………………………………………………………. 86 12.2. Kanonické zastoupení……………………………………………………………………………… 87 12.3. Konvenční zastoupení…………………………………………………………………………. 87 12.4. Vlastnosti………………………………………………………………………………………………………….. 88 12.5. Prototyp Verilog HDL………………………………………………………………………………………..88 12.6. Prohlášení o komponentě VHDL……………………………………………………………………………… 89 12.7. Prohlášení VHDL LIBRARY_USE………………………………………………………………………………89 12.8. Signály …………………………………………………………………………………………………. 89 12.9. Parametry………………………………………………………………………………………………………. 90
13. ALTSQRT (celá druhá odmocnina) IP Core……………………………………………………………………92 13.1. Vlastnosti………………………………………………………………………………………………………….. 92 13.2. Prototyp Verilog HDL………………………………………………………………………………………..92 13.3. Prohlášení o komponentě VHDL……………………………………………………………………………… 93 13.4. Prohlášení o použití VHDL LIBRARY_USE……………………………………………………………………………… 93 13.5. Porty …………………………………………………………………………………………………………. 93 13.6. Parametry………………………………………………………………………………………………………. 94
14. PARALLEL_ADD (paralelní sčítačka) IP Core………………………………………………………………….. 95 14.1. Funkce……………………………………………………………………………………………………………….95 14.2. Prototyp Verilog HDL………………………………………………………………………………………..95 14.3. Prohlášení o komponentě VHDL……………………………………………………………………………… 96 14.4. Prohlášení o použití VHDL LIBRARY_USE……………………………………………………………………………… 96 14.5. Porty………………………………………………………………………………………………………………. 96 14.6. Parametry………………………………………………………………………………………………. 97
15. Integer Arithmetic IP Cores Uživatelská příručka Archiv dokumentů………………………………… 98
16. Dokument Historie revizí pro Intel FPGA Integer Aritmetic IP Cores Uživatelská příručka…. 99
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 4
Odeslat zpětnou vazbu
683490 | 2020.10.05 Odeslat zpětnou vazbu
1. Intel FPGA Integer aritmetická IP jádra
K provádění matematických operací ve vašem návrhu můžete použít celočíselná IP jádra Intel® FPGA.
Tyto funkce nabízejí efektivnější logickou syntézu a implementaci zařízení než kódování vlastních funkcí. IP jádra můžete přizpůsobit svým požadavkům na design.
Intel celočíselná aritmetická IP jádra jsou rozdělena do následujících dvou kategorií: · Knihovna parametrizovaných modulů (LPM) IP jádra · Intel specifická (ALT) IP jádra
V následující tabulce jsou uvedena celočíselná aritmetická jádra IP.
Tabulka 1.
Seznam IP jader
IP jádra
LPM IP jádra
LPM_COUNTER
LPM_DIVIDE
LPM_MULT
LPM_ADD_SUB
LPM_COMPARE
Intel-specifická (ALT) IP jádra ALTECC
Funkce skončilaview Counter Dělič Multiplikátor
Sčítačka nebo odčítačka Komparátor
Kodér/dekodér ECC
Podporované zařízení
Arria® II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone® IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP,
Intel Cyclone 10 GX, MAX® II, MAX V, MAX 10, Stratix® IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX 10, Stratix IV, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX 10, Stratix IV, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP, MAX 10, MAX
II, MAX V, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP, MAX 10, MAX
II, MAX V, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V pokračování…
Intel Corporation. Všechna práva vyhrazena. Intel, logo Intel a další značky Intel jsou ochranné známky společnosti Intel Corporation nebo jejích dceřiných společností. Společnost Intel zaručuje výkon svých FPGA a polovodičových produktů podle aktuálních specifikací v souladu se standardní zárukou společnosti Intel, ale vyhrazuje si právo provádět změny jakýchkoli produktů a služeb kdykoli bez upozornění. Společnost Intel nepřebírá žádnou odpovědnost nebo závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb popsaných v tomto dokumentu, pokud to není výslovně písemně odsouhlaseno společností Intel. Zákazníkům společnosti Intel se doporučuje získat nejnovější verzi specifikací zařízení dříve, než se budou spoléhat na jakékoli zveřejněné informace a než zadají objednávky na produkty nebo služby. *Jiná jména a značky mohou být nárokovány jako vlastnictví jiných.
ISO 9001: 2015 Registrováno
1. Intel FPGA Integer Arithmetic IP Cores 683490 | 2020.10.05
IP jádra Intel FPGA Multiply Adder nebo ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
ALTSQRT
PARALLEL_ADD
Funkce skončilaview Multiplikátor-sčítačka
Multiplikátor konstantního koeficientu založený na paměti
Multiplikátor-Akumulátor Multiplikátor-Sčítačka
Komplexní multiplikátor
Celá odmocnina
Paralelní sčítačka
Podporované zařízení
Arria V, Stratix V, Cyclone V, Intel Stratix 10, Intel Arria 10, Intel Cyclone
10 GX
Arria II GX, Arria II GZ, Arria V, Intel Arria 10 (Intel Quartus® Prime Standard Edition), Cyclone IV E, Cyclone IV GX, Cyclone V, Intel
Cyclone 10 LP, MAX II, MAX V, MAX 10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Cyclone IV E, Cyclone IV GX, Intel Cyclone 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Cyclone IV E, Cyclone IV GX, Intel Cyclone 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Intel Arria 10, Arria V, Arria V GZ, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel
Cyclone 10 GX, Intel Cyclone 10 LP, MAX 10, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V
Související informace
· Poznámky k vydání Intel FPGA a programovatelných zařízení
· Úvod do Intel FPGA IP Cores Poskytuje více informací o Intel FPGA IP Cores.
· Uživatelská příručka k jádrům IP s plovoucí čárkou Poskytuje další informace o jádrech IP s plovoucí čárkou FPGA Intel.
Úvod do Intel FPGA IP Cores Poskytuje obecné informace o všech Intel FPGA IP jádrech, včetně parametrizace, generování, upgradu a simulace IP jader.
Vytváření verze-nezávislých IP a Qsys simulačních skriptů Vytvářejte simulační skripty, které nevyžadují ruční aktualizace pro aktualizace softwaru nebo verze IP.
· Pokyny pro nejlepší postupy projektového řízení pro efektivní správu a přenositelnost vašeho projektu a IP files.
· Integer Arithmetic IP Cores Uživatelská příručka Archivy dokumentů na straně 98 Poskytuje seznam uživatelských příruček pro předchozí verze jader Integer Aritmetic IP.
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 6
Odeslat zpětnou vazbu
683490 | 2020.10.05 Odeslat zpětnou vazbu
2. LPM_COUNTER (Counter) IP Core
Obrázek 1.
Jádro IP LPM_COUNTER je binární čítač, který vytváří čítače nahoru, dolů a nahoru nebo dolů s výstupy o šířce až 256 bitů.
Následující obrázek ukazuje porty pro jádro IP LPM_COUNTER.
Porty LPM_COUNTER
LPM_COUNTER
ssclr načíst data sady[]
q[]
aktualizovat
cout
aclr aload aktivum
clk_en cnt_en cin
inst
2.1. Vlastnosti
Jádro IP LPM_COUNTER nabízí následující funkce: · Generuje čítače nahoru, dolů a nahoru/dolů · Generuje následující typy čítačů:
— Plain binary – počítadlo se zvyšuje od nuly nebo snižuje od 255
— Modul – počítadlo se zvyšuje nebo snižuje od hodnoty modulu zadané uživatelem a opakuje se
· Podporuje volitelné synchronní vstupní porty pro vymazání, načtení a nastavení · Podporuje volitelné asynchronní vstupní porty pro vymazání, načtení a nastavení · Podporuje volitelné vstupní porty pro povolení počítání a pro taktování · Podporuje volitelné porty pro přenos a přenos
Intel Corporation. Všechna práva vyhrazena. Intel, logo Intel a další značky Intel jsou ochranné známky společnosti Intel Corporation nebo jejích dceřiných společností. Společnost Intel zaručuje výkon svých FPGA a polovodičových produktů podle aktuálních specifikací v souladu se standardní zárukou společnosti Intel, ale vyhrazuje si právo provádět změny jakýchkoli produktů a služeb kdykoli bez upozornění. Společnost Intel nepřebírá žádnou odpovědnost nebo závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb popsaných v tomto dokumentu, pokud to není výslovně písemně odsouhlaseno společností Intel. Zákazníkům společnosti Intel se doporučuje získat nejnovější verzi specifikací zařízení dříve, než se budou spoléhat na jakékoli zveřejněné informace a než zadají objednávky na produkty nebo služby. *Jiná jména a značky mohou být nárokovány jako vlastnictví jiných.
ISO 9001: 2015 Registrováno
2. LPM_COUNTER (Counter) IP Core
683490 2020.10.05 XNUMX | XNUMX XNUMX XNUMX
2.2. Prototyp Verilog HDL
Následující prototyp Verilog HDL je umístěn v Verilog Design File (.v) lpm.v v adresář edasynthesis.
modul lpm_counter ( q, data, hodiny, cin, cout, clk_en, cnt_en, updown, asset, aclr, aload, sset, sclr, sload, eq ); parametr lpm_type = “lpm_counter”; parametr lpm_width = 1; parametr lpm_modulus = 0; parametr lpm_direction = “NEPOUŽITÝ”; parametr lpm_avalue = “NEPOUŽITÝ”; parametr lpm_svalue = „NEPOUŽITÝ“; parametr lpm_pvalue = “NEPOUŽITÝ”; parametr lpm_port_updown = “PORT_CONNECTIVITY”; parametr lpm_hint = “NEPOUŽITÝ”; výstup [lpm_width-1:0] q; výstupní cout; výstup [15:0] ekv.; vstupní cin; vstupní data [lpm_width-1:0]; vstupní hodiny, clk_en, cnt_en, updown; vstupní aktivum, aclr, aload; vstup sset, sclr, zatížení; koncový modul
2.3. Deklarace komponent VHDL
Deklarace komponenty VHDL se nachází v návrhu VHDL File (.vhd) LPM_PACK.vhd v souboru adresář librariesvhdllpm.
komponenta LPM_COUNTER generická ( LPM_WIDTH : přirozený; LPM_MODULUS : přirozený := 0; LPM_DIRECTION : řetězec := „NEPOUŽITÝ“; LPM_AVALUE : řetězec := „NEPOUŽITÝ“; LPM_SVALUE : řetězec := „NEPOUŽITÝ“; LPM_PORT_UPDOWN: „řetězec“ PORT_UPDOWN ; LPM_PVALUE : string := “NEPOUŽITÝ”; port (DATA : ve std_logic_vector(LPM_WIDTH-1 až 0):= (JINÉ =>
'0'); HODINY: v std_logic; CLK_EN : in std_logic := '1'; CNT_EN : in std_logic := '1'; NAHORU : in std_logic := '1'; SLOAD : in std_logic := '0'; SSET : in std_logic := '0'; SCLR : in std_logic := '0'; ALOAD : in std_logic := '0'; ASET : in std_logic := '0'; ACLR : in std_logic := '0'; CIN : in std_logic := '1'; COUT : out std_logic := '0'; Q: out std_logic_vector(LPM_WIDTH-1 až na 0); EQ: out std_logic_vector(15 až 0));
koncová součást;
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 8
Odeslat zpětnou vazbu
2. LPM_COUNTER (Counter) IP Core 683490 | 2020.10.05
2.4. Prohlášení VHDL LIBRARY_USE
Deklarace VHDL LIBRARY-USE není vyžadována, pokud používáte deklaraci VHDL Component Declaration.
KNIHOVNA lpm; USE lpm.lpm_components.all;
2.5. Porty
V následujících tabulkách jsou uvedeny vstupní a výstupní porty pro jádro IP LPM_COUNTER.
Tabulka 2.
Vstupní porty LPM_COUNTER
Název portu
Požadovaný
Popis
data[]
Žádný
Paralelní vstup dat do čítače. Velikost vstupního portu závisí na hodnotě parametru LPM_WIDTH.
hodiny
Ano
Hodinový vstup spouštěný kladnou hranou.
clk_cs
Žádný
Hodiny umožňují vstup pro povolení všech synchronních aktivit. Pokud je vynechán, výchozí hodnota je 1.
cnt_en
Žádný
Vstup Count enable pro deaktivaci počtu, když je uplatněn nízký, aniž by to ovlivnilo zatížení, sset nebo sclr. Pokud je vynechán, výchozí hodnota je 1.
aktualizovat
Žádný
Řídí směr počítání. Při aktivaci vysoké (1) je směr počítání nahoru a při uplatnění nízké (0) je směr počítání dolů. Pokud je použit parametr LPM_DIRECTION, updown port nelze připojit. Pokud není použit LPM_DIRECTION, updown port je volitelný. Pokud je vynechán, výchozí hodnota je nahoru (1).
cin
Žádný
Carry-in do bitu nízkého řádu. U čítačů up je chování vstupu cin
identické s chováním vstupu cnt_en. Pokud je vynechán, výchozí hodnota je 1
(VCC).
aclr
Žádný
Asynchronní čistý vstup. Pokud jsou použity a uplatněny jak aset, tak aclr, aclr přepíše aktivum. Pokud je vynechán, výchozí hodnota je 0 (zakázáno).
aktivum
Žádný
Vstup asynchronní sady. Určuje výstupy q[] jako všechny 1 nebo na hodnotu určenou parametrem LPM_AVALUE. Pokud jsou použity a potvrzeny porty aset i aclr, hodnota portu aclr přepíše hodnotu portu aset. Pokud je vynechán, výchozí hodnota je 0, zakázáno.
naložit
Žádný
Asynchronní zátěžový vstup, který asynchronně načte čítač s hodnotou na datovém vstupu. Když je použit port aload, musí být připojen port data[]. Pokud je vynechán, výchozí hodnota je 0, zakázáno.
sclr
Žádný
Synchronní clear vstup, který vymaže čítač na další aktivní hraně hodin. Pokud jsou použity a potvrzeny oba porty sset i sclr, hodnota portu sclr přepíše hodnotu portu sset. Pokud je vynechán, výchozí hodnota je 0, zakázáno.
sset
Žádný
Synchronní nastavený vstup, který nastavuje čítač na další aktivní hranu hodin. Určuje hodnotu q výstupů jako všechny 1 nebo na hodnotu určenou parametrem LPM_SVALUE. Pokud jsou použity a potvrzeny oba porty sset a sclr,
hodnota portu sclr přepíše hodnotu portu sset. Pokud je vynechán, výchozí hodnota je 0 (zakázáno).
zatížení
Žádný
Synchronní zátěžový vstup, který načte čítač daty[] na další aktivní hraně hodin. Při použití portu zátěže musí být připojen port data[]. Pokud je vynechán, výchozí hodnota je 0 (zakázáno).
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 9
2. LPM_COUNTER (Counter) IP Core 683490 | 2020.10.05
Tabulka 3.
LPM_COUNTER Výstupní porty
Název portu
Požadovaný
Popis
q[]
Žádný
Výstup dat z čítače. Velikost výstupního portu závisí na
Hodnota parametru LPM_WIDTH. Buď q[] nebo alespoň jeden z portů eq[15..0]
musí být připojeno.
ekv[15..0]
Žádný
Výstup dekódování čítače. Port eq[15..0] není v editoru parametrů přístupný, protože parametr podporuje pouze AHDL.
Musí být připojen buď port q[] nebo eq[]. Lze použít až c eq portů (0 <= c <= 15). Dekóduje se pouze 16 nejnižších hodnot počtu. Když je načítaná hodnota c, výstup eqc je uplatňován jako vysoký (1). Napřample, když je počet 0, eq0 = 1, když je počet 1, eq1 = 1, a když je počet 15, eq 15 = 1. Dekódovaný výstup pro hodnoty počtu 16 nebo větší vyžaduje externí dekódování. Výstupy eq[15..0] jsou asynchronní s výstupem q[].
cout
Žádný
Prováděcí port bitu MSB čítače. Lze jej použít k propojení s dalším pultem a vytvořit tak větší pult.
2.6. Parametry
V následující tabulce jsou uvedeny parametry pro jádro IP LPM_COUNTER.
Tabulka 4.
Parametry LPM_COUNTER
Název parametru
Typ
LPM_WIDTH
Celé číslo
LPM_DIRECTION
Řetězec
LPM_MODULUS LPM_AVALUE
Celé číslo
Celé číslo/ řetězec
LPM_SVALUE LPM_HINT
Celé číslo/ řetězec
Řetězec
LPM_TYPE
Řetězec
Požadováno Ano Ne Ne Ne
Ne Ne
Žádný
Popis
Určuje šířky portů data[] a q[], pokud jsou použity.
Hodnoty jsou UP, DOWN a UNUSED. Pokud je použit parametr LPM_DIRECTION, updown port nelze připojit. Pokud není připojen updown port, výchozí hodnota parametru LPM_DIRECTION je UP.
Maximální počet plus jedna. Počet jedinečných stavů v cyklu čítače. Pokud je hodnota zatížení větší než parametr LPM_MODULUS, chování čítače není specifikováno.
Konstantní hodnota, která se načte, když je aktivum označeno jako vysoké. Pokud je zadaná hodnota větší nebo rovna , chování čítače je nedefinovaná (X) logická úroveň, kde je LPM_MODULUS, pokud existuje, nebo 2 ^ LPM_WIDTH. Společnost Intel doporučuje zadat tuto hodnotu jako desetinné číslo pro návrhy AHDL.
Konstantní hodnota, která je načtena na náběžné hraně portu hodin, když je port sset prosazován jako vysoký. Společnost Intel doporučuje zadat tuto hodnotu jako desetinné číslo pro návrhy AHDL.
Když vytvoříte instanci funkce knihovny parametrizovaných modulů (LPM) v návrhu VHDL File (.vhd), musíte použít parametr LPM_HINT k určení parametru specifického pro Intel. Napřample: LPM_HINT = “VELIKOST_ŘETĚZCE = 8, ONE_INPUT_IS_CONSTANT = ANO”
Výchozí hodnota je UNUSED.
Identifikuje název entity knihovny parametrizovaných modulů (LPM) v návrhu VHDL files.
pokračování…
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 10
Odeslat zpětnou vazbu
2. LPM_COUNTER (Counter) IP Core 683490 | 2020.10.05
Název parametru INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN
Zadejte Řetězec Řetězec
Řetězec
Řetězec
Vyžadováno Ne Ne
Žádný
Žádný
Popis
Tento parametr se používá pro účely modelování a simulace chování. Tento parametr se používá pro účely modelování a simulace chování. Editor parametrů vypočítá hodnotu tohoto parametru.
Parametr specifický pro Intel. Chcete-li zadat parametr CARRY_CNT_EN v návrhu VHDL, musíte použít parametr LPM_HINT files. Hodnoty jsou SMART, ON, OFF a UNUSED. Umožňuje funkci LPM_COUNTER šířit signál cnt_en prostřednictvím řetězce přenosu. V některých případech může mít nastavení parametru CARRY_CNT_EN mírný vliv na rychlost, takže jej možná budete chtít vypnout. Výchozí hodnota je SMART, která poskytuje nejlepší kompromis mezi velikostí a rychlostí.
Parametr specifický pro Intel. K určení parametru LABWIDE_SCLR v návrhu VHDL musíte použít parametr LPM_HINT files. Hodnoty jsou ON, OFF nebo UNUSED. Výchozí hodnota je ON. Umožňuje zakázat použití funkce LABwide sclr, která se nachází v zastaralých rodinách zařízení. Vypnutí této možnosti zvyšuje šance na plné využití částečně zaplněných LAB, a proto může umožnit vyšší logickou hustotu, když SCLR neplatí pro kompletní LAB. Tento parametr je k dispozici pro zpětnou kompatibilitu a společnost Intel doporučuje tento parametr nepoužívat.
Určuje použití vstupního portu updown. Pokud je vynecháno, výchozí hodnota je PORT_CONNECTIVITY. Když je hodnota portu nastavena na PORT_USED, je port považován za použitý. Když je hodnota portu nastavena na PORT_UNUSED, je port považován za nepoužívaný. Když je hodnota portu nastavena na PORT_CONNECTIVITY, využití portu je určeno kontrolou připojení portu.
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 11
683490 | 2020.10.05 Odeslat zpětnou vazbu
3. LPM_DIVIDE (Divider) Intel FPGA IP Core
Obrázek 2.
Jádro LPM_DIVIDE Intel FPGA IP implementuje dělič pro dělení vstupní hodnoty čitatele vstupní hodnotou jmenovatele, aby se vytvořil podíl a zbytek.
Následující obrázek ukazuje porty pro jádro IP LPM_DIVIDE.
Porty LPM_DIVIDE
LPM_DIVIDE
numer[] denom[] hodiny
kvocient[] zůstat[]
clken aclr
inst
3.1. Vlastnosti
Jádro IP LPM_DIVIDE nabízí následující funkce: · Generuje dělič, který dělí vstupní hodnotu čitatele vstupem jmenovatele
hodnotu pro vytvoření kvocientu a zbytku. · Podporuje šířku dat 1 bitů. · Podporuje podepsaný a nepodepsaný formát reprezentace dat pro oba čitatel
a hodnoty jmenovatele. · Podporuje optimalizaci oblasti nebo rychlosti. · Poskytuje možnost zadat kladný zbytek výstupu. · Podporuje zřetězení konfigurovatelné výstupní latence. · Podporuje volitelné asynchronní čisté a taktovací porty.
3.2. Prototyp Verilog HDL
Následující prototyp Verilog HDL je umístěn v Verilog Design File (.v) lpm.v v adresář edasynthesis.
modul lpm_divide ( kvocient, zůstat, číslo, denom, hodiny, clken, aclr); parametr lpm_type = “lpm_divide”; parametr lpm_widthn = 1; parametr lpm_widthd = 1; parametr lpm_nrepresentation = “UNSIGNED”; parametr lpm_drepresentation = “UNSIGNED”; parametr lpm_remainderpositive = “PRAVDA”; parametr lpm_pipeline = 0;
Intel Corporation. Všechna práva vyhrazena. Intel, logo Intel a další značky Intel jsou ochranné známky společnosti Intel Corporation nebo jejích dceřiných společností. Společnost Intel zaručuje výkon svých FPGA a polovodičových produktů podle aktuálních specifikací v souladu se standardní zárukou společnosti Intel, ale vyhrazuje si právo provádět změny jakýchkoli produktů a služeb kdykoli bez upozornění. Společnost Intel nepřebírá žádnou odpovědnost nebo závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb popsaných v tomto dokumentu, pokud to není výslovně písemně odsouhlaseno společností Intel. Zákazníkům společnosti Intel se doporučuje získat nejnovější verzi specifikací zařízení dříve, než se budou spoléhat na jakékoli zveřejněné informace a než zadají objednávky na produkty nebo služby. *Jiná jména a značky mohou být nárokovány jako vlastnictví jiných.
ISO 9001: 2015 Registrováno
3. LPM_DIVIDE (Divider) Intel FPGA IP Core 683490 | 2020.10.05
parametr lpm_hint = “NEPOUŽITÝ”; vstupní hodiny; vstup clken; vstupní aclr; vstup [lpm_widthn-1:0] číslo; vstup [lpm_widthd-1:0] denom; výstupní [lpm_widthn-1:0] kvocient; výstup [lpm_widthd-1:0] zůstává; koncový modul
3.3. Deklarace komponent VHDL
Deklarace komponenty VHDL se nachází v návrhu VHDL File (.vhd) LPM_PACK.vhd v souboru adresář librariesvhdllpm.
složka LPM_DIVIDE generická (LPM_WIDTHN : přírodní; LPM_WIDTHD : přírodní;
LPM_NREPRESENTATION : string := “UNSIGNED”; LPM_DREPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : natural := 0; LPM_TYPE : string := L_DIVIDE; LPM_HINT : string := “NEPOUŽITÉ”); port (NUMER: ve std_logic_vector(LPM_WIDTHN-1 až na 0); DENOM: v std_logic_vector(LPM_WIDTHD-1 až na 0); ACLR: ve std_logic:= '0'; CLOCK: v std_logic := '0: in; CLKENlogic := '1' QUOTIENT : out std_logic_vector(LPM_WIDTHN-1 downto 0 REMAIN : out std_logic_vector(LPM_WIDTHD-1 downto 0)); koncová součást;
3.4. Prohlášení VHDL LIBRARY_USE
Deklarace VHDL LIBRARY-USE není vyžadována, pokud používáte deklaraci VHDL Component Declaration.
KNIHOVNA lpm; USE lpm.lpm_components.all;
3.5. Porty
V následujících tabulkách jsou uvedeny vstupní a výstupní porty pro jádro IP LPM_DIVIDE.
Tabulka 5.
Vstupní porty LPM_DIVIDE
Název portu
Požadovaný
číslo[]
Ano
denom[]
Ano
Popis
Vstup dat čitatele. Velikost vstupního portu závisí na hodnotě parametru LPM_WIDTHN.
Vstup dat jmenovatele. Velikost vstupního portu závisí na hodnotě parametru LPM_WIDTHD.
pokračování…
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 13
3. LPM_DIVIDE (Divider) Intel FPGA IP Core 683490 | 2020.10.05
Název portu hodiny clken
aclr
Vyžadováno Ne Ne
Žádný
Popis
Vstup hodin pro zřetězené použití. Pro hodnoty LPM_PIPELINE jiné než 0 (výchozí) musí být povolen port hodin.
Hodiny umožňují zřetězené použití. Když je port clken nastaven jako vysoký, dojde k operaci rozdělení. Když je signál nízký, neproběhne žádná operace. Pokud je vynechán, výchozí hodnota je 1.
Asynchronní čistý port používaný kdykoli k resetování potrubí na všechny '0' asynchronně k hodinovému vstupu.
Tabulka 6.
LPM_DIVIDE Výstupní porty
Název portu
Požadovaný
Popis
kvocient[]
Ano
Výstup dat. Velikost výstupního portu závisí na LPM_WIDTHN
hodnota parametru.
zůstat[]
Ano
Výstup dat. Velikost výstupního portu závisí na LPM_WIDTHD
hodnota parametru.
3.6. Parametry
V následující tabulce jsou uvedeny parametry pro jádro IP LPM_DIVIDE Intel FPGA.
Název parametru
Typ
Požadovaný
Popis
LPM_WIDTHN
Celé číslo
Ano
Určuje šířky numer[] a
kvocient[] portů. Hodnoty jsou 1 až 64.
LPM_WIDTHD
Celé číslo
Ano
Určuje šířky denom[] a
zůstávají[] porty. Hodnoty jsou 1 až 64.
LPM_NREPRESENTATION LPM_DREPRESENTATION
Řetězec Řetězec
Žádný
Znaménková reprezentace vstupu čitatele.
Hodnoty jsou SIGNED a UNSIGNED. Když tohle
parametr je nastaven na SIGNED, dělič
interpretuje vstup numer[] jako dvojku se znaménkem
doplněk.
Žádný
Znaménková reprezentace vstupu jmenovatele.
Hodnoty jsou SIGNED a UNSIGNED. Když tohle
parametr je nastaven na SIGNED, dělič
interpretuje vstup denom[] jako dvojku se znaménkem
doplněk.
LPM_TYPE
Řetězec
Žádný
Identifikuje knihovnu parametrizovaných
název entity modulů (LPM) v návrhu VHDL
files (.vhd).
LPM_HINT
Řetězec
Žádný
Když vytvoříte instanci knihovny
Parametrizované moduly (LPM) fungují v a
Design VHDL File (.vhd), musíte použít
Parametr LPM_HINT pro specifikaci Intel-
konkrétní parametr. Napřampsoubor: LPM_HINT
= “CHAIN_SIZE = 8,
ONE_INPUT_IS_CONSTANT = YES” The
výchozí hodnota je NEPOUŽITÁ.
LPM_REMAINDERPOSITIVE
Řetězec
Žádný
Parametr specifický pro Intel. Musíte použít
LPM_HINT parametr k určení
Parametr LPM_REMAINDERPOSITIVE v
VHDL design files. Hodnoty jsou TRUE nebo FALSE.
Pokud je tento parametr nastaven na hodnotu TRUE, pak je
hodnota zbývajícího [] portu musí být větší
pokračování…
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 14
Odeslat zpětnou vazbu
3. LPM_DIVIDE (Divider) Intel FPGA IP Core 683490 | 2020.10.05
Název parametru
Typ
MAXIMIZE_SPEED
Celé číslo
LPM_PIPELINE
Celé číslo
INTENDED_DEVICE_FAMILY SKIP_BITS
Řetězec Celé číslo
Požadované č
Ne Ne Ne
Popis
než nebo rovno nule. Pokud je tento parametr nastaven na hodnotu TRUE, pak je hodnota zbývajícího portu [] buď nula, nebo je hodnota stejného znaménka, ať už kladného nebo záporného, jako hodnota portu s číslem. Aby se zmenšila oblast a zlepšila rychlost, společnost Intel doporučuje nastavit tento parametr na hodnotu TRUE v operacích, kde zbytek musí být kladný nebo kde zbytek není důležitý.
Parametr specifický pro Intel. Chcete-li zadat parametr MAXIMIZE_SPEED v návrhu VHDL, musíte použít parametr LPM_HINT. files. Hodnoty jsou [0..9]. Pokud je použit, software Intel Quartus Prime se pokusí optimalizovat konkrétní instanci funkce LPM_DIVIDE pro rychlost spíše než pro směrování a přepíše nastavení možnosti logiky optimalizační techniky. Pokud se MAXIMIZE_SPEED nepoužívá, použije se místo toho hodnota možnosti Technika optimalizace. Pokud je hodnota MAXIMIZE_SPEED 6 nebo vyšší, kompilátor optimalizuje jádro IP LPM_DIVIDE pro vyšší rychlost pomocí přenosových řetězců; pokud je hodnota 5 nebo méně, kompilátor implementuje návrh bez přenosových řetězců.
Určuje počet hodinových cyklů latence spojených s výstupy kvocient[] a zůstat[]. Hodnota nula (0) znamená, že neexistuje žádná latence a že je vytvořena instance čistě kombinační funkce. Pokud je vynechán, výchozí hodnota je 0 (non-pipelined). Pro parametr LPM_PIPELINE nemůžete zadat hodnotu vyšší než LPM_WIDTHN.
Tento parametr se používá pro účely modelování a simulace chování. Editor parametrů vypočítá hodnotu tohoto parametru.
Umožňuje efektivnější dělení zlomků bitů pro optimalizaci logiky na vedoucích bitech poskytnutím počtu vedoucích GND k jádru IP LPM_DIVIDE. Určete počet úvodních GND na kvocientovém výstupu tohoto parametru.
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 15
683490 | 2020.10.05 Odeslat zpětnou vazbu
4. LPM_MULT (Multiplikátor) IP Core
Obrázek 3.
Jádro IP LPM_MULT implementuje multiplikátor pro násobení dvou vstupních datových hodnot pro vytvoření produktu jako výstupu.
Následující obrázek ukazuje porty pro jádro IP LPM_MULT.
LPM_Mult Ports
LPM_MULT clock dataa[] result[] datab[] aclr/sclr clken
inst
Související informace Funkce na straně 71
4.1. Vlastnosti
Jádro IP LPM_MULT nabízí následující funkce: · Generuje multiplikátor, který násobí dvě vstupní datové hodnoty · Podporuje šířku dat 1 bitů · Podporuje formát reprezentace podepsaných a nepodepsaných dat · Podporuje optimalizaci oblasti nebo rychlosti · Podporuje zřetězení s konfigurovatelnou výstupní latencí · Poskytuje možnost implementace ve vyhrazeném digitálním zpracování signálu (DSP)
blokové obvody nebo logické prvky (LE) Poznámka: Při vytváření multiplikátorů větších, než je nativně podporovaná velikost, může/
bude mít dopad na výkon vyplývající z kaskádování bloků DSP. · Podporuje volitelné asynchronní vymazání a vstupní porty umožňující takt · Podporuje volitelné synchronní vymazání pro zařízení Intel Stratix 10, Intel Arria 10 a Intel Cyclone 10 GX
Intel Corporation. Všechna práva vyhrazena. Intel, logo Intel a další značky Intel jsou ochranné známky společnosti Intel Corporation nebo jejích dceřiných společností. Společnost Intel zaručuje výkon svých FPGA a polovodičových produktů podle aktuálních specifikací v souladu se standardní zárukou společnosti Intel, ale vyhrazuje si právo provádět změny jakýchkoli produktů a služeb kdykoli bez upozornění. Společnost Intel nepřebírá žádnou odpovědnost nebo závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb popsaných v tomto dokumentu, pokud to není výslovně písemně odsouhlaseno společností Intel. Zákazníkům společnosti Intel se doporučuje získat nejnovější verzi specifikací zařízení dříve, než se budou spoléhat na jakékoli zveřejněné informace a než zadají objednávky na produkty nebo služby. *Jiná jména a značky mohou být nárokovány jako vlastnictví jiných.
ISO 9001: 2015 Registrováno
4. LPM_MULT (Multiplikátor) IP Core 683490 | 2020.10.05
4.2. Prototyp Verilog HDL
Následující prototyp Verilog HDL je umístěn v Verilog Design File (.v) lpm.v v adresář edasynthesis.
modul lpm_mult ( výsledek, dataa, datab, součet, hodiny, clken, aclr ) parametr lpm_type = “lpm_mult”; parametr lpm_widtha = 1; parametr lpm_widthb = 1; parametr lpm_widths = 1; parametr lpm_widthp = 1; parametr lpm_representation = “UNSIGNED”; parametr lpm_pipeline = 0; parametr lpm_hint = “NEPOUŽITÝ”; vstupní hodiny; vstup clken; vstupní aclr; vstup [lpm_widtha-1:0] dataa; vstup [lpm_widthb-1:0] datab; vstup [lpm_widths-1:0] součet; výstup [lpm_widthp-1:0] výsledek; koncový modul
4.3. Deklarace komponent VHDL
Deklarace komponenty VHDL se nachází v návrhu VHDL File (.vhd) LPM_PACK.vhd v souboru adresář librariesvhdllpm.
složka LPM_MULT generická ( LPM_WIDTHA : přírodní; LPM_WIDTHB : přírodní; LPM_WIDTHS : přírodní := 1; LPM_WIDTHP : přírodní;
LPM_REPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : natural := 0; LPM_TYPE: string := L_MULT; LPM_HINT : string := “NEPOUŽITÉ”); port ( DATAA : ve std_logic_vector (LPM_WIDTHA-1 až na 0); DATAB : v std_logic_vector (LPM_WIDTHB-1 až na 0); ACLR : ve std_logic := '0'; CLOCK : ve std_logic := '0: v std_logic := '1' SUM : in std_logic_vector(LPM_WIDTHS-1 downto 0) := (OTHERS => '0' RESULT : out std_logic_vector(LPM_WIDTHP-1 downto 0)); koncová součást;
4.4. Prohlášení VHDL LIBRARY_USE
Deklarace VHDL LIBRARY-USE není vyžadována, pokud používáte deklaraci VHDL Component Declaration.
KNIHOVNA lpm; USE lpm.lpm_components.all;
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 17
4. LPM_MULT (Multiplikátor) IP Core 683490 | 2020.10.05
4.5. Signály
Tabulka 7.
Vstupní signály LPM_MULT
Název signálu
Požadovaný
Popis
dataa[]
Ano
Vstup dat.
U zařízení Intel Stratix 10, Intel Arria 10 a Intel Cyclone 10 GX závisí velikost vstupního signálu na hodnotě parametru Dataa width.
U starších zařízení a zařízení Intel Cyclone 10 LP závisí velikost vstupního signálu na hodnotě parametru LPM_WIDTHA.
datab[]
Ano
Vstup dat.
U zařízení Intel Stratix 10, Intel Arria 10 a Intel Cyclone 10 GX závisí velikost vstupního signálu na hodnotě parametru Datab width.
U starších zařízení a zařízení Intel Cyclone 10 LP závisí velikost vstupního signálu
na hodnotu parametru LPM_WIDTHB.
hodiny
Žádný
Vstup hodin pro zřetězené použití.
U starších zařízení a zařízení Intel Cyclone 10 LP musí být hodinový signál povolen pro hodnoty LPM_PIPELINE jiné než 0 (výchozí).
U zařízení Intel Stratix 10, Intel Arria 10 a Intel Cyclone 10 GX musí být hodinový signál povolen, pokud je hodnota latence jiná než 1 (výchozí).
clken
Žádný
Povolení hodin pro zřetězené použití. Když je signál clken uplatněn jako vysoký,
probíhá operace sčítání/odčítání. Když je signál slabý, žádná operace
dochází. Pokud je vynechán, výchozí hodnota je 1.
aclr sclr
Žádný
Asynchronní čistý signál používaný kdykoli k resetování potrubí na všechny 0s,
asynchronně k hodinovému signálu. Potrubí se inicializuje na nedefinovaný (X)
logická úroveň. Výstupy jsou konzistentní, ale nenulová hodnota.
Žádný
Synchronní jasný signál používaný kdykoli k resetování potrubí na všechny 0,
synchronně s hodinovým signálem. Potrubí se inicializuje na nedefinovaný (X)
logická úroveň. Výstupy jsou konzistentní, ale nenulová hodnota.
Tabulka 8.
LPM_MULT Výstupní signály
signál Jméno
Požadovaný
Popis
výsledek[]
Ano
Výstup dat.
U starších zařízení a zařízení Intel Cyclone 10 LP závisí velikost výstupního signálu na hodnotě parametru LPM_WIDTHP. Pokud LPM_WIDTHP < max (LPM_WIDTHA + LPM_WIDTHB, LPM_WIDTHS) nebo (LPM_WIDTHA + LPM_WIDTHS), jsou přítomny pouze LPM_WIDTHP MSB.
U Intel Stratix 10, Intel Arria 10 a Intel Cyclone 10 GX závisí velikost výstupních signálů na parametru Result width.
4.6. Parametry pro zařízení Stratix V, Arria V, Cyclone V a Intel Cyclone 10 LP
4.6.1. Obecné Tab
Tabulka 9.
Obecné Tab
Parametr
Hodnota
Konfigurace multiplikátoru
Vynásobte vstup 'dataa' vstupem 'datab'
Výchozí hodnota
Popis
Vynásobte vstup 'dataa' vstupem 'datab'
Vyberte požadovanou konfiguraci pro multiplikátor.
pokračování…
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 18
Odeslat zpětnou vazbu
4. LPM_MULT (Multiplikátor) IP Core 683490 | 2020.10.05
Parametr
Jak široký by měl být vstup „dataa“? Jak široký by měl být vstup „datab“? Jak by měla být určena šířka „výsledkového“ výstupu? Omezte šířku
Hodnota
Násobit vstup 'dataa' sám o sobě (operace na druhou)
1–256 bitů
Výchozí hodnota
Popis
8 bitů
Zadejte šířku portu dataa[].
1–256 bitů
8 bitů
Zadejte šířku portu datab[].
Automaticky vypočítat šířku Omezte šířku
1–512 bitů
Automaticky vypočítáte šířku
Vyberte požadovanou metodu k určení šířky portu result[].
16 bitů
Zadejte šířku portu result[].
Tato hodnota bude účinná pouze v případě, že v parametru Typ vyberete možnost Omezit šířku.
4.6.2. Obecné 2 Tab
Tabulka 10. Obecně 2 Tab
Parametr
Hodnota
Vstup dat
Má vstupní sběrnice 'datab' konstantní hodnotu?
Ne Ano
Typ násobení
Jaký typ
Nepodepsaný
násobení chceš? Podepsaný
Implementace
Jaká implementace multiplikátoru by měla být použita?
Použijte výchozí implementaci
Použijte vyhrazený násobič obvodů (není k dispozici pro všechny rodiny)
Používejte logické prvky
Výchozí hodnota
Popis
Žádný
Vyberte Ano, chcete-li zadat konstantní hodnotu
vstupní sběrnice `datab', pokud existuje.
Nepodepsaný
Zadejte formát reprezentace pro vstupy dataa[] i datab[].
Použijte výchozí implementační ion
Vyberte požadovanou metodu k určení šířky portu result[].
4.6.3. Potrubí Tab
Tabulka 11. Potrubí Tab
Parametr
Chcete potrubím č
funkce?
Ano
Hodnota
Vytvořte „aclr“
—
asynchronní čistý port
Výchozí hodnota
Popis
Žádný
Vyberte Ano, chcete-li povolit registraci potrubí do
výstup násobiče a zadejte požadovaný
výstupní latence v hodinovém cyklu. Povolení
potrubní registr přidává extra latenci do
výstup.
Nezaškrtnuto
Tuto možnost vyberte, chcete-li povolit portu aclr použití asynchronního vymazání pro registr kanálu.
pokračování…
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 19
4. LPM_MULT (Multiplikátor) IP Core 683490 | 2020.10.05
Parametr
Vytvořte 'clken' hodiny umožňující hodiny
Optimalizace
Jaký typ optimalizace chcete?
Hodnota —
Výchozí oblast rychlosti
Výchozí hodnota
Popis
Nezaškrtnuto
Určuje aktivní povolení vysokých hodin pro hodinový port registru potrubí
Výchozí
Zadejte požadovanou optimalizaci pro jádro IP.
Chcete-li, aby software Intel Quartus Prime určil nejlepší optimalizaci pro jádro IP, vyberte možnost Výchozí.
4.7. Parametry pro zařízení Intel Stratix 10, Intel Arria 10 a Intel Cyclone 10 GX
4.7.1. Obecné Tab
Tabulka 12. Obecné Tab
Parametr
Hodnota
Výchozí hodnota
Popis
Typ konfigurace multiplikátoru
Šířky datových portů
Vynásobte vstup 'dataa' vstupem 'datab'
Násobit vstup 'dataa' sám o sobě (operace na druhou)
Vynásobte vstup 'dataa' vstupem 'datab'
Vyberte požadovanou konfiguraci pro multiplikátor.
Šířka dat
1–256 bitů
8 bitů
Zadejte šířku portu dataa[].
Šířka datab
1–256 bitů
8 bitů
Zadejte šířku portu datab[].
Jak by měla být určena šířka „výsledkového“ výstupu?
Typ
Automaticky vypočítat šířku
Omezte šířku
Automaticky vypočítáte šířku
Vyberte požadovanou metodu k určení šířky portu result[].
Hodnota
1–512 bitů
16 bitů
Zadejte šířku portu result[].
Tato hodnota bude účinná pouze v případě, že v parametru Typ vyberete možnost Omezit šířku.
Šířka výsledku
1–512 bitů
—
Zobrazuje efektivní šířku portu result[].
4.7.2. Obecné 2 Tab
Tabulka 13. Obecně 2 Tab
Parametr
Vstup dat
Má vstupní sběrnice 'datab' konstantní hodnotu?
Ne Ano
Hodnota
Výchozí hodnota
Popis
Žádný
Vyberte Ano, chcete-li zadat konstantní hodnotu
vstupní sběrnice `datab', pokud existuje.
pokračování…
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 20
Odeslat zpětnou vazbu
4. LPM_MULT (Multiplikátor) IP Core 683490 | 2020.10.05
Parametr
Hodnota
Hodnota
Jakákoli hodnota větší než 0
Typ násobení
Jaký typ
Nepodepsaný
násobení chceš? Podepsaný
Styl implementace
Jaká implementace multiplikátoru by měla být použita?
Použijte výchozí implementaci
Použijte vyhrazený násobící obvod
Používejte logické prvky
Výchozí hodnota
Popis
0
Zadejte konstantní hodnotu portu datab[].
Nepodepsaný
Zadejte formát reprezentace pro vstupy dataa[] i datab[].
Použijte výchozí implementační ion
Vyberte požadovanou metodu k určení šířky portu result[].
4.7.3. Potrubí
Tabulka 14. Potrubí Tab
Parametr
Hodnota
Chcete funkci zpracovat?
Potrubí
Ne Ano
Typ signálu pro vymazání latence
Jakákoli hodnota větší než 0.
ŽÁDNÉ ACLR SCLR
Vytvořte 'clken' hodiny
—
povolit hodiny
Jaký typ optimalizace chcete?
Typ
Výchozí oblast rychlosti
Výchozí hodnota
Popis
Ne 1 ŽÁDNÝ
—
Vyberte Ano, chcete-li povolit registr potrubí do výstupu násobiče. Povolení registru potrubí přidá výstupu další latenci.
Zadejte požadovanou výstupní latenci v hodinovém cyklu.
Zadejte typ resetu pro registr potrubí. Pokud nepoužíváte žádný registr potrubí, vyberte NONE. Chcete-li použít asynchronní vymazání pro registr potrubí, vyberte ACLR. Tím se vygeneruje port ACLR. Chcete-li pro registr potrubí použít synchronní vymazání, vyberte SCLR. Tím se vygeneruje port SCLR.
Určuje aktivní povolení vysokých hodin pro hodinový port registru potrubí
Výchozí
Zadejte požadovanou optimalizaci pro jádro IP.
Chcete-li, aby software Intel Quartus Prime určil nejlepší optimalizaci pro jádro IP, vyberte možnost Výchozí.
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 21
683490 | 2020.10.05 Odeslat zpětnou vazbu
5. LPM_ADD_SUB (sčítač/odčítač)
Obrázek 4.
Jádro IP LPM_ADD_SUB vám umožňuje implementovat sčítací nebo odečítací prvek pro sčítání nebo odečítání sad dat za účelem vytvoření výstupu obsahujícího součet nebo rozdíl vstupních hodnot.
Následující obrázek ukazuje porty pro jádro IP LPM_ADD_SUB.
Porty LPM_ADD_SUB
LPM_ADD_SUB add_sub cin
dataa[]
hodiny clken datab[] aclr
výsledek[] přetečení cout
inst
5.1. Vlastnosti
Jádro IP LPM_ADD_SUB nabízí následující funkce: · Generuje sčítací, odčítací a dynamicky konfigurovatelný sčítací/odčítací prvek
funkcí. · Podporuje šířku dat 1 bitů. · Podporuje formát reprezentace dat, jako je podepsaný a nepodepsaný. · Podporuje volitelné přenášení (výpůjčka), asynchronní vymazání a povolení hodin
vstupní porty. · Podporuje volitelné výstupní porty pro přenos (vypůjčení) a přetečení. · Přiřadí jednu ze vstupních datových sběrnic ke konstantě. · Podporuje zřetězení s konfigurovatelnou výstupní latencí.
Intel Corporation. Všechna práva vyhrazena. Intel, logo Intel a další značky Intel jsou ochranné známky společnosti Intel Corporation nebo jejích dceřiných společností. Společnost Intel zaručuje výkon svých FPGA a polovodičových produktů podle aktuálních specifikací v souladu se standardní zárukou společnosti Intel, ale vyhrazuje si právo provádět změny jakýchkoli produktů a služeb kdykoli bez upozornění. Společnost Intel nepřebírá žádnou odpovědnost nebo závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb popsaných v tomto dokumentu, pokud to není výslovně písemně odsouhlaseno společností Intel. Zákazníkům společnosti Intel se doporučuje získat nejnovější verzi specifikací zařízení dříve, než se budou spoléhat na jakékoli zveřejněné informace a než zadají objednávky na produkty nebo služby. *Jiná jména a značky mohou být nárokovány jako vlastnictví jiných.
ISO 9001: 2015 Registrováno
5. LPM_ADD_SUB (Sčítač/Odečítač) 683490 | 2020.10.05
5.2. Prototyp Verilog HDL
Následující prototyp Verilog HDL je umístěn v Verilog Design File (.v) lpm.v v adresář edasynthesis.
modul lpm_add_sub ( result, cout, overflow,add_sub, cin, dataa, datab, clock, clken, aclr ); parametr lpm_type = “lpm_add_sub”; parametr lpm_width = 1; parametr lpm_direction = “NEPOUŽITÝ”; parametr lpm_representation = “SIGNED”; parametr lpm_pipeline = 0; parametr lpm_hint = “NEPOUŽITÝ”; vstup [lpm_width-1:0] dataa, datab; vstup add_sub, cin; vstupní hodiny; vstup clken; vstupní aclr; výstup [lpm_width-1:0] výsledek; výstupní cout, přepad; koncový modul
5.3. Deklarace komponent VHDL
Deklarace komponenty VHDL se nachází v návrhu VHDL File (.vhd) LPM_PACK.vhd v souboru adresář librariesvhdllpm.
složka LPM_ADD_SUB generická (LPM_WIDTH: přírodní;
LPM_DIRECTION : string := “NEPOUŽITÉ”; LPM_REPRESENTATION: string := “SIGNED”; LPM_PIPELINE : natural := 0; LPM_TYPE : string := L_ADD_SUB; LPM_HINT : string := “NEPOUŽITÉ”); port (DATAA: ve std_logic_vector(LPM_WIDTH-1 až na 0); DATAB: v std_logic_vector(LPM_WIDTH-1 až na 0); ACLR: ve std_logic:= '0'; CLOCK: ve std_logic := '0: v; CLKENlogic := '1'; CIN : v std_logic := 'Z'; ADD_SUB : v std_logic := '1'; koncová součást;
5.4. Prohlášení VHDL LIBRARY_USE
Deklarace VHDL LIBRARY-USE není vyžadována, pokud používáte deklaraci VHDL Component Declaration.
KNIHOVNA lpm; USE lpm.lpm_components.all;
5.5. Porty
V následujících tabulkách jsou uvedeny vstupní a výstupní porty pro jádro IP LPM_ADD_SUB.
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 23
5. LPM_ADD_SUB (Sčítač/Odečítač) 683490 | 2020.10.05
Tabulka 15. Základní vstupní porty IP LPM_ADD_SUB
Název portu
Požadovaný
Popis
cin
Žádný
Carry-in do bitu nízkého řádu. Pro operace sčítání je výchozí hodnota 0. Pro
operace odečítání, výchozí hodnota je 1.
dataa[]
Ano
Vstup dat. Velikost vstupního portu závisí na hodnotě parametru LPM_WIDTH.
datab[]
Ano
Vstup dat. Velikost vstupního portu závisí na hodnotě parametru LPM_WIDTH.
add_sub
Žádný
Volitelný vstupní port umožňující dynamické přepínání mezi sčítacím a odčítacím zařízením
funkcí. Pokud je použit parametr LPM_DIRECTION, nelze add_sub použít. Li
vynechán, výchozí hodnota je ADD. Společnost Intel doporučuje používat
parametr LPM_DIRECTION k určení operace funkce LPM_ADD_SUB,
místo přiřazování konstanty portu add_sub.
hodiny
Žádný
Vstup pro zřetězené použití. Hodinový port poskytuje hodinový vstup pro pipeline
úkon. Pro hodnoty LPM_PIPELINE jiné než 0 (výchozí) musí být port hodin
povoleno.
clken
Žádný
Povolení hodin pro zřetězené použití. Když je port clken uplatněn jako vysoký, sčítačka/
odečítací operace probíhá. Když je signál nízký, neproběhne žádná operace. Li
vynechán, výchozí hodnota je 1.
aclr
Žádný
Asynchronní clear pro zřetězené použití. Potrubí se inicializuje na nedefinovaný (X)
logická úroveň. Port aclr lze kdykoli použít k resetování potrubí na všechny 0,
asynchronně k hodinovému signálu.
Tabulka 16. Výstupní porty jádra IP LPM_ADD_SUB
Název portu
Požadovaný
Popis
výsledek[]
Ano
Výstup dat. Velikost výstupního portu závisí na parametru LPM_WIDTH
hodnota.
cout
Žádný
Provedení (výpůjčka) nejvýznamnějšího bitu (MSB). Cout port má fyzickou
výklad jako provedení (výpůjčka) MSB. Port cout detekuje
přetečení v NESIGNOVANÝCH operacích. Port cout funguje stejným způsobem pro
SIGNED a NESIGNED operace.
přetékat
Žádný
Volitelný výstup výjimky přetečení. Přepadový port má fyzickou interpretaci jako
XOR přenosu do MSB s přenosem MSB. Přepadový port
tvrdí, když výsledky překračují dostupnou přesnost, a používá se pouze tehdy, když
Hodnota parametru LPM_REPRESENTATION je SIGNED.
5.6. Parametry
V následující tabulce jsou uvedeny základní parametry IP LPM_ADD_SUB.
Tabulka 17. Základní parametry IP LPM_ADD_SUB
Název parametru LPM_WIDTH
Zadejte celé číslo
Požadováno Ano
Popis
Určuje šířky portů dataa[], datab[] a result[].
LPM_DIRECTION
Řetězec
Žádný
Hodnoty jsou ADD, SUB a UNUSED. Pokud je vynechán, výchozí hodnota je DEFAULT, která parametru přikazuje, aby převzal svou hodnotu z portu add_sub. Port add_sub nelze použít, pokud je použit LPM_DIRECTION. Společnost Intel doporučuje použít parametr LPM_DIRECTION k určení operace funkce LPM_ADD_SUB namísto přiřazování konstanty portu add_sub.
pokračování…
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 24
Odeslat zpětnou vazbu
5. LPM_ADD_SUB (Sčítač/Odečítač) 683490 | 2020.10.05
Název parametru LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY
Typ Řetězec Celé číslo Řetězec Řetězec Celé číslo
Řetězec
Požadováno Ne Ne Ne Ne Ne Ne
Žádný
Popis
Určuje typ provedeného přidání. Hodnoty jsou SIGNED a UNSIGNED. Pokud je vynechán, výchozí hodnota je SIGNED. Když je tento parametr nastaven na SIGNED, sčítačka/odečítač interpretuje vstup dat jako doplněk dvojky se znaménkem.
Určuje počet cyklů latence spojených s výstupem result[]. Hodnota nula (0) znamená, že neexistuje žádná latence a že bude vytvořena čistě kombinační funkce. Pokud je vynechán, výchozí hodnota je 0 (nezřetězená).
Umožňuje zadat parametry specifické pro Intel v návrhu VHDL files (.vhd). Výchozí hodnota je UNUSED.
Identifikuje název entity knihovny parametrizovaných modulů (LPM) v návrhu VHDL files.
Parametr specifický pro Intel. Chcete-li zadat parametr ONE_INPUT_IS_CONSTANT v návrhu VHDL, musíte použít parametr LPM_HINT. files. Hodnoty jsou ANO, NE a NEPOUŽITO. Poskytuje větší optimalizaci, pokud je jeden vstup konstantní. Pokud je vynechán, výchozí hodnota je NE.
Parametr specifický pro Intel. Chcete-li zadat parametr MAXIMIZE_SPEED v návrhu VHDL, musíte použít parametr LPM_HINT. files. Můžete zadat hodnotu mezi 0 a 10. Pokud je použit, software Intel Quartus Prime se pokusí optimalizovat konkrétní instanci funkce LPM_ADD_SUB pro rychlost spíše než pro směrování a přepíše nastavení možnosti logiky optimalizační techniky. Pokud se MAXIMIZE_SPEED nepoužívá, použije se místo toho hodnota možnosti Technika optimalizace. Pokud je nastavení pro MAXIMIZE_SPEED 6 nebo vyšší, kompilátor optimalizuje jádro IP LPM_ADD_SUB pro vyšší rychlost pomocí přenosových řetězců; pokud je nastavení 5 nebo méně, kompilátor implementuje návrh bez řetězů. Tento parametr musí být specifikován pro zařízení Cyclone, Stratix a Stratix GX pouze v případě, že není použit port add_sub.
Tento parametr se používá pro účely modelování a simulace chování. Editor parametrů vypočítá hodnotu tohoto parametru.
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 25
683490 | 2020.10.05 Odeslat zpětnou vazbu
6. LPM_COMPARE (srovnávací)
Obrázek 5.
Jádro IP LPM_COMPARE porovnává hodnotu dvou sad dat, aby určil vztah mezi nimi. Ve své nejjednodušší podobě můžete použít hradlo exkluzivního NEBO k určení, zda jsou dva bity dat stejné.
Následující obrázek ukazuje porty pro jádro IP LPM_COMPARE.
Porty LPM_COMPARE
LPM_COMPARE
clken
alb
aeb
dataa[]
agb
datab[]
věkub
hodiny
aneb
aclr
aleb
inst
6.1. Vlastnosti
Jádro IP LPM_COMPARE nabízí následující funkce: · Generuje funkci komparátoru pro porovnání dvou sad dat · Podporuje šířku dat 1 bitů · Podporuje formát reprezentace dat, jako je podepsaný a nepodepsaný · Produkuje následující typy výstupů:
— alb (vstup A je menší než vstup B) — aeb (vstup A je roven vstupu B) — agb (vstup A je větší než vstup B) — ageb (vstup A je větší nebo roven vstupu B) — aneb ( vstup A není roven vstupu B) — aleb (vstup A je menší nebo roven vstupu B) · Podporuje volitelné asynchronní vymazání a vstupní porty umožňující takt · Přiřazuje vstup datab[] konstantě · Podporuje zřetězení s konfigurovatelnou výstupní latencí
Intel Corporation. Všechna práva vyhrazena. Intel, logo Intel a další značky Intel jsou ochranné známky společnosti Intel Corporation nebo jejích dceřiných společností. Společnost Intel zaručuje výkon svých FPGA a polovodičových produktů podle aktuálních specifikací v souladu se standardní zárukou společnosti Intel, ale vyhrazuje si právo provádět změny jakýchkoli produktů a služeb kdykoli bez upozornění. Společnost Intel nepřebírá žádnou odpovědnost nebo závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb popsaných v tomto dokumentu, pokud to není výslovně písemně odsouhlaseno společností Intel. Zákazníkům společnosti Intel se doporučuje získat nejnovější verzi specifikací zařízení dříve, než se budou spoléhat na jakékoli zveřejněné informace a než zadají objednávky na produkty nebo služby. *Jiná jména a značky mohou být nárokovány jako vlastnictví jiných.
ISO 9001: 2015 Registrováno
6. LPM_COMPARE (Srovnávač) 683490 | 2020.10.05
6.2. Prototyp Verilog HDL
Následující prototyp Verilog HDL je umístěn v Verilog Design File (.v) lpm.v v adresář edasynthesis.
modul lpm_compare ( alb, aeb, agb, aleb, aneb, ageb, dataa, datab, hodiny, clken, aclr ); parametr lpm_type = "lpm_compare"; parametr lpm_width = 1; parametr lpm_representation = “UNSIGNED”; parametr lpm_pipeline = 0; parametr lpm_hint = “NEPOUŽITÝ”; vstup [lpm_width-1:0] dataa, datab; vstupní hodiny; vstup clken; vstupní aclr; výstup alb, aeb, agb, aleb, aneb, ageb; koncový modul
6.3. Deklarace komponent VHDL
Deklarace komponenty VHDL se nachází v návrhu VHDL File (.vhd) LPM_PACK.vhd v souboru adresář librariesvhdllpm.
složka LPM_COMPARE generická (LPM_WIDTH : přírodní;
LPM_REPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : natural := 0; LPM_TYPE: string := L_COMPARE; LPM_HINT : string := “NEPOUŽITÉ”); port (DATAA: ve std_logic_vector(LPM_WIDTH-1 až na 0); DATAB: v std_logic_vector(LPM_WIDTH-1 až na 0); ACLR: ve std_logic:= '0'; CLOCK: ve std_logic := '0: v; CLKENlogic := '1' AGB : out std_logic; out std_logic; koncová součást;
6.4. Prohlášení VHDL LIBRARY_USE
Deklarace VHDL LIBRARY-USE není vyžadována, pokud používáte deklaraci VHDL Component Declaration.
KNIHOVNA lpm; USE lpm.lpm_components.all;
6.5. Porty
V následujících tabulkách jsou uvedeny vstupní a výstupní porty pro jádro IP LMP_COMPARE.
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 27
6. LPM_COMPARE (Srovnávač) 683490 | 2020.10.05
Tabulka 18. LPM_COMPARE Vstupní porty jádra IP
Název portu
Požadovaný
Popis
dataa[]
Ano
Vstup dat. Velikost vstupního portu závisí na hodnotě parametru LPM_WIDTH.
datab[]
Ano
Vstup dat. Velikost vstupního portu závisí na hodnotě parametru LPM_WIDTH.
hodiny
Žádný
Vstup hodin pro zřetězené použití. Hodinový port poskytuje hodinový vstup pro pipeline
úkon. Pro hodnoty LPM_PIPELINE jiné než 0 (výchozí) musí být port hodin
povoleno.
clken
Žádný
Povolení hodin pro zřetězené použití. Když je port clken uplatněn jako vysoký,
probíhá srovnávací operace. Když je signál nízký, neproběhne žádná operace. Li
vynechán, výchozí hodnota je 1.
aclr
Žádný
Asynchronní clear pro zřetězené použití. Potrubí se inicializuje na nedefinovanou (X) logiku
úroveň. Port aclr lze kdykoli použít k resetování potrubí na všechny 0,
asynchronně k hodinovému signálu.
Tabulka 19. LPM_COMPARE Výstupní porty jádra IP
Název portu
Požadovaný
Popis
alb
Žádný
Výstupní port pro komparátor. Uvádí se, pokud je vstup A menší než vstup B.
aeb
Žádný
Výstupní port pro komparátor. Tvrdí se, pokud je vstup A roven vstupu B.
agb
Žádný
Výstupní port pro komparátor. Uvádí se, pokud je vstup A větší než vstup B.
věkub
Žádný
Výstupní port pro komparátor. Uvádí se, pokud je vstup A větší nebo roven vstupu
B.
aneb
Žádný
Výstupní port pro komparátor. Uvádí se, pokud vstup A není roven vstupu B.
aleb
Žádný
Výstupní port pro komparátor. Uvádí se, pokud je vstup A menší nebo roven vstupu B.
6.6. Parametry
V následující tabulce jsou uvedeny parametry pro jádro IP LPM_COMPARE.
Tabulka 20. Parametry jádra IP LPM_COMPARE
Název parametru
Typ
Požadovaný
LPM_WIDTH
Celé číslo Ano
LPM_REPRESENTATION
Řetězec
Žádný
LPM_PIPELINE
Celé číslo
LPM_HINT
Řetězec
Žádný
Popis
Určuje šířky portů dataa[] a datab[].
Určuje typ provedeného porovnání. Hodnoty jsou SIGNED a UNSIGNED. Pokud je vynechán, výchozí hodnota je UNSIGNED. Když je hodnota tohoto parametru nastavena na SIGNED, komparátor interpretuje vstup dat jako doplněk dvojky se znaménkem.
Určuje počet hodinových cyklů latence spojených s výstupem alb, aeb, agb, ageb, aleb nebo aneb. Hodnota nula (0) znamená, že neexistuje žádná latence a že bude vytvořena čistě kombinační funkce. Pokud je vynechán, výchozí hodnota je 0 (non-pipelined).
Umožňuje zadat parametry specifické pro Intel v návrhu VHDL files (.vhd). Výchozí hodnota je UNUSED.
pokračování…
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 28
Odeslat zpětnou vazbu
6. LPM_COMPARE (Srovnávač) 683490 | 2020.10.05
Název parametru LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT
Zadejte Řetězec Řetězec
Řetězec
Vyžadováno Ne Ne
Žádný
Popis
Identifikuje název entity knihovny parametrizovaných modulů (LPM) v návrhu VHDL files.
Tento parametr se používá pro účely modelování a simulace chování. Editor parametrů vypočítá hodnotu tohoto parametru.
Parametr specifický pro Intel. Chcete-li zadat parametr ONE_INPUT_IS_CONSTANT v návrhu VHDL, musíte použít parametr LPM_HINT. files. Hodnoty jsou ANO, NE nebo NEPOUŽITO. Poskytuje větší optimalizaci, pokud je vstup konstantní. Pokud je vynechán, výchozí hodnota je NE.
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 29
683490 | 2020.10.05 Odeslat zpětnou vazbu
7. ALTECC (kód opravy chyb: kodér/dekodér) IP Core
Obrázek 6.
Intel poskytuje jádro ALTECC IP pro implementaci funkce ECC. ECC detekuje poškozená data, ke kterým dochází na straně přijímače během přenosu dat. Tato metoda korekce chyb je nejvhodnější pro situace, kdy se chyby vyskytují spíše náhodně než ve shlucích.
ECC detekuje chyby prostřednictvím procesu kódování a dekódování dat. Napřample, když je ECC aplikováno v přenosové aplikaci, data čtená ze zdroje jsou zakódována před odesláním do přijímače. Výstup (kódové slovo) z kodéru sestává z nezpracovaných dat připojených k počtu paritních bitů. Přesný počet připojených paritních bitů závisí na počtu bitů ve vstupních datech. Vygenerované kódové slovo je poté přeneseno do cíle.
Přijímač přijme kódové slovo a dekóduje jej. Informace získané dekodérem určují, zda je detekována chyba. Dekodér detekuje jednobitové a dvoubitové chyby, ale může opravit pouze jednobitové chyby v poškozených datech. Tento typ ECC je detekce dvojité chyby s jednou chybovou korekcí (SECDED).
Můžete nakonfigurovat funkce kodéru a dekodéru jádra IP ALTECC. Vstup dat do kodéru je zakódován, aby se vygenerovalo kódové slovo, které je kombinací vstupu dat a generovaných paritních bitů. Vygenerované kódové slovo je přeneseno do dekodérového modulu pro dekódování těsně před dosažením jeho cílového bloku. Dekodér generuje syndromový vektor, aby určil, zda je v přijatém kódovém slově nějaká chyba. Dekodér opraví data pouze v případě, že jednobitová chyba pochází z datových bitů. Pokud jednobitová chyba pochází z paritních bitů, není označen žádný signál. Dekodér má také příznakové signály, které ukazují stav přijatých dat a akci provedenou dekodérem, pokud existuje.
Následující obrázky ukazují porty pro jádro ALTECC IP.
Porty kodéru ALTECC
ALTECC_ENCODER
data[]
q[]
hodiny
clocken
aclr
inst
Intel Corporation. Všechna práva vyhrazena. Intel, logo Intel a další značky Intel jsou ochranné známky společnosti Intel Corporation nebo jejích dceřiných společností. Společnost Intel zaručuje výkon svých FPGA a polovodičových produktů podle aktuálních specifikací v souladu se standardní zárukou společnosti Intel, ale vyhrazuje si právo provádět změny jakýchkoli produktů a služeb kdykoli bez upozornění. Společnost Intel nepřebírá žádnou odpovědnost nebo závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb popsaných v tomto dokumentu, pokud to není výslovně písemně odsouhlaseno společností Intel. Zákazníkům společnosti Intel se doporučuje získat nejnovější verzi specifikací zařízení dříve, než se budou spoléhat na jakékoli zveřejněné informace a než zadají objednávky na produkty nebo služby. *Jiná jména a značky mohou být nárokovány jako vlastnictví jiných.
ISO 9001: 2015 Registrováno
7. ALTECC (kód opravy chyb: kodér/dekodér) IP Core 683490 | 2020.10.05
Obrázek 7. Porty dekodéru ALTECC
ALTECC_DECODER
data[] hodiny clocken
q[] err_detected err_corrected
err_fatal
aclr
inst
7.1. Vlastnosti kodéru ALTECC
Jádro IP kodéru ALTECC nabízí následující funkce: · Provádí kódování dat pomocí schématu Hammingova kódování · Podporuje šířku dat 2 bitů · Podporuje formát reprezentace dat se znaménkem a bez znaménka · Podporuje zřetězení s výstupní latencí buď jeden nebo dva hodinové cykly · Podporuje volitelné asynchronní jasné a taktovací porty
IP jádro kodéru ALTECC přijímá a kóduje data pomocí schématu Hammingova kódování. Schéma Hammingova kódování odvozuje paritní bity a připojuje je k původním datům pro vytvoření výstupního kódového slova. Počet připojených paritních bitů závisí na šířce dat.
Následující tabulka uvádí počet připojených paritních bitů pro různé rozsahy šířek dat. Sloupec Total Bits představuje celkový počet vstupních datových bitů a připojených paritních bitů.
Tabulka 21.
Počet paritních bitů a kódové slovo podle šířky dat
Šířka dat
Počet paritních bitů
Celkový počet bitů (kódové slovo)
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
Odvozování paritního bitu používá kontrolu sudé parity. Další 1 bit (v tabulce zobrazen jako +1) je připojen k paritním bitům jako MSB kódového slova. Tím je zajištěno, že kódové slovo má sudý počet jedniček. Napřample, je-li šířka dat 4 bity, jsou k datům připojeny 4 paritní bity, aby se staly kódovým slovem s celkem 8 bity. Pokud má 7 bitů z LSB 8bitového kódového slova lichý počet jedniček, 1. bit (MSB) kódového slova je 8, takže celkový počet jedniček v kódovém slově je sudý.
Následující obrázek ukazuje vygenerované kódové slovo a uspořádání paritních bitů a datových bitů v 8bitovém datovém vstupu.
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 31
7. ALTECC (kód opravy chyb: kodér/dekodér) IP Core 683490 | 2020.10.05
Obrázek 8.
Paritní bity a uspořádání datových bitů v 8bitovém generovaném kódovém slově
MSB
LSB
4 paritní bity
4 datových bitů
8
1
IP jádro kodéru ALTECC přijímá pouze vstupní šířky 2 až 64 bitů najednou. Vstupní šířky 12 bitů, 29 bitů a 64 bitů, které se ideálně hodí pro zařízení Intel, generují výstupy 18 bitů, 36 bitů a 72 bitů. Omezení výběru bitů můžete ovládat v editoru parametrů.
7.2. Prototyp Verilog HDL (ALTECC_ENCODER)
Následující prototyp Verilog HDL je umístěn v Verilog Design File (.v) lpm.v v adresář edasynthesis.
modul altecc_encoder #( parametr zamýšlený_device_family = „unused“, parametr lpm_pipeline = 0, parametr width_codeword = 8, parametr width_dataword = 8, parametr lpm_type = „altecc_encoder“, parametr lpm_hint = „unused“) ( vstupní drát aclr, vstupní drátové hodiny drát clocken, vstupní drát [šířka_datové slovo-1:0] data, výstupní drát [šířka_kódové slovo-1:0] q); koncový modul
7.3. Prototyp Verilog HDL (ALTECC_DECODER)
Následující prototyp Verilog HDL je umístěn v Verilog Design File (.v) lpm.v v adresář edasynthesis.
modul altecc_decoder #( parametr zamýšlený_device_family = „nepoužitý“, parametr lpm_pipeline = 0, parametr width_codeword = 8, parametr width_dataword = 8, parametr lpm_type = „altecc_decoder“, parametr lpm_hint = „unused“) ( vstupní drát aclr, vstupní drátové hodiny drát clocken, vstupní drát [šířka_kódové slovo-1:0] data, výstupní drát err_corrected, výstupní drát err_detected, outut wire err_fatal, výstupní drát [width_dataword-1:0] q); koncový modul
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 32
Odeslat zpětnou vazbu
7. ALTECC (kód opravy chyb: kodér/dekodér) IP Core 683490 | 2020.10.05
7.4. Deklarace součásti VHDL (ALTECC_ENCODER)
Deklarace komponenty VHDL se nachází v návrhu VHDL File (.vhd) altera_mf_components.vhd v souboru adresář librariesvhdlaltera_mf.
komponenta altecc_encoder generic (zamýšlené_rodina_zařízení:string := “nepoužité”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := “NEPOUŽITÉ”; “string lpm_co_type: “string lpm_co_type: “); port( aclr:in std_logic := '0'; clock:in std_logic := '0'; clocken:in std_logic := '1'; data:in std_logic_vector(width_dataword-1 downto 0); q:out std_logic_codeword(width -1 až 0)); koncová součást;
7.5. Deklarace součásti VHDL (ALTECC_DECODER)
Deklarace komponenty VHDL se nachází v návrhu VHDL File (.vhd) altera_mf_components.vhd v souboru adresář librariesvhdlaltera_mf.
komponenta altecc_decoder generic (zamýšlená_rodina_zařízení:string := „nepoužité“; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := „NEPOUŽITÉ“; „string lpm_co_type: „string lpm_co_type: “); port( aclr:in std_logic := '0'; clock:in std_logic := '0'; clocken:in std_logic := '1'; data:in std_logic_vector(šířka_kódového slova-1 dolů až 0); err_corrected: out std_logic; : out std_logic q:out std_logic_vector(šířka_datové_slovo-1 až 0); koncová součást;
7.6. Prohlášení VHDL LIBRARY_USE
Deklarace VHDL LIBRARY-USE není vyžadována, pokud používáte deklaraci VHDL Component Declaration.
KNIHOVNA altera_mf; USE altera_mf.altera_mf_components.all;
7.7. Porty kodéru
V následujících tabulkách jsou uvedeny vstupní a výstupní porty pro jádro IP kodéru ALTECC.
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 33
7. ALTECC (kód opravy chyb: kodér/dekodér) IP Core 683490 | 2020.10.05
Tabulka 22. Vstupní porty kodéru ALTECC
Název portu
Požadovaný
Popis
data[]
Ano
Port pro vstup dat. Velikost vstupního portu závisí na WIDTH_DATAWORD
hodnota parametru. Port data[] obsahuje nezpracovaná data, která mají být zakódována.
hodiny
Ano
Vstupní port hodin, který poskytuje hodinový signál pro synchronizaci operace kódování.
Hodinový port je vyžadován, když je hodnota LPM_PIPELINE větší než 0.
clocken
Žádný
Aktivace hodin. Pokud je vynechán, výchozí hodnota je 1.
aclr
Žádný
Asynchronní čistý vstup. Aktivní signál high aclr lze kdykoli použít k
asynchronně vymazat registry.
Tabulka 23. Výstupní porty kodéru ALTECC
Název portu q[]
Požadováno Ano
Popis
Výstupní port kódovaných dat. Velikost výstupního portu závisí na hodnotě parametru WIDTH_CODEWORD.
7.8. Porty dekodéru
V následujících tabulkách jsou uvedeny vstupní a výstupní porty pro jádro IP dekodéru ALTECC.
Tabulka 24. Vstupní porty dekodéru ALTECC
Název portu
Požadovaný
Popis
data[]
Ano
Port pro vstup dat. Velikost vstupního portu závisí na hodnotě parametru WIDTH_CODEWORD.
hodiny
Ano
Vstupní port hodin, který poskytuje hodinový signál pro synchronizaci operace kódování. Hodinový port je vyžadován, když je hodnota LPM_PIPELINE větší než 0.
clocken
Žádný
Aktivace hodin. Pokud je vynechán, výchozí hodnota je 1.
aclr
Žádný
Asynchronní čistý vstup. Aktivní signál high aclr lze kdykoli použít k asynchronnímu vymazání registrů.
Tabulka 25. Výstupní porty dekodéru ALTECC
Název portu q[]
Požadováno Ano
Popis
Port dekódovaného výstupu dat. Velikost výstupního portu závisí na hodnotě parametru WIDTH_DATAWORD.
err_detected Ano
Signál příznaku odrážející stav přijatých dat a udává případné nalezené chyby.
err_correcte Ano d
Signál příznaku odrážející stav přijatých dat. Označuje nalezenou a opravenou jednobitovou chybu. Data můžete použít, protože již byla opravena.
err_fatal
Ano
Signál příznaku odrážející stav přijatých dat. Označuje nalezenou, ale neopravenou dvoubitovou chybu. Pokud je tento signál uplatněn, nesmíte data používat.
syn_e
Žádný
Výstupní signál, který bude vysoký vždy, když je na paritě detekována jednobitová chyba
bitů.
7.9. Parametry kodéru
V následující tabulce jsou uvedeny parametry pro jádro IP kodéru ALTECC.
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 34
Odeslat zpětnou vazbu
7. ALTECC (kód opravy chyb: kodér/dekodér) IP Core 683490 | 2020.10.05
Tabulka 26. Parametry kodéru ALTECC
Název parametru
Typ
Požadovaný
Popis
WIDTH_DATAWORD
Celé číslo Ano
Určuje šířku nezpracovaných dat. Hodnoty jsou od 2 do 64. Pokud je vynechán, výchozí hodnota je 8.
WIDTH_CODEWORD
Celé číslo Ano
Určuje šířku odpovídajícího kódového slova. Platné hodnoty jsou od 6 do 72, s výjimkou 9, 17, 33 a 65. Pokud je vynechán, výchozí hodnota je 13.
LPM_PIPELINE
Celé číslo
Určuje potrubí pro okruh. Hodnoty jsou od 0 do 2. Pokud je hodnota 0, porty nejsou registrovány. Pokud je hodnota 1, výstupní porty jsou registrovány. Pokud je hodnota 2, jsou registrovány vstupní a výstupní porty. Pokud je vynechán, výchozí hodnota je 0.
7.10. Parametry dekodéru
V následující tabulce jsou uvedeny základní parametry IP dekodéru ALTECC.
Tabulka 27. Parametry dekodéru ALTECC
Název parametru WIDTH_DATAWORD
Zadejte celé číslo
Požadovaný
Popis
Ano
Určuje šířku nezpracovaných dat. Hodnoty jsou 2 až 64. The
výchozí hodnota je 8.
WIDTH_CODEWORD
Celé číslo
Ano
Určuje šířku odpovídajícího kódového slova. Hodnoty jsou 6
až 72, kromě 9, 17, 33 a 65. Pokud je vynecháno, výchozí hodnota
je 13.
LPM_PIPELINE
Celé číslo
Žádný
Určuje registr obvodu. Hodnoty jsou od 0 do 2. Pokud je
hodnota je 0, není implementován žádný registr. Pokud je hodnota 1, je
výstup je registrován. Pokud je hodnota 2, jak vstup, tak i
výstupy jsou registrovány. Pokud je hodnota větší než 2, další
registry jsou implementovány na výstupu pro přídavné
latence. Pokud je vynechán, výchozí hodnota je 0.
Vytvořte port 'syn_e'
Celé číslo
Žádný
Zapnutím tohoto parametru vytvoříte port syn_e.
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 35
683490 | 2020.10.05 Odeslat zpětnou vazbu
8. Intel FPGA Multiply Adder IP Core
Obrázek 9.
IP jádro Intel FPGA Multiply Adder (zařízení Intel Stratix 10, Intel Arria 10 a Intel Cyclone 10 GX) nebo ALTERA_MULT_ADD (zařízení Arria V, Stratix V a Cyclone V) umožňuje implementovat sčítačku multiplikátoru.
Následující obrázek ukazuje porty pro jádro Intel FPGA Multiply Adder nebo ALTERA_MULT_ADD IP.
Intel FPGA Multiply Adder nebo porty ALTERA_MULT_ADD
Intel FPGA Multiply Adder nebo ALTERA_MULT_ADD
dataa[] signa datab[] signb datac[] coefsel0[] coefsel1[] coefsel2[] coefsel3[] addnsub1 addnsub3 aclr/sclr[] scanina[] clock0 clock1 clock2 ena0 ena1 ena2 sload_accum
accum_sload chainin[]
scanouta[] výsledek[]
aclr0 aclr1
inst
Multiplikátor-sčítačka přijímá dvojice vstupů, násobí hodnoty dohromady a poté přidává nebo odečítá od součinů všech ostatních párů.
Pokud jsou všechny šířky vstupních dat široké 9 bitů nebo menší, funkce používá konfiguraci vstupního násobiče 9 x 9 bitů v bloku DSP pro zařízení, která podporují konfiguraci 9 x 9. Pokud ne, blok DSP používá 18 × 18bitové vstupní násobiče ke zpracování dat o šířce mezi 10 bity a 18 bity. Pokud se v návrhu vyskytuje více jader Intel FPGA Multiply Adder nebo ALTERA_MULT_ADD IP, funkce jsou distribuovány jako
Intel Corporation. Všechna práva vyhrazena. Intel, logo Intel a další značky Intel jsou ochranné známky společnosti Intel Corporation nebo jejích dceřiných společností. Společnost Intel zaručuje výkon svých FPGA a polovodičových produktů podle aktuálních specifikací v souladu se standardní zárukou společnosti Intel, ale vyhrazuje si právo provádět změny jakýchkoli produktů a služeb kdykoli bez upozornění. Společnost Intel nepřebírá žádnou odpovědnost nebo závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb popsaných v tomto dokumentu, pokud to není výslovně písemně odsouhlaseno společností Intel. Zákazníkům společnosti Intel se doporučuje získat nejnovější verzi specifikací zařízení dříve, než se budou spoléhat na jakékoli zveřejněné informace a než zadají objednávky na produkty nebo služby. *Jiná jména a značky mohou být nárokovány jako vlastnictví jiných.
ISO 9001: 2015 Registrováno
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
co nejvíce různých DSP bloků, takže směrování do těchto bloků je flexibilnější. Méně multiplikátorů na blok DSP umožňuje více možností směrování do bloku minimalizací cest ke zbytku zařízení.
Registry a další pipeline registry pro následující signály jsou také umístěny uvnitř bloku DSP: · Vstup dat · Výběr se znaménkem nebo bez znaménka · Výběr sčítání nebo odečítání · Součin multiplikátorů
V případě výstupního výsledku je první registr umístěn v bloku DSP. Dodatečné registry latence jsou však umístěny v logických prvcích mimo blok. Periferie k bloku DSP, včetně datových vstupů do násobiče, vstupů řídicích signálů a výstupů sčítačky, používají ke komunikaci se zbytkem zařízení běžné směrování. Všechna připojení ve funkci používají vyhrazené směrování uvnitř bloku DSP. Toto vyhrazené směrování zahrnuje řetězce posuvných registrů, když vyberete možnost přesunout registrovaná vstupní data násobiče z jednoho násobiče na sousední násobič.
Další informace o blocích DSP v jakékoli řadě zařízení Stratix V a Arria V naleznete v kapitole Bloky DSP v příslušných příručkách na stránce Literatura a technická dokumentace.
Související informace AN 306: Implementace násobičů v zařízeních FPGA
Poskytuje další informace o implementaci multiplikátorů pomocí DSP a paměťových bloků v zařízeních Intel FPGA.
8.1. Vlastnosti
Intel FPGA Multiply Adder nebo jádro ALTERA_MULT_ADD IP nabízí následující funkce: · Generuje multiplikátor pro provádění operací násobení dvou komplexních
čísla Poznámka: Při vytváření multiplikátorů větších než je nativně podporovaná velikost může/
bude mít dopad na výkon vyplývající z kaskádování bloků DSP. · Podporuje datové šířky 1 256 bitů · Podporuje formát reprezentace podepsaných a nepodepsaných dat · Podporuje zřetězení s konfigurovatelnou vstupní latencí · Poskytuje možnost dynamického přepínání mezi podporou podepsaných a nepodepsaných dat · Poskytuje možnost dynamického přepínání mezi operací sčítání a odečítání · Podporuje volitelné asynchronní a synchronní čisté a taktovací vstupní porty · Podporuje režim registru systolického zpoždění · Podporuje předsčítačku s 8 koeficienty předběžného zatížení na násobič · Podporuje konstantu předběžného zatížení pro doplnění zpětné vazby akumulátoru
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 37
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.1. Předpřídavek
S předsčítačkou se sčítání nebo odčítání provádějí před vložením násobiče.
K dispozici je pět režimů předpřidání: · Jednoduchý režim · Koeficient · Režim zadávání · Čtvercový režim · Konstantní režim
Poznámka:
Při použití předsčítání (koeficient předsčítání/vstup/čtvercový režim) musí mít všechny datové vstupy do násobiče stejné nastavení hodin.
8.1.1.1. Jednoduchý režim před přidáním
V tomto režimu se oba operandy odvozují ze vstupních portů a předpřidání se nepoužívá ani neobchází. Toto je výchozí režim.
Obrázek 10. Jednoduchý režim před přidáním
a0 b0
Mult0
výsledek
8.1.1.2. Režim koeficientu před přidáním
V tomto režimu se jeden multiplikační operand odvozuje z předsčítačky a druhý operand se odvozuje z vnitřní paměti koeficientů. Uložení koeficientů umožňuje až 8 přednastavených konstant. Signály pro výběr koeficientu jsou coefsel[0..3].
Tento režim je vyjádřen v následující rovnici.
Následující ukazuje režim koeficientu předsčítání násobiče.
Obrázek 11. Režim koeficientu před přidáním
Předčítač
a0
Mult0
+/-
výsledek
b0
coefsel0 coef
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 38
Odeslat zpětnou vazbu
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.1.3. Režim vstupu před sčítačkou V tomto režimu je jeden operand multiplikátoru odvozen od předsčítačky a druhý operand je odvozen od vstupního portu datac[]. Tento režim je vyjádřen v následující rovnici.
Následující obrázek ukazuje vstupní režim předsčítání násobiče.
Obrázek 12. Režim vstupu před přidáním
a0 b0
Mult0
+/-
výsledek
c0
8.1.1.4. Režim čtverce před sčítačkou Tento režim je vyjádřen v následující rovnici.
Následující obrázek ukazuje čtvercový režim dvou multiplikátorů před sčítáním.
Obrázek 13. Režim čtverce před přidáním
a0 b0
Mult0
+/-
výsledek
8.1.1.5. Konstantní režim před přidáním
V tomto režimu se jeden multiplikační operand odvozuje ze vstupního portu a druhý operand se odvozuje z vnitřní paměti koeficientů. Uložení koeficientů umožňuje až 8 přednastavených konstant. Signály pro výběr koeficientu jsou coefsel[0..3].
Tento režim je vyjádřen v následující rovnici.
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 39
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Následující obrázek ukazuje konstantní režim násobiče před sčítačkou.
Obrázek 14. Konstantní režim před přidáním
a0
Mult0
výsledek
coefsel0
koef
8.1.2. Registr systolického zpoždění
V systolické architektuře jsou vstupní data přiváděna do kaskády registrů fungujících jako datová vyrovnávací paměť. Každý registr poskytuje vstup sample na násobitel, kde se vynásobí příslušným koeficientem. Sčítačka řetězce ukládá postupně kombinované výsledky z násobiče a dříve zaregistrovaný výsledek ze vstupního portu chainin[], aby vytvořily konečný výsledek. Každý prvek multiply-add musí být zpožděn o jeden cyklus, aby se výsledky po sečtení vhodně synchronizovaly. Každé následné zpoždění se používá k adresování jak paměti koeficientů, tak datové vyrovnávací paměti jejich příslušných prvků s násobným sčítáním. Napřample, jedno zpoždění pro druhý prvek sčítání násobení, dvě zpoždění pro třetí prvek sčítání násobení a tak dále.
Obrázek 15. Systolické registry
Systolické registry
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) představuje výsledky ze spojitého proudu vstupů samples a y(t)
představuje součet množiny vstupů samples, a v čase, vynásobený jejich
příslušné koeficienty. Vstupní i výstupní výsledky proudí zleva doprava. C(0) až c(N-1) označují koeficienty. Registry systolického zpoždění jsou označeny S-1, zatímco 1 představuje jediné hodinové zpoždění. Registry systolického zpoždění jsou přidány na
vstupy a výstupy pro zřetězení způsobem, který zajistí výsledky z
operand multiplikátoru a nashromážděné součty zůstávají synchronizovány. Tento prvek zpracování
je replikován do obvodu, který vypočítá funkci filtrování. Tato funkce je
vyjádřeno v následující rovnici.
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 40
Odeslat zpětnou vazbu
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
N představuje počet cyklů dat, která vstoupila do akumulátoru, y(t) představuje výstup v čase t, A(t) představuje vstup v čase t a B(i) jsou koeficienty. Ta i v rovnici odpovídají určitému časovému okamžiku, abychom vypočítali výstup sample y(t) v čase t, skupina vstupů samples v N různých okamžicích nebo A(n), A(n-1), A(n-2), … A(n-N+1). Skupina N vstupů samplesy se vynásobí N koeficienty a sečtou se do konečného výsledku y.
Architektura systolického registru je dostupná pouze pro režimy součtu 2 a součtu 4. Pro oba režimy architektury systolického registru musí být první řetězený signál svázán s 0.
Následující obrázek ukazuje implementaci registru systolického zpoždění 2 násobičů.
Obrázek 16. Implementace registru systolického zpoždění 2 multiplikátorů
zřetězení
a0
Mult0
+/-
b0
a1
Mult1
+/-
b1
výsledek
Součet dvou multiplikátorů je vyjádřen v následující rovnici.
Následující obrázek ukazuje implementaci registru systolického zpoždění 4 násobičů.
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 41
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Obrázek 17. Implementace registru systolického zpoždění 4 multiplikátorů
zřetězení
a0
Mult0
+/-
b0
a1
Mult1
+/-
b1
a2
Mult2
+/-
b2
a3
Mult3
+/-
b3
výsledek
Součet čtyř multiplikátorů je vyjádřen v následující rovnici. Obrázek 18. Součet 4 multiplikátorů
Následuje seznam výhodtagImplementace systolického registru: · Snižuje využití zdrojů DSP · Umožňuje efektivní mapování v bloku DSP pomocí struktury sčítačky řetězce
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 42
Odeslat zpětnou vazbu
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.3. Konstantní předpětí
Konstanta předpětí řídí operand akumulátoru a doplňuje zpětnou vazbu akumulátoru. Platná hodnota LOADCONST_VALUE se pohybuje od 0. Konstantní hodnota je rovna 64N, kde N = LOADCONST_VALUE. Když je LOADCONST_VALUE nastavena na 2, konstantní hodnota je rovna 64. Tuto funkci lze použít jako zkreslené zaokrouhlování.
Následující obrázek ukazuje implementaci konstanty předpětí.
Obrázek 19. Konstanta předpětí
Zpětná vazba akumulátoru
konstantní
a0
Mult0
+/-
b0
a1
Mult1
+/b1
výsledek
accum_sload sload_accum
Další implementace multiplikátoru naleznete v následujících jádrech IP: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. Dvojitý akumulátor
Funkce dvojitého akumulátoru přidává další registr do cesty zpětné vazby akumulátoru. Registr dvojitého akumulátoru následuje za výstupním registrem, který obsahuje hodiny, povolení hodin a aclr. Registr přídavného akumulátoru vrací výsledek s jednocyklovým zpožděním. Tato funkce vám umožňuje mít dva akumulátorové kanály se stejným počtem zdrojů.
Následující obrázek ukazuje implementaci dvojitého akumulátoru.
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 43
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Obrázek 20. Dvojitý akumulátor
Registr dvojitých akumulátorů
Zpětná vazba akumulátoru
a0
Mult0
+/-
b0
a1
Mult1
+/b1
Výsledek výstupu Výstupní registr
8.2. Prototyp Verilog HDL
Můžete najít Intel FPGA Multiply Adder nebo prototyp ALTERA_MULT_ADD Verilog HDL file (altera_mult_add_rtl.v) v librariesmegafunctions adresář.
8.3. Deklarace komponent VHDL
Deklarace komponenty VHDL se nachází v souboru altera_lnsim_components.vhd v souboru librariesvhdl adresář altera_lnsim.
8.4. Prohlášení VHDL LIBRARY_USE
Deklarace VHDL LIBRARY-USE není vyžadována, pokud používáte deklaraci VHDL Component Declaration.
KNIHOVNA altera_mf; USE altera_mf.altera_mf_components.all;
8.5. Signály
V následujících tabulkách jsou uvedeny vstupní a výstupní signály jádra Intel FPGA IP nebo ALTERA_MULT_ADD IP Multiply Adder.
Tabulka 28. Sčítačka násobků Vstupní signály Intel FPGA Inebo ALTERA_MULT_ADD
Signál
Požadovaný
Popis
dataa_0[]/dataa_1[]/
Ano
dataa_2[]/dataa_3[]
Vstup dat do násobiče. Vstupní port [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1 … 0] široký
pokračování…
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 44
Odeslat zpětnou vazbu
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Signál datab_0[]/datab_1[]/ datab_2[]/datab_3[] datac_0[] /datac_1[]/ datac_2[]/datac_3[] hodiny[1:0] aclr[1:0] sclr[1:0] en [1:0] signál
signb
scanina[] accum_sload
Požadováno Ano Ne
Ne Ne Ne Ne Ne
Žádný
Ne Ne
Popis
Simulační model pro tuto IP podporuje neurčenou vstupní hodnotu (X) pro tyto signály. Když těmto signálům poskytnete hodnotu X, hodnota X se přenese na výstupní signály.
Vstup dat do násobiče. Vstupní signál [NUMBER_OF_MULTIPLIERS * WIDTH_B – 1 … 0] široký Simulační model pro tuto IP podporuje neurčenou vstupní hodnotu (X) těchto signálů. Když těmto signálům poskytnete hodnotu X, hodnota X se přenese na výstupní signály.
Vstup dat do násobiče. Vstupní signál [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] široký Vyberte INPUT pro parametr Select preadder mode pro povolení těchto signálů. Simulační model pro tuto IP podporuje neurčenou vstupní hodnotu (X) pro tyto signály. Když těmto signálům poskytnete hodnotu X, hodnota X se přenese na výstupní signály.
Vstupní port hodin do odpovídajícího registru. Tento signál může využít jakýkoli registr v jádře IP. Simulační model pro tuto IP podporuje neurčenou vstupní hodnotu (X) pro tyto signály. Když těmto signálům poskytnete hodnotu X, hodnota X se přenese na výstupní signály.
Asynchronní čistý vstup do odpovídajícího registru. Simulační model pro tuto IP podporuje neurčenou vstupní hodnotu (X) pro tyto signály. Když těmto signálům poskytnete hodnotu X, hodnota X se přenese na výstupní signály.
Synchronní čistý vstup do odpovídajícího registru. Simulační model pro tuto IP podporuje neurčenou vstupní hodnotu X těchto signálů. Když těmto signálům poskytnete hodnotu X, hodnota X se přenese na výstupní signály
Povolte vstup signálu do odpovídajícího registru. Simulační model pro tuto IP podporuje neurčenou vstupní hodnotu (X) pro tyto signály. Když těmto signálům poskytnete hodnotu X, hodnota X se přenese na výstupní signály.
Specifikuje číselnou reprezentaci vstupu násobiče A. Pokud je signál znaménka vysoký, násobič považuje signál na vstupu násobiče A za číslo se znaménkem. Pokud je signál znaménka nízký, násobič považuje vstupní signál násobiče A za číslo bez znaménka. Chcete-li povolit tento signál, vyberte pro parametr Jaký je formát zobrazení pro násobiče A vstupy PROMĚNNÁ. Simulační model pro tuto IP podporuje neurčenou vstupní hodnotu (X) tohoto signálu. Když na tento vstup zadáte hodnotu X, hodnota X se přenese na výstupní signály.
Určuje číselnou reprezentaci vstupního signálu B násobiče. Pokud je signál znaménko b vysoký, násobič považuje vstupní signál násobiče B za číslo doplňku se znaménkem dvojky. Pokud je signál signb nízký, bude násobič považovat vstupní signál B násobiče za číslo bez znaménka. Simulační model pro tuto IP podporuje neurčenou vstupní hodnotu (X) tohoto signálu. Když na tento vstup zadáte hodnotu X, hodnota X se přenese na výstupní signály.
Vstup pro skenovací řetězec A. Vstupní signál [WIDTH_A – 1, … 0] široký. Když má parametr INPUT_SOURCE_A hodnotu SCANA, je vyžadován signál scanina[].
Dynamicky určuje, zda je hodnota akumulátoru konstantní. Pokud je signál accum_sload nízký, pak se výstup násobiče načte do akumulátoru. Nepoužívejte accum_sload a sload_accum současně.
pokračování…
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 45
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Signál sload_accum
chainin[] addnsub1
addnsub3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]
Požadované č
Ne Ne
Žádný
Ne ne ne ne
Popis
Simulační model pro tuto IP podporuje neurčenou vstupní hodnotu (X) tohoto signálu. Když tomuto vstupu poskytnete hodnotu X, hodnota X se přenese na výstupní signály.
Dynamicky určuje, zda je hodnota akumulátoru konstantní. Pokud je signál sload_accum vysoký, pak se výstup násobiče načte do akumulátoru. Nepoužívejte accum_sload a sload_accum současně. Simulační model pro tuto IP podporuje neurčenou vstupní hodnotu (X) tohoto signálu. Když na tento vstup zadáte hodnotu X, hodnota X se přenese na výstupní signály.
Vstupní sběrnice výsledků sčítání z předchozího stagE. Vstupní signál [WIDTH_CHAININ – 1, … 0] široký.
Proveďte sčítání nebo odčítání k výstupům z prvního páru násobičů. Vstup 1 do signálu addnsub1 pro sečtení výstupů z prvního páru násobičů. Vstupem 0 do signálu addnsub1 odečtete výstupy od prvního páru násobičů. Simulační model pro tuto IP podporuje neurčenou vstupní hodnotu (X) tohoto signálu. Když na tento vstup zadáte hodnotu X, hodnota X se přenese na výstupní signály.
Proveďte sčítání nebo odčítání k výstupům z prvního páru násobičů. Vstup 1 do signálu addnsub3 pro sečtení výstupů z druhého páru násobičů. Vstupem 0 do signálu addnsub3 odečtete výstupy od prvního páru násobičů. Simulační model pro tuto IP podporuje neurčenou vstupní hodnotu (X) tohoto signálu. Když tomuto vstupu poskytnete hodnotu X, hodnota X se přenese na výstupní signály.
Koeficient vstupního signálu[0:3] k prvnímu multiplikátoru. Simulační model pro tuto IP podporuje neurčenou vstupní hodnotu (X) tohoto signálu. Když na tento vstup zadáte hodnotu X, hodnota X se přenese na výstupní signály.
Koeficient vstupního signálu[0:3]do druhého násobiče. Simulační model pro tuto IP podporuje neurčenou vstupní hodnotu (X) tohoto signálu. Když na tento vstup zadáte hodnotu X, hodnota X se přenese na výstupní signály.
Koeficient vstupního signálu[0:3]do třetího násobiče. Simulační model pro tuto IP podporuje neurčenou vstupní hodnotu (X) tohoto signálu. Když na tento vstup zadáte hodnotu X, hodnota X se přenese na výstupní signály.
Koeficient vstupního signálu [0:3] do čtvrtého násobiče. Simulační model pro tuto IP podporuje neurčenou vstupní hodnotu (X) tohoto signálu. Když na tento vstup zadáte hodnotu X, hodnota X se přenese na výstupní signály.
Tabulka 29. Multiply Adder Výstupní signály Intel FPGA IP
Signál
Požadovaný
Popis
výsledek []
Ano
Výstupní signál multiplikátoru. Výstupní signál [WIDTH_RESULT – 1 … 0] široký
Simulační model pro tuto IP podporuje neurčenou výstupní hodnotu (X). Když zadáte hodnotu X jako vstup, hodnota X se šíří tímto signálem.
scanouta []
Žádný
Výstup skenovacího řetězce A. Výstupní signál [WIDTH_A – 1..0] široký.
Vyberte více než 2 pro počty násobičů a zvolte Vstup řetězce skenování pro parametr Jaký je vstup A násobiče připojený k aktivaci tohoto signálu.
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 46
Odeslat zpětnou vazbu
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.6. Parametry
8.6.1. Obecné Tab
Tabulka 30. Obecné Tab
Parametr
Parametr generovaný IP
Hodnota
Jaký je počet násobitelů?
počet_m 1 – 4 násobitele
Jak široké by měly být vstupní sběrnice A width_a?
1 – 256
Jak široké by měly být vstupní sběrnice B width_b?
1 – 256
Jak široká by měla být výstupní sběrnice?
šířka_výsledek
1 – 256
Vytvořte přidružené povolení hodin pro každé hodiny
gui_associate Zapnuto d_clock_enabl Vypnuto e
8.6.2. Karta Extra režimy
Tabulka 31. Extra režimy Tab
Parametr
Parametr generovaný IP
Hodnota
Konfigurace výstupů
Registrovat výstup sčítací jednotky
gui_output_re Zapnuto
gister
Vypnuto
Jaký je zdroj pro hodinový vstup?
gui_output_re gister_clock
Hodiny0 Hodiny1 Hodiny2
Jaký je zdroj pro asynchronní čistý vstup?
gui_output_re gister_aclr
ŽÁDNÉ ACLR0 ACLR1
Jaký je zdroj pro synchronní čistý vstup?
gui_output_re gister_sclr
ŽÁDNÉ SCLR0 SCLR1
Operace sčítačky
Jaká operace by měla být provedena na výstupech prvního páru multiplikátorů?
gui_multiplier 1_direction
PŘIDAT, SUB, VARIABLE
Výchozí hodnota 1
16
Popis
Počet násobitelů, které se mají sečíst. Hodnoty jsou 1 až 4. Zadejte šířku portu dataa[].
16
Zadejte šířku portu datab[].
32
Zadejte šířku portu result[].
Vypnuto
Tuto možnost vyberte, chcete-li aktivovat hodiny
pro každé hodiny.
Výchozí hodnota
Popis
Off Clock0
ŽÁDNÝ ŽÁDNÝ
Tuto možnost vyberte, chcete-li povolit výstupní registr sčítacího modulu.
Vyberte Clock0 , Clock1 nebo Clock2 pro povolení a určení zdroje hodin pro výstupní registry. Chcete-li aktivovat tento parametr, musíte vybrat Registrovat výstup sčítací jednotky.
Určuje zdroj asynchronního vymazání pro výstupní registr sčítačky. Chcete-li aktivovat tento parametr, musíte vybrat Registrovat výstup sčítací jednotky.
Určuje zdroj synchronního vymazání pro výstupní registr sčítačky. Chcete-li aktivovat tento parametr, musíte vybrat Registrovat výstup sčítací jednotky.
PŘIDAT
Vyberte operaci sčítání nebo odčítání, která se má provést pro výstupy mezi prvním a druhým multiplikátorem.
· Vyberte ADD pro provedení operace sčítání.
· Vyberte SUB pro provedení operace odečítání.
· Vyberte VARIABLE pro použití portu addnsub1 pro dynamické ovládání sčítání/odčítání.
pokračování…
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 47
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametr
Parametr generovaný IP
Hodnota
Zaregistrujte vstup 'addnsub1'
gui_addnsub_ On multiplier_reg Off ister1
Jaký je zdroj pro hodinový vstup?
gui_addnsub_ multiplier_reg ister1_clock
Hodiny0 Hodiny1 Hodiny2
Jaký je zdroj pro asynchronní čistý vstup?
gui_addnsub_ multiplier_aclr 1
ŽÁDNÉ ACLR0 ACLR1
Jaký je zdroj pro synchronní čistý vstup?
gui_addnsub_ multiplier_sclr 1
ŽÁDNÉ SCLR0 SCLR1
Jaká operace by měla být provedena na výstupech druhého páru multiplikátorů?
gui_multiplier 3_direction
PŘIDAT, SUB, VARIABLE
Zaregistrujte vstup 'addnsub3'
gui_addnsub_ On multiplier_reg Off ister3
Jaký je zdroj pro hodinový vstup?
gui_addnsub_ multiplier_reg ister3_clock
Hodiny0 Hodiny1 Hodiny2
Výchozí hodnota
Off Clock0 NONE NONE ADD
Off Clock0
Popis
Když je vybrána hodnota VARIABLE: · Budiž signál addnsub1 na vysokou hodnotu
operace sčítání. · Přepněte signál addnsub1 na nízkou hodnotu pro
operace odečítání. Chcete-li aktivovat tento parametr, musíte vybrat více než dva násobiče.
Tuto možnost vyberte, chcete-li povolit vstupní registr pro port addnsub1. Chcete-li aktivovat tento parametr, musíte vybrat VARIABLE pro Jaká operace by měla být provedena na výstupech prvního páru multiplikátorů.
Vyberte Clock0 , Clock1 nebo Clock2 pro určení vstupního hodinového signálu pro registr addnsub1. Chcete-li povolit tento parametr, musíte vybrat vstup Register 'addnsub1'.
Určuje zdroj asynchronního vymazání pro registr addnsub1. Chcete-li povolit tento parametr, musíte vybrat vstup Register 'addnsub1'.
Určuje zdroj synchronního vymazání pro registr addnsub1. Chcete-li povolit tento parametr, musíte vybrat vstup Register 'addnsub1'.
Vyberte operaci sčítání nebo odčítání, která se má provést pro výstupy mezi třetím a čtvrtým multiplikátorem. · Chcete-li provést přidání, vyberte PŘIDAT
úkon. · Vyberte SUB pro provedení odečítání
úkon. · Chcete-li použít addnsub1, vyberte VARIABLE
port pro ovládání dynamického sčítání/odčítání. Když je vybrána hodnota VARIABLE: · Přepněte signál addnsub1 na vysokou hodnotu pro operaci sčítání. · Přepněte signál addnsub1 na nízkou pro operaci odečítání. Musíte vybrat hodnotu 4 pro Jaký je počet multiplikátorů? pro aktivaci tohoto parametru.
Tuto možnost vyberte, chcete-li povolit vstupní registr pro signál addnsub3. Chcete-li aktivovat tento parametr, musíte vybrat VARIABLE pro Jaká operace by měla být provedena na výstupech druhého páru násobičů.
Vyberte Clock0 , Clock1 nebo Clock2 pro určení vstupního hodinového signálu pro registr addnsub3. Chcete-li povolit tento parametr, musíte vybrat vstup Register 'addnsub3'.
pokračování…
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 48
Odeslat zpětnou vazbu
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametr
Jaký je zdroj pro asynchronní čistý vstup?
Parametr generovaný IP
Hodnota
gui_addnsub_ multiplier_aclr 3
ŽÁDNÉ ACLR0 ACLR1
Jaký je zdroj pro synchronní čistý vstup?
gui_addnsub_ multiplier_sclr 3
ŽÁDNÉ SCLR0 SCLR1
Polarita Povolit `use_subadd'
gui_use_subn Zapnuto
přidat
Vypnuto
8.6.3. Multiplikátory Tab
Tabulka 32. Násobiče Tab
Parametr
Parametr generovaný IP
Hodnota
Co je
gui_represent
formát reprezentace ation_a
pro vstupy multiplikátoru A?
SIGNOVANÉ, NESIGNOVANÉ, VARIABILNÍ
Zaregistrujte vstup 'signa'
gui_register_s Zapnuto
igna
Vypnuto
Jaký je zdroj pro hodinový vstup?
gui_register_s igna_clock
Hodiny0 Hodiny1 Hodiny2
Jaký je zdroj pro asynchronní čistý vstup?
gui_register_s igna_aclr
ŽÁDNÉ ACLR0 ACLR1
Jaký je zdroj pro synchronní čistý vstup?
gui_register_s igna_sclr
ŽÁDNÉ SCLR0 SCLR1
Co je
gui_represent
formát reprezentace ation_b
pro multiplikátory B vstupy?
SIGNOVANÉ, NESIGNOVANÉ, VARIABILNÍ
Zaregistrujte vstup `signb'
gui_register_s Zapnuto
ignb
Vypnuto
Výchozí hodnota NONE
ŽÁDNÝ
Popis
Určuje zdroj asynchronního vymazání pro registr addnsub3. Chcete-li povolit tento parametr, musíte vybrat vstup Register 'addnsub3'.
Určuje zdroj synchronního vymazání pro registr addnsub3. Chcete-li povolit tento parametr, musíte vybrat vstup Register 'addnsub3'.
Vypnuto
Tuto možnost vyberte, chcete-li funkci obrátit
vstupního portu addnsub.
Drive addnsub to high pro operaci odečítání.
Drive addnsub na nízkou pro operaci sčítání.
Výchozí hodnota
Popis
UNSIGNED Zadejte formát zobrazení pro vstup multiplikátoru A.
Vypnuto
Tuto možnost vyberte, chcete-li povolit signa
rejstřík.
Musíte vybrat hodnotu PROMĚNNÁ pro Jaký je formát zobrazení pro vstupy násobiče A? parametr pro povolení této možnosti.
Hodiny 0
Vyberte Clock0 , Clock1 nebo Clock2 pro povolení a určení vstupního hodinového signálu pro registr signa.
Pro aktivaci tohoto parametru musíte vybrat Registrovat vstup `signa'.
ŽÁDNÝ
Určuje zdroj asynchronního vymazání pro registr signa.
Pro aktivaci tohoto parametru musíte vybrat Registrovat vstup `signa'.
ŽÁDNÝ
Určuje zdroj synchronního vymazání pro registr signa.
Pro aktivaci tohoto parametru musíte vybrat Registrovat vstup `signa'.
UNSIGNED Zadejte formát zobrazení pro vstup multiplikátoru B.
Vypnuto
Tuto možnost vyberte, chcete-li povolit signb
rejstřík.
pokračování…
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 49
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametr
Parametr generovaný IP
Hodnota
Výchozí hodnota
Jaký je zdroj pro hodinový vstup?
gui_register_s ignb_clock
Hodiny0 Hodiny1 Hodiny2
Hodiny 0
Jaký je zdroj pro asynchronní čistý vstup?
gui_register_s ignb_aclr
ŽÁDNÉ ACLR0 ACLR1
Jaký je zdroj pro synchronní čistý vstup?
gui_register_s ignb_sclr
ŽÁDNÉ SCLR0 SCLR1
Konfigurace vstupu
Zaregistrujte vstup A násobiče
Jaký je zdroj pro hodinový vstup?
gui_input_reg Zapnuto
ister_a
Vypnuto
gui_input_reg ister_a_clock
Hodiny0 Hodiny1 Hodiny2
ŽÁDNÝ ŽÁDNÝ
Off Clock0
Jaký je zdroj pro asynchronní čistý vstup?
gui_input_reg ister_a_aclr
ŽÁDNÉ ACLR0 ACLR1
Jaký je zdroj pro synchronní čistý vstup?
gui_input_reg ister_a_sclr
ŽÁDNÉ SCLR0 SCLR1
Registrujte vstup B násobiče
Jaký je zdroj pro hodinový vstup?
gui_input_reg Zapnuto
ister_b
Vypnuto
gui_input_reg ister_b_clock
Hodiny0 Hodiny1 Hodiny2
NONE NONE Off Clock0
Jaký je zdroj pro asynchronní čistý vstup?
gui_input_reg ister_b_aclr
ŽÁDNÉ ACLR0 ACLR1
ŽÁDNÝ
Jaký je zdroj pro synchronní čistý vstup?
gui_input_reg ister_b_sclr
ŽÁDNÉ SCLR0 SCLR1
ŽÁDNÝ
K čemu je připojen vstup A násobiče?
gui_multiplier Vstup multiplikátoru Multiplikátor
_a_vstup
Vstup pro skenování řetězce
Popis
Musíte vybrat hodnotu PROMĚNNÁ pro Jaký je formát zobrazení pro vstupy multiplikátorů B? parametr pro povolení této možnosti.
Vyberte Clock0 , Clock1 nebo Clock2 pro povolení a zadání vstupního hodinového signálu pro registr signb. Chcete-li povolit tento parametr, musíte vybrat vstup Register `signb'.
Určuje zdroj asynchronního vymazání pro registr signb. Chcete-li povolit tento parametr, musíte vybrat vstup Register `signb'.
Určuje zdroj synchronního vymazání pro registr signb. Chcete-li povolit tento parametr, musíte vybrat vstup Register `signb'.
Tuto možnost vyberte, chcete-li povolit vstupní registr pro vstupní sběrnici dat.
Vyberte Clock0 , Clock1 nebo Clock2 pro povolení a určení vstupního hodinového signálu registru pro datovou vstupní sběrnici. Chcete-li aktivovat tento parametr, musíte vybrat Registrovat vstup A násobiče.
Určuje zdroj asynchronního vymazání registru pro vstupní sběrnici dat. Chcete-li aktivovat tento parametr, musíte vybrat Registrovat vstup A násobiče.
Určuje zdroj synchronního vymazání registru pro vstupní sběrnici dat. Chcete-li aktivovat tento parametr, musíte vybrat Registrovat vstup A násobiče.
Tuto možnost vyberte, chcete-li povolit vstupní registr pro vstupní sběrnici datab.
Vyberte Clock0 , Clock1 nebo Clock2 pro povolení a určení vstupního hodinového signálu registru pro vstupní sběrnici datab. Chcete-li aktivovat tento parametr, musíte vybrat Registrovat vstup B násobiče.
Určuje zdroj asynchronního vymazání registru pro vstupní sběrnici datab. Chcete-li aktivovat tento parametr, musíte vybrat Registrovat vstup B násobiče.
Určuje zdroj synchronního vymazání registru pro vstupní sběrnici datab. Chcete-li aktivovat tento parametr, musíte vybrat Registrovat vstup B násobiče.
Vyberte vstupní zdroj pro vstup A násobiče.
pokračování…
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 50
Odeslat zpětnou vazbu
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametr
Parametr generovaný IP
Hodnota
Scanout A Konfigurace registru
Registrujte výstup řetězce skenování
gui_scanouta Zapnuto
_rejstřík
Vypnuto
Jaký je zdroj pro hodinový vstup?
gui_scanouta _register_cloc k
Hodiny0 Hodiny1 Hodiny2
Jaký je zdroj pro asynchronní čistý vstup?
gui_scanouta _register_aclr
ŽÁDNÉ ACLR0 ACLR1
Jaký je zdroj pro synchronní čistý vstup?
gui_scanouta _register_sclr
ŽÁDNÉ SCLR0 SCLR1
8.6.4. Předčítač Tab
Tabulka 33. Předčítač Tab
Parametr
Parametr generovaný IP
Hodnota
Vyberte režim předčítače
preadder_mo de
JEDNODUCHÝ, COEF, VSTUP, QUARE, KONSTANTNÍ
Výchozí hodnota
Popis
Vyberte vstup multiplikátoru, chcete-li použít vstupní sběrnici dat jako zdroj pro multiplikátor. Chcete-li použít vstupní sběrnici skenování jako zdroj násobiče a aktivovat výstupní sběrnici skenování, vyberte možnost Scan chain input. Tento parametr je dostupný, když zvolíte 2, 3 nebo 4 pro Jaký je počet násobitelů? parametr.
Off Clock0 NONE NONE
Tuto možnost vyberte, chcete-li povolit výstupní registr pro výstupní sběrnici scanouta.
Musíte vybrat vstup řetězce skenování pro K čemu je připojen vstup A násobiče? parametr pro povolení této možnosti.
Vyberte Clock0 , Clock1 nebo Clock2 pro povolení a určení vstupního hodinového signálu registru pro výstupní sběrnici scanouta.
Chcete-li tuto možnost povolit, musíte zapnout výstup registru parametru řetězce skenování.
Určuje zdroj asynchronního vymazání registru pro výstupní sběrnici scanouta.
Chcete-li tuto možnost povolit, musíte zapnout výstup registru parametru řetězce skenování.
Určuje zdroj synchronního vymazání registru pro výstupní sběrnici scanouta.
Chcete-li tuto možnost povolit, musíte vybrat Registrovat výstup parametru řetězce skenování.
Výchozí hodnota
JEDNODUCHÝ
Popis
Určuje provozní režim pro modul předběžné volby. JEDNODUCHÝ: Tento režim obchází předadder. Toto je výchozí režim. COEF: Tento režim používá výstup předadderu a vstupní sběrnice koefsel jako vstupy do násobiče. INPUT: Tento režim používá výstup předadderu a vstupní datové sběrnice jako vstupy do násobiče. SQUARE: Tento režim používá výstup preadderu jako oba vstupy do násobiče.
pokračování…
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 51
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametr
Parametr generovaný IP
Hodnota
Vyberte směr předčítače
ADD gui_preadder,
_směr
SUB
Jak široké by měly být vstupní sběrnice C width_c?
1 – 256
Konfigurace vstupního registru dat C
Zaregistrujte vstup dat
gui_datac_inp Zapnuto
ut_register
Vypnuto
Jaký je zdroj pro hodinový vstup?
gui_datac_inp ut_register_cl ock
Hodiny0 Hodiny1 Hodiny2
Jaký je zdroj pro asynchronní čistý vstup?
gui_datac_inp ut_register_a clr
ŽÁDNÉ ACLR0 ACLR1
Jaký je zdroj pro synchronní čistý vstup?
gui_datac_inp ut_register_sc lr
ŽÁDNÉ SCLR0 SCLR1
Koeficienty
Jak široká by měla být šířka koeficientu?
width_coef
1 – 27
Konfigurace registru Coef
Zaregistrujte vstup coefsel
gui_coef_regi Zapnuto
ster
Vypnuto
Jaký je zdroj pro hodinový vstup?
gui_coef_regi ster_clock
Hodiny0 Hodiny1 Hodiny2
Výchozí hodnota
PŘIDAT
16
Popis
CONSTANT: Tento režim používá datovou vstupní sběrnici s přemostěním preadderu a koefselovou vstupní sběrnicí jako vstupy do násobiče.
Určuje činnost preadderu. Chcete-li aktivovat tento parametr, vyberte pro Výběr režimu předadder následující možnosti: · COEF · INPUT · SQUARE nebo · CONSTANT
Určuje počet bitů pro vstupní sběrnici C. Chcete-li aktivovat tento parametr, musíte vybrat INPUT pro Select preadder mode.
On Clock0 NONE NONE
Tuto možnost vyberte, chcete-li povolit vstupní registr pro vstupní datovou sběrnici. Chcete-li tuto možnost aktivovat, musíte nastavit INPUT na parametr Select preadder mode.
Vyberte Clock0 , Clock1 nebo Clock2 pro specifikaci vstupního hodinového signálu pro datový vstupní registr. Chcete-li povolit tento parametr, musíte vybrat Registrovat vstup dat.
Určuje zdroj asynchronního vymazání pro vstupní registr datac. Chcete-li povolit tento parametr, musíte vybrat Registrovat vstup dat.
Určuje zdroj synchronního vymazání pro vstupní registr datac. Chcete-li povolit tento parametr, musíte vybrat Registrovat vstup dat.
18
Určuje počet bitů pro
vstupní sběrnice coefsel.
Pro aktivaci tohoto parametru musíte vybrat COEF nebo CONSTANT pro režim preadder.
Na Hodinách0
Tuto možnost vyberte, chcete-li povolit vstupní registr pro vstupní sběrnici coefsel. Pro aktivaci tohoto parametru musíte vybrat COEF nebo CONSTANT pro režim preadder.
Vyberte Clock0 , Clock1 nebo Clock2 pro specifikaci vstupního hodinového signálu pro coefsel vstupní registr. Chcete-li aktivovat tento parametr, musíte vybrat možnost Registrovat vstup coefsel.
pokračování…
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 52
Odeslat zpětnou vazbu
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametr
Jaký je zdroj pro asynchronní čistý vstup?
Parametr generovaný IP
Hodnota
gui_coef_regi ster_aclr
ŽÁDNÉ ACLR0 ACLR1
Jaký je zdroj pro synchronní čistý vstup
gui_coef_regi ster_sclr
ŽÁDNÉ SCLR0 SCLR1
Konfigurace Coefficient_0
coef0_0 až coef0_7
0x00000 0xFFFFFFFF
Konfigurace Coefficient_1
coef1_0 až coef1_7
0x00000 0xFFFFFFFF
Konfigurace Coefficient_2
coef2_0 až coef2_7
0x00000 0xFFFFFFFF
Konfigurace Coefficient_3
coef3_0 až coef3_7
0x00000 0xFFFFFFFF
8.6.5. Akumulátor Tab
Tabulka 34. Akumulátor Tab
Parametr
Parametr generovaný IP
Hodnota
Povolit akumulátor?
akumulátor
ANO NE
Jaký je typ provozu akumulátoru?
accum_directi ADD,
on
SUB
Výchozí hodnota NONE
ŽÁDNÝ
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0
Popis
Určuje asynchronní čistý zdroj pro vstupní registr coefsel. Chcete-li aktivovat tento parametr, musíte vybrat možnost Registrovat vstup coefsel.
Určuje zdroj synchronního vymazání pro vstupní registr coefsel. Chcete-li aktivovat tento parametr, musíte vybrat možnost Registrovat vstup coefsel.
Určuje hodnoty koeficientů pro tento první násobitel. Počet bitů musí být stejný, jak je uvedeno v části Jak široká má být šířka koeficientu? parametr. Pro aktivaci tohoto parametru musíte vybrat COEF nebo CONSTANT pro režim preadder.
Určuje hodnoty koeficientů pro tento druhý násobitel. Počet bitů musí být stejný, jak je uvedeno v části Jak široká má být šířka koeficientu? parametr. Pro aktivaci tohoto parametru musíte vybrat COEF nebo CONSTANT pro režim preadder.
Určuje hodnoty koeficientů pro tento třetí multiplikátor. Počet bitů musí být stejný, jak je uvedeno v části Jak široká má být šířka koeficientu? parametr. Pro aktivaci tohoto parametru musíte vybrat COEF nebo CONSTANT pro režim preadder.
Určuje hodnoty koeficientů pro tento čtvrtý multiplikátor. Počet bitů musí být stejný, jak je uvedeno v části Jak široká má být šířka koeficientu? parametr. Pro aktivaci tohoto parametru musíte vybrat COEF nebo CONSTANT pro režim preadder.
Výchozí hodnota NE
PŘIDAT
Popis
Vyberte ANO pro aktivaci akumulátoru. Při použití funkce akumulátoru musíte vybrat Registrovat výstup sčítací jednotky.
Určuje činnost akumulátoru: · ADD pro operaci sčítání · SUB pro operaci odčítání. Musíte vybrat ANO pro Povolit akumulátor? parametr pro povolení této možnosti.
pokračování…
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 53
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametr
Konstanta předpětí Povolí konstantu předpětí
Parametr generovaný IP
Hodnota
gui_ena_prelo Zapnuto
ad_const
Vypnuto
K čemu je připojen vstup akumulačního portu?
gui_accumula ACCUM_SLOAD, te_port_select SLOAD_ACCUM
Vyberte hodnotu pro preload loadconst_val 0 – 64
konstantní
ue
Jaký je zdroj pro hodinový vstup?
gui_accum_sl oad_register_ clock
Hodiny0 Hodiny1 Hodiny2
Jaký je zdroj pro asynchronní čistý vstup?
gui_accum_sl oad_register_ aclr
ŽÁDNÉ ACLR0 ACLR1
Jaký je zdroj pro synchronní čistý vstup?
gui_accum_sl oad_register_ sclr
ŽÁDNÉ SCLR0 SCLR1
Povolit dvojitý akumulátor
gui_double_a Zapnuto
ccum
Vypnuto
Výchozí hodnota
Popis
Vypnuto
Povolte accum_sload nebo
sload_accum signály a vstup registru
pro dynamickou volbu vstupu do
akumulátor.
Když je accum_sload nízké nebo sload_accum, výstup násobiče je přiveden do akumulátoru.
Když je accum_sload vysoké nebo sload_accum, do akumulátoru se přivádí uživatelsky zadaná konstanta předpětí.
Musíte vybrat ANO pro Povolit akumulátor? parametr pro povolení této možnosti.
ACCUM_SL OAD
Určuje chování signálu accum_sload/sload_accum.
ACCUM_SLOAD: Snižte accum_sload, aby se nahrál výstup násobiče do akumulátoru.
SLOAD_ACCUM: Drive sload_accum high pro načtení výstupu násobiče do akumulátoru.
Chcete-li povolit tento parametr, musíte vybrat možnost Povolit konstantu přednačtení.
64
Zadejte přednastavenou konstantní hodnotu.
Tato hodnota může být 2N, kde N je přednastavená konstantní hodnota.
Když N=64, představuje konstantní nulu.
Chcete-li povolit tento parametr, musíte vybrat možnost Povolit konstantu přednačtení.
Hodiny 0
Vyberte Clock0 , Clock1 nebo Clock2 pro určení vstupního hodinového signálu pro registr accum_sload/sload_accum.
Chcete-li povolit tento parametr, musíte vybrat možnost Povolit konstantu přednačtení.
ŽÁDNÝ
Určuje zdroj asynchronního vymazání pro registr accum_sload/sload_accum.
Chcete-li povolit tento parametr, musíte vybrat možnost Povolit konstantu přednačtení.
ŽÁDNÝ
Určuje zdroj synchronního vymazání pro registr accum_sload/sload_accum.
Chcete-li povolit tento parametr, musíte vybrat možnost Povolit konstantu přednačtení.
Vypnuto
Umožňuje registr dvojitého akumulátoru.
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 54
Odeslat zpětnou vazbu
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.6.6. Systolický/Chainout Tab
Tabulka 35. Systolická/řetězová sčítačka Tab
Parametr Povolit sčítačku řetězení
Parametr generovaný IP
Hodnota
chainout_add ANO,
er
ŽÁDNÝ
Jaký je typ operace sčítačky řetězení?
chainout_add ADD,
er_direction
SUB
Povolit vstup „negovat“ pro sčítačku řetězení?
Port_negate
PORT_USED, PORT_UNUSED
Registrovat 'negovat' vstup? negate_regist er
NEREGISTROVANÉ, HODINY 0, HODINY 1, HODINY 2, HODINY 3
Jaký je zdroj pro asynchronní čistý vstup?
negate_aclr
ŽÁDNÉ ACLR0 ACLR1
Jaký je zdroj pro synchronní čistý vstup?
negate_sclr
ŽÁDNÉ SCLR0 SCLR1
Systolické zpoždění
Povolit registry systolického zpoždění
gui_systolic_d Zapnuto
elay
Vypnuto
Jaký je zdroj pro hodinový vstup?
gui_systolic_d CLOCK0,
elay_clock
HODINY 1,
Výchozí hodnota
ŽÁDNÝ
Popis
Vyberte ANO, chcete-li povolit modul zřetězení.
PŘIDAT
Určuje operaci zřetězení sčítání.
Pro operaci odečítání musí být vybráno SIGNED pro Jaký je formát zobrazení pro vstupy násobiče A? a Jaký je formát reprezentace pro vstupy multiplikátorů B? v záložce Multiplikátory.
PORT_UN POUŽITO
Vyberte PORT_USED pro povolení negace vstupního signálu.
Tento parametr je neplatný, pokud je zřetězená sčítačka zakázána.
ZRUŠIT REGISTRACI ERED
Povolení vstupního registru pro negovaný vstupní signál a specifikuje vstupní hodinový signál pro negační registr.
Vyberte UNREGISTERED, pokud negovat vstupní registr to není potřeba
Tento parametr je neplatný, když vyberete:
· NE pro Povolit sčítačku řetězení nebo
· PORT_UNUSED pro Povolit 'negovat' vstup pro zřetězení? parametr popř
ŽÁDNÝ
Určuje zdroj asynchronního vymazání pro registr negace.
Tento parametr je neplatný, když vyberete:
· NE pro Povolit sčítačku řetězení nebo
· PORT_UNUSED pro Povolit 'negovat' vstup pro zřetězení? parametr popř
ŽÁDNÝ
Určuje zdroj synchronního vymazání pro registr negace.
Tento parametr je neplatný, když vyberete:
· NE pro Povolit sčítačku řetězení nebo
· PORT_UNUSED pro Povolit 'negovat' vstup pro zřetězení? parametr popř
Vypnuto CLOCK0
Tuto možnost vyberte, chcete-li povolit systolický režim. Tento parametr je dostupný, když vyberete 2 nebo 4 pro Jaký je počet násobitelů? parametr. Chcete-li používat registry systolického zpoždění, musíte povolit výstup registru sčítací jednotky.
Určuje vstupní hodinový signál pro registr systolického zpoždění.
pokračování…
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 55
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametr
Parametr generovaný IP
Hodnota
HODINY 2,
Jaký je zdroj pro asynchronní čistý vstup?
gui_systolic_d elay_aclr
ŽÁDNÉ ACLR0 ACLR1
Jaký je zdroj pro synchronní čistý vstup?
gui_systolic_d elay_sclr
ŽÁDNÉ SCLR0 SCLR1
Výchozí hodnota
ŽÁDNÝ
ŽÁDNÝ
Popis
Chcete-li tuto možnost povolit, musíte vybrat povolení registrů systolického zpoždění.
Určuje asynchronní čistý zdroj pro registr systolického zpoždění. Chcete-li tuto možnost povolit, musíte vybrat povolení registrů systolického zpoždění.
Určuje zdroj synchronního vymazání pro registr systolického zpoždění. Chcete-li tuto možnost povolit, musíte vybrat povolení registrů systolického zpoždění.
8.6.7. Potrubí Tab
Tabulka 36. Potrubí Tab
Konfigurace zřetězení parametrů
Parametr generovaný IP
Hodnota
Chcete do vstupu přidat registr potrubí?
gui_pipelining Ne, Ano
Výchozí hodnota
Žádný
Upřesněte prosím
latence
počet hodin latence
cykly
Jakákoli hodnota větší než 0
Jaký je zdroj pro hodinový vstup?
gui_input_late ncy_clock
HODINY 0, HODINY 1, HODINY 2
Jaký je zdroj pro asynchronní čistý vstup?
gui_input_late ncy_aclr
ŽÁDNÉ ACLR0 ACLR1
Jaký je zdroj pro synchronní čistý vstup?
gui_input_late ncy_sclr
ŽÁDNÉ SCLR0 SCLR1
HODINY 0 ŽÁDNÉ
Popis
Vyberte Ano, chcete-li povolit další úroveň potrubního registru pro vstupní signály. Musíte zadat hodnotu větší než 0 pro parametr Zadejte počet cyklů latence.
Určuje požadovanou latenci v hodinových cyklech. Jedna úroveň potrubního registru = 1 latence v hodinovém cyklu. Musíte vybrat ANO pro Chcete přidat registr potrubí do vstupu? pro povolení této možnosti.
Vyberte Clock0 , Clock1 nebo Clock2 pro povolení a určení vstupního hodinového signálu potrubního registru. Musíte vybrat ANO pro Chcete přidat registr potrubí do vstupu? pro povolení této možnosti.
Určuje zdroj asynchronního vymazání registru pro další registr potrubí. Musíte vybrat ANO pro Chcete přidat registr potrubí do vstupu? pro povolení této možnosti.
Určuje zdroj synchronního vymazání registru pro další registr potrubí. Musíte vybrat ANO pro Chcete přidat registr potrubí do vstupu? pro povolení této možnosti.
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 56
Odeslat zpětnou vazbu
683490 | 2020.10.05 Odeslat zpětnou vazbu
9. ALTMEMMULT (násobitel konstantního koeficientu založeného na paměti) IP Core
Pozor:
Intel odstranil podporu této IP v Intel Quartus Prime Pro Edition verze 20.3. Pokud se jádro IP ve vašem návrhu zaměřuje na zařízení v Intel Quartus Prime Pro Edition, můžete IP nahradit LPM_MULT Intel FPGA IP nebo znovu vygenerovat IP a zkompilovat svůj návrh pomocí softwaru Intel Quartus Prime Standard Edition.
Jádro ALTMEMMULT IP se používá k vytváření násobičů založených na paměti pomocí paměťových bloků na čipu, které se nacházejí v FPGA Intel (s paměťovými bloky M512, M4K, M9K a MLAB). Toto jádro IP je užitečné, pokud nemáte dostatečné zdroje pro implementaci multiplikátorů v logických prvcích (LE) nebo vyhrazených zdrojů multiplikátorů.
Jádro ALTMEMMULT IP je synchronní funkce, která vyžaduje hodiny. Jádro ALTMEMMULT IP implementuje multiplikátor s nejmenší propustností a latencí pro danou sadu parametrů a specifikací.
Následující obrázek ukazuje porty pro jádro ALTMEMMULT IP.
Obrázek 21. Porty ALTMEMMULT
ALTMEMMULT
data_in[] sload_data coeff_in[]
result[] result_valid load_done
sload_coeff
sclr hodiny
inst
Související informace Funkce na straně 71
9.1. Vlastnosti
Jádro ALTMEMMULT IP nabízí následující funkce: · Vytváří pouze paměťové multiplikátory pomocí paměťových bloků na čipu, které se nacházejí v
Intel FPGA · Podporuje šířku dat 1 bitů · Podporuje formát reprezentace dat podepsaných a nepodepsaných · Podporuje zřetězení s pevnou výstupní latencí
Intel Corporation. Všechna práva vyhrazena. Intel, logo Intel a další značky Intel jsou ochranné známky společnosti Intel Corporation nebo jejích dceřiných společností. Společnost Intel zaručuje výkon svých FPGA a polovodičových produktů podle aktuálních specifikací v souladu se standardní zárukou společnosti Intel, ale vyhrazuje si právo provádět změny jakýchkoli produktů a služeb kdykoli bez upozornění. Společnost Intel nepřebírá žádnou odpovědnost nebo závazky vyplývající z aplikace nebo použití jakýchkoli informací, produktů nebo služeb popsaných v tomto dokumentu, pokud to není výslovně písemně odsouhlaseno společností Intel. Zákazníkům společnosti Intel se doporučuje získat nejnovější verzi specifikací zařízení dříve, než se budou spoléhat na jakékoli zveřejněné informace a než zadají objednávky na produkty nebo služby. *Jiná jména a značky mohou být nárokovány jako vlastnictví jiných.
ISO 9001: 2015 Registrováno
9. ALTMEMMULT (násobič konstantního koeficientu na základě paměti) IP Core 683490 | 2020.10.05
· Ukládá násobky konstant do paměti RAM (random-access memory)
· Poskytuje možnost výběru typu bloku paměti RAM
· Podporuje volitelné synchronní čisté a zátěžové vstupní porty
9.2. Prototyp Verilog HDL
Následující prototyp Verilog HDL je umístěn v Verilog Design File (.v) altera_mf.v v adresář syntézy eda.
modul altmemmult #( parametr coeff_representation = “SIGNED”, parametr koeficient0 = “UNUSED”, parametr data_representation = “SIGNED”, parametr created_device_family = “unused”, parametr max_clock_cycles_per_result = 1, parametr number_of_coefficients = 1, parametr ram_block_type = “AUTO” total_latency = 1, parametr width_c = 1, parametr width_d = 1, parametr width_r = 1, parametr width_s = 1, parametr lpm_type = „altmemmult“, parametr lpm_hint = „unused“) ( hodiny vstupního vodiče, vstupní vodič [width_c-1: 0]coeff_in, vstupní vodič [width_d-1:0] data_in, výstupní vodič load_done, výstupní vodič [width_r-1:0] výsledek, výstupní vodič result_valid, vstupní vodič sclr, vstupní vodič [width_s-1:0] sel, vstup drát sload_coeff, vstupní drát sload_data)/* syntéza syn_black_box=1 */; koncový modul
9.3. Deklarace komponent VHDL
Deklarace komponenty VHDL se nachází v návrhu VHDL File (.vhd) altera_mf_components.vhd v souboru adresář librariesvhdlaltera_mf.
komponenta altmemmult generic ( coeff_representation:string := “SIGNED”; koeficient0:string := “NEPOUŽITÉ”; data_representation:string := “SIGNED”; initial_device_family:string := “unused”; max_clock_cycles_per_result:natural :_coficients:natural := 1; := 1 ram_blok:string := “AUTO”; šířka_c:přirozená šířka_r:přirozená := lpm_typ.;;; „altmemmult“); port( clock:in std_logic; coeff_in:in std_logic_vector(width_c-1 downto 1) := (ostatní => '0'); data_in:in std_logic_vector(width_d-0 downto 1);
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 58
Odeslat zpětnou vazbu
9. ALTMEMMULT (násobič konstantního koeficientu na základě paměti) IP Core 683490 | 2020.10.05
load_done:out std_logic; vysledek:out std_logic_vector(width_r-1 downto 0); result_valid:out std_logic; sclr:in std_logic := '0'; sel:in std_logic_vector(width_s-1 downto 0) := (ostatní => '0'); sload_coeff:in std_logic := '0'; sload_data:in std_logic := '0'); koncová součást;
9.4. Porty
V následujících tabulkách jsou uvedeny vstupní a výstupní porty pro jádro IP ALTMEMMULT.
Tabulka 37. Vstupní porty ALTMEMMULT
Název portu
Požadovaný
Popis
hodiny
Ano
Vstup hodin do násobiče.
coeff_in[]
Žádný
Koeficient vstupní port pro multiplikátor. Velikost vstupního portu závisí na hodnotě parametru WIDTH_C.
data_in[]
Ano
Port pro vstup dat do násobiče. Velikost vstupního portu závisí na hodnotě parametru WIDTH_D.
sclr
Žádný
Synchronní čistý vstup. Pokud se nepoužívá, výchozí hodnota je aktivní vysoká.
prodat[]
Žádný
Pevný výběr koeficientu. Velikost vstupního portu závisí na WIDTH_S
hodnota parametru.
sload_coeff
Žádný
Vstupní port synchronního koeficientu zatížení. Nahradí aktuálně zvolenou hodnotu koeficientu hodnotou zadanou ve vstupu coeff_in.
načíst_data
Žádný
Vstupní port pro synchronní zatížení dat. Signál, který určuje novou operaci násobení a ruší jakoukoli existující operaci násobení. Pokud má parametr MAX_CLOCK_CYCLES_PER_RESULT hodnotu 1, bude vstupní port sload_data ignorován.
Tabulka 38. Výstupní porty ALTMEMMULT
Název portu
Požadovaný
Popis
výsledek[]
Ano
Výstupní port multiplikátoru. Velikost vstupního portu závisí na hodnotě parametru WIDTH_R.
výsledek_platný
Ano
Označuje, kdy je výstup platným výsledkem úplného násobení. Pokud má parametr MAX_CLOCK_CYCLES_PER_RESULT hodnotu 1, výstupní port result_valid se nepoužije.
load_done
Žádný
Označuje, kdy je dokončeno načítání nového koeficientu. Signál load_done se aktivuje, když se dokončí načítání nového koeficientu. Pokud není signál load_done vysoký, nelze do paměti načíst žádnou jinou hodnotu koeficientu.
9.5. Parametry
V následující tabulce jsou uvedeny parametry pro jádro IP ALTMEMMULT.
Tabulka 39.
WIDTH_D WIDTH_C
Parametry ALTMEMMULT
Název parametru
Typ Povinný
Popis
Celé číslo Ano
Určuje šířku portu data_in[].
Celé číslo Ano
Určuje šířku portu coeff_in[]. pokračování…
Odeslat zpětnou vazbu
Uživatelská příručka Intel FPGA Integer Aritmetic IP Cores 59
9. ALTMEMMULT (násobič konstantního koeficientu na základě paměti) IP Core 683490 | 2020.10.05
Název parametru WIDTH_R WIDTH
Dokumenty / zdroje
![]() |
Intel FPGA Integer aritmetická IP jádra [pdfUživatelská příručka FPGA celočíselná aritmetická IP jádra, celočíselná aritmetická IP jádra, aritmetická IP jádra, IP jádra |