FPGA Integer Arithmetic IP Cores
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores
Na-update para sa Intel® Quartus® Prime Design Suite: 20.3
Online na Bersyon Magpadala ng Feedback
UG-01063
ID: 683490 Bersyon: 2020.10.05
Mga nilalaman
Mga nilalaman
1. Intel FPGA Integer Arithmetic IP Cores………………………………………………………………………….. 5
2. LPM_COUNTER (Counter) IP Core…………………………………………………………………………….. 7 2.1. Mga Katangian………………………………………………………………………………………………7 2.2. Verilog HDL Prototype…………………………………………………………………………………….. 8 2.3. Deklarasyon ng Bahagi ng VHDL…………………………………………………………………….8 2.4. VHDL LIBRARY_USE Deklarasyon………………………………………………………………………… 9 2.5. Mga Port…………………………………………………………………………………………………………..9 2.6. Mga Parameter……………………………………………………………………………………………… 10
3. LPM_DIVIDE (Divider) Intel FPGA IP Core……………………………………………………………….. 12 3.1. Mga Tampok……………………………………………………………………………………. 12 3.2. Verilog HDL Prototype…………………………………………………………………………………… 12 3.3. VHDL Component Declaration………………………………………………………………………….. 13 3.4. VHDL LIBRARY_USE Deklarasyon…………………………………………………………………………. 13 3.5. Mga Port………………………………………………………………………………………………………… 13 3.6. Mga Parameter……………………………………………………………………………………………… 14
4. LPM_MULT (Multiplier) IP Core…………………………………………………………………………. 16 4.1. Mga Tampok……………………………………………………………………………………. 16 4.2. Verilog HDL Prototype………………………………………………………………………… 17 4.3. VHDL Component Declaration………………………………………………………………………….. 17 4.4. VHDL LIBRARY_USE Deklarasyon…………………………………………………………………………. 17 4.5. Mga Senyales……………………………………………………………………………………………… 18 4.6. Mga Parameter para sa Stratix V, Arria V, Cyclone V, at Intel Cyclone 10 LP Device…………… 18 4.6.1. Pangkalahatang Tab…………………………………………………………………………………………18 4.6.2. Pangkalahatan 2 Tab……………………………………………………………………………… 19 4.6.3. Tab ng Pipelining……………………………………………………………………………… 19 4.7. Mga Parameter para sa Intel Stratix 10, Intel Arria 10, at Intel Cyclone 10 GX Devices……….. 20 4.7.1. Pangkalahatang Tab……………………………………………………………………………………20 4.7.2. Pangkalahatan 2 Tab……………………………………………………………………………… 20 4.7.3. Pipelining……………………………………………………………………………………21
5. LPM_ADD_SUB (Adder/Subtractor)………………………………………………………………………… 22 5.1. Mga Tampok……………………………………………………………………………………. 22 5.2. Verilog HDL Prototype…………………………………………………………………………………… 23 5.3. VHDL Component Declaration………………………………………………………………………….. 23 5.4. VHDL LIBRARY_USE Deklarasyon…………………………………………………………………………. 23 5.5. Mga Port……………………………………………………………………………………………… 23 5.6. Mga Parameter……………………………………………………………………………………………… 24
6. LPM_COMPARE (Comparator)…………………………………………………………………………………… 26 6.1. Mga Tampok……………………………………………………………………………………. 26 6.2. Verilog HDL Prototype………………………………………………………………………… 27 6.3. VHDL Component Declaration………………………………………………………………………….. 27 6.4. VHDL LIBRARY_USE Deklarasyon…………………………………………………………………………. 27 6.5. Mga Port……………………………………………………………………………………………… 27 6.6. Mga Parameter……………………………………………………………………………………………… 28
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 2
Magpadala ng Feedback
Mga nilalaman
7. ALTECC (Error Correction Code: Encoder/Decoder) IP Core………………………………………… 30
7.1. Mga Tampok ng ALTECC Encoder…………………………………………………………………………..31 7.2. Verilog HDL Prototype (ALTECC_ENCODER)……………………………………………………. 32 7.3. Verilog HDL Prototype (ALTECC_DECODER)……………………………………………………. 32 7.4. VHDL Component Declaration (ALTECC_ENCODER)……………………………………………………33 7.5. VHDL Component Declaration (ALTECC_DECODER)……………………………………………………33 7.6. VHDL LIBRARY_USE Deklarasyon…………………………………………………………………………. 33 7.7. Mga Encoder Port……………………………………………………………………………………………… 33 7.8. Mga Decoder Port………………………………………………………………………………………………34 7.9. Mga Parameter ng Encoder…………………………………………………………………………………… 34 7.10. Mga Parameter ng Decoder …………………………………………………………………………… 35
8. Intel FPGA Multiply Adder IP Core…………………………………………………………………………. 36
8.1. Mga Tampok……………………………………………………………………………………. 37 8.1.1. Pre-adder……………………………………………………………………………….. 38 8.1.2. Systolic Delay Register………………………………………………………………….. 40 8.1.3. Pre-load Constant………………………………………………………………………… 43 8.1.4. Double Accumulator………………………………………………………………………… 43
8.2. Verilog HDL Prototype…………………………………………………………………………………… 44 8.3. VHDL Component Declaration………………………………………………………………………….. 44 8.4. VHDL LIBRARY_USE Deklarasyon…………………………………………………………………………. 44 8.5. Mga Senyales……………………………………………………………………………………………… 44 8.6. Mga Parameter……………………………………………………………………………………………… 47
8.6.1. Pangkalahatang Tab……………………………………………………………………………………47 8.6.2. Tab ng Mga Dagdag na Mode………………………………………………………………………….. 47 8.6.3. Tab ng Mga Multiplier………………………………………………………………………….. 49 8.6.4. Preadder Tab……………………………………………………………………………………. 51 8.6.5. Tab ng Accumulator………………………………………………………………………….. 53 8.6.6. Systolic/Chainout Tab……………………………………………………………………. 55 8.6.7. Tab ng Pipelining……………………………………………………………………………… 56
9. ALTMEMMULT (Memory-based Constant Coefficient Multiplier) IP Core…………………… 57
9.1. Mga Tampok……………………………………………………………………………………. 57 9.2. Verilog HDL Prototype………………………………………………………………………… 58 9.3. VHDL Component Declaration………………………………………………………………………….. 58 9.4. Mga Port……………………………………………………………………………………………… 59 9.5. Mga Parameter……………………………………………………………………………………………… 59
10. ALTMULT_ACCUM (Multiply-Accumulate) IP Core…………………………………………………… 61
10.1. Mga Katangian……………………………………………………………………………………………….. 62 10.2. Verilog HDL Prototype…………………………………………………………………………..62 10.3. Pahayag ng Bahagi ng VHDL………………………………………………………………………… 63 10.4. VHDL LIBRARY_USE Deklarasyon………………………………………………………………63 10.5. Mga Port…………………………………………………………………………………………………. 63 10.6. Mga Parameter……………………………………………………………………………………. 64
11. ALTMULT_ADD (Multiply-Adder) IP Core………………………………………………………………..69
11.1. Mga Tampok……………………………………………………………………………………………….. 71 11.2. Verilog HDL Prototype…………………………………………………………………………..72 11.3. VHDL Component Declaration………………………………………………………………………… 72 11.4. VHDL LIBRARY_USE Deklarasyon…………………………………………………………………………72
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 3
Mga nilalaman
11.5. Mga Port…………………………………………………………………………………………………. 72 11.6. Mga Parameter……………………………………………………………………………………. 73
12. ALTMULT_COMPLEX (Complex Multiplier) IP Core…………………………………………………… 86 12.1. Kumplikadong Multiplikasyon…………………………………………………………………………. 86 12.2. Canonical Representation………………………………………………………………………… 87 12.3. Kumbensyonal na Kinatawan…………………………………………………………………………. 87 12.4. Mga Tampok……………………………………………………………………………………………….. 88 12.5. Verilog HDL Prototype…………………………………………………………………………..88 12.6. VHDL Component Declaration………………………………………………………………………… 89 12.7. VHDL LIBRARY_USE Deklarasyon…………………………………………………………………………89 12.8. Mga Senyales………………………………………………………………………………………………. 89 12.9. Mga Parameter……………………………………………………………………………………. 90
13. ALTSQRT (Integer Square Root) IP Core…………………………………………………………………… 92 13.1. Mga Katangian……………………………………………………………………………………………….. 92 13.2. Verilog HDL Prototype…………………………………………………………………………..92 13.3. VHDL Component Declaration………………………………………………………………………… 93 13.4. VHDL LIBRARY_USE Deklarasyon……………………………………………………………… 93 13.5. Mga Port…………………………………………………………………………………………………. 93 13.6. Mga Parameter……………………………………………………………………………………. 94
14. PARALLEL_ADD (Parallel Adder) IP Core……………………………………………………………….. 95 14.1. Tampok…………………………………………………………………………………….95 14.2. Verilog HDL Prototype……………………………………………………………………………………..95 14.3. VHDL Component Declaration………………………………………………………………………… 96 14.4. VHDL LIBRARY_USE Deklarasyon……………………………………………………………… 96 14.5. Mga Port…………………………………………………………………………………………………. 96 14.6. Mga Parameter……………………………………………………………………………………. 97
15. Integer Arithmetic IP Cores User Guide Document Archives………………………………………… 98
16. Kasaysayan ng Pagbabago ng Dokumento para sa Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores…. 99
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 4
Magpadala ng Feedback
683490 | 2020.10.05 Magpadala ng Feedback
1. Intel FPGA Integer Arithmetic IP Cores
Maaari mong gamitin ang Intel® FPGA integer IP core para magsagawa ng mga pagpapatakbong matematikal sa iyong disenyo.
Nag-aalok ang mga function na ito ng mas mahusay na logic synthesis at pagpapatupad ng device kaysa sa pag-coding ng sarili mong mga function. Maaari mong i-customize ang mga IP core upang matugunan ang iyong mga kinakailangan sa disenyo.
Ang mga Intel integer arithmetic IP core ay nahahati sa sumusunod na dalawang kategorya: · Library of parameterized modules (LPM) IP cores · Intel-specific (ALT) IP cores
Inililista ng sumusunod na talahanayan ang mga integer arithmetic IP core.
Talahanayan 1.
Listahan ng mga IP Core
Mga IP Core
Mga core ng IP ng LPM
LPM_COUNTER
LPM_DIVIDE
LPM_MULT
LPM_ADD_SUB
LPM_COMPARE
Intel-specific (ALT) IP core ALTECC
Pag-andar Taposview Counter Divider Multiplier
Adder o subtractor Comparator
ECC Encoder/Decoder
Sinusuportahang Device
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,
Bagyo 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,
Bagyo 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,
Bagyo V,Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V ay nagpatuloy...
Intel Corporation. Lahat ng karapatan ay nakalaan. Ang Intel, ang logo ng Intel, at iba pang mga marka ng Intel ay mga trademark ng Intel Corporation o mga subsidiary nito. Ginagarantiyahan ng Intel ang pagganap ng mga produktong FPGA at semiconductor nito sa kasalukuyang mga detalye alinsunod sa karaniwang warranty ng Intel, ngunit inilalaan ang karapatang gumawa ng mga pagbabago sa anumang produkto at serbisyo anumang oras nang walang abiso. Walang pananagutan o pananagutan ang Intel na nagmumula sa aplikasyon o paggamit ng anumang impormasyon, produkto, o serbisyong inilarawan dito maliban kung hayagang sinang-ayunan ng Intel. Pinapayuhan ang mga customer ng Intel na kunin ang pinakabagong bersyon ng mga detalye ng device bago umasa sa anumang nai-publish na impormasyon at bago maglagay ng mga order para sa mga produkto o serbisyo. *Ang ibang mga pangalan at tatak ay maaaring i-claim bilang pag-aari ng iba.
ISO 9001:2015 Nakarehistro
1. Intel FPGA Integer Arithmetic IP Cores 683490 | 2020.10.05
Mga IP Core Intel FPGA Multiply Adder o ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
ALTSQRT
PARALLEL_ADD
Pag-andar Taposview Multiplier-Adder
Nakabatay sa memorya ang Constant Coefficient Multiplier
Multiplier-Accumulator Multiplier-Adder
Complex Multiplier
Integer Square-Root
Parallel Adder
Sinusuportahang Device
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
Bagyo 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
Bagyo 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,
Bagyo 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,
Bagyo V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V
Kaugnay na Impormasyon
· Mga Tala sa Paglabas ng Mga Intel FPGA at Programmable Device
· Panimula sa Intel FPGA IP Cores Nagbibigay ng higit pang impormasyon tungkol sa Intel FPGA IP Cores.
· Floating-Point IP Cores User Guide Nagbibigay ng higit pang impormasyon tungkol sa Intel FPGA Floating-Point IP cores.
· Panimula sa Intel FPGA IP Cores Nagbibigay ng pangkalahatang impormasyon tungkol sa lahat ng Intel FPGA IP cores, kabilang ang parameterizing, generating, upgrade, at simulating IP cores.
· Paglikha ng Version-Independent IP at Qsys Simulation Scripts Lumikha ng mga simulation script na hindi nangangailangan ng mga manu-manong update para sa software o mga pag-upgrade ng bersyon ng IP.
· Mga Alituntunin sa Pinakamahuhusay na Kasanayan sa Pamamahala ng Proyekto para sa mahusay na pamamahala at portability ng iyong proyekto at IP files.
· Integer Arithmetic IP Cores User Guide Document Archives sa pahina 98 Nagbibigay ng listahan ng mga user guide para sa mga nakaraang bersyon ng Integer Arithmetic IP cores.
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 6
Magpadala ng Feedback
683490 | 2020.10.05 Magpadala ng Feedback
2. LPM_COUNTER (Counter) IP Core
Larawan 1.
Ang LPM_COUNTER IP core ay isang binary counter na lumilikha ng mga up counter, down counter at up o down counter na may mga output na hanggang 256 bits ang lapad.
Ipinapakita ng sumusunod na figure ang mga port para sa LPM_COUNTER IP core.
LPM_COUNTER Mga Port
LPM_COUNTER
ssclr sload sset data[]
q[]
taas baba
cout
aclr aload aset
clk_en cnt_en cin
inst
2.1. Mga tampok
Ang LPM_COUNTER IP core ay nag-aalok ng mga sumusunod na tampok: · Bumubuo ng pataas, pababa, at pataas/pababang mga counter · Binubuo ang mga sumusunod na uri ng counter:
— Plain binary– ang counter increments simula sa zero o decrements simula sa 255
— Modulus–ang counter increments sa o pagbaba mula sa modulus value na tinukoy ng user at umuulit
· Sinusuportahan ang opsyonal na synchronous clear, load, at set input ports · Sinusuportahan ang opsyonal na asynchronous clear, load, at set input ports · Sinusuportahan ang opsyonal na count enable at clock enable ang mga input port · Sinusuportahan ang opsyonal na carry-in at carry-out na port
Intel Corporation. Lahat ng karapatan ay nakalaan. Ang Intel, ang logo ng Intel, at iba pang mga marka ng Intel ay mga trademark ng Intel Corporation o mga subsidiary nito. Ginagarantiyahan ng Intel ang pagganap ng mga produktong FPGA at semiconductor nito sa kasalukuyang mga detalye alinsunod sa karaniwang warranty ng Intel, ngunit inilalaan ang karapatang gumawa ng mga pagbabago sa anumang produkto at serbisyo anumang oras nang walang abiso. Walang pananagutan o pananagutan ang Intel na nagmumula sa aplikasyon o paggamit ng anumang impormasyon, produkto, o serbisyong inilarawan dito maliban kung hayagang sinang-ayunan ng Intel. Pinapayuhan ang mga customer ng Intel na kunin ang pinakabagong bersyon ng mga detalye ng device bago umasa sa anumang nai-publish na impormasyon at bago maglagay ng mga order para sa mga produkto o serbisyo. *Ang ibang mga pangalan at tatak ay maaaring i-claim bilang pag-aari ng iba.
ISO 9001:2015 Nakarehistro
2. LPM_COUNTER (Counter) IP Core
683490 | 2020.10.05
2.2. Verilog HDL Prototype
Ang sumusunod na Verilog HDL prototype ay matatagpuan sa Verilog Design File (.v) lpm.v sa direktoryo ng edasynthesis.
module lpm_counter ( q, data, orasan, 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 = “HINDI GINAMIT”; parameter lpm_value = “HINDI GINAMIT”; parameter lpm_svalue = “HINDI GINAMIT”; parameter lpm_pvalue = “HINDI GINAMIT”; parameter lpm_port_updown = “PORT_CONNECTIVITY”; parameter lpm_hint = “HINDI GINAMIT”; output [lpm_width-1:0] q; output cout; output [15:0] eq; input cin; ipasok ang [lpm_width-1:0] data; input na orasan, clk_en, cnt_en, pataas; input aset, aclr, aload; input sset, sclr, sload; endmodule
2.3. Deklarasyon ng Bahagi ng VHDL
Ang deklarasyon ng bahagi ng VHDL ay matatagpuan sa VHDL Design File (.vhd) LPM_PACK.vhd sa direktoryo ng libraryvhdllpm.
component LPM_COUNTER generic ( LPM_WIDTH : natural; LPM_MODULUS : natural := 0; LPM_DIRECTION : string := “UNUSED”; LPM_AVALUE : string := “UNUSED”; LPM_SVALUE : string := “UNUSED”; LPM_PORT_UPDOWN : string := “PORT_CONNED ; LPM_PVALUE : string := “UNUSED”; LPM_TYPE : string := L_COUNTER; LPM_HINT : string := “UNUSED”); port (DATA : sa std_logic_vector(LPM_WIDTH-1 pababa sa 0):= (OTHERS =>
'0'); CLOCK : sa std_logic ; CLK_EN : sa std_logic := '1'; CNT_EN : sa std_logic := '1'; UPDOWN : sa std_logic := '1'; SLOAD : sa std_logic := '0'; SSET : sa std_logic := '0'; SCLR : sa std_logic := '0'; ALOAD : sa std_logic := '0'; ASET : sa std_logic := '0'; ACLR : sa std_logic := '0'; CIN : sa std_logic := '1'; COUT : out std_logic := '0'; Q : out std_logic_vector(LPM_WIDTH-1 pababa sa 0); EQ : out std_logic_vector(15 pababa sa 0));
bahagi ng pagtatapos;
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 8
Magpadala ng Feedback
2. LPM_COUNTER (Counter) IP Core 683490 | 2020.10.05
2.4. VHDL LIBRARY_USE Deklarasyon
Ang deklarasyon ng VHDL LIBRARY-USE ay hindi kinakailangan kung gagamitin mo ang VHDL Component Declaration.
LIBRARY lpm; GAMITIN ang lpm.lpm_components.all;
2.5. Mga daungan
Inililista ng mga sumusunod na talahanayan ang mga input at output port para sa LPM_COUNTER IP core.
Talahanayan 2.
LPM_COUNTER Mga Input Port
Pangalan ng Port
Kinakailangan
Paglalarawan
data[]
Hindi
Parallel data input sa counter. Ang laki ng input port ay depende sa LPM_WIDTH parameter value.
orasan
Oo
Positive-edge-triggered na input ng orasan.
clk_en
Hindi
Paganahin ng orasan ang input upang paganahin ang lahat ng magkakasabay na aktibidad. Kung tinanggal, ang default na halaga ay 1.
cnt_en
Hindi
Count enable input upang hindi paganahin ang bilang kapag iginiit na mababa nang hindi naaapektuhan ang sload, sset, o sclr. Kung tinanggal, ang default na halaga ay 1.
taas baba
Hindi
Kinokontrol ang direksyon ng pagbibilang. Kapag iginiit na mataas (1), ang direksyon ng pagbibilang ay pataas, at kapag iginiit na mababa (0), ang direksyon ng pagbibilang ay pababa. Kung ang LPM_DIRECTION parameter ay ginamit, ang updown port ay hindi maaaring konektado. Kung hindi ginagamit ang LPM_DIRECTION, opsyonal ang updown port. Kung aalisin, ang default na halaga ay pataas (1).
cin
Hindi
Carry-in sa low-order bit. Para sa mga up counter, ang pag-uugali ng cin input ay
magkapareho sa pag-uugali ng cnt_en input. Kung tinanggal, ang default na halaga ay 1
(VCC).
aclr
Hindi
Asynchronous na malinaw na input. Kung parehong aset at aclr ay ginagamit at iginiit, aclr override aset. Kung tinanggal, ang default na halaga ay 0 (naka-disable).
aset
Hindi
Asynchronous set input. Tinutukoy ang mga q[] na output bilang lahat ng 1, o sa halagang tinukoy ng parameter na LPM_AVALUE. Kung ang parehong aset at aclr port ay ginagamit at iginiit, ang halaga ng aclr port ay na-override ang halaga ng aset port. Kung tinanggal, ang default na halaga ay 0, hindi pinagana.
karga
Hindi
Asynchronous load input na asynchronous na naglo-load sa counter na may halaga sa input ng data. Kapag ginamit ang aload port, dapat na konektado ang data[] port. Kung tinanggal, ang default na halaga ay 0, hindi pinagana.
sclr
Hindi
Synchronous clear input na nag-clear sa counter sa susunod na aktibong gilid ng orasan. Kung ang parehong sset at sclr port ay ginagamit at iginiit, ang halaga ng sclr port ay na-override ang halaga ng sset port. Kung tinanggal, ang default na halaga ay 0, hindi pinagana.
sset
Hindi
Synchronous set input na nagtatakda ng counter sa susunod na aktibong gilid ng orasan. Tinutukoy ang halaga ng mga q output bilang lahat ng 1, o sa halagang tinukoy ng parameter na LPM_SVALUE. Kung ang parehong sset at sclr port ay ginagamit at iginiit,
in-override ng value ng sclr port ang value ng sset port. Kung tinanggal, ang default na halaga ay 0 (naka-disable).
sload
Hindi
Kasabay na pag-load ng input na naglo-load sa counter ng data[] sa susunod na aktibong gilid ng orasan. Kapag ginamit ang sload port, dapat na konektado ang data[] port. Kung tinanggal, ang default na halaga ay 0 (naka-disable).
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 9
2. LPM_COUNTER (Counter) IP Core 683490 | 2020.10.05
Talahanayan 3.
LPM_COUNTER Mga Output Port
Pangalan ng Port
Kinakailangan
Paglalarawan
q[]
Hindi
Output ng data mula sa counter. Ang laki ng output port ay depende sa
LPM_WIDTH parameter value. Alinman sa q[] o hindi bababa sa isa sa mga eq[15..0] port
dapat na konektado.
eq[15..0]
Hindi
Output ng counter decode. Ang eq[15..0] port ay hindi naa-access sa parameter editor dahil sinusuportahan lang ng parameter ang AHDL.
Dapat na konektado ang alinman sa q[] port o eq[] port. Hanggang sa c eq port ang maaaring gamitin (0 <= c <= 15). Tanging ang 16 na pinakamababang halaga ng bilang ang nade-decode. Kapag ang halaga ng bilang ay c, ang eqc na output ay iginiit na mataas (1). Para kay example, kapag ang bilang ay 0, eq0 = 1, kapag ang bilang ay 1, eq1 = 1, at kapag ang bilang ay 15, eq 15 = 1. Ang na-decode na output para sa mga halaga ng bilang na 16 o higit pa ay nangangailangan ng panlabas na pag-decode. Ang eq[15..0] na mga output ay asynchronous sa q[] na output.
cout
Hindi
Carry-out port ng MSB bit ng counter. Maaari itong gamitin upang kumonekta sa isa pang counter upang lumikha ng mas malaking counter.
2.6. Parameter
Inililista ng sumusunod na talahanayan ang mga parameter para sa LPM_COUNTER IP core.
Talahanayan 4.
LPM_COUNTER Mga Parameter
Pangalan ng Parameter
Uri
LPM_WIDTH
Integer
LPM_DIRECTION
String
LPM_MODULUS LPM_AVALUE
Integer
Integer/ String
LPM_SVALUE LPM_HINT
Integer/ String
String
LPM_TYPE
String
Kinakailangan Oo Hindi Hindi Hindi
Hindi Hindi
Hindi
Paglalarawan
Tinutukoy ang mga lapad ng mga port ng data[] at q[], kung ginagamit ang mga ito.
Ang mga halaga ay UP, DOWN, at HINDI GINAMIT. Kung ang LPM_DIRECTION parameter ay ginamit, ang updown port ay hindi maaaring konektado. Kapag ang updown port ay hindi nakakonekta, ang LPM_DIRECTION parameter default value ay UP.
Ang maximum na bilang, kasama ang isa. Bilang ng mga natatanging estado sa cycle ng counter. Kung ang halaga ng pag-load ay mas malaki kaysa sa parameter ng LPM_MODULUS, ang pag-uugali ng counter ay hindi tinukoy.
Constant value na na-load kapag ang aset ay iginiit na mataas. Kung ang tinukoy na halaga ay mas malaki kaysa o katumbas ng , ang pag-uugali ng counter ay isang undefined (X) logic level, kung saan ay LPM_MODULUS, kung mayroon, o 2 ^ LPM_WIDTH. Inirerekomenda ng Intel na tukuyin mo ang halagang ito bilang isang decimal na numero para sa mga disenyo ng AHDL.
Ang patuloy na halaga na na-load sa tumataas na gilid ng port ng orasan kapag ang sset port ay iginiit na mataas. Inirerekomenda ng Intel na tukuyin mo ang halagang ito bilang isang decimal na numero para sa mga disenyo ng AHDL.
Kapag nag-instantiate ka ng isang library ng mga parameterized modules (LPM) na function sa isang VHDL Design File (.vhd), dapat mong gamitin ang parameter na LPM_HINT para tumukoy ng parameter na partikular sa Intel. Para kay example: LPM_HINT = “CHAIN_SIZE = 8, ONE_INPUT_IS_CONSTANT = OO”
Ang default na halaga ay UNUSED.
Kinikilala ang library ng mga parameterized modules (LPM) na pangalan ng entity sa VHDL na disenyo files.
nagpatuloy...
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 10
Magpadala ng Feedback
2. LPM_COUNTER (Counter) IP Core 683490 | 2020.10.05
Pangalan ng Parameter INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LAWIDE_SCLR
LPM_PORT_UPDOWN
I-type ang String String
String
String
Kinakailangan Hindi No
Hindi
Hindi
Paglalarawan
Ginagamit ang parameter na ito para sa mga layunin ng pagmomodelo at pag-uugali ng simulation. Ginagamit ang parameter na ito para sa mga layunin ng pagmomodelo at pag-uugali ng simulation. Kinakalkula ng editor ng parameter ang halaga para sa parameter na ito.
Parameter na partikular sa Intel. Dapat mong gamitin ang LPM_HINT parameter para tukuyin ang CARRY_CNT_EN parameter sa VHDL na disenyo files. Ang mga value ay SMART, ON, OFF, at UNUSED. Pinapagana ang function na LPM_COUNTER na ipalaganap ang cnt_en signal sa pamamagitan ng carry chain. Sa ilang mga kaso, ang setting ng parameter na CARRY_CNT_EN ay maaaring magkaroon ng kaunting epekto sa bilis, kaya maaaring gusto mong i-off ito. Ang default na halaga ay SMART, na nagbibigay ng pinakamahusay na trade-off sa pagitan ng laki at bilis.
Parameter na partikular sa Intel. Dapat mong gamitin ang parameter na LPM_HINT upang tukuyin ang parameter na LAWWIDE_SCLR sa disenyo ng VHDL files. NAKA-ON, NAKA-OFF, o HINDI GINAMIT ang mga value. Ang default na halaga ay NAKA-ON. Nagbibigay-daan sa iyong i-disable ang paggamit ng LABwide sclr feature na makikita sa mga hindi na ginagamit na pamilya ng device. Ang pag-off sa opsyong ito ay nagpapataas ng mga pagkakataong ganap na magamit ang mga bahagyang napunong LAB, at sa gayon ay maaaring magbigay-daan sa mas mataas na logic density kapag hindi nalalapat ang SCLR sa isang kumpletong LAB. Available ang parameter na ito para sa backward compatibility, at inirerekomenda ng Intel na huwag gamitin ang parameter na ito.
Tinutukoy ang paggamit ng updown input port. Kung tinanggal ang default na halaga ay PORT_CONNECTIVITY. Kapag ang port value ay nakatakda sa PORT_USED, ang port ay ituturing bilang ginamit. Kapag ang port value ay nakatakda sa PORT_UNUSED, ang port ay ituturing na hindi nagamit. Kapag ang port value ay nakatakda sa PORT_CONNECTIVITY, ang paggamit ng port ay tinutukoy sa pamamagitan ng pagsuri sa port connectivity.
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 11
683490 | 2020.10.05 Magpadala ng Feedback
3. LPM_DIVIDE (Divider) Intel FPGA IP Core
Larawan 2.
Ang LPM_DIVIDE Intel FPGA IP core ay nagpapatupad ng isang divider upang hatiin ang isang numerator input value sa isang denominator input value upang makabuo ng isang quotient at isang natitira.
Ipinapakita ng sumusunod na figure ang mga port para sa LPM_DIVIDE IP core.
LPM_DIVIDE Mga Port
LPM_DIVIDE
numer[] denom[] orasan
quotient [] nananatili[]
clken aclr
inst
3.1. Mga tampok
Ang LPM_DIVIDE IP core ay nag-aalok ng mga sumusunod na feature: · Bumubuo ng divider na naghahati ng numerator input value sa isang denominator input
halaga upang makabuo ng isang quotient at isang natitira. · Sinusuportahan ang lapad ng data na 1 bits. · Sinusuportahan ang nilagdaan at hindi nilagdaan na format ng representasyon ng data para sa parehong numerator
at mga halaga ng denominador. · Sinusuportahan ang lugar o bilis ng pag-optimize. · Nagbibigay ng opsyon upang tukuyin ang isang positibong natitirang output. · Sinusuportahan ang pipelining configurable output latency. · Sinusuportahan ang opsyonal na asynchronous na malinaw at paganahin ng orasan ang mga port.
3.2. Verilog HDL Prototype
Ang sumusunod na Verilog HDL prototype ay matatagpuan sa Verilog Design File (.v) lpm.v sa direktoryo ng edasynthesis.
module lpm_divide ( quotient, remain, numer, denom, clock, 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. Lahat ng karapatan ay nakalaan. Ang Intel, ang logo ng Intel, at iba pang mga marka ng Intel ay mga trademark ng Intel Corporation o mga subsidiary nito. Ginagarantiyahan ng Intel ang pagganap ng mga produktong FPGA at semiconductor nito sa kasalukuyang mga detalye alinsunod sa karaniwang warranty ng Intel, ngunit inilalaan ang karapatang gumawa ng mga pagbabago sa anumang produkto at serbisyo anumang oras nang walang abiso. Walang pananagutan o pananagutan ang Intel na nagmumula sa aplikasyon o paggamit ng anumang impormasyon, produkto, o serbisyong inilarawan dito maliban kung hayagang sinang-ayunan ng Intel. Pinapayuhan ang mga customer ng Intel na kunin ang pinakabagong bersyon ng mga detalye ng device bago umasa sa anumang nai-publish na impormasyon at bago maglagay ng mga order para sa mga produkto o serbisyo. *Ang ibang mga pangalan at tatak ay maaaring i-claim bilang pag-aari ng iba.
ISO 9001:2015 Nakarehistro
3. LPM_DIVIDE (Divider) Intel FPGA IP Core 683490 | 2020.10.05
parameter lpm_hint = “HINDI GINAMIT”; input na orasan; input clken; input aclr; input [lpm_widthn-1:0] na numero; input [lpm_widthd-1:0] denom; output [lpm_widthn-1:0] quotient; nananatili ang output [lpm_widthd-1:0]; endmodule
3.3. Deklarasyon ng Bahagi ng VHDL
Ang deklarasyon ng bahagi ng VHDL ay matatagpuan sa VHDL Design File (.vhd) LPM_PACK.vhd sa direktoryo ng libraryvhdllpm.
component LPM_DIVIDE generic (LPM_WIDTHN : natural; LPM_WIDTHD : natural;
LPM_NREPRESENTATION : string := “UNSIGNED”; LPM_DREPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : natural := 0; LPM_TYPE : string := L_DIVIDE; LPM_HINT : string := “UNUSED”); port (NUMER : sa std_logic_vector(LPM_WIDTHN-1 pababa sa 0); DENOM : sa std_logic_vector(LPM_WIDTHD-1 pababa sa 0); ACLR : sa std_logic := '0'; CLOCK : sa std_logic := '0'; CLKEN : sa std_logic := '1'; QUOTIENT : out std_logic_vector(LPM_WIDTHN-1 down to 0); REMAIN : out std_logic_vector(LPM_WIDTHD-1 downto 0)); bahagi ng pagtatapos;
3.4. VHDL LIBRARY_USE Deklarasyon
Ang deklarasyon ng VHDL LIBRARY-USE ay hindi kinakailangan kung gagamitin mo ang VHDL Component Declaration.
LIBRARY lpm; GAMITIN ang lpm.lpm_components.all;
3.5. Mga daungan
Inililista ng mga sumusunod na talahanayan ang mga input at output port para sa LPM_DIVIDE IP core.
Talahanayan 5.
LPM_DIVIDE Mga Input Port
Pangalan ng Port
Kinakailangan
numero []
Oo
denom[]
Oo
Paglalarawan
Pag-input ng data ng numerator. Ang laki ng input port ay depende sa LPM_WIDTHN parameter value.
Input ng data ng denominator. Ang laki ng input port ay depende sa LPM_WIDTHD parameter value.
nagpatuloy...
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 13
3. LPM_DIVIDE (Divider) Intel FPGA IP Core 683490 | 2020.10.05
Port Name clock clken
aclr
Kinakailangan Hindi No
Hindi
Paglalarawan
Input ng orasan para sa pipelined na paggamit. Para sa mga halaga ng LPM_PIPELINE maliban sa 0 (default), dapat na pinagana ang port ng orasan.
Pinapagana ng orasan ang paggamit ng pipelined. Kapag ang clken port ay iginiit na mataas, ang operasyon ng paghahati ay nagaganap. Kapag mababa ang signal, walang operasyon na nagaganap. Kung tinanggal, ang default na halaga ay 1.
Asynchronous clear port na ginagamit anumang oras upang i-reset ang pipeline sa lahat ng '0's nang asynchronous sa input ng orasan.
Talahanayan 6.
LPM_DIVIDE Mga Output Port
Pangalan ng Port
Kinakailangan
Paglalarawan
quotient []
Oo
Output ng data. Ang laki ng output port ay depende sa LPM_WIDTHN
halaga ng parameter.
manatili[]
Oo
Output ng data. Ang laki ng output port ay depende sa LPM_WIDTHD
halaga ng parameter.
3.6. Parameter
Inililista ng sumusunod na talahanayan ang mga parameter para sa LPM_DIVIDE Intel FPGA IP core.
Pangalan ng Parameter
Uri
Kinakailangan
Paglalarawan
LPM_WIDTHN
Integer
Oo
Tinutukoy ang mga lapad ng numerong [] at
quotient [] mga port. Ang mga halaga ay 1 hanggang 64.
LPM_WIDTHD
Integer
Oo
Tinutukoy ang mga lapad ng denom[] at
mananatiling [] mga port. Ang mga halaga ay 1 hanggang 64.
LPM_NREPRESENTATION LPM_DREPRESENTATION
String String
Hindi
Lagdaan ang representasyon ng numerator input.
Ang mga halaga ay NILAGDAAN at HINDI NILAGDAAN. Kapag ganito
ang parameter ay nakatakda sa SIGNED, ang divider
binibigyang-kahulugan ang numerong[] input bilang nilagdaang dalawa
pandagdag.
Hindi
Lagdaan ang representasyon ng denominator input.
Ang mga halaga ay NILAGDAAN at HINDI NILAGDAAN. Kapag ganito
ang parameter ay nakatakda sa SIGNED, ang divider
binibigyang-kahulugan ang denom[] input bilang signed two's
pandagdag.
LPM_TYPE
String
Hindi
Kinikilala ang library ng parameterized
modules (LPM) na pangalan ng entity sa disenyo ng VHDL
files (.vhd).
LPM_HINT
String
Hindi
Kapag nag-instantiate ka ng library ng
parameterized modules (LPM) function sa isang
Disenyo ng VHDL File (.vhd), dapat mong gamitin ang
LPM_HINT parameter upang tukuyin ang isang Intel-
tiyak na parameter. Para kay example: LPM_HINT
= “CHAIN_SIZE = 8,
ONE_INPUT_IS_CONSTANT = OO” Ang
ang default na halaga ay UNUSED.
LPM_REMAINDERPOSITIVE
String
Hindi
Parameter na partikular sa Intel. Dapat mong gamitin ang
LPM_HINT parameter upang tukuyin ang
LPM_REMAINDERPOSITIVE na parameter sa
Disenyo ng VHDL files. Ang mga halaga ay TAMA o MALI.
Kung nakatakda ang parameter na ito sa TRUE, ang
dapat na mas malaki ang halaga ng remain[] port
nagpatuloy...
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 14
Magpadala ng Feedback
3. LPM_DIVIDE (Divider) Intel FPGA IP Core 683490 | 2020.10.05
Pangalan ng Parameter
Uri
MAXIMIZE_SPEED
Integer
LPM_PIPELINE
Integer
INTENDED_DEVICE_FAMILY SKIP_BITS
Streg Integer
Kinakailangan ang No
Hindi Hindi Hindi
Paglalarawan
kaysa o katumbas ng zero. Kung ang parameter na ito ay nakatakda sa TRUE, ang value ng remain[] port ay alinman sa zero, o ang value ay ang parehong sign, positibo man o negatibo, bilang ang value ng numer port. Upang bawasan ang lugar at pagbutihin ang bilis, inirerekomenda ng Intel na itakda ang parameter na ito sa TRUE sa mga operasyon kung saan ang natitira ay dapat na positibo o kung saan ang natitira ay hindi mahalaga.
Parameter na partikular sa Intel. Dapat mong gamitin ang LPM_HINT parameter para tukuyin ang MAXIMIZE_SPEED parameter sa VHDL na disenyo files. Ang mga halaga ay [0..9]. Kung ginamit, sinusubukan ng Intel Quartus Prime software na i-optimize ang isang partikular na instance ng LPM_DIVIDE function para sa bilis sa halip na rutability, at ino-override ang setting ng opsyon sa Optimization Technique logic. Kung ang MAXIMIZE_SPEED ay hindi nagamit, ang halaga ng opsyon sa Optimization Technique ang gagamitin sa halip. Kung ang halaga ng MAXIMIZE_SPEED ay 6 o mas mataas, ino-optimize ng Compiler ang LPM_DIVIDE IP core para sa mas mataas na bilis sa pamamagitan ng paggamit ng mga carry chain; kung ang halaga ay 5 o mas mababa, ang compiler ay nagpapatupad ng disenyo nang walang carry chain.
Tinutukoy ang bilang ng mga clock cycle ng latency na nauugnay sa quotient[] at nananatiling[] na mga output. Ang isang halaga ng zero (0) ay nagpapahiwatig na walang latency na umiiral, at na ang isang purong kumbinasyonal na function ay instantiated. Kung aalisin, ang default na halaga ay 0 (nonpipelined). Hindi ka maaaring tumukoy ng value para sa LPM_PIPELINE parameter na mas mataas sa LPM_WIDTHN.
Ginagamit ang parameter na ito para sa mga layunin ng pagmomodelo at pag-uugali ng simulation. Kinakalkula ng editor ng parameter ang halaga para sa parameter na ito.
Nagbibigay-daan para sa mas mahusay na fractional bit division na i-optimize ang logic sa mga nangungunang bits sa pamamagitan ng pagbibigay ng bilang ng nangungunang GND sa LPM_DIVIDE IP core. Tukuyin ang bilang ng nangungunang GND sa quotient na output sa parameter na ito.
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 15
683490 | 2020.10.05 Magpadala ng Feedback
4. LPM_MULT (Multiplier) IP Core
Larawan 3.
Ang LPM_MULT IP core ay nagpapatupad ng isang multiplier upang i-multiply ang dalawang halaga ng data ng input upang makagawa ng isang produkto bilang isang output.
Ipinapakita ng sumusunod na figure ang mga port para sa LPM_MULT IP core.
LPM_Maraming Port
LPM_MULT orasan dataa[] resulta[] datab[] aclr/sclr clken
inst
Mga Tampok na Kaugnay na Impormasyon sa pahina 71
4.1. Mga tampok
Ang LPM_MULT IP core ay nag-aalok ng mga sumusunod na feature: · Bumubuo ng multiplier na nagpaparami ng dalawang input data value · Sinusuportahan ang lapad ng data na 1 bits · Sinusuportahan ang signed at unsigned data representation format · Sinusuportahan ang area o speed optimization · Sinusuportahan ang pipelining na may configurable na output latency · Nagbibigay ng opsyon para sa pagpapatupad sa nakalaang digital signal processing (DSP)
block circuitry o logic elements (LEs) Tandaan: Kapag nagtatayo ng mga multiplier na mas malaki kaysa sa native na sinusuportahang laki, maaaring/
ay magiging epekto sa pagganap na nagreresulta mula sa pag-cascade ng mga bloke ng DSP. · Sinusuportahan ang opsyonal na asynchronous clear at ang clock enable ang input ports · Sinusuportahan ang opsyonal na synchronous clear para sa Intel Stratix 10, Intel Arria 10 at Intel Cyclone 10 GX device
Intel Corporation. Lahat ng karapatan ay nakalaan. Ang Intel, ang logo ng Intel, at iba pang mga marka ng Intel ay mga trademark ng Intel Corporation o mga subsidiary nito. Ginagarantiyahan ng Intel ang pagganap ng mga produktong FPGA at semiconductor nito sa kasalukuyang mga detalye alinsunod sa karaniwang warranty ng Intel, ngunit inilalaan ang karapatang gumawa ng mga pagbabago sa anumang produkto at serbisyo anumang oras nang walang abiso. Walang pananagutan o pananagutan ang Intel na nagmumula sa aplikasyon o paggamit ng anumang impormasyon, produkto, o serbisyong inilarawan dito maliban kung hayagang sinang-ayunan ng Intel. Pinapayuhan ang mga customer ng Intel na kunin ang pinakabagong bersyon ng mga detalye ng device bago umasa sa anumang nai-publish na impormasyon at bago maglagay ng mga order para sa mga produkto o serbisyo. *Ang ibang mga pangalan at tatak ay maaaring i-claim bilang pag-aari ng iba.
ISO 9001:2015 Nakarehistro
4. LPM_MULT (Multiplier) IP Core 683490 | 2020.10.05
4.2. Verilog HDL Prototype
Ang sumusunod na Verilog HDL prototype ay matatagpuan sa Verilog Design File (.v) lpm.v sa direktoryo ng edasynthesis.
module lpm_mult ( resulta, dataa, datab, sum, orasan, 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 = “HINDI GINAMIT”; input na orasan; input clken; input aclr; input [lpm_widtha-1:0] dataa; input [lpm_widthb-1:0] datab; input [lpm_widths-1:0] sum; output [lpm_widthp-1:0] resulta; endmodule
4.3. Deklarasyon ng Bahagi ng VHDL
Ang deklarasyon ng bahagi ng VHDL ay matatagpuan sa VHDL Design File (.vhd) LPM_PACK.vhd sa direktoryo ng libraryvhdllpm.
component LPM_MULT generic ( LPM_WIDTHA : natural; LPM_WIDTHB : natural; LPM_WIDTHS : natural := 1; LPM_WIDTHP : natural;
LPM_REPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : natural := 0; LPM_TYPE: string := L_MULT; LPM_HINT : string := “UNUSED”); port ( DATAA : sa std_logic_vector(LPM_WIDTHA-1 pababa sa 0); DATAB : sa std_logic_vector(LPM_WIDTHB-1 pababa sa 0); ACLR : sa std_logic := '0'; CLOCK : sa std_logic := '0'; CLKEN : sa std_logic := '1'; SUM : sa std_logic_vector(LPM_WIDTHS-1 pababa sa 0) := (OTHERS => '0');RESULTA: out std_logic_vector(LPM_WIDTHP-1 pababa sa 0)); bahagi ng pagtatapos;
4.4. VHDL LIBRARY_USE Deklarasyon
Ang deklarasyon ng VHDL LIBRARY-USE ay hindi kinakailangan kung gagamitin mo ang VHDL Component Declaration.
LIBRARY lpm; GAMITIN ang lpm.lpm_components.all;
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 17
4. LPM_MULT (Multiplier) IP Core 683490 | 2020.10.05
4.5. Mga senyales
Talahanayan 7.
LPM_MULT Mga Signal ng Input
Pangalan ng Signal
Kinakailangan
Paglalarawan
dataa[]
Oo
Pag lagay ng datos.
Para sa mga Intel Stratix 10, Intel Arria 10, at Intel Cyclone 10 GX device, ang laki ng input signal ay nakadepende sa value ng parameter ng lapad ng Dataa.
Para sa mas luma at Intel Cyclone 10 LP device, ang laki ng input signal ay nakadepende sa value ng parameter na LPM_WIDTHA.
datab[]
Oo
Pag lagay ng datos.
Para sa mga Intel Stratix 10, Intel Arria 10, at Intel Cyclone 10 GX device, ang laki ng input signal ay nakadepende sa value ng parameter ng lapad ng Datab.
Para sa mas luma at Intel Cyclone 10 LP device, depende ang laki ng input signal
sa LPM_WIDTHB parameter value.
orasan
Hindi
Input ng orasan para sa pipelined na paggamit.
Para sa mga mas luma at Intel Cyclone 10 LP na device, dapat na naka-enable ang signal ng orasan para sa mga value ng LPM_PIPELINE maliban sa 0 (default).
Para sa mga Intel Stratix 10, Intel Arria 10, at Intel Cyclone 10 GX device, dapat na i-enable ang signal ng orasan kung ang Latency value ay bukod sa 1 (default).
clken
Hindi
Paganahin ang orasan para sa pipeline na paggamit. Kapag ang clken signal ay iginiit na mataas, ang
nagaganap ang operasyon ng adder/subtractor. Kapag mahina ang signal, walang operasyon
nangyayari. Kung tinanggal, ang default na halaga ay 1.
aclr sclr
Hindi
Asynchronous na malinaw na signal na ginagamit anumang oras para i-reset ang pipeline sa lahat ng 0s,
asynchronously sa signal ng orasan. Nagsisimula ang pipeline sa isang hindi natukoy na (X)
antas ng lohika. Ang mga output ay pare-pareho, ngunit hindi zero na halaga.
Hindi
Synchronous na malinaw na signal na ginagamit anumang oras para i-reset ang pipeline sa lahat ng 0s,
sabaysabay sa signal ng orasan. Nagsisimula ang pipeline sa isang hindi natukoy na (X)
antas ng lohika. Ang mga output ay pare-pareho, ngunit hindi zero na halaga.
Talahanayan 8.
LPM_MULT Mga signal ng output
Pangalan ng signal
Kinakailangan
Paglalarawan
resulta[]
Oo
Output ng data.
Para sa mas luma at Intel Cyclone 10 LP device, ang laki ng output signal ay nakadepende sa value ng parameter ng LPM_WIDTHP. Kung LPM_WIDTHP < max (LPM_WIDTHA + LPM_WIDTHB, LPM_WIDTHS) o (LPM_WIDTHA + LPM_WIDTHS), ang mga LPM_WIDTHP MSB lang ang naroroon.
Para sa Intel Stratix 10, Intel Arria 10 at Intel Cyclone 10 GX, ang laki ng mga output signal ay nakadepende sa Result width parameter.
4.6. Mga Parameter para sa Stratix V, Arria V, Cyclone V, at Intel Cyclone 10 LP Device
4.6.1. Pangkalahatang tab
Talahanayan 9.
Pangkalahatang Tab
Parameter
Halaga
Multiplier Configuration
I-multiply ang 'dataa' input sa 'datab' input
Default na Halaga
Paglalarawan
I-multiply ang 'dataa' input sa 'datab' input
Piliin ang gustong configuration para sa multiplier.
nagpatuloy...
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 18
Magpadala ng Feedback
4. LPM_MULT (Multiplier) IP Core 683490 | 2020.10.05
Parameter
Gaano dapat kalawak ang input ng 'dataa'? Gaano dapat kalawak ang input ng 'datab'? Paano dapat matukoy ang lapad ng 'resulta' na output? Limitahan ang lapad
Halaga
Multiply 'dataa' input sa pamamagitan ng kanyang sarili (squaring operation)
1 - 256 bits
Default na Halaga
Paglalarawan
8 bits
Tukuyin ang lapad ng dataa[] port.
1 - 256 bits
8 bits
Tukuyin ang lapad ng port ng datab[].
Awtomatikong kalkulahin ang lapad Limitahan ang lapad
1 - 512 bits
Awtomatikong tawagan y kalkulahin ang lapad
Piliin ang gustong paraan upang matukoy ang lapad ng resulta[] port.
16 bits
Tukuyin ang lapad ng resulta[] port.
Magiging epektibo lamang ang halagang ito kung pipiliin mo ang Paghigpitan ang lapad sa Uri ng parameter.
4.6.2. Pangkalahatang 2 Tab
Talahanayan 10. Pangkalahatan 2 Tab
Parameter
Halaga
Input ng Datab
Ang 'datab' input bus ba ay may pare-parehong halaga?
Hindi Oo
Uri ng Multiplikasyon
Aling uri ng
Hindi nakapirma
multiplication gusto mo? nilagdaan
Pagpapatupad
Aling pagpapatupad ng multiplier ang dapat gamitin?
Gamitin ang default na pagpapatupad
Gamitin ang nakalaang multiplier circuitry (Hindi available para sa lahat ng pamilya)
Gumamit ng mga elemento ng lohika
Default na Halaga
Paglalarawan
Hindi
Piliin ang Oo upang tukuyin ang pare-parehong halaga ng
`datab' input bus, kung mayroon man.
Hindi nakapirma
Tukuyin ang format ng representasyon para sa parehong mga input ng dataa[] at datab[].
Gamitin ang default na implementat ion
Piliin ang gustong paraan upang matukoy ang lapad ng resulta[] port.
4.6.3. Tab ng Pipelining
Talahanayan 11. Tab ng Pipelining
Parameter
Gusto mo bang i-pipeline ang No
pagpapaandar?
Oo
Halaga
Lumikha ng 'aclr'
—
asynchronous malinaw na port
Default na Halaga
Paglalarawan
Hindi
Piliin ang Oo upang paganahin ang pagpaparehistro ng pipeline sa
multiplier's output at tukuyin ang ninanais
output latency sa clock cycle. Pinapagana ang
Ang rehistro ng pipeline ay nagdaragdag ng karagdagang latency sa
output.
Hindi naka-check
Piliin ang opsyong ito para paganahin ang aclr port na gumamit ng asynchronous clear para sa pipeline register.
nagpatuloy...
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 19
4. LPM_MULT (Multiplier) IP Core 683490 | 2020.10.05
Parameter
Lumikha ng isang 'clken' na orasan na paganahin ang orasan
Pag-optimize
Anong uri ng pag-optimize ang gusto mo?
Halaga —
Default na Bilis na Lugar
Default na Halaga
Paglalarawan
Hindi naka-check
Tinutukoy ang aktibong high clock enable para sa clock port ng pipeline register
Default
Tukuyin ang nais na pag-optimize para sa IP core.
Piliin ang Default upang hayaan ang Intel Quartus Prime software na matukoy ang pinakamahusay na pag-optimize para sa IP core.
4.7. Mga Parameter para sa Intel Stratix 10, Intel Arria 10, at Intel Cyclone 10 GX Device
4.7.1. Pangkalahatang tab
Talahanayan 12. Pangkalahatang Tab
Parameter
Halaga
Default na Halaga
Paglalarawan
Uri ng Configuration ng Multiplier
Mga Lapad ng Data Port
I-multiply ang 'dataa' input sa 'datab' input
Multiply 'dataa' input sa pamamagitan ng kanyang sarili (squaring operation)
I-multiply ang 'dataa' input sa 'datab' input
Piliin ang gustong configuration para sa multiplier.
Lapad ng data
1 - 256 bits
8 bits
Tukuyin ang lapad ng dataa[] port.
Lapad ng datab
1 - 256 bits
8 bits
Tukuyin ang lapad ng port ng datab[].
Paano dapat matukoy ang lapad ng 'resulta' na output?
Uri
Awtomatikong kalkulahin ang lapad
Limitahan ang lapad
Awtomatikong tawagan y kalkulahin ang lapad
Piliin ang gustong paraan upang matukoy ang lapad ng resulta[] port.
Halaga
1 - 512 bits
16 bits
Tukuyin ang lapad ng resulta[] port.
Magiging epektibo lamang ang halagang ito kung pipiliin mo ang Paghigpitan ang lapad sa Uri ng parameter.
Lapad ng resulta
1 - 512 bits
—
Ipinapakita ang epektibong lapad ng resulta[] port.
4.7.2. Pangkalahatang 2 Tab
Talahanayan 13. Pangkalahatan 2 Tab
Parameter
Input ng Datab
Ang 'datab' input bus ba ay may pare-parehong halaga?
Hindi Oo
Halaga
Default na Halaga
Paglalarawan
Hindi
Piliin ang Oo upang tukuyin ang pare-parehong halaga ng
`datab' input bus, kung mayroon man.
nagpatuloy...
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 20
Magpadala ng Feedback
4. LPM_MULT (Multiplier) IP Core 683490 | 2020.10.05
Parameter
Halaga
Halaga
Anumang halaga na higit sa 0
Uri ng Multiplikasyon
Aling uri ng
Hindi nakapirma
multiplication gusto mo? nilagdaan
Estilo ng Pagpapatupad
Aling pagpapatupad ng multiplier ang dapat gamitin?
Gamitin ang default na pagpapatupad
Gamitin ang nakalaang multiplier circuitry
Gumamit ng mga elemento ng lohika
Default na Halaga
Paglalarawan
0
Tukuyin ang pare-parehong halaga ng datab[] port.
Hindi nakapirma
Tukuyin ang format ng representasyon para sa parehong mga input ng dataa[] at datab[].
Gamitin ang default na implementat ion
Piliin ang gustong paraan upang matukoy ang lapad ng resulta[] port.
4.7.3. Pipelining
Talahanayan 14. Tab ng Pipelining
Parameter
Halaga
Gusto mo bang i-pipeline ang function?
Pipeline
Hindi Oo
Latency Clear na Uri ng Signal
Anumang halaga na higit sa 0.
WALA ACLR SCLR
Gumawa ng 'clken' na orasan
—
paganahin ang orasan
Anong uri ng pag-optimize ang gusto mo?
Uri
Default na Bilis na Lugar
Default na Halaga
Paglalarawan
No 1 WALA
—
Piliin ang Oo upang paganahin ang pagpaparehistro ng pipeline sa output ng multiplier. Ang pagpapagana sa pipeline register ay nagdaragdag ng karagdagang latency sa output.
Tukuyin ang gustong output latency sa clock cycle.
Tukuyin ang uri ng pag-reset para sa rehistro ng pipeline. Piliin ang WALA kung hindi ka gumagamit ng anumang pipeline register. Piliin ang ACLR para gumamit ng asynchronous clear para sa pipeline register. Ito ay bubuo ng ACLR port. Piliin ang SCLR para gumamit ng synchronous clear para sa pipeline register. Ito ay bubuo ng SCLR port.
Tinutukoy ang aktibong high clock enable para sa clock port ng pipeline register
Default
Tukuyin ang nais na pag-optimize para sa IP core.
Piliin ang Default para hayaan ang Intel Quartus Prime software na matukoy ang pinakamahusay na optimization para sa IP core.
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 21
683490 | 2020.10.05 Magpadala ng Feedback
5. LPM_ADD_SUB (Adder/Subtractor)
Larawan 4.
Hinahayaan ka ng LPM_ADD_SUB IP core na magpatupad ng adder o subtractor upang magdagdag o magbawas ng mga set ng data upang makagawa ng output na naglalaman ng kabuuan o pagkakaiba ng mga halaga ng input.
Ipinapakita ng sumusunod na figure ang mga port para sa LPM_ADD_SUB IP core.
LPM_ADD_SUB Mga Port
LPM_ADD_SUB add_sub cin
dataa[]
orasan clken datab[] aclr
resulta[] overflow cout
inst
5.1. Mga tampok
Ang LPM_ADD_SUB IP core ay nag-aalok ng mga sumusunod na feature: · Bumubuo ng adder, subtractor, at dynamically configurable adder/subtractor
mga function. · Sinusuportahan ang lapad ng data na 1 bits. · Sinusuportahan ang format ng representasyon ng data tulad ng nilagdaan at hindi nalagdaan. · Sinusuportahan ang opsyonal na carry-in (borrow-out), asynchronous clear, at paganahin ang orasan
mga input port. · Sinusuportahan ang opsyonal na carry-out (borrow-in) at overflow output port. · Itinatalaga ang alinman sa isa sa mga input data bus sa isang pare-pareho. · Sinusuportahan ang pipelining na may na-configure na latency ng output.
Intel Corporation. Lahat ng karapatan ay nakalaan. Ang Intel, ang logo ng Intel, at iba pang mga marka ng Intel ay mga trademark ng Intel Corporation o mga subsidiary nito. Ginagarantiyahan ng Intel ang pagganap ng mga produktong FPGA at semiconductor nito sa kasalukuyang mga detalye alinsunod sa karaniwang warranty ng Intel, ngunit inilalaan ang karapatang gumawa ng mga pagbabago sa anumang produkto at serbisyo anumang oras nang walang abiso. Walang pananagutan o pananagutan ang Intel na nagmumula sa aplikasyon o paggamit ng anumang impormasyon, produkto, o serbisyong inilarawan dito maliban kung hayagang sinang-ayunan ng Intel. Pinapayuhan ang mga customer ng Intel na kunin ang pinakabagong bersyon ng mga detalye ng device bago umasa sa anumang nai-publish na impormasyon at bago maglagay ng mga order para sa mga produkto o serbisyo. *Ang ibang mga pangalan at tatak ay maaaring i-claim bilang pag-aari ng iba.
ISO 9001:2015 Nakarehistro
5. LPM_ADD_SUB (Adder/Subtractor) 683490 | 2020.10.05
5.2. Verilog HDL Prototype
Ang sumusunod na Verilog HDL prototype ay matatagpuan sa Verilog Design File (.v) lpm.v sa direktoryo ng edasynthesis.
module lpm_add_sub ( resulta, cout, overflow,add_sub, cin, dataa, datab, orasan, clken, aclr ); parameter lpm_type = “lpm_add_sub”; parameter lpm_width = 1; parameter lpm_direction = “HINDI GINAMIT”; parameter lpm_representation = “NILAGDAAN”; parameter lpm_pipeline = 0; parameter lpm_hint = “HINDI GINAMIT”; input [lpm_width-1:0] dataa, datab; input add_sub, cin; input na orasan; input clken; input aclr; output [lpm_width-1:0] resulta; output cout, overflow; endmodule
5.3. Deklarasyon ng Bahagi ng VHDL
Ang deklarasyon ng bahagi ng VHDL ay matatagpuan sa VHDL Design File (.vhd) LPM_PACK.vhd sa direktoryo ng libraryvhdllpm.
component LPM_ADD_SUB generic (LPM_WIDTH : natural;
LPM_DIRECTION : string := “UNUSED”; LPM_REPRESENTATION: string := “SIGNED”; LPM_PIPELINE : natural := 0; LPM_TYPE : string := L_ADD_SUB; LPM_HINT : string := “UNUSED”); port (DATAA : sa std_logic_vector(LPM_WIDTH-1 pababa sa 0); DATAB : sa std_logic_vector(LPM_WIDTH-1 pababa sa 0); ACLR : sa std_logic := '0'; CLOCK : sa std_logic := '0'; CLKEN : sa std_logic := '1'; CIN : sa std_logic := 'Z'; ADD_SUB : sa std_logic := '1'; RESULTA : out std_logic_vector(LPM_WIDTH-1 pababa sa 0); COUT : out std_logic; OVERFLOW : out std_logic); bahagi ng pagtatapos;
5.4. VHDL LIBRARY_USE Deklarasyon
Ang deklarasyon ng VHDL LIBRARY-USE ay hindi kinakailangan kung gagamitin mo ang VHDL Component Declaration.
LIBRARY lpm; GAMITIN ang lpm.lpm_components.all;
5.5. Mga daungan
Inililista ng mga sumusunod na talahanayan ang mga input at output port para sa LPM_ADD_SUB IP core.
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 23
5. LPM_ADD_SUB (Adder/Subtractor) 683490 | 2020.10.05
Talahanayan 15. LPM_ADD_SUB IP Core Input Ports
Pangalan ng Port
Kinakailangan
Paglalarawan
cin
Hindi
Carry-in sa low-order bit. Para sa mga pagpapatakbo ng karagdagan, ang default na halaga ay 0. Para sa
mga pagpapatakbo ng pagbabawas, ang default na halaga ay 1.
dataa[]
Oo
Pag lagay ng datos. Ang laki ng input port ay depende sa LPM_WIDTH parameter value.
datab[]
Oo
Pag lagay ng datos. Ang laki ng input port ay depende sa LPM_WIDTH parameter value.
add_sub
Hindi
Opsyonal na input port upang paganahin ang dynamic na paglipat sa pagitan ng adder at subtractor
mga function. Kung ang LPM_DIRECTION parameter ay ginamit, add_sub ay hindi magagamit. Kung
tinanggal, ang default na halaga ay ADD. Inirerekomenda ng Intel na gamitin mo ang
LPM_DIRECTION parameter upang tukuyin ang pagpapatakbo ng LPM_ADD_SUB function,
sa halip na magtalaga ng constant sa add_sub port.
orasan
Hindi
Input para sa pipeline na paggamit. Ang clock port ay nagbibigay ng clock input para sa isang pipelined
operasyon. Para sa mga halaga ng LPM_PIPELINE maliban sa 0 (default), ang port ng orasan ay dapat na
pinagana.
clken
Hindi
Paganahin ang orasan para sa pipeline na paggamit. Kapag ang clken port ay iginiit na mataas, ang adder/
nagaganap ang operasyon ng subtractor. Kapag mababa ang signal, walang operasyon na nagaganap. Kung
tinanggal, ang default na halaga ay 1.
aclr
Hindi
Asynchronous clear para sa pipelined na paggamit. Nagsisimula ang pipeline sa isang hindi natukoy na (X)
antas ng lohika. Maaaring gamitin ang aclr port anumang oras upang i-reset ang pipeline sa lahat ng 0s,
asynchronously sa signal ng orasan.
Talahanayan 16. LPM_ADD_SUB IP Core Output Ports
Pangalan ng Port
Kinakailangan
Paglalarawan
resulta[]
Oo
Output ng data. Ang laki ng output port ay depende sa LPM_WIDTH parameter
halaga.
cout
Hindi
Carry-out (borrow-in) ng pinaka makabuluhang bit (MSB). Ang cout port ay may pisikal
interpretasyon bilang carry-out (borrow-in) ng MSB. Nakikita ng cout port
overflow sa UNSIGNED operations. Ang cout port ay gumagana sa parehong paraan para sa
PINIRMA at UNSIGNED na mga operasyon.
umaapaw
Hindi
Opsyonal na overflow exception na output. Ang overflow port ay may pisikal na interpretasyon bilang
ang XOR ng carry-in sa MSB kasama ng carry-out ng MSB. Ang overflow port
iginiit kapag ang mga resulta ay lumampas sa magagamit na katumpakan, at ginagamit lamang kapag ang
LPM_REPRESENTATION ang value ng parameter ay NILAGDAAN.
5.6. Parameter
Inililista ng sumusunod na talahanayan ang mga parameter ng LPM_ADD_SUB IP core.
Talahanayan 17. LPM_ADD_SUB IP Core Parameter
Pangalan ng Parameter LPM_WIDTH
I-type ang Integer
Kinakailangan Oo
Paglalarawan
Tinutukoy ang mga lapad ng dataa[], datab[], at resulta[] na mga port.
LPM_DIRECTION
String
Hindi
Ang mga value ay ADD, SUB, at UNUSED. Kung aalisin, ang default na halaga ay DEFAULT, na nagdidirekta sa parameter na kunin ang halaga nito mula sa add_sub port. Hindi magagamit ang add_sub port kung LPM_DIRECTION ang ginagamit. Inirerekomenda ng Intel na gamitin mo ang parameter na LPM_DIRECTION upang tukuyin ang pagpapatakbo ng function ng LPM_ADD_SUB, sa halip na magtalaga ng constant sa add_sub port.
nagpatuloy...
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 24
Magpadala ng Feedback
5. LPM_ADD_SUB (Adder/Subtractor) 683490 | 2020.10.05
Pangalan ng Parameter LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY
I-type ang String Integer String String String Integer
String
Kinakailangan Hindi Hindi Hindi Hindi Hindi Hindi
Hindi
Paglalarawan
Tinutukoy ang uri ng pagdaragdag na ginawa. Ang mga halaga ay NILAGDAAN at HINDI NILAGDAAN. Kung aalisin, ang default na halaga ay SIGNED. Kapag ang parameter na ito ay nakatakda sa SIGNED, ang adder/subtractor ay magbibigay kahulugan sa input ng data bilang signed two's complement.
Tinutukoy ang bilang ng mga latency clock cycle na nauugnay sa resulta[] na output. Ang isang halaga ng zero (0) ay nagpapahiwatig na walang latency na umiiral, at ang isang purong kumbinasyonal na function ay gagawing instant. Kung aalisin, ang default na halaga ay 0 (non-pipelined).
Binibigyang-daan kang tukuyin ang mga parameter na partikular sa Intel sa disenyo ng VHDL files (.vhd). Ang default na halaga ay UNUSED.
Kinikilala ang library ng mga parameterized modules (LPM) na pangalan ng entity sa VHDL na disenyo files.
Parameter na partikular sa Intel. Dapat mong gamitin ang LPM_HINT parameter para tukuyin ang ONE_INPUT_IS_CONSTANT parameter sa VHDL na disenyo files. Ang mga halaga ay OO, HINDI, at HINDI GINAMIT. Nagbibigay ng higit na pag-optimize kung pare-pareho ang isang input. Kung aalisin, ang default na halaga ay HINDI.
Parameter na partikular sa Intel. Dapat mong gamitin ang LPM_HINT parameter para tukuyin ang MAXIMIZE_SPEED parameter sa VHDL na disenyo files. Maaari kang tumukoy ng halaga sa pagitan ng 0 at 10. Kung ginamit, sinusubukan ng Intel Quartus Prime software na i-optimize ang isang partikular na halimbawa ng function na LPM_ADD_SUB para sa bilis kaysa sa pag-routability, at ino-override ang setting ng opsyong logic ng Optimization Technique. Kung ang MAXIMIZE_SPEED ay hindi nagamit, ang halaga ng opsyon sa Optimization Technique ang gagamitin sa halip. Kung ang setting para sa MAXIMIZE_SPEED ay 6 o mas mataas, ino-optimize ng Compiler ang LPM_ADD_SUB IP core para sa mas mataas na bilis gamit ang mga carry chain; kung ang setting ay 5 o mas kaunti, ang Compiler ay nagpapatupad ng disenyo nang walang carry chain. Dapat na tukuyin ang parameter na ito para sa Cyclone, Stratix, at Stratix GX device lamang kapag hindi ginagamit ang add_sub port.
Ginagamit ang parameter na ito para sa mga layunin ng pagmomodelo at pag-uugali ng simulation. Kinakalkula ng editor ng parameter ang halaga para sa parameter na ito.
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 25
683490 | 2020.10.05 Magpadala ng Feedback
6. LPM_COMPARE (Comparator)
Larawan 5.
Inihahambing ng LPM_COMPARE IP core ang halaga ng dalawang set ng data upang matukoy ang kaugnayan sa pagitan ng mga ito. Sa pinakasimpleng anyo nito, maaari kang gumamit ng eksklusibong-OR na gate upang matukoy kung pantay ang dalawang bit ng data.
Ipinapakita ng sumusunod na figure ang mga port para sa LPM_COMPARE IP core.
LPM_COMPARE Mga Port
LPM_COMPARE
clken
alb
aeb
dataa[]
agb
datab[]
edadb
orasan
o
aclr
aleb
inst
6.1. Mga tampok
Ang LPM_COMPARE IP core ay nag-aalok ng mga sumusunod na feature: · Bumubuo ng comparator function upang ihambing ang dalawang set ng data · Sinusuportahan ang lapad ng data na 1 bits · Sinusuportahan ang format ng representasyon ng data gaya ng nilagdaan at hindi nalagdaan · Gumagawa ng mga sumusunod na uri ng output:
— alb (mas mababa ang input A kaysa sa input B) — aeb (ang input A ay katumbas ng input B) — agb (mas malaki ang input A kaysa sa input B) — ageb (mas malaki ang input A kaysa sa o katumbas ng input B) — aneb ( input A ay hindi katumbas ng input B) — aleb (input A ay mas mababa sa o katumbas ng input B) · Sinusuportahan ang opsyonal na asynchronous na clear at ang orasan ay nagpapagana ng mga input port · Itinatalaga ang datab[] input sa isang pare-pareho · Sinusuportahan ang pipelining na may configurable output latency
Intel Corporation. Lahat ng karapatan ay nakalaan. Ang Intel, ang logo ng Intel, at iba pang mga marka ng Intel ay mga trademark ng Intel Corporation o mga subsidiary nito. Ginagarantiyahan ng Intel ang pagganap ng mga produktong FPGA at semiconductor nito sa kasalukuyang mga detalye alinsunod sa karaniwang warranty ng Intel, ngunit inilalaan ang karapatang gumawa ng mga pagbabago sa anumang produkto at serbisyo anumang oras nang walang abiso. Walang pananagutan o pananagutan ang Intel na nagmumula sa aplikasyon o paggamit ng anumang impormasyon, produkto, o serbisyong inilarawan dito maliban kung hayagang sinang-ayunan ng Intel. Pinapayuhan ang mga customer ng Intel na kunin ang pinakabagong bersyon ng mga detalye ng device bago umasa sa anumang nai-publish na impormasyon at bago maglagay ng mga order para sa mga produkto o serbisyo. *Ang ibang mga pangalan at tatak ay maaaring i-claim bilang pag-aari ng iba.
ISO 9001:2015 Nakarehistro
6. LPM_COMPARE (Comparator) 683490 | 2020.10.05
6.2. Verilog HDL Prototype
Ang sumusunod na Verilog HDL prototype ay matatagpuan sa Verilog Design File (.v) lpm.v sa direktoryo ng edasynthesis.
module lpm_compare ( alb, aeb, agb, aleb, aneb, ageb, dataa, datab, orasan, clken, aclr ); parameter lpm_type = "lpm_compare"; parameter lpm_width = 1; parameter lpm_representation = “UNSIGNED”; parameter lpm_pipeline = 0; parameter lpm_hint = “HINDI GINAMIT”; input [lpm_width-1:0] dataa, datab; input na orasan; input clken; input aclr; output alb, aeb, agb, aleb, aneb, ageb; endmodule
6.3. Deklarasyon ng Bahagi ng VHDL
Ang deklarasyon ng bahagi ng VHDL ay matatagpuan sa VHDL Design File (.vhd) LPM_PACK.vhd sa direktoryo ng libraryvhdllpm.
component LPM_COMPARE generic (LPM_WIDTH : natural;
LPM_REPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : natural := 0; LPM_TYPE: string := L_COMPARE; LPM_HINT : string := “UNUSED”); port (DATAA : sa std_logic_vector(LPM_WIDTH-1 pababa sa 0); DATAB : sa std_logic_vector(LPM_WIDTH-1 pababa sa 0); ACLR : sa std_logic := '0'; CLOCK : sa std_logic := '0'; CLKEN : sa std_logic := '1'; AGB : out std_logic; AGEB : out std_logic; AEB : out std_logic; ANEB : out std_logic; ALB : out std_logic; ALEB : out std_logic); bahagi ng pagtatapos;
6.4. VHDL LIBRARY_USE Deklarasyon
Ang deklarasyon ng VHDL LIBRARY-USE ay hindi kinakailangan kung gagamitin mo ang VHDL Component Declaration.
LIBRARY lpm; GAMITIN ang lpm.lpm_components.all;
6.5. Mga daungan
Inililista ng mga sumusunod na talahanayan ang mga input at output port para sa LMP_COMPARE IP core.
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 27
6. LPM_COMPARE (Comparator) 683490 | 2020.10.05
Talahanayan 18. LPM_COMPARE IP core Input Ports
Pangalan ng Port
Kinakailangan
Paglalarawan
dataa[]
Oo
Pag lagay ng datos. Ang laki ng input port ay depende sa LPM_WIDTH parameter value.
datab[]
Oo
Pag lagay ng datos. Ang laki ng input port ay depende sa LPM_WIDTH parameter value.
orasan
Hindi
Input ng orasan para sa pipelined na paggamit. Ang clock port ay nagbibigay ng clock input para sa isang pipelined
operasyon. Para sa mga halaga ng LPM_PIPELINE maliban sa 0 (default), ang port ng orasan ay dapat na
pinagana.
clken
Hindi
Paganahin ang orasan para sa pipeline na paggamit. Kapag ang clken port ay iginiit na mataas, ang
nagaganap ang operasyon ng paghahambing. Kapag mababa ang signal, walang operasyon na nagaganap. Kung
tinanggal, ang default na halaga ay 1.
aclr
Hindi
Asynchronous na malinaw para sa pipelined na paggamit. Nagsisimula ang pipeline sa isang hindi natukoy na (X) na lohika
antas. Maaaring gamitin ang aclr port anumang oras upang i-reset ang pipeline sa lahat ng 0s,
asynchronously sa signal ng orasan.
Talahanayan 19. LPM_COMPARE IP core Output Ports
Pangalan ng Port
Kinakailangan
Paglalarawan
alb
Hindi
Output port para sa comparator. Iginiit kung ang input A ay mas mababa kaysa sa input B.
aeb
Hindi
Output port para sa comparator. Iginiit kung ang input A ay katumbas ng input B.
agb
Hindi
Output port para sa comparator. Iginiit kung ang input A ay mas malaki kaysa sa input B.
edadb
Hindi
Output port para sa comparator. Iginiit kung ang input A ay mas malaki kaysa o katumbas ng input
B.
o
Hindi
Output port para sa comparator. Iginiit kung ang input A ay hindi katumbas ng input B.
aleb
Hindi
Output port para sa comparator. Iginiit kung ang input A ay mas mababa o katumbas ng input B.
6.6. Parameter
Inililista ng sumusunod na talahanayan ang mga parameter para sa LPM_COMPARE IP core.
Talahanayan 20. LPM_COMPARE IP core Parameter
Pangalan ng Parameter
Uri
Kinakailangan
LPM_WIDTH
Integer Oo
LPM_REPRESENTATION
String
Hindi
LPM_PIPELINE
Integer No
LPM_HINT
String
Hindi
Paglalarawan
Tinutukoy ang mga lapad ng dataa[] at datab[] port.
Tinutukoy ang uri ng paghahambing na isinagawa. Ang mga halaga ay NILAGDAAN at HINDI NILAGDAAN. Kung aalisin, UNSIGNED ang default na value. Kapag ang value ng parameter na ito ay nakatakda sa SIGNED, binibigyang-kahulugan ng comparator ang data input bilang signed two's complement.
Tinutukoy ang bilang ng mga cycle ng orasan ng latency na nauugnay sa alb, aeb, agb, ageb, aleb, o aneb na output. Ang isang halaga ng zero (0) ay nagpapahiwatig na walang latency na umiiral, at ang isang purong kumbinasyonal na function ay gagawing instant. Kung aalisin, ang default na halaga ay 0 (nonpipelined).
Binibigyang-daan kang tukuyin ang mga parameter na partikular sa Intel sa disenyo ng VHDL files (.vhd). Ang default na halaga ay UNUSED.
nagpatuloy...
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 28
Magpadala ng Feedback
6. LPM_COMPARE (Comparator) 683490 | 2020.10.05
Pangalan ng Parameter LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT
I-type ang String String
String
Kinakailangan Hindi No
Hindi
Paglalarawan
Kinikilala ang library ng mga parameterized modules (LPM) na pangalan ng entity sa VHDL na disenyo files.
Ginagamit ang parameter na ito para sa mga layunin ng pagmomodelo at pag-uugali ng simulation. Kinakalkula ng editor ng parameter ang halaga para sa parameter na ito.
Parameter na partikular sa Intel. Dapat mong gamitin ang LPM_HINT parameter para tukuyin ang ONE_INPUT_IS_CONSTANT parameter sa VHDL na disenyo files. Ang mga halaga ay OO, HINDI, o HINDI GINAMIT. Nagbibigay ng higit na pag-optimize kung ang isang input ay pare-pareho. Kung aalisin, ang default na halaga ay HINDI.
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 29
683490 | 2020.10.05 Magpadala ng Feedback
7. ALTECC (Error Correction Code: Encoder/Decoder) IP Core
Larawan 6.
Ang Intel ay nagbibigay ng ALTECC IP core para ipatupad ang ECC functionality. Nakikita ng ECC ang sirang data na nangyayari sa gilid ng tatanggap sa panahon ng paghahatid ng data. Ang paraan ng pagwawasto ng error na ito ay pinakaangkop para sa mga sitwasyon kung saan nangyayari ang mga error nang random kaysa sa mga pagsabog.
Nakikita ng ECC ang mga error sa pamamagitan ng proseso ng pag-encode at pag-decode ng data. Para kay exampAt, kapag ang ECC ay inilapat sa isang transmission application, ang data na nabasa mula sa pinagmulan ay naka-encode bago ipadala sa receiver. Ang output (code word) mula sa encoder ay binubuo ng raw data na nakadugtong sa bilang ng mga parity bit. Ang eksaktong bilang ng mga parity bit na idinagdag ay depende sa bilang ng mga bit sa input data. Ang nabuong code na salita ay ipinadala sa destinasyon.
Ang receiver ay tumatanggap ng code word at nagde-decode nito. Tinutukoy ng impormasyong nakuha ng decoder kung may nakitang error. Nakikita ng decoder ang mga single-bit at double-bit na error, ngunit maaari lamang ayusin ang mga single-bit na error sa sirang data. Ang ganitong uri ng ECC ay single error correction double error detection (SECDED).
Maaari mong i-configure ang mga function ng encoder at decoder ng ALTECC IP core. Ang input ng data sa encoder ay naka-encode upang makabuo ng code word na kumbinasyon ng data input at ang nabuong parity bits. Ang nabuong code na salita ay ipinadala sa decoder module para sa pag-decode bago maabot ang patutunguhang bloke nito. Bumubuo ang decoder ng syndrome vector upang matukoy kung mayroong anumang error sa natanggap na code word. Itinatama lamang ng decoder ang data kung ang single-bit na error ay mula sa mga bits ng data. Walang signal na na-flag kung ang single-bit na error ay mula sa parity bits. Ang decoder ay mayroon ding mga flag signal upang ipakita ang status ng data na natanggap at ang aksyon na ginawa ng decoder, kung mayroon man.
Ang mga sumusunod na figure ay nagpapakita ng mga port para sa ALTECC IP core.
ALTECC Encoder Ports
ALTECC_ENCODER
data[]
q[]
orasan
orasan
aclr
inst
Intel Corporation. Lahat ng karapatan ay nakalaan. Ang Intel, ang logo ng Intel, at iba pang mga marka ng Intel ay mga trademark ng Intel Corporation o mga subsidiary nito. Ginagarantiyahan ng Intel ang pagganap ng mga produktong FPGA at semiconductor nito sa kasalukuyang mga detalye alinsunod sa karaniwang warranty ng Intel, ngunit inilalaan ang karapatang gumawa ng mga pagbabago sa anumang produkto at serbisyo anumang oras nang walang abiso. Walang pananagutan o pananagutan ang Intel na nagmumula sa aplikasyon o paggamit ng anumang impormasyon, produkto, o serbisyong inilarawan dito maliban kung hayagang sinang-ayunan ng Intel. Pinapayuhan ang mga customer ng Intel na kunin ang pinakabagong bersyon ng mga detalye ng device bago umasa sa anumang nai-publish na impormasyon at bago maglagay ng mga order para sa mga produkto o serbisyo. *Ang ibang mga pangalan at tatak ay maaaring i-claim bilang pag-aari ng iba.
ISO 9001:2015 Nakarehistro
7. ALTECC (Error Correction Code: Encoder/Decoder) IP Core 683490 | 2020.10.05
Larawan 7. ALTECC Decoder Ports
ALTECC_DECODER
data[] orasan ng orasan
q[] err_detected err_corrected
err_fatal
aclr
inst
7.1. Mga Tampok ng ALTECC Encoder
Ang ALTECC encoder IP core ay nag-aalok ng mga sumusunod na feature: · Nagsasagawa ng data encoding gamit ang Hamming Coding scheme · Sinusuportahan ang lapad ng data na 2 bits · Sinusuportahan ang signed at unsigned data representation format · Suporta sa pipelining na may output latency ng alinman sa isa o dalawang clock cycle · Sinusuportahan ang opsyonal asynchronous malinaw at orasan ay nagbibigay-daan sa mga port
Kinukuha at ini-encode ng ALTECC encoder IP core ang data gamit ang Hamming Coding scheme. Kinukuha ng Hamming Coding scheme ang mga parity bit at idinaragdag ang mga ito sa orihinal na data upang makagawa ng output code na salita. Ang bilang ng mga parity bit na idinagdag ay depende sa lapad ng data.
Inililista ng sumusunod na talahanayan ang bilang ng mga parity bit na idinagdag para sa iba't ibang hanay ng mga lapad ng data. Kinakatawan ng column na Kabuuang Bits ang kabuuang bilang ng mga input ng data bit at nakadugtong na parity bit.
Talahanayan 21.
Bilang ng Parity Bits at Code Word Ayon sa Lapad ng Data
Lapad ng Data
Bilang ng Parity Bits
Kabuuang Bits (Code Word)
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
Ang parity bit derivation ay gumagamit ng even-parity checking. Ang karagdagang 1 bit (ipinapakita sa talahanayan bilang +1) ay idinagdag sa mga parity bit bilang MSB ng code word. Tinitiyak nito na ang code word ay may pantay na bilang na 1. Para kay example, kung ang lapad ng data ay 4 bits, 4 parity bits ay idinagdag sa data upang maging isang code word na may kabuuang 8 bits. Kung ang 7 bits mula sa LSB ng 8-bit code word ay may kakaibang bilang na 1, ang 8th bit (MSB) ng code word ay 1 na ginagawang ang kabuuang bilang ng 1 sa code word ay even.
Ipinapakita ng sumusunod na figure ang nabuong code word at ang pagkakaayos ng mga parity bit at data bit sa isang 8-bit na data input.
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 31
7. ALTECC (Error Correction Code: Encoder/Decoder) IP Core 683490 | 2020.10.05
Larawan 8.
Parity Bits at Data Bits Arrangement sa isang 8-Bit Generated Code Word
MSB
LSB
4 na parity bit
4 data bit
8
1
Ang ALTECC encoder IP core ay tumatanggap lamang ng mga lapad ng input na 2 hanggang 64 bits sa isang pagkakataon. Ang mga lapad ng input na 12 bits, 29 bits, at 64 bits, na perpektong angkop sa mga Intel device, ay bumubuo ng mga output na 18 bits, 36 bits, at 72 bits ayon sa pagkakabanggit. Maaari mong kontrolin ang limitasyon ng bitselection sa editor ng parameter.
7.2. Verilog HDL Prototype (ALTECC_ENCODER)
Ang sumusunod na Verilog HDL prototype ay matatagpuan sa Verilog Design File (.v) lpm.v sa direktoryo ng edasynthesis.
module altecc_encoder #( parameter intended_device_family = "hindi nagamit", parameter lpm_pipeline = 0, parameter width_codeword = 8, parameter width_dataword = 8, parameter lpm_type = "altecc_encoder", parameter lpm_hint = "hindi nagamit") ( input wire aclr, input wire clock, input wire clock wire clocken, input wire [width_dataword-1:0] data, output wire [width_codeword-1:0] q); endmodule
7.3. Verilog HDL Prototype (ALTECC_DECODER)
Ang sumusunod na Verilog HDL prototype ay matatagpuan sa Verilog Design File (.v) lpm.v sa direktoryo ng edasynthesis.
module altecc_decoder #( parameter intended_device_family = "hindi nagamit", parameter lpm_pipeline = 0, parameter width_codeword = 8, parameter width_dataword = 8, parameter lpm_type = "altecc_decoder", parameter lpm_hint = "hindi nagamit") ( input wire aclr, input wire clock, input wire clock wire clocken, input wire [width_codeword-1:0] data, output wire err_corrected, output wire err_detected, outut wire err_fatal, output wire [width_dataword-1:0] q); endmodule
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 32
Magpadala ng Feedback
7. ALTECC (Error Correction Code: Encoder/Decoder) IP Core 683490 | 2020.10.05
7.4. VHDL Component Declaration (ALTECC_ENCODER)
Ang deklarasyon ng bahagi ng VHDL ay matatagpuan sa VHDL Design File (.vhd) altera_mf_components.vhd sa librariesvhdlaltera_mf direktoryo.
component altecc_encoder generic ( intended_device_family: string := “unused”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := “UNUSED”; lpm_type:string := “altecc_encoder ”); port( aclr:sa std_logic := '0'; orasan:sa std_logic := '0'; clocken:sa std_logic := '1'; data:sa std_logic_vector(width_dataword-1 pababa sa 0); q:out std_logic_vector(width_codeword -1 pababa sa 0)); bahagi ng pagtatapos;
7.5. VHDL Component Declaration (ALTECC_DECODER)
Ang deklarasyon ng bahagi ng VHDL ay matatagpuan sa VHDL Design File (.vhd) altera_mf_components.vhd sa librariesvhdlaltera_mf direktoryo.
component altecc_decoder generic ( intended_device_family: string := “unused”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := “UNUSED”; lpm_type:string := “altecc_decoder ”); port( aclr:sa std_logic := '0'; orasan:sa std_logic := '0'; clocken:sa std_logic := '1'; data:sa std_logic_vector(width_codeword-1 pababa sa 0); err_corrected : out std_logic; err_detected : out std_logic; q:out std_logic_vector(width_dataword-1 pababa sa 0); syn_e : out std_logic); bahagi ng pagtatapos;
7.6. VHDL LIBRARY_USE Deklarasyon
Ang deklarasyon ng VHDL LIBRARY-USE ay hindi kinakailangan kung gagamitin mo ang VHDL Component Declaration.
LIBRARY altera_mf; GAMITIN ang altera_mf.altera_mf_components.all;
7.7. Mga Encoder Port
Inililista ng mga sumusunod na talahanayan ang mga input at output port para sa ALTECC encoder IP core.
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 33
7. ALTECC (Error Correction Code: Encoder/Decoder) IP Core 683490 | 2020.10.05
Talahanayan 22. ALTECC Encoder Input Ports
Pangalan ng Port
Kinakailangan
Paglalarawan
data[]
Oo
Port ng pag-input ng data. Ang laki ng input port ay depende sa WIDTH_DATAWORD
halaga ng parameter. Ang data[] port ay naglalaman ng raw data na ie-encode.
orasan
Oo
Clock input port na nagbibigay ng clock signal para i-synchronize ang encoding operation.
Kinakailangan ang port ng orasan kapag ang halaga ng LPM_PIPELINE ay mas malaki sa 0.
orasan
Hindi
Paganahin ang orasan. Kung tinanggal, ang default na halaga ay 1.
aclr
Hindi
Asynchronous na malinaw na input. Ang aktibong high aclr signal ay maaaring gamitin anumang oras upang
asynchronously i-clear ang mga rehistro.
Talahanayan 23. ALTECC Encoder Output Ports
Pangalan ng Port q[]
Kinakailangan Oo
Paglalarawan
Naka-encode na port ng output ng data. Ang laki ng output port ay depende sa WIDTH_CODEWORD parameter value.
7.8. Mga Port ng Decoder
Inililista ng mga sumusunod na talahanayan ang mga input at output port para sa ALTECC decoder IP core.
Talahanayan 24. ALTECC Decoder Input Ports
Pangalan ng Port
Kinakailangan
Paglalarawan
data[]
Oo
Port ng pag-input ng data. Ang laki ng input port ay depende sa WIDTH_CODEWORD parameter value.
orasan
Oo
Clock input port na nagbibigay ng clock signal para i-synchronize ang encoding operation. Kinakailangan ang port ng orasan kapag ang halaga ng LPM_PIPELINE ay mas malaki sa 0.
orasan
Hindi
Paganahin ang orasan. Kung tinanggal, ang default na halaga ay 1.
aclr
Hindi
Asynchronous na malinaw na input. Ang aktibong high aclr signal ay maaaring gamitin anumang oras upang asynchronously i-clear ang mga rehistro.
Talahanayan 25. ALTECC Decoder Output Ports
Pangalan ng Port q[]
Kinakailangan Oo
Paglalarawan
Na-decode na port ng output ng data. Ang laki ng output port ay depende sa WIDTH_DATAWORD parameter value.
err_detected Oo
I-flag ang signal upang ipakita ang katayuan ng data na natanggap at tukuyin ang anumang mga error na natagpuan.
err_correcte Oo d
I-flag ang signal upang ipakita ang katayuan ng data na natanggap. Nagsasaad ng single-bit na error na natagpuan at naitama. Maaari mong gamitin ang data dahil naitama na ito.
err_fatal
Oo
I-flag ang signal upang ipakita ang katayuan ng data na natanggap. Nagsasaad ng double-bit na error na natagpuan, ngunit hindi naitama. Hindi mo dapat gamitin ang data kung iginiit ang signal na ito.
syn_e
Hindi
Isang output signal na magiging mataas sa tuwing may nakitang single-bit na error sa parity
bits.
7.9. Mga Parameter ng Encoder
Inililista ng sumusunod na talahanayan ang mga parameter para sa ALTECC encoder IP core.
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 34
Magpadala ng Feedback
7. ALTECC (Error Correction Code: Encoder/Decoder) IP Core 683490 | 2020.10.05
Talahanayan 26. ALTECC Encoder Parameter
Pangalan ng Parameter
Uri
Kinakailangan
Paglalarawan
WIDTH_DATAWORD
Integer Oo
Tinutukoy ang lapad ng raw data. Ang mga value ay mula 2 hanggang 64. Kung aalisin, ang default na value ay 8.
WIDTH_CODEWORD
Integer Oo
Tinutukoy ang lapad ng katumbas na code word. Ang mga wastong value ay mula 6 hanggang 72, hindi kasama ang 9, 17, 33, at 65. Kung aalisin, ang default na value ay 13.
LPM_PIPELINE
Integer No
Tinutukoy ang pipeline para sa circuit. Ang mga halaga ay mula 0 hanggang 2. Kung ang halaga ay 0, ang mga port ay hindi nakarehistro. Kung ang halaga ay 1, ang mga output port ay nakarehistro. Kung ang halaga ay 2, ang input at output port ay nakarehistro. Kung tinanggal, ang default na halaga ay 0.
7.10. Mga Parameter ng Decoder
Inililista ng sumusunod na talahanayan ang mga parameter ng ALTECC decoder IP core.
Talahanayan 27. ALTECC Decoder Parameter
Pangalan ng Parameter WIDTH_DATAWORD
I-type ang Integer
Kinakailangan
Paglalarawan
Oo
Tinutukoy ang lapad ng raw data. Ang mga halaga ay 2 hanggang 64. Ang
ang default na halaga ay 8.
WIDTH_CODEWORD
Integer
Oo
Tinutukoy ang lapad ng katumbas na code word. Ang mga halaga ay 6
hanggang 72, hindi kasama ang 9, 17, 33, at 65. Kung tinanggal, ang default na halaga
ay 13.
LPM_PIPELINE
Integer
Hindi
Tinutukoy ang rehistro ng circuit. Ang mga halaga ay mula 0 hanggang 2. Kung ang
ang halaga ay 0, walang rehistro ang ipinatupad. Kung ang halaga ay 1, ang
nakarehistro ang output. Kung ang halaga ay 2, pareho ang input at ang
nakarehistro ang output. Kung ang halaga ay mas malaki sa 2, karagdagang
Ang mga rehistro ay ipinatupad sa output para sa karagdagang
mga latency. Kung tinanggal, ang default na halaga ay 0.
Lumikha ng 'syn_e' port
Integer
Hindi
I-on ang parameter na ito para gumawa ng syn_e port.
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 35
683490 | 2020.10.05 Magpadala ng Feedback
8. Intel FPGA Multiply Adder IP Core
Larawan 9.
Ang Intel FPGA Multiply Adder (Intel Stratix 10, Intel Arria 10, at Intel Cyclone 10 GX device) o ALTERA_MULT_ADD (Arria V, Stratix V, at Cyclone V device) IP core ay nagbibigay-daan sa iyo na magpatupad ng multiplier-adder.
Ipinapakita ng sumusunod na figure ang mga port para sa Intel FPGA Multiply Adder o ALTERA_MULT_ADD IP core.
Intel FPGA Multiply Adder o ALTERA_MULT_ADD Ports
Intel FPGA Multiply Adder o ALTERA_MULT_ADD
dataa[] signa datab[] signb datac[] coefsel0[] coefsel1[] coefsel2[] coefsel3[] addnsub1 addnsub3 aclr/sclr[] scanina[] clock0 clock1 clock2 ena0 ena1 ena2 sload_accum
accum_sload chainin[]
scanouta[] resulta[]
aclr0 aclr1
inst
Ang isang multiplier-adder ay tumatanggap ng mga pares ng mga input, pinarami ang mga halaga nang sama-sama at pagkatapos ay idinaragdag o binabawasan mula sa mga produkto ng lahat ng iba pang mga pares.
Kung ang lahat ng lapad ng input ng data ay 9-bits ang lapad o mas maliit, ginagamit ng function ang 9 x 9 bit input multiplier configuration sa DSP block para sa mga device na sumusuporta sa 9 x 9 configuration. Kung hindi, ang DSP block ay gumagamit ng 18 × 18-bit input multiplier upang iproseso ang data na may mga lapad sa pagitan ng 10 bits at 18 bits. Kung maraming Intel FPGA Multiply Adder o ALTERA_MULT_ADD IP core ang nangyari sa isang disenyo, ang mga function ay ipinamamahagi sa bilang
Intel Corporation. Lahat ng karapatan ay nakalaan. Ang Intel, ang logo ng Intel, at iba pang mga marka ng Intel ay mga trademark ng Intel Corporation o mga subsidiary nito. Ginagarantiyahan ng Intel ang pagganap ng mga produktong FPGA at semiconductor nito sa kasalukuyang mga detalye alinsunod sa karaniwang warranty ng Intel, ngunit inilalaan ang karapatang gumawa ng mga pagbabago sa anumang produkto at serbisyo anumang oras nang walang abiso. Walang pananagutan o pananagutan ang Intel na nagmumula sa aplikasyon o paggamit ng anumang impormasyon, produkto, o serbisyong inilarawan dito maliban kung hayagang sinang-ayunan ng Intel. Pinapayuhan ang mga customer ng Intel na kunin ang pinakabagong bersyon ng mga detalye ng device bago umasa sa anumang nai-publish na impormasyon at bago maglagay ng mga order para sa mga produkto o serbisyo. *Ang ibang mga pangalan at tatak ay maaaring i-claim bilang pag-aari ng iba.
ISO 9001:2015 Nakarehistro
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
maraming iba't ibang mga bloke ng DSP hangga't maaari upang ang pagruruta sa mga bloke na ito ay mas nababaluktot. Ang mas kaunting multiplier sa bawat bloke ng DSP ay nagbibigay-daan sa higit pang mga pagpipilian sa pagruruta sa block sa pamamagitan ng pagliit ng mga path sa iba pang bahagi ng device.
Ang mga rehistro at dagdag na rehistro ng pipeline para sa mga sumusunod na signal ay inilalagay din sa loob ng bloke ng DSP: · Pag-input ng data · Pinili na pinirmahan o hindi pinirmahan · Piliin o idagdag o ibawas · Mga produkto ng mga multiplier
Sa kaso ng resulta ng output, ang unang rehistro ay inilalagay sa bloke ng DSP. Gayunpaman, ang mga dagdag na rehistro ng latency ay inilalagay sa mga elemento ng lohika sa labas ng bloke. Ang peripheral sa block ng DSP, kabilang ang mga input ng data sa multiplier, mga input ng signal ng kontrol, at mga output ng adder, ay gumagamit ng regular na pagruruta upang makipag-ugnayan sa iba pang bahagi ng device. Ang lahat ng koneksyon sa function ay gumagamit ng nakalaang pagruruta sa loob ng DSP block. Kasama sa nakalaang pagrurutang ito ang mga shift register chain kapag pinili mo ang opsyong ilipat ang nakarehistrong data ng input ng multiplier mula sa isang multiplier patungo sa isang katabing multiplier.
Para sa higit pang impormasyon tungkol sa DSP blocks sa alinman sa Stratix V, at Arria V na serye ng device, sumangguni sa DSP Blocks na kabanata ng kani-kanilang handbook sa Literature and Technical Documentation page.
Kaugnay na Impormasyon AN 306: Pagpapatupad ng Mga Multiplier sa Mga FPGA Device
Nagbibigay ng higit pang impormasyon tungkol sa pagpapatupad ng mga multiplier gamit ang DSP at memory block sa mga Intel FPGA device.
8.1. Mga tampok
Ang Intel FPGA Multiply Adder o ALTERA_MULT_ADD IP core ay nag-aalok ng mga sumusunod na feature: · Bumubuo ng multiplier para magsagawa ng multiplication operations ng dalawang complex
Mga numero Tandaan: Kapag nagtatayo ng mga multiplier na mas malaki kaysa sa laki na sinusuportahan ng katutubong maaaring mayroong/
ay magiging epekto sa pagganap na nagreresulta mula sa pag-cascade ng mga bloke ng DSP. · Sinusuportahan ang mga lapad ng data na 1 256 bits · Sinusuportahan ang format ng representasyon ng data na nilagdaan at hindi nilagdaan · Sinusuportahan ang pipelining na may nako-configure na latency ng input · Nagbibigay ng opsyon na dynamic na lumipat sa pagitan ng signed at unsigned na suporta sa data · Nagbibigay ng opsyon na dynamic na lumipat sa pagitan ng add at subtract operation · Sinusuportahan opsyonal na asynchronous at synchronous clear at clock enable input ports · Sinusuportahan ang systolic delay register mode · Sinusuportahan ang pre-adder na may 8 pre-load coefficients bawat multiplier · Sinusuportahan ang pre-load constant upang umakma sa feedback ng accumulator
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 37
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.1. Pre-adder
Sa pre-adder, ang mga karagdagan o pagbabawas ay ginagawa bago ang pagpapakain sa multiplier.
Mayroong limang pre-adder mode: · Simple mode · Coefficient mode · Input mode · Square mode · Constant mode
Tandaan:
Kapag ginamit ang pre-adder (pre-adder coefficient/input/square mode), ang lahat ng data input sa multiplier ay dapat may parehong setting ng orasan.
8.1.1.1. Pre-adder Simple Mode
Sa mode na ito, ang parehong mga operand ay nagmula sa mga input port at ang pre-adder ay hindi ginagamit o na-bypass. Ito ang default na mode.
Figure 10. Pre-adder Simple Mode
a0 b0
Mult0
resulta
8.1.1.2. Pre-adder Coefficient Mode
Sa mode na ito, ang isang multiplier operand ay nakukuha mula sa pre-adder, at ang isa pang operand ay nakukuha mula sa internal coefficient storage. Ang coefficient storage ay nagbibigay-daan sa hanggang 8 preset constants. Ang coefficient selection signal ay coefsel[0..3].
Ang mode na ito ay ipinahayag sa sumusunod na equation.
Ang sumusunod ay nagpapakita ng pre-adder coefficient mode ng isang multiplier.
Figure 11. Pre-adder Coefficient Mode
Preadder
a0
Mult0
+/-
resulta
b0
coefsel0 coef
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 38
Magpadala ng Feedback
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.1.3. Pre-adder Input Mode Sa mode na ito, ang isang multiplier operand ay nakukuha mula sa pre-adder, at ang isa pang operand ay nakukuha mula sa datac[] input port. Ang mode na ito ay ipinahayag sa sumusunod na equation.
Ang sumusunod ay nagpapakita ng pre-adder input mode ng isang multiplier.
Figure 12. Pre-adder Input Mode
a0 b0
Mult0
+/-
resulta
c0
8.1.1.4. Pre-adder Square Mode Ang mode na ito ay ipinahayag sa sumusunod na equation.
Ang sumusunod ay nagpapakita ng pre-adder square mode ng dalawang multiplier.
Figure 13. Pre-adder Square Mode
a0 b0
Mult0
+/-
resulta
8.1.1.5. Pre-adder Constant Mode
Sa mode na ito, ang isang multiplier operand ay nakukuha mula sa input port, at ang isa pang operand ay nakukuha mula sa internal coefficient storage. Ang coefficient storage ay nagbibigay-daan sa hanggang 8 preset constants. Ang coefficient selection signal ay coefsel[0..3].
Ang mode na ito ay ipinahayag sa sumusunod na equation.
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 39
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Ang sumusunod na figure ay nagpapakita ng pre-adder constant mode ng isang multiplier.
Figure 14. Pre-adder Constant Mode
a0
Mult0
resulta
coefsel0
coef
8.1.2. Systolic Delay Register
Sa isang systolic na arkitektura, ang data ng input ay ipinapasok sa isang kaskad ng mga rehistro na kumikilos bilang isang buffer ng data. Ang bawat rehistro ay naghahatid ng isang input sample sa isang multiplier kung saan ito ay pinarami ng kaukulang coefficient. Iniimbak ng chain adder ang unti-unting pinagsamang mga resulta mula sa multiplier at ang dating nakarehistrong resulta mula sa chainin[] input port upang mabuo ang huling resulta. Ang bawat multiply-add na elemento ay dapat na maantala ng isang solong cycle upang ang mga resulta ay angkop na mag-synchronize kapag pinagsama-sama. Ang bawat sunud-sunod na pagkaantala ay ginagamit upang tugunan ang parehong coefficient memory at ang data buffer ng kani-kanilang mga elemento ng multiply-add. Para kay example, isang solong pagkaantala para sa pangalawang multiply add element, dalawang pagkaantala para sa ikatlong multiply-add element, at iba pa.
Figure 15. Systolic Registers
Mga rehistro ng systolic
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)
Kinakatawan ng x(t) ang mga resulta mula sa tuluy-tuloy na stream ng input samples at y(t)
kumakatawan sa kabuuan ng isang set ng input samples, at sa paglipas ng panahon, pinarami ng kanilang
kaukulang coefficient. Ang mga resulta ng input at output ay dumadaloy mula kaliwa hanggang kanan. Ang c(0) hanggang c(N-1) ay tumutukoy sa mga coefficient. Ang mga rehistro ng systolic delay ay tinutukoy ng S-1, samantalang ang 1 ay kumakatawan sa isang solong pagkaantala ng orasan. Ang mga rehistro ng pagkaantala ng systolic ay idinagdag sa
ang mga input at output para sa pipelining sa paraang tinitiyak ang mga resulta mula sa
multiplier operand at ang mga naipon na sums ay mananatiling magkakasabay. Ang elementong ito sa pagpoproseso
ay kinokopya upang bumuo ng isang circuit na kumukwenta sa pag-filter ng function. Ang function na ito ay
ipinahayag sa sumusunod na equation.
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 40
Magpadala ng Feedback
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Ang N ay kumakatawan sa bilang ng mga cycle ng data na pumasok sa accumulator, ang y(t) ay kumakatawan sa output sa oras na t, A(t) ay kumakatawan sa input sa oras na t, at B(i) ang mga coefficient. Ang t at i sa equation ay tumutugma sa isang partikular na instant sa oras, upang makalkula ang output sample y(t) sa oras t, isang pangkat ng input samples sa N iba't ibang mga punto sa oras, o A(n), A(n-1), A(n-2), … A(n-N+1) ay kinakailangan. Ang pangkat ng N input sampAng mga les ay pinarami ng N coefficients at pinagsama-sama upang mabuo ang huling resulta na y.
Ang systolic register architecture ay magagamit lamang para sa sum-of-2 at sum-of-4 na mga mode. Para sa parehong systolic register architecture mode, ang unang chainin signal ay kailangang itali sa 0.
Ang sumusunod na figure ay nagpapakita ng systolic delay register na pagpapatupad ng 2 multiplier.
Figure 16. Pagpapatupad ng Systolic Delay Register ng 2 Multiplier
chainin
a0
Mult0
+/-
b0
a1
Mult1
+/-
b1
resulta
Ang kabuuan ng dalawang multiplier ay ipinahayag sa sumusunod na equation.
Ang sumusunod na figure ay nagpapakita ng systolic delay register na pagpapatupad ng 4 multiplier.
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 41
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Figure 17. Pagpapatupad ng Systolic Delay Register ng 4 Multiplier
chainin
a0
Mult0
+/-
b0
a1
Mult1
+/-
b1
a2
Mult2
+/-
b2
a3
Mult3
+/-
b3
resulta
Ang kabuuan ng apat na multiplier ay ipinahayag sa sumusunod na equation. Figure 18. Kabuuan ng 4 na Multiplier
Ang sumusunod ay naglilista ng advantages ng pagpapatupad ng systolic register: · Binabawasan ang paggamit ng mapagkukunan ng DSP · Pinapagana ang mahusay na pagmamapa sa bloke ng DSP gamit ang istraktura ng chain adder
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 42
Magpadala ng Feedback
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.3. Pre-load Constant
Kinokontrol ng pre-load constant ang accumulator operand at pinupunan ang accumulator feedback. Ang wastong LOADCONST_VALUE ay mula sa 0. Ang pare-parehong halaga ay katumbas ng 64N, kung saan N = LOADCONST_VALUE. Kapag ang LOADCONST_VALUE ay nakatakda sa 2, ang pare-parehong halaga ay katumbas ng 64. Ang function na ito ay maaaring gamitin bilang biased rounding.
Ang sumusunod na figure ay nagpapakita ng pre-load constant na pagpapatupad.
Figure 19. Pre-load Constant
Feedback ng accumulator
pare-pareho
a0
Mult0
+/-
b0
a1
Mult1
+/b1
resulta
accum_sload sload_accum
Sumangguni sa mga sumusunod na IP core para sa iba pang mga pagpapatupad ng multiplier: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. Dobleng Accumulator
Ang tampok na double accumulator ay nagdaragdag ng karagdagang rehistro sa path ng feedback ng accumulator. Ang double accumulator register ay sumusunod sa output register, na kinabibilangan ng clock, clock enable, at aclr. Ang karagdagang rehistro ng accumulator ay nagbabalik ng resulta na may pagkaantala ng isang ikot. Binibigyang-daan ka ng feature na ito na magkaroon ng dalawang channel ng accumulator na may parehong bilang ng mapagkukunan.
Ang sumusunod na figure ay nagpapakita ng double accumulator na pagpapatupad.
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 43
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Larawan 20. Double Accumulator
Dou ble Accu mulator Register
Accu mulator feedba ck
a0
Mult0
+/-
b0
a1
Mult1
+/b1
Resulta ng Output Output Register
8.2. Verilog HDL Prototype
Mahahanap mo ang Intel FPGA Multiply Adder o ALTERA_MULT_ADD Verilog HDL prototype file (altera_mult_add_rtl.v) sa direktoryo ng mga aklatan megafunctions.
8.3. Deklarasyon ng Bahagi ng VHDL
Ang deklarasyon ng bahagi ng VHDL ay matatagpuan sa altera_lnsim_components.vhd sa librariesvhdl altera_lnsim na direktoryo.
8.4. VHDL LIBRARY_USE Deklarasyon
Ang deklarasyon ng VHDL LIBRARY-USE ay hindi kinakailangan kung gagamitin mo ang VHDL Component Declaration.
LIBRARY altera_mf; GAMITIN ang altera_mf.altera_mf_components.all;
8.5. Mga senyales
Inililista ng mga sumusunod na talahanayan ang input at output signal ng Multiply Adder Intel FPGA IPor ALTERA_MULT_ADD IP core.
Talahanayan 28. Multiply Adder Intel FPGA IPor ALTERA_MULT_ADD Input Signals
Signal
Kinakailangan
Paglalarawan
dataa_0[]/dataa_1[]/
Oo
dataa_2[]/dataa_3[]
Pag-input ng data sa multiplier. Input port [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1 … 0] ang lapad
nagpatuloy...
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 44
Magpadala ng Feedback
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[] orasan[1:0] aclr[1:0] sclr[1:0] ena [1:0] signa
tandab
scanina[] accum_sload
Kinakailangan Oo Hindi
Hindi hindi Hindi Hindi Hindi
Hindi
Hindi Hindi
Paglalarawan
Ang modelo ng simulation para sa IP na ito ay sumusuporta sa hindi natukoy na halaga ng input (X) sa mga signal na ito. Kapag nagbigay ka ng X value sa mga signal na ito, ang X value ay pinapalaganap sa mga output signal.
Pag-input ng data sa multiplier. Input signal [NUMBER_OF_MULTIPLIERS * WIDTH_B – 1 … 0] wide Ang simulation model para sa IP na ito ay sumusuporta sa hindi natukoy na input value (X) sa mga signal na ito. Kapag nagbigay ka ng X value sa mga signal na ito, ang X value ay pinapalaganap sa mga output signal.
Pag-input ng data sa multiplier. Input signal [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] wide Piliin ang INPUT para sa Select preadder mode parameter para paganahin ang mga signal na ito. Ang modelo ng simulation para sa IP na ito ay sumusuporta sa hindi natukoy na halaga ng input (X) sa mga signal na ito. Kapag nagbigay ka ng X value sa mga signal na ito, ang X value ay pinapalaganap sa mga output signal.
Clock input port sa kaukulang rehistro. Ang signal na ito ay maaaring gamitin ng anumang rehistro sa IP core. Ang modelo ng simulation para sa IP na ito ay sumusuporta sa hindi natukoy na halaga ng input (X) sa mga signal na ito. Kapag nagbigay ka ng X value sa mga signal na ito, ang X value ay pinapalaganap sa mga output signal.
Asynchronous na malinaw na input sa kaukulang rehistro. Ang modelo ng simulation para sa IP na ito ay sumusuporta sa hindi natukoy na halaga ng input (X) sa mga signal na ito. Kapag nagbigay ka ng X value sa mga signal na ito, ang X value ay pinapalaganap sa mga output signal.
Kasabay na malinaw na input sa kaukulang rehistro. Ang modelo ng simulation para sa IP na ito ay sumusuporta sa hindi natukoy na halaga ng input X sa mga signal na ito. Kapag nagbigay ka ng X value sa mga signal na ito, ang X value ay pinapalaganap sa mga output signal
Paganahin ang input ng signal sa kaukulang rehistro. Ang modelo ng simulation para sa IP na ito ay sumusuporta sa hindi natukoy na halaga ng input (X) sa mga signal na ito. Kapag nagbigay ka ng X value sa mga signal na ito, ang X value ay pinapalaganap sa mga output signal.
Tinutukoy ang numerical na representasyon ng multiplier input A. Kung mataas ang signal ng signal, ituturing ng multiplier ang multiplier input A na signal bilang isang sign na numero. Kung mababa ang signal ng signa, ituturing ng multiplier ang signal ng multiplier input A bilang isang unsigned number. Piliin ang VARIABLE para sa Ano ang format ng representasyon para sa parameter ng Multipliers A input upang paganahin ang signal na ito. Ang modelo ng simulation para sa IP na ito ay sumusuporta sa hindi natukoy na halaga ng input (X) sa signal na ito. Kapag nagbigay ka ng X value sa input na ito, ang X value ay pinapalaganap sa mga output signal.
Tinutukoy ang numerical na representasyon ng multiplier input B signal. Kung mataas ang signal ng signb, ituturing ng multiplier ang multiplier input B signal bilang isang signed two's complement number. Kung mababa ang signal ng signb, ituturing ng multiplier ang multiplier input B signal bilang isang unsigned number. Ang modelo ng simulation para sa IP na ito ay sumusuporta sa hindi natukoy na halaga ng input (X) sa signal na ito. Kapag nagbigay ka ng X value sa input na ito, ang X value ay pinapalaganap sa mga output signal.
Input para sa scan chain A. Input signal [WIDTH_A – 1, … 0] ang lapad. Kapag ang INPUT_SOURCE_A na parameter ay may value na SCANA, kinakailangan ang scanina[] signal.
Dinamikong tinutukoy kung pare-pareho ang value ng accumulator. Kung ang accum_sload signal ay mababa, ang multiplier na output ay na-load sa accumulator. Huwag gumamit ng accum_sload at sload_accum nang sabay.
nagpatuloy...
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 45
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Signal sload_accum
chainin[] addnsub1
addnsub3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]
Kinakailangan ang No
Hindi Hindi
Hindi
Hindi hindi hindi hindi
Paglalarawan
Ang modelo ng simulation para sa IP na ito ay sumusuporta sa hindi natukoy na halaga ng input (X) sa signal na ito. Kapag nagbigay ka ng X value sa input na ito, ang X value ay pinapalaganap sa mga output signal.
Dinamikong tinutukoy kung pare-pareho ang value ng accumulator. Kung ang sload_accum signal ay mataas, pagkatapos ay ang multiplier output ay ikinarga sa accumulator. Huwag gumamit ng accum_sload at sload_accum nang sabay. Ang modelo ng simulation para sa IP na ito ay sumusuporta sa hindi natukoy na halaga ng input (X) sa signal na ito. Kapag nagbigay ka ng X value sa input na ito, ang X value ay pinapalaganap sa mga output signal.
Adder result input bus mula sa naunang stage. Input signal [WIDTH_CHAININ – 1, … 0] ang lapad.
Magsagawa ng pagdaragdag o pagbabawas sa mga output mula sa unang pares ng mga multiplier. Input 1 sa addnsub1 signal para idagdag ang mga output mula sa unang pares ng multiplier. Input 0 sa addnsub1 signal para ibawas ang mga output mula sa unang pares ng multiplier. Ang modelo ng simulation para sa IP na ito ay sumusuporta sa hindi natukoy na halaga ng input (X) sa signal na ito. Kapag nagbigay ka ng X value sa input na ito, ang X value ay pinapalaganap sa mga output signal.
Magsagawa ng pagdaragdag o pagbabawas sa mga output mula sa unang pares ng mga multiplier. Input 1 sa addnsub3 signal para idagdag ang mga output mula sa pangalawang pares ng multiplier. Input 0 sa addnsub3 signal para ibawas ang mga output mula sa unang pares ng multiplier. Ang modelo ng simulation para sa IP na ito ay sumusuporta sa hindi natukoy na halaga ng input (X) sa signal na ito. Kapag nagbigay ka ng X value sa input na ito, ang X value ay pinapalaganap sa mga output signal.
Coefficient input signal[0:3] sa unang multiplier. Ang modelo ng simulation para sa IP na ito ay sumusuporta sa hindi natukoy na halaga ng input (X) sa signal na ito. Kapag nagbigay ka ng X value sa input na ito, ang X value ay pinapalaganap sa mga output signal.
Coefficient input signal[0:3]sa pangalawang multiplier. Ang modelo ng simulation para sa IP na ito ay sumusuporta sa hindi natukoy na halaga ng input (X) sa signal na ito. Kapag nagbigay ka ng X value sa input na ito, ang X value ay pinapalaganap sa mga output signal.
Coefficient input signal[0:3]sa ikatlong multiplier. Ang modelo ng simulation para sa IP na ito ay sumusuporta sa hindi natukoy na halaga ng input (X) sa signal na ito. Kapag nagbigay ka ng X value sa input na ito, ang X value ay pinapalaganap sa mga output signal.
Coefficient input signal [0:3] sa ikaapat na multiplier. Ang modelo ng simulation para sa IP na ito ay sumusuporta sa hindi natukoy na halaga ng input (X) sa signal na ito. Kapag nagbigay ka ng X value sa input na ito, ang X value ay pinapalaganap sa mga output signal.
Talahanayan 29. Multiply Adder Intel FPGA IP Output Signals
Signal
Kinakailangan
Paglalarawan
resulta []
Oo
Multiplier na output signal. Output signal [WIDTH_RESULT – 1 … 0] ang lapad
Ang modelo ng simulation para sa IP na ito ay sumusuporta sa hindi natukoy na halaga ng output (X). Kapag nagbigay ka ng X value bilang input, ang X value ay pinapalaganap sa signal na ito.
scanouta []
Hindi
Output ng scan chain A. Output signal [WIDTH_A – 1..0] ang lapad.
Pumili ng higit sa 2 para sa mga bilang ng mga multiplier at piliin ang I-scan ang input ng chain para sa Ano ang input A ng multiplier na konektado sa parameter upang paganahin ang signal na ito.
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 46
Magpadala ng Feedback
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.6. Parameter
8.6.1. Pangkalahatang tab
Talahanayan 30. Pangkalahatang Tab
Parameter
Parameter na Binuo ng IP
Halaga
Ano ang bilang ng mga multiplier?
bilang_ng_m 1 – 4 na ultiplier
Gaano dapat kalawak ang A width_a input bus?
1 – 256
Gaano dapat kalawak ang B width_b input bus?
1 – 256
Gaano dapat kalawak ang 'resulta' na output bus?
width_result
1 – 256
Gumawa ng nauugnay na orasan na paganahin para sa bawat orasan
gui_associate Naka-on d_clock_enabl Naka-off e
8.6.2. Tab na Mga Dagdag na Mode
Talahanayan 31. Tab na Mga Ekstrang Mode
Parameter
Parameter na Binuo ng IP
Halaga
Configuration ng mga Output
Irehistro ang output ng adder unit
gui_output_re Naka-on
gister
Naka-off
Ano ang pinagmulan para sa input ng orasan?
gui_output_re gister_clock
Orasan0 Orasan1 Orasan2
Ano ang pinagmulan para sa asynchronous na malinaw na input?
gui_output_re gister_aclr
WALA ACLR0 ACLR1
Ano ang pinagmulan para sa kasabay na malinaw na input?
gui_output_re gister_sclr
WALA SCLR0 SCLR1
Pagpapatakbo ng Adder
Anong operasyon ang dapat gawin sa mga output ng unang pares ng multiplier?
gui_multiplier 1_direction
ADD, SUB, VARIABLE
Default na Halaga 1
16
Paglalarawan
Bilang ng mga multiplier na idaragdag nang magkasama. Ang mga value ay 1 hanggang 4. Tukuyin ang lapad ng dataa[] port.
16
Tukuyin ang lapad ng port ng datab[].
32
Tukuyin ang lapad ng resulta[] port.
Naka-off
Piliin ang opsyong ito para gumawa ng orasan na paganahin
para sa bawat orasan.
Default na Halaga
Paglalarawan
Wala sa Orasan0
WALA NG WALA
Piliin ang opsyong ito para paganahin ang output register ng adder module.
Piliin ang Clock0 , Clock1 o Clock2 upang paganahin at tukuyin ang pinagmulan ng orasan para sa mga rehistro ng output. Dapat mong piliin ang Register output ng adder unit upang paganahin ang parameter na ito.
Tinutukoy ang asynchronous na malinaw na pinagmulan para sa rehistro ng output ng adder. Dapat mong piliin ang Register output ng adder unit upang paganahin ang parameter na ito.
Tinutukoy ang kasabay na malinaw na pinagmulan para sa rehistro ng output ng adder. Dapat mong piliin ang Register output ng adder unit upang paganahin ang parameter na ito.
ADD
Piliin ang pagdaragdag o pagbabawas na gagawin para sa mga output sa pagitan ng una at pangalawang multiplier.
· Piliin ang ADD para magsagawa ng pagpapatakbo ng karagdagan.
· Piliin ang SUB para magsagawa ng operasyon ng pagbabawas.
· Piliin ang VARIABLE para gumamit ng addnsub1 port para sa dynamic na kontrol sa karagdagan/pagbabawas.
nagpatuloy...
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 47
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Parameter na Binuo ng IP
Halaga
Magrehistro ng 'addnsub1' input
gui_addnsub_ On multiplier_reg Off ister1
Ano ang pinagmulan para sa input ng orasan?
gui_addnsub_ multiplier_reg ister1_clock
Orasan0 Orasan1 Orasan2
Ano ang pinagmulan para sa asynchronous na malinaw na input?
gui_addnsub_ multiplier_aclr 1
WALA ACLR0 ACLR1
Ano ang pinagmulan para sa kasabay na malinaw na input?
gui_addnsub_ multiplier_sclr 1
WALA SCLR0 SCLR1
Anong operasyon ang dapat gawin sa mga output ng pangalawang pares ng multiplier?
gui_multiplier 3_direction
ADD, SUB, VARIABLE
Magrehistro ng 'addnsub3' input
gui_addnsub_ On multiplier_reg Off ister3
Ano ang pinagmulan para sa input ng orasan?
gui_addnsub_ multiplier_reg ister3_clock
Orasan0 Orasan1 Orasan2
Default na Halaga
Off Clock0 WALA WALA DAGDAG
Wala sa Orasan0
Paglalarawan
Kapag napili ang VARIABLE na value: · I-drive ang addnsub1 signal sa mataas para sa
pagpapatakbo ng karagdagan. · I-drive ang addnsub1 signal sa mababa para sa
operasyon ng pagbabawas. Dapat kang pumili ng higit sa dalawang multiplier upang paganahin ang parameter na ito.
Piliin ang opsyong ito para paganahin ang input register para sa addnsub1 port. Dapat mong piliin ang VARIABLE para sa Anong operasyon ang dapat gawin sa mga output ng unang pares ng multiplier upang paganahin ang parameter na ito.
Piliin ang Clock0 , Clock1 o Clock2 para tukuyin ang input clock signal para sa addnsub1 register. Dapat mong piliin ang Register 'addnsub1' input upang paganahin ang parameter na ito.
Tinutukoy ang asynchronous na malinaw na pinagmulan para sa addnsub1 register. Dapat mong piliin ang Register 'addnsub1' input upang paganahin ang parameter na ito.
Tinutukoy ang kasabay na malinaw na pinagmulan para sa addnsub1 register. Dapat mong piliin ang Register 'addnsub1' input upang paganahin ang parameter na ito.
Piliin ang pagdaragdag o pagbabawas na gagawin para sa mga output sa pagitan ng ikatlo at ikaapat na multiplier. · Piliin ang ADD para magsagawa ng karagdagan
operasyon. · Piliin ang SUB para magsagawa ng pagbabawas
operasyon. · Piliin ang VARIABLE para magamit ang addnsub1
port para sa dynamic na kontrol sa karagdagan/pagbabawas. Kapag napili ang VARIABLE na value: · I-drive ang addnsub1 signal sa mataas para sa pagpapatakbo ng karagdagan. · I-drive ang addnsub1 signal sa mababa para sa operasyon ng pagbabawas. Dapat mong piliin ang halaga 4 para sa Ano ang bilang ng mga multiplier? upang paganahin ang parameter na ito.
Piliin ang opsyong ito para paganahin ang input register para sa addnsub3 signal. Dapat mong piliin ang VARIABLE para sa Anong operasyon ang dapat gawin sa mga output ng pangalawang pares ng multiplier upang paganahin ang parameter na ito.
Piliin ang Clock0 , Clock1 o Clock2 para tukuyin ang input clock signal para sa addnsub3 register. Dapat mong piliin ang Register 'addnsub3′ input upang paganahin ang parameter na ito.
nagpatuloy...
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 48
Magpadala ng Feedback
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Ano ang pinagmulan para sa asynchronous na malinaw na input?
Parameter na Binuo ng IP
Halaga
gui_addnsub_ multiplier_aclr 3
WALA ACLR0 ACLR1
Ano ang pinagmulan para sa kasabay na malinaw na input?
gui_addnsub_ multiplier_sclr 3
WALA SCLR0 SCLR1
Polarity Enable `use_subadd'
gui_use_subn Naka-on
idagdag
Naka-off
8.6.3. Tab na Mga Multiplier
Talahanayan 32. Multipliers Tab
Parameter
Parameter na Binuo ng IP
Halaga
Ano ang
gui_represent
pormat ng representasyon ation_a
para sa mga Multiplier A input?
NILAGDAAN, HINDI NILAGDAAN, VARIABLE
Irehistro ang input ng `signa'
Naka-on ang gui_register_s
igna
Naka-off
Ano ang pinagmulan para sa input ng orasan?
gui_register_s igna_clock
Orasan0 Orasan1 Orasan2
Ano ang pinagmulan para sa asynchronous na malinaw na input?
gui_register_s igna_aclr
WALA ACLR0 ACLR1
Ano ang pinagmulan para sa kasabay na malinaw na input?
gui_register_s igna_sclr
WALA SCLR0 SCLR1
Ano ang
gui_represent
pormat ng representasyon ation_b
para sa mga input ng Multipliers B?
NILAGDAAN, HINDI NILAGDAAN, VARIABLE
Irehistro ang input na `signb'
Naka-on ang gui_register_s
iignb
Naka-off
Default na Halaga WALA
WALA
Paglalarawan
Tinutukoy ang asynchronous na malinaw na pinagmulan para sa addnsub3 register. Dapat mong piliin ang Register 'addnsub3' input upang paganahin ang parameter na ito.
Tinutukoy ang kasabay na malinaw na pinagmulan para sa addnsub3 register. Dapat mong piliin ang Register 'addnsub3′ input upang paganahin ang parameter na ito.
Naka-off
Piliin ang opsyong ito para baligtarin ang function
ng addnsub input port.
Magmaneho ng addnsub sa mataas para sa operasyon ng pagbabawas.
I-drive ang addnsub sa mababa para sa pagpapatakbo ng karagdagan.
Default na Halaga
Paglalarawan
UNSIGNED Tukuyin ang format ng representasyon para sa multiplier A input.
Naka-off
Piliin ang opsyong ito para paganahin ang signa
magparehistro.
Dapat mong piliin ang halaga ng VARIABLE para sa Ano ang format ng representasyon para sa mga input ng Multiplier A? parameter upang paganahin ang opsyong ito.
Orasan0
Piliin ang Clock0 , Clock1 o Clock2 para paganahin at tukuyin ang input clock signal para sa signa register.
Dapat mong piliin ang Register `signa' input upang paganahin ang parameter na ito.
WALA
Tinutukoy ang asynchronous na malinaw na pinagmulan para sa signa register.
Dapat mong piliin ang Register `signa' input upang paganahin ang parameter na ito.
WALA
Tinutukoy ang kasabay na malinaw na pinagmulan para sa signa register.
Dapat mong piliin ang Register `signa' input upang paganahin ang parameter na ito.
UNSIGNED Tukuyin ang format ng representasyon para sa multiplier B input.
Naka-off
Piliin ang opsyong ito para paganahin ang signb
magparehistro.
nagpatuloy...
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 49
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Parameter na Binuo ng IP
Halaga
Default na Halaga
Ano ang pinagmulan para sa input ng orasan?
gui_register_s ignb_clock
Orasan0 Orasan1 Orasan2
Orasan0
Ano ang pinagmulan para sa asynchronous na malinaw na input?
gui_register_s ignb_aclr
WALA ACLR0 ACLR1
Ano ang pinagmulan para sa kasabay na malinaw na input?
gui_register_s ignb_sclr
WALA SCLR0 SCLR1
Configuration ng Input
Irehistro ang input A ng multiplier
Ano ang pinagmulan para sa input ng orasan?
gui_input_reg Naka-on
ister_a
Naka-off
gui_input_reg ister_a_clock
Orasan0 Orasan1 Orasan2
WALA NG WALA
Wala sa Orasan0
Ano ang pinagmulan para sa asynchronous na malinaw na input?
gui_input_reg ister_a_aclr
WALA ACLR0 ACLR1
Ano ang pinagmulan para sa kasabay na malinaw na input?
gui_input_reg ister_a_sclr
WALA SCLR0 SCLR1
Irehistro ang input B ng multiplier
Ano ang pinagmulan para sa input ng orasan?
gui_input_reg Naka-on
ister_b
Naka-off
gui_input_reg ister_b_clock
Orasan0 Orasan1 Orasan2
WALA WALA Off Clock0
Ano ang pinagmulan para sa asynchronous na malinaw na input?
gui_input_reg ister_b_aclr
WALA ACLR0 ACLR1
WALA
Ano ang pinagmulan para sa kasabay na malinaw na input?
gui_input_reg ister_b_sclr
WALA SCLR0 SCLR1
WALA
Ano ang input A ng multiplier na konektado sa?
gui_multiplier Multiplier input Multiplier
_a_input
I-scan ang input ng chain ng input
Paglalarawan
Dapat mong piliin ang halaga ng VARIABLE para sa Ano ang format ng representasyon para sa mga input ng Multiplier B? parameter upang paganahin ang opsyong ito.
Piliin ang Clock0 , Clock1 o Clock2 para paganahin at tukuyin ang input clock signal para sa signb register. Dapat mong piliin ang Register `signb' input upang paganahin ang parameter na ito.
Tinutukoy ang asynchronous na malinaw na pinagmulan para sa signb register. Dapat mong piliin ang Register `signb' input upang paganahin ang parameter na ito.
Tinutukoy ang kasabay na malinaw na pinagmulan para sa signb register. Dapat mong piliin ang Register `signb' input upang paganahin ang parameter na ito.
Piliin ang opsyong ito para paganahin ang input register para sa data ng input bus.
Piliin ang Clock0 , Clock1 o Clock2 upang paganahin at tukuyin ang register input clock signal para sa data ng input bus. Dapat mong piliin ang Register input A ng multiplier upang paganahin ang parameter na ito.
Tinutukoy ang rehistro ng asynchronous na malinaw na pinagmulan para sa dataa input bus. Dapat mong piliin ang Register input A ng multiplier upang paganahin ang parameter na ito.
Tinutukoy ang rehistro ng kasabay na malinaw na pinagmulan para sa dataa input bus. Dapat mong piliin ang Register input A ng multiplier upang paganahin ang parameter na ito.
Piliin ang opsyong ito para paganahin ang input register para sa datab input bus.
Piliin ang Clock0 , Clock1 o Clock2 upang paganahin at tukuyin ang register input clock signal para sa datab input bus. Dapat mong piliin ang Register input B ng multiplier upang paganahin ang parameter na ito.
Tinutukoy ang rehistro ng asynchronous na malinaw na pinagmulan para sa datab input bus. Dapat mong piliin ang Register input B ng multiplier upang paganahin ang parameter na ito.
Tinutukoy ang rehistro ng kasabay na malinaw na pinagmulan para sa datab input bus. Dapat mong piliin ang Register input B ng multiplier upang paganahin ang parameter na ito.
Piliin ang input source para sa input A ng multiplier.
nagpatuloy...
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 50
Magpadala ng Feedback
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Parameter na Binuo ng IP
Halaga
Scanout A Register Configuration
Irehistro ang output ng scan chain
gui_scanouta Naka-on
_magrehistro
Naka-off
Ano ang pinagmulan para sa input ng orasan?
gui_scanouta _register_cloc k
Orasan0 Orasan1 Orasan2
Ano ang pinagmulan para sa asynchronous na malinaw na input?
gui_scanouta _register_aclr
WALA ACLR0 ACLR1
Ano ang pinagmulan para sa kasabay na malinaw na input?
gui_scanouta _register_sclr
WALA SCLR0 SCLR1
8.6.4. Preadder Tab
Talahanayan 33. Preadder Tab
Parameter
Parameter na Binuo ng IP
Halaga
Piliin ang preadder mode
preadder_mo de
SIMPLE, COEF, INPUT, SQUARE, CONSTANT
Default na Halaga
Paglalarawan
Piliin ang Multiplier input upang gamitin ang data ng input bus bilang source sa multiplier. Piliin ang Scan chain input upang gamitin ang scanin input bus bilang source sa multiplier at paganahin ang scanout output bus. Available ang parameter na ito kapag pinili mo ang 2, 3 o 4 para sa Ano ang bilang ng mga multiplier? parameter.
Wala sa Orasan0 WALA WALA
Piliin ang opsyong ito para paganahin ang output register para sa scanouta output bus.
Dapat mong piliin ang Scan chain input para sa Ano ang input A ng multiplier na nakakonekta? parameter upang paganahin ang opsyong ito.
Piliin ang Clock0 , Clock1 o Clock2 para paganahin at tukuyin ang register input clock signal para sa scanouta output bus.
Dapat mong i-on ang Register output ng scan chain parameter para paganahin ang opsyong ito.
Tinutukoy ang rehistro ng asynchronous na malinaw na pinagmulan para sa scanouta output bus.
Dapat mong i-on ang Register output ng scan chain parameter para paganahin ang opsyong ito.
Tinutukoy ang rehistro ng kasabay na malinaw na pinagmulan para sa scanouta output bus.
Dapat mong piliin ang Register output ng scan chain parameter para paganahin ang opsyong ito.
Default na Halaga
SIMPLE
Paglalarawan
Tinutukoy ang operation mode para sa preadder module. SIMPLE: I-bypass ng mode na ito ang preadder. Ito ang default na mode. COEF: Ginagamit ng mode na ito ang output ng preadder at coefsel input bus bilang mga input sa multiplier. INPUT: Ginagamit ng mode na ito ang output ng preadder at datac input bus bilang mga input sa multiplier. SQUARE: Ginagamit ng mode na ito ang output ng preadder bilang parehong input sa multiplier.
nagpatuloy...
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 51
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Parameter na Binuo ng IP
Halaga
Piliin ang direksyon ng preadder
gui_preadder ADD,
_direksyon
SUB
Gaano dapat kalawak ang mga C width_c input bus?
1 – 256
Data C Input Register Configuration
Magrehistro ng datac input
gui_datac_inp Naka-on
ut_register
Naka-off
Ano ang pinagmulan para sa input ng orasan?
gui_datac_inp ut_register_cl ock
Orasan0 Orasan1 Orasan2
Ano ang pinagmulan para sa asynchronous na malinaw na input?
gui_datac_inp ut_register_a clr
WALA ACLR0 ACLR1
Ano ang pinagmulan para sa kasabay na malinaw na input?
gui_datac_inp ut_register_sc lr
WALA SCLR0 SCLR1
Coefficients
Gaano dapat kalawak ang lapad ng coef?
width_coef
1 – 27
Configuration ng Coef Register
Irehistro ang coefsel input
gui_coef_regi Naka-on
ster
Naka-off
Ano ang pinagmulan para sa input ng orasan?
gui_coef_regi ster_clock
Orasan0 Orasan1 Orasan2
Default na Halaga
ADD
16
Paglalarawan
CONSTANT: Ang mode na ito ay gumagamit ng dataa input bus na may preadder bypassed at coefsel input bus bilang mga input sa multiplier.
Tinutukoy ang pagpapatakbo ng preadder. Upang paganahin ang parameter na ito, piliin ang sumusunod para sa Select preadder mode: · COEF · INPUT · SQUARE o · CONSTANT
Tinutukoy ang bilang ng mga bit para sa C input bus. Dapat mong piliin ang INPUT para sa Select preadder mode upang paganahin ang parameter na ito.
Sa Orasan0 WALA WALA
Piliin ang opsyong ito para paganahin ang input register para sa datac input bus. Dapat mong itakda ang INPUT sa Piliin ang parameter ng preadder mode upang paganahin ang opsyong ito.
Piliin ang Clock0 , Clock1 o Clock2 upang tukuyin ang input clock signal para sa datac input register. Dapat mong piliin ang Register datac input para paganahin ang parameter na ito.
Tinutukoy ang asynchronous na malinaw na pinagmulan para sa datac input register. Dapat mong piliin ang Register datac input para paganahin ang parameter na ito.
Tinutukoy ang kasabay na malinaw na pinagmulan para sa rehistro ng input ng datac. Dapat mong piliin ang Register datac input para paganahin ang parameter na ito.
18
Tinutukoy ang bilang ng mga bit para sa
coefsel input bus.
Dapat mong piliin ang COEF o CONSTANT para sa preadder mode upang paganahin ang parameter na ito.
Sa Orasan0
Piliin ang opsyong ito para paganahin ang input register para sa coefsel input bus. Dapat mong piliin ang COEF o CONSTANT para sa preadder mode upang paganahin ang parameter na ito.
Piliin ang Clock0 , Clock1 o Clock2 upang tukuyin ang input clock signal para sa coefsel input register. Dapat mong piliin ang Irehistro ang coefsel input upang paganahin ang parameter na ito.
nagpatuloy...
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 52
Magpadala ng Feedback
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Ano ang pinagmulan para sa asynchronous na malinaw na input?
Parameter na Binuo ng IP
Halaga
gui_coef_regi ster_aclr
WALA ACLR0 ACLR1
Ano ang pinagmulan para sa kasabay na malinaw na input
gui_coef_regi ster_sclr
WALA SCLR0 SCLR1
Coefficient_0 Configuration
coef0_0 hanggang coef0_7
0x00000 0xFFFFFFFF
Coefficient_1 Configuration
coef1_0 hanggang coef1_7
0x00000 0xFFFFFFFF
Coefficient_2 Configuration
coef2_0 hanggang coef2_7
0x00000 0xFFFFFFFF
Coefficient_3 Configuration
coef3_0 hanggang coef3_7
0x00000 0xFFFFFFFF
8.6.5. Tab ng Accumulator
Talahanayan 34. Tab ng Accumulator
Parameter
Parameter na Binuo ng IP
Halaga
Paganahin ang accumulator?
nagtitipon
OO HINDI
Ano ang uri ng operasyon ng accumulator?
accum_directi ADD,
on
SUB
Default na Halaga WALA
WALA
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0
Paglalarawan
Tinutukoy ang asynchronous na malinaw na pinagmulan para sa coefsel input register. Dapat mong piliin ang Irehistro ang coefsel input upang paganahin ang parameter na ito.
Tinutukoy ang kasabay na malinaw na pinagmulan para sa coefsel input register. Dapat mong piliin ang Irehistro ang coefsel input upang paganahin ang parameter na ito.
Tinutukoy ang mga halaga ng coefficient para sa unang multiplier na ito. Ang bilang ng mga bit ay dapat na kapareho ng tinukoy sa Gaano dapat kalawak ang lapad ng coef? parameter. Dapat mong piliin ang COEF o CONSTANT para sa preadder mode upang paganahin ang parameter na ito.
Tinutukoy ang mga halaga ng coefficient para sa pangalawang multiplier na ito. Ang bilang ng mga bit ay dapat na kapareho ng tinukoy sa Gaano dapat kalawak ang lapad ng coef? parameter. Dapat mong piliin ang COEF o CONSTANT para sa preadder mode upang paganahin ang parameter na ito.
Tinutukoy ang mga halaga ng coefficient para sa ikatlong multiplier na ito. Ang bilang ng mga bit ay dapat na kapareho ng tinukoy sa Gaano dapat kalawak ang lapad ng coef? parameter. Dapat mong piliin ang COEF o CONSTANT para sa preadder mode upang paganahin ang parameter na ito.
Tinutukoy ang mga halaga ng coefficient para sa ikaapat na multiplier na ito. Ang bilang ng mga bit ay dapat na kapareho ng tinukoy sa Gaano dapat kalawak ang lapad ng coef? parameter. Dapat mong piliin ang COEF o CONSTANT para sa preadder mode upang paganahin ang parameter na ito.
Default na Halaga NO
ADD
Paglalarawan
Piliin ang YES para paganahin ang accumulator. Dapat mong piliin ang Register output ng adder unit kapag gumagamit ng feature na accumulator.
Tinutukoy ang operasyon ng nagtitipon: · ADD para sa operasyon ng karagdagan · SUB para sa operasyon ng pagbabawas. Dapat mong piliin ang YES para sa Enable accumulator? parameter upang paganahin ang opsyong ito.
nagpatuloy...
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 53
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Preload Constant Paganahin ang preload constant
Parameter na Binuo ng IP
Halaga
gui_ena_prelo Naka-on
ad_const
Naka-off
Ano ang input ng accumulate port na konektado sa?
gui_accumula ACCUM_SLOAD, te_port_select SLOAD_ACCUM
Pumili ng halaga para sa preload loadconst_val 0 – 64
pare-pareho
ue
Ano ang pinagmulan para sa input ng orasan?
gui_accum_sl oad_register_ na orasan
Orasan0 Orasan1 Orasan2
Ano ang pinagmulan para sa asynchronous na malinaw na input?
gui_accum_sl oad_register_ aclr
WALA ACLR0 ACLR1
Ano ang pinagmulan para sa kasabay na malinaw na input?
gui_accum_sl oad_register_ sclr
WALA SCLR0 SCLR1
Paganahin ang double accumulator
gui_double_a Naka-on
ccum
Naka-off
Default na Halaga
Paglalarawan
Naka-off
Paganahin ang accum_sload o
sload_accum signal at irehistro ang input
upang dynamic na piliin ang input sa
nagtitipon
Kapag mababa ang accum_sload o sload_accum, ang multiplier na output ay ipapapasok sa accumulator.
Kapag mataas ang accum_sload o sload_accum, ang isang tinukoy ng user na preload constant ay ipapakain sa accumulator.
Dapat mong piliin ang YES para sa Enable accumulator? parameter upang paganahin ang opsyong ito.
ACCUM_SL OAD
Tinutukoy ang gawi ng accum_sload/ sload_accum signal.
ACCUM_SLOAD: Magmaneho ng accum_sload nang mababa upang mai-load ang multiplier output sa accumulator.
SLOAD_ACCUM: Magmaneho ng sload_accum nang mataas upang i-load ang multiplier output sa accumulator.
Dapat mong piliin ang Enable preload constant na opsyon para paganahin ang parameter na ito.
64
Tukuyin ang preset na pare-parehong halaga.
Ang value na ito ay maaaring 2N kung saan ang N ay ang preset na constant value.
Kapag N=64, ito ay kumakatawan sa isang pare-parehong zero.
Dapat mong piliin ang Enable preload constant na opsyon para paganahin ang parameter na ito.
Orasan0
Piliin ang Clock0 , Clock1 o Clock2 para tukuyin ang input clock signal para sa accum_sload/sload_accum register.
Dapat mong piliin ang Enable preload constant na opsyon para paganahin ang parameter na ito.
WALA
Tinutukoy ang asynchronous na malinaw na pinagmulan para sa accum_sload/sload_accum register.
Dapat mong piliin ang Enable preload constant na opsyon para paganahin ang parameter na ito.
WALA
Tinutukoy ang kasabay na malinaw na pinagmulan para sa rehistro ng accum_sload/sload_accum.
Dapat mong piliin ang Enable preload constant na opsyon para paganahin ang parameter na ito.
Naka-off
Pinapagana ang double accumulator register.
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 54
Magpadala ng Feedback
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.6.6. Systolic/Chainout Tab
Talahanayan 35. Systolic/Chainout Adder Tab
Parameter I-enable ang chainout adder
Parameter na Binuo ng IP
Halaga
chainout_add OO,
er
HINDI
Ano ang uri ng pagpapatakbo ng chainout adder?
chainout_add ADD,
er_direction
SUB
Paganahin ang input na `negate' para sa chainout adder?
Port_negate
PORT_USED, PORT_UNUSED
Irehistro ang input na `negate'? negate_regist er
HINDI REHISTRO, CLOCK0, CLOCK1, CLOCK2, CLOCK3
Ano ang pinagmulan para sa asynchronous na malinaw na input?
negate_aclr
WALA ACLR0 ACLR1
Ano ang pinagmulan para sa kasabay na malinaw na input?
negate_sclr
WALA SCLR0 SCLR1
Systolic Delay
Paganahin ang systolic delay registers
gui_systolic_d Naka-on
elay
Naka-off
Ano ang pinagmulan para sa input ng orasan?
gui_systolic_d CLOCK0,
elay_clock
Orasan1,
Default na Halaga
HINDI
Paglalarawan
Piliin ang OO para paganahin ang chainout adder module.
ADD
Tinutukoy ang pagpapatakbo ng chainout adder.
Para sa pagpapatakbo ng pagbabawas, dapat piliin ang SIGNED para sa Ano ang format ng representasyon para sa mga Multiplier A input? at Ano ang format ng representasyon para sa mga input ng Multipliers B? sa Multipliers Tab.
PORT_UN GINAMIT
Piliin ang PORT_USED para i-enable ang pag-negate ng input signal.
Ang parameter na ito ay hindi wasto kapag ang chainout adder ay hindi pinagana.
UNREGIST ERED
Upang paganahin ang input register para sa negate input signal at tukuyin ang input clock signal para sa negate register.
Piliin ang UNREGISTERED kung hindi kailangan ang negate input register sa
Di-wasto ang parameter na ito kapag pinili mo ang:
· HINDI para sa Paganahin ang chainout adder o
· PORT_UNUSED para sa Paganahin ang 'negate' input para sa chainout adder? parameter o
WALA
Tinutukoy ang asynchronous na malinaw na pinagmulan para sa negate register.
Di-wasto ang parameter na ito kapag pinili mo ang:
· HINDI para sa Paganahin ang chainout adder o
· PORT_UNUSED para sa Paganahin ang 'negate' input para sa chainout adder? parameter o
WALA
Tinutukoy ang kasabay na malinaw na pinagmulan para sa negate register.
Di-wasto ang parameter na ito kapag pinili mo ang:
· HINDI para sa Paganahin ang chainout adder o
· PORT_UNUSED para sa Paganahin ang 'negate' input para sa chainout adder? parameter o
Off CLOCK0
Piliin ang opsyong ito para paganahin ang systolic mode. Available ang parameter na ito kapag pinili mo ang 2, o 4 para sa Ano ang bilang ng mga multiplier? parameter. Dapat mong paganahin ang Register output ng adder unit upang magamit ang systolic delay registers.
Tinutukoy ang input clock signal para sa systolic delay register.
nagpatuloy...
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 55
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Parameter na Binuo ng IP
Halaga
Orasan2,
Ano ang pinagmulan para sa asynchronous na malinaw na input?
gui_systolic_d elay_aclr
WALA ACLR0 ACLR1
Ano ang pinagmulan para sa kasabay na malinaw na input?
gui_systolic_d elay_sclr
WALA SCLR0 SCLR1
Default na Halaga
WALA
WALA
Paglalarawan
Dapat mong piliin ang paganahin ang systolic delay registers upang paganahin ang opsyong ito.
Tinutukoy ang asynchronous na malinaw na pinagmulan para sa systolic delay register. Dapat mong piliin ang paganahin ang systolic delay registers upang paganahin ang opsyong ito.
Tinutukoy ang kasabay na malinaw na pinagmulan para sa rehistro ng systolic delay. Dapat mong piliin ang paganahin ang systolic delay registers upang paganahin ang opsyong ito.
8.6.7. Tab ng Pipelining
Talahanayan 36. Tab ng Pipelining
Parameter Pipelining Configuration
Parameter na Binuo ng IP
Halaga
Gusto mo bang magdagdag ng pipeline register sa input?
gui_pipelining Hindi, Oo
Default na Halaga
Hindi
Mangyaring tukuyin ang
latency
bilang ng latency na orasan
mga cycle
Anumang value na mas malaki sa 0 kaysa 0
Ano ang pinagmulan para sa input ng orasan?
gui_input_late ncy_clock
CLOCK0, CLOCK1, CLOCK2
Ano ang pinagmulan para sa asynchronous na malinaw na input?
gui_input_late ncy_aclr
WALA ACLR0 ACLR1
Ano ang pinagmulan para sa kasabay na malinaw na input?
gui_input_late ncy_sclr
WALA SCLR0 SCLR1
CLOCK0 WALA WALA
Paglalarawan
Piliin ang Oo upang paganahin ang karagdagang antas ng pagpaparehistro ng pipeline sa mga input signal. Dapat kang tumukoy ng value na mas malaki sa 0 para sa Mangyaring tukuyin ang bilang ng parameter ng mga latency clock cycle.
Tinutukoy ang nais na latency sa mga cycle ng orasan. Isang antas ng pipeline register = 1 latency sa clock cycle. Dapat mong piliin ang OO para sa Gusto mo bang magdagdag ng pipeline register sa input? upang paganahin ang opsyong ito.
Piliin ang Clock0 , Clock1 o Clock2 para paganahin at tukuyin ang pipeline register input clock signal. Dapat mong piliin ang OO para sa Gusto mo bang magdagdag ng pipeline register sa input? upang paganahin ang opsyong ito.
Tinutukoy ang rehistro ng asynchronous na malinaw na pinagmulan para sa karagdagang rehistro ng pipeline. Dapat mong piliin ang OO para sa Gusto mo bang magdagdag ng pipeline register sa input? upang paganahin ang opsyong ito.
Tinutukoy ang rehistro na kasabay na malinaw na pinagmulan para sa karagdagang rehistro ng pipeline. Dapat mong piliin ang OO para sa Gusto mo bang magdagdag ng pipeline register sa input? upang paganahin ang opsyong ito.
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 56
Magpadala ng Feedback
683490 | 2020.10.05 Magpadala ng Feedback
9. ALTMEMMULT (Memory-based Constant Coefficient Multiplier) IP Core
Pansin:
Inalis ng Intel ang suporta ng IP na ito sa bersyon 20.3 ng Intel Quartus Prime Pro Edition. Kung ang IP core sa iyong disenyo ay nagta-target ng mga device sa Intel Quartus Prime Pro Edition, maaari mong palitan ang IP ng LPM_MULT Intel FPGA IP o muling buuin ang IP at i-compile ang iyong disenyo gamit ang Intel Quartus Prime Standard Edition software.
Ang ALTMEMMULT IP core ay ginagamit upang lumikha ng memory-based multiplier gamit ang mga onchip memory block na matatagpuan sa Intel FPGAs (na may M512, M4K, M9K, at MLAB memory blocks). Ang IP core na ito ay kapaki-pakinabang kung wala kang sapat na mapagkukunan upang ipatupad ang mga multiplier sa mga elemento ng lohika (LEs) o nakalaang mga mapagkukunan ng multiplier.
Ang ALTMEMMULT IP core ay isang synchronous function na nangangailangan ng orasan. Ang ALTMEMMULT IP core ay nagpapatupad ng multiplier na may pinakamaliit na throughput at latency na posible para sa isang partikular na hanay ng mga parameter at detalye.
Ipinapakita ng sumusunod na figure ang mga port para sa ALTMEMMULT IP core.
Figure 21. ALTMEMMULT Ports
ALTMEMMULT
data_in[] sload_data coeff_in[]
resulta[] result_valid load_done
sload_coeff
sclr na orasan
inst
Mga Tampok na Kaugnay na Impormasyon sa pahina 71
9.1. Mga tampok
Ang ALTMEMMULT IP core ay nag-aalok ng mga sumusunod na feature: · Lumilikha lamang ng memory-based multiplier gamit ang on-chip memory blocks na matatagpuan sa
Mga Intel FPGA · Sinusuportahan ang lapad ng data na 1 bits · Sinusuportahan ang format ng representasyon ng data na nilagdaan at hindi nalagdaan · Sinusuportahan ang pipelining na may nakapirming latency ng output
Intel Corporation. Lahat ng karapatan ay nakalaan. Ang Intel, ang logo ng Intel, at iba pang mga marka ng Intel ay mga trademark ng Intel Corporation o mga subsidiary nito. Ginagarantiyahan ng Intel ang pagganap ng mga produktong FPGA at semiconductor nito sa kasalukuyang mga detalye alinsunod sa karaniwang warranty ng Intel, ngunit inilalaan ang karapatang gumawa ng mga pagbabago sa anumang produkto at serbisyo anumang oras nang walang abiso. Walang pananagutan o pananagutan ang Intel na nagmumula sa aplikasyon o paggamit ng anumang impormasyon, produkto, o serbisyong inilarawan dito maliban kung hayagang sinang-ayunan ng Intel. Pinapayuhan ang mga customer ng Intel na kunin ang pinakabagong bersyon ng mga detalye ng device bago umasa sa anumang nai-publish na impormasyon at bago maglagay ng mga order para sa mga produkto o serbisyo. *Ang ibang mga pangalan at tatak ay maaaring i-claim bilang pag-aari ng iba.
ISO 9001:2015 Nakarehistro
9. ALTMEMMULT (Memory-based Constant Coefficient Multiplier) IP Core 683490 | 2020.10.05
· Nag-iimbak ng maraming constant sa random-access memory (RAM)
· Nagbibigay ng opsyon upang piliin ang uri ng bloke ng RAM
· Sinusuportahan ang opsyonal na kasabay na malinaw at load-control input port
9.2. Verilog HDL Prototype
Ang sumusunod na Verilog HDL prototype ay matatagpuan sa Verilog Design File (.v) altera_mf.v sa direktoryo ng synthesis ng eda.
module altmemmult #( parameter coeff_representation = "SIGNED", parameter coefficient0 = "UNUSED", parameter data_representation = "SIGNED", parameter intended_device_family = "unused", parameter max_clock_cycles_per_result = 1, parameter number_of_coefficients = 1, parameter ram_block_type 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 = “hindi nagamit”) ( input wire clock, input wire [width_c-1: 0]coeff_in, input wire [width_d-1:0] data_in, output wire load_done, output wire [width_r-1:0] resulta, output wire result_valid, input wire sclr, input wire [width_s-1:0] sel, input wire sload_coeff, input wire sload_data)/* synthesis syn_black_box=1 */; endmodule
9.3. Deklarasyon ng Bahagi ng VHDL
Ang deklarasyon ng bahagi ng VHDL ay matatagpuan sa VHDL Design File (.vhd) altera_mf_components.vhd sa librariesvhdlaltera_mf direktoryo.
component altmemmult generic ( coeff_representation: string := “SIGNED”; coefficient0:string := “UNUSED”; data_representation:string := “SIGNED”; intended_device_family:string := “unused”; max_clock_cycles_per_result:natural := 1; number_of_coefficients := 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 := “UNUSED”; lpm_type:string := "altmemult"); 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);
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 58
Magpadala ng Feedback
9. ALTMEMMULT (Memory-based Constant Coefficient Multiplier) IP Core 683490 | 2020.10.05
load_done:out std_logic; resulta:out std_logic_vector(width_r-1 pababa sa 0); result_valid:out std_logic; sclr:in std_logic := '0'; sel:sa std_logic_vector(width_s-1 pababa sa 0) := (iba => '0'); sload_coeff:in std_logic := '0'; sload_data:in std_logic := '0'); bahagi ng pagtatapos;
9.4. Mga daungan
Inililista ng mga sumusunod na talahanayan ang mga input at output port para sa ALTMEMMULT IP core.
Talahanayan 37. ALTMEMMULT Input Ports
Pangalan ng Port
Kinakailangan
Paglalarawan
orasan
Oo
Input ng orasan sa multiplier.
coeff_in[]
Hindi
Coefficient input port para sa multiplier. Ang laki ng input port ay depende sa WIDTH_C parameter value.
data_in[]
Oo
Port ng input ng data sa multiplier. Ang laki ng input port ay depende sa WIDTH_D parameter value.
sclr
Hindi
Kasabay na malinaw na input. Kung hindi ginagamit, ang default na halaga ay aktibong mataas.
sel []
Hindi
Nakatakdang pagpili ng koepisyent. Ang laki ng input port ay depende sa WIDTH_S
halaga ng parameter.
sload_coeff
Hindi
Kasabay na load coefficient input port. Pinapalitan ang kasalukuyang napiling coefficient value ng value na tinukoy sa coeff_in input.
sload_data
Hindi
Kasabay na pag-load ng data input port. Signal na tumutukoy sa bagong multiplication operation at kinakansela ang anumang umiiral na multiplication operation. Kung ang MAX_CLOCK_CYCLES_PER_RESULT na parameter ay may value na 1, babalewalain ang sload_data input port.
Talahanayan 38. ALTMEMMULT Output Ports
Pangalan ng Port
Kinakailangan
Paglalarawan
resulta[]
Oo
Multiplier output port. Ang laki ng input port ay depende sa WIDTH_R parameter value.
result_valid
Oo
Isinasaad kung ang output ay ang wastong resulta ng isang kumpletong multiplikasyon. Kung ang MAX_CLOCK_CYCLES_PER_RESULT parameter ay may value na 1, hindi ginagamit ang result_valid output port.
load_done
Hindi
Isinasaad kung kailan natapos ang pag-load ng bagong koepisyent. Ang load_done signal ay nagsasaad kapag ang isang bagong koepisyent ay tapos na sa paglo-load. Maliban kung mataas ang signal ng load_done, walang ibang coefficient value ang maaaring mai-load sa memorya.
9.5. Parameter
Inililista ng sumusunod na talahanayan ang mga parameter para sa ALTMEMMULT IP core.
Talahanayan 39.
WIDTH_D WIDTH_C
Mga Parameter ng ALTMEMMULT
Pangalan ng Parameter
Kinakailangan ang Uri
Paglalarawan
Integer Oo
Tinutukoy ang lapad ng data_in[] port.
Integer Oo
Tinutukoy ang lapad ng coeff_in[] port. patuloy…
Magpadala ng Feedback
Gabay sa Gumagamit ng Intel FPGA Integer Arithmetic IP Cores 59
9. ALTMEMMULT (Memory-based Constant Coefficient Multiplier) IP Core 683490 | 2020.10.05
Pangalan ng Parameter WIDTH_R WIDTH
Mga Dokumento / Mga Mapagkukunan
![]() |
intel FPGA Integer Arithmetic IP Cores [pdf] Gabay sa Gumagamit FPGA Integer Arithmetic IP Cores, Integer Arithmetic IP Cores, Arithmetic IP Cores, IP Cores |