Intel-LOGO

intel Native Loopback Accelerator Functional Unit (AFU)

intel-Native-Loopback-Accelerator-Functional-Unit-(AFU)-PRO

ဤစာရွက်စာတမ်းအကြောင်း

သဘောတူညီချက်များ
ဇယား 1. စာရွက်စာတမ်း သဘောတူညီချက်များ

ကွန်ဗင်းရှင်း ဖော်ပြချက်
# command ကို root အဖြစ်ရိုက်ထည့်ရမည်ဟုညွှန်ပြသော command ကိုရှေ့တွင်။
$ အသုံးပြုသူတစ်ဦးအနေဖြင့် ထည့်သွင်းရမည့် အမိန့်ကို ညွှန်ပြသည်။
ဒီဖောင့် Fileအမည်များ၊ အမိန့်များနှင့် သော့ချက်စာလုံးများကို ဤဖောင့်တွင် ရိုက်နှိပ်ထားသည်။ ရှည်လျားသော အမိန့်ပေးစာကြောင်းများကို ဤဖောင့်ဖြင့် ရိုက်နှိပ်ထားသည်။ ရှည်လျားသော အမိန့်ပေးစာကြောင်းများသည် နောက်စာကြောင်းသို့ ခြုံလွှမ်းသွားသော်လည်း၊ enter မနှိပ်ပါနဲ့။
ထောင့်ကွင်းစကွက်များကြားတွင် ပေါ်လာသည့် နေရာယူထားသော စာသားကို သင့်လျော်သောတန်ဖိုးဖြင့် အစားထိုးရပါမည်။ ထောင့်ကွင်းများကို မထည့်ပါနှင့်။

အတိုကောက်
ဇယား 2. အတိုကောက်

အတိုကောက် ချဲ့ထွင်ခြင်း။ ဖော်ပြချက်
AF အရှိန်မြှင့်လုပ်ဆောင်မှု Compiled Hardware Accelerator ရုပ်ပုံသည် အပလီကေးရှင်းကို အရှိန်မြှင့်ပေးသည့် FPGA ယုတ္တိဗေဒတွင် အကောင်အထည်ဖော်ထားသည်။
AFU အရှိန်မြှင့် လုပ်ဆောင်ချက် ယူနစ် စွမ်းဆောင်ရည်မြှင့်တင်ရန် CPU မှ အက်ပလီကေးရှင်းအတွက် တွက်ချက်မှုဆိုင်ရာလုပ်ဆောင်ချက်ကို ဖယ်ရှားပေးသည့် FPGA ယုတ္တိဗေဒတွင် ဟာ့ဒ်ဝဲ အရှိန်မြှင့်ကိရိယာကို အကောင်အထည်ဖော်ထားသည်။
API Application Programming Interface ဆော့ဖ်ဝဲအပလီကေးရှင်းများတည်ဆောက်ခြင်းအတွက် လုပ်ရိုးလုပ်စဉ်အခွဲများ အဓိပ္ပါယ်ဖွင့်ဆိုချက်များ၊ ပရိုတိုကောများနှင့် ကိရိယာအစုံ။
ASE AFU သရုပ်သကန်ပတ်ဝန်းကျင် တူညီသော host အပလီကေးရှင်းနှင့် AF ကို simulation ပတ်ဝန်းကျင်တွင် အသုံးပြုရန် ခွင့်ပြုသည့် ပူးတွဲသရုပ်ဖော်ပတ်ဝန်းကျင်။ ASE သည် FPGAs အတွက် Intel® Acceleration Stack ၏ တစ်စိတ်တစ်ပိုင်းဖြစ်သည်။
CCI-P Core Cache Interface CCI-P သည် host နှင့် ဆက်သွယ်ရန်အတွက် AFUs အသုံးပြုသည့် စံအင်တာဖေ့စ်ဖြစ်သည်။
CL ကက်ရှ်လိုင်း 64-byte ကက်ရှ်လိုင်း
DFH ကိရိယာ အင်္ဂါရပ် ခေါင်းစီး အင်္ဂါရပ်များထည့်ရန် တိုးချဲ့နိုင်သောနည်းလမ်းကို ပံ့ပိုးပေးရန်အတွက် ချိတ်ဆက်ထားသော အင်္ဂါရပ်များစာရင်းကို ဖန်တီးပါ။
FIM FPGA အင်တာဖေ့စ်မန်နေဂျာ FPGA Interface Unit (FIU) နှင့် Memory၊ Networking စသည်တို့အတွက် ပြင်ပအင်တာဖေ့စ်များ ပါဝင်သော FPGA ဟာ့ဒ်ဝဲ။

Accelerator Function (AF) သည် အလုပ်လုပ်ချိန်၌ FIM နှင့် ချိတ်ဆက်သည်။

FIU FPGA Interface ယူနစ် FIU သည် PCIe*၊ UPI နှင့် CCI-P ကဲ့သို့သော ပလတ်ဖောင်းအင်တာဖေ့စ်များကြား ပေါင်းကူးအဖြစ် လုပ်ဆောင်သည့် ပလပ်ဖောင်းအင်တာဖေ့စ်အလွှာတစ်ခုဖြစ်သည်။
ဆက်ရန်…

