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

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *