FPGA Integer Arithmetic IP Cores
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia
Hloov tshiab rau Intel® Quartus® Prime Design Suite: 20.3
Online Version Xa lus tawm tswv yim
UA-01063
ID: 683490 Version: 2020.10.05
Cov ntsiab lus
Cov ntsiab lus
1. Intel FPGA Integer Arithmetic IP Cores ………………………………………………………………… 5
2. LPM_COUNTER (Counter) IP Core……………………………………………………………………………….. 7 2.1. Nta ………………………………………………………………………………………………………… 7 2.2. Verilog HDL Prototype……………………………………………………………………………….. 8 2.3. VHDL Component Declaration………………………………………………………………….8 2.4. VHDL LIBRARY_USE Tshaj Tawm……………………………………………………………………………… 9 2.5. Ports…………………………………………………………………………………………………………..9 2.6. Parameters …………………………………………………………………………………………… 10
3. LPM_DIVIDE (Divider) Intel FPGA IP Core…………………………………………………….. 12 3.1. Nta…………………………………………………………………………………………………………. 12 3.2. Verilog HDL Prototype ………………………………………………………………… 12 3.3. VHDL Component Declaration……………………………………………………………………………… 13 3.4. VHDL LIBRARY_USE tshaj tawm…………………………………………………………………. 13 3.5. Ports …………………………………………………………………………………………… 13 3.6. Parameters …………………………………………………………………………………………… 14
4. LPM_MULT (Multiplier) IP Core………………………………………………………………………………. 16 4.1. Nta…………………………………………………………………………………………………………. 16 4.2 ib. Verilog HDL Prototype ………………………………………………………………… 17 4.3. VHDL Component Declaration ……………………………………………………………………………… 17 4.4. VHDL LIBRARY_USE tshaj tawm…………………………………………………………………. 17 ib. Cov teeb liab ………………………………………………………………………………………………………… 4.5 18. Parameters rau Stratix V, Arria V, Cyclone V, thiab Intel Cyclone 4.6 LP Devices…………… 10 18. General Tab…………………………………………………………………………………………… 4.6.1 18. General 4.6.2 Tab……………………………………………………………………………… 2 19. Pipelining Tab…………………………………………………………………………………………… 4.6.3 19. Parameters rau Intel Stratix 4.7, Intel Arria 10, thiab Intel Cyclone 10 GX Devices……….. 10 20. General Tab…………………………………………………………………………………………… 4.7.1 20. General 4.7.2 Tab……………………………………………………………………………… 2 20. Pipelining …………………………………………………………………………………………… 4.7.3
5. LPM_ADD_SUB (Adder/Subtractor)……………………………………………………………………………… 22 5.1. Nta…………………………………………………………………………………………………………. 22 5.2 ib. Verilog HDL Prototype ………………………………………………………………… 23 5.3. VHDL Component Declaration………………………………………………………………….. 23 5.4. VHDL LIBRARY_USE tshaj tawm…………………………………………………………………. 23 5.5 ib. Ports………………………………………………………………………………………………………… 23 5.6. Parameters …………………………………………………………………………………………… 24
6. LPM_COMPARE (Comparator) ……………………………………………………………………………… 26 6.1. Nta…………………………………………………………………………………………………………. 26 6.2 ib. Verilog HDL Prototype ………………………………………………………………… 27 6.3. VHDL Component Declaration………………………………………………………………….. 27 6.4. VHDL LIBRARY_USE tshaj tawm…………………………………………………………………. 27 ib. Ports………………………………………………………………………………………………………… 6.5 27. Parameters …………………………………………………………………………………………… 6.6
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 2
Xa lus tawm tswv yim
Cov ntsiab lus
7. ALTECC (Yam Kho Code: Encoder/Decoder) IP Core……………………………………… 30
7.1. ALTECC Encoder Nta………………………………………………………………………………..31 7.2. Verilog HDL Prototype (ALTECC_ENCODER) ……………………………………………………. 32 7.3. Verilog HDL Prototype (ALTECC_DECODER) ……………………………………………………. 32 ib. VHDL Component Declaration (ALTECC_ENCODER)……………………………………………………7.4 33. VHDL Component Declaration (ALTECC_DECODER)……………………………………………………7.5 33. VHDL LIBRARY_USE tshaj tawm………………………………………………………………………………. 7.6 ib. Encoder Ports …………………………………………………………………………………………… 33 7.7. Decoder Ports …………………………………………………………………………………………… 33 7.8. Encoder Parameters ……………………………………………………………………………… 34 7.9. Decoder Parameters ……………………………………………………………………………… 34
8. Intel FPGA Multiply Adder IP Core……………………………………………………………………. 36
8.1. Nta…………………………………………………………………………………………………………. 37 ib. Pre-adder……………………………………………………………………………………… 8.1.1 38. Systolic Delay Register………………………………………………………………….. 8.1.2 40. Pre-load Constant ………………………………………………………………… 8.1.3 43. Ob chav Accumulator ………………………………………………………………… 8.1.4
8.2. Verilog HDL Prototype ……………………………………………………………………………… 44 8.3. VHDL Component Declaration………………………………………………………………….. 44 8.4. VHDL LIBRARY_USE tshaj tawm…………………………………………………………………. 44 ib. Cov teeb liab ………………………………………………………………………………………………………… 8.5 44. Parameters …………………………………………………………………………………………… 8.6
8.6.1 ib. General Tab…………………………………………………………………………………………… 47 8.6.2. Extra Modes Tab……………………………………………………………………………….. 47 8.6.3. Multipliers Tab……………………………………………………………………………………. 49 8.6.4. Preadder Tab………………………………………………………………………………. 51 ib. Accumulator Tab……………………………………………………………………………….. 8.6.5 53. Systolic/Chainout Tab…………………………………………………………………. 8.6.6 55 ib. Pipelining Tab……………………………………………………………………………… 8.6.7
9. ALTMEMMULT (Memory-based Constant Coefficient Multiplier) IP Core………………………… 57
9.1. Nta…………………………………………………………………………………………………………. 57 ib. Verilog HDL Prototype ………………………………………………………………… 9.2 58. VHDL Component Declaration……………………………………………………………………………… 9.3 58. Ports …………………………………………………………………………………………… 9.4 59. Parameters …………………………………………………………………………………………… 9.5
10. ALTMULT_ACCUM (Multiply-Accumulate) IP Core…………………………………………………… 61
10.1. Nta……………………………………………………………………………………………..62 10.2. Verilog HDL Prototype…………………………………………………………………..62 10.3. VHDL Component Declaration………………………………………………………………… 63 10.4. VHDL LIBRARY_USE Tshaj Tawm……………………………………………………………………………… 63 10.5. Ports …………………………………………………………………………………………………………. 63 10.6 ib. Parameters ……………………………………………………………………………………………. 64
11. ALTMULT_ADD (Multiply-Adder) IP Core……………………………………………………..69
11.1. Nta……………………………………………………………………………………………..71 11.2. Verilog HDL Prototype……………………………………………………………………..72 11.3. VHDL Component Declaration………………………………………………………………… 72 11.4. VHDL LIBRARY_USE tshaj tawm……………………………………………………………………………… 72
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 3
Cov ntsiab lus
11.5. Ports …………………………………………………………………………………………………………. 72 11.6 ib. Parameters ……………………………………………………………………………………………. 73
12. ALTMULT_COMPLEX (Complex Multiplier) IP Core…………………………………………………… 86 12.1. Complex Multiplication……………………………………………………………………………… 86 12.2 ib. Canonical Representation………………………………………………………………… 87 12.3. Conventional Representation……………………………………………………………………. 87 12.4 ib. Nta……………………………………………………………………………………………..88 12.5. Verilog HDL Prototype……………………………………………………………………………….88 12.6. VHDL Component Declaration………………………………………………………………… 89 12.7. VHDL LIBRARY_USE Tshaj Tawm ………………………………………………………………… 89 12.8. Signals…………………………………………………………………………………………………………. 89 12.9 ib. Parameters ……………………………………………………………………………………………. 90
13. ALTSQRT (Integer Square Root) IP Core………………………………………………………………… 92 13.1. Nta……………………………………………………………………………………………..92 13.2. Verilog HDL Prototype……………………………………………………………………..92 13.3. VHDL Component Declaration………………………………………………………………… 93 13.4. VHDL LIBRARY_USE Tshaj Tawm……………………………………………………………………………… 93 13.5. Ports …………………………………………………………………………………………………………. 93 ib. Parameters ……………………………………………………………………………………………. 13.6
14. PARALLEL_ADD (Parallel Adder) IP Core…………………………………………………….. 95 14.1. Feature…………………………………………………………………………………………….95 14.2. Verilog HDL Prototype……………………………………………………………………..95 14.3. VHDL Component Declaration………………………………………………………………… 96 14.4. VHDL LIBRARY_USE tshaj tawm……………………………………………………………………………… 96 14.5. Ports …………………………………………………………………………………………………………. 96 14.6 ib. Parameters ……………………………………………………………………………………………. 97
15. Integer Arithmetic IP Cores User Guide Document Archives……………………………………… 98
16. Cov ntaub ntawv kho dua tshiab rau Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia…. 99
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 4
Xa lus tawm tswv yim
683490 | 2020.10.05 Xa lus tawm tswv yim
1. Intel FPGA Integer Arithmetic IP Cores
Koj tuaj yeem siv Intel® FPGA integer IP cores los ua lej ua haujlwm hauv koj tus qauv tsim.
Cov haujlwm no muab kev sib txuas lus zoo dua thiab kev siv cuab yeej siv ntau dua li coding koj tus kheej lub luag haujlwm. Koj tuaj yeem kho tus IP cores kom haum raws li koj qhov kev xav tau tsim.
Intel integer arithmetic IP cores tau muab faib ua ob pawg hauv qab no: · Lub tsev qiv ntawv ntawm cov ntsuas ntsuas tsis tau (LPM) IP cores · Intel-specific (ALT) IP cores
Cov lus hauv qab no teev cov lej lej lej IP cores.
Table 1.
Cov npe ntawm IP Cores
IP Cores
LPM IP cores
LPM_COUNTER
LPM_DIVIDE
LPM_MULT
LPM_ADD_SUB
LPM_COMPARE
Intel-specific (ALT) IP cores ALTECC
Muaj nuj nqi Tshajview Counter Divider Multiplier
Adder lossis subtractor Comparator
ECC Encoder/Decoder
Txhawb Ntaus
Arria® II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone® IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP,
Intel Cyclone 10 GX, MAX® II, MAX V, MAX 10, Stratix® IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX 10, Stratix IV, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX 10, Stratix IV, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP, MAX 10, MAX
II, MAX V, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP, MAX 10, MAX
II, MAX V, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V txuas ntxiv…
Intel Corporation. Txhua txoj cai. Intel, Intel logo, thiab lwm yam Intel cov cim yog cov cim lag luam ntawm Intel Corporation lossis nws cov koom haum. Intel lav kev ua tau zoo ntawm nws cov FPGA thiab cov khoom lag luam semiconductor rau cov kev qhia tshwj xeeb tam sim no raws li Intel tus qauv kev lees paub, tab sis muaj txoj cai los hloov cov khoom thiab cov kev pabcuam txhua lub sijhawm yam tsis muaj ntawv ceeb toom. Intel xav tias tsis muaj lub luag haujlwm lossis kev lav phib xaub uas tshwm sim los ntawm daim ntawv thov lossis siv cov ntaub ntawv, cov khoom lag luam, lossis cov kev pabcuam uas tau piav qhia hauv no tshwj tsis yog raws li tau pom zoo hauv kev sau ntawv los ntawm Intel. Intel cov neeg siv khoom tau qhia kom tau txais qhov tseeb version ntawm cov cuab yeej tshwj xeeb ua ntej tso siab rau cov ntaub ntawv tshaj tawm thiab ua ntej muab xaj rau cov khoom lossis cov kev pabcuam. * Lwm lub npe thiab hom yuav raug lees paub raws li cov cuab yeej ntawm lwm tus.
Daim ntawv pov thawj ISO 9001: 2015
1. Intel FPGA Integer Arithmetic IP Cores 683490 | 2020.10.05
IP Cores Intel FPGA Multiply Adder lossis ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
ALTSQRT
PARALLEL_ADD
Muaj nuj nqi Tshajview Multiplier-Adder
Memory-based Constant Coefficient Multiplier
Multiplier-Accumulator Multiplier-Adder
Kev sib txuam ntau
Integer Square-hauv paus
Parallel Adder
Txhawb Ntaus
Arria V, Stratix V, Cyclone V, Intel Stratix 10, Intel Arria 10, Intel Cyclone
10 XNUMX GX
Arria II GX, Arria II GZ, Arria V, Intel Arria 10 (Intel Quartus® Prime Standard Edition), Cyclone IV E, Cyclone IV GX, Cyclone V, Intel
Cyclone 10 LP, MAX II, MAX V, MAX 10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Cyclone IV E, Cyclone IV GX, Intel Cyclone 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Cyclone IV E, Cyclone IV GX, Intel Cyclone 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Intel Arria 10, Arria V, Arria V GZ, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel
Cyclone 10 GX, Intel Cyclone 10 LP, MAX 10, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V
Cov ntaub ntawv ntsig txog
· Intel FPGAs thiab Programmable Devices Release Notes
· Taw qhia rau Intel FPGA IP Cores Muab cov ntaub ntawv ntau ntxiv txog Intel FPGA IP Cores.
· Floating-Point IP Cores Tus Neeg Siv Qhia Muab cov ntaub ntawv ntau ntxiv txog Intel FPGA Floating-Point IP cores.
· Taw qhia rau Intel FPGA IP Cores Muab cov ntaub ntawv dav dav txog tag nrho Intel FPGA IP cores, suav nrog parameterizing, tsim, kho dua tshiab, thiab simulating IP cores.
· Tsim Version-Independent IP thiab Qsys Simulation Scripts Tsim simulation scripts uas tsis xav tau phau ntawv hloov tshiab rau software lossis IP version hloov khoom dua tshiab.
· Kev Tswj Xyuas Txoj Haujlwm Zoo Tshaj Plaws Cov Lus Qhia rau kev tswj hwm thiab kev txav mus los ntawm koj qhov project thiab IP files.
· Integer Arithmetic IP Cores User Guide Document Archives ntawm nplooj 98 Muab cov npe ntawm cov neeg siv cov lus qhia rau yav dhau los versions ntawm Integer Arithmetic IP cores.
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 6
Xa lus tawm tswv yim
683490 | 2020.10.05 Xa lus tawm tswv yim
2. LPM_COUNTER (Counter) IP Core
Daim duab 1.
Lub LPM_COUNTER IP core yog lub txee binary uas tsim cov txee, cov txee thiab nce lossis nqis txee nrog cov khoom tawm txog li 256 qhov dav.
Cov duab hauv qab no qhia cov chaw nres nkoj rau LPM_COUNTER IP core.
LPM_COUNTER Chaw nres nkoj
LPM_COUNTER
ssclr sload sset data[]
q[]
hloov dua tshiab
cout
aclr ua
clk_en cnt_en cin
inst
2.1. Nta
Lub LPM_COUNTER IP core muaj cov yam ntxwv hauv qab no: · Tsim cov txee nce, nqis, thiab nce / nqis · Tsim cov txee hauv qab no:
- Plain binary- cov txee nce pib los ntawm xoom lossis txo qis pib los ntawm 255
- Modulus-tus txee increments los yog decrements los ntawm tus nqi modulus teev los ntawm tus neeg siv thiab rov ua dua
· Txhawb kev xaiv synchronous clear, load, thiab teeb input ports · Txhawb kev xaiv asynchronous clear, load, thiab teeb input ports · Txhawb kev xaiv suav enables thiab moos pab input ports · Txhawb kev xaiv nqa-hauv thiab nqa tawm ports
Intel Corporation. Txhua txoj cai. Intel, Intel logo, thiab lwm yam Intel cov cim yog cov cim lag luam ntawm Intel Corporation lossis nws cov koom haum. Intel lav kev ua tau zoo ntawm nws cov FPGA thiab cov khoom lag luam semiconductor rau cov kev qhia tshwj xeeb tam sim no raws li Intel tus qauv kev lees paub, tab sis muaj txoj cai los hloov cov khoom thiab cov kev pabcuam txhua lub sijhawm yam tsis muaj ntawv ceeb toom. Intel xav tias tsis muaj lub luag haujlwm lossis kev lav phib xaub uas tshwm sim los ntawm daim ntawv thov lossis siv cov ntaub ntawv, cov khoom lag luam, lossis cov kev pabcuam uas tau piav qhia hauv no tshwj tsis yog raws li tau pom zoo hauv kev sau ntawv los ntawm Intel. Intel cov neeg siv khoom tau qhia kom tau txais qhov tseeb version ntawm cov cuab yeej tshwj xeeb ua ntej tso siab rau cov ntaub ntawv tshaj tawm thiab ua ntej muab xaj rau cov khoom lossis cov kev pabcuam. * Lwm lub npe thiab hom yuav raug lees paub raws li cov cuab yeej ntawm lwm tus.
Daim ntawv pov thawj ISO 9001: 2015
2. LPM_COUNTER (Counter) IP Core
683490 Nws 2020.10.05 ib
2.2. Verilog HDL Prototype
Cov nram qab no Verilog HDL qauv yog nyob rau hauv Verilog Design File (.v) lpm.v in the edasynthesis directory.
module lpm_counter ( q, data, moos, 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 = "UNUSED"; parameter lpm_avalue = "UNUSED"; parameter lpm_svalue = "UNUSED"; parameter lpm_pvalue = "UNUSED"; parameter lpm_port_updown = “PORT_CONNECTIVITY”; parameter lpm_hint = "UNUSED"; tso zis [lpm_width-1:0] q; tso zis cout; tso zis [15:0] eq; input cin; input [lpm_width-1:0] cov ntaub ntawv; input moos, clk_en, cnt_en, updown; input asset, aclr, aload; input sset, sclr, sload; endmodule
2.3. VHDL Component Tshaj Tawm
VHDL cov lus tshaj tawm yog nyob hauv VHDL Tsim File (.vhd) LPM_PACK.vhd hauv librariesvhdllpm directory.
tivthaiv LPM_COUNTER generic ( LPM_WIDTH : natural; LPM_MODULUS : natural := 0; LPM_DIRECTION : string := “UNUSED”; LPM_AVALUE : string := “UNUSED”; LPM_SVALUE : string := “UNUSED” = CONDOWN_PORT_PORTITY: LPM_string: ; LPM_PVALUE : string := “UNUSED”; chaw nres nkoj (DATA : in std_logic_vector(LPM_WIDTH-1 downto 0):= (OTHERS =>
'0'); CLOCK: hauv std_logic ; CLK_EN : in std_logic := '1'; CNT_EN : in std_logic := '1'; UPDOWN : in std_logic := '1'; SLOAD : in std_logic := '0'; SSET : in std_logic := '0'; SCLR : in std_logic := '0'; ALOAD : in std_logic := '0'; ASET : in std_logic := '0'; ACLR : in std_logic := '0'; CIN : in std_logic := '1'; COUT : out std_logic := '0'; Q : tawm std_logic_vector(LPM_WIDTH-1 downto 0); EQ : tawm std_logic_vector(15 downto 0));
kawg tivthaiv;
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 8
Xa lus tawm tswv yim
2. LPM_COUNTER (Counter) IP Core 683490 | 2020.10.05
2.4. VHDL LIBRARY_USE tshaj tawm
Daim ntawv tshaj tawm VHDL LIBRARY-SIV tsis tas yuav yog tias koj siv VHDL Cov Lus Tshaj Tawm.
LIBRARY lpm; USE lpm.lpm_components.all;
2.5. Chaw nres nkoj
Cov lus hauv qab no teev cov tswv yim thiab tso tawm cov chaw nres nkoj rau LPM_COUNTER IP core.
Table 2.
LPM_COUNTER Input Ports
Chaw nres nkoj npe
Yuav tsum tau
Kev piav qhia
cov ntaub ntawv[]
Tsis muaj
Parallel cov ntaub ntawv nkag mus rau lub txee. Qhov loj ntawm qhov chaw nres nkoj nkag yog nyob ntawm LPM_WIDTH parameter tus nqi.
moos
Yog lawm
Positive-edge-triggered moos input.
clk_en
Tsis muaj
Lub moos pab cov tswv yim los pab kom txhua yam haujlwm synchronous. Yog tias tshem tawm, tus nqi pib yog 1.
cnt_en
Tsis muaj
Suav pab cov tswv yim los lov tes taw suav thaum lees paub qis yam tsis muaj kev cuam tshuam rau sload, sset, lossis sclr. Yog tias tshem tawm, tus nqi pib yog 1.
hloov dua tshiab
Tsis muaj
Tswj cov kev taw qhia ntawm suav. Thaum lees paub siab (1), suav cov kev taw qhia nce, thiab thaum lees tias qis (0), suav kev taw qhia qis. Yog tias siv LPM_DIRECTION parameter, qhov chaw nres nkoj updown tsis tuaj yeem txuas nrog. Yog tsis siv LPM_DIRECTION, qhov chaw nres nkoj updown yog xaiv tau. Yog tias tshem tawm, tus nqi pib yog nce (1).
ua cin
Tsis muaj
Nqa mus rau qhov kev txiav txim qis qis. Rau cov txee, tus cwj pwm ntawm cin input yog
zoo ib yam rau tus cwj pwm ntawm cnt_en tswv yim. Yog tias tshem tawm, tus nqi pib yog 1
(VCC).
aclr
Tsis muaj
Asynchronous ntshiab input. Yog tias ob qho tib si aset thiab aclr tau siv thiab lees paub, aclr overrides asset. Yog tias tshem tawm, tus nqi pib yog 0 (disabled).
khoom
Tsis muaj
Asynchronous teeb input. Qhia qhov q[] outputs raws li tag nrho 1s, los yog rau tus nqi teev los ntawm LPM_AVALUE parameter. Yog tias ob qho tib si aset thiab aclr ports tau siv thiab lees paub, tus nqi ntawm qhov chaw nres nkoj aclr overrides tus nqi ntawm qhov chaw nres nkoj aset. Yog tias tshem tawm, tus nqi pib yog 0, xiam oob qhab.
aload ua
Tsis muaj
Asynchronous load input uas asynchronously loads lub txee nrog tus nqi ntawm cov ntaub ntawv nkag. Thaum siv qhov chaw nres nkoj aload, cov ntaub ntawv [] chaw nres nkoj yuav tsum txuas nrog. Yog tias tshem tawm, tus nqi pib yog 0, xiam oob qhab.
ua sclr
Tsis muaj
Synchronous clear input uas clears lub txee ntawm lub tom ntej no active moos ntug. Yog tias ob qho tib si sset thiab sclr chaw nres nkoj tau siv thiab lees paub, tus nqi ntawm qhov chaw nres nkoj sclr overrides tus nqi ntawm qhov chaw nres nkoj sset. Yog tias tshem tawm, tus nqi pib yog 0, xiam oob qhab.
sset
Tsis muaj
Synchronous teeb input uas teeb lub txee rau ntawm lub moos tom ntej. Qhia tus nqi ntawm q cov zis raws li tag nrho 1s, lossis rau tus nqi teev los ntawm LPM_SVALUE parameter. Yog tias ob qho tib si sset thiab sclr chaw nres nkoj tau siv thiab lees paub,
tus nqi ntawm qhov chaw nres nkoj sclr overrides tus nqi ntawm qhov chaw nres nkoj sset. Yog tias tshem tawm, tus nqi pib yog 0 (disabled).
sload
Tsis muaj
Synchronous load input uas thauj cov txee nrog cov ntaub ntawv[] ntawm lub moos tom ntej. Thaum siv qhov chaw nres nkoj sload, cov ntaub ntawv [] chaw nres nkoj yuav tsum txuas nrog. Yog tias tshem tawm, tus nqi pib yog 0 (disabled).
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 9
2. LPM_COUNTER (Counter) IP Core 683490 | 2020.10.05
Table 3.
LPM_COUNTER Output Ports
Chaw nres nkoj npe
Yuav tsum tau
Kev piav qhia
q[]
Tsis muaj
Cov ntaub ntawv tso tawm los ntawm lub txee. Qhov loj ntawm qhov chaw nres nkoj tso zis nyob ntawm qhov
LPM_WIDTH parameter tus nqi. Q[] lossis tsawg kawg ib qho ntawm eq[15..0] chaw nres nkoj
yuav tsum muaj txuas nrog.
ib[15..0]
Tsis muaj
Counter decode tso zis. Qhov chaw nres nkoj eq[15..0] tsis tuaj yeem nkag mus rau hauv qhov parameter editor vim tias qhov parameter tsuas yog txhawb nqa AHDL.
Qhov chaw nres nkoj q[] lossis eq[] chaw nres nkoj yuav tsum txuas nrog. Txog c eq ports tuaj yeem siv tau (0 <= c <= 15). Tsuas yog 16 tus lej suav qis tshaj plaws tau txiav txim siab. Thaum suav tus nqi yog c, cov zis eqc tau lees tias siab (1). Rau example, thaum suav yog 0, eq0 = 1, thaum suav yog 1, eq1 = 1, thiab thaum suav yog 15, eq 15 = 1. Decoded output rau suav qhov tseem ceeb ntawm 16 los yog ntau dua yuav tsum tau sab nraud decoding. Lub eq[15..0] outputs yog asynchronous rau q[] output.
cout
Tsis muaj
Nqa tawm qhov chaw nres nkoj ntawm lub txee lub MSB me ntsis. Nws tuaj yeem siv los txuas rau lwm lub txee los tsim lub txee loj dua.
2.6. Cov tsis
Cov lus hauv qab no teev cov kev txwv rau LPM_COUNTER IP core.
Table 4.
LPM_COUNTER Parameters
Lub npe Parameter
Hom
LPM_WIDTH
Tus lej
LPM_DIRECTION
Txoj hlua
LPM_MODULUS LPM_AVALUE
Tus lej
Integer/String
LPM_SVALUE LPM_HINT
Integer/String
Txoj hlua
LPM_TYPE
Txoj hlua
Yuav Tsum Tau Yog Tsis Yog Tsis Yog No
Tsis muaj
Tsis muaj
Kev piav qhia
Qhia qhov dav ntawm cov ntaub ntawv[] thiab q[] chaw nres nkoj, yog tias lawv siv.
Tus nqi yog nce, nqis, thiab tsis siv. Yog tias siv LPM_DIRECTION parameter, qhov chaw nres nkoj updown tsis tuaj yeem txuas nrog. Thaum qhov chaw nres nkoj updown tsis txuas, LPM_DIRECTION parameter default value yog UP.
Qhov siab tshaj plaws suav, ntxiv rau ib qho. Tus naj npawb ntawm cov xeev tshwj xeeb hauv lub txee lub voj voog. Yog tias tus nqi thauj khoom loj dua li LPM_MODULUS parameter, tus cwj pwm ntawm lub txee tsis tau teev tseg.
Tus nqi tas li uas yog loaded thaum asset asserted siab. Yog tias tus nqi teev loj dua lossis sib npaug , tus cwj pwm ntawm lub txee yog undefined (X) logic theem, qhov twg yog LPM_MODULUS, yog tam sim no, lossis 2 ^ LPM_WIDTH. Intel xav kom koj qhia tus nqi no ua tus lej lej rau AHDL tsim.
Tus nqi tas li uas tau thauj khoom ntawm ntug nce ntawm lub moos chaw nres nkoj thaum lub chaw nres nkoj sset tau lees paub siab. Intel xav kom koj qhia tus nqi no ua tus lej lej rau AHDL tsim.
Thaum koj instantiate lub tsev qiv ntawv ntawm parameterized modules (LPM) muaj nuj nqi hauv VHDL Tsim File (.vhd), koj yuav tsum siv LPM_HINT parameter los qhia txog qhov tshwj xeeb ntawm Intel. Rau example: LPM_HINT = “CHAIN_SIZE = 8, ONE_INPUT_IS_CONSTANT = YOG”
Tus nqi pib yog UNUSED.
Txheeb xyuas lub tsev qiv ntawv ntawm parameterized modules (LPM) lub npe lub npe hauv VHDL tsim files.
txuas ntxiv…
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 10
Xa lus tawm tswv yim
2. LPM_COUNTER (Counter) IP Core 683490 | 2020.10.05
Parameter Name INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN
Hom hlua hlua
Txoj hlua
Txoj hlua
Yuav tsum tsis muaj
Tsis muaj
Tsis muaj
Kev piav qhia
Qhov kev ntsuas no yog siv rau kev ua qauv thiab kev coj tus cwj pwm simulation lub hom phiaj. Qhov kev ntsuas no yog siv rau kev ua qauv thiab kev coj tus cwj pwm simulation lub hom phiaj. Tus parameter editor xam tus nqi rau qhov parameter no.
Intel tshwj xeeb parameter. Koj yuav tsum siv LPM_HINT parameter los qhia CARRY_CNT_EN parameter hauv VHDL tsim files. Tus nqi yog SMART, ON, OFF, thiab tsis siv. Ua kom lub LPM_COUNTER muaj nuj nqi los tshaj tawm cov teeb liab cnt_en los ntawm cov saw saw. Qee zaum, CARRY_CNT_EN parameter teeb tsa yuav muaj kev cuam tshuam me ntsis ntawm qhov nrawm, yog li koj yuav xav tua nws. Lub neej ntawd tus nqi yog SMART, uas muab qhov zoo tshaj plaws kev lag luam tawm ntawm qhov loj thiab ceev.
Intel tshwj xeeb parameter. Koj yuav tsum siv LPM_HINT parameter los qhia qhov LABWIDE_SCLR parameter hauv VHDL tsim files. Tus nqi yog ON, OFF, lossis tsis siv. Tus nqi pib yog ON. Tso cai rau koj los lov tes taw kev siv LABwide sclr feature pom nyob rau hauv obsoleted cov tsev neeg. Tig qhov kev xaiv no tawm yuav ua rau muaj feem ntau ntawm kev siv tag nrho cov LABs ib nrab, thiab yog li yuav tso cai rau cov logic ceev dua thaum SCLR tsis siv rau LAB ua tiav. Qhov kev ntsuas no muaj rau kev rov qab sib raug zoo, thiab Intel xav kom koj tsis txhob siv qhov ntsuas no.
Qhia meej txog kev siv lub updown input chaw nres nkoj. Yog tias tshem tawm tus nqi qub yog PORT_CONNECTIVITY. Thaum tus nqi chaw nres nkoj tau teem rau PORT_USED, qhov chaw nres nkoj raug kho raws li siv. Thaum tus nqi chaw nres nkoj tau teeb tsa rau PORT_UNUSED, qhov chaw nres nkoj raug kho raws li tsis siv. Thaum tus nqi chaw nres nkoj tau teeb tsa rau PORT_CONNECTIVITY, kev siv chaw nres nkoj txiav txim siab los ntawm kev txheeb xyuas qhov chaw nres nkoj txuas.
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 11
683490 | 2020.10.05 Xa lus tawm tswv yim
3. LPM_DIVIDE (Divider) Intel FPGA IP Core
Daim duab 2.
Lub LPM_DIVIDE Intel FPGA IP core siv ib qho kev faib los faib tus lej suav nrog tus nqi nkag los ntawm tus lej tus lej nkag los tsim cov khoom siv thiab qhov seem.
Cov duab hauv qab no qhia cov chaw nres nkoj rau LPM_DIVIDE IP core.
LPM_DIVIDE Chaw nres nkoj
LPM_DIVIDE
numer[] denom[] moos
quotient[] nyob []
ua aclr
inst
3.1. Nta
Lub LPM_DIVIDE IP core muaj cov yam ntxwv hauv qab no: · Tsim ib qho kev faib tawm uas faib tus lej suav nrog tus nqi nkag los ntawm tus lej tawm tswv yim
tus nqi los tsim ib qho quotient thiab seem. · Txhawb cov ntaub ntawv dav ntawm 1 ntsis. · Txhawb kev kos npe thiab tsis kos npe cov ntaub ntawv sawv cev rau ob qho tib si tus lej
thiab tus nqi denominator. · Txhawb cheeb tsam lossis kev ua kom zoo. · Muab ib qho kev xaiv los qhia kom meej qhov zoo seem tso zis. · Txhawb pipelining configurable tso zis latency. · Txhawb kev xaiv asynchronous ntshiab thiab moos pab cov chaw nres nkoj.
3.2. Verilog HDL Prototype
Cov nram qab no Verilog HDL qauv yog nyob rau hauv Verilog Design File (.v) lpm.v in the edasynthesis directory.
module lpm_divide ( quotient, seem, tus lej, tus lej, moos, 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. Txhua txoj cai. Intel, Intel logo, thiab lwm yam Intel cov cim yog cov cim lag luam ntawm Intel Corporation lossis nws cov koom haum. Intel lav kev ua tau zoo ntawm nws cov FPGA thiab cov khoom lag luam semiconductor rau cov kev qhia tshwj xeeb tam sim no raws li Intel tus qauv kev lees paub, tab sis muaj txoj cai los hloov cov khoom thiab cov kev pabcuam txhua lub sijhawm yam tsis muaj ntawv ceeb toom. Intel xav tias tsis muaj lub luag haujlwm lossis kev lav phib xaub uas tshwm sim los ntawm daim ntawv thov lossis siv cov ntaub ntawv, cov khoom lag luam, lossis cov kev pabcuam uas tau piav qhia hauv no tshwj tsis yog raws li tau pom zoo hauv kev sau ntawv los ntawm Intel. Intel cov neeg siv khoom tau qhia kom tau txais qhov tseeb version ntawm cov cuab yeej tshwj xeeb ua ntej tso siab rau cov ntaub ntawv tshaj tawm thiab ua ntej muab xaj rau cov khoom lossis cov kev pabcuam. * Lwm lub npe thiab hom yuav raug lees paub raws li cov cuab yeej ntawm lwm tus.
Daim ntawv pov thawj ISO 9001: 2015
3. LPM_DIVIDE (Divider) Intel FPGA IP Core 683490 | 2020.10.05
parameter lpm_hint = "UNUSED"; input moos; input clken; input aclr; input [lpm_widthn-1:0] tus lej; input [lpm_widthd-1:0] npe; tso zis [lpm_widthn-1:0] quotient; tso zis [lpm_widthd-1:0] nyob twj ywm; endmodule
3.3. VHDL Component Tshaj Tawm
VHDL cov lus tshaj tawm yog nyob hauv VHDL Tsim File (.vhd) LPM_PACK.vhd hauv librariesvhdllpm directory.
tivthaiv LPM_DIVIDE generic (LPM_WIDTHN : ntuj; LPM_WIDTHD : ntuj;
LPM_NREPRESENTATION : string := “UNSIGNED”; LPM_DREPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : ntuj := 0; LPM_TYPE : hlua := L_DIVIDE; LPM_HINT : string := "UNUSED"); chaw nres nkoj (NUMER : in std_logic_vector(LPM_WIDTHN-1 downto 0); DENOM : in std_logic_vector(LPM_WIDTHD-1 downto 0); ACLR : in std_logic := '0'; CLOCK : in std_logic := '0'; := '1'; QUOTIENT : out std_logic_vector(LPM_WIDTHN-1 downto 0); kawg tivthaiv;
3.4. VHDL LIBRARY_USE tshaj tawm
Daim ntawv tshaj tawm VHDL LIBRARY-SIV tsis tas yuav yog tias koj siv VHDL Cov Lus Tshaj Tawm.
LIBRARY lpm; USE lpm.lpm_components.all;
3.5. Chaw nres nkoj
Cov lus hauv qab no teev cov tswv yim thiab cov chaw nres nkoj rau LPM_DIVIDE IP core.
Table 5.
LPM_DIVIDE Input Ports
Chaw nres nkoj npe
Yuav tsum tau
tus lej[]
Yog lawm
npe[]
Yog lawm
Kev piav qhia
Numerator data input. Qhov loj ntawm qhov chaw nres nkoj nkag yog nyob ntawm LPM_WIDTHN tus nqi parameter.
Denominator data input. Qhov loj ntawm qhov chaw nres nkoj nkag yog nyob ntawm LPM_WIDTHD parameter tus nqi.
txuas ntxiv…
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 13
3. LPM_DIVIDE (Divider) Intel FPGA IP Core 683490 | 2020.10.05
Chaw nres nkoj lub npe moos clken
aclr
Yuav tsum tsis muaj
Tsis muaj
Kev piav qhia
Clock input rau pipelined siv. Rau LPM_PIPELINE qhov tseem ceeb uas tsis yog 0 (default), lub moos chaw nres nkoj yuav tsum tau qhib.
Lub moos pab kev siv cov kav dej. Thaum qhov chaw nres nkoj clken tau lees paub siab, kev faib ua haujlwm yuav tshwm sim. Thaum lub teeb liab qis, tsis muaj kev ua haujlwm tshwm sim. Yog tias tshem tawm, tus nqi pib yog 1.
Asynchronous ntshiab chaw nres nkoj siv txhua lub sijhawm los rov pib dua lub raj xa mus rau tag nrho '0's asynchronously rau lub moos nkag.
Table 6.
LPM_DIVIDE Output Ports
Chaw nres nkoj npe
Yuav tsum tau
Kev piav qhia
quotient[]
Yog lawm
Cov ntaub ntawv tso tawm. Qhov loj ntawm qhov chaw nres nkoj tso zis nyob ntawm LPM_WIDTHN
tus nqi parameter.
nyob []
Yog lawm
Cov ntaub ntawv tawm. Qhov loj ntawm qhov chaw nres nkoj tso zis nyob ntawm LPM_WIDTHD
tus nqi parameter.
3.6. Cov tsis
Cov lus hauv qab no teev cov kev txwv rau LPM_DIVIDE Intel FPGA IP core.
Lub npe Parameter
Hom
Yuav tsum tau
Kev piav qhia
LPM_WIDTHN
Tus lej
Yog lawm
Qhia qhov dav ntawm tus lej[] thiab
quotient[] chaw nres nkoj. Tus nqi yog 1 txog 64.
LPM_WIDTHD
Tus lej
Yog lawm
Qhia qhov dav ntawm tus denom[] thiab
nyob [] ports. Tus nqi yog 1 txog 64.
LPM_NREPRESENTATION LPM_DREPRESENTATION
Txoj hlua hlua
Tsis muaj
Kos npe sawv cev ntawm tus lej input.
Tus nqi yog SAU thiab UNSIGNED. Thaum no
parameter yog teem rau SIGNED, lub divider
txhais tus lej[] input raws li kos npe ob tus
ntxiv.
Tsis muaj
Kos npe sawv cev ntawm tus denominator input.
Tus nqi yog SAU thiab UNSIGNED. Thaum no
parameter yog teem rau SIGNED, lub divider
txhais lub denom[] input raws li kos npe ob tus
ntxiv.
LPM_TYPE
Txoj hlua
Tsis muaj
Txheeb xyuas lub tsev qiv ntawv ntawm parameterized
modules (LPM) lub npe chaw nyob hauv VHDL tsim
files (.vhd).
LPM_HINT
Txoj hlua
Tsis muaj
Thaum koj instantiate ib lub tsev qiv ntawv ntawm
parameterized modules (LPM) muaj nuj nqi hauv a
VHDL Design File (.vhd), koj yuav tsum siv lub
LPM_HINT parameter los qhia txog Intel-
tshwj xeeb parameter. Rau example: LPM_HINT
= “CHAIN_SIZE = 8,
ONE_INPUT_IS_CONSTANT = YOG” Tus
default value yog UNUSED.
LPM_REMAINDERPOSITIVE
Txoj hlua
Tsis muaj
Intel tshwj xeeb parameter. Koj yuav tsum siv lub
LPM_HINT parameter los qhia qhov
LPM_REMAINDERPOSITIVE parameter hauv
VHDL tsim files. Tus nqi yog TRUE lossis FALSE.
Yog hais tias qhov parameter no yog teem rau TRUE, ces tus
tus nqi ntawm qhov seem [] chaw nres nkoj yuav tsum ntau dua
txuas ntxiv…
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 14
Xa lus tawm tswv yim
3. LPM_DIVIDE (Divider) Intel FPGA IP Core 683490 | 2020.10.05
Lub npe Parameter
Hom
MAXIMIZE_SPEED
Tus lej
LPM_PIPELINE
Tus lej
INTENDED_DEVICE_FAMILY SKIP_BITS
Txoj hlua Integer
Yuav tsum tau No
Tsis yog No
Kev piav qhia
tshaj los yog sib npaug rau xoom. Yog tias qhov ntsuas no tau teeb tsa rau TRUE, ces tus nqi ntawm qhov seem [] chaw nres nkoj yog xoom, lossis tus nqi yog tib lub cim, qhov zoo lossis qhov tsis zoo, raws li tus nqi ntawm tus lej chaw nres nkoj. Txhawm rau txo thaj tsam thiab txhim kho kev nrawm, Intel pom zoo kom teeb tsa qhov ntsuas no rau TRUE hauv kev ua haujlwm uas qhov seem yuav tsum yog qhov zoo lossis qhov seem uas tsis tseem ceeb.
Intel tshwj xeeb parameter. Koj yuav tsum siv LPM_HINT parameter los qhia qhov MAXIMIZE_SPEED parameter hauv VHDL tsim files. Tus nqi yog [0..9]. Yog tias siv, Intel Quartus Prime software sim ua kom zoo dua ib qho piv txwv ntawm LPM_DIVIDE muaj nuj nqi rau kev nrawm dua li kev ua haujlwm, thiab overrides qhov chaw ntawm Optimization Technique logic xaiv. Yog tias MAXIMIZE_SPEED tsis siv, tus nqi ntawm Optimization Technique xaiv yog siv los hloov. Yog hais tias tus nqi ntawm MAXIMIZE_SPEED yog 6 los yog siab dua, lub Compiler optimizes LPM_DIVIDE IP core kom ceev dua los ntawm kev siv nqa chains; Yog hais tias tus nqi yog 5 los yog tsawg dua, lub compiler siv tus tsim yam tsis muaj chains.
Qhia tus naj npawb ntawm lub voj voog ntawm latency txuam nrog cov quotient[] thiab nyob twj ywm [] outputs. Tus nqi ntawm xoom (0) qhia tias tsis muaj latency tshwm sim, thiab qhov ua tiav ua ke ua ke yog instantiated. Yog tias tshem tawm, tus nqi pib yog 0 (nonpipelined). Koj tsis tuaj yeem qhia tus nqi rau LPM_PIPELINE parameter uas siab dua LPM_WIDTHN.
Qhov kev ntsuas no yog siv rau kev ua qauv thiab kev coj tus cwj pwm simulation lub hom phiaj. Tus parameter editor xam tus nqi rau qhov parameter no.
Tso cai rau kom muaj txiaj ntsig ntau dua qhov kev faib me me kom ua kom zoo dua cov ntsiab lus ntawm cov khoom ua ntej los ntawm kev muab cov naj npawb ntawm GND rau LPM_DIVIDE IP core. Qhia tus naj npawb ntawm GND ua rau ntawm qhov tso zis tawm rau qhov ntsuas no.
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 15
683490 | 2020.10.05 Xa lus tawm tswv yim
4. LPM_MULT (Multiplier) IP Core
Daim duab 3.
LPM_MULT IP core siv tus lej sib npaug los muab ob qhov kev nkag siab cov ntaub ntawv tsim nyog los tsim cov khoom lag luam raws li cov khoom tsim tawm.
Cov duab hauv qab no qhia cov chaw nres nkoj rau LPM_MULT IP core.
LPM_Mult Ports
LPM_MULT moos dataa[] result[] datab[] aclr/sclr clken
inst
Cov Ntaub Ntawv Tseem Ceeb Ntawm nplooj 71
4.1. Nta
Lub LPM_MULT IP core muaj cov yam ntxwv hauv qab no: · Tsim kom muaj qhov sib npaug uas sib npaug ntawm ob qhov kev tawm tswv yim cov ntaub ntawv muaj nuj nqis · Txhawb cov ntaub ntawv dav ntawm 1 khoom · Txhawb kev kos npe thiab tsis kos npe cov ntaub ntawv sawv cev · Txhawb cheeb tsam lossis kev ua kom zoo dua · Txhawb cov raj xa dej nrog cov zis tawm latency · Muab ib qho kev xaiv rau kev siv nyob rau hauv kev mob siab rau digital signal processing (DSP)
thaiv circuitry lossis logic ntsiab (LEs) Ceeb toom: Thaum tsim cov multipliers loj dua li qhov kev txhawb nqa ib txwm muaj tuaj yeem /
yuav yog qhov ua tau zoo cuam tshuam los ntawm cascading ntawm DSP blocks. · Txhawb kev xaiv asynchronous ntshiab thiab moos pab cov tswv yim ports · Txhawb kev xaiv synchronous ntshiab rau Intel Stratix 10, Intel Arria 10 thiab Intel Cyclone 10 GX li
Intel Corporation. Txhua txoj cai. Intel, Intel logo, thiab lwm yam Intel cov cim yog cov cim lag luam ntawm Intel Corporation lossis nws cov koom haum. Intel lav kev ua tau zoo ntawm nws cov FPGA thiab cov khoom lag luam semiconductor rau cov kev qhia tshwj xeeb tam sim no raws li Intel tus qauv kev lees paub, tab sis muaj txoj cai los hloov cov khoom thiab cov kev pabcuam txhua lub sijhawm yam tsis muaj ntawv ceeb toom. Intel xav tias tsis muaj lub luag haujlwm lossis kev lav phib xaub uas tshwm sim los ntawm daim ntawv thov lossis siv cov ntaub ntawv, cov khoom lag luam, lossis cov kev pabcuam uas tau piav qhia hauv no tshwj tsis yog raws li tau pom zoo hauv kev sau ntawv los ntawm Intel. Intel cov neeg siv khoom tau qhia kom tau txais qhov tseeb version ntawm cov cuab yeej tshwj xeeb ua ntej tso siab rau cov ntaub ntawv tshaj tawm thiab ua ntej muab xaj rau cov khoom lossis cov kev pabcuam. * Lwm lub npe thiab hom yuav raug lees paub raws li cov cuab yeej ntawm lwm tus.
Daim ntawv pov thawj ISO 9001: 2015
4. LPM_MULT (Multiplier) IP Core 683490 | 2020.10.05
4.2. Verilog HDL Prototype
Cov nram qab no Verilog HDL qauv yog nyob rau hauv Verilog Design File (.v) lpm.v in the edasynthesis directory.
module lpm_mult ( result, dataa, datab, sum, moos, 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 = "UNUSED"; input moos; input clken; input aclr; input [lpm_widtha-1:0] dataa; input [lpm_widthb-1:0] datab; tswv yim [lpm_widths-1:0] sum; tso zis [lpm_widthp-1:0] result; endmodule
4.3. VHDL Component Tshaj Tawm
VHDL cov lus tshaj tawm yog nyob hauv VHDL Tsim File (.vhd) LPM_PACK.vhd hauv librariesvhdllpm directory.
tivthaiv LPM_MULT generic ( LPM_WIDTHA : natural; LPM_WIDTHB : natural; LPM_WIDTHS : natural := 1; LPM_WIDTHP : natural;
LPM_REPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : ntuj := 0; LPM_TYPE: txoj hlua := L_MULT; LPM_HINT : string := "UNUSED"); port ( DATAA : in std_logic_vector(LPM_WIDTHA-1 downto 0); DATAB : in std_logic_vector(LPM_WIDTHB-1 downto 0); ACLR : in std_logic := '0'; CLOCK : in std_logic := '0'; := '1'; SUM : in std_logic_vector(LPM_WIDTHS-1 downto 0) := (OTHERS => '0'); kawg tivthaiv;
4.4. VHDL LIBRARY_USE tshaj tawm
Daim ntawv tshaj tawm VHDL LIBRARY-SIV tsis tas yuav yog tias koj siv VHDL Cov Lus Tshaj Tawm.
LIBRARY lpm; USE lpm.lpm_components.all;
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 17
4. LPM_MULT (Multiplier) IP Core 683490 | 2020.10.05
4.5. Teeb liab
Table 7.
LPM_MULT Input Signals
Lub Npe Lub Npe
Yuav tsum tau
Kev piav qhia
dataa[]
Yog lawm
Cov ntaub ntawv nkag.
Rau Intel Stratix 10, Intel Arria 10, thiab Intel Cyclone 10 GX li, qhov loj ntawm lub teeb liab tawm tswv yim nyob ntawm Dataa width parameter tus nqi.
Rau cov laus thiab Intel Cyclone 10 LP cov khoom siv, qhov loj ntawm cov teeb liab tawm tswv yim nyob ntawm tus nqi LPM_WIDTHA parameter.
datab[]
Yog lawm
Cov ntaub ntawv nkag.
Rau Intel Stratix 10, Intel Arria 10, thiab Intel Cyclone 10 GX pab kiag li lawm, qhov loj ntawm cov tswv yim teeb liab nyob ntawm Datab width parameter tus nqi.
Rau cov laus thiab Intel Cyclone 10 LP cov khoom siv, qhov loj ntawm cov teeb liab tawm tswv yim nyob ntawm
ntawm LPM_WIDTHB tus nqi parameter.
moos
Tsis muaj
Clock input rau pipelined siv.
Rau cov laus thiab Intel Cyclone 10 LP cov khoom siv, lub moos teeb liab yuav tsum tau qhib rau LPM_PIPELINE qhov tseem ceeb uas tsis yog 0 (default).
Rau Intel Stratix 10, Intel Arria 10, thiab Intel Cyclone 10 GX li, lub moos teeb liab yuav tsum tau qhib yog tias tus nqi Latency yog lwm yam tshaj li 1 (default).
clken ua
Tsis muaj
Clock enables rau pipelined siv. Thaum lub teeb liab clken yog asserted siab, lub
kev ua haujlwm adder/subtractor tshwm sim. Thaum lub teeb liab qis, tsis muaj kev ua haujlwm
tshwm sim. Yog tias tshem tawm, tus nqi pib yog 1.
aclr ua
Tsis muaj
Asynchronous meej teeb liab siv txhua lub sijhawm los rov pib dua cov kav dej rau txhua qhov 0s,
asynchronously rau lub moos teeb liab. Lub raj xa dej pib mus rau qhov tsis tau txhais (X)
qib logic. Cov txiaj ntsig tau zoo ib yam, tab sis tsis yog xoom tus nqi.
Tsis muaj
Synchronous ntshiab teeb liab siv txhua lub sijhawm los rov pib dua cov kav dej rau tag nrho 0s,
synchronously rau lub moos teeb liab. Lub raj xa dej pib mus rau qhov tsis tau txhais (X)
qib logic. Cov txiaj ntsig tau zoo ib yam, tab sis tsis yog xoom tus nqi.
Table 8.
LPM_MULT tso zis teeb liab
teeb liab npe
Yuav tsum tau
Kev piav qhia
tshwm sim[]
Yog lawm
Cov ntaub ntawv tawm.
Rau cov laus thiab Intel Cyclone 10 LP cov khoom siv, qhov loj ntawm cov teeb liab tso tawm nyob ntawm LPM_WIDTHP tus nqi parameter. Yog tias LPM_WIDTHP <max (LPM_WIDTHA + LPM_WIDTHB, LPM_WIDTHS) lossis (LPM_WIDTHA + LPM_WIDTHS), tsuas yog LPM_WIDTHP MSBs tam sim no.
Rau Intel Stratix 10, Intel Arria 10 thiab Intel Cyclone 10 GX, qhov loj ntawm cov teeb liab tso tawm nyob ntawm qhov ntsuas qhov dav.
4.6. Parameters rau Stratix V, Arria V, Cyclone V, thiab Intel Cyclone 10 LP Devices
4.6.1. General Tab
Table 9.
General Tab
Parameter
Tus nqi
Multiplier Configuration
Multiply 'dataa' input los ntawm 'datab' input
Default tus nqi
Kev piav qhia
Multiply 'dataa' input los ntawm 'datab' input
Xaiv qhov xav tau configuration rau tus multiplier.
txuas ntxiv…
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 18
Xa lus tawm tswv yim
4. LPM_MULT (Multiplier) IP Core 683490 | 2020.10.05
Parameter
Yuav tsum dav npaum li cas 'dataa' input? Yuav tsum dav npaum li cas 'datab' input? Yuav ua li cas qhov dav ntawm 'qhov tshwm sim' tso zis yuav txiav txim siab? Txwv qhov dav
Tus nqi
Multiply 'dataa' input los ntawm nws tus kheej (squaring lag luam)
1-256 ib
Default tus nqi
Kev piav qhia
8 bits
Qhia qhov dav ntawm dataa[] chaw nres nkoj.
1-256 ib
8 bits
Qhia qhov dav ntawm datab[] chaw nres nkoj.
Cia li xam qhov dav txwv qhov dav
1-512 ib
Automaticall y xam qhov dav
Xaiv txoj kev xav tau los txiav txim qhov dav ntawm qhov tshwm sim[] chaw nres nkoj.
16 bits
Qhia qhov dav ntawm qhov tshwm sim[] chaw nres nkoj.
Tus nqi no tsuas yog siv tau yog tias koj xaiv txwv qhov dav hauv Hom parameter.
4.6.2 ib. General 2 Tab
Table 10. General 2 Tab
Parameter
Tus nqi
Datab Input
Puas yog 'datab' input bus puas muaj tus nqi tas li?
Tsis Yog
Ntau hom
Yam twg
Tsis tau kos npe
koj puas xav tau multiplication? Kos npe
Kev nqis tes ua
Qhov kev siv ntau npaum li cas yuav tsum tau siv?
Siv qhov kev siv ua ntej
Siv lub tshuab hluav taws xob sib txuas ua ke (Tsis muaj rau txhua tsev neeg)
Siv cov ntsiab lus logic
Default tus nqi
Kev piav qhia
Tsis muaj
Xaiv Yog kom qhia tus nqi tas li ntawm qhov
'datab' input bus, yog muaj.
Tsis tau kos npe
Qhia cov qauv kev sawv cev rau ob qho tib si dataa[] thiab datab[] inputs.
Siv lub neej ntawd siv ion
Xaiv txoj kev xav tau los txiav txim qhov dav ntawm qhov tshwm sim[] chaw nres nkoj.
4.6.3. Pipelining Tab
Table 11. Pipelining Tab
Parameter
Koj puas xav xa daim ntawv No
muaj nuj nqi?
Yog lawm
Tus nqi
Tsim ib qho 'aclr'
—
asynchronous clear port
Default tus nqi
Kev piav qhia
Tsis muaj
Xaiv Yog los pab cov raj xa mus rau npe rau
multiplier cov zis thiab qhia qhov xav tau
tso zis latency nyob rau hauv lub voj voog moos. Enabling cov
pipeline register ntxiv latency ntxiv rau lub
tso zis.
Unchecked
Xaiv qhov kev xaiv no los pab kom aclr chaw nres nkoj siv asynchronous ntshiab rau cov raj xa dej npe.
txuas ntxiv…
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 19
4. LPM_MULT (Multiplier) IP Core 683490 | 2020.10.05
Parameter
Tsim lub 'clken' moos pab lub moos
Kev ua kom zoo
Hom kev optimization twg koj xav tau?
Tus nqi —
Default Speed Area
Default tus nqi
Kev piav qhia
Unchecked
Qhia meej lub moos siab ua haujlwm rau lub moos chaw nres nkoj ntawm lub raj xa dej npe
Default
Qhia qhov xav tau optimization rau tus IP core.
Xaiv Default kom cia Intel Quartus Prime software los txiav txim qhov kev ua kom zoo tshaj plaws rau IP core.
4.7. Parameters rau Intel Stratix 10, Intel Arria 10, thiab Intel Cyclone 10 GX Devices
4.7.1. General Tab
Table 12. General Tab
Parameter
Tus nqi
Default tus nqi
Kev piav qhia
Multiplier Configuration Hom
Data Port Widths
Multiply 'dataa' input los ntawm 'datab' input
Multiply 'dataa' input los ntawm nws tus kheej (squaring lag luam)
Multiply 'dataa' input los ntawm 'datab' input
Xaiv qhov xav tau configuration rau tus multiplier.
Data dav
1-256 ib
8 bits
Qhia qhov dav ntawm dataa[] chaw nres nkoj.
Datab dav
1-256 ib
8 bits
Qhia qhov dav ntawm datab[] chaw nres nkoj.
Yuav ua li cas qhov dav ntawm 'qhov tshwm sim' tso zis yuav txiav txim siab?
Hom
Yeej xam qhov dav
Txwv qhov dav
Automaticall y xam qhov dav
Xaiv txoj kev xav tau los txiav txim qhov dav ntawm qhov tshwm sim[] chaw nres nkoj.
Tus nqi
1-512 ib
16 bits
Qhia qhov dav ntawm qhov tshwm sim[] chaw nres nkoj.
Tus nqi no tsuas yog siv tau yog tias koj xaiv txwv qhov dav hauv Hom parameter.
Qhov dav dav
1-512 ib
—
Qhia qhov dav dav ntawm qhov tshwm sim[] chaw nres nkoj.
4.7.2 ib. General 2 Tab
Table 13. General 2 Tab
Parameter
Datab Input
Puas yog 'datab' input bus puas muaj tus nqi tas li?
Tsis Yog
Tus nqi
Default tus nqi
Kev piav qhia
Tsis muaj
Xaiv Yog kom qhia tus nqi tas li ntawm qhov
'datab' input bus, yog muaj.
txuas ntxiv…
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 20
Xa lus tawm tswv yim
4. LPM_MULT (Multiplier) IP Core 683490 | 2020.10.05
Parameter
Tus nqi
Tus nqi
Txhua tus nqi ntau dua 0
Ntau hom
Yam twg
Tsis tau kos npe
koj puas xav tau multiplication? Kos npe
Kev ua qauv
Qhov kev siv ntau npaum li cas yuav tsum tau siv?
Siv qhov kev siv ua ntej
Siv lub tshuab hluav taws xob sib txuas tshwj xeeb
Siv cov ntsiab lus logic
Default tus nqi
Kev piav qhia
0
Qhia tus nqi tas li ntawm datab[] chaw nres nkoj.
Tsis tau kos npe
Qhia cov qauv kev sawv cev rau ob qho tib si dataa[] thiab datab[] inputs.
Siv lub neej ntawd siv ion
Xaiv txoj kev xav tau los txiav txim qhov dav ntawm qhov tshwm sim[] chaw nres nkoj.
4.7.3 ib. Cov kav dej
Table 14. Pipelining Tab
Parameter
Tus nqi
Koj puas xav xa cov kev ua haujlwm?
Cov kav dej
Tsis Yog
Latency Clear Signal Hom
Txhua tus nqi ntau dua 0.
TSIS MUAJ ACLR SCLR
Tsim lub moos 'clken'
—
qhib lub moos
Hom kev optimization twg koj xav tau?
Hom
Default Speed Area
Default tus nqi
Kev piav qhia
1 NEEJ
—
Xaiv Yog los qhib cov raj xa mus rau tus lej ntau qhov tso zis. Ua kom lub raj xa dej tso npe ntxiv latency ntxiv rau cov zis.
Qhia qhov xav tau tso zis latency hauv lub voj voog moos.
Qhia meej txog hom kev pib dua tshiab rau lub raj xa dej npe. Xaiv TSIS yog tias koj tsis siv cov npe kav dej. Xaiv ACLR los siv asynchronous ntshiab rau lub raj xa dej npe. Qhov no yuav tsim ACLR chaw nres nkoj. Xaiv SCLR siv synchronous ntshiab rau cov raj xa dej npe. Qhov no yuav tsim SCLR chaw nres nkoj.
Qhia meej lub moos siab ua haujlwm rau lub moos chaw nres nkoj ntawm lub raj xa dej npe
Default
Qhia qhov xav tau optimization rau tus IP core.
Xaiv Default kom cia Intel Quartus Prime software los txiav txim qhov zoo tshaj plaws optiomization rau tus tub ntxhais IP.
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 21
683490 | 2020.10.05 Xa lus tawm tswv yim
5. LPM_ADD_SUB (Adder/Subtractor)
Daim duab 4.
LPM_ADD_SUB IP core tso cai rau koj siv tus adder lossis tus rho tawm los ntxiv lossis rho tawm cov ntaub ntawv los tsim cov txiaj ntsig uas muaj cov lej lossis qhov sib txawv ntawm cov khoom nkag.
Cov duab hauv qab no qhia cov chaw nres nkoj rau LPM_ADD_SUB IP core.
LPM_ADD_SUB Ports
LPM_ADD_SUB add_sub cin
dataa[]
moos clken datab[] aclr
result[] overflow cout
inst
5.1. Nta
Lub LPM_ADD_SUB IP core muaj cov yam ntxwv hauv qab no: · Tsim cov adder, rho tawm, thiab dynamically configurable adder/subtractor
muaj nuj nqi. · Txhawb cov ntaub ntawv dav ntawm 1 ntsis. · Txhawb cov ntaub ntawv sawv cev xws li kos npe thiab tsis kos npe. · Txhawb kev xaiv nqa-hauv (qiv-tawm), asynchronous clear, thiab moos pab
input ports. · Txhawb kev yeem nqa tawm (qiv-hauv) thiab cov chaw tso zis ntau dhau. · Muab ib qho ntawm cov ntaub ntawv nkag mus rau qhov tsis tu ncua. · Txhawb pipelining nrog configurable tso zis latency.
Intel Corporation. Txhua txoj cai. Intel, Intel logo, thiab lwm yam Intel cov cim yog cov cim lag luam ntawm Intel Corporation lossis nws cov koom haum. Intel lav kev ua tau zoo ntawm nws cov FPGA thiab cov khoom lag luam semiconductor rau cov kev qhia tshwj xeeb tam sim no raws li Intel tus qauv kev lees paub, tab sis muaj txoj cai los hloov cov khoom thiab cov kev pabcuam txhua lub sijhawm yam tsis muaj ntawv ceeb toom. Intel xav tias tsis muaj lub luag haujlwm lossis kev lav phib xaub uas tshwm sim los ntawm daim ntawv thov lossis siv cov ntaub ntawv, cov khoom lag luam, lossis cov kev pabcuam uas tau piav qhia hauv no tshwj tsis yog raws li tau pom zoo hauv kev sau ntawv los ntawm Intel. Intel cov neeg siv khoom tau qhia kom tau txais qhov tseeb version ntawm cov cuab yeej tshwj xeeb ua ntej tso siab rau cov ntaub ntawv tshaj tawm thiab ua ntej muab xaj rau cov khoom lossis cov kev pabcuam. * Lwm lub npe thiab hom yuav raug lees paub raws li cov cuab yeej ntawm lwm tus.
Daim ntawv pov thawj ISO 9001: 2015
5. LPM_ADD_SUB (Adder/Subtractor) 683490 | 2020.10.05
5.2. Verilog HDL Prototype
Cov nram qab no Verilog HDL qauv yog nyob rau hauv Verilog Design File (.v) lpm.v in the edasynthesis directory.
module lpm_add_sub ( result, cout, overflow, add_sub, cin, dataa, datab, moos, clken, aclr ); parameter lpm_type = "lpm_add_sub"; parameter lpm_width = 1; parameter lpm_direction = "UNUSED"; parameter lpm_representation = "SIGNED"; parameter lpm_pipeline = 0; parameter lpm_hint = "UNUSED"; input [lpm_width-1:0] dataa, datab; input add_sub, cin; input moos; input clken; input aclr; tso zis [lpm_width-1:0] result; tso zis cout, overflow; endmodule
5.3. VHDL Component Tshaj Tawm
VHDL cov lus tshaj tawm yog nyob hauv VHDL Tsim File (.vhd) LPM_PACK.vhd hauv librariesvhdllpm directory.
tivthaiv LPM_ADD_SUB generic (LPM_WIDTH : ntuj;
LPM_DIRECTION : string := “UNUSED”; LPM_REPRESENTATION: txoj hlua := “SIGNED”; LPM_PIPELINE : ntuj := 0; LPM_TYPE : string := L_ADD_SUB; LPM_HINT : string := "UNUSED"); port (DATAA : in std_logic_vector(LPM_WIDTH-1 downto 0); DATAB : in std_logic_vector(LPM_WIDTH-1 downto 0); ACLR : in std_logic := '0'; CLOCK : in std_logic := '0'; := '1'; CIN : in std_logic := 'Z'; kawg tivthaiv;
5.4. VHDL LIBRARY_USE tshaj tawm
Daim ntawv tshaj tawm VHDL LIBRARY-SIV tsis tas yuav yog tias koj siv VHDL Cov Lus Tshaj Tawm.
LIBRARY lpm; USE lpm.lpm_components.all;
5.5. Chaw nres nkoj
Cov lus hauv qab no teev cov tswv yim thiab cov chaw nres nkoj tawm rau LPM_ADD_SUB IP core.
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 23
5. LPM_ADD_SUB (Adder/Subtractor) 683490 | 2020.10.05
Table 15. LPM_ADD_SUB IP Core Input Ports
Chaw nres nkoj npe
Yuav tsum tau
Kev piav qhia
ua cin
Tsis muaj
Nqa mus rau qhov kev txiav txim qis qis. Rau kev ua haujlwm ntxiv, tus nqi pib yog 0. Rau
Kev rho tawm haujlwm, tus nqi pib yog 1.
dataa[]
Yog lawm
Cov ntaub ntawv nkag. Qhov loj ntawm qhov chaw nres nkoj nkag yog nyob ntawm LPM_WIDTH parameter tus nqi.
datab[]
Yog lawm
Cov ntaub ntawv nkag. Qhov loj ntawm qhov chaw nres nkoj nkag yog nyob ntawm LPM_WIDTH parameter tus nqi.
add_sub
Tsis muaj
Optional input chaw nres nkoj los pab kom dynamic switching ntawm tus adder thiab subtractor
muaj nuj nqi. Yog siv LPM_DIRECTION parameter, add_sub siv tsis tau. Yog
rho tawm, tus nqi pib yog ADD. Intel xav kom koj siv lub
LPM_DIRECTION parameter qhia txog kev ua haujlwm ntawm LPM_ADD_SUB muaj nuj nqi,
es tsis muab qhov tas mus li rau qhov chaw nres nkoj add_sub.
moos
Tsis muaj
Input rau kev siv pipeline. Lub moos chaw nres nkoj muab lub moos input rau lub raj xa dej
kev ua haujlwm. Rau LPM_PIPELINE qhov tseem ceeb uas tsis yog 0 (default), lub moos chaw nres nkoj yuav tsum yog
qhib.
clken ua
Tsis muaj
Clock enables rau pipelined siv. Thaum qhov chaw nres nkoj clken tau lees paub siab, tus adder /
Kev ua haujlwm subtractor tshwm sim. Thaum lub teeb liab qis, tsis muaj kev ua haujlwm tshwm sim. Yog
rho tawm, tus nqi pib yog 1.
aclr
Tsis muaj
Asynchronous ntshiab rau kev siv pipeline. Lub raj xa dej pib mus rau qhov tsis tau txhais (X)
qib logic. Lub chaw nres nkoj aclr tuaj yeem siv tau txhua lub sijhawm los rov pib dua cov kav dej rau txhua qhov 0s,
asynchronously rau lub moos teeb liab.
Table 16. LPM_ADD_SUB IP Core Output Ports
Chaw nres nkoj npe
Yuav tsum tau
Kev piav qhia
tshwm sim[]
Yog lawm
Cov ntaub ntawv tawm. Qhov loj ntawm qhov chaw nres nkoj tso zis nyob ntawm LPM_WIDTH parameter
tus nqi.
cout
Tsis muaj
Nqa tawm (qiv-hauv) ntawm qhov tseem ceeb tshaj plaws (MSB). Qhov chaw nres nkoj cout muaj lub cev
txhais raws li kev nqa tawm (qhib hauv) ntawm MSB. Qhov chaw nres nkoj cout ntes tau
overflow hauv UNSIGNED cov haujlwm. Qhov chaw nres nkoj cout ua haujlwm tib yam rau
CEEB TOOM thiab UNSIGNED cov haujlwm.
dej ntws
Tsis muaj
Optional overflow exception tso zis. Qhov chaw nres nkoj overflow muaj kev txhais lub cev li
XOR ntawm kev nqa mus rau MSB nrog kev nqa tawm ntawm MSB. Qhov chaw nres nkoj overflow
lees tias thaum cov txiaj ntsig tshaj qhov muaj tseeb, thiab tsuas yog siv thaum lub
LPM_REPRESENTATION tus nqi parameter yog SIGNED.
5.6. Cov tsis
Cov lus hauv qab no teev cov LPM_ADD_SUB IP core parameters.
Table 17. LPM_ADD_SUB IP Core Parameters
Parameter Lub Npe LPM_WIDTH
Ntaus tus lej
Yuav Tsum Tau
Kev piav qhia
Qhia qhov dav ntawm dataa[], datab[], thiab result[] ports.
LPM_DIRECTION
Txoj hlua
Tsis muaj
Tus nqi yog ADD, SUB, thiab TSIS TAU. Yog tias tshem tawm, tus nqi pib yog DEFAULT, uas coj tus parameter coj nws tus nqi los ntawm qhov chaw nres nkoj add_sub. Qhov chaw nres nkoj add_sub siv tsis tau yog tias siv LPM_DIRECTION. Intel xav kom koj siv LPM_DIRECTION parameter los qhia txog kev ua haujlwm ntawm LPM_ADD_SUB muaj nuj nqi, es tsis muab qhov txuas mus ntxiv rau qhov chaw nres nkoj add_sub.
txuas ntxiv…
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 24
Xa lus tawm tswv yim
5. LPM_ADD_SUB (Adder/Subtractor) 683490 | 2020.10.05
Parameter Lub Npe LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY
Hom String Integer String String String Integer
Txoj hlua
Yuav Tsum Tau Tsis Tau Tsis Muaj Tsis Muaj Tsis Muaj
Tsis muaj
Kev piav qhia
Qhia txog hom kev sib ntxiv ua tiav. Tus nqi yog SAU thiab UNSIGNED. Yog tias tshem tawm, tus nqi pib yog SIGNED. Thaum qhov parameter no tau teeb tsa rau SIGNED, tus adder/subtractor txhais cov ntaub ntawv tawm tswv yim raws li kos npe ob qhov ntxiv.
Qhia tus naj npawb ntawm latency moos cycles cuam tshuam nrog cov txiaj ntsig[] tso zis. Tus nqi ntawm xoom (0) qhia tau hais tias tsis muaj latency tshwm sim, thiab qhov kev sib xyaw ua ke ntshiab yuav ua kom sai. Yog tias tshem tawm, tus nqi pib yog 0 (tsis yog raj).
Tso cai rau koj los qhia meej Intel cov kev txwv tshwj xeeb hauv VHDL tsim files (.vhd). Tus nqi pib yog UNUSED.
Txheeb xyuas lub tsev qiv ntawv ntawm parameterized modules (LPM) lub npe lub npe hauv VHDL tsim files.
Intel tshwj xeeb parameter. Koj yuav tsum siv LPM_HINT parameter los qhia qhov ONE_INPUT_IS_CONSTANT parameter hauv VHDL tsim files. Tus nqi yog YOG, TSIS TAU, thiab TSIS TAU. Muab kev ua kom zoo dua qub yog tias ib qho kev tawm tswv yim tas li. Yog tias tshem tawm, tus nqi pib yog NO.
Intel tshwj xeeb parameter. Koj yuav tsum siv LPM_HINT parameter los qhia qhov MAXIMIZE_SPEED parameter hauv VHDL tsim files. Koj tuaj yeem teev tus nqi nruab nrab ntawm 0 thiab 10. Yog tias siv, Intel Quartus Prime software sim ua kom zoo dua ib qho piv txwv ntawm LPM_ADD_SUB muaj nuj nqi kom nrawm dua li kev ua haujlwm, thiab overrides qhov chaw ntawm Optimization Technique logic xaiv. Yog tias MAXIMIZE_SPEED tsis siv, tus nqi ntawm Optimization Technique xaiv yog siv los hloov. Yog hais tias qhov chaw rau MAXIMIZE_SPEED yog 6 los yog siab dua, lub Compiler optimizes LPM_ADD_SUB IP core kom ceev dua siv nqa chains; Yog tias qhov teeb tsa yog 5 lossis tsawg dua, Compiler siv tus qauv tsim yam tsis muaj cov saw hlau. Qhov parameter no yuav tsum tau teev tseg rau Cyclone, Stratix, thiab Stratix GX li tsuas yog thaum lub add_sub chaw nres nkoj tsis siv.
Qhov kev ntsuas no yog siv rau kev ua qauv thiab kev coj tus cwj pwm simulation lub hom phiaj. Tus parameter editor xam tus nqi rau qhov parameter no.
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 25
683490 | 2020.10.05 Xa lus tawm tswv yim
6. LPM_COMPARE (Kev sib piv)
Daim duab 5.
LPM_COMPARE IP core piv tus nqi ntawm ob pawg ntawm cov ntaub ntawv los txiav txim qhov kev sib raug zoo ntawm lawv. Hauv nws daim ntawv yooj yim tshaj plaws, koj tuaj yeem siv qhov tshwj xeeb-los yog lub rooj vag los txiav txim seb ob cov ntaub ntawv sib npaug.
Cov duab hauv qab no qhia cov chaw nres nkoj rau LPM_COMPARE IP core.
LPM_COMPARE Chaw nres nkoj
LPM_COMPARE
clken ua
alb
aeb ib
dataa[]
ua agb
datab[]
laj
moos
ib aneb
aclr
aleb ua
inst
6.1. Nta
Lub LPM_COMPARE IP core muaj cov yam ntxwv hauv qab no: · Tsim cov khoom sib piv los sib piv ob pawg ntawm cov ntaub ntawv · Txhawb cov ntaub ntawv dav ntawm 1 khoom · Txhawb cov ntaub ntawv sawv cev xws li kos npe thiab tsis kos npe · Ua cov khoom tso tawm hauv qab no:
— alb (cov tswv yim A yog tsawg dua cov tswv yim B) — aeb (cov tswv yim A yog sib npaug rau cov tswv yim B) — agb (cov tswv yim A yog ntau dua cov tswv yim B) — ageb (cov tswv yim A ntau dua lossis sib npaug rau cov tswv yim B) — aneb ( input A tsis sib npaug rau cov tswv yim B) — aleb (cov tswv yim A tsawg dua lossis sib npaug rau cov tswv yim B) · Txhawb kev xaiv asynchronous ntshiab thiab moos pab cov tswv yim ports · Muab cov datab[] tawm tswv yim mus tas li · Txhawb cov raj xa dej nrog cov zis latency configurable
Intel Corporation. Txhua txoj cai. Intel, Intel logo, thiab lwm yam Intel cov cim yog cov cim lag luam ntawm Intel Corporation lossis nws cov koom haum. Intel lav kev ua tau zoo ntawm nws cov FPGA thiab cov khoom lag luam semiconductor rau cov kev qhia tshwj xeeb tam sim no raws li Intel tus qauv kev lees paub, tab sis muaj txoj cai los hloov cov khoom thiab cov kev pabcuam txhua lub sijhawm yam tsis muaj ntawv ceeb toom. Intel xav tias tsis muaj lub luag haujlwm lossis kev lav phib xaub uas tshwm sim los ntawm daim ntawv thov lossis siv cov ntaub ntawv, cov khoom lag luam, lossis cov kev pabcuam uas tau piav qhia hauv no tshwj tsis yog raws li tau pom zoo hauv kev sau ntawv los ntawm Intel. Intel cov neeg siv khoom tau qhia kom tau txais qhov tseeb version ntawm cov cuab yeej tshwj xeeb ua ntej tso siab rau cov ntaub ntawv tshaj tawm thiab ua ntej muab xaj rau cov khoom lossis cov kev pabcuam. * Lwm lub npe thiab hom yuav raug lees paub raws li cov cuab yeej ntawm lwm tus.
Daim ntawv pov thawj ISO 9001: 2015
6. LPM_COMPARE (Piv txwv) 683490 | 2020.10.05
6.2. Verilog HDL Prototype
Cov nram qab no Verilog HDL qauv yog nyob rau hauv Verilog Design File (.v) lpm.v in the edasynthesis directory.
module lpm_compare ( alb, aeb, agb, aleb, aneb, ageb, dataa, datab, moos, clken, aclr ); parameter lpm_type = "lpm_compare"; parameter lpm_width = 1; parameter lpm_representation = "UNSIGNED"; parameter lpm_pipeline = 0; parameter lpm_hint = "UNUSED"; input [lpm_width-1:0] dataa, datab; input moos; input clken; input aclr; output alb, aeb, agb, aleb, aneb, ageb; endmodule
6.3. VHDL Component Tshaj Tawm
VHDL cov lus tshaj tawm yog nyob hauv VHDL Tsim File (.vhd) LPM_PACK.vhd hauv librariesvhdllpm directory.
tivthaiv LPM_COMPARE generic (LPM_WIDTH : ntuj;
LPM_REPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : ntuj := 0; LPM_TYPE: hlua := L_COMPARE; LPM_HINT : string := "UNUSED"); port (DATAA : in std_logic_vector(LPM_WIDTH-1 downto 0); DATAB : in std_logic_vector(LPM_WIDTH-1 downto 0); ACLR : in std_logic := '0'; CLOCK : in std_logic := '0'; := '1'; AGB : out std_logic; kawg tivthaiv;
6.4. VHDL LIBRARY_USE tshaj tawm
Daim ntawv tshaj tawm VHDL LIBRARY-SIV tsis tas yuav yog tias koj siv VHDL Cov Lus Tshaj Tawm.
LIBRARY lpm; USE lpm.lpm_components.all;
6.5. Chaw nres nkoj
Cov lus hauv qab no teev cov tswv yim thiab cov chaw nres nkoj rau LMP_COMPARE IP core.
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 27
6. LPM_COMPARE (Piv txwv) 683490 | 2020.10.05
Table 18. LPM_COMPARE IP core Input Ports
Chaw nres nkoj npe
Yuav tsum tau
Kev piav qhia
dataa[]
Yog lawm
Cov ntaub ntawv nkag. Qhov loj ntawm qhov chaw nres nkoj nkag yog nyob ntawm LPM_WIDTH parameter tus nqi.
datab[]
Yog lawm
Cov ntaub ntawv nkag. Qhov loj ntawm qhov chaw nres nkoj nkag yog nyob ntawm LPM_WIDTH parameter tus nqi.
moos
Tsis muaj
Clock input rau pipelined siv. Lub moos chaw nres nkoj muab lub moos input rau lub raj xa dej
kev ua haujlwm. Rau LPM_PIPELINE qhov tseem ceeb uas tsis yog 0 (default), lub moos chaw nres nkoj yuav tsum yog
qhib.
clken ua
Tsis muaj
Clock enables rau pipelined siv. Thaum lub clken chaw nres nkoj yog asserted siab, lub
kev ua haujlwm sib piv yuav tshwm sim. Thaum lub teeb liab qis, tsis muaj kev ua haujlwm tshwm sim. Yog
rho tawm, tus nqi pib yog 1.
aclr
Tsis muaj
Asynchronous ntshiab rau kev siv pipeline. Lub raj xa dej pib mus rau qhov tsis tau txhais (X) logic
qib. Lub chaw nres nkoj aclr tuaj yeem siv tau txhua lub sijhawm los rov pib dua cov kav dej rau txhua qhov 0s,
asynchronously rau lub moos teeb liab.
Table 19. LPM_COMPARE IP core Output Ports
Chaw nres nkoj npe
Yuav tsum tau
Kev piav qhia
alb
Tsis muaj
Output chaw nres nkoj rau qhov sib piv. Asserted yog input A tsawg dua input B.
aeb ib
Tsis muaj
Output chaw nres nkoj rau qhov sib piv. Asserted yog input A yog sib npaug rau input B.
ua agb
Tsis muaj
Output chaw nres nkoj rau qhov sib piv. Asserted yog input A ntau tshaj input B.
laj
Tsis muaj
Output chaw nres nkoj rau qhov sib piv. Asserted yog input A ntau dua los yog sib npaug rau input
B.
ib aneb
Tsis muaj
Output chaw nres nkoj rau qhov sib piv. Asserted yog input A tsis sib npaug rau input B.
aleb ua
Tsis muaj
Output chaw nres nkoj rau qhov sib piv. Asserted yog input A tsawg dua los yog sib npaug rau input B.
6.6. Cov tsis
Cov lus hauv qab no teev cov kev txwv rau LPM_COMPARE IP core.
Table 20. LPM_COMPARE IP core Parameters
Lub npe Parameter
Hom
Yuav tsum tau
LPM_WIDTH
Integer Yes
LPM_REPRESENTATION
Txoj hlua
Tsis muaj
LPM_PIPELINE
Integer No
LPM_HINT
Txoj hlua
Tsis muaj
Kev piav qhia
Qhia qhov dav ntawm dataa[] thiab datab[] ports.
Qhia txog hom kev sib piv tau ua. Tus nqi yog SAU thiab UNSIGNED. Yog tias tshem tawm, tus nqi pib yog UNSIGNED. Thaum tus nqi parameter no tau teem rau SIGNED, tus sib piv txhais cov ntaub ntawv tawm tswv yim raws li kos npe ob qhov ntxiv.
Qhia tus naj npawb ntawm lub voj voog ntawm latency txuam nrog alb, aeb, agb, ageb, aleb, lossis aneb tso zis. Tus nqi ntawm xoom (0) qhia tau hais tias tsis muaj latency tshwm sim, thiab qhov kev sib xyaw ua ke ua tiav yuav raug instantiated. Yog tias tshem tawm, tus nqi pib yog 0 (nonpipelined).
Tso cai rau koj los qhia meej Intel cov kev txwv tshwj xeeb hauv VHDL tsim files (.vhd). Tus nqi pib yog UNUSED.
txuas ntxiv…
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 28
Xa lus tawm tswv yim
6. LPM_COMPARE (Piv txwv) 683490 | 2020.10.05
Parameter Lub Npe LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT
Hom hlua hlua
Txoj hlua
Yuav tsum tsis muaj
Tsis muaj
Kev piav qhia
Txheeb xyuas lub tsev qiv ntawv ntawm parameterized modules (LPM) lub npe lub npe hauv VHDL tsim files.
Qhov kev ntsuas no yog siv rau kev ua qauv thiab kev coj tus cwj pwm simulation lub hom phiaj. Tus parameter editor xam tus nqi rau qhov parameter no.
Intel tshwj xeeb parameter. Koj yuav tsum siv LPM_HINT parameter los qhia qhov ONE_INPUT_IS_CONSTANT parameter hauv VHDL tsim files. Cov txiaj ntsig yog YOG, TSIS MUAJ, lossis tsis siv. Muab kev ua kom zoo dua qub yog tias qhov kev tawm tswv yim tas li. Yog tias tshem tawm, tus nqi pib yog NO.
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 29
683490 | 2020.10.05 Xa lus tawm tswv yim
7. ALTECC (Yam Kho Code: Encoder/Decoder) IP Core
Daim duab 6.
Intel muab ALTECC IP core los siv ECC kev ua haujlwm. ECC kuaj xyuas cov ntaub ntawv tsis raug uas tshwm sim ntawm tus neeg txais thaum lub sijhawm xa cov ntaub ntawv. Txoj kev kho qhov yuam kev no yog qhov zoo tshaj plaws rau cov xwm txheej uas ua yuam kev tshwm sim ntawm random es tsis yog tawg.
ECC kuaj xyuas qhov yuam kev los ntawm cov txheej txheem ntawm cov ntaub ntawv encoding thiab decoding. Rau example, thaum ECC siv rau hauv daim ntawv thov kev sib kis, cov ntaub ntawv nyeem los ntawm lub hauv paus yog encoded ua ntej xa mus rau tus txais. Cov zis (code lo lus) los ntawm lub encoder muaj cov ntaub ntawv nyoos ntxiv nrog cov lej ntawm cov khoom sib xws. Tus naj npawb ntawm cov parity cov khoom ntxiv yog nyob ntawm tus naj npawb ntawm cov khoom hauv cov ntaub ntawv nkag. Cov lus code generated ces kis mus rau qhov chaw.
Tus txais tau txais cov lus code thiab txiav txim siab nws. Cov ntaub ntawv tau los ntawm tus decoder txiav txim seb puas muaj qhov yuam kev. Lub decoder pom ib-ntsis thiab ob-ntsis yuam kev, tab sis tuaj yeem kho qhov yuam kev ib-ntsis hauv cov ntaub ntawv tsis raug. Hom ECC no yog ib qho kev ua yuam kev kho ob qhov kev ua yuam kev (SECDED).
Koj tuaj yeem teeb tsa encoder thiab decoder ua haujlwm ntawm ALTECC IP core. Cov ntaub ntawv nkag mus rau lub encoder yog encoded los tsim ib lo lus code uas yog kev sib txuas ntawm cov ntaub ntawv tawm tswv yim thiab cov generated parity khoom. Cov lus code generated yog kis mus rau lub decoder module rau kev txiav txim siab ua ntej mus txog nws qhov chaw thaiv. Lub decoder generates ib tug syndrome vector los txiav txim seb puas muaj ib qho kev ua yuam kev nyob rau hauv lub tau txais code lo lus. Tus decoder kho cov ntaub ntawv tsuas yog tias qhov yuam kev ib-ntsis yog los ntawm cov ntaub ntawv cov khoom. Tsis muaj teeb liab raug teeb tsa yog tias qhov yuam kev ib-ntsis yog los ntawm cov khoom sib xws. Tus decoder tseem muaj cov cim chij los qhia cov xwm txheej ntawm cov ntaub ntawv tau txais thiab qhov kev txiav txim los ntawm tus decoder, yog tias muaj.
Cov duab hauv qab no qhia cov chaw nres nkoj rau ALTECC IP core.
ALTECC Encoder Ports
ALTECC_ENCODER
cov ntaub ntawv[]
q[]
moos
moos
aclr
inst
Intel Corporation. Txhua txoj cai. Intel, Intel logo, thiab lwm yam Intel cov cim yog cov cim lag luam ntawm Intel Corporation lossis nws cov koom haum. Intel lav kev ua tau zoo ntawm nws cov FPGA thiab cov khoom lag luam semiconductor rau cov kev qhia tshwj xeeb tam sim no raws li Intel tus qauv kev lees paub, tab sis muaj txoj cai los hloov cov khoom thiab cov kev pabcuam txhua lub sijhawm yam tsis muaj ntawv ceeb toom. Intel xav tias tsis muaj lub luag haujlwm lossis kev lav phib xaub uas tshwm sim los ntawm daim ntawv thov lossis siv cov ntaub ntawv, cov khoom lag luam, lossis cov kev pabcuam uas tau piav qhia hauv no tshwj tsis yog raws li tau pom zoo hauv kev sau ntawv los ntawm Intel. Intel cov neeg siv khoom tau qhia kom tau txais qhov tseeb version ntawm cov cuab yeej tshwj xeeb ua ntej tso siab rau cov ntaub ntawv tshaj tawm thiab ua ntej muab xaj rau cov khoom lossis cov kev pabcuam. * Lwm lub npe thiab hom yuav raug lees paub raws li cov cuab yeej ntawm lwm tus.
Daim ntawv pov thawj ISO 9001: 2015
7. ALTECC (Yam Kho Code: Encoder/Decoder) IP Core 683490 | 2020.10.05
Daim duab 7. ALTECC Decoder Ports
ALTECC_DECODER
data[] moos moos
q[] err_detected err_corrected
err_fatal
aclr
inst
7.1. ALTECC Encoder nta
ALTECC encoder IP core muaj cov yam ntxwv hauv qab no: · Ua cov ntaub ntawv encoding siv Hamming Coding scheme · Txhawb cov ntaub ntawv dav ntawm 2 khoom · Txhawb kev kos npe thiab tsis kos npe cov ntaub ntawv sawv cev · Txhawb cov kav dej nrog cov zis latency ntawm ib lossis ob lub voj voog · Txhawb kev xaiv asynchronous ntshiab thiab moos pab cov chaw nres nkoj
Lub ALTECC encoder IP core coj mus rau hauv thiab encodes cov ntaub ntawv siv Hamming Coding scheme. Hamming Coding scheme muab cov khoom sib xws thiab ntxiv rau lawv rau cov ntaub ntawv qub los tsim cov lus tso tawm. Tus naj npawb ntawm parity khoom ntxiv nyob ntawm qhov dav ntawm cov ntaub ntawv.
Cov lus hauv qab no teev cov naj npawb ntawm cov khoom sib npaug ntxiv rau qhov sib txawv ntawm cov ntaub ntawv dav. Cov Kab Tag Nrho Tag Nrho sawv cev rau tag nrho cov ntaub ntawv tawm tswv yim thiab cov khoom sib txuas ntxiv.
Table 21.
Number of Parity Bits thiab Code Word Raws li cov ntaub ntawv dav
Cov ntaub ntawv dav
Number of Parity Bits
Tag nrho cov khoom (Code Word)
2-4 : kuv
3+1
6-8 : kuv
5-11 : kuv
4+1
10-16 : kuv
12-26 : kuv
5+1
18-32 : kuv
27-57 : kuv
6+1
34-64 : kuv
58-64 : kuv
7+1
66-72 : kuv
Lub parity me ntsis derivation siv ib qho kev txheeb xyuas qhov sib npaug. Qhov ntxiv 1 me ntsis (pom hauv cov lus li +1) yog ntxiv rau cov khoom sib xws li MSB ntawm lo lus code. Qhov no xyuas kom meej tias cov lus code muaj tus lej ntawm 1 tus. Rau example, yog hais tias cov ntaub ntawv dav yog 4 khoom, 4 parity khoom yog ntxiv rau cov ntaub ntawv los ua ib lo lus code nrog tag nrho ntawm 8 khoom. Yog tias 7 khoom los ntawm LSB ntawm 8-ntsis code lo lus muaj tus lej khib ntawm 1's, 8th me ntsis (MSB) ntawm lo lus code yog 1 ua rau tag nrho cov lej ntawm 1's hauv lo lus code txawm.
Cov duab hauv qab no qhia tau hais tias cov lus code tsim tawm thiab kev teeb tsa ntawm cov khoom sib xws thiab cov ntaub ntawv cov khoom hauv 8-ntsis cov ntaub ntawv nkag.
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 31
7. ALTECC (Yam Kho Code: Encoder/Decoder) IP Core 683490 | 2020.10.05
Daim duab 8.
Parity Bits thiab Cov Ntaub Ntawv Cov Khoom Siv hauv 8-ntsis Generated Code Word
MSB
LSB
4 ib parity
4 ib data
8
1
ALTECC encoder IP core lees txais qhov dav dav ntawm 2 txog 64 khoom ib zaug nkaus xwb. Cov tswv yim dav ntawm 12 cov khoom, 29 khoom, thiab 64 khoom, uas yog qhov haum rau Intel cov khoom siv, tsim cov khoom tawm ntawm 18 khoom, 36 khoom, thiab 72 khoom raws li. Koj tuaj yeem tswj hwm qhov txwv tsis pub dhau qhov kev txwv hauv qhov parameter editor.
7.2. Verilog HDL Prototype (ALTECC_ENCODER)
Cov nram qab no Verilog HDL qauv yog nyob rau hauv Verilog Design File (.v) lpm.v in the edasynthesis directory.
module altecc_encoder #( parameter intended_device_family = "unused", parameter lpm_pipeline = 0, parameter width_codeword = 8, parameter width_dataword = 8, parameter lpm_type = "altecc_encoder", parameter lpm_hint = "unused" moos, muab tso rau hauv hlau clocken, input wire [width_dataword-1:0] data, output wire [width_codeword-1:0] q); endmodule
7.3. Verilog HDL Prototype (ALTECC_DECODER)
Cov nram qab no Verilog HDL qauv yog nyob rau hauv Verilog Design File (.v) lpm.v in the edasynthesis directory.
module altecc_decoder #( parameter intended_device_family = "unused", parameter lpm_pipeline = 0, parameter width_codeword = 8, parameter width_dataword = 8, parameter lpm_type = "altecc_decoder", parameter lpm_hint = "tsis siv" moos, muab tso rau hauv hlau clocken, input wire [width_codeword-1:0] cov ntaub ntawv, tso zis hlau err_corrected, tso zis hlau err_detected, outut wire err_fatal, output wire [width_dataword-1:0] q); endmodule
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 32
Xa lus tawm tswv yim
7. ALTECC (Yam Kho Code: Encoder/Decoder) IP Core 683490 | 2020.10.05
7.4 ib. VHDL Component Tshaj Tawm (ALTECC_ENCODER)
VHDL cov lus tshaj tawm yog nyob hauv VHDL Tsim File (.vhd) altera_mf_components.vhd hauv librariesvhdlaltera_mf directory.
tivthaiv altecc_encoder generic (independent_device_family:string := "unused"; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := "UN_USED:_string"; ”); port( aclr:in std_logic := '0'; moos:in std_logic := '0'; moos:in std_logic := '1'; data:in std_logic_vector(width_dataword-1 downto 0); q:out std_logic_vector(width_code -1 mus rau 0)); kawg tivthaiv;
7.5. VHDL Component Tshaj Tawm (ALTECC_DECODER)
VHDL cov lus tshaj tawm yog nyob hauv VHDL Tsim File (.vhd) altera_mf_components.vhd hauv librariesvhdlaltera_mf directory.
tivthaiv altecc_decoder generic ( intended_device_family: hlua := "tsis siv"; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := "UN_USED:_string"; ”); port( aclr:in std_logic := '0'; moos: in std_logic := '0'; clocken: in std_logic := '1'; data: in std_logic_vector(width_codeword-1 downto 0); err_corrected: out std_logic; : tawm std_logic; q: tawm std_logic_vector(width_dataword-1 downto 0); kawg tivthaiv;
7.6. VHDL LIBRARY_USE tshaj tawm
Daim ntawv tshaj tawm VHDL LIBRARY-SIV tsis tas yuav yog tias koj siv VHDL Cov Lus Tshaj Tawm.
LIBRARY altera_mf; USE altera_mf.altera_mf_components.all;
7.7. Encoder Ports
Cov lus hauv qab no teev cov tswv yim thiab cov chaw nres nkoj rau ALTECC encoder IP core.
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 33
7. ALTECC (Yam Kho Code: Encoder/Decoder) IP Core 683490 | 2020.10.05
Table 22. ALTECC Encoder Input Ports
Chaw nres nkoj npe
Yuav tsum tau
Kev piav qhia
cov ntaub ntawv[]
Yog lawm
Data input chaw nres nkoj. Qhov loj ntawm qhov chaw nres nkoj nkag yog nyob ntawm WIDTH_DATAWORD
tus nqi parameter. Cov ntaub ntawv [] chaw nres nkoj muaj cov ntaub ntawv raw yuav tsum tau encoded.
moos
Yog lawm
Lub moos input chaw nres nkoj uas muab lub moos teeb liab los synchronize lub encoding lag luam.
Lub moos chaw nres nkoj yuav tsum tau thaum LPM_PIPELINE tus nqi ntau dua 0.
moos
Tsis muaj
Lub moos pab. Yog tias tshem tawm, tus nqi pib yog 1.
aclr
Tsis muaj
Asynchronous ntshiab input. Lub zog siab aclr teeb liab tuaj yeem siv tau txhua lub sijhawm
asynchronously tshem cov npe.
Table 23. ALTECC Encoder Output Ports
Chaw nres nkoj npe q[]
Yuav Tsum Tau
Kev piav qhia
Encoded cov ntaub ntawv tso zis chaw nres nkoj. Qhov loj ntawm qhov chaw nres nkoj tso zis yog nyob ntawm tus nqi WIDTH_CODEWORD parameter.
7.8 ib. Decoder Ports
Cov lus hauv qab no teev cov tswv yim thiab cov chaw nres nkoj rau ALTECC decoder IP core.
Table 24. ALTECC Decoder Input Ports
Chaw nres nkoj npe
Yuav tsum tau
Kev piav qhia
cov ntaub ntawv[]
Yog lawm
Data input chaw nres nkoj. Qhov loj ntawm qhov chaw nres nkoj input nyob ntawm tus nqi WIDTH_CODEWORD parameter.
moos
Yog lawm
Lub moos input chaw nres nkoj uas muab lub moos teeb liab los synchronize lub encoding lag luam. Lub moos chaw nres nkoj yuav tsum tau thaum LPM_PIPELINE tus nqi ntau dua 0.
moos
Tsis muaj
Lub moos pab. Yog tias tshem tawm, tus nqi pib yog 1.
aclr
Tsis muaj
Asynchronous ntshiab input. Lub teeb liab siab aclr tuaj yeem siv tau txhua lub sijhawm kom asynchronously tshem cov npe.
Table 25. ALTECC Decoder Output Ports
Chaw nres nkoj npe q[]
Yuav Tsum Tau
Kev piav qhia
Decoded cov ntaub ntawv tso zis chaw nres nkoj. Qhov loj ntawm qhov chaw nres nkoj tso zis nyob ntawm tus nqi WIDTH_DATAWORD parameter.
err_detected Yog
Chij teeb liab los cuam tshuam cov xwm txheej ntawm cov ntaub ntawv tau txais thiab qhia meej txog qhov yuam kev pom.
err_correcte Yog d
Flag teeb liab los cuam tshuam cov xwm txheej ntawm cov ntaub ntawv tau txais. Denotes ib-ntsis yuam kev pom thiab kho. Koj tuaj yeem siv cov ntaub ntawv vim nws twb raug kho lawm.
err_fatal
Yog lawm
Flag teeb liab los cuam tshuam cov xwm txheej ntawm cov ntaub ntawv tau txais. Denotes ob-ntsis yuam kev pom, tab sis tsis kho. Koj yuav tsum tsis txhob siv cov ntaub ntawv yog tias qhov teeb meem no tau lees paub.
sib_e
Tsis muaj
Lub teeb liab tso zis uas yuav mus siab thaum twg ib qho kev ua yuam kev ib zaug tau kuaj pom ntawm qhov sib luag
me ntsis.
7.9 ib. Encoder Parameters
Cov lus hauv qab no teev cov kev txwv rau ALTECC encoder IP core.
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 34
Xa lus tawm tswv yim
7. ALTECC (Yam Kho Code: Encoder/Decoder) IP Core 683490 | 2020.10.05
Table 26. ALTECC Encoder Parameters
Lub npe Parameter
Hom
Yuav tsum tau
Kev piav qhia
WIDTH_DATAWORD
Integer Yes
Qhia qhov dav ntawm cov ntaub ntawv nyoos. Tus nqi yog los ntawm 2 mus rau 64. Yog tias tshem tawm, tus nqi qub yog 8.
WIDTH_CODEWORD
Integer Yes
Qhia qhov dav ntawm lo lus coj los siv. Cov nqi siv tau yog los ntawm 6 txog 72, tsis suav nrog 9, 17, 33, thiab 65. Yog tias tshem tawm, tus nqi qub yog 13.
LPM_PIPELINE
Integer No
Qhia cov kav dej rau lub voj voog. Tus nqi yog los ntawm 0 mus rau 2. Yog tias tus nqi yog 0, cov chaw nres nkoj tsis tau sau npe. Yog hais tias tus nqi yog 1, cov zis ports tau sau npe. Yog hais tias tus nqi yog 2, lub input thiab output ports tau sau npe. Yog tias tshem tawm, tus nqi pib yog 0.
7.10 Nws. Decoder Parameters
Cov lus hauv qab no teev cov ALTECC decoder IP core parameters.
Table 27. ALTECC Decoder Parameters
Parameter Lub Npe WIDTH_DATAWORD
Ntaus tus lej
Yuav tsum tau
Kev piav qhia
Yog lawm
Qhia qhov dav ntawm cov ntaub ntawv nyoos. Tus nqi yog 2 txog 64. Tus
default value yog 8.
WIDTH_CODEWORD
Tus lej
Yog lawm
Qhia qhov dav ntawm lo lus coj los siv. Tus nqi yog 6
rau 72, tsis suav nrog 9, 17, 33, thiab 65. Yog tias tshem tawm, tus nqi qub
yog 13.
LPM_PIPELINE
Tus lej
Tsis muaj
Qhia txog kev sau npe ntawm Circuit Court. Tus nqi yog los ntawm 0 mus rau 2. Yog hais tias tus
tus nqi yog 0, tsis muaj npe raug siv. Yog tias tus nqi yog 1, lub
tso zis yog sau npe. Yog tias tus nqi yog 2, ob qho tib si cov tswv yim thiab cov
cov zis tau sau npe. Yog tias tus nqi ntau dua 2, ntxiv
Cov ntawv sau npe raug muab coj los siv rau ntawm qhov tso zis rau qhov ntxiv
latencies. Yog tias tshem tawm, tus nqi pib yog 0.
Tsim ib qhov chaw 'syn_e'
Tus lej
Tsis muaj
Tig rau qhov ntsuas no los tsim qhov chaw nres nkoj syn_e.
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 35
683490 | 2020.10.05 Xa lus tawm tswv yim
8. Intel FPGA Multiply Adder IP Core
Daim duab 9.
Intel FPGA Multiply Adder (Intel Stratix 10, Intel Arria 10, thiab Intel Cyclone 10 GX li) lossis ALTERA_MULT_ADD (Arria V, Stratix V, thiab Cyclone V li) IP core tso cai rau koj los siv tus lej sib npaug.
Cov duab hauv qab no qhia cov chaw nres nkoj rau Intel FPGA Multiply Adder lossis ALTERA_MULT_ADD IP core.
Intel FPGA Multiply Adder lossis ALTERA_MULT_ADD Ports
Intel FPGA Multiply Adder lossis ALTERA_MULT_ADD
dataa[] signa datab[] signb datac[] coefsel0[] coefsel1[] coefsel2[] coefsel3[] addnsub1 addnsub3 aclr/sclr[] scanina[] moos0 moos1 moos2 ena0 ena1 ena2 sload_accum
accum_sload chainin[]
scanouta[] result[]
aclr0 ib
inst
Tus multiplier-adder lees txais khub ntawm cov khoom siv, muab cov txiaj ntsig ua ke thiab tom qab ntawd ntxiv rau lossis rho tawm los ntawm cov khoom ntawm tag nrho lwm cov khub.
Yog tias tag nrho cov ntaub ntawv nkag dav dav yog 9-ntsis dav lossis me dua, txoj haujlwm siv 9 x 9 me ntsis input multiplier configuration hauv DSP thaiv rau cov khoom siv uas txhawb nqa 9 x 9 configuration. Yog tias tsis yog, DSP thaiv siv 18 × 18-ntsis input multipliers los ua cov ntaub ntawv nrog qhov dav ntawm 10-ntsis thiab 18-ntsis. Yog tias ntau Intel FPGA Multiply Adder lossis ALTERA_MULT_ADD IP cores tshwm sim hauv kev tsim, cov haujlwm tau muab faib ua
Intel Corporation. Txhua txoj cai. Intel, Intel logo, thiab lwm yam Intel cov cim yog cov cim lag luam ntawm Intel Corporation lossis nws cov koom haum. Intel lav kev ua tau zoo ntawm nws cov FPGA thiab cov khoom lag luam semiconductor rau cov kev qhia tshwj xeeb tam sim no raws li Intel tus qauv kev lees paub, tab sis muaj txoj cai los hloov cov khoom thiab cov kev pabcuam txhua lub sijhawm yam tsis muaj ntawv ceeb toom. Intel xav tias tsis muaj lub luag haujlwm lossis kev lav phib xaub uas tshwm sim los ntawm daim ntawv thov lossis siv cov ntaub ntawv, cov khoom lag luam, lossis cov kev pabcuam uas tau piav qhia hauv no tshwj tsis yog raws li tau pom zoo hauv kev sau ntawv los ntawm Intel. Intel cov neeg siv khoom tau qhia kom tau txais qhov tseeb version ntawm cov cuab yeej tshwj xeeb ua ntej tso siab rau cov ntaub ntawv tshaj tawm thiab ua ntej muab xaj rau cov khoom lossis cov kev pabcuam. * Lwm lub npe thiab hom yuav raug lees paub raws li cov cuab yeej ntawm lwm tus.
Daim ntawv pov thawj ISO 9001: 2015
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
ntau qhov sib txawv DSP blocks raws li qhov ua tau kom routing rau cov blocks no yooj yim dua. Tsawg dua tus lej ntawm ib qho DSP thaiv tso cai ntau txoj kev xaiv rau hauv qhov thaiv los ntawm kev txo txoj hauv kev mus rau lwm qhov ntawm lub cuab yeej.
Cov ntawv sau npe thiab cov raj xa dej ntxiv rau cov cim hauv qab no kuj tau muab tso rau hauv DSP thaiv: · Cov ntaub ntawv tawm tswv yim · Kos npe lossis tsis kos npe xaiv · Ntxiv lossis rho tawm xaiv · Cov khoom ntawm cov khoom sib npaug
Nyob rau hauv cov ntaub ntawv ntawm qhov tso zis tshwm sim, thawj lub npe yog muab tso rau hauv DSP thaiv. Txawm li cas los xij cov ntawv sau npe latency ntxiv tau muab tso rau hauv cov ntsiab lus logic sab nraum qhov thaiv. Peripheral rau DSP thaiv, suav nrog cov ntaub ntawv nkag mus rau qhov sib npaug, tswj cov teeb liab inputs, thiab cov khoom tawm ntawm tus adder, siv cov kev sib txuas lus tsis tu ncua los sib txuas lus nrog lwm tus ntawm lub cuab yeej. Txhua qhov kev sib txuas hauv kev ua haujlwm siv cov kev sib koom ua ke hauv DSP thaiv. Qhov kev mob siab rau txoj kev no suav nrog kev hloov pauv cov npe chains thaum koj xaiv qhov kev xaiv los hloov tus lej sib npaug ntawm cov ntaub ntawv sau npe nkag los ntawm ib tus lej mus rau tus lej sib npaug.
Yog xav paub ntxiv txog DSP blocks nyob rau hauv ib qho ntawm Stratix V, thiab Arria V ntaus ntawv series, xa mus rau DSP Blocks tshooj ntawm cov phau ntawv uas muaj nyob rau ntawm nplooj ntawv Ntawv thiab Cov Ntaub Ntawv Cov Ntaub Ntawv.
Cov ntaub ntawv ntsig txog AN 306: Siv cov khoom sib txuas hauv FPGA Devices
Muab cov ntaub ntawv ntau ntxiv txog kev siv cov khoom sib txuas siv DSP thiab cov cim xeeb thaiv hauv Intel FPGA cov khoom siv.
8.1. Nta
Intel FPGA Multiply Adder lossis ALTERA_MULT_ADD IP core muaj cov yam ntxwv hauv qab no: · Tsim kom muaj qhov sib npaug los ua haujlwm sib npaug ntawm ob txoj haujlwm.
Tus lej Ceeb Toom: Thaum lub tsev sib faib loj dua li qhov kev txhawb nqa ib txwm muaj tuaj yeem /
yuav yog qhov ua tau zoo cuam tshuam los ntawm cascading ntawm DSP blocks. · Txhawb cov ntaub ntawv dav ntawm 1 256 khoom · Txhawb kev kos npe thiab tsis kos npe cov ntaub ntawv sawv cev · Txhawb cov raj xa dej nrog cov tswv yim tsim latency · Muab kev xaiv rau kev hloov pauv ntawm cov ntaub ntawv kos npe thiab tsis kos npe txhawb · Muab kev xaiv rau dynamically hloov ntawm kev ntxiv thiab rho tawm haujlwm · Txhawb yeem asynchronous thiab synchronous ntshiab thiab moos pab cov tswv yim ports · Txhawb systolic ncua sij hawm sau npe hom · Txhawb pre-adder nrog 8 pre-load coefficients ib tug multiplier · Txhawb pre-load tas mus li ntxiv accumulator tawm tswv yim
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 37
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.1. Pre-adder
Nrog pre-adder, ntxiv los yog rho tawm yog ua ua ntej pub tus multiplier.
Muaj tsib hom pre-adder: · Simple hom · Coefficient mode · Input mode · Square mode · Constant mode
Nco tseg:
Thaum siv pre-adder (pre-adder coefficient/input/square hom), tag nrho cov ntaub ntawv inputs rau tus multiplier yuav tsum muaj tib lub moos.
8.1.1.1 ib. Pre-adder Yooj Yim Hom
Nyob rau hauv hom no, ob qho tib si operands muab los ntawm cov tswv yim ports thiab pre-adder tsis siv los yog bypassed. Qhov no yog lub neej ntawd hom.
Daim duab 10. Pre-adder Yooj Yim Hom
ib 0b0
Ntau 0
tshwm sim
8.1.1.2. Pre-adder Coefficient Hom
Nyob rau hauv hom no, ib tug multiplier operand muab los ntawm pre-adder, thiab lwm yam operand muab los ntawm lub internal coefficient cia. Lub coefficient cia tso cai mus txog 8 preset tas mus li. Cov cim xaiv coefficient yog coefsel[0..3].
Hom no yog qhia nyob rau hauv kab zauv nram qab no.
Cov hauv qab no qhia tau hais tias ua ntej-adder coefficient hom ntawm tus multiplier.
Daim duab 11. Pre-adder Coefficient Hom
Preadder
a0
Ntau 0
+/-
tshwm sim
b0
kob 0coef
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 38
Xa lus tawm tswv yim
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.1.3. Pre-adder Input Mode Nyob rau hauv hom no, ib tug multiplier operand muab los ntawm pre-adder, thiab lwm yam operand muab los ntawm datac[] input chaw nres nkoj. Hom no yog qhia nyob rau hauv kab zauv nram qab no.
Cov hauv qab no qhia txog pre-adder input hom ntawm tus multiplier.
Daim duab 12. Pre-adder Input Hom
ib 0b0
Ntau 0
+/-
tshwm sim
c0
8.1.1.4 ib. Pre-adder Square Hom Hom no yog qhia nyob rau hauv kab zauv nram qab no.
Cov hauv qab no qhia tau hais tias pre-adder square hom ntawm ob tug multipliers.
Daim duab 13. Pre-adder Square hom
ib 0b0
Ntau 0
+/-
tshwm sim
8.1.1.5. Pre-adder Constant Mode
Nyob rau hauv hom no, ib tug multiplier operand muab los ntawm lub input chaw nres nkoj, thiab lwm yam operand muab los ntawm lub internal coefficient cia. Lub coefficient cia tso cai mus txog 8 preset tas mus li. Cov cim xaiv coefficient yog coefsel[0..3].
Hom no yog qhia nyob rau hauv kab zauv nram qab no.
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 39
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Cov duab hauv qab no qhia tau hais tias qhov pre-adder tas li hom ntawm tus lej sib npaug.
Daim duab 14. Pre-adder Constant Mode
a0
Ntau 0
tshwm sim
kob 0
kob
8.1.2. Systolic Delay Register
Nyob rau hauv lub systolic architecture, cov ntaub ntawv tawm tswv yim yog pub rau hauv ib qho cascade ntawm cov ntawv sau npe ua raws li cov ntaub ntawv tsis. Txhua tus sau npe xa ib qho kev tawm tswv yim sample mus rau ib tug multiplier qhov twg nws yog multiplied los ntawm cov feem coefficient. Cov saw adder khaws cov txiaj ntsig ua ke maj mam los ntawm tus lej sib npaug thiab cov txiaj ntsig yav dhau los tau sau npe los ntawm chainin[] chaw nres nkoj nkag los ua qhov kawg tshwm sim. Txhua qhov sib ntxiv-ntxiv cov khoom yuav tsum tau ncua los ntawm ib lub voj voog kom cov txiaj ntsig synchronize tsim nyog thaum ntxiv ua ke. Txhua qhov ncua sij hawm txuas ntxiv yog siv los hais txog ob qho tib si lub cim xeeb coefficient thiab cov ntaub ntawv tsis ntawm lawv cov khoom sib txuas ntxiv. Rau example, ib ncua sij hawm rau qhov thib ob multiply ntxiv, ob ncua sij hawm rau qhov thib peb multiply-ntxiv caij, thiab lwm yam.
Daim duab 15. Systolic Registers
Systolic sau npe
x(t) c(0)
S - 1
S - 1
c(1)
S - 1
S - 1
c(2)
S - 1
S - 1
c(N-1)
S - 1
S - 1
S - 1
S -1 y(t)
x(t) sawv cev rau cov txiaj ntsig tau los ntawm kev txuas txuas ntxiv ntawm cov tswv yim samples y(t)
sawv cev rau qhov summation ntawm ib pawg input samples, thiab nyob rau hauv lub sij hawm, multiplied los ntawm lawv
yam coefficients. Ob qhov kev tawm tswv yim thiab cov txiaj ntsig tau ntws los ntawm sab laug mus rau sab xis. Tus c(0) rau c(N-1) txhais tau tias cov coefficients. Cov npe systolic ncua sij hawm yog qhia los ntawm S-1, qhov 1 sawv cev rau ib lub moos qeeb. Systolic ncua kev sau npe ntxiv ntawm
cov inputs thiab outputs rau pipelining nyob rau hauv ib txoj kev uas ua kom cov kev tshwm sim los ntawm lub
multiplier operand thiab cov sums nyob rau hauv synch. Cov txheej txheem no
yog replicated los tsim ib lub voj voog uas suav cov kev lim dej. Txoj haujlwm no yog
qhia nyob rau hauv cov kab zauv nram qab no.
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 40
Xa lus tawm tswv yim
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
N sawv cev rau tus naj npawb ntawm cov voj voog ntawm cov ntaub ntawv uas tau nkag mus rau hauv lub accumulator, y(t) sawv cev rau cov zis thaum lub sij hawm t, A(t) sawv cev rau cov tswv yim ntawm lub sij hawm t, thiab B(i) yog cov coefficients. Lub t thiab kuv nyob rau hauv kab zauv sib raug mus rau ib qho instant nyob rau hauv lub sij hawm, yog li xam cov zis sample y(t) ntawm lub sij hawm t, ib pawg input samples ntawm N cov ntsiab lus sib txawv hauv lub sijhawm, lossis A(n), A(n-1), A(n-2), ... A(n-N+1) yuav tsum. Pab pawg N input samples yog muab faib los ntawm N coefficients thiab summed ua ke los ua qhov kawg tshwm sim y.
Lub systolic register architecture tsuas yog muaj rau sum-of-2 thiab sum-of-4 hom. Rau ob qho tib si systolic register architecture hom, thawj chainin teeb liab yuav tsum tau muab khi rau 0.
Cov duab hauv qab no qhia tau hais tias systolic ncua kev sau npe siv ntawm 2 tus lej sib npaug.
Daim duab 16. Systolic Delay Register Ua tiav ntawm 2 Qhov Kev Sib Tw
chainin
a0
Ntau 0
+/-
b0
a1
Ntau 1
+/-
b1
tshwm sim
Qhov sib npaug ntawm ob qhov sib npaug yog qhia hauv kab zauv hauv qab no.
Cov duab hauv qab no qhia tau hais tias systolic ncua kev sau npe siv ntawm 4 tus lej sib npaug.
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 41
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Daim duab 17. Systolic Delay Register Ua tiav ntawm 4 Qhov Kev Sib Tw
chainin
a0
Ntau 0
+/-
b0
a1
Ntau 1
+/-
b1
a2
Ntau 2
+/-
b2
a3
Ntau 3
+/-
b3
tshwm sim
Qhov sum ntawm plaub tus multipliers yog qhia nyob rau hauv kab zauv nram qab no. Daim duab 18. Sum ntawm 4 Qhov Sib Tw
Cov nram qab no teev cov advantages ntawm systolic sau npe siv: · Txo DSP kev pab cuam · Ua kom muaj peev xwm ua tau zoo hauv DSP thaiv siv cov saw txuas ntxiv
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 42
Xa lus tawm tswv yim
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.3 ib. Pre-load Constant
Lub pre-load tas mus li tswj lub accumulator operand thiab complements lub accumulator tawm tswv yim. Qhov siv tau LOADCONST_VALUE nyob ntawm 0. Tus nqi tas li yog sib npaug rau 64N, qhov twg N = LOADCONST_VALUE. Thaum LOADCONST_VALUE tau teeb tsa rau 2, tus nqi tas li yog sib npaug rau 64. Qhov kev ua haujlwm no tuaj yeem siv los ua qhov sib npaug.
Daim duab hauv qab no qhia tau hais tias kev ua haujlwm ua ntej ua ntej.
Daim duab 19. Pre-load Constant
Cov lus qhia ntawm accumulator
tas li
a0
Ntau 0
+/-
b0
a1
Ntau 1
+/b1
tshwm sim
accum_sload sload_accum
Xa mus rau IP cores hauv qab no rau lwm qhov kev siv ntau ntxiv: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4 ib. Ob chav Accumulator
Ob chav accumulator feature ntxiv ib qho kev sau npe ntxiv hauv txoj kev tawm tswv yim accumulator. Ob chav accumulator tso npe ua raws li cov ntawv tso tawm, uas suav nrog lub moos, moos pab, thiab aclr. Qhov ntxiv accumulator tso npe rov qab los nrog ib lub voj voog qeeb. Qhov no tso cai rau koj kom muaj ob lub accumulator raws nrog tib cov peev txheej suav.
Daim duab hauv qab no qhia txog kev siv ob chav accumulator.
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 43
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Daim duab 20. Ob chav Accumulator
Dou ble Accu mulator Sau npe
Accu mulator feedba ck
a0
Ntau 0
+/-
b0
a1
Ntau 1
+/b1
Output result Output Register
8.2. Verilog HDL Prototype
Koj tuaj yeem pom Intel FPGA Multiply Adder lossis ALTERA_MULT_ADD Verilog HDL tus qauv file (altera_mult_add_rtl.v) hauv lub librariesmegafunctions directory.
8.3. VHDL Component Tshaj Tawm
Cov lus tshaj tawm VHDL yog nyob rau hauv altera_lnsim_components.vhd hauv librariesvhdl altera_lnsim directory.
8.4. VHDL LIBRARY_USE tshaj tawm
Daim ntawv tshaj tawm VHDL LIBRARY-SIV tsis tas yuav yog tias koj siv VHDL Cov Lus Tshaj Tawm.
LIBRARY altera_mf; USE altera_mf.altera_mf_components.all;
8.5. Teeb liab
Cov lus hauv qab no teev cov tswv yim thiab cov teeb liab tawm ntawm Multiply Adder Intel FPGA IPor ALTERA_MULT_ADD IP core.
Table 28. Multiply Adder Intel FPGA IPor ALTERA_MULT_ADD Input Signals
Teeb liab
Yuav tsum tau
Kev piav qhia
dataa_0[]/dataa_1[]/
Yog lawm
dataa_2[]/dataa_3[]
Cov ntaub ntawv nkag mus rau tus multiplier. Qhov chaw nres nkoj nkag [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1 … 0] dav
txuas ntxiv…
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 44
Xa lus tawm tswv yim
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[] moos[1:0] aclr[1:0] sclr[1:0] ena [1:0] npe
npe
scanina[] accum_sload
Yuav Tsum Tau Tsis Tau
Tsis Tau Tsis Muaj
Tsis muaj
Tsis muaj
Kev piav qhia
Tus qauv simulation rau tus IP no txhawb nqa tus nqi nkag tsis tau (X) rau cov teeb liab no. Thaum koj muab X tus nqi rau cov teeb liab no, tus nqi X tau nthuav tawm ntawm cov khoom tso tawm.
Cov ntaub ntawv nkag mus rau tus multiplier. Input signal [NUMBER_OF_MULTIPLIERS * WIDTH_B – 1 … 0] wide Lub simulation qauv rau IP no txhawb undetermined input nqi (X) rau cov teeb liab. Thaum koj muab X tus nqi rau cov teeb liab no, tus nqi X tau nthuav tawm ntawm cov khoom tso tawm.
Cov ntaub ntawv nkag mus rau tus multiplier. Input signal [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] wide Xaiv INPUT rau Xaiv hom preadder parameter kom pab tau cov teeb liab. Tus qauv simulation rau tus IP no txhawb nqa tus nqi nkag tsis tau (X) rau cov teeb liab no. Thaum koj muab X tus nqi rau cov teeb liab no, tus nqi X tau nthuav tawm ntawm cov khoom tso tawm.
Lub moos input chaw nres nkoj mus rau lub npe sib raug. Cov teeb liab no tuaj yeem siv los ntawm txhua tus neeg sau npe hauv IP core. Tus qauv simulation rau tus IP no txhawb nqa tus nqi nkag tsis tau (X) rau cov teeb liab no. Thaum koj muab X tus nqi rau cov teeb liab no, tus nqi X tau nthuav tawm ntawm cov khoom tso tawm.
Asynchronous ntshiab input mus rau lub npe sib raug. Tus qauv simulation rau tus IP no txhawb nqa tus nqi nkag tsis tau (X) rau cov teeb liab no. Thaum koj muab X tus nqi rau cov teeb liab no, tus nqi X tau nthuav tawm ntawm cov khoom tso tawm.
Synchronous ntshiab input mus rau tus sau npe. Tus qauv simulation rau tus IP no txhawb nqa cov tswv yim tsis muaj nqi X rau cov teeb liab no. Thaum koj muab X tus nqi rau cov teeb liab no, tus nqi X tau nthuav tawm ntawm cov khoom tso tawm
Qhib lub teeb liab tawm tswv yim rau cov npe sib raug. Tus qauv simulation rau tus IP no txhawb nqa tus nqi nkag tsis tau (X) rau cov teeb liab no. Thaum koj muab X tus nqi rau cov teeb liab no, tus nqi X tau nthuav tawm ntawm cov khoom tso tawm.
Qhia txog tus lej sawv cev ntawm tus lej sib txuas A. Yog tias lub cim kos npe yog siab, tus multiplier kho tus lej tawm tswv yim A raws li tus lej kos npe. Yog tias lub cim kos npe qis qis, tus lej sib npaug kho qhov sib npaug ntawm cov tswv yim A teeb liab raws li tus lej tsis tau kos npe. Xaiv VARIABLE rau Dab tsi yog cov qauv sawv cev rau Multipliers A inputs parameter los pab kom cov teeb liab no. Tus qauv simulation rau tus IP no txhawb nqa tus nqi nkag tsis tau (X) rau lub teeb liab no. Thaum koj muab X tus nqi rau qhov kev tawm tswv yim no, tus nqi X tau nthuav tawm ntawm cov khoom tso tawm.
Qhia txog tus lej sawv cev ntawm qhov sib npaug ntawm cov tswv yim B teeb liab. Yog hais tias tus signb teeb liab siab, tus multiplier kho tus multiplier input B teeb liab raws li ib tug kos npe rau ob lub complement tooj. Yog tias lub teeb liab signb qis, tus multiplier kho tus multiplier input B teeb liab raws li tus lej tsis tau kos npe. Tus qauv simulation rau tus IP no txhawb nqa tus nqi nkag tsis tau (X) rau lub teeb liab no. Thaum koj muab X tus nqi rau qhov kev tawm tswv yim no, tus nqi X tau nthuav tawm ntawm cov khoom tso tawm.
Input rau scan saw A. Input signal [WIDTH_A – 1, … 0] wide. Thaum lub INPUT_SOURCE_A parameter muaj tus nqi ntawm SCANA, lub scanina[] teeb liab yuav tsum tau.
Dynamically qhia seb tus nqi accumulator puas tas mus li. Yog hais tias lub teeb liab accum_sload tsawg, ces cov zis multiplier yog loaded rau hauv lub accumulator. Tsis txhob siv accum_sload thiab sload_accum ib txhij.
txuas ntxiv…
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 45
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Teeb liab sload_accum
chainin[] addnsub1
addnub 3
coefsel0[]coefsel1[]coefsel2[]coefsel3[]
Yuav tsum tau No
Tsis muaj
Tsis muaj
Tsis Tau Tsis Muaj
Kev piav qhia
Tus qauv simulation rau tus IP no txhawb nqa tus nqi nkag tsis tau (X) rau lub teeb liab no. Thaum koj muab X tus nqi rau qhov kev tawm tswv yim no, tus nqi X tau nthuav tawm ntawm cov khoom tso tawm.
Dynamically qhia seb tus nqi accumulator puas tas mus li. Yog hais tias lub teeb liab sload_accum siab, ces cov zis multiplier yog loaded rau hauv lub accumulator. Tsis txhob siv accum_sload thiab sload_accum ib txhij. Tus qauv simulation rau tus IP no txhawb nqa tus nqi nkag tsis tau (X) rau lub teeb liab no. Thaum koj muab X tus nqi rau qhov kev tawm tswv yim no, tus nqi X tau nthuav tawm ntawm cov khoom tso tawm.
Adder result input bus los ntawm stage. Input signal [WIDTH_CHAININ – 1, … 0] dav.
Ua qhov sib ntxiv lossis rho tawm rau cov txiaj ntsig los ntawm thawj khub ntawm tus lej sib npaug. Cov tswv yim 1 rau addnsub1 teeb liab ntxiv cov zis tawm los ntawm thawj khub ntawm tus lej sib npaug. Cov tswv yim 0 rau addnsub1 teeb liab los rho tawm cov txiaj ntsig los ntawm thawj khub ntawm tus lej sib npaug. Tus qauv simulation rau tus IP no txhawb nqa tus nqi nkag tsis tau (X) rau lub teeb liab no. Thaum koj muab X tus nqi rau qhov kev tawm tswv yim no, tus nqi X tau nthuav tawm ntawm cov khoom tso tawm.
Ua qhov sib ntxiv lossis rho tawm rau cov txiaj ntsig los ntawm thawj khub ntawm tus lej sib npaug. Cov tswv yim 1 rau addnsub3 teeb liab ntxiv cov khoom tawm los ntawm ob khub ntawm cov sib npaug. Cov tswv yim 0 rau addnsub3 teeb liab los rho tawm cov txiaj ntsig los ntawm thawj khub ntawm tus lej sib npaug. Tus qauv simulation rau tus IP no txhawb nqa tus nqi nkag tsis tau (X) rau lub teeb liab no. Thaum koj muab X tus nqi rau qhov kev tawm tswv yim no, tus nqi X tau nthuav tawm ntawm cov khoom tso tawm.
Coefficient input signal [0:3] mus rau thawj qhov sib npaug. Tus qauv simulation rau tus IP no txhawb nqa tus nqi nkag tsis tau (X) rau lub teeb liab no. Thaum koj muab X tus nqi rau qhov kev tawm tswv yim no, tus nqi X tau nthuav tawm ntawm cov khoom tso tawm.
Coefficient input signal[0:3] mus rau qhov thib ob tus lej. Tus qauv simulation rau tus IP no txhawb nqa tus nqi nkag tsis tau (X) rau lub teeb liab no. Thaum koj muab X tus nqi rau qhov kev tawm tswv yim no, tus nqi X tau nthuav tawm ntawm cov khoom tso tawm.
Coefficient input signal [0:3] mus rau qhov thib peb tus lej. Tus qauv simulation rau tus IP no txhawb nqa tus nqi nkag tsis tau (X) rau lub teeb liab no. Thaum koj muab X tus nqi rau qhov kev tawm tswv yim no, tus nqi X tau nthuav tawm ntawm cov khoom tso tawm.
Coefficient input signal [0:3] mus rau plaub tus lej. Tus qauv simulation rau tus IP no txhawb nqa tus nqi nkag tsis tau (X) rau lub teeb liab no. Thaum koj muab X tus nqi rau qhov kev tawm tswv yim no, tus nqi X tau nthuav tawm ntawm cov khoom tso tawm.
Table 29. Multiply Adder Intel FPGA IP Output Signals
Teeb liab
Yuav tsum tau
Kev piav qhia
tshwm sim []
Yog lawm
Multiplier tso zis teeb liab. Cov zis teeb liab [WIDTH_RESULT – 1… 0] dav
Tus qauv simulation rau tus IP no txhawb nqa tus nqi tso tawm tsis tau (X). Thaum koj muab X tus nqi raws li cov tswv yim, X tus nqi tau nthuav tawm ntawm qhov teeb meem no.
scanouta []
Tsis muaj
Cov zis ntawm scan saw A. Cov zis teeb liab [WIDTH_A – 1..0] dav.
Xaiv ntau dua 2 rau cov lej ntawm cov lej sib npaug thiab xaiv Scan saw input rau Dab tsi yog cov tswv yim A ntawm cov khoom sib txuas txuas nrog rau qhov ntsuas kom pab tau qhov teeb meem no.
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 46
Xa lus tawm tswv yim
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.6. Cov tsis
8.6.1. General Tab
Table 30. General Tab
Parameter
IP Generated Parameter
Tus nqi
Tus naj npawb ntawm cov multipliers yog dab tsi?
num_of_m 1 – 4 ultipliers
Qhov dav npaum li cas yuav tsum A width_a input buses?
1–256 : kuv
B width_b input bus yuav dav npaum li cas?
1–256 : kuv
Yuav tsum dav npaum li cas 'qhov tshwm sim' lub tsheb npav yuav tsum?
dav_result
1–256 : kuv
Tsim ib lub moos uas cuam tshuam rau txhua lub moos
gui_associate On d_clock_enabl Off e
8.6.2 ib. Ntxiv Hom Tab
Table 31. Ntxiv Hom Tab
Parameter
IP Generated Parameter
Tus nqi
Outputs Configuration
Sau npe tso zis ntawm lub adder unit
gui_output_re On
gister
Tawm
Dab tsi yog lub hauv paus rau lub moos input?
gui_output_re gister_clock
moos 0 moos 1 moos 2
Lub hauv paus rau asynchronous clear input yog dab tsi?
gui_output_re gister_aclr
TSIS MUAJ ACLR0 ACLR1
Dab tsi yog qhov chaw rau synchronous ntshiab input?
gui_output_re gister_sclr
TSIS MUAJ SCLR0 SCLR1
Kev ua haujlwm ntxiv
Yuav ua li cas yuav tsum tau ua nyob rau hauv lub outputs ntawm thawj khub ntawm multipliers?
gui_multiplier 1_direction
ADD, SUB, VARIABLE
Default Tus nqi 1
16
Kev piav qhia
Tus naj npawb ntawm cov multipliers yuav tsum tau ntxiv ua ke. Tus nqi yog 1 txog 4. Qhia qhov dav ntawm dataa[] chaw nres nkoj.
16
Qhia qhov dav ntawm datab[] chaw nres nkoj.
32
Qhia qhov dav ntawm qhov tshwm sim[] chaw nres nkoj.
Tawm
Xaiv qhov kev xaiv no los tsim lub moos qhib
rau txhua lub moos.
Default tus nqi
Kev piav qhia
Tawm Clock0
TSIS MUAJ
Xaiv qhov kev xaiv no los pab kom tso zis tso npe ntawm tus adder module.
Xaiv Clock0, Clock1 lossis Clock2 kom pab tau thiab qhia meej lub moos rau kev tso npe tso tawm. Koj yuav tsum xaiv Register output ntawm lub adder unit kom pab tau qhov parameter no.
Qhia meej qhov asynchronous clear source rau lub adder tso zis register. Koj yuav tsum xaiv Register output ntawm lub adder unit kom pab tau qhov parameter no.
Qhia meej lub synchronous ntshiab qhov chaw rau lub adder tso zis register. Koj yuav tsum xaiv Register output ntawm lub adder unit kom pab tau qhov parameter no.
Ntxiv
Xaiv qhov sib ntxiv lossis rho tawm haujlwm los ua rau cov txiaj ntsig ntawm thawj thiab thib ob tus lej sib npaug.
· Xaiv ADD los ua haujlwm ntxiv.
· Xaiv SUB los ua haujlwm rho tawm.
· Xaiv VARIABLE los siv addnsub1 chaw nres nkoj rau dynamic ntxiv / rho tawm tswj.
txuas ntxiv…
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 47
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
IP Generated Parameter
Tus nqi
Sau npe 'addnsub1' input
gui_addnsub_ On multiplier_reg Off ister1
Dab tsi yog lub hauv paus rau lub moos input?
gui_addnsub_ multiplier_reg ister1_clock
moos 0 moos 1 moos 2
Lub hauv paus rau asynchronous clear input yog dab tsi?
gui_addnsub_cov multiplier_aclr 1
TSIS MUAJ ACLR0 ACLR1
Dab tsi yog qhov chaw rau synchronous ntshiab input?
gui_addnsub_ multiplier_sclr 1
TSIS MUAJ SCLR0 SCLR1
Yuav ua li cas yuav tsum tau ua nyob rau hauv lub outputs ntawm ob khub ntawm multipliers?
gui_multiplier 3_direction
ADD, SUB, VARIABLE
Sau npe 'addnsub3' input
gui_addnsub_ On multiplier_reg Off ister3
Dab tsi yog lub hauv paus rau lub moos input?
gui_addnsub_ multiplier_reg ister3_clock
moos 0 moos 1 moos 2
Default tus nqi
Off Clock0 NEEJ TSIS PAUB
Tawm Clock0
Kev piav qhia
Thaum VARIABLE tus nqi raug xaiv: · Tsav addnsub1 teeb liab kom siab rau
kev ua haujlwm ntxiv. · Tsav addnsub1 teeb liab kom qis rau
kev rho tawm. Koj yuav tsum xaiv ntau tshaj ob qhov sib npaug kom pab tau qhov ntsuas no.
Xaiv qhov kev xaiv no txhawm rau txhawm rau tso npe nkag rau addnsub1 chaw nres nkoj. Koj yuav tsum xaiv VARIABLE rau Dab tsi ua haujlwm yuav tsum tau ua ntawm cov txiaj ntsig ntawm thawj khub ntawm kev sib tw kom pab tau qhov ntsuas no.
Xaiv Clock0 , Clock1 lossis Clock2 txhawm rau qhia meej lub moos lub teeb liab rau addnsub1 rau npe. Koj yuav tsum xaiv Register 'addnsub1' input kom pab tau qhov parameter no.
Qhia meej asynchronous clear source rau addnsub1 register. Koj yuav tsum xaiv Register 'addnsub1' input kom pab tau qhov parameter no.
Qhia meej qhov tseeb synchronous rau addnsub1 sau npe. Koj yuav tsum xaiv Register 'addnsub1' input kom pab tau qhov parameter no.
Xaiv qhov ntxiv lossis rho tawm ua haujlwm los ua rau cov txiaj ntsig ntawm qhov thib peb thiab plaub tus lej. · Xaiv ADD los ua ntxiv
kev ua haujlwm. · Xaiv SUB kom rho tawm
kev ua haujlwm. · Xaiv VARIABLE los siv addnsub1
chaw nres nkoj rau dynamic ntxiv / rho tawm tswj. Thaum VARIABLE tus nqi raug xaiv: · Tsav addnsub1 teeb liab kom siab rau kev ua haujlwm ntxiv. · Tsav addnsub1 teeb liab kom qis rau kev rho tawm haujlwm. Koj yuav tsum xaiv tus nqi 4 rau Tus lej ntawm tus lej yog dab tsi? kom pab tau qhov parameter no.
Xaiv qhov kev xaiv no txhawm rau txhawm rau tso npe nkag rau addnsub3 teeb liab. Koj yuav tsum xaiv VARIABLE rau Dab tsi ua haujlwm yuav tsum tau ua ntawm cov txiaj ntsig ntawm ob khub ntawm kev sib tw kom pab tau qhov ntsuas no.
Xaiv Clock0 , Clock1 lossis Clock2 kom qhia meej lub moos lub teeb liab rau addnsub3 rau npe. Koj yuav tsum xaiv Register 'addnsub3' input kom pab tau qhov parameter no.
txuas ntxiv…
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 48
Xa lus tawm tswv yim
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Lub hauv paus rau asynchronous clear input yog dab tsi?
IP Generated Parameter
Tus nqi
gui_addnsub_cov multiplier_aclr 3
TSIS MUAJ ACLR0 ACLR1
Dab tsi yog qhov chaw rau synchronous ntshiab input?
gui_addnsub_ multiplier_sclr 3
TSIS MUAJ SCLR0 SCLR1
Polarity Pab kom 'use_subadd'
gui_use_subn On
ntxiv
Tawm
8.6.3 ib. Multipliers Tab
Table 32. Multipliers Tab
Parameter
IP Generated Parameter
Tus nqi
Dab tsi yog qhov
gui_represent
sawv cev format ation_a
rau Multipliers A inputs?
SAIB, UNSIGNED, VARIABLE
Sau npe 'signa' input
gui_register_s On
ua igna
Tawm
Dab tsi yog lub hauv paus rau lub moos input?
gui_register_s igna_clock
moos 0 moos 1 moos 2
Lub hauv paus rau asynchronous clear input yog dab tsi?
gui_register_s igna_aclr
TSIS MUAJ ACLR0 ACLR1
Dab tsi yog qhov chaw rau synchronous ntshiab input?
gui_register_s igna_sclr
TSIS MUAJ SCLR0 SCLR1
Dab tsi yog qhov
gui_represent
sawv cev format ation_b
rau Multipliers B inputs?
SAIB, UNSIGNED, VARIABLE
Sau npe 'signb' input
gui_register_s On
ignb ib
Tawm
Default Value TSIS MUAJ
TSIS MUAJ
Kev piav qhia
Qhia meej asynchronous clear source rau addnsub3 register. Koj yuav tsum xaiv Register 'addnsub3' input kom pab tau qhov parameter no.
Qhia meej qhov tseeb synchronous rau lub npe addnsub3. Koj yuav tsum xaiv Register 'addnsub3' input kom pab tau qhov parameter no.
Tawm
Xaiv qhov kev xaiv no los thim rov qab txoj haujlwm
ntawm addnsub input port.
Tsav addnsub kom siab rau kev rho tawm haujlwm.
Tsav addnsub kom qis rau kev ua haujlwm ntxiv.
Default tus nqi
Kev piav qhia
UNSIGNED Qhia cov qauv sawv cev rau tus lej sib npaug A.
Tawm
Xaiv qhov kev xaiv no los pab kom kos npe
sau npe.
Koj yuav tsum xaiv VARIABLE tus nqi rau Cov qauv sawv cev rau Multipliers A inputs yog dab tsi? parameter kom pab tau qhov kev xaiv no.
Moos 0
Xaiv Clock0 , Clock1 lossis Clock2 kom pab tau thiab qhia meej lub moos lub teeb liab rau kev kos npe rau npe.
Koj yuav tsum xaiv Register 'signa' input kom pab tau qhov parameter no.
TSIS MUAJ
Qhia qhov tseeb asynchronous rau lub npe kos npe.
Koj yuav tsum xaiv Register 'signa' input kom pab tau qhov parameter no.
TSIS MUAJ
Qhia meej qhov tseeb synchronous rau daim ntawv sau npe.
Koj yuav tsum xaiv Register 'signa' input kom pab tau qhov parameter no.
UNSIGNED Qhia cov qauv sawv cev rau tus lej sib npaug B input.
Tawm
Xaiv qhov kev xaiv no los pab kom signb
sau npe.
txuas ntxiv…
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 49
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
IP Generated Parameter
Tus nqi
Default tus nqi
Dab tsi yog lub hauv paus rau lub moos input?
gui_register_s ignb_clock
moos 0 moos 1 moos 2
Moos 0
Lub hauv paus rau asynchronous clear input yog dab tsi?
gui_register_s ignb_aclr
TSIS MUAJ ACLR0 ACLR1
Dab tsi yog qhov chaw rau synchronous ntshiab input?
gui_register_s ignb_sclr
TSIS MUAJ SCLR0 SCLR1
Input Configuration
Sau npe input A ntawm tus multiplier
Dab tsi yog lub hauv paus rau lub moos input?
gui_input_reg On
ister_ ua
Tawm
gui_input_reg ister_a_clock
moos 0 moos 1 moos 2
TSIS MUAJ
Tawm Clock0
Lub hauv paus rau asynchronous clear input yog dab tsi?
gui_input_reg ister_a_aclr
TSIS MUAJ ACLR0 ACLR1
Dab tsi yog qhov chaw rau synchronous ntshiab input?
gui_input_reg ister_a_sclr
TSIS MUAJ SCLR0 SCLR1
Sau npe input B ntawm tus multiplier
Dab tsi yog lub hauv paus rau lub moos input?
gui_input_reg On
ister_ ib
Tawm
gui_input_reg ister_b_clock
moos 0 moos 1 moos 2
TSIS MUAJ TEEB MEEM 0
Lub hauv paus rau asynchronous clear input yog dab tsi?
gui_input_reg ister_b_aclr
TSIS MUAJ ACLR0 ACLR1
TSIS MUAJ
Dab tsi yog qhov chaw rau synchronous ntshiab input?
gui_input_reg ister_b_sclr
TSIS MUAJ SCLR0 SCLR1
TSIS MUAJ
Dab tsi yog qhov input A ntawm qhov sib txuas txuas nrog?
gui_multiplier Multiplier input Multiplier
_a_input
Luam theej duab chain input input
Kev piav qhia
Koj yuav tsum xaiv VARIABLE tus nqi rau Cov qauv sawv cev rau Multipliers B inputs yog dab tsi? parameter kom pab tau qhov kev xaiv no.
Xaiv Clock0 , Clock1 lossis Clock2 kom pab tau thiab qhia meej lub moos input teeb liab rau kos npe rau npe. Koj yuav tsum xaiv Register 'signb' input kom pab tau qhov parameter no.
Qhia qhov tseeb asynchronous rau lub npe kos npe. Koj yuav tsum xaiv Register 'signb' input kom pab tau qhov parameter no.
Qhia qhov tseeb synchronous qhov chaw rau lub signb register. Koj yuav tsum xaiv Register 'signb' input kom pab tau qhov parameter no.
Xaiv qhov kev xaiv no txhawm rau txhawm rau tso npe nkag rau dataa input npav.
Xaiv Clock0 , Clock1 lossis Clock2 kom pab tau thiab qhia meej cov npe nkag hauv moos teeb liab rau dataa input tsheb npav. Koj yuav tsum xaiv Register input A ntawm tus multiplier kom pab tau qhov parameter no.
Qhia meej cov npe asynchronous ntshiab qhov chaw rau dataa input npav. Koj yuav tsum xaiv Register input A ntawm tus multiplier kom pab tau qhov parameter no.
Qhia meej cov npe synchronous ntshiab qhov chaw rau dataa input npav. Koj yuav tsum xaiv Register input A ntawm tus multiplier kom pab tau qhov parameter no.
Xaiv qhov kev xaiv no txhawm rau txhawm rau tso npe nkag rau datab input npav.
Xaiv Clock0 , Clock1 lossis Clock2 kom pab tau thiab qhia meej cov npe nkag hauv moos teeb liab rau datab input tsheb npav. Koj yuav tsum xaiv Register input B ntawm tus multiplier kom pab tau qhov parameter no.
Qhia meej cov npe asynchronous clear source rau datab input bus. Koj yuav tsum xaiv Register input B ntawm tus multiplier kom pab tau qhov parameter no.
Qhia meej cov npe synchronous ntshiab qhov chaw rau datab input npav. Koj yuav tsum xaiv Register input B ntawm tus multiplier kom pab tau qhov parameter no.
Xaiv qhov input qhov chaw rau input A ntawm tus multiplier.
txuas ntxiv…
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 50
Xa lus tawm tswv yim
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
IP Generated Parameter
Tus nqi
Scanout A Register Configuration
Sau npe tso zis ntawm lub scan saw
gui_scanouta Rau
_ sau npe
Tawm
Dab tsi yog lub hauv paus rau lub moos input?
gui_scanouta _register_cloc k
moos 0 moos 1 moos 2
Lub hauv paus rau asynchronous clear input yog dab tsi?
gui_scanouta _register_aclr
TSIS MUAJ ACLR0 ACLR1
Dab tsi yog qhov chaw rau synchronous ntshiab input?
gui_scanouta _register_sclr
TSIS MUAJ SCLR0 SCLR1
8.6.4 ib. Preadder Tab
Table 33. Preadder Tab
Parameter
IP Generated Parameter
Tus nqi
Xaiv hom preadder
preadder_mo de
SIMPLE, COEF, INPUT, SQUARE, CONSTANT
Default tus nqi
Kev piav qhia
Xaiv Multiplier input siv dataa input bus ua lub hauv paus rau tus multiplier. Xaiv Scan saw input siv lub tsheb npav scanin input ua lub hauv paus rau tus lej sib npaug thiab pab kom lub tsheb npav scanout tawm. Qhov kev ntsuas no muaj nyob rau thaum koj xaiv 2, 3 lossis 4 rau Tus lej ntawm tus lej yog dab tsi? parameter.
Tawm Clock0 TSIS MUAJ
Xaiv qhov kev xaiv no los pab kom tso npe tso npe rau scanouta tso zis tsheb npav.
Koj yuav tsum xaiv Scan saw input rau Dab tsi yog cov tswv yim A ntawm tus lej txuas nrog? parameter kom pab tau qhov kev xaiv no.
Xaiv Clock0 , Clock1 lossis Clock2 kom pab tau thiab qhia meej cov npe nkag hauv moos teeb liab rau scanouta tso zis tsheb npav.
Koj yuav tsum qhib Register tso zis ntawm scan saw parameter kom pab tau qhov kev xaiv no.
Qhia meej cov npe asynchronous ntshiab qhov chaw rau lub tsheb npav scanouta tso zis.
Koj yuav tsum qhib Register tso zis ntawm scan saw parameter kom pab tau qhov kev xaiv no.
Qhia meej cov npe synchronous ntshiab qhov chaw rau lub tsheb npav scanouta tso zis.
Koj yuav tsum xaiv Sau npe tso zis ntawm lub scan chain parameter kom pab tau qhov kev xaiv no.
Default tus nqi
SIJ HAWM
Kev piav qhia
Qhia meej hom kev ua haujlwm rau preadder module. YOOJ YIM: Hom no bypass lub preadder. Qhov no yog lub neej ntawd hom. COEF: Hom no siv cov zis ntawm lub preadder thiab coefsel input bus raws li cov inputs rau tus multiplier. INPUT: Hom no siv cov zis ntawm lub preadder thiab datac input bus raws li cov inputs rau tus multiplier. SQUARE: Hom no siv cov zis ntawm tus preadder ua ob qho tib si cov khoom nkag mus rau qhov sib npaug.
txuas ntxiv…
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 51
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
IP Generated Parameter
Tus nqi
Xaiv cov kev taw qhia preadder
gui_preadder ADD,
_kev taw qhia
SUB
Lub tsheb npav C width_c yuav tsum dav npaum li cas?
1–256 : kuv
Cov ntaub ntawv C Input Register Configuration
Sau npe datac input
gui_datac_inp Rau
ut_register
Tawm
Dab tsi yog lub hauv paus rau lub moos input?
gui_datac_inp ut_register_cl ock
moos 0 moos 1 moos 2
Lub hauv paus rau asynchronous clear input yog dab tsi?
gui_datac_inp ut_register_a clr
TSIS MUAJ ACLR0 ACLR1
Dab tsi yog qhov chaw rau synchronous ntshiab input?
gui_datac_inp ut_register_sc lr
TSIS MUAJ SCLR0 SCLR1
Coefficients
Lub coef width yuav tsum dav npaum li cas?
width_cov
1–27 : kuv
Coef Register Configuration
Sau npe rau coefsel input
gui_coef_regi Rau
ster
Tawm
Dab tsi yog lub hauv paus rau lub moos input?
gui_coef_regi ster_clock
moos 0 moos 1 moos 2
Default tus nqi
Ntxiv
16
Kev piav qhia
CONSTANT: Hom no siv dataa input npav nrog preadder bypassed thiab coefsel input tsheb npav raws li cov khoom nkag mus rau qhov sib npaug.
Qhia meej txog kev ua haujlwm ntawm tus preadder. Txhawm rau ua kom qhov kev ntsuas no, xaiv cov hauv qab no rau Xaiv hom preadder: · COEF · INPUT · SQUARE lossis · CONSTANT
Qhia tus naj npawb ntawm cov khoom rau C input npav. Koj yuav tsum xaiv INPUT rau Xaiv hom preadder kom pab tau qhov ntsuas no.
Nyob rau Clock0 TSIS MUAJ
Xaiv qhov kev xaiv no txhawm rau txhawm rau tso npe nkag rau datac input npav. Koj yuav tsum teeb tsa INPUT rau Xaiv hom preadder parameter kom pab tau qhov kev xaiv no.
Xaiv Clock0 , Clock1 lossis Clock2 txhawm rau txheeb xyuas lub moos input teeb liab rau datac input register. Koj yuav tsum xaiv Register datac input kom pab tau qhov parameter no.
Qhia meej qhov asynchronous clear source rau datac input register. Koj yuav tsum xaiv Register datac input kom pab tau qhov parameter no.
Qhia meej lub synchronous ntshiab qhov chaw rau datac input register. Koj yuav tsum xaiv Register datac input kom pab tau qhov parameter no.
18
Qhia tus naj npawb ntawm cov khoom rau
coefsel input tsheb npav.
Koj yuav tsum xaiv COEF lossis CONSTANT rau hom preadder kom pab tau qhov ntsuas no.
Hauv moos 0
Xaiv qhov kev xaiv no txhawm rau txhawm rau tso npe nkag rau coefsel input npav. Koj yuav tsum xaiv COEF lossis CONSTANT rau hom preadder kom pab tau qhov ntsuas no.
Xaiv Clock0 , Clock1 lossis Clock2 txhawm rau txheeb xyuas lub moos lub teeb liab rau coefsel input register. Koj yuav tsum xaiv Sau npe rau coefsel input kom pab tau qhov parameter no.
txuas ntxiv…
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 52
Xa lus tawm tswv yim
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Lub hauv paus rau asynchronous clear input yog dab tsi?
IP Generated Parameter
Tus nqi
gui_coef_regi ster_aclr
TSIS MUAJ ACLR0 ACLR1
Dab tsi yog qhov chaw rau synchronous ntshiab input
gui_coef_regi ster_sclr
TSIS MUAJ SCLR0 SCLR1
Coefficient_0 Configuration
coef0_0 to coef0_7
0x00000 0xFFFFFF
Coefficient_1 Configuration
coef1_0 to coef1_7
0x00000 0xFFFFFF
Coefficient_2 Configuration
coef2_0 to coef2_7
0x00000 0xFFFFFF
Coefficient_3 Configuration
coef3_0 to coef3_7
0x00000 0xFFFFFF
8.6.5 ib. Accumulator Tab
Table 34. Accumulator Tab
Parameter
IP Generated Parameter
Tus nqi
Pab kom accumulator?
accumulator
YOG, TSIS MUAJ
Dab tsi yog hom kev ua haujlwm accumulator?
accum_directi ADD,
on
SUB
Default Value TSIS MUAJ
TSIS MUAJ
0 x0000000
0 x0000000
0 x0000000
0 x0000000
Kev piav qhia
Qhia meej asynchronous clear source rau lub coefsel input register. Koj yuav tsum xaiv Sau npe rau coefsel input kom pab tau qhov parameter no.
Qhia meej qhov tseeb synchronous rau lub coefsel input register. Koj yuav tsum xaiv Sau npe rau coefsel input kom pab tau qhov parameter no.
Qhia qhov coefficient qhov tseem ceeb rau thawj tus lej no. Tus naj npawb ntawm cov khoom yuav tsum zoo ib yam li teev nyob rau hauv Yuav ua li cas wide yuav tus coef width? parameter. Koj yuav tsum xaiv COEF lossis CONSTANT rau hom preadder kom pab tau qhov ntsuas no.
Qhia tus nqi coefficient rau tus lej thib ob no. Tus naj npawb ntawm cov khoom yuav tsum zoo ib yam li teev nyob rau hauv Yuav ua li cas wide yuav tus coef width? parameter. Koj yuav tsum xaiv COEF lossis CONSTANT rau hom preadder kom pab tau qhov ntsuas no.
Qhia tus nqi coefficient rau qhov thib peb tus lej sib npaug. Tus naj npawb ntawm cov khoom yuav tsum zoo ib yam li teev nyob rau hauv Yuav ua li cas wide yuav tus coef width? parameter. Koj yuav tsum xaiv COEF lossis CONSTANT rau hom preadder kom pab tau qhov ntsuas no.
Qhia qhov coefficient qhov tseem ceeb rau qhov kev sib tw thib plaub. Tus naj npawb ntawm cov khoom yuav tsum zoo ib yam li teev nyob rau hauv Yuav ua li cas wide yuav tus coef width? parameter. Koj yuav tsum xaiv COEF lossis CONSTANT rau hom preadder kom pab tau qhov ntsuas no.
Default Value NO
Ntxiv
Kev piav qhia
Xaiv YES txhawm rau pab kom lub accumulator. Koj yuav tsum xaiv Sau npe tso zis ntawm chav tsev adder thaum siv accumulator feature.
Qhia meej txog kev ua haujlwm ntawm lub accumulator: · ADD rau kev ua haujlwm ntxiv · SUB rau kev rho tawm haujlwm. Koj yuav tsum xaiv YES rau Enable accumulator? parameter kom pab tau qhov kev xaiv no.
txuas ntxiv…
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 53
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Preload Constant Enable preload constant
IP Generated Parameter
Tus nqi
gui_ena_prelo Rau
ad_const
Tawm
Dab tsi yog cov tswv yim ntawm cov chaw nres nkoj sib txuas nrog?
gui_accumula ACCUM_SLOAD, te_port_select SLOAD_ACCUM
Xaiv tus nqi rau preload loadconst_val 0 - 64
tas li
ue
Dab tsi yog lub hauv paus rau lub moos input?
gui_accum_sl oad_register_ moos
moos 0 moos 1 moos 2
Lub hauv paus rau asynchronous clear input yog dab tsi?
gui_accum_sl oad_register_ aclr
TSIS MUAJ ACLR0 ACLR1
Dab tsi yog qhov chaw rau synchronous ntshiab input?
gui_accum_sl oad_register_ sclr
TSIS MUAJ SCLR0 SCLR1
Qhib ob chav accumulator
gui_double_a Rau
ua ccum
Tawm
Default tus nqi
Kev piav qhia
Tawm
Qhib lub accum_sload lossis
sload_accum teeb liab thiab sau npe nkag
dynamically xaiv cov tswv yim rau lub
accumulator.
Thaum accum_sload qis lossis sload_accum, cov zis ntau ntxiv yog pub rau hauv accumulator.
Thaum accum_sload siab lossis sload_accum, tus neeg siv tau teev tseg preload tas li yog pub rau hauv accumulator.
Koj yuav tsum xaiv YES rau Enable accumulator? parameter kom pab tau qhov kev xaiv no.
ACCUM_SL OAD
Qhia meej txog tus cwj pwm ntawm accum_sload/ sload_accum teeb liab.
ACCUM_SLOAD: Tsav accum_sload qis kom thauj cov khoom tso tawm ntau ntxiv rau lub accumulator.
SLOAD_ACCUM: Tsav sload_accum siab txhawm rau thauj cov zis ntau ntxiv rau lub accumulator.
Koj yuav tsum xaiv Enable preload constant xaiv kom pab tau qhov parameter no.
64
Qhia tus nqi preset tas li.
Tus nqi no tuaj yeem yog 2N qhov twg N yog tus nqi preset tas li.
Thaum N = 64, nws sawv cev rau xoom tas li.
Koj yuav tsum xaiv Enable preload constant xaiv kom pab tau qhov parameter no.
Moos 0
Xaiv Clock0 , Clock1 lossis Clock2 kom qhia meej lub cim moos lub cim rau accum_sload / sload_accum sau npe.
Koj yuav tsum xaiv Enable preload constant xaiv kom pab tau qhov parameter no.
TSIS MUAJ
Qhia meej qhov asynchronous clear source rau accum_sload/sload_accum register.
Koj yuav tsum xaiv Enable preload constant xaiv kom pab tau qhov parameter no.
TSIS MUAJ
Qhia meej qhov tseeb synchronous rau accum_sload/sload_accum register.
Koj yuav tsum xaiv Enable preload constant xaiv kom pab tau qhov parameter no.
Tawm
Enables ob lub accumulator register.
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 54
Xa lus tawm tswv yim
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.6.6 ib. Systolic/Chainout Tab
Table 35. Systolic/Chainout Adder Tab
Parameter Enable chainout adder
IP Generated Parameter
Tus nqi
chainout_add YOG,
er
TSIS MUAJ
Dab tsi yog chainout adder ua haujlwm hom?
chainout_ntxiv ADD,
er_direction
SUB
Pab kom 'negate' input rau chainout adder?
Port_negate
PORT_USED, PORT_UNUSED
Sau npe 'negate' input? negate_regist ua
TSEEM CEEB, LOCK0, CLOCK1, CLOCK2, CLOCK3
Lub hauv paus rau asynchronous clear input yog dab tsi?
negate_aclr
TSIS MUAJ ACLR0 ACLR1
Dab tsi yog qhov chaw rau synchronous ntshiab input?
negate_sclr
TSIS MUAJ SCLR0 SCLR1
Systolic ncua
Pab kom systolic ncua kev sau npe
gui_systolic_d Rau
elay ua
Tawm
Dab tsi yog lub hauv paus rau lub moos input?
gui_systolic_d CLOCK0,
elay_ moos
CLOCK 1,
Default tus nqi
TSIS MUAJ
Kev piav qhia
Xaiv YES txhawm rau pab kom chainout adder module.
Ntxiv
Qhia meej txog chainout adder ua haujlwm.
Rau kev rho tawm haujlwm, SIGNED yuav tsum raug xaiv rau Daim ntawv sawv cev rau Multipliers A inputs yog dab tsi? thiab hom ntawv sawv cev rau Multipliers B inputs yog dab tsi? hauv Multipliers Tab.
PORT_UN siv
Xaiv PORT_USED los pab kom tsis txhob muaj teeb meem tawm tswv yim.
Qhov parameter no tsis siv tau thaum chainout adder raug kaw.
UNREGIST ERED
Txhawm rau pab kom lub input register rau negate input signal thiab qhia txog lub input moos teeb liab rau negate register.
Xaiv UNREGISTERED yog tias tsis xav tau kev tso npe nkag nkag mus
Qhov no parameter yog invalid thaum koj xaiv:
· TSIS MUAJ rau Enable chainout adder los yog
· PORT_UNUSED rau Enable 'negate' input rau chainout adder? parameter lub
TSIS MUAJ
Qhia meej qhov asynchronous clear source rau lub npe negate.
Qhov no parameter yog invalid thaum koj xaiv:
· TSIS MUAJ rau Enable chainout adder los yog
· PORT_UNUSED rau Enable 'negate' input rau chainout adder? parameter lub
TSIS MUAJ
Qhia meej lub synchronous ntshiab qhov chaw rau lub npe negate.
Qhov no parameter yog invalid thaum koj xaiv:
· TSIS MUAJ rau Enable chainout adder los yog
· PORT_UNUSED rau Enable 'negate' input rau chainout adder? parameter lub
Tawm CLOCK 0
Xaiv qhov kev xaiv no los pab kom systolic hom. Qhov kev ntsuas no muaj nyob rau thaum koj xaiv 2, lossis 4 rau Tus lej ntawm tus lej yog dab tsi? parameter. Koj yuav tsum ua kom lub npe tso zis ntawm chav tsev adder siv cov systolic ncua kev sau npe.
Qhia meej lub moos input teeb liab rau systolic ncua kev sau npe.
txuas ntxiv…
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 55
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
IP Generated Parameter
Tus nqi
CLOCK 2,
Lub hauv paus rau asynchronous clear input yog dab tsi?
gui_systolic_d elay_aclr
TSIS MUAJ ACLR0 ACLR1
Dab tsi yog qhov chaw rau synchronous ntshiab input?
gui_systolic_d elay_sclr
TSIS MUAJ SCLR0 SCLR1
Default tus nqi
TSIS MUAJ
TSIS MUAJ
Kev piav qhia
Koj yuav tsum xaiv qhib systolic ncua kev sau npe kom pab tau qhov kev xaiv no.
Qhia meej asynchronous clear source rau lub systolic ncua sij hawm. Koj yuav tsum xaiv qhib systolic ncua kev sau npe kom pab tau qhov kev xaiv no.
Qhia meej lub synchronous ntshiab qhov chaw rau lub systolic ncua kev sau npe. Koj yuav tsum xaiv qhib systolic ncua kev sau npe kom pab tau qhov kev xaiv no.
8.6.7. Pipelining Tab
Table 36. Pipelining Tab
Parameter Pipelining Configuration
IP Generated Parameter
Tus nqi
Koj puas xav ntxiv cov raj xa mus rau cov tswv yim?
gui_pipelining Tsis yog, Yog
Default tus nqi
Tsis muaj
Thov qhia qhov
latency
tus naj npawb ntawm latency moos
lub voj voog
Txhua tus nqi ntau dua 0 dua 0
Dab tsi yog lub hauv paus rau lub moos input?
gui_input_late ncy_clock
TUG 0, TUG 1, TUG 2
Lub hauv paus rau asynchronous clear input yog dab tsi?
gui_input_late ncy_aclr
TSIS MUAJ ACLR0 ACLR1
Dab tsi yog qhov chaw rau synchronous ntshiab input?
gui_input_late ncy_sclr
TSIS MUAJ SCLR0 SCLR1
CLOCK0 TSIS MUAJ
Kev piav qhia
Xaiv Yog los ua kom muaj qib ntxiv ntawm cov raj xa mus rau cov cim nkag. Koj yuav tsum qhia tus nqi ntau dua 0 rau Thov qhia tus naj npawb ntawm latency moos cycles parameter.
Qhia qhov xav tau latency hauv lub voj voog moos. Ib theem ntawm cov raj xa dej npe = 1 latency hauv lub voj voog moos. Koj yuav tsum xaiv YES rau Koj puas xav ntxiv cov raj xa mus rau cov tswv yim? kom pab tau qhov kev xaiv no.
Xaiv Clock0 , Clock1 lossis Clock2 kom pab tau thiab qhia meej lub raj xa dej tso npe nkag lub moos teeb liab. Koj yuav tsum xaiv YES rau Koj puas xav ntxiv cov raj xa mus rau cov tswv yim? kom pab tau qhov kev xaiv no.
Qhia meej txog cov npe asynchronous ntshiab qhov chaw rau cov npe pipeline ntxiv. Koj yuav tsum xaiv YES rau Koj puas xav ntxiv cov raj xa mus rau cov tswv yim? kom pab tau qhov kev xaiv no.
Qhia meej txog cov npe synchronous ntshiab qhov chaw rau cov npe pipeline ntxiv. Koj yuav tsum xaiv YES rau Koj puas xav ntxiv cov raj xa mus rau cov tswv yim? kom pab tau qhov kev xaiv no.
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 56
Xa lus tawm tswv yim
683490 | 2020.10.05 Xa lus tawm tswv yim
9. ALTMEMMULT (Memory-based Constant Coefficient Multiplier) IP Core
Nco ntsoov:
Intel tau tshem tawm qhov kev txhawb nqa ntawm tus IP no hauv Intel Quartus Prime Pro Edition version 20.3. Yog tias tus IP tseem ceeb hauv koj lub hom phiaj tsim khoom siv hauv Intel Quartus Prime Pro Edition, koj tuaj yeem hloov tus IP nrog LPM_MULT Intel FPGA IP lossis rov tsim dua tus IP thiab suav koj tus qauv siv Intel Quartus Prime Standard Edition software.
ALTMEMMULT IP core yog siv los tsim cov cim xeeb raws li kev sib tw siv cov cim cim xeeb onchip pom hauv Intel FPGAs (nrog M512, M4K, M9K, thiab MLAB nco blocks). Cov tub ntxhais IP no muaj txiaj ntsig yog tias koj tsis muaj peev txheej txaus los siv cov khoom sib npaug hauv cov ntsiab lus logic (LEs) lossis cov peev txheej ntau ntxiv.
ALTMEMMULT IP core yog ib qho kev ua haujlwm synchronous uas xav tau lub moos. ALTMEMMULT IP core siv ib qho kev sib npaug nrog qhov tsawg tshaj plaws ntawm kev xa tawm thiab latency ua tau rau cov txheej txheem thiab cov kev qhia tshwj xeeb.
Cov duab hauv qab no qhia cov chaw nres nkoj rau ALTMEMMULT IP core.
Daim duab 21. ALTMEMMULT Ports
ALTMEMMULT
data_in[] sload_data coeff_in[]
result[] result_valid load_done
sload_cov
sclr sij
inst
Cov Ntaub Ntawv Tseem Ceeb Ntawm nplooj 71
9.1. Nta
ALTMEMMULT IP core muaj cov yam ntxwv hauv qab no: · Tsim tsuas yog kev nco-raws li kev sib tw uas siv cov cim xeeb ntawm lub cim xeeb pom hauv
Intel FPGAs · Txhawb cov ntaub ntawv dav ntawm 1 khoom · Txhawb kev kos npe thiab tsis kos npe cov ntaub ntawv sawv cev · Txhawb cov raj xa dej nrog cov zis latency ruaj khov
Intel Corporation. Txhua txoj cai. Intel, Intel logo, thiab lwm yam Intel cov cim yog cov cim lag luam ntawm Intel Corporation lossis nws cov koom haum. Intel lav kev ua tau zoo ntawm nws cov FPGA thiab cov khoom lag luam semiconductor rau cov kev qhia tshwj xeeb tam sim no raws li Intel tus qauv kev lees paub, tab sis muaj txoj cai los hloov cov khoom thiab cov kev pabcuam txhua lub sijhawm yam tsis muaj ntawv ceeb toom. Intel xav tias tsis muaj lub luag haujlwm lossis kev lav phib xaub uas tshwm sim los ntawm daim ntawv thov lossis siv cov ntaub ntawv, cov khoom lag luam, lossis cov kev pabcuam uas tau piav qhia hauv no tshwj tsis yog raws li tau pom zoo hauv kev sau ntawv los ntawm Intel. Intel cov neeg siv khoom tau qhia kom tau txais qhov tseeb version ntawm cov cuab yeej tshwj xeeb ua ntej tso siab rau cov ntaub ntawv tshaj tawm thiab ua ntej muab xaj rau cov khoom lossis cov kev pabcuam. * Lwm lub npe thiab hom yuav raug lees paub raws li cov cuab yeej ntawm lwm tus.
Daim ntawv pov thawj ISO 9001: 2015
9. ALTMEMMULT (Memory-based Constant Coefficient Multiplier) IP Core 683490 | 2020.10.05
· Khaws ntau qhov tsis tu ncua hauv random-access memory (RAM)
· Muab kev xaiv los xaiv RAM thaiv hom
· Txhawb kev xaiv synchronous ntshiab thiab load-tswj cov tswv yim ports
9.2. Verilog HDL Prototype
Cov nram qab no Verilog HDL qauv yog nyob rau hauv Verilog Design File (.v) altera_mf.v hauv eda synthesis directory.
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_AU, parameter number_officient meter total_latency = 1, parameter width_c = 1, parameter width_d = 1, parameter width_r = 1, parameter width_s = 1, parameter lpm_type = “altmemmult”, parameter lpm_hint = “unused”) (input wire moos, input wire [width_c-1: 1]coeff_in, input wire [dav_d-0:1] data_in, output wire load_done, output wire [width_r-0:1] result, output wire result_valid, input wire sclr, input wire [dav_s-0:1] sel, input xaim sload_coeff, input wire sload_data)/* synthesis syn_black_box=0 */; endmodule
9.3. VHDL Component Tshaj Tawm
VHDL cov lus tshaj tawm yog nyob hauv VHDL Tsim File (.vhd) altera_mf_components.vhd hauv librariesvhdlaltera_mf directory.
tivthaiv altmemmult generic (coeff_representation:string := “SIGNED”; coefficient0:string := “UNUSED”; data_representation:string := “SIGNED”; purpose_device_family:string := “unused”; max_clock_cycles_fatural_result: alt; := 1; ram_block_type:string := “AUTO”; total_latency:natural; width_d:natural; "altmemmult"); port( moos:in std_logic; coeff_in:in std_logic_vector(width_c-1 downto 1):= (lwm yam => '1'); data_in:in std_logic_vector(width_d-0 downto 0);
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 58
Xa lus tawm tswv yim
9. ALTMEMMULT (Memory-based Constant Coefficient Multiplier) IP Core 683490 | 2020.10.05
load_done: tawm std_logic; result:out std_logic_vector(width_r-1 downto 0); result_valid: tawm std_logic; scr:in std_logic := '0'; sel:in std_logic_vector(width_s-1 downto 0):= (lwm yam => '0'); sload_coeff:in std_logic := '0'; sload_data:in std_logic := '0'); kawg tivthaiv;
9.4. Chaw nres nkoj
Cov lus hauv qab no teev cov tswv yim thiab cov chaw nres nkoj rau ALTMEMMULT IP core.
Table 37. ALTMEMMULT Input Ports
Chaw nres nkoj npe
Yuav tsum tau
Kev piav qhia
moos
Yog lawm
Clock input rau tus multiplier.
cov_in[]
Tsis muaj
Coefficient input chaw nres nkoj rau lub multiplier. Qhov loj ntawm qhov chaw nres nkoj nkag yog nyob ntawm tus nqi WIDTH_C parameter.
data_in[]
Yog lawm
Cov ntaub ntawv input chaw nres nkoj mus rau tus multiplier. Qhov loj ntawm qhov chaw nres nkoj nkag yog nyob ntawm tus nqi WIDTH_D parameter.
ua sclr
Tsis muaj
Synchronous ntshiab input. Yog tias tsis siv, tus nqi pib ua haujlwm siab.
sel[]
Tsis muaj
Kev xaiv coefficient ruaj khov. Qhov loj ntawm qhov chaw nres nkoj nkag yog nyob ntawm WIDTH_S
tus nqi parameter.
sload_cov
Tsis muaj
Synchronous load coefficient input chaw nres nkoj. Hloov tus nqi coefficient uas tau xaiv tam sim no nrog tus nqi teev tseg hauv coeff_in input.
sload_data
Tsis muaj
Synchronous load data input chaw nres nkoj. Lub teeb liab uas qhia txog kev ua haujlwm sib npaug tshiab thiab tshem tawm txhua qhov kev ua haujlwm sib npaug uas twb muaj lawm. Yog tias MAX_CLOCK_CYCLES_PER_RESULT parameter muaj tus nqi ntawm 1, sload_data input chaw nres nkoj tsis quav ntsej.
Table 38. ALTMEMMULT Output Ports
Chaw nres nkoj npe
Yuav tsum tau
Kev piav qhia
tshwm sim[]
Yog lawm
Multiplier output chaw nres nkoj. Qhov loj ntawm qhov chaw nres nkoj nkag yog nyob ntawm tus nqi WIDTH_R parameter.
result_valid
Yog lawm
Qhia tias thaum cov zis yog qhov txiaj ntsig tau ntawm kev ua tiav qhov sib npaug. Yog hais tias MAX_CLOCK_CYCLES_PER_RESULT parameter muaj tus nqi ntawm 1, qhov result_valid tso zis chaw nres nkoj tsis siv.
load_done
Tsis muaj
Qhia thaum lub coefficient tshiab tau ua tiav kev thauj khoom. Lub teeb liab load_done lees paub thaum lub coefficient tshiab tau ua tiav kev thauj khoom. Tshwj tsis yog lub teeb liab load_done siab, tsis muaj lwm tus nqi coefficient tuaj yeem thauj mus rau hauv lub cim xeeb.
9.5. Cov tsis
Cov lus hauv qab no teev cov kev txwv rau ATMEMMULT IP core.
Table 39.
WIDTH_D WIDTH_C
ALTMEMMULT Parameters
Lub npe Parameter
Yam yuav tsum tau muaj
Kev piav qhia
Integer Yes
Qhia qhov dav ntawm data_in[] chaw nres nkoj.
Integer Yes
Qhia qhov dav ntawm coeff_in[] chaw nres nkoj. txuas ntxiv…
Xa lus tawm tswv yim
Intel FPGA Integer Arithmetic IP Cores Tus Neeg Siv Qhia 59
9. ALTMEMMULT (Memory-based Constant Coefficient Multiplier) IP Core 683490 | 2020.10.05
Parameter Lub Npe WIDTH_R WIDTH
Cov ntaub ntawv / Cov ntaub ntawv
![]() |
Intel FPGA Integer Arithmetic IP Cores [ua pdf] Cov neeg siv phau ntawv qhia FPGA Integer Arithmetic IP Cores, Integer Arithmetic IP Cores, Tus lej IP Cores, IP Cores |