Intel ကော်ပိုရေးရှင်း။ မူပိုင်ခွင့်များရယူပြီး။ Intel၊ Intel လိုဂိုနှင့် အခြားသော Intel အမှတ်အသားများသည် Intel ကော်ပိုရေးရှင်း သို့မဟုတ် ၎င်း၏လုပ်ငန်းခွဲများ၏ အမှတ်တံဆိပ်များဖြစ်သည်။ Intel သည် Intel ၏ စံအာမခံချက်နှင့်အညီ ၎င်း၏ FPGA နှင့် တစ်ပိုင်းလျှပ်ကူးပစ္စည်းထုတ်ကုန်များ၏ စွမ်းဆောင်ရည်ကို လက်ရှိ သတ်မှတ်ချက်များအတိုင်း အာမခံထားသော်လည်း မည်သည့်ထုတ်ကုန်နှင့် ဝန်ဆောင်မှုများကိုမဆို အသိပေးခြင်းမရှိဘဲ အချိန်မရွေး အပြောင်းအလဲပြုလုပ်ပိုင်ခွင့်ကို လက်ဝယ်ရှိပါသည်။ Intel မှ စာဖြင့် အတိအလင်း သဘောတူထားသည့်အတိုင်း ဤနေရာတွင် ဖော်ပြထားသော အချက်အလက်၊ ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုကို အသုံးပြုခြင်း သို့မဟုတ် အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော တာဝန် သို့မဟုတ် တာဝန်ခံမှု မရှိဟု ယူဆပါသည်။ Intel သုံးစွဲသူများသည် ထုတ်ဝေထားသော အချက်အလက်များနှင့် ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုများအတွက် အမှာစာမတင်မီ နောက်ဆုံးဗားရှင်းကို ရယူရန် အကြံပြုအပ်ပါသည်။ *အခြားအမည်များနှင့် အမှတ်တံဆိပ်များကို အခြားသူများ၏ပိုင်ဆိုင်မှုအဖြစ် တောင်းဆိုနိုင်ပါသည်။

အတိုကောက် ချဲ့ထွင်ခြင်း။ ဖော်ပြချက်
MPF Memory Properties စက်ရုံ MPF သည် FIU နှင့် အရောင်းအ၀ယ်ပြုလုပ်ရန်အတွက် CCI-P အသွားအလာပုံသဏ္ဍာန်လုပ်ဆောင်မှုများကို AFU များအသုံးပြုနိုင်သည့် အခြေခံအဆောက်အဦ (BBB) ​​တစ်ခုဖြစ်သည်။
မက်ဆေ့ချ် စာတို မက်ဆေ့ချ် - ထိန်းချုပ်မှုသတိပေးချက်
NLB မူရင်းလှည့်ကွက် NLB သည် ချိတ်ဆက်မှုနှင့် ဖြတ်သန်းမှုကို စမ်းသပ်ရန်အတွက် CCI-P လင့်ခ်သို့ ဖတ်ရှုခြင်းနှင့် စာရေးခြင်းများ လုပ်ဆောင်သည်။
RdLine_I လိုင်းမမှန်ကန်ပါ Memory Read Request ၊ FPGA cache အရိပ်အမြွက်သည် မမှန်ကန်ဟု သတ်မှတ်ထားသည်။ လိုင်းကို FPGA တွင် သိမ်းဆည်းမထားသော်လည်း FPGA ကက်ရှ်ကို ညစ်ညမ်းစေနိုင်သည်။

မှတ်ချက် - cache ကို tag Intel Ultra Path Interconnect (Intel UPI) ရှိ ထင်ရှားသော တောင်းဆိုချက်အားလုံးအတွက် တောင်းဆိုမှုအခြေအနေကို ခြေရာခံပါ။

ထို့ကြောင့်၊ ပြီးစီးချိန်တွင် RdLine_I သည် မမှန်ကန်ကြောင်း အမှတ်အသားပြုသော်လည်း၊ ၎င်းသည် ကက်ရှ်ကို စားသုံးသည်။ tag UPI မှ တောင်းဆိုမှု အခြေအနေကို ခြေရာခံရန် ယာယီ။ ဤလုပ်ဆောင်ချက်သည် ကက်ရှ်လိုင်းကို နှင်ထုတ်ခြင်းဖြစ်စေနိုင်ပြီး ကက်ရှ်ညစ်ညမ်းမှုကို ဖြစ်စေသည်။ အာဗန်tagRdLine_I ကိုအသုံးပြုခြင်း၏ e မှာ CPU directory မှ ခြေရာခံခြင်းမဟုတ်ပေ။ ထို့ကြောင့် ၎င်းသည် CPU မှ snooping ကိုကာကွယ်ပေးသည်။

RdLine-S လိုင်းကို မျှဝေပြီး ဖတ်ပါ။ FPGA ကက်ရှ် အရိပ်အမြွက်နှင့်အတူ မျှဝေရန် သတ်မှတ်ထားသော မမ်မိုရီဖတ်ခြင်း တောင်းဆိုချက်။ ၎င်းကို FPGA ကက်ရှ်တွင် မျှဝေထားသည့် အခြေအနေတွင် ထားရှိရန် ကြိုးစားသည်။
WrLine_I လိုင်းမမှန်ကန်ကြောင်း ရေးပါ။ Memory Write Request ၊ FPGA cache အရိပ်အမြွက်ကို Invalid ဟုသတ်မှတ်ထားသည်။ FIU သည် အချက်အလက်များကို FPGA cache တွင်သိမ်းဆည်းရန်ရည်ရွယ်ချက်မရှိဘဲ ဒေတာကိုရေးသားသည်။
WrLine_M Line Modified ရေးပါ။ Memory Write Request ၊ FPGA cache အရိပ်အမြွက်ကို Modified ဟုသတ်မှတ်ထားသည်။ FIU သည် အချက်အလက်များကို ရေးပြီး FPGA cache တွင် ပြုပြင်ထားသော အခြေအနေတွင် ထားခဲ့သည်။

အရှိန်အဟုန် ဝေါဟာရ
ဇယား 3. Intel Xeon® CPU အတွက် Acceleration Stack FPGAs ဝေါဟာရ ပါရှိသည်။

