FPGA Celoštevilska aritmetična IP jedra

Uporabniški priročnik za Intel FPGA Integer Aritmetic IP Cores
Posodobljeno za Intel® Quartus® Prime Design Suite: 20.3

Spletna različica Pošlji povratne informacije

UG-01063

ID: 683490 Različica: 2020.10.05

Vsebina
Vsebina
1. Celoštevilska aritmetična IP jedra Intel FPGA………………………………………………………………….. 5
2. LPM_COUNTER (Števec) IP Core………………………………………………………………………….. 7 2.1. Lastnosti…………………………………………………………………………………………………7 2.2. Prototip Verilog HDL……………………………………………………………………………….. 8 2.3. Deklaracija komponente VHDL……………………………………………………………………….8 2.4. Deklaracija VHDL LIBRARY_USE……………………………………………………………………… 9 2.5. Vrata……………………………………………………………………………………………………..9 2.6. Parametri……………………………………………………………………………………………… 10
3. LPM_DIVIDE (delilnik) Intel FPGA IP Core……………………………………………………….. 12 3.1. Lastnosti………………………………………………………………………………………………. 12 3.2. Prototip Verilog HDL……………………………………………………………………………… 12 3.3. Deklaracija komponente VHDL……………………………………………………………………….. 13 3.4. Izjava VHDL LIBRARY_USE……………………………………………………………………. 13 3.5. Pristanišča…………………………………………………………………………………………………… 13 3.6. Parametri…………………………………………………………………………………………… 14
4. LPM_MULT (množilnik) jedro IP……………………………………………………………………………. 16 4.1. Lastnosti………………………………………………………………………………………………. 16 4.2. Prototip Verilog HDL……………………………………………………………………………… 17 4.3. Deklaracija komponente VHDL……………………………………………………………………….. 17 4.4. Izjava VHDL LIBRARY_USE……………………………………………………………………. 17 4.5. Signali………………………………………………………………………………………………… 18 4.6. Parametri za naprave Stratix V, Arria V, Cyclone V in Intel Cyclone 10 LP…………… 18 4.6.1. Zavihek Splošno…………………………………………………………………………………18 4.6.2. Zavihek Splošno 2……………………………………………………………………………… 19 4.6.3. Zavihek Cevovod………………………………………………………………………………… 19 4.7. Parametri za naprave Intel Stratix 10, Intel Arria 10 in Intel Cyclone 10 GX……….. 20 4.7.1. Zavihek Splošno…………………………………………………………………………………20 4.7.2. Zavihek Splošno 2……………………………………………………………………………… 20 4.7.3. Cevovod………………………………………………………………………………………21
5. LPM_ADD_SUB (Seštevalnik/Odštevalnik)……………………………………………………………………… 22 5.1. Lastnosti………………………………………………………………………………………………. 22 5.2. Prototip Verilog HDL………………………………………………………………………………… 23 5.3. Deklaracija komponente VHDL……………………………………………………………………….. 23 5.4. Izjava VHDL LIBRARY_USE……………………………………………………………………. 23 5.5. Pristanišča…………………………………………………………………………………………………… 23 5.6. Parametri…………………………………………………………………………………………… 24
6. LPM_COMPARE (Primerjalnik)……………………………………………………………………………… 26 6.1. Lastnosti………………………………………………………………………………………………. 26 6.2. Prototip Verilog HDL……………………………………………………………………………… 27 6.3. Deklaracija komponente VHDL……………………………………………………………………….. 27 6.4. Izjava VHDL LIBRARY_USE……………………………………………………………………. 27 6.5. Pristanišča…………………………………………………………………………………………………… 27 6.6. Parametri…………………………………………………………………………………………… 28

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 2

Pošlji povratne informacije

Vsebina

7. ALTECC (koda za odpravo napak: kodirnik/dekoder) jedro IP……………………………………… 30
7.1. Funkcije kodirnika ALTECC…………………………………………………………………………..31 7.2. Prototip Verilog HDL (ALTECC_ENCODER)………………………………………………………. 32 7.3. Prototip Verilog HDL (ALTECC_DECODER)………………………………………………………. 32 7.4. Deklaracija komponente VHDL (ALTECC_ENCODER)……………………………………………33 7.5. Deklaracija komponente VHDL (ALTECC_DECODER)……………………………………………33 7.6. Izjava VHDL LIBRARY_USE……………………………………………………………………. 33 7.7. Vrata kodirnika………………………………………………………………………………………… 33 7.8. Vrata dekoderja…………………………………………………………………………………………34 7.9. Parametri dajalnika………………………………………………………………………………… 34 7.10. Parametri dekoderja ………………………………………………………………………………… 35
8. Intel FPGA Multiply Adder IP Core………………………………………………………………………. 36
8.1. Lastnosti………………………………………………………………………………………………. 37 8.1.1. Predseštevalnik………………………………………………………………………………….. 38 8.1.2. Register sistolične zakasnitve…………………………………………………………………….. 40 8.1.3. Konstanta predobremenitve………………………………………………………………………… 43 8.1.4. Dvojni akumulator………………………………………………………………………… 43
8.2. Prototip Verilog HDL……………………………………………………………………………… 44 8.3. Deklaracija komponente VHDL……………………………………………………………………….. 44 8.4. Izjava VHDL LIBRARY_USE……………………………………………………………………. 44 8.5. Signali………………………………………………………………………………………………… 44 8.6. Parametri…………………………………………………………………………………………… 47
8.6.1. Zavihek Splošno…………………………………………………………………………………47 8.6.2. Zavihek Dodatni načini…………………………………………………………………………….. 47 8.6.3. Zavihek Množitelji…………………………………………………………………………….. 49 8.6.4. Zavihek Preadder……………………………………………………………………………………. 51 8.6.5. Zavihek Akumulator…………………………………………………………………………….. 53 8.6.6. Sistolični/verižni zavihek………………………………………………………………………. 55 8.6.7. Zavihek Cevovod………………………………………………………………………………… 56
9. ALTMEMMULT (pomnilniški konstantni množitelj koeficientov) IP Core…………………… 57
9.1. Lastnosti………………………………………………………………………………………………. 57 9.2. Prototip Verilog HDL……………………………………………………………………………… 58 9.3. Deklaracija komponente VHDL……………………………………………………………………….. 58 9.4. Pristanišča…………………………………………………………………………………………………… 59 9.5. Parametri…………………………………………………………………………………………… 59
10. ALTMULT_ACCUM (množenje-kopičenje) jedro IP………………………………………………… 61
10.1. Značilnosti………………………………………………………………………………………….. 62 10.2. Prototip Verilog HDL……………………………………………………………………………..62 10.3. Deklaracija komponente VHDL……………………………………………………………………… 63 10.4. Deklaracija VHDL LIBRARY_USE……………………………………………………………………63 10.5. Pristanišča………………………………………………………………………………………………………. 63 10.6. Parametri………………………………………………………………………………………………. 64
11. ALTMULT_ADD (Množilni seštevalnik) IP Core……………………………………………………………..69
11.1. Lastnosti…………………………………………………………………………………………….. 71 11.2. Prototip Verilog HDL……………………………………………………………………………..72 11.3. Deklaracija komponente VHDL……………………………………………………………………… 72 11.4. Deklaracija VHDL LIBRARY_USE……………………………………………………………………72

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 3

Vsebina
11.5. Pristanišča……………………………………………………………………………………………………. 72 11.6. Parametri………………………………………………………………………………………………. 73
12. ALTMULT_COMPLEX (kompleksni množitelj) jedro IP……………………………………………… 86 12.1. Kompleksno množenje………………………………………………………………………………. 86 12.2. Kanonična predstavitev………………………………………………………………………… 87 12.3. Konvencionalna predstavitev………………………………………………………………………. 87 12.4. Lastnosti…………………………………………………………………………………………….. 88 12.5. Prototip Verilog HDL…………………………………………………………………………..88 12.6. Deklaracija komponente VHDL……………………………………………………………………… 89 12.7. Deklaracija VHDL LIBRARY_USE…………………………………………………………………89 12.8. Signali…………………………………………………………………………………………………. 89 12.9. Parametri………………………………………………………………………………………………. 90
13. ALTSQRT (Integer Square Root) IP Core………………………………………………………………92 13.1. Značilnosti………………………………………………………………………………………….. 92 13.2. Prototip Verilog HDL……………………………………………………………………………..92 13.3. Deklaracija komponente VHDL……………………………………………………………………… 93 13.4. VHDL Library_use Declaracija ………………………………………………………………… 93 13.5. Pristanišča……………………………………………………………………………………………………. 93 13.6. Parametri………………………………………………………………………………………………. 94
14. PARALLEL_ADD (vzporedni seštevalnik) jedro IP………………………………………………………….. 95 14.1. Značilnost…………………………………………………………………………………………….95 14.2. Prototip Verilog HDL……………………………………………………………………………..95 14.3. Deklaracija komponente VHDL……………………………………………………………………… 96 14.4. Deklaracija VHDL LIBRARY_USE……………………………………………………………………96 14.5. Pristanišča………………………………………………………………………………………………………. 96 14.6. Parametri………………………………………………………………………………………………. 97
15. Arhivi dokumentov uporabniškega priročnika za celoštevilska aritmetična IP jedra…………………………………… 98
16. Zgodovina revizij dokumenta za Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik…. 99

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 4

Pošlji povratne informacije

683490 | 2020.10.05 Pošlji povratne informacije

1. Celoštevilska aritmetična IP jedra Intel FPGA

Celoštevilska jedra IP Intel® FPGA lahko uporabite za izvajanje matematičnih operacij v svojem dizajnu.

Te funkcije ponujajo učinkovitejšo logično sintezo in implementacijo naprave kot kodiranje lastnih funkcij. Jedra IP lahko prilagodite svojim zahtevam.

Jedra IP za celoštevilsko aritmetiko Intel so razdeljena v naslednji dve kategoriji: · Jedra IP knjižnice parametriziranih modulov (LPM) · Jedra IP, specifična za Intel (ALT).

Naslednja tabela navaja celoštevilska aritmetična jedra IP.

Tabela 1.

Seznam jeder IP

IP jedra

LPM IP jedra

LPM_COUNTER

LPM_DIVIDE

LPM_MULT

LPM_ADD_SUB
LPM_COMPARE
Intel-specifična (ALT) IP jedra ALTECC

Funkcija je končanaview Counter Divider Multiplikator
Seštevalec ali odštevalec Primerjalnik
ECC kodirnik/dekoder

Podprta naprava
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 nadaljevanje ...

Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.

ISO 9001:2015 Registriran

1. Celoštevilska aritmetična IP jedra Intel FPGA 683490 | 2020.10.05

IP Cores Intel FPGA Multiply Adder ali ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_DODAJ ALTMULT_KOMPLEKS
ALTSQRT
PARALLEL_ADD

Funkcija je končanaview Množitelj-seštevalnik
Množitelj konstantnega koeficienta na osnovi pomnilnika
Množitelj-Akumulator Množilec-Seštevalnik
Kompleksni množitelj
Kvadratni koren celega števila
Vzporedni seštevalnik

Podprta naprava
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

Povezane informacije
· Opombe ob izdaji Intel FPGA in programabilnih naprav
· Uvod v jedra IP Intel FPGA Ponuja več informacij o jedrih IP Intel FPGA.
· Uporabniški priročnik za jedra IP s plavajočo vejico Ponuja več informacij o jedrih IP s plavajočo vejico Intel FPGA.
· Uvod v jedra IP Intel FPGA Ponuja splošne informacije o vseh jedrih IP Intel FPGA, vključno s parametriranjem, generiranjem, nadgradnjo in simulacijo jeder IP.
· Ustvarjanje simulacijskih skriptov IP in Qsys, neodvisnih od različic. Ustvarite simulacijske skripte, ki ne zahtevajo ročnih posodobitev za nadgradnjo programske opreme ali različic IP.
· Smernice najboljših praks upravljanja projektov za učinkovito upravljanje in prenosljivost vašega projekta in IP files.
· Arhivi dokumentov uporabniškega priročnika za jedra Integer Aritmetic IP na strani 98 Ponuja seznam uporabniških priročnikov za prejšnje različice jeder IP Integer Aritmetic.

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 6

Pošlji povratne informacije

683490 | 2020.10.05 Pošlji povratne informacije

2. LPM_COUNTER (Števec) IP Core

Slika 1.

Jedro IP LPM_COUNTER je binarni števec, ki ustvarja števce navzgor, navzdol in števce navzgor ali navzdol z izhodi širine do 256 bitov.

Naslednja slika prikazuje vrata za jedro IP LPM_COUNTER.

LPM_COUNTER Vrata

LPM_COUNTER

ssclr sload sset data[]

q[]

gor, dol

cout

aclr naloži sredstvo

clk_en cnt_en cin
inst

2.1. Lastnosti
Jedro IP LPM_COUNTER ponuja naslednje funkcije: · Generira števce navzgor, navzdol in gor/dol · Generira naslednje vrste števcev:
— Navadna dvojiška vrednost – števec se povečuje od nič ali zmanjšuje od 255
— Modul – števec poveča ali zmanjša vrednost modula, ki jo določi uporabnik, in se ponovi
· Podpira izbirna sinhrona vhodna vrata za brisanje, nalaganje in nastavitev · Podpira izbirna asinhrona vhodna vrata za brisanje, nalaganje in nastavitev · Podpira izbirna vhodna vrata za omogočanje štetja in omogočanje ure · Podpira izbirna vrata za prenos in prenos

Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.

ISO 9001:2015 Registriran

2. LPM_COUNTER (Števec) IP Core
683490 | 2020.10.05
2.2. Prototip Verilog HDL
Naslednji prototip Verilog HDL se nahaja v Verilog Design File (.v) lpm.v v imenik edasinteze.
modul lpm_counter (q, podatki, ura, cin, cout, clk_en, cnt_en, updown, aset, aclr, aload, sset, sclr, sload, eq); parameter lpm_type = “lpm_counter”; parameter lpm_width = 1; parameter lpm_modulus = 0; parameter lpm_direction = “NEUPORABLJENO”; parameter lpm_avalue = “NEUPORABLJENO”; parameter lpm_svalue = “NEUPORABLJENO”; parameter lpm_pvalue = “NEUPORABLJENO”; parameter lpm_port_updown = “PORT_CONNECTIVITY”; parameter lpm_hint = “NEUPORABLJENO”; izhod [lpm_width-1:0] q; izhodni izhod; izhod [15:0] eq; vnos cin; vnos podatkov [lpm_width-1:0]; vhodna ura, clk_en, cnt_en, gor navzdol; vnos aset, aclr, aload; vnos sset, sclr, sload; končni modul
2.3. Deklaracija komponente VHDL
Deklaracija komponente VHDL se nahaja v VHDL Design File (.vhd) LPM_PACK.vhd v imenik librariesvhdllpm.
komponenta LPM_COUNTER generično ( LPM_WIDTH : naravno; LPM_MODULUS : naravno := 0; LPM_DIRECTION : niz := “NEUPORABLJENO”; LPM_AVALUE : niz := “NEUPORABLJENO”; LPM_SVALUE : niz := “NEUPORABLJENO”; LPM_PORT_UPDOWN : niz := “PORT_CONNECTIVITY” ; LPM_PVALUE : niz := “UNUSED”; LPM_TYPE : niz := L_COUNTER; LPM_HINT : niz := “UNUSED”); vrata (DATA: v std_logic_vector(LPM_WIDTH-1 navzdol do 0):= (DRUGI =>
'0'); URA: v std_logic; CLK_EN: v std_logic:= '1'; CNT_EN : v std_logic := '1'; GOR DOL : v std_logic := '1'; SLOAD: v std_logic:= '0'; SSET: v std_logic:= '0'; SCLR: v std_logic:= '0'; NALOŽI : v std_logic := '0'; ASET: v std_logic:= '0'; ACLR: v std_logic:= '0'; CIN : v std_logic := '1'; COUT : out std_logic := '0'; Q: ven std_logic_vector(LPM_WIDTH-1 navzdol do 0); EQ : out std_logic_vector(15 downto 0));
končna komponenta;

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 8

Pošlji povratne informacije

2. LPM_COUNTER (Števec) IP Core 683490 | 2020.10.05

2.4. Izjava VHDL LIBRARY_USE
Deklaracija VHDL LIBRARY-USE ni potrebna, če uporabljate deklaracijo komponente VHDL.
KNJIŽNICA lpm; UPORABA lpm.lpm_components.all;

2.5. Pristanišča

Naslednje tabele navajajo vhodna in izhodna vrata za jedro IP LPM_COUNTER.

Tabela 2.

LPM_COUNTER Vhodna vrata

Ime vrat

Obvezno

Opis

podatki[]

št

Vzporedni vnos podatkov v števec. Velikost vhodnih vrat je odvisna od vrednosti parametra LPM_WIDTH.

