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

Mga sanggunian

Mag-iwan ng komento

Ang iyong email address ay hindi maipa-publish. Ang mga kinakailangang field ay minarkahan *