ဖိုးသူတော် အတိုကောက် ဖော်ပြချက်
FPGAs ပါသော Intel Xeon® CPU အတွက် Intel Acceleration Stack အရှိန်မြှင့်ခြင်း Intel FPGA နှင့် Intel Xeon ပရိုဆက်ဆာအကြား စွမ်းဆောင်ရည်- အကောင်းဆုံးချိတ်ဆက်မှုကို ပံ့ပိုးပေးသည့် ဆော့ဖ်ဝဲ၊ ဆော့ဖ်ဝဲနှင့် ကိရိယာများ စုစည်းမှု။
Intel FPGA Programmable Acceleration Card (Intel FPGA PAC) Intel FPGA PAC PCIe FPGA အရှိန်မြှင့်ကတ်။ PCIe ဘတ်စ်ကားပေါ်တွင် Intel Xeon ပရိုဆက်ဆာနှင့်တွဲဖက်သည့် FPGA Interface Manager (FIM) ပါရှိသည်။

Native Loopback Accelerator Functional Unit (AFU)

Native Loopback (NLB) AFU ကျော်view

  • NLB ၎ample AFUs တွင် Verilog နှင့် System Verilog အစုအဝေးများ ပါဝင်သည်။ files သည် မမ်မိုရီဖတ်ခြင်းနှင့်ရေးခြင်း၊ bandwidth နှင့် latency ကိုစမ်းသပ်ရန်။
  • ဤပက်ကေ့ချ်တွင် တူညီသော RTL အရင်းအမြစ်မှ သင်တည်ဆောက်နိုင်သော AFU သုံးခုပါဝင်သည်။ RTL အရင်းအမြစ်ကုဒ်၏ သင်၏ဖွဲ့စည်းပုံသည် ဤ AFU များကို ဖန်တီးပေးသည်။

NLB Sample Accelerator Function (AF)
$OPAE_PLATFORM_ROOT/hw/samples directory သည် အောက်ပါ NLB များအတွက် အရင်းအမြစ်ကုဒ်ကို သိမ်းဆည်းထားသည်။ample AFUs-

  • nlb_mode_0
  • nlb_mode_0_stp
  • nlb_mode_3

မှတ်ချက် - $DCP_LOC/hw/samples directory သည် NLB s ကို သိမ်းဆည်းသည်။ample AFUs 1.0 ထုတ်ဝေမှုအထုပ်အတွက် အရင်းအမြစ်ကုဒ်။

NLB ကိုနားလည်ရန်ample AFU အရင်းအမြစ်ကုဒ်ဖွဲ့စည်းပုံနှင့် ၎င်းကိုတည်ဆောက်ပုံ၊ အောက်ပါ Quick Start Guides များထဲမှ တစ်ခုကို ကိုးကားပါ (သင်အသုံးပြုနေသည့် Intel FPGA PAC အပေါ် မူတည်၍)

  • Intel Arria® 10 GX FPGA ဖြင့် Intel PAC ကိုအသုံးပြုနေပါက Intel Arria 10 GX FPGA ပါရှိသော IntelProgrammable Acceleration Card ကို ကိုးကားပါ။
  • Intel FPGA PAC D5005 ကို သင်အသုံးပြုနေပါက Intel FPGA Programmable Acceleration Card D5005 အတွက် Intel Acceleration Stack အမြန်စတင်လမ်းညွှန်ကို ကိုးကားပါ။

ထုတ်ဝေမှု ပက်ကေ့ဂျ်တွင် အောက်ပါ သုံးခုကို ပံ့ပိုးပေးသည်။ample AFs-

  • NLB မုဒ် 0 AF- lpbk1 စမ်းသပ်မှုကို လုပ်ဆောင်ရန် hello_fpga သို့မဟုတ် fpgadiag အသုံးဝင်မှု လိုအပ်ပါသည်။
  • NLB မုဒ် 3 AF- trupt၊ ဖတ်ရန်၊ ရေးခြင်း စမ်းသပ်မှုများကို လုပ်ဆောင်ရန် fpgadiag အသုံးဝင်မှု လိုအပ်ပါသည်။
  • NLB မုဒ် 0 stp AF- lpbak1 စမ်းသပ်မှုကို လုပ်ဆောင်ရန် hello_fpga သို့မဟုတ် fpgadiag အသုံးဝင်မှု လိုအပ်ပါသည်။
    မှတ်ချက် - nlb_mode_0_stp သည် nlb_mode_0 ကဲ့သို့ AFU နှင့် တူညီသော်လည်း Signal Tap အမှားရှာပြင်ခြင်းအင်္ဂါရပ်ကို ဖွင့်ထားသည်။
    fpgadiag နှင့် hello_fpga utilities များသည် FPGA ဟာ့ဒ်ဝဲပေါ်တွင် ရှာဖွေစစ်ဆေးခြင်း၊ စမ်းသပ်ခြင်းနှင့် အစီရင်ခံရန် သင့်လျော်သော AF ကို ကူညီပေးသည်။

Intel ကော်ပိုရေးရှင်း။ မူပိုင်ခွင့်များရယူပြီး။ Intel၊ Intel လိုဂိုနှင့် အခြားသော Intel အမှတ်အသားများသည် Intel ကော်ပိုရေးရှင်း သို့မဟုတ် ၎င်း၏လုပ်ငန်းခွဲများ၏ အမှတ်တံဆိပ်များဖြစ်သည်။ Intel သည် Intel ၏ စံအာမခံချက်နှင့်အညီ ၎င်း၏ FPGA နှင့် တစ်ပိုင်းလျှပ်ကူးပစ္စည်းထုတ်ကုန်များ၏ စွမ်းဆောင်ရည်ကို လက်ရှိ သတ်မှတ်ချက်များအတိုင်း အာမခံထားသော်လည်း မည်သည့်ထုတ်ကုန်နှင့် ဝန်ဆောင်မှုများကိုမဆို အသိပေးခြင်းမရှိဘဲ အချိန်မရွေး အပြောင်းအလဲပြုလုပ်ပိုင်ခွင့်ကို လက်ဝယ်ရှိပါသည်။ Intel မှ စာဖြင့် အတိအလင်း သဘောတူထားသည့်အတိုင်း ဤနေရာတွင် ဖော်ပြထားသော အချက်အလက်၊ ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုကို အသုံးပြုခြင်း သို့မဟုတ် အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော တာဝန် သို့မဟုတ် တာဝန်ခံမှု မရှိဟု ယူဆပါသည်။ Intel သုံးစွဲသူများသည် ထုတ်ဝေထားသော အချက်အလက်များနှင့် ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုများအတွက် အမှာစာမတင်မီ နောက်ဆုံးဗားရှင်းကို ရယူရန် အကြံပြုအပ်ပါသည်။ *အခြားအမည်များနှင့် အမှတ်တံဆိပ်များကို အခြားသူများ၏ပိုင်ဆိုင်မှုအဖြစ် တောင်းဆိုနိုင်ပါသည်။