ura

ja

Vhod ure, sprožen s pozitivnim robom.

clk_en

št

Ura omogoči vnos, da omogoči vse sinhrone dejavnosti. Če je izpuščeno, je privzeta vrednost 1.

cnt_en

št

Štetje omogoči vnos, da onemogoči štetje, ko je nizko, ne da bi to vplivalo na sload, sset ali sclr. Če je izpuščeno, je privzeta vrednost 1.

gor, dol

št

Nadzoruje smer štetja. Ko je potrjeno visoko (1), je smer štetja navzgor, ko je potrjeno nizko (0), je smer štetja navzdol. Če je uporabljen parameter LPM_DIRECTION, vrat gor navzdol ni mogoče povezati. Če LPM_DIRECTION ni uporabljen, so vrata navzgor navzdol neobvezna. Če je izpuščeno, je privzeta vrednost up (1).

cin

št

Prenos v bit nizkega reda. Za števce navzgor je vedenje vhoda cin

identično obnašanju vnosa cnt_en. Če je izpuščeno, je privzeta vrednost 1

(VCC).

aclr

št

Asinhroni čisti vnos. Če sta uporabljena in uveljavljena tako aset kot aclr, aclr preglasi aset. Če je izpuščeno, je privzeta vrednost 0 (onemogočeno).

aset

št

Asinhroni nastavljeni vnos. Podaja izhode q[] kot vse 1 ali na vrednost, podano s parametrom LPM_AVALUE. Če sta uporabljena in uveljavljena vrata aset in aclr, vrednost vrat aclr preglasi vrednost vrat aset. Če je izpuščeno, je privzeta vrednost 0, onemogočeno.

aload

št

Asinhrono nalaganje vnosa, ki asinhrono naloži števec z vrednostjo na vhodu podatkov. Ko se uporabljajo vrata za nalaganje, morajo biti povezana vrata za podatke[]. Če je izpuščeno, je privzeta vrednost 0, onemogočeno.

sclr

št

Sinhroni čisti vhod, ki počisti števec na naslednjem aktivnem robu ure. Če sta uporabljena in uveljavljena tako vrata sset kot sclr, vrednost vrat sclr preglasi vrednost vrat sset. Če je izpuščeno, je privzeta vrednost 0, onemogočeno.

sset

št

Vhod sinhrone nastavitve, ki nastavi števec na naslednji aktivni rob ure. Podaja vrednost izhodov q kot vse 1 ali na vrednost, podano s parametrom LPM_SVALUE. Če sta uporabljena in uveljavljena vrata sset in sclr,
vrednost vrat sclr preglasi vrednost vrat sset. Če je izpuščeno, je privzeta vrednost 0 (onemogočeno).

sload

št

Sinhroni vnos obremenitve, ki naloži števec s podatki [] na naslednjem aktivnem robu ure. Ko se uporabljajo vrata sload, morajo biti povezana vrata data[]. Če je izpuščeno, je privzeta vrednost 0 (onemogočeno).

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 9

2. LPM_COUNTER (Števec) IP Core 683490 | 2020.10.05

Tabela 3.

LPM_COUNTER Izhodna vrata

Ime vrat

Obvezno

Opis

q[]

št

Izhod podatkov iz števca. Velikost izhodnih vrat je odvisna od

Vrednost parametra LPM_WIDTH. Bodisi q[] ali vsaj ena od vrat eq[15..0].

mora biti povezan.

eq[15..0]

št

Izhod dekodiranja števca. Vrata eq[15..0] niso dostopna v urejevalniku parametrov, ker parameter podpira samo AHDL.
Povezana morajo biti vrata q[] ali vrata eq[]. Uporabite lahko do c eq vrat (0 <= c <= 15). Dekodira se samo 16 najnižjih vrednosti štetja. Ko je vrednost števca c, je izhod eqc visok (1). Na primerample, ko je števec 0, eq0 = 1, ko je števec 1, eq1 = 1 in ko je števec 15, je eq 15 = 1. Dekodirani izhod za vrednosti števila 16 ali več zahteva zunanje dekodiranje. Izhodi eq[15..0] so asinhroni z izhodom q[].

cout

št

Izhodna vrata bita MSB števca. Uporabite ga lahko za povezavo z drugim števcem, da ustvarite večji števec.

2.6. Parametri

Naslednja tabela navaja parametre za jedro IP LPM_COUNTER.

Tabela 4.

Parametri LPM_COUNTER

Ime parametra

Vrsta

LPM_WIDTH

Celo število

LPM_DIRECTION

Niz

LPM_MODULUS LPM_AVALUE

Celo število
Celo število/niz

LPM_SVALUE LPM_HINT

Celo število/niz
Niz

LPM_TYPE

Niz

Zahtevano Da Ne Ne Ne
ne ne
št

Opis
Podaja širine vrat data[] in q[], če se uporabljajo.
Vrednosti so GOR, DOL in NEUPORABLJENO. Če je uporabljen parameter LPM_DIRECTION, vrat gor navzdol ni mogoče povezati. Ko vrata navzdol niso povezana, je privzeta vrednost parametra LPM_DIRECTION UP.
Največje število, plus ena. Število edinstvenih stanj v ciklu števca. Če je vrednost obremenitve večja od parametra LPM_MODULUS, obnašanje števca ni podano.
Konstantna vrednost, ki se naloži, ko je sredstvo uveljavljeno visoko. Če je navedena vrednost večja ali enaka , je obnašanje števca nedefinirana (X) logična raven, kjer je LPM_MODULUS, če je prisoten, ali 2 ^ LPM_WIDTH. Intel priporoča, da to vrednost določite kot decimalno število za načrte AHDL.
Konstantna vrednost, ki se naloži na naraščajočem robu vrat ure, ko so vrata sset uveljavljena visoko. Intel priporoča, da to vrednost določite kot decimalno število za načrte AHDL.
Ko instancirate funkcijo knjižnice parametriziranih modulov (LPM) v zasnovi VHDL File (.vhd), morate uporabiti parameter LPM_HINT, da določite parameter, specifičen za Intel. Na primerample: LPM_HINT = “CHAIN_SIZE = 8, ONE_INPUT_IS_CONSTANT = YES”
Privzeta vrednost je NEUPORABLJENO.
Identificira ime entitete knjižnice parametriziranih modulov (LPM) v zasnovi VHDL files.
nadaljevanje ...

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 10

Pošlji povratne informacije

2. LPM_COUNTER (Števec) IP Core 683490 | 2020.10.05

Ime parametra INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN

Vrsta niza niz
Niz
Niz

Zahtevana št. št
št
št

Opis
Ta parameter se uporablja za namene modeliranja in vedenjske simulacije. Ta parameter se uporablja za namene modeliranja in vedenjske simulacije. Urejevalnik parametrov izračuna vrednost za ta parameter.
Parameter, specifičen za Intel. Za določitev parametra CARRY_CNT_EN v načrtu VHDL morate uporabiti parameter LPM_HINT files. Vrednosti so SMART, ON, OFF in UNUSED. Omogoča funkcijo LPM_COUNTER za širjenje signala cnt_en skozi prenosno verigo. V nekaterih primerih lahko nastavitev parametra CARRY_CNT_EN rahlo vpliva na hitrost, zato jo boste morda želeli izklopiti. Privzeta vrednost je SMART, ki zagotavlja najboljši kompromis med velikostjo in hitrostjo.
Parameter, specifičen za Intel. Za podajanje parametra LABWIDE_SCLR v načrtu VHDL morate uporabiti parameter LPM_HINT files. Vrednosti so VKLOPLJENO, IZKLOPLJENO ali NEUPORABLJENO. Privzeta vrednost je ON. Omogoča vam, da onemogočite uporabo funkcije LABwide sclr, ki je v zastarelih družinah naprav. Če izklopite to možnost, povečate možnosti za popolno uporabo delno zapolnjenih LAB-jev in tako lahko omogočite višjo logično gostoto, ko SCLR ne velja za celoten LAB. Ta parameter je na voljo za združljivost s prejšnjimi različicami in Intel priporoča, da tega parametra ne uporabljate.
Določa uporabo vhodnih vrat gor navzdol. Če je izpuščeno, je privzeta vrednost PORT_CONNECTIVITY. Ko je vrednost vrat nastavljena na PORT_USED, se vrata obravnavajo kot uporabljena. Ko je vrednost vrat nastavljena na PORT_UNUSED, se vrata obravnavajo kot neuporabljena. Ko je vrednost vrat nastavljena na PORT_CONNECTIVITY, se uporaba vrat določi s preverjanjem povezljivosti vrat.

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 11

683490 | 2020.10.05 Pošlji povratne informacije

3. LPM_DIVIDE (delilnik) Intel FPGA IP Core

Slika 2.

Jedro LPM_DIVIDE Intel FPGA IP implementira delilnik za deljenje vhodne vrednosti števca z vhodno vrednostjo imenovalca, da se ustvari količnik in ostanek.

Naslednja slika prikazuje vrata za jedro IP LPM_DIVIDE.

Vrata LPM_DIVIDE

LPM_DIVIDE

številka[] denom[] ura

količnik[] ostane[]

clken aclr

inst

3.1. Lastnosti
Jedro IP LPM_DIVIDE ponuja naslednje funkcije: · Ustvari delilnik, ki deli vhodno vrednost števca z vhodom imenovalca
vrednost za izdelavo količnika in ostanka. · Podpira podatkovno širino 1 bitov. · Podpira podpisan in nepodpisan format predstavitve podatkov za števec
in vrednosti imenovalca. · Podpira optimizacijo območja ali hitrosti. · Zagotavlja možnost podajanja pozitivnega izhoda ostanka. · Podpira cevovodno nastavljivo izhodno zakasnitev. · Podpira izbirna asinhrona vrata za brisanje in omogočanje ure.

3.2. Prototip Verilog HDL
Naslednji prototip Verilog HDL se nahaja v Verilog Design File (.v) lpm.v v imenik edasinteze.
modul lpm_divide (količnik, ostanek, število, denom, ura, clken, aclr); parameter lpm_type = “lpm_divide”; parameter lpm_widthn = 1; parameter lpm_widthd = 1; parameter lpm_nrepresentation = “UNSIGNED”; parameter lpm_drepresentation = “UNSIGNED”; parameter lpm_remainderpositive = “TRUE”; parameter lpm_pipeline = 0;

Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.

ISO 9001:2015 Registriran

3. LPM_DIVIDE (delilnik) Intel FPGA IP Core 683490 | 2020.10.05

parameter lpm_hint = “NEUPORABLJENO”; vhodna ura; vnos clken; vnos aclr; vnos [lpm_widthn-1:0] številka; vnos [lpm_widthd-1:0] denom; izhod [lpm_widthn-1:0] količnik; izhod [lpm_widthd-1:0] ostane; končni modul

3.3. Deklaracija komponente VHDL
Deklaracija komponente VHDL se nahaja v VHDL Design File (.vhd) LPM_PACK.vhd v imenik librariesvhdllpm.
komponenta LPM_DIVIDE generično (LPM_WIDTHN : naravna; LPM_WIDTHD : naravna;
LPM_NREPRESENTATION : niz := “UNSIGNED”; LPM_DREPRESENTATION : niz := “UNSIGNED”; LPM_PIPELINE : naravno := 0; LPM_TYPE : niz := L_DIVIDE; LPM_HINT : string := “UNUSED”); vrata (NUMER: v std_logic_vector(LPM_WIDTHN-1 downto 0); DENOM: v std_logic_vector(LPM_WIDTHD-1 downto 0); ACLR: v std_logic:= '0'; CLOCK: v std_logic:= '0'; CLKEN: v std_logic := '1'; QUOTIENT: out std_logic_vector(LPM_WIDTHN-1 downto 0); REMAIN: out std_logic_vector(LPM_WIDTHD-1 downto 0)); končna komponenta;

3.4. Izjava VHDL LIBRARY_USE
Deklaracija VHDL LIBRARY-USE ni potrebna, če uporabljate deklaracijo komponente VHDL.
KNJIŽNICA lpm; UPORABA lpm.lpm_components.all;

3.5. Pristanišča

Naslednje tabele navajajo vhodna in izhodna vrata za jedro IP LPM_DIVIDE.

Tabela 5.

LPM_DIVIDE Vhodna vrata

Ime vrat

Obvezno

številka []

ja

denom[]

ja

Opis
Vnos podatkov števca. Velikost vhodnih vrat je odvisna od vrednosti parametra LPM_WIDTHN.
Vnos podatkov o imenovalcu. Velikost vhodnih vrat je odvisna od vrednosti parametra LPM_WIDTHD.
nadaljevanje ...

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 13

3. LPM_DIVIDE (delilnik) Intel FPGA IP Core 683490 | 2020.10.05

Port Name clock clken
aclr

Zahtevana št. št
št

Opis
Vhod ure za cevovodno uporabo. Za vrednosti LPM_PIPELINE, ki niso 0 (privzeto), morajo biti vrata ure omogočena.
Ura omogoča cevovodno uporabo. Ko so vrata clken postavljena na visoko raven, se izvede operacija delitve. Ko je signal nizek, se ne izvede nobena operacija. Če je izpuščeno, je privzeta vrednost 1.
Asinhrona čista vrata, ki se kadar koli uporabljajo za ponastavitev cevovoda na vse '0' asinhrono na vhod ure.

Tabela 6.

LPM_DIVIDE Izhodna vrata

Ime vrat

Obvezno

Opis

količnik[]

ja

Izpis podatkov. Velikost izhodnih vrat je odvisna od LPM_WIDTHN

vrednost parametra.

ostati[]

ja

Izpis podatkov. Velikost izhodnih vrat je odvisna od LPM_WIDTHD

vrednost parametra.

3.6. Parametri

V spodnji tabeli so navedeni parametri za jedro LPM_DIVIDE Intel FPGA IP.

Ime parametra

Vrsta

Obvezno

Opis

LPM_WIDTHN

Celo število

ja

Podaja širine številk [] in

kvočnik[] vrat. Vrednosti so od 1 do 64.

LPM_WIDTHD

Celo število

ja

Podaja širini denom[] in

ostanejo [] vrata. Vrednosti so od 1 do 64.

LPM_NREPRESENTATION LPM_DREPRESENTATION

Niz Niz

št

Znakovni prikaz vnosa števca.

Vrednosti sta SIGNED in UNSIGNED. Ko to

parameter je nastavljen na SIGNED, delilnik

interpretira vnos številke [] kot dvojke s predznakom

dopolnjujejo.

št

Predznak vnosa imenovalca.

Vrednosti sta SIGNED in UNSIGNED. Ko to

parameter je nastavljen na SIGNED, delilnik

interpretira vnos denom[] kot predpisane dvojke

dopolnjujejo.

LPM_TYPE

Niz

št

Identificira knjižnico parametriziranih

ime entitete modulov (LPM) v oblikovanju VHDL

files (.vhd).

LPM_HINT

Niz

št

Ko ustvarite primerek knjižnice

parametrizirani moduli (LPM) delujejo v a

Oblikovanje VHDL File (.vhd), morate uporabiti

Parameter LPM_HINT za podajanje Intel-

specifični parameter. Na primerample: LPM_HINT

= “VELIKOST_VERIGE = 8,

ONE_INPUT_IS_CONSTANT = YES” The

privzeta vrednost je NEUPORABLJENO.

LPM_REMAINDERPOSITIVE

Niz

št

Parameter, specifičen za Intel. Morate uporabiti

LPM_HINT parameter za določitev

LPM_REMAINDERPOSITIVE parameter v

Oblikovanje VHDL files. Vrednosti so TRUE ali FALSE.

Če je ta parameter nastavljen na TRUE, potem je

vrednost vrat remain[] mora biti večja

nadaljevanje ...

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 14

Pošlji povratne informacije

3. LPM_DIVIDE (delilnik) Intel FPGA IP Core 683490 | 2020.10.05

Ime parametra

Vrsta

MAXIMIZE_SPEED

Celo število

LPM_PIPELINE

Celo število

INTENDED_DEVICE_FAMILY SKIP_BITS

Niz Celo število

zahtevana št
ne ne ne

