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 ………………………………………………………………….. ၅
2. LPM_COUNTER (ကောင်တာ) IP Core ………………………………………………………………….. 7 2.1. အင်္ဂါရပ်များ …………………………………………………………………………………………………………7 ၂.၂။ Verilog HDL Prototype ……………………………………………………………………………….. ၈ ၂.၃။ VHDL အစိတ်အပိုင်းကြေငြာချက်……………………………………………………………………………….2.2 ၂.၄။ VHDL LIBRARY_USE ကြေငြာချက် ……………………………………………………………………………… 8 ၂.၅။ ဆိပ်ကမ်းများ…………………………………………………………………………………………………………..2.3 ၂.၆။ သတ်မှတ်ချက်များ…………………………………………………………………………………………… ၁၀
3. LPM_DIVIDE (Divider) Intel FPGA IP Core ……………………………………………………….. 12 ၃.၁။ အင်္ဂါရပ်များ………………………………………………………………………………………………။ ၃.၂ ၁၂။ Verilog HDL Prototype ……………………………………………………………………………… 3.1 ၃.၃။ VHDL အစိတ်အပိုင်း ကြေငြာချက် …………………………………………………………………….. 12 ၃.၄။ VHDL LIBRARY_USE ကြေငြာချက် …………………………………………………………………. ၁၃း၃.၅။ ဆိပ်ကမ်းများ………………………………………………………………………………………………………… 3.2 ၃.၆။ သတ်မှတ်ချက်များ…………………………………………………………………………………………… ၁၄
4. LPM_MULT (များစွာသော) IP Core …………………………………………………………………………။ ၁၆း၄.၁။ အင်္ဂါရပ်များ………………………………………………………………………………………………။ ၁၆း၄.၂။ Verilog HDL Prototype ……………………………………………………………………………… 16 ၄.၃။ VHDL အစိတ်အပိုင်းကြေငြာချက် ……………………………………………………………………….. ၁၇ ၄.၄။ VHDL LIBRARY_USE ကြေငြာချက် …………………………………………………………………. 4.1 ၄.၅။ အချက်ပြများ ………………………………………………………………………………………………………… 16 ၄.၆။ Stratix V၊ Arria V၊ Cyclone V နှင့် Intel Cyclone 4.2 LP စက်များအတွက် ကန့်သတ်ချက်များ …………… 17 ၄.၆.၁။ အထွေထွေ Tab …………………………………………………………………………………………… 4.3 ၄.၆.၂။ အထွေထွေ 17 Tab ……………………………………………………………………………… 4.4 ၄.၆.၃။ ပိုက်လိုင်းဆွဲခြင်း Tab …………………………………………………………………………………………… ၁၉ ၄.၇။ Intel Stratix 17၊ Intel Arria 4.5 နှင့် Intel Cyclone 18 GX စက်များအတွက် ကန့်သတ်ချက်များ……….. 4.6 ၄.၇.၁။ General Tab …………………………………………………………………………………………… 10 ၄.၇.၂။ အထွေထွေ 18 Tab ……………………………………………………………………………… 4.6.1 ၄.၇.၃။ ပိုက်လိုင်း…………………………………………………………………………………………… ၂၁
5. LPM_ADD_SUB (Adder/Subtractor)……………………………………………………………………………… 22 ၅.၁။ အင်္ဂါရပ်များ………………………………………………………………………………………………။ ၂၂း၅.၂။ Verilog HDL Prototype ……………………………………………………………………………… 5.1 ၅.၃။ VHDL အစိတ်အပိုင်းကြေငြာချက် …………………………………………………………………….. ၂၃ ၅.၄။ VHDL LIBRARY_USE ကြေငြာချက် …………………………………………………………………. ၂၃း၅.၅။ ဆိပ်ကမ်းများ ………………………………………………………………………………………………………… 22 ၅.၆။ သတ်မှတ်ချက်များ …………………………………………………………………………………………… 5.2
6. LPM_COMPARE (Comparator) ……………………………………………………………………………… 26 ၆.၁။ အင်္ဂါရပ်များ………………………………………………………………………………………………။ ၂၆း၆။၂။ Verilog HDL Prototype ……………………………………………………………………………… 6.1 ၆.၃။ VHDL အစိတ်အပိုင်းကြေငြာချက် ……………………………………………………………………….. ၂၇ ၆.၄။ VHDL LIBRARY_USE ကြေငြာချက် …………………………………………………………………. ၂၇း၆.၅။ ဆိပ်ကမ်းများ ………………………………………………………………………………………………………… 26 ၆.၆။ သတ်မှတ်ချက်များ…………………………………………………………………………………………… ၂၈
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
မာတိကာ
7. ALTECC (Error Correction Code: Encoder/Decoder) IP Core ……………………………………… 30
၇.၁။ ALTECC Encoder အင်္ဂါရပ်များ ………………………………………………………………………………..7.1 ၇.၂။ Verilog HDL နမူနာပုံစံ (ALTECC_ENCODER) ……………………………………………………. ၃၂း၇.၃။ Verilog HDL နမူနာပုံစံ (ALTECC_DECODER) ……………………………………………………. ၃၂း၇.၄။ VHDL အစိတ်အပိုင်းကြေငြာချက် (ALTECC_ENCODER) …………………………………………………… 31 ၇.၅။ VHDL အစိတ်အပိုင်းကြေငြာချက် (ALTECC_DECODER) …………………………………………………… ၃၃ ၇.၆။ VHDL LIBRARY_USE ကြေငြာချက် …………………………………………………………………. ၃၃း၇.၇။ Encoder Ports …………………………………………………………………………………………………… ၃၃ ၇.၈။ Decoder Ports ………………………………………………………………………………………………………… ၃၄ ၇.၉။ Encoder Parameters …………………………………………………………………………………………… 7.2 ၇.၁၀။ Decoder Parameters ……………………………………………………………………………… ၃၅
8. Intel FPGA Multiply Adder IP Core ……………………………………………………………………. ၃၆
၈.၁။ အင်္ဂါရပ်များ………………………………………………………………………………………………။ ၃၇ ၈.၁.၁။ Pre-adder ………………………………………………………………………………….. 8.1 ၈.၁.၂။ Systolic Delay Register ………………………………………………………………….. 37 ၈.၁.၃။ Pre-load Constant ……………………………………………………………………………… 8.1.1 ၈.၁.၄။ Double Accumulator ………………………………………………………………………… ၄၃
၈.၂။ Verilog HDL Prototype ……………………………………………………………………………… 8.2 ၈.၃။ VHDL အစိတ်အပိုင်းကြေငြာချက် ……………………………………………………………………….. ၄၄ ၈.၄။ VHDL LIBRARY_USE ကြေငြာချက် …………………………………………………………………. ၄၄ ၈.၅။ အချက်ပြများ ………………………………………………………………………………………………………… 44 ၈.၆။ ကန့်သတ်ချက်များ………………………………………………………………………………………………………… ၄၇
၈.၆.၁။ အထွေထွေ Tab …………………………………………………………………………………………… 8.6.1 ၈.၆.၂။ Extra Modes Tab ……………………………………………………………………………….. ၄၇ ၈.၆.၃။ မြှောက်ကိန်းများ တဘ်……………………………………………………………………………………….. ၄၉ ၈.၆.၄။ ပရိတ်ဒါတဘ်………………………………………………………………………………………။ 47 ၈.၆.၅။ Accumulator Tab ……………………………………………………………………………………….. ၅၃ ၈.၆.၆။ Systolic/ Chainout Tab ……………………………………………………………………. 8.6.2 ၈.၆.၇။ ပိုက်လိုင်းဆွဲခြင်း Tab ……………………………………………………………………………………… ၅၆
9. ALTMEMMULT (Memory-based Constant Coefficient Multiplier) IP Core…………………… 57
၉.၁။ အင်္ဂါရပ်များ………………………………………………………………………………………………။ 9.1 ၉.၂။ Verilog HDL Prototype ……………………………………………………………………………… 57 ၉.၃။ VHDL အစိတ်အပိုင်းကြေငြာချက် …………………………………………………………………….. 9.2 ၉.၄။ ဆိပ်ကမ်းများ ………………………………………………………………………………………………………… 58 ၉.၅။ သတ်မှတ်ချက်များ…………………………………………………………………………………………… ၅၉
10. ALTMULT_ACCUM (Multiply-Accumulate) IP Core …………………………………………………… 61
၁၀.၁။ အင်္ဂါရပ်များ …………………………………………………………………………………………….. ၆၂ ၁၀.၂။ Verilog HDL Prototype …………………………………………………………………………………..10.1 ၁၀.၃။ VHDL အစိတ်အပိုင်းကြေငြာချက်……………………………………………………………………………… 62 ၁၀.၄။ VHDL LIBRARY_USE ကြေငြာချက် ………………………………………………………………… 10.2 ၁၀.၅။ ဆိပ်ကမ်းများ…………………………………………………………………………………………………………။ 62 ၁၀.၆။ သတ်မှတ်ချက်များ……………………………………………………………………………………………. ၆၄
11. ALTMULT_ADD (Multiply-Adder) IP Core ……………………………………………………..69
၁၁.၁။ အင်္ဂါရပ်များ ……………………………………………………………………………………………….. 11.1 ၁၁.၂။ Verilog HDL Prototype …………………………………………………………………………………..71 ၁၁.၃။ VHDL အစိတ်အပိုင်းကြေငြာချက်……………………………………………………………………………… 11.2 ၁၁.၄။ VHDL LIBRARY_USE ကြေငြာချက် …………………………………………………………………၇၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
မာတိကာ
၁၁.၅။ ဆိပ်ကမ်းများ…………………………………………………………………………………………………………။ 11.5 ၁၁.၆။ သတ်မှတ်ချက်များ……………………………………………………………………………………………. ၇၃
12. ALTMULT_COMPLEX (Complex Multiplier) IP Core ……………………………………………… 86 12.1. ရှုပ်ထွေးသော ပေါင်းခြင်း ……………………………………………………………………………. ၈၆ ၁၂.၂။ Canonical ကိုယ်စားပြုမှု……………………………………………………………………………… 86 ၁၂.၃။ သမားရိုးကျကိုယ်စားပြုမှု…………………………………………………………………. ၈၇ ၁၂.၄။ အင်္ဂါရပ်များ …………………………………………………………………………………………….. 12.2 ၁၂.၅။ Verilog HDL Prototype …………………………………………………………………………………..87 ၁၂.၆။ VHDL အစိတ်အပိုင်းကြေငြာချက် ……………………………………………………………………………… 12.3 ၁၂.၇။ VHDL LIBRARY_USE ကြေငြာချက် ………………………………………………………………… 87 ၁၂.၈။ အချက်ပြမှုများ………………………………………………………………………………………………. ၈၉ ၁၂.၉။ သတ်မှတ်ချက်များ……………………………………………………………………………………………. ၉၀
13. ALTSQRT (Integer Square Root) IP Core…………………………………………………………………92 ၁၃.၁။ အင်္ဂါရပ်များ …………………………………………………………………………………………….. ၉၂ ၁၃.၂။ Verilog HDL Prototype …………………………………………………………………………………..13.1 ၁၃.၃။ VHDL အစိတ်အပိုင်းကြေငြာချက်……………………………………………………………………………… 92 ၁၃.၄။ VHDL LIBRARY_USE ကြေငြာချက် ……………………………………………………………………………… 13.2 ၁၃.၅။ ဆိပ်ကမ်းများ…………………………………………………………………………………………………………။ ၉၃း၁၃.၆။ သတ်မှတ်ချက်များ……………………………………………………………………………………………. ၉၄
14. PARALLEL_ADD (Parallel Adder) IP Core ……………………………………………………….. 95 14.1. ထူးခြားချက် ……………………………………………………………………………………………….95 ၁၄.၂။ Verilog HDL Prototype …………………………………………………………………………………..14.2 ၁၄.၃။ VHDL အစိတ်အပိုင်းကြေငြာချက်……………………………………………………………………………… 95 ၁၄.၄။ VHDL LIBRARY_USE ကြေငြာချက် ………………………………………………………………………………14.3 ၁၄.၅။ ဆိပ်ကမ်းများ…………………………………………………………………………………………………………။ 96 ၁၄.၆။ သတ်မှတ်ချက်များ……………………………………………………………………………………………. ၉၇
15. Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် စာရွက်စာတမ်းများ မော်ကွန်းများ………………………………… 98
16. Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန်အတွက် စာရွက်စာတမ်း ပြန်လည်ပြင်ဆင်မှုမှတ်တမ်း။ ၉၉
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
683490 | 2020.10.05 တုံ့ပြန်ချက်ပေးပို့ပါ။
1. Intel FPGA Integer Arithmetic IP Cores
သင့်ဒီဇိုင်းတွင် သင်္ချာဆိုင်ရာ လုပ်ဆောင်ချက်များကို လုပ်ဆောင်ရန် Intel® FPGA integer IP cores ကို သင်အသုံးပြုနိုင်ပါသည်။
ဤလုပ်ဆောင်ချက်များသည် သင့်ကိုယ်ပိုင်လုပ်ဆောင်ချက်များကို ကုဒ်ရေးခြင်းထက် ပိုမိုထိရောက်သော ယုတ္တိဗေဒပေါင်းစပ်မှုနှင့် စက်အကောင်အထည်ဖော်မှုကို ပေးဆောင်သည်။ သင်၏ဒီဇိုင်းလိုအပ်ချက်များကိုလိုက်လျောညီထွေဖြစ်စေရန်အတွက် IP cores များကိုစိတ်ကြိုက်ပြင်ဆင်နိုင်သည်။
Intel integer ဂဏန်းသင်္ချာ IP cores များကို အောက်ပါ အမျိုးအစားနှစ်ခုတွင် ပိုင်းခြားထားသည်- · ကန့်သတ်ထားသော modules (LPM) IP cores များ၏ Library · Intel-specific (ALT) IP cores
အောက်ပါဇယားသည် ကိန်းပြည့်ဂဏန်းသင်္ချာ IP cores များကို စာရင်းပြုစုထားသည်။
ဇယား ၁။
IP Core များစာရင်း
IP Cores များ
LPM IP core များ
LPM_COUNTER
LPM_DIVIDE
LPM_MULT
LPM_ADD_SUB
LPM_COMPARE
Intel-specific (ALT) IP cores ALTECC
လုပ်ဆောင်ချက်ပြီးသွားပါပြီview Counter Divider Multiplier
ပေါင်းထည့်ခြင်း သို့မဟုတ် နုတ်ခြင်း နှိုင်းယှဉ်ခြင်း။
ECC Encoder/Decoder
ပံ့ပိုးထားသော ကိရိယာ
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 ကော်ပိုရေးရှင်း သို့မဟုတ် ၎င်း၏လုပ်ငန်းခွဲများ၏ အမှတ်တံဆိပ်များဖြစ်သည်။ Intel သည် Intel ၏ စံအာမခံချက်နှင့်အညီ ၎င်း၏ FPGA နှင့် တစ်ပိုင်းလျှပ်ကူးပစ္စည်းထုတ်ကုန်များ၏ စွမ်းဆောင်ရည်ကို လက်ရှိ သတ်မှတ်ချက်များအတိုင်း အာမခံထားသော်လည်း မည်သည့်ထုတ်ကုန်နှင့် ဝန်ဆောင်မှုများကိုမဆို အသိပေးခြင်းမရှိဘဲ အချိန်မရွေး အပြောင်းအလဲပြုလုပ်ပိုင်ခွင့်ကို လက်ဝယ်ရှိပါသည်။ Intel မှ စာဖြင့် အတိအလင်း သဘောတူထားသည့်အတိုင်း ဤနေရာတွင် ဖော်ပြထားသော အချက်အလက်၊ ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုကို အသုံးပြုခြင်း သို့မဟုတ် အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော တာဝန် သို့မဟုတ် တာဝန်ခံမှု မရှိဟု ယူဆပါသည်။ Intel သုံးစွဲသူများသည် ထုတ်ဝေထားသော အချက်အလက်များနှင့် ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုများအတွက် အမှာစာမတင်မီ နောက်ဆုံးဗားရှင်းကို ရယူရန် အကြံပြုအပ်ပါသည်။ *အခြားအမည်များနှင့် အမှတ်တံဆိပ်များကို အခြားသူများ၏ပိုင်ဆိုင်မှုအဖြစ် တောင်းဆိုနိုင်ပါသည်။
ISO 9001:2015 မှတ်ပုံတင်ထားသည်။
1. Intel FPGA Integer Arithmetic IP Cores 683490 | 2020.10.05
IP Cores Intel FPGA Multiply Adder သို့မဟုတ် ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
ALTSQRT
PARALLEL_ADD
လုပ်ဆောင်ချက်ပြီးသွားပါပြီview Multiplier-Adder
Memory-based Constant Coefficient Multiplier
Multiplier-Accumulator Multiplier-Adder
ရှုပ်ထွေးသောကိန်းဂဏန်း
Integer Square-Root
Parallel 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 နှင့် Programmable Devices Release Notes
· Intel FPGA IP Cores မိတ်ဆက် Intel FPGA IP Cores များအကြောင်း နောက်ထပ်အချက်အလက်များကို ပေးပါသည်။
· Floating-Point IP Cores အသုံးပြုသူလမ်းညွှန်သည် Intel FPGA Floating-Point IP cores များအကြောင်း နောက်ထပ်အချက်အလက်များကို ပေးပါသည်။
· Intel FPGA IP Cores အား မိတ်ဆက်ခြင်း ကန့်သတ်ချက်များပြုလုပ်ခြင်း၊ ထုတ်လုပ်ခြင်း၊ အဆင့်မြှင့်တင်ခြင်းနှင့် IP cores များကို ပုံဖော်ခြင်းအပါအဝင် Intel FPGA IP cores အားလုံး၏ ယေဘုယျအချက်အလက်များကို ပေးပါသည်။
· ဗားရှင်း-အမှီအခိုကင်းသော IP နှင့် Qsys သရုပ်သကန်များ ဖန်တီးခြင်း ဆော့ဖ်ဝဲလ် သို့မဟုတ် IP ဗားရှင်း အဆင့်မြှင့်တင်ခြင်းအတွက် လက်စွဲမွမ်းမံမှုများ မလိုအပ်သည့် သရုပ်ဖော်စခရစ်များကို ဖန်တီးပါ။
· သင့်ပရောဂျက်နှင့် IP ၏ ထိရောက်သောစီမံခန့်ခွဲမှုနှင့် သယ်ဆောင်ရလွယ်ကူမှုအတွက် ပရောဂျက်စီမံခန့်ခွဲမှု အကောင်းဆုံးအလေ့အကျင့်များ လမ်းညွှန်ချက်များ files.
· Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် Document Archives စာမျက်နှာ 98 တွင် Integer Arithmetic IP Cores များ၏ ယခင်ဗားရှင်းများအတွက် အသုံးပြုသူလမ်းညွှန်များစာရင်းကို ပေးပါသည်။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
683490 | 2020.10.05 တုံ့ပြန်ချက်ပေးပို့ပါ။
2. LPM_COUNTER (ကောင်တာ) IP Core
ပုံ ၇။
LPM_COUNTER IP core သည် 256 ဘစ်အထိ ကျယ်ပြန့်သော အထွက်များနှင့်အတူ ကောင်တာများအထိ၊ အောက်ကောင်တာများနှင့် အထက် သို့မဟုတ် အောက်ကောင်တာများကို ဖန်တီးပေးသည့် ဒွိကောင်တာတစ်ခုဖြစ်သည်။
အောက်ပါပုံသည် LPM_COUNTER IP core အတွက် ဆိပ်ကမ်းများကို ပြသည်။
LPM_COUNTER ဆိပ်ကမ်းများ
LPM_COUNTER
ssclr sload sset data[]
q[]
ကွမ်းခြံကုန်း
cout
aclr aload aset
clk_en cnt_en cin
inst
2.1. အင်္ဂါရပ်များ
LPM_COUNTER IP core သည် အောက်ပါအင်္ဂါရပ်များကို ပေးဆောင်သည်- · အပေါ်၊ အောက်နှင့် အတက်/အောက် ကောင်တာများကို ထုတ်ပေးသည် · အောက်ပါကောင်တာအမျိုးအစားများကို ထုတ်ပေးသည်-
- ရိုးရိုးဒွိစုံ- 255 မှစတင်၍ သုည သို့မဟုတ် လျှော့ကျခြင်းများ စတင်သည့် တန်ပြန်တိုးများ
— Modulus—အသုံးပြုသူမှသတ်မှတ်ထားသော modulus တန်ဖိုးမှ တန်ပြန်တိုးခြင်း သို့မဟုတ် လျှော့ချခြင်းများ
· ရွေးချယ်နိုင်သော ထပ်တူကျသော ရှင်းလင်းမှု၊ ဝန်ထုပ်ဝန်ပိုးနှင့် သတ်မှတ်အဝင်ပေါက်များကို ပံ့ပိုးပေးသည် · ရွေးချယ်နိုင်သော ပြတ်ပြတ်သားသား ရှင်းရှင်းလင်းလင်း၊ တင်ရန်နှင့် ထည့်သွင်းသည့် ဆိပ်ကမ်းများကို ပံ့ပိုးပေးသည် · စိတ်ကြိုက်ရေတွက်မှုကို ပံ့ပိုးပေးပြီး အဝင်ပေါက်များကို clock ဖွင့်ပေးသည် · ရွေးချယ်နိုင်သော သယ်ဆောင်ဝင်ခြင်းနှင့် သယ်ဆောင်ထွက်ပေါက်များကို ပံ့ပိုးပေးသည်
Intel ကော်ပိုရေးရှင်း။ မူပိုင်ခွင့်များရယူပြီး။ Intel၊ Intel လိုဂိုနှင့် အခြားသော Intel အမှတ်အသားများသည် Intel ကော်ပိုရေးရှင်း သို့မဟုတ် ၎င်း၏လုပ်ငန်းခွဲများ၏ အမှတ်တံဆိပ်များဖြစ်သည်။ Intel သည် Intel ၏ စံအာမခံချက်နှင့်အညီ ၎င်း၏ FPGA နှင့် တစ်ပိုင်းလျှပ်ကူးပစ္စည်းထုတ်ကုန်များ၏ စွမ်းဆောင်ရည်ကို လက်ရှိ သတ်မှတ်ချက်များအတိုင်း အာမခံထားသော်လည်း မည်သည့်ထုတ်ကုန်နှင့် ဝန်ဆောင်မှုများကိုမဆို အသိပေးခြင်းမရှိဘဲ အချိန်မရွေး အပြောင်းအလဲပြုလုပ်ပိုင်ခွင့်ကို လက်ဝယ်ရှိပါသည်။ Intel မှ စာဖြင့် အတိအလင်း သဘောတူထားသည့်အတိုင်း ဤနေရာတွင် ဖော်ပြထားသော အချက်အလက်၊ ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုကို အသုံးပြုခြင်း သို့မဟုတ် အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော တာဝန် သို့မဟုတ် တာဝန်ခံမှု မရှိဟု ယူဆပါသည်။ Intel သုံးစွဲသူများသည် ထုတ်ဝေထားသော အချက်အလက်များနှင့် ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုများအတွက် အမှာစာမတင်မီ နောက်ဆုံးဗားရှင်းကို ရယူရန် အကြံပြုအပ်ပါသည်။ *အခြားအမည်များနှင့် အမှတ်တံဆိပ်များကို အခြားသူများ၏ပိုင်ဆိုင်မှုအဖြစ် တောင်းဆိုနိုင်ပါသည်။
ISO 9001:2015 မှတ်ပုံတင်ထားသည်။
2. LPM_COUNTER (ကောင်တာ) IP Core
683490 | 2020.10.05
၂.၂။ Verilog HDL Prototype
အောက်ပါ Verilog HDL ရှေ့ပြေးပုံစံသည် Verilog ဒီဇိုင်းတွင် တည်ရှိသည်။ 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; output cout; အထွက် [15:0] eq; ထည့်သွင်း cin; ထည့်သွင်းမှု [lpm_width-1:0] ဒေတာ; ထည့်သွင်းနာရီ၊ clk_en၊ cnt_en၊ updown; input aset, aclr, aload; input sset၊sclr၊sload; endmodule
၂.၃။ VHDL အစိတ်အပိုင်းကြေငြာချက်
VHDL အစိတ်အပိုင်း ကြေငြာချက်သည် VHDL ဒီဇိုင်းတွင် တည်ရှိသည်။ File (.vhd) LPM_PACK.vhd ထဲမှာ librariesvhdllpm လမ်းညွှန်။
အစိတ်အပိုင်း LPM_COUNTER ယေဘုယျ ( LPM_WIDTH : သဘာဝ; LPM_MODULUS : သဘာဝ := 0; LPM_DIRECTION : string := “UNUSED”; LPM_AVALUE : string := “UNUSED”; LPM_SVALUE : string := “UNUSED”; CONDOWN_PORT_PORT_ITY ; LPM_PVALUE : string := “UNUSED”; LPM_TYPE : string := L_COUNTER; LPM_HINT : string := “UNUSED”); ဆိပ်ကမ်း (DATA : in std_logic_vector(LPM_WIDTH-1 0 အောက်သို့):= (OTHERS =>
'0'); နာရီ : std_logic ; CLK_EN : in std_logic := '1'; CNT_EN : in std_logic := '1'; UPDOWN : std_logic := '1'; SLOAD : in std_logic := '0'; SSET : in std_logic := '0'; SCLR : in std_logic := '0'; ALOAD : in std_logic := '0'; ASET : in std_logic := '0'; ACLR : in std_logic := '0'; CIN : std_logic := '1'; COUT : out std_logic := '0'; Q : std_logic_vector(LPM_WIDTH-1 မှ 0 သို့ ဆင်းသည်); EQ : out std_logic_vector(15 down to 0));
အဆုံးအစိတ်အပိုင်း;
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
2. LPM_COUNTER (ကောင်တာ) IP Core 683490 | 2020.10.05
၂.၄။ VHDL LIBRARY_USE ကြေငြာချက်
VHDL အစိတ်အပိုင်းကြေငြာချက်ကို သင်အသုံးပြုပါက VHDL စာကြည့်တိုက်-အသုံးပြုမှု ကြေငြာချက် မလိုအပ်ပါ။
စာကြည့်တိုက် lpm; lpm.lpm_components.all ကိုသုံးပါ။
2.5. ဆိပ်ကမ်းများ
အောက်ပါဇယားများသည် LPM_COUNTER IP core အတွက် အဝင်နှင့် အထွက်ပေါက်များကို စာရင်းပြုစုထားသည်။
ဇယား ၁။
LPM_COUNTER အဝင်ပေါက်များ
ဆိပ်ကမ်းအမည်
လိုအပ်သည်။
ဖော်ပြချက်
ဒေတာ[]
မရှိ
ကောင်တာသို့ Parallel data input. အဝင်ပေါက်၏ အရွယ်အစားသည် LPM_WIDTH ပါရာမီတာတန်ဖိုးပေါ်တွင် မူတည်သည်။
နာရီ
ဟုတ်ကဲ့
အပြုသဘော-အစွန်း-အစပျိုးနာရီထည့်သွင်းမှု။
clk_en
မရှိ
တစ်ပြိုင်နက်တည်း လုပ်ဆောင်မှုများအားလုံးကို ဖွင့်ရန် နာရီကို ထည့်သွင်းပါ။ ချန်လှပ်ထားလျှင် မူရင်းတန်ဖိုးသည် 1 ဖြစ်သည်။
cnt_en
မရှိ
sload၊ sset သို့မဟုတ် sclr ကို မထိခိုက်စေဘဲ နိမ့်သည်ဟု အခိုင်အမာဆိုသောအခါ အရေအတွက်ကို ပိတ်ရန် ထည့်သွင်းမှုကို ရေတွက်ပါ။ ချန်လှပ်ထားလျှင် မူရင်းတန်ဖိုးသည် 1 ဖြစ်သည်။
ကွမ်းခြံကုန်း
မရှိ
ရေတွက်ခြင်း၏ ဦးတည်ချက်ကို ထိန်းချုပ်သည်။ အမြင့် (1) ဟု အခိုင်အမာ ဆိုသောအခါ ရေတွက်မှု ဦးတည်ချက် တက်လာပြီး အနိမ့် (0) ဟု အခိုင်အမာ ဆိုသောအခါ ရေတွက်မှု ဦးတည်ချက် ကျသွားသည်။ LPM_DIRECTION ပါရာမီတာကို အသုံးပြုပါက၊ အောက်ဆင်းပေါက်ကို ချိတ်ဆက်၍မရပါ။ LPM_DIRECTION ကို အသုံးမပြုပါက၊ အတက်အဆင်း ပေါက်ကို ရွေးချယ်နိုင်သည်။ ချန်လှပ်ထားလျှင် မူရင်းတန်ဖိုးသည် (1) အထိဖြစ်သည်။
စင်
မရှိ
low-order bit သို့ သယ်ဆောင်သွားပါ။ up counters များအတွက် cin input ၏ အပြုအမူသည်
cnt_en ထည့်သွင်းမှု၏ အပြုအမူနှင့် တူညီသည်။ ချန်လှပ်ထားလျှင် မူရင်းတန်ဖိုးသည် 1 ဖြစ်သည်။
(VCC)။
aclr
မရှိ
အပြိုင်အဆိုင် ပြတ်သားသော ထည့်သွင်းမှု။ aset နှင့် aclr နှစ်မျိုးလုံးကို အသုံးပြုပြီး အခိုင်အမာဆိုပါက aclr သည် aset ကို အစားထိုးသည်။ ချန်လှပ်ထားလျှင် မူရင်းတန်ဖိုးသည် 0 (ပိတ်ထားသည်)။
ပိုင်ဆိုင်မှု
မရှိ
Asynchronous သတ်မှတ်ထည့်သွင်းခြင်း။ q[] အထွက်များကို 1s အားလုံးအဖြစ် သတ်မှတ်ပါ သို့မဟုတ် LPM_AVALUE ဘောင်မှ သတ်မှတ်ထားသော တန်ဖိုးသို့ သတ်မှတ်သည်။ aset နှင့် aclr ports နှစ်ခုလုံးကို အသုံးပြုပြီး အခိုင်အမာဆိုပါက aclr port ၏တန်ဖိုးသည် aset port ၏တန်ဖိုးကို ကျော်လွန်သွားပါသည်။ ချန်လှပ်ထားလျှင် မူရင်းတန်ဖိုးသည် 0 ဖြစ်ပြီး ပိတ်ထားသည်။
aload
မရှိ
ဒေတာထည့်သွင်းမှုပေါ်ရှိတန်ဖိုးနှင့်အတူ တန်ပြန်ကို တပြိုင်တည်းတင်ဆောင်သည့် အပြိုင်အဆိုင် ဝန်ထည့်သွင်းမှု။ aload port ကိုအသုံးပြုသောအခါ data[] port ကိုချိတ်ဆက်ရပါမည်။ ချန်လှပ်ထားလျှင် မူရင်းတန်ဖိုးသည် 0 ဖြစ်ပြီး ပိတ်ထားသည်။
sclr
မရှိ
နောက်အသုံးပြုနေသည့် နာရီအစွန်းရှိ ကောင်တာကို ရှင်းလင်းပေးသည့် ချိန်ကိုက်ရှင်းလင်းသော ထည့်သွင်းမှု။ sset နှင့် sclr port နှစ်ခုလုံးကို အသုံးပြုပြီး အခိုင်အမာဆိုပါက၊ sclr port ၏တန်ဖိုးသည် sset port ၏တန်ဖိုးကို ကျော်လွန်သွားပါသည်။ ချန်လှပ်ထားလျှင် မူရင်းတန်ဖိုးသည် 0 ဖြစ်ပြီး ပိတ်ထားသည်။
သတ်မှတ်
မရှိ
နောက်ဖွင့်ထားသည့် နာရီအစွန်းတွင် ကောင်တာကို သတ်မှတ်ပေးသည့် စင့်ခ်ချိန်ညှိထည့်သွင်းမှု။ q အထွက်၏တန်ဖိုးကို 1s အားလုံးအဖြစ် သတ်မှတ်သည်၊ သို့မဟုတ် LPM_SVALUE ကန့်သတ်ဘောင်မှ သတ်မှတ်ထားသော တန်ဖိုးသို့ သတ်မှတ်သည်။ sset နှင့် sclr port နှစ်ခုလုံးကို အသုံးပြုပြီး အခိုင်အမာဆိုပါက၊
sclr port ၏တန်ဖိုးသည် sset port ၏တန်ဖိုးကို လွှမ်းမိုးသည်။ ချန်လှပ်ထားလျှင် မူရင်းတန်ဖိုးသည် 0 (ပိတ်ထားသည်)။
sload
မရှိ
နောက်တက်နေသော နာရီအစွန်းတွင် ကောင်တာအား ဒေတာဖြင့် တင်ပေးသည့် ချိန်ကိုက်ဝန်ထည့်သွင်းမှု။ sload port ကိုအသုံးပြုသောအခါ data[] port ကိုချိတ်ဆက်ရပါမည်။ ချန်လှပ်ထားလျှင် မူရင်းတန်ဖိုးသည် 0 (ပိတ်ထားသည်)။
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
2. LPM_COUNTER (ကောင်တာ) IP Core 683490 | 2020.10.05
ဇယား ၁။
LPM_COUNTER အထွက်ပေါက်များ
ဆိပ်ကမ်းအမည်
လိုအပ်သည်။
ဖော်ပြချက်
q[]
မရှိ
ကောင်တာမှဒေတာအထွက်။ Output Port ၏ အရွယ်အစားသည် ၎င်းအပေါ် မူတည်ပါသည်။
LPM_WIDTH ကန့်သတ်ချက်တန်ဖိုး။ q[] သို့မဟုတ် အနည်းဆုံး eq[15..0] အပေါက်များထဲမှ တစ်ခု
ချိတ်ဆက်ရမည်ဖြစ်သည်။
eq[15..0]
မရှိ
တန်ပြန်ကုဒ်အထွက်။ ကန့်သတ်ချက်သည် AHDL ကိုသာ ပံ့ပိုးပေးသောကြောင့် eq[15..0] ပို့တ်ကို ပါရာမီတာ တည်းဖြတ်မှုတွင် အသုံးပြု၍မရပါ။
q[] port သို့မဟုတ် eq[] port ကို ချိတ်ဆက်ရပါမည်။ c eq port များအထိ (0 <= c <= 15) ကို အသုံးပြုနိုင်သည်။ အနိမ့်ဆုံးရေတွက်မှုတန်ဖိုး ၁၆ ခုကိုသာ ကုဒ်လုပ်ထားသည်။ count value သည် c ဖြစ်သောအခါ၊ eqc output သည် high (16) ဟုအခိုင်အမာဆိုသည်။ ဟောင်းအတွက်ample၊ ရေတွက်သည့်အခါ 0၊ eq0 = 1၊ count သည် 1၊ eq1 = 1၊ နှင့် count သည် 15 ဖြစ်သောအခါ eq 15 = 1။ 16 သို့မဟုတ် ထို့ထက်ကြီးသော count values အတွက် decoded output သည် ပြင်ပကုဒ်ဆွဲခြင်းလိုအပ်ပါသည်။ eq[15..0] output များသည် q[] output နှင့် asynchronous ဖြစ်သည်။
cout
မရှိ
ကောင်တာ၏ MSB ဘစ်၏ သယ်ထုတ်သည့်ဆိပ်ကမ်း။ ပိုကြီးသောကောင်တာဖန်တီးရန် အခြားကောင်တာတစ်ခုသို့ ချိတ်ဆက်ရန် ၎င်းကို အသုံးပြုနိုင်သည်။
၂
အောက်ပါဇယားသည် LPM_COUNTER IP core အတွက် ကန့်သတ်ချက်များကို စာရင်းပြုစုထားသည်။
ဇယား ၁။
LPM_COUNTER ကန့်သတ်ချက်များ
ကန့်သတ်အမည်
ရိုက်ပါ။
LPM_WIDTH
ကိန်းပြည့်
LPM_DIRECTION
ကြိုးတစ်ချောင်း
LPM_MODULUS LPM_AVALUE
ကိန်းပြည့်
ကိန်းပြည့်/စာတန်း
LPM_SVALUE LPM_HINT
ကိန်းပြည့်/စာတန်း
ကြိုးတစ်ချောင်း
LPM_TYPE
ကြိုးတစ်ချောင်း
လိုအပ်သည် ဟုတ်၊ မဟုတ် မဟုတ်၊
No No
မရှိ
ဖော်ပြချက်
၎င်းတို့ကိုအသုံးပြုပါက data[] နှင့် q[] ports များ၏ width ကို သတ်မှတ်ပေးသည်။
တန်ဖိုးများသည် တက်၊ အောက်၊ နှင့် အသုံးမပြုပါ။ LPM_DIRECTION ပါရာမီတာကို အသုံးပြုပါက၊ အောက်ဆင်းပေါက်ကို ချိတ်ဆက်၍မရပါ။ အပေါ်အောက်ပို့တ်ကို မချိတ်ဆက်သောအခါ၊ LPM_DIRECTION ကန့်သတ်ဘောင်၏ ပုံသေတန်ဖိုးသည် UP ဖြစ်သည်။
အများဆုံးရေတွက်၊ အပေါင်း ၁။ ကောင်တာ၏စက်ဝန်းရှိ ထူးခြားသောပြည်နယ်အရေအတွက်။ ဝန်တန်ဖိုးသည် LPM_MODULUS ကန့်သတ်ဘောင်ထက် ကြီးပါက၊ ကောင်တာ၏ အပြုအမူကို သတ်မှတ်မထားပါ။
ပိုင်ဆိုင်မှု မြင့်မားသည်ဟု အခိုင်အမာဆိုသောအခါတွင် တင်ဆောင်သည့် ကိန်းသေတန်ဖိုး။ သတ်မှတ်ထားသောတန်ဖိုးထက် ကြီးနေလျှင် သို့မဟုတ် ညီမျှသည်။ တန်ပြန်၏အပြုအမူသည် သတ်မှတ်မထားသော (X) လော့ဂျစ်အဆင့်ဖြစ်ပြီး၊ ရှိလျှင် LPM_MODULUS သို့မဟုတ် 2 ^ LPM_WIDTH ဖြစ်သည်။ AHDL ဒီဇိုင်းများအတွက် ဤတန်ဖိုးကို ဒဿမဂဏန်းအဖြစ် သတ်မှတ်ရန် Intel မှ အကြံပြုထားသည်။
sset port ကို မြင့်သည်ဟု အခိုင်အမာဆိုသောအခါ မြင့်တက်လာသည့်အစွန်းတွင် ကိန်းသေတန်ဖိုး။ AHDL ဒီဇိုင်းများအတွက် ဤတန်ဖိုးကို ဒဿမဂဏန်းအဖြစ် သတ်မှတ်ရန် Intel မှ အကြံပြုထားသည်။
VHDL Design တွင် parameterized modules (LPM) function ကိုသင်ချက်ချင်းလုပ်သောအခါ File (.vhd)၊ သင်သည် Intel-တိကျသော ကန့်သတ်ဘောင်တစ်ခုကို သတ်မှတ်ရန် LPM_HINT ဘောင်ကို အသုံးပြုရပါမည်။ ဟောင်းအတွက်ample- LPM_HINT = “CHAIN_SIZE = 8၊ ONE_INPUT_IS_CONSTANT = YES”
မူရင်းတန်ဖိုးသည် အသုံးမပြုရသေးပါ။
VHDL ဒီဇိုင်းတွင် parameterized modules (LPM) entity name ၏ library ကို ခွဲခြားသတ်မှတ်သည်။ files.
ဆက်ရန်…
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
2. LPM_COUNTER (ကောင်တာ) IP Core 683490 | 2020.10.05
ကန့်သတ်ချက်အမည် INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN
ကြိုးတစ်ချောင်းရိုက်ပါ။
ကြိုးတစ်ချောင်း
ကြိုးတစ်ချောင်း
No No No
မရှိ
မရှိ
ဖော်ပြချက်
ဤကန့်သတ်ချက်ကို မော်ဒယ်နှင့် အပြုအမူဆိုင်ရာ သရုပ်ဖော်ခြင်းရည်ရွယ်ချက်များအတွက် အသုံးပြုပါသည်။ ဤကန့်သတ်ချက်ကို မော်ဒယ်နှင့် အပြုအမူဆိုင်ရာ သရုပ်ဖော်ခြင်းရည်ရွယ်ချက်များအတွက် အသုံးပြုပါသည်။ ကန့်သတ်ချက်တည်းဖြတ်သူသည် ဤကန့်သတ်ချက်အတွက်တန်ဖိုးကို တွက်ချက်သည်။
Intel သီးသန့် ကန့်သတ်ဘောင်။ VHDL ဒီဇိုင်းတွင် CARRY_CNT_EN ကန့်သတ်ဘောင်ကို သတ်မှတ်ရန် သင်သည် LPM_HINT ပါရာမီတာကို အသုံးပြုရပါမည်။ file၎။ တန်ဖိုးများသည် စမတ်၊ ဖွင့်၊ ပိတ်၊ နှင့် အသုံးမပြုပါ။ သယ်ဆောင်မှုကွင်းဆက်မှတဆင့် cnt_en အချက်ပြမှုကို ထုတ်လွှင့်ရန် LPM_COUNTER လုပ်ဆောင်ချက်ကို ဖွင့်ပါ။ အချို့ကိစ္စများတွင်၊ CARRY_CNT_EN ပါရာမီတာဆက်တင်သည် အမြန်နှုန်းအပေါ် အနည်းငယ်အကျိုးသက်ရောက်မှုရှိနိုင်သည်၊ ထို့ကြောင့် ၎င်းကိုသင်ပိတ်လိုပေမည်။ မူရင်းတန်ဖိုးမှာ SMART ဖြစ်ပြီး၊ အရွယ်အစားနှင့် မြန်နှုန်းကြားတွင် အကောင်းဆုံး အပေးအယူကို ပေးဆောင်သည်။
Intel သီးသန့် ကန့်သတ်ဘောင်။ VHDL ဒီဇိုင်းတွင် LABWIDE_SCLR ဘောင်ကို သတ်မှတ်ရန် သင်သည် LPM_HINT ပါရာမီတာကို အသုံးပြုရပါမည်။ file၎။ တန်ဖိုးများကို ဖွင့်၊ ပိတ် သို့မဟုတ် အသုံးမပြုပါ။ မူရင်းတန်ဖိုးသည် ဖွင့်ထားသည်။ အသုံးမပြုတော့သော စက်မိသားစုများတွင် တွေ့ရသော LABwide sclr အင်္ဂါရပ်ကို အသုံးပြုမှုကို ပိတ်ထားရန် သင့်အား ခွင့်ပြုသည်။ ဤရွေးချယ်မှုကို ပိတ်ခြင်းဖြင့် တစ်စိတ်တစ်ပိုင်း ဖြည့်ထားသော LAB များကို အပြည့်အဝအသုံးပြုရန် အခွင့်အလမ်းကို တိုးစေပြီး SCLR သည် ပြီးပြည့်စုံသော LAB နှင့် မသက်ဆိုင်သည့်အခါ ပိုမိုမြင့်မားသော logic သိပ်သည်းဆကို ခွင့်ပြုပေးနိုင်ပါသည်။ ဤကန့်သတ်ချက်သည် နောက်ပြန်လိုက်ဖက်ညီမှုအတွက် ရနိုင်ပြီး၊ Intel မှ သင့်အား ဤကန့်သတ်ချက်ကို အသုံးမပြုရန် အကြံပြုထားသည်။
updown input port ၏အသုံးပြုမှုကို သတ်မှတ်သည်။ ချန်လှပ်ထားလျှင် မူရင်းတန်ဖိုးမှာ PORT_CONNECTIVITY ဖြစ်သည်။ ပို့တ်တန်ဖိုးကို PORT_USED သို့ သတ်မှတ်သောအခါ၊ ဆိပ်ကမ်းကို အသုံးပြုထားသည်ဟု သတ်မှတ်သည်။ ပို့တ်တန်ဖိုးကို PORT_UNUSED ဟု သတ်မှတ်သောအခါ၊ ဆိပ်ကမ်းကို အသုံးမပြုဟု သတ်မှတ်သည်။ ပို့တ်တန်ဖိုးကို PORT_CONNECTIVITY သို့ သတ်မှတ်သောအခါ၊ ပို့တ်ချိတ်ဆက်မှုကို စစ်ဆေးခြင်းဖြင့် ဆိပ်ကမ်းအသုံးပြုမှုကို ဆုံးဖြတ်သည်။
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
683490 | 2020.10.05 တုံ့ပြန်ချက်ပေးပို့ပါ။
3. LPM_DIVIDE (Divider) Intel FPGA IP Core
ပုံ ၇။
LPM_DIVIDE Intel FPGA IP core သည် ခွဲဝေနှင့် အကြွင်းတစ်ခုထုတ်လုပ်ရန် ခွဲဝေထည့်သွင်းမှုတန်ဖိုးကို ပိုင်းခြေထည့်သွင်းမှုတန်ဖိုးဖြင့် ပိုင်းခြားပေးပါသည်။
အောက်ဖော်ပြပါပုံသည် LPM_DIVIDE IP core အတွက် ဆိပ်ကမ်းများကို ပြသထားသည်။
LPM_DIVIDE ဆိပ်ကမ်းများ
LPM_DIVIDE
နံပါတ်[] denom[] နာရီ
quotient[]ကျန်[]
clken aclr
inst
3.1. အင်္ဂါရပ်များ
LPM_DIVIDE IP core သည် အောက်ပါအင်္ဂါရပ်များကို ပေးဆောင်သည်- · ပိုင်းခြေထည့်သွင်းမှုတန်ဖိုးကို ပိုင်းခြေထည့်သွင်းမှုဖြင့် ပိုင်းခွဲထည့်သွင်းသည့် ပိုင်းခြားမှုကို ဖန်တီးပေးသည်
ပမာဏတစ်ခုနှင့် အကြွင်းတစ်ခု ထုတ်လုပ်ရန် တန်ဖိုး။ ·ဒေတာအကျယ် 1 bits ကိုထောက်ပံ့သည်။ · ပိုင်းဝေနှစ်ခုလုံးအတွက် လက်မှတ်ရေးထိုးပြီး လက်မှတ်မထိုးထားသည့် ဒေတာကိုယ်စားပြုဖော်မတ်ကို ပံ့ပိုးပေးသည်။
နှင့် ပိုင်းခြေတန်ဖိုးများ။ · ဧရိယာ သို့မဟုတ် အရှိန်ပိုကောင်းအောင် ပံ့ပိုးပေးသည်။ · အပြုသဘောအကြွင်းအကျန်ကို သတ်မှတ်ရန် ရွေးချယ်ခွင့်တစ်ခု ပေးသည်။ · ပိုက်လိုင်းဆွဲခြင်းအား ချိန်ညှိနိုင်သော output latency ကို ပံ့ပိုးပေးသည်။ · ရွေးချယ်နိုင်သော ပြတ်ပြတ်သားသား ရှင်းရှင်းလင်းလင်းနှင့် နာရီအား ပေါက်များကို ပံ့ပိုးပေးသည်။
၂.၂။ Verilog HDL Prototype
အောက်ပါ Verilog HDL ရှေ့ပြေးပုံစံသည် Verilog ဒီဇိုင်းတွင် တည်ရှိသည်။ File (.v) lpm.v ၌ edasynthesis လမ်းညွှန်။
module lpm_divide (ကောက်နုတ်ချက်၊ ကျန်ရှိ၊ နံပါတ်၊ ကိန်းဂဏာန်း၊ နာရီ၊ 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 ကော်ပိုရေးရှင်း သို့မဟုတ် ၎င်း၏လုပ်ငန်းခွဲများ၏ အမှတ်တံဆိပ်များဖြစ်သည်။ Intel သည် Intel ၏ စံအာမခံချက်နှင့်အညီ ၎င်း၏ FPGA နှင့် တစ်ပိုင်းလျှပ်ကူးပစ္စည်းထုတ်ကုန်များ၏ စွမ်းဆောင်ရည်ကို လက်ရှိ သတ်မှတ်ချက်များအတိုင်း အာမခံထားသော်လည်း မည်သည့်ထုတ်ကုန်နှင့် ဝန်ဆောင်မှုများကိုမဆို အသိပေးခြင်းမရှိဘဲ အချိန်မရွေး အပြောင်းအလဲပြုလုပ်ပိုင်ခွင့်ကို လက်ဝယ်ရှိပါသည်။ Intel မှ စာဖြင့် အတိအလင်း သဘောတူထားသည့်အတိုင်း ဤနေရာတွင် ဖော်ပြထားသော အချက်အလက်၊ ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုကို အသုံးပြုခြင်း သို့မဟုတ် အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော တာဝန် သို့မဟုတ် တာဝန်ခံမှု မရှိဟု ယူဆပါသည်။ Intel သုံးစွဲသူများသည် ထုတ်ဝေထားသော အချက်အလက်များနှင့် ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုများအတွက် အမှာစာမတင်မီ နောက်ဆုံးဗားရှင်းကို ရယူရန် အကြံပြုအပ်ပါသည်။ *အခြားအမည်များနှင့် အမှတ်တံဆိပ်များကို အခြားသူများ၏ပိုင်ဆိုင်မှုအဖြစ် တောင်းဆိုနိုင်ပါသည်။
ISO 9001:2015 မှတ်ပုံတင်ထားသည်။
3. LPM_DIVIDE (Divider) Intel FPGA IP Core 683490 | 2020.10.05
ကန့်သတ်ချက် lpm_hint = "မသုံးရသေးသော"; ထည့်သွင်းနာရီ; ထည့်သွင်း clken; ထည့်သွင်း aclr; ထည့်သွင်းမှု [lpm_widthn-1:0] နံပါတ်; ထည့်သွင်းမှု [lpm_widthd-1:0] နိမ်; အထွက် [lpm_widthn-1:0] quotient; အထွက် [lpm_widthd-1:0] ကျန်နေ; endmodule
၂.၃။ VHDL အစိတ်အပိုင်းကြေငြာချက်
VHDL အစိတ်အပိုင်း ကြေငြာချက်သည် VHDL ဒီဇိုင်းတွင် တည်ရှိသည်။ File (.vhd) LPM_PACK.vhd ထဲမှာ librariesvhdllpm လမ်းညွှန်။
အစိတ်အပိုင်း LPM_DIVIDE ယေဘုယျ (LPM_WIDTHN : သဘာဝ; LPM_WIDTHD : သဘာဝ;
LPM_NREPRESENTATION : string := “လက်မှတ်မထိုးထားဘဲ”; LPM_DREPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : သဘာဝ := 0; LPM_TYPE : string := L_DIVIDE; LPM_HINT : string := “UNUSED”); ပို့တ် (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'; QUOTIENT : out std_logic_vector(LPM_WIDTHN-1 အောက်သို့ 0); REMAIN : out std_logic_vector(LPM_WIDTHD-1 အောက်သို့ 0)); အဆုံးအစိတ်အပိုင်း;
၂.၄။ VHDL LIBRARY_USE ကြေငြာချက်
VHDL အစိတ်အပိုင်းကြေငြာချက်ကို သင်အသုံးပြုပါက VHDL စာကြည့်တိုက်-အသုံးပြုမှု ကြေငြာချက် မလိုအပ်ပါ။
စာကြည့်တိုက် lpm; lpm.lpm_components.all ကိုသုံးပါ။
3.5. ဆိပ်ကမ်းများ
အောက်ပါဇယားများသည် LPM_DIVIDE IP core အတွက် input နှင့် output port များကို စာရင်းပြုစုထားသည်။
ဇယား ၁။
LPM_DIVIDE အဝင်ပေါက်များ
ဆိပ်ကမ်းအမည်
လိုအပ်သည်။
နံပါတ်[]
ဟုတ်ကဲ့
နိမိတ်[]
ဟုတ်ကဲ့
ဖော်ပြချက်
ပိုင်းဝေဒေတာ ထည့်သွင်းခြင်း။ အဝင်ပေါက်၏ အရွယ်အစားသည် LPM_WIDTHN ပါရာမီတာတန်ဖိုးပေါ်တွင် မူတည်သည်။
ပိုင်းခြေဒေတာ ထည့်သွင်းခြင်း။ အဝင်ပေါက်၏ အရွယ်အစားသည် LPM_WIDTHD ကန့်သတ်ဘောင်တန်ဖိုးပေါ်တွင် မူတည်သည်။
ဆက်ရန်…
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
3. LPM_DIVIDE (Divider) Intel FPGA IP Core 683490 | 2020.10.05
Port Name clock clken
aclr
No No No
မရှိ
ဖော်ပြချက်
ပိုက်လိုင်းအသုံးပြုမှုအတွက် နာရီထည့်သွင်းခြင်း။ LPM_PIPELINE တန်ဖိုးများသည် 0 (မူလ) မှလွဲ၍ အခြား၊ နာရီအပေါက်ကို ဖွင့်ထားရပါမည်။
ပိုက်လိုင်းအသုံးပြုမှု နာရီကို ဖွင့်ပါ။ clken port သည် မြင့်မားသည်ဟု အခိုင်အမာဆိုသောအခါ၊ ပိုင်းခြားခြင်းလုပ်ဆောင်ချက်သည် ဖြစ်ပေါ်လာသည်။ အချက်ပြမှုနည်းသောအခါတွင် မည်သည့်လုပ်ဆောင်ချက်မျှ ဖြစ်ပေါ်ခြင်းမရှိပါ။ ချန်လှပ်ထားလျှင် မူရင်းတန်ဖိုးသည် 1 ဖြစ်သည်။
နာရီထည့်သွင်းရန်အတွက် ပိုက်လိုင်းကို '0's အားလုံးသို့ တပြိုင်နက်တည်း ပြန်လည်သတ်မှတ်ရန် အချိန်မရွေး အသုံးပြုနိုင်သော Asynchronous clear port
ဇယား ၁။
LPM_DIVIDE အထွက်ပေါက်များ
ဆိပ်ကမ်းအမည်
လိုအပ်သည်။
ဖော်ပြချက်
စားနပ်ရိက္ခာ[]
ဟုတ်ကဲ့
ဒေတာအထွက်။ အထွက်ပေါက်၏ အရွယ်အစားသည် LPM_WIDTHN ပေါ်တွင် မူတည်သည်။
ကန့်သတ်တန်ဖိုး။
ကျန်နေသည်[]
ဟုတ်ကဲ့
ဒေတာအထွက်။ အထွက်ပေါက်၏ အရွယ်အစားသည် LPM_WIDTHD ပေါ်တွင် မူတည်သည်။
ကန့်သတ်တန်ဖိုး။
၂
အောက်ဖော်ပြပါဇယားသည် LPM_DIVIDE Intel FPGA IP core အတွက် ကန့်သတ်ချက်များကို စာရင်းပြုစုထားသည်။
ကန့်သတ်အမည်
ရိုက်ပါ။
လိုအပ်သည်။
ဖော်ပြချက်
LPM_WIDTHN
ကိန်းပြည့်
ဟုတ်ကဲ့
နံပါတ်[] နှင့် အကျယ်များကို သတ်မှတ်ပေးသည်။
quotient[] ဆိပ်ကမ်းများ။ တန်ဖိုးများသည် 1 မှ 64 အထိဖြစ်သည်။
LPM_WIDTHD
ကိန်းပြည့်
ဟုတ်ကဲ့
ကိန်းဂဏာန်း[] နှင့် အကျယ်များကို သတ်မှတ်ပေးသည်။
ကျန်ရှိနေသော[] ဆိပ်ကမ်းများ။ တန်ဖိုးများသည် 1 မှ 64 အထိဖြစ်သည်။
LPM_NREPRESENTATION LPM_DREPRESENTATION
ကြိုးတစ်ချောင်း
မရှိ
ပိုင်းဝေထည့်သွင်းခြင်း၏ သင်္ကေတကို ကိုယ်စားပြုခြင်း။
တန်ဖိုးများကို လက်မှတ်ထိုးပြီး လက်မှတ်မထိုးပါ။ ဒီအခါ
ကန့်သတ်ဘောင်ကို SIGNED ဟု သတ်မှတ်ထားသည်။
သင်္ကေတနှစ်ခုအဖြစ် နံပါတ်[] ထည့်သွင်းမှုကို ဘာသာပြန်ပေးသည်။
အဖြည့်။
မရှိ
ပိုင်းခြေထည့်သွင်းခြင်း၏ ကိုယ်စားပြု သင်္ကေတ။
တန်ဖိုးများကို လက်မှတ်ထိုးပြီး လက်မှတ်မထိုးပါ။ ဒီအခါ
ကန့်သတ်ဘောင်ကို SIGNED ဟု သတ်မှတ်ထားသည်။
နိမိတ်ဖတ်ခြင်း[] ကို ရေးထိုးထားသော နှစ်ခုအဖြစ် ဘာသာပြန်သည်။
အဖြည့်။
LPM_TYPE
ကြိုးတစ်ချောင်း
မရှိ
parameterized ၏စာကြည့်တိုက်ကိုဖော်ထုတ်သည်။
VHDL ဒီဇိုင်းတွင် modules (LPM) entity အမည်
files (.vhd)။
LPM_HINT
ကြိုးတစ်ချောင်း
မရှိ
စာကြည့်တိုက်တစ်ခုကို ချက်ခြင်းလုပ်တဲ့အခါ
parameterized modules (LPM) function သည် a
VHDL ဒီဇိုင်း File (.vhd) ကို အသုံးပြုရပါမည်။
Intel- ကိုသတ်မှတ်ရန် LPM_HINT ပါရာမီတာ
သီးခြား ကန့်သတ်ချက်။ ဟောင်းအတွက်ample- LPM_HINT
= “CHAIN_SIZE = 8၊
ONE_INPUT_IS_CONSTANT =YES” အဆိုပါ
မူရင်းတန်ဖိုးသည် အသုံးမပြုရသေးပါ။
LPM_REMAINDERPOSITIVE
ကြိုးတစ်ချောင်း
မရှိ
Intel သီးသန့် ကန့်သတ်ဘောင်။ ကိုသုံးရမယ်။
LPM_HINT ပါရာမီတာကို သတ်မှတ်ရန်
LPM_REMAINDERPOSITIVE ဘောင်အတွင်း
VHDL ဒီဇိုင်း file၎။ တန်ဖိုးများသည် TRUE သို့မဟုတ် FALSE ဖြစ်သည်။
ဤဘောင်ကို TRUE ဟုသတ်မှတ်ပါက၊
left[] port ၏တန်ဖိုးသည် ပိုကြီးရမည်။
ဆက်ရန်…
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
3. LPM_DIVIDE (Divider) Intel FPGA IP Core 683490 | 2020.10.05
ကန့်သတ်အမည်
ရိုက်ပါ။
MAXIMIZE_SPEED
ကိန်းပြည့်
LPM_PIPELINE
ကိန်းပြည့်
INTENDED_DEVICE_FAMILY SKIP_BITS
စာတန်း ကိန်းပြည့်
လိုအပ်သောနံပါတ်
No No No
ဖော်ပြချက်
ထက် သို့မဟုတ် သုညနှင့် ညီမျှသည်။ ဤကန့်သတ်ဘောင်ကို TRUE ဟုသတ်မှတ်ပါက ကျန်[] ပို့တ်၏တန်ဖိုးသည် သုညဖြစ်စေ သို့မဟုတ် ကိန်းဂဏန်းပို့တ်တန်ဖိုးကဲ့သို့ တူညီသောအမှတ်အသားဖြစ်ပြီး တန်ဖိုးသည် အပေါင်း သို့မဟုတ် အနုတ်ဖြစ်သည်။ ဧရိယာကို လျှော့ချရန်နှင့် အမြန်နှုန်းကို မြှင့်တင်ရန်အတွက်၊ အကြွင်းသည် အပြုသဘောဖြစ်ရမည် သို့မဟုတ် အကြွင်းသည် အရေးမကြီးသည့် လုပ်ဆောင်ချက်များတွင် ဤကန့်သတ်ချက်ကို TRUE ဟု သတ်မှတ်ရန် အကြံပြုထားသည်။
Intel သီးသန့် ကန့်သတ်ဘောင်။ VHDL ဒီဇိုင်းတွင် MAXIMIZE_SPEED ကန့်သတ်ဘောင်ကို သတ်မှတ်ရန် သင်သည် LPM_HINT ဘောင်ကို အသုံးပြုရပါမည်။ file၎။ တန်ဖိုးများသည် [0..9] ဖြစ်သည်။ အသုံးပြုပါက၊ Intel Quartus Prime ဆော့ဖ်ဝဲလ်သည် ပုံမှန်လည်ပတ်နိုင်မှုထက် အမြန်နှုန်းအတွက် LPM_DIVIDE လုပ်ဆောင်ချက်ကို ပိုကောင်းအောင်ပြုလုပ်ရန် ကြိုးပမ်းပြီး Optimization Technique ယုတ္တိဗေဒရွေးချယ်မှု၏ ဆက်တင်ကို လွှမ်းမိုးသွားမည်ဖြစ်သည်။ MAXIMIZE_SPEED ကို အသုံးမပြုပါက၊ Optimization Technique ရွေးချယ်မှု၏ တန်ဖိုးကို ၎င်းအစား အသုံးပြုသည်။ MAXIMIZE_SPEED ၏တန်ဖိုးသည် 6 သို့မဟုတ် ထို့ထက်ပိုပါက၊ Compiler သည် သယ်ဆောင်ထားသောကြိုးများကို အသုံးပြု၍ ပိုမိုမြန်နှုန်းမြင့်ရန်အတွက် LPM_DIVIDE IP core ကို ပိုကောင်းအောင်ပြုလုပ်သည်။ တန်ဖိုးသည် 5 သို့မဟုတ် ထို့ထက်နည်းပါက၊ compiler သည် အိတ်ဆောင်ကြိုးများမပါဘဲ ဒီဇိုင်းကိုအကောင်အထည်ဖော်သည်။
quotient[] နှင့် ဆက်နွယ်နေသော latency ၏ နာရီစက်ဝန်းများ၏ အရေအတွက်ကို သတ်မှတ်ပြီး အထွက်ရလဒ်များ ကျန်နေပါသည်။ သုည (0) ၏တန်ဖိုးသည် latency မရှိသည်ကို ညွှန်ပြပြီး ပေါင်းစပ်လုပ်ဆောင်ချက်သည် ချက်ခြင်းဖြစ်သည်ကို ဖော်ပြသည်။ ချန်လှပ်ထားလျှင်၊ မူရင်းတန်ဖိုးသည် 0 (ပိုက်လိုင်းမတင်ထား)။ LPM_WIDTHN ထက်မြင့်သော LPM_PIPELINE ကန့်သတ်ဘောင်အတွက် တန်ဖိုးတစ်ခု သတ်မှတ်၍မရပါ။
ဤကန့်သတ်ချက်ကို မော်ဒယ်နှင့် အပြုအမူဆိုင်ရာ သရုပ်ဖော်ခြင်းရည်ရွယ်ချက်များအတွက် အသုံးပြုပါသည်။ ကန့်သတ်ချက်တည်းဖြတ်သူသည် ဤကန့်သတ်ချက်အတွက်တန်ဖိုးကို တွက်ချက်သည်။
LPM_DIVIDE IP core သို့ ဦးဆောင် GND အရေအတွက်ကို ပံ့ပိုးခြင်းဖြင့် ဦးဆောင်ဘစ်များပေါ်ရှိ ယုတ္တိဗေဒကို ပိုကောင်းအောင်ပြုလုပ်ရန် ပိုမိုထိရောက်သော အပိုင်းကိန်းဘစ်ပိုင်းခွဲမှုကို ခွင့်ပြုသည်။ ဤကန့်သတ်ဘောင်အတွက် quotient output တွင် ဦးဆောင် GND အရေအတွက်ကို သတ်မှတ်ပါ။
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
683490 | 2020.10.05 တုံ့ပြန်ချက်ပေးပို့ပါ။
4. LPM_MULT (Multiplier) IP Core
ပုံ ၇။
LPM_MULT IP core သည် ထုတ်ကုန်တစ်ခု အထွက်တစ်ခုအဖြစ် ထုတ်လုပ်ရန် input data တန်ဖိုးနှစ်ခုကို မြှောက်ရန် မြှောက်ကိန်းတစ်ခုကို လုပ်ဆောင်သည်။
အောက်ဖော်ပြပါပုံသည် LPM_MULT IP core အတွက် ports များကိုပြသထားသည်။
LPM_Mult Ports
LPM_MULT နာရီဒေတာa[] ရလဒ်[] datab[] aclr/sclr clken
inst
စာမျက်နှာ 71 ရှိ ဆက်စပ်အချက်အလက်များ အင်္ဂါရပ်များ
4.1. အင်္ဂါရပ်များ
LPM_MULT IP core သည် အောက်ပါအင်္ဂါရပ်များကို ပေးဆောင်သည်- · input data values နှစ်ခုကို မြှောက်ပေးသည့် အမြှောက်တစ်ခုကို ထုတ်ပေးသည် · data width 1 bits ကို ပံ့ပိုးပေးသည် · signed and unsigned data representation format ကို ပံ့ပိုးပေးသည် · area or speed optimization ကို ပံ့ပိုးသည် · configureable output latency ဖြင့် ပိုက်လိုင်းကို ပံ့ပိုးပေးသည် · တစ်ခု သီးခြားဒစ်ဂျစ်တယ်အချက်ပြလုပ်ဆောင်ခြင်း (DSP) တွင်အကောင်အထည်ဖော်ရန်ရွေးချယ်စရာ
block circuitry သို့မဟုတ် logicဒြပ်စင်များ (LEs) မှတ်ချက်- မူရင်းပံ့ပိုးပေးထားသော အရွယ်အစားထက် ပိုကြီးသော မြှောက်ကိန်းများကို တည်ဆောက်သောအခါ ရှိနိုင်သည်/
DSP လုပ်ကွက်များ၏ cascading မှထွက်ပေါ်လာသောစွမ်းဆောင်ရည်အကျိုးသက်ရောက်မှုဖြစ်လိမ့်မည်။ · ရွေးချယ်နိုင်သော ပြတ်ပြတ်သားသား ကြည်လင်ပြတ်သားသော နာရီကို ပံ့ပိုးပေးသည် · Intel Stratix 10၊ Intel Arria 10 နှင့် Intel Cyclone 10 GX စက်များအတွက် ရွေးချယ်နိုင်သော ထပ်တူကျသော ရှင်းလင်းမှုကို ပံ့ပိုးသည်
Intel ကော်ပိုရေးရှင်း။ မူပိုင်ခွင့်များရယူပြီး။ Intel၊ Intel လိုဂိုနှင့် အခြားသော Intel အမှတ်အသားများသည် Intel ကော်ပိုရေးရှင်း သို့မဟုတ် ၎င်း၏လုပ်ငန်းခွဲများ၏ အမှတ်တံဆိပ်များဖြစ်သည်။ Intel သည် Intel ၏ စံအာမခံချက်နှင့်အညီ ၎င်း၏ FPGA နှင့် တစ်ပိုင်းလျှပ်ကူးပစ္စည်းထုတ်ကုန်များ၏ စွမ်းဆောင်ရည်ကို လက်ရှိ သတ်မှတ်ချက်များအတိုင်း အာမခံထားသော်လည်း မည်သည့်ထုတ်ကုန်နှင့် ဝန်ဆောင်မှုများကိုမဆို အသိပေးခြင်းမရှိဘဲ အချိန်မရွေး အပြောင်းအလဲပြုလုပ်ပိုင်ခွင့်ကို လက်ဝယ်ရှိပါသည်။ Intel မှ စာဖြင့် အတိအလင်း သဘောတူထားသည့်အတိုင်း ဤနေရာတွင် ဖော်ပြထားသော အချက်အလက်၊ ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုကို အသုံးပြုခြင်း သို့မဟုတ် အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော တာဝန် သို့မဟုတ် တာဝန်ခံမှု မရှိဟု ယူဆပါသည်။ Intel သုံးစွဲသူများသည် ထုတ်ဝေထားသော အချက်အလက်များနှင့် ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုများအတွက် အမှာစာမတင်မီ နောက်ဆုံးဗားရှင်းကို ရယူရန် အကြံပြုအပ်ပါသည်။ *အခြားအမည်များနှင့် အမှတ်တံဆိပ်များကို အခြားသူများ၏ပိုင်ဆိုင်မှုအဖြစ် တောင်းဆိုနိုင်ပါသည်။
ISO 9001:2015 မှတ်ပုံတင်ထားသည်။
4. LPM_MULT (Multiplier) IP Core 683490 | 2020.10.05
၂.၂။ Verilog HDL Prototype
အောက်ပါ Verilog HDL ရှေ့ပြေးပုံစံသည် Verilog ဒီဇိုင်းတွင် တည်ရှိသည်။ 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 = "မသုံးရသေးသော"; ထည့်သွင်းနာရီ; ထည့်သွင်း clken; ထည့်သွင်း aclr; ထည့်သွင်းမှု [lpm_widtha-1:0] dataa; ထည့်သွင်းခြင်း [lpm_widthb-1:0] datab; ထည့်သွင်းမှု [lpm_widths-1:0] sum; အထွက်ရလဒ် [lpm_widthp-1:0] endmodule
၂.၃။ VHDL အစိတ်အပိုင်းကြေငြာချက်
VHDL အစိတ်အပိုင်း ကြေငြာချက်သည် VHDL ဒီဇိုင်းတွင် တည်ရှိသည်။ File (.vhd) LPM_PACK.vhd ထဲမှာ librariesvhdllpm လမ်းညွှန်။
အစိတ်အပိုင်း LPM_MULT ယေဘုယျ ( LPM_WIDTHA : သဘာဝ; LPM_WIDTHB : သဘာဝ; LPM_WIDTHS : သဘာဝ := 1; LPM_WIDTHP : သဘာဝ;
LPM_REPRESENTATION : string := “လက်မှတ်မထိုးရသေး”; LPM_PIPELINE : သဘာဝ := 0; LPM_TYPE- စာကြောင်း := L_MULT; LPM_HINT : string := “UNUSED”); ပို့တ် ( 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'; SUM : in std_logic_vector(LPM_WIDTHS-1 အောက်သို့ 0) := (OTHERS => '0'); RESULT : out std_logic_vector(LPM_WIDTHP-1 အောက်သို့ 0)); အဆုံးအစိတ်အပိုင်း;
၂.၄။ VHDL LIBRARY_USE ကြေငြာချက်
VHDL အစိတ်အပိုင်းကြေငြာချက်ကို သင်အသုံးပြုပါက VHDL စာကြည့်တိုက်-အသုံးပြုမှု ကြေငြာချက် မလိုအပ်ပါ။
စာကြည့်တိုက် lpm; lpm.lpm_components.all ကိုသုံးပါ။
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
4. LPM_MULT (Multiplier) IP Core 683490 | 2020.10.05
၄.၅။ အချက်ပြမှုများ
ဇယား ၁။
LPM_MULT ထည့်သွင်းခြင်း အချက်ပြမှုများ
အချက်ပြအမည်
လိုအပ်သည်။
ဖော်ပြချက်
ဒေတာ[]
ဟုတ်ကဲ့
ဒေတာထည့်သွင်းခြင်း။
Intel Stratix 10၊ Intel Arria 10 နှင့် Intel Cyclone 10 GX စက်များအတွက်၊ input signal ၏အရွယ်အစားသည် Dataa width ပါရာမီတာတန်ဖိုးအပေါ် မူတည်ပါသည်။
အဟောင်းများနှင့် Intel Cyclone 10 LP စက်များအတွက်၊ အဝင်အချက်ပြမှု၏အရွယ်အစားသည် LPM_WIDTHA ပါရာမီတာတန်ဖိုးအပေါ် မူတည်ပါသည်။
ဒေတာဘေ[]
ဟုတ်ကဲ့
ဒေတာထည့်သွင်းခြင်း။
Intel Stratix 10၊ Intel Arria 10 နှင့် Intel Cyclone 10 GX စက်များအတွက်၊ input signal ၏အရွယ်အစားသည် Datab width ပါရာမီတာတန်ဖိုးအပေါ် မူတည်ပါသည်။
အဟောင်းများနှင့် Intel Cyclone 10 LP စက်များအတွက်၊ input signal ၏အရွယ်အစားသည် မူတည်ပါသည်။
LPM_WIDTHB ပါရာမီတာတန်ဖိုးပေါ်တွင်
နာရီ
မရှိ
ပိုက်လိုင်းအသုံးပြုမှုအတွက် နာရီထည့်သွင်းခြင်း။
အဟောင်းများနှင့် Intel Cyclone 10 LP စက်များအတွက်၊ 0 (မူလ) မှလွဲ၍ LPM_PIPELINE တန်ဖိုးများအတွက် နာရီအချက်ပြမှုကို ဖွင့်ထားရပါမည်။
Intel Stratix 10၊ Intel Arria 10 နှင့် Intel Cyclone 10 GX စက်ပစ္စည်းများအတွက်၊ Latency တန်ဖိုးသည် 1 (မူလ) မဟုတ်ပါက နာရီအချက်ပြမှုကို ဖွင့်ထားရပါမည်။
clken
မရှိ
ပိုက်လိုင်းအသုံးပြုမှုအတွက် နာရီကို ဖွင့်ပါ။ clken အချက်ပြမှု မြင့်မားလာသောအခါ၊
adder/subtractor လုပ်ဆောင်ချက်သည် လုပ်ဆောင်သည်။ အချက်ပြမှုနည်းသောအခါတွင် လုပ်ဆောင်ချက်မရှိပါ။
ဖြစ်ပေါ်သည်။ ချန်လှပ်ထားလျှင် မူရင်းတန်ဖိုးသည် 1 ဖြစ်သည်။
aclr sclr
မရှိ
ပိုက်လိုင်းကို 0s အားလုံးသို့ ပြန်လည်သတ်မှတ်ရန် အချိန်မရွေး အသုံးပြုနိုင်သော အပြိုင်အဆိုင် ရှင်းလင်းသော အချက်ပြမှု၊
နာရီအချက်ပြမှုဆီသို့ အချိန်ကိုက် ပိုက်လိုင်းသည် သတ်မှတ်မထားသော (X) သို့ စတင်သည်
ယုတ္တိဗေဒအဆင့်။ အထွက်များသည် တသမတ်တည်းဖြစ်သော်လည်း သုညမဟုတ်သော တန်ဖိုးဖြစ်သည်။
မရှိ
ပိုက်လိုင်းကို 0s အားလုံးသို့ ပြန်လည်သတ်မှတ်ရန် အချိန်မရွေး အသုံးပြုနိုင်သော ရှင်းရှင်းလင်းလင်း အချက်ပြသံ၊
နာရီအချက်ပြမှုသို့ တပြိုင်တည်းလုပ်ဆောင်သည်။ ပိုက်လိုင်းသည် သတ်မှတ်မထားသော (X) သို့ စတင်သည်
ယုတ္တိဗေဒအဆင့်။ အထွက်များသည် တသမတ်တည်းဖြစ်သော်လည်း သုညမဟုတ်သော တန်ဖိုးဖြစ်သည်။
ဇယား ၁။
LPM_MULT အထွက် အချက်ပြမှုများ
အချက်ပြအမည်
လိုအပ်သည်။
ဖော်ပြချက်
ရလဒ်[]
ဟုတ်ကဲ့
ဒေတာအထွက်။
အဟောင်းများနှင့် Intel Cyclone 10 LP စက်များအတွက်၊ အထွက် signal ၏အရွယ်အစားသည် LPM_WIDTHP ကန့်သတ်ဘောင်တန်ဖိုးပေါ်တွင် မူတည်သည်။ အကယ်၍ LPM_WIDTHP < အမြင့်ဆုံး (LPM_WIDTHA + LPM_WIDTHB၊ LPM_WIDTHS) သို့မဟုတ် (LPM_WIDTHA + LPM_WIDTHS) ဆိုလျှင် LPM_WIDTHP MSB များသာ ရှိနေပါသည်။
Intel Stratix 10၊ Intel Arria 10 နှင့် Intel Cyclone 10 GX အတွက်၊ အထွက်အချက်ပြလှိုင်းများ၏ အရွယ်အစားသည် Result width ဘောင်ပေါ်တွင် မူတည်သည်။
၄.၆။ Stratix V၊ Arria V၊ Cyclone V နှင့် Intel Cyclone 4.6 LP စက်များအတွက် ကန့်သတ်ချက်များ
၄.၆.၁။ General Tab
ဇယား ၁။
General Tab
ကန့်သတ်ချက်
တန်ဖိုး
Multiplier ဖွဲ့စည်းမှု
'dataa' ထည့်သွင်းမှုကို 'datab' ထည့်သွင်းခြင်းဖြင့် မြှောက်ပါ။
မူရင်းတန်ဖိုး
ဖော်ပြချက်
'dataa' ထည့်သွင်းမှုကို 'datab' ထည့်သွင်းခြင်းဖြင့် မြှောက်ပါ။
မြှောက်ကိန်းအတွက် အလိုရှိသော ဖွဲ့စည်းမှုပုံစံကို ရွေးပါ။
ဆက်ရန်…
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
4. LPM_MULT (Multiplier) IP Core 683490 | 2020.10.05
ကန့်သတ်ချက်
'dataa' ထည့်သွင်းမှုသည် မည်မျှကျယ်သင့်သနည်း။ 'datab' ထည့်သွင်းမှု မည်မျှ ကျယ်သင့်သနည်း။ 'ရလဒ်' အထွက်၏ အကျယ်ကို မည်သို့ဆုံးဖြတ်သင့်သနည်း။ အကျယ်ကိုကန့်သတ်ပါ။
တန်ဖိုး
'dataa' ထည့်သွင်းမှုကို သူ့ဘာသာသူ မြှောက်ပါ (squaring operation)
၁၆-၂၄ ဘစ်
မူရင်းတန်ဖိုး
ဖော်ပြချက်
8 bits
dataa[] port ၏ အကျယ်ကို သတ်မှတ်ပါ။
၁၆-၂၄ ဘစ်
8 bits
datab[] port ၏ အကျယ်ကို သတ်မှတ်ပါ။
အကျယ်ကို အလိုအလျောက် တွက်ချက်ပြီး အကျယ်ကို ကန့်သတ်ပါ။
၁၆-၂၄ ဘစ်
အကျယ်ကို အလိုအလျောက် y တွက်ချက်သည်။
ရလဒ်[] port ၏ အကျယ်ကို ဆုံးဖြတ်ရန် အလိုရှိသော နည်းလမ်းကို ရွေးချယ်ပါ။
16 bits
ရလဒ်[] port ၏ အကျယ်ကို သတ်မှတ်ပါ။
Type parameter တွင် width ကိုကန့်သတ်ရန်သင်ရွေးချယ်မှသာဤတန်ဖိုးသည်ထိရောက်လိမ့်မည်။
၄.၆.၂။ အထွေထွေ 4.6.2 တက်ဘ်
Table 10. General 2 Tab
ကန့်သတ်ချက်
တန်ဖိုး
Datab ထည့်သွင်းခြင်း။
'datab' အဝင်ဘတ်စ်တွင် ကိန်းသေတန်ဖိုးရှိပါသလား။
မဟုတ်ဘူး ဟုတ်တယ်
ပွားအမျိုးအစား
ဘယ်အမျိုးအစားလဲ။
လက်မှတ်မထိုး
မြှောက်လိုပါသလား။ လက်မှတ်ရေးထိုးခဲ့သည်။
အကောင်အထည်ဖော်ခြင်း။
မည်သည့်ကိန်းဂဏန်းကို အကောင်အထည်ဖော်ရန် အသုံးပြုသင့်သနည်း။
ပုံသေ အကောင်အထည်ဖော်မှုကို သုံးပါ။
သီးသန့် ကိန်းဂဏန်းပတ်လမ်းကို အသုံးပြုပါ (မိသားစုအားလုံးအတွက် မရရှိနိုင်ပါ)
ယုတ္တိဗေဒဒြပ်စင်များကိုသုံးပါ။
မူရင်းတန်ဖိုး
ဖော်ပြချက်
မရှိ
၏ ကိန်းသေတန်ဖိုးကို သတ်မှတ်ရန် Yes ကို ရွေးပါ။
`datab' ထည့်သွင်းသည့်ဘတ်စ်များရှိပါက။
လက်မှတ်မထိုး
dataa[] နှင့် datab[] input နှစ်ခုလုံးအတွက် ကိုယ်စားပြုဖော်မတ်ကို သတ်မှတ်ပါ။
ပုံသေအကောင်အထည်ဖော်မှု အိုင်းယွန်းကို အသုံးပြုပါ။
ရလဒ်[] port ၏ အကျယ်ကို ဆုံးဖြတ်ရန် အလိုရှိသော နည်းလမ်းကို ရွေးချယ်ပါ။
၄.၆.၃။ ပိုက်လိုင်းတက်ဘ်
Table 11. Pipelining Tab
ကန့်သတ်ချက်
ပိုက်လိုင်းသွယ်တန်းလိုပါသလား။
function ကို?
ဟုတ်ကဲ့
တန်ဖိုး
'aclr' ဖန်တီးပါ
—
asynchronous clear port
မူရင်းတန်ဖိုး
ဖော်ပြချက်
မရှိ
ပိုက်လိုင်းမှတ်ပုံတင်ခြင်းကိုဖွင့်ရန် Yes ကိုရွေးချယ်ပါ။
multiplier ၏ output ကိုအလိုရှိသောသတ်မှတ်
နာရီစက်ဝန်းတွင် latency အထွက်။ ဟိပြန်ခြင်း။
pipeline register သည် latency ကို အပိုထပ်လောင်းသည်။
အထွက်။
ဒလဟော
ပိုက်လိုင်းမှတ်ပုံတင်ခြင်းအတွက် အညီအညွတ်ရှင်းလင်းစွာအသုံးပြုရန် aclr ဆိပ်ကမ်းကိုဖွင့်ရန် ဤရွေးချယ်မှုကို ရွေးချယ်ပါ။
ဆက်ရန်…
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
4. LPM_MULT (Multiplier) IP Core 683490 | 2020.10.05
ကန့်သတ်ချက်
နာရီကိုဖွင့်ရန် 'clken' နာရီကို ဖန်တီးပါ။
ပိုကောင်းအောင် လုပ်ပါ။
ဘယ်လို optimization အမျိုးအစားကို လိုချင်တာလဲ။
တန်ဖိုး —
ပုံသေ အမြန်နှုန်း ဧရိယာ
မူရင်းတန်ဖိုး
ဖော်ပြချက်
ဒလဟော
ပိုက်လိုင်းမှတ်ပုံတင်ခြင်း၏ နာရီအပေါက်အတွက် အသုံးပြုနေသော မြင့်မားသောနာရီကို သတ်မှတ်သည်။
ပုံသေ
IP core အတွက် လိုချင်သော optimization ကို သတ်မှတ်ပါ။
IP core အတွက် အကောင်းဆုံး optimization ကို ဆုံးဖြတ်ရန် Intel Quartus Prime ဆော့ဖ်ဝဲကို ခွင့်ပြုရန် မူရင်းကို ရွေးချယ်ပါ။
၄.၇။ Intel Stratix 4.7၊ Intel Arria 10 နှင့် Intel Cyclone 10 GX စက်များအတွက် ကန့်သတ်ချက်များ
၄.၆.၁။ General Tab
Table 12. General Tab
ကန့်သတ်ချက်
တန်ဖိုး
မူရင်းတန်ဖိုး
ဖော်ပြချက်
Multiplier Configuration အမျိုးအစား
Data Port အကျယ်များ
'dataa' ထည့်သွင်းမှုကို 'datab' ထည့်သွင်းခြင်းဖြင့် မြှောက်ပါ။
'dataa' ထည့်သွင်းမှုကို သူ့ဘာသာသူ မြှောက်ပါ (squaring operation)
'dataa' ထည့်သွင်းမှုကို 'datab' ထည့်သွင်းခြင်းဖြင့် မြှောက်ပါ။
မြှောက်ကိန်းအတွက် အလိုရှိသော ဖွဲ့စည်းမှုပုံစံကို ရွေးပါ။
ဒေတာအကျယ်
၁၆-၂၄ ဘစ်
8 bits
dataa[] port ၏ အကျယ်ကို သတ်မှတ်ပါ။
Datab အကျယ်
၁၆-၂၄ ဘစ်
8 bits
datab[] port ၏ အကျယ်ကို သတ်မှတ်ပါ။
'ရလဒ်' အထွက်၏ အကျယ်ကို မည်သို့ဆုံးဖြတ်သင့်သနည်း။
ရိုက်ပါ။
အကျယ်ကို အလိုအလျောက် တွက်ချက်ပါ။
အကျယ်ကိုကန့်သတ်ပါ။
အကျယ်ကို အလိုအလျောက် y တွက်ချက်သည်။
ရလဒ်[] port ၏ အကျယ်ကို ဆုံးဖြတ်ရန် အလိုရှိသော နည်းလမ်းကို ရွေးချယ်ပါ။
တန်ဖိုး
၁၆-၂၄ ဘစ်
16 bits
ရလဒ်[] port ၏ အကျယ်ကို သတ်မှတ်ပါ။
Type parameter တွင် width ကိုကန့်သတ်ရန်သင်ရွေးချယ်မှသာဤတန်ဖိုးသည်ထိရောက်လိမ့်မည်။
ရလဒ်အကျယ်
၁၆-၂၄ ဘစ်
—
ရလဒ်[] port ၏ ထိရောက်သော အကျယ်ကို ပြသည်။
၄.၆.၂။ အထွေထွေ 4.7.2 တက်ဘ်
Table 13. General 2 Tab
ကန့်သတ်ချက်
Datab ထည့်သွင်းခြင်း။
'datab' အဝင်ဘတ်စ်တွင် ကိန်းသေတန်ဖိုးရှိပါသလား။
မဟုတ်ဘူး ဟုတ်တယ်
တန်ဖိုး
မူရင်းတန်ဖိုး
ဖော်ပြချက်
မရှိ
၏ ကိန်းသေတန်ဖိုးကို သတ်မှတ်ရန် Yes ကို ရွေးပါ။
`datab' ထည့်သွင်းသည့်ဘတ်စ်များရှိပါက။
ဆက်ရန်…
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
4. LPM_MULT (Multiplier) IP Core 683490 | 2020.10.05
ကန့်သတ်ချက်
တန်ဖိုး
တန်ဖိုး
0 ထက် ကြီးသောတန်ဖိုး
ပွားအမျိုးအစား
ဘယ်အမျိုးအစားလဲ။
လက်မှတ်မထိုး
မြှောက်လိုပါသလား။ လက်မှတ်ရေးထိုးခဲ့သည်။
အကောင်အထည်ဖော်မှုပုံစံ
မည်သည့်ကိန်းဂဏန်းကို အကောင်အထည်ဖော်ရန် အသုံးပြုသင့်သနည်း။
ပုံသေ အကောင်အထည်ဖော်မှုကို သုံးပါ။
သီးခြား အမြှောက်ပတ်လမ်းကို အသုံးပြုပါ။
ယုတ္တိဗေဒဒြပ်စင်များကိုသုံးပါ။
မူရင်းတန်ဖိုး
ဖော်ပြချက်
0
datab[] port ၏ အဆက်မပြတ်တန်ဖိုးကို သတ်မှတ်ပါ။
လက်မှတ်မထိုး
dataa[] နှင့် datab[] input နှစ်ခုလုံးအတွက် ကိုယ်စားပြုဖော်မတ်ကို သတ်မှတ်ပါ။
ပုံသေအကောင်အထည်ဖော်မှု အိုင်းယွန်းကို အသုံးပြုပါ။
ရလဒ်[] port ၏ အကျယ်ကို ဆုံးဖြတ်ရန် အလိုရှိသော နည်းလမ်းကို ရွေးချယ်ပါ။
၄.၇.၃။ ပိုက်လိုင်း
Table 14. Pipelining Tab
ကန့်သတ်ချက်
တန်ဖိုး
လုပ်ဆောင်ချက်ကို သွယ်တန်းလိုပါသလား။
ပိုက်လိုင်း
မဟုတ်ဘူး ဟုတ်တယ်
Latency Clear Signal အမျိုးအစား
0 ထက် ကြီးသောတန်ဖိုး။
ACLR SCLR မရှိပါ။
'clken' နာရီကို ဖန်တီးပါ။
—
နာရီကိုဖွင့်ပါ။
ဘယ်လို optimization အမျိုးအစားကို လိုချင်တာလဲ။
ရိုက်ပါ။
ပုံသေ အမြန်နှုန်း ဧရိယာ
မူရင်းတန်ဖိုး
ဖော်ပြချက်
နံပါတ် ၁ မရှိပါ။
—
မြှောက်ကိန်း၏အထွက်တွင် ပိုက်လိုင်းမှတ်ပုံတင်ခြင်းကို ဖွင့်ရန် Yes ကိုရွေးချယ်ပါ။ ပိုက်လိုင်းမှတ်ပုံတင်ခြင်းကို ဖွင့်ထားခြင်းဖြင့် အထွက်တွင် latency ပိုများသည်။
နာရီစက်ဝန်းတွင် အလိုရှိသော output latency ကို သတ်မှတ်ပါ။
ပိုက်လိုင်းမှတ်ပုံတင်ခြင်းအတွက် ပြန်လည်သတ်မှတ်ခြင်း အမျိုးအစားကို သတ်မှတ်ပါ။ ပိုက်လိုင်းမှတ်ပုံတင်ခြင်းကို အသုံးမပြုပါက NONE ကိုရွေးချယ်ပါ။ ပိုက်လိုင်းမှတ်ပုံတင်ခြင်းအတွက် အညီအမျှရှင်းလင်းခြင်းကိုအသုံးပြုရန် ACLR ကိုရွေးချယ်ပါ။ ၎င်းသည် ACLR port ကိုထုတ်ပေးလိမ့်မည်။ ပိုက်လိုင်း မှတ်ပုံတင်ခြင်းအတွက် တစ်ပြိုင်တည်း ရှင်းလင်းမှုကို အသုံးပြုရန် SCLR ကို ရွေးပါ။ ၎င်းသည် SCLR port ကိုထုတ်ပေးလိမ့်မည်။
ပိုက်လိုင်းမှတ်ပုံတင်ခြင်း၏ နာရီအပေါက်အတွက် အသုံးပြုနေသော မြင့်မားသောနာရီကို သတ်မှတ်သည်။
ပုံသေ
IP core အတွက် လိုချင်သော optimization ကို သတ်မှတ်ပါ။
IP core အတွက် အကောင်းဆုံး optimization ကို ဆုံးဖြတ်ရန် Intel Quartus Prime ဆော့ဖ်ဝဲလ်ကို ခွင့်ပြုရန် Default ကို ရွေးချယ်ပါ။
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
683490 | 2020.10.05 တုံ့ပြန်ချက်ပေးပို့ပါ။
5. LPM_ADD_SUB (ပေါင်းထည့်/နုတ်ထွက်သူ)
ပုံ ၇။
LPM_ADD_SUB IP core သည် သင့်အား ထည့်သွင်းတန်ဖိုးများ ပေါင်းလဒ် သို့မဟုတ် ကွာခြားချက်ပါရှိသော ဒေတာအစုများကို ပေါင်းထည့်ရန် သို့မဟုတ် နုတ်ရန် ဒေတာအစုများကို ပေါင်းထည့်ရန် သို့မဟုတ် နုတ်ရန် ပေါင်းထည့်ခြင်း သို့မဟုတ် နုတ်ခြင်းတို့ကို အကောင်အထည်ဖော်နိုင်စေပါသည်။
အောက်ပါပုံသည် LPM_ADD_SUB IP core အတွက် ဆိပ်ကမ်းများကို ပြသည်။
LPM_ADD_SUB ဆိပ်ကမ်းများ
LPM_ADD_SUB add_sub cin
ဒေတာ[]
နာရီ clken datab[] aclr
ရလဒ်[] overflow cout
inst
5.1. အင်္ဂါရပ်များ
LPM_ADD_SUB IP core သည် အောက်ပါအင်္ဂါရပ်များကို ပေးဆောင်သည်- · ပေါင်းထည့်ခြင်း၊ နုတ်နုတ်စက်နှင့် ဒိုင်နမစ်ဖြင့် ပေါင်းထည့်ခြင်း/နုတ်နုတ်စက်ကို ထုတ်ပေးသည်
လုပ်ဆောင်ချက်များ။ ·ဒေတာအကျယ် 1 bits ကိုထောက်ပံ့သည်။ · လက်မှတ်ရေးထိုးပြီး လက်မှတ်မထိုးထားသည့် ဒေတာကိုယ်စားပြုဖော်မတ်ကို ပံ့ပိုးပေးသည်။ · ရွေးချယ်နိုင်သော သယ်ဆောင်ခြင်း (အငှားထွက်ခြင်း)၊ အပြိုင်အဆိုင်ရှင်းလင်းခြင်းနှင့် နာရီဖွင့်ခြင်းကို ပံ့ပိုးပေးသည်။
အဝင်ပေါက်များ။ · ရွေးချယ်နိုင်သော သယ်ယူသွားခြင်း (ချေးယူခြင်း) နှင့် overflow output port များကို ပံ့ပိုးပေးသည်။ · ထည့်သွင်းဒေတာဘတ်စ်များထဲမှ တစ်ခုကို ကိန်းသေတစ်ခုအဖြစ် သတ်မှတ်ပေးသည်။ · ပုံဖော်နိုင်သော output latency ဖြင့် ပိုက်လိုင်းကို ပံ့ပိုးပေးသည်။
Intel ကော်ပိုရေးရှင်း။ မူပိုင်ခွင့်များရယူပြီး။ Intel၊ Intel လိုဂိုနှင့် အခြားသော Intel အမှတ်အသားများသည် Intel ကော်ပိုရေးရှင်း သို့မဟုတ် ၎င်း၏လုပ်ငန်းခွဲများ၏ အမှတ်တံဆိပ်များဖြစ်သည်။ Intel သည် Intel ၏ စံအာမခံချက်နှင့်အညီ ၎င်း၏ FPGA နှင့် တစ်ပိုင်းလျှပ်ကူးပစ္စည်းထုတ်ကုန်များ၏ စွမ်းဆောင်ရည်ကို လက်ရှိ သတ်မှတ်ချက်များအတိုင်း အာမခံထားသော်လည်း မည်သည့်ထုတ်ကုန်နှင့် ဝန်ဆောင်မှုများကိုမဆို အသိပေးခြင်းမရှိဘဲ အချိန်မရွေး အပြောင်းအလဲပြုလုပ်ပိုင်ခွင့်ကို လက်ဝယ်ရှိပါသည်။ Intel မှ စာဖြင့် အတိအလင်း သဘောတူထားသည့်အတိုင်း ဤနေရာတွင် ဖော်ပြထားသော အချက်အလက်၊ ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုကို အသုံးပြုခြင်း သို့မဟုတ် အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော တာဝန် သို့မဟုတ် တာဝန်ခံမှု မရှိဟု ယူဆပါသည်။ Intel သုံးစွဲသူများသည် ထုတ်ဝေထားသော အချက်အလက်များနှင့် ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုများအတွက် အမှာစာမတင်မီ နောက်ဆုံးဗားရှင်းကို ရယူရန် အကြံပြုအပ်ပါသည်။ *အခြားအမည်များနှင့် အမှတ်တံဆိပ်များကို အခြားသူများ၏ပိုင်ဆိုင်မှုအဖြစ် တောင်းဆိုနိုင်ပါသည်။
ISO 9001:2015 မှတ်ပုံတင်ထားသည်။
5. LPM_ADD_SUB ( Adder/Subtractor ) 683490 | 2020.10.05
၂.၂။ Verilog HDL Prototype
အောက်ပါ Verilog HDL ရှေ့ပြေးပုံစံသည် Verilog ဒီဇိုင်းတွင် တည်ရှိသည်။ File (.v) lpm.v ၌ edasynthesis လမ်းညွှန်။
module 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 = "မသုံးရသေးသော"; ထည့်သွင်းမှု [lpm_width-1:0] dataa၊ datab; ထည့်သွင်းရန် add_sub၊ cin; ထည့်သွင်းနာရီ; ထည့်သွင်း clken; ထည့်သွင်း aclr; အထွက် [lpm_width-1:0] ရလဒ်; output cout, overflow; endmodule
၂.၃။ VHDL အစိတ်အပိုင်းကြေငြာချက်
VHDL အစိတ်အပိုင်း ကြေငြာချက်သည် VHDL ဒီဇိုင်းတွင် တည်ရှိသည်။ File (.vhd) LPM_PACK.vhd ထဲမှာ librariesvhdllpm လမ်းညွှန်။
အစိတ်အပိုင်း LPM_ADD_SUB ယေဘုယျ (LPM_WIDTH : သဘာဝ၊
LPM_DIRECTION : string := “မသုံးရသေးသော”; LPM_REPRESENTATION- string := “လက်မှတ်ထိုးသည်”; LPM_PIPELINE : သဘာဝ := 0; LPM_TYPE : string := L_ADD_SUB; LPM_HINT : string := “UNUSED”); ဆိပ်ကမ်း (DATAA : in std_logic_vector(LPM_WIDTH-1 အောက်သို့ 0); DATAB : in std_logic_vector(LPM_WIDTH-1 အောက်သို့ 0); ACLR : in std_logic := '0'; CLOCK : in std_logic := '0'; := '1'; CIN : in std_logic := 'Z'; ADD_SUB : in std_logic := '1'; RESULT : out std_logic_vector(LPM_WIDTH-1 မှ 0); COUT : out std_logic ; OVERFLOW : out std_logic အဆုံးအစိတ်အပိုင်း;
၂.၄။ VHDL LIBRARY_USE ကြေငြာချက်
VHDL အစိတ်အပိုင်းကြေငြာချက်ကို သင်အသုံးပြုပါက VHDL စာကြည့်တိုက်-အသုံးပြုမှု ကြေငြာချက် မလိုအပ်ပါ။
စာကြည့်တိုက် lpm; lpm.lpm_components.all ကိုသုံးပါ။
5.5. ဆိပ်ကမ်းများ
အောက်ပါဇယားများသည် LPM_ADD_SUB IP core အတွက် အဝင်နှင့် အထွက်ပေါက်များကို စာရင်းပြုစုထားသည်။
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
5. LPM_ADD_SUB ( Adder/Subtractor ) 683490 | 2020.10.05
ဇယား 15. LPM_ADD_SUB IP Core အဝင်ပေါက်များ
ဆိပ်ကမ်းအမည်
လိုအပ်သည်။
ဖော်ပြချက်
စင်
မရှိ
low-order bit သို့ သယ်ဆောင်သွားပါ။ ထပ်လောင်းလုပ်ဆောင်မှုများအတွက်၊ ပုံသေတန်ဖိုးသည် 0. အတွက်ဖြစ်သည်။
နုတ်ခြင်းလုပ်ငန်းများ၊ မူရင်းတန်ဖိုးမှာ 1 ဖြစ်သည်။
ဒေတာ[]
ဟုတ်ကဲ့
ဒေတာထည့်သွင်းခြင်း။ အဝင်ပေါက်၏ အရွယ်အစားသည် LPM_WIDTH ပါရာမီတာတန်ဖိုးပေါ်တွင် မူတည်သည်။
ဒေတာဘေ[]
ဟုတ်ကဲ့
ဒေတာထည့်သွင်းခြင်း။ အဝင်ပေါက်၏ အရွယ်အစားသည် LPM_WIDTH ပါရာမီတာတန်ဖိုးပေါ်တွင် မူတည်သည်။
add_sub
မရှိ
ပေါင်းထည့်သူနှင့် နုတ်နုတ်စက်ကြားတွင် ရွေ့လျားပြောင်းလဲနေသော ကူးပြောင်းမှုကို ဖွင့်ရန် ရွေးချယ်နိုင်သော အဝင်ပေါက်
လုပ်ဆောင်ချက်များ။ LPM_DIRECTION ဘောင်ကို အသုံးပြုပါက add_sub ကို အသုံးမပြုနိုင်ပါ။ ရှိရင်
ချန်လှပ်ထားသည်၊ မူရင်းတန်ဖိုးမှာ ADD ဖြစ်သည်။ Intel က သင့်အား အသုံးပြုရန် အကြံပြုထားသည်။
LPM_ADD_SUB လုပ်ဆောင်ချက်ကို သတ်မှတ်ရန် LPM_DIRECTION ဘောင်၊
add_sub port သို့ ကိန်းသေတစ်ခုသတ်မှတ်ခြင်းထက်။
နာရီ
မရှိ
ပိုက်လိုင်းအသုံးပြုမှုအတွက် ထည့်သွင်းခြင်း။ နာရီပေါက်သည် ပိုက်လိုင်းတစ်ခုအတွက် နာရီထည့်သွင်းမှုကို ပံ့ပိုးပေးသည်။
စစ်ဆင်ရေး။ LPM_PIPELINE တန်ဖိုးများသည် 0 (မူလ) မှလွဲ၍ နာရီအပေါက်ဖြစ်ရပါမည်။
ဖွင့်ထားသည်။
clken
မရှိ
ပိုက်လိုင်းအသုံးပြုမှုအတွက် နာရီကို ဖွင့်ပါ။ clken port သည် မြင့်မားသည်ဟု အခိုင်အမာဆိုသောအခါ adder/
နုတ်ခြင်းလုပ်ငန်းကို ဆောင်ရွက်သည်။ အချက်ပြမှုနည်းသောအခါတွင် မည်သည့်လုပ်ဆောင်ချက်မျှ ဖြစ်ပေါ်ခြင်းမရှိပါ။ အကယ်လို့
ချန်လှပ်ထားသည်၊ မူရင်းတန်ဖိုးမှာ 1 ဖြစ်သည်။
aclr
မရှိ
ပိုက်လိုင်းအသုံးပြုမှုအတွက် အကွဲကွဲအပြားပြား ရှင်းလင်းသည်။ ပိုက်လိုင်းသည် သတ်မှတ်မထားသော (X) သို့ စတင်သည်
ယုတ္တိဗေဒအဆင့်။ ပိုက်လိုင်းကို 0s အားလုံးသို့ ပြန်လည်သတ်မှတ်ရန် aclr port ကို အချိန်မရွေးအသုံးပြုနိုင်သည်၊
နာရီအချက်ပြမှုဆီသို့ အချိန်ကိုက်
ဇယား 16. LPM_ADD_SUB IP Core Output Ports
ဆိပ်ကမ်းအမည်
လိုအပ်သည်။
ဖော်ပြချက်
ရလဒ်[]
ဟုတ်ကဲ့
ဒေတာအထွက်။ အထွက်ပေါက်၏ အရွယ်အစားသည် LPM_WIDTH ဘောင်ပေါ်တွင် မူတည်သည်။
တန်ဖိုး။
cout
မရှိ
အထင်ရှားဆုံး ဘစ် (MSB) ၏ သယ်ယူခြင်း (ချေးယူခြင်း)။ cout port တွင် ရုပ်ပိုင်းဆိုင်ရာပါရှိသည်။
MSB ၏ သယ်ဆောင်ခြင်း (ချေးယူခြင်း) အဖြစ် အဓိပ္ပာယ်ဖွင့်ဆိုခြင်း။ cout port က ထောက်လှမ်းတယ်။
လက်မှတ်မထိုးထားသော လုပ်ငန်းများတွင် ပြည့်လျှံနေသည်။ cout port သည် တူညီသောပုံစံအတိုင်း လုပ်ဆောင်သည်။
လက်မှတ်ထိုးပြီး နှင့် လက်မှတ်မထိုးထားသော လုပ်ငန်းများ။
ပြည့်လျှံ
မရှိ
ရွေးချယ်နိုင်သော အလျှံပယ်ခြွင်းချက် အထွက်။ overflow port တွင် ရုပ်ပိုင်းဆိုင်ရာ အဓိပ္ပာယ်ဖွင့်ဆိုချက် ရှိသည်။
MSB ၏သယ်ယူခြင်းနှင့်အတူ MSB သို့သယ်ဆောင်ခြင်း၏ XOR။ ပြည့်လျှံသောဆိပ်ကမ်း
ရလာဒ်များသည် ရရှိနိုင်သော တိကျမှုထက် ကျော်လွန်သောအခါတွင် အခိုင်အမာ ပြောကြားပြီး ၎င်းကို အသုံးပြုသည့်အခါမှသာ အသုံးပြုသည်။
LPM_REPRESENTATION ပါရာမီတာတန်ဖိုးကို လက်မှတ်ထိုးထားသည်။
၂
အောက်ပါဇယားသည် LPM_ADD_SUB IP core ဘောင်များကို စာရင်းပြုစုထားသည်။
ဇယား 17. LPM_ADD_SUB IP Core ကန့်သတ်ချက်များ
ကန့်သတ်ချက်အမည် LPM_WIDTH
Integer ကိုရိုက်ထည့်ပါ။
လိုအပ်သည် ဟုတ်ကဲ့
ဖော်ပြချက်
dataa[]၊ datab[] နှင့် result[] port များ၏ အကျယ်ကို သတ်မှတ်သည်။
LPM_DIRECTION
ကြိုးတစ်ချောင်း
မရှိ
တန်ဖိုးများသည် ADD၊ SUB နှင့် UNUSED ဖြစ်သည်။ ချန်လှပ်ထားလျှင်၊ မူရင်းတန်ဖိုးသည် DEFAULT ဖြစ်ပြီး၊ ၎င်းသည် add_sub ပို့တ်မှ ၎င်း၏တန်ဖိုးကို ယူရန် ကန့်သတ်ဘောင်ကို ညွှန်ကြားသည်။ LPM_DIRECTION ကိုအသုံးပြုပါက add_sub port ကို အသုံးမပြုနိုင်ပါ။ Intel မှ add_sub အပေါက်သို့ ကိန်းသေတစ်ခုသတ်မှတ်ခြင်းထက် LPM_ADD_SUB လုပ်ဆောင်ချက်ကို သတ်မှတ်ရန် LPM_DIRECTION ဘောင်ကို အသုံးပြုရန် အကြံပြုထားသည်။
ဆက်ရန်…
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
5. LPM_ADD_SUB ( Adder/Subtractor ) 683490 | 2020.10.05
ကန့်သတ်ချက်အမည် LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY
String Integer အမျိုးအစား String String စာတန်း Integer
ကြိုးတစ်ချောင်း
မလိုအပ်သည်မဟုတ်၊မရှိ၊မရှိ၊မရှိ၊မရှိ၊
မရှိ
ဖော်ပြချက်
လုပ်ဆောင်ခဲ့သည့် ထပ်လောင်းအမျိုးအစားကို သတ်မှတ်ပါ။ တန်ဖိုးများကို လက်မှတ်ထိုးပြီး လက်မှတ်မထိုးပါ။ ချန်လှပ်ထားလျှင် မူရင်းတန်ဖိုးသည် လက်မှတ်ထိုးထားသည်။ ဤပါရာမီတာကို SIGNED ဟု သတ်မှတ်သောအခါ၊ ပေါင်းထည့်/အနုတ်လက္ခဏာသည် လက်မှတ်နှစ်ခု၏ ဖြည့်စွက်ချက်အဖြစ် ဒေတာထည့်သွင်းမှုကို ဘာသာပြန်ပေးသည်။
ရလဒ်[] output နှင့် ဆက်စပ်နေသည့် latency နာရီစက်ဝန်း အရေအတွက်ကို သတ်မှတ်ပေးသည်။ သုည (0) ၏တန်ဖိုးသည် latency မရှိသည်ကို ညွှန်ပြပြီး ပေါင်းစပ်လုပ်ဆောင်ချက်သည် ချက်ခြင်းဖြစ်လိမ့်မည်ဖြစ်သည်။ ချန်လှပ်ထားလျှင်၊ မူရင်းတန်ဖိုးသည် 0 (ပိုက်လိုင်းမထည့်ထားသော) ဖြစ်သည်။
VHDL ဒီဇိုင်းတွင် Intel ၏ သီးခြား ကန့်သတ်ဘောင်များကို သတ်မှတ်ခွင့်ပြုသည်။ files (.vhd)။ မူရင်းတန်ဖိုးသည် အသုံးမပြုရသေးပါ။
VHDL ဒီဇိုင်းတွင် parameterized modules (LPM) entity name ၏ library ကို ခွဲခြားသတ်မှတ်သည်။ files.
Intel သီးသန့် ကန့်သတ်ဘောင်။ VHDL ဒီဇိုင်းတွင် ONE_INPUT_IS_CONSTANT ကန့်သတ်ဘောင်ကို သတ်မှတ်ရန် သင်သည် LPM_HINT ဘောင်ကို အသုံးပြုရပါမည်။ file၎။ တန်ဖိုးများသည် YES၊ NO နှင့် UNUSED ဖြစ်သည်။ ထည့်သွင်းမှုတစ်ခုသည် အဆက်မပြတ်ဖြစ်နေပါက ပိုကောင်းအောင်ပြုလုပ်ပေးသည်။ ချန်လှပ်ထားလျှင် မူရင်းတန်ဖိုးသည် NO ဖြစ်သည်။
Intel သီးသန့် ကန့်သတ်ဘောင်။ VHDL ဒီဇိုင်းတွင် MAXIMIZE_SPEED ကန့်သတ်ဘောင်ကို သတ်မှတ်ရန် သင်သည် LPM_HINT ဘောင်ကို အသုံးပြုရပါမည်။ file၎။ သင်သည် 0 နှင့် 10 အကြား တန်ဖိုးတစ်ခုကို သတ်မှတ်နိုင်သည်။ အသုံးပြုပါက၊ Intel Quartus Prime ဆော့ဖ်ဝဲသည် ပုံမှန်လည်ပတ်နိုင်မှုထက် အမြန်နှုန်းအတွက် LPM_ADD_SUB လုပ်ဆောင်ချက်ကို အကောင်းဆုံးဖြစ်အောင် ကြိုးပမ်းမည်ဖြစ်ပြီး၊ Optimization Technique လော့ဂျစ်ရွေးချယ်မှု၏ ဆက်တင်ကို လွှမ်းမိုးသွားမည်ဖြစ်သည်။ MAXIMIZE_SPEED ကို အသုံးမပြုပါက၊ Optimization Technique ရွေးချယ်မှု၏ တန်ဖိုးကို ၎င်းအစား အသုံးပြုသည်။ MAXIMIZE_SPEED အတွက် ဆက်တင်သည် 6 သို့မဟုတ် ထို့ထက်ပိုပါက၊ Compiler သည် သယ်ဆောင်ထားသောကြိုးများကို အသုံးပြု၍ ပိုမိုမြန်ဆန်စေရန်အတွက် LPM_ADD_SUB IP core ကို ပိုကောင်းအောင်ပြုလုပ်ပေးပါသည်။ ဆက်တင်သည် 5 သို့မဟုတ် ထို့ထက်နည်းပါက၊ Compiler သည် ဆောင်ထားသောကြိုးများမပါဘဲ ဒီဇိုင်းကိုအကောင်အထည်ဖော်သည်။ add_sub ပို့တ်ကို အသုံးမပြုသောအခါမှသာ Cyclone၊ Stratix နှင့် Stratix GX စက်များအတွက် ဤကန့်သတ်ချက်ကို သတ်မှတ်ရပါမည်။
ဤကန့်သတ်ချက်ကို မော်ဒယ်နှင့် အပြုအမူဆိုင်ရာ သရုပ်ဖော်ခြင်းရည်ရွယ်ချက်များအတွက် အသုံးပြုပါသည်။ ကန့်သတ်ချက်တည်းဖြတ်သူသည် ဤကန့်သတ်ချက်အတွက်တန်ဖိုးကို တွက်ချက်သည်။
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
683490 | 2020.10.05 တုံ့ပြန်ချက်ပေးပို့ပါ။
6. LPM_COMPARE (နှိုင်းယှဉ်သူ)
ပုံ ၇။
LPM_COMPARE IP core သည် ၎င်းတို့ကြားရှိ ဆက်နွယ်မှုကို ဆုံးဖြတ်ရန် ဒေတာနှစ်စုံ၏ တန်ဖိုးကို နှိုင်းယှဉ်ပါသည်။ ၎င်း၏ အရိုးရှင်းဆုံးပုံစံတွင်၊ ဒေတာဘစ်နှစ်ခုသည် ညီမျှခြင်းရှိမရှိ ဆုံးဖြတ်ရန် သီးသန့်-OR ဂိတ်ကို အသုံးပြုနိုင်သည်။
အောက်ဖော်ပြပါပုံသည် LPM_COMPARE IP core အတွက် ဆိပ်ကမ်းများကို ပြသည်။
LPM_COMPARE ဆိပ်ကမ်းများ
LPM_COMPARE
clken
alb
aeb
ဒေတာ[]
agb
ဒေတာဘေ[]
အသက်အရွယ်
နာရီ
aneb
aclr
အယ်လက်
inst
6.1. အင်္ဂါရပ်များ
LPM_COMPARE IP core သည် အောက်ပါအင်္ဂါရပ်များကို ပေးဆောင်သည်- · ဒေတာနှစ်စုံကို နှိုင်းယှဉ်ရန် နှိုင်းယှဉ်မှု လုပ်ဆောင်ချက်ကို ထုတ်ပေးသည် · ဒေတာအကျယ် 1 bits ကို ပံ့ပိုးပေးသည် · လက်မှတ်မထိုးထားသော နှင့် လက်မှတ်မထိုးထားသည့် ဒေတာကိုယ်စားပြုဖော်မတ်ကို ပံ့ပိုးပေးသည် · အောက်ပါ အထွက်အမျိုးအစားများကို ထုတ်လုပ်သည်-
— alb (input A သည် input B ထက်နည်းသည်) — aeb (input A သည် input B နှင့် ညီမျှသည်) — agb (input A သည် input B ထက်ကြီးသည်) — ageb (input A သည် input B ထက်ကြီးသည် သို့မဟုတ် ညီမျှသည်) — aneb ( input A သည် input B နှင့် ညီမျှမည်မဟုတ်ပါ) — aleb (input A သည် input B ထက်နည်းသည် သို့မဟုတ် ညီမျှသည်) · ရွေးချယ်နိုင်သော asynchronous clear and clock enable input ports · datab[] input ကို ကိန်းသေအဖြစ် သတ်မှတ်ပေးသည် · ချိန်ညှိနိုင်သော output latency ဖြင့် ပိုက်လိုင်းကို ပံ့ပိုးပေးသည်
Intel ကော်ပိုရေးရှင်း။ မူပိုင်ခွင့်များရယူပြီး။ Intel၊ Intel လိုဂိုနှင့် အခြားသော Intel အမှတ်အသားများသည် Intel ကော်ပိုရေးရှင်း သို့မဟုတ် ၎င်း၏လုပ်ငန်းခွဲများ၏ အမှတ်တံဆိပ်များဖြစ်သည်။ Intel သည် Intel ၏ စံအာမခံချက်နှင့်အညီ ၎င်း၏ FPGA နှင့် တစ်ပိုင်းလျှပ်ကူးပစ္စည်းထုတ်ကုန်များ၏ စွမ်းဆောင်ရည်ကို လက်ရှိ သတ်မှတ်ချက်များအတိုင်း အာမခံထားသော်လည်း မည်သည့်ထုတ်ကုန်နှင့် ဝန်ဆောင်မှုများကိုမဆို အသိပေးခြင်းမရှိဘဲ အချိန်မရွေး အပြောင်းအလဲပြုလုပ်ပိုင်ခွင့်ကို လက်ဝယ်ရှိပါသည်။ Intel မှ စာဖြင့် အတိအလင်း သဘောတူထားသည့်အတိုင်း ဤနေရာတွင် ဖော်ပြထားသော အချက်အလက်၊ ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုကို အသုံးပြုခြင်း သို့မဟုတ် အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော တာဝန် သို့မဟုတ် တာဝန်ခံမှု မရှိဟု ယူဆပါသည်။ Intel သုံးစွဲသူများသည် ထုတ်ဝေထားသော အချက်အလက်များနှင့် ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုများအတွက် အမှာစာမတင်မီ နောက်ဆုံးဗားရှင်းကို ရယူရန် အကြံပြုအပ်ပါသည်။ *အခြားအမည်များနှင့် အမှတ်တံဆိပ်များကို အခြားသူများ၏ပိုင်ဆိုင်မှုအဖြစ် တောင်းဆိုနိုင်ပါသည်။
ISO 9001:2015 မှတ်ပုံတင်ထားသည်။
6. LPM_COMPARE (နှိုင်းယှဉ်သူ) 683490 | 2020.10.05
၂.၂။ Verilog HDL Prototype
အောက်ပါ Verilog HDL ရှေ့ပြေးပုံစံသည် Verilog ဒီဇိုင်းတွင် တည်ရှိသည်။ 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 = "မသုံးရသေးသော"; ထည့်သွင်းမှု [lpm_width-1:0] dataa၊ datab; ထည့်သွင်းနာရီ; ထည့်သွင်း clken; ထည့်သွင်း aclr; အထွက်တွင် alb, aeb, agb, aleb, aneb, ageb; endmodule
၂.၃။ VHDL အစိတ်အပိုင်းကြေငြာချက်
VHDL အစိတ်အပိုင်း ကြေငြာချက်သည် VHDL ဒီဇိုင်းတွင် တည်ရှိသည်။ File (.vhd) LPM_PACK.vhd ထဲမှာ librariesvhdllpm လမ်းညွှန်။
အစိတ်အပိုင်း LPM_COMPARE ယေဘုယျ (LPM_WIDTH : သဘာဝ၊
LPM_REPRESENTATION : string := “လက်မှတ်မထိုးရသေး”; LPM_PIPELINE : သဘာဝ := 0; LPM_TYPE- string := L_COMPARE; LPM_HINT : string := “UNUSED”); ဆိပ်ကမ်း (DATAA : in std_logic_vector(LPM_WIDTH-1 အောက်သို့ 0); DATAB : in std_logic_vector(LPM_WIDTH-1 အောက်သို့ 0); ACLR : in std_logic := '0'; CLOCK : in std_logic := '0'; := '1'; AGB : out std_logic; AGEB : out std_logic; AEB : out std_logic; ANEB : out std_logic; ALB : out std_logic; ALEB : out std_logic); အဆုံးအစိတ်အပိုင်း;
၂.၄။ VHDL LIBRARY_USE ကြေငြာချက်
VHDL အစိတ်အပိုင်းကြေငြာချက်ကို သင်အသုံးပြုပါက VHDL စာကြည့်တိုက်-အသုံးပြုမှု ကြေငြာချက် မလိုအပ်ပါ။
စာကြည့်တိုက် lpm; lpm.lpm_components.all ကိုသုံးပါ။
6.5. ဆိပ်ကမ်းများ
အောက်ပါဇယားများသည် LMP_COMPARE IP core အတွက် အဝင်နှင့် အထွက်ပေါက်များကို စာရင်းပြုစုထားသည်။
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
6. LPM_COMPARE (နှိုင်းယှဉ်သူ) 683490 | 2020.10.05
ဇယား 18. LPM_COMPARE IP core Input Ports
ဆိပ်ကမ်းအမည်
လိုအပ်သည်။
ဖော်ပြချက်
ဒေတာ[]
ဟုတ်ကဲ့
ဒေတာထည့်သွင်းခြင်း။ အဝင်ပေါက်၏ အရွယ်အစားသည် LPM_WIDTH ပါရာမီတာတန်ဖိုးပေါ်တွင် မူတည်သည်။
ဒေတာဘေ[]
ဟုတ်ကဲ့
ဒေတာထည့်သွင်းခြင်း။ အဝင်ပေါက်၏ အရွယ်အစားသည် LPM_WIDTH ပါရာမီတာတန်ဖိုးပေါ်တွင် မူတည်သည်။
နာရီ
မရှိ
ပိုက်လိုင်းအသုံးပြုမှုအတွက် နာရီထည့်သွင်းခြင်း။ နာရီပေါက်သည် ပိုက်လိုင်းတစ်ခုအတွက် နာရီထည့်သွင်းမှုကို ပံ့ပိုးပေးသည်။
စစ်ဆင်ရေး။ LPM_PIPELINE တန်ဖိုးများသည် 0 (မူလ) မှလွဲ၍ နာရီအပေါက်ဖြစ်ရပါမည်။
ဖွင့်ထားသည်။
clken
မရှိ
ပိုက်လိုင်းအသုံးပြုမှုအတွက် နာရီကို ဖွင့်ပါ။ clken port သည် မြင့်မားလာသောအခါ၊
နှိုင်းယှဥ်ဆောင်ရွက်မှု ဖြစ်ပေါ်လာသည်။ အချက်ပြမှုနည်းသောအခါတွင် မည်သည့်လုပ်ဆောင်ချက်မျှ ဖြစ်ပေါ်ခြင်းမရှိပါ။ အကယ်လို့
ချန်လှပ်ထားသည်၊ မူရင်းတန်ဖိုးမှာ 1 ဖြစ်သည်။
aclr
မရှိ
ပိုက်လိုင်းအသုံးပြုမှုအတွက် အကွဲကွဲအပြားပြား ရှင်းလင်းသည်။ ပိုက်လိုင်းသည် သတ်မှတ်မထားသော (X) ယုတ္တိဗေဒအဖြစ် စတင်သည်။
အဆင့် ပိုက်လိုင်းကို 0s အားလုံးသို့ ပြန်လည်သတ်မှတ်ရန် aclr port ကို အချိန်မရွေးအသုံးပြုနိုင်သည်၊
နာရီအချက်ပြမှုဆီသို့ အချိန်ကိုက်
ဇယား 19. LPM_COMPARE IP core Output Ports
ဆိပ်ကမ်းအမည်
လိုအပ်သည်။
ဖော်ပြချက်
alb
မရှိ
နှိုင်းယှဉ်ကိရိယာအတွက် အထွက်ပေါက်။ input A သည် input B ထက်နည်းပါက အခိုင်အမာ။
aeb
မရှိ
နှိုင်းယှဉ်ကိရိယာအတွက် အထွက်ပေါက်။ input A သည် input B နှင့်ညီမျှပါကအခိုင်အမာဆိုသည်။
agb
မရှိ
နှိုင်းယှဉ်ကိရိယာအတွက် အထွက်ပေါက်။ input A သည် input B ထက် ကြီးပါက အခိုင်အမာ။
အသက်အရွယ်
မရှိ
နှိုင်းယှဉ်ကိရိယာအတွက် အထွက်ပေါက်။ input A သည် input ထက် ကြီးသည် သို့မဟုတ် ညီမျှပါက အခိုင်အမာ
B.
aneb
မရှိ
နှိုင်းယှဉ်ကိရိယာအတွက် အထွက်ပေါက်။ input A သည် input B နှင့် မညီမျှပါက အခိုင်အမာ။
အယ်လက်
မရှိ
နှိုင်းယှဉ်ကိရိယာအတွက် အထွက်ပေါက်။ input A သည် input B ထက်နည်းသည် သို့မဟုတ် ညီမျှပါက အခိုင်အမာဆိုသည်။
၂
အောက်ပါဇယားသည် LPM_COMPARE IP core အတွက် ကန့်သတ်ချက်များကို စာရင်းပြုစုထားသည်။
ဇယား 20. LPM_COMPARE IP core ပါရာမီတာများ
ကန့်သတ်အမည်
ရိုက်ပါ။
လိုအပ်သည်။
LPM_WIDTH
ကိန်းပြည့် ဟုတ်ကဲ့
LPM_REPRESENTATION
ကြိုးတစ်ချောင်း
မရှိ
LPM_PIPELINE
ကိန်းပြည့် အမှတ်
LPM_HINT
ကြိုးတစ်ချောင်း
မရှိ
ဖော်ပြချက်
dataa[] နှင့် datab[] port များ၏ အကျယ်ကို သတ်မှတ်သည်။
လုပ်ဆောင်ခဲ့သည့် နှိုင်းယှဉ်မှုအမျိုးအစားကို သတ်မှတ်ပါ။ တန်ဖိုးများကို လက်မှတ်ထိုးပြီး လက်မှတ်မထိုးပါ။ ချန်လှပ်ထားလျှင် မူရင်းတန်ဖိုးသည် လက်မှတ်မထိုးရသေးပါ။ ဤပါရာမီတာတန်ဖိုးကို SIGNED ဟုသတ်မှတ်သောအခါ၊ နှိုင်းယှဉ်သူသည် လက်မှတ်နှစ်ခု၏ဖြည့်စွက်ချက်အဖြစ် ဒေတာထည့်သွင်းမှုကို ဘာသာပြန်ပေးသည်။
alb၊ aeb၊ agb၊ ageb၊ aleb သို့မဟုတ် aneb အထွက်နှင့် ဆက်စပ်နေသော နာရီစက်ဝန်း အရေအတွက်ကို သတ်မှတ်သည်။ သုည (0) ၏တန်ဖိုးသည် latency မရှိသည်ကို ညွှန်ပြပြီး ပေါင်းစပ်လုပ်ဆောင်ချက်သည် ချက်ခြင်းဖြစ်လိမ့်မည်။ ချန်လှပ်ထားလျှင်၊ မူရင်းတန်ဖိုးသည် 0 (ပိုက်လိုင်းမတင်ထား)။
VHDL ဒီဇိုင်းတွင် Intel ၏ သီးခြား ကန့်သတ်ဘောင်များကို သတ်မှတ်ခွင့်ပြုသည်။ files (.vhd)။ မူရင်းတန်ဖိုးသည် အသုံးမပြုရသေးပါ။
ဆက်ရန်…
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
6. LPM_COMPARE (နှိုင်းယှဉ်သူ) 683490 | 2020.10.05
ကန့်သတ်ချက်အမည် LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT
ကြိုးတစ်ချောင်းရိုက်ပါ။
ကြိုးတစ်ချောင်း
No No No
မရှိ
ဖော်ပြချက်
VHDL ဒီဇိုင်းတွင် parameterized modules (LPM) entity name ၏ library ကို ခွဲခြားသတ်မှတ်သည်။ files.
ဤကန့်သတ်ချက်ကို မော်ဒယ်နှင့် အပြုအမူဆိုင်ရာ သရုပ်ဖော်ခြင်းရည်ရွယ်ချက်များအတွက် အသုံးပြုပါသည်။ ကန့်သတ်ချက်တည်းဖြတ်သူသည် ဤကန့်သတ်ချက်အတွက်တန်ဖိုးကို တွက်ချက်သည်။
Intel သီးသန့် ကန့်သတ်ဘောင်။ VHDL ဒီဇိုင်းတွင် ONE_INPUT_IS_CONSTANT ကန့်သတ်ဘောင်ကို သတ်မှတ်ရန် သင်သည် LPM_HINT ဘောင်ကို အသုံးပြုရပါမည်။ file၎။ တန်ဖိုးများသည် YES၊ NO သို့မဟုတ် အသုံးမပြုပါ။ ထည့်သွင်းမှုတစ်ခု အဆက်မပြတ်ဖြစ်နေပါက ပိုကောင်းအောင်ပြုလုပ်ပေးသည်။ ချန်လှပ်ထားလျှင် မူရင်းတန်ဖိုးသည် NO ဖြစ်သည်။
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
683490 | 2020.10.05 တုံ့ပြန်ချက်ပေးပို့ပါ။
7. ALTECC (အမှားပြင်ဆင်ကုဒ်- ကုဒ်ဒါ/ကုဒ်ဒါ) IP Core
ပုံ ၇။
Intel သည် ECC လုပ်ဆောင်ချက်ကို အကောင်အထည်ဖော်ရန် ALTECC IP core ကို ထောက်ပံ့ပေးသည်။ ECC သည် ဒေတာပေးပို့စဉ်အတွင်း လက်ခံသူဘက်တွင် ဖြစ်ပေါ်နေသော ပျက်စီးနေသော ဒေတာကို ရှာဖွေတွေ့ရှိပါသည်။ ဤအမှားပြင်ဆင်ခြင်းနည်းလမ်းသည် ဆက်တိုက်ပေါက်ကွဲခြင်းထက် အမှားအယွင်းများ ကြုံရာကျပန်းဖြစ်သွားသည့် အခြေအနေများအတွက် အကောင်းဆုံးဖြစ်သည်။
ECC သည် ဒေတာကုဒ်သွင်းခြင်းနှင့် ကုဒ်ဝှက်ခြင်းလုပ်ငန်းစဉ်တစ်လျှောက် အမှားအယွင်းများကို ရှာဖွေတွေ့ရှိသည်။ ဟောင်းအတွက်ampသို့ဖြစ်ပါ၍ ECC ကို ထုတ်လွှင့်ခြင်းအပလီကေးရှင်းတစ်ခုတွင် အသုံးပြုသောအခါ၊ အရင်းအမြစ်မှဖတ်သောဒေတာကို လက်ခံသူထံမပို့မီ ကုဒ်နံပါတ်တပ်ထားသည်။ ကုဒ်ပြောင်းကိရိယာမှ အထွက် (ကုဒ်စကားလုံး) တွင် parity bits အရေအတွက်နှင့်အတူ ပူးတွဲပါရှိသော ကုန်ကြမ်းဒေတာ ပါဝင်သည်။ ပါရီစီဘစ်များ၏ အတိအကျ အရေအတွက်သည် ထည့်သွင်းဒေတာရှိ ဘစ်အရေအတွက်ပေါ်မူတည်သည်။ ထို့နောက် ထုတ်ပေးထားသော ကုဒ်စကားလုံးကို ဦးတည်ရာသို့ ပို့သည်။
လက်ခံသူသည် ကုဒ်စကားလုံးကို လက်ခံရရှိပြီး ၎င်းကို ကုဒ်လုပ်သည်။ ဒီကုဒ်ကိရိယာမှရရှိသောအချက်အလက်များသည် အမှားအယွင်းတစ်ခုကို တွေ့ရှိခြင်းရှိမရှိ ဆုံးဖြတ်ပေးသည်။ ဒီကုဒ်ဒါသည် single-bit နှင့် double-bit အမှားများကို ရှာဖွေတွေ့ရှိသော်လည်း ပျက်စီးနေသော data များတွင် single-bit အမှားများကိုသာ ဖြေရှင်းနိုင်သည်။ ဤ ECC အမျိုးအစားသည် တစ်ခုတည်းသော အမှားပြင်ဆင်ခြင်း နှစ်ထပ်အမှားရှာဖွေခြင်း (SECDED) ဖြစ်သည်။
ALTECC IP core ၏ ကုဒ်ဒါနှင့် ဒီကုဒ်ဒါလုပ်ဆောင်ချက်များကို သင် configure လုပ်နိုင်ပါသည်။ ကုဒ်ပြောင်းကိရိယာသို့ ဒေတာထည့်သွင်းမှုအား ဒေတာထည့်သွင်းမှုနှင့် ညီမျှခြင်းဘစ်များ ပေါင်းစပ်ထားသည့် ကုဒ်စကားလုံးတစ်လုံးကို ထုတ်လုပ်ရန်အတွက် ကုဒ်နံပါတ်ကို ပြုလုပ်ထားသည်။ ထုတ်လုပ်လိုက်သော ကုဒ်စကားလုံးသည် ၎င်း၏ဦးတည်ရာ ပိတ်ဆို့ခြင်းသို့ မရောက်ရှိမီလေးတွင် ကုဒ်ဝှက်ခြင်းအတွက် ဒီကုဒ်ဒါ မော်ဂျူးသို့ ပေးပို့သည်။ လက်ခံရရှိထားသော ကုဒ်စကားလုံးတွင် အမှားအယွင်းတစ်စုံတစ်ရာရှိမရှိ ဆုံးဖြတ်ရန် ဒီကုဒ်ကိရိယာသည် လက္ခဏာရပ် ကွက်လပ်တစ်ခုကို ထုတ်ပေးသည်။ single-bit error သည် data bits မှသာလျှင် ဒေတာကို ဒီကုဒ်ဒါမှ ပြင်ပေးပါသည်။ single-bit error သည် parity bits မှနေ၍ signal မပြပါ။ ဒီကုဒ်ဒါသည် လက်ခံရရှိသည့် ဒေတာအခြေအနေနှင့် ဒီကုဒ်ဒါမှ လုပ်ဆောင်ချက်များကို ပြသရန် အလံအချက်ပြမှုများလည်း ပါရှိသည်။
အောက်ဖော်ပြပါပုံများသည် ALTECC IP core အတွက် port များကိုပြသထားသည်။
ALTECC Encoder Ports
ALTECC_ENCODER
ဒေတာ[]
q[]
နာရီ
နာရီ
aclr
inst
Intel ကော်ပိုရေးရှင်း။ မူပိုင်ခွင့်များရယူပြီး။ Intel၊ Intel လိုဂိုနှင့် အခြားသော Intel အမှတ်အသားများသည် Intel ကော်ပိုရေးရှင်း သို့မဟုတ် ၎င်း၏လုပ်ငန်းခွဲများ၏ အမှတ်တံဆိပ်များဖြစ်သည်။ Intel သည် Intel ၏ စံအာမခံချက်နှင့်အညီ ၎င်း၏ FPGA နှင့် တစ်ပိုင်းလျှပ်ကူးပစ္စည်းထုတ်ကုန်များ၏ စွမ်းဆောင်ရည်ကို လက်ရှိ သတ်မှတ်ချက်များအတိုင်း အာမခံထားသော်လည်း မည်သည့်ထုတ်ကုန်နှင့် ဝန်ဆောင်မှုများကိုမဆို အသိပေးခြင်းမရှိဘဲ အချိန်မရွေး အပြောင်းအလဲပြုလုပ်ပိုင်ခွင့်ကို လက်ဝယ်ရှိပါသည်။ Intel မှ စာဖြင့် အတိအလင်း သဘောတူထားသည့်အတိုင်း ဤနေရာတွင် ဖော်ပြထားသော အချက်အလက်၊ ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုကို အသုံးပြုခြင်း သို့မဟုတ် အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော တာဝန် သို့မဟုတ် တာဝန်ခံမှု မရှိဟု ယူဆပါသည်။ Intel သုံးစွဲသူများသည် ထုတ်ဝေထားသော အချက်အလက်များနှင့် ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုများအတွက် အမှာစာမတင်မီ နောက်ဆုံးဗားရှင်းကို ရယူရန် အကြံပြုအပ်ပါသည်။ *အခြားအမည်များနှင့် အမှတ်တံဆိပ်များကို အခြားသူများ၏ပိုင်ဆိုင်မှုအဖြစ် တောင်းဆိုနိုင်ပါသည်။
ISO 9001:2015 မှတ်ပုံတင်ထားသည်။
7. ALTECC (အမှားပြင်ဆင်ခြင်းကုဒ်- ကုဒ်ဒါ/ကုဒ်ဒါ) IP Core 683490 | 2020.10.05
ပုံ 7. ALTECC ကုဒ်ဒါ ဆိပ်ကမ်းများ
ALTECC_DECODER
data[] နာရီ နာရီ
q[] err_detected err_corrected
err_fatal
aclr
inst
၇.၁။ ALTECC Encoder အင်္ဂါရပ်များ
ALTECC ကုဒ်ပြောင်းသည့် IP core သည် အောက်ပါအင်္ဂါရပ်များကို ပေးဆောင်သည်- · Hamming Coding အစီအစဉ်ကို အသုံးပြု၍ ဒေတာကုဒ်လုပ်ခြင်းကို လုပ်ဆောင်သည် · ဒေတာအကျယ် 2 bits ကို ပံ့ပိုးပေးသည် · လက်မှတ်မထိုးထားသော ဒေတာကိုယ်စားပြုဖော်မတ်ကို ပံ့ပိုးပေးသည် · နာရီစက်ဝန်းတစ်ခု သို့မဟုတ် နှစ်ပတ်လုံး၏ output latency ကို ပံ့ပိုးပေးသည် · စိတ်ကြိုက်ရွေးချယ်နိုင်သည် asynchronous clear and clock enable ports များ
ALTECC ကုဒ်ပြောင်းသည့် IP core သည် Hamming Coding အစီအစဉ်ကို အသုံးပြု၍ ဒေတာကို ကုဒ်လုပ်သည်။ Hamming Coding scheme သည် parity bits များကို ဆင်းသက်လာပြီး output code စကားလုံးကို ထုတ်လုပ်ရန်အတွက် မူရင်းဒေတာတွင် ၎င်းတို့ကို ပေါင်းထည့်ပါသည်။ ထပ်ပေါင်းထည့်ထားသော parity bits အရေအတွက်သည် data ၏ width ပေါ်မူတည်ပါသည်။
အောက်ဖော်ပြပါဇယားသည် ဒေတာအကျယ်အဝန်းအမျိုးမျိုးအတွက် ပါစီဘစ်အရေအတွက်ကို စာရင်းပြုစုထားသည်။ Total Bits ကော်လံသည် input data bits စုစုပေါင်း အရေအတွက် နှင့် နောက်ဆက်တွဲ parity bit များကို ကိုယ်စားပြုသည်။
ဇယား ၁။
Data Width အရ Parity Bits နှင့် Code Word အရေအတွက်
ဒေတာအကျယ်
Parity Bits အရေအတွက်
စုစုပေါင်း Bits (ကုဒ်စကားလုံး)
၀-၉
၅+၆
၀-၉
၀-၉
၅+၆
၀-၉
၀-၉
၅+၆
၀-၉
၀-၉
၅+၆
၀-၉
၀-၉
၅+၆
၀-၉
parity bit ဆင်းသက်ခြင်းမှာ တူညီသော parity စစ်ဆေးခြင်းကို အသုံးပြုသည်။ အပို 1 ဘစ် (+1 အဖြစ် ဇယားတွင် ပြထားသည်) ကို ကုဒ်စကားလုံး၏ MSB အဖြစ် parity bits တွင် ထပ်ပေါင်းထားသည်။ ၎င်းသည် ကုဒ်စကားလုံးတွင် ကိန်းဂဏန်း 1 ရှိသည်ကို သေချာစေသည်။ ဟောင်းအတွက်ample၊ အကယ်၍ data width သည် 4 bits ဖြစ်ပါက၊ 4 bits စုစုပေါင်း 8 bits ရှိသော code word ဖြစ်လာစေရန် data တွင် parity bits 7 ခုကို ထပ်ပေါင်းထားသည်။ 8-bit ကုဒ်စကားလုံး၏ LSB မှ 1 bits တွင် 8's ဂဏန်းများ ထူးဆန်းပါက၊ ကုဒ်စကားလုံး၏ 1th bit (MSB) သည် 1 သည် ကုဒ်စကားလုံးတွင် စုစုပေါင်း XNUMX's ကို ညီစေသည်။
အောက်ပါပုံသည် 8-bit data input တစ်ခုတွင် parity bits နှင့် data bits များ၏ အစီအစဉ်ကို ပြသထားသည်။
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
7. ALTECC (အမှားပြင်ဆင်ခြင်းကုဒ်- ကုဒ်ဒါ/ကုဒ်ဒါ) IP Core 683490 | 2020.10.05
ပုံ ၇။
8-Bit ထုတ်လုပ်ထားသော ကုဒ်စကားလုံးတွင် Parity Bits နှင့် Data Bits စီစဉ်မှု
MSB
LSB
ညီမျှခြင်း ၄ ခု
ဒေတာ ၈ ကွက်
8
1
ALTECC ကုဒ်ပြောင်းသည့် IP core သည် တစ်ကြိမ်လျှင် input width 2 မှ 64 bits ကိုသာ လက်ခံသည်။ Intel စက်ပစ္စည်းများနှင့် သင့်လျော်စွာ သင့်လျော်သော 12 bits၊ 29 bits နှင့် 64 bits ၏ input widths သည် 18 bits၊ 36 bits နှင့် 72 bits အသီးသီး၏ outputs ကိုထုတ်ပေးပါသည်။ ပါရာမီတာတည်းဖြတ်မှုတွင် bitselection ကန့်သတ်ချက်ကို သင်ထိန်းချုပ်နိုင်သည်။
၇.၂။ Verilog HDL နမူနာပုံစံ (ALTECC_ENCODER)
အောက်ပါ Verilog HDL ရှေ့ပြေးပုံစံသည် Verilog ဒီဇိုင်းတွင် တည်ရှိသည်။ File (.v) lpm.v ၌ edasynthesis လမ်းညွှန်။
module altecc_encoder #( ပါရာမီတာ ရည်ရွယ်ချက်_device_family = "အသုံးမပြုသော"၊ ကန့်သတ်ချက် lpm_pipeline = 0၊ ပါရာမီတာ width_codeword = 8၊ ကန့်သတ်ဘောင် width_dataword = 8၊ ကန့်သတ်ချက် lpm_type = "altecc_encoder"၊ ကန့်သတ်ချက် lpm_hint = "မသုံးသော ဝါယာကြိုးနာရီ)၊ ထည့်သွင်းရန်၊ ဝါယာကြိုးနာရီ၊ အဝင်ဝါယာကြိုး [width_dataword-1:0] ဒေတာ၊ အထွက်ဝါယာကြိုး [width_codeword-1:0] q); endmodule
၇.၃။ Verilog HDL နမူနာပုံစံ (ALTECC_DECODER)
အောက်ပါ Verilog HDL ရှေ့ပြေးပုံစံသည် Verilog ဒီဇိုင်းတွင် တည်ရှိသည်။ File (.v) lpm.v ၌ edasynthesis လမ်းညွှန်။
မော်ဂျူး altecc_decoder #( ပါရာမီတာ ရည်ရွယ်ချက်_device_family = "အသုံးမပြုသော"၊ ကန့်သတ်ချက် lpm_pipeline = 0၊ ပါရာမီတာ width_codeword = 8၊ ပါရာမီတာ width_dataword = 8၊ ကန့်သတ်ချက် lpm_type = "altecc_decoder"၊ ကန့်သတ်ချက် lpm_hint = "အသုံးမပြုသော ဝါယာကြိုးနာရီ)၊ ထည့်သွင်းရန်၊ ဝါယာကြိုးနာရီ၊ အဝင်ဝါယာကြိုး [width_codeword-1:0] ဒေတာ၊ အထွက်ဝါယာကြိုး မှားယွင်း_ပြင်ဆင်ထားသော၊ အထွက်ဝါယာကြိုး err_detected၊ အထွက်ဝါယာကြိုး err_fatal၊ အထွက်ဝါယာကြိုး [width_dataword-1:0] q); endmodule
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
7. ALTECC (အမှားပြင်ဆင်ခြင်းကုဒ်- ကုဒ်ဒါ/ကုဒ်ဒါ) IP Core 683490 | 2020.10.05
၇.၄။ VHDL အစိတ်အပိုင်း ကြေငြာချက် (ALTECC_ENCODER)
VHDL အစိတ်အပိုင်း ကြေငြာချက်သည် VHDL ဒီဇိုင်းတွင် တည်ရှိသည်။ File (.vhd) altera_mf_components.vhd ထဲတွင် librariesvhdlaltera_mf လမ်းညွှန်။
အစိတ်အပိုင်း altecc_encoder ယေဘူယျ (ရည်ရွယ်ချက်_device_family:string := “unused”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint: “string := “UN_USED=string”; lpm_hint: “string:= “UN_USED=string”; ”); port( aclr:in std_logic := '0'; နာရီ: in std_logic := '0'; clocken:in std_logic := '1'; data:in std_logic_vector(width_dataword-1 အောက်သို့ 0); q:out std_logic_vector(width_code -1 downto 0)); အဆုံးအစိတ်အပိုင်း;
၇.၅။ VHDL အစိတ်အပိုင်း ကြေငြာချက် (ALTECC_DECODER)
VHDL အစိတ်အပိုင်း ကြေငြာချက်သည် VHDL ဒီဇိုင်းတွင် တည်ရှိသည်။ File (.vhd) altera_mf_components.vhd ထဲတွင် librariesvhdlaltera_mf လမ်းညွှန်။
အစိတ်အပိုင်း altecc_decoder ယေဘူယျ (ရည်ရွယ်ချက်_device_family:string := “unused”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint: “string := “UN_USED=string”; lpmde ”); port( aclr:in std_logic := '0'; နာရီ: in std_logic := '0'; clocken:in std_logic := '1'; data:in std_logic_vector(width_codeword-1 အောက်သို့ 0); err_corrected : out std_logic; : out std_logic; q:out std_logic_vector(width_dataword-1 အောက်သို့ 0); syn_e : out std_logic); အဆုံးအစိတ်အပိုင်း;
၂.၄။ VHDL LIBRARY_USE ကြေငြာချက်
VHDL အစိတ်အပိုင်းကြေငြာချက်ကို သင်အသုံးပြုပါက VHDL စာကြည့်တိုက်-အသုံးပြုမှု ကြေငြာချက် မလိုအပ်ပါ။
စာကြည့်တိုက် altera_mf; altera_mf.altera_mf_components.all ကိုအသုံးပြုပါ။
၇.၇။ Encoder Ports များ
အောက်ပါဇယားများသည် ALTECC ကုဒ်နံပါတ် IP core အတွက် အဝင်နှင့် အထွက်ပေါက်များကို စာရင်းပြုစုထားသည်။
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
7. ALTECC (အမှားပြင်ဆင်ခြင်းကုဒ်- ကုဒ်ဒါ/ကုဒ်ဒါ) IP Core 683490 | 2020.10.05
Table 22. ALTECC Encoder Input Ports
ဆိပ်ကမ်းအမည်
လိုအပ်သည်။
ဖော်ပြချက်
ဒေတာ[]
ဟုတ်ကဲ့
ဒေတာထည့်သွင်းမှုဆိပ်ကမ်း။ အဝင်ပေါက်၏ အရွယ်အစားသည် WIDTH_DATAWORD ပေါ်တွင် မူတည်သည်။
ကန့်သတ်တန်ဖိုး။ ဒေတာ[] အပေါက်တွင် ကုဒ်သွင်းရမည့် ဒေတာအကြမ်းပါရှိသည်။
နာရီ
ဟုတ်ကဲ့
ကုဒ်ပြောင်းခြင်းလုပ်ဆောင်ချက်ကို တစ်ပြိုင်တည်းလုပ်ဆောင်ရန် နာရီအချက်ပြမှုကို ပံ့ပိုးပေးသည့် နာရီထည့်သွင်းမှုအပေါက်။
LPM_PIPELINE တန်ဖိုးသည် 0 ထက်ကြီးသောအခါတွင် နာရီအပေါက် လိုအပ်သည်။
နာရီ
မရှိ
နာရီဖွင့်ပါ။ ချန်လှပ်ထားလျှင် မူရင်းတန်ဖိုးသည် 1 ဖြစ်သည်။
aclr
မရှိ
အပြိုင်အဆိုင် ပြတ်သားသော ထည့်သွင်းမှု။ တက်ကြွသော မြင့်မားသော aclr အချက်ပြမှုကို အချိန်မရွေး အသုံးပြုနိုင်ပါသည်။
စာရင်းများကို ချိန်ကိုက်ကာ ရှင်းပစ်ပါ။
Table 23. ALTECC Encoder Output Ports
ပို့တ်အမည် q[]
လိုအပ်သည် ဟုတ်ကဲ့
ဖော်ပြချက်
ကုဒ်လုပ်ထားသော ဒေတာ အထွက်ပေါက်။ အထွက်ပေါက်၏ အရွယ်အစားသည် WIDTH_CODEWORD ပါရာမီတာတန်ဖိုးပေါ်တွင် မူတည်သည်။
၇.၈။ Decoder Ports များ
အောက်ပါဇယားများသည် ALTECC ဒီကုဒ်ဒါ IP core အတွက် အဝင်နှင့် အထွက်ပေါက်များကို စာရင်းပြုစုထားသည်။
ဇယား 24. ALTECC ဒီကုဒ်ဒါ ထည့်သွင်းသည့် ဆိပ်ကမ်းများ
ဆိပ်ကမ်းအမည်
လိုအပ်သည်။
ဖော်ပြချက်
ဒေတာ[]
ဟုတ်ကဲ့
ဒေတာထည့်သွင်းမှုဆိပ်ကမ်း။ အဝင်ပေါက်၏ အရွယ်အစားသည် WIDTH_CODEWORD ပါရာမီတာတန်ဖိုးပေါ်တွင် မူတည်သည်။
နာရီ
ဟုတ်ကဲ့
ကုဒ်ပြောင်းခြင်းလုပ်ဆောင်ချက်ကို တစ်ပြိုင်တည်းလုပ်ဆောင်ရန် နာရီအချက်ပြမှုကို ပံ့ပိုးပေးသည့် နာရီထည့်သွင်းမှုအပေါက်။ LPM_PIPELINE တန်ဖိုးသည် 0 ထက်ကြီးသောအခါတွင် နာရီအပေါက် လိုအပ်သည်။
နာရီ
မရှိ
နာရီဖွင့်ပါ။ ချန်လှပ်ထားလျှင် မူရင်းတန်ဖိုးသည် 1 ဖြစ်သည်။
aclr
မရှိ
အပြိုင်အဆိုင် ပြတ်သားသော ထည့်သွင်းမှု။ စာရင်းသွင်းမှုများကို အချိန်မရွေး ပြတ်ပြတ်သားသားရှင်းလင်းရန် တက်ကြွသောမြင့်မားသော aclr အချက်ပြမှုကို အသုံးပြုနိုင်သည်။
ဇယား 25. ALTECC ဒီကုဒ်ဒါ အထွက်ပေါက်များ
ပို့တ်အမည် q[]
လိုအပ်သည် ဟုတ်ကဲ့
ဖော်ပြချက်
ကုဒ်ဖြင့် ဒေတာ အထွက်ပေါက်။ အထွက်ပေါက်၏ အရွယ်အစားသည် WIDTH_DATAWORD ဘောင်တန်ဖိုးပေါ်တွင် မူတည်သည်။
err_detected ဟုတ်ကဲ့
လက်ခံရရှိသည့် ဒေတာအခြေအနေကို ရောင်ပြန်ဟပ်ရန် အလံအချက်ပြပြီး မည်သည့်အမှားအယွင်းများကိုမဆို သတ်မှတ်ပေးသည်။
err_correcte ဟုတ်ကဲ့ ဃ
လက်ခံရရှိသော ဒေတာအခြေအနေကို ရောင်ပြန်ဟပ်ရန် အလံအချက်ပြမှု။ တွေ့ရှိပြီး ပြုပြင်ထားသော အမှားအယွင်း တစ်ခုတည်းကို ရည်ညွှန်းသည်။ ဒေတာကို ပြုပြင်ပြီးဖြစ်သောကြောင့် သင်အသုံးပြုနိုင်ပါသည်။
err_fatal
ဟုတ်ကဲ့
လက်ခံရရှိသော ဒေတာအခြေအနေကို ရောင်ပြန်ဟပ်ရန် အလံအချက်ပြမှု။ နှစ်ထပ်ဘစ် အမှားကို တွေ့ရှိသော်လည်း ပြုပြင်မထားပါ။ ဤအချက်ပြသည်ဟု အခိုင်အမာဆိုပါက သင်သည် ဒေတာကို အသုံးမပြုရပါ။
syn_e
မရှိ
parity တွင် single-bit error ကို တွေ့ရှိသည့်အခါတိုင်း မြင့်မားသွားမည့် အထွက် signal တစ်ခု
bits
၇.၉။ Encoder ကန့်သတ်ချက်များ
အောက်ပါဇယားသည် ALTECC ကုဒ်ပြောင်းသည့် IP core အတွက် ကန့်သတ်ချက်များကို စာရင်းပြုစုထားသည်။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
7. ALTECC (အမှားပြင်ဆင်ခြင်းကုဒ်- ကုဒ်ဒါ/ကုဒ်ဒါ) IP Core 683490 | 2020.10.05
ဇယား 26. ALTECC Encoder ကန့်သတ်ချက်များ
ကန့်သတ်အမည်
ရိုက်ပါ။
လိုအပ်သည်။
ဖော်ပြချက်
WIDTH_DATAWORD
ကိန်းပြည့် ဟုတ်ကဲ့
ကုန်ကြမ်းဒေတာ၏ အကျယ်ကို သတ်မှတ်သည်။ တန်ဖိုးများသည် 2 မှ 64 အထိဖြစ်သည်။ ချန်လှပ်ထားလျှင် မူရင်းတန်ဖိုးမှာ 8 ဖြစ်သည်။
WIDTH_CODEWORD
ကိန်းပြည့် ဟုတ်ကဲ့
သက်ဆိုင်ရာ ကုဒ်စကားလုံး၏ အကျယ်ကို သတ်မှတ်သည်။ အကျုံးဝင်သောတန်ဖိုးများသည် 6 မှ 72 မှ 9၊ 17၊ 33 နှင့် 65 တို့မှ မပါ၀င်ပါ။ ချန်လှပ်ထားပါက၊ မူရင်းတန်ဖိုးမှာ 13 ဖြစ်သည်။
LPM_PIPELINE
ကိန်းပြည့် အမှတ်
ဆားကစ်အတွက် ပိုက်လိုင်းကို သတ်မှတ်သည်။ တန်ဖိုးများသည် 0 မှ 2 အထိဖြစ်သည်။ တန်ဖိုးသည် 0 ဖြစ်ပါက၊ ဆိပ်ကမ်းများကို စာရင်းမသွင်းပါ။ တန်ဖိုးသည် 1 ဖြစ်ပါက၊ အထွက်ပေါက်များကို မှတ်ပုံတင်ထားသည်။ တန်ဖိုးသည် 2 ဖြစ်ပါက၊ အဝင်နှင့် အထွက်ပေါက်များကို မှတ်ပုံတင်ထားသည်။ ချန်လှပ်ထားလျှင် မူရင်းတန်ဖိုးသည် 0 ဖြစ်သည်။
၇.၁၀။ Decoder Parameters
အောက်ဖော်ပြပါဇယားတွင် ALTECC ကုဒ်ဒါသည် IP core ဘောင်များကို စာရင်းပြုစုထားသည်။
ဇယား 27. ALTECC ဒီကုဒ်ဒါ ကန့်သတ်ချက်များ
ကန့်သတ်ချက်အမည် WIDTH_DATAWORD
Integer ကိုရိုက်ထည့်ပါ။
လိုအပ်သည်။
ဖော်ပြချက်
ဟုတ်ကဲ့
ကုန်ကြမ်းဒေတာ၏ အကျယ်ကို သတ်မှတ်သည်။ တန်ဖိုးများသည် 2 မှ 64 အထိဖြစ်သည်။
မူရင်းတန်ဖိုးမှာ 8 ဖြစ်သည်။
WIDTH_CODEWORD
ကိန်းပြည့်
ဟုတ်ကဲ့
သက်ဆိုင်ရာ ကုဒ်စကားလုံး၏ အကျယ်ကို သတ်မှတ်သည်။ တန်ဖိုးများမှာ ၆
72၊ 9၊ 17၊ နှင့် 33 မှ 65 သို့ ချန်လှပ်ထားလျှင် မူရင်းတန်ဖိုး
13 ဖြစ်ပါတယ်။
LPM_PIPELINE
ကိန်းပြည့်
မရှိ
ဆားကစ်၏ မှတ်ပုံတင်ခြင်းကို သတ်မှတ်သည်။ တန်ဖိုးများသည် 0 မှ 2 မှဖြစ်သည်။ အကယ်၍ the
တန်ဖိုးသည် 0 ဖြစ်ပြီး၊ မှတ်ပုံတင်ခြင်းကို အကောင်အထည်မဖော်ပါ။ တန်ဖိုးက 1 ဆိုရင်၊
output ကိုမှတ်ပုံတင်ထားသည်။ တန်ဖိုးက 2 ဆိုရင် input နဲ့ the နှစ်ခုလုံးပါပဲ။
output ကို မှတ်ပုံတင်ထားသည်။ တန်ဖိုး 2 ထက်များပါက ထပ်လောင်းပါ။
အပိုဆောင်းများအတွက် ထုတ်ပေးသည့်နေရာတွင် မှတ်ပုံတင်ခြင်းကို လုပ်ဆောင်ပါသည်။
latencies ချန်လှပ်ထားလျှင် မူရင်းတန်ဖိုးသည် 0 ဖြစ်သည်။
'syn_e' ဆိပ်ကမ်းကို ဖန်တီးပါ။
ကိန်းပြည့်
မရှိ
syn_e ဆိပ်ကမ်းတစ်ခုဖန်တီးရန် ဤကန့်သတ်ချက်ကိုဖွင့်ပါ။
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
683490 | 2020.10.05 တုံ့ပြန်ချက်ပေးပို့ပါ။
8. Intel FPGA Multiply Adder IP Core
ပုံ ၇။
Intel FPGA Multiply Adder (Intel Stratix 10၊ Intel Arria 10၊ နှင့် Intel Cyclone 10 GX စက်များ) သို့မဟုတ် ALTERA_MULT_ADD (Arria V၊ Stratix V နှင့် Cyclone V စက်ပစ္စည်းများ) IP core သည် သင့်အား မြှောက်စားထည့်ဝင်မှုအား အကောင်အထည်ဖော်ရန် ခွင့်ပြုသည်။
အောက်ဖော်ပြပါပုံသည် Intel FPGA Multiply Adder သို့မဟုတ် ALTERA_MULT_ADD IP core အတွက် ဆိပ်ကမ်းများကို ပြသထားသည်။
Intel FPGA Multiply Adder သို့မဟုတ် ALTERA_MULT_ADD ဆိပ်ကမ်းများ
Intel FPGA Multiply Adder သို့မဟုတ် ALTERA_MULT_ADD
dataa[] signa datab[] signb datac[] coefsel0[] coefsel1[] coefsel2[] coefsel3[] addnsub1 addnsub3 aclr/sclr[] scanina[] clock0 နာရီ1 နာရီ2 ena0 ena1 ena2 sload_accum
accum_sload chainin[]
scanouta[] ရလဒ်[]
aclr0 aclr1
inst
ပေါင်းထည့်သည့်အရာသည် အတွဲအတွဲများကို လက်ခံသည်၊ တန်ဖိုးများကို ပေါင်းကာ အခြားအတွဲအားလုံး၏ ထုတ်ကုန်များမှ ထည့်ရန် သို့မဟုတ် နုတ်သည်။
input data width အားလုံးသည် 9-bits ကျယ်သည် သို့မဟုတ် ပိုသေးပါက၊ function သည် 9 x 9 configuration ကို ပံ့ပိုးပေးသည့် စက်ပစ္စည်းများအတွက် DSP block ရှိ 9 x 9 bit input multiplier configuration ကို အသုံးပြုသည်။ မဟုတ်ပါက၊ DSP block သည် 18 bits နှင့် 18 bits အကြား width ရှိသော data ကို process လုပ်ရန်အတွက် 10 × 18-bit input multipliers ကိုအသုံးပြုသည်။ ဒီဇိုင်းတစ်ခုတွင် Intel FPGA Multiply Adder သို့မဟုတ် ALTERA_MULT_ADD IP core အများအပြား ဖြစ်ပေါ်လာပါက၊ လုပ်ဆောင်ချက်များကို ဖြန့်ဝေသည်
Intel ကော်ပိုရေးရှင်း။ မူပိုင်ခွင့်များရယူပြီး။ Intel၊ Intel လိုဂိုနှင့် အခြားသော Intel အမှတ်အသားများသည် Intel ကော်ပိုရေးရှင်း သို့မဟုတ် ၎င်း၏လုပ်ငန်းခွဲများ၏ အမှတ်တံဆိပ်များဖြစ်သည်။ Intel သည် Intel ၏ စံအာမခံချက်နှင့်အညီ ၎င်း၏ FPGA နှင့် တစ်ပိုင်းလျှပ်ကူးပစ္စည်းထုတ်ကုန်များ၏ စွမ်းဆောင်ရည်ကို လက်ရှိ သတ်မှတ်ချက်များအတိုင်း အာမခံထားသော်လည်း မည်သည့်ထုတ်ကုန်နှင့် ဝန်ဆောင်မှုများကိုမဆို အသိပေးခြင်းမရှိဘဲ အချိန်မရွေး အပြောင်းအလဲပြုလုပ်ပိုင်ခွင့်ကို လက်ဝယ်ရှိပါသည်။ Intel မှ စာဖြင့် အတိအလင်း သဘောတူထားသည့်အတိုင်း ဤနေရာတွင် ဖော်ပြထားသော အချက်အလက်၊ ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုကို အသုံးပြုခြင်း သို့မဟုတ် အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော တာဝန် သို့မဟုတ် တာဝန်ခံမှု မရှိဟု ယူဆပါသည်။ Intel သုံးစွဲသူများသည် ထုတ်ဝေထားသော အချက်အလက်များနှင့် ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုများအတွက် အမှာစာမတင်မီ နောက်ဆုံးဗားရှင်းကို ရယူရန် အကြံပြုအပ်ပါသည်။ *အခြားအမည်များနှင့် အမှတ်တံဆိပ်များကို အခြားသူများ၏ပိုင်ဆိုင်မှုအဖြစ် တောင်းဆိုနိုင်ပါသည်။
ISO 9001:2015 မှတ်ပုံတင်ထားသည်။
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
ကွဲပြားသော DSP ဘလောက်များစွာကို တတ်နိုင်သမျှ ဤလုပ်ကွက်များသို့ လမ်းကြောင်းပြောင်းခြင်းသည် ပို၍ လိုက်လျောညီထွေရှိစေရန်။ DSP ဘလောက်တစ်ခုလျှင် အမြှောက်များ နည်းပါးခြင်းသည် စက်၏ ကျန်ရှိသော လမ်းကြောင်းများသို့ လမ်းကြောင်းများကို လျှော့ချခြင်းဖြင့် ဘလောက်ထဲသို့ လမ်းကြောင်းရွေးချယ်မှုများကို ပိုမိုခွင့်ပြုသည်။
အောက်ဖော်ပြပါ အချက်ပြများအတွက် မှတ်ပုံတင်မှုများနှင့် အပိုပိုက်လိုင်း မှတ်ပုံတင်မှုများကို DSP ဘလောက်အတွင်း ထားရှိပါသည်- · ဒေတာထည့်သွင်းခြင်း · လက်မှတ်မထိုးထားသော သို့မဟုတ် လက်မှတ်မထိုးထားသော ရွေးချယ်မှု · ရွေးချယ်မှုပေါင်းထည့်ခြင်း သို့မဟုတ် နုတ်ခြင်း · မြှောက်ကိန်းများ၏ ထုတ်ကုန်များ
ရလဒ်ထွက်ရှိမှုအခြေအနေတွင်၊ ပထမဆုံး မှတ်ပုံတင်ခြင်းကို DSP ဘလောက်တွင် ထည့်သွင်းထားသည်။ သို့သော်လည်း အပို latency register များကို block အပြင်ဘက်ရှိ logic element များတွင် ထည့်သွင်းထားပါသည်။ မြှောက်ပေးသူထံ ဒေတာထည့်သွင်းမှုများ၊ အပိုအချက်ပြထည့်သွင်းမှုများနှင့် အထွက်များကို ထိန်းချုပ်ခြင်းအပါအဝင် DSP ပိတ်ဆို့ရန်အတွက် အရံအား၊ ကျန်စက်ပစ္စည်းနှင့် ဆက်သွယ်ရန်အတွက် ပုံမှန်လမ်းကြောင်းကို အသုံးပြုပါ။ လုပ်ဆောင်ချက်ရှိ ချိတ်ဆက်မှုအားလုံးသည် DSP ဘလောက်အတွင်း၌ သီးခြားလမ်းကြောင်းကို အသုံးပြုသည်။ ဤသီးသန့် လမ်းကြောင်းတွင် မြှောက်ကိန်းတစ်ခု၏ မှတ်ပုံတင်ထားသော ထည့်သွင်းမှုဒေတာကို မြှောက်ကိန်းတစ်ခုမှ ကပ်လျက်အမြှောက်တစ်ခုသို့ ပြောင်းရန် ရွေးချယ်မှုကို သင်ရွေးချယ်သောအခါတွင် shift register ကွင်းဆက်များ ပါဝင်သည်။
Stratix V နှင့် Arria V စက်ပစ္စည်းစီးရီးတစ်ခုခုရှိ DSP ပိတ်ဆို့ခြင်းဆိုင်ရာ နောက်ထပ်အချက်အလက်များအတွက်၊ စာပေနှင့်နည်းပညာဆိုင်ရာစာရွက်စာတမ်းများစာမျက်နှာရှိ သက်ဆိုင်ရာလက်စွဲစာအုပ်များ၏ DSP Blocks အခန်းကို ဖတ်ရှုပါ။
ဆက်စပ်အချက်အလက်များ AN 306- FPGA စက်များတွင် အမြှောက်များကို အကောင်အထည်ဖော်ခြင်း။
Intel FPGA စက်များတွင် DSP နှင့် memory blocks များကို အသုံးပြု၍ မြှောက်ကိန်းများကို အကောင်အထည်ဖော်ခြင်းဆိုင်ရာ အချက်အလက်များကို ပံ့ပိုးပေးပါသည်။
8.1. အင်္ဂါရပ်များ
Intel FPGA Multiply Adder သို့မဟုတ် ALTERA_MULT_ADD IP core သည် အောက်ပါအင်္ဂါရပ်များကို ပေးဆောင်သည်- · ရှုပ်ထွေးသော နှစ်ခု၏ ပွားခြင်းလုပ်ဆောင်မှုများကို လုပ်ဆောင်ရန် မြှောက်ကိန်းတစ်ခုကို ထုတ်ပေးသည်
နံပါတ်များ မှတ်ချက်- မူလပံ့ပိုးပေးထားသော အရွယ်အစားထက် ပိုကြီးသော မြှောက်ကိန်းများကို တည်ဆောက်သည့်အခါ ရှိနိုင်သည်/
DSP လုပ်ကွက်များ၏ cascading မှထွက်ပေါ်လာသောစွမ်းဆောင်ရည်အကျိုးသက်ရောက်မှုဖြစ်လိမ့်မည်။ · 1 256 bits ၏ ဒေတာအကျယ်များကို ပံ့ပိုးပေးသည် · လက်မှတ်မထိုးထားသော နှင့် လက်မှတ်မထိုးထားသည့် ဒေတာကိုယ်စားပြုဖော်မတ်ကို ပံ့ပိုးပေးသည် · ပုံဖော်နိုင်သော ထည့်သွင်းနိုင်သော latency ဖြင့် ပိုက်လိုင်းချိတ်ဆက်ခြင်းကို ပံ့ပိုးပေးသည် · လက်မှတ်ထိုးထားသော နှင့် လက်မှတ်မထိုးထားသည့် ဒေတာပံ့ပိုးမှုကြားတွင် ဒိုင်းနမစ်ပြောင်းရန် ရွေးချယ်ခွင့်ကို ပံ့ပိုးပေးသည် · ပေါင်းထည့်ခြင်းနှင့် နုတ်ခြင်းလုပ်ဆောင်မှုကြားတွင် ဒိုင်းနမစ်ပြောင်းရန် ရွေးချယ်ခွင့်ကို ပေးသည် · ပံ့ပိုးပေးသည် ရွေးချယ်နိုင်သော အပြိုင်အဆိုင် နှင့် ထပ်တူကျသော ရှင်းလင်းပြီး နာရီသည် အဝင်ပေါက်များကို ဖွင့်ခြင်း · systolic နှောင့်နှေးမှု မှတ်ပုံတင်ခြင်းမုဒ်ကို ပံ့ပိုးပေးသည် · မြှောက်ကိန်းတစ်ခုလျှင် ကြိုတင် load coefficients 8 ခုဖြင့် pre-adder ကို ပံ့ပိုးပေးသည် · accumulator တုံ့ပြန်ချက်အား ဖြည့်သွင်းရန်အတွက် pre-load constant ကို ပံ့ပိုးသည်
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
၈.၁.၁။ ကြိုတင်ထည့်ပါ။
ကြိုတင်ပေါင်းထည့်ခြင်းဖြင့်၊ မြှောက်ကိန်းကို မကျွေးမီ ပေါင်းထည့်ခြင်း သို့မဟုတ် နုတ်ခြင်းများ ပြုလုပ်ပါသည်။
pre-adder မုဒ်ငါးခု ရှိသည်- · ရိုးရိုးမုဒ် · Coefficient မုဒ် · ထည့်သွင်းမုဒ် · စတုရန်းမုဒ် · အဆက်မပြတ်မုဒ်
မှတ်ချက် -
pre-adder ကိုအသုံးပြုသောအခါ (pre-adder coefficient/input/square mode)၊ multiplier သို့ data inputs များအားလုံးသည် တူညီသောနာရီဆက်တင်ရှိရပါမည်။
၈.၁.၁.၁။ Pre-adder ရိုးရှင်းသောမုဒ်
ဤမုဒ်တွင်၊ operand နှစ်ခုစလုံးသည် input ports မှဆင်းသက်လာပြီး pre-adder ကိုအသုံးမပြုပါ သို့မဟုတ် ကျော်သွားမည်မဟုတ်ပါ။ ဤသည်မှာ ပုံသေမုဒ်ဖြစ်သည်။
ပုံ 10။ Pre-adder ရိုးရှင်းသောမုဒ်
a0 b0
မျိုးစုံ၀
ရလဒ်
၈.၁.၁.၂။ Pre-adder Coefficient မုဒ်
ဤမုဒ်တွင်၊ မြှောက်ပေးသည့် operand တစ်ခုသည် pre-adder မှ ဆင်းသက်လာပြီး အခြား operand သည် internal coefficient storage မှ ဆင်းသက်လာသည်။ coefficient သိုလှောင်မှုတွင် ကြိုတင်သတ်မှတ်ကိန်းသေ 8 ခုအထိ ခွင့်ပြုသည်။ coefficient ရွေးချယ်မှု အချက်ပြများသည် coefsel[0..3] ဖြစ်သည်။
ဤမုဒ်ကို အောက်ပါညီမျှခြင်းတွင် ဖော်ပြသည်။
အောက်ဖော်ပြပါသည် မြှောက်ကိန်းတစ်ခု၏ ကြိုတင်ထည့်တွက်မှုမုဒ်ကို ပြသသည်။
ပုံ 11။ Pre-adder Coefficient မုဒ်
ပရိတ်ဒါ
a0
မျိုးစုံ၀
+/-
ရလဒ်
b0
coefsel0 coef
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
၈.၁.၁.၃။ Pre-adder ထည့်သွင်းမှုမုဒ် ဤမုဒ်တွင်၊ ပေါင်းထည့်သည့် operand တစ်ခုသည် pre-adder မှ ဆင်းသက်လာပြီး အခြား operand သည် datac[] input port မှ ဆင်းသက်လာသည်။ ဤမုဒ်ကို အောက်ပါညီမျှခြင်းတွင် ဖော်ပြသည်။
အောက်ဖော်ပြပါသည် မြှောက်ကိန်းတစ်ခု၏ ကြိုတင်ထည့်သွင်းမှုမုဒ်ကို ပြသသည်။
ပုံ 12။ Pre-adder ထည့်သွင်းမုဒ်
a0 b0
မျိုးစုံ၀
+/-
ရလဒ်
c0
၈.၁.၁.၄။ Pre-adder Square မုဒ် ဤမုဒ်ကို အောက်ပါညီမျှခြင်းတွင် ဖော်ပြသည်။
အောက်ဖော်ပြပါသည် မြှောက်ကိန်းနှစ်ခု၏ ကြိုတင်ထည့်မှုစတုရန်းမုဒ်ကို ပြသထားသည်။
ပုံ 13. Pre-adder Square မုဒ်
a0 b0
မျိုးစုံ၀
+/-
ရလဒ်
၈.၁.၁.၅။ Pre-adder Constant Mode
ဤမုဒ်တွင်၊ မြှောက်ပေးသည့် operand တစ်ခုသည် အဝင်ပေါက်ပေါက်မှ ဆင်းသက်လာပြီး အခြား operand သည် အတွင်းပိုင်းကိန်းဂဏန်း သိုလှောင်မှုမှ ဆင်းသက်လာသည်။ coefficient သိုလှောင်မှုတွင် ကြိုတင်သတ်မှတ်ကိန်းသေ 8 ခုအထိ ခွင့်ပြုသည်။ coefficient ရွေးချယ်မှု အချက်ပြများသည် coefsel[0..3] ဖြစ်သည်။
ဤမုဒ်ကို အောက်ပါညီမျှခြင်းတွင် ဖော်ပြသည်။
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
အောက်ပါပုံသည် မြှောက်ကိန်းတစ်ခု၏ ကြိုတင် adder ကိန်းသေမုဒ်ကို ပြသည်။
ပုံ 14။ Pre-adder Constant Mode
a0
မျိုးစုံ၀
ရလဒ်
coefsel0
coef
၈.၁.၂။ Systolic Delay Register
systolic ဗိသုကာတစ်ခုတွင်၊ ဒေတာကို ကြားခံအဖြစ်လုပ်ဆောင်သည့် မှတ်ပုံတင်များအတွင်း ထည့်သွင်းမှုဒေတာကို ထည့်သွင်းသည်။ မှတ်ပုံတင်တိုင်းသည် input s ကိုပေးသည်။ampသက်ဆိုင်ရာ coefficient ဖြင့် မြှောက်သည့် မြှောက်ကိန်းတစ်ခုသို့။ ကွင်းဆက် adder သည် အမြှောက်ကိန်းမှ တဖြည်းဖြည်း ပေါင်းစပ်ထားသော ရလဒ်များနှင့် ကွင်းဆက်[] အသွင်းပေါက်မှ ယခင်မှတ်ပုံတင်ထားသော ရလဒ်များကို နောက်ဆုံးရလဒ်အဖြစ် ဖန်တီးသည်။ ပေါင်းထည့်သည့်ဒြပ်စင်တစ်ခုစီတိုင်းသည် ရလဒ်များကို ပေါင်းစပ်ထည့်သွင်းသည့်အခါ သင့်လျော်စွာ တစ်ပြိုင်တည်းလုပ်ဆောင်နိုင်ရန် သံသရာတစ်ခုတည်းဖြင့် နှောင့်နှေးရမည်ဖြစ်သည်။ ဆက်တိုက်နှောင့်နှေးမှုတစ်ခုစီကို ၎င်းတို့၏သက်ဆိုင်ရာ အမြောက်အများထည့်သည့်ဒြပ်စင်များ၏ ကိန်းဂဏန်းမှတ်ဉာဏ်နှင့် ဒေတာကြားခံနှစ်ခုလုံးကို ကိုင်တွယ်ဖြေရှင်းရန် အသုံးပြုသည်။ ဟောင်းအတွက်ample၊ ဒုတိယအမြောက်အများထည့်သည့်ဒြပ်အတွက် နှောင့်နှေးချက်တစ်ခု၊ တတိယအကြိမ်ထပ်ထည့်သည့်ဒြပ်အတွက် နှောင့်နှေးမှုနှစ်ခု၊ စသည်ဖြင့်။
ပုံ 15. Systolic Registers
Systolic စာရင်းအင်းများ
x(t) c(0)
၎-၁၀
၎-၁၀
c(1)
၎-၁၀
၎-၁၀
c(2)
၎-၁၀
၎-၁၀
c(N-1)
၎-၁၀
၎-၁၀
၎-၁၀
S -1 y(t)
x(t) သည် input ၏ဆက်တိုက်စီးဆင်းမှုမှရလဒ်များကိုကိုယ်စားပြုသည်။amples နှင့် y(t)
input အစုတစ်ခု၏ ပေါင်းစည်းခြင်းကို ကိုယ်စားပြုသည်။amples နှင့် အချိန်မီ ၎င်းတို့၏ နှင့် မြှောက်သည်။
သက်ဆိုင်ရာ ကိန်းဂဏန်းများ။ အဝင်နှင့် အထွက်ရလဒ် နှစ်ခုစလုံးသည် ဘယ်မှညာသို့ စီးဆင်းသည်။ c(0) မှ c(N-1) သည် coefficients ကို ရည်ညွှန်းသည်။ systolic နှောင့်နှေးမှုစာရင်းများကို S-1 က ရည်ညွှန်းပြီး 1 သည် နာရီတစ်လုံးနှောင့်နှေးမှုကို ကိုယ်စားပြုသည်။ Systolic delay registers များကို တွင် ထည့်သွင်းထားသည်။
ပိုက်လိုင်းသွယ်တန်းခြင်းအတွက် သွင်းအားစုနှင့် အထွက်ရလဒ်များကို သေချာစေသော နည်းလမ်းဖြင့်၊
မြှောက်ပေးသည့် operand နှင့် စုဆောင်းထားသော sums များသည် synch တွင် ရှိနေသည်။ ဤပြောင်းလဲမှုဒြပ်စင်
filtering function ကိုတွက်ချက်သော circuit တစ်ခုဖွဲ့စည်းရန် ထပ်တူပြုပါသည်။ ဤလုပ်ဆောင်ချက်သည်
အောက်ပါညီမျှခြင်းတွင် ဖော်ပြသည်။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
N သည် accumulator အတွင်းသို့ ဝင်ရောက်သည့် ကိန်းဂဏန်းများကို ကိုယ်စားပြုသည်၊ y(t) သည် အချိန် t တွင် အထွက်ကို ကိုယ်စားပြုသည်၊ A(t) သည် အချိန် t တွင် input ကို ကိုယ်စားပြုသည်၊ B(i) သည် coefficients ဖြစ်သည်။ ညီမျှခြင်းတွင် t နှင့် i သည် အချိန်အတွင်း တခုခုနှင့် သက်ဆိုင်သောကြောင့် output s ကိုတွက်ချက်ရန်၊ampအချိန် t မှာ le y(t)၊ input s အုပ်စုampအချိန်အလိုက် N မတူညီသော အမှတ်များ သို့မဟုတ် A(n), A(n-1), A(n-2), … A(n-N+1) လိုအပ်သည်။ N input အုပ်စုသည် s ဖြစ်သည်။amples ကို N coefficients ဖြင့် မြှောက်ပြီး နောက်ဆုံးရလဒ် y ကို ဖွဲ့စည်းရန် အတူတကွ ပေါင်းထားသည်။
systolic register ဗိသုကာကို sum-of-2 နှင့် sum-of-4 မုဒ်များအတွက်သာ ရနိုင်သည်။ systolic register ဗိသုကာမုဒ်နှစ်ခုလုံးအတွက်၊ ပထမဆုံး chainin signal ကို 0 နှင့် ချိတ်ဆက်ထားရန် လိုအပ်သည်။
အောက်ဖော်ပြပါပုံသည် ကိန်းဂဏန်း 2 ခု၏ systolic နှောင့်နှေးမှု မှတ်ပုံတင်ခြင်းကို ပြသသည်။
ပုံ 16။ Systolic နှောင့်နှေးမှု 2 မြှောက်ခြင်းကို အကောင်အထည်ဖော်ခြင်း မှတ်ပုံတင်ခြင်း။
ကွင်းဆက်
a0
မျိုးစုံ၀
+/-
b0
a1
မျိုးစုံ၀
+/-
b1
ရလဒ်
မြှောက်ကိန်းနှစ်ခု၏ ပေါင်းလဒ်ကို အောက်ပါညီမျှခြင်းတွင် ဖော်ပြသည်။
အောက်ဖော်ပြပါပုံသည် ကိန်းဂဏန်း 4 ခု၏ systolic နှောင့်နှေးမှု မှတ်ပုံတင်ခြင်းကို ပြသသည်။
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
ပုံ 17။ Systolic နှောင့်နှေးမှု 4 မြှောက်ခြင်းကို အကောင်အထည်ဖော်ခြင်း မှတ်ပုံတင်ခြင်း။
ကွင်းဆက်
a0
မျိုးစုံ၀
+/-
b0
a1
မျိုးစုံ၀
+/-
b1
a2
မျိုးစုံ၀
+/-
b2
a3
မျိုးစုံ၀
+/-
b3
ရလဒ်
အမြှောက်လေးခု၏ ပေါင်းလဒ်ကို အောက်ပါညီမျှခြင်းတွင် ဖော်ပြသည်။ ပုံ 18။ အမြှောက် 4 ခု၏ ပေါင်းလဒ်
အောက်ဖော်ပြပါ သည် အက်ဒ်ဗန်ကို ဖော်ပြသည်။tagsystolic register အကောင်အထည်ဖော်ခြင်း၏ es- · DSP ရင်းမြစ်အသုံးပြုမှုကို လျှော့ချပေးသည် · ကွင်းဆက် adder ဖွဲ့စည်းပုံကို အသုံးပြု၍ DSP ပိတ်ဆို့ခြင်းတွင် ထိရောက်သောမြေပုံဆွဲခြင်းကို ဖွင့်ပေးသည်
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
၈.၁.၃။ Constant ကိုကြိုတင်တင်ပါ။
pre-load constant သည် accumulator operand ကို ထိန်းချုပ်ပြီး accumulator တုံ့ပြန်ချက်ကို ဖြည့်ပေးသည်။ မှန်ကန်သော LOADCONST_VALUE သည် 0 မှ အပိုင်းအခြားဖြစ်သည်။ ကိန်းသေတန်ဖိုးသည် N = LOADCONST_VALUE ရှိရာ 64N နှင့် ညီမျှသည်။ LOADCONST_VALUE ကို 2 ဟု သတ်မှတ်သောအခါ၊ ကိန်းသေတန်ဖိုးသည် 64 နှင့် ညီမျှသည်။ ဤလုပ်ဆောင်ချက်ကို ဘက်လိုက်အဝိုင်းအဖြစ် အသုံးပြုနိုင်သည်။
အောက်ပါပုံသည် pre-load constant အကောင်အထည်ဖော်မှုကို ပြသသည်။
ပုံ 19. Pre-load Constant
Accumulator တုံ့ပြန်ချက်
ကိန်းသေ
a0
မျိုးစုံ၀
+/-
b0
a1
မျိုးစုံ၀
+/b1
ရလဒ်
accum_sload sload_accum
အခြားသော အမြှောက်များ အကောင်အထည်ဖော်မှုများအတွက် အောက်ပါ IP cores များကို ကိုးကားပါ- · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
၈.၁.၄။ Double Accumulator
double accumulator အင်္ဂါရပ်သည် accumulator တုံ့ပြန်မှုလမ်းကြောင်းတွင် နောက်ထပ် မှတ်ပုံတင်တစ်ခုကို ပေါင်းထည့်သည်။ double accumulator register သည် နာရီ၊ clock enable နှင့် aclr တို့ပါ၀င်သော အထွက်စာရင်းကို လိုက်နာသည်။ ထပ်လောင်းစုပေါင်းစာရင်းသွင်းခြင်းသည် လည်ပတ်မှုနှောင့်နှေးမှုဖြင့် ရလဒ်ကို ပြန်ပေးသည်။ ဤအင်္ဂါရပ်သည် သင့်အား တူညီသောအရင်းအမြစ်အရေအတွက်ဖြင့် စုစည်းမှုချန်နယ်နှစ်ခုကို ရရှိစေပါသည်။
အောက်ပါပုံသည် double accumulator အကောင်အထည်ဖော်မှုကိုပြသသည်။
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
ပုံ 20. Double Accumulator
Dou ble Accu mulator မှတ်ပုံတင်ပါ။
Accu mulator feedba ck
a0
မျိုးစုံ၀
+/-
b0
a1
မျိုးစုံ၀
+/b1
Output ရလဒ် Output Register
၂.၂။ Verilog HDL Prototype
Intel FPGA Multiply Adder သို့မဟုတ် ALTERA_MULT_ADD Verilog HDL ရှေ့ပြေးပုံစံကို သင်ရှာတွေ့နိုင်ပါသည်။ file (altera_mult_add_rtl.v) ၌ librariesmegafunctions လမ်းညွှန်။
၂.၃။ VHDL အစိတ်အပိုင်းကြေငြာချက်
VHDL အစိတ်အပိုင်းကြေငြာချက်သည် altera_lnsim_components.vhd တွင်တည်ရှိသည် librariesvhdl altera_lnsim လမ်းညွှန်။
၂.၄။ VHDL LIBRARY_USE ကြေငြာချက်
VHDL အစိတ်အပိုင်းကြေငြာချက်ကို သင်အသုံးပြုပါက VHDL စာကြည့်တိုက်-အသုံးပြုမှု ကြေငြာချက် မလိုအပ်ပါ။
စာကြည့်တိုက် altera_mf; altera_mf.altera_mf_components.all ကိုအသုံးပြုပါ။
၄.၅။ အချက်ပြမှုများ
အောက်ဖော်ပြပါဇယားများသည် Multiply Adder Intel FPGA IPor ALTERA_MULT_ADD IP core ၏ အဝင်နှင့်အထွက်အချက်ပြမှုများကို စာရင်းပြုစုထားသည်။
ဇယား 28။ Adder Intel FPGA IPor ALTERA_MULT_ADD ထည့်သွင်းခြင်းအချက်ပြများ
အချက်ပြ
လိုအပ်သည်။
ဖော်ပြချက်
dataa_0[]/dataa_1[]/
ဟုတ်ကဲ့
dataa_2[]/dataa_3[]
ကိန်းဂဏန်းသို့ ဒေတာထည့်သွင်းခြင်း။ အဝင်ပေါက် [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1… 0] ကျယ်သည်
ဆက်ရန်…
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
အချက်ပြ 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 No
ဖော်ပြချက်
ဤ IP အတွက် ပုံသဏ္ဍာန်ပုံစံသည် ဤအချက်ပြမှုများကို အတိအကျ မသတ်မှတ်ထားသော ထည့်သွင်းမှုတန်ဖိုး (X) ကို ပံ့ပိုးပေးပါသည်။ သင်သည် ဤအချက်ပြမှုများကို X တန်ဖိုးကို ပေးသောအခါ၊ X တန်ဖိုးသည် အထွက်အချက်ပြများပေါ်တွင် ပျံ့နှံ့သွားပါသည်။
ကိန်းဂဏန်းသို့ ဒေတာထည့်သွင်းခြင်း။ အဝင်အချက်ပြ [NUMBER_OF_MULTIPLIERS * WIDTH_B – 1 … 0] ကျယ်ပြန့်သော ဤ IP အတွက် သရုပ်ဖော်မော်ဒယ်သည် ဤအချက်ပြမှုများကို သတ်မှတ်မထားသော ထည့်သွင်းမှုတန်ဖိုး (X) ကို ပံ့ပိုးပေးပါသည်။ သင်သည် ဤအချက်ပြမှုများကို X တန်ဖိုးကို ပေးသောအခါ၊ X တန်ဖိုးသည် အထွက်အချက်ပြများပေါ်တွင် ပျံ့နှံ့သွားပါသည်။
ကိန်းဂဏန်းသို့ ဒေတာထည့်သွင်းခြင်း။ အဝင်အချက်ပြမှု [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] ကျယ်ပြန့်သော ဤအချက်ပြမှုများကို ဖွင့်ရန်အတွက် ရွေးချယ်ရန် ပဒ်ဒါမုဒ် ပါရာမီတာအတွက် INPUT ကို ရွေးချယ်ပါ။ ဤ IP အတွက် ပုံသဏ္ဍာန်ပုံစံသည် ဤအချက်ပြမှုများကို အတိအကျ မသတ်မှတ်ထားသော ထည့်သွင်းမှုတန်ဖိုး (X) ကို ပံ့ပိုးပေးပါသည်။ သင်သည် ဤအချက်ပြမှုများကို X တန်ဖိုးကို ပေးသောအခါ၊ X တန်ဖိုးသည် အထွက်အချက်ပြများပေါ်တွင် ပျံ့နှံ့သွားပါသည်။
သက်ဆိုင်ရာ မှတ်ပုံတင်ရန်အတွက် နာရီထည့်သွင်းမှုအပေါက်။ IP core အတွင်းရှိ မည်သည့် မှတ်ပုံတင်ခြင်းဖြင့်မဆို ဤ signal ကိုအသုံးပြုနိုင်ပါသည်။ ဤ IP အတွက် ပုံသဏ္ဍာန်ပုံစံသည် ဤအချက်ပြမှုများကို အတိအကျ မသတ်မှတ်ထားသော ထည့်သွင်းမှုတန်ဖိုး (X) ကို ပံ့ပိုးပေးပါသည်။ သင်သည် ဤအချက်ပြမှုများကို X တန်ဖိုးကို ပေးသောအခါ၊ X တန်ဖိုးသည် အထွက်အချက်ပြများပေါ်တွင် ပျံ့နှံ့သွားပါသည်။
သက်ဆိုင်ရာ မှတ်ပုံတင်ခြင်းသို့ အဆက်မပြတ် ပြတ်သားစွာ ထည့်သွင်းခြင်း။ ဤ IP အတွက် ပုံသဏ္ဍာန်ပုံစံသည် ဤအချက်ပြမှုများကို အတိအကျ မသတ်မှတ်ထားသော ထည့်သွင်းမှုတန်ဖိုး (X) ကို ပံ့ပိုးပေးပါသည်။ သင်သည် ဤအချက်ပြမှုများကို X တန်ဖိုးကို ပေးသောအခါ၊ X တန်ဖိုးသည် အထွက်အချက်ပြများပေါ်တွင် ပျံ့နှံ့သွားပါသည်။
သက်ဆိုင်ရာ မှတ်ပုံတင်ရန်အတွက် ချိန်ကိုက်ရှင်းလင်းသော ထည့်သွင်းမှု။ ဤ IP အတွက် သရုပ်ဖော်မှုပုံစံသည် ဤအချက်ပြမှုများကို အတိအကျ မသတ်မှတ်ထားသော ထည့်သွင်းမှုတန်ဖိုး X ကို ပံ့ပိုးပေးသည်။ သင်သည် ဤအချက်ပြမှုများကို X တန်ဖိုးကို ပေးသောအခါ၊ X တန်ဖိုးသည် အထွက်အချက်ပြများပေါ်တွင် ပျံ့နှံ့သွားပါသည်။
သက်ဆိုင်ရာ မှတ်ပုံတင်ရန်အတွက် အချက်ပြထည့်သွင်းမှုကို ဖွင့်ပါ။ ဤ IP အတွက် ပုံသဏ္ဍာန်ပုံစံသည် ဤအချက်ပြမှုများကို အတိအကျ မသတ်မှတ်ထားသော ထည့်သွင်းမှုတန်ဖိုး (X) ကို ပံ့ပိုးပေးပါသည်။ သင်သည် ဤအချက်ပြမှုများကို X တန်ဖိုးကို ပေးသောအခါ၊ X တန်ဖိုးသည် အထွက်အချက်ပြများပေါ်တွင် ပျံ့နှံ့သွားပါသည်။
မြှောက်ကိန်းထည့်သွင်းမှု A ၏ ဂဏန်းကိုယ်စားပြုမှုကို သတ်မှတ်ပေးသည်။ သင်္ကေတအချက်ပြမှု မြင့်မားပါက၊ မြှောက်ကိန်းသည် မြှောက်ကိန်းထည့်သွင်းမှု A အချက်ပြမှုကို သင်္ကေတနံပါတ်အဖြစ် သတ်မှတ်သည်။ သင်္ကေတအချက်ပြမှု နည်းပါးပါက၊ မြှောက်ကိန်းသည် မြှောက်ကိန်းထည့်သွင်းမှု A အချက်ပြမှုကို လက်မှတ်မထိုးထားသော နံပါတ်တစ်ခုအဖြစ် သတ်မှတ်သည်။ ဤအချက်ပြမှုကိုဖွင့်ရန် Multipliers A inputs parameter အတွက် ကိုယ်စားပြုဖော်မတ်သည် VARIABLE ကိုရွေးချယ်ပါ။ ဤ IP အတွက် ပုံသဏ္ဍာန်ပုံစံသည် ဤအချက်ပြမှုအတွက် အတိအကျ မဖော်ပြထားသော ထည့်သွင်းတန်ဖိုး (X) ကို ပံ့ပိုးပေးပါသည်။ သင်သည် ဤထည့်သွင်းမှုအတွက် X တန်ဖိုးကို ပေးသောအခါ၊ X တန်ဖိုးသည် အထွက်အချက်ပြများပေါ်တွင် ပျံ့နှံ့သွားပါသည်။
မြှောက်ကိန်းထည့်သွင်းမှု B အချက်ပြမှု၏ ဂဏန်းကိုယ်စားပြုမှုကို သတ်မှတ်သည်။ ဆိုင်းဘုတ်အချက်ပြမှု မြင့်မားပါက၊ မြှောက်ကိန်းသည် မြှောက်ကိန်းထည့်သွင်းမှု B အချက်ပြမှုကို သင်္ကေတနှစ်ခု၏ ဖြည့်စွက်နံပါတ်အဖြစ် သတ်မှတ်သည်။ ဆိုင်းဘုတ်အချက်ပြမှု နည်းပါးပါက၊ မြှောက်ကိန်းသည် မြှောက်ကိန်းထည့်သွင်းမှု B အချက်ပြမှုကို လက်မှတ်မထိုးထားသော နံပါတ်တစ်ခုအဖြစ် သတ်မှတ်သည်။ ဤ IP အတွက် ပုံသဏ္ဍာန်ပုံစံသည် ဤအချက်ပြမှုအတွက် အတိအကျ မဖော်ပြထားသော ထည့်သွင်းတန်ဖိုး (X) ကို ပံ့ပိုးပေးပါသည်။ သင်သည် ဤထည့်သွင်းမှုအတွက် X တန်ဖိုးကို ပေးသောအခါ၊ X တန်ဖိုးသည် အထွက်အချက်ပြများပေါ်တွင် ပျံ့နှံ့သွားပါသည်။
စကင်န်ကွင်းဆက်အတွက် ထည့်သွင်းခြင်း A. အဝင်အချက်ပြမှု [WIDTH_A – 1, … 0] ကျယ်ပြန့်သည်။ INPUT_SOURCE_A ပါရာမီတာသည် SCANA ၏တန်ဖိုးရှိသောအခါ၊ scanina[] အချက်ပြမှု လိုအပ်ပါသည်။
ဓာတ်ပေါင်းစုတန်ဖိုးသည် ကိန်းသေဖြစ်မဖြစ်ကို ဒိုင်းနမစ်ဖြင့် သတ်မှတ်သည်။ accum_sload အချက်ပြမှု နည်းပါးပါက၊ ထို့နောက် အမြှောက်အထွက်ကို accumulator ထဲသို့ တင်ပါသည်။ accum_sload နှင့် sload_accum တို့ကို တစ်ပြိုင်နက် မသုံးပါနှင့်။
ဆက်ရန်…
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
အချက်ပြ sload_accum
chainin[] addnsub1
addnsub3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]
လိုအပ်သောနံပါတ်
No No
မရှိ
မဟုတ်ဘူးမဟုတ်ဘူးမဟုတ်ဘူးမဟုတ်ဘူး
ဖော်ပြချက်
ဤ IP အတွက် ပုံသဏ္ဍာန်ပုံစံသည် ဤအချက်ပြမှုအတွက် အတိအကျ မဖော်ပြထားသော ထည့်သွင်းတန်ဖိုး (X) ကို ပံ့ပိုးပေးပါသည်။ သင်သည် ဤထည့်သွင်းမှုအတွက် X တန်ဖိုးကို ပေးသောအခါ၊ X တန်ဖိုးသည် အထွက်အချက်ပြများပေါ်တွင် ပျံ့နှံ့သွားပါသည်။
ဓာတ်ပေါင်းစုတန်ဖိုးသည် ကိန်းသေဖြစ်မဖြစ်ကို ဒိုင်းနမစ်ဖြင့် သတ်မှတ်သည်။ sload_accum signal သည် မြင့်နေပါက၊ ထို့နောက် multiplier output ကို accumulator ထဲသို့ တင်ပါသည်။ accum_sload နှင့် sload_accum တို့ကို တစ်ပြိုင်နက် မသုံးပါနှင့်။ ဤ IP အတွက် ပုံသဏ္ဍာန်ပုံစံသည် ဤအချက်ပြမှုအတွက် အတိအကျ မဖော်ပြထားသော ထည့်သွင်းတန်ဖိုး (X) ကို ပံ့ပိုးပေးပါသည်။ သင်သည် ဤထည့်သွင်းမှုအတွက် X တန်ဖိုးကို ပေးသောအခါ၊ X တန်ဖိုးသည် အထွက်အချက်ပြများပေါ်တွင် ပျံ့နှံ့သွားပါသည်။
ရှေ့ s မှ adder ရလဒ် input bustagင အဝင်အချက်ပြ [WIDTH_CHAININ – 1, … 0] ကျယ်သည်။
ပထမအကြိမ်မြှောက်ကိန်းများမှ အထွက်များကို ပေါင်းခြင်း သို့မဟုတ် နုတ်ခြင်းလုပ်ဆောင်ပါ။ ပထမမြှောက်ကိန်းများ၏ ပထမတွဲမှ အထွက်များကို ထည့်ရန် addnsub1 အချက်ပြမှု 1 သို့ ထည့်သွင်းပါ။ ပထမမြှောက်ကိန်းများ၏ ပထမတွဲမှ အထွက်များကို နုတ်ရန် addnsub0 အချက်ပြသို့ 1 ထည့်သွင်းပါ။ ဤ IP အတွက် ပုံသဏ္ဍာန်ပုံစံသည် ဤအချက်ပြမှုအတွက် အတိအကျ မဖော်ပြထားသော ထည့်သွင်းတန်ဖိုး (X) ကို ပံ့ပိုးပေးပါသည်။ သင်သည် ဤထည့်သွင်းမှုအတွက် X တန်ဖိုးကို ပေးသောအခါ၊ X တန်ဖိုးသည် အထွက်အချက်ပြများပေါ်တွင် ပျံ့နှံ့သွားပါသည်။
ပထမအကြိမ်မြှောက်ကိန်းများမှ အထွက်များကို ပေါင်းခြင်း သို့မဟုတ် နုတ်ခြင်းလုပ်ဆောင်ပါ။ ဒုတိယအမြှောက်အတွဲများမှ အထွက်များကို ထည့်ရန် addnsub1 signal သို့ 3 ထည့်သွင်းပါ။ ပထမမြှောက်ကိန်းများ၏ ပထမတွဲမှ အထွက်များကို နုတ်ရန် addnsub0 အချက်ပြမှုသို့ 3 ထည့်သွင်းပါ။ ဤ 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 တန်ဖိုးသည် အထွက်အချက်ပြများပေါ်တွင် ပျံ့နှံ့သွားပါသည်။
Table 29. Multiply Adder Intel FPGA IP Output Signals များ
အချက်ပြ
လိုအပ်သည်။
ဖော်ပြချက်
ရလဒ် []
ဟုတ်ကဲ့
အမြှောက်အထွက်အချက်ပြ အထွက်အချက်ပြမှု [WIDTH_RESULT – 1… 0] ကျယ်သည်။
ဤ IP အတွက် သရုပ်ဖော်မော်ဒယ်သည် အတိအကျ မဖော်ပြထားသော အထွက်တန်ဖိုး (X) ကို ပံ့ပိုးပေးသည်။ ထည့်သွင်းမှုအဖြစ် X တန်ဖိုးကို သင်ပေးသောအခါ၊ X တန်ဖိုးသည် ဤအချက်ပြမှုတွင် ပျံ့နှံ့သွားပါသည်။
scanouta []
မရှိ
စကင်န်ကွင်းဆက် A. အထွက်အချက်ပြမှု [WIDTH_A – 1..0] ကျယ်ပြန့်သည်။
မြှောက်ကိန်းများ၏ နံပါတ်များအတွက် 2 ကျော်ကို ရွေးပြီး ဤအချက်ပြမှုကို ဖွင့်ရန် ကန့်သတ်ဘောင်နှင့် ချိတ်ဆက်ထားသော မြှောက်ကိန်း၏ input A ၏ input A သည် ဘာအတွက် Scan chain input ကို ရွေးပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
၂
၄.၆.၁။ General Tab
Table 30. General Tab
ကန့်သတ်ချက်
IP ထုတ်ပေးသော ကန့်သတ်ချက်
တန်ဖိုး
မြှောက်ကိန်း အရေအတွက်က ဘယ်လောက်လဲ။
number_of_m 1 – 4 ultipliers
A width_a ထည့်သွင်းသည့်ဘတ်စ်ကားများသည် မည်မျှကျယ်သင့်သနည်း။
1 – 256
B width_b ထည့်သွင်းသည့်ဘတ်စ်ကားများသည် မည်မျှကျယ်သင့်သနည်း။
1 – 256
'ရလဒ်' အထွက်ဘတ်စ်ကား မည်မျှကျယ်သင့်သနည်း။
width_result
1 – 256
နာရီတစ်ခုစီအတွက် ဆက်စပ်နာရီဖွင့်ခြင်းကို ဖန်တီးပါ။
gui_associate On d_clock_enabl Off e
၈.၆.၂။ အပိုမုဒ်များ တဘ်
ဇယား ၃၁။ အပိုမုဒ်များ တဘ်
ကန့်သတ်ချက်
IP ထုတ်ပေးသော ကန့်သတ်ချက်
တန်ဖိုး
Outputs Configuration
ပေါင်းထည့်ယူနစ်၏ အထွက်ကို မှတ်ပုံတင်ပါ။
gui_output_re ကိုဖွင့်ပါ။
gister
ပိတ်သည်။
နာရီထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
gui_output_re gister_clock
နာရီ 0 နာရီ 1 နာရီ 2
ပြတ်ပြတ်သားသား ရှင်းရှင်းလင်းလင်း ထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
gui_output_re gister_aclr
ACLR0 ACLR1 မရှိပါ။
synchronous clear input အတွက် အရင်းအမြစ်က ဘာလဲ။
gui_output_re gister_sclr
SCLR0 SCLR1 မရှိပါ။
Adder လုပ်ဆောင်ချက်
ပထမအကြိမ်မြှောက်ကိန်းများ၏ အထွက်တွင် မည်သည့်လုပ်ဆောင်ချက်ကို လုပ်ဆောင်သင့်သနည်း။
gui_multiplier 1_direction
ပေါင်းထည့်၊ SUB ၊ ချိန်ညှိနိုင်သည်။
မူရင်းတန်ဖိုး 1
16
ဖော်ပြချက်
ပေါင်းထည့်ရမည့် အမြှောက်အရေအတွက်။ တန်ဖိုးများသည် 1 မှ 4 အထိဖြစ်သည်။ dataa[] port ၏ အကျယ်ကို သတ်မှတ်ပါ။
16
datab[] port ၏ အကျယ်ကို သတ်မှတ်ပါ။
32
ရလဒ်[] port ၏ အကျယ်ကို သတ်မှတ်ပါ။
ပိတ်သည်။
နာရီကိုဖွင့်ရန် ဤရွေးချယ်မှုကို ရွေးချယ်ပါ။
နာရီတိုင်းအတွက်။
မူရင်းတန်ဖိုး
ဖော်ပြချက်
နာရီပိတ်
NONE NONE
adder module ၏ output register ကိုဖွင့်ရန် ဤရွေးချယ်မှုကို ရွေးချယ်ပါ။
အထွက်စာရင်းသွင်းခြင်းများအတွက် နာရီရင်းမြစ်ကို ဖွင့်ပြီး သတ်မှတ်ရန် Clock0၊ Clock1 သို့မဟုတ် Clock2 ကိုရွေးချယ်ပါ။ ဤကန့်သတ်ချက်ကိုဖွင့်ရန် သင်သည် adder ယူနစ်၏ မှတ်ပုံတင်ထုတ်ပေးမှုကို ရွေးချယ်ရပါမည်။
adder output မှတ်ပုံတင်ခြင်းအတွက် ပြတ်ပြတ်သားသား ရှင်းရှင်းလင်းလင်း ရင်းမြစ်ကို သတ်မှတ်ပါ။ ဤကန့်သတ်ချက်ကိုဖွင့်ရန် သင်သည် adder ယူနစ်၏ မှတ်ပုံတင်ထုတ်ပေးမှုကို ရွေးချယ်ရပါမည်။
adder output မှတ်ပုံတင်ခြင်းအတွက် synchronous clear source ကို သတ်မှတ်ပေးသည်။ ဤကန့်သတ်ချက်ကိုဖွင့်ရန် သင်သည် adder ယူနစ်၏ မှတ်ပုံတင်ထုတ်ပေးမှုကို ရွေးချယ်ရပါမည်။
ထည့်ပါ။
ပထမနှင့် ဒုတိယမြှောက်ကိန်းများကြား ရလဒ်များအတွက် လုပ်ဆောင်ရန် ပေါင်းခြင်း သို့မဟုတ် နုတ်ခြင်းလုပ်ငန်းကို ရွေးချယ်ပါ။
· ထပ်လောင်းလုပ်ဆောင်မှုကို လုပ်ဆောင်ရန် ADD ကို ရွေးချယ်ပါ။
· နုတ်ခြင်းလုပ်ဆောင်ရန် SUB ကို ရွေးပါ။
· တက်ကြွသောပေါင်းစည်းခြင်း/အနုတ်လက္ခဏာထိန်းချုပ်မှုအတွက် addnsub1 port ကိုအသုံးပြုရန် VARIABLE ကိုရွေးချယ်ပါ။
ဆက်ရန်…
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
ကန့်သတ်ချက်
IP ထုတ်ပေးသော ကန့်သတ်ချက်
တန်ဖိုး
'addnsub1' ထည့်သွင်းမှုကို မှတ်ပုံတင်ပါ။
gui_addnsub_ မြှောက်ပေးသူ_reg ပေါ်ရှိ Off ister1
နာရီထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
gui_addnsub_ မြှောက်ခြင်း_reg ister1_နာရီ
နာရီ 0 နာရီ 1 နာရီ 2
ပြတ်ပြတ်သားသား ရှင်းရှင်းလင်းလင်း ထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
gui_addnsub_ မြှောက်ခြင်း_aclr ၁
ACLR0 ACLR1 မရှိပါ။
synchronous clear input အတွက် အရင်းအမြစ်က ဘာလဲ။
gui_addnsub_ မြှောက်ခြင်း_sclr ၁
SCLR0 SCLR1 မရှိပါ။
ဒုတိယမြှောက်ကိန်းများ၏ အထွက်များပေါ်တွင် မည်သည့်လုပ်ဆောင်ချက်ကို လုပ်ဆောင်သင့်သနည်း။
gui_multiplier 3_direction
ပေါင်းထည့်၊ SUB ၊ ချိန်ညှိနိုင်သည်။
'addnsub3' ထည့်သွင်းမှုကို မှတ်ပုံတင်ပါ။
gui_addnsub_ မြှောက်ပေးသူ_reg ပေါ်ရှိ Off ister3
နာရီထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
gui_addnsub_ မြှောက်ခြင်း_reg ister3_နာရီ
နာရီ 0 နာရီ 1 နာရီ 2
မူရင်းတန်ဖိုး
နာရီပိတ် 0 NONE မထည့်ပါ။
နာရီပိတ်
ဖော်ပြချက်
VARIABLE တန်ဖိုးကို ရွေးချယ်သည့်အခါ- · addnsub1 အချက်ပြမှုကို အမြင့်ဆုံးသို့ မောင်းနှင်ပါ။
အပိုလုပ်ဆောင်ချက်။ · addnsub1 အချက်ပြမှုကို အနိမ့်သို့ မောင်းနှင်ပါ။
နုတ်လုပ်ငန်း။ ဤကန့်သတ်ချက်ကိုဖွင့်ရန် သင်သည် မြှောက်ကိန်းနှစ်ခုထက်ပို၍ ရွေးရပါမည်။
addnsub1 port အတွက် ထည့်သွင်းမှု မှတ်ပုံတင်ခြင်းကို ဖွင့်ရန် ဤရွေးချယ်မှုကို ရွေးချယ်ပါ။ ဤကန့်သတ်ချက်ကိုဖွင့်ရန်အတွက် ပထမအကြိမ်မြှောက်ကိန်းများ၏အထွက်တွင် မည်သည့်လုပ်ဆောင်ချက်ကိုလုပ်ဆောင်သင့်သည်အတွက် VARIABLE ကိုသင်ရွေးချယ်ရပါမည်။
addnsub0 မှတ်ပုံတင်ခြင်းအတွက် ထည့်သွင်းနာရီအချက်ပြမှုကို သတ်မှတ်ရန် Clock1၊ Clock2 သို့မဟုတ် Clock1 ကိုရွေးချယ်ပါ။ ဤကန့်သတ်ချက်ကိုဖွင့်ရန် သင်သည် 'addnsub1' ထည့်သွင်းမှုကို မှတ်ပုံတင်ရန် ရွေးချယ်ရပါမည်။
addnsub1 မှတ်ပုံတင်ခြင်းအတွက် အညီအမျှ ရှင်းလင်းသော အရင်းအမြစ်ကို သတ်မှတ်ပေးသည်။ ဤကန့်သတ်ချက်ကိုဖွင့်ရန် သင်သည် 'addnsub1' ထည့်သွင်းမှုကို မှတ်ပုံတင်ရန် ရွေးချယ်ရပါမည်။
addnsub1 မှတ်ပုံတင်ခြင်းအတွက် ထပ်တူကျသော ရှင်းလင်းသောအရင်းအမြစ်ကို သတ်မှတ်ပေးသည်။ ဤကန့်သတ်ချက်ကိုဖွင့်ရန် သင်သည် 'addnsub1' ထည့်သွင်းမှုကို မှတ်ပုံတင်ရန် ရွေးချယ်ရပါမည်။
တတိယနှင့် စတုတ္ထမြှောက်ကိန်းများအကြား ရလဒ်များအတွက် လုပ်ဆောင်ရန် ပေါင်းခြင်း သို့မဟုတ် နုတ်ခြင်းလုပ်ငန်းကို ရွေးချယ်ပါ။ · ထပ်လောင်းလုပ်ဆောင်ရန် ADD ကိုရွေးချယ်ပါ။
စစ်ဆင်ရေး။ · နုတ်ခြင်းလုပ်ဆောင်ရန် SUB ကို ရွေးပါ။
စစ်ဆင်ရေး။ · addnsub1 ကိုအသုံးပြုရန် VARIABLE ကိုရွေးချယ်ပါ။
ဒိုင်းနမစ်ပေါင်းထည့်/အနုတ်ထိန်းချုပ်မှုအတွက် ဆိပ်ကမ်း။ VARIABLE တန်ဖိုးကို ရွေးချယ်သည့်အခါ- · ထပ်တိုးလုပ်ဆောင်မှုအတွက် addnsub1 အချက်ပြမှုကို အမြင့်ဆုံးသို့ မောင်းနှင်ပါ။ · အနုတ်လုပ်ဆောင်ချက်အတွက် addnsub1 အချက်ပြမှုကို အနိမ့်သို့ မောင်းနှင်ပါ။ မြှောက်ကိန်းများ၏ အရေအတွက် မည်သည်အတွက် တန်ဖိုး 4 ကို သင်ရွေးချယ်ရပါမည်။ ဤသတ်မှတ်ချက်ကိုဖွင့်ရန်။
addnsub3 အချက်ပြမှုအတွက် ထည့်သွင်းမှုစာရင်းကို ဖွင့်ရန် ဤရွေးချယ်မှုကို ရွေးချယ်ပါ။ ဤပါရာမီတာကိုဖွင့်ရန်အတွက် သင်သည် VARIABLE ကို ရွေးချယ်ရပါမည်။
addnsub0 မှတ်ပုံတင်မှုအတွက် ထည့်သွင်းရန် နာရီအချက်ပြမှုကို သတ်မှတ်ရန် Clock1၊ Clock2 သို့မဟုတ် Clock3 ကိုရွေးချယ်ပါ။ ဤကန့်သတ်ချက်ကိုဖွင့်ရန် သင်သည် မှတ်ပုံတင်ရန် 'addnsub3' ထည့်သွင်းမှုကို ရွေးချယ်ရပါမည်။
ဆက်ရန်…
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
ကန့်သတ်ချက်
ပြတ်ပြတ်သားသား ရှင်းရှင်းလင်းလင်း ထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
IP ထုတ်ပေးသော ကန့်သတ်ချက်
တန်ဖိုး
gui_addnsub_ မြှောက်ခြင်း_aclr ၁
ACLR0 ACLR1 မရှိပါ။
synchronous clear input အတွက် အရင်းအမြစ်က ဘာလဲ။
gui_addnsub_ မြှောက်ခြင်း_sclr ၁
SCLR0 SCLR1 မရှိပါ။
Polarity Enable `use_subadd´
gui_use_subn ကိုဖွင့်ပါ။
ထည့်ပါ။
ပိတ်သည်။
၈.၆.၃။ အမြှောက်များ တဘ်
Table 32. Multipliers တဘ်
ကန့်သတ်ချက်
IP ထုတ်ပေးသော ကန့်သတ်ချက်
တန်ဖိုး
အဘယ်နည်း
gui_ကိုယ်စားပြု
ကိုယ်စားပြုဖော်မတ် ation_a
Multipliers A သွင်းအားများအတွက်?
လက်မှတ်ထိုး၊ လက်မှတ်မထိုးထား၊ ကွဲပြားနိုင်သည်။
'signa' ထည့်သွင်းမှုကို မှတ်ပုံတင်ပါ။
gui_register_s ကိုဖွင့်ပါ။
igna
ပိတ်သည်။
နာရီထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
gui_register_s igna_clock
နာရီ 0 နာရီ 1 နာရီ 2
ပြတ်ပြတ်သားသား ရှင်းရှင်းလင်းလင်း ထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
gui_register_s igna_aclr
ACLR0 ACLR1 မရှိပါ။
synchronous clear input အတွက် အရင်းအမြစ်က ဘာလဲ။
gui_register_s igna_sclr
SCLR0 SCLR1 မရှိပါ။
အဘယ်နည်း
gui_ကိုယ်စားပြု
ကိုယ်စားပြုဖော်မတ် ation_b
Multipliers B သွင်းအားများအတွက်?
လက်မှတ်ထိုး၊ လက်မှတ်မထိုးထား၊ ကွဲပြားနိုင်သည်။
`signb' ထည့်သွင်းမှုကို မှတ်ပုံတင်ပါ။
gui_register_s ကိုဖွင့်ပါ။
ignb
ပိတ်သည်။
မူရင်းတန်ဖိုး NONE
မရှိပါ။
ဖော်ပြချက်
addnsub3 မှတ်ပုံတင်ခြင်းအတွက် အညီအမျှ ရှင်းလင်းသော အရင်းအမြစ်ကို သတ်မှတ်ပေးသည်။ ဤကန့်သတ်ချက်ကိုဖွင့်ရန် သင်သည် 'addnsub3' ထည့်သွင်းမှုကို မှတ်ပုံတင်ရန် ရွေးချယ်ရပါမည်။
addnsub3 မှတ်ပုံတင်ခြင်းအတွက် ထပ်တူကျသော ရှင်းလင်းသောအရင်းအမြစ်ကို သတ်မှတ်ပေးသည်။ ဤကန့်သတ်ချက်ကိုဖွင့်ရန် သင်သည် မှတ်ပုံတင်ရန် 'addnsub3' ထည့်သွင်းမှုကို ရွေးချယ်ရပါမည်။
ပိတ်သည်။
လုပ်ဆောင်ချက်ကို ပြောင်းပြန်လှန်ရန် ဤရွေးချယ်မှုကို ရွေးချယ်ပါ။
addnsub input port ၏
နုတ်ခြင်းလုပ်ဆောင်ချက်အတွက် addnsub ကို အမြင့်ဆုံးသို့ မောင်းနှင်ပါ။
ထပ်တိုးလုပ်ဆောင်မှုများအတွက် addnsub ကို low သို့ မောင်းနှင်ပါ။
မူရင်းတန်ဖိုး
ဖော်ပြချက်
လက်မှတ်မထိုးထားဘဲ မြှောက်ကိန်း A ထည့်သွင်းမှုအတွက် ကိုယ်စားပြုဖော်မတ်ကို သတ်မှတ်ပါ။
ပိတ်သည်။
ဆိုင်းဘုတ်ဖွင့်ရန် ဤရွေးချယ်မှုကို ရွေးချယ်ပါ။
မှတ်ပုံတင်။
Multipliers A ထည့်သွင်းမှုများအတွက် ကိုယ်စားပြုဖော်မတ်ဟူသည် အဘယ်နည်းအတွက် VARIABLE တန်ဖိုးကို သင်ရွေးချယ်ရပါမည်။ ဤရွေးချယ်မှုကိုဖွင့်ရန် ကန့်သတ်ချက်။
နာရီ ၃
Signa မှတ်ပုံတင်မှုအတွက် Clock0၊ Clock1 သို့မဟုတ် Clock2 ကိုရွေးချယ်ပြီး input clock signal ကိုဖွင့်ပါ။
ဤကန့်သတ်ချက်ကိုဖွင့်ရန် သင်သည် 'signa' ထည့်သွင်းမှုကို မှတ်ပုံတင်ရန် ရွေးချယ်ရပါမည်။
မရှိပါ။
ဆိုင်းဘုတ်မှတ်ပုံတင်ခြင်းအတွက် အညီအမျှ ရှင်းလင်းသော အရင်းအမြစ်ကို သတ်မှတ်ပါ။
ဤကန့်သတ်ချက်ကိုဖွင့်ရန် သင်သည် 'signa' ထည့်သွင်းမှုကို မှတ်ပုံတင်ရန် ရွေးချယ်ရပါမည်။
မရှိပါ။
ဆိုင်းဘုတ်မှတ်ပုံတင်ခြင်းအတွက် ထပ်တူကျသော ရှင်းလင်းသောအရင်းအမြစ်ကို သတ်မှတ်ပါ။
ဤကန့်သတ်ချက်ကိုဖွင့်ရန် သင်သည် 'signa' ထည့်သွင်းမှုကို မှတ်ပုံတင်ရန် ရွေးချယ်ရပါမည်။
လက်မှတ်မထိုးထားဘဲ မြှောက်ကိန်း B ထည့်သွင်းမှုအတွက် ကိုယ်စားပြုဖော်မတ်ကို သတ်မှတ်ပါ။
ပိတ်သည်။
ဆိုင်းဘုတ်ဖွင့်ရန် ဤရွေးချယ်မှုကို ရွေးချယ်ပါ။
မှတ်ပုံတင်။
ဆက်ရန်…
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
ကန့်သတ်ချက်
IP ထုတ်ပေးသော ကန့်သတ်ချက်
တန်ဖိုး
မူရင်းတန်ဖိုး
နာရီထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
gui_register_s ignb_clock
နာရီ 0 နာရီ 1 နာရီ 2
နာရီ ၃
ပြတ်ပြတ်သားသား ရှင်းရှင်းလင်းလင်း ထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
gui_register_s ignb_aclr
ACLR0 ACLR1 မရှိပါ။
synchronous clear input အတွက် အရင်းအမြစ်က ဘာလဲ။
gui_register_s ignb_sclr
SCLR0 SCLR1 မရှိပါ။
ထည့်သွင်းဖွဲ့စည်းမှု
မြှောက်ကိန်း၏ ထည့်သွင်းမှု A ကို မှတ်ပုံတင်ပါ။
နာရီထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
gui_input_reg ကိုဖွင့်ပါ။
ister_a
ပိတ်သည်။
gui_input_reg ister_a_clock
နာရီ 0 နာရီ 1 နာရီ 2
NONE NONE
နာရီပိတ်
ပြတ်ပြတ်သားသား ရှင်းရှင်းလင်းလင်း ထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
gui_input_reg ister_a_aclr
ACLR0 ACLR1 မရှိပါ။
synchronous clear input အတွက် အရင်းအမြစ်က ဘာလဲ။
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 clear input အတွက် အရင်းအမြစ်က ဘာလဲ။
gui_input_reg ister_b_sclr
SCLR0 SCLR1 မရှိပါ။
မရှိပါ။
အမြှောက်ကိန်း၏ ထည့်သွင်းမှု A သည် အဘယ်နည်း။
gui_multiplier မြှောက်ကိန်း ထည့်သွင်းမှု မြှောက်ကိန်း
_a_ထည့်သွင်းခြင်း။
ကွင်းဆက်ထည့်သွင်းမှု ထည့်သွင်းမှုကို စကင်ဖတ်ပါ။
ဖော်ပြချက်
Multipliers B ထည့်သွင်းမှုများအတွက် ကိုယ်စားပြုဖော်မတ်ဟူသည် အဘယ်နည်းအတွက် VARIABLE တန်ဖိုးကို သင်ရွေးချယ်ရပါမည်။ ဤရွေးချယ်မှုကိုဖွင့်ရန် ကန့်သတ်ချက်။
ဆိုင်းဘုတ်မှတ်ပုံတင်ခြင်းအတွက် Clock0၊ Clock1 သို့မဟုတ် Clock2 ကိုဖွင့်ပြီး ထည့်သွင်းရန် နာရီအချက်ပြမှုကို သတ်မှတ်ပါ။ ဤကန့်သတ်ချက်ကိုဖွင့်ရန် သင်သည် 'signb' ထည့်သွင်းမှုကို မှတ်ပုံတင်ရန် ရွေးချယ်ရပါမည်။
ဆိုင်းဘုတ်မှတ်ပုံတင်ခြင်းအတွက် အညီအမျှ ရှင်းလင်းသော အရင်းအမြစ်ကို သတ်မှတ်ပါ။ ဤကန့်သတ်ချက်ကိုဖွင့်ရန် သင်သည် 'signb' ထည့်သွင်းမှုကို မှတ်ပုံတင်ရန် ရွေးချယ်ရပါမည်။
signb မှတ်ပုံတင်ခြင်းအတွက် ထပ်တူကျသော ရှင်းလင်းသောအရင်းအမြစ်ကို သတ်မှတ်ပါ။ ဤကန့်သတ်ချက်ကိုဖွင့်ရန် သင်သည် 'signb' ထည့်သွင်းမှုကို မှတ်ပုံတင်ရန် ရွေးချယ်ရပါမည်။
dataa input bus အတွက် input register ကိုဖွင့်ရန် ဤရွေးချယ်မှုကို ရွေးချယ်ပါ။
dataa input bus အတွက် မှတ်ပုံတင်ထည့်သွင်းသည့် နာရီအချက်ပြမှုကို ဖွင့်ရန်နှင့် သတ်မှတ်ရန် Clock0၊ Clock1 သို့မဟုတ် Clock2 ကိုရွေးချယ်ပါ။ ဤကန့်သတ်သတ်မှတ်ချက်ကိုဖွင့်ရန် သင်သည် မြှောက်ပေးသူ၏စာရင်းသွင်းထည့်သွင်းမှု A ကိုရွေးချယ်ရပါမည်။
dataa input bus အတွက် မှတ်ပုံတင်ထားသည့် ပြတ်ပြတ်သားသား ရှင်းရှင်းလင်းလင်း ရင်းမြစ်ကို သတ်မှတ်ပေးသည်။ ဤကန့်သတ်သတ်မှတ်ချက်ကိုဖွင့်ရန် သင်သည် မြှောက်ပေးသူ၏စာရင်းသွင်းထည့်သွင်းမှု A ကိုရွေးချယ်ရပါမည်။
dataa input bus အတွက် register synchronous clear source ကို သတ်မှတ်ပေးသည် ။ ဤကန့်သတ်သတ်မှတ်ချက်ကိုဖွင့်ရန် သင်သည် မြှောက်ပေးသူ၏စာရင်းသွင်းထည့်သွင်းမှု A ကိုရွေးချယ်ရပါမည်။
datab input bus အတွက် input register ကိုဖွင့်ရန် ဤရွေးချယ်မှုကို ရွေးချယ်ပါ။
datab input bus အတွက် မှတ်ပုံတင်ထည့်သွင်းသည့် နာရီအချက်ပြမှုကို ဖွင့်ရန်နှင့် သတ်မှတ်ရန် Clock0၊ Clock1 သို့မဟုတ် Clock2 ကိုရွေးချယ်ပါ။ ဤကန့်သတ်သတ်မှတ်ချက်ကိုဖွင့်ရန် သင်သည် မြှောက်စားမှု၏ထည့်သွင်းမှု B ကို မှတ်ပုံတင်ရပါမည်။
datab input bus အတွက် မှတ်ပုံတင်ထားသည့် အတိုင်းအဆမရှိ ရှင်းလင်းသောအရင်းအမြစ်ကို သတ်မှတ်ပေးသည်။ ဤကန့်သတ်သတ်မှတ်ချက်ကိုဖွင့်ရန် သင်သည် မြှောက်စားမှု၏ထည့်သွင်းမှု B ကို မှတ်ပုံတင်ရပါမည်။
datab input bus အတွက် register synchronous clear source ကို သတ်မှတ်ပေးသည် ။ ဤကန့်သတ်သတ်မှတ်ချက်ကိုဖွင့်ရန် သင်သည် မြှောက်စားမှု၏ထည့်သွင်းမှု B ကို မှတ်ပုံတင်ရပါမည်။
ကိန်းဂဏန်း A ၏ ထည့်သွင်းမှုအတွက် ထည့်သွင်းမှုရင်းမြစ်ကို ရွေးပါ။
ဆက်ရန်…
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
ကန့်သတ်ချက်
IP ထုတ်ပေးသော ကန့်သတ်ချက်
တန်ဖိုး
Scanout A Register Configuration
စကင်န်ကွင်းဆက်၏ ရလဒ်ကို မှတ်ပုံတင်ပါ။
gui_scanouta ကိုဖွင့်ပါ။
_စာရင်းသွင်းပါ။
ပိတ်သည်။
နာရီထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
gui_scanouta _register_cloc k
နာရီ 0 နာရီ 1 နာရီ 2
ပြတ်ပြတ်သားသား ရှင်းရှင်းလင်းလင်း ထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
gui_scanouta _register_aclr
ACLR0 ACLR1 မရှိပါ။
synchronous clear input အတွက် အရင်းအမြစ်က ဘာလဲ။
gui_scanouta _register_sclr
SCLR0 SCLR1 မရှိပါ။
၈.၆.၄။ Preadder Tab
Table 33. Preadder Tab
ကန့်သတ်ချက်
IP ထုတ်ပေးသော ကန့်သတ်ချက်
တန်ဖိုး
ပရိတ်ဒါမုဒ်ကို ရွေးပါ။
preadder_mo de
ရိုးရှင်းသော၊ COEF၊ ထည့်သွင်းမှု၊ စတုရန်းပုံ၊ အဆက်မပြတ်
မူရင်းတန်ဖိုး
ဖော်ပြချက်
ကိန်းဂဏန်း၏ရင်းမြစ်အဖြစ် dataa input bus ကိုအသုံးပြုရန် Multiplier input ကိုရွေးချယ်ပါ။ စကင်န်အင်သွင်းဘတ်စ်ကို အရင်းအနှီးအဖြစ် အသုံးပြုရန်နှင့် စကင်ဖတ်အထွက်ဘတ်စ်ကို ဖွင့်ရန်အတွက် စကင်န်ကွင်းဆက်ထည့်သွင်းမှုကို ရွေးချယ်ပါ။ မြှောက်ကိန်းများ၏ အရေအတွက် မည်သည် မည်မျှအတွက် 2၊ 3 သို့မဟုတ် 4 ကို ရွေးချယ်သောအခါ ဤကန့်သတ်ချက်များ ရရှိနိုင်သည်။ ကန့်သတ်ချက်။
နာရီပိတ် 0 NONE မရှိပါ။
scanouta အထွက်ဘတ်စ်အတွက် အထွက်စာရင်းကို ဖွင့်ရန် ဤရွေးချယ်မှုကို ရွေးချယ်ပါ။
မြှောက်ပေးသူနှင့် ချိတ်ဆက်ထားသည့် မြှောက်ကိန်း၏ input A သည် အဘယ်နည်းအတွက် Scan ကွင်းဆက်ထည့်သွင်းမှုကို သင်ရွေးချယ်ရပါမည်။ ဤရွေးချယ်မှုကိုဖွင့်ရန် ကန့်သတ်ချက်။
scanouta အထွက်ဘတ်စ်အတွက် မှတ်ပုံတင်ထားသော နာရီအချက်ပြမှုကို ဖွင့်ပြီး သတ်မှတ်ရန် Clock0၊ Clock1 သို့မဟုတ် Clock2 ကိုရွေးချယ်ပါ။
ဤရွေးချယ်မှုကိုဖွင့်ရန် သင်သည် စကင်န်ကွင်းဆက်ပါရာမီတာ၏ မှတ်ပုံတင်ခြင်းအထွက်ကို ဖွင့်ရပါမည်။
scanouta အထွက်ဘတ်စ်အတွက် မှတ်ပုံတင်ထားသည့် ပြတ်ပြတ်သားသား ရှင်းရှင်းလင်းလင်း ရင်းမြစ်ကို သတ်မှတ်ပေးသည်။
ဤရွေးချယ်မှုကိုဖွင့်ရန် သင်သည် စကင်န်ကွင်းဆက်ပါရာမီတာ၏ မှတ်ပုံတင်ခြင်းအထွက်ကို ဖွင့်ရပါမည်။
scanouta အထွက်ဘတ်စ်အတွက် မှတ်ပုံတင်ထားသည့် ထပ်တူကျသည့် ရှင်းလင်းသောအရင်းအမြစ်ကို သတ်မှတ်ပေးသည်။
ဤရွေးချယ်မှုကိုဖွင့်ရန် သင်သည် စကင်န်ကွင်းဆက်ပါရာမီတာ၏ အထွက်ကို မှတ်ပုံတင်ရန် ရွေးချယ်ရပါမည်။
မူရင်းတန်ဖိုး
ရိုးရှင်းသော
ဖော်ပြချက်
preadder module အတွက် လုပ်ဆောင်ချက်မုဒ်ကို သတ်မှတ်သည်။ ရိုးရှင်းသော- ဤမုဒ်သည် ပဒ်ဒါကို ရှောင်ကွင်းသည်။ ဤသည်မှာ ပုံသေမုဒ်ဖြစ်သည်။ COEF- ဤမုဒ်သည် ပထဒ်ဒါနှင့် coefsel အဝင်ဘတ်စ်၏ အထွက်ကို မြှောက်ကိန်းသို့ သွင်းပေါက်များအဖြစ် အသုံးပြုသည်။ ထည့်သွင်းမှု- ဤမုဒ်သည် ပထဒ်ဒါနှင့် datac အဝင်ဘတ်စ်၏ အထွက်ကို မြှောက်ကိန်းသို့ သွင်းပေါက်များအဖြစ် အသုံးပြုသည်။ စတုရန်း- ဤမုဒ်သည် မြှောက်ကိန်းသို့ သွင်းအား နှစ်ခုလုံးအဖြစ် ပရိတ်ဒါ၏ အထွက်ကို အသုံးပြုသည်။
ဆက်ရန်…
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
ကန့်သတ်ချက်
IP ထုတ်ပေးသော ကန့်သတ်ချက်
တန်ဖိုး
ကြိုတင်လမ်းညွှန်ကို ရွေးပါ။
gui_preadder ADD၊
_ ဦးတည်ချက်
SUB
C width_c ထည့်သွင်းသည့်ဘတ်စ်ကားများသည် မည်မျှကျယ်သင့်သနည်း။
1 – 256
Data C Input Register Configuration
datac ထည့်သွင်းမှုကို မှတ်ပုံတင်ပါ။
gui_datac_inp ကိုဖွင့်ပါ။
ut_register လုပ်ပါ။
ပိတ်သည်။
နာရီထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
gui_datac_inp ut_register_cl လော့ခ်
နာရီ 0 နာရီ 1 နာရီ 2
ပြတ်ပြတ်သားသား ရှင်းရှင်းလင်းလင်း ထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
gui_datac_inp ut_register_a clr
ACLR0 ACLR1 မရှိပါ။
synchronous clear input အတွက် အရင်းအမြစ်က ဘာလဲ။
gui_datac_inp ut_register_sc lr
SCLR0 SCLR1 မရှိပါ။
ကိန်းဂဏန်းများ
coef width မည်မျှ ကျယ်သင့်သနည်း။
width_coef
1 – 27
Coef Register Configuration
coefsel ထည့်သွင်းမှုကို မှတ်ပုံတင်ပါ။
gui_coef_regi On
ster
ပိတ်သည်။
နာရီထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
gui_coef_regi ster_clock
နာရီ 0 နာရီ 1 နာရီ 2
မူရင်းတန်ဖိုး
ထည့်ပါ။
16
ဖော်ပြချက်
CONSTANT- ဤမုဒ်သည် မြှောက်ကိန်းသို့ သွင်းအားများအဖြစ် preadder ကို ကျော်ဖြတ်ပြီး coefsel input bus ဖြင့် dataa input bus ကိုအသုံးပြုသည်။
ပရိတ်ဒါ၏ လုပ်ဆောင်ချက်ကို သတ်မှတ်သည်။ ဤကန့်သတ်ဘောင်ကိုဖွင့်ရန်၊ Select preadder မုဒ်အတွက် အောက်ပါတို့ကို ရွေးပါ- · COEF · ထည့်သွင်းခြင်း · စတုရန်း သို့မဟုတ် · CONSTANT
C input bus အတွက် bit အရေအတွက်ကို သတ်မှတ်သည်။ ဤကန့်သတ်သတ်မှတ်ချက်ကိုဖွင့်ရန် သင်သည် Select preadder မုဒ်အတွက် INPUT ကိုရွေးချယ်ရပါမည်။
Clock0 NONE NONE တွင်
datac input bus အတွက် input register ကိုဖွင့်ရန် ဤရွေးချယ်မှုကို ရွေးချယ်ပါ။ ဤရွေးချယ်မှုကိုဖွင့်ရန်အတွက် သင်သည် preadder မုဒ်ပါရာမီတာကို ရွေးချယ်ရန် INPUT ကို သတ်မှတ်ရပါမည်။
datac input register အတွက် input clock signal ကိုသတ်မှတ်ရန် Clock0၊ Clock1 သို့မဟုတ် Clock2 ကိုရွေးချယ်ပါ။ ဤကန့်သတ်သတ်မှတ်ချက်ကိုဖွင့်ရန် သင်သည် မှတ်ပုံတင်ရန် datac ထည့်သွင်းမှုကို ရွေးချယ်ရပါမည်။
datac ထည့်သွင်းမှုမှတ်ပုံတင်ခြင်းအတွက် အညီအမျှ ရှင်းလင်းသောအရင်းအမြစ်ကို သတ်မှတ်ပေးသည်။ ဤကန့်သတ်သတ်မှတ်ချက်ကိုဖွင့်ရန် သင်သည် မှတ်ပုံတင်ရန် datac ထည့်သွင်းမှုကို ရွေးချယ်ရပါမည်။
datac input register အတွက် synchronous clear source ကို သတ်မှတ်ပေးသည် ။ ဤကန့်သတ်သတ်မှတ်ချက်ကိုဖွင့်ရန် သင်သည် မှတ်ပုံတင်ရန် datac ထည့်သွင်းမှုကို ရွေးချယ်ရပါမည်။
18
အတွက် bit အရေအတွက်ကို သတ်မှတ်ပေးသည်။
coefsel ထည့်သွင်းသည့် ဘတ်စ်ကား။
ဤကန့်သတ်ချက်ကိုဖွင့်ရန် preadder mode အတွက် COEF သို့မဟုတ် CONSTANT ကို ရွေးချယ်ရပါမည်။
နာရီ 0
coefsel input bus အတွက် input register ကိုဖွင့်ရန် ဤရွေးချယ်မှုကို ရွေးချယ်ပါ။ ဤကန့်သတ်ချက်ကိုဖွင့်ရန် preadder mode အတွက် COEF သို့မဟုတ် CONSTANT ကို ရွေးချယ်ရပါမည်။
coefsel ထည့်သွင်းမှုမှတ်ပုံတင်ခြင်းအတွက် ထည့်သွင်းရန် နာရီအချက်ပြမှုကို သတ်မှတ်ရန် Clock0၊ Clock1 သို့မဟုတ် Clock2 ကိုရွေးချယ်ပါ။ ဤကန့်သတ်ချက်ကိုဖွင့်ရန် သင်သည် coefsel ထည့်သွင်းမှုကို မှတ်ပုံတင်ရန် ရွေးချယ်ရပါမည်။
ဆက်ရန်…
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
ကန့်သတ်ချက်
ပြတ်ပြတ်သားသား ရှင်းရှင်းလင်းလင်း ထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
IP ထုတ်ပေးသော ကန့်သတ်ချက်
တန်ဖိုး
gui_coef_regi ster_aclr
ACLR0 ACLR1 မရှိပါ။
synchronous ရှင်းရှင်းလင်းလင်း ထည့်သွင်းမှုအတွက် အရင်းအမြစ်ကဘာလဲ
gui_coef_regi ster_sclr
SCLR0 SCLR1 မရှိပါ။
Coefficient_0 ဖွဲ့စည်းမှု
coef0_0 မှ coef0_7
0x00000 0xFFFFFFFF
Coefficient_1 ဖွဲ့စည်းမှု
coef1_0 မှ coef1_7
0x00000 0xFFFFFFFF
Coefficient_2 ဖွဲ့စည်းမှု
coef2_0 မှ coef2_7
0x00000 0xFFFFFFFF
Coefficient_3 ဖွဲ့စည်းမှု
coef3_0 မှ coef3_7
0x00000 0xFFFFFFFF
၈.၆.၅။ Accumulator Tab
Table 34. Accumulator Tab
ကန့်သတ်ချက်
IP ထုတ်ပေးသော ကန့်သတ်ချက်
တန်ဖိုး
ဓာတ်ပေါင်းစက်ကို ဖွင့်မလား။
accumulator
ဟုတ်တယ်မဟုတ်ဘူး
accumulator လည်ပတ်မှုအမျိုးအစားကဘာလဲ။
accum_directi ADD၊
on
SUB
မူရင်းတန်ဖိုး NONE
မရှိပါ။
က0x0000000 ၅၉
က0x0000000 ၅၉
က0x0000000 ၅၉
က0x0000000 ၅၉
ဖော်ပြချက်
coefsel ထည့်သွင်းမှု မှတ်ပုံတင်ခြင်းအတွက် အညီအမျှ ရှင်းလင်းသော ရင်းမြစ်ကို သတ်မှတ်ပါ။ ဤကန့်သတ်ချက်ကိုဖွင့်ရန် သင်သည် coefsel ထည့်သွင်းမှုကို မှတ်ပုံတင်ရန် ရွေးချယ်ရပါမည်။
coefsel ထည့်သွင်းမှုမှတ်ပုံတင်ခြင်းအတွက် တစ်ပြိုင်နက်တည်း ရှင်းလင်းသောအရင်းအမြစ်ကို သတ်မှတ်ပေးသည်။ ဤကန့်သတ်ချက်ကိုဖွင့်ရန် သင်သည် coefsel ထည့်သွင်းမှုကို မှတ်ပုံတင်ရန် ရွေးချယ်ရပါမည်။
ဤပထမမြှောက်ကိန်းများအတွက် ဖော်ကိန်းတန်ဖိုးများကို သတ်မှတ်ပေးသည်။ ဘစ်များ၏ အရေအတွက်သည် အကျယ်အဝန်း မည်မျှကျယ်သင့်သနည်း တွင် ဖော်ပြထားသည့်အတိုင်း တူညီရပါမည်။ ကန့်သတ်ချက်။ ဤကန့်သတ်ချက်ကိုဖွင့်ရန် preadder mode အတွက် COEF သို့မဟုတ် CONSTANT ကို ရွေးချယ်ရပါမည်။
ဤဒုတိယမြှောက်ကိန်းများအတွက် ဖော်ကိန်းတန်ဖိုးများကို သတ်မှတ်သည်။ ဘစ်များ၏ အရေအတွက်သည် အကျယ်အဝန်း မည်မျှကျယ်သင့်သနည်း တွင် ဖော်ပြထားသည့်အတိုင်း တူညီရပါမည်။ ကန့်သတ်ချက်။ ဤကန့်သတ်ချက်ကိုဖွင့်ရန် preadder mode အတွက် COEF သို့မဟုတ် CONSTANT ကို ရွေးချယ်ရပါမည်။
ဤတတိယမြှောက်ကိန်းများအတွက် ဖော်ကိန်းတန်ဖိုးများကို သတ်မှတ်သည်။ ဘစ်များ၏ အရေအတွက်သည် အကျယ်အဝန်း မည်မျှကျယ်သင့်သနည်း တွင် ဖော်ပြထားသည့်အတိုင်း တူညီရပါမည်။ ကန့်သတ်ချက်။ ဤကန့်သတ်ချက်ကိုဖွင့်ရန် preadder mode အတွက် COEF သို့မဟုတ် CONSTANT ကို ရွေးချယ်ရပါမည်။
ဤစတုတ္ထမြောက်မြှောက်ကိန်းများအတွက် ဖော်ကိန်းတန်ဖိုးများကို သတ်မှတ်သည်။ ဘစ်များ၏ အရေအတွက်သည် အကျယ်အဝန်း မည်မျှကျယ်သင့်သနည်း တွင် ဖော်ပြထားသည့်အတိုင်း တူညီရပါမည်။ ကန့်သတ်ချက်။ ဤကန့်သတ်ချက်ကိုဖွင့်ရန် preadder mode အတွက် COEF သို့မဟုတ် CONSTANT ကို ရွေးချယ်ရပါမည်။
မူရင်းတန်ဖိုး NO
ထည့်ပါ။
ဖော်ပြချက်
ဓာတ်ပေါင်းစက်ကိုဖွင့်ရန် YES ကိုရွေးချယ်ပါ။ accumulator အင်္ဂါရပ်ကိုအသုံးပြုသောအခါတွင် adder unit ၏အထွက်ကို မှတ်ပုံတင်ရန် သင်ရွေးချယ်ရပါမည်။
ဓာတ်ပေါင်းစက်၏ လည်ပတ်မှုကို သတ်မှတ်သည်- · ထပ်တိုးလုပ်ဆောင်မှု အတွက် ADD · နုတ်သည့် လုပ်ဆောင်ချက်အတွက် SUB။ accumulator ကို Enable အတွက် YES ကို ရွေးရပါမည်လား။ ဤရွေးချယ်မှုကိုဖွင့်ရန် ကန့်သတ်ချက်။
ဆက်ရန်…
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
ကန့်သတ်ချက်
Preload Constant သည် preload constant ကိုဖွင့်ပါ။
IP ထုတ်ပေးသော ကန့်သတ်ချက်
တန်ဖိုး
gui_ena_prelo ကိုဖွင့်ပါ။
ad_const
ပိတ်သည်။
စုပြုံဆိပ်ကမ်းနှင့် ချိတ်ဆက်ထားသည့် input သည် အဘယ်နည်း။
gui_accumula ACCUM_SLOAD၊ te_port_select SLOAD_ACCUM
preload loadconst_val 0 – 64 အတွက် တန်ဖိုးကို ရွေးပါ။
ကိန်းသေ
ue
နာရီထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
gui_accum_sl oad_register_ နာရီ
နာရီ 0 နာရီ 1 နာရီ 2
ပြတ်ပြတ်သားသား ရှင်းရှင်းလင်းလင်း ထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
gui_accum_sl oad_register_ aclr
ACLR0 ACLR1 မရှိပါ။
synchronous clear input အတွက် အရင်းအမြစ်က ဘာလဲ။
gui_accum_sl oad_register_ sclr
SCLR0 SCLR1 မရှိပါ။
double accumulator ကိုဖွင့်ပါ။
gui_double_a ကိုဖွင့်ပါ။
ccum
ပိတ်သည်။
မူရင်းတန်ဖိုး
ဖော်ပြချက်
ပိတ်သည်။
accum_sload ကိုဖွင့်ပါ သို့မဟုတ်
sload_accum အချက်ပြမှုများနှင့် ထည့်သွင်းမှုကို မှတ်ပုံတင်ပါ။
input ကို dynamically ရွေးရန်
စုဆောင်းသူ။
accum_sload နည်းသည် သို့မဟုတ် sload_accum ဖြစ်သောအခါ၊ မြှောက်ပေးသည့်အထွက်ကို accumulator ထဲသို့ ဖြည့်သွင်းသည်။
accum_sload မြင့်သည် သို့မဟုတ် sload_accum ဖြစ်သောအခါ၊ အသုံးပြုသူမှ သတ်မှတ်ထားသော preload constant ကို accumulator ထဲသို့ ဖြည့်သွင်းသည်။
accumulator ကို Enable အတွက် YES ကို ရွေးရပါမည်လား။ ဤရွေးချယ်မှုကိုဖွင့်ရန် ကန့်သတ်ချက်။
ACCUM_SL OAD
accum_sload/ sload_accum signal ၏ အပြုအမူကို သတ်မှတ်သည်။
ACCUM_SLOAD- များပြားသောအထွက်ကို accumulator သို့ တင်ရန် accum_sload နိမ့်သော Drive
SLOAD_ACCUM- များပြားသောအထွက်ကို accumulator သို့ တင်ရန် sload_accum မြင့်မားစွာမောင်းနှင်ပါ။
ဤကန့်သတ်သတ်မှတ်ချက်ကိုဖွင့်ရန် သင်သည် အကြိုထည့်သွင်းမှု အဆက်မပြတ်ရွေးချယ်မှုကို ဖွင့်ရန် သင်ရွေးချယ်ရပါမည်။
64
ကြိုတင်သတ်မှတ်ထားသော ကိန်းသေတန်ဖိုးကို သတ်မှတ်ပါ။
N သည် ကြိုတင်သတ်မှတ်ထားသော ကိန်းသေတန်ဖိုးဖြစ်ပြီး ဤတန်ဖိုးသည် 2N ဖြစ်နိုင်ပါသည်။
N=64 ဖြစ်သောအခါ၊ ၎င်းသည် ကိန်းသေ သုညကို ကိုယ်စားပြုသည်။
ဤကန့်သတ်သတ်မှတ်ချက်ကိုဖွင့်ရန် သင်သည် အကြိုထည့်သွင်းမှု အဆက်မပြတ်ရွေးချယ်မှုကို ဖွင့်ရန် သင်ရွေးချယ်ရပါမည်။
နာရီ ၃
accum_sload/sload_accum မှတ်ပုံတင်ခြင်းအတွက် ထည့်သွင်းရန် နာရီအချက်ပြမှုကို သတ်မှတ်ရန် Clock0၊ Clock1 သို့မဟုတ် Clock2 ကိုရွေးချယ်ပါ။
ဤကန့်သတ်သတ်မှတ်ချက်ကိုဖွင့်ရန် သင်သည် အကြိုထည့်သွင်းမှု အဆက်မပြတ်ရွေးချယ်မှုကို ဖွင့်ရန် သင်ရွေးချယ်ရပါမည်။
မရှိပါ။
accum_sload/sload_accum မှတ်ပုံတင်ခြင်းအတွက် အညီအမျှ ရှင်းလင်းသော အရင်းအမြစ်ကို သတ်မှတ်ပေးသည်။
ဤကန့်သတ်သတ်မှတ်ချက်ကိုဖွင့်ရန် သင်သည် အကြိုထည့်သွင်းမှု အဆက်မပြတ်ရွေးချယ်မှုကို ဖွင့်ရန် သင်ရွေးချယ်ရပါမည်။
မရှိပါ။
accum_sload/sload_accum မှတ်ပုံတင်ခြင်းအတွက် ထပ်တူကျသော ရှင်းလင်းသောအရင်းအမြစ်ကို သတ်မှတ်ပေးသည်။
ဤကန့်သတ်သတ်မှတ်ချက်ကိုဖွင့်ရန် သင်သည် အကြိုထည့်သွင်းမှု အဆက်မပြတ်ရွေးချယ်မှုကို ဖွင့်ရန် သင်ရွေးချယ်ရပါမည်။
ပိတ်သည်။
double accumulator မှတ်ပုံတင်ခြင်းကို ဖွင့်ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
၈.၆.၆။ Systolic/ Chainout တဘ်
ဇယား 35။ Systolic/Chainout Adder တဘ်
Parameter သည် chainout adder ကိုဖွင့်ပါ။
IP ထုတ်ပေးသော ကန့်သတ်ချက်
တန်ဖိုး
chainout_add YES၊
er
မဟုတ်ဘူး
chainout adder လည်ပတ်မှုအမျိုးအစားကဘာလဲ။
chainout_add ADD၊
er_direction
SUB
chainout adder အတွက် 'negate' ထည့်သွင်းမှုကို ဖွင့်မလား။
Port_negate
PORT_USED၊ PORT_UNUSED
'negate' ထည့်သွင်းမှုကို မှတ်ပုံတင်မလား။ negate_regist လုပ်ပါ။
စာရင်းမသွင်းရသေးသော၊ CLOCK0၊ CLOCK1၊ CLOCK2၊ CLOCK3
ပြတ်ပြတ်သားသား ရှင်းရှင်းလင်းလင်း ထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
negate_aclr
ACLR0 ACLR1 မရှိပါ။
synchronous clear input အတွက် အရင်းအမြစ်က ဘာလဲ။
negate_sclr
SCLR0 SCLR1 မရှိပါ။
Systolic Delay
systolic နှောင့်နှေးမှုစာရင်းများကိုဖွင့်ပါ။
gui_systolic_d ကိုဖွင့်ပါ။
ဟေး
ပိတ်သည်။
နာရီထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
gui_systolic_d CLOCK0၊
elay_နာရီ
နာရီ ၁၊
မူရင်းတန်ဖိုး
မဟုတ်ဘူး
ဖော်ပြချက်
chainout adder module ကိုဖွင့်ရန် YES ကိုရွေးချယ်ပါ။
ထည့်ပါ။
chainout adder လုပ်ဆောင်ချက်ကို သတ်မှတ်သည်။
နုတ်ခြင်းလုပ်ဆောင်ခြင်းအတွက်၊ SIGNED ကို မြှောက်စားများ A ထည့်သွင်းမှုများအတွက် ကိုယ်စားပြုဖော်မတ်ဟူသည် အဘယ်နည်း။ နှင့် Multipliers B သွင်းအားစုများအတွက် ကိုယ်စားပြုမှုပုံစံကား အဘယ်နည်း။ Multipliers Tab တွင်။
PORT_UN အသုံးပြုခဲ့သည်။
negate input signal ကိုဖွင့်ရန် PORT_USED ကိုရွေးပါ။
လိုင်းခွဲပေါင်းထည့်ခြင်းကို ပိတ်ထားသည့်အခါ ဤကန့်သတ်ချက်သည် မမှန်ကန်ပါ။
စာရင်းမသွင်းဘဲ ဖျက်ပစ်လိုက်တယ်။
negate input signal အတွက် input register ကိုဖွင့်ရန်နှင့် negate register အတွက် input clock signal ကို သတ်မှတ်ပေးပါသည်။
Negate ထည့်သွင်းမှု မှတ်ပုံတင်ရန် မလိုအပ်ပါက စာရင်းသွင်းခြင်းမပြုဘဲ ရွေးချယ်ပါ။
သင်ရွေးချယ်သောအခါ ဤကန့်သတ်ချက်သည် မမှန်ကန်ပါ
· chainout adder ကိုဖွင့်ရန် သို့မဟုတ် မရှိပါ။
· chainout adder အတွက် 'negate' input ကို Enable အတွက် PORT_UNUSED? parameter သို့မဟုတ်
မရှိပါ။
negate မှတ်ပုံတင်ခြင်းအတွက် အညီအမျှ ရှင်းလင်းသော အရင်းအမြစ်ကို သတ်မှတ်ပါ။
သင်ရွေးချယ်သောအခါ ဤကန့်သတ်ချက်သည် မမှန်ကန်ပါ
· chainout adder ကိုဖွင့်ရန် သို့မဟုတ် မရှိပါ။
· chainout adder အတွက် 'negate' input ကို Enable အတွက် PORT_UNUSED? parameter သို့မဟုတ်
မရှိပါ။
negate မှတ်ပုံတင်ခြင်းအတွက် synchronous clear source ကို သတ်မှတ်ပေးသည်။
သင်ရွေးချယ်သောအခါ ဤကန့်သတ်ချက်သည် မမှန်ကန်ပါ
· chainout adder ကိုဖွင့်ရန် သို့မဟုတ် မရှိပါ။
· chainout adder အတွက် 'negate' input ကို Enable အတွက် PORT_UNUSED? parameter သို့မဟုတ်
CLOCK0 ပိတ်ပါ။
systolic မုဒ်ကိုဖွင့်ရန် ဤရွေးချယ်မှုကို ရွေးချယ်ပါ။ သင် 2 သို့မဟုတ် 4 ကို မြှောက်ပေးသည့် အရေအတွက် မည်သည်အတွက် ကန့်သတ်ချက် ကို ရွေးချယ်သောအခါတွင် ဤဘောင်ကို ရနိုင်သည်။ ကန့်သတ်ချက်။ systolic နှောင့်နှေးမှု မှတ်ပုံတင်မှုများကို အသုံးပြုရန်အတွက် adder ယူနစ်၏ မှတ်ပုံတင်ခြင်းအထွက်ကို သင်ဖွင့်ထားရပါမည်။
systolic နှောင့်နှေးမှု မှတ်ပုံတင်ခြင်းအတွက် input clock signal ကို သတ်မှတ်ပေးသည် ။
ဆက်ရန်…
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
ကန့်သတ်ချက်
IP ထုတ်ပေးသော ကန့်သတ်ချက်
တန်ဖိုး
နာရီ ၁၊
ပြတ်ပြတ်သားသား ရှင်းရှင်းလင်းလင်း ထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
gui_systolic_d elay_aclr
ACLR0 ACLR1 မရှိပါ။
synchronous clear input အတွက် အရင်းအမြစ်က ဘာလဲ။
gui_systolic_d elay_sclr
SCLR0 SCLR1 မရှိပါ။
မူရင်းတန်ဖိုး
မရှိပါ။
မရှိပါ။
ဖော်ပြချက်
ဤရွေးချယ်မှုကိုဖွင့်ရန် သင်သည် systolic နှောင့်နှေးမှုစာရင်းများကိုဖွင့်ရန် သင်ရွေးချယ်ရပါမည်။
systolic နှောင့်နှေးမှု မှတ်ပုံတင်ခြင်းအတွက် အညီအမျှ ရှင်းလင်းသော အရင်းအမြစ်ကို သတ်မှတ်ပေးသည်။ ဤရွေးချယ်မှုကိုဖွင့်ရန် သင်သည် systolic နှောင့်နှေးမှုစာရင်းများကိုဖွင့်ရန် သင်ရွေးချယ်ရပါမည်။
systolic နှောင့်နှေးမှု မှတ်ပုံတင်ခြင်းအတွက် တစ်ပြိုင်နက်တည်း ရှင်းလင်းသောအရင်းအမြစ်ကို သတ်မှတ်ပေးသည်။ ဤရွေးချယ်မှုကိုဖွင့်ရန် သင်သည် systolic နှောင့်နှေးမှုစာရင်းများကိုဖွင့်ရန် သင်ရွေးချယ်ရပါမည်။
၄.၆.၃။ ပိုက်လိုင်းတက်ဘ်
Table 36. Pipelining Tab
ကန့်သတ် ပိုက်လိုင်းထည့်သွင်းခြင်း ဖွဲ့စည်းမှု
IP ထုတ်ပေးသော ကန့်သတ်ချက်
တန်ဖိုး
ထည့်သွင်းမှုတွင် ပိုက်လိုင်းမှတ်ပုံတင်ခြင်းကို ထည့်လိုပါသလား။
gui_pipelining မဟုတ်ဘူး၊ ဟုတ်ကဲ့
မူရင်းတန်ဖိုး
မရှိ
ကျေးဇူးပြု၍ သတ်မှတ်ပေးပါ။
စောင့်နေချိန်
latency နာရီ အရေအတွက်
သံသရာ
0 ထက် 0 ပိုကြီးသည့်တန်ဖိုး
နာရီထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
gui_input_late ncy_clock
CLOCK0၊ CLOCK1၊ CLOCK2
ပြတ်ပြတ်သားသား ရှင်းရှင်းလင်းလင်း ထည့်သွင်းခြင်းအတွက် အရင်းအမြစ်ကား အဘယ်နည်း။
gui_input_late ncy_aclr
ACLR0 ACLR1 မရှိပါ။
synchronous clear input အတွက် အရင်းအမြစ်က ဘာလဲ။
gui_input_late ncy_sclr
SCLR0 SCLR1 မရှိပါ။
နာရီ 0 မရှိပါ။
ဖော်ပြချက်
အဝင်အချက်ပြမှုများထံ ပိုက်လိုင်းမှတ်ပုံတင်ခြင်းအဆင့်ကို ဖွင့်ရန် Yes ကိုရွေးချယ်ပါ။ 0 ထက်ကြီးသောတန်ဖိုးကို သတ်မှတ်ရပါမည်
နာရီစက်ဝန်းများတွင် လိုချင်သော latency ကို သတ်မှတ်သည်။ ပိုက်လိုင်းမှတ်ပုံတင်ခြင်းအဆင့် = နာရီစက်ဝန်းတွင် latency 1 ခု။ ပိုက်လိုင်းမှတ်ပုံတင်ခြင်းကို ထည့်သွင်းလိုပါသလား။ ဤရွေးချယ်မှုကို ဖွင့်ရန်။
ပိုက်လိုင်း မှတ်ပုံတင်ထည့်သွင်းခြင်း နာရီအချက်ပြမှုကို ဖွင့်ပြီး သတ်မှတ်ရန် Clock0၊ Clock1 သို့မဟုတ် Clock2 ကိုရွေးချယ်ပါ။ ပိုက်လိုင်းမှတ်ပုံတင်ခြင်းကို ထည့်သွင်းလိုပါသလား။ ဤရွေးချယ်မှုကို ဖွင့်ရန်။
နောက်ထပ် ပိုက်လိုင်း မှတ်ပုံတင်ခြင်းအတွက် ပြတ်ပြတ်သားသား ရှင်းရှင်းလင်းလင်း ရင်းမြစ်ကို မှတ်ပုံတင်ရန် သတ်မှတ်ပါ။ ပိုက်လိုင်းမှတ်ပုံတင်ခြင်းကို ထည့်သွင်းလိုပါသလား။ ဤရွေးချယ်မှုကို ဖွင့်ရန်။
နောက်ထပ် ပိုက်လိုင်း မှတ်ပုံတင်ခြင်းအတွက် ထပ်တူကျသည့် ရှင်းရှင်းလင်းလင်း ရင်းမြစ်ကို မှတ်ပုံတင်ရန် သတ်မှတ်ပေးသည်။ ပိုက်လိုင်းမှတ်ပုံတင်ခြင်းကို ထည့်သွင်းလိုပါသလား။ ဤရွေးချယ်မှုကို ဖွင့်ရန်။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
683490 | 2020.10.05 တုံ့ပြန်ချက်ပေးပို့ပါ။
9. ALTMEMMULT (Memory-based Constant Coefficient Multiplier) IP Core
အာရုံစူးစိုက်မှု-
Intel သည် Intel Quartus Prime Pro Edition ဗားရှင်း 20.3 တွင် ဤ IP ပံ့ပိုးမှုကို ဖယ်ရှားခဲ့သည်။ သင့်ဒီဇိုင်းရှိ IP core သည် Intel Quartus Prime Pro Edition ရှိ စက်များကို ပစ်မှတ်ထားပါက၊ သင်သည် IP ကို LPM_MULT Intel FPGA IP ဖြင့် အစားထိုးနိုင်သည် သို့မဟုတ် IP ကို ပြန်လည်ထုတ်လုပ်ပြီး Intel Quartus Prime Standard Edition ဆော့ဖ်ဝဲလ်ကို အသုံးပြု၍ သင့်ဒီဇိုင်းကို စုစည်းနိုင်ပါသည်။
ALTMEMMULT IP core ကို Intel FPGAs (M512၊ M4K၊ M9K နှင့် MLAB မမ်မိုရီဘလောက်များပါသော) တွင်ရှိသော onchip memory blocks များကိုအသုံးပြု၍ memory-based multipliers များကိုဖန်တီးရန်အသုံးပြုပါသည်။ လော့ဂျစ်ဒြပ်စင်များ (LEs) သို့မဟုတ် သီးသန့်မြှောက်စားသည့်ရင်းမြစ်များတွင် မြှောက်ကိန်းများကို အကောင်အထည်ဖော်ရန် လုံလောက်သောအရင်းအမြစ်များ မရှိလျှင် ဤ IP core သည် အသုံးဝင်သည်။
ALTMEMMULT IP core သည် နာရီတစ်လုံးလိုအပ်သော ချိန်ကိုက်လုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ALTMEMMULT IP core သည် ပေးထားသော ကန့်သတ်ချက်များနှင့် သတ်မှတ်ချက်များ အတွက် ဖြစ်နိုင်သည့် အသေးငယ်ဆုံး ဖြတ်သန်းမှုနှင့် latency ဖြင့် မြှောက်ပေးသည်။
အောက်ပါပုံသည် ALTMEMMULT IP core အတွက် ports များကိုပြသထားသည်။
ပုံ 21. ALTMEMMULT ဆိပ်ကမ်းများ
AlTMEMMULT
data_in[] sload_data coeff_in[]
ရလဒ်[] result_valid load_done
sload_coeff
sclr နာရီ
inst
စာမျက်နှာ 71 ရှိ ဆက်စပ်အချက်အလက်များ အင်္ဂါရပ်များ
9.1. အင်္ဂါရပ်များ
ALTMEMMULT IP core သည် အောက်ပါအင်္ဂါရပ်များကို ပေးဆောင်သည်- · တွင်တွေ့ရသော on-chip memory blocks များကို အသုံးပြု၍ memory-based multipliers များကိုသာဖန်တီးသည်
Intel FPGAs · ဒေတာအကျယ် 1 ဘစ်များကို ပံ့ပိုးပေးသည် · လက်မှတ်ရေးထိုးပြီး လက်မှတ်မထိုးထားသည့် ဒေတာကိုယ်စားပြုဖော်မတ်ကို ပံ့ပိုးပေးသည် · ပုံသေထွက်ရှိမှု latency ဖြင့် ပိုက်လိုင်းကို ပံ့ပိုးပေးသည်
Intel ကော်ပိုရေးရှင်း။ မူပိုင်ခွင့်များရယူပြီး။ Intel၊ Intel လိုဂိုနှင့် အခြားသော Intel အမှတ်အသားများသည် Intel ကော်ပိုရေးရှင်း သို့မဟုတ် ၎င်း၏လုပ်ငန်းခွဲများ၏ အမှတ်တံဆိပ်များဖြစ်သည်။ Intel သည် Intel ၏ စံအာမခံချက်နှင့်အညီ ၎င်း၏ FPGA နှင့် တစ်ပိုင်းလျှပ်ကူးပစ္စည်းထုတ်ကုန်များ၏ စွမ်းဆောင်ရည်ကို လက်ရှိ သတ်မှတ်ချက်များအတိုင်း အာမခံထားသော်လည်း မည်သည့်ထုတ်ကုန်နှင့် ဝန်ဆောင်မှုများကိုမဆို အသိပေးခြင်းမရှိဘဲ အချိန်မရွေး အပြောင်းအလဲပြုလုပ်ပိုင်ခွင့်ကို လက်ဝယ်ရှိပါသည်။ Intel မှ စာဖြင့် အတိအလင်း သဘောတူထားသည့်အတိုင်း ဤနေရာတွင် ဖော်ပြထားသော အချက်အလက်၊ ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုကို အသုံးပြုခြင်း သို့မဟုတ် အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော တာဝန် သို့မဟုတ် တာဝန်ခံမှု မရှိဟု ယူဆပါသည်။ Intel သုံးစွဲသူများသည် ထုတ်ဝေထားသော အချက်အလက်များနှင့် ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုများအတွက် အမှာစာမတင်မီ နောက်ဆုံးဗားရှင်းကို ရယူရန် အကြံပြုအပ်ပါသည်။ *အခြားအမည်များနှင့် အမှတ်တံဆိပ်များကို အခြားသူများ၏ပိုင်ဆိုင်မှုအဖြစ် တောင်းဆိုနိုင်ပါသည်။
ISO 9001:2015 မှတ်ပုံတင်ထားသည်။
9. ALTMEMMULT (Memory-based Constant Coefficient Multiplier) IP Core 683490 | 2020.10.05
· ကျပန်းအသုံးပြုခွင့်မှတ်ဉာဏ် (RAM) တွင် များပြားသောကိန်းသေများကို သိမ်းဆည်းသည်
· RAM ဘလောက်အမျိုးအစားကို ရွေးချယ်ရန် ရွေးချယ်ခွင့်တစ်ခု ပေးသည်။
· ရွေးချယ်နိုင်သော synchronous clear and load-control input ports များကို ပံ့ပိုးပေးသည်။
၂.၂။ Verilog HDL Prototype
အောက်ပါ Verilog HDL ရှေ့ပြေးပုံစံသည် Verilog ဒီဇိုင်းတွင် တည်ရှိသည်။ File (.v) altera_mf.v ၌ eda ပေါင်းစပ်မှုလမ်းညွှန်။
module altmemmult #( ပါရာမီတာ coeff_representation = “SIGNED”၊ ပါရာမီတာ coefficient0 = “UNUSED”၊ ပါရာမီတာ data_representation = “SIGNED”၊ ပါရာမီတာရည်ရွယ်ချက်_device_family = “အသုံးမပြုသော”၊ ပါရာမီတာ max_clock_cycles_per_result = 1_ဘောင်မီတာ၊ အမျိုးအစားအလိုက် ကန့်သတ်ချက် total_latency = 1၊ ပါရာမီတာ width_c = 1၊ ကန့်သတ်ဘောင် width_d = 1၊ ပါရာမီတာ width_r = 1၊ ကန့်သတ်ဘောင် width_s = 1၊ ကန့်သတ်ချက် lpm_type = “altmemmult”၊ ကန့်သတ်ချက် lpm_hint = “unused”) (အဝင်ဝါယာကြိုးနာရီ၊ အဝင်ဝါယာကြိုး [width_c-1- 1]coeff_in၊ အဝင်ဝါယာကြိုး [width_d-0:1] data_in၊ အထွက်ဝါယာကြိုး load_done၊ အထွက်ဝါယာကြိုး [width_r-0:1] ရလဒ်၊ အထွက်ဝါယာကြိုး result_valid၊ input wire sclr၊ input wire [width_s-0:1] sel၊ အသွင်း ဝါယာကြိုး sload_coeff၊ အဝင်ဝါယာကြိုး sload_data)/* ပေါင်းစပ်မှု syn_black_box=0 */; endmodule
၂.၃။ VHDL အစိတ်အပိုင်းကြေငြာချက်
VHDL အစိတ်အပိုင်း ကြေငြာချက်သည် VHDL ဒီဇိုင်းတွင် တည်ရှိသည်။ File (.vhd) altera_mf_components.vhd ထဲတွင် librariesvhdlaltera_mf လမ်းညွှန်။
အစိတ်အပိုင်း altmemmult ယေဘုယျ ( coeff_representation:string := “SIGNED”; coefficient0:string := “UNUSED”; data_representation:string := “SIGNED”; purpose_device_family:string := “unused”; max_clock_cycles_peral_result:= “unused”; max_clock_cycles_peral_result: := 1; ram_block_type:string := “AUTO”; total_latency:natural; width_c:natural; width_d:natural; width_r:natural; width_s:natural :=1; lpm_hint:string := “UNUSED”; lpm_type:string := "altmemmult"); port(clock:in std_logic; coeff_in:in std_logic_vector(width_c-1 အောက်သို့ 1) := (others => '0'); data_in:in std_logic_vector(width_d-0 အောက်သို့ 1);
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
တုံ့ပြန်ချက်ပေးပို့ပါ။
9. ALTMEMMULT (Memory-based Constant Coefficient Multiplier) IP Core 683490 | 2020.10.05
load_done: out std_logic; ရလဒ်- std_logic_vector(width_r-1 မှ 0 သို့ ဆင်းသည်); ရလဒ်_valid: out std_logic; sclr:in std_logic := '0'; sel:in std_logic_vector(width_s-1 အောက်သို့ 0) := (အခြားသူများ => '0'); sload_coeff:in std_logic := '0'; sload_data: in std_logic := '0'); အဆုံးအစိတ်အပိုင်း;
9.4. ဆိပ်ကမ်းများ
အောက်ပါဇယားများသည် ALTMEMMULT IP core အတွက် အဝင်နှင့် အထွက်ပေါက်များကို စာရင်းပြုစုထားသည်။
Table 37. ALTMEMMULT Input Ports
ဆိပ်ကမ်းအမည်
လိုအပ်သည်။
ဖော်ပြချက်
နာရီ
ဟုတ်ကဲ့
မြှောက်ကိန်းသို့ နာရီထည့်သွင်းခြင်း။
coeff_in[]
မရှိ
မြှောက်ကိန်းအတွက် ကိန်းဂဏန်းထည့်ဝင်ပေါက်။ အဝင်ပေါက်၏ အရွယ်အစားသည် WIDTH_C ပါရာမီတာတန်ဖိုးပေါ်တွင် မူတည်သည်။
data_in[]
ဟုတ်ကဲ့
ကိန်းဂဏန်းသို့ ဒေတာအဝင်ပေါက်။ အဝင်ပေါက်၏ အရွယ်အစားသည် WIDTH_D ပါရာမီတာတန်ဖိုးပေါ်တွင် မူတည်သည်။
sclr
မရှိ
ထပ်တူကျသော ရှင်းလင်းထည့်သွင်းမှု။ အသုံးမပြုပါက၊ မူရင်းတန်ဖိုးသည် မြင့်မားသည်။
ဆဲလ်[]
မရှိ
ပုံသေ coefficient ရွေးချယ်မှု။ အဝင်ပေါက်၏ အရွယ်အစားသည် WIDTH_S ပေါ်တွင် မူတည်သည်။
ကန့်သတ်တန်ဖိုး။
sload_coeff
မရှိ
synchronous load coefficient အဝင်ပေါက်။ coeff_in ထည့်သွင်းမှုတွင် သတ်မှတ်ထားသော တန်ဖိုးနှင့် လက်ရှိရွေးချယ်ထားသော ဖော်ကိန်းတန်ဖိုးကို အစားထိုးပါ။
sload_data
မရှိ
synchronous load data input port။ မြှောက်ခြင်းလုပ်ငန်းအသစ်ကို သတ်မှတ်ပေးပြီး ရှိပြီးသား ပွားခြင်းလုပ်ငန်းကို ပယ်ဖျက်သည့် အချက်ပြမှု။ MAX_CLOCK_CYCLES_PER_RESULT ဘောင်တွင် တန်ဖိုး 1 ရှိပါက၊ sload_data ထည့်သွင်းသည့် ပေါက်ကို လျစ်လျူရှုထားသည်။
Table 38. ALTMEMMULT Output Ports
ဆိပ်ကမ်းအမည်
လိုအပ်သည်။
ဖော်ပြချက်
ရလဒ်[]
ဟုတ်ကဲ့
အမြှောက်အထွက်ပေါက်။ အဝင်ပေါက်၏ အရွယ်အစားသည် WIDTH_R ပါရာမီတာတန်ဖိုးပေါ်တွင် မူတည်သည်။
ရလဒ်_မှန်ကန်သည်။
ဟုတ်ကဲ့
အထွက်သည် ပြီးပြည့်စုံသော အမြှောက်၏ မှန်ကန်သောရလဒ်ဖြစ်သည့်အခါ ညွှန်ပြသည်။ MAX_CLOCK_CYCLES_PER_RESULT ဘောင်တွင် တန်ဖိုး 1 ရှိပါက၊ result_valid output port ကို အသုံးမပြုပါ။
load_done
မရှိ
ကိန်းဂဏန်းအသစ်ကို တင်ခြင်းပြီးဆုံးသည့်အခါ ဖော်ပြသည်။ ကိန်းဂဏန်းအသစ်တစ်ခု တင်ပြီးသွားသောအခါ load_done အချက်ပြမှု က အတည်ပြုသည်။ load_done signal သည် မြင့်မားခြင်းမရှိပါက၊ memory ထဲသို့ အခြား coefficient တန်ဖိုးကို ထည့်သွင်း၍မရပါ။
၂
အောက်ပါဇယားသည် ALTMEMMULT IP core အတွက် ကန့်သတ်ချက်များကို စာရင်းပြုစုထားသည်။
ဇယား ၁။
WIDTH_D WIDTH_C
ATMEMMULT ကန့်သတ်ချက်များ
ကန့်သတ်အမည်
လိုအပ်သောအမျိုးအစား
ဖော်ပြချက်
ကိန်းပြည့် ဟုတ်ကဲ့
data_in[] port ၏ အကျယ်ကို သတ်မှတ်သည်။
ကိန်းပြည့် ဟုတ်ကဲ့
coeff_in[] port ၏ အကျယ်ကို သတ်မှတ်သည်။ ဆက်ရန်…
တုံ့ပြန်ချက်ပေးပို့ပါ။
Intel FPGA Integer Arithmetic IP Cores အသုံးပြုသူလမ်းညွှန် ၂
9. ALTMEMMULT (Memory-based Constant Coefficient Multiplier) IP Core 683490 | 2020.10.05
ကန့်သတ်ချက်အမည် WIDTH_R WIDTH
စာရွက်စာတမ်းများ / အရင်းအမြစ်များ
![]() |
intel FPGA Integer Arithmetic IP Cores [pdf] အသုံးပြုသူလမ်းညွှန် FPGA Integer Arithmetic IP Cores၊ Integer Arithmetic IP Cores၊ Arithmetic IP Cores၊ IP Cores |