ပုံ 1. Native Loopback (nlb_lpbk.sv) ထိပ်တန်းအဆင့် Wrapper

intel-Native-Loopback-Accelerator-Functional-Unit-(AFU)-1

ဇယား 4. NLB Files

File နာမည် ဖော်ပြချက်
nlb_lpbk.sv တောင်းဆိုသူနှင့် ခုံသမာဓိလူကြီးတို့ကို လှုံ့ဆော်ပေးသည့် NLB အတွက် ထိပ်တန်းအဆင့် ထုပ်ပိုးမှု။
arbiter.sv စမ်းသပ်မှု AF ကို လှုံ့ဆော်ပေးသည်။
တောင်းဆိုသူ.sv ခုံသမာဓိလူကြီးထံမှ တောင်းဆိုချက်များကို လက်ခံပြီး CCI-P သတ်မှတ်ချက်အတိုင်း တောင်းဆိုချက်များကို ပုံစံချပါ။ Flow Control ကိုလည်း အကောင်အထည်ဖော်ပါတယ်။
nlb_csr.sv 64-bit read/write Control and Status (CSR) registers ကို အကောင်အထည်ဖော်ပါ။ မှတ်ပုံတင်များသည် 32- နှင့် 64-bit နှစ်ခုစလုံးကို ဖတ်ရှုနိုင်ပြီး ရေးနိုင်သည်။
nlb_gram_sdp.sv ရေးမှတ်တစ်ခုနှင့် ဖတ်ရှုရမည့် ပေါက်တစ်ခုပါရှိသော ယေဘူယျ dual-port RAM ကို အကောင်အထည်ဖော်ပါ။

NLB သည် FPGAs Core Cache Interface (CCI-P) ရည်ညွှန်းချက်လက်စွဲပါ Intel Xeon CPU အတွက် Intel Acceleration Stack နှင့် တွဲဖက်အသုံးပြုနိုင်သော AFU ၏ ရည်ညွှန်းအကောင်အထည်ဖော်မှုတစ်ခုဖြစ်သည်။ NLB ၏ အဓိကလုပ်ဆောင်ချက်မှာ မတူညီသော memory access ပုံစံများကို အသုံးပြု၍ လက်ခံချိတ်ဆက်မှုကို တရားဝင်အောင်ပြုလုပ်ရန်ဖြစ်သည်။ NLB သည် bandwidth နှင့် read/write latency ကိုတိုင်းတာသည်။ Bandwidth စမ်းသပ်မှုတွင် အောက်ပါရွေးချယ်စရာများ ရှိသည်။

  • 100% ဖတ်တယ်။
  • 100% ရေးပါ။
  • 50% ဖတ်ပြီး 50% ရေးတယ်။

ဆက်စပ်အချက်အလက်

  • Arria 10 GX FPGA ပါသော Intel Programmable Acceleration Card အတွက် Intel Acceleration Stack အမြန်စတင်လမ်းညွှန်
  • FPGAs Core Cache Interface (CCI-P) ရည်ညွှန်းချက်လက်စွဲပါရှိသော Intel Xeon CPU အတွက် Acceleration Stack
  • Intel FPGA Programmable Acceleration Card D5005 အတွက် Intel Acceleration Stack အမြန်စတင်လမ်းညွှန်

မူလ Loopback ထိန်းချုပ်မှုနှင့် အခြေအနေ မှတ်ပုံတင်ခြင်း ဖော်ပြချက်
ဇယား 5. CSR အမည်များ၊ လိပ်စာများနှင့် ဖော်ပြချက်များ

 ဘိုက်လိပ်စာ (OPAE) စကားလုံး လိပ်စာ (CCI-P)  သုံးစွဲခွင့်  နာမည်  အကျယ်  ဖော်ပြချက်