Opis
kot ali enako nič. Če je ta parameter nastavljen na TRUE, je vrednost vrat remain[] bodisi nič ali pa je vrednost istega predznaka, bodisi pozitivnega bodisi negativnega, kot vrednost vrat številka. Da bi zmanjšali območje in izboljšali hitrost, Intel priporoča nastavitev tega parametra na TRUE v operacijah, kjer mora biti ostanek pozitiven ali kjer je ostanek nepomemben.
Parameter, specifičen za Intel. Za določitev parametra MAXIMIZE_SPEED v zasnovi VHDL morate uporabiti parameter LPM_HINT files. Vrednosti so [0..9]. Če je uporabljena, poskuša programska oprema Intel Quartus Prime optimizirati določen primerek funkcije LPM_DIVIDE za hitrost in ne za usmerjanje ter preglasi nastavitev logične možnosti Optimization Technique. Če MAXIMIZE_SPEED ni uporabljen, se namesto tega uporabi vrednost možnosti Optimization Technique. Če je vrednost MAXIMIZE_SPEED 6 ali višja, prevajalnik optimizira jedro IP LPM_DIVIDE za višjo hitrost z uporabo prenosnih verig; če je vrednost 5 ali manj, prevajalnik izvaja načrt brez nosilnih verig.
Podaja število taktov zakasnitve, povezane z izhodoma kvocienta[] in ostanka[]. Vrednost nič (0) pomeni, da zakasnitev ne obstaja in da je instancirana izključno kombinacijska funkcija. Če je izpuščeno, je privzeta vrednost 0 (brez cevovoda). Za parameter LPM_PIPELINE ne morete podati vrednosti, ki je višja od LPM_WIDTHN.
Ta parameter se uporablja za namene modeliranja in vedenjske simulacije. Urejevalnik parametrov izračuna vrednost za ta parameter.
Omogoča učinkovitejšo delno delitev bitov za optimizacijo logike vodilnih bitov z zagotavljanjem števila vodilnih GND jedru IP LPM_DIVIDE. Določite število vodilnih GND na izhodu kvocienta za ta parameter.

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 15

683490 | 2020.10.05 Pošlji povratne informacije

4. LPM_MULT (Množilec) IP Core

Slika 3.

Jedro IP LPM_MULT implementira množitelj za množenje dveh vrednosti vhodnih podatkov za izdelavo produkta kot izhoda.

Naslednja slika prikazuje vrata za jedro IP LPM_MULT.

LPM_Mult Ports

LPM_MULT ura dataa[] rezultat[] datab[] aclr/sclr clken
inst

Funkcije povezanih informacij na strani 71

4.1. Lastnosti
Jedro IP LPM_MULT ponuja naslednje funkcije: · Generira množitelj, ki pomnoži dve vrednosti vhodnih podatkov · Podpira podatkovno širino 1 bitov · Podpira predpisan in nepodpisan format predstavitve podatkov · Podpira optimizacijo območja ali hitrosti · Podpira cevovod z nastavljivo izhodno zakasnitvijo · Zagotavlja možnost implementacije v namensko digitalno obdelavo signalov (DSP)
blokovno vezje ali logični elementi (LE) Opomba: Pri gradnji množiteljev, večjih od izvorno podprte velikosti, lahko pride do/
bo vplival na zmogljivost zaradi kaskade blokov DSP. · Podpira izbirna vhodna vrata za asinhrono brisanje in omogočanje ure · Podpira izbirno sinhrono brisanje za naprave Intel Stratix 10, Intel Arria 10 in Intel Cyclone 10 GX

Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.

ISO 9001:2015 Registriran

4. LPM_MULT (Množilec) IP Core 683490 | 2020.10.05
4.2. Prototip Verilog HDL
Naslednji prototip Verilog HDL se nahaja v Verilog Design File (.v) lpm.v v imenik edasinteze.
modul lpm_mult ( rezultat, dataa, datab, vsota, ura, clken, aclr ) parameter lpm_type = “lpm_mult”; parameter lpm_widtha = 1; parameter lpm_widthb = 1; parameter lpm_widths = 1; parameter lpm_widthp = 1; parameter lpm_representation = “UNSIGNED”; parameter lpm_pipeline = 0; parameter lpm_hint = “NEUPORABLJENO”; vhodna ura; vnos clken; vnos aclr; vnos [lpm_widtha-1:0] podatkia; vhod [lpm_widthb-1:0] datab; vnos [lpm_widths-1:0] vsota; izpis [lpm_widthp-1:0] rezultat; končni modul
4.3. Deklaracija komponente VHDL
Deklaracija komponente VHDL se nahaja v VHDL Design File (.vhd) LPM_PACK.vhd v imenik librariesvhdllpm.
komponenta LPM_MULT generično ( LPM_WIDTHA : naravna; LPM_WIDTHB : naravna; LPM_WIDTHS : naravna := 1; LPM_WIDTHP : naravna;
LPM_REPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : naravno := 0; LPM_TYPE: niz := L_MULT; LPM_HINT : string := “UNUSED”); vrata (DATAA: v std_logic_vector(LPM_WIDTHA-1 downto 0); DATAB: v std_logic_vector(LPM_WIDTHB-1 downto 0); ACLR: v std_logic:= '0'; CLOCK: v std_logic:= '0'; CLKEN: 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)); končna komponenta;
4.4. Izjava VHDL LIBRARY_USE
Deklaracija VHDL LIBRARY-USE ni potrebna, če uporabljate deklaracijo komponente VHDL.
KNJIŽNICA lpm; UPORABA lpm.lpm_components.all;

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 17

4. LPM_MULT (Množilec) IP Core 683490 | 2020.10.05

4.5. Signali

Tabela 7.

Vhodni signali LPM_MULT

Ime signala

Obvezno

Opis

podatki[]

ja

Vnos podatkov.

Pri napravah Intel Stratix 10, Intel Arria 10 in Intel Cyclone 10 GX je velikost vhodnega signala odvisna od vrednosti parametra širine Dataa.

Pri starejših napravah in napravah Intel Cyclone 10 LP je velikost vhodnega signala odvisna od vrednosti parametra LPM_WIDTHA.

datab[]

ja

Vnos podatkov.

Pri napravah Intel Stratix 10, Intel Arria 10 in Intel Cyclone 10 GX je velikost vhodnega signala odvisna od vrednosti parametra širine Datab.

Pri starejših napravah in napravah Intel Cyclone 10 LP je velikost vhodnega signala odvisna

na vrednosti parametra LPM_WIDTHB.

ura

št

Vhod ure za cevovodno uporabo.

Za starejše naprave in naprave Intel Cyclone 10 LP mora biti signal ure omogočen za vrednosti LPM_PIPELINE, ki niso 0 (privzeto).

Za naprave Intel Stratix 10, Intel Arria 10 in Intel Cyclone 10 GX mora biti signal ure omogočen, če je vrednost Latency drugačna od 1 (privzeto).

clken

št

Omogočanje ure za cevovodno uporabo. Ko je signal clken visok, je

poteka operacija seštevalnika/odštevalca. Ko je signal nizek, ni delovanja

pojavi. Če je izpuščeno, je privzeta vrednost 1.

aclr sclr

št

Asinhroni jasni signal, ki se kadar koli uporablja za ponastavitev cevovoda na vse 0,

asinhrono na signal ure. Cevovod se inicializira na nedefinirano (X)

logični nivo. Izhodi so dosledne, vendar neničelne vrednosti.

št

Sinhroni čisti signal, ki se kadar koli uporabi za ponastavitev cevovoda na vse 0,

sinhrono s signalom ure. Cevovod se inicializira na nedefinirano (X)

logični nivo. Izhodi so dosledne, vendar neničelne vrednosti.

Tabela 8.

LPM_MULT Izhodni signali

Ime signala

Obvezno

Opis

rezultat[]

ja

Izpis podatkov.

Pri starejših napravah in napravah Intel Cyclone 10 LP je velikost izhodnega signala odvisna od vrednosti parametra LPM_WIDTHP. Če je LPM_WIDTHP < max (LPM_WIDTHA + LPM_WIDTHB, LPM_WIDTHS) ali (LPM_WIDTHA + LPM_WIDTHS), so prisotni le MSB LPM_WIDTHP.

Za Intel Stratix 10, Intel Arria 10 in Intel Cyclone 10 GX je velikost izhodnih signalov odvisna od parametra Result width.

4.6. Parametri za naprave Stratix V, Arria V, Cyclone V in Intel Cyclone 10 LP

4.6.1. Zavihek Splošno

Tabela 9.

Zavihek Splošno

Parameter

Vrednost

Konfiguracija množitelja

Pomnožite vnos 'dataa' z vnosom 'datab'

Privzeta vrednost

Opis

Pomnožite vnos 'dataa' z vnosom 'datab'

Izberite želeno konfiguracijo za množitelj.
nadaljevanje ...

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 18

Pošlji povratne informacije

4. LPM_MULT (Množilec) IP Core 683490 | 2020.10.05

Parameter
Kako širok naj bo vnos 'dataa'? Kako širok naj bo vnos 'datab'? Kako naj se določi širina izpisa 'rezultata'? Omejite širino

Vrednost
Pomnoži vnos 'dataa' s samim seboj (operacija kvadriranja)
1-256 bitov

Privzeta vrednost

Opis

8 bitov

Določite širino vrat dataa[].

1-256 bitov

8 bitov

Določite širino vrat datab[].

Samodejno izračuna širino Omejite širino
1-512 bitov

Samodejno izračuna širino

Izberite želeno metodo za določitev širine vrat za rezultat[].

16 bitov

Določite širino vrat za rezultat[].
Ta vrednost bo učinkovita le, če v parametru Vrsta izberete Omejitev širine.

4.6.2. Splošno 2 Tab

Tabela 10. Splošno 2 Tab

Parameter

Vrednost

Vnos podatkov

Ali ima vhodno vodilo 'datab' konstantno vrednost?

Ne Da

Vrsta množenja

Katero vrsto

Nepodpisano

množenje hočeš? Podpisano

Izvedba

Katero implementacijo množitelja je treba uporabiti?

Uporabite privzeto izvedbo
Uporabite namensko množilno vezje (ni na voljo za vse družine)
Uporabite logične elemente

Privzeta vrednost

Opis

št

Izberite Da, da določite konstantno vrednost

vhodno vodilo `datab', če obstaja.

Nepodpisano

Določite obliko predstavitve za oba vnosa dataa[] in datab[].

Uporabite privzeto implementacijo

Izberite želeno metodo za določitev širine vrat za rezultat[].

4.6.3. Zavihek Cevovod

Tabela 11. Zavihek Cevovod

Parameter

Ali želite cevovod št

funkcija?

ja

Vrednost

Ustvari 'aclr'

asinhrona čista vrata

Privzeta vrednost

Opis

št

Izberite Da, da omogočite register cevovoda za

izhod množitelja in določite želeno

izhodna zakasnitev v taktu. Omogočanje

register cevovoda doda dodatno zakasnitev

izhod.

Nepreverjeno

Izberite to možnost, če želite omogočiti vrata aclr, da uporabljajo asinhrono brisanje za register cevovoda.
nadaljevanje ...

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 19

4. LPM_MULT (Množilec) IP Core 683490 | 2020.10.05

Parameter
Ustvarite uro za omogočanje ure 'clken'
Optimizacija
Kakšno vrsto optimizacije želite?

Vrednost —
Privzeto območje hitrosti

Privzeta vrednost

Opis

Nepreverjeno

Podaja aktivno omogočanje visoke ure za vrata ure registra cevovoda

Privzeto

Podajte želeno optimizacijo za jedro IP.
Izberite Privzeto, če želite programski opremi Intel Quartus Prime določiti najboljšo optimizacijo za jedro IP.

4.7. Parametri za naprave Intel Stratix 10, Intel Arria 10 in Intel Cyclone 10 GX

4.7.1. Zavihek Splošno

Tabela 12. Tabela Splošno

Parameter

Vrednost

Privzeta vrednost

Opis

Vrsta konfiguracije množitelja
Širina podatkovnih vrat

Pomnožite vnos 'dataa' z vnosom 'datab'
Pomnoži vnos 'dataa' s samim seboj (operacija kvadriranja)

Pomnožite vnos 'dataa' z vnosom 'datab'

Izberite želeno konfiguracijo za množitelj.

Širina podatkov

1-256 bitov

8 bitov

Določite širino vrat dataa[].

Širina Datab

1-256 bitov

8 bitov

Določite širino vrat datab[].

Kako naj se določi širina izpisa 'rezultata'?

Vrsta

Samodejno izračuna širino
Omejite širino

Samodejno izračuna širino

Izberite želeno metodo za določitev širine vrat za rezultat[].

Vrednost

1-512 bitov

16 bitov

Določite širino vrat za rezultat[].
Ta vrednost bo učinkovita le, če v parametru Vrsta izberete Omejitev širine.

Širina rezultata

1-512 bitov

Prikaže efektivno širino vrat za rezultat[].

4.7.2. Splošno 2 Tab

Tabela 13. Splošno 2 Tab

Parameter

Vnos podatkov

Ali ima vhodno vodilo 'datab' konstantno vrednost?

Ne Da

Vrednost

Privzeta vrednost

Opis

št

Izberite Da, da določite konstantno vrednost

vhodno vodilo `datab', če obstaja.

nadaljevanje ...

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 20

Pošlji povratne informacije

4. LPM_MULT (Množilec) IP Core 683490 | 2020.10.05

Parameter

Vrednost

Vrednost

Vsaka vrednost, večja od 0

Vrsta množenja

Katero vrsto

Nepodpisano

množenje hočeš? Podpisano

Slog izvedbe

Katero implementacijo množitelja je treba uporabiti?

Uporabite privzeto izvedbo
Uporabite namensko vezje množitelja
Uporabite logične elemente

Privzeta vrednost

Opis

0

Določite konstantno vrednost vrat datab[].

Nepodpisano

Določite obliko predstavitve za oba vnosa dataa[] in datab[].

Uporabite privzeto implementacijo

Izberite želeno metodo za določitev širine vrat za rezultat[].

4.7.3. Cevovod

Tabela 14. Zavihek Cevovod

Parameter

Vrednost

Ali želite funkcijo napeljati po cevovodu?

Cevovod

Ne Da

Latency Clear Signal Type

Vsaka vrednost, večja od 0.
NI ACLR SCLR

Ustvarite uro 'clken'

omogočite uro

Kakšno vrsto optimizacije želite?

Vrsta

Privzeto območje hitrosti

Privzeta vrednost

Opis

Št. 1 NIČ

Izberite Da, da omogočite register cevovoda za izhod množitelja. Omogočanje registra cevovoda doda izhodu dodatno zakasnitev.
Določite želeno izhodno zakasnitev v taktu.
Določite vrsto ponastavitve za register cevovoda. Če ne uporabljate nobenega registra cevovoda, izberite NONE. Izberite ACLR, če želite za register cevovoda uporabiti asinhrono brisanje. To bo ustvarilo vrata ACLR. Izberite SCLR, če želite za register cevovoda uporabiti sinhrono brisanje. To bo ustvarilo vrata SCLR.
Podaja aktivno omogočanje visoke ure za vrata ure registra cevovoda

Privzeto

Podajte želeno optimizacijo za jedro IP.
Izberite Privzeto, če želite programski opremi Intel Quartus Prime določiti najboljšo optimizacijo za jedro IP.

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 21

683490 | 2020.10.05 Pošlji povratne informacije

5. LPM_ADD_SUB (Seštevalnik/Odštevalnik)

Slika 4.

Jedro IP LPM_ADD_SUB vam omogoča implementacijo seštevalnika ali odštevalnika za dodajanje ali odštevanje naborov podatkov za izdelavo izhoda, ki vsebuje vsoto ali razliko vhodnih vrednosti.

Naslednja slika prikazuje vrata za jedro IP LPM_ADD_SUB.

Vrata LPM_ADD_SUB

LPM_ADD_SUB add_sub cin

podatki[]

ura clken datab[] aclr

rezultat[] overflow cout

inst

5.1. Lastnosti
Jedro IP LPM_ADD_SUB ponuja naslednje funkcije: · Generira seštevalnik, odštevalnik in dinamično nastavljiv seštevalnik/odštevalnik
funkcije. · Podpira podatkovno širino 1 bitov. · Podpira format za predstavitev podatkov, kot sta podpisani in nepodpisani. · Podpira izbirni prenos (izposoja), asinhrono brisanje in omogočanje ure
vhodna vrata. · Podpira neobvezna izhodna vrata za izposojo (izposojo) in prelivanje. · Dodeli eno od vodil vhodnih podatkov konstanti. · Podpira cevovod z nastavljivo izhodno zakasnitvijo.

Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.

ISO 9001:2015 Registriran

