इंटेल एफपीजीए प्रोग्राम करण्यायोग्य प्रवेग कार्ड D5005
या दस्तऐवजाबद्दल
हा दस्तऐवज डायरेक्ट मेमरी ऍक्सेस (DMA) एक्सीलरेटर फंक्शनल युनिट (AFU) अंमलबजावणी आणि हार्डवेअरवर किंवा सिम्युलेशनमध्ये चालविण्यासाठी डिझाइन कसे तयार करावे याचे वर्णन करतो.
अभिप्रेत प्रेक्षक
अपेक्षित प्रेक्षकांमध्ये हार्डवेअर किंवा सॉफ्टवेअर डेव्हलपर असतात ज्यांना इंटेल FPGA डिव्हाइसशी कनेक्ट केलेल्या मेमरीमध्ये स्थानिक पातळीवर डेटा बफर करण्यासाठी एक्सीलरेटर फंक्शन (AF) आवश्यक असते.
अधिवेशने
दस्तऐवज अधिवेशने
अधिवेशन | वर्णन |
# | कमांडच्या आधी आहे जी कमांड रूट म्हणून एंटर करायची आहे हे सूचित करते. |
$ | एक वापरकर्ता म्हणून एक आदेश प्रविष्ट करणे सूचित करते. |
हा फॉन्ट | Fileया फॉन्टमध्ये नावे, आदेश आणि कीवर्ड मुद्रित केले जातात. या फॉन्टमध्ये लांब कमांड लाइन छापल्या जातात. जरी लांबलचक कमांड लाईन्स पुढच्या ओळीत गुंडाळल्या जाऊ शकतात, रिटर्न हा कमांडचा भाग नाही; एंटर दाबू नका. |
कोन कंसांमध्ये दिसणारा प्लेसहोल्डर मजकूर योग्य मूल्यासह बदलला जाणे आवश्यक आहे हे सूचित करते. कोन कंसात प्रवेश करू नका. |
परिवर्णी शब्द
परिवर्णी शब्द
परिवर्णी शब्द | विस्तार | वर्णन |
AF | प्रवेगक कार्य | संकलित हार्डवेअर प्रवेगक प्रतिमा FPGA लॉजिकमध्ये लागू केली आहे जी ऍप्लिकेशनला गती देते. |
AFU | प्रवेगक कार्यात्मक एकक | FPGA लॉजिकमध्ये हार्डवेअर एक्सीलरेटर लागू केले आहे जे कार्यप्रदर्शन सुधारण्यासाठी CPU वरून अनुप्रयोगासाठी संगणकीय ऑपरेशन ऑफलोड करते. |
API | ऍप्लिकेशन प्रोग्रामिंग इंटरफेस | सॉफ्टवेअर ऍप्लिकेशन्स तयार करण्यासाठी सबरूटीन व्याख्या, प्रोटोकॉल आणि साधनांचा संच. |
CCI-P | कोर कॅशे इंटरफेस | CCI-P हा मानक इंटरफेस आहे जो AFUs होस्टशी संवाद साधण्यासाठी वापरतो. |
डीएफएच | डिव्हाइस वैशिष्ट्य शीर्षलेख | वैशिष्ट्ये जोडण्याचा विस्तार करण्यायोग्य मार्ग प्रदान करण्यासाठी वैशिष्ट्य शीर्षलेखांची लिंक केलेली सूची तयार करते. |
चालू ठेवले… |
इंटेल कॉर्पोरेशन. सर्व हक्क राखीव. इंटेल, इंटेल लोगो आणि इतर इंटेल चिन्ह हे इंटेल कॉर्पोरेशन किंवा त्याच्या उपकंपन्यांचे ट्रेडमार्क आहेत. इंटेल त्याच्या FPGA आणि सेमीकंडक्टर उत्पादनांच्या कार्यप्रदर्शनास इंटेलच्या मानक वॉरंटीनुसार वर्तमान वैशिष्ट्यांनुसार वॉरंटी देते, परंतु कोणत्याही वेळी कोणतीही सूचना न देता कोणतीही उत्पादने आणि सेवांमध्ये बदल करण्याचा अधिकार राखून ठेवते. इंटेलने लिखित स्वरूपात स्पष्टपणे मान्य केल्याशिवाय येथे वर्णन केलेल्या कोणत्याही माहिती, उत्पादन किंवा सेवेच्या अर्जामुळे किंवा वापरामुळे उद्भवणारी कोणतीही जबाबदारी किंवा उत्तरदायित्व इंटेल गृहीत धरत नाही. इंटेल ग्राहकांना कोणत्याही प्रकाशित माहितीवर विसंबून राहण्यापूर्वी आणि उत्पादने किंवा सेवांसाठी ऑर्डर देण्यापूर्वी डिव्हाइस वैशिष्ट्यांची नवीनतम आवृत्ती मिळविण्याचा सल्ला दिला जातो. *इतर नावे आणि ब्रँडवर इतरांची मालमत्ता म्हणून दावा केला जाऊ शकतो.
परिवर्णी शब्द | विस्तार | वर्णन |
FIM | FPGA इंटरफेस व्यवस्थापक | FPGA हार्डवेअर ज्यामध्ये FPGA इंटरफेस युनिट (FIU) आणि मेमरी, नेटवर्किंग इत्यादीसाठी बाह्य इंटरफेस असतात.
एक्सीलरेटर फंक्शन (AF) रन टाइममध्ये FIM सह इंटरफेस करते. |
FIU | FPGA इंटरफेस युनिट | FIU हा एक प्लॅटफॉर्म इंटरफेस स्तर आहे जो PCIe*, UPI आणि AFU-साइड इंटरफेस जसे की CCI-P सारख्या प्लॅटफॉर्म इंटरफेसमध्ये पूल म्हणून काम करतो. |
एमपीएफ | मेमरी गुणधर्म फॅक्टरी | MPF हा बेसिक बिल्डिंग ब्लॉक (BBB) आहे ज्याचा वापर AFU FIU सह व्यवहारांसाठी CCI-P वाहतूक आकार देणारी ऑपरेशन्स प्रदान करण्यासाठी करू शकतात. |
प्रवेग शब्दावली
FPGAs Glossary सह Intel® Xeon® CPU साठी प्रवेगक स्टॅक
मुदत | संक्षेप | वर्णन |
FPGAs सह Intel Xeon® CPU साठी Intel® Acceleration Stack | प्रवेग स्टॅक | सॉफ्टवेअर, फर्मवेअर आणि टूल्सचा संग्रह जो इंटेल FPGA आणि इंटेल Xeon प्रोसेसर दरम्यान कार्यप्रदर्शन-अनुकूलित कनेक्टिव्हिटी प्रदान करतो. |
इंटेल एफपीजीए प्रोग्राम करण्यायोग्य प्रवेग कार्ड | इंटेल FPGA PAC | PCIe FPGA प्रवेगक कार्ड.
एक FPGA इंटरफेस मॅनेजर (FIM) आहे जो PCIe बसवर Intel Xeon प्रोसेसरसह जोडतो. |
- डीएमए एक्सीलरेटर फंक्शनल युनिट वापरकर्ता मार्गदर्शक: इंटेल एफपीजीए प्रोग्राम करण्यायोग्य प्रवेग कार्ड D5005
DMA AFU वर्णन
परिचय
डायरेक्ट मेमरी ऍक्सेस (DMA) AFU माजीample होस्ट प्रोसेसर आणि FPGA मधील मेमरी ट्रान्सफर कसे व्यवस्थापित करायचे ते दाखवते. होस्ट मेमरी आणि FPGA लोकल मेमरी दरम्यान डेटा हलवण्यासाठी तुम्ही तुमच्या डिझाईनमध्ये DMA AFU समाकलित करू शकता. DMA AFU मध्ये खालील सबमॉड्यूल्स समाविष्ट आहेत:
- मेमरी प्रॉपर्टी फॅक्टरी (MPF) बेसिक बिल्डिंग ब्लॉक (BBB)
- कोअर कॅशे इंटरफेस (CCI-P) ते Avalon® मेमरी-मॅप्ड (Avalon-MM) अडॅप्टर
- DMA चाचणी प्रणाली ज्यामध्ये DMA BBB असते
या सबमॉड्यूल्सचे खाली DMA AFU हार्डवेअर घटक विषयामध्ये अधिक तपशीलवार वर्णन केले आहे.
संबंधित माहिती
- पृष्ठ 6 वर DMA AFU हार्डवेअर घटक
- Avalon इंटरफेस तपशील
एव्हलॉन-एमएम प्रोटोकॉलबद्दल अधिक माहितीसाठी, व्यवहार वाचण्यासाठी आणि लिहिण्यासाठी वेळेच्या आकृत्यांसह.
DMA AFU सॉफ्टवेअर पॅकेज
FPGAs पॅकेजसह Intel Xeon CPU साठी इंटेल प्रवेग स्टॅक file (*.tar.gz), मध्ये DMA AFU माजी समाविष्ट आहेampले या माजीample वापरकर्ता स्पेस ड्राइव्हर प्रदान करते. होस्ट ऍप्लिकेशन या ड्रायव्हरचा वापर करतो जसे की DMA होस्ट आणि FPGA मेमरी दरम्यान डेटा हलवते. हार्डवेअर बायनरी, स्त्रोत आणि वापरकर्ता स्पेस ड्रायव्हर खालील निर्देशिकेत उपलब्ध आहेत: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . DMA AFU चा प्रयोग करण्यापूर्वी, तुम्ही Open Programmable Acceleration Engine (OPAE) सॉफ्टवेअर पॅकेज इंस्टॉल करणे आवश्यक आहे. Intel FPGA Programmable Acceleration Card D5005 साठी Intel Acceleration Stack Quick Start Guide मध्ये OPAE सॉफ्टवेअर पॅकेज इन्स्टॉल करण्याच्या सूचना पहा. या क्विक स्टार्ट गाइडमध्ये ओपन प्रोग्रामेबल एक्सीलरेशन इंजिन (OPAE) आणि AFU कॉन्फिगर करण्याविषयी मूलभूत माहिती देखील समाविष्ट आहे. Open Programmable Acceleration Engine (OPAE) सॉफ्टवेअर पॅकेज स्थापित केल्यानंतर, जसेample होस्ट ऍप्लिकेशन आणि DMA AFU वापरकर्ता स्पेस ड्राइव्हर खालील निर्देशिकेत उपलब्ध आहेत: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. एस चालवण्यासाठीample होस्ट ऍप्लिकेशन, तुमच्या Intel FPGA PAC D5005 हार्डवेअरवर fpga_dma_test, DMA AFU Ex रनिंग विभागातील पायऱ्या पहाampले इंटेल कॉर्पोरेशन. सर्व हक्क राखीव. इंटेल, इंटेल लोगो आणि इतर इंटेल चिन्ह हे इंटेल कॉर्पोरेशन किंवा त्याच्या उपकंपन्यांचे ट्रेडमार्क आहेत. इंटेल त्याच्या FPGA आणि सेमीकंडक्टर उत्पादनांच्या कार्यप्रदर्शनास इंटेलच्या मानक वॉरंटीनुसार वर्तमान वैशिष्ट्यांनुसार वॉरंटी देते, परंतु कोणत्याही वेळी कोणतीही सूचना न देता कोणतीही उत्पादने आणि सेवांमध्ये बदल करण्याचा अधिकार राखून ठेवते. इंटेलने लिखित स्वरूपात स्पष्टपणे मान्य केल्याशिवाय येथे वर्णन केलेल्या कोणत्याही माहिती, उत्पादन किंवा सेवेच्या अर्जामुळे किंवा वापरामुळे उद्भवणारी कोणतीही जबाबदारी किंवा उत्तरदायित्व इंटेल गृहीत धरत नाही. इंटेल ग्राहकांना कोणत्याही प्रकाशित माहितीवर विसंबून राहण्यापूर्वी आणि उत्पादने किंवा सेवांसाठी ऑर्डर देण्यापूर्वी डिव्हाइस वैशिष्ट्यांची नवीनतम आवृत्ती मिळविण्याचा सल्ला दिला जातो. *इतर नावे आणि ब्रँडवर इतरांची मालमत्ता म्हणून दावा केला जाऊ शकतो.
संबंधित माहिती
- इंटेल एफपीजीए प्रोग्राम करण्यायोग्य प्रवेग कार्ड D5005 साठी इंटेल एक्सलेरेशन स्टॅक क्विक स्टार्ट मार्गदर्शक
- OPAE सॉफ्टवेअर पॅकेज स्थापित करणे
DMA AFU हार्डवेअर घटक
DMA AFU FPGA इंटरफेस युनिट (FIU) आणि FPGA मेमरीसह इंटरफेस करते. FPGA मेमरीच्या तपशीलवार तपशीलांसाठी Intel FPGA Programmable Acceleration Card D5005 साठी FPGA इंटरफेस मॅनेजर डेटा शीट पहा. सध्या उपलब्ध हार्डवेअर हे मेमरी कॉन्फिगरेशन ठरवते. भविष्यातील हार्डवेअर वेगवेगळ्या मेमरी कॉन्फिगरेशनला समर्थन देऊ शकते. तुम्ही खालील स्रोत आणि गंतव्य स्थानांमधील डेटा कॉपी करण्यासाठी DMA AFU वापरू शकता:
- डिव्हाइस FPGA मेमरी करण्यासाठी होस्ट
- यजमानासाठी डिव्हाइस FPGA मेमरी
प्लॅटफॉर्म डिझायनर सिस्टम, $OPAE_PLATFORM_ROOT/hw/samples/ dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys बहुतेक DMA लागू करते
- AFU. प्लॅटफॉर्म डिझायनर प्रणालीमध्ये लागू केलेल्या DMA AFU चा काही भाग खालीलमध्ये आढळू शकतो
स्थान:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ तुम्ही खालील ठिकाणी DMA BBB शोधू शकता:
- $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/dma_bbb
डीएमए एक्सीलरेटर फंक्शनल युनिट वापरकर्ता मार्गदर्शक: इंटेल एफपीजीए प्रोग्राम करण्यायोग्य प्रवेग कार्ड D5005
DMA AFU हार्डवेअर ब्लॉक आकृती
DMA AFU मध्ये FPGA इंटरफेस युनिट (FIU) सह इंटरफेस करण्यासाठी खालील अंतर्गत मॉड्यूल समाविष्ट आहेत:
- मेमरी-मॅप्ड IO (MMIO) डीकोडर लॉजिक: MMIO वाचन आणि लेखन व्यवहार शोधते आणि ते CCI-P RX चॅनल 0 पासून वेगळे करते ज्यावरून ते येतात. हे सुनिश्चित करते की MMIO वाहतूक कधीही MPF BBB पर्यंत पोहोचत नाही आणि स्वतंत्र MMIO कमांड चॅनेलद्वारे सर्व्हिस केली जाते.
- मेमरी प्रॉपर्टीज फॅक्टरी (MPF): हे मॉड्यूल DMA रिटर्नचे प्रतिसाद ते जारी केलेल्या क्रमाने वाचण्याची खात्री करते. Avalon-MM प्रोटोकॉलला योग्य क्रमाने परत येण्यासाठी प्रतिसाद वाचणे आवश्यक आहे.
- CCI-P ते Avalon-MM Adapter: हे मॉड्यूल CCI-P आणि Avalon-MM व्यवहारांमध्ये खालीलप्रमाणे भाषांतरित करते:
- CCI-P ते Avalon-MMIO अडॅप्टर: हा मार्ग CCI-P MMIO व्यवहारांचे Avalon-MM व्यवहारांमध्ये भाषांतर करतो.
- Avalon ते CCI-P होस्ट अॅडॉप्टर: हे पथ DMA साठी होस्ट मेमरीमध्ये प्रवेश करण्यासाठी केवळ-वाचनीय आणि केवळ-लेखन-पाथ तयार करतात.
- DMA चाचणी प्रणाली: हे मॉड्यूल AFU मधील उर्वरित तर्कशास्त्र DMA मास्टर्सना उघड करण्यासाठी DMA BBB भोवती आवरण म्हणून काम करते. हे DMA BBB आणि CCI-P ते Avalon Adapter दरम्यान इंटरफेस प्रदान करते. हे DMA BBB आणि स्थानिक FPGA SDRAM बँकांमधील इंटरफेस देखील प्रदान करते.
संबंधित माहिती
इंटेल FPGA प्रोग्रामेबल प्रवेग कार्ड D5005 साठी FPGA इंटरफेस मॅनेजर डेटा शीट
डीएमए चाचणी प्रणाली
DMA चाचणी प्रणाली DMA BBB ला CCI-P अनुकूलन आणि स्थानिक FPGA मेमरीसह उर्वरित FPGA डिझाइनशी जोडते.
डीएमए चाचणी प्रणाली ब्लॉक आकृती
हे ब्लॉक आकृती DMA चाचणी प्रणालीचे अंतर्गत भाग दर्शवते. DMA चाचणी प्रणाली पृष्ठ 1 वर आकृती 7 मध्ये मोनोलिथिक ब्लॉक म्हणून दर्शविली आहे.
डीएमए चाचणी प्रणालीमध्ये खालील अंतर्गत मॉड्यूल समाविष्ट आहेत:
- फार रिच ब्रिज/पाइपलाइन ब्रिज: टोपोलॉजी नियंत्रित करण्यासाठी आणि Fmax डिझाइन सुधारण्यासाठी अॅडजस्टेबल लेटन्सीसह पाइपलाइन ब्रिज.
- DMA AFU डिव्हाइस वैशिष्ट्य शीर्षलेख (DFH): हा DMA AFU साठी DFH आहे. हा DFH ऑफसेट 0x100 (DMA BBB DFH) वर स्थित पुढील DFH कडे निर्देश करतो.
- नल डीएफएच: हा घटक डीएफएच लिंक्ड-लिस्ट बंद करतो. तुम्ही डिझाईनमध्ये अधिक DMA BBB जोडल्यास, DFH लिंक्ड-लिस्टच्या शेवटी शून्य DFH बेस अॅड्रेस असल्याचे सुनिश्चित करा.
- MA बेसिक बिल्डिंग ब्लॉक (BBB): हा ब्लॉक होस्ट आणि स्थानिक FPGA मेमरी दरम्यान डेटा हलवतो. डिस्क्रिप्टर चेनमध्ये प्रवेश करण्यासाठी ते होस्ट मेमरीवर देखील प्रवेश करते.
DMA BBB
DMA BBB उपप्रणाली Avalon-MM व्यवहार वापरून डेटा स्रोतापासून गंतव्य पत्त्यावर हस्तांतरित करते. डीएमए ड्रायव्हर सिस्टममधील विविध घटकांच्या नियंत्रण आणि स्थिती रजिस्टरमध्ये प्रवेश करून डीएमए बीबीबी नियंत्रित करतो. डीएमए ड्रायव्हर ट्रान्सफर डिस्क्रिप्टर्सशी संवाद साधण्यासाठी शेअर केलेल्या मेमरी वापरून डीएमए बीबीबी देखील नियंत्रित करतो. DMA BBB ऑफसेट 0x0 वर FPGA मेमरीमधील डेटा ऍक्सेस करते. DMA BBB ऑफसेट 0x1_0000_0000_0000 वर होस्ट मेमरीमधील डेटा आणि वर्णनकर्त्यांमध्ये प्रवेश करते.
DMA BBB प्लॅटफॉर्म डिझायनर ब्लॉक आकृती
या ब्लॉक डायग्राममध्ये काही अंतर्गत पाइपलाइन ब्रिज आयपी कोर वगळले आहेत.
डीएमए एक्सीलरेटर फंक्शनल युनिट वापरकर्ता मार्गदर्शक: इंटेल एफपीजीए प्रोग्राम करण्यायोग्य प्रवेग कार्ड D5005
DMA AFU वर्णन
DMA BBB प्लॅटफॉर्म डिझायनरमधील घटक खालील कार्ये अंमलात आणतात:
- सुदूर पोहोच पूल/पाइपलाइन पूल: टोपोलॉजी नियंत्रित करण्यासाठी आणि Fmax डिझाइन सुधारण्यासाठी समायोजित करण्यायोग्य लेटन्सीसह पाइपलाइन पूल.
- MA BBB DFH: हे DMA BBB साठी डिव्हाइस वैशिष्ट्य शीर्षलेख आहे. हा DFH ऑफसेट 0x100 (नल DFH) वर स्थित पुढील DFH कडे निर्देश करतो.
- वर्णनकर्ता फ्रंटएंड: वर्णनकर्ते आणण्यासाठी आणि त्यांना डिस्पॅचरकडे हस्तांतरित करण्यासाठी जबाबदार. जेव्हा डीएमए ट्रान्सफर पूर्ण होते तेव्हा फ्रंटएंडला डिस्पॅचरकडून स्टेटस फॉर्मेशन मिळते आणि होस्ट मेमरीमध्ये डिस्क्रिप्टर ओव्हरराईट होते.
- डिस्पॅचर: हा ब्लॉक DMA रीड आणि राईट मास्टरकडे ट्रान्सफर विनंत्या शेड्यूल करतो.
- वाचा मास्टर: हा ब्लॉक होस्ट किंवा स्थानिक FPGA मेमरीमधील डेटा वाचण्यासाठी आणि तो Write Master ला स्ट्रीमिंग डेटा म्हणून पाठवण्यासाठी जबाबदार आहे.
- मास्टर लिहा: हा ब्लॉक रीड मास्टरकडून स्ट्रीमिंग डेटा प्राप्त करण्यासाठी आणि होस्ट किंवा स्थानिक FPGA मेमरीमध्ये सामग्री लिहिण्यासाठी जबाबदार आहे.
नकाशा आणि पत्त्याची जागा नोंदवा
DMA AFU दोन मेमरीला सपोर्ट करते views: DMA view आणि यजमान view. डीएमए view 49-बिट अॅड्रेस स्पेसला सपोर्ट करते. डीएमएचा खालचा अर्धा भाग view स्थानिक FPGA मेमरीवर नकाशे. डीएमएचा वरचा अर्धा भाग view मेमरी होस्ट करण्यासाठी नकाशे. यजमान view DFH टेबल्स सारख्या MMIO ऍक्सेसेसद्वारे प्रवेश करण्यायोग्य सर्व नोंदणी आणि DMA AFU मध्ये वापरल्या जाणार्या विविध IP कोरच्या नियंत्रण/स्थिती नोंदवहींचा समावेश आहे. MMIO ची नोंदणी DMA BBB आणि AFU मध्ये 32- आणि 64-बिट ऍक्सेसचे समर्थन करते. DMA AFU 512-बिट MMIO प्रवेशास समर्थन देत नाही. DMA BBB मधील डिस्पॅचर रजिस्टर्समध्ये प्रवेश 32 बिट असणे आवश्यक आहे (डिस्क्रिप्टर फ्रंटएंड 64-बिट नोंदणी लागू करते).
DMA AFU नोंदणी नकाशा
DMA AFU रजिस्टर नकाशा युनिटमधील सर्व ठिकाणांचे अचूक पत्ते प्रदान करतो. हे रजिस्टर होस्टमध्ये आहेत view कारण केवळ होस्टच त्यांच्यात प्रवेश करू शकतो.
DMA AFU मेमरी नकाशा
बाइट अॅड्रेस ऑफसेट | नाव | स्पॅन बाइट्समध्ये | वर्णन |
0x0 | DMA AFU DFH | 0x40 | DMA AFU साठी डिव्हाइस वैशिष्ट्य शीर्षलेख. ID_L 0x9081f88b8f655caa वर सेट केला आहे आणि ID_H 0x331db30c988541ea वर सेट केला आहे. पुढील DFH (DMA BBB DFH) शोधण्यासाठी ऑफसेट 0x100 वर निर्देशित करण्यासाठी DMA AFU DFH पॅरामीटराइज्ड केले गेले आहे. तुम्ही DMA AFU DFH चा मूळ पत्ता बदलू नये कारण तो CCIP स्पेसिफिकेशनद्वारे परिभाषित केल्यानुसार 0x0 पत्त्यावर स्थित असणे आवश्यक आहे. |
0x100 | DMA BBB | 0x100 | DMA BBB कंट्रोल आणि स्टेटस रजिस्टर इंटरफेस निर्दिष्ट करते. अधिक माहितीसाठी तुम्ही DMA BBB रजिस्टर नकाशाचा संदर्भ घेऊ शकता. ऑफसेट 0 वर DMA BBB मध्ये DMA BBB मध्ये स्वतःचा DFH समाविष्ट असतो. हा DFH पुढील DFH ऑफसेट 0x100 (NULL DFH) वर शोधण्यासाठी सेट केला आहे. तुम्ही आणखी DMA BBB जोडल्यास, त्यांना 0x100 अंतर ठेवा आणि NULL DFH शेवटच्या DMA चे 0x100 चे अनुसरण करत असल्याची खात्री करा. |
0x200 | NULL DFH | 0x40 | DFH लिंक्ड-लिस्ट समाप्त करते. ID_L 0x90fe6aab12a0132f वर सेट केला आहे आणि ID_H 0xda1182b1b3444e23 वर सेट केला आहे. NULL DFH हे हार्डवेअरमधील शेवटचे DFH म्हणून पॅरामीटराइज्ड केले गेले आहे. या कारणास्तव NULL DFH पत्ता 0x200 वर स्थित आहे. तुम्ही सिस्टममध्ये अतिरिक्त DMA BBB जोडल्यास, तुम्हाला त्यानुसार NULL DFH बेस अॅड्रेस वाढवणे आवश्यक आहे जेणेकरून ते सर्वोच्च पत्त्यावर राहील. DMA ड्राइव्हर आणि चाचणी अनुप्रयोग हे हार्डवेअर वापरत नाहीत. |
इंटेल कॉर्पोरेशन. सर्व हक्क राखीव. इंटेल, इंटेल लोगो आणि इतर इंटेल चिन्ह हे इंटेल कॉर्पोरेशन किंवा त्याच्या उपकंपन्यांचे ट्रेडमार्क आहेत. इंटेल त्याच्या FPGA आणि सेमीकंडक्टर उत्पादनांच्या कार्यप्रदर्शनास इंटेलच्या मानक वॉरंटीनुसार वर्तमान वैशिष्ट्यांनुसार वॉरंटी देते, परंतु कोणत्याही वेळी कोणतीही सूचना न देता कोणतीही उत्पादने आणि सेवांमध्ये बदल करण्याचा अधिकार राखून ठेवते. इंटेलने लिखित स्वरूपात स्पष्टपणे मान्य केल्याशिवाय येथे वर्णन केलेल्या कोणत्याही माहिती, उत्पादन किंवा सेवेच्या अर्जामुळे किंवा वापरामुळे उद्भवणारी कोणतीही जबाबदारी किंवा उत्तरदायित्व इंटेल गृहीत धरत नाही. इंटेल ग्राहकांना कोणत्याही प्रकाशित माहितीवर विसंबून राहण्यापूर्वी आणि उत्पादने किंवा सेवांसाठी ऑर्डर देण्यापूर्वी डिव्हाइस वैशिष्ट्यांची नवीनतम आवृत्ती मिळविण्याचा सल्ला दिला जातो. *इतर नावे आणि ब्रँडवर इतरांची मालमत्ता म्हणून दावा केला जाऊ शकतो.
नकाशा आणि पत्त्याची जागा नोंदवा
DMA BBB मेमरी नकाशा
खालील बाइट पत्ते DMA AFU प्रणाली (0x100) मधील DMA BBB बेस अॅड्रेसचे सापेक्ष ऑफसेट आहेत.
बाइट अॅड्रेस ऑफसेट | नाव | स्पॅन बाइट्समध्ये | वर्णन |
0x0 | DMA BBB DFH | 0x40 | DMA AFU साठी डिव्हाइस वैशिष्ट्य शीर्षलेख. ID_L 0xa9149a35bace01ea वर सेट केला आहे आणि ID_H 0xef82def7f6ec40fc वर सेट केला आहे. पुढील DFH ऑफसेटसाठी DMA BBB DFH 0x100 वर इंगित करण्यासाठी पॅरामीटराइज्ड केले गेले आहे. हा पुढील ऑफसेट दुसरा DMA BBB, दुसरा DFH (या डिझाइनमध्ये समाविष्ट नाही) किंवा NULL DFH असू शकतो. |
0x40 | डिस्पॅचर | 0x40 | डिस्पॅचरसाठी नियंत्रण पोर्ट. DMA ड्रायव्हर हे स्थान DMA नियंत्रित करण्यासाठी किंवा त्याची स्थिती विचारण्यासाठी वापरतो. |
0x80 | वर्णनकर्ता फ्रंटएंड | 0x40 | वर्णनकर्ता फ्रंटएंड हा एक सानुकूल घटक आहे जो होस्ट मेमरीमधून वर्णनकर्ता वाचतो आणि DMA हस्तांतरण पूर्ण झाल्यावर वर्णनकर्ता ओव्हरराइट करतो. ड्रायव्हर फ्रंटएंडला निर्देश देतो जेथे पहिला वर्णनकर्ता होस्ट मेमरीमध्ये राहतो आणि नंतर फ्रंटएंड हार्डवेअर मुख्यतः होस्ट मेमरीमध्ये वर्णनकर्ता संग्रहित असला तरीही ड्राइव्हरशी संवाद साधतो. |
DMA AFU पत्ता जागा
होस्ट पृष्ठ 4 वरील तक्ता 12 आणि पृष्ठ 5 वरील तक्ता 13 मध्ये सूचीबद्ध केलेल्या नोंदणींमध्ये प्रवेश करू शकतो. DMA BBB उपप्रणालीला संपूर्ण 49-बिट अॅड्रेस स्पेसमध्ये प्रवेश आहे. या अॅड्रेस स्पेसच्या खालच्या अर्ध्या भागात स्थानिक FPGA आठवणी समाविष्ट आहेत. या अॅड्रेस स्पेसच्या वरच्या अर्ध्या भागात 48-बिट होस्ट अॅड्रेस मेमरी समाविष्ट आहे. खालील आकृती होस्ट आणि DMA दर्शविते views स्मृती.
DMA AFU आणि होस्ट Viewमेमरी च्या s
डिव्हाइस वैशिष्ट्य शीर्षलेख लिंक्ड-सूची
डीएमए एएफयू डिझाइन माजीample मध्ये तीन डिव्हाइस वैशिष्ट्य शीर्षलेख (DFH) आहेत जे लिंक केलेली सूची तयार करतात. ही लिंक केलेली यादी अनुमती देते एसampDMA AFU ओळखण्यासाठी le अर्ज तसेच DMA BBB ओळखण्यासाठी ड्रायव्हर. DFH सूचीमध्ये शेवटी एक NULL DFH समाविष्ट आहे. लिंक केलेल्या सूचीच्या शेवटी शून्य DFH चा समावेश केल्याने तुम्हाला तुमच्या डिझाइनमध्ये अधिक DMA BBB जोडता येतील. तुम्हाला फक्त NULL DFH ला इतर BBB नंतर पत्त्यावर हलवावे लागेल. प्रत्येक DMA BBB पुढील DFH BBB च्या मूळ पत्त्यापासून 0x100 बाइट्स स्थित असेल अशी अपेक्षा करतो. खालील आकृती DMA AFU डिझाइन एक्ससाठी लिंक केलेली सूची दर्शवतेampले
नकाशा आणि पत्त्याची जागा नोंदवा
DMA AFU डिव्हाइस वैशिष्ट्य शीर्षलेख (DFH) चेनिंग
सॉफ्टवेअर प्रोग्रामिंग मॉडेल
DMA AFU मध्ये एक सॉफ्टवेअर ड्रायव्हर समाविष्ट आहे जो तुम्ही तुमच्या स्वतःच्या होस्ट ऍप्लिकेशनमध्ये वापरू शकता. fpga_dma.cpp आणि fpga_dma.h fileखालील ठिकाणी स्थित s सॉफ्टवेअर ड्राइव्हर लागू करा: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw हा ड्राइव्हर खालील कार्यांना समर्थन देतो:
API | वर्णन |
fpgaCountDMAC चॅनेल | DMA BBB साठी डिव्हाइस वैशिष्ट्य शृंखला स्कॅन करा आणि सर्व उपलब्ध चॅनेल मोजा. |
fpgaDMAOpen | DMA चॅनेलसाठी हँडल उघडते. |
fpgaDMAC बंद करा | DMA चॅनेलचे हँडल बंद करते. |
fpgaDMATransferInit | डीएमए ट्रान्सफरचे प्रतिनिधित्व करणारी ऑब्जेक्ट सुरू करते. |
fpgaDMATtransferReset | डीएमए ट्रान्सफर विशेषता ऑब्जेक्ट डीफॉल्ट मूल्यांवर रीसेट करते. |
fpgaDMATransferDestroy | डीएमए ट्रान्सफर विशेषता ऑब्जेक्ट नष्ट करते. |
fpgaDMATransferSetSrc | हस्तांतरणाचा स्त्रोत पत्ता सेट करते. हा पत्ता 64 बाइट संरेखित असणे आवश्यक आहे. |
fpgaDMATtransferSetDst | हस्तांतरणाचा गंतव्य पत्ता सेट करते. हा पत्ता 64 बाइट संरेखित असणे आवश्यक आहे. |
fpgaDMATtransferSetLen | हस्तांतरणाची लांबी बाइट्समध्ये सेट करते. नॉन-पॅकेट ट्रान्सफरसाठी, तुम्ही ट्रान्सफर लांबी 64 बाइट्सच्या पटीत सेट करणे आवश्यक आहे. पॅकेट हस्तांतरणासाठी, ही आवश्यकता नाही. |
fpgaDMATransferSetTransferType | हस्तांतरण प्रकार सेट करते. कायदेशीर मूल्ये आहेत:
• HOST_MM_TO_FPGA_MM = TX (एएफयूसाठी होस्ट) • FPGA_MM_TO_HOST_MM = RX (एएफयू होस्ट करण्यासाठी) |
fpgaDMATransferSetTransferCallback | एसिंक्रोनस ट्रान्सफर पूर्ण होण्याच्या सूचनेसाठी कॉलबॅकची नोंदणी करते. तुम्ही कॉलबॅक निर्दिष्ट केल्यास, fpgaDMATransfer ताबडतोब परत येतो (असिंक्रोनस हस्तांतरण).
तुम्ही कॉलबॅक निर्दिष्ट न केल्यास, हस्तांतरण पूर्ण झाल्यानंतर fpgaDMATtransfer परत येतो (सिंक्रोनस/ब्लॉकिंग ट्रान्सफर). |
fpgaDMATtransferSetLast | शेवटचे हस्तांतरण सूचित करते जेणेकरून DMA प्रीफेच केलेल्या ट्रान्सफरवर प्रक्रिया करणे सुरू करू शकेल. डीएमए हस्तांतरणावर कार्य करण्यास प्रारंभ करण्यापूर्वी पाइपलाइनमध्ये डीफॉल्ट मूल्य 64 हस्तांतरणे आहे. |
fpgaDMAT हस्तांतरण | DMA हस्तांतरण करते. |
API, इनपुट आणि आउटपुट वितर्कांबद्दल अधिक माहितीसाठी, शीर्षलेख पहा file $OPAE_PLATFORM_ROOT/hw/s स्थितamples/dma_afu/sw/fpga_dma.hIntel Corporation. सर्व हक्क राखीव. इंटेल, इंटेल लोगो आणि इतर इंटेल चिन्ह हे इंटेल कॉर्पोरेशन किंवा त्याच्या उपकंपन्यांचे ट्रेडमार्क आहेत. इंटेल त्याच्या FPGA आणि सेमीकंडक्टर उत्पादनांच्या कार्यप्रदर्शनास इंटेलच्या मानक वॉरंटीनुसार वर्तमान वैशिष्ट्यांनुसार वॉरंटी देते, परंतु कोणत्याही वेळी कोणतीही सूचना न देता कोणतीही उत्पादने आणि सेवांमध्ये बदल करण्याचा अधिकार राखून ठेवते. इंटेलने लिखित स्वरूपात स्पष्टपणे मान्य केल्याशिवाय येथे वर्णन केलेल्या कोणत्याही माहिती, उत्पादन किंवा सेवेच्या अर्जामुळे किंवा वापरामुळे उद्भवणारी कोणतीही जबाबदारी किंवा दायित्व स्वीकारत नाही. इंटेल ग्राहकांना कोणत्याही प्रकाशित माहितीवर विसंबून राहण्यापूर्वी आणि उत्पादने किंवा सेवांसाठी ऑर्डर देण्यापूर्वी डिव्हाइस वैशिष्ट्यांची नवीनतम आवृत्ती प्राप्त करण्याचा सल्ला दिला जातो. इतर नावे आणि ब्रँडवर इतरांची मालमत्ता म्हणून दावा केला जाऊ शकतो.
सॉफ्टवेअर प्रोग्रामिंग मॉडेल
सॉफ्टवेअर ड्रायव्हर वापर मॉडेलबद्दल अधिक जाणून घेण्यासाठी, README पहा file $OPAE_PLATFORM_ROOT/hw/s येथे स्थितamples/dma_afu/README.md
DMA AFU चालवत आहे उदाample
आपण प्रारंभ करण्यापूर्वी:
- आपण माजी सह परिचित असावेampइंटेल एफपीजीए प्रोग्राम करण्यायोग्य प्रवेग कार्ड D5005 साठी इंटेल एक्सलेरेशन स्टॅक क्विक स्टार्ट मार्गदर्शकामध्ये.
- आपण पर्यावरण व्हेरिएबल परिभाषित करणे आवश्यक आहे. पर्यावरण व्हेरिएबल तुम्ही वापरत असलेल्या इंटेल एक्सलेरेशन स्टॅक आवृत्तीवर अवलंबून आहे:
- सध्याच्या आवृत्तीसाठी, पर्यावरण व्हेरिएबल $OPAE_PLATFORM_ROOT वर सेट करा
- तुम्ही इंटेल थ्रेडिंग बिल्डिंग ब्लॉक्स (TBB) लायब्ररी स्थापित करणे आवश्यक आहे कारण DMA ड्रायव्हर त्यावर अवलंबून असतो.
- s चालविण्यासाठी तुम्ही दोन 1 GB विशालपृष्ठे देखील सेट करणे आवश्यक आहेample अर्ज. $ sudo sh -c “echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages”
डीएमए एक्सीलरेटर फंक्शन (एएफ) बिटस्ट्रीम डाउनलोड करण्यासाठी, अॅप्लिकेशन आणि ड्रायव्हर तयार करण्यासाठी आणि डिझाइन एक्स रन करण्यासाठी खालील पायऱ्या कराampले:
- डीएमए ऍप्लिकेशन आणि ड्रायव्हर निर्देशिकेत बदला: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
- ड्रायव्हर आणि ऍप्लिकेशन तयार करा: बनवा
- DMA AFU बिटस्ट्रीम डाउनलोड करा: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
- होस्ट मेमरीपासून FPGA डिव्हाइस मेमरीमध्ये 100 MB भागांमध्ये 1 MB लिहिण्यासाठी होस्ट ऍप्लिकेशन कार्यान्वित करा आणि ते परत वाचा: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom
संबंधित माहिती
इंटेल एफपीजीए प्रोग्राम करण्यायोग्य प्रवेग कार्ड D5005 इंटेल कॉर्पोरेशनसाठी इंटेल एक्सलेरेशन स्टॅक क्विक स्टार्ट मार्गदर्शक. सर्व हक्क राखीव. इंटेल, इंटेल लोगो आणि इतर इंटेल चिन्ह हे इंटेल कॉर्पोरेशन किंवा त्याच्या उपकंपन्यांचे ट्रेडमार्क आहेत. इंटेल त्याच्या FPGA आणि सेमीकंडक्टर उत्पादनांच्या कार्यप्रदर्शनास इंटेलच्या मानक वॉरंटीनुसार वर्तमान वैशिष्ट्यांनुसार वॉरंटी देते, परंतु कोणत्याही वेळी कोणतीही सूचना न देता कोणतीही उत्पादने आणि सेवांमध्ये बदल करण्याचा अधिकार राखून ठेवते. इंटेलने लिखित स्वरूपात स्पष्टपणे मान्य केल्याशिवाय येथे वर्णन केलेल्या कोणत्याही माहिती, उत्पादन किंवा सेवेच्या अर्जामुळे किंवा वापरामुळे उद्भवणारी कोणतीही जबाबदारी किंवा उत्तरदायित्व इंटेल गृहीत धरत नाही. इंटेल ग्राहकांना कोणत्याही प्रकाशित माहितीवर विसंबून राहण्यापूर्वी आणि उत्पादने किंवा सेवांसाठी ऑर्डर देण्यापूर्वी डिव्हाइस वैशिष्ट्यांची नवीनतम आवृत्ती मिळविण्याचा सल्ला दिला जातो. *इतर नावे आणि ब्रँडवर इतरांची मालमत्ता म्हणून दावा केला जाऊ शकतो.
DMA AFU संकलित करणे उदाample
AF संकलित करण्यासाठी संश्लेषण बिल्ड वातावरण तयार करण्यासाठी, afu_synth_setup कमांड खालीलप्रमाणे वापरा:
- DMA AFU s मध्ये बदलाample निर्देशिका: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- डिझाईन बिल्ड निर्देशिका व्युत्पन्न करा: afu_synth_setup –source hw/rtl/filelist.txt build_synth
- afu_synth_setup द्वारे व्युत्पन्न केलेल्या सिंथेसिस बिल्ड डिरेक्टरीमधून, लक्ष्य हार्डवेअर प्लॅटफॉर्मसाठी AF निर्माण करण्यासाठी टर्मिनल विंडोमधून खालील आदेश प्रविष्ट करा: cd build_synth run.sh run.sh AF जनरेशन स्क्रिप्ट समान बेससह AF प्रतिमा तयार करते. fileAFU चे प्लॅटफॉर्म कॉन्फिगरेशन म्हणून नाव file (.json) स्थानावर .gbs प्रत्यय सह:$OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs इंटेल कॉर्पोरेशन. सर्व हक्क राखीव. इंटेल, इंटेल लोगो आणि इतर इंटेल चिन्ह हे इंटेल कॉर्पोरेशन किंवा त्याच्या उपकंपन्यांचे ट्रेडमार्क आहेत. इंटेल त्याच्या FPGA आणि सेमीकंडक्टर उत्पादनांच्या कार्यप्रदर्शनास इंटेलच्या मानक वॉरंटीनुसार वर्तमान वैशिष्ट्यांनुसार वॉरंटी देते, परंतु कोणत्याही वेळी कोणतीही सूचना न देता कोणतीही उत्पादने आणि सेवांमध्ये बदल करण्याचा अधिकार राखून ठेवते. इंटेलने लिखित स्वरूपात स्पष्टपणे मान्य केल्याशिवाय येथे वर्णन केलेल्या कोणत्याही माहिती, उत्पादन किंवा सेवेच्या अर्जामुळे किंवा वापरामुळे उद्भवणारी कोणतीही जबाबदारी किंवा दायित्व स्वीकारत नाही. इंटेल ग्राहकांना कोणत्याही प्रकाशित माहितीवर विसंबून राहण्यापूर्वी आणि उत्पादने किंवा सेवांसाठी ऑर्डर देण्यापूर्वी डिव्हाइस वैशिष्ट्यांची नवीनतम आवृत्ती प्राप्त करण्याचा सल्ला दिला जातो. *इतर नावे आणि ब्रँडवर इतरांची मालमत्ता म्हणून दावा केला जाऊ शकतो.
AFU माजीample
इंटेल शिफारस करतो की तुम्ही तुमच्या Intel FPGA PAC साठी इंटेल एक्सीलरेटर फंक्शनल युनिट (AFU) सिम्युलेशन एन्व्हायर्नमेंट (ASE) क्विक स्टार्ट गाइड पहा.amples आणि आपले वातावरण सेट करण्यासाठी. तुम्ही खालील पायऱ्यांमधून पुढे जाण्यापूर्वी, OPAE_PLATFORM_ROOT पर्यावरण व्हेरिएबल OPAE SDK इंस्टॉलेशन निर्देशिकेवर सेट केले असल्याचे सत्यापित करा. DMA AFU साठी हार्डवेअर सिम्युलेटर सेटअप करण्यासाठी खालील पायऱ्या पूर्ण करा:
- DMA AFU s मध्ये बदलाample निर्देशिका: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- नवीन निर्देशिकेत ASE वातावरण तयार करा आणि AFU चे अनुकरण करण्यासाठी ते कॉन्फिगर करा: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
- ASE बिल्ड निर्देशिकेत बदला: cd build_ase_dir
- ड्रायव्हर आणि ऍप्लिकेशन तयार करा: बनवा
- सिम्युलेशन बनवा: सिम बनवा
Sampहार्डवेअर सिम्युलेटरमधून le आउटपुट:
[सिम] ** लक्ष द्या: सॉफ्टवेअर ऍप्लिकेशन चालवण्यापूर्वी ** [सिम] टर्मिनलमध्ये env(ASE_WORKDIR) सेट करा जेथे ऍप्लिकेशन चालेल (कॉपी-अँड-पेस्ट) => [सिम] $SHELL | रन:[सिम] ———+———————————————— [सिम] बॅश/झेडश | निर्यात ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/work [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/work [SIM] इतर कोणत्याही $SHELL साठी, तुमच्या Linux प्रशासकाचा सल्ला घ्या [SIM] [SIM] सिम्युलेशनसाठी तयार... [SIM] सिम्युलेटर बंद करण्यासाठी CTRL-C दाबा...सिम्युलेशन वातावरणात DMA AFU सॉफ्टवेअर संकलित आणि कार्यान्वित करण्यासाठी खालील चरण पूर्ण करा:
- नवीन टर्मिनल विंडो उघडा.
- डिरेक्टरी यात बदला: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
इंटेल कॉर्पोरेशन. सर्व हक्क राखीव. इंटेल, इंटेल लोगो आणि इतर इंटेल चिन्ह हे इंटेल कॉर्पोरेशन किंवा त्याच्या उपकंपन्यांचे ट्रेडमार्क आहेत. इंटेल त्याच्या FPGA आणि सेमीकंडक्टर उत्पादनांच्या कार्यप्रदर्शनास इंटेलच्या मानक वॉरंटीनुसार वर्तमान वैशिष्ट्यांनुसार वॉरंटी देते, परंतु कोणत्याही वेळी कोणतीही सूचना न देता कोणतीही उत्पादने आणि सेवांमध्ये बदल करण्याचा अधिकार राखून ठेवते. इंटेलने लिखित स्वरूपात स्पष्टपणे मान्य केल्याशिवाय येथे वर्णन केलेल्या कोणत्याही माहिती, उत्पादन किंवा सेवेच्या अर्जामुळे किंवा वापरामुळे उद्भवणारी कोणतीही जबाबदारी किंवा उत्तरदायित्व इंटेल गृहीत धरत नाही. इंटेल ग्राहकांना कोणत्याही प्रकाशित माहितीवर विसंबून राहण्यापूर्वी आणि उत्पादने किंवा सेवांसाठी ऑर्डर देण्यापूर्वी डिव्हाइस वैशिष्ट्यांची नवीनतम आवृत्ती मिळविण्याचा सल्ला दिला जातो. *इतर नावे आणि ब्रँडवर इतरांची मालमत्ता म्हणून दावा केला जाऊ शकतो.
AFU माजीample
- हार्डवेअर सिम्युलेशनमधील वरील चरणांमधून टर्मिनल विंडोमध्ये पर्यावरण सेटअप स्ट्रिंग (तुमच्या शेलसाठी योग्य स्ट्रिंग निवडा) कॉपी करा. s मधील खालील ओळी पहाampहार्डवेअर सिम्युलेटरमधून le आउटपुट. [SIM] bash/zsh | निर्यात ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work
- सॉफ्टवेअर संकलित करा: $ make USE_ASE=1
- लूपबॅक मोडमध्ये होस्ट मेमरीमधून परत FPGA डिव्हाइस मेमरीवर 4 KB भागांमध्ये 1 KB लिहिण्यासाठी होस्ट ऍप्लिकेशन कार्यान्वित करा: ./ fpga_dma_test -s 4096 -p 1024 -r mtom
संबंधित माहिती
इंटेल एक्सीलरेटर फंक्शनल युनिट (एएफयू) सिम्युलेशन एन्व्हायर्नमेंट (एएसई) क्विक स्टार्ट वापरकर्ता मार्गदर्शक
सुधारित DMA कार्यप्रदर्शनासाठी ऑप्टिमायझेशन
fpga_dma_test.cpp मधील NUMA (नॉन-युनिफॉर्म मेमरी ऍक्सेस) ऑप्टिमायझेशनची अंमलबजावणी प्रोसेसरला नॉन-लोकल मेमरी (दुसऱ्या प्रोसेसरवर मेमरी लोकल) ऍक्सेस करण्यापेक्षा त्याच्या स्वतःच्या स्थानिक मेमरीमध्ये अधिक जलद प्रवेश करण्यास अनुमती देते. एक सामान्य NUMA कॉन्फिगरेशन खालील आकृतीमध्ये दर्शविले आहे. लोकल ऍक्सेस कोर ते मेमरी लोकल मधून त्याच कोरपर्यंत ऍक्सेस दर्शवतो. रिमोट ऍक्सेस नोड 0 वरील कोर नोड 1 च्या स्थानिक मेमरीमध्ये असलेल्या मेमरीमध्ये प्रवेश करतो तेव्हा घेतलेला मार्ग स्पष्ट करतो.
ठराविक NUMA कॉन्फिगरेशन
तुमच्या चाचणी अर्जामध्ये NUMA ऑप्टिमायझेशन लागू करण्यासाठी खालील कोड वापरा:
// विनंती केली असल्यास योग्य संबंध सेट करा (cpu_affinity || memory_affinity) {अस्वाक्षरित dom = 0, bus = 0, dev = 0, func = 0; fpga_properties props;int retval; #if(FPGA_DMA_DEBUG)char str[4096]; #endifres = fpgaGetProperties(afc_token, &props); ON_ERR_GOTO(res, out_destroy_tok, “fpgaGetProperties”); res = fpgaPropertiesGetBus(props, (uint8_t *) & bus);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetBus”); res = fpgaPropertiesGetDevice(प्रॉप्स, (uint8_t *) & dev);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetDevice”) res = fpgaPropertiesGetFunction(प्रॉप्स, (uint8_t *) & func);"_प्रॉपर्टीज आउट करा, ON_R_R_Goto"; स्ट्रोक आउट करा; // टोपोलॉजी hwloc_topology_t टोपोलॉजी मधून डिव्हाइस शोधा; hwloc_topology_init(&टोपोलॉजी); hwloc_topology_set_flags(टोपोलॉजी, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);Intel Corporation. सर्व हक्क राखीव. इंटेल, इंटेल लोगो आणि इतर इंटेल चिन्ह हे इंटेल कॉर्पोरेशन किंवा त्याच्या उपकंपन्यांचे ट्रेडमार्क आहेत. इंटेल आपल्या FPGA आणि सेमीकंडक्टर उत्पादनांच्या कार्यप्रदर्शनास इंटेलच्या मानक वॉरंटीनुसार वर्तमान वैशिष्ट्यांनुसार हमी देते, परंतु कोणत्याही उत्पादनांमध्ये आणि सेवांमध्ये कोणत्याही वेळी सूचना न देता बदल करण्याचा अधिकार राखून ठेवते. इंटेलने लिखित स्वरूपात स्पष्टपणे मान्य केल्याशिवाय येथे वर्णन केलेल्या कोणत्याही माहिती, उत्पादन किंवा सेवेच्या अर्जामुळे किंवा वापरामुळे उद्भवणारी कोणतीही जबाबदारी किंवा उत्तरदायित्व इंटेल गृहीत धरत नाही. इंटेल ग्राहकांना कोणत्याही प्रकाशित माहितीवर विसंबून राहण्यापूर्वी आणि उत्पादने किंवा सेवांसाठी ऑर्डर देण्यापूर्वी डिव्हाइस वैशिष्ट्यांची नवीनतम आवृत्ती प्राप्त करण्याचा सल्ला दिला जातो. *इतर नावे आणि ब्रँडवर इतरांची मालमत्ता म्हणून दावा केला जाऊ शकतो.
सुधारित DMA कार्यप्रदर्शनासाठी ऑप्टिमायझेशन
hwloc_topology_load(टोपोलॉजी); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(टोपोलॉजी, डोम, बस, देव, फंक); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_obj(टोपोलॉजी, obj); #if (FPGA_DMA_DEBUG) hwloc_obj_type_snprintf(str, 4096, obj2, 1); printf(“%s\n”, str);hwloc_obj_attr_snprintf(str, 4096, obj2, ” :: “, 1);printf(“%s\n”, str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->cpuset); printf(“CPUSET म्हणजे %s\n”, str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->nodeset); printf(“NODESET is %s\n”, str);#endif if (मेमरी_अॅफिनिटी) { #if HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(टोपोलॉजी, obj2->नोडेसेट,HWLOC_MEMBIND, HWLOC_MEMBIND, HWLOC_MEMBIND, HWMB_MEMBIND_MEMBINDY_MEMBINDWMYN_MOBRET; #else retval =hwloc_set_membind_nodeset(topology, obj2->nodeset, HWLOC_MEMBIND_THREAD,HWLOC_MEMBIND_MIGRATE); #endifON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_membind”); } जर (cpu_affinity) { retval = hwloc_set_cpubind(टोपोलॉजी, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_cpubind”); } }
डीएमए प्रवेगक कार्यात्मक युनिट वापरकर्ता मार्गदर्शक संग्रहण
इंटेल प्रवेग स्टॅक आवृत्ती | वापरकर्ता मार्गदर्शक (PDF) |
2.0 | DMA प्रवेगक कार्यात्मक युनिट (AFU) वापरकर्ता मार्गदर्शक |
DMA प्रवेगक कार्यात्मक युनिट वापरकर्ता मार्गदर्शकासाठी दस्तऐवज पुनरावृत्ती इतिहास
दस्तऐवज आवृत्ती |
इंटेल प्रवेग स्टॅक आवृत्ती |
बदल |
2020.08.03 |
2.0.1 (Intel सह समर्थित
क्वार्टस® प्राइम प्रो संस्करण संस्करण 19.2) |
AF प्रतिमा दुरुस्त केली file विभागात नाव DMA AFU संकलित करणे उदाample. |
2020.04.17 |
2.0.1 (Intel सह समर्थित
क्वार्टस प्राइम प्रो एडिशन एडिशन १९.२) |
मध्ये विधान दुरुस्त केले अभिप्रेत प्रेक्षक विभाग |
2020.02.20 |
2.0.1 (Intel सह समर्थित
क्वार्टस प्राइम प्रो एडिशन एडिशन १९.२) |
निश्चित टायपो. |
2019.11.04 |
2.0.1 (Intel सह समर्थित क्वार्टस प्राइम प्रो एडिशन एडिशन १९.२) |
• विभागातील प्रीबिल्ड AFU सह FPGA कॉन्फिगर करताना fpgaconf ला fpgasupdate ने बदलले. DMA AFU चालवणे माजीample.
• उपशीर्षक जोडले इंटेल एफपीजीए प्रोग्राम करण्यायोग्य प्रवेग कार्ड D5005 दस्तऐवज शीर्षकासाठी. • $OPAE_PLATFORM_ROOT पर्यावरण व्हेरिएबल जोडले. • सुधारित विभाग सॉफ्टवेअर प्रोग्रामिंग मॉडेल किरकोळ संपादनांसाठी. • नवीन विभाग जोडला DMA AFU संकलित करणे उदाample. • सुधारित विभाग सुधारित DMA कार्यप्रदर्शनासाठी ऑप्टिमायझेशन किरकोळ संपादनांसाठी. |
2019.08.05 |
2.0 (Intel सह समर्थित
क्वार्टस प्राइम प्रो संस्करण 18.1.2) |
प्रारंभिक प्रकाशन. |
इंटेल कॉर्पोरेशन. सर्व हक्क राखीव. इंटेल, इंटेल लोगो आणि इतर इंटेल चिन्ह हे इंटेल कॉर्पोरेशन किंवा त्याच्या उपकंपन्यांचे ट्रेडमार्क आहेत. इंटेल त्याच्या FPGA आणि सेमीकंडक्टर उत्पादनांच्या कार्यप्रदर्शनास इंटेलच्या मानक वॉरंटीनुसार वर्तमान वैशिष्ट्यांनुसार वॉरंटी देते, परंतु कोणत्याही वेळी कोणतीही सूचना न देता कोणतीही उत्पादने आणि सेवांमध्ये बदल करण्याचा अधिकार राखून ठेवते. इंटेलने लिखित स्वरूपात स्पष्टपणे मान्य केल्याशिवाय येथे वर्णन केलेल्या कोणत्याही माहिती, उत्पादन किंवा सेवेच्या अर्जामुळे किंवा वापरामुळे उद्भवणारी कोणतीही जबाबदारी किंवा दायित्व स्वीकारत नाही. इंटेल ग्राहकांना कोणत्याही प्रकाशित माहितीवर विसंबून राहण्यापूर्वी आणि उत्पादने किंवा सेवांसाठी ऑर्डर देण्यापूर्वी डिव्हाइस वैशिष्ट्यांची नवीनतम आवृत्ती प्राप्त करण्याचा सल्ला दिला जातो.
- इतर नावे आणि ब्रँडवर इतरांची मालमत्ता म्हणून दावा केला जाऊ शकतो.
कागदपत्रे / संसाधने
![]() |
इंटेल एफपीजीए प्रोग्राम करण्यायोग्य प्रवेग कार्ड D5005 [pdf] वापरकर्ता मार्गदर्शक FPGA Programmable Acceleration Card, D5005, FPGA Programmable Acceleration Card D5005, DMA प्रवेगक फंक्शनल युनिट |