က0x0000 က0x0000 RO DFH 64 AF ကိရိယာ အင်္ဂါရပ် ခေါင်းစီး။
က0x0008 က0x0002 RO AFU_ID_L 64 AF ID နိမ့်သည်။
က0x0010 က0x0004 RO AFU_ID_H 64 AF ID မြင့်မားသည်။
က0x0018 က0x0006 Rsvd CSR_DFH_RSVD0 64 မဖြစ်မနေ ၀ယ်ပါ။
က0x0020 က0x0008 RO CSR_DFH_RSVD1 64 မဖြစ်မနေ ၀ယ်ပါ။
က0x0100 က0x0040 RW CSR_SCRATCHPAD0 64 Scratchpad ကို register ၀င်ပါ။
က0x0108 က0x0042 RW CSR_SCRATCHPAD1 64 Scratchpad ကို register ၀င်ပါ။
က0x0110 က0x0044 RW CSR_AFU_DSM_BASE L 32 AF DSM အခြေခံလိပ်စာ၏ 32-bits အောက်။ လိပ်စာသည် 6-byte ကက်ရှ်လိုင်းအရွယ်အစားနှင့် လိုက်လျောညီထွေဖြစ်သောကြောင့် အောက် 4 bits သည် 00×64 ဖြစ်သည်။
က0x0114 က0x0045 RW CSR_AFU_DSM_BASE H 32 AF DSM အခြေခံ လိပ်စာ၏ အထက် 32-ဘစ်။
က0x0120 က0x0048 RW CSR_SRC_ADDR 64 အရင်းအမြစ်ကြားခံအတွက် ရုပ်ပိုင်းဆိုင်ရာလိပ်စာကို စတင်ပါ။ ဖတ်ရှုရန် တောင်းဆိုချက်အားလုံးသည် ဤဒေသကို ဦးတည်သည်။
က0x0128 0x004A RW CSR_DST_ADDR 64 ဦးတည်ရာကြားခံအတွက် ရုပ်ပိုင်းဆိုင်ရာလိပ်စာကို စတင်ပါ။ စာရေးတောင်းဆိုမှုအားလုံးသည် ဤဒေသကို ဦးတည်သည်။
က0x0130 ၃၂x၄၁C RW CSR_NUM_LINES 32 ကက်ရှ်လိုင်းအရေအတွက်။
က0x0138 0x004E RW CSR_CTL 32 စမ်းသပ်စီးဆင်းမှု၊ စတင်ရန်၊ ရပ်တန့်ရန်၊ အင်အားဖြည့်တင်းမှုကို ထိန်းချုပ်သည်။
က0x0140 က0x0050 RW CSR_CFG 32 စမ်းသပ်မှုဘောင်များကို စီစဉ်သတ်မှတ်ပေးသည်။
က0x0148 က0x0052 RW CSR_INACT_THRESH 32 မလှုပ်ရှားမှု ကန့်သတ်ချက်။
က0x0150 က0x0054 RW CSR_INTERRUPT0 32 SW သည် Interrupt APIC ID နှင့် Vector ကို စက်သို့ ခွဲဝေပေးသည်။
DSM အော့ဖ်ဆက်မြေပုံ
က0x0040 က0x0010 RO DSM_STATUS 32 စမ်းသပ်မှုအခြေအနေနှင့် အမှားအယွင်း မှတ်ပုံတင်ခြင်း။

ဇယား 6. CSR Bit Fields Examples
ဤဇယားသည် CSR_NUM_LINES ၏တန်ဖိုးအပေါ် မူတည်သော CSR ဘစ်အကွက်များကို စာရင်းပြုစုသည်၊ . ဟောင်း၌ample အောက်တွင် = ၁၄။

နာမည် ဘစ်အကွက် သုံးစွဲခွင့် ဖော်ပြချက်
CSR_SRC_ADDR [၆၃:] RW 2^(N+6)MB သည် read buffer ၏အစတွင် ညှိထားသောလိပ်စာဖြစ်သည်။
[-1:0] RW 0x0။
CSR_DST_ADDR [၆၃:] RW 2^(N+6)MB သည် ရေးရန်ကြားခံ၏အစတွင် ညှိထားသည့်လိပ်စာကို ညွှန်သည်။
[-1:0] RW 0x0။
CSR_NUM_LINES [၆၃:] RW 0x0။
ဆက်ရန်…
နာမည် ဘစ်အကွက် သုံးစွဲခွင့် ဖော်ပြချက်
  [-1:0] RW ဖတ်ရန် စာရေးရန် ကက်ရှ် လိုင်းအရေအတွက်။ စမ်းသပ်မှု AF တစ်ခုစီအတွက် ဤအဆင့်သတ်မှတ်ချက်သည် ကွဲပြားနိုင်ပါသည်။

မှတ်ချက် - အရင်းအမြစ်နှင့် ဦးတည်ရာကြားခံများသည် ၎င်းတို့ကို လိုက်လျောညီထွေဖြစ်စေရန် လုံလောက်သောကြီးမားကြောင်း သေချာပါစေ။ cache လိုင်းများ။

CSR_NUM_LINES သည် ထက်နည်းသည် သို့မဟုတ် ညီမျှသင့်သည်။ .

အောက်ပါတန်ဖိုးများအတွက် ယူဆပါ။ =၁၄။ ထို့နောက်၊ CSR_SRC_ADDR နှင့် CSR_DST_ADDR 14^2 (20x0) လက်ခံသည်။
CSR_SRC_ADDR [31:14] RW 1MB ညှိထားသောလိပ်စာ။
[13:0] RW 0x0။
CSR_DST_ADDR [31:14] RW 1MB ညှိထားသောလိပ်စာ။
[13:0] RW 0x0။
CSR_NUM_LINES [31:14] RW 0x0။
[13:0] RW ဖတ်ရန် စာရေးရန် ကက်ရှ် လိုင်းအရေအတွက်။ စမ်းသပ်မှု AF တစ်ခုစီအတွက် ဤအဆင့်သတ်မှတ်ချက်သည် ကွဲပြားနိုင်ပါသည်။

မှတ်ချက် - အရင်းအမြစ်နှင့် ဦးတည်ရာကြားခံများသည် ၎င်းတို့ကို လိုက်လျောညီထွေဖြစ်စေရန် လုံလောက်သောကြီးမားကြောင်း သေချာပါစေ။ cache လိုင်းများ။

ဇယား ၇။ ထပ်လောင်း CSR ဘစ်အကွက်များ