5. LPM_ADD_SUB (Seštevalnik/Odštevalnik) 683490 | 2020.10.05
5.2. Prototip Verilog HDL
Naslednji prototip Verilog HDL se nahaja v Verilog Design File (.v) lpm.v v imenik edasinteze.
modul lpm_add_sub (rezultat, cout, overflow,add_sub, cin, dataa, datab, clock, clken, aclr); parameter lpm_type = “lpm_add_sub”; parameter lpm_width = 1; parameter lpm_direction = “NEUPORABLJENO”; parameter lpm_representation = “SIGNED”; parameter lpm_pipeline = 0; parameter lpm_hint = “NEUPORABLJENO”; vhod [lpm_width-1:0] dataa, datab; vnos add_sub, cin; vhodna ura; vnos clken; vnos aclr; rezultat [lpm_width-1:0] rezultat; izhod, preliv; končni modul
5.3. Deklaracija komponente VHDL
Deklaracija komponente VHDL se nahaja v VHDL Design File (.vhd) LPM_PACK.vhd v imenik librariesvhdllpm.
komponenta LPM_ADD_SUB generično (LPM_WIDTH : naravna;
LPM_DIRECTION : string := “UNUSED”; LPM_REPRESENTATION: niz := “SIGNED”; LPM_PIPELINE : naravno := 0; LPM_TYPE : niz := L_ADD_SUB; LPM_HINT : string := “UNUSED”); vrata (DATAA: v std_logic_vector(LPM_WIDTH-1 downto 0); DATAB: v std_logic_vector(LPM_WIDTH-1 downto 0); ACLR: v std_logic:= '0'; CLOCK: v std_logic:= '0'; CLKEN: v std_logic := '1'; CIN : v std_logic := 'Z'; ADD_SUB : v std_logic := '1'; RESULT : izhod std_logic_vector(LPM_WIDTH-1 downto 0); COUT : izhod std_logic; OVERFLOW : izhod std_logic); končna komponenta;
5.4. Izjava VHDL LIBRARY_USE
Deklaracija VHDL LIBRARY-USE ni potrebna, če uporabljate deklaracijo komponente VHDL.
KNJIŽNICA lpm; UPORABA lpm.lpm_components.all;
5.5. Pristanišča
Naslednje tabele navajajo vhodna in izhodna vrata za jedro IP LPM_ADD_SUB.

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 23

5. LPM_ADD_SUB (Seštevalnik/Odštevalnik) 683490 | 2020.10.05

Tabela 15. LPM_ADD_SUB IP Core Input Ports

Ime vrat

Obvezno

Opis

cin

št

Prenos v bit nizkega reda. Za operacije dodajanja je privzeta vrednost 0. Za

operacije odštevanja, privzeta vrednost je 1.

podatki[]

ja

Vnos podatkov. Velikost vhodnih vrat je odvisna od vrednosti parametra LPM_WIDTH.

datab[]

ja

Vnos podatkov. Velikost vhodnih vrat je odvisna od vrednosti parametra LPM_WIDTH.

add_sub

št

Izbirna vhodna vrata za omogočanje dinamičnega preklapljanja med seštevalnikom in odštevalnikom

funkcije. Če je uporabljen parameter LPM_DIRECTION, add_sub ni mogoče uporabiti. če

izpuščen, privzeta vrednost je ADD. Intel priporoča, da uporabite

parameter LPM_DIRECTION za določitev delovanja funkcije LPM_ADD_SUB,

namesto dodeljevanja konstante vratom add_sub.

ura

št

Vnos za cevovodno uporabo. Vrata za uro zagotavljajo vhod za uro za cevovod

delovanje. Za vrednosti LPM_PIPELINE, ki niso 0 (privzeto), morajo biti vrata ure

omogočeno.

clken

št

Omogočanje ure za cevovodno uporabo. Ko so vrata clken uveljavljena visoko, se seštevalnik/

poteka delovanje odštevalnika. Ko je signal nizek, se ne izvede nobena operacija. če

izpuščeno, privzeta vrednost je 1.

aclr

št

Asinhrono jasno za cevovodno uporabo. Cevovod se inicializira na nedefinirano (X)

logični nivo. Vrata aclr lahko kadar koli uporabite za ponastavitev cevovoda na vse 0,

asinhrono na signal ure.

Tabela 16. LPM_ADD_SUB Izhodna vrata IP Core

Ime vrat

Obvezno

Opis

rezultat[]

ja

Izpis podatkov. Velikost izhodnih vrat je odvisna od parametra LPM_WIDTH

vrednost.

cout

št

Izvedba (izposoja) najpomembnejšega bita (MSB). Pristanišče cout ima fizično

razlaga kot izvedba (izposoja) MSB. Vrata cout zaznajo

prelivanje v operacijah UNSIGNED. Vrata cout delujejo na enak način za

Operaciji SIGNED in UNSIGNED.

preliv

št

Izbirni izhod izjeme prelivanja. Prelivna odprtina ima fizično razlago kot

XOR prenosa v MSB z prenosom MSB. Prelivna odprtina

potrdi, ko rezultati presežejo razpoložljivo natančnost, in se uporablja le, če

Vrednost parametra LPM_REPRESENTATION je PODPISANA.

5.6. Parametri

Naslednja tabela navaja glavne parametre IP LPM_ADD_SUB.

Tabela 17. Jedrni parametri IP LPM_ADD_SUB

Ime parametra LPM_WIDTH

Vnesite celo število

Obvezno Da

Opis
Podaja širine vrat dataa[], datab[] in result[].

LPM_DIRECTION

Niz

št

Vrednosti so ADD, SUB in UNUSED. Če je izpuščeno, je privzeta vrednost DEFAULT, ki parametru narekuje, da vzame svojo vrednost iz vrat add_sub. Vrat add_sub ni mogoče uporabiti, če je uporabljen LPM_DIRECTION. Intel priporoča, da uporabite parameter LPM_DIRECTION, da določite delovanje funkcije LPM_ADD_SUB, namesto da dodeljujete konstanto vratom add_sub.
nadaljevanje ...

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 24

Pošlji povratne informacije

5. LPM_ADD_SUB (Seštevalnik/Odštevalnik) 683490 | 2020.10.05

Ime parametra LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY

Tip String Integer String String String Integer
Niz

Zahtevano Ne Ne Ne Ne Ne Ne Ne
št

Opis
Podaja vrsto izvedenega dodajanja. Vrednosti sta SIGNED in UNSIGNED. Če je izpuščeno, je privzeta vrednost SIGNED. Ko je ta parameter nastavljen na SIGNED, seštevalnik/odštevalec interpretira vnesene podatke kot komplement s predznakom.
Podaja število časovnih ciklov zakasnitve, povezanih z rezultatom []. Vrednost nič (0) pomeni, da zakasnitev ne obstaja in da bo instancirana zgolj kombinacijska funkcija. Če je izpuščeno, je privzeta vrednost 0 (brez cevovoda).
Omogoča vam, da določite parametre, specifične za Intel, v zasnovi VHDL files (.vhd). Privzeta vrednost je NEUPORABLJENO.
Identificira ime entitete knjižnice parametriziranih modulov (LPM) v zasnovi VHDL files.
Parameter, specifičen za Intel. Za podajanje parametra ONE_INPUT_IS_CONSTANT v zasnovi VHDL morate uporabiti parameter LPM_HINT files. Vrednosti so DA, NE in NEUPORABLJENO. Zagotavlja večjo optimizacijo, če je en vhod konstanten. Če je izpuščeno, je privzeta vrednost NE.
Parameter, specifičen za Intel. Za določitev parametra MAXIMIZE_SPEED v zasnovi VHDL morate uporabiti parameter LPM_HINT files. Določite lahko vrednost med 0 in 10. Če je uporabljena, poskuša programska oprema Intel Quartus Prime optimizirati določen primerek funkcije LPM_ADD_SUB za hitrost in ne za usmerjanje ter preglasi nastavitev logične možnosti Optimization Technique. Če MAXIMIZE_SPEED ni uporabljen, se namesto tega uporabi vrednost možnosti Optimization Technique. Če je nastavitev za MAXIMIZE_SPEED 6 ali višja, prevajalnik optimizira jedro IP LPM_ADD_SUB za višjo hitrost z uporabo prenosnih verig; če je nastavitev 5 ali manj, prevajalnik izvede načrt brez nosilnih verig. Ta parameter je treba določiti za naprave Cyclone, Stratix in Stratix GX samo, če vrata add_sub niso uporabljena.
Ta parameter se uporablja za namene modeliranja in vedenjske simulacije. Urejevalnik parametrov izračuna vrednost za ta parameter.

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 25

683490 | 2020.10.05 Pošlji povratne informacije

6. LPM_COMPARE (primerjalnik)

Slika 5.

Jedro IP LPM_COMPARE primerja vrednosti dveh nizov podatkov, da določi razmerje med njima. V najpreprostejši obliki lahko uporabite vrata izključujočega ALI, da ugotovite, ali sta dva bita podatkov enaka.

Naslednja slika prikazuje vrata za jedro IP LPM_COMPARE.

Vrata LPM_COMPARE

LPM_COMPARE

clken

alb

aeb

podatki[]

agb

datab[]

starostb

ura

aneb

aclr

aleb

inst

6.1. Lastnosti
Jedro IP LPM_COMPARE ponuja naslednje funkcije: · Generira primerjalno funkcijo za primerjavo dveh nizov podatkov · Podpira podatkovno širino 1 bitov · Podpira format za predstavitev podatkov, kot sta predznak in nepodznak · Proizvede naslednje vrste izhoda:
— alb (vhod A je manjši od vhoda B) — aeb (vnos A je enak vhodu B) — agb (vnos A je večji od vhoda B) — ageb (vnos A je večji ali enak vhodu B) — aneb ( vhod A ni enak vhodu B) — aleb (vhod A je manjši ali enak vhodu B) · Podpira izbirna vhodna vrata za asinhrono brisanje in omogočanje ure · Dodeli vhod datab[] konstanti · Podpira cevovod z nastavljivo izhodno zakasnitvijo

Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.

ISO 9001:2015 Registriran

6. LPM_COMPARE (Primerjalnik) 683490 | 2020.10.05
6.2. Prototip Verilog HDL
Naslednji prototip Verilog HDL se nahaja v Verilog Design File (.v) lpm.v v imenik edasinteze.
modul lpm_compare (alb, aeb, agb, aleb, aneb, ageb, dataa, datab, ura, clken, aclr); parameter lpm_type = “lpm_compare”; parameter lpm_width = 1; parameter lpm_representation = “UNSIGNED”; parameter lpm_pipeline = 0; parameter lpm_hint = “NEUPORABLJENO”; vhod [lpm_width-1:0] dataa, datab; vhodna ura; vnos clken; vnos aclr; izpis alb, aeb, agb, aleb, aneb, ageb; končni modul
6.3. Deklaracija komponente VHDL
Deklaracija komponente VHDL se nahaja v VHDL Design File (.vhd) LPM_PACK.vhd v imenik librariesvhdllpm.
komponenta LPM_COMPARE generično (LPM_WIDTH : naravna;
LPM_REPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : naravno := 0; LPM_TYPE: niz := L_COMPARE; LPM_HINT : string := “UNUSED”); vrata (DATAA: v std_logic_vector(LPM_WIDTH-1 downto 0); DATAB: v std_logic_vector(LPM_WIDTH-1 downto 0); ACLR: v std_logic:= '0'; CLOCK: v std_logic:= '0'; CLKEN: v std_logic := '1'; AGB : izhod std_logike; AGEB : izhod std_logike; AEB : izhod std_logike; ANEB : izhod std_logike; ALB : izhod std_logike; ALEB : izhod std_logike); končna komponenta;
6.4. Izjava VHDL LIBRARY_USE
Deklaracija VHDL LIBRARY-USE ni potrebna, če uporabljate deklaracijo komponente VHDL.
KNJIŽNICA lpm; UPORABA lpm.lpm_components.all;
6.5. Pristanišča
Naslednje tabele navajajo vhodna in izhodna vrata za jedro IP LMP_COMPARE.

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 27

6. LPM_COMPARE (Primerjalnik) 683490 | 2020.10.05

Tabela 18. Vhodna vrata jedra IP LPM_COMPARE

Ime vrat

Obvezno

Opis

podatki[]

ja

Vnos podatkov. Velikost vhodnih vrat je odvisna od vrednosti parametra LPM_WIDTH.

datab[]

ja

Vnos podatkov. Velikost vhodnih vrat je odvisna od vrednosti parametra LPM_WIDTH.

ura

št

Vhod ure za cevovodno uporabo. Vrata za uro zagotavljajo vhod za uro za cevovod

delovanje. Za vrednosti LPM_PIPELINE, ki niso 0 (privzeto), morajo biti vrata ure

omogočeno.

clken

št

Omogočanje ure za cevovodno uporabo. Ko so vrata clken uveljavljena visoko, je

poteka primerjalna operacija. Ko je signal nizek, se ne izvede nobena operacija. če

izpuščeno, privzeta vrednost je 1.

aclr

št

Asinhrono jasno za cevovodno uporabo. Cevovod se inicializira z nedefinirano logiko (X).

raven. Vrata aclr lahko kadar koli uporabite za ponastavitev cevovoda na vse 0,

asinhrono na signal ure.

Tabela 19. Izhodna vrata jedra IP LPM_COMPARE

Ime vrat

Obvezno

Opis

alb

št

Izhodna vrata za primerjalnik. Uveljavi se, če je vhod A manjši od vhoda B.

aeb

št

Izhodna vrata za primerjalnik. Uveljavljeno, če je vhod A enak vložku B.

agb

št

Izhodna vrata za primerjalnik. Uveljavljeno, če je vnos A večji od vhoda B.

starostb

št

Izhodna vrata za primerjalnik. Uveljavi se, če je vnos A večji ali enak vhodu

B.

aneb

št

Izhodna vrata za primerjalnik. Uveljavi se, če vnos A ni enak vložku B.

aleb

št

Izhodna vrata za primerjalnik. Uveljavi se, če je vnos A manjši ali enak vložku B.

6.6. Parametri

Naslednja tabela navaja parametre za jedro IP LPM_COMPARE.

Tabela 20. Parametri jedra IP LPM_COMPARE

Ime parametra

Vrsta

Obvezno

LPM_WIDTH

Celo število Da

LPM_REPRESENTATION

Niz

št

LPM_PIPELINE

Celo število št

LPM_HINT

Niz

št

Opis
Podaja širine vrat dataa[] in datab[].
Podaja vrsto izvedene primerjave. Vrednosti sta SIGNED in UNSIGNED. Če je izpuščeno, je privzeta vrednost UNSIGNED. Ko je ta vrednost parametra nastavljena na SIGNED, primerjalnik interpretira vnesene podatke kot komplement s predznakom.
Podaja število taktov zakasnitve, povezanih z izhodom alb, aeb, agb, ageb, aleb ali aneb. Vrednost nič (0) pomeni, da zakasnitev ne obstaja in da bo instancirana zgolj kombinacijska funkcija. Če je izpuščeno, je privzeta vrednost 0 (brez cevovoda).
Omogoča vam, da določite parametre, specifične za Intel, v zasnovi VHDL files (.vhd). Privzeta vrednost je NEUPORABLJENO.
nadaljevanje ...

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 28

Pošlji povratne informacije

6. LPM_COMPARE (Primerjalnik) 683490 | 2020.10.05
Ime parametra LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT

Vrsta niza niz
Niz

Zahtevana št. št
št

Opis
Identificira ime entitete knjižnice parametriziranih modulov (LPM) v zasnovi VHDL files.
Ta parameter se uporablja za namene modeliranja in vedenjske simulacije. Urejevalnik parametrov izračuna vrednost za ta parameter.
Parameter, specifičen za Intel. Za podajanje parametra ONE_INPUT_IS_CONSTANT v zasnovi VHDL morate uporabiti parameter LPM_HINT files. Vrednosti so DA, NE ali NEUPORABLJENO. Zagotavlja večjo optimizacijo, če je vnos konstanten. Če je izpuščeno, je privzeta vrednost NE.

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 29

683490 | 2020.10.05 Pošlji povratne informacije

7. ALTECC (koda za odpravo napak: kodirnik/dekoder) jedro IP

Slika 6.

Intel zagotavlja jedro ALTECC IP za implementacijo funkcionalnosti ECC. ECC zazna poškodovane podatke, ki se pojavijo na strani sprejemnika med prenosom podatkov. Ta metoda odpravljanja napak je najprimernejša za situacije, ko se napake pojavljajo naključno in ne v zaporednih izbruhih.

ECC zazna napake skozi proces kodiranja in dekodiranja podatkov. Na primerample, ko je ECC uporabljen v aplikaciji za prenos, so podatki, prebrani iz vira, kodirani, preden so poslani prejemniku. Izhod (kodna beseda) iz kodirnika je sestavljen iz neobdelanih podatkov, ki jim je dodano število paritetnih bitov. Natančno število dodanih paritetnih bitov je odvisno od števila bitov v vhodnih podatkih. Ustvarjena kodna beseda se nato prenese na cilj.

Sprejemnik sprejme kodno besedo in jo dekodira. Informacije, ki jih pridobi dekoder, določajo, ali je zaznana napaka. Dekoder zazna enobitne in dvobitne napake, vendar lahko popravi samo enobitne napake v poškodovanih podatkih. Ta vrsta ECC je odkrivanje dvojnih napak s popravljanjem ene napake (SECDED).

