FPGA Integer Arithmetic IP Cores
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores
ອັບເດດສໍາລັບ Intel® Quartus® Prime Design Suite: 20.3
ສະບັບອອນໄລນ໌ສົ່ງຄໍາຄິດເຫັນ
UG-01063
ID: 683490 ເວີຊັນ: 2020.10.05
ເນື້ອໃນ
ເນື້ອໃນ
1. Intel FPGA Integer Arithmetic IP Cores……………………………………………………………………..5
2. LPM_COUNTER (Counter) IP Core ………………………………………………………………….. 7 2.1. ຄຸນສົມບັດ…………………………………………………………………………………………………………7 2.2. Verilog HDL Prototype……………………………………………………………………………….. 8 2.3. ການປະກາດອົງປະກອບ VHDL……………………………………………………………………………….8 2.4. ຖະແຫຼງການ VHDL LIBRARY_USE……………………………………………………………………………… 9 2.5. ຜອດ…………………………………………………………………………………………………………..9 2.6. ພາລາມິເຕີ………………………………………………………………………………………………………… 10
3. LPM_DIVIDE (Divider) Intel FPGA IP Core……………………………………………………….. 12 3.1. ຄຸນລັກສະນະ………………………………………………………………………………………………. 12 3.2. Verilog HDL Prototype……………………………………………………………………………… 12 3.3. ການປະກາດອົງປະກອບ VHDL…………………………………………………………………….. 13 3.4. ຖະແຫຼງການ VHDL LIBRARY_USE…………………………………………………………………. 13 3.5. ພອດ…………………………………………………………………………………………………… 13 3.6. ພາລາມິເຕີ………………………………………………………………………………………………………… 14
4. LPM_MULT (ຕົວຄູນ) IP Core…………………………………………………………………………. 16 4.1. ຄຸນລັກສະນະ………………………………………………………………………………………………. 16 4.2. Verilog HDL Prototype……………………………………………………………………………… 17 4.3. ການປະກາດອົງປະກອບ VHDL…………………………………………………………………….. 17 4.4. ຖະແຫຼງການ VHDL LIBRARY_USE…………………………………………………………………. 17 4.5. ສັນຍານ………………………………………………………………………………………………………… 18 4.6. ພາຣາມິເຕີສຳລັບອຸປະກອນ Stratix V, Arria V, Cyclone V, ແລະ Intel Cyclone 10 LP Devices…………… 18 4.6.1. ແຖບທົ່ວໄປ……………………………………………………………………………………………18 4.6.2. ທົ່ວໄປ 2 Tab……………………………………………………………………………… 19 4.6.3. ແຖບທໍ່…………………………………………………………………………………………… 19 4.7. ພາຣາມິເຕີສຳລັບອຸປະກອນ Intel Stratix 10, Intel Arria 10, ແລະ Intel Cyclone 10 GX ……….. 20 4.7.1. ແຖບທົ່ວໄປ……………………………………………………………………………………………20 4.7.2. ທົ່ວໄປ 2 Tab……………………………………………………………………………… 20 4.7.3. ທໍ່……………………………………………………………………………………………21
5. LPM_ADD_SUB (Adder/Subtractor)……………………………………………………………………… 22 5.1. ຄຸນລັກສະນະ………………………………………………………………………………………………. 22 5.2. Verilog HDL Prototype……………………………………………………………………………… 23 5.3. ການປະກາດອົງປະກອບ VHDL…………………………………………………………………….. 23 5.4. ຖະແຫຼງການ VHDL LIBRARY_USE…………………………………………………………………. 23 5.5. ພອດ………………………………………………………………………………………………………… 23 5.6. ພາລາມິເຕີ…………………………………………………………………………………………… 24
6. LPM_COMPARE (ຜູ້ປຽບທຽບ)……………………………………………………………………………… 26 6.1. ຄຸນລັກສະນະ………………………………………………………………………………………………. 26 6.2. Verilog HDL Prototype……………………………………………………………………………… 27 6.3. ຖະແຫຼງການອົງປະກອບ VHDL…………………………………………………………………….. 27 6.4. ຖະແຫຼງການ VHDL LIBRARY_USE…………………………………………………………………. 27 6.5. ພອດ…………………………………………………………………………………………………… 27 6.6. ພາລາມິເຕີ………………………………………………………………………………………………………… 28
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 2
ສົ່ງຄຳຕິຊົມ
ເນື້ອໃນ
7. ALTECC (ລະຫັດການແກ້ໄຂຂໍ້ຜິດພາດ: ຕົວເຂົ້າລະຫັດ/ຕົວຖອດລະຫັດ) IP Core……………………………………… 30
7.1. ຄຸນສົມບັດຕົວເຂົ້າລະຫັດ ALTECC………………………………………………………………………………..31 7.2. Verilog HDL Prototype (ALTECC_ENCODER)……………………………………………………. 32 7.3. Verilog HDL Prototype (ALTECC_DECODER)……………………………………………………. 32 7.4. ການປະກາດອົງປະກອບ VHDL (ALTECC_ENCODER)……………………………………………33 7.5. ການປະກາດອົງປະກອບ VHDL (ALTECC_DECODER)……………………………………………33 7.6. ຖະແຫຼງການ VHDL LIBRARY_USE…………………………………………………………………. 33 7.7. ຜອດຕົວເຂົ້າລະຫັດ……………………………………………………………………………………… 33 7.8. ພອດຕົວຖອດລະຫັດ……………………………………………………………………………………………34 7.9. ຕົວກໍານົດການເຂົ້າລະຫັດ…………………………………………………………………………………………… 34 7.10. ຕົວກໍານົດການຖອດລະຫັດ ……………………………………………………………………………… 35
8. Intel FPGA Multiply Adder IP Core……………………………………………………………………. 36
8.1. ຄຸນລັກສະນະ………………………………………………………………………………………………. 37 8.1.1. Pre-adder………………………………………………………………………………….. 38 8.1.2. Systolic Delay Register………………………………………………………………….. 40 8.1.3. Pre-load Constant……………………………………………………………………………… 43 8.1.4. Double Accumulator ……………………………………………………………………………… 43
8.2. Verilog HDL Prototype……………………………………………………………………………… 44 8.3. ການປະກາດອົງປະກອບ VHDL…………………………………………………………………….. 44 8.4. ຖະແຫຼງການ VHDL LIBRARY_USE…………………………………………………………………. 44 8.5. ສັນຍານ………………………………………………………………………………………………………… 44 8.6. ພາລາມິເຕີ………………………………………………………………………………………………………… 47
8.6.1. ແຖບທົ່ວໄປ……………………………………………………………………………………47 8.6.2. Extra Modes Tab………………………………………………………………………….. 47 8.6.3. ແຖບຕົວຄູນ …………………………………………………………………………….. 49 8.6.4. ແຖບ Prereadder ……………………………………………………………………………………………. 51 8.6.5. Accumulator Tab………………………………………………………………………….. 53 8.6.6. ແຖບ Systolic/Chainout ……………………………………………………………………. 55 8.6.7. ແຖບທໍ່……………………………………………………………………………… 56
9. ALTMEMMULT (ຕົວຄູນຄ່າຄົງທີ່ຕາມຄວາມຈຳ) IP Core…………………… 57
9.1. ຄຸນລັກສະນະ………………………………………………………………………………………………. 57 9.2. Verilog HDL Prototype……………………………………………………………………………… 58 9.3. ການປະກາດອົງປະກອບ VHDL…………………………………………………………………….. 58 9.4. ພອດ…………………………………………………………………………………………………… 59 9.5. ພາລາມິເຕີ………………………………………………………………………………………………………… 59
10. ALTMULT_ACCUM (Multiply-Accumulate) IP Core…………………………………………………… 61.
10.1. ຄຸນສົມບັດ…………………………………………………………………………………………….. 62 10.2. Verilog HDL Prototype……………………………………………………………………..62 10.3. ການປະກາດອົງປະກອບ VHDL……………………………………………………………………… 63 10.4. ຖະແຫຼງການ VHDL LIBRARY_USE…………………………………………………………………63 10.5. ທ່າເຮືອ …………………………………………………………………………………………………………. 63 10.6. ພາລາມິເຕີ ………………………………………………………………………………………………. 64
11. ALTMULT_ADD (Multiply-Adder) IP Core……………………………………………………..69
11.1. ຄຸນສົມບັດ……………………………………………………………………………………………….. 71 11.2. Verilog HDL Prototype……………………………………………………………………..72 11.3. ການປະກາດອົງປະກອບ VHDL………………………………………………………………………… 72 11.4. ຖະແຫຼງການ VHDL LIBRARY_USE…………………………………………………………………72
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 3
ເນື້ອໃນ
11.5. ທ່າເຮືອ …………………………………………………………………………………………………………. 72 11.6. ພາລາມິເຕີ ………………………………………………………………………………………………. 73
12. ALTMULT_COMPLEX (ຕົວຄູນຊັບຊ້ອນ) IP Core……………………………………………… 86 12.1. ການຄູນຊັບຊ້ອນ…………………………………………………………………………………. 86 12.2. Canonical Representation………………………………………………………………………… 87 12.3. ຕົວແທນສາມັນ…………………………………………………………………. 87 12.4. ຄຸນສົມບັດ…………………………………………………………………………………………….. 88 12.5. Verilog HDL Prototype……………………………………………………………………..88 12.6. ການປະກາດອົງປະກອບ VHDL……………………………………………………………………… 89 12.7. ຖະແຫຼງການ VHDL LIBRARY_USE…………………………………………………………………89 12.8. ສັນຍານ…………………………………………………………………………………………………………. 89 12.9. ພາລາມິເຕີ ………………………………………………………………………………………………. 90
13. ALTSQRT (Integer Square Root) IP Core…………………………………………………………92 13.1. ຄຸນສົມບັດ……………………………………………………………………………………………….. 92 13.2. Verilog HDL Prototype……………………………………………………………………..92 13.3. ການປະກາດອົງປະກອບ VHDL……………………………………………………………………………… 93 13.4. ຖະແຫຼງການ VHDL LIBRARY_USE…………………………………………………………………93 13.5. ທ່າເຮືອ …………………………………………………………………………………………………………. 93 13.6. ພາລາມິເຕີ ………………………………………………………………………………………………. 94
14. PARALLEL_ADD (Parallel Adder) IP Core……………………………………………………….. 95 14.1. ຄຸນສົມບັດ……………………………………………………………………………………………….95 14.2. Verilog HDL Prototype……………………………………………………………………..95 14.3. ການປະກາດອົງປະກອບ VHDL……………………………………………………………………… 96 14.4. ຖະແຫຼງການ VHDL LIBRARY_USE…………………………………………………………………96 14.5. ທ່າເຮືອ …………………………………………………………………………………………………………. 96 14.6. ພາລາມິເຕີ ………………………………………………………………………………………………. 97
15. Integer Arithmetic IP Cores User Guide Document Archives……………………………………… 98.
16. ປະຫວັດການແກ້ໄຂເອກະສານສໍາລັບ Intel FPGA Integer Arithmetic IP Cores ຄູ່ມືຜູ້ໃຊ້…. 99
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 4
ສົ່ງຄຳຕິຊົມ
683490 | 2020.10.05 ສົ່ງຄຳຕິຊົມ
1. Intel FPGA Integer Arithmetic IP Cores
ທ່ານສາມາດນໍາໃຊ້ Intel® FPGA integer IP cores ເພື່ອດໍາເນີນການທາງຄະນິດສາດໃນການອອກແບບຂອງທ່ານ.
ຟັງຊັນເຫຼົ່ານີ້ສະຫນອງການສັງເຄາະຢ່າງມີເຫດຜົນແລະການປະຕິບັດອຸປະກອນທີ່ມີປະສິດທິພາບຫຼາຍກ່ວາການຂຽນລະຫັດຫນ້າທີ່ຂອງທ່ານເອງ. ທ່ານສາມາດປັບແຕ່ງຫຼັກ IP ເພື່ອຮອງຮັບຄວາມຕ້ອງການຂອງການອອກແບບຂອງທ່ານ.
Intel integer arithmetic cores ແບ່ງອອກເປັນສອງປະເພດຕໍ່ໄປນີ້: · Library of parameterized modules (LPM) IP cores · Intel-specific (ALT) IP cores
ຕາຕະລາງຕໍ່ໄປນີ້ລາຍຊື່ຫຼັກ IP ເລກເລກຈຳນວນເຕັມ.
ຕາຕະລາງ 1.
ບັນຊີລາຍຊື່ຂອງ IP Cores
IP Cores
ຫຼັກ IP ຂອງ LPM
LPM_COUNTER
LPM_DIVIDE
LPM_MULT
LPM_ADD_SUB
LPM_COMPARE
Intel-specific (ALT) IP cores ALTECC
ຟັງຊັນແລ້ວview ຕົວຄູນຕົວຄູນ
Adder ຫຼື subtractor ປຽບທຽບ
ຕົວເຂົ້າລະຫັດ/ຕົວຖອດລະຫັດ ECC
ອຸປະກອນທີ່ຮອງຮັບ
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 ສືບຕໍ່…
ບໍລິສັດ Intel. ສະຫງວນລິຂະສິດທັງໝົດ. Intel, ໂລໂກ້ Intel, ແລະເຄື່ອງໝາຍ Intel ອື່ນໆແມ່ນເຄື່ອງໝາຍການຄ້າຂອງ Intel Corporation ຫຼືບໍລິສັດຍ່ອຍຂອງມັນ. Intel ຮັບປະກັນປະສິດທິພາບຂອງຜະລິດຕະພັນ FPGA ແລະ semiconductor ຂອງຕົນຕໍ່ກັບຂໍ້ມູນຈໍາເພາະໃນປະຈຸບັນໂດຍສອດຄ່ອງກັບການຮັບປະກັນມາດຕະຖານຂອງ Intel, ແຕ່ສະຫງວນສິດທີ່ຈະປ່ຽນແປງຜະລິດຕະພັນແລະການບໍລິການໄດ້ທຸກເວລາໂດຍບໍ່ມີການແຈ້ງການ. Intel ຖືວ່າບໍ່ມີຄວາມຮັບຜິດຊອບ ຫຼືຄວາມຮັບຜິດຊອບທີ່ເກີດຂຶ້ນຈາກແອັບພລິເຄຊັນ ຫຼືການນຳໃຊ້ຂໍ້ມູນ, ຜະລິດຕະພັນ, ຫຼືບໍລິການໃດໜຶ່ງທີ່ໄດ້ອະທິບາຍໄວ້ໃນນີ້ ຍົກເວັ້ນຕາມທີ່ໄດ້ຕົກລົງຢ່າງຈະແຈ້ງໃນລາຍລັກອັກສອນໂດຍ Intel. ລູກຄ້າ Intel ໄດ້ຮັບຄໍາແນະນໍາໃຫ້ໄດ້ຮັບສະບັບຫລ້າສຸດຂອງຂໍ້ມູນຈໍາເພາະຂອງອຸປະກອນກ່ອນທີ່ຈະອີງໃສ່ຂໍ້ມູນໃດໆທີ່ຈັດພີມມາແລະກ່ອນທີ່ຈະວາງຄໍາສັ່ງສໍາລັບຜະລິດຕະພັນຫຼືການບໍລິການ. *ຊື່ ແລະຍີ່ຫໍ້ອື່ນໆອາດຈະຖືກອ້າງວ່າເປັນຊັບສິນຂອງຄົນອື່ນ.
ISO 9001:2015 ລົງທະບຽນ
1. Intel FPGA Integer Arithmetic IP Cores 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
IP Cores Intel FPGA Multiply Adder ຫຼື ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
ALTSQRT
PARALLEL_ADD
ຟັງຊັນແລ້ວview ຕົວຄູນ-Adder
ຕົວຄູນຄ່າຄົງທີ່ທີ່ອີງໃສ່ຄວາມຈໍາ
ຕົວຄູນ-Accumulator ຕົວຄູນ-ເພີ່ມ
ຕົວຄູນຊັບຊ້ອນ
Integer Square-Root
ຂະຫນານ Adder
ອຸປະກອນທີ່ຮອງຮັບ
Arria V, Stratix V, Cyclone V, Intel Stratix 10, Intel Arria 10, Intel Cyclone
10 GX
Arria II GX, Arria II GZ, Arria V, Intel Arria 10 (Intel Quartus® Prime Standard Edition), Cyclone IV E, Cyclone IV GX, Cyclone V, Intel
Cyclone 10 LP, MAX II, MAX V, MAX 10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Cyclone IV E, Cyclone IV GX, Intel Cyclone 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Cyclone IV E, Cyclone IV GX, Intel Cyclone 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Intel Arria 10, Arria V, Arria V GZ, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel
Cyclone 10 GX, Intel Cyclone 10 LP, MAX 10, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP,Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V
ຂໍ້ມູນທີ່ກ່ຽວຂ້ອງ
· ບັນທຶກການປ່ອຍຕົວຂອງ Intel FPGAs ແລະອຸປະກອນທີ່ສາມາດຂຽນໂປຣແກຣມໄດ້
· ການແນະນໍາ Intel FPGA IP Cores ໃຫ້ຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບ Intel FPGA IP Cores.
· ຄູ່ມືຜູ້ໃຊ້ Floating-Point IP Cores ໃຫ້ຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບ Intel FPGA Floating-Point IP cores.
· ການແນະນໍາ Intel FPGA IP Cores ສະຫນອງຂໍ້ມູນທົ່ວໄປກ່ຽວກັບ Intel FPGA IP cores ທັງຫມົດ, ລວມທັງການກໍານົດຕົວກໍານົດການ, ການຜະລິດ, ການຍົກລະດັບ, ແລະ simulating IP cores.
· ການສ້າງ Version-Independent IP ແລະ Qsys Simulation Scripts ສ້າງສະຄຣິບຈຳລອງທີ່ບໍ່ຕ້ອງການການອັບເດດຄູ່ມືສຳລັບການອັບເກຣດລຸ້ນຊອບແວ ຫຼື IP.
· ການຄຸ້ມຄອງໂຄງການຂໍ້ແນະນໍາການປະຕິບັດທີ່ດີທີ່ສຸດສໍາລັບການຄຸ້ມຄອງປະສິດທິພາບແລະການເຄື່ອນຍ້າຍຂອງໂຄງການແລະ IP ຂອງທ່ານ files.
· Integer Arithmetic IP Cores ຄູ່ມືຜູ້ໃຊ້ເອກະສານ Archives ໃນຫນ້າ 98 ສະຫນອງບັນຊີລາຍຊື່ຂອງຄູ່ມືຜູ້ໃຊ້ສໍາລັບສະບັບທີ່ຜ່ານມາຂອງ Integer Arithmetic IP cores.
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 6
ສົ່ງຄຳຕິຊົມ
683490 | 2020.10.05 ສົ່ງຄຳຕິຊົມ
2. LPM_COUNTER (Counter) IP Core
ຮູບທີ 1.
ຫຼັກ IP LPM_COUNTER ແມ່ນຕົວນັບສອງທີ່ສ້າງຕົວນັບ, ຕົວນັບລົງ ແລະຕົວນັບຂຶ້ນ ຫຼືລົງດ້ວຍຜົນຮັບກວ້າງເຖິງ 256 ບິດ.
ຮູບຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນຜອດສໍາລັບ LPM_COUNTER IP core.
LPM_COUNTER ພອດ
LPM_COUNTER
ssclr sload sset data[]
q[]
ຂຶ້ນລົງ
cout
aclr aload asset
clk_en cnt_en cin
inst
2.1. ຄຸນສົມບັດ
ຫຼັກ IP LPM_COUNTER ສະເໜີລັກສະນະຕໍ່ໄປນີ້: · ສ້າງຕົວນັບຂຶ້ນ, ລົງ, ແລະຂຶ້ນ/ລົງ · ສ້າງຕົວນັບປະເພດຕໍ່ໄປນີ້:
— ໄບນາຣີທຳມະດາ– ການເພີ່ມຕົວນັບເລີ່ມຈາກສູນ ຫຼື ຫຼຸດລົງເລີ່ມຕົ້ນຈາກ 255
— Modulus – ຕົວນັບການເພີ່ມຂຶ້ນຫຼືຫຼຸດລົງຈາກຄ່າ modulus ທີ່ລະບຸໄວ້ໂດຍຜູ້ໃຊ້ແລະເຮັດເລື້ມຄືນ
· ຮອງຮັບພອດປ້ອນຂໍ້ມູນແບບ synchronous ທາງເລືອກທີ່ຈະແຈ້ງ, ໂຫຼດ, ແລະຕັ້ງພອດປ້ອນເຂົ້າ · ຮອງຮັບຊ່ອງສຽບແບບ asynchronous clear, load, ແລະ set input ports · ຮອງຮັບການນັບທາງເລືອກ ແລະ clock enable ports inputs · ຮອງຮັບພອດພົກພາເຂົ້າ ແລະ ແບກຫາມທາງເລືອກ.
ບໍລິສັດ Intel. ສະຫງວນລິຂະສິດທັງໝົດ. Intel, ໂລໂກ້ Intel, ແລະເຄື່ອງໝາຍ Intel ອື່ນໆແມ່ນເຄື່ອງໝາຍການຄ້າຂອງ Intel Corporation ຫຼືບໍລິສັດຍ່ອຍຂອງມັນ. Intel ຮັບປະກັນປະສິດທິພາບຂອງຜະລິດຕະພັນ FPGA ແລະ semiconductor ຂອງຕົນຕໍ່ກັບຂໍ້ມູນຈໍາເພາະໃນປະຈຸບັນໂດຍສອດຄ່ອງກັບການຮັບປະກັນມາດຕະຖານຂອງ Intel, ແຕ່ສະຫງວນສິດທີ່ຈະປ່ຽນແປງຜະລິດຕະພັນແລະການບໍລິການໄດ້ທຸກເວລາໂດຍບໍ່ມີການແຈ້ງການ. Intel ຖືວ່າບໍ່ມີຄວາມຮັບຜິດຊອບ ຫຼືຄວາມຮັບຜິດຊອບທີ່ເກີດຂຶ້ນຈາກແອັບພລິເຄຊັນ ຫຼືການນຳໃຊ້ຂໍ້ມູນ, ຜະລິດຕະພັນ, ຫຼືບໍລິການໃດໜຶ່ງທີ່ໄດ້ອະທິບາຍໄວ້ໃນນີ້ ຍົກເວັ້ນຕາມທີ່ໄດ້ຕົກລົງຢ່າງຈະແຈ້ງໃນລາຍລັກອັກສອນໂດຍ Intel. ລູກຄ້າ Intel ໄດ້ຮັບຄໍາແນະນໍາໃຫ້ໄດ້ຮັບສະບັບຫລ້າສຸດຂອງຂໍ້ມູນຈໍາເພາະຂອງອຸປະກອນກ່ອນທີ່ຈະອີງໃສ່ຂໍ້ມູນໃດໆທີ່ຈັດພີມມາແລະກ່ອນທີ່ຈະວາງຄໍາສັ່ງສໍາລັບຜະລິດຕະພັນຫຼືການບໍລິການ. *ຊື່ ແລະຍີ່ຫໍ້ອື່ນໆອາດຈະຖືກອ້າງວ່າເປັນຊັບສິນຂອງຄົນອື່ນ.
ISO 9001:2015 ລົງທະບຽນ
2. LPM_COUNTER (Counter) IP Core
683490 | 2020.10.05
2.2. Verilog HDL Prototype
ຕົ້ນແບບ Verilog HDL ຕໍ່ໄປນີ້ແມ່ນຕັ້ງຢູ່ໃນ Verilog Design File (.v) lpm.v ໃນ ໄດເລກະທໍລີ edasynthesis.
module lpm_counter ( q, ຂໍ້ມູນ, ໂມງ, cin, cout, clk_en, cnt_en, updown, aset, aclr, aload, sset, sclr, sload, eq ); ພາຣາມິເຕີ lpm_type = “lpm_counter”; ພາຣາມິເຕີ lpm_width = 1; ພາຣາມິເຕີ lpm_modulus = 0; ພາຣາມິເຕີ lpm_direction = “ບໍ່ໄດ້ໃຊ້”; ພາຣາມິເຕີ lpm_avalue = “ບໍ່ໄດ້ໃຊ້”; ພາຣາມິເຕີ lpm_svalue = “ບໍ່ໄດ້ໃຊ້”; ພາຣາມິເຕີ lpm_pvalue = “ບໍ່ໄດ້ໃຊ້”; ພາຣາມິເຕີ lpm_port_updown = “PORT_CONNECTIVITY”; ພາຣາມິເຕີ lpm_hint = “ບໍ່ໄດ້ໃຊ້”; ຜົນຜະລິດ [lpm_width-1:0] q; cout ຜົນຜະລິດ; ຜົນຜະລິດ [15:0] eq; input cin; input [lpm_width-1:0] ຂໍ້ມູນ; ໂມງປ້ອນຂໍ້ມູນ, clk_en, cnt_en, updown; input asset, aclr, aload; input sset,sclr,sload; ໂມດູນສຸດທ້າຍ
2.3. ການປະກາດອົງປະກອບ VHDL
ການປະກາດອົງປະກອບ VHDL ແມ່ນຢູ່ໃນ VHDL Design File (.vhd) LPM_PACK.vhd ໃນ librariesvhdllpm ໄດເລກະທໍລີ.
ອົງປະກອບ 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: LPMECT_PORTITY ; port (DATA : in std_logic_vector(LPM_WIDTH-1 ລົງໄປຫາ 0):= (OTHERS =>
'0'); ໂມງ : ໃນ std_logic ; CLK_EN : ໃນ std_logic := '1'; CNT_EN : ໃນ std_logic := '1'; UPDOWN : ໃນ std_logic := '1'; SLOAD : ໃນ std_logic := '0'; SSET : ໃນ std_logic := '0'; SCLR : ໃນ std_logic := '0'; ALOAD : ໃນ std_logic := '0'; ASET : ໃນ std_logic := '0'; ACLR : ໃນ std_logic := '0'; CIN : ໃນ std_logic := '1'; COUT : ອອກ std_logic := '0'; Q : ອອກ std_logic_vector(LPM_WIDTH-1 ລົງຫາ 0); EQ : out std_logic_vector(15 downto 0));
ອົງປະກອບທ້າຍ;
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 8
ສົ່ງຄຳຕິຊົມ
2. LPM_COUNTER (Counter) IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
2.4. ການປະກາດ VHDL LIBRARY_USE
ການປະກາດ VHDL LIBRARY-USE ແມ່ນບໍ່ຈໍາເປັນຖ້າທ່ານໃຊ້ການປະກາດອົງປະກອບ VHDL.
ຫໍສະໝຸດ lpm; ໃຊ້ lpm.lpm_components.all;
2.5. ທ່າເຮືອ
ຕາຕະລາງຕໍ່ໄປນີ້ສະແດງລາຍການຜອດຂາເຂົ້າ ແລະຂາອອກສຳລັບຫຼັກ IP LPM_COUNTER.
ຕາຕະລາງ 2.
LPM_COUNTER ຜອດຂາເຂົ້າ
ຊື່ຜອດ
ຕ້ອງການ
ລາຍລະອຽດ
ຂໍ້ມູນ[]
ບໍ່
ການປ້ອນຂໍ້ມູນຂະໜານໃສ່ຕົວນັບ. ຂະໜາດຂອງຜອດປ້ອນຂໍ້ມູນແມ່ນຂຶ້ນກັບຄ່າພາລາມິເຕີ LPM_WIDTH.
ໂມງ
ແມ່ນແລ້ວ
ການປ້ອນຂໍ້ມູນໂມງທີ່ມີຂອບທາງບວກ.
clk_en
ບໍ່
ໂມງເປີດການປ້ອນຂໍ້ມູນເພື່ອເປີດໃຊ້ກິດຈະກໍາ synchronous ທັງຫມົດ. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 1.
cnt_en
ບໍ່
Count ເປີດການປ້ອນຂໍ້ມູນເພື່ອປິດການນັບໃນເວລາທີ່ຢືນຢັນຕ່ໍາໂດຍບໍ່ມີການຜົນກະທົບຕໍ່ sload, sset, ຫຼື sclr. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 1.
ຂຶ້ນລົງ
ບໍ່
ຄວບຄຸມທິດທາງຂອງການນັບ. ເມື່ອຢືນຢັນສູງ (1), ທິດທາງການນັບຂຶ້ນ, ແລະເມື່ອຢືນຢັນຕໍ່າ (0), ທິດທາງການນັບລົງ. ຖ້າພາລາມິເຕີ LPM_DIRECTION ຖືກໃຊ້, ຜອດຂຶ້ນລົງບໍ່ສາມາດເຊື່ອມຕໍ່ໄດ້. ຖ້າ LPM_DIRECTION ບໍ່ໄດ້ໃຊ້, ຜອດຂຶ້ນລົງເປັນທາງເລືອກ. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນຂຶ້ນ (1).
ຊິນ
ບໍ່
ພົກພາເຂົ້າກັບບິດທີ່ສັ່ງຕໍ່າ. ສໍາລັບ counters, ພຶດຕິກໍາຂອງການປ້ອນ cin ແມ່ນ
ຄືກັນກັບພຶດຕິກໍາຂອງການປ້ອນຂໍ້ມູນ cnt_en. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 1
(VCC).
aclr
ບໍ່
ການປ້ອນຂໍ້ມູນແບບອະຊິດໂຄຣນັສທີ່ຈະແຈ້ງ. ຖ້າທັງສອງ aset ແລະ aclr ຖືກໃຊ້ແລະຢືນຢັນ, aclr overrides asset. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 0 (ປິດໃຊ້ງານ).
ຊັບສິນ
ບໍ່
ການປ້ອນຂໍ້ມູນຊຸດ Asynchronous. ລະບຸຜົນຜະລິດ q[] ເປັນ 1s ທັງໝົດ, ຫຼືເປັນຄ່າທີ່ລະບຸໂດຍພາລາມິເຕີ LPM_AVALUE. ຖ້າທັງສອງພອດ asset ແລະ aclr ຖືກໃຊ້ ແລະຢືນຢັນ, ມູນຄ່າຂອງພອດ aclr overrides ຄ່າຂອງພອດຊັບສິນ. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 0, ປິດໃຊ້ງານ.
ໂຫຼດ
ບໍ່
ການປ້ອນຂໍ້ມູນການໂຫຼດແບບ Asynchronous ທີ່ໂຫຼດຕົວນັບແບບບໍ່ກົງກັນກັບຄ່າຢູ່ໃນການປ້ອນຂໍ້ມູນ. ເມື່ອພອດ aload ຖືກໃຊ້, ຂໍ້ມູນ[] ພອດຕ້ອງຖືກເຊື່ອມຕໍ່. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 0, ປິດໃຊ້ງານ.
scr
ບໍ່
ການປ້ອນຂໍ້ມູນທີ່ຊັດເຈນ synchronous ທີ່ລ້າງຕົວນັບຢູ່ໃນຂອບໂມງທີ່ເຮັດວຽກຕໍ່ໄປ. ຖ້າທັງສອງພອດ sset ແລະ sclr ຖືກໃຊ້ ແລະຢືນຢັນ, ມູນຄ່າຂອງພອດ sclr ແທນຄ່າຂອງພອດ sset. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 0, ປິດໃຊ້ງານ.
ຕັ້ງ
ບໍ່
ການປ້ອນຂໍ້ມູນຊຸດ synchronous ທີ່ຕັ້ງຕົວນັບຢູ່ໃນຂອບໂມງທີ່ເຮັດວຽກຕໍ່ໄປ. ລະບຸຄ່າຂອງຜົນຜະລິດ q ເປັນ 1s ທັງໝົດ, ຫຼືເປັນຄ່າທີ່ລະບຸໂດຍພາລາມິເຕີ LPM_SVALUE. ຖ້າທັງສອງພອດ sset ແລະ sclr ຖືກໃຊ້ແລະຢືນຢັນ,
ຄ່າຂອງພອດ sclr ແທນຄ່າຂອງພອດ sset. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 0 (ປິດໃຊ້ງານ).
ໂຫຼດ
ບໍ່
synchronous load input ທີ່ໂຫຼດ counter ກັບ data[] ຢູ່ຂອບໂມງທີ່ໃຊ້ງານຕໍ່ໄປ. ເມື່ອພອດ sload ຖືກໃຊ້, ຂໍ້ມູນ[] ພອດຕ້ອງຖືກເຊື່ອມຕໍ່. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 0 (ປິດໃຊ້ງານ).
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 9
2. LPM_COUNTER (Counter) IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ຕາຕະລາງ 3.
ຜອດຂາອອກ LPM_COUNTER
ຊື່ຜອດ
ຕ້ອງການ
ລາຍລະອຽດ
q[]
ບໍ່
ຂໍ້ມູນຜົນຜະລິດຈາກເຄົາເຕີ. ຂະຫນາດຂອງພອດຜົນຜະລິດແມ່ນຂຶ້ນກັບ
ຄ່າພາຣາມິເຕີ LPM_WIDTH. ບໍ່ວ່າຈະ q[] ຫຼືຢ່າງໜ້ອຍໜຶ່ງພອດ eq[15..0]
ຕ້ອງໄດ້ຮັບການເຊື່ອມຕໍ່.
eq[15..0]
ບໍ່
Counter decode output. ພອດ eq[15..0] ບໍ່ສາມາດເຂົ້າເຖິງໄດ້ໃນຕົວແກ້ໄຂພາຣາມິເຕີ ເພາະວ່າພາຣາມິເຕີຮອງຮັບ AHDL ເທົ່ານັ້ນ.
ຈະຕ້ອງເຊື່ອມຕໍ່ພອດ q[] ຫຼື eq[]. ເຖິງ c eq ພອດສາມາດນໍາໃຊ້ໄດ້ (0 <= c <= 15). ພຽງແຕ່ 16 ຄ່າການນັບຕໍ່າສຸດເທົ່ານັ້ນທີ່ຖືກຖອດລະຫັດ. ເມື່ອມູນຄ່າການນັບເປັນ c, ຜົນຜະລິດ eqc ຖືກຢືນຢັນສູງ (1). ຕົວຢ່າງample, ເມື່ອການນັບແມ່ນ 0, eq0 = 1, ເມື່ອການນັບແມ່ນ 1, eq1 = 1, ແລະເມື່ອການນັບແມ່ນ 15, eq 15 = 1. ຜົນຜະລິດທີ່ຖອດລະຫັດສໍາລັບຄ່ານັບຂອງ 16 ຫຼືຫຼາຍກວ່ານັ້ນຕ້ອງການການຖອດລະຫັດພາຍນອກ. ຜົນໄດ້ຮັບຂອງ eq[15..0] ແມ່ນ asynchronous ກັບຜົນຜະລິດ q[].
cout
ບໍ່
ພອດປະຕິບັດຂອງບິດ MSB ຂອງເຄົາເຕີ. ມັນສາມາດໃຊ້ເພື່ອເຊື່ອມຕໍ່ກັບເຄົາເຕີອື່ນເພື່ອສ້າງເຄົາເຕີທີ່ໃຫຍ່ກວ່າ.
2.6. ພາລາມິເຕີ
ຕາຕະລາງຕໍ່ໄປນີ້ລາຍຊື່ຕົວກໍານົດການສໍາລັບ LPM_COUNTER IP core.
ຕາຕະລາງ 4.
LPM_COUNTER ພາຣາມິເຕີ
ຊື່ພາລາມິເຕີ
ປະເພດ
LPM_WIDTH
ຈຳນວນເຕັມ
LPM_DIRECTION
ສາຍ
LPM_MODULUS LPM_AVALUE
ຈຳນວນເຕັມ
ຈຳນວນເຕັມ/ String
LPM_SVALUE LPM_HINT
ຈຳນວນເຕັມ/ String
ສາຍ
LPM_TYPE
ສາຍ
ຕ້ອງການ ແມ່ນ ບໍ່ ບໍ່ ບໍ່
ບໍ່ມີ No
ບໍ່
ລາຍລະອຽດ
ລະບຸຄວາມກວ້າງຂອງຂໍ້ມູນ[] ແລະ q[] ພອດ, ຖ້າພວກມັນຖືກໃຊ້.
ຄ່າແມ່ນຂຶ້ນ, ລົງ, ແລະບໍ່ໄດ້ໃຊ້. ຖ້າພາລາມິເຕີ LPM_DIRECTION ຖືກໃຊ້, ຜອດຂຶ້ນລົງບໍ່ສາມາດເຊື່ອມຕໍ່ໄດ້. ເມື່ອຜອດຂຶ້ນລົງບໍ່ໄດ້ເຊື່ອມຕໍ່, ຄ່າເລີ່ມຕົ້ນຂອງພາຣາມິເຕີ LPM_DIRECTION ແມ່ນ UP.
ການນັບສູງສຸດ, ບວກຫນຶ່ງ. ຈຳນວນຂອງສະຖານະທີ່ບໍ່ຊ້ຳກັນໃນຮອບວຽນຂອງເຄົາເຕີ. ຖ້າຄ່າການໂຫຼດໃຫຍ່ກວ່າພາລາມິເຕີ LPM_MODULUS, ພຶດຕິກໍາຂອງເຄື່ອງນັບບໍ່ໄດ້ຖືກລະບຸ.
ຄ່າຄົງທີ່ທີ່ຖືກໂຫຼດເມື່ອຊັບສິນຖືກຢືນຢັນສູງ. ຖ້າຄ່າທີ່ລະບຸນັ້ນໃຫຍ່ກວ່າ ຫຼືເທົ່າກັບ , ພຶດຕິກໍາຂອງ counter ແມ່ນລະດັບເຫດຜົນ (X) ທີ່ບໍ່ໄດ້ກໍານົດ, ບ່ອນທີ່ ແມ່ນ LPM_MODULUS, ຖ້າມີ, ຫຼື 2 ^ LPM_WIDTH. Intel ແນະນໍາໃຫ້ທ່ານລະບຸຄ່ານີ້ເປັນຕົວເລກທົດສະນິຍົມສໍາລັບການອອກແບບ AHDL.
ມູນຄ່າຄົງທີ່ທີ່ຖືກໂຫລດຢູ່ໃນຂອບທີ່ເພີ່ມຂຶ້ນຂອງພອດໂມງເມື່ອພອດ sset ຖືກຢືນຢັນສູງ. Intel ແນະນໍາໃຫ້ທ່ານລະບຸຄ່ານີ້ເປັນຕົວເລກທົດສະນິຍົມສໍາລັບການອອກແບບ AHDL.
ເມື່ອທ່ານສ້າງຫ້ອງສະໝຸດຂອງໂມດູນຕົວກໍານົດການ (LPM) ຟັງຊັນໃນ VHDL Design File (.vhd), ທ່ານຕ້ອງໃຊ້ພາລາມິເຕີ LPM_HINT ເພື່ອລະບຸພາຣາມິເຕີສະເພາະ Intel. ຕົວຢ່າງample: LPM_HINT = “CHAIN_SIZE = 8, ONE_INPUT_IS_CONSTANT = ແມ່ນ”
ຄ່າເລີ່ມຕົ້ນແມ່ນບໍ່ໄດ້ໃຊ້.
ກໍານົດຫ້ອງສະຫມຸດຂອງ parameterized modules (LPM) entity ຊື່ໃນການອອກແບບ VHDL files.
ສືບຕໍ່…
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 10
ສົ່ງຄຳຕິຊົມ
2. LPM_COUNTER (Counter) IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ຊື່ພາຣາມິເຕີ INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN
ພິມ String String
ສາຍ
ສາຍ
ຕ້ອງການ No No
ບໍ່
ບໍ່
ລາຍລະອຽດ
ພາລາມິເຕີນີ້ຖືກນໍາໃຊ້ສໍາລັບຈຸດປະສົງການຈໍາລອງແລະພຶດຕິກໍາການຈໍາລອງ. ພາລາມິເຕີນີ້ຖືກນໍາໃຊ້ສໍາລັບຈຸດປະສົງການຈໍາລອງແລະພຶດຕິກໍາການຈໍາລອງ. ຕົວແກ້ໄຂພາລາມິເຕີຄິດໄລ່ຄ່າສໍາລັບພາລາມິເຕີນີ້.
ຕົວກໍານົດການສະເພາະຂອງ Intel. ທ່ານຕ້ອງໃຊ້ພາຣາມິເຕີ LPM_HINT ເພື່ອລະບຸພາຣາມິເຕີ CARRY_CNT_EN ໃນການອອກແບບ VHDL files. ຄ່າແມ່ນ SMART, ເປີດ, ປິດ, ແລະບໍ່ໄດ້ໃຊ້. ເປີດໃຊ້ຟັງຊັນ LPM_COUNTER ເພື່ອກະຈາຍສັນຍານ cnt_en ຜ່ານຕ່ອງໂສ້ພົກພາ. ໃນບາງກໍລະນີ, ການຕັ້ງຄ່າພາລາມິເຕີ CARRY_CNT_EN ອາດຈະມີຜົນກະທົບເລັກນ້ອຍຕໍ່ຄວາມໄວ, ດັ່ງນັ້ນທ່ານອາດຈະຕ້ອງການປິດມັນ. ຄ່າເລີ່ມຕົ້ນແມ່ນ SMART, ເຊິ່ງສະຫນອງການຊື້ຂາຍທີ່ດີທີ່ສຸດລະຫວ່າງຂະຫນາດແລະຄວາມໄວ.
ຕົວກໍານົດການສະເພາະຂອງ Intel. ທ່ານຕ້ອງໃຊ້ພາລາມິເຕີ LPM_HINT ເພື່ອລະບຸພາລາມິເຕີ LABWIDE_SCLR ໃນການອອກແບບ VHDL fileດ. ຄ່າແມ່ນເປີດ, ປິດ, ຫຼືບໍ່ໄດ້ໃຊ້. ຄ່າເລີ່ມຕົ້ນແມ່ນເປີດ. ອະນຸຍາດໃຫ້ທ່ານປິດການນໍາໃຊ້ຄຸນນະສົມບັດ LABwide scr ທີ່ພົບເຫັນຢູ່ໃນຄອບຄົວອຸປະກອນທີ່ລ້າສະໄຫມ. ການປິດຕົວເລືອກນີ້ເພີ່ມໂອກາດຂອງການໃຊ້ LAB ເຕັມບາງສ່ວນ, ແລະດັ່ງນັ້ນອາດຈະເຮັດໃຫ້ຄວາມຫນາແຫນ້ນຂອງເຫດຜົນສູງຂື້ນເມື່ອ SCLR ບໍ່ໄດ້ນໍາໃຊ້ກັບ LAB ທີ່ສົມບູນ. ພາລາມິເຕີນີ້ມີໃຫ້ສໍາລັບຄວາມເຂົ້າກັນໄດ້ໃນດ້ານຫລັງ, ແລະ Intel ແນະນໍາໃຫ້ທ່ານບໍ່ໃຊ້ພາລາມິເຕີນີ້.
ລະບຸການນຳໃຊ້ຜອດປ້ອນຂໍ້ມູນຂຶ້ນລົງ. ຖ້າລະເວັ້ນຄ່າເລີ່ມຕົ້ນແມ່ນ PORT_CONNECTIVITY. ເມື່ອຄ່າພອດຖືກຕັ້ງເປັນ PORT_USED, ພອດຈະຖືກປະຕິບັດຕາມທີ່ໃຊ້. ເມື່ອຄ່າພອດຖືກຕັ້ງເປັນ PORT_UNUSED, ພອດຈະຖືກຖືວ່າບໍ່ໄດ້ໃຊ້. ເມື່ອຄ່າພອດຖືກຕັ້ງເປັນ PORT_CONNECTIVITY, ການນຳໃຊ້ພອດແມ່ນກຳນົດໂດຍການກວດສອບການເຊື່ອມຕໍ່ຜອດ.
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 11
683490 | 2020.10.05 ສົ່ງຄຳຕິຊົມ
3. LPM_DIVIDE (Divider) Intel FPGA IP Core
ຮູບທີ 2.
LPM_DIVIDE Intel FPGA IP core ປະຕິບັດຕົວແບ່ງເພື່ອແບ່ງຄ່າການປ້ອນຂໍ້ມູນຕົວເລກໂດຍຄ່າຕົວຫານຂອງຕົວຫານເພື່ອຜະລິດຜົນຄູນແລະສ່ວນທີ່ເຫຼືອ.
ຕົວເລກຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນພອດສໍາລັບ LPM_DIVIDE IP core.
ຜອດ LPM_DIVIDE
LPM_DIVIDE
numer[] denom[] ໂມງ
quotient[] ຍັງຄົງຢູ່[]
clken aclr
inst
3.1. ຄຸນສົມບັດ
ຫຼັກ IP LPM_DIVIDE ສະເໜີລັກສະນະຕໍ່ໄປນີ້: · ສ້າງຕົວຫານທີ່ແບ່ງຄ່າການປ້ອນຂໍ້ມູນຕົວເລກໂດຍການປ້ອນຕົວຫານ.
ມູນຄ່າເພື່ອຜະລິດ quotient ແລະສ່ວນທີ່ເຫຼືອ. ·ຮອງຮັບຄວາມກວ້າງຂອງຂໍ້ມູນ 1 bits. · ສະຫນັບສະຫນູນຮູບແບບການສະແດງຂໍ້ມູນທີ່ມີລາຍເຊັນ ແລະບໍ່ໄດ້ເຊັນສໍາລັບທັງຕົວເລກ
ແລະຄ່າຕົວຫານ. ·ສະຫນັບສະຫນູນພື້ນທີ່ຫຼືການເພີ່ມປະສິດທິພາບຄວາມໄວ. ·ໃຫ້ທາງເລືອກໃນການລະບຸຜົນຜະລິດທີ່ຍັງເຫຼືອໃນທາງບວກ. · ຮອງຮັບການຊັກຊ້າຂອງຜົນຜະລິດທີ່ສາມາດກຳນົດຄ່າທໍ່ໄດ້. ·ສະຫນັບສະຫນູນ asynchronous ທາງເລືອກທີ່ຈະແຈ້ງແລະໂມງເປີດພອດ.
3.2. Verilog HDL Prototype
ຕົ້ນແບບ Verilog HDL ຕໍ່ໄປນີ້ແມ່ນຕັ້ງຢູ່ໃນ Verilog Design File (.v) lpm.v ໃນ ໄດເລກະທໍລີ edasynthesis.
ໂມດູນ lpm_divide ( quotient, ຍັງ, ຕົວເລກ, denom, ໂມງ, clken, aclr); ພາຣາມິເຕີ lpm_type = “lpm_divide”; ພາຣາມິເຕີ lpm_widthn = 1; ພາຣາມິເຕີ lpm_widthd = 1; ພາຣາມິເຕີ lpm_nrepresentation = “ບໍ່ໄດ້ເຊັນ”; ພາຣາມິເຕີ lpm_drepresentation = “ບໍ່ໄດ້ເຊັນ”; ພາຣາມິເຕີ lpm_remainderpositive = “TRUE”; ພາລາມິເຕີ lpm_pipeline = 0;
ບໍລິສັດ Intel. ສະຫງວນລິຂະສິດທັງໝົດ. Intel, ໂລໂກ້ Intel, ແລະເຄື່ອງໝາຍ Intel ອື່ນໆແມ່ນເຄື່ອງໝາຍການຄ້າຂອງ Intel Corporation ຫຼືບໍລິສັດຍ່ອຍຂອງມັນ. Intel ຮັບປະກັນປະສິດທິພາບຂອງຜະລິດຕະພັນ FPGA ແລະ semiconductor ຂອງຕົນຕໍ່ກັບຂໍ້ມູນຈໍາເພາະໃນປະຈຸບັນໂດຍສອດຄ່ອງກັບການຮັບປະກັນມາດຕະຖານຂອງ Intel, ແຕ່ສະຫງວນສິດທີ່ຈະປ່ຽນແປງຜະລິດຕະພັນແລະການບໍລິການໄດ້ທຸກເວລາໂດຍບໍ່ມີການແຈ້ງການ. Intel ຖືວ່າບໍ່ມີຄວາມຮັບຜິດຊອບ ຫຼືຄວາມຮັບຜິດຊອບທີ່ເກີດຂຶ້ນຈາກແອັບພລິເຄຊັນ ຫຼືການນຳໃຊ້ຂໍ້ມູນ, ຜະລິດຕະພັນ, ຫຼືບໍລິການໃດໜຶ່ງທີ່ໄດ້ອະທິບາຍໄວ້ໃນນີ້ ຍົກເວັ້ນຕາມທີ່ໄດ້ຕົກລົງຢ່າງຈະແຈ້ງໃນລາຍລັກອັກສອນໂດຍ Intel. ລູກຄ້າ Intel ໄດ້ຮັບຄໍາແນະນໍາໃຫ້ໄດ້ຮັບສະບັບຫລ້າສຸດຂອງຂໍ້ມູນຈໍາເພາະຂອງອຸປະກອນກ່ອນທີ່ຈະອີງໃສ່ຂໍ້ມູນໃດໆທີ່ຈັດພີມມາແລະກ່ອນທີ່ຈະວາງຄໍາສັ່ງສໍາລັບຜະລິດຕະພັນຫຼືການບໍລິການ. *ຊື່ ແລະຍີ່ຫໍ້ອື່ນໆອາດຈະຖືກອ້າງວ່າເປັນຊັບສິນຂອງຄົນອື່ນ.
ISO 9001:2015 ລົງທະບຽນ
3. LPM_DIVIDE (Divider) Intel FPGA IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ພາຣາມິເຕີ lpm_hint = “ບໍ່ໄດ້ໃຊ້”; ໂມງປ້ອນຂໍ້ມູນ; input clken; input aclr; input [lpm_widthn-1:0] ຕົວເລກ; input [lpm_widthd-1:0] denom; ຜົນຜະລິດ [lpm_widthn-1:0] quotient; ຜົນຜະລິດ [lpm_widthd-1:0] ຍັງຄົງຢູ່; ໂມດູນສຸດທ້າຍ
3.3. ການປະກາດອົງປະກອບ VHDL
ການປະກາດອົງປະກອບ VHDL ແມ່ນຢູ່ໃນ VHDL Design File (.vhd) LPM_PACK.vhd ໃນ librariesvhdllpm ໄດເລກະທໍລີ.
ອົງປະກອບ LPM_DIVIDE ທົ່ວໄປ (LPM_WIDTHN : ທໍາມະຊາດ; LPM_WIDTHD : ທໍາມະຊາດ;
LPM_NREPRESENTATION : string := “UNSIGNED”; LPM_DREPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : ທໍາມະຊາດ := 0; LPM_TYPE : string := L_DIVIDE; LPM_HINT : string := “ບໍ່ໄດ້ໃຊ້”); port (NUMER : in std_logic_vector(LPM_WIDTHN-1 ລົງໄປຫາ 0); DENOM : in std_logic_vector(LPM_WIDTHD-1 ລົງຫາ 0); ACLR : in std_logic := '0'; CLOCK : in std_logic := '0'; := '1'; ອົງປະກອບທ້າຍ;
3.4. ການປະກາດ VHDL LIBRARY_USE
ການປະກາດ VHDL LIBRARY-USE ແມ່ນບໍ່ຈໍາເປັນຖ້າທ່ານໃຊ້ການປະກາດອົງປະກອບ VHDL.
ຫໍສະໝຸດ lpm; ໃຊ້ lpm.lpm_components.all;
3.5. ທ່າເຮືອ
ຕາຕະລາງຕໍ່ໄປນີ້ລາຍຊື່ຜອດຂາເຂົ້າ ແລະຂາອອກສຳລັບຫຼັກ IP LPM_DIVIDE.
ຕາຕະລາງ 5.
ຜອດປ້ອນຂໍ້ມູນ LPM_DIVIDE
ຊື່ຜອດ
ຕ້ອງການ
ຕົວເລກ[]
ແມ່ນແລ້ວ
ນາມ[]
ແມ່ນແລ້ວ
ລາຍລະອຽດ
ການປ້ອນຂໍ້ມູນຕົວເລກ. ຂະໜາດຂອງຜອດປ້ອນຂໍ້ມູນແມ່ນຂຶ້ນກັບຄ່າພາລາມິເຕີ LPM_WIDTHN.
ການປ້ອນຂໍ້ມູນຕົວຫານ. ຂະໜາດຂອງຜອດປ້ອນຂໍ້ມູນແມ່ນຂຶ້ນກັບຄ່າພາລາມິເຕີ LPM_WIDTHD.
ສືບຕໍ່…
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 13
3. LPM_DIVIDE (Divider) Intel FPGA IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
Port ຊື່ໂມງ clken
aclr
ຕ້ອງການ No No
ບໍ່
ລາຍລະອຽດ
ການປ້ອນຂໍ້ມູນໂມງສໍາລັບການນໍາໃຊ້ທໍ່. ສຳລັບຄ່າ LPM_PIPELINE ນອກເໜືອໄປຈາກ 0 (ຄ່າເລີ່ມຕົ້ນ), ພອດໂມງຕ້ອງຖືກເປີດໃຊ້ງານ.
ໂມງເປີດການນຳໃຊ້ແບບທໍ່. ເມື່ອພອດ clken ຖືກຢືນຢັນສູງ, ການປະຕິບັດການແບ່ງສ່ວນເກີດຂຶ້ນ. ເມື່ອສັນຍານຕໍ່າ, ບໍ່ມີການດໍາເນີນການໃດໆ. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 1.
ຜອດທີ່ຈະແຈ້ງແບບອະຊິງໂຄນທີ່ໃຊ້ໄດ້ທຸກເວລາເພື່ອຣີເຊັດທໍ່ກັບທຸກ '0's asynchronously ກັບອິນພຸດໂມງ.
ຕາຕະລາງ 6.
ຜອດຜົນຜະລິດ LPM_DIVIDE
ຊື່ຜອດ
ຕ້ອງການ
ລາຍລະອຽດ
quotient[]
ແມ່ນແລ້ວ
ຂໍ້ມູນຜົນຜະລິດ. ຂະໜາດຂອງຜອດຜົນຜະລິດແມ່ນຂຶ້ນກັບ LPM_WIDTHN
ຄ່າພາລາມິເຕີ.
ຄົງຢູ່[]
ແມ່ນແລ້ວ
ຂໍ້ມູນຜົນຜະລິດ. ຂະໜາດຂອງຜອດຜົນຜະລິດແມ່ນຂຶ້ນກັບ LPM_WIDTHD
ຄ່າພາລາມິເຕີ.
3.6. ພາລາມິເຕີ
ຕາຕະລາງຕໍ່ໄປນີ້ລາຍຊື່ຕົວກໍານົດການສໍາລັບ LPM_DIVIDE Intel FPGA IP core.
ຊື່ພາລາມິເຕີ
ປະເພດ
ຕ້ອງການ
ລາຍລະອຽດ
LPM_WIDTHN
ຈຳນວນເຕັມ
ແມ່ນແລ້ວ
ລະບຸຄວາມກວ້າງຂອງຕົວເລກ[] ແລະ
ຜອດ quotient[]. ຄ່າແມ່ນ 1 ຫາ 64.
LPM_WIDTHD
ຈຳນວນເຕັມ
ແມ່ນແລ້ວ
ລະບຸຄວາມກວ້າງຂອງຕົວຫານ[] ແລະ
ຍັງຢູ່[] ພອດ. ຄ່າແມ່ນ 1 ຫາ 64.
LPM_NREPRESENTATION LPM_DREPRESENTATION
ສາຍເຊືອກ
ບໍ່
ສັນຍາລັກເປັນຕົວແທນຂອງຕົວເລກທີ່ປ້ອນເຂົ້າ.
ຄ່າຖືກເຊັນ ແລະບໍ່ໄດ້ເຊັນ. ເມື່ອນີ້
ພາລາມິເຕີຖືກຕັ້ງເປັນ SIGNED, ຕົວແບ່ງ
ແປການປ້ອນຂໍ້ມູນຕົວເລກ [] ເປັນສອງເຊັນ
ເສີມ.
ບໍ່
ເຊັນການເປັນຕົວແທນຂອງຕົວຫານປ້ອນຂໍ້ມູນ.
ຄ່າຖືກເຊັນ ແລະບໍ່ໄດ້ເຊັນ. ເມື່ອນີ້
ພາລາມິເຕີຖືກຕັ້ງເປັນ SIGNED, ຕົວແບ່ງ
ຕີຄວາມໝາຍການປ້ອນຂໍ້ມູນຂອງຕົວຕົນ[] ເປັນສອງເຊັນ
ເສີມ.
LPM_TYPE
ສາຍ
ບໍ່
ກໍານົດຫ້ອງສະຫມຸດຂອງ parameterized
ໂມດູນ (LPM) ຊື່ນິຕິບຸກຄົນໃນການອອກແບບ VHDL
files (.vhd).
LPM_HINT
ສາຍ
ບໍ່
ໃນເວລາທີ່ທ່ານ instantiate ຫ້ອງສະຫມຸດຂອງ
ໂມດູນພາລາມິເຕີ (LPM) ຟັງຊັນໃນ a
ການອອກແບບ VHDL File (.vhd), ທ່ານຕ້ອງໃຊ້
ພາຣາມິເຕີ LPM_HINT ເພື່ອລະບຸ Intel-
ຕົວກໍານົດການສະເພາະ. ຕົວຢ່າງample: LPM_HINT
= “CHAIN_SIZE = 8,
ONE_INPUT_IS_CONSTANT = ແມ່ນ” The
ຄ່າເລີ່ມຕົ້ນແມ່ນບໍ່ໄດ້ໃຊ້.
LPM_REMAINDERPOSITIVE
ສາຍ
ບໍ່
ຕົວກໍານົດການສະເພາະຂອງ Intel. ເຈົ້າຕ້ອງໃຊ້
LPM_HINT ພາລາມິເຕີເພື່ອລະບຸ
LPM_REMAINDERPOSITIVE ພາຣາມິເຕີໃນ
ການອອກແບບ VHDL fileດ. ຄ່າແມ່ນ TRUE ຫຼື FALSE.
ຖ້າພາລາມິເຕີນີ້ຖືກຕັ້ງເປັນ TRUE, ຫຼັງຈາກນັ້ນ
ຄ່າຂອງສ່ວນທີ່ເຫຼືອ[] ພອດຈະຕ້ອງຫຼາຍກວ່າ
ສືບຕໍ່…
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 14
ສົ່ງຄຳຕິຊົມ
3. LPM_DIVIDE (Divider) Intel FPGA IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ຊື່ພາລາມິເຕີ
ປະເພດ
MAXIMIZE_SPEED
ຈຳນວນເຕັມ
LPM_PIPELINE
ຈຳນວນເຕັມ
INTENDED_DEVICE_FAMILY ຂ້າມ_BITS
String Integer
ຕ້ອງການ No
ບໍ່ມີ No No
ລາຍລະອຽດ
ຫຼາຍກ່ວາຫຼືເທົ່າກັບສູນ. ຖ້າພາລາມິເຕີນີ້ຖືກຕັ້ງເປັນ TRUE, ມູນຄ່າຂອງພອດທີ່ຍັງເຫຼືອ[] ຈະເປັນສູນ, ຫຼືຄ່າແມ່ນສັນຍານດຽວກັນ, ທັງບວກຫຼືລົບ, ເປັນຄ່າຂອງພອດຕົວເລກ. ເພື່ອຫຼຸດຜ່ອນພື້ນທີ່ແລະປັບປຸງຄວາມໄວ, Intel ແນະນໍາໃຫ້ຕັ້ງພາລາມິເຕີນີ້ເປັນ TRUE ໃນການດໍາເນີນງານທີ່ສ່ວນທີ່ເຫຼືອຕ້ອງເປັນບວກຫຼືບ່ອນທີ່ສ່ວນທີ່ເຫຼືອບໍ່ສໍາຄັນ.
ຕົວກໍານົດການສະເພາະຂອງ Intel. ທ່ານຕ້ອງໃຊ້ພາລາມິເຕີ LPM_HINT ເພື່ອລະບຸພາລາມິເຕີ MAXIMIZE_SPEED ໃນການອອກແບບ VHDL fileດ. ຄ່າແມ່ນ [0..9]. ຖ້າຖືກນໍາໃຊ້, ຊອບແວ Intel Quartus Prime ພະຍາຍາມເພີ່ມປະສິດທິພາບສະເພາະຂອງຟັງຊັນ LPM_DIVIDE ສໍາລັບຄວາມໄວແທນທີ່ຈະເປັນເສັ້ນທາງ, ແລະ overrides ການຕັ້ງຄ່າຂອງທາງເລືອກຕາມເຫດຜົນຂອງ Optimization Technique. ຖ້າ MAXIMIZE_SPEED ບໍ່ໄດ້ໃຊ້, ຄ່າຂອງຕົວເລືອກເຕັກນິກການເພີ່ມປະສິດທິພາບຈະຖືກໃຊ້ແທນ. ຖ້າຄ່າຂອງ MAXIMIZE_SPEED ແມ່ນ 6 ຫຼືສູງກວ່າ, Compiler ຈະປັບແຕ່ງຫຼັກ IP LPM_DIVIDE ສໍາລັບຄວາມໄວທີ່ສູງຂຶ້ນໂດຍການໃຊ້ຕ່ອງໂສ້ພົກພາ; ຖ້າຄ່າແມ່ນ 5 ຫຼືນ້ອຍກວ່າ, compiler ປະຕິບັດການອອກແບບໂດຍບໍ່ມີສາຍໂສ້.
ລະບຸຈໍານວນຮອບວຽນໂມງຂອງເວລາແພັກເກັດທີ່ເຊື່ອມໂຍງກັບ quotient[] ແລະຍັງຄົງຢູ່[] outputs. ຄ່າຂອງສູນ (0) ຊີ້ບອກວ່າບໍ່ມີເວລາ latency, ແລະຟັງຊັນປະສົມປະສານຢ່າງດຽວແມ່ນທັນທີ. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 0 (ບໍ່ມີທໍ່). ທ່ານບໍ່ສາມາດລະບຸຄ່າສໍາລັບພາຣາມິເຕີ LPM_PIPELINE ທີ່ສູງກວ່າ LPM_WIDTHN ໄດ້.
ພາລາມິເຕີນີ້ຖືກນໍາໃຊ້ສໍາລັບຈຸດປະສົງການຈໍາລອງແລະພຶດຕິກໍາການຈໍາລອງ. ຕົວແກ້ໄຂພາລາມິເຕີຄິດໄລ່ຄ່າສໍາລັບພາລາມິເຕີນີ້.
ອະນຸຍາດໃຫ້ມີການແບ່ງສ່ວນເສດສ່ວນທີ່ມີປະສິດຕິພາບຫຼາຍຂຶ້ນເພື່ອປັບແຕ່ງເຫດຜົນໃນບິດຊັ້ນນໍາໂດຍການສະຫນອງຈໍານວນ GND ນໍາຫນ້າໃຫ້ກັບ LPM_DIVIDE IP core. ລະບຸຈໍານວນຂອງ GND ນໍາຫນ້າໃນຜົນອອກຂອງ quotient ກັບພາລາມິເຕີນີ້.
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 15
683490 | 2020.10.05 ສົ່ງຄຳຕິຊົມ
4. LPM_MULT (ຕົວຄູນ) IP Core
ຮູບທີ 3.
ຫຼັກ LPM_MULT IP ປະຕິບັດຕົວຄູນເພື່ອຄູນສອງຄ່າຂໍ້ມູນປ້ອນເຂົ້າເພື່ອຜະລິດຜະລິດຕະພັນເປັນຜົນຜະລິດ.
ຕົວເລກຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນພອດສໍາລັບ LPM_MULT IP core.
LPM_Mult Ports
LPM_MULT clock dataa[] results[] datab[] aclr/sclr clken
inst
ຄຸນສົມບັດຂໍ້ມູນທີ່ກ່ຽວຂ້ອງໃນໜ້າ 71
4.1. ຄຸນສົມບັດ
ຫຼັກ LPM_MULT IP ສະເໜີຄຸນສົມບັດດັ່ງນີ້: · ສ້າງຕົວຄູນທີ່ຄູນສອງຄ່າຂໍ້ມູນປ້ອນເຂົ້າ · ຮອງຮັບຄວາມກວ້າງຂອງຂໍ້ມູນ 1 ບິດ · ຮອງຮັບຮູບແບບການສະແດງຂໍ້ມູນທີ່ມີລາຍເຊັນ ແລະບໍ່ໄດ້ເຊັນ · ຮອງຮັບພື້ນທີ່ ຫຼືການເພີ່ມປະສິດທິພາບຄວາມໄວ · ຮອງຮັບການວາງທໍ່ກັບຄວາມໜຽວຂອງຜົນຜະລິດທີ່ສາມາດກຳນົດໄດ້ · ສະໜອງ ທາງເລືອກສໍາລັບການປະຕິບັດໃນການປະມວນຜົນສັນຍານດິຈິຕອນອຸທິດ (DSP)
ວົງຈອນຕັນ ຫຼືອົງປະກອບຕາມເຫດຜົນ (LEs) ໝາຍເຫດ: ເມື່ອສ້າງຕົວຄູນໃຫຍ່ກວ່າຂະໜາດທີ່ຮອງຮັບໂດຍເດີມ ອາດມີ/
ຈະເປັນຜົນກະທົບດ້ານການປະຕິບັດທີ່ເປັນຜົນມາຈາກ cascading ຂອງຕັນ DSP. · ຮອງຮັບທາງເລືອກທີ່ບໍ່ຊິ້ງໂຄ້ງທີ່ຊັດເຈນ ແລະໂມງເປີດຜອດປ້ອນຂໍ້ມູນ · ຮອງຮັບການຊິງໂຄຣນັສທີ່ຊັດເຈນສຳລັບອຸປະກອນ Intel Stratix 10, Intel Arria 10 ແລະ Intel Cyclone 10 GX
ບໍລິສັດ Intel. ສະຫງວນລິຂະສິດທັງໝົດ. Intel, ໂລໂກ້ Intel, ແລະເຄື່ອງໝາຍ Intel ອື່ນໆແມ່ນເຄື່ອງໝາຍການຄ້າຂອງ Intel Corporation ຫຼືບໍລິສັດຍ່ອຍຂອງມັນ. Intel ຮັບປະກັນປະສິດທິພາບຂອງຜະລິດຕະພັນ FPGA ແລະ semiconductor ຂອງຕົນຕໍ່ກັບຂໍ້ມູນຈໍາເພາະໃນປະຈຸບັນໂດຍສອດຄ່ອງກັບການຮັບປະກັນມາດຕະຖານຂອງ Intel, ແຕ່ສະຫງວນສິດທີ່ຈະປ່ຽນແປງຜະລິດຕະພັນແລະການບໍລິການໄດ້ທຸກເວລາໂດຍບໍ່ມີການແຈ້ງການ. Intel ຖືວ່າບໍ່ມີຄວາມຮັບຜິດຊອບ ຫຼືຄວາມຮັບຜິດຊອບທີ່ເກີດຂຶ້ນຈາກແອັບພລິເຄຊັນ ຫຼືການນຳໃຊ້ຂໍ້ມູນ, ຜະລິດຕະພັນ, ຫຼືບໍລິການໃດໜຶ່ງທີ່ໄດ້ອະທິບາຍໄວ້ໃນນີ້ ຍົກເວັ້ນຕາມທີ່ໄດ້ຕົກລົງຢ່າງຈະແຈ້ງໃນລາຍລັກອັກສອນໂດຍ Intel. ລູກຄ້າ Intel ໄດ້ຮັບຄໍາແນະນໍາໃຫ້ໄດ້ຮັບສະບັບຫລ້າສຸດຂອງຂໍ້ມູນຈໍາເພາະຂອງອຸປະກອນກ່ອນທີ່ຈະອີງໃສ່ຂໍ້ມູນໃດໆທີ່ຈັດພີມມາແລະກ່ອນທີ່ຈະວາງຄໍາສັ່ງສໍາລັບຜະລິດຕະພັນຫຼືການບໍລິການ. *ຊື່ ແລະຍີ່ຫໍ້ອື່ນໆອາດຈະຖືກອ້າງວ່າເປັນຊັບສິນຂອງຄົນອື່ນ.
ISO 9001:2015 ລົງທະບຽນ
4. LPM_MULT (ຕົວຄູນ) IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
4.2. Verilog HDL Prototype
ຕົ້ນແບບ Verilog HDL ຕໍ່ໄປນີ້ແມ່ນຕັ້ງຢູ່ໃນ Verilog Design File (.v) lpm.v ໃນ ໄດເລກະທໍລີ edasynthesis.
module lpm_mult (ຜົນໄດ້ຮັບ, dataa, datab, sum, ໂມງ, clken, aclr ) ພາຣາມິເຕີ lpm_type = “lpm_mult”; ພາຣາມິເຕີ lpm_widtha = 1; ພາຣາມິເຕີ lpm_widthb = 1; ພາຣາມິເຕີ lpm_widths = 1; ພາຣາມິເຕີ lpm_widthp = 1; ພາຣາມິເຕີ lpm_representation = “ບໍ່ໄດ້ເຊັນ”; ພາລາມິເຕີ lpm_pipeline = 0; ພາຣາມິເຕີ lpm_hint = “ບໍ່ໄດ້ໃຊ້”; ໂມງປ້ອນຂໍ້ມູນ; input clken; input aclr; input [lpm_widtha-1:0] dataa; input [lpm_widthb-1:0] datab; input [lpm_widths-1:0] sum; ຜົນໄດ້ຮັບ [lpm_widthp-1:0] ຜົນໄດ້ຮັບ; ໂມດູນສຸດທ້າຍ
4.3. ການປະກາດອົງປະກອບ VHDL
ການປະກາດອົງປະກອບ VHDL ແມ່ນຢູ່ໃນ VHDL Design File (.vhd) LPM_PACK.vhd ໃນ librariesvhdllpm ໄດເລກະທໍລີ.
ອົງປະກອບ LPM_MULT generic ( LPM_WIDTHA : ທໍາມະຊາດ; LPM_WIDTHB : ທໍາມະຊາດ; LPM_WIDTHS : ທໍາມະຊາດ := 1; LPM_WIDTHP : ທໍາມະຊາດ;
LPM_REPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : ທໍາມະຊາດ := 0; LPM_TYPE: string := L_MULT; LPM_HINT : string := “ບໍ່ໄດ້ໃຊ້”); port ( DATAA : in std_logic_vector(LPM_WIDTHA-1 ລົງໄປຫາ 0); DATAB : in std_logic_vector(LPM_WIDTHB-1 ລົງໄປຫາ 0); ACLR : in std_logic := '0'; CLOCK : in std_logic := '0'; := '1'; ອົງປະກອບທ້າຍ;
4.4. ການປະກາດ VHDL LIBRARY_USE
ການປະກາດ VHDL LIBRARY-USE ແມ່ນບໍ່ຈໍາເປັນຖ້າທ່ານໃຊ້ການປະກາດອົງປະກອບ VHDL.
ຫໍສະໝຸດ lpm; ໃຊ້ lpm.lpm_components.all;
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 17
4. LPM_MULT (ຕົວຄູນ) IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
4.5. ສັນຍານ
ຕາຕະລາງ 7.
LPM_MULT ສັນຍານຂາເຂົ້າ
ຊື່ສັນຍານ
ຕ້ອງການ
ລາຍລະອຽດ
ຂໍ້ມູນ[]
ແມ່ນແລ້ວ
ການປ້ອນຂໍ້ມູນ.
ສໍາລັບອຸປະກອນ Intel Stratix 10, Intel Arria 10, ແລະ Intel Cyclone 10 GX, ຂະຫນາດຂອງສັນຍານປ້ອນຂໍ້ມູນແມ່ນຂຶ້ນກັບຄ່າພາລາມິເຕີຄວາມກວ້າງຂອງ Dataa.
ສໍາລັບອຸປະກອນເກົ່າ ແລະ Intel Cyclone 10 LP, ຂະໜາດຂອງສັນຍານເຂົ້າແມ່ນຂຶ້ນກັບຄ່າພາລາມິເຕີ LPM_WIDTHA.
datab[]
ແມ່ນແລ້ວ
ການປ້ອນຂໍ້ມູນ.
ສໍາລັບອຸປະກອນ Intel Stratix 10, Intel Arria 10, ແລະ Intel Cyclone 10 GX, ຂະຫນາດຂອງສັນຍານປ້ອນຂໍ້ມູນແມ່ນຂຶ້ນກັບຄ່າພາລາມິເຕີຄວາມກວ້າງຂອງ Datab.
ສໍາລັບອຸປະກອນເກົ່າແລະ Intel Cyclone 10 LP, ຂະຫນາດຂອງສັນຍານເຂົ້າແມ່ນຂຶ້ນກັບ
ໃນຄ່າພາຣາມິເຕີ LPM_WIDTHB.
ໂມງ
ບໍ່
ການປ້ອນຂໍ້ມູນໂມງສໍາລັບການນໍາໃຊ້ທໍ່.
ສໍາລັບອຸປະກອນເກົ່າ ແລະ Intel Cyclone 10 LP, ສັນຍານໂມງຕ້ອງຖືກເປີດໃຊ້ງານສໍາລັບຄ່າ LPM_PIPELINE ນອກເໜືອໄປຈາກ 0 (ຄ່າເລີ່ມຕົ້ນ).
ສໍາລັບອຸປະກອນ Intel Stratix 10, Intel Arria 10, ແລະ Intel Cyclone 10 GX, ສັນຍານໂມງຕ້ອງຖືກເປີດໃຊ້ງານຖ້າຄ່າ Latency ເປັນຄ່າອື່ນທີ່ບໍ່ແມ່ນ 1 (ຄ່າເລີ່ມຕົ້ນ).
clken
ບໍ່
ເປີດໃຊ້ໂມງສໍາລັບການນໍາໃຊ້ທໍ່. ເມື່ອສັນຍານ clken ຖືກຢືນຢັນສູງ, ໄດ້
ການດໍາເນີນງານຂອງ adder/subtractor ເກີດຂຶ້ນ. ໃນເວລາທີ່ສັນຍານຕ່ໍາ, ບໍ່ມີການດໍາເນີນງານ
ເກີດຂຶ້ນ. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 1.
aclr sclr
ບໍ່
ສັນຍານທີ່ຊັດເຈນແບບ Asynchronous ໃຊ້ໄດ້ທຸກເວລາເພື່ອຣີເຊັດທໍ່ກັບທັງໝົດ 0s,
asynchronously ກັບສັນຍານໂມງ. ທໍ່ສົ່ງເລີ່ມຕົ້ນເປັນ undefined (X)
ລະດັບເຫດຜົນ. ຜົນໄດ້ຮັບແມ່ນເປັນມູນຄ່າທີ່ສອດຄ່ອງ, ແຕ່ບໍ່ແມ່ນສູນ.
ບໍ່
ສັນຍານທີ່ຊັດເຈນ synchronous ໃຊ້ໄດ້ທຸກເວລາເພື່ອປັບທໍ່ກັບທຸກ 0s,
synchronously ກັບສັນຍານໂມງ. ທໍ່ສົ່ງເລີ່ມຕົ້ນເປັນ undefined (X)
ລະດັບເຫດຜົນ. ຜົນໄດ້ຮັບແມ່ນເປັນມູນຄ່າທີ່ສອດຄ່ອງ, ແຕ່ບໍ່ແມ່ນສູນ.
ຕາຕະລາງ 8.
LPM_MULT ສັນຍານອອກ
ຊື່ສັນຍານ
ຕ້ອງການ
ລາຍລະອຽດ
ຜົນໄດ້ຮັບ[]
ແມ່ນແລ້ວ
ຂໍ້ມູນຜົນຜະລິດ.
ສໍາລັບອຸປະກອນເກົ່າແລະ Intel Cyclone 10 LP, ຂະຫນາດຂອງສັນຍານຜົນຜະລິດແມ່ນຂຶ້ນກັບຄ່າພາລາມິເຕີ LPM_WIDTHP. ຖ້າ LPM_WIDTHP < ສູງສຸດ (LPM_WIDTHA + LPM_WIDTHB, LPM_WIDTHS) ຫຼື (LPM_WIDTHA + LPM_WIDTHS), ມີພຽງ LPM_WIDTHP MSBs ເທົ່ານັ້ນ.
ສໍາລັບ Intel Stratix 10, Intel Arria 10 ແລະ Intel Cyclone 10 GX, ຂະຫນາດຂອງສັນຍານຜົນຜະລິດແມ່ນຂຶ້ນກັບພາລາມິເຕີຄວາມກວ້າງຂອງຜົນໄດ້ຮັບ.
4.6. ພາຣາມິເຕີສຳລັບອຸປະກອນ Stratix V, Arria V, Cyclone V, ແລະ Intel Cyclone 10 LP
4.6.1. ແຖບທົ່ວໄປ
ຕາຕະລາງ 9.
ແຖບທົ່ວໄປ
ພາລາມິເຕີ
ມູນຄ່າ
ການຕັ້ງຄ່າຕົວຄູນ
ຄູນ 'dataa' input ໂດຍ 'datab' input
ຄ່າເລີ່ມຕົ້ນ
ລາຍລະອຽດ
ຄູນ 'dataa' input ໂດຍ 'datab' input
ເລືອກການຕັ້ງຄ່າທີ່ຕ້ອງການສໍາລັບຕົວຄູນ.
ສືບຕໍ່…
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 18
ສົ່ງຄຳຕິຊົມ
4. LPM_MULT (ຕົວຄູນ) IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ພາລາມິເຕີ
ການປ້ອນຂໍ້ມູນ 'dataa' ຄວນກວ້າງເທົ່າໃດ? ການປ້ອນຂໍ້ມູນ 'datab' ຄວນກວ້າງເທົ່າໃດ? ຄວາມກວ້າງຂອງຜົນໄດ້ຮັບ 'ຜົນໄດ້ຮັບ' ຄວນຖືກກໍານົດແນວໃດ? ຈໍາກັດຄວາມກວ້າງ
ມູນຄ່າ
ຄູນ 'dataa' ການປ້ອນຂໍ້ມູນດ້ວຍຕົວມັນເອງ (ການດຳເນີນການສີ່ຫຼ່ຽມ)
1 – 256 bits
ຄ່າເລີ່ມຕົ້ນ
ລາຍລະອຽດ
8 ບິດ
ລະບຸຄວາມກວ້າງຂອງຜອດ dataa[].
1 – 256 bits
8 ບິດ
ລະບຸຄວາມກວ້າງຂອງຜອດ datab[].
ຄິດໄລ່ຄວາມກວ້າງອັດຕະໂນມັດ ຈໍາກັດຄວາມກວ້າງ
1 – 512 bits
ອັດຕະໂນມັດ y ຄິດໄລ່ຄວາມກວ້າງ
ເລືອກວິທີການທີ່ຕ້ອງການເພື່ອກໍານົດຄວາມກວ້າງຂອງຜົນໄດ້ຮັບ[] ພອດ.
16 ບິດ
ລະບຸຄວາມກວ້າງຂອງຜົນໄດ້ຮັບ[] ພອດ.
ຄ່ານີ້ຈະມີຜົນພຽງແຕ່ຖ້າທ່ານເລືອກຈໍາກັດຄວາມກວ້າງໃນພາລາມິເຕີປະເພດ.
4.6.2. ທົ່ວໄປ 2 ແຖບ
ຕາຕະລາງ 10. ທົ່ວໄປ 2 Tab
ພາລາມິເຕີ
ມູນຄ່າ
ຂໍ້ມູນໃສ່ຂໍ້ມູນ
ລົດເມປ້ອນຂໍ້ມູນ 'datab' ມີມູນຄ່າຄົງທີ່ບໍ?
ບໍ່ ແມ່ນ
ປະເພດຄູນ
ປະເພດໃດ
ບໍ່ໄດ້ເຊັນ
ທ່ານຕ້ອງການຄູນ? ເຊັນ
ການຈັດຕັ້ງປະຕິບັດ
ການປະຕິບັດຕົວຄູນອັນໃດຄວນຖືກນໍາໃຊ້?
ໃຊ້ການຈັດຕັ້ງປະຕິບັດໃນຕອນຕົ້ນ
ໃຊ້ວົງຈອນຕົວຄູນສະເພາະ (ບໍ່ສາມາດໃຊ້ໄດ້ກັບທຸກຄອບຄົວ)
ໃຊ້ອົງປະກອບຕາມເຫດຜົນ
ຄ່າເລີ່ມຕົ້ນ
ລາຍລະອຽດ
ບໍ່
ເລືອກແມ່ນແລ້ວເພື່ອລະບຸຄ່າຄົງທີ່ຂອງ
'datab' input bus, ຖ້າມີ.
ບໍ່ໄດ້ເຊັນ
ລະບຸຮູບແບບການເປັນຕົວແທນສໍາລັບທັງ dataa[] ແລະ datab[] inputs.
ໃຊ້ ion ການຈັດຕັ້ງປະຕິບັດມາດຕະຖານ
ເລືອກວິທີການທີ່ຕ້ອງການເພື່ອກໍານົດຄວາມກວ້າງຂອງຜົນໄດ້ຮັບ[] ພອດ.
4.6.3. ແຖບທໍ່
ຕາຕະລາງ 11. ແຖບທໍ່
ພາລາມິເຕີ
ທ່ານຕ້ອງການທໍ່ No
ໜ້າ ທີ່?
ແມ່ນແລ້ວ
ມູນຄ່າ
ສ້າງ 'aclr'
—
ພອດຈະແຈ້ງ asynchronous
ຄ່າເລີ່ມຕົ້ນ
ລາຍລະອຽດ
ບໍ່
ເລືອກ ແມ່ນ ເພື່ອ ເປີດ ໃຊ້ ງານ ລົງ ທະ ບຽນ pipeline ກັບ
ຜົນຜະລິດຂອງຕົວຄູນແລະລະບຸທີ່ຕ້ອງການ
latency ຜົນຜະລິດໃນຮອບວຽນໂມງ. ເຮັດໃຫ້ການ
ລົງ ທະ ບຽນ pipeline ເພີ່ມ latency ພິ ເສດ ກັບ
ຜົນຜະລິດ.
ບໍ່ໄດ້ເລືອກ
ເລືອກຕົວເລືອກນີ້ເພື່ອເປີດໃຊ້ຜອດ aclr ເພື່ອໃຊ້ asynchronous clear ສຳລັບການລົງທະບຽນທໍ່.
ສືບຕໍ່…
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 19
4. LPM_MULT (ຕົວຄູນ) IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ພາລາມິເຕີ
ສ້າງໂມງເປີດ 'clken' ໂມງ
ການເພີ່ມປະສິດທິພາບ
ທ່ານຕ້ອງການການເພີ່ມປະສິດທິພາບປະເພດໃດ?
ມູນຄ່າ —
ພື້ນທີ່ຄວາມໄວເລີ່ມຕົ້ນ
ຄ່າເລີ່ມຕົ້ນ
ລາຍລະອຽດ
ບໍ່ໄດ້ເລືອກ
ລະບຸການເປີດໃຊ້ງານໂມງສູງສໍາລັບຜອດໂມງຂອງການລົງທະບຽນທໍ່
ຄ່າເລີ່ມຕົ້ນ
ລະບຸການເພີ່ມປະສິດທິພາບທີ່ຕ້ອງການສໍາລັບຫຼັກ IP.
ເລືອກຄ່າເລີ່ມຕົ້ນເພື່ອໃຫ້ຊອບແວ Intel Quartus Prime ກໍານົດການເພີ່ມປະສິດທິພາບທີ່ດີທີ່ສຸດສໍາລັບຫຼັກ IP.
4.7. ພາຣາມິເຕີສຳລັບອຸປະກອນ Intel Stratix 10, Intel Arria 10, ແລະ Intel Cyclone 10 GX
4.7.1. ແຖບທົ່ວໄປ
ຕາຕະລາງ 12. ແຖບທົ່ວໄປ
ພາລາມິເຕີ
ມູນຄ່າ
ຄ່າເລີ່ມຕົ້ນ
ລາຍລະອຽດ
ປະເພດການຕັ້ງຄ່າຕົວຄູນ
ຄວາມກວ້າງຂອງຜອດຂໍ້ມູນ
ຄູນ 'dataa' input ໂດຍ 'datab' input
ຄູນ 'dataa' ການປ້ອນຂໍ້ມູນດ້ວຍຕົວມັນເອງ (ການດຳເນີນການສີ່ຫຼ່ຽມ)
ຄູນ 'dataa' input ໂດຍ 'datab' input
ເລືອກການຕັ້ງຄ່າທີ່ຕ້ອງການສໍາລັບຕົວຄູນ.
ຄວາມກວ້າງຂອງຂໍ້ມູນ
1 – 256 bits
8 ບິດ
ລະບຸຄວາມກວ້າງຂອງຜອດ dataa[].
ຄວາມກວ້າງຂອງຖານຂໍ້ມູນ
1 – 256 bits
8 ບິດ
ລະບຸຄວາມກວ້າງຂອງຜອດ datab[].
ຄວາມກວ້າງຂອງຜົນໄດ້ຮັບ 'ຜົນໄດ້ຮັບ' ຄວນຖືກກໍານົດແນວໃດ?
ປະເພດ
ຄິດໄລ່ຄວາມກວ້າງອັດຕະໂນມັດ
ຈໍາກັດຄວາມກວ້າງ
ອັດຕະໂນມັດ y ຄິດໄລ່ຄວາມກວ້າງ
ເລືອກວິທີການທີ່ຕ້ອງການເພື່ອກໍານົດຄວາມກວ້າງຂອງຜົນໄດ້ຮັບ[] ພອດ.
ມູນຄ່າ
1 – 512 bits
16 ບິດ
ລະບຸຄວາມກວ້າງຂອງຜົນໄດ້ຮັບ[] ພອດ.
ຄ່ານີ້ຈະມີຜົນພຽງແຕ່ຖ້າທ່ານເລືອກຈໍາກັດຄວາມກວ້າງໃນພາລາມິເຕີປະເພດ.
ຄວາມກວ້າງຂອງຜົນໄດ້ຮັບ
1 – 512 bits
—
ສະແດງຄວາມກວ້າງທີ່ມີປະສິດທິພາບຂອງຜອດ[].
4.7.2. ທົ່ວໄປ 2 ແຖບ
ຕາຕະລາງ 13. ທົ່ວໄປ 2 Tab
ພາລາມິເຕີ
ຂໍ້ມູນໃສ່ຂໍ້ມູນ
ລົດເມປ້ອນຂໍ້ມູນ 'datab' ມີມູນຄ່າຄົງທີ່ບໍ?
ບໍ່ ແມ່ນ
ມູນຄ່າ
ຄ່າເລີ່ມຕົ້ນ
ລາຍລະອຽດ
ບໍ່
ເລືອກແມ່ນແລ້ວເພື່ອລະບຸຄ່າຄົງທີ່ຂອງ
'datab' input bus, ຖ້າມີ.
ສືບຕໍ່…
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 20
ສົ່ງຄຳຕິຊົມ
4. LPM_MULT (ຕົວຄູນ) IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ພາລາມິເຕີ
ມູນຄ່າ
ມູນຄ່າ
ຄ່າໃດນຶ່ງທີ່ໃຫຍ່ກວ່າ 0
ປະເພດຄູນ
ປະເພດໃດ
ບໍ່ໄດ້ເຊັນ
ທ່ານຕ້ອງການຄູນ? ເຊັນ
ຮູບແບບການຈັດຕັ້ງປະຕິບັດ
ການປະຕິບັດຕົວຄູນອັນໃດຄວນຖືກນໍາໃຊ້?
ໃຊ້ການຈັດຕັ້ງປະຕິບັດໃນຕອນຕົ້ນ
ໃຊ້ວົງຈອນຕົວຄູນສະເພາະ
ໃຊ້ອົງປະກອບຕາມເຫດຜົນ
ຄ່າເລີ່ມຕົ້ນ
ລາຍລະອຽດ
0
ລະບຸຄ່າຄົງທີ່ຂອງ port datab[].
ບໍ່ໄດ້ເຊັນ
ລະບຸຮູບແບບການເປັນຕົວແທນສໍາລັບທັງ dataa[] ແລະ datab[] inputs.
ໃຊ້ ion ການຈັດຕັ້ງປະຕິບັດມາດຕະຖານ
ເລືອກວິທີການທີ່ຕ້ອງການເພື່ອກໍານົດຄວາມກວ້າງຂອງຜົນໄດ້ຮັບ[] ພອດ.
4.7.3. ທໍ່
ຕາຕະລາງ 14. ແຖບທໍ່
ພາລາມິເຕີ
ມູນຄ່າ
ທ່ານຕ້ອງການທໍ່ການທໍາງານບໍ?
ທໍ່
ບໍ່ ແມ່ນ
Latency Clear ປະເພດສັນຍານ
ຄ່າໃດນຶ່ງທີ່ໃຫຍ່ກວ່າ 0.
ບໍ່ມີ ACLR SCLR
ສ້າງໂມງ 'clken'
—
ເປີດໃຊ້ໂມງ
ທ່ານຕ້ອງການການເພີ່ມປະສິດທິພາບປະເພດໃດ?
ປະເພດ
ພື້ນທີ່ຄວາມໄວເລີ່ມຕົ້ນ
ຄ່າເລີ່ມຕົ້ນ
ລາຍລະອຽດ
No 1 NONE
—
ເລືອກແມ່ນແລ້ວ ເພື່ອເປີດໃຊ້ການລົງທະບຽນທໍ່ກັບຜົນຜະລິດຂອງຕົວຄູນ. ການເປີດໃຊ້ການລົງທະບຽນທໍ່ຈະເພີ່ມເວລາແພັກເກັດໃຫ້ຜົນໄດ້ຮັບ.
ລະບຸເວລາຕອບສະໜອງຂອງຜົນຜະລິດທີ່ຕ້ອງການໃນຮອບວຽນໂມງ.
ລະບຸປະເພດຂອງການຣີເຊັດສຳລັບການລົງທະບຽນທໍ່. ເລືອກ NONE ຖ້າທ່ານບໍ່ໃຊ້ການລົງທະບຽນທໍ່ໃດນຶ່ງ. ເລືອກ ACLR ເພື່ອໃຊ້ asynchronous clear ສໍາລັບການລົງທະບຽນທໍ່. ນີ້ຈະສ້າງພອດ ACLR. ເລືອກ SCLR ເພື່ອໃຊ້ synchronous clear ສໍາລັບການລົງທະບຽນທໍ່. ນີ້ຈະສ້າງພອດ SCLR.
ລະບຸການເປີດໃຊ້ງານໂມງສູງສໍາລັບຜອດໂມງຂອງການລົງທະບຽນທໍ່
ຄ່າເລີ່ມຕົ້ນ
ລະບຸການເພີ່ມປະສິດທິພາບທີ່ຕ້ອງການສໍາລັບຫຼັກ IP.
ເລືອກຄ່າເລີ່ມຕົ້ນເພື່ອໃຫ້ຊອບແວ Intel Quartus Prime ກໍານົດການປັບແຕ່ງທີ່ດີທີ່ສຸດສໍາລັບຫຼັກ IP.
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 21
683490 | 2020.10.05 ສົ່ງຄຳຕິຊົມ
5. LPM_ADD_SUB (ຕົວເພີ່ມ/ຕົວຫັກ)
ຮູບທີ 4.
ຫຼັກ IP LPM_ADD_SUB ຊ່ວຍໃຫ້ທ່ານປະຕິບັດຕົວບວກຫຼືຕົວຫັກລົບເພື່ອເພີ່ມຫຼືລົບຊຸດຂໍ້ມູນເພື່ອຜະລິດຜົນຜະລິດທີ່ມີຜົນລວມຫຼືຄວາມແຕກຕ່າງຂອງມູນຄ່າການປ້ອນຂໍ້ມູນ.
ຮູບຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນຜອດສໍາລັບ LPM_ADD_SUB IP core.
ຜອດ LPM_ADD_SUB
LPM_ADD_SUB add_sub cin
ຂໍ້ມູນ[]
ໂມງ clken datab[] aclr
ຜົນໄດ້ຮັບ[] overflow cout
inst
5.1. ຄຸນສົມບັດ
ຫຼັກ IP LPM_ADD_SUB ສະເໜີຄຸນສົມບັດຕໍ່ໄປນີ້: · ສ້າງຕົວບວກ, ຕົວຫັກ, ແລະຕົວເພີ່ມ/ຕົວລົບທີ່ສາມາດກຳນົດຄ່າແບບໄດນາມິກໄດ້.
ຫນ້າທີ່. ·ຮອງຮັບຄວາມກວ້າງຂອງຂໍ້ມູນ 1 bits. · ສະຫນັບສະຫນູນຮູບແບບຕົວແທນຂໍ້ມູນເຊັ່ນ: ເຊັນແລະບໍ່ໄດ້ລົງນາມ. ·ສະຫນັບສະຫນູນທາງເລືອກໃນການນໍາເຂົ້າ (ກູ້ຢືມອອກ), asynchronous ທີ່ຈະແຈ້ງ, ແລະເປີດໃຊ້ງານໂມງ
ຜອດປ້ອນຂໍ້ມູນ. ·ສະຫນັບສະຫນູນທາງເລືອກໃນການດໍາເນີນການ (ກູ້ຢືມໃນ) ແລະ overflow ports. · ກຳນົດໜຶ່ງໃນລົດເມຂໍ້ມູນປ້ອນເຂົ້າເປັນຄ່າຄົງທີ່. · ຮອງຮັບການວາງທໍ່ທີ່ມີຜົນຜະລິດທີ່ກຳນົດຄ່າ latency.
ບໍລິສັດ Intel. ສະຫງວນລິຂະສິດທັງໝົດ. Intel, ໂລໂກ້ Intel, ແລະເຄື່ອງໝາຍ Intel ອື່ນໆແມ່ນເຄື່ອງໝາຍການຄ້າຂອງ Intel Corporation ຫຼືບໍລິສັດຍ່ອຍຂອງມັນ. Intel ຮັບປະກັນປະສິດທິພາບຂອງຜະລິດຕະພັນ FPGA ແລະ semiconductor ຂອງຕົນຕໍ່ກັບຂໍ້ມູນຈໍາເພາະໃນປະຈຸບັນໂດຍສອດຄ່ອງກັບການຮັບປະກັນມາດຕະຖານຂອງ Intel, ແຕ່ສະຫງວນສິດທີ່ຈະປ່ຽນແປງຜະລິດຕະພັນແລະການບໍລິການໄດ້ທຸກເວລາໂດຍບໍ່ມີການແຈ້ງການ. Intel ຖືວ່າບໍ່ມີຄວາມຮັບຜິດຊອບ ຫຼືຄວາມຮັບຜິດຊອບທີ່ເກີດຂຶ້ນຈາກແອັບພລິເຄຊັນ ຫຼືການນຳໃຊ້ຂໍ້ມູນ, ຜະລິດຕະພັນ, ຫຼືບໍລິການໃດໜຶ່ງທີ່ໄດ້ອະທິບາຍໄວ້ໃນນີ້ ຍົກເວັ້ນຕາມທີ່ໄດ້ຕົກລົງຢ່າງຈະແຈ້ງໃນລາຍລັກອັກສອນໂດຍ Intel. ລູກຄ້າ Intel ໄດ້ຮັບຄໍາແນະນໍາໃຫ້ໄດ້ຮັບສະບັບຫລ້າສຸດຂອງຂໍ້ມູນຈໍາເພາະຂອງອຸປະກອນກ່ອນທີ່ຈະອີງໃສ່ຂໍ້ມູນໃດໆທີ່ຈັດພີມມາແລະກ່ອນທີ່ຈະວາງຄໍາສັ່ງສໍາລັບຜະລິດຕະພັນຫຼືການບໍລິການ. *ຊື່ ແລະຍີ່ຫໍ້ອື່ນໆອາດຈະຖືກອ້າງວ່າເປັນຊັບສິນຂອງຄົນອື່ນ.
ISO 9001:2015 ລົງທະບຽນ
5. LPM_ADD_SUB (ຜູ້ເພີ່ມ/ຫັກລົບ) 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
5.2. Verilog HDL Prototype
ຕົ້ນແບບ Verilog HDL ຕໍ່ໄປນີ້ແມ່ນຕັ້ງຢູ່ໃນ Verilog Design File (.v) lpm.v ໃນ ໄດເລກະທໍລີ edasynthesis.
ໂມດູນ lpm_add_sub (ຜົນໄດ້ຮັບ, cout, overflow, add_sub, cin, dataa, datab, ໂມງ, clken, aclr ); ພາລາມິເຕີ lpm_type = “lpm_add_sub”; ພາຣາມິເຕີ lpm_width = 1; ພາຣາມິເຕີ lpm_direction = “ບໍ່ໄດ້ໃຊ້”; ພາຣາມິເຕີ lpm_representation = “ເຊັນ”; ພາລາມິເຕີ lpm_pipeline = 0; ພາຣາມິເຕີ lpm_hint = “ບໍ່ໄດ້ໃຊ້”; input [lpm_width-1:0] dataa, datab; input add_sub, cin; ໂມງປ້ອນຂໍ້ມູນ; input clken; input aclr; ຜົນໄດ້ຮັບ [lpm_width-1:0] ຜົນໄດ້ຮັບ; output cout, overflow; ໂມດູນສຸດທ້າຍ
5.3. ການປະກາດອົງປະກອບ VHDL
ການປະກາດອົງປະກອບ VHDL ແມ່ນຢູ່ໃນ VHDL Design File (.vhd) LPM_PACK.vhd ໃນ librariesvhdllpm ໄດເລກະທໍລີ.
ອົງປະກອບ LPM_ADD_SUB ທົ່ວໄປ (LPM_WIDTH : ທໍາມະຊາດ;
LPM_DIRECTION : string := “ບໍ່ໄດ້ໃຊ້”; LPM_REPRESENTATION: string := “SIGNED”; LPM_PIPELINE : ທໍາມະຊາດ := 0; LPM_TYPE : string := L_ADD_SUB; LPM_HINT : string := “ບໍ່ໄດ້ໃຊ້”); 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'; ອົງປະກອບທ້າຍ;
5.4. ການປະກາດ VHDL LIBRARY_USE
ການປະກາດ VHDL LIBRARY-USE ແມ່ນບໍ່ຈໍາເປັນຖ້າທ່ານໃຊ້ການປະກາດອົງປະກອບ VHDL.
ຫໍສະໝຸດ lpm; ໃຊ້ lpm.lpm_components.all;
5.5. ທ່າເຮືອ
ຕາຕະລາງຕໍ່ໄປນີ້ລາຍຊື່ຜອດຂາເຂົ້າ ແລະຂາອອກສໍາລັບຫຼັກ IP LPM_ADD_SUB.
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 23
5. LPM_ADD_SUB (ຜູ້ເພີ່ມ/ຫັກລົບ) 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ຕາຕະລາງ 15. LPM_ADD_SUB IP Core Input Ports
ຊື່ຜອດ
ຕ້ອງການ
ລາຍລະອຽດ
ຊິນ
ບໍ່
ພົກພາເຂົ້າກັບບິດທີ່ສັ່ງຕໍ່າ. ສໍາລັບການດໍາເນີນງານເພີ່ມເຕີມ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 0. ສໍາລັບ
ການດໍາເນີນງານການລົບ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 1.
ຂໍ້ມູນ[]
ແມ່ນແລ້ວ
ການປ້ອນຂໍ້ມູນ. ຂະໜາດຂອງຜອດປ້ອນຂໍ້ມູນແມ່ນຂຶ້ນກັບຄ່າພາລາມິເຕີ LPM_WIDTH.
datab[]
ແມ່ນແລ້ວ
ການປ້ອນຂໍ້ມູນ. ຂະໜາດຂອງຜອດປ້ອນຂໍ້ມູນແມ່ນຂຶ້ນກັບຄ່າພາລາມິເຕີ LPM_WIDTH.
add_sub
ບໍ່
ພອດປ້ອນຂໍ້ມູນທາງເລືອກເພື່ອເປີດໃຊ້ການສະຫຼັບແບບໄດນາມິກລະຫວ່າງຕົວບວກ ແລະຕົວລົບ
ຫນ້າທີ່. ຖ້າພາລາມິເຕີ LPM_DIRECTION ຖືກໃຊ້, add_sub ບໍ່ສາມາດໃຊ້ໄດ້. ຖ້າ
ຍົກເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ ADD. Intel ແນະນໍາໃຫ້ທ່ານໃຊ້
ພາຣາມິເຕີ LPM_DIRECTION ເພື່ອລະບຸການເຮັດວຽກຂອງຟັງຊັນ LPM_ADD_SUB,
ແທນທີ່ຈະກໍານົດຄ່າຄົງທີ່ໃຫ້ກັບຜອດ add_sub.
ໂມງ
ບໍ່
ການປ້ອນຂໍ້ມູນສໍາລັບການນໍາໃຊ້ທໍ່. ພອດໂມງສະຫນອງການປ້ອນຂໍ້ມູນໂມງສໍາລັບທໍ່
ການດໍາເນີນງານ. ສຳລັບຄ່າ LPM_PIPELINE ນອກເໜືອໄປຈາກ 0 (ຄ່າເລີ່ມຕົ້ນ), ພອດໂມງຈະຕ້ອງເປັນ
ເປີດໃຊ້ງານ.
clken
ບໍ່
ເປີດໃຊ້ໂມງສໍາລັບການນໍາໃຊ້ທໍ່. ເມື່ອພອດ clken ຖືກຢືນຢັນສູງ, adder/
ການດໍາເນີນງານຂອງຕົວຫັກແມ່ນເກີດຂຶ້ນ. ເມື່ອສັນຍານຕໍ່າ, ບໍ່ມີການດໍາເນີນການໃດໆ. ຖ້າ
ຍົກເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 1.
aclr
ບໍ່
Asynchronous ຈະແຈ້ງສໍາລັບການນໍາໃຊ້ທໍ່. ທໍ່ສົ່ງເລີ່ມຕົ້ນເປັນ undefined (X)
ລະດັບເຫດຜົນ. ພອດ aclr ສາມາດໃຊ້ໄດ້ທຸກເວລາເພື່ອຣີເຊັດທໍ່ກັບທັງໝົດ 0s,
asynchronously ກັບສັນຍານໂມງ.
ຕາຕະລາງ 16. LPM_ADD_SUB IP Core Output Ports
ຊື່ຜອດ
ຕ້ອງການ
ລາຍລະອຽດ
ຜົນໄດ້ຮັບ[]
ແມ່ນແລ້ວ
ຂໍ້ມູນຜົນຜະລິດ. ຂະຫນາດຂອງຜອດຜົນຜະລິດແມ່ນຂຶ້ນກັບພາລາມິເຕີ LPM_WIDTH
ຄ່າ.
cout
ບໍ່
ດໍາເນີນການ (ກູ້ຢືມໃນ) ຂອງບິດທີ່ສໍາຄັນ (MSB). ພອດ cout ມີທາງດ້ານຮ່າງກາຍ
ການຕີຄວາມໝາຍເປັນການປະຕິບັດ (ການກູ້ຢືມ) ຂອງ MSB. ພອດ cout ກວດພົບ
ລົ້ນໃນການດໍາເນີນງານທີ່ບໍ່ໄດ້ເຊັນ. ພອດ cout ດໍາເນີນການໃນລັກສະນະດຽວກັນສໍາລັບ
ການດໍາເນີນງານທີ່ເຊັນແລະບໍ່ໄດ້ເຊັນ.
ລົ້ນ
ບໍ່
ຜົນຜະລິດການຍົກເວັ້ນ overflow ທາງເລືອກ. ພອດ overflow ມີການຕີຄວາມຫມາຍທາງດ້ານຮ່າງກາຍເປັນ
XOR ຂອງເຄື່ອງພົກພາໄປຫາ MSB ກັບການປະຕິບັດຂອງ MSB. ທ່າເຮືອລົ້ນ
ຢືນຢັນເມື່ອຜົນໄດ້ຮັບເກີນຄວາມແມ່ນຍໍາທີ່ມີຢູ່, ແລະຖືກນໍາໃຊ້ພຽງແຕ່ໃນເວລາທີ່
ຄ່າພາຣາມິເຕີ LPM_REPRESENTATION ແມ່ນ SIGNED.
5.6. ພາລາມິເຕີ
ຕາຕະລາງຕໍ່ໄປນີ້ລາຍຊື່ຕົວກໍານົດການຫຼັກ IP LPM_ADD_SUB.
ຕາຕະລາງ 17. LPM_ADD_SUB IP Core Parameters
ຊື່ພາຣາມິເຕີ LPM_WIDTH
ພິມຈໍານວນເຕັມ
ຕ້ອງການ Yes
ລາຍລະອຽດ
ລະບຸຄວາມກວ້າງຂອງ dataa[], datab[], ແລະ ports results[].
LPM_DIRECTION
ສາຍ
ບໍ່
ຄ່າແມ່ນເພີ່ມ, SUB, ແລະບໍ່ໄດ້ໃຊ້. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ DEFAULT, ເຊິ່ງຊີ້ພາພາລາມິເຕີເພື່ອເອົາຄ່າຂອງມັນອອກຈາກພອດ add_sub. ຜອດ add_sub ບໍ່ສາມາດໃຊ້ໄດ້ຖ້າ LPM_DIRECTION ຖືກໃຊ້. Intel ແນະນໍາໃຫ້ທ່ານໃຊ້ພາລາມິເຕີ LPM_DIRECTION ເພື່ອລະບຸການເຮັດວຽກຂອງຟັງຊັນ LPM_ADD_SUB, ແທນທີ່ຈະກໍານົດຄ່າຄົງທີ່ໃຫ້ກັບພອດ add_sub.
ສືບຕໍ່…
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 24
ສົ່ງຄຳຕິຊົມ
5. LPM_ADD_SUB (ຜູ້ເພີ່ມ/ຫັກລົບ) 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ຊື່ພາຣາມິເຕີ LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY
ປະເພດ String Integer String String Integer
ສາຍ
ຕ້ອງການ No No No No No No No
ບໍ່
ລາຍລະອຽດ
ລະບຸປະເພດຂອງການເພີ່ມເຕີມທີ່ດໍາເນີນການ. ຄ່າຖືກເຊັນ ແລະບໍ່ໄດ້ເຊັນ. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ SIGNED. ເມື່ອພາຣາມິເຕີນີ້ຖືກຕັ້ງເປັນ SIGNED, ຕົວບວກ/ຕົວລົບຈະຕີຄວາມໝາຍການປ້ອນຂໍ້ມູນເປັນການເພີ່ມຂອງສອງເຊັນ.
ລະບຸຈໍານວນຮອບວຽນໂມງຕອບສະໜອງທີ່ເຊື່ອມໂຍງກັບຜົນໄດ້ຮັບ[]. ຄ່າຂອງສູນ (0) ຊີ້ບອກວ່າບໍ່ມີເວລາ latency, ແລະຟັງຊັນປະສົມປະສານອັນບໍລິສຸດຈະຖືກເຮັດໃຫ້ທັນທີ. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 0 (ບໍ່ແມ່ນທໍ່).
ອະນຸຍາດໃຫ້ທ່ານລະບຸຕົວກໍານົດການສະເພາະ Intel ໃນການອອກແບບ VHDL files (.vhd). ຄ່າເລີ່ມຕົ້ນແມ່ນບໍ່ໄດ້ໃຊ້.
ກໍານົດຫ້ອງສະຫມຸດຂອງ parameterized modules (LPM) entity ຊື່ໃນການອອກແບບ VHDL files.
ຕົວກໍານົດການສະເພາະຂອງ Intel. ທ່ານຕ້ອງໃຊ້ພາຣາມິເຕີ LPM_HINT ເພື່ອລະບຸພາຣາມິເຕີ ONE_INPUT_IS_CONSTANT ໃນການອອກແບບ VHDL fileດ. ຄ່າແມ່ນແມ່ນ, ບໍ່ແມ່ນ, ແລະບໍ່ໄດ້ໃຊ້. ສະຫນອງການເພີ່ມປະສິດທິພາບທີ່ດີກວ່າຖ້າການປ້ອນຂໍ້ມູນຫນຶ່ງຄົງທີ່. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ NO.
ຕົວກໍານົດການສະເພາະຂອງ Intel. ທ່ານຕ້ອງໃຊ້ພາລາມິເຕີ LPM_HINT ເພື່ອລະບຸພາລາມິເຕີ MAXIMIZE_SPEED ໃນການອອກແບບ VHDL fileດ. ທ່ານສາມາດລະບຸຄ່າລະຫວ່າງ 0 ແລະ 10. ຖ້າໃຊ້, ຊອບແວ Intel Quartus Prime ພະຍາຍາມເພີ່ມປະສິດທິພາບສະເພາະຂອງຟັງຊັນ LPM_ADD_SUB ສໍາລັບຄວາມໄວແທນທີ່ຈະເປັນເສັ້ນທາງ, ແລະ overrides ການຕັ້ງຄ່າຂອງທາງເລືອກຕາມເຫດຜົນຂອງ Optimization Technique. ຖ້າ MAXIMIZE_SPEED ບໍ່ໄດ້ໃຊ້, ຄ່າຂອງຕົວເລືອກເຕັກນິກການເພີ່ມປະສິດທິພາບຈະຖືກໃຊ້ແທນ. ຖ້າການຕັ້ງຄ່າສໍາລັບ MAXIMIZE_SPEED ແມ່ນ 6 ຫຼືສູງກວ່າ, Compiler ຈະເພີ່ມປະສິດທິພາບຂອງ LPM_ADD_SUB IP core ສໍາລັບຄວາມໄວທີ່ສູງຂຶ້ນໂດຍໃຊ້ສາຍພາລະ; ຖ້າການຕັ້ງຄ່າແມ່ນ 5 ຫຼືຫນ້ອຍກວ່າ, Compiler ປະຕິບັດການອອກແບບໂດຍບໍ່ມີສາຍໂສ້. ພາລາມິເຕີນີ້ຕ້ອງຖືກລະບຸໄວ້ສໍາລັບອຸປະກອນ Cyclone, Stratix, ແລະ Stratix GX ເມື່ອພອດ add_sub ບໍ່ໄດ້ໃຊ້ເທົ່ານັ້ນ.
ພາລາມິເຕີນີ້ຖືກນໍາໃຊ້ສໍາລັບຈຸດປະສົງການຈໍາລອງແລະພຶດຕິກໍາການຈໍາລອງ. ຕົວແກ້ໄຂພາລາມິເຕີຄິດໄລ່ຄ່າສໍາລັບພາລາມິເຕີນີ້.
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 25
683490 | 2020.10.05 ສົ່ງຄຳຕິຊົມ
6. LPM_COMPARE (ຕົວປຽບທຽບ)
ຮູບທີ 5.
ຫຼັກ IP LPM_COMPARE ປຽບທຽບຄ່າຂອງຂໍ້ມູນສອງຊຸດເພື່ອກໍານົດຄວາມສຳພັນລະຫວ່າງພວກມັນ. ໃນຮູບແບບທີ່ງ່າຍດາຍທີ່ສຸດ, ທ່ານສາມາດນໍາໃຊ້ປະຕູດຽວ - OR ເພື່ອກໍານົດວ່າຂໍ້ມູນສອງບິດເທົ່າທຽມກັນ.
ຕົວເລກຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນພອດສໍາລັບ LPM_COMPARE IP core.
ຜອດ LPM_COMPARE
LPM_COMPARE
clken
alb
aeb
ຂໍ້ມູນ[]
agb
datab[]
ອາຍຸ
ໂມງ
ອັນeb
aclr
ອາເລບ
inst
6.1. ຄຸນສົມບັດ
ຫຼັກ LPM_COMPARE IP ສະເໜີຄຸນສົມບັດດັ່ງນີ້: · ສ້າງຟັງຊັນປຽບທຽບເພື່ອປຽບທຽບຂໍ້ມູນສອງຊຸດ · ຮອງຮັບຄວາມກວ້າງຂອງຂໍ້ມູນ 1 bits · ຮອງຮັບຮູບແບບການສະແດງຂໍ້ມູນເຊັ່ນ: ເຊັນແລະບໍ່ໄດ້ເຊັນ · ຜະລິດປະເພດຜົນໄດ້ຮັບຕໍ່ໄປນີ້:
— alb (ການປ້ອນຂໍ້ມູນ A ແມ່ນໜ້ອຍກວ່າການປ້ອນຂໍ້ມູນ B) — aeb (ການປ້ອນຂໍ້ມູນ A ເທົ່າກັບການປ້ອນຂໍ້ມູນ B) — agb (ການປ້ອນຂໍ້ມູນ A ແມ່ນໃຫຍ່ກວ່າການປ້ອນຂໍ້ມູນ B) — ageb (ປ້ອນຂໍ້ມູນ A ແມ່ນໃຫຍ່ກວ່າ ຫຼືເທົ່າກັບການປ້ອນຂໍ້ມູນ B) — aneb ( input A ບໍ່ເທົ່າກັບ input B) — aleb (input A ຫນ້ອຍກວ່າຫຼືເທົ່າກັບ input B) · ຮອງຮັບ asynchronous clear and clock enables input ports · ກໍານົດ datab[] input to a constant · ຮອງຮັບ pipelining with configurable output latency
ບໍລິສັດ Intel. ສະຫງວນລິຂະສິດທັງໝົດ. Intel, ໂລໂກ້ Intel, ແລະເຄື່ອງໝາຍ Intel ອື່ນໆແມ່ນເຄື່ອງໝາຍການຄ້າຂອງ Intel Corporation ຫຼືບໍລິສັດຍ່ອຍຂອງມັນ. Intel ຮັບປະກັນປະສິດທິພາບຂອງຜະລິດຕະພັນ FPGA ແລະ semiconductor ຂອງຕົນຕໍ່ກັບຂໍ້ມູນຈໍາເພາະໃນປະຈຸບັນໂດຍສອດຄ່ອງກັບການຮັບປະກັນມາດຕະຖານຂອງ Intel, ແຕ່ສະຫງວນສິດທີ່ຈະປ່ຽນແປງຜະລິດຕະພັນແລະການບໍລິການໄດ້ທຸກເວລາໂດຍບໍ່ມີການແຈ້ງການ. Intel ຖືວ່າບໍ່ມີຄວາມຮັບຜິດຊອບ ຫຼືຄວາມຮັບຜິດຊອບທີ່ເກີດຂຶ້ນຈາກແອັບພລິເຄຊັນ ຫຼືການນຳໃຊ້ຂໍ້ມູນ, ຜະລິດຕະພັນ, ຫຼືບໍລິການໃດໜຶ່ງທີ່ໄດ້ອະທິບາຍໄວ້ໃນນີ້ ຍົກເວັ້ນຕາມທີ່ໄດ້ຕົກລົງຢ່າງຈະແຈ້ງໃນລາຍລັກອັກສອນໂດຍ Intel. ລູກຄ້າ Intel ໄດ້ຮັບຄໍາແນະນໍາໃຫ້ໄດ້ຮັບສະບັບຫລ້າສຸດຂອງຂໍ້ມູນຈໍາເພາະຂອງອຸປະກອນກ່ອນທີ່ຈະອີງໃສ່ຂໍ້ມູນໃດໆທີ່ຈັດພີມມາແລະກ່ອນທີ່ຈະວາງຄໍາສັ່ງສໍາລັບຜະລິດຕະພັນຫຼືການບໍລິການ. *ຊື່ ແລະຍີ່ຫໍ້ອື່ນໆອາດຈະຖືກອ້າງວ່າເປັນຊັບສິນຂອງຄົນອື່ນ.
ISO 9001:2015 ລົງທະບຽນ
6. LPM_COMPARE (ຜູ້ປຽບທຽບ) 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
6.2. Verilog HDL Prototype
ຕົ້ນແບບ Verilog HDL ຕໍ່ໄປນີ້ແມ່ນຕັ້ງຢູ່ໃນ Verilog Design File (.v) lpm.v ໃນ ໄດເລກະທໍລີ edasynthesis.
module lpm_compare ( alb, aeb, agb, aleb, aneb, ageb, dataa, datab, ໂມງ, clken, aclr ); ພາລາມິເຕີ lpm_type = “lpm_compare”; ພາຣາມິເຕີ lpm_width = 1; ພາຣາມິເຕີ lpm_representation = “ບໍ່ໄດ້ເຊັນ”; ພາລາມິເຕີ lpm_pipeline = 0; ພາຣາມິເຕີ lpm_hint = “ບໍ່ໄດ້ໃຊ້”; input [lpm_width-1:0] dataa, datab; ໂມງປ້ອນຂໍ້ມູນ; input clken; input aclr; ຜົນຜະລິດ alb, aeb, agb, aleb, aneb, ageb; ໂມດູນສຸດທ້າຍ
6.3. ການປະກາດອົງປະກອບ VHDL
ການປະກາດອົງປະກອບ VHDL ແມ່ນຢູ່ໃນ VHDL Design File (.vhd) LPM_PACK.vhd ໃນ librariesvhdllpm ໄດເລກະທໍລີ.
ອົງປະກອບ LPM_COMPARE ທົ່ວໄປ (LPM_WIDTH : ທໍາມະຊາດ;
LPM_REPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : ທໍາມະຊາດ := 0; LPM_TYPE: string := L_COMPARE; LPM_HINT : string := “ບໍ່ໄດ້ໃຊ້”); 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' ; ອົງປະກອບທ້າຍ;
6.4. ການປະກາດ VHDL LIBRARY_USE
ການປະກາດ VHDL LIBRARY-USE ແມ່ນບໍ່ຈໍາເປັນຖ້າທ່ານໃຊ້ການປະກາດອົງປະກອບ VHDL.
ຫໍສະໝຸດ lpm; ໃຊ້ lpm.lpm_components.all;
6.5. ທ່າເຮືອ
ຕາຕະລາງຕໍ່ໄປນີ້ລາຍຊື່ຜອດຂາເຂົ້າ ແລະຂາອອກສໍາລັບຫຼັກ LMP_COMPARE IP.
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 27
6. LPM_COMPARE (ຜູ້ປຽບທຽບ) 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ຕາຕະລາງ 18. LPM_COMPARE IP Core Input Ports
ຊື່ຜອດ
ຕ້ອງການ
ລາຍລະອຽດ
ຂໍ້ມູນ[]
ແມ່ນແລ້ວ
ການປ້ອນຂໍ້ມູນ. ຂະໜາດຂອງຜອດປ້ອນຂໍ້ມູນແມ່ນຂຶ້ນກັບຄ່າພາລາມິເຕີ LPM_WIDTH.
datab[]
ແມ່ນແລ້ວ
ການປ້ອນຂໍ້ມູນ. ຂະໜາດຂອງຜອດປ້ອນຂໍ້ມູນແມ່ນຂຶ້ນກັບຄ່າພາລາມິເຕີ LPM_WIDTH.
ໂມງ
ບໍ່
ການປ້ອນຂໍ້ມູນໂມງສໍາລັບການນໍາໃຊ້ທໍ່. ພອດໂມງສະຫນອງການປ້ອນຂໍ້ມູນໂມງສໍາລັບທໍ່
ການດໍາເນີນງານ. ສຳລັບຄ່າ LPM_PIPELINE ນອກເໜືອໄປຈາກ 0 (ຄ່າເລີ່ມຕົ້ນ), ພອດໂມງຈະຕ້ອງເປັນ
ເປີດໃຊ້ງານ.
clken
ບໍ່
ເປີດໃຊ້ໂມງສໍາລັບການນໍາໃຊ້ທໍ່. ເມື່ອພອດ clken ຖືກຢືນຢັນສູງ, the
ການປະຕິບັດການປຽບທຽບເກີດຂຶ້ນ. ເມື່ອສັນຍານຕໍ່າ, ບໍ່ມີການດໍາເນີນການໃດໆ. ຖ້າ
ຍົກເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 1.
aclr
ບໍ່
Asynchronous ຈະແຈ້ງສໍາລັບການນໍາໃຊ້ທໍ່. ທໍ່ສົ່ງເລີ່ມຕົ້ນໄປສູ່ເຫດຜົນ (X).
ລະດັບ. ພອດ aclr ສາມາດໃຊ້ໄດ້ທຸກເວລາເພື່ອຣີເຊັດທໍ່ກັບທັງໝົດ 0s,
asynchronously ກັບສັນຍານໂມງ.
ຕາຕະລາງ 19. LPM_COMPARE IP core Output Ports
ຊື່ຜອດ
ຕ້ອງການ
ລາຍລະອຽດ
alb
ບໍ່
ຜອດຜົນຜະລິດສໍາລັບຕົວປຽບທຽບ. ຢືນຢັນຖ້າອິນພຸດ A ໜ້ອຍກວ່າອິນພຸດ B.
aeb
ບໍ່
ຜອດຜົນຜະລິດສໍາລັບຕົວປຽບທຽບ. ຢືນຢັນຖ້າຫາກວ່າການປ້ອນຂໍ້ມູນ A ເທົ່າກັບການປ້ອນຂໍ້ມູນ B.
agb
ບໍ່
ຜອດຜົນຜະລິດສໍາລັບຕົວປຽບທຽບ. ຢືນຢັນຖ້າອິນພຸດ A ຫຼາຍກວ່າປ້ອນ B.
ອາຍຸ
ບໍ່
ຜອດຜົນຜະລິດສໍາລັບຕົວປຽບທຽບ. ຢືນຢັນຖ້າປ້ອນຂໍ້ມູນ A ຫຼາຍກວ່າ ຫຼືເທົ່າກັບການປ້ອນຂໍ້ມູນ
B.
ອັນeb
ບໍ່
ຜອດຜົນຜະລິດສໍາລັບຕົວປຽບທຽບ. ຢືນຢັນຖ້າຫາກວ່າ input A ບໍ່ເທົ່າກັບ input B.
ອາເລບ
ບໍ່
ຜອດຜົນຜະລິດສໍາລັບຕົວປຽບທຽບ. ຢືນຢັນຖ້າປ້ອນຂໍ້ມູນ A ໜ້ອຍກວ່າ ຫຼືເທົ່າກັບການປ້ອນຂໍ້ມູນ B.
6.6. ພາລາມິເຕີ
ຕາຕະລາງຕໍ່ໄປນີ້ລາຍຊື່ພາລາມິເຕີສໍາລັບ LPM_COMPARE IP core.
ຕາຕະລາງ 20. LPM_COMPARE IP core Parameters
ຊື່ພາລາມິເຕີ
ປະເພດ
ຕ້ອງການ
LPM_WIDTH
ຈຳນວນເຕັມແມ່ນ
LPM_REPRESENTATION
ສາຍ
ບໍ່
LPM_PIPELINE
ຈຳນວນເຕັມ
LPM_HINT
ສາຍ
ບໍ່
ລາຍລະອຽດ
ລະບຸຄວາມກວ້າງຂອງພອດ dataa[] ແລະ datab[].
ລະບຸປະເພດຂອງການປຽບທຽບທີ່ດໍາເນີນການ. ຄ່າຖືກເຊັນ ແລະບໍ່ໄດ້ເຊັນ. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ UNSIGNED. ເມື່ອຄ່າພາຣາມິເຕີນີ້ຖືກຕັ້ງເປັນ SIGNED, ຕົວປຽບທຽບຈະຕີຄວາມໝາຍການປ້ອນຂໍ້ມູນເປັນສ່ວນເສີມຂອງສອງເຊັນ.
ລະບຸຈໍານວນຮອບວຽນຂອງໂມງເວລາໃນການຕອບສະໜອງທີ່ເຊື່ອມໂຍງກັບ alb, aeb, agb, ageb, aleb, ຫຼື aneb output. ຄ່າຂອງສູນ (0) ຊີ້ບອກວ່າບໍ່ມີເວລາ latency, ແລະຟັງຊັນປະສົມປະສານອັນບໍລິສຸດຈະຖືກເຮັດໃຫ້ທັນທີ. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 0 (ບໍ່ມີທໍ່).
ອະນຸຍາດໃຫ້ທ່ານລະບຸຕົວກໍານົດການສະເພາະ Intel ໃນການອອກແບບ VHDL files (.vhd). ຄ່າເລີ່ມຕົ້ນແມ່ນບໍ່ໄດ້ໃຊ້.
ສືບຕໍ່…
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 28
ສົ່ງຄຳຕິຊົມ
6. LPM_COMPARE (ຜູ້ປຽບທຽບ) 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ຊື່ພາຣາມິເຕີ LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT
ພິມ String String
ສາຍ
ຕ້ອງການ No No
ບໍ່
ລາຍລະອຽດ
ກໍານົດຫ້ອງສະຫມຸດຂອງ parameterized modules (LPM) entity ຊື່ໃນການອອກແບບ VHDL files.
ພາລາມິເຕີນີ້ຖືກນໍາໃຊ້ສໍາລັບຈຸດປະສົງການຈໍາລອງແລະພຶດຕິກໍາການຈໍາລອງ. ຕົວແກ້ໄຂພາລາມິເຕີຄິດໄລ່ຄ່າສໍາລັບພາລາມິເຕີນີ້.
ຕົວກໍານົດການສະເພາະຂອງ Intel. ທ່ານຕ້ອງໃຊ້ພາຣາມິເຕີ LPM_HINT ເພື່ອລະບຸພາຣາມິເຕີ ONE_INPUT_IS_CONSTANT ໃນການອອກແບບ VHDL fileດ. ຄ່າແມ່ນແມ່ນ, ບໍ່ແມ່ນ, ຫຼືບໍ່ໄດ້ໃຊ້. ສະຫນອງການເພີ່ມປະສິດທິພາບທີ່ດີກວ່າຖ້າການປ້ອນຂໍ້ມູນຄົງທີ່. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ NO.
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 29
683490 | 2020.10.05 ສົ່ງຄຳຕິຊົມ
7. ALTECC (ລະຫັດການແກ້ໄຂຂໍ້ຜິດພາດ: ຕົວເຂົ້າລະຫັດ/ຕົວຖອດລະຫັດ) IP Core
ຮູບທີ 6.
Intel ໃຫ້ ALTECC IP core ເພື່ອປະຕິບັດຫນ້າທີ່ ECC. ECC ກວດພົບຂໍ້ມູນທີ່ເສຍຫາຍທີ່ເກີດຂຶ້ນຢູ່ດ້ານຜູ້ຮັບໃນລະຫວ່າງການສົ່ງຂໍ້ມູນ. ວິທີການແກ້ໄຂຂໍ້ຜິດພາດນີ້ແມ່ນເຫມາະສົມທີ່ສຸດສໍາລັບສະຖານະການທີ່ຄວາມຜິດພາດເກີດຂຶ້ນແບບສຸ່ມແທນທີ່ຈະເປັນການລະເບີດ.
ECC ກວດພົບຂໍ້ຜິດພາດຜ່ານຂະບວນການເຂົ້າລະຫັດຂໍ້ມູນ ແລະຖອດລະຫັດ. ຕົວຢ່າງampດັ່ງນັ້ນ, ເມື່ອ ECC ຖືກນໍາໃຊ້ໃນຄໍາຮ້ອງສະຫມັກການສົ່ງ, ຂໍ້ມູນທີ່ອ່ານຈາກແຫຼ່ງຈະຖືກເຂົ້າລະຫັດກ່ອນທີ່ຈະຖືກສົ່ງໄປຫາຜູ້ຮັບ. ຜົນຜະລິດ (ຄຳສັບລະຫັດ) ຈາກຕົວເຂົ້າລະຫັດປະກອບດ້ວຍຂໍ້ມູນດິບທີ່ຕໍ່ທ້າຍດ້ວຍຈຳນວນຂອງ parity bits. ຈໍານວນທີ່ແນ່ນອນຂອງ bits parity ຕໍ່ທ້າຍແມ່ນຂຶ້ນກັບຈໍານວນຂອງ bits ໃນຂໍ້ມູນ input. ຫຼັງຈາກນັ້ນ, ຄໍາສັບລະຫັດທີ່ສ້າງຂຶ້ນແມ່ນຖືກສົ່ງໄປຫາປາຍທາງ.
ຜູ້ຮັບໄດ້ຮັບຄໍາລະຫັດແລະຖອດລະຫັດມັນ. ຂໍ້ມູນທີ່ໄດ້ຮັບໂດຍຕົວຖອດລະຫັດກໍານົດວ່າຄວາມຜິດພາດໄດ້ຖືກກວດພົບ. ຕົວຖອດລະຫັດກວດພົບຄວາມຜິດພາດພຽງບິດດຽວ ແລະສອງບິດ, ແຕ່ສາມາດແກ້ໄຂຄວາມຜິດພາດພຽງບິດດຽວໃນຂໍ້ມູນທີ່ເສຍຫາຍ. ປະເພດຂອງ ECC ນີ້ແມ່ນການແກ້ໄຂຂໍ້ຜິດພາດດຽວ ການກວດສອບຄວາມຜິດພາດສອງເທົ່າ (SECDED).
ທ່ານສາມາດຕັ້ງຄ່າຫນ້າທີ່ encoder ແລະ decoder ຂອງ ALTECC IP core. ການປ້ອນຂໍ້ມູນໃສ່ຕົວເຂົ້າລະຫັດຈະຖືກເຂົ້າລະຫັດເພື່ອສ້າງຄໍາສັບລະຫັດທີ່ເປັນການປະສົມປະສານຂອງການປ້ອນຂໍ້ມູນ ແລະ parity bits ທີ່ສ້າງຂຶ້ນ. ຄໍາສັບລະຫັດທີ່ສ້າງຂຶ້ນແມ່ນຖືກສົ່ງໄປຫາໂມດູນຕົວຖອດລະຫັດສໍາລັບການຖອດລະຫັດກ່ອນທີ່ຈະເຖິງຕັນປາຍທາງຂອງມັນ. ຕົວຖອດລະຫັດສ້າງ vector ໂຣກເພື່ອກໍານົດວ່າມີຂໍ້ຜິດພາດໃດໆໃນຄໍາສັບລະຫັດທີ່ໄດ້ຮັບ. ຕົວຖອດລະຫັດຈະແກ້ໄຂຂໍ້ມູນພຽງແຕ່ຖ້າຄວາມຜິດພາດພຽງບິດດຽວມາຈາກບິດຂໍ້ມູນ. ບໍ່ມີສັນຍານຖືກໝາຍວ່າຄວາມຜິດພາດພຽງບິດດຽວແມ່ນມາຈາກ parity bits. ຕົວຖອດລະຫັດຍັງມີສັນຍານທຸງເພື່ອສະແດງສະຖານະຂອງຂໍ້ມູນທີ່ໄດ້ຮັບ ແລະການປະຕິບັດໂດຍຕົວຖອດລະຫັດ, ຖ້າມີ.
ຕົວເລກຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນພອດສໍາລັບຫຼັກ ALTECC IP.
ຜອດຕົວເຂົ້າລະຫັດ ALTECC
ALTECC_ENCODER
ຂໍ້ມູນ[]
q[]
ໂມງ
ໂມງ
aclr
inst
ບໍລິສັດ Intel. ສະຫງວນລິຂະສິດທັງໝົດ. Intel, ໂລໂກ້ Intel, ແລະເຄື່ອງໝາຍ Intel ອື່ນໆແມ່ນເຄື່ອງໝາຍການຄ້າຂອງ Intel Corporation ຫຼືບໍລິສັດຍ່ອຍຂອງມັນ. Intel ຮັບປະກັນປະສິດທິພາບຂອງຜະລິດຕະພັນ FPGA ແລະ semiconductor ຂອງຕົນຕໍ່ກັບຂໍ້ມູນຈໍາເພາະໃນປະຈຸບັນໂດຍສອດຄ່ອງກັບການຮັບປະກັນມາດຕະຖານຂອງ Intel, ແຕ່ສະຫງວນສິດທີ່ຈະປ່ຽນແປງຜະລິດຕະພັນແລະການບໍລິການໄດ້ທຸກເວລາໂດຍບໍ່ມີການແຈ້ງການ. Intel ຖືວ່າບໍ່ມີຄວາມຮັບຜິດຊອບ ຫຼືຄວາມຮັບຜິດຊອບທີ່ເກີດຂຶ້ນຈາກແອັບພລິເຄຊັນ ຫຼືການນຳໃຊ້ຂໍ້ມູນ, ຜະລິດຕະພັນ, ຫຼືບໍລິການໃດໜຶ່ງທີ່ໄດ້ອະທິບາຍໄວ້ໃນນີ້ ຍົກເວັ້ນຕາມທີ່ໄດ້ຕົກລົງຢ່າງຈະແຈ້ງໃນລາຍລັກອັກສອນໂດຍ Intel. ລູກຄ້າ Intel ໄດ້ຮັບຄໍາແນະນໍາໃຫ້ໄດ້ຮັບສະບັບຫລ້າສຸດຂອງຂໍ້ມູນຈໍາເພາະຂອງອຸປະກອນກ່ອນທີ່ຈະອີງໃສ່ຂໍ້ມູນໃດໆທີ່ຈັດພີມມາແລະກ່ອນທີ່ຈະວາງຄໍາສັ່ງສໍາລັບຜະລິດຕະພັນຫຼືການບໍລິການ. *ຊື່ ແລະຍີ່ຫໍ້ອື່ນໆອາດຈະຖືກອ້າງວ່າເປັນຊັບສິນຂອງຄົນອື່ນ.
ISO 9001:2015 ລົງທະບຽນ
7. ALTECC (ລະຫັດການແກ້ໄຂຂໍ້ຜິດພາດ: ຕົວເຂົ້າລະຫັດ/ຕົວຖອດລະຫັດ) IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ຮູບທີ 7. ຜອດຕົວຖອດລະຫັດ ALTECC
ALTECC_DECODER
data[] ໂມງນັບຖອຍຫຼັງ
q[] err_detected err_corrected
err_fatal
aclr
inst
7.1. ຄຸນສົມບັດຕົວເຂົ້າລະຫັດ ALTECC
ຫຼັກ IP ຂອງຕົວເຂົ້າລະຫັດ ALTECC ສະເໜີຄຸນສົມບັດດັ່ງນີ້: · ປະຕິບັດການເຂົ້າລະຫັດຂໍ້ມູນໂດຍໃຊ້ລະບົບ Hamming Coding scheme · ຮອງຮັບຄວາມກວ້າງຂອງຂໍ້ມູນ 2 bits · ຮອງຮັບຮູບແບບການສະແດງຂໍ້ມູນທີ່ມີລາຍເຊັນ ແລະບໍ່ໄດ້ເຊັນ · ຮອງຮັບທໍ່ສົ່ງຜົນອອກ latency ຂອງຮອບວຽນໜຶ່ງ ຫຼືສອງໂມງ · ຮອງຮັບທາງເລືອກ asynchronous clear ແລະໂມງເປີດຜອດ
ຫຼັກ IP ຂອງຕົວເຂົ້າລະຫັດ ALTECC ເຂົ້າໄປ ແລະເຂົ້າລະຫັດຂໍ້ມູນໂດຍໃຊ້ໂຄງການ Hamming Coding. ໂຄງການ Hamming Coding ມາຈາກ bits parity ແລະ appends ໃຫ້ເຂົາເຈົ້າກັບຂໍ້ມູນຕົ້ນສະບັບເພື່ອຜະລິດຄໍາລະຫັດຜົນຜະລິດ. ຈໍານວນຂອງ parity bits ຕໍ່ທ້າຍແມ່ນຂຶ້ນກັບຄວາມກວ້າງຂອງຂໍ້ມູນ.
ຕາຕະລາງຕໍ່ໄປນີ້ຈະບອກຈຳນວນຂອງ parity bits ຕື່ມໃສ່ສຳລັບຊ່ວງຄວາມກວ້າງຂອງຂໍ້ມູນ. ຖັນ Total Bits ເປັນຕົວແທນຈຳນວນທັງໝົດຂອງຂໍ້ມູນການປ້ອນຂໍ້ມູນ ແລະ bits parity ເພີ່ມເຕີມ.
ຕາຕະລາງ 21.
ຈຳນວນຂອງ Parity Bits ແລະ Code Word ອີງຕາມຄວາມກວ້າງຂອງຂໍ້ມູນ
ຄວາມກວ້າງຂອງຂໍ້ມູນ
ຈຳນວນຂອງ Parity Bits
ບິດທັງໝົດ (ລະຫັດຄໍາສັບ)
2-4
3+1
6-8
5-11
4+1
10-16
12-26
5+1
18-32
27-57
6+1
34-64
58-64
7+1
66-72
ອະນຸພັນບິດ parity ໃຊ້ການກວດສອບຄູ່. 1 bit ເພີ່ມເຕີມ (ສະແດງຢູ່ໃນຕາຕະລາງເປັນ +1) ຖືກຕໍ່ທ້າຍກັບ bits parity ເປັນ MSB ຂອງຄໍາລະຫັດ. ນີ້ຮັບປະກັນວ່າຄໍາລະຫັດມີຈໍານວນຄູ່ຂອງ 1's. ຕົວຢ່າງampຖ້າຫາກວ່າຄວາມກວ້າງຂອງຂໍ້ມູນແມ່ນ 4 bits, 4 parity bits ຖືກຕໍ່ທ້າຍກັບຂໍ້ມູນທີ່ຈະກາຍເປັນຄໍາສັບທີ່ມີທັງຫມົດ 8 bits. ຖ້າ 7 bits ຈາກ LSB ຂອງຄໍາລະຫັດ 8-bit ມີຈໍານວນຄີກຂອງ 1's, 8 bit (MSB) ຂອງຄໍາລະຫັດແມ່ນ 1 ເຮັດໃຫ້ຈໍານວນທັງຫມົດຂອງ 1's ໃນຄໍາສັບລະຫັດ.
ຕົວເລກຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນຄໍາລະຫັດທີ່ສ້າງຂຶ້ນແລະການຈັດລຽງຂອງ parity bits ແລະ bits ຂໍ້ມູນໃນການປ້ອນຂໍ້ມູນ 8-bit.
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 31
7. ALTECC (ລະຫັດການແກ້ໄຂຂໍ້ຜິດພາດ: ຕົວເຂົ້າລະຫັດ/ຕົວຖອດລະຫັດ) IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ຮູບທີ 8.
Parity Bits ແລະການຈັດລຽງ Bits ຂໍ້ມູນໃນ 8-Bit ສ້າງລະຫັດຄໍາສັບ
ບໍລິສັດ MSB
LSB
4 ບິດ parity
4 ບິດຂໍ້ມູນ
8
1
ຫຼັກ IP ຂອງຕົວເຂົ້າລະຫັດ ALTECC ຍອມຮັບພຽງແຕ່ຄວາມກວ້າງຂອງການປ້ອນຂໍ້ມູນຈາກ 2 ຫາ 64 ບິດໃນເວລາດຽວ. ຄວາມກວ້າງຂອງການປ້ອນຂໍ້ມູນຂອງ 12 ບິດ, 29 ບິດ, ແລະ 64 ບິດ, ເຊິ່ງເຫມາະສົມທີ່ສຸດກັບອຸປະກອນ Intel, ສ້າງຜົນຜະລິດຂອງ 18 ບິດ, 36 ບິດ, ແລະ 72 ບິດຕາມລໍາດັບ. ທ່ານສາມາດຄວບຄຸມການຈໍາກັດການເລືອກ bit ໃນຕົວແກ້ໄຂພາລາມິເຕີ.
7.2. Verilog HDL Prototype (ALTECC_ENCODER)
ຕົ້ນແບບ Verilog HDL ຕໍ່ໄປນີ້ແມ່ນຕັ້ງຢູ່ໃນ Verilog Design File (.v) lpm.v ໃນ ໄດເລກະທໍລີ edasynthesis.
ໂມດູນ altecc_encoder #( ພາຣາມິເຕີ intention_device_family = “ບໍ່ໄດ້ໃຊ້”, ພາຣາມິເຕີ lpm_pipeline = 0, ພາຣາມິເຕີ width_codeword = 8, ພາຣາມິເຕີ width_dataword = 8, ພາຣາມິເຕີ lpm_type = “altecc_encoder”, ພາຣາມິເຕີ lpm_hint = “unused aclr, ປ້ອນຂໍ້ມູນໃສ່. wire clocken, input wire [width_dataword-1:0] data, output wire [width_codeword-1:0] q); ໂມດູນສຸດທ້າຍ
7.3. Verilog HDL Prototype (ALTECC_DECODER)
ຕົ້ນແບບ Verilog HDL ຕໍ່ໄປນີ້ແມ່ນຕັ້ງຢູ່ໃນ Verilog Design File (.v) lpm.v ໃນ ໄດເລກະທໍລີ edasynthesis.
ໂມດູນ altecc_decoder #( ພາຣາມິເຕີ intention_device_family = “ບໍ່ໄດ້ໃຊ້”, ພາຣາມິເຕີ lpm_pipeline = 0, ພາຣາມິເຕີ width_codeword = 8, ພາຣາມິເຕີ width_dataword = 8, ພາຣາມິເຕີ lpm_type = “altecc_decoder”, ພາຣາມິເຕີ lpm_hint = “unused acl”), ປ້ອນຂໍ້ມູນໃສ່. wire clocken, input wire [width_codeword-1:0] data, output wire err_corrected, output wire err_detected, outut wire err_fatal, output wire [width_dataword-1:0] q); ໂມດູນສຸດທ້າຍ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 32
ສົ່ງຄຳຕິຊົມ
7. ALTECC (ລະຫັດການແກ້ໄຂຂໍ້ຜິດພາດ: ຕົວເຂົ້າລະຫັດ/ຕົວຖອດລະຫັດ) IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
7.4. ການປະກາດອົງປະກອບ VHDL (ALTECC_ENCODER)
ການປະກາດອົງປະກອບ VHDL ແມ່ນຢູ່ໃນ VHDL Design File (.vhd) altera_mf_components.vhd ໃນ librariesvhdlaltera_mf directory.
ອົງປະກອບ altecc_encoder generic ( purpose_device_family:string := “unused”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint: string := “UN_USED: string te”; ”); port( aclr:in std_logic := '0'; ໂມງ: in std_logic := '0'; clocken: in std_logic := '1'; data: in std_logic_vector(width_dataword-1 downto 0); q: out std_logic_vector(width_code -1 ລົງ 0)); ອົງປະກອບທ້າຍ;
7.5. ການປະກາດອົງປະກອບ VHDL (ALTECC_DECODER)
ການປະກາດອົງປະກອບ VHDL ແມ່ນຢູ່ໃນ VHDL Design File (.vhd) altera_mf_components.vhd ໃນ librariesvhdlaltera_mf directory.
ອົງປະກອບ altecc_decoder generic ( purpose_device_family:string := “unused”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint: “string := “UN_USED:”; ”); port( aclr:in std_logic := '0'; ໂມງ: in std_logic := '0'; clocken: in std_logic := '1'; data: in std_logic_vector(width_codeword-1 downto 0); err_corrected: out std_logic; : out std_logic q:out std_logic_vector(width_dataword-1 downto 0); ອົງປະກອບທ້າຍ;
7.6. ການປະກາດ VHDL LIBRARY_USE
ການປະກາດ VHDL LIBRARY-USE ແມ່ນບໍ່ຈໍາເປັນຖ້າທ່ານໃຊ້ການປະກາດອົງປະກອບ VHDL.
LIBRARY altera_mf; ໃຊ້ altera_mf.altera_mf_components.all;
7.7. ຜອດຕົວເຂົ້າລະຫັດ
ຕາຕະລາງຕໍ່ໄປນີ້ລາຍຊື່ຜອດຂາເຂົ້າ ແລະຂາອອກສໍາລັບຫຼັກ IP ຂອງຕົວເຂົ້າລະຫັດ ALTECC.
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 33
7. ALTECC (ລະຫັດການແກ້ໄຂຂໍ້ຜິດພາດ: ຕົວເຂົ້າລະຫັດ/ຕົວຖອດລະຫັດ) IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ຕາຕະລາງ 22. ALTECC Encoder Input Ports
ຊື່ຜອດ
ຕ້ອງການ
ລາຍລະອຽດ
ຂໍ້ມູນ[]
ແມ່ນແລ້ວ
ພອດປ້ອນຂໍ້ມູນ. ຂະໜາດຂອງຜອດປ້ອນຂໍ້ມູນແມ່ນຂຶ້ນກັບ WIDTH_DATAWORD
ຄ່າພາລາມິເຕີ. ຜອດຂໍ້ມູນ[] ມີຂໍ້ມູນດິບທີ່ຈະເຂົ້າລະຫັດ.
ໂມງ
ແມ່ນແລ້ວ
ຜອດປ້ອນຂໍ້ມູນໂມງທີ່ໃຫ້ສັນຍານໂມງເພື່ອ synchronize ການດໍາເນີນງານການເຂົ້າລະຫັດ.
ຕ້ອງໃຊ້ພອດໂມງເມື່ອຄ່າ LPM_PIPELINE ຫຼາຍກວ່າ 0.
ໂມງ
ບໍ່
ເປີດໃຊ້ໂມງ. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 1.
aclr
ບໍ່
ການປ້ອນຂໍ້ມູນແບບອະຊິດໂຄຣນັສທີ່ຈະແຈ້ງ. ສັນຍານ aclr ສູງທີ່ມີການເຄື່ອນໄຫວສາມາດຖືກນໍາໃຊ້ໄດ້ທຸກເວລາເພື່ອ
asynchronously ລ້າງການລົງທະບຽນ.
ຕາຕະລາງ 23. ALTECC Encoder Output Ports
ຊື່ຜອດ q[]
ຕ້ອງການ Yes
ລາຍລະອຽດ
ຜອດຜົນຜະລິດຂໍ້ມູນເຂົ້າລະຫັດ. ຂະໜາດຂອງຜອດຜົນຜະລິດແມ່ນຂຶ້ນກັບຄ່າພາລາມິເຕີ WIDTH_CODEWORD.
7.8. ພອດຕົວຖອດລະຫັດ
ຕາຕະລາງຕໍ່ໄປນີ້ລາຍຊື່ຜອດຂາເຂົ້າ ແລະຂາອອກສໍາລັບຫຼັກ IP ຕົວຖອດລະຫັດ ALTECC.
ຕາຕະລາງ 24. ALTECC Decoder Input Ports
ຊື່ຜອດ
ຕ້ອງການ
ລາຍລະອຽດ
ຂໍ້ມູນ[]
ແມ່ນແລ້ວ
ພອດປ້ອນຂໍ້ມູນ. ຂະໜາດຂອງຜອດປ້ອນຂໍ້ມູນແມ່ນຂຶ້ນກັບຄ່າພາຣາມິເຕີ WIDTH_CODEWORD.
ໂມງ
ແມ່ນແລ້ວ
ຜອດປ້ອນຂໍ້ມູນໂມງທີ່ໃຫ້ສັນຍານໂມງເພື່ອ synchronize ການດໍາເນີນງານການເຂົ້າລະຫັດ. ຕ້ອງໃຊ້ພອດໂມງເມື່ອຄ່າ LPM_PIPELINE ຫຼາຍກວ່າ 0.
ໂມງ
ບໍ່
ເປີດໃຊ້ໂມງ. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 1.
aclr
ບໍ່
ການປ້ອນຂໍ້ມູນແບບອະຊິດໂຄຣນັສທີ່ຈະແຈ້ງ. ສັນຍານ aclr ສູງທີ່ໃຊ້ໄດ້ສາມາດໃຊ້ໄດ້ທຸກເວລາເພື່ອລຶບລ້າງການລົງທະບຽນແບບ asynchronously.
ຕາຕະລາງ 25. ALTECC Decoder Output Ports
ຊື່ຜອດ q[]
ຕ້ອງການ Yes
ລາຍລະອຽດ
ຖອດລະຫັດຜອດຜົນຜະລິດຂໍ້ມູນ. ຂະໜາດຂອງຜອດຜົນຜະລິດແມ່ນຂຶ້ນກັບຄ່າພາລາມິເຕີ WIDTH_DATAWORD.
err_detected ແມ່ນແລ້ວ
ທຸງສັນຍານເພື່ອສະທ້ອນສະຖານະຂອງຂໍ້ມູນທີ່ໄດ້ຮັບ ແລະລະບຸຂໍ້ຜິດພາດທີ່ພົບເຫັນ.
err_correcte ແມ່ນແລ້ວ d
ທຸງສັນຍານເພື່ອສະທ້ອນສະຖານະຂອງຂໍ້ມູນທີ່ໄດ້ຮັບ. ຊີ້ໃຫ້ເຫັນຄວາມຜິດພາດພຽງບິດດຽວທີ່ພົບເຫັນ ແລະແກ້ໄຂ. ທ່ານສາມາດນໍາໃຊ້ຂໍ້ມູນໄດ້ເນື່ອງຈາກວ່າມັນໄດ້ຖືກແກ້ໄຂແລ້ວ.
err_fatal
ແມ່ນແລ້ວ
ທຸງສັນຍານເພື່ອສະທ້ອນສະຖານະຂອງຂໍ້ມູນທີ່ໄດ້ຮັບ. ຊີ້ໃຫ້ເຫັນຄວາມຜິດພາດສອງບິດທີ່ພົບເຫັນ, ແຕ່ບໍ່ໄດ້ຮັບການແກ້ໄຂ. ເຈົ້າບໍ່ຕ້ອງໃຊ້ຂໍ້ມູນຖ້າສັນຍານນີ້ຖືກຢືນຢັນ.
syn_e
ບໍ່
ສັນຍານຜົນຜະລິດທີ່ຈະສູງໃນທຸກຄັ້ງທີ່ມີຄວາມຜິດພາດບິດດຽວໄດ້ຖືກກວດພົບຢູ່ໃນ parity
ບິດ.
7.9. ຕົວກໍານົດການເຂົ້າລະຫັດ
ຕາຕະລາງຕໍ່ໄປນີ້ລາຍຊື່ພາລາມິເຕີສໍາລັບຫຼັກ IP ຂອງຕົວເຂົ້າລະຫັດ ALTECC.
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 34
ສົ່ງຄຳຕິຊົມ
7. ALTECC (ລະຫັດການແກ້ໄຂຂໍ້ຜິດພາດ: ຕົວເຂົ້າລະຫັດ/ຕົວຖອດລະຫັດ) IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ຕາຕະລາງ 26. ຕົວກໍານົດການເຂົ້າລະຫັດ ALTECC
ຊື່ພາລາມິເຕີ
ປະເພດ
ຕ້ອງການ
ລາຍລະອຽດ
WIDTH_DATAWORD
ຈຳນວນເຕັມແມ່ນ
ລະບຸຄວາມກວ້າງຂອງຂໍ້ມູນດິບ. ຄ່າແມ່ນຕັ້ງແຕ່ 2 ຫາ 64. ຖ້າລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 8.
WIDTH_CODEWORD
ຈຳນວນເຕັມແມ່ນ
ລະບຸຄວາມກວ້າງຂອງຄໍາສັບລະຫັດທີ່ສອດຄ້ອງກັນ. ຄ່າທີ່ຖືກຕ້ອງແມ່ນຕັ້ງແຕ່ 6 ຫາ 72, ບໍ່ລວມ 9, 17, 33, ແລະ 65. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 13.
LPM_PIPELINE
ຈຳນວນເຕັມ
ກໍານົດທໍ່ສໍາລັບວົງຈອນ. ຄ່າແມ່ນຕັ້ງແຕ່ 0 ຫາ 2. ຖ້າຄ່າແມ່ນ 0, ພອດຕ່າງໆບໍ່ໄດ້ລົງທະບຽນ. ຖ້າຄ່າແມ່ນ 1, ພອດຜົນຜະລິດຖືກລົງທະບຽນ. ຖ້າຄ່າແມ່ນ 2, ຜອດຂາເຂົ້າແລະຜົນຜະລິດຖືກລົງທະບຽນ. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 0.
7.10. ຕົວກໍານົດການຖອດລະຫັດ
ຕາຕະລາງຕໍ່ໄປນີ້ລາຍຊື່ຕົວກໍານົດການຫຼັກ IP ຕົວຖອດລະຫັດ ALTECC.
ຕາຕະລາງ 27. ຕົວກໍານົດການຖອດລະຫັດ ALTECC
ຊື່ພາຣາມິເຕີ WIDTH_DATAWORD
ພິມຈໍານວນເຕັມ
ຕ້ອງການ
ລາຍລະອຽດ
ແມ່ນແລ້ວ
ລະບຸຄວາມກວ້າງຂອງຂໍ້ມູນດິບ. ຄ່າແມ່ນ 2 ຫາ 64. The
ຄ່າເລີ່ມຕົ້ນແມ່ນ 8.
WIDTH_CODEWORD
ຈຳນວນເຕັມ
ແມ່ນແລ້ວ
ລະບຸຄວາມກວ້າງຂອງຄໍາສັບລະຫັດທີ່ສອດຄ້ອງກັນ. ຄຸນຄ່າແມ່ນ 6
ເຖິງ 72, ຍົກເວັ້ນ 9, 17, 33, ແລະ 65. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນ.
ແມ່ນ 13.
LPM_PIPELINE
ຈຳນວນເຕັມ
ບໍ່
ລະບຸການລົງທະບຽນຂອງວົງຈອນ. ຄ່າແມ່ນມາຈາກ 0 ຫາ 2. ຖ້າໄດ້
ຄ່າແມ່ນ 0, ບໍ່ມີການລົງທະບຽນຖືກປະຕິບັດ. ຖ້າຄ່າແມ່ນ 1, the
ຜົນຜະລິດໄດ້ຖືກລົງທະບຽນ. ຖ້າຄ່າແມ່ນ 2, ທັງ input ແລະ the
ຜົນຜະລິດໄດ້ຖືກລົງທະບຽນ. ຖ້າຄ່າໃຫຍ່ກວ່າ 2, ເພີ່ມເຕີມ
ການລົງທະບຽນຖືກປະຕິບັດຢູ່ໃນຜົນຜະລິດສໍາລັບການເພີ່ມເຕີມ
latencies. ຖ້າຖືກລະເວັ້ນ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 0.
ສ້າງພອດ 'syn_e'
ຈຳນວນເຕັມ
ບໍ່
ເປີດພາຣາມິເຕີນີ້ເພື່ອສ້າງຜອດ syn_e.
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 35
683490 | 2020.10.05 ສົ່ງຄຳຕິຊົມ
8. Intel FPGA Multiply Adder IP Core
ຮູບທີ 9.
Intel FPGA Multiply Adder (Intel Stratix 10, Intel Arria 10, ແລະ Intel Cyclone 10 GX ອຸປະກອນ) ຫຼື ALTERA_MULT_ADD (Arria V, Stratix V, ແລະ Cyclone V devices) IP core ອະນຸຍາດໃຫ້ທ່ານປະຕິບັດຕົວຄູນ-adder.
ຕົວເລກຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນພອດສໍາລັບ Intel FPGA Multiply Adder ຫຼື ALTERA_MULT_ADD IP core.
Intel FPGA Multiply Adder ຫຼື ALTERA_MULT_ADD Ports
Intel FPGA Multiply Adder ຫຼື ALTERA_MULT_ADD
dataa[] signa datab[] signb datac[] coefsel0[] coefsel1[] coefsel2[] coefsel3[] addnsub1 addnsub3 aclr/sclr[] scanina[] clock0 clock1 clock2 ena0 ena1 ena2 sload_accum
accum_sload chainin[]
scanouta[] ຜົນ[]
aclr0 aclr1
inst
ຕົວຄູນ-ຕົວເພີ່ມຮັບຄູ່ຂອງວັດສະດຸປ້ອນ, ຄູນຄ່າເຂົ້າກັນແລ້ວບວກໃສ່ ຫຼືຫັກອອກຈາກຜະລິດຕະພັນຂອງຄູ່ອື່ນທັງໝົດ.
ຖ້າຄວາມກວ້າງຂອງຂໍ້ມູນປ້ອນເຂົ້າທັງໝົດມີຄວາມກວ້າງ 9-ບິດ ຫຼືນ້ອຍກວ່າ, ຟັງຊັນຈະໃຊ້ການຕັ້ງຄ່າຕົວຄູນການປ້ອນຂໍ້ມູນ 9 x 9 ບິດໃນບລັອກ DSP ສໍາລັບອຸປະກອນທີ່ຮອງຮັບການຕັ້ງຄ່າ 9 x 9. ຖ້າບໍ່ແມ່ນ, DSP block ໃຊ້ຕົວຄູນ input 18 × 18-bit ເພື່ອປະມວນຜົນຂໍ້ມູນທີ່ມີຄວາມກວ້າງລະຫວ່າງ 10 bits ແລະ 18 bits. ຖ້າ Intel FPGA Multiply Adder ຫຼື ALTERA_MULT_ADD IP cores ເກີດຂື້ນໃນການອອກແບບ, ຟັງຊັນຕ່າງໆຈະຖືກແຈກຢາຍເປັນ.
ບໍລິສັດ Intel. ສະຫງວນລິຂະສິດທັງໝົດ. Intel, ໂລໂກ້ Intel, ແລະເຄື່ອງໝາຍ Intel ອື່ນໆແມ່ນເຄື່ອງໝາຍການຄ້າຂອງ Intel Corporation ຫຼືບໍລິສັດຍ່ອຍຂອງມັນ. Intel ຮັບປະກັນປະສິດທິພາບຂອງຜະລິດຕະພັນ FPGA ແລະ semiconductor ຂອງຕົນຕໍ່ກັບຂໍ້ມູນຈໍາເພາະໃນປະຈຸບັນໂດຍສອດຄ່ອງກັບການຮັບປະກັນມາດຕະຖານຂອງ Intel, ແຕ່ສະຫງວນສິດທີ່ຈະປ່ຽນແປງຜະລິດຕະພັນແລະການບໍລິການໄດ້ທຸກເວລາໂດຍບໍ່ມີການແຈ້ງການ. Intel ຖືວ່າບໍ່ມີຄວາມຮັບຜິດຊອບ ຫຼືຄວາມຮັບຜິດຊອບທີ່ເກີດຂຶ້ນຈາກແອັບພລິເຄຊັນ ຫຼືການນຳໃຊ້ຂໍ້ມູນ, ຜະລິດຕະພັນ, ຫຼືບໍລິການໃດໜຶ່ງທີ່ໄດ້ອະທິບາຍໄວ້ໃນນີ້ ຍົກເວັ້ນຕາມທີ່ໄດ້ຕົກລົງຢ່າງຈະແຈ້ງໃນລາຍລັກອັກສອນໂດຍ Intel. ລູກຄ້າ Intel ໄດ້ຮັບຄໍາແນະນໍາໃຫ້ໄດ້ຮັບສະບັບຫລ້າສຸດຂອງຂໍ້ມູນຈໍາເພາະຂອງອຸປະກອນກ່ອນທີ່ຈະອີງໃສ່ຂໍ້ມູນໃດໆທີ່ຈັດພີມມາແລະກ່ອນທີ່ຈະວາງຄໍາສັ່ງສໍາລັບຜະລິດຕະພັນຫຼືການບໍລິການ. *ຊື່ ແລະຍີ່ຫໍ້ອື່ນໆອາດຈະຖືກອ້າງວ່າເປັນຊັບສິນຂອງຄົນອື່ນ.
ISO 9001:2015 ລົງທະບຽນ
8. Intel FPGA Multiply Adder IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ຕັນ DSP ທີ່ແຕກຕ່າງກັນຫຼາຍເທົ່າທີ່ເປັນໄປໄດ້ເພື່ອໃຫ້ເສັ້ນທາງໄປສູ່ຕັນເຫຼົ່ານີ້ມີຄວາມຍືດຫຍຸ່ນຫຼາຍ. ຕົວຄູນໜ້ອຍລົງຕໍ່ບລັອກ DSP ອະນຸຍາດໃຫ້ມີການເລືອກເສັ້ນທາງຫຼາຍຂຶ້ນໃນບລັອກໂດຍການຫຼຸດເສັ້ນທາງໄປຫາສ່ວນທີ່ເຫຼືອຂອງອຸປະກອນ.
ການລົງທະບຽນແລະການລົງທະບຽນທໍ່ພິເສດສໍາລັບສັນຍານຕໍ່ໄປນີ້ຍັງຖືກຈັດໃສ່ຢູ່ໃນບລັອກ DSP: · ການປ້ອນຂໍ້ມູນ · ເຊັນ ຫຼືບໍ່ໄດ້ເຊັນເລືອກ · ເພີ່ມຫຼືລົບເລືອກ · ຜະລິດຕະພັນຂອງຕົວຄູນ
ໃນກໍລະນີຂອງຜົນໄດ້ຮັບ, ການລົງທະບຽນທໍາອິດແມ່ນຖືກຈັດໃສ່ໃນບລັອກ DSP. ຢ່າງໃດກໍຕາມ, ການລົງທະບຽນ latency ພິເສດແມ່ນຖືກຈັດໃສ່ໃນອົງປະກອບຕາມເຫດຜົນຢູ່ນອກຕັນ. ອຸປະກອນຕໍ່ໃສ່ກັບຕັນ DSP, ລວມທັງການປ້ອນຂໍ້ມູນໄປຫາຕົວຄູນ, ການຄວບຄຸມສັນຍານເຂົ້າ, ແລະຜົນຜະລິດຂອງ adder, ໃຊ້ເສັ້ນທາງປົກກະຕິເພື່ອຕິດຕໍ່ສື່ສານກັບສ່ວນທີ່ເຫຼືອຂອງອຸປະກອນ. ການເຊື່ອມຕໍ່ທັງຫມົດໃນການທໍາງານການນໍາໃຊ້ເສັ້ນທາງທີ່ອຸທິດຕົນຢູ່ໃນ block DSP. ເສັ້ນທາງທີ່ອຸທິດຕົນນີ້ປະກອບມີຕ່ອງໂສ້ການລົງທະບຽນ shift ເມື່ອທ່ານເລືອກທາງເລືອກທີ່ຈະປ່ຽນຂໍ້ມູນການປ້ອນເຂົ້າທີ່ລົງທະບຽນຂອງຕົວຄູນຈາກຕົວຄູນຫນຶ່ງໄປຫາຕົວຄູນທີ່ຢູ່ໃກ້ຄຽງ.
ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບ DSP blocks ໃນຊຸດອຸປະກອນ Stratix V, ແລະ Arria V, ເບິ່ງບົດ DSP Blocks ຂອງປື້ມຄູ່ມືທີ່ກ່ຽວຂ້ອງໃນຫນ້າວັນນະຄະດີແລະເອກະສານດ້ານວິຊາການ.
ຂໍ້ມູນທີ່ກ່ຽວຂ້ອງ AN 306: ການປະຕິບັດຕົວຄູນໃນອຸປະກອນ FPGA
ສະໜອງຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບການຈັດຕັ້ງປະຕິບັດຕົວຄູນໂດຍໃຊ້ DSP ແລະ ໜ່ວຍຄວາມຈຳໃນອຸປະກອນ Intel FPGA.
8.1. ຄຸນສົມບັດ
Intel FPGA Multiply Adder ຫຼື ALTERA_MULT_ADD IP core ສະຫນອງຄຸນສົມບັດດັ່ງຕໍ່ໄປນີ້: · ສ້າງຕົວຄູນເພື່ອປະຕິບັດການຄູນຂອງສອງສະລັບສັບຊ້ອນ
ຫມາຍເຫດ: ໃນເວລາທີ່ການກໍ່ສ້າງຕົວຄູນຂະຫນາດໃຫຍ່ກ່ວາຂະຫນາດສະຫນັບສະຫນູນໂດຍພື້ນເມືອງອາດຈະ /
ຈະເປັນຜົນກະທົບດ້ານການປະຕິບັດທີ່ເປັນຜົນມາຈາກ cascading ຂອງຕັນ DSP. · ຮອງຮັບຄວາມກວ້າງຂອງຂໍ້ມູນ 1 256 bits · ຮອງຮັບຮູບແບບການສະແດງຂໍ້ມູນທີ່ມີລາຍເຊັນ ແລະ ບໍ່ໄດ້ລົງລາຍເຊັນ · ຮອງຮັບການວາງທໍ່ກັບລະບົບການປ້ອນຂໍ້ມູນທີ່ກຳນົດຄ່າໄດ້ · ສະໜອງທາງເລືອກໃນການສະຫຼັບຂໍ້ມູນແບບໄດນາມິກລະຫວ່າງການຮອງຮັບຂໍ້ມູນທີ່ມີລາຍເຊັນ ແລະ ບໍ່ໄດ້ເຊັນ · ສະໜອງທາງເລືອກໃນການສະຫຼັບແບບໄດນາມິກລະຫວ່າງການເພີ່ມ ແລະ ການຫັກລົບ · ຮອງຮັບ ທາງເລືອກ asynchronous ແລະ synchronous ຈະແຈ້ງແລະໂມງເປີດຜອດປ້ອນເຂົ້າ · ສະຫນັບສະຫນູນໂຫມດລົງທະບຽນການຊັກຊ້າ systolic · ສະຫນັບສະຫນູນ pre-adder ກັບ 8 ຄ່າສໍາປະສິດ pre-load ຕໍ່ຕົວຄູນ · ສະຫນັບສະຫນູນ pre-load ຄົງທີ່ເພື່ອປະກອບຄໍາຄິດເຫັນ accumulator
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 37
8. Intel FPGA Multiply Adder IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
8.1.1. ຕື່ມກ່ອນ
ດ້ວຍຕົວບວກກ່ອນ, ການບວກ ຫຼື ການຫັກລົບແມ່ນເຮັດກ່ອນທີ່ຈະໃຫ້ອາຫານຕົວຄູນ.
ມີຫ້າໂຫມດກ່ອນ adder: · ໂຫມດງ່າຍໆ · ໂໝດຄ່າສຳປະສິດ · ໂໝດປ້ອນຂໍ້ມູນ · ໂໝດສີ່ຫຼ່ຽມ · ໂໝດຄົງທີ່
ໝາຍເຫດ:
ເມື່ອຕົວເພີ່ມຖືກໃຊ້ (ຄ່າສຳປະສິດກ່ອນຕົວເພີ່ມ/ການປ້ອນ/ໂໝດສີ່ຫຼ່ຽມ), ການປ້ອນຂໍ້ມູນທັງໝົດໄປຫາຕົວຄູນຈະຕ້ອງມີການຕັ້ງຄ່າໂມງດຽວກັນ.
8.1.1.1. Pre-adder ຮູບແບບງ່າຍດາຍ
ໃນໂຫມດນີ້, ທັງສອງ operands ໄດ້ມາຈາກພອດຂາເຂົ້າແລະ pre-adder ບໍ່ໄດ້ຖືກນໍາໃຊ້ຫຼື bypassed. ນີ້ແມ່ນໂໝດເລີ່ມຕົ້ນ.
ຮູບທີ 10. Pre-adder Simple Mode
a0 b0
ຫຼາຍ0
ຜົນໄດ້ຮັບ
8.1.1.2. ໂໝດຄ່າສຳປະສິດລ່ວງໜ້າ
ໃນໂຫມດນີ້, ຕົວຄູນຕົວຄູນຫນຶ່ງມາຈາກຕົວຕື່ມກ່ອນ, ແລະຕົວປະຕິບັດການອື່ນມາຈາກຕົວຄູນພາຍໃນ. ການເກັບຮັກສາຄ່າສໍາປະສິດອະນຸຍາດໃຫ້ເຖິງ 8 ຄົງທີ່ preset. ສັນຍານການຄັດເລືອກຄ່າສໍາປະສິດແມ່ນ coefsel[0..3].
ຮູບແບບນີ້ແມ່ນສະແດງອອກໃນສົມຜົນຕໍ່ໄປນີ້.
ຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນຮູບແບບຄ່າສໍາປະສິດກ່ອນການເພີ່ມຂອງຕົວຄູນ.
ຮູບທີ 11. Pre-adder Coefficient Mode
ພີດເດີ
a0
ຫຼາຍ0
+/-
ຜົນໄດ້ຮັບ
b0
coefs0 coef
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 38
ສົ່ງຄຳຕິຊົມ
8. Intel FPGA Multiply Adder IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
8.1.1.3. ໂຫມດການປ້ອນຂໍ້ມູນລ່ວງໜ້າຂອງຕົວເພີ່ມ ໃນໂໝດນີ້, ຕົວຄູນຕົວຄູນອັນໜຶ່ງມາຈາກຕົວເພີ່ມຕື່ມ, ແລະ ໂຕດຳເນີນການອີກອັນໜຶ່ງມາຈາກພອດປ້ອນຂໍ້ມູນຂໍ້ມູນ. ຮູບແບບນີ້ແມ່ນສະແດງອອກໃນສົມຜົນຕໍ່ໄປນີ້.
ຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນຮູບແບບການປ້ອນຂໍ້ມູນເບື້ອງຕົ້ນຂອງຕົວຄູນ.
ຮູບທີ 12. Pre-adder Input Mode
a0 b0
ຫຼາຍ0
+/-
ຜົນໄດ້ຮັບ
c0
8.1.1.4. Pre-adder Square Mode ຮູບແບບນີ້ແມ່ນສະແດງອອກໃນສົມຜົນຕໍ່ໄປນີ້.
ຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນຮູບແບບສີ່ຫຼ່ຽມກ່ອນການເພີ່ມຂອງສອງຕົວຄູນ.
ຮູບທີ 13. Pre-adder Square Mode
a0 b0
ຫຼາຍ0
+/-
ຜົນໄດ້ຮັບ
8.1.1.5. Pre-adder ຮູບແບບຄົງທີ່
ໃນໂຫມດນີ້, ຕົວຄູນຕົວຄູນຫນຶ່ງມາຈາກຜອດປ້ອນຂໍ້ມູນ, ແລະຕົວປະຕິບັດການອື່ນມາຈາກຕົວຄູນພາຍໃນ. ການເກັບຮັກສາຄ່າສໍາປະສິດອະນຸຍາດໃຫ້ເຖິງ 8 ຄົງທີ່ preset. ສັນຍານການຄັດເລືອກຄ່າສໍາປະສິດແມ່ນ coefsel[0..3].
ຮູບແບບນີ້ແມ່ນສະແດງອອກໃນສົມຜົນຕໍ່ໄປນີ້.
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 39
8. Intel FPGA Multiply Adder IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ຕົວເລກຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນຮູບແບບຄົງທີ່ທາງສ່ວນຫນ້າຂອງຕົວຄູນ.
ຮູບທີ 14. Pre-adder Constant Mode
a0
ຫຼາຍ0
ຜົນໄດ້ຮັບ
coefsel0
coef
8.1.2. ລົງທະບຽນ Systolic Delay
ໃນສະຖາປັດຕະຍະກໍາ systolic, ຂໍ້ມູນການປ້ອນຂໍ້ມູນຖືກປ້ອນເຂົ້າໄປໃນບ່ອນເກັບມ້ຽນຂອງທະບຽນທີ່ເຮັດໜ້າທີ່ເປັນ buffer ຂໍ້ມູນ. ແຕ່ລະທະບຽນສະຫນອງການປ້ອນຂໍ້ມູນ sample ໄປຫາຕົວຄູນທີ່ມັນຖືກຄູນດ້ວຍຄ່າສໍາປະສິດຕາມລໍາດັບ. ຕົວເສີມລະບົບຕ່ອງໂສ້ເກັບຮັກສາຜົນໄດ້ຮັບທີ່ປະສົມປະສານຄ່ອຍໆຈາກຕົວຄູນແລະຜົນໄດ້ຮັບທີ່ລົງທະບຽນກ່ອນຫນ້ານີ້ຈາກພອດປ້ອນລະບົບຕ່ອງໂສ້[] ເພື່ອສ້າງຜົນໄດ້ຮັບສຸດທ້າຍ. ແຕ່ລະອົງປະກອບການເພີ່ມຄູນຕ້ອງຖືກຊັກຊ້າໂດຍຮອບວຽນດຽວເພື່ອໃຫ້ຜົນໄດ້ຮັບ synchronize ເຫມາະສົມເມື່ອເພີ່ມເຂົ້າກັນ. ແຕ່ລະຄວາມລ່າຊ້າຕໍ່ເນື່ອງຖືກໃຊ້ເພື່ອແກ້ໄຂທັງຄວາມຊົງຈໍາຂອງຄ່າສໍາປະສິດ ແລະ buffer ຂໍ້ມູນຂອງອົງປະກອບການເພີ່ມຄູນຂອງເຂົາເຈົ້າ. ຕົວຢ່າງample, ຄວາມລ່າຊ້າດຽວສໍາລັບການເພີ່ມອົງປະກອບທີສອງ, ການຊັກຊ້າສອງສໍາລັບອົງປະກອບການຄູນທີ່ສາມ, ແລະອື່ນໆ.
ຮູບທີ 15. Systolic Registers
ລົງທະບຽນ Systolic
x(t) c(0)
S -1
S -1
c(1)
S -1
S -1
c(2)
S -1
S -1
c(N-1)
S -1
S -1
S -1
S -1 y(t)
x(t) ສະແດງຜົນມາຈາກການປ້ອນຂໍ້ມູນຢ່າງຕໍ່ເນື່ອງ samples ແລະ y(t)
ສະແດງໃຫ້ເຫັນເຖິງການລວມເອົາຊຸດຂອງວັດສະດຸປ້ອນ samples, ແລະໃນເວລາ, ຄູນດ້ວຍພວກມັນ
ຄ່າສໍາປະສິດຕາມລໍາດັບ. ຜົນໄດ້ຮັບທັງ input ແລະ output ໄຫຼຈາກຊ້າຍໄປຂວາ. c(0) ຫາ c(N-1) ຫມາຍເຖິງຄ່າສໍາປະສິດ. ການລົງທະບຽນຄວາມລ່າຊ້າຂອງ systolic ແມ່ນສະແດງໂດຍ S-1, ໃນຂະນະທີ່ 1 ສະແດງເຖິງການຊັກຊ້າໂມງດຽວ. ການລົງທະບຽນຄວາມລ່າຊ້າ Systolic ແມ່ນເພີ່ມຢູ່ທີ່
ວັດສະດຸປ້ອນແລະຜົນຜະລິດສໍາລັບການວາງທໍ່ໃນວິທີການທີ່ຮັບປະກັນຜົນໄດ້ຮັບຈາກ
ໂຕປະຕິບັດການຕົວຄູນ ແລະຜົນບວກທີ່ສະສົມຢູ່ໃນ synch. ອົງປະກອບການປຸງແຕ່ງນີ້
ຖືກຈຳລອງເພື່ອສ້າງເປັນວົງຈອນທີ່ຄຳນວນຟັງຊັນການກັ່ນຕອງ. ຫນ້າທີ່ນີ້ແມ່ນ
ສະແດງອອກໃນສົມຜົນຕໍ່ໄປນີ້.
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 40
ສົ່ງຄຳຕິຊົມ
8. Intel FPGA Multiply Adder IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
N ເປັນຕົວແທນຂອງຈໍານວນຮອບວຽນຂອງຂໍ້ມູນທີ່ເຂົ້າໄປໃນ accumulator, y(t) ເປັນຕົວແທນຂອງຜົນຜະລິດໃນເວລາ t, A(t) ເປັນຕົວແທນຂອງ input ໃນເວລາ t, ແລະ B(i) ແມ່ນຄ່າສໍາປະສິດ. t ແລະ i ໃນສົມຜົນແມ່ນກົງກັນກັບທັນທີໂດຍສະເພາະໃນເວລາ, ດັ່ງນັ້ນເພື່ອຄິດໄລ່ຜົນຜະລິດ s.ample y(t) at time t, ກຸ່ມການປ້ອນຂໍ້ມູນ samples ຢູ່ N ຈຸດທີ່ແຕກຕ່າງກັນໃນເວລາ, ຫຼື A(n), A(n-1), A(n-2), … A(n-N+1) ແມ່ນຕ້ອງການ. ກຸ່ມຂອງ N input samples ຖືກຄູນດ້ວຍຄ່າສໍາປະສິດ N ແລະລວມເຂົ້າກັນເພື່ອສ້າງຜົນໄດ້ຮັບສຸດທ້າຍ y.
ສະຖາປັດຕະຍະກຳການລົງທະບຽນ systolic ສາມາດໃຊ້ໄດ້ສະເພາະສຳລັບໂໝດຜົນລວມຂອງ 2 ແລະ sum-of-4 ເທົ່ານັ້ນ. ສໍາລັບທັງສອງໂຫມດສະຖາປັດຕະຍະກໍາ systolic, ສັນຍານລະບົບຕ່ອງໂສ້ທໍາອິດຈໍາເປັນຕ້ອງຖືກຜູກມັດກັບ 0.
ຕົວເລກຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນການປະຕິບັດການລົງທະບຽນການຊັກຊ້າຂອງ systolic ຂອງ 2 ຕົວຄູນ.
ຮູບທີ 16. Systolic Delay ລົງທະບຽນການປະຕິບັດ 2 ຕົວຄູນ
ໂສ້
a0
ຫຼາຍ0
+/-
b0
a1
ຫຼາຍ1
+/-
b1
ຜົນໄດ້ຮັບ
ຜົນບວກຂອງຕົວຄູນສອງແມ່ນສະແດງອອກໃນສົມຜົນຕໍ່ໄປນີ້.
ຕົວເລກຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນການປະຕິບັດການລົງທະບຽນການຊັກຊ້າຂອງ systolic ຂອງ 4 ຕົວຄູນ.
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 41
8. Intel FPGA Multiply Adder IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ຮູບທີ 17. Systolic Delay ລົງທະບຽນການປະຕິບັດ 4 ຕົວຄູນ
ໂສ້
a0
ຫຼາຍ0
+/-
b0
a1
ຫຼາຍ1
+/-
b1
a2
ຫຼາຍ2
+/-
b2
a3
ຫຼາຍ3
+/-
b3
ຜົນໄດ້ຮັບ
ຜົນລວມຂອງສີ່ຕົວຄູນແມ່ນສະແດງອອກໃນສົມຜົນຕໍ່ໄປນີ້. ຮູບທີ 18. ຜົນບວກຂອງ 4 ຕົວຄູນ
ຕໍ່ໄປນີ້ບັນຊີລາຍຊື່ advan ໄດ້tages ຂອງການປະຕິບັດການລົງທະບຽນ systolic: · ຫຼຸດຜ່ອນການໃຊ້ຊັບພະຍາກອນ DSP · ເປີດໃຊ້ການສ້າງແຜນທີ່ທີ່ມີປະສິດທິພາບໃນ DSP block ໂດຍໃຊ້ໂຄງສ້າງລະບົບຕ່ອງໂສ້ adder.
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 42
ສົ່ງຄຳຕິຊົມ
8. Intel FPGA Multiply Adder IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
8.1.3. Pre-load Constant
ການໂຫຼດຄົງທີ່ກ່ອນການໂຫຼດຈະຄວບຄຸມຕົວປະຕິບັດການສະສົມ ແລະປະກອບຄຳຄິດເຫັນຂອງຕົວສະສົມ. LOADCONST_VALUE ທີ່ຖືກຕ້ອງແມ່ນຕັ້ງແຕ່ 0. ຄ່າຄົງທີ່ເທົ່າກັບ 64N, ບ່ອນທີ່ N = LOADCONST_VALUE. ເມື່ອ LOADCONST_VALUE ຖືກຕັ້ງເປັນ 2, ຄ່າຄົງທີ່ແມ່ນເທົ່າກັບ 64. ຟັງຊັນນີ້ສາມາດໃຊ້ເປັນຮອບອະຄະຕິໄດ້.
ຕົວເລກຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນການປະຕິບັດຄົງທີ່ກ່ອນການໂຫຼດ.
ຮູບທີ 19. Pre-load Constant
ຄໍາຄຶດຄໍາເຫັນສະສົມ
ຄົງທີ່
a0
ຫຼາຍ0
+/-
b0
a1
ຫຼາຍ1
+/b1
ຜົນໄດ້ຮັບ
accum_sload sload_accum
ອ້າງອີງເຖິງຫຼັກ IP ຕໍ່ໄປນີ້ສຳລັບການຈັດຕັ້ງປະຕິບັດຕົວຄູນອື່ນໆ: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. Double Accumulator
ຄຸນສົມບັດການສະສົມສອງເທົ່າຈະເພີ່ມການລົງທະບຽນເພີ່ມເຕີມໃນເສັ້ນທາງຕໍານິຕິຊົມສະສົມ. ທະບຽນສະສົມສອງເທົ່າປະຕິບັດຕາມທະບຽນຜົນຜະລິດ, ເຊິ່ງປະກອບມີໂມງ, ໂມງເປີດ, ແລະ aclr. ການລົງທະບຽນສະສົມເພີ່ມເຕີມຈະສົ່ງຄືນຜົນໄດ້ຮັບດ້ວຍການຊັກຊ້າຫນຶ່ງຮອບ. ຄຸນນະສົມບັດນີ້ເຮັດໃຫ້ທ່ານມີສອງຊ່ອງສະສົມທີ່ມີການນັບຊັບພະຍາກອນດຽວກັນ.
ຕົວເລກຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນການປະຕິບັດການສະສົມສອງເທົ່າ.
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 43
8. Intel FPGA Multiply Adder IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ຮູບທີ 20. Double Accumulator
Dou ble Accu mulator ລົງທະບຽນ
Accu mulator feedba ck
a0
ຫຼາຍ0
+/-
b0
a1
ຫຼາຍ1
+/b1
ຜົນໄດ້ຮັບ Output Register
8.2. Verilog HDL Prototype
ທ່ານສາມາດຊອກຫາ Intel FPGA Multiply Adder ຫຼື ALTERA_MULT_ADD Verilog HDL prototype file (altera_mult_add_rtl.v) ໃນ libraries megafunctions directory.
8.3. ການປະກາດອົງປະກອບ VHDL
ການປະກາດອົງປະກອບ VHDL ແມ່ນຢູ່ໃນ altera_lnsim_components.vhd ໃນ librariesvhdl altera_lnsim directory.
8.4. ການປະກາດ VHDL LIBRARY_USE
ການປະກາດ VHDL LIBRARY-USE ແມ່ນບໍ່ຈໍາເປັນຖ້າທ່ານໃຊ້ການປະກາດອົງປະກອບ VHDL.
LIBRARY altera_mf; ໃຊ້ altera_mf.altera_mf_components.all;
8.5. ສັນຍານ
ຕາຕະລາງຕໍ່ໄປນີ້ລາຍຊື່ສັນຍານເຂົ້າ ແລະຜົນຜະລິດຂອງ Multiply Adder Intel FPGA IPor ALTERA_MULT_ADD IP core.
ຕາຕະລາງ 28. Multiply Adder Intel FPGA IPor ALTERA_MULT_ADD Input Signals
ສັນຍານ
ຕ້ອງການ
ລາຍລະອຽດ
dataa_0[]/dataa_1[]/
ແມ່ນແລ້ວ
dataa_2[]/dataa_3[]
ການປ້ອນຂໍ້ມູນໃສ່ຕົວຄູນ. ຜອດປ້ອນເຂົ້າ [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1 … 0] ກວ້າງ
ສືບຕໍ່…
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 44
ສົ່ງຄຳຕິຊົມ
8. Intel FPGA Multiply Adder IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ສັນຍານ datab_0[]/datab_1[]/ datab_2[]/datab_3[] datac_0[] /datac_1[]/ datac_2[]/datac_3[] ໂມງ[1:0] aclr[1:0] sclr[1:0] ena [1:0] ສັນຍານ
ປ້າຍ
scanina[] accum_sload
ຕ້ອງການ Yes No
ບໍ່ມີບໍ່ແມ່ນບໍ່
ບໍ່
ບໍ່ມີ No
ລາຍລະອຽດ
ຮູບແບບການຈໍາລອງສໍາລັບ IP ນີ້ຮອງຮັບການປ້ອນຂໍ້ມູນທີ່ບໍ່ມີກໍານົດ (X) ຕໍ່ກັບສັນຍານເຫຼົ່ານີ້. ເມື່ອທ່ານໃຫ້ຄ່າ X ກັບສັນຍານເຫຼົ່ານີ້, ຄ່າ X ຈະຖືກຂະຫຍາຍພັນຢູ່ໃນສັນຍານຜົນຜະລິດ.
ການປ້ອນຂໍ້ມູນໃສ່ຕົວຄູນ. ສັນຍານເຂົ້າ [NUMBER_OF_MULTIPLIERS * WIDTH_B – 1 … 0] ກວ້າງ ຕົວແບບຈໍາລອງສໍາລັບ IP ນີ້ຮອງຮັບຄ່າ input ທີ່ບໍ່ໄດ້ກໍານົດ (X) ຕໍ່ກັບສັນຍານເຫຼົ່ານີ້. ເມື່ອທ່ານໃຫ້ຄ່າ X ກັບສັນຍານເຫຼົ່ານີ້, ຄ່າ X ຈະຖືກຂະຫຍາຍພັນຢູ່ໃນສັນຍານຜົນຜະລິດ.
ການປ້ອນຂໍ້ມູນໃສ່ຕົວຄູນ. ສັນຍານປ້ອນຂໍ້ມູນ [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] wide ເລືອກ INPUT ສຳລັບເລືອກພາຣາມິເຕີຂອງໂໝດຕົວພິມເພື່ອເປີດໃຊ້ສັນຍານເຫຼົ່ານີ້. ຮູບແບບການຈໍາລອງສໍາລັບ IP ນີ້ຮອງຮັບການປ້ອນຂໍ້ມູນທີ່ບໍ່ມີກໍານົດ (X) ຕໍ່ກັບສັນຍານເຫຼົ່ານີ້. ເມື່ອທ່ານໃຫ້ຄ່າ X ກັບສັນຍານເຫຼົ່ານີ້, ຄ່າ X ຈະຖືກຂະຫຍາຍພັນຢູ່ໃນສັນຍານຜົນຜະລິດ.
ຜອດປ້ອນໂມງເຂົ້າກັບທະບຽນທີ່ສອດຄ້ອງກັນ. ສັນຍານນີ້ສາມາດຖືກນໍາໃຊ້ໂດຍການລົງທະບຽນໃດໆໃນຫຼັກ IP. ຮູບແບບການຈໍາລອງສໍາລັບ IP ນີ້ຮອງຮັບການປ້ອນຂໍ້ມູນທີ່ບໍ່ມີກໍານົດ (X) ຕໍ່ກັບສັນຍານເຫຼົ່ານີ້. ເມື່ອທ່ານໃຫ້ຄ່າ X ກັບສັນຍານເຫຼົ່ານີ້, ຄ່າ X ຈະຖືກຂະຫຍາຍພັນຢູ່ໃນສັນຍານຜົນຜະລິດ.
Asynchronous input ທີ່ຈະແຈ້ງໄປຫາທະບຽນທີ່ສອດຄ້ອງກັນ. ຮູບແບບການຈໍາລອງສໍາລັບ IP ນີ້ຮອງຮັບການປ້ອນຂໍ້ມູນທີ່ບໍ່ມີກໍານົດ (X) ຕໍ່ກັບສັນຍານເຫຼົ່ານີ້. ເມື່ອທ່ານໃຫ້ຄ່າ X ກັບສັນຍານເຫຼົ່ານີ້, ຄ່າ X ຈະຖືກຂະຫຍາຍພັນຢູ່ໃນສັນຍານຜົນຜະລິດ.
synchronous input ທີ່ຈະແຈ້ງໄປຫາທະບຽນທີ່ສອດຄ້ອງກັນ. ຮູບແບບການຈໍາລອງສໍາລັບ IP ນີ້ສະຫນັບສະຫນູນມູນຄ່າການປ້ອນຂໍ້ມູນ X ທີ່ບໍ່ໄດ້ກໍານົດກັບສັນຍານເຫຼົ່ານີ້. ເມື່ອທ່ານໃຫ້ຄ່າ X ກັບສັນຍານເຫຼົ່ານີ້, ຄ່າ X ຈະຖືກຂະຫຍາຍພັນຢູ່ໃນສັນຍານຜົນຜະລິດ
ເປີດໃຊ້ສັນຍານເຂົ້າກັບທະບຽນທີ່ສອດຄ້ອງກັນ. ຮູບແບບການຈໍາລອງສໍາລັບ IP ນີ້ຮອງຮັບການປ້ອນຂໍ້ມູນທີ່ບໍ່ມີກໍານົດ (X) ຕໍ່ກັບສັນຍານເຫຼົ່ານີ້. ເມື່ອທ່ານໃຫ້ຄ່າ X ກັບສັນຍານເຫຼົ່ານີ້, ຄ່າ X ຈະຖືກຂະຫຍາຍພັນຢູ່ໃນສັນຍານຜົນຜະລິດ.
ລະບຸຕົວເລກສະແດງຕົວຄູນຂອງຕົວຄູນ A. ຖ້າສັນຍານສັນຍານສູງ, ຕົວຄູນປະຕິບັດສັນຍານຕົວຄູນ A ເປັນຕົວເລກລົງລາຍເຊັນ. ຖ້າສັນຍານສັນຍານຕໍ່າ, ຕົວຄູນປະຕິບັດຕໍ່ສັນຍານຕົວຄູນ A ເປັນຕົວເລກທີ່ບໍ່ໄດ້ເຊັນ. ເລືອກ VARIABLE ສໍາລັບຮູບແບບການສະແດງຕົວຄູນຂອງຕົວຄູນ A ແມ່ນຫຍັງເພື່ອເປີດໃຊ້ສັນຍານນີ້. ຮູບແບບການຈໍາລອງສໍາລັບ IP ນີ້ຮອງຮັບການປ້ອນຂໍ້ມູນທີ່ບໍ່ມີກໍານົດ (X) ຕໍ່ກັບສັນຍານນີ້. ເມື່ອທ່ານໃຫ້ຄ່າ X ຕໍ່ການປ້ອນຂໍ້ມູນນີ້, ຄ່າ X ຈະຖືກຂະຫຍາຍພັນຢູ່ໃນສັນຍານຜົນຜະລິດ.
ລະບຸການເປັນຕົວແທນຕົວເລກຂອງສັນຍານຕົວຄູນ B. ຖ້າສັນຍານສັນຍານສູງ, ຕົວຄູນປະຕິບັດສັນຍານຕົວຄູນທີ່ປ້ອນຂໍ້ມູນ B ເປັນຕົວເລກບວກຂອງສອງເຊັນ. ຖ້າສັນຍານສັນຍານຕ່ຳ, ຕົວຄູນປະຕິບັດຕໍ່ຕົວຄູນທີ່ປ້ອນສັນຍານ B ເປັນຕົວເລກທີ່ບໍ່ໄດ້ເຊັນ. ຮູບແບບຈຳລອງສຳລັບ IP ນີ້ຮອງຮັບການປ້ອນຂໍ້ມູນທີ່ບໍ່ລະບຸ (X) ຕໍ່ກັບສັນຍານນີ້. ເມື່ອທ່ານໃຫ້ຄ່າ X ຕໍ່ການປ້ອນຂໍ້ມູນນີ້, ຄ່າ X ຈະຖືກຂະຫຍາຍພັນຢູ່ໃນສັນຍານຜົນຜະລິດ.
Input for scan chain A. ສັນຍານເຂົ້າ [WIDTH_A – 1, … 0] ກວ້າງ. ເມື່ອພາຣາມິເຕີ INPUT_SOURCE_A ມີມູນຄ່າ SCANA, ຕ້ອງມີສັນຍານ scanina[].
ໄດນາມິກກໍານົດວ່າຄ່າສະສົມແມ່ນຄົງທີ່. ຖ້າສັນຍານ accum_sload ຕໍ່າ, ຫຼັງຈາກນັ້ນ, ຜົນຜະລິດຕົວຄູນຈະຖືກໂຫລດເຂົ້າໄປໃນ accumulator. ຢ່າໃຊ້ accum_sload ແລະ sload_accum ພ້ອມກັນ.
ສືບຕໍ່…
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 45
8. Intel FPGA Multiply Adder IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ສັນຍານ sload_accum
chainin[] addnsub1
addnsub3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]
ຕ້ອງການ No
ບໍ່ມີ No
ບໍ່
ບໍ່ ບໍ່ ບໍ່ ບໍ່
ລາຍລະອຽດ
ຮູບແບບຈຳລອງສຳລັບ IP ນີ້ຮອງຮັບການປ້ອນຂໍ້ມູນທີ່ບໍ່ລະບຸ (X) ຕໍ່ກັບສັນຍານນີ້. ເມື່ອທ່ານໃຫ້ຄ່າ X ຕໍ່ການປ້ອນຂໍ້ມູນນີ້, ຄ່າ X ຈະຖືກຂະຫຍາຍພັນຢູ່ໃນສັນຍານຜົນຜະລິດ.
ໄດນາມິກກໍານົດວ່າຄ່າສະສົມແມ່ນຄົງທີ່. ຖ້າສັນຍານ sload_accum ແມ່ນສູງ, ຫຼັງຈາກນັ້ນ, ຜົນຜະລິດຕົວຄູນຈະຖືກໂຫລດເຂົ້າໄປໃນສະສົມ. ຢ່າໃຊ້ accum_sload ແລະ sload_accum ພ້ອມກັນ. ຮູບແບບຈຳລອງສຳລັບ IP ນີ້ຮອງຮັບການປ້ອນຂໍ້ມູນທີ່ບໍ່ລະບຸ (X) ຕໍ່ກັບສັນຍານນີ້. ເມື່ອທ່ານໃຫ້ຄ່າ X ຕໍ່ການປ້ອນຂໍ້ມູນນີ້, ຄ່າ X ຈະຖືກຂະຫຍາຍພັນຢູ່ໃນສັນຍານຜົນຜະລິດ.
Adder ຜົນໄດ້ຮັບ input bus ຈາກ s ກ່ອນtage. ສັນຍານເຂົ້າ [WIDTH_CHAININ – 1, … 0] ກວ້າງ.
ປະຕິບັດການບວກຫຼືລົບກັບຜົນໄດ້ຮັບຈາກຄູ່ທໍາອິດຂອງຕົວຄູນ. ປ້ອນສັນຍານ 1 ໄປຫາ addnsub1 ເພື່ອເພີ່ມຜົນຜະລິດຈາກຕົວຄູນຄູ່ທຳອິດ. ປ້ອນ 0 ໄປຫາ addnsub1 ສັນຍານເພື່ອລົບຜົນໄດ້ຮັບຈາກຕົວຄູນຄູ່ທຳອິດ. ຮູບແບບຈຳລອງສຳລັບ IP ນີ້ຮອງຮັບການປ້ອນຂໍ້ມູນທີ່ບໍ່ລະບຸ (X) ຕໍ່ກັບສັນຍານນີ້. ເມື່ອທ່ານໃຫ້ຄ່າ X ຕໍ່ການປ້ອນຂໍ້ມູນນີ້, ຄ່າ X ຈະຖືກຂະຫຍາຍພັນຢູ່ໃນສັນຍານຜົນຜະລິດ.
ປະຕິບັດການບວກຫຼືລົບກັບຜົນໄດ້ຮັບຈາກຄູ່ທໍາອິດຂອງຕົວຄູນ. ປ້ອນສັນຍານ 1 ໄປຫາ addnsub3 ເພື່ອເພີ່ມຜົນອອກມາຈາກຕົວຄູນຄູ່ທີສອງ. ປ້ອນ 0 ໄປຫາສັນຍານ addnsub3 ເພື່ອລົບຜົນອອກຈາກຕົວຄູນຄູ່ທຳອິດ. ຮູບແບບການຈໍາລອງສໍາລັບ IP ນີ້ຮອງຮັບການປ້ອນຂໍ້ມູນທີ່ບໍ່ມີກໍານົດ (X) ຕໍ່ກັບສັນຍານນີ້. ເມື່ອທ່ານໃຫ້ຄ່າ X ຕໍ່ການປ້ອນຂໍ້ມູນນີ້, ຄ່າ X ຈະຖືກຂະຫຍາຍພັນຢູ່ໃນສັນຍານຜົນຜະລິດ.
ສັນຍານປ້ອນຂໍ້ມູນສຳປະສິດ[0:3] ຫາຕົວຄູນທຳອິດ. ຮູບແບບການຈໍາລອງສໍາລັບ IP ນີ້ຮອງຮັບການປ້ອນຂໍ້ມູນທີ່ບໍ່ມີກໍານົດ (X) ຕໍ່ກັບສັນຍານນີ້. ເມື່ອທ່ານໃຫ້ຄ່າ X ຕໍ່ການປ້ອນຂໍ້ມູນນີ້, ຄ່າ X ຈະຖືກຂະຫຍາຍພັນຢູ່ໃນສັນຍານຜົນຜະລິດ.
ສັນຍານການປ້ອນຂໍ້ມູນສຳປະສິດ[0:3]ໄປຫາຕົວຄູນທີສອງ. ຮູບແບບຈຳລອງສຳລັບ IP ນີ້ຮອງຮັບການປ້ອນຂໍ້ມູນທີ່ບໍ່ລະບຸ (X) ຕໍ່ກັບສັນຍານນີ້. ເມື່ອທ່ານໃຫ້ຄ່າ X ຕໍ່ການປ້ອນຂໍ້ມູນນີ້, ຄ່າ X ຈະຖືກຂະຫຍາຍພັນຢູ່ໃນສັນຍານຜົນຜະລິດ.
ສັນຍານການປ້ອນຂໍ້ມູນສຳປະສິດ[0:3]ໄປຫາຕົວຄູນທີສາມ. ຮູບແບບຈຳລອງສຳລັບ IP ນີ້ຮອງຮັບການປ້ອນຂໍ້ມູນທີ່ບໍ່ລະບຸ (X) ຕໍ່ກັບສັນຍານນີ້. ເມື່ອທ່ານໃຫ້ຄ່າ X ຕໍ່ການປ້ອນຂໍ້ມູນນີ້, ຄ່າ X ຈະຖືກຂະຫຍາຍພັນຢູ່ໃນສັນຍານຜົນຜະລິດ.
ຄ່າສຳປະສິດປ້ອນສັນຍານ [0:3] ຫາຕົວຄູນສີ່. ຮູບແບບການຈໍາລອງສໍາລັບ IP ນີ້ຮອງຮັບການປ້ອນຂໍ້ມູນທີ່ບໍ່ມີກໍານົດ (X) ຕໍ່ກັບສັນຍານນີ້. ເມື່ອທ່ານໃຫ້ຄ່າ X ຕໍ່ການປ້ອນຂໍ້ມູນນີ້, ຄ່າ X ຈະຖືກຂະຫຍາຍພັນຢູ່ໃນສັນຍານຜົນຜະລິດ.
ຕາຕະລາງ 29. Multiply Adder Intel FPGA IP Output Signals
ສັນຍານ
ຕ້ອງການ
ລາຍລະອຽດ
ຜົນໄດ້ຮັບ []
ແມ່ນແລ້ວ
ສັນຍານຜົນຜະລິດຕົວຄູນ. ສັນຍານອອກ [WIDTH_RESULT – 1… 0] ກວ້າງ
ຮູບແບບຈໍາລອງສໍາລັບ IP ນີ້ສະຫນັບສະຫນູນມູນຄ່າຜົນຜະລິດທີ່ບໍ່ໄດ້ກໍານົດ (X). ເມື່ອທ່ານໃຫ້ຄ່າ X ເປັນການປ້ອນຂໍ້ມູນ, ຄ່າ X ຈະຖືກຂະຫຍາຍພັນດ້ວຍສັນຍານນີ້.
scanouta []
ບໍ່
ຜົນຜະລິດຂອງລະບົບຕ່ອງໂສ້ສະແກນ A. ສັນຍານອອກ [WIDTH_A – 1..0] ກວ້າງ.
ເລືອກຫຼາຍກວ່າ 2 ສໍາລັບຕົວເລກຂອງຕົວຄູນ ແລະເລືອກການປ້ອນຂໍ້ມູນລະບົບຕ່ອງໂສ້ສະແກນສໍາລັບສິ່ງທີ່ປ້ອນຂໍ້ມູນ A ຂອງຕົວຄູນທີ່ເຊື່ອມຕໍ່ກັບພາລາມິເຕີເພື່ອເປີດໃຊ້ສັນຍານນີ້.
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 46
ສົ່ງຄຳຕິຊົມ
8. Intel FPGA Multiply Adder IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
8.6. ພາລາມິເຕີ
8.6.1. ແຖບທົ່ວໄປ
ຕາຕະລາງ 30. ແຖບທົ່ວໄປ
ພາລາມິເຕີ
ພາຣາມິເຕີທີ່ສ້າງຂຶ້ນ IP
ມູນຄ່າ
ຈໍານວນຕົວຄູນແມ່ນຫຍັງ?
number_of_m 1 – 4 ຕົວຄູນ
ລົດເມປ້ອນຂໍ້ມູນ A width_a ຄວນກວ້າງເທົ່າໃດ?
1–256
ລົດເມປ້ອນຂໍ້ມູນ B width_b ຄວນກວ້າງເທົ່າໃດ?
1–256
ລົດເມຜົນຜະລິດ 'ຜົນໄດ້ຮັບ' ຄວນກວ້າງເທົ່າໃດ?
width_result
1–256
ສ້າງການເປີດໃຊ້ໂມງທີ່ກ່ຽວຂ້ອງສໍາລັບແຕ່ລະໂມງ
gui_associate On d_clock_enabl ປິດ e
8.6.2. ແຖບໂໝດພິເສດ
ຕາຕະລາງ 31. ແຖບໂໝດພິເສດ
ພາລາມິເຕີ
ພາຣາມິເຕີທີ່ສ້າງຂຶ້ນ IP
ມູນຄ່າ
Outputs Configuration
ລົງທະບຽນຜົນຜະລິດຂອງຫນ່ວຍງານ adder
gui_output_re ເປີດ
gister
ປິດ
ແຫຼ່ງການປ້ອນຂໍ້ມູນໂມງແມ່ນຫຍັງ?
gui_output_re gister_clock
ໂມງ0ໂມງ1ໂມງ2
ແຫຼ່ງທີ່ມາຂອງການປ້ອນຂໍ້ມູນແບບບໍ່ກົງກັນຈະແຈ້ງແມ່ນຫຍັງ?
gui_output_re gister_aclr
ບໍ່ມີ ACLR0 ACLR1
ແຫຼ່ງຂໍ້ມູນສໍາລັບການປ້ອນຂໍ້ມູນທີ່ຊັດເຈນ synchronous ແມ່ນຫຍັງ?
gui_output_re gister_sclr
ບໍ່ມີ SCLR0 SCLR1
ການດໍາເນີນງານ Adder
ການປະຕິບັດອັນໃດທີ່ຄວນຈະຖືກປະຕິບັດຕໍ່ຜົນໄດ້ຮັບຂອງຕົວຄູນຄູ່ທໍາອິດ?
gui_multiplier 1_direction
ເພີ່ມ, ຍ່ອຍ, ປ່ຽນແປງໄດ້
ຄ່າເລີ່ມຕົ້ນ 1
16
ລາຍລະອຽດ
ຈຳນວນຕົວຄູນທີ່ຈະບວກເຂົ້າກັນ. ຄ່າແມ່ນ 1 ເຖິງ 4. ລະບຸຄວາມກວ້າງຂອງຜອດ dataa[].
16
ລະບຸຄວາມກວ້າງຂອງຜອດ datab[].
32
ລະບຸຄວາມກວ້າງຂອງຜົນໄດ້ຮັບ[] ພອດ.
ປິດ
ເລືອກຕົວເລືອກນີ້ເພື່ອສ້າງການເປີດໃຊ້ງານໂມງ
ສໍາລັບແຕ່ລະໂມງ.
ຄ່າເລີ່ມຕົ້ນ
ລາຍລະອຽດ
ໂມງປິດ0
ບໍ່ມີ ບໍ່ມີ
ເລືອກຕົວເລືອກນີ້ເພື່ອເປີດໃຊ້ການລົງທະບຽນຜົນຜະລິດຂອງໂມດູນ adder.
ເລືອກ Clock0 , Clock1 ຫຼື Clock2 ເພື່ອເປີດໃຊ້ງານແລະລະບຸແຫຼ່ງໂມງສໍາລັບການລົງທະບຽນຜົນຜະລິດ. ທ່ານຕ້ອງເລືອກ Register output ຂອງຫົວໜ່ວຍ adder ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ລະບຸແຫຼ່ງທີ່ຈະແຈ້ງແບບບໍ່ຊິ້ງໂຄ້ງສໍາລັບທະບຽນຜົນຜະລິດຂອງ adder. ທ່ານຕ້ອງເລືອກ Register output ຂອງຫົວໜ່ວຍ adder ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ລະບຸແຫຼ່ງທີ່ຊັດເຈນ synchronous ສໍາລັບການລົງທະບຽນຜົນຜະລິດ adder. ທ່ານຕ້ອງເລືອກ Register output ຂອງຫົວໜ່ວຍ adder ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ເພີ່ມ
ເລືອກການບວກຫຼືການຫັກລົບເພື່ອປະຕິບັດສໍາລັບຜົນໄດ້ຮັບລະຫວ່າງຕົວຄູນທໍາອິດແລະທີສອງ.
·ເລືອກ ADD ເພື່ອປະຕິບັດການເພີ່ມເຕີມ.
·ເລືອກ SUB ເພື່ອປະຕິບັດການຫັກລົບ.
· ເລືອກ VARIABLE ເພື່ອໃຊ້ພອດ addnsub1 ສໍາລັບການຄວບຄຸມການບວກ/ການຫັກລົບແບບເຄື່ອນໄຫວ.
ສືບຕໍ່…
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 47
8. Intel FPGA Multiply Adder IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ພາລາມິເຕີ
ພາຣາມິເຕີທີ່ສ້າງຂຶ້ນ IP
ມູນຄ່າ
ລົງທະບຽນການປ້ອນຂໍ້ມູນ 'addnsub1'
gui_addnsub_ ໃນຕົວຄູນ_reg ປິດ ister1
ແຫຼ່ງການປ້ອນຂໍ້ມູນໂມງແມ່ນຫຍັງ?
gui_addnsub_ຕົວຄູນ_reg ister1_clock
ໂມງ0ໂມງ1ໂມງ2
ແຫຼ່ງທີ່ມາຂອງການປ້ອນຂໍ້ມູນແບບບໍ່ກົງກັນຈະແຈ້ງແມ່ນຫຍັງ?
gui_addnsub_ຕົວຄູນ_aclr 1
ບໍ່ມີ ACLR0 ACLR1
ແຫຼ່ງຂໍ້ມູນສໍາລັບການປ້ອນຂໍ້ມູນທີ່ຊັດເຈນ synchronous ແມ່ນຫຍັງ?
gui_addnsub_ຕົວຄູນ_sclr 1
ບໍ່ມີ SCLR0 SCLR1
ການປະຕິບັດອັນໃດທີ່ຄວນຈະຖືກປະຕິບັດຕໍ່ຜົນໄດ້ຮັບຂອງຕົວຄູນຄູ່ທີສອງ?
gui_multiplier 3_direction
ເພີ່ມ, ຍ່ອຍ, ປ່ຽນແປງໄດ້
ລົງທະບຽນການປ້ອນຂໍ້ມູນ 'addnsub3'
gui_addnsub_ ໃນຕົວຄູນ_reg ປິດ ister3
ແຫຼ່ງການປ້ອນຂໍ້ມູນໂມງແມ່ນຫຍັງ?
gui_addnsub_ຕົວຄູນ_reg ister3_clock
ໂມງ0ໂມງ1ໂມງ2
ຄ່າເລີ່ມຕົ້ນ
ໂມງປິດ 0 ບໍ່ມີບໍ່ມີເພີ່ມ
ໂມງປິດ0
ລາຍລະອຽດ
ເມື່ອເລືອກຄ່າ VARIABLE: · ຂັບສັນຍານ addnsub1 ໄປທີ່ high for
ການດໍາເນີນງານເພີ່ມເຕີມ. · ຂັບສັນຍານ addnsub1 ກັບຕ່ໍາສໍາລັບການ
ການດໍາເນີນງານການລົບ. ທ່ານຕ້ອງເລືອກຕົວຄູນຫຼາຍກວ່າສອງຕົວຄູນເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ເລືອກຕົວເລືອກນີ້ເພື່ອເປີດໃຊ້ການລົງທະບຽນການປ້ອນຂໍ້ມູນສຳລັບຜອດ addnsub1. ທ່ານຕ້ອງເລືອກ VARIABLE ສໍາລັບການປະຕິບັດອັນໃດທີ່ຄວນຈະຖືກປະຕິບັດໃນຜົນໄດ້ຮັບຂອງຕົວຄູນຄູ່ທໍາອິດເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ເລືອກ Clock0 , Clock1 ຫຼື Clock2 ເພື່ອລະບຸສັນຍານໂມງເຂົ້າສໍາລັບການລົງທະບຽນ addnsub1. ທ່ານຕ້ອງເລືອກ Register 'addnsub1' input ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ລະບຸແຫຼ່ງທີ່ຈະແຈ້ງແບບບໍ່ຊິ້ງໂຄ້ງສຳລັບການລົງທະບຽນ addnsub1. ທ່ານຕ້ອງເລືອກ Register 'addnsub1' input ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ລະບຸແຫຼ່ງທີ່ຊັດເຈນ synchronous ສໍາລັບການລົງທະບຽນ addnsub1. ທ່ານຕ້ອງເລືອກ Register 'addnsub1' input ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ເລືອກການບວກຫຼືການຫັກລົບເພື່ອປະຕິບັດສໍາລັບຜົນໄດ້ຮັບລະຫວ່າງຕົວຄູນທີສາມແລະສີ່. ·ເລືອກ ADD ເພື່ອດໍາເນີນການເພີ່ມເຕີມ
ການດໍາເນີນງານ. ·ເລືອກ SUB ເພື່ອປະຕິບັດການຫັກລົບ
ການດໍາເນີນງານ. ·ເລືອກ VARIABLE ເພື່ອໃຊ້ addnsub1
ພອດສໍາລັບການຄວບຄຸມການບວກ / ການຫັກລົບແບບເຄື່ອນໄຫວ. ເມື່ອເລືອກຄ່າ VARIABLE: · ຂັບສັນຍານ addnsub1 ໃຫ້ສູງເພື່ອດຳເນີນການເພີ່ມເຕີມ. · ຂັບສັນຍານ addnsub1 ໃຫ້ຕ່ຳສຳລັບການດຳເນີນການລົບ. ທ່ານຕ້ອງເລືອກຄ່າ 4 ສໍາລັບຈໍານວນຕົວຄູນແມ່ນຫຍັງ? ເພື່ອເປີດໃຊ້ຕົວກໍານົດການນີ້.
ເລືອກຕົວເລືອກນີ້ເພື່ອເປີດໃຊ້ການລົງທະບຽນຂາເຂົ້າສໍາລັບສັນຍານ addnsub3. ທ່ານຕ້ອງເລືອກ VARIABLE ສໍາລັບການປະຕິບັດອັນໃດທີ່ຄວນຈະຖືກປະຕິບັດໃນຜົນໄດ້ຮັບຂອງຕົວຄູນຄູ່ທີສອງເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ເລືອກ Clock0 , Clock1 ຫຼື Clock2 ເພື່ອລະບຸສັນຍານໂມງເຂົ້າສໍາລັບການລົງທະບຽນ addnsub3. ທ່ານຕ້ອງເລືອກ Register 'addnsub3′ input ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ສືບຕໍ່…
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 48
ສົ່ງຄຳຕິຊົມ
8. Intel FPGA Multiply Adder IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ພາລາມິເຕີ
ແຫຼ່ງທີ່ມາຂອງການປ້ອນຂໍ້ມູນແບບບໍ່ກົງກັນຈະແຈ້ງແມ່ນຫຍັງ?
ພາຣາມິເຕີທີ່ສ້າງຂຶ້ນ IP
ມູນຄ່າ
gui_addnsub_ຕົວຄູນ_aclr 3
ບໍ່ມີ ACLR0 ACLR1
ແຫຼ່ງຂໍ້ມູນສໍາລັບການປ້ອນຂໍ້ມູນທີ່ຊັດເຈນ synchronous ແມ່ນຫຍັງ?
gui_addnsub_ຕົວຄູນ_sclr 3
ບໍ່ມີ SCLR0 SCLR1
Polarity ເປີດໃຊ້ 'use_subadd'
gui_use_subn ເປີດ
ເພີ່ມ
ປິດ
8.6.3. ແຖບຕົວຄູນ
ຕາຕະລາງ 32. ແຖບຕົວຄູນ
ພາລາມິເຕີ
ພາຣາມິເຕີທີ່ສ້າງຂຶ້ນ IP
ມູນຄ່າ
ແມ່ນຫຍັງ
gui_presenent
ຮູບແບບການເປັນຕົວແທນ ation_a
ສໍາລັບການປ້ອນຂໍ້ມູນຕົວຄູນ A?
ເຊັນ, ບໍ່ໄດ້ເຊັນ, ປ່ຽນແປງໄດ້
ລົງທະບຽນການປ້ອນຂໍ້ມູນ 'signa'
gui_register_s ເປີດ
ອິງນາ
ປິດ
ແຫຼ່ງການປ້ອນຂໍ້ມູນໂມງແມ່ນຫຍັງ?
gui_register_s igna_clock
ໂມງ0ໂມງ1ໂມງ2
ແຫຼ່ງທີ່ມາຂອງການປ້ອນຂໍ້ມູນແບບບໍ່ກົງກັນຈະແຈ້ງແມ່ນຫຍັງ?
gui_register_s igna_aclr
ບໍ່ມີ ACLR0 ACLR1
ແຫຼ່ງຂໍ້ມູນສໍາລັບການປ້ອນຂໍ້ມູນທີ່ຊັດເຈນ synchronous ແມ່ນຫຍັງ?
gui_register_s igna_sclr
ບໍ່ມີ SCLR0 SCLR1
ແມ່ນຫຍັງ
gui_presenent
ຮູບແບບການເປັນຕົວແທນ ation_b
ສຳລັບຕົວຄູນ B?
ເຊັນ, ບໍ່ໄດ້ເຊັນ, ປ່ຽນແປງໄດ້
ລົງທະບຽນການປ້ອນຂໍ້ມູນ 'signb'
gui_register_s ເປີດ
ignb
ປິດ
ຄ່າເລີ່ມຕົ້ນ NONE
ບໍ່ມີ
ລາຍລະອຽດ
ລະບຸແຫຼ່ງທີ່ຈະແຈ້ງແບບບໍ່ຊິ້ງໂຄ້ງສຳລັບການລົງທະບຽນ addnsub3. ທ່ານຕ້ອງເລືອກ Register 'addnsub3' input ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ລະບຸແຫຼ່ງທີ່ຊັດເຈນ synchronous ສໍາລັບການລົງທະບຽນ addnsub3. ທ່ານຕ້ອງເລືອກ Register 'addnsub3′ input ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ປິດ
ເລືອກຕົວເລືອກນີ້ເພື່ອປີ້ນກັບຟັງຊັນ
ຂອງຜອດປ້ອນຂໍ້ມູນ addnsub.
ຂັບ addnsub ໃຫ້ສູງສໍາລັບການດໍາເນີນງານການລົບ.
ຂັບ addnsub ໄປຕ່ໍາສໍາລັບການດໍາເນີນການເພີ່ມເຕີມ.
ຄ່າເລີ່ມຕົ້ນ
ລາຍລະອຽດ
UNSIGNED ລະບຸຮູບແບບການສະແດງຜົນຂອງຕົວຄູນ A.
ປິດ
ເລືອກຕົວເລືອກນີ້ເພື່ອເປີດໃຊ້ງານ signa
ລົງທະບຽນ.
ທ່ານຕ້ອງເລືອກຄ່າ VARIABLE ສໍາລັບຮູບແບບການສະແດງຜົນຂອງຕົວຄູນ A ແມ່ນຫຍັງ? ພາລາມິເຕີເພື່ອເປີດໃຊ້ຕົວເລືອກນີ້.
ໂມງ 0
ເລືອກ Clock0 , Clock1 ຫຼື Clock2 ເພື່ອເປີດໃຊ້ງານແລະລະບຸສັນຍານໂມງເຂົ້າສໍາລັບການລົງທະບຽນ signa.
ທ່ານຕ້ອງເລືອກ Register 'signa' input ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ບໍ່ມີ
ລະບຸແຫຼ່ງທີ່ຊັດເຈນແບບບໍ່ຊິ້ງໂຄ້ງສໍາລັບທະບຽນ signa.
ທ່ານຕ້ອງເລືອກ Register 'signa' input ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ບໍ່ມີ
ລະບຸແຫຼ່ງທີ່ຊັດເຈນ synchronous ສໍາລັບທະບຽນ signa.
ທ່ານຕ້ອງເລືອກ Register 'signa' input ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
UNSIGNED ລະບຸຮູບແບບການສະແດງຕົວຄູນ B.
ປິດ
ເລືອກຕົວເລືອກນີ້ເພື່ອເປີດໃຊ້ signb
ລົງທະບຽນ.
ສືບຕໍ່…
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 49
8. Intel FPGA Multiply Adder IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ພາລາມິເຕີ
ພາຣາມິເຕີທີ່ສ້າງຂຶ້ນ IP
ມູນຄ່າ
ຄ່າເລີ່ມຕົ້ນ
ແຫຼ່ງການປ້ອນຂໍ້ມູນໂມງແມ່ນຫຍັງ?
gui_register_s ignb_clock
ໂມງ0ໂມງ1ໂມງ2
ໂມງ 0
ແຫຼ່ງທີ່ມາຂອງການປ້ອນຂໍ້ມູນແບບບໍ່ກົງກັນຈະແຈ້ງແມ່ນຫຍັງ?
gui_register_s ignb_aclr
ບໍ່ມີ ACLR0 ACLR1
ແຫຼ່ງຂໍ້ມູນສໍາລັບການປ້ອນຂໍ້ມູນທີ່ຊັດເຈນ synchronous ແມ່ນຫຍັງ?
gui_register_s ignb_sclr
ບໍ່ມີ SCLR0 SCLR1
Input Configuration
ລົງທະບຽນການປ້ອນຂໍ້ມູນ A ຂອງຕົວຄູນ
ແຫຼ່ງການປ້ອນຂໍ້ມູນໂມງແມ່ນຫຍັງ?
gui_input_reg ເປີດ
ister_a
ປິດ
gui_input_reg ister_a_clock
ໂມງ0ໂມງ1ໂມງ2
ບໍ່ມີ ບໍ່ມີ
ໂມງປິດ0
ແຫຼ່ງທີ່ມາຂອງການປ້ອນຂໍ້ມູນແບບບໍ່ກົງກັນຈະແຈ້ງແມ່ນຫຍັງ?
gui_input_reg ister_a_aclr
ບໍ່ມີ ACLR0 ACLR1
ແຫຼ່ງຂໍ້ມູນສໍາລັບການປ້ອນຂໍ້ມູນທີ່ຊັດເຈນ synchronous ແມ່ນຫຍັງ?
gui_input_reg ister_a_sclr
ບໍ່ມີ SCLR0 SCLR1
ລົງທະບຽນການປ້ອນຂໍ້ມູນ B ຂອງຕົວຄູນ
ແຫຼ່ງການປ້ອນຂໍ້ມູນໂມງແມ່ນຫຍັງ?
gui_input_reg ເປີດ
ister_b
ປິດ
gui_input_reg ister_b_clock
ໂມງ0ໂມງ1ໂມງ2
ບໍ່ມີ ບໍ່ມີໂມງປິດ0
ແຫຼ່ງທີ່ມາຂອງການປ້ອນຂໍ້ມູນແບບບໍ່ກົງກັນຈະແຈ້ງແມ່ນຫຍັງ?
gui_input_reg ister_b_aclr
ບໍ່ມີ ACLR0 ACLR1
ບໍ່ມີ
ແຫຼ່ງຂໍ້ມູນສໍາລັບການປ້ອນຂໍ້ມູນທີ່ຊັດເຈນ synchronous ແມ່ນຫຍັງ?
gui_input_reg ister_b_sclr
ບໍ່ມີ SCLR0 SCLR1
ບໍ່ມີ
ການປ້ອນຂໍ້ມູນ A ຂອງຕົວຄູນທີ່ເຊື່ອມຕໍ່ກັບແມ່ນຫຍັງ?
gui_multiplier ຕົວຄູນ input ຕົວຄູນ
_a_input
ສະແກນລະບົບຕ່ອງໂສ້ການປ້ອນຂໍ້ມູນ
ລາຍລະອຽດ
ທ່ານຕ້ອງເລືອກຄ່າ VARIABLE ສໍາລັບຮູບແບບການສະແດງຜົນຂອງຕົວຄູນ B ແມ່ນຫຍັງ? ພາລາມິເຕີເພື່ອເປີດໃຊ້ຕົວເລືອກນີ້.
ເລືອກ Clock0 , Clock1 ຫຼື Clock2 ເພື່ອເປີດໃຊ້ງານແລະລະບຸສັນຍານໂມງເຂົ້າສໍາລັບການລົງທະບຽນ signb. ທ່ານຕ້ອງເລືອກ Register 'signb' input ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ລະບຸແຫຼ່ງທີ່ຈະແຈ້ງແບບບໍ່ຊິ້ງໂຄ້ງສຳລັບການລົງທະບຽນ signb. ທ່ານຕ້ອງເລືອກ Register 'signb' input ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ລະບຸແຫຼ່ງທີ່ຊັດເຈນ synchronous ສໍາລັບການລົງທະບຽນ signb. ທ່ານຕ້ອງເລືອກ Register 'signb' input ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ເລືອກຕົວເລືອກນີ້ເພື່ອເປີດໃຊ້ການລົງທະບຽນເຂົ້າສໍາລັບ dataa input bus.
ເລືອກ Clock0 , Clock1 ຫຼື Clock2 ເພື່ອເປີດໃຊ້ງານແລະລະບຸສັນຍານໂມງປ້ອນຂໍ້ມູນລົງທະບຽນສໍາລັບ dataa input bus. ທ່ານຕ້ອງເລືອກ Register input A ຂອງຕົວຄູນເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ລະບຸແຫຼ່ງທີ່ມາທີ່ຊັດເຈນຂອງທະບຽນ asynchronous ສໍາລັບ dataa input bus. ທ່ານຕ້ອງເລືອກ Register input A ຂອງຕົວຄູນເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ລະບຸແຫຼ່ງທີ່ຈະແຈ້ງ synchronous ລົງທະບຽນສໍາລັບ dataa input bus. ທ່ານຕ້ອງເລືອກ Register input A ຂອງຕົວຄູນເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ເລືອກຕົວເລືອກນີ້ເພື່ອເປີດໃຊ້ການລົງທະບຽນການປ້ອນຂໍ້ມູນສໍາລັບ datab input bus.
ເລືອກ Clock0, Clock1 ຫຼື Clock2 ເພື່ອເປີດໃຊ້ງານ ແລະລະບຸສັນຍານໂມງປ້ອນຂໍ້ມູນລົງທະບຽນສຳລັບລົດເມປ້ອນຂໍ້ມູນ datab. ທ່ານຕ້ອງເລືອກ Register input B ຂອງຕົວຄູນເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ລະບຸແຫຼ່ງທີ່ມາທີ່ຊັດເຈນຂອງທະບຽນ asynchronous ສໍາລັບ bus input datab. ທ່ານຕ້ອງເລືອກ Register input B ຂອງຕົວຄູນເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ລະບຸແຫຼ່ງທີ່ຈະແຈ້ງ synchronous ລົງທະບຽນສໍາລັບ bus input datab. ທ່ານຕ້ອງເລືອກ Register input B ຂອງຕົວຄູນເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ເລືອກແຫຼ່ງປ້ອນຂໍ້ມູນສໍາລັບການປ້ອນຂໍ້ມູນ A ຂອງຕົວຄູນ.
ສືບຕໍ່…
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 50
ສົ່ງຄຳຕິຊົມ
8. Intel FPGA Multiply Adder IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ພາລາມິເຕີ
ພາຣາມິເຕີທີ່ສ້າງຂຶ້ນ IP
ມູນຄ່າ
Scanout A ລົງທະບຽນການຕັ້ງຄ່າ
ລົງທະບຽນຜົນຜະລິດຂອງລະບົບຕ່ອງໂສ້ການສະແກນ
gui_scanouta ເປີດ
_ລົງທະບຽນ
ປິດ
ແຫຼ່ງການປ້ອນຂໍ້ມູນໂມງແມ່ນຫຍັງ?
gui_scanouta _register_cloc ກ
ໂມງ0ໂມງ1ໂມງ2
ແຫຼ່ງທີ່ມາຂອງການປ້ອນຂໍ້ມູນແບບບໍ່ກົງກັນຈະແຈ້ງແມ່ນຫຍັງ?
gui_scanouta _register_aclr
ບໍ່ມີ ACLR0 ACLR1
ແຫຼ່ງຂໍ້ມູນສໍາລັບການປ້ອນຂໍ້ມູນທີ່ຊັດເຈນ synchronous ແມ່ນຫຍັງ?
gui_scanouta _register_sclr
ບໍ່ມີ SCLR0 SCLR1
8.6.4. ແຖບ Prereadder
ຕາຕະລາງ 33. Preadder Tab
ພາລາມິເຕີ
ພາຣາມິເຕີທີ່ສ້າງຂຶ້ນ IP
ມູນຄ່າ
ເລືອກໂຫມດ preadder
preadder_mo de
ງ່າຍດາຍ, COEF, ວັດສະດຸປ້ອນ, ສີ່ຫຼ່ຽມ, ຄົງທີ່
ຄ່າເລີ່ມຕົ້ນ
ລາຍລະອຽດ
ເລືອກຕົວຄູນເພື່ອໃຊ້ dataa input bus ເປັນແຫລ່ງທີ່ມາຂອງຕົວຄູນ. ເລືອກການປ້ອນຂໍ້ມູນລະບົບຕ່ອງໂສ້ສະແກນເພື່ອໃຊ້ລົດເມປ້ອນຂໍ້ມູນການສະແກນເປັນແຫຼ່ງທີ່ມາຂອງຕົວຄູນ ແລະເປີດໃຊ້ລົດເມສົ່ງຜົນອອກຂອງການສະແກນ. ພາລາມິເຕີນີ້ສາມາດໃຊ້ໄດ້ເມື່ອທ່ານເລືອກ 2, 3 ຫຼື 4 ສໍາລັບຈໍານວນຕົວຄູນແມ່ນຫຍັງ? ພາລາມິເຕີ.
ໂມງປິດ0 NONE ບໍ່ມີ
ເລືອກຕົວເລືອກນີ້ເພື່ອເປີດໃຊ້ການລົງທະບຽນຜົນໄດ້ຮັບສໍາລັບ scanouta output bus.
ທ່ານຕ້ອງເລືອກ Scan chain input ສໍາລັບ Input A ຂອງຕົວຄູນທີ່ເຊື່ອມຕໍ່ກັບແມ່ນຫຍັງ? ພາລາມິເຕີເພື່ອເປີດໃຊ້ຕົວເລືອກນີ້.
ເລືອກ Clock0 , Clock1 ຫຼື Clock2 ເພື່ອເປີດໃຊ້ງານແລະລະບຸສັນຍານໂມງປ້ອນຂໍ້ມູນລົງທະບຽນສໍາລັບ scanouta output bus.
ທ່ານຕ້ອງເປີດໃຊ້ Register output ຂອງ scan chain parameter ເພື່ອເປີດໃຊ້ທາງເລືອກນີ້.
ລະບຸແຫຼ່ງທີ່ມາທີ່ຊັດເຈນຂອງທະບຽນແບບບໍ່ຊິ້ງໂຄ້ງສໍາລັບລົດເມສົ່ງຜົນອອກ scanouta.
ທ່ານຕ້ອງເປີດໃຊ້ Register output ຂອງ scan chain parameter ເພື່ອເປີດໃຊ້ທາງເລືອກນີ້.
ລະບຸແຫຼ່ງທີ່ຈະແຈ້ງ synchronous ລົງທະບຽນສໍາລັບລົດເມຜົນຜະລິດ scanouta.
ທ່ານຕ້ອງເລືອກ Register output ຂອງ scan chain parameter ເພື່ອເປີດໃຊ້ທາງເລືອກນີ້.
ຄ່າເລີ່ມຕົ້ນ
ງ່າຍດາຍ
ລາຍລະອຽດ
ກໍານົດຮູບແບບການດໍາເນີນງານສໍາລັບໂມດູນ preadder. ງ່າຍດາຍ: ຮູບແບບນີ້ຂ້າມ preadder ໄດ້. ນີ້ແມ່ນໂໝດເລີ່ມຕົ້ນ. COEF: ໂຫມດນີ້ໃຊ້ຜົນຜະລິດຂອງ preadder ແລະ coefsel input bus ເປັນ inputs ກັບຕົວຄູນ. INPUT: ໂໝດນີ້ໃຊ້ຜົນຜະລິດຂອງ preadder ແລະ datac input bus ເປັນຕົວປ້ອນເຂົ້າໄປຫາຕົວຄູນ. ສີ່ຫຼ່ຽມ: ໂໝດນີ້ໃຊ້ຜົນຜະລິດຂອງຕົວນຳເປັນທັງອິນພຸດໄປຫາຕົວຄູນ.
ສືບຕໍ່…
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 51
8. Intel FPGA Multiply Adder IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ພາລາມິເຕີ
ພາຣາມິເຕີທີ່ສ້າງຂຶ້ນ IP
ມູນຄ່າ
ເລືອກທິດທາງ preadder
gui_preadder ADD,
_ທິດທາງ
SUB
ລົດເມປ້ອນຂໍ້ມູນ C width_c ຄວນກວ້າງເທົ່າໃດ?
1–256
Data C Input Register Configuration
ລົງທະບຽນ input datac
gui_datac_inp ເປີດ
ut_ລົງທະບຽນ
ປິດ
ແຫຼ່ງການປ້ອນຂໍ້ມູນໂມງແມ່ນຫຍັງ?
gui_datac_inp ut_register_cl ock
ໂມງ0ໂມງ1ໂມງ2
ແຫຼ່ງທີ່ມາຂອງການປ້ອນຂໍ້ມູນແບບບໍ່ກົງກັນຈະແຈ້ງແມ່ນຫຍັງ?
gui_datac_inp ut_register_a clr
ບໍ່ມີ ACLR0 ACLR1
ແຫຼ່ງຂໍ້ມູນສໍາລັບການປ້ອນຂໍ້ມູນທີ່ຊັດເຈນ synchronous ແມ່ນຫຍັງ?
gui_datac_inp ut_register_sc lr
ບໍ່ມີ SCLR0 SCLR1
ຄ່າສໍາປະສິດ
ຄວາມກວ້າງຂອງ coef ຄວນກວ້າງເທົ່າໃດ?
width_coef
1–27
ການຕັ້ງຄ່າການລົງທະບຽນ Coef
ລົງທະບຽນການປ້ອນຂໍ້ມູນ coefsel
gui_coef_regi On
ສະເຕີ
ປິດ
ແຫຼ່ງການປ້ອນຂໍ້ມູນໂມງແມ່ນຫຍັງ?
gui_coef_regi ster_clock
ໂມງ0ໂມງ1ໂມງ2
ຄ່າເລີ່ມຕົ້ນ
ເພີ່ມ
16
ລາຍລະອຽດ
ຄົງທີ່: ໂໝດນີ້ໃຊ້ dataa input bus ກັບ preadder bypassed ແລະ coefsel input bus ເປັນ inputs ໄປຫາຕົວຄູນ.
ລະບຸການເຮັດວຽກຂອງຕົວນຳ. ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້, ເລືອກເອົາສິ່ງຕໍ່ໄປນີ້ສໍາລັບເລືອກຮູບແບບຕົວນໍາ: · COEF · INPUT · SQUARE ຫຼື · CONSTANT
ລະບຸຈໍານວນບິດສໍາລັບ C input bus. ທ່ານຕ້ອງເລືອກ INPUT ສໍາລັບເລືອກຮູບແບບ preadder ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ໃນ Clock0 NONE NONE
ເລືອກຕົວເລືອກນີ້ເພື່ອເປີດໃຊ້ການລົງທະບຽນການປ້ອນຂໍ້ມູນສໍາລັບ datac input bus. ທ່ານຕ້ອງຕັ້ງ INPUT ເພື່ອເລືອກພາລາມິເຕີຂອງໂຫມດ preadder ເພື່ອເປີດໃຊ້ຕົວເລືອກນີ້.
ເລືອກ Clock0 , Clock1 ຫຼື Clock2 ເພື່ອລະບຸສັນຍານໂມງເຂົ້າສໍາລັບການລົງທະບຽນ datac input. ທ່ານຕ້ອງເລືອກ Register datac input ເພື່ອເປີດໃຊ້ງານພາລາມິເຕີນີ້.
ລະບຸແຫຼ່ງທີ່ຈະແຈ້ງແບບບໍ່ຊິ້ງໂຄນສໍາລັບທະບຽນການປ້ອນຂໍ້ມູນ datac. ທ່ານຕ້ອງເລືອກ Register datac input ເພື່ອເປີດໃຊ້ງານພາລາມິເຕີນີ້.
ລະບຸແຫຼ່ງທີ່ຈະແຈ້ງ synchronous ສໍາລັບທະບຽນການປ້ອນຂໍ້ມູນ datac. ທ່ານຕ້ອງເລືອກ Register datac input ເພື່ອເປີດໃຊ້ງານພາລາມິເຕີນີ້.
18
ລະບຸຈໍານວນບິດສໍາລັບ
coefsel input bus.
ທ່ານຕ້ອງເລືອກ COEF ຫຼື CONSTANT ສໍາລັບໂຫມດ preadder ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ໃນໂມງ 0
ເລືອກຕົວເລືອກນີ້ເພື່ອເປີດໃຊ້ການລົງທະບຽນຂາເຂົ້າສໍາລັບ coefsel input bus. ທ່ານຕ້ອງເລືອກ COEF ຫຼື CONSTANT ສໍາລັບໂຫມດ preadder ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ເລືອກ Clock0 , Clock1 ຫຼື Clock2 ເພື່ອລະບຸສັນຍານໂມງເຂົ້າສໍາລັບການລົງທະບຽນ coefsel input. ທ່ານຕ້ອງເລືອກລົງທະບຽນ coefsel input ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ສືບຕໍ່…
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 52
ສົ່ງຄຳຕິຊົມ
8. Intel FPGA Multiply Adder IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ພາລາມິເຕີ
ແຫຼ່ງທີ່ມາຂອງການປ້ອນຂໍ້ມູນແບບບໍ່ກົງກັນຈະແຈ້ງແມ່ນຫຍັງ?
ພາຣາມິເຕີທີ່ສ້າງຂຶ້ນ IP
ມູນຄ່າ
gui_coef_regi ster_aclr
ບໍ່ມີ ACLR0 ACLR1
ແຫຼ່ງຂໍ້ມູນສໍາລັບການປ້ອນຂໍ້ມູນທີ່ຊັດເຈນ synchronous ແມ່ນຫຍັງ
gui_coef_regi ster_sclr
ບໍ່ມີ SCLR0 SCLR1
Coefficient_0 ການຕັ້ງຄ່າ
coef0_0 ຫາ coef0_7
0x00000 0xFFFFFF
Coefficient_1 ການຕັ້ງຄ່າ
coef1_0 ຫາ coef1_7
0x00000 0xFFFFFF
Coefficient_2 ການຕັ້ງຄ່າ
coef2_0 ຫາ coef2_7
0x00000 0xFFFFFF
Coefficient_3 ການຕັ້ງຄ່າ
coef3_0 ຫາ coef3_7
0x00000 0xFFFFFF
8.6.5. ແຖບສະສົມ
ຕາຕະລາງ 34. Accumulator Tab
ພາລາມິເຕີ
ພາຣາມິເຕີທີ່ສ້າງຂຶ້ນ IP
ມູນຄ່າ
ເປີດໃຊ້ເຄື່ອງສະສົມບໍ?
ຄັງສະສົມ
ແມ່ນແລ້ວ, ບໍ່ແມ່ນ
ປະເພດການເຮັດວຽກຂອງ accumulator ແມ່ນຫຍັງ?
accum_directi ADD,
on
SUB
ຄ່າເລີ່ມຕົ້ນ NONE
ບໍ່ມີ
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0
ລາຍລະອຽດ
ລະບຸແຫຼ່ງທີ່ຊັດເຈນແບບບໍ່ຊິ້ງໂຄ້ງສໍາລັບທະບຽນການປ້ອນຂໍ້ມູນ coefsel. ທ່ານຕ້ອງເລືອກລົງທະບຽນ coefsel input ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ລະບຸແຫຼ່ງທີ່ຊັດເຈນ synchronous ສໍາລັບທະບຽນການປ້ອນຂໍ້ມູນ coefsel. ທ່ານຕ້ອງເລືອກລົງທະບຽນ coefsel input ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ລະບຸຄ່າສຳປະສິດສຳລັບຕົວຄູນທຳອິດນີ້. ຈໍານວນບິດຕ້ອງຄືກັນຕາມທີ່ລະບຸໄວ້ໃນ How wide ຄວນ coef width? ພາລາມິເຕີ. ທ່ານຕ້ອງເລືອກ COEF ຫຼື CONSTANT ສໍາລັບໂຫມດ preadder ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ລະບຸຄ່າສຳປະສິດສຳລັບຕົວຄູນທີສອງນີ້. ຈໍານວນບິດຕ້ອງຄືກັນຕາມທີ່ລະບຸໄວ້ໃນ How wide ຄວນ coef width? ພາລາມິເຕີ. ທ່ານຕ້ອງເລືອກ COEF ຫຼື CONSTANT ສໍາລັບໂຫມດ preadder ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ລະບຸຄ່າສຳປະສິດສຳລັບຕົວຄູນທີສາມນີ້. ຈໍານວນບິດຕ້ອງຄືກັນຕາມທີ່ລະບຸໄວ້ໃນ How wide ຄວນ coef width? ພາລາມິເຕີ. ທ່ານຕ້ອງເລືອກ COEF ຫຼື CONSTANT ສໍາລັບໂຫມດ preadder ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ລະບຸຄ່າສຳປະສິດສຳລັບຕົວຄູນທີສີ່ນີ້. ຈໍານວນບິດຕ້ອງຄືກັນຕາມທີ່ລະບຸໄວ້ໃນ How wide ຄວນ coef width? ພາລາມິເຕີ. ທ່ານຕ້ອງເລືອກ COEF ຫຼື CONSTANT ສໍາລັບໂຫມດ preadder ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ຄ່າເລີ່ມຕົ້ນ NO
ເພີ່ມ
ລາຍລະອຽດ
ເລືອກແມ່ນແລ້ວເພື່ອເປີດໃຊ້ເຄື່ອງສະສົມ. ທ່ານຕ້ອງເລືອກ Register output of adder unit ເມື່ອໃຊ້ຄຸນສົມບັດສະສົມ.
ລະບຸການທໍາງານຂອງເຄື່ອງສະສົມ: · ADD ສໍາລັບການດໍາເນີນງານເພີ່ມເຕີມ · SUB ສໍາລັບການດໍາເນີນງານການຫັກລົບ. ທ່ານຕ້ອງເລືອກ YES ເພື່ອເປີດໃຊ້ການສະສົມບໍ? ພາລາມິເຕີເພື່ອເປີດໃຊ້ຕົວເລືອກນີ້.
ສືບຕໍ່…
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 53
8. Intel FPGA Multiply Adder IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ພາລາມິເຕີ
Preload Constant ເປີດໃຊ້ preload constant
ພາຣາມິເຕີທີ່ສ້າງຂຶ້ນ IP
ມູນຄ່າ
gui_ena_prelo On
ad_const
ປິດ
ການປ້ອນຂໍ້ມູນຂອງພອດສະສົມເຊື່ອມຕໍ່ກັບອັນໃດ?
gui_accumula ACCUM_SLOAD, te_port_select SLOAD_ACCUM
ເລືອກຄ່າສຳລັບການໂຫຼດ preloadconst_val 0 – 64
ຄົງທີ່
ue
ແຫຼ່ງການປ້ອນຂໍ້ມູນໂມງແມ່ນຫຍັງ?
gui_accum_sl oad_register_ ໂມງ
ໂມງ0ໂມງ1ໂມງ2
ແຫຼ່ງທີ່ມາຂອງການປ້ອນຂໍ້ມູນແບບບໍ່ກົງກັນຈະແຈ້ງແມ່ນຫຍັງ?
gui_accum_sl oad_register_ aclr
ບໍ່ມີ ACLR0 ACLR1
ແຫຼ່ງຂໍ້ມູນສໍາລັບການປ້ອນຂໍ້ມູນທີ່ຊັດເຈນ synchronous ແມ່ນຫຍັງ?
gui_accum_sl oad_register_ sclr
ບໍ່ມີ SCLR0 SCLR1
ເປີດໃຊ້ຕົວສະສົມສອງເທົ່າ
gui_double_a ເປີດ
ccum
ປິດ
ຄ່າເລີ່ມຕົ້ນ
ລາຍລະອຽດ
ປິດ
ເປີດໃຊ້ accum_sload ຫຼື
sload_accum ສັນຍານແລະລົງທະບຽນ input
ເພື່ອເລືອກເອົາການປ້ອນຂໍ້ມູນໃນການເຄື່ອນໄຫວ
ເຄື່ອງສະສົມ.
ເມື່ອ accum_sload ຕໍ່າ ຫຼື sload_accum, ຜົນຜະລິດຕົວຄູນຈະຖືກປ້ອນເຂົ້າໃນສະສົມ.
ເມື່ອ accum_sload ສູງ ຫຼື sload_accum, ຜູ້ໃຊ້ທີ່ລະບຸ preload ຄົງທີ່ຈະຖືກປ້ອນເຂົ້າໄປໃນ accumulator.
ທ່ານຕ້ອງເລືອກ YES ເພື່ອເປີດໃຊ້ການສະສົມບໍ? ພາລາມິເຕີເພື່ອເປີດໃຊ້ຕົວເລືອກນີ້.
ACCUM_SL OAD
ລະບຸພຶດຕິກໍາຂອງສັນຍານ accum_sload/ sload_accum.
ACCUM_SLOAD: ຂັບ accum_sload ຕໍ່າເພື່ອໂຫຼດຜົນຄູນຂອງຕົວຄູນໃສ່ເຄື່ອງສະສົມ.
SLOAD_ACCUM: ຂັບ sload_accum ສູງເພື່ອໂຫຼດຜົນຄູນຂອງຕົວຄູນໃສ່ເຄື່ອງສະສົມ.
ທ່ານຕ້ອງເລືອກເປີດໃຊ້ຕົວເລືອກຄົງທີ່ preload ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
64
ລະບຸຄ່າຄົງທີ່ທີ່ຕັ້ງໄວ້ລ່ວງໜ້າ.
ຄ່ານີ້ສາມາດເປັນ 2N ທີ່ N ແມ່ນຄ່າຄົງທີ່ທີ່ຕັ້ງໄວ້ລ່ວງໜ້າ.
ເມື່ອ N=64, ມັນສະແດງເຖິງສູນຄົງທີ່.
ທ່ານຕ້ອງເລືອກເປີດໃຊ້ຕົວເລືອກຄົງທີ່ preload ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ໂມງ 0
ເລືອກ Clock0 , Clock1 ຫຼື Clock2 ເພື່ອລະບຸສັນຍານໂມງເຂົ້າສໍາລັບການລົງທະບຽນ accum_sload/sload_accum.
ທ່ານຕ້ອງເລືອກເປີດໃຊ້ຕົວເລືອກຄົງທີ່ preload ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ບໍ່ມີ
ລະບຸແຫຼ່ງທີ່ຈະແຈ້ງແບບບໍ່ຊິ້ງໂຄ້ງສຳລັບການລົງທະບຽນ accum_sload/sload_accum.
ທ່ານຕ້ອງເລືອກເປີດໃຊ້ຕົວເລືອກຄົງທີ່ preload ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ບໍ່ມີ
ລະບຸແຫຼ່ງທີ່ຊັດເຈນ synchronous ສໍາລັບການລົງທະບຽນ accum_sload/sload_accum.
ທ່ານຕ້ອງເລືອກເປີດໃຊ້ຕົວເລືອກຄົງທີ່ preload ເພື່ອເປີດໃຊ້ພາລາມິເຕີນີ້.
ປິດ
ເປີດໃຊ້ການລົງທະບຽນເຄື່ອງສະສົມສອງເທົ່າ.
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 54
ສົ່ງຄຳຕິຊົມ
8. Intel FPGA Multiply Adder IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
8.6.6. ແຖບ Systolic/Chainout
ຕາຕະລາງ 35. Systolic/Chainout Adder Tab
ພາລາມິເຕີເປີດໃຊ້ຕົວເສີມ chainout
ພາຣາມິເຕີທີ່ສ້າງຂຶ້ນ IP
ມູນຄ່າ
chainout_add YES,
er
ບໍ່
ປະເພດຂອງການດໍາເນີນການ adder chainout ແມ່ນຫຍັງ?
chainout_add ADD,
er_direction
SUB
ເປີດໃຊ້ການປ້ອນຂໍ້ມູນ 'negate' ສໍາລັບຕົວເສີມ chainout ບໍ?
Port_negate
PORT_USED, PORT_UNUSED
ລົງທະບຽນການປ້ອນຂໍ້ມູນ 'negate' ບໍ? negate_regist er
ບໍ່ໄດ້ລົງທະບຽນ, CLOCK0, CLOCK1, CLOCK2, CLOCK3
ແຫຼ່ງທີ່ມາຂອງການປ້ອນຂໍ້ມູນແບບບໍ່ກົງກັນຈະແຈ້ງແມ່ນຫຍັງ?
negate_aclr
ບໍ່ມີ ACLR0 ACLR1
ແຫຼ່ງຂໍ້ມູນສໍາລັບການປ້ອນຂໍ້ມູນທີ່ຊັດເຈນ synchronous ແມ່ນຫຍັງ?
negate_sclr
ບໍ່ມີ SCLR0 SCLR1
Systolic Delay
ເປີດໃຊ້ການລົງທະບຽນຄວາມລ່າຊ້າ systolic
gui_systolic_d ເປີດ
ອ້າ
ປິດ
ແຫຼ່ງການປ້ອນຂໍ້ມູນໂມງແມ່ນຫຍັງ?
gui_systolic_d CLOCK0,
elay_clock
ໂມງ 1,
ຄ່າເລີ່ມຕົ້ນ
ບໍ່
ລາຍລະອຽດ
ເລືອກແມ່ນແລ້ວເພື່ອເປີດໃຊ້ໂມດູນ adder chainout.
ເພີ່ມ
ລະບຸການດຳເນີນການຂອງຕົວເພີ່ມ chainout.
ສໍາລັບການປະຕິບັດການຫັກລົບ, SIGNED ຕ້ອງໄດ້ຮັບການເລືອກສໍາລັບຮູບແບບການເປັນຕົວແທນສໍາລັບຕົວຄູນ A ແມ່ນຫຍັງ? ແລະຮູບແບບການສະແດງຕົວຄູນ B ແມ່ນຫຍັງ? ໃນແຖບຕົວຄູນ.
PORT_UN ໃຊ້ແລ້ວ
ເລືອກ PORT_USED ເພື່ອເປີດໃຊ້ສັນຍານການປ້ອນຂໍ້ມູນລົບ.
ພາຣາມິເຕີນີ້ບໍ່ຖືກຕ້ອງເມື່ອຕົວເສີມລະບົບຕ່ອງໂສ້ປິດໃຊ້ງານ.
ຍົກເລີກການລົງທະບຽນ
ເພື່ອເປີດໃຊ້ການລົງທະບຽນ input ສໍາລັບສັນຍານ input negate ແລະກໍານົດສັນຍານໂມງ input ສໍາລັບ negate register.
ເລືອກທີ່ບໍ່ໄດ້ລົງທະບຽນຖ້າການລົງທະບຽນການປ້ອນຂໍ້ມູນ negate ແມ່ນບໍ່ຈໍາເປັນ
ພາຣາມິເຕີນີ້ບໍ່ຖືກຕ້ອງເມື່ອທ່ານເລືອກ:
· ບໍ່ມີສໍາລັບການເປີດໃຊ້ງານ chainout adder ຫຼື
· PORT_UNUSED ສໍາລັບການເປີດໃຊ້ 'negate' input ສໍາລັບ chainout adder? ພາລາມິເຕີຫຼື
ບໍ່ມີ
ລະບຸແຫຼ່ງທີ່ຈະແຈ້ງແບບບໍ່ຊິ້ງໂຄ້ງສຳລັບການລົງທະບຽນ negate.
ພາຣາມິເຕີນີ້ບໍ່ຖືກຕ້ອງເມື່ອທ່ານເລືອກ:
· ບໍ່ມີສໍາລັບການເປີດໃຊ້ງານ chainout adder ຫຼື
· PORT_UNUSED ສໍາລັບການເປີດໃຊ້ 'negate' input ສໍາລັບ chainout adder? ພາລາມິເຕີຫຼື
ບໍ່ມີ
ລະບຸແຫຼ່ງທີ່ຊັດເຈນ synchronous ສໍາລັບການລົງທະບຽນ negate.
ພາຣາມິເຕີນີ້ບໍ່ຖືກຕ້ອງເມື່ອທ່ານເລືອກ:
· ບໍ່ມີສໍາລັບການເປີດໃຊ້ງານ chainout adder ຫຼື
· PORT_UNUSED ສໍາລັບການເປີດໃຊ້ 'negate' input ສໍາລັບ chainout adder? ພາລາມິເຕີຫຼື
ປິດໂມງ0
ເລືອກຕົວເລືອກນີ້ເພື່ອເປີດໃຊ້ໂໝດ systolic. ພາລາມິເຕີນີ້ສາມາດໃຊ້ໄດ້ເມື່ອທ່ານເລືອກ 2, ຫຼື 4 ສໍາລັບຈໍານວນຕົວຄູນແມ່ນຫຍັງ? ພາລາມິເຕີ. ທ່ານຕ້ອງເປີດໃຊ້ Register output ຂອງຫົວໜ່ວຍ adder ເພື່ອໃຊ້ systolic delay registers.
ລະບຸສັນຍານໂມງເຂົ້າສໍາລັບການລົງທະບຽນການຊັກຊ້າ systolic.
ສືບຕໍ່…
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 55
8. Intel FPGA Multiply Adder IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ພາລາມິເຕີ
ພາຣາມິເຕີທີ່ສ້າງຂຶ້ນ IP
ມູນຄ່າ
ໂມງ 2,
ແຫຼ່ງທີ່ມາຂອງການປ້ອນຂໍ້ມູນແບບບໍ່ກົງກັນຈະແຈ້ງແມ່ນຫຍັງ?
gui_systolic_d elay_aclr
ບໍ່ມີ ACLR0 ACLR1
ແຫຼ່ງຂໍ້ມູນສໍາລັບການປ້ອນຂໍ້ມູນທີ່ຊັດເຈນ synchronous ແມ່ນຫຍັງ?
gui_systolic_d elay_sclr
ບໍ່ມີ SCLR0 SCLR1
ຄ່າເລີ່ມຕົ້ນ
ບໍ່ມີ
ບໍ່ມີ
ລາຍລະອຽດ
ທ່ານຕ້ອງເລືອກເປີດໃຊ້ການລົງທະບຽນການຊັກຊ້າ systolic ເພື່ອເປີດໃຊ້ຕົວເລືອກນີ້.
ລະບຸແຫຼ່ງທີ່ຊັດເຈນແບບບໍ່ຊິ້ງໂຄ້ງສໍາລັບການລົງທະບຽນການຊັກຊ້າຂອງ systolic. ທ່ານຕ້ອງເລືອກເປີດໃຊ້ການລົງທະບຽນການຊັກຊ້າ systolic ເພື່ອເປີດໃຊ້ຕົວເລືອກນີ້.
ລະບຸແຫຼ່ງທີ່ຊັດເຈນ synchronous ສໍາລັບການລົງທະບຽນການຊັກຊ້າ systolic. ທ່ານຕ້ອງເລືອກເປີດໃຊ້ການລົງທະບຽນການຊັກຊ້າ systolic ເພື່ອເປີດໃຊ້ຕົວເລືອກນີ້.
8.6.7. ແຖບທໍ່
ຕາຕະລາງ 36. ແຖບທໍ່
ການຕັ້ງຄ່າທໍ່ພາລາມິເຕີ
ພາຣາມິເຕີທີ່ສ້າງຂຶ້ນ IP
ມູນຄ່າ
ທ່ານຕ້ອງການເພີ່ມການລົງທະບຽນທໍ່ໃສ່ການປ້ອນຂໍ້ມູນບໍ?
gui_pipelining ບໍ່, ແມ່ນແລ້ວ
ຄ່າເລີ່ມຕົ້ນ
ບໍ່
ກະລຸນາລະບຸ
latency
ຈໍານວນໂມງ latency
ຮອບວຽນ
ຄ່າໃດໆກໍຕາມທີ່ໃຫຍ່ກວ່າ 0 ຫຼາຍກວ່າ 0
ແຫຼ່ງການປ້ອນຂໍ້ມູນໂມງແມ່ນຫຍັງ?
gui_input_late ncy_clock
CLOCK0, CLOCK1, CLOCK2
ແຫຼ່ງທີ່ມາຂອງການປ້ອນຂໍ້ມູນແບບບໍ່ກົງກັນຈະແຈ້ງແມ່ນຫຍັງ?
gui_input_late ncy_aclr
ບໍ່ມີ ACLR0 ACLR1
ແຫຼ່ງຂໍ້ມູນສໍາລັບການປ້ອນຂໍ້ມູນທີ່ຊັດເຈນ synchronous ແມ່ນຫຍັງ?
gui_input_late ncy_sclr
ບໍ່ມີ SCLR0 SCLR1
ໂມງ 0 ບໍ່ມີ ບໍ່ມີ
ລາຍລະອຽດ
ເລືອກແມ່ນແລ້ວ ເພື່ອເປີດໃຊ້ການລົງທະບຽນທໍ່ລະດັບເພີ່ມເຕີມຕໍ່ກັບສັນຍານປ້ອນຂໍ້ມູນ. ທ່ານຕ້ອງລະບຸຄ່າທີ່ໃຫຍ່ກວ່າ 0 ສໍາລັບການກະລຸນາລະບຸຈໍານວນຂອງຕົວກໍານົດການວົງຈອນການlatency ຂອງໂມງ.
ລະບຸການຕອບສະໜອງທີ່ຕ້ອງການໃນຮອບວຽນໂມງ. ການລົງທະບຽນທໍ່ຫນຶ່ງລະດັບ = 1 latency ໃນຮອບວຽນໂມງ. ທ່ານຕ້ອງເລືອກ YES ສໍາລັບ ທ່ານຕ້ອງການເພີ່ມການລົງທະບຽນທໍ່ໃສ່ການປ້ອນຂໍ້ມູນບໍ? ເພື່ອເປີດໃຊ້ຕົວເລືອກນີ້.
ເລືອກ Clock0 , Clock1 ຫຼື Clock2 ເພື່ອເປີດໃຊ້ງານແລະລະບຸສັນຍານໂມງເຂົ້າທໍ່ລົງທະບຽນ. ທ່ານຕ້ອງເລືອກ YES ສໍາລັບ ທ່ານຕ້ອງການເພີ່ມການລົງທະບຽນທໍ່ໃສ່ການປ້ອນຂໍ້ມູນບໍ? ເພື່ອເປີດໃຊ້ຕົວເລືອກນີ້.
ລະບຸແຫຼ່ງທີ່ມາທີ່ຈະແຈ້ງຂອງການລົງທະບຽນແບບອະຊິດໂຄຣນັສສຳລັບການລົງທະບຽນທໍ່ເພີ່ມເຕີມ. ທ່ານຕ້ອງເລືອກ YES ສໍາລັບ ທ່ານຕ້ອງການເພີ່ມການລົງທະບຽນທໍ່ໃສ່ການປ້ອນຂໍ້ມູນບໍ? ເພື່ອເປີດໃຊ້ຕົວເລືອກນີ້.
ລະບຸແຫຼ່ງທີ່ມາທີ່ຊັດເຈນຂອງທະບຽນ synchronous ສໍາລັບການລົງທະບຽນທໍ່ເພີ່ມເຕີມ. ທ່ານຕ້ອງເລືອກ YES ສໍາລັບ ທ່ານຕ້ອງການເພີ່ມການລົງທະບຽນທໍ່ໃສ່ການປ້ອນຂໍ້ມູນບໍ? ເພື່ອເປີດໃຊ້ຕົວເລືອກນີ້.
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 56
ສົ່ງຄຳຕິຊົມ
683490 | 2020.10.05 ສົ່ງຄຳຕິຊົມ
9. ALTMEMMULT (ຕົວຄູນຄ່າຄົງທີ່ຕາມຄວາມຈໍາ) IP Core
ເອົາໃຈໃສ່:
Intel ໄດ້ຖອນການສະຫນັບສະຫນູນ IP ນີ້ໃນ Intel Quartus Prime Pro Edition ຮຸ່ນ 20.3. ຖ້າຫຼັກ IP ໃນການອອກແບບເປົ້າຫມາຍອຸປະກອນໃນ Intel Quartus Prime Pro Edition, ທ່ານສາມາດປ່ຽນ IP ດ້ວຍ LPM_MULT Intel FPGA IP ຫຼືສ້າງ IP ຄືນໃໝ່ ແລະລວບລວມການອອກແບບຂອງທ່ານໂດຍໃຊ້ຊອບແວ Intel Quartus Prime Standard Edition.
ຫຼັກ ALTMEMMULT IP ຖືກນໍາໃຊ້ເພື່ອສ້າງຕົວຄູນທີ່ອີງໃສ່ຫນ່ວຍຄວາມຈໍາໂດຍໃຊ້ບລັອກຫນ່ວຍຄວາມຈໍາ onchip ທີ່ພົບໃນ Intel FPGAs (ກັບ M512, M4K, M9K, ແລະ MLAB ຕັນຫນ່ວຍຄວາມຈໍາ). ຫຼັກ IP ນີ້ເປັນປະໂຫຍດຖ້າທ່ານບໍ່ມີຊັບພະຍາກອນພຽງພໍເພື່ອປະຕິບັດຕົວຄູນໃນອົງປະກອບຕາມເຫດຜົນ (LEs) ຫຼືຊັບພະຍາກອນຕົວຄູນທີ່ອຸທິດຕົນ.
ຫຼັກ ALTMEMMULT IP ເປັນຟັງຊັນ synchronous ທີ່ຕ້ອງການໂມງ. ຫຼັກ ALTMEMMULT IP ປະຕິບັດຕົວຄູນທີ່ມີ throughput ແລະ latency ນ້ອຍທີ່ສຸດທີ່ເປັນໄປໄດ້ສໍາລັບຊຸດຂອງພາລາມິເຕີແລະສະເພາະ.
ຕົວເລກຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນພອດສໍາລັບ ALTEMEMMULT IP core.
ຮູບທີ 21. ທ່າເຮືອ ALTMEMMULT
ALTMEMMULT
data_in[] sload_data coeff_in[]
result[] result_valid load_done
sload_coeff
ໂມງ sclr
inst
ຄຸນສົມບັດຂໍ້ມູນທີ່ກ່ຽວຂ້ອງໃນໜ້າ 71
9.1. ຄຸນສົມບັດ
ຫຼັກ ALTMEMMULT IP ສະເຫນີຄຸນສົມບັດດັ່ງຕໍ່ໄປນີ້: · ສ້າງຕົວຄູນທີ່ອີງໃສ່ຫນ່ວຍຄວາມຈໍາເທົ່ານັ້ນໂດຍໃຊ້ບລັອກຫນ່ວຍຄວາມຈໍາໃນຊິບທີ່ພົບເຫັນຢູ່ໃນ
Intel FPGAs · ຮອງຮັບຄວາມກວ້າງຂອງຂໍ້ມູນ 1 bits · ຮອງຮັບຮູບແບບການສະແດງຂໍ້ມູນທີ່ມີລາຍເຊັນ ແລະ ບໍ່ໄດ້ເຊັນ · ຮອງຮັບການວາງທໍ່ກັບຄວາມໜ່ວງຂອງຜົນຜະລິດຄົງທີ່
ບໍລິສັດ Intel. ສະຫງວນລິຂະສິດທັງໝົດ. Intel, ໂລໂກ້ Intel, ແລະເຄື່ອງໝາຍ Intel ອື່ນໆແມ່ນເຄື່ອງໝາຍການຄ້າຂອງ Intel Corporation ຫຼືບໍລິສັດຍ່ອຍຂອງມັນ. Intel ຮັບປະກັນປະສິດທິພາບຂອງຜະລິດຕະພັນ FPGA ແລະ semiconductor ຂອງຕົນຕໍ່ກັບຂໍ້ມູນຈໍາເພາະໃນປະຈຸບັນໂດຍສອດຄ່ອງກັບການຮັບປະກັນມາດຕະຖານຂອງ Intel, ແຕ່ສະຫງວນສິດທີ່ຈະປ່ຽນແປງຜະລິດຕະພັນແລະການບໍລິການໄດ້ທຸກເວລາໂດຍບໍ່ມີການແຈ້ງການ. Intel ຖືວ່າບໍ່ມີຄວາມຮັບຜິດຊອບ ຫຼືຄວາມຮັບຜິດຊອບທີ່ເກີດຂຶ້ນຈາກແອັບພລິເຄຊັນ ຫຼືການນຳໃຊ້ຂໍ້ມູນ, ຜະລິດຕະພັນ, ຫຼືບໍລິການໃດໜຶ່ງທີ່ໄດ້ອະທິບາຍໄວ້ໃນນີ້ ຍົກເວັ້ນຕາມທີ່ໄດ້ຕົກລົງຢ່າງຈະແຈ້ງໃນລາຍລັກອັກສອນໂດຍ Intel. ລູກຄ້າ Intel ໄດ້ຮັບຄໍາແນະນໍາໃຫ້ໄດ້ຮັບສະບັບຫລ້າສຸດຂອງຂໍ້ມູນຈໍາເພາະຂອງອຸປະກອນກ່ອນທີ່ຈະອີງໃສ່ຂໍ້ມູນໃດໆທີ່ຈັດພີມມາແລະກ່ອນທີ່ຈະວາງຄໍາສັ່ງສໍາລັບຜະລິດຕະພັນຫຼືການບໍລິການ. *ຊື່ ແລະຍີ່ຫໍ້ອື່ນໆອາດຈະຖືກອ້າງວ່າເປັນຊັບສິນຂອງຄົນອື່ນ.
ISO 9001:2015 ລົງທະບຽນ
9. ALTMEMMULT (ຕົວຄູນຄ່າຄົງທີ່ທີ່ອີງໃສ່ໜ່ວຍຄວາມຈຳ) IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
·ເກັບຮັກສາຄົງທີ່ຫຼາຍໃນຫນ່ວຍຄວາມຈໍາການເຂົ້າເຖິງແບບສຸ່ມ (RAM)
·ໃຫ້ທາງເລືອກໃນການເລືອກປະເພດຂອງ RAM
·ຮອງຮັບທາງເລືອກ synchronous clear and load-control input ports
9.2. Verilog HDL Prototype
ຕົ້ນແບບ Verilog HDL ຕໍ່ໄປນີ້ແມ່ນຕັ້ງຢູ່ໃນ Verilog Design File (.v) altera_mf.v ໃນ ໄດເລກະທໍລີການສັງເຄາະ eda.
module altmemmult #( parameter coeff_representation = “SIGNED”, parameter coefficient0 = “UNUSED”, parameter data_representation = “SIGNED”, parameter intended_device_family = “unused”, ພາຣາມິເຕີ max_clock_cycles_per_result = 1_AU, parameter = 1.colock_types, parameters ແມັດ 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”) (ໂມງສາຍເຂົ້າ, ສາຍປ້ອນເຂົ້າ [width_c-1: 0]coeff_in, ສາຍ input [width_d-1:0] data_in, output wire load_done, output wire [width_r-1:0] results, output wire results_valid, input wire sclr, input wire [width_s-1:0] sel, input wire sload_coeff, input wire sload_data)/* ການສັງເຄາະ syn_black_box=1 */; ໂມດູນສຸດທ້າຍ
9.3. ການປະກາດອົງປະກອບ VHDL
ການປະກາດອົງປະກອບ VHDL ແມ່ນຢູ່ໃນ VHDL Design File (.vhd) altera_mf_components.vhd ໃນ librariesvhdlaltera_mf directory.
ອົງປະກອບ altmemmult generic ( coeff_representation:string := “SIGNED”; coefficient0:string := “UNUSED”; data_representation:string := “SIGNED”; purpose_device_family:string := “unused”; max_clock_cycles_peral_result: alt; := 1; ram_block_type:string:= “AUTO”; total_latency:natural width_c:natural; width_r:natural; “altmmmult”); port(clock:in std_logic; coeff_in:in std_logic_vector(width_c-1 downto 1) := (others => '1'); data_in: in std_logic_vector(width_d-0 downto 0);
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 58
ສົ່ງຄຳຕິຊົມ
9. ALTMEMMULT (ຕົວຄູນຄ່າຄົງທີ່ທີ່ອີງໃສ່ໜ່ວຍຄວາມຈຳ) IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
load_done: ອອກ std_logic; ຜົນໄດ້ຮັບ: ອອກ std_logic_vector(width_r-1 ລົງຫາ 0); result_valid: ອອກ std_logic; scr: ໃນ std_logic := '0'; sel:in std_logic_vector(width_s-1 ລົງຫາ 0) := (ອື່ນໆ => '0'); sload_coeff:ໃນ std_logic := '0'; sload_data: ໃນ std_logic := '0'); ອົງປະກອບທ້າຍ;
9.4. ທ່າເຮືອ
ຕາຕະລາງຕໍ່ໄປນີ້ບອກລາຍການຜອດຂາເຂົ້າ ແລະຂາອອກສຳລັບຫຼັກ IP ALTMEMMULT.
ຕາຕະລາງ 37. ALTMEMMULT Input Ports
ຊື່ຜອດ
ຕ້ອງການ
ລາຍລະອຽດ
ໂມງ
ແມ່ນແລ້ວ
ການປ້ອນຂໍ້ມູນໂມງໄປຫາຕົວຄູນ.
coeff_in[]
ບໍ່
ຜອດປ້ອນຄ່າສຳປະສິດສຳລັບຕົວຄູນ. ຂະໜາດຂອງຜອດປ້ອນຂໍ້ມູນແມ່ນຂຶ້ນກັບຄ່າພາຣາມິເຕີ WIDTH_C.
data_in[]
ແມ່ນແລ້ວ
ພອດປ້ອນຂໍ້ມູນໄປຫາຕົວຄູນ. ຂະໜາດຂອງຜອດປ້ອນຂໍ້ມູນແມ່ນຂຶ້ນກັບຄ່າພາຣາມິເຕີ WIDTH_D.
scr
ບໍ່
ການປ້ອນຂໍ້ມູນທີ່ຊັດເຈນ synchronous. ຖ້າບໍ່ໄດ້ໃຊ້, ຄ່າເລີ່ມຕົ້ນແມ່ນສູງ.
ເຊລ[]
ບໍ່
ການເລືອກຕົວຄູນຄົງທີ່. ຂະໜາດຂອງຜອດປ້ອນຂໍ້ມູນແມ່ນຂຶ້ນກັບ WIDTH_S
ຄ່າພາລາມິເຕີ.
sload_coeff
ບໍ່
ຜອດປ້ອນຂໍ້ມູນຄ່າສໍາປະສິດການໂຫຼດ synchronous. ແທນທີ່ຄ່າສໍາປະສິດທີ່ເລືອກໃນປັດຈຸບັນດ້ວຍຄ່າທີ່ລະບຸໄວ້ໃນ coeff_in input.
sload_data
ບໍ່
ຜອດປ້ອນຂໍ້ມູນການໂຫຼດ synchronous. ສັນຍານທີ່ລະບຸການປະຕິບັດການຄູນໃຫມ່ແລະຍົກເລີກການດໍາເນີນການຄູນທີ່ມີຢູ່ແລ້ວ. ຖ້າພາຣາມິເຕີ MAX_CLOCK_CYCLES_PER_RESULT ມີມູນຄ່າ 1, ຜອດປ້ອນຂໍ້ມູນ sload_data ຈະຖືກລະເລີຍ.
ຕາຕະລາງ 38. ALTMEMMULT Output Ports
ຊື່ຜອດ
ຕ້ອງການ
ລາຍລະອຽດ
ຜົນໄດ້ຮັບ[]
ແມ່ນແລ້ວ
ຜອດຜົນຜະລິດຕົວຄູນ. ຂະໜາດຂອງຜອດປ້ອນຂໍ້ມູນແມ່ນຂຶ້ນກັບຄ່າພາຣາມິເຕີ WIDTH_R.
ຜົນໄດ້ຮັບ_ຖືກຕ້ອງ
ແມ່ນແລ້ວ
ຊີ້ບອກເວລາທີ່ຜົນໄດ້ຮັບແມ່ນຜົນທີ່ຖືກຕ້ອງຂອງການຄູນທີ່ສົມບູນ. ຖ້າພາຣາມິເຕີ MAX_CLOCK_CYCLES_PER_RESULT ມີມູນຄ່າ 1, ຜອດຜົນຜະລິດ result_valid ຈະບໍ່ຖືກໃຊ້.
load_done
ບໍ່
ຊີ້ໃຫ້ເຫັນເວລາທີ່ຄ່າສໍາປະສິດໃຫມ່ໄດ້ສໍາເລັດການໂຫຼດ. ສັນຍານ load_done ຢືນຢັນເມື່ອຄ່າສຳປະສິດໃໝ່ສຳເລັດການໂຫຼດ. ເວັ້ນເສຍແຕ່ວ່າສັນຍານ load_done ສູງ, ບໍ່ມີຄ່າສໍາປະສິດອື່ນສາມາດຖືກໂຫລດເຂົ້າໄປໃນຫນ່ວຍຄວາມຈໍາ.
9.5. ພາລາມິເຕີ
ຕາຕະລາງຕໍ່ໄປນີ້ລາຍຊື່ຕົວກໍານົດການສໍາລັບ ALTEMEMMULT IP core.
ຕາຕະລາງ 39.
WIDTH_D WIDTH_C
ຕົວກໍານົດການ ALTEMMULT
ຊື່ພາລາມິເຕີ
ປະເພດທີ່ຕ້ອງການ
ລາຍລະອຽດ
ຈຳນວນເຕັມແມ່ນ
ລະບຸຄວາມກວ້າງຂອງຜອດ data_in[].
ຈຳນວນເຕັມແມ່ນ
ລະບຸຄວາມກວ້າງຂອງຜອດ coeff_in[]. ສືບຕໍ່…
ສົ່ງຄຳຕິຊົມ
ຄູ່ມືຜູ້ໃຊ້ Intel FPGA Integer Arithmetic IP Cores 59
9. ALTMEMMULT (ຕົວຄູນຄ່າຄົງທີ່ທີ່ອີງໃສ່ໜ່ວຍຄວາມຈຳ) IP Core 683490 | ວັນທີ 2020.10.05/XNUMX/XNUMX
ຊື່ພາຣາມິເຕີ WIDTH_R WIDTH
ເອກະສານ / ຊັບພະຍາກອນ
![]() |
intel FPGA Integer Arithmetic IP Cores [pdf] ຄູ່ມືຜູ້ໃຊ້ FPGA Integer Arithmetic IP Cores, Integer Arithmetic IP Cores, Arithmetic IP Cores, IP Cores |