နာမည် ဘစ်အကွက် သုံးစွဲခွင့် ဖော်ပြချက်
CSR_CTL [31:3] RW လက်ဝယ်ရှိတယ်။
[2] RW အတင်းအကြပ် စာမေးပွဲပြီးအောင်။ စမ်းသပ်ပြီးစီးမှုအလံနှင့် အခြားစွမ်းဆောင်ရည်ကောင်တာများကို csr_stat သို့ ရေးပါ။ အတင်းအကြပ် စစ်ဆေးမှု ပြီးဆုံးပြီးနောက်၊ ဟာ့ဒ်ဝဲလ် အခြေအနေသည် အတင်းအကြပ် စစ်ဆေးမှု ပြီးဆုံးခြင်း နှင့် တူညီပါသည်။
[1] RW စမ်းသပ်လုပ်ဆောင်မှုကို စတင်သည်။
[0] RW တက်ကြွမှုနည်းသော စမ်းသပ်မှု ပြန်လည်သတ်မှတ်ခြင်း။ နိမ့်သောအခါ၊ ဖွဲ့စည်းမှုဘောင်အားလုံးသည် ၎င်းတို့၏ မူရင်းတန်ဖိုးများအဖြစ် ပြောင်းလဲသွားပါသည်။
CSR_CFG [29] RW cr_interrupt_testmode သည် စမ်းသပ်မှုများ နှောင့်ယှက်သည်။ စမ်းသပ်မှုတစ်ခုစီ၏အဆုံးတွင် ကြားဖြတ်တစ်ခုထုတ်ပေးသည်။
  [28] RW cr_interrupt_on_error သည် error ရှိသောအခါတွင် ကြားဖြတ်တစ်ခု ပေးပို့သည်။
      ထောက်လှမ်းခြင်း။
  [27:20] RW cr_test_cfg သည် စမ်းသပ်မှုမုဒ်တစ်ခုစီ၏ အပြုအမူကို သတ်မှတ်ပေးသည်။
  [13:12] RW cr_chsel သည် virtual ချန်နယ်ကို ရွေးသည်။
  [10:9] RW cr_rdsel သည် ဖတ်ရန် တောင်းဆိုမှု အမျိုးအစားကို သတ်မှတ်ပေးသည်။ ကုဒ်နံပါတ်များပါရှိသည်။
      အောက်ပါတရားဝင်တန်ဖိုးများ-
      • 1'b00- RdLine_S
      • 2'b01- RdLine_I
      • 2'b11- ရောနှောထားသောမုဒ်
  [8] RW cr_delay_en သည် တောင်းဆိုချက်များကြားတွင် ကျပန်းနှောင့်နှေးထည့်သွင်းမှုကို ဖွင့်ပေးသည်။
  [6:5] RW စမ်းသပ်မုဒ်၊cr_multiCL-len ကို စီစဉ်သတ်မှတ်သည်။ မှန်ကန်သောတန်ဖိုးများသည် 0,1၊3 နှင့် XNUMX ဖြစ်သည်။
  [4:2] RW cr_mode၊ စမ်းသပ်မုဒ်ကို စီစဉ်ပေးသည်။ အောက်ပါတန်ဖိုးများသည် တရားဝင်သည်-
      • 3'b000: LPBK1
      • 3'b001: ဖတ်ပါ။
      • 3'b010- ရေးပါ။
      • 3'b011: TRPUT
ဆက်ရန်…
နာမည် ဘစ်အကွက် သုံးစွဲခွင့် ဖော်ပြချက်
      စမ်းသပ်မုဒ်အကြောင်း နောက်ထပ်အချက်အလက်များအတွက်၊ ကိုကိုးကားပါ။ စမ်းသပ်မုဒ်များ အောက်ပါအကြောင်းအရာ။
[1] RW c_cont သည် စမ်းသပ်မှုအလှည့်အပြောင်း သို့မဟုတ် စမ်းသပ်မှုရပ်စဲခြင်းကို ရွေးချယ်သည်။

• 1'b0 ရှိသောအခါ၊ စစ်ဆေးမှုသည် ရပ်စဲသည်။ CSR အခြေအနေကို အပ်ဒိတ်လုပ်သည့်အခါ

CSR_NUM_LINES အရေအတွက်သို့ ရောက်ရှိသွားပါပြီ။

• 1'b1 သည် CSR_NUM_LINES ရေတွက်မှုသို့ရောက်ရှိပြီးနောက် စမ်းသပ်မှုစတင်သည့်လိပ်စာသို့ ရောက်ရှိလာသည်။ အလှည့်အပြောင်းမုဒ်တွင်၊ အမှားအယွင်းရှိမှသာ စမ်းသပ်မှုကို အဆုံးသတ်သည်။

[0] RW cr_wrthru_en သည် WrLine_I နှင့် Wrline_M တောင်းဆိုမှုအမျိုးအစားများကြားတွင် ခလုတ်များပြောင်းသည်။

• 1'b0- WrLine_M

• 1'b1- WrLine_I

CSR_INACT_THRESHOLD [31:0] RW မလှုပ်ရှားမှု ကန့်သတ်ချက်။ စမ်းသပ်လည်ပတ်နေစဉ်အတွင်း စျေးဆိုင်များ၏ကြာချိန်ကို သိရှိနိုင်သည်။ ဆက်တိုက် မလှုပ်မရှား သံသရာ အရေအတွက်ကို ရေတွက်သည်။ လှုပ်ရှားမှုမရှိရင် ရေတွက်ပါ။

> CSR_INACT_THRESHOLD၊ တောင်းဆိုချက်မပို့ပါ၊ တုံ့ပြန်မှုများမရှိပါ။

လက်ခံရရှိပြီး inact_timeout signal ကို သတ်မှတ်ပေးထားသည်။ 1 သို့ CSR_CTL[1] ဟုရေးခြင်းသည် ဤကောင်တာကို အသက်သွင်းသည်။

CSR_INTERRUPT0 [23:16] RW စက်အတွက် Interrupt Vector Number
[15:0] RW apic_id သည် စက်အတွက် APIC OD ဖြစ်သည်။
DSM_STATUS [511:256] RO စမ်းသပ်မှုမုဒ်တွင် အမှားအယွင်းရှိနေပါသည်။
[255:224] RO End Overhead။
[223:192] RO Overhead စတင်ပါ။
[191:160] RO ရေးသူအရေအတွက်။
[159:128] RO Reads အရေအတွက်။
[127:64] RO နာရီအရေအတွက်။
[63:32] RO စမ်းသပ်မှုအမှား မှတ်ပုံတင်ခြင်း။
[31:16] RO အောင်မြင်မှုကောင်တာကို နှိုင်းယှဉ်ပြီး လဲလှယ်ပါ။
[15:1] RO DSM အခြေအနေတစ်ခုစီအတွက် သီးသန့် ID ရေးပါ။
[0] RO စမ်းသပ်ပြီးစီးမှုအလံ။