Konfigurirate lahko funkcije kodirnika in dekoderja jedra ALTECC IP. Podatki, vneseni v kodirnik, so kodirani za ustvarjanje kodne besede, ki je kombinacija vnesenih podatkov in ustvarjenih paritetnih bitov. Ustvarjena kodna beseda se prenese v dekodirni modul za dekodiranje, tik preden doseže ciljni blok. Dekoder ustvari vektor sindroma, da ugotovi, ali je v prejeti kodni besedi kakšna napaka. Dekoder popravi podatke le, če je enobitna napaka iz podatkovnih bitov. Noben signal ni označen, če je enobitna napaka iz paritetnih bitov. Dekoder ima tudi signale zastavic, ki prikazujejo status prejetih podatkov in morebitno dejanje, ki ga je sprejel dekoder.

Naslednje slike prikazujejo vrata za jedro ALTECC IP.

Vrata kodirnika ALTECC

ALTECC_ENCODER

podatki[]

q[]

ura

clocken

aclr

inst

Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.

ISO 9001:2015 Registriran

7. ALTECC (koda za odpravljanje napak: kodirnik/dekoder) IP Core 683490 | 2020.10.05

Slika 7. Vrata dekoderja ALTECC

ALTECC_DEKODER

podatki [] ura clocken

q[] napaka_zaznana napaka_popravljena
err_fatal

aclr

inst

7.1. Funkcije kodirnika ALTECC

IP jedro kodirnika ALTECC ponuja naslednje funkcije: · Izvaja kodiranje podatkov z uporabo Hammingove sheme kodiranja · Podpira podatkovno širino 2 bitov · Podpira podpisan in nepodpisan format predstavitve podatkov · Podpira cevovod z izhodno zakasnitvijo enega ali dveh taktov · Podpira izbirno asinhrona vrata za brisanje in omogočanje ure

IP jedro kodirnika ALTECC zajema in kodira podatke s pomočjo Hammingove sheme kodiranja. Shema Hammingovega kodiranja izpelje paritetne bite in jih doda izvirnim podatkom, da ustvari izhodno kodno besedo. Število dodanih paritetnih bitov je odvisno od širine podatkov.

Naslednja tabela navaja število paritetnih bitov, dodanih za različne obsege širin podatkov. Stolpec Total Bits predstavlja skupno število vhodnih podatkovnih bitov in dodanih paritetnih bitov.

Tabela 21.

Število paritetnih bitov in kodna beseda glede na širino podatkov

Podatkovna širina

Število paritetnih bitov

Skupno število bitov (kodna beseda)

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

Izpeljava paritetnega bita uporablja preverjanje sode paritete. Dodatni 1 bit (prikazan v tabeli kot +1) je dodan paritetnim bitom kot MSB kodne besede. To zagotavlja, da ima kodna beseda sodo število 1. Na primerample, če je širina podatkov 4 bite, se podatkom dodajo 4 paritetni biti, da postanejo kodna beseda s skupno 8 bitov. Če ima 7 bitov iz LSB 8-bitne kodne besede liho število 1, je 8. bit (MSB) kodne besede 1, zaradi česar je skupno število 1 v kodni besedi sodo.
Naslednja slika prikazuje generirano kodno besedo in razporeditev paritetnih bitov in podatkovnih bitov v 8-bitnem podatkovnem vhodu.

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 31

7. ALTECC (koda za odpravljanje napak: kodirnik/dekoder) IP Core 683490 | 2020.10.05

Slika 8.

Razporeditev paritetnih bitov in podatkovnih bitov v 8-bitni generirani kodni besedi

MSB

LSB

4 paritetni biti

4 podatkovnih bitov

8

1

Jedro IP kodirnika ALTECC sprejema samo vhodne širine od 2 do 64 bitov naenkrat. Vhodne širine 12 bitov, 29 bitov in 64 bitov, ki so idealne za naprave Intel, ustvarjajo izhode 18 bitov, 36 bitov oziroma 72 bitov. Omejitev izbire bitov lahko nadzorujete v urejevalniku parametrov.

7.2. Prototip Verilog HDL (ALTECC_ENCODER)
Naslednji prototip Verilog HDL se nahaja v Verilog Design File (.v) lpm.v v imenik edasinteze.
modul altecc_encoder #( parameter namenjen_device_family = “unused”, parameter lpm_pipeline = 0, parameter width_codeword = 8, parameter width_dataword = 8, parameter lpm_type = “altecc_encoder”, parameter lpm_hint = “unused”) ( vhodna žica aclr, vhodna žična ura, vhod žična ura, vhodna žica [width_dataword-1:0] podatki, izhodna žica [width_codeword-1:0] q); končni modul

7.3. Prototip Verilog HDL (ALTECC_DECODER)
Naslednji prototip Verilog HDL se nahaja v Verilog Design File (.v) lpm.v v imenik edasinteze.
modul altecc_decoder #( parameter namenjen_device_family = “neuporabljen”, parameter lpm_pipeline = 0, parameter width_codeword = 8, parameter width_dataword = 8, parameter lpm_type = “altecc_decoder”, parameter lpm_hint = “unused”) ( vhodna žica aclr, vhodna žična ura, vhod wire clocken, vhodna žica [width_codeword-1:0] podatki, izhodna žica err_corrected, izhodna žica err_detected, izhodna žica err_fatal, izhodna žica [width_dataword-1:0] q); končni modul

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 32

Pošlji povratne informacije

7. ALTECC (koda za odpravljanje napak: kodirnik/dekoder) IP Core 683490 | 2020.10.05
7.4. Deklaracija komponente VHDL (ALTECC_ENCODER)
Deklaracija komponente VHDL se nahaja v VHDL Design File (.vhd) altera_mf_components.vhd v imenik knjižnicvhdlaltera_mf.
komponenta altecc_encoder generic ( predvidena_družina_naprav:niz := “neuporabljen”; lpm_pipeline:naraven := 0; width_codeword:naraven := 8; width_dataword:naraven := 8; lpm_hint:niz := “NEUPORABLJEN”; lpm_type:niz := “altecc_encoder ”); 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_vector(width_codeword -1 navzdol do 0)); končna komponenta;
7.5. Deklaracija komponente VHDL (ALTECC_DECODER)
Deklaracija komponente VHDL se nahaja v VHDL Design File (.vhd) altera_mf_components.vhd v imenik knjižnicvhdlaltera_mf.
komponenta altecc_decoder generic (načrtovana_družina_naprav:niz := “neuporabljen”; lpm_pipeline:naraven := 0; width_codeword:naraven := 8; width_dataword:naraven := 8; lpm_hint:niz := “NEUPORABLJEN”; lpm_type:niz := “altecc_dekoder ”); port( aclr:in std_logic := '0'; clock:in std_logic := '0'; clocken:in std_logic := '1'; data:in std_logic_vector(width_codeword-1 downto 0); err_corrected: out std_logic; err_detected : out std_logic; q:out std_logic_vector(width_dataword-1 downto 0); syn_e: out std_logic); končna komponenta;
7.6. Izjava VHDL LIBRARY_USE
Deklaracija VHDL LIBRARY-USE ni potrebna, če uporabljate deklaracijo komponente VHDL.
KNJIŽNICA altera_mf; UPORABA altera_mf.altera_mf_components.all;
7.7. Vrata kodirnika
V naslednjih tabelah so navedena vhodna in izhodna vrata za jedro IP kodirnika ALTECC.

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 33

7. ALTECC (koda za odpravljanje napak: kodirnik/dekoder) IP Core 683490 | 2020.10.05

Tabela 22. Vhodna vrata kodirnika ALTECC

Ime vrat

Obvezno

Opis

podatki[]

ja

Vrata za vnos podatkov. Velikost vhodnih vrat je odvisna od WIDTH_DATAWORD

vrednost parametra. Vrata data[] vsebujejo neobdelane podatke, ki jih je treba kodirati.

ura

ja

Vhodna vrata ure, ki zagotavljajo signal ure za sinhronizacijo postopka kodiranja.

Vrata ure so potrebna, ko je vrednost LPM_PIPELINE večja od 0.

clocken

št

Omogoči uro. Če je izpuščeno, je privzeta vrednost 1.

aclr

št

Asinhroni čisti vnos. Aktivni signal visokega aclr lahko kadar koli uporabite za

asinhrono počistite registre.

Tabela 23. Izhodna vrata kodirnika ALTECC

Ime vrat q[]

Obvezno Da

Opis
Vrata za izhod kodiranih podatkov. Velikost izhodnih vrat je odvisna od vrednosti parametra WIDTH_CODEWORD.

7.8. Vrata dekoderja

V naslednjih tabelah so navedena vhodna in izhodna vrata za jedro IP dekoderja ALTECC.

Tabela 24. Vhodna vrata dekoderja ALTECC

Ime vrat

Obvezno

Opis

podatki[]

ja

Vrata za vnos podatkov. Velikost vhodnih vrat je odvisna od vrednosti parametra WIDTH_CODEWORD.

ura

ja

Vhodna vrata ure, ki zagotavljajo signal ure za sinhronizacijo postopka kodiranja. Vrata ure so potrebna, ko je vrednost LPM_PIPELINE večja od 0.

clocken

št

Omogoči uro. Če je izpuščeno, je privzeta vrednost 1.

aclr

št

Asinhroni čisti vnos. Aktivni signal visokega aclr lahko kadar koli uporabite za asinhrono brisanje registrov.

Tabela 25. Izhodna vrata dekoderja ALTECC

Ime vrat q[]

Obvezno Da

Opis
Vrata za izhod dekodiranih podatkov. Velikost izhodnih vrat je odvisna od vrednosti parametra WIDTH_DATAWORD.

err_detected Da

Signal zastavice, ki prikazuje status prejetih podatkov in določa morebitne najdene napake.

err_correcte Da d

Signal zastavice, ki prikazuje status prejetih podatkov. Označuje najdeno in popravljeno enobitno napako. Podatke lahko uporabite, ker so že popravljeni.

err_fatal

ja

Signal zastavice, ki prikazuje status prejetih podatkov. Označuje dvobitno napako, ki je bila najdena, vendar ni bila popravljena. Podatkov ne smete uporabiti, če je ta signal uveljavljen.

sin_e

št

Izhodni signal, ki bo visok, kadar koli bo na pariteti zaznana enobitna napaka

bitov.

7.9. Parametri kodirnika
V naslednji tabeli so navedeni parametri za jedro IP kodirnika ALTECC.

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 34

Pošlji povratne informacije

7. ALTECC (koda za odpravljanje napak: kodirnik/dekoder) IP Core 683490 | 2020.10.05

Tabela 26. Parametri kodirnika ALTECC

Ime parametra

Vrsta

Obvezno

Opis

WIDTH_DATAWORD

Celo število Da

Podaja širino neobdelanih podatkov. Vrednosti so od 2 do 64. Če je izpuščeno, je privzeta vrednost 8.

WIDTH_CODEWORD

Celo število Da

Podaja širino ustrezne kodne besede. Veljavne vrednosti so od 6 do 72, razen 9, 17, 33 in 65. Če je izpuščeno, je privzeta vrednost 13.

LPM_PIPELINE

Celo število št

Določa cevovod za vezje. Vrednosti so od 0 do 2. Če je vrednost 0, vrata niso registrirana. Če je vrednost 1, so izhodna vrata registrirana. Če je vrednost 2, so vhodna in izhodna vrata registrirana. Če je izpuščeno, je privzeta vrednost 0.

7.10. Parametri dekoderja

Naslednja tabela navaja osnovne parametre IP dekoderja ALTECC.

Tabela 27. Parametri dekoderja ALTECC

Ime parametra WIDTH_DATAWORD

Vnesite celo število

Obvezno

Opis

ja

Podaja širino neobdelanih podatkov. Vrednosti so od 2 do 64. The

privzeta vrednost je 8.

WIDTH_CODEWORD

Celo število

ja

Podaja širino ustrezne kodne besede. Vrednosti so 6

do 72, razen 9, 17, 33 in 65. Če je izpuščeno, je privzeta vrednost

je 13.

LPM_PIPELINE

Celo število

št

Določa register vezja. Vrednosti so od 0 do 2. Če je

vrednost je 0, noben register ni implementiran. Če je vrednost 1, je

izhod je registriran. Če je vrednost 2, sta vnos in

izhodi so registrirani. Če je vrednost večja od 2, dodatno

registri so implementirani na izhodu za dop

zakasnitve. Če je izpuščeno, je privzeta vrednost 0.

Ustvarite vrata 'syn_e'

Celo število

št

Vklopite ta parameter, da ustvarite vrata syn_e.

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 35

683490 | 2020.10.05 Pošlji povratne informacije

8. Intel FPGA Multiply Adder IP Core

Slika 9.

Jedro IP Intel FPGA Multiply Adder (naprave Intel Stratix 10, Intel Arria 10 in Intel Cyclone 10 GX) ali ALTERA_MULT_ADD (naprave Arria V, Stratix V in Cyclone V) omogoča implementacijo seštevalnika množitelja.

Naslednja slika prikazuje vrata za jedro IP Intel FPGA Multiply Adder ali ALTERA_MULT_ADD.

Vrata Intel FPGA Multiply Adder ali ALTERA_MULT_ADD

Intel FPGA Multiply Adder ali ALTERA_MULT_ADD

dataa[] signa datab[] signa datac[] coefsel0[] coefsel1[] coefsel2[] coefsel3[] addnsub1 addnsub3 aclr/sclr[] scanina[] clock0 clock1 clock2 ena0 ena1 ena2 sload_accum
accum_sload chainin[]

scanouta[] rezultat[]

aclr0 aclr1

inst
Množilec-seštevalnik sprejme pare vhodov, pomnoži vrednosti skupaj in nato doda ali odšteje produkte vseh drugih parov.
Če so vse širine vhodnih podatkov 9-bitne ali manjše, funkcija uporablja konfiguracijo vhodnega množitelja 9 x 9 bitov v bloku DSP za naprave, ki podpirajo konfiguracijo 9 x 9. Če ni, blok DSP uporablja 18 × 18-bitne vhodne množitelje za obdelavo podatkov s širino med 10 in 18 bitov. Če se v načrtu pojavi več jeder Intel FPGA Multiply Adder ali ALTERA_MULT_ADD IP, so funkcije porazdeljene na

Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.

ISO 9001:2015 Registriran

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
čim več različnih blokov DSP, tako da je usmerjanje do teh blokov bolj prilagodljivo. Manj množiteljev na blok DSP omogoča več možnosti usmerjanja v blok z zmanjšanjem poti do preostale naprave.
Registri in dodatni cevovodni registri za naslednje signale so prav tako nameščeni znotraj bloka DSP: · Vnos podatkov · Predznačen ali nepredznačen izbor · Seštevanje ali odštevanje izbora · Zmnožki množiteljev
V primeru izhodnega rezultata se prvi register postavi v blok DSP. Vendar so dodatni registri zakasnitve nameščeni v logičnih elementih zunaj bloka. Periferija bloka DSP, vključno s podatkovnimi vhodi v množilnik, vhodi krmilnega signala in izhodi seštevalnika, uporablja običajno usmerjanje za komunikacijo s preostalo napravo. Vse povezave v funkciji uporabljajo namensko usmerjanje znotraj bloka DSP. To namensko usmerjanje vključuje verige premikovnega registra, ko izberete možnost za premik registriranih vhodnih podatkov množitelja z enega množitelja na sosednjega množitelja.
Za več informacij o blokih DSP v kateri koli seriji naprav Stratix V in Arria V glejte poglavje Bloki DSP v ustreznih priročnikih na strani z literaturo in tehnično dokumentacijo.
Povezane informacije AN 306: Implementacija množiteljev v napravah FPGA
Zagotavlja več informacij o izvajanju množiteljev z uporabo DSP in pomnilniških blokov v napravah Intel FPGA.
8.1. Lastnosti
Intel FPGA Multiply Adder ali jedro IP ALTERA_MULT_ADD ponuja naslednje funkcije: · Ustvari množitelj za izvajanje operacij množenja dveh kompleksnih
števila Opomba: Pri gradnji množiteljev, večjih od izvorno podprte velikosti, lahko pride do/
bo vplival na zmogljivost zaradi kaskade blokov DSP. · Podpira podatkovne širine 1 bitov · Podpira obliko predstavitve podpisanih in nepodpisanih podatkov · Podpira cevovodno povezovanje z nastavljivo zakasnitvijo vnosa · Ponuja možnost dinamičnega preklapljanja med podporo za podpisane in nepodpisane podatke · Ponuja možnost dinamičnega preklapljanja med operacijo seštevanja in odštevanja · Podpira izbirna vhodna vrata za asinhrono in sinhrono brisanje in omogočanje ure · Podpira način registra sistolične zakasnitve · Podpira predseštevalnik z 256 koeficienti predobremenitve na množitelj · Podpira konstanto prednapetosti za dopolnitev povratnih informacij akumulatorja

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 37

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

8.1.1. Predseštevalnik
Pri predhodnem seštevalniku se seštevanja ali odštevanja izvedejo pred dovajanjem množitelja.
Obstaja pet načinov predseštevalnika: · Enostavni način · Način koeficienta · Način vnosa · Kvadratni način · Konstanten način

Opomba:

Ko se uporablja predseštevalnik (koeficient predseštevalnika/vnos/kvadratni način), morajo imeti vsi vhodi podatkov v množitelj enako nastavljeno uro.

8.1.1.1. Enostavni način pred seštevalnikom

V tem načinu oba operanda izhajata iz vhodnih vrat in predseštevalnik se ne uporablja ali zaobide. To je privzeti način.

Slika 10. Enostavni način predseštevalnika
a0 b0

Mult0

rezultat

8.1.1.2. Način koeficienta pred seštevalnikom
V tem načinu en operand množitelja izhaja iz predseštevalnika, drugi operand pa izhaja iz notranjega pomnilnika koeficientov. Shranjevanje koeficientov omogoča do 8 prednastavljenih konstant. Signali izbire koeficienta so coefsel[0..3].
Ta način je izražen v naslednji enačbi.

Naslednje prikazuje način koeficienta pred seštevalnikom množitelja.

Slika 11. Način koeficienta predseštevalnika

Preadder

a0

Mult0

+/-

rezultat

b0

coefsel0 coef

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 38

Pošlji povratne informacije

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.1.3. Vhodni način predseštevalnika V tem načinu en operand množitelja izhaja iz predseštevalnika, drugi operand pa izhaja iz vhodnih vrat datac[]. Ta način je izražen v naslednji enačbi.

Naslednje prikazuje način vnosa množitelja pred seštevalnikom.

Slika 12. Vnosni način predseštevalnika
a0 b0

Mult0

+/-

rezultat

c0

8.1.1.4. Kvadratni način predseštevalnika Ta način je izražen v naslednji enačbi.

Naslednje prikazuje kvadratni način predseštevalnika dveh množiteljev.

Slika 13. Kvadratni način predseštevalnika
a0 b0

Mult0

+/-

rezultat

8.1.1.5. Konstantni način pred seštevalnikom
V tem načinu en operand množitelja izhaja iz vhodnih vrat, drugi operand pa izhaja iz notranjega pomnilnika koeficientov. Shranjevanje koeficientov omogoča do 8 prednastavljenih konstant. Signali izbire koeficienta so coefsel[0..3].
Ta način je izražen v naslednji enačbi.

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 39

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Naslednja slika prikazuje konstantni način množitelja pred seštevalnikom.

Slika 14. Konstantni način predseštevalnika
a0

Mult0

rezultat

coefsel0
coef
8.1.2. Register sistolične zakasnitve
V sistolični arhitekturi se vhodni podatki vnesejo v kaskado registrov, ki delujejo kot podatkovni medpomnilnik. Vsak register zagotavlja vhod sampna množitelj, kjer se pomnoži z ustreznim koeficientom. Verižni seštevalnik shrani postopno združene rezultate iz množitelja in predhodno registriran rezultat iz vhodnih vrat verige v [], da oblikuje končni rezultat. Vsak element množenja in dodajanja je treba odložiti za en sam cikel, tako da se rezultati ustrezno sinhronizirajo, ko seštejemo. Vsaka zaporedna zakasnitev se uporablja za naslavljanje pomnilnika koeficientov in podatkovnega medpomnilnika njihovih elementov množenja in seštevanja. Na primerample, ena zakasnitev za drugi element množenja in dodajanja, dve zakasnitvi za tretji element množenja in dodajanja itd.
Slika 15. Sistolični registri
Sistolični registri

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) predstavlja rezultate neprekinjenega toka vnosa samples in y(t)
predstavlja vsoto nabora vhodnih samples, in v času, pomnoženo z njihovimi
ustrezne koeficiente. Tako vhodni kot izhodni rezultati tečejo od leve proti desni. C(0) do c(N-1) označujejo koeficiente. Registri sistoličnega zakasnitve so označeni s S-1, medtem ko 1 predstavlja eno zakasnitev ure. Registri sistoličnega zakasnitve so dodani pri
vhode in izhode za cevovod na način, ki zagotavlja rezultate iz
operand množitelja in akumulirane vsote ostanejo sinhronizirane. Ta procesni element
se replicira, da tvori vezje, ki izračuna funkcijo filtriranja. Ta funkcija je
izraženo v naslednji enačbi.

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 40

Pošlji povratne informacije

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

N predstavlja število ciklov podatkov, ki so bili vneseni v akumulator, y(t) predstavlja izhod v času t, A(t) predstavlja vhod v času t, B(i) pa so koeficienti. T in i v enačbi ustrezata določenemu trenutku v času, da bi izračunali izhod sample y(t) v času t, skupina vhodnih sampdatotek na N različnih časovnih točkah ali pa se zahteva A(n), A(n-1), A(n-2), … A(n-N+1). Skupina N vhodnih sampse pomnožijo z N koeficienti in seštejejo, da tvorijo končni rezultat y.
Arhitektura sistoličnega registra je na voljo samo za načina vsote 2 in vsote 4. Za oba načina arhitekture sistoličnega registra mora biti prvi verižni signal vezan na 0.
Naslednja slika prikazuje izvedbo registra sistolične zakasnitve dveh množiteljev.
Slika 16. Izvedba registra sistolične zakasnitve dveh množiteljev
verižiti

a0

Mult0

+/-

b0

a1

Mult1

+/-

b1

rezultat
Vsota dveh množiteljev je izražena v naslednji enačbi.
Naslednja slika prikazuje izvedbo registra sistolične zakasnitve dveh množiteljev.

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 41

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Slika 17. Izvedba registra sistolične zakasnitve dveh množiteljev
verižiti

a0

Mult0

+/-

b0

a1

Mult1

+/-

b1

a2

Mult2

+/-

b2

a3

Mult3

+/-

b3

rezultat
Vsota štirih množiteljev je izražena v naslednji enačbi. Slika 18. Vsota 4 množiteljev
Sledi seznam advantagIzvedba sistoličnega registra: · Zmanjša porabo virov DSP · Omogoča učinkovito preslikavo v bloku DSP z uporabo strukture verižnega seštevalnika

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 42

Pošlji povratne informacije

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

8.1.3. Konstanta predobremenitve
Konstanta predobremenitve nadzira operand akumulatorja in dopolnjuje povratno informacijo akumulatorja. Veljavna LOADCONST_VALUE se giblje od 0. Konstantna vrednost je enaka 64N, kjer je N = LOADCONST_VALUE. Ko je LOADCONST_VALUE nastavljena na 2, je konstantna vrednost enaka 64. To funkcijo lahko uporabite kot pristransko zaokroževanje.
Naslednja slika prikazuje izvedbo konstante prednapetosti.
Slika 19. Konstanta predobremenitve

Povratne informacije akumulatorja

konstantna

a0

Mult0

+/-

b0

a1

Mult1

+/b1

rezultat

accum_sload sload_accum

Glejte naslednja jedra IP za druge izvedbe množitelja: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. Dvojni akumulator
Funkcija dvojnega akumulatorja doda dodaten register na povratni poti akumulatorja. Register dvojnega akumulatorja sledi izhodnemu registru, ki vključuje uro, omogoči uro in aclr. Dodatni akumulatorski register vrne rezultat z enociklično zakasnitvijo. Ta funkcija vam omogoča, da imate dva zbiralna kanala z enakim številom virov.
Naslednja slika prikazuje izvedbo dvojnega akumulatorja.

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 43

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Slika 20. Dvojni akumulator

Dvojni register akumulatorjev

Napajanje akumulatorja

a0

Mult0

+/-

b0

a1

Mult1

+/b1

Izhodni rezultat Izhodni register

8.2. Prototip Verilog HDL
Najdete lahko prototip Intel FPGA Multiply Adder ali ALTERA_MULT_ADD Verilog HDL file (altera_mult_add_rtl.v) v imenik knjižnicmegafunkcij.
8.3. Deklaracija komponente VHDL
Deklaracija komponente VHDL se nahaja v altera_lnsim_components.vhd v imenik librariesvhdl altera_lnsim.
8.4. Izjava VHDL LIBRARY_USE
Deklaracija VHDL LIBRARY-USE ni potrebna, če uporabljate deklaracijo komponente VHDL.
KNJIŽNICA altera_mf; UPORABA altera_mf.altera_mf_components.all;

8.5. Signali

V naslednjih tabelah so navedeni vhodni in izhodni signali jedra IP Multiply Adder Intel FPGA IP ali ALTERA_MULT_ADD.

Tabela 28. Vhodni signali Intel FPGA IP ali ALTERA_MULT_ADD Množenja

Signal

Obvezno

Opis

dataa_0[]/dataa_1[]/

ja

dataa_2[]/dataa_3[]

Vnos podatkov v množitelj. Vhodna vrata [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1 … 0] široka
nadaljevanje ...

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 44

Pošlji povratne informacije

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Signal datab_0[]/datab_1[]/ datab_2[]/datab_3[] datac_0[] /datac_1[]/ datac_2[]/datac_3[] ura[1:0] aclr[1:0] sclr[1:0] ena [1:0] znak
signb
scanina[] accum_sload

Obvezno Da Ne
Ne Ne Ne Ne Ne
št
ne ne

Opis
Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za te signale. Ko tem signalom zagotovite vrednost X, se vrednost X prenese na izhodne signale.
Vnos podatkov v množitelj. Vhodni signal [NUMBER_OF_MULTIPLIERS * WIDTH_B – 1 … 0] širok Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za te signale. Ko tem signalom zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Vnos podatkov v množitelj. Vhodni signal [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] širok Izberite INPUT za parameter Select preadder mode, da omogočite te signale. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za te signale. Ko tem signalom zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Vhodna vrata ure v ustrezen register. Ta signal lahko uporablja kateri koli register v jedru IP. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za te signale. Ko tem signalom zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Asinhroni čisti vnos v ustrezen register. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za te signale. Ko tem signalom zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Sinhroni čisti vnos v ustrezen register. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost X za te signale. Ko tem signalom zagotovite vrednost X, se vrednost X razširi na izhodne signale
Omogoči vnos signala v ustrezni register. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za te signale. Ko tem signalom zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Podaja numerično predstavitev vhoda množitelja A. Če je signal signa visok, množitelj obravnava signal vhoda množitelja A kot predznačeno število. Če je signal signa nizek, množitelj obravnava vhodni signal množitelja A kot nepredznačeno število. Izberite SPREMENLJIVA za Kaj je oblika predstavitve za parameter vnosov množiteljev A, da omogočite ta signal. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za ta signal. Ko temu vhodu zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Podaja numerično predstavitev vhodnega B signala množitelja. Če je signal signb visok, množitelj obravnava vhodni signal B množitelja kot komplementno število s predznakom dve. Če je signal signb nizek, množitelj obravnava vhodni signal množitelja B kot nepredznačeno število. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za ta signal. Ko temu vhodu zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Vhod za verigo skeniranja A. Vhodni signal [WIDTH_A – 1, … 0] širok. Če ima parameter INPUT_SOURCE_A vrednost SCANA, je zahtevan signal scanina[].
Dinamično določa, ali je vrednost akumulatorja konstantna. Če je signal accum_sload nizek, se izhod množitelja naloži v akumulator. Ne uporabljajte accum_sload in sload_accum hkrati.
nadaljevanje ...

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 45

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Signal sload_accum
veriga[] addnsub1
addnsub3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]

zahtevana št
ne ne
št
Ne Ne Ne Ne

Opis
Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za ta signal. Ko temu vhodu zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Dinamično določa, ali je vrednost akumulatorja konstantna. Če je signal sload_accum visok, se izhod množitelja naloži v akumulator. Ne uporabljajte accum_sload in sload_accum hkrati. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za ta signal. Ko temu vhodu zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Vhodno vodilo rezultatov seštevalnika iz prejšnjih stage. Vhodni signal [WIDTH_CHAININ – 1, … 0] širok.
Izvedite seštevanje ali odštevanje rezultatov prvega para množiteljev. Vhod 1 v signal addnsub1 za dodajanje izhodov iz prvega para množiteljev. Vnesite 0 v signal addnsub1, da odštejete izhode od prvega para množiteljev. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za ta signal. Ko temu vhodu zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Izvedite seštevanje ali odštevanje rezultatov prvega para množiteljev. Vhod 1 v signal addnsub3 za dodajanje izhodov iz drugega para množiteljev. Vnesite 0 v signal addnsub3, da odštejete izhode od prvega para množiteljev. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za ta signal. Ko temu vhodu zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Vhodni signal koeficienta [0:3] v prvi množitelj. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za ta signal. Ko temu vhodu zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Vhodni signal koeficienta [0:3] v drugi množitelj. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za ta signal. Ko temu vhodu zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Vhodni signal koeficienta [0:3] v tretji množitelj. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za ta signal. Ko temu vhodu zagotovite vrednost X, se vrednost X razširi na izhodne signale.
Vhodni signal koeficienta [0:3] v četrti množitelj. Simulacijski model za ta IP podpira nedoločeno vhodno vrednost (X) za ta signal. Ko temu vhodu zagotovite vrednost X, se vrednost X razširi na izhodne signale.

Tabela 29. Izhodni signali Intel FPGA IP pomnoženega seštevalnika

Signal

Obvezno

Opis

rezultat []

ja

Izhodni signal množitelja. Izhodni signal [WIDTH_RESULT – 1 … 0] širok

Simulacijski model za ta IP podpira nedoločeno izhodno vrednost (X). Ko podate vrednost X kot vhod, se vrednost X razširi na ta signal.

scanouta []

št

Izhod verige skeniranja A. Izhodni signal [WIDTH_A – 1..0] širok.

Izberite več kot 2 za število množiteljev in izberite Scan chain input za Kaj je vhod A množitelja, ki je povezan s parametrom, da omogočite ta signal.

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 46

Pošlji povratne informacije

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

8.6. Parametri

8.6.1. Zavihek Splošno

Tabela 30. Tabela Splošno

Parameter

Parameter, ustvarjen IP

Vrednost

Kakšno je število množiteljev?

število_m 1 – 4 množitelji

Kako široka naj bodo vhodna vodila A width_a?

1 – 256

Kako široka naj bodo vhodna vodila B width_b?

1 – 256

Kako široko naj bo izhodno vodilo 'rezultata'?

širina_rezultat

1 – 256

Za vsako uro ustvarite povezano uro

gui_associate On d_clock_enabl Off e

8.6.2. Zavihek Dodatni načini

Tabela 31. Zavihek Dodatni načini

Parameter

Parameter, ustvarjen IP

Vrednost

Konfiguracija izhodov

Registrski izhod seštevalnika

gui_output_re On

gister

Izključeno

Kaj je vir za vhod ure?

gui_output_re gister_clock

Ura0 Ura1 Ura2

Kaj je vir za asinhroni jasni vnos?

gui_output_re gister_aclr

NI ACLR0 ACLR1

Kaj je vir za sinhroni jasni vnos?

gui_output_re gister_sclr

BREZ SCLR0 SCLR1

Operacija seštevalnika

Kakšno operacijo je treba izvesti na izhodih prvega para množiteljev?

gui_multiplier 1_smer

ADD, SUB, VARIABLE

Privzeta vrednost 1
16

Opis
Število množiteljev, ki jih je treba sešteti. Vrednosti so od 1 do 4. Določite širino vrat dataa[].

16

Določite širino vrat datab[].

32

Določite širino vrat za rezultat[].

Izključeno

Izberite to možnost, če želite omogočiti uro

za vsako uro.

Privzeta vrednost

Opis

Izklopljena ura0
NIČ NIČ

Izberite to možnost, da omogočite izhodni register modula seštevalnika.
Izberite Clock0, Clock1 ali Clock2, da omogočite in določite vir takta za izhodne registre. Če želite omogočiti ta parameter, morate izbrati Registriraj izhod enote seštevalnika.
Podaja asinhroni čisti izvor za izhodni register seštevalnika. Če želite omogočiti ta parameter, morate izbrati Registriraj izhod enote seštevalnika.
Podaja sinhroni čisti vir za izhodni register seštevalnika. Če želite omogočiti ta parameter, morate izbrati Registriraj izhod enote seštevalnika.

DODAJ

Izberite operacijo seštevanja ali odštevanja za izhode med prvim in drugim množiteljem.
· Izberite ADD, da izvedete seštevanje.
· Izberite SUB za izvedbo operacije odštevanja.
· Izberite VARIABLE za uporabo vrat addnsub1 za dinamični nadzor seštevanja/odštevanja.
nadaljevanje ...

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 47

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter

Parameter, ustvarjen IP

Vrednost

Registrirajte vnos 'addnsub1'

gui_addnsub_ On multiplier_reg Off ister1

Kaj je vir za vhod ure?