စမ်းသပ်မုဒ်များ
CSR_CFG[4:2] စမ်းသပ်မုဒ်ကို စီစဉ်သတ်မှတ်သည်။ အောက်ပါစမ်းသပ်မှုလေးခုကို ရရှိနိုင်ပါသည်။

  • LPBK1- ဒါက memory copy test ပါ။ AF သည် CSR_NUM_LINES ကို အရင်းအမြစ်ကြားခံမှ ဦးတည်ရာကြားခံသို့ ကူးယူသည်။ စမ်းသပ်မှုပြီးဆုံးသောအခါ၊ ဆော့ဖ်ဝဲသည် အရင်းအမြစ်နှင့် ဦးတည်ရာကို ကြားခံအား နှိုင်းယှဉ်ပေးသည်။
  • ဖတ်ရန်- ဤစမ်းသပ်မှုသည် ဖတ်ရှုခြင်းလမ်းကြောင်းကို အလေးပေးပြီး ဘတ်ဘန်းဝဒ် သို့မဟုတ် latency ကို တိုင်းတာသည်။ AF သည် CSR_SRC_ADDR မှစတင်၍ CSR_NUM_LINES ကိုဖတ်သည်။ ၎င်းသည် bandwidth သို့မဟုတ် latency test တစ်ခုသာဖြစ်သည်။ ဒေတာဖတ်တာကို အတည်မပြုပါဘူး။
  • ရေးပါ ဤစမ်းသပ်မှုသည် စာရေးလမ်းကြောင်းကို အလေးပေးဖော်ပြပြီး လှိုင်းနှုန်း သို့မဟုတ် latency ကို ရေးသားပါ။ AF သည် CSR_SRC_ADDR မှစတင်၍ CSR_NUM_LINES ကိုဖတ်သည်။ ၎င်းသည် bandwidth သို့မဟုတ် latency test တစ်ခုသာဖြစ်သည်။ ရေးထားတဲ့ အချက်အလက်ကို မစိစစ်ပါဘူး။
  • အမှန်တရား- ဤစမ်းသပ်မှုသည် ဖတ်ရှုခြင်းနှင့် ရေးခြင်းတို့ကို ပေါင်းစပ်ထားသည်။ ၎င်းသည် CSR_SRC_ADDR တည်နေရာမှစတင်၍ CSR_NUM_LINES ကိုဖတ်ပြီး CSR_NUM_LINES သို့ CSR_SRC_ADDR ဟုရေးသည်။ ၎င်းသည် read and write bandwidthကိုလည်း တိုင်းတာသည်။ ဒီစမ်းသပ်မှုက အချက်အလက်ကို မစစ်ဆေးပါဘူး။ ရေးခြင်း၊ ဖတ်ခြင်းမှာ မှီခိုမှု မရှိပါ။

အောက်ပါဇယားသည် စမ်းသပ်မှုလေးခုအတွက် CSR_CFG ကုဒ်နံပါတ်များကို ပြသထားသည်။ ဤဇယားနှင့် CSR_NUM_LINES၊ =၁၄။ CSR_NUM_LINES မှတ်ပုံတင်ခြင်းကို မွမ်းမံခြင်းဖြင့် သင်သည် ကက်ရှ်လိုင်းအရေအတွက်ကို ပြောင်းလဲနိုင်သည်။

ဇယား 8. စမ်းသပ်မုဒ်များ

FPGA ရောဂါရှာဖွေရေး- fpgadiag
fpgadiag utility တွင် FPGA ဟာ့ဒ်ဝဲကို စစ်ဆေးရန်၊ စမ်းသပ်ရန်နှင့် အစီရင်ခံရန် စမ်းသပ်မှုများစွာ ပါဝင်သည်။ စမ်းသပ်မှုမုဒ်အားလုံးကို လုပ်ဆောင်ရန် fpgadiag utility ကိုသုံးပါ။ fpgadiag utility ကိုအသုံးပြုခြင်းနှင့်ပတ်သက်သော နောက်ထပ်အချက်အလက်များအတွက်၊ Open Programmable Acceleration Engine (OPAE) Tools လမ်းညွှန်ရှိ fpgadiag ကဏ္ဍကို ဖတ်ရှုပါ။

NLB Mode0 Hello_FPGA စမ်းသပ်စီးဆင်းမှု

  1. Software သည် Device Status Memory (DSM) ကို သုညသို့ စတင်သည်။
  2. Software သည် AFU သို့ DSM BASE လိပ်စာကို ရေးသားသည်။ CSR ရေးသားခြင်း(DSM_BASE_H)၊ CSRWrite(DSM_BASE_L)
  3. ဆော့ဖ်ဝဲသည် အရင်းအမြစ်နှင့် ဦးတည်ရာမှတ်ဉာဏ်ကြားခံကို ပြင်ဆင်သည်။ ဤပြင်ဆင်မှုသည် စမ်းသပ်မှုသီးသန့်ဖြစ်သည်။
  4. ဆော့ဖ်ဝဲသည် CSR_CTL[2:0]= 0x1 ဟု ရေးသားသည်။ ဤရေးသားမှုသည် စမ်းသပ်မှုကို ပြန်လည်သတ်မှတ်ခြင်းနှင့် ဖွဲ့စည်းမှုမုဒ်သို့ ပို့ဆောင်ပေးသည်။ CSR_CTL[0]=1 & CSR_CTL[1]=1 ရှိမှသာ ဖွဲ့စည်းမှုပုံစံကို ဆက်လက်လုပ်ဆောင်နိုင်သည်။
  5. ဆော့ဖ်ဝဲလ်သည် src၊ destaddress၊ csr_cfg၊ နံပါတ်လိုင်းများနှင့် အခြားအရာများကဲ့သို့သော စမ်းသပ်မှုဘောင်များကို ပြင်ဆင်သတ်မှတ်ပေးသည်။
  6. ဆော့ဖ်ဝဲလ် CSR သည် CSR_CTL[2:0]= 0x3 ဟု ရေးသားသည်။ AF သည် စမ်းသပ်မှုကို စတင်သည်။
  7. စာမေးပွဲ ပြီးမြောက်ခြင်း-
    • စမ်းသပ်မှုပြီးဆုံးသောအခါ သို့မဟုတ် အမှားအယွင်းတစ်ခုကို တွေ့ရှိသောအခါ ဟာ့ဒ်ဝဲသည် ပြီးမြောက်သည်။ ပြီးစီးသောအခါ၊ ဟာ့ဒ်ဝဲ AF သည် DSM_STATUS ကို အပ်ဒိတ်လုပ်သည်။ ဆော့ဖ်ဝဲလ် စစ်တမ်းများ DSM_STATUS[31:0]==1 စမ်းသပ်မှု ပြီးဆုံးကြောင်း သိရှိရန်။
    • CSR ရေးသားခြင်းဖြင့် CSR_CTL[2:0]=0x7 ကို ရေးသားခြင်းဖြင့် ဆော့ဖ်ဝဲလ်သည် စမ်းသပ်မှုပြီးဆုံးရန် တွန်းအားပေးနိုင်သည်။ Hardware AF သည် DSM_STATUS ကို အပ်ဒိတ်လုပ်သည်။

Native Loopback Accelerator Functional Unit (AFU) အသုံးပြုသူလမ်းညွှန်အတွက် စာရွက်စာတမ်း ပြန်လည်ပြင်ဆင်မှုမှတ်တမ်း

စာရွက်စာတမ်းဗားရှင်း Intel Acceleration Stack ဗားရှင်း အပြောင်းအလဲများ
 2019.08.05 2.0 (Intel ဖြင့် ပံ့ပိုးထားသည်။

Quartus Prime Pro ထုတ်ဝေမှု

18.1.2) နှင့် 1.2 (ပံ့ပိုးထားသည်။

Intel Quartus Prime Pro Edition 17.1.1)

လက်ရှိထွက်ရှိထားသော Intel FPGA PAC D5005 ပလပ်ဖောင်းအတွက် ပံ့ပိုးမှုထပ်ထည့်ထားသည်။
 2018.12.04 1.2 (Intel ဖြင့် ပံ့ပိုးထားသည်။

Quartus® Prime Pro Edition 17.1.1)

ပြုပြင်ထိန်းသိမ်းမှု ထုတ်ပြန်ခြင်း။
  2018.08.06 1.1 (Intel ဖြင့် ပံ့ပိုးထားသည်။

Quartus Prime Pro ထုတ်ဝေမှု

17.1.1) နှင့် 1.0 (ပံ့ပိုးထားသည်။

Intel Quartus Prime Pro Edition 17.0.0)

NLB များအတွက် အရင်းအမြစ်ကုဒ်၏ တည်နေရာကို အပ်ဒိတ်လုပ်ထားသည်။ample AFU ထဲမှာ NLB Sample Accelerator Function (AF) အပိုင်း။
 2018.04.11 1.0 (Intel ဖြင့် ပံ့ပိုးထားသည်။

Quartus Prime Pro Edition 17.0.0)

ကနဦး ထုတ်ဝေမှု။

Intel ကော်ပိုရေးရှင်း။ မူပိုင်ခွင့်များရယူပြီး။ Intel၊ Intel လိုဂိုနှင့် အခြားသော Intel အမှတ်အသားများသည် Intel ကော်ပိုရေးရှင်း သို့မဟုတ် ၎င်း၏လုပ်ငန်းခွဲများ၏ အမှတ်တံဆိပ်များဖြစ်သည်။ Intel သည် Intel ၏ စံအာမခံချက်နှင့်အညီ ၎င်း၏ FPGA နှင့် တစ်ပိုင်းလျှပ်ကူးပစ္စည်းထုတ်ကုန်များ၏ စွမ်းဆောင်ရည်ကို လက်ရှိ သတ်မှတ်ချက်များအတိုင်း အာမခံထားသော်လည်း မည်သည့်ထုတ်ကုန်နှင့် ဝန်ဆောင်မှုများကိုမဆို အသိပေးခြင်းမရှိဘဲ အချိန်မရွေး အပြောင်းအလဲပြုလုပ်ပိုင်ခွင့်ကို လက်ဝယ်ရှိပါသည်။ Intel မှ စာဖြင့် အတိအလင်း သဘောတူထားသည့်အတိုင်း ဤနေရာတွင် ဖော်ပြထားသော အချက်အလက်၊ ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုကို အသုံးပြုခြင်း သို့မဟုတ် အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော တာဝန် သို့မဟုတ် တာဝန်ခံမှု မရှိဟု ယူဆပါသည်။ Intel သုံးစွဲသူများသည် ထုတ်ဝေထားသော အချက်အလက်များနှင့် ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုများအတွက် အမှာစာမတင်မီ နောက်ဆုံးဗားရှင်းကို ရယူရန် အကြံပြုအပ်ပါသည်။ *အခြားအမည်များနှင့် အမှတ်တံဆိပ်များကို အခြားသူများ၏ပိုင်ဆိုင်မှုအဖြစ် တောင်းဆိုနိုင်ပါသည်။

စာရွက်စာတမ်းများ / အရင်းအမြစ်များ

intel Native Loopback Accelerator Functional Unit (AFU) [pdf] အသုံးပြုသူလမ်းညွှန်
Native Loopback Accelerator Functional Unit AFU၊ Native Loopback၊ Accelerator Functional Unit AFU၊ Functional Unit AFU

ကိုးကား

မှတ်ချက်တစ်ခုချန်ထားပါ။

သင့်အီးမေးလ်လိပ်စာကို ထုတ်ပြန်မည်မဟုတ်ပါ။ လိုအပ်သောအကွက်များကို အမှတ်အသားပြုထားသည်။ *