gui_addnsub_ multiplier_reg ister1_clock

Ura0 Ura1 Ura2

Kaj je vir za asinhroni jasni vnos?

gui_addnsub_ multiplier_aclr 1

NI ACLR0 ACLR1

Kaj je vir za sinhroni jasni vnos?

gui_addnsub_ multiplier_sclr 1

BREZ SCLR0 SCLR1

Kakšno operacijo je treba izvesti na izhodih drugega para množiteljev?

gui_multiplier 3_smer

ADD, SUB, VARIABLE

Registrirajte vnos 'addnsub3'

gui_addnsub_ On multiplier_reg Off ister3

Kaj je vir za vhod ure?

gui_addnsub_ multiplier_reg ister3_clock

Ura0 Ura1 Ura2

Privzeta vrednost
Off Clock0 NONE NONE ADD
Izklopljena ura0

Opis
Ko je izbrana vrednost VARIABLE: · Preklopite signal addnsub1 na visoko vrednost za
operacija dodajanja. · Preklopite signal addnsub1 na nizko za
operacija odštevanja. Če želite omogočiti ta parameter, morate izbrati več kot dva množitelja.
Izberite to možnost, da omogočite vhodni register za vrata addnsub1. Izbrati morate VARIABLE za Katera operacija naj se izvede na izhodih prvega para množiteljev, da omogočite ta parameter.
Izberite Clock0, Clock1 ali Clock2, da določite vhodni signal ure za register addnsub1. Če želite omogočiti ta parameter, morate izbrati vnos Register 'addnsub1'.
Podaja asinhroni čisti izvor za register addnsub1. Če želite omogočiti ta parameter, morate izbrati vnos Register 'addnsub1'.
Podaja sinhroni čisti vir za register addnsub1. Če želite omogočiti ta parameter, morate izbrati vnos Register 'addnsub1'.
Izberite operacijo seštevanja ali odštevanja za izhode med tretjim in četrtim množiteljem. · Za seštevanje izberite ADD
delovanje. · Izberite SUB za izvedbo odštevanja
delovanje. · Izberite SPREMENLJIVKA za uporabo addnsub1
vrata za nadzor dinamičnega seštevanja/odštevanja. Ko je izbrana vrednost VARIABLE: · Povečajte signal addnsub1 na visoko za operacijo dodajanja. · Preklopite signal addnsub1 na nizko za operacijo odštevanja. Izbrati morate vrednost 4 za Kakšno je število množiteljev? da omogočite ta parameter.
Izberite to možnost, da omogočite vhodni register za signal addnsub3. Izbrati morate VARIABLE za Katera operacija naj se izvede na izhodih drugega para množiteljev, da omogočite ta parameter.
Izberite Clock0, Clock1 ali Clock2, da določite vhodni signal ure za register addnsub3. Če želite omogočiti ta parameter, morate izbrati Register 'addnsub3' input.
nadaljevanje ...

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 48

Pošlji povratne informacije

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter
Kaj je vir za asinhroni jasni vnos?

Parameter, ustvarjen IP

Vrednost

gui_addnsub_ multiplier_aclr 3

NI ACLR0 ACLR1

Kaj je vir za sinhroni jasni vnos?

gui_addnsub_ multiplier_sclr 3

BREZ SCLR0 SCLR1

Omogoči polarnost `use_subadd'

gui_use_subn Vklopljeno

dodati

Izključeno

8.6.3. Zavihek množiteljev

Tabela 32. Množitelji Tab

Parameter

Parameter, ustvarjen IP

Vrednost

Kaj je

gui_represent

oblika predstavitve ation_a

za vnose množiteljev A?

PREDZNANO, NEPOZNANO, SPREMENLJIVO

Registrirajte vnos `signa'

gui_register_s Vklopljeno

igna

Izključeno

Kaj je vir za vhod ure?

gui_register_s igna_clock

Ura0 Ura1 Ura2

Kaj je vir za asinhroni jasni vnos?

gui_register_s igna_aclr

NI ACLR0 ACLR1

Kaj je vir za sinhroni jasni vnos?

gui_register_s igna_sclr

BREZ SCLR0 SCLR1

Kaj je

gui_represent

oblika predstavitve ation_b

za vhode množiteljev B?

PREDZNANO, NEPOZNANO, SPREMENLJIVO

Registrirajte vnos `signb'

gui_register_s Vklopljeno

ignb

Izključeno

Privzeta vrednost NONE
NIČ

Opis
Podaja asinhroni čisti izvor za register addnsub3. Če želite omogočiti ta parameter, morate izbrati vnos Register 'addnsub3'.
Podaja sinhroni čisti vir za register addnsub3. Če želite omogočiti ta parameter, morate izbrati Register 'addnsub3' input.

Izključeno

Izberite to možnost, če želite obrniti funkcijo

vhodnih vrat addnsub.

Preklopite addnsub na visoko za operacijo odštevanja.

Preklopite addnsub na nizko za operacijo dodajanja.

Privzeta vrednost

Opis

UNSIGNED Določite obliko predstavitve za vnos množitelja A.

Izključeno

Izberite to možnost, da omogočite signa

register.

Izbrati morate vrednost VARIABLE za Kakšen je format predstavitve za vnose množiteljev A? parameter za omogočanje te možnosti.

Ura 0

Izberite Clock0, Clock1 ali Clock2, da omogočite in določite vhodni signal ure za register znakov.
Če želite omogočiti ta parameter, morate izbrati Registriraj vnos `signa'.

NIČ

Podaja asinhroni čisti izvor za register signa.
Če želite omogočiti ta parameter, morate izbrati Registriraj vnos `signa'.

NIČ

Podaja sinhroni čisti vir za register signa.
Če želite omogočiti ta parameter, morate izbrati Registriraj vnos `signa'.

UNSIGNED Določite obliko predstavitve za vnos množitelja B.

Izključeno

Izberite to možnost, da omogočite signb

register.

nadaljevanje ...

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 49

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter

Parameter, ustvarjen IP

Vrednost

Privzeta vrednost

Kaj je vir za vhod ure?

gui_register_s ignb_ura

Ura0 Ura1 Ura2

Ura 0

Kaj je vir za asinhroni jasni vnos?

gui_register_s ignb_aclr

NI ACLR0 ACLR1

Kaj je vir za sinhroni jasni vnos?

gui_register_s ignb_sclr

BREZ SCLR0 SCLR1

Vhodna konfiguracija
Registrirajte vhod A množitelja
Kaj je vir za vhod ure?

gui_input_reg Vklopljeno

ister_a

Izključeno

gui_input_reg ister_a_ura

Ura0 Ura1 Ura2

NIČ NIČ
Izklopljena ura0

Kaj je vir za asinhroni jasni vnos?

gui_input_reg ister_a_aclr

NI ACLR0 ACLR1

Kaj je vir za sinhroni jasni vnos?

gui_input_reg ister_a_sclr

BREZ SCLR0 SCLR1

Registrirajte vhod B množitelja
Kaj je vir za vhod ure?

gui_input_reg Vklopljeno

ister_b

Izključeno

gui_input_reg ister_b_ura

Ura0 Ura1 Ura2

BREZ BREZ Izklopljena ura0

Kaj je vir za asinhroni jasni vnos?

gui_input_reg ister_b_aclr

NI ACLR0 ACLR1

NIČ

Kaj je vir za sinhroni jasni vnos?

gui_input_reg ister_b_sclr

BREZ SCLR0 SCLR1

NIČ

Na kaj je priključen vhod A množitelja?

gui_multiplier Množitelj vhodni množitelj

_a_vnos

Vnos vhodne verige skeniranja

Opis
Izbrati morate vrednost VARIABLE za Kakšen je format predstavitve za vnose množiteljev B? parameter za omogočanje te možnosti.
Izberite Clock0, Clock1 ali Clock2, da omogočite in določite vhodni signal ure za register signb. Če želite omogočiti ta parameter, morate izbrati Registriraj vnos `signb'.
Podaja asinhroni čisti izvor za register signb. Če želite omogočiti ta parameter, morate izbrati Registriraj vnos `signb'.
Podaja sinhroni čisti vir za register signb. Če želite omogočiti ta parameter, morate izbrati Registriraj vnos `signb'.
Izberite to možnost, da omogočite vhodni register za podatkovno vhodno vodilo.
Izberite Clock0, Clock1 ali Clock2, da omogočite in določite vhodni signal ure registra za vhodno vodilo podatkov. Če želite omogočiti ta parameter, morate izbrati Registriraj vhod A množitelja.
Podaja asinhroni čisti izvor registra za vhodno vodilo dataa. Če želite omogočiti ta parameter, morate izbrati Registriraj vhod A množitelja.
Podaja izvor sinhronega brisanja registra za vhodno vodilo podatkov. Če želite omogočiti ta parameter, morate izbrati Registriraj vhod A množitelja.
Izberite to možnost, da omogočite vhodni register za vhodno vodilo datab.
Izberite Clock0, Clock1 ali Clock2, da omogočite in določite vhodni signal ure registra za vhodno vodilo datab. Če želite omogočiti ta parameter, morate izbrati Registriraj vhod B množitelja.
Podaja asinhroni čisti izvor registra za vhodno vodilo datab. Če želite omogočiti ta parameter, morate izbrati Registriraj vhod B množitelja.
Podaja izvor sinhronega brisanja registra za vhodno vodilo datab. Če želite omogočiti ta parameter, morate izbrati Registriraj vhod B množitelja.
Izberite vhodni vir za vhod A množitelja.
nadaljevanje ...

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 50

Pošlji povratne informacije

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter

Parameter, ustvarjen IP

Vrednost

Scanout A Register Configuration

Registrirajte izhod verige skeniranja

gui_scanouta Vklopljeno

_register

Izključeno

Kaj je vir za vhod ure?

gui_scanouta _register_cloc k

Ura0 Ura1 Ura2

Kaj je vir za asinhroni jasni vnos?

gui_scanouta _register_aclr

NI ACLR0 ACLR1

Kaj je vir za sinhroni jasni vnos?

gui_scanouta _register_sclr

BREZ SCLR0 SCLR1

8.6.4. Zavihek Preadder

Tabela 33. Zavihek Preadder

Parameter

Parameter, ustvarjen IP

Vrednost

Izberite način vnaprejšnjega zbiralnika

preadder_mo de

ENOSTAVNO, COEF, VNOS, KVADRAT, KONSTANTA

Privzeta vrednost

Opis
Izberite Vnos množitelja, če želite uporabiti vhodno vodilo podatkov kot vir množitelja. Izberite Scanin chain input, če želite uporabiti vhodno vodilo scanin kot vir za množitelj in omogočiti izhodno vodilo scanin. Ta parameter je na voljo, ko izberete 2, 3 ali 4 za Kakšno je število množiteljev? parameter.

Off Clock0 NONE NONE

Izberite to možnost, da omogočite izhodni register za izhodno vodilo scanouta.
Morate izbrati Scan chain input za Kaj je povezan vhod A množitelja? parameter za omogočanje te možnosti.
Izberite Clock0, Clock1 ali Clock2, da omogočite in določite vhodni signal ure registra za izhodno vodilo scanouta.
Če želite omogočiti to možnost, morate vklopiti Register output parametra scan chain.
Podaja asinhroni čisti izvor registra za izhodno vodilo scanouta.
Če želite omogočiti to možnost, morate vklopiti Register output parametra scan chain.
Podaja izvor sinhronega brisanja registra za izhodno vodilo scanouta.
Če želite omogočiti to možnost, morate izbrati možnost Register output of the scan chain parameter.

Privzeta vrednost
PREPROSTO

Opis
Določa način delovanja za modul predseštevalnika. PREPROSTO: Ta način zaobide vnaprej seštevalnik. To je privzeti način. COEF: Ta način uporablja izhod predseštevalnika in vhodnega vodila coefsel kot vhode v množitelj. INPUT: Ta način uporablja izhod predseštevalnika in vhodnega vodila podatkov kot vhoda v množilnik. SQUARE: Ta način uporablja izhod predseštevalnika kot oba vhoda v množitelj.
nadaljevanje ...

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 51

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter

Parameter, ustvarjen IP

Vrednost

Izberite smer prednabiralnika

gui_preadder ADD,

_smer

SUB

Kako široka naj bodo vhodna vodila C width_c?

1 – 256

Konfiguracija vhodnega registra podatkov C

Registrirajte vnos podatkov

gui_datac_inp Vklopljeno

ut_register

Izključeno

Kaj je vir za vhod ure?

gui_datac_inp ut_register_cl ock

Ura0 Ura1 Ura2

Kaj je vir za asinhroni jasni vnos?

gui_datac_inp ut_register_a clr

NI ACLR0 ACLR1

Kaj je vir za sinhroni jasni vnos?

gui_datac_inp ut_register_sc lr

BREZ SCLR0 SCLR1

Koeficienti
Kako široka naj bo širina coef?

širina_koef

1 – 27

Konfiguracija registra Coef

Registrirajte vnos coefsel

gui_coef_regi Vklopljeno

ster

Izključeno

Kaj je vir za vhod ure?

gui_coef_regi ster_ura

Ura0 Ura1 Ura2

Privzeta vrednost
DODAJ
16

Opis
CONSTANT: Ta način uporablja vhodno vodilo dataa z obhodnim predseštevalnikom in vhodno vodilo coefsel kot vhoda v množitelj.
Podaja delovanje prednabiralnika. Če želite omogočiti ta parameter, izberite naslednje za Select preadder mode: · COEF · INPUT · SQUARE ali · CONSTANT
Določa število bitov za vhodno vodilo C. Če želite omogočiti ta parameter, morate izbrati INPUT za Select preadder mode.

Na uri0 NI NI

Izberite to možnost, da omogočite vhodni register za vhodno vodilo datac. Če želite omogočiti to možnost, morate INPUT nastaviti na Select preadder mode parameter.
Izberite Clock0, Clock1 ali Clock2, da določite vhodni signal ure za vhodni register podatkov. Če želite omogočiti ta parameter, morate izbrati Register datac input.
Podaja asinhroni čisti vir za vhodni register podatkov. Če želite omogočiti ta parameter, morate izbrati Register datac input.
Podaja sinhroni čisti vir za vhodni register podatkov. Če želite omogočiti ta parameter, morate izbrati Register datac input.

18

Določa število bitov za

coefsel vhodno vodilo.

Če želite omogočiti ta parameter, morate za način predhodnega seštevalnika izbrati COEF ali CONSTANT.

Na uro 0

Izberite to možnost, da omogočite vhodni register za coefsel vhodno vodilo. Če želite omogočiti ta parameter, morate za način predhodnega seštevalnika izbrati COEF ali CONSTANT.
Izberite Clock0, Clock1 ali Clock2, da določite vhodni taktni signal za vhodni register coefsel. Če želite omogočiti ta parameter, morate izbrati Register the coefsel input.
nadaljevanje ...

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 52

Pošlji povratne informacije

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter
Kaj je vir za asinhroni jasni vnos?

Parameter, ustvarjen IP

Vrednost

gui_coef_regi ster_aclr

NI ACLR0 ACLR1

Kaj je vir za sinhroni čisti vnos

gui_coef_regi ster_sclr

BREZ SCLR0 SCLR1

Koeficient_0 Konfiguracija

coef0_0 do coef0_7

0x00000 0xFFFFFFF

Koeficient_1 Konfiguracija

coef1_0 do coef1_7

0x00000 0xFFFFFFF

Koeficient_2 Konfiguracija

coef2_0 do coef2_7

0x00000 0xFFFFFFF

Koeficient_3 Konfiguracija

coef3_0 do coef3_7

0x00000 0xFFFFFFF

8.6.5. Zavihek akumulatorja

Tabela 34. Akumulator Tab

Parameter

Parameter, ustvarjen IP

Vrednost

Omogoči akumulator?

akumulator

DA, NE

Kakšna je vrsta delovanja akumulatorja?

accum_directi ADD,

on

SUB

Privzeta vrednost NONE
NIČ
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0

Opis
Podaja asinhroni čisti izvor za vhodni register coefsel. Če želite omogočiti ta parameter, morate izbrati Register the coefsel input.
Podaja sinhroni čisti vir za vhodni register coefsel. Če želite omogočiti ta parameter, morate izbrati Register the coefsel input.
Podaja vrednosti koeficientov za ta prvi množitelj. Število bitov mora biti enako, kot je določeno v Kako široka naj bo širina coef? parameter. Če želite omogočiti ta parameter, morate za način predhodnega seštevalnika izbrati COEF ali CONSTANT.
Podaja vrednosti koeficientov za ta drugi množitelj. Število bitov mora biti enako, kot je določeno v Kako široka naj bo širina coef? parameter. Če želite omogočiti ta parameter, morate za način predhodnega seštevalnika izbrati COEF ali CONSTANT.
Podaja vrednosti koeficientov za ta tretji množitelj. Število bitov mora biti enako, kot je določeno v Kako široka naj bo širina coef? parameter. Če želite omogočiti ta parameter, morate za način predhodnega seštevalnika izbrati COEF ali CONSTANT.
Podaja vrednosti koeficientov za ta četrti množitelj. Število bitov mora biti enako, kot je določeno v Kako široka naj bo širina coef? parameter. Če želite omogočiti ta parameter, morate za način predhodnega seštevalnika izbrati COEF ali CONSTANT.

Privzeta vrednost NO
DODAJ

Opis
Izberite DA, da omogočite akumulator. Ko uporabljate funkcijo akumulatorja, morate izbrati Registriraj izhod seštevalnika.
Določa delovanje akumulatorja: · ADD za operacijo seštevanja · SUB za operacijo odštevanja. Morate izbrati DA za Omogoči akumulator? parameter za omogočanje te možnosti.
nadaljevanje ...

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 53

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter
Preload Constant Omogoči konstanto prednalaganja

Parameter, ustvarjen IP

Vrednost

gui_ena_prelo On

ad_const

Izključeno

Na kaj je povezan vhod akumulacijskih vrat?

gui_accumula ACCUM_SLOAD, te_port_select SLOAD_ACCUM

Izberite vrednost za prednapetost loadconst_val 0 – 64

konstantna

ue

Kaj je vir za vhod ure?

gui_accum_sl oad_register_ ura

Ura0 Ura1 Ura2

Kaj je vir za asinhroni jasni vnos?

gui_accum_sl oad_register_ aclr

NI ACLR0 ACLR1

Kaj je vir za sinhroni jasni vnos?

gui_accum_sl oad_register_ sclr

BREZ SCLR0 SCLR1

Omogoči dvojni akumulator

gui_double_a Vklopljeno

cum

Izključeno

Privzeta vrednost

Opis

Izključeno

Omogočite accum_sload oz

signali sload_accum in vnos registra

za dinamično izbiro vhoda za

akumulator.

Ko je accum_sload nizek ali sload_accum, se izhod množitelja poda v akumulator.

Ko je accum_sload visok ali sload_accum, se v akumulator poda uporabniško določena konstanta prednalaganja.

Morate izbrati DA za Omogoči akumulator? parameter za omogočanje te možnosti.

ACCUM_SL OAD

Podaja vedenje signala accum_sload/sload_accum.
ACCUM_SLOAD: Poganjajte accum_sload nizko, da naložite izhod množitelja v akumulator.
SLOAD_ACCUM: Poganjajte sload_accum visoko, da naložite izhod množitelja v akumulator.
Če želite omogočiti ta parameter, morate izbrati možnost Omogoči konstanto prednalaganja.

64

Določite prednastavljeno konstantno vrednost.

Ta vrednost je lahko 2N, kjer je N prednastavljena konstantna vrednost.

Ko je N=64, predstavlja konstanto nič.

Če želite omogočiti ta parameter, morate izbrati možnost Omogoči konstanto prednalaganja.

Ura 0

Izberite Clock0, Clock1 ali Clock2, da določite vhodni signal ure za register accum_sload/sload_accum.
Če želite omogočiti ta parameter, morate izbrati možnost Omogoči konstanto prednalaganja.

NIČ

Podaja asinhroni čisti izvor za register accum_sload/sload_accum.
Če želite omogočiti ta parameter, morate izbrati možnost Omogoči konstanto prednalaganja.

NIČ

Podaja sinhroni čisti izvor za register accum_sload/sload_accum.
Če želite omogočiti ta parameter, morate izbrati možnost Omogoči konstanto prednalaganja.

Izključeno

Omogoči dvojni register akumulatorja.

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 54

Pošlji povratne informacije

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

8.6.6. Sistolični/verižni zavihek

Tabela 35. Zavihek sistolični/verižni seštevalec

Parameter Omogoči verižni seštevalnik

Parameter, ustvarjen IP

Vrednost

chainout_add DA,

er

št

Kakšna je vrsta operacije verižnega seštevalnika?

chainout_add DODAJ,

er_smer

SUB

Omogočiti vnos `negate' za verižni seštevalnik?

Port_negate

PORT_USED, PORT_UNUSED

Registrirati vnos `negate'? zanikati_register er

NEREGISTRIRANO, URA0, URA1, URA2, URA3

Kaj je vir za asinhroni jasni vnos?

negate_aclr

NI ACLR0 ACLR1

Kaj je vir za sinhroni jasni vnos?

negate_sclr

BREZ SCLR0 SCLR1

Sistolična zamuda
Omogoči registre sistolične zakasnitve

gui_systolic_d Vklopljeno

elay

Izključeno

Kaj je vir za vhod ure?

gui_systolic_d CLOCK0,

elay_clock

URA1,

Privzeta vrednost
št

Opis
Izberite DA, da omogočite modul verižnega seštevalnika.

DODAJ

Podaja operacijo verižnega seštevalnika.
Za operacijo odštevanja je treba izbrati SIGNED za Kaj je oblika predstavitve za vnose množiteljev A? in kakšen je format predstavitve za vnose množiteljev B? v zavihku Množitelji.

PORT_UN UPORABLJEN

Izberite PORT_USED, da omogočite zanikanje vhodnega signala.
Ta parameter ni veljaven, če je verižni seštevalnik onemogočen.

ODJAVA ERED

Omogoči vhodni register za negativni vhodni signal in določi vhodni taktni signal za negativni register.
Izberite UNREGISTERED, če zanikani vhodni register ni potreben
Ta parameter ni veljaven, ko izberete:
· NE za Enable chainout adder oz
· PORT_UNUSED za Omogoči 'negativni' vnos za verižni seštevalnik? parameter oz

NIČ

Podaja asinhroni čisti izvor za negirani register.
Ta parameter ni veljaven, ko izberete:
· NE za Enable chainout adder oz
· PORT_UNUSED za Omogoči 'negativni' vnos za verižni seštevalnik? parameter oz

NIČ

Podaja sinhroni čisti izvor za negirani register.
Ta parameter ni veljaven, ko izberete:
· NE za Enable chainout adder oz
· PORT_UNUSED za Omogoči 'negativni' vnos za verižni seštevalnik? parameter oz

Izklopljeno CLOCK0

Izberite to možnost, da omogočite sistolični način. Ta parameter je na voljo, ko izberete 2 ali 4 za Kakšno je število množiteljev? parameter. Za uporabo registrov sistolične zakasnitve morate omogočiti izhod Register enote seštevalnika.
Določa vhodni taktni signal za register sistolične zakasnitve.
nadaljevanje ...

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 55

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter

Parameter, ustvarjen IP

Vrednost

URA2,

Kaj je vir za asinhroni jasni vnos?

gui_systolic_d elay_aclr

NI ACLR0 ACLR1

Kaj je vir za sinhroni jasni vnos?

gui_systolic_d elay_sclr

BREZ SCLR0 SCLR1

Privzeta vrednost
NIČ
NIČ

Opis
Če želite omogočiti to možnost, morate izbrati omogoči registre sistolične zakasnitve.
Podaja asinhroni čisti vir za register sistolične zakasnitve. Če želite omogočiti to možnost, morate izbrati omogoči registre sistolične zakasnitve.
Podaja sinhroni čisti vir za register sistolične zakasnitve. Če želite omogočiti to možnost, morate izbrati omogoči registre sistolične zakasnitve.

8.6.7. Zavihek Cevovod

Tabela 36. Zavihek Cevovod

Konfiguracija cevovoda parametrov

Parameter, ustvarjen IP

Vrednost

Ali želite vhodu dodati register cevovoda?

gui_pipelining Ne, da

Privzeta vrednost
št

Prosimo, navedite

zakasnitev

število zakasnitve ure

ciklov

Vsaka vrednost, večja od 0 kot 0

Kaj je vir za vhod ure?

gui_input_late ncy_clock

URA0, URA1, URA2

Kaj je vir za asinhroni jasni vnos?

gui_input_late ncy_aclr

NI ACLR0 ACLR1

Kaj je vir za sinhroni jasni vnos?

gui_input_late ncy_sclr

BREZ SCLR0 SCLR1

URA0 NI NI

Opis
Izberite Da, da omogočite dodatno raven registra cevovoda za vhodne signale. Navesti morate vrednost, večjo od 0 za parameter Prosimo, navedite število ciklov zakasnitve.
Podaja želeno zakasnitev v taktih. Ena raven registra cevovoda = 1 zakasnitev v taktu. Morate izbrati DA za Ali želite vhodu dodati register cevovoda? da omogočite to možnost.
Izberite Clock0, Clock1 ali Clock2, da omogočite in določite vhodni taktni signal registra cevovoda. Morate izbrati DA za Ali želite vhodu dodati register cevovoda? da omogočite to možnost.
Podaja asinhroni čisti izvor registra za dodatni register cevovoda. Morate izbrati DA za Ali želite vhodu dodati register cevovoda? da omogočite to možnost.
Podaja izvor sinhronega brisanja registra za dodatni register cevovoda. Morate izbrati DA za Ali želite vhodu dodati register cevovoda? da omogočite to možnost.

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 56

Pošlji povratne informacije

683490 | 2020.10.05 Pošlji povratne informacije

9. ALTMEMMULT (pomnilniški množitelj s konstantnim koeficientom) IP Core

Pozor:

Intel je odstranil podporo za ta IP v različici Intel Quartus Prime Pro Edition 20.3. Če je jedro IP v vaši zasnovi namenjeno napravam v izdaji Intel Quartus Prime Pro Edition, lahko zamenjate IP z LPM_MULT Intel FPGA IP ali znova ustvarite IP in prevedete svojo zasnovo s programsko opremo Intel Quartus Prime Standard Edition.

Jedro IP ALTMEMMULT se uporablja za ustvarjanje pomnilniških množiteljev z uporabo pomnilniških blokov na čipu, ki jih najdemo v Intelovih FPGA (s pomnilniškimi bloki M512, M4K, M9K in MLAB). To jedro IP je uporabno, če nimate dovolj sredstev za implementacijo množiteljev v logičnih elementih (LE) ali namenskih virov množiteljev.
Jedro IP ALTMEMMULT je sinhrona funkcija, ki zahteva uro. Jedro IP ALTMEMMULT implementira množitelj z najmanjšo možno prepustnostjo in zakasnitvijo za dani nabor parametrov in specifikacij.
Naslednja slika prikazuje vrata za jedro IP ALTMEMMULT.

Slika 21. Vrata ALTMEMMULT

ALTMEMMULT

data_in[] sload_data coeff_in[]

rezultat[] rezultat_veljaven load_done

sload_coeff

ura sclr
inst

Funkcije povezanih informacij na strani 71

9.1. Lastnosti
Jedro ALTMEMMULT IP ponuja naslednje funkcije: · Ustvari le množitelje, ki temeljijo na pomnilniku, z uporabo pomnilniških blokov na čipu, ki jih najdete v
Intel FPGA · Podpira podatkovno širino 1 bitov · Podpira podpisan in nepodpisan format predstavitve podatkov · Podpira cevovod s fiksno izhodno zakasnitvijo

Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.

ISO 9001:2015 Registriran

9. ALTMEMMULT (pomnilniški množitelj s konstantnim koeficientom) IP Core 683490 | 2020.10.05
· Shranjuje večkratne konstante v pomnilnik z naključnim dostopom (RAM)
· Omogoča izbiro vrste bloka RAM
· Podpira izbirna vhodna vrata za sinhrono čiščenje in nadzor obremenitve
9.2. Prototip Verilog HDL
Naslednji prototip Verilog HDL se nahaja v Verilog Design File (.v) altera_mf.v v eda sintezni imenik.
module altmemmult #( parameter coeff_representation = “SIGNED”, parameter coefficient0 = “UNUSED”, parameter data_representation = “SIGNED”, parameter nameravana_družina_naprav = “unused”, parameter max_clock_cycles_per_result = 1, parameter number_of_coefficients = 1, parameter ram_block_type = “AUTO”, parameter total_latency = 1, parameter width_c = 1, parameter width_d = 1, parameter width_r = 1, parameter width_s = 1, parameter lpm_type = “altmemmult”, parameter lpm_hint = “unused”) ( ura vhodne žice, vhodna žica [width_c-1: 0]coeff_in, vhodna žica [width_d-1:0] data_in, izhodna žica load_done, izhodna žica [width_r-1:0] rezultat, izhodna žica result_valid, vhodna žica sclr, vhodna žica [width_s-1:0] sel, vhod wire sload_coeff, vhodna žica sload_data)/* sinteza syn_black_box=1 */; končni modul
9.3. Deklaracija komponente VHDL
Deklaracija komponente VHDL se nahaja v VHDL Design File (.vhd) altera_mf_components.vhd v imenik knjižnicvhdlaltera_mf.
komponenta altmemmult generic ( coeff_representation:string := “SIGNED”; coefficient0:string := “UNUSED”; data_representation:string := “SIGNED”; nameravana_družina_naprav:string := “unused”; max_clock_cycles_per_result:natural := 1; number_of_oefficients:natural := 1; ram_block_type:string := “AUTO”; total_latency:natural; width_c:natural; width_d:natural; width_r:natural; width_s:natural := 1; lpm_hint:string := “NEUPORABLJENO”; lpm_type:string := “altmemmult”); port( clock:in std_logic; coeff_in:in std_logic_vector(width_c-1 downto 0) := (others => '0'); data_in:in std_logic_vector(width_d-1 downto 0);

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 58

Pošlji povratne informacije

9. ALTMEMMULT (pomnilniški množitelj s konstantnim koeficientom) IP Core 683490 | 2020.10.05

load_done:out std_logic; rezultat: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) := (others => '0'); sload_coeff:in std_logic := '0'; sload_data:in std_logic := '0'); končna komponenta;

9.4. Pristanišča

Naslednje tabele navajajo vhodna in izhodna vrata za jedro IP ALTMEMMULT.

Tabela 37. Vhodna vrata ALTMEMMULT

Ime vrat

Obvezno

Opis

ura

ja

Vnos ure v množitelj.

coeff_in[]

št

Vhodna vrata koeficienta za množitelj. Velikost vhodnih vrat je odvisna od vrednosti parametra WIDTH_C.

podatki_in[]

ja

Vrata za vnos podatkov v množilnik. Velikost vhodnih vrat je odvisna od vrednosti parametra WIDTH_D.

sclr

št

Sinhroni čisti vnos. Če ni uporabljen, je privzeta vrednost aktivna visoka.

sel[]

št

Izbira fiksnega koeficienta. Velikost vhodnih vrat je odvisna od WIDTH_S

vrednost parametra.

sload_coeff

št

Vhodna vrata za koeficient sinhrone obremenitve. Zamenja trenutno izbrano vrednost koeficienta z vrednostjo, navedeno v vnosu coeff_in.

sload_data

št

Vrata za vnos podatkov o sinhroni obremenitvi. Signal, ki določa novo operacijo množenja in prekliče katero koli obstoječo operacijo množenja. Če ima parameter MAX_CLOCK_CYCLES_PER_RESULT vrednost 1, so vhodna vrata sload_data prezrta.

Tabela 38. Izhodna vrata ALTMEMMULT

Ime vrat

Obvezno

Opis

rezultat[]

ja

Izhodna vrata množitelja. Velikost vhodnih vrat je odvisna od vrednosti parametra WIDTH_R.

rezultat_veljaven

ja

Označuje, kdaj je izhod veljaven rezultat popolnega množenja. Če ima parameter MAX_CLOCK_CYCLES_PER_RESULT vrednost 1, se izhodna vrata result_valid ne uporabljajo.

load_done

št

Označuje, kdaj se je nov koeficient naložil. Signal load_done potrdi, ko je nov koeficient končal nalaganje. Razen če je signal load_done visok, nobene druge vrednosti koeficienta ni mogoče naložiti v pomnilnik.

9.5. Parametri

Naslednja tabela navaja parametre za jedro IP ALTMEMMULT.

Tabela 39.
WIDTH_D WIDTH_C

Parametri ALTMEMMULT
Ime parametra

Vrsta je zahtevana

Opis

Celo število Da

Podaja širino vrat data_in[].

Celo število Da

Podaja širino vrat coeff_in[]. nadaljevano…

Pošlji povratne informacije

Intel FPGA Integer Aritmetic IP Cores Uporabniški priročnik 59

9. ALTMEMMULT (pomnilniški množitelj s konstantnim koeficientom) IP Core 683490 | 2020.10.05

Ime parametra WIDTH_R WIDTH

Dokumenti / Viri

intel FPGA Integer Aritmetic IP Cores [pdf] Uporabniški priročnik
FPGA Integer aritmetična IP jedra, Integer aritmetična IP jedra, aritmetična IP jedra, IP jedra

Reference

Pustite komentar

Vaš elektronski naslov ne bo objavljen. Obvezna polja so označena *