इंटेल 750856 एजिलेक्स FPGA डेवलपमेंट बोर्ड
उत्पाद की जानकारी
यह संदर्भ डिज़ाइन Intel Agilex F-Series FPGA डेवलपमेंट बोर्ड के लिए है। यह आंशिक पुनर्संरचना बाहरी कॉन्फ़िगरेशन नियंत्रक Intel FPGA IP का उपयोग करता है और इसमें एक सरल PR क्षेत्र है। Intel Agilex डिवाइस बाहरी होस्ट हार्डवेयर सेटअप में एक बाहरी डिवाइस (हेल्पर FPGA), एक DUT FPGA और आपका बाहरी होस्ट डिज़ाइन शामिल है। बाहरी डिवाइस में होस्ट डिज़ाइन PR प्रक्रिया को होस्ट करने के लिए ज़िम्मेदार है। PR पिन का उपयोग दोनों डिवाइस को जोड़ने के लिए किया जाता है और यह कोई भी उपलब्ध उपयोगकर्ता I/O हो सकता है।
उत्पाद उपयोग निर्देश
बाह्य होस्ट कॉन्फ़िगरेशन
बाहरी होस्ट कॉन्फ़िगरेशन करने के लिए, इन चरणों का पालन करें:
- पीआर प्रक्रिया को होस्ट करने के लिए किसी बाहरी डिवाइस में होस्ट डिज़ाइन बनाएं।
- बाह्य डिवाइस से PR पिन को DUT FPGA में आंशिक पुनर्विन्यास बाह्य विन्यास नियंत्रक Intel FPGA IP से कनेक्ट करें।
- होस्ट डिज़ाइन से कॉन्फ़िगरेशन डेटा को इंटेल एजिलेक्स एवलॉन स्ट्रीमिंग इंटरफ़ेस पिन पर स्ट्रीम करें जो आईपी से पीआर हैंडशेकिंग सिग्नल के अनुरूप है।
कॉन्फ़िगरेशन पिन ऑपरेशन के माध्यम से आंशिक पुनर्विन्यास
निम्नलिखित अनुक्रम कॉन्फ़िगरेशन पिन के माध्यम से आंशिक पुनर्विन्यास के संचालन का वर्णन करता है:
- आंशिक पुनर्विन्यास बाह्य विन्यास नियंत्रक इंटेल FPGA IP से जुड़े pr_request पिन को अभिकथित करें।
- आईपी यह बताने के लिए एक व्यस्त सिग्नल देता है कि पीआर प्रक्रिया प्रगति पर है (वैकल्पिक)।
- यदि कॉन्फ़िगरेशन सिस्टम PR ऑपरेशन के लिए तैयार है, तो avst_ready पिन को पुष्ट किया जाता है, जो यह दर्शाता है कि यह डेटा स्वीकार करने के लिए तैयार है।
- बैकप्रेशर के साथ डेटा स्थानांतरण के लिए एवलॉन स्ट्रीमिंग विनिर्देश का पालन करते हुए, avst_data पिन और avst_valid पिन पर PR कॉन्फ़िगरेशन डेटा स्ट्रीम करें।
- जब avst_ready पिन को हटा दिया जाता है तो स्ट्रीमिंग बंद हो जाती है।
- avst_ready पिन को डी-असर्ट करें, यह इंगित करने के लिए कि PR ऑपरेशन के लिए और अधिक डेटा की आवश्यकता नहीं है।
- आंशिक पुनर्विन्यास बाह्य विन्यास नियंत्रक इंटेल FPGA IP प्रक्रिया के अंत को इंगित करने के लिए व्यस्त सिग्नल को हटा देता है (वैकल्पिक)।
कॉन्फ़िगरेशन पिन (बाहरी होस्ट) संदर्भ डिज़ाइन के माध्यम से आंशिक पुनर्संरचना
यह अनुप्रयोग नोट Intel® Agilex® F-Series FPGA विकास बोर्ड पर कॉन्फ़िगरेशन पिन (बाह्य होस्ट) के माध्यम से आंशिक पुनर्विन्यास को प्रदर्शित करता है।
संदर्भ डिजाइन खत्मview
आंशिक पुनर्संरचना (PR) सुविधा आपको FPGA के एक हिस्से को गतिशील रूप से पुनर्संरचना करने की अनुमति देती है, जबकि शेष FPGA डिज़ाइन कार्य करना जारी रखता है। आप अपने डिज़ाइन में किसी विशेष क्षेत्र के लिए कई व्यक्तित्व बना सकते हैं जो इस क्षेत्र के बाहर के क्षेत्रों में संचालन को प्रभावित नहीं करते हैं। यह पद्धति उन प्रणालियों में प्रभावी है जहाँ कई फ़ंक्शन समान FPGA डिवाइस संसाधनों को समय-साझा करते हैं। Intel Quartus® Prime Pro Edition सॉफ़्टवेयर का वर्तमान संस्करण आंशिक पुनर्संरचना के लिए एक नया और सरलीकृत संकलन प्रवाह प्रस्तुत करता है। यह Intel Agilex संदर्भ डिज़ाइन आंशिक पुनर्संरचना बाहरी कॉन्फ़िगरेशन नियंत्रक Intel FPGA IP का उपयोग करता है और इसमें एक सरल PR क्षेत्र है।
इंटेल एजिलेक्स डिवाइस बाहरी होस्ट हार्डवेयर सेटअप
बाह्य होस्ट कॉन्फ़िगरेशन
बाहरी होस्ट कॉन्फ़िगरेशन में, आपको पहले PR प्रक्रिया को होस्ट करने के लिए बाहरी डिवाइस में होस्ट डिज़ाइन बनाना होगा, जैसा कि Intel Agilex डिवाइस बाहरी होस्ट हार्डवेयर सेटअप दिखाता है। होस्ट डिज़ाइन कॉन्फ़िगरेशन डेटा को Intel Agilex Avalon स्ट्रीमिंग इंटरफ़ेस पिन पर स्ट्रीम करता है जो आंशिक पुनर्संरचना बाहरी कॉन्फ़िगरेशन नियंत्रक Intel FPGA IP से आने वाले PR हैंडशेकिंग सिग्नल के अनुरूप होता है। दोनों डिवाइस को कनेक्ट करने के लिए आप जिन PR पिन का उपयोग करते हैं, वे कोई भी उपलब्ध उपयोगकर्ता I/O हो सकते हैं।
निम्नलिखित अनुक्रम कॉन्फ़िगरेशन पिन ऑपरेशन के माध्यम से आंशिक पुनर्विन्यास का वर्णन करता है:
- सबसे पहले pr_request पिन को अभिकथित करें जो आंशिक पुनर्विन्यास बाह्य विन्यास नियंत्रक इंटेल FPGA IP से जुड़ा हुआ है।
- आईपी यह बताने के लिए एक व्यस्त सिग्नल देता है कि पीआर प्रक्रिया प्रगति पर है (वैकल्पिक)।
- यदि कॉन्फ़िगरेशन सिस्टम PR ऑपरेशन के लिए तैयार है, तो avst_ready पिन यह संकेत देता है कि यह डेटा स्वीकार करने के लिए तैयार है।
- बैकप्रेशर के साथ डेटा ट्रांसफर के लिए एवलॉन स्ट्रीमिंग विनिर्देश का पालन करते हुए, avst_data पिन और avst_valid पिन पर PR कॉन्फ़िगरेशन डेटा को स्ट्रीम करना शुरू करें।
- जब भी avst_ready पिन को हटा दिया जाता है, स्ट्रीमिंग रुक जाती है।
- सभी कॉन्फ़िगरेशन डेटा को स्ट्रीम करने के बाद, avst_ready पिन को डी-असर्ट किया जाता है, यह इंगित करने के लिए कि PR ऑपरेशन के लिए और अधिक डेटा की आवश्यकता नहीं है।
- आंशिक पुनर्विन्यास बाह्य विन्यास नियंत्रक इंटेल FPGA आईपी प्रक्रिया के अंत को इंगित करने के लिए व्यस्त सिग्नल को डेसर्ट करता है (वैकल्पिक)।
- आप pr_done और pr_error पिन की जाँच करके पुष्टि कर सकते हैं कि PR ऑपरेशन सफलतापूर्वक पूरा हुआ है या नहीं। यदि कोई त्रुटि होती है, जैसे कि संस्करण जाँच और प्राधिकरण जाँच में विफलता, तो PR ऑपरेशन समाप्त हो जाता है।
संबंधित जानकारी
- Intel Agilex F-Series FPGA डेवलपमेंट किट Web पेज
- इंटेल एजिलेक्स एफ-सीरीज एफपीजीए डेवलपमेंट किट उपयोगकर्ता गाइड
- इंटेल क्वार्टस प्राइम प्रो संस्करण उपयोगकर्ता गाइड: आंशिक पुनर्संरचना
आंशिक पुनर्विन्यास बाह्य विन्यास नियंत्रक इंटेल FPGA आईपी
PR संचालन के लिए PR डेटा स्ट्रीम करने के लिए कॉन्फ़िगरेशन पिन का उपयोग करने के लिए आंशिक पुनर्विन्यास बाह्य कॉन्फ़िगरेशन नियंत्रक की आवश्यकता होती है। आपको कोर से सुरक्षित डिवाइस प्रबंधक (SDM) के साथ होस्ट के हैंडशेकिंग की अनुमति देने के लिए आंशिक पुनर्विन्यास बाह्य कॉन्फ़िगरेशन नियंत्रक Intel FPGA IP के सभी शीर्ष-स्तरीय पोर्ट को pr_request पिन से कनेक्ट करना होगा। SDM यह निर्धारित करता है कि आपकी MSEL सेटिंग के अनुसार किस प्रकार के कॉन्फ़िगरेशन पिन का उपयोग करना है।
आंशिक पुनर्विन्यास बाह्य विन्यास नियंत्रक इंटेल FPGA आईपी
आंशिक पुनर्विन्यास बाह्य विन्यास नियंत्रक पैरामीटर सेटिंग्स
पैरामीटर | कीमत | विवरण |
व्यस्त इंटरफ़ेस सक्षम करें | सक्षम or
अक्षम करना |
आपको व्यस्त इंटरफ़ेस को सक्षम या अक्षम करने की अनुमति देता है, जो यह संकेत देने के लिए एक संकेत देता है कि बाह्य कॉन्फ़िगरेशन के दौरान पीआर प्रसंस्करण प्रगति पर है।
डिफ़ॉल्ट सेटिंग है अक्षम करना. |
आंशिक पुनर्विन्यास बाह्य विन्यास नियंत्रक पोर्ट
पोर्ट नाम | चौड़ाई | दिशा | समारोह |
pr_अनुरोध | 1 | इनपुट | यह संकेत देता है कि PR प्रक्रिया शुरू होने के लिए तैयार है। सिग्नल एक कंड्यूट है जो किसी भी क्लॉक सिग्नल के साथ सिंक्रोनस नहीं है। |
pr_त्रुटि | 2 | उत्पादन | आंशिक पुनर्संरचना त्रुटि को इंगित करता है.:
• 2'b01—सामान्य पीआर त्रुटि • 2'b11—असंगत बिटस्ट्रीम त्रुटि ये सिग्नल किसी भी क्लॉक स्रोत के साथ समकालिक नहीं होते हैं। |
pr_किया गया | 1 | उत्पादन | यह दर्शाता है कि PR प्रक्रिया पूरी हो गई है। सिग्नल एक कंड्यूट है जो किसी भी क्लॉक सिग्नल के साथ सिंक्रोनस नहीं है। |
प्रारंभ_पता | 1 | इनपुट | सक्रिय सीरियल फ़्लैश में PR डेटा का आरंभिक पता निर्दिष्ट करता है। आप इस सिग्नल को या तो चुनकर सक्षम कर सकते हैं Avalon®-अनुसूचित जनजाति or सक्रिय सीरियल के लिए Avalon-ST पिन या सक्रिय सीरियल पिन सक्षम करें पैरामीटर। सिग्नल एक नाली है जो किसी भी घड़ी सिग्नल के लिए तुल्यकालिक नहीं है। |
रीसेट | 1 | इनपुट | सक्रिय उच्च, तुल्यकालिक रीसेट संकेत. |
आउट_क्लक | 1 | उत्पादन | घड़ी स्रोत जो एक आंतरिक दोलक से उत्पन्न होता है। |
व्यस्त | 1 | उत्पादन | IP इस सिग्नल को PR डेटा ट्रांसफ़र प्रगति पर होने का संकेत देने के लिए जोर देता है। आप इस सिग्नल को चुनकर सक्षम कर सकते हैं सक्षम के लिए व्यस्त इंटरफ़ेस सक्षम करें पैरामीटर. |
संदर्भ डिजाइन आवश्यकताएँ
इस संदर्भ डिज़ाइन के उपयोग के लिए निम्नलिखित की आवश्यकता होती है:
- इंटेल एजिलेक्स डिवाइस परिवार के समर्थन के साथ इंटेल क्वार्टस प्राइम प्रो संस्करण संस्करण 22.3 की स्थापना।
- बेंच पर इंटेल एजिलेक्स एफ-सीरीज एफपीजीए विकास बोर्ड से कनेक्शन।
- डिज़ाइन का डाउनलोडampनिम्नलिखित स्थान पर उपलब्ध है: https://github.com/intel/fpga-partial-reconfig.
डिज़ाइन डाउनलोड करने के लिए यहां क्लिक करेंampपर:
- क्लोन या डाउनलोड पर क्लिक करें।
- ज़िप डाउनलोड करें पर क्लिक करें. fpga-partial-reconfig-master.zip को अनज़िप करें file.
- संदर्भ डिज़ाइन तक पहुँचने के लिए tutorials/agilex_external_pr_configuration सबफ़ोल्डर पर जाएँ।
संदर्भ डिजाइन पूर्वाभ्यास
निम्नलिखित चरण इंटेल एजिलेक्स एफ-सीरीज एफपीजीए विकास बोर्ड पर कॉन्फ़िगरेशन पिन (बाह्य होस्ट) के माध्यम से आंशिक पुनर्विन्यास के कार्यान्वयन का वर्णन करते हैं:
- स्टेप 1: शुरू करना
- स्टेप 2: डिज़ाइन विभाजन बनाना
- स्टेप 3: प्लेसमेंट और रूटिंग क्षेत्र आवंटित करना
- स्टेप 4: आंशिक पुनर्विन्यास बाह्य विन्यास नियंत्रक IP जोड़ना
- स्टेप 5: व्यक्तित्व को परिभाषित करना
- स्टेप 6: संशोधन बनाना
- स्टेप 7: आधार संशोधन संकलित करना
- स्टेप 8: पीआर कार्यान्वयन संशोधन की तैयारी
- स्टेप 9: प्रोग्रामिंग बोर्ड
चरण 1: आरंभ करना
संदर्भ डिजाइन की नकल करने के लिए fileअपने काम के माहौल के लिए एस करें और ब्लिंकिंग_लेड फ्लैट डिज़ाइन संकलित करें:
- अपने कार्य वातावरण में एक निर्देशिका बनाएं, agilex_pcie_devkit_blinking_led_pr.
- डाउनलोड किए गए ट्यूटोरियल्स/agilex_pcie_devkit_blinking_led/flat उप-फ़ोल्डर को agilex_pcie_devkit_blinking_led_pr निर्देशिका में कॉपी करें।
- इंटेल क्वार्टस प्राइम प्रो एडिशन सॉफ्टवेयर में क्लिक करें File ➤ प्रोजेक्ट खोलें और blinking_led.qpf चुनें।
- फ्लैट डिज़ाइन के पदानुक्रम को विस्तृत करने के लिए, प्रोसेसिंग ➤ स्टार्ट ➤ एनालिसिस और सिंथेसिस शुरू करें पर क्लिक करें। वैकल्पिक रूप से, कमांड-लाइन पर, निम्न कमांड चलाएँ: quartus_syn blinking_led -c blinking_led
डिज़ाइन विभाजन बनाना
आपको प्रत्येक PR क्षेत्र के लिए डिज़ाइन विभाजन बनाना होगा जिसे आप आंशिक रूप से पुनः कॉन्फ़िगर करना चाहते हैं। निम्न चरण u_blinking_led इंस्टेंस के लिए डिज़ाइन विभाजन बनाते हैं।
डिज़ाइन विभाजन बनाना
- प्रोजेक्ट नेविगेटर में u_blinking_led इंस्टेंस पर राइट-क्लिक करें और डिज़ाइन पार्टीशन ➤ रीकॉन्फ़िगरेबल पर क्लिक करें। पार्टीशन के रूप में सेट किए गए प्रत्येक इंस्टेंस के आगे एक डिज़ाइन पार्टीशन आइकन दिखाई देता है।
- असाइनमेंट ➤ डिज़ाइन पार्टिशन विंडो पर क्लिक करें। विंडो प्रोजेक्ट में सभी डिज़ाइन विभाजन प्रदर्शित करती है।
- डिज़ाइन पार्टीशन विंडो में पार्टीशन नाम पर डबल-क्लिक करके उसका नाम संपादित करें। इस संदर्भ डिज़ाइन के लिए, पार्टीशन नाम का नाम बदलकर pr_partition करें
- टिप्पणी: जब आप एक विभाजन बनाते हैं, तो इंटेल क्वार्टस प्राइम सॉफ्टवेयर उदाहरण के नाम और पदानुक्रम पथ के आधार पर स्वचालित रूप से एक विभाजन नाम उत्पन्न करता है। यह डिफ़ॉल्ट विभाजन नाम प्रत्येक उदाहरण के साथ भिन्न हो सकता है।
- आधार संशोधन संकलन से अंतिमीकृत स्थैतिक क्षेत्र को निर्यात करने के लिए, पोस्ट फाइनल एक्सपोर्ट में root_partition के लिए प्रविष्टि पर डबल-क्लिक करें File कॉलम, और टाइप करें blinking_led_static. gdb.
डिज़ाइन पार्टीशन विंडो में पोस्ट फ़ाइनल स्नैपशॉट निर्यात करनासत्यापित करें कि blinking_led.qsf में आपके पुनर्विन्यास योग्य डिज़ाइन विभाजन के अनुरूप निम्नलिखित असाइनमेंट शामिल हैं:
संबंधित जानकारी
इंटेल क्वार्टस प्राइम प्रो संस्करण उपयोगकर्ता गाइड में “डिज़ाइन विभाजन बनाएँ”: आंशिक पुनर्संरचना
पीआर विभाजन के लिए प्लेसमेंट और रूटिंग क्षेत्र आवंटित करना
आपके द्वारा बनाए गए प्रत्येक बेस रिवीजन के लिए, PR डिज़ाइन फ़्लो आपके PR विभाजन क्षेत्र में संबंधित पर्सोना कोर रखता है। अपने बेस रिवीजन के लिए डिवाइस फ़्लोरप्लान में PR क्षेत्र का पता लगाने और असाइन करने के लिए:
- प्रोजेक्ट नेविगेटर में u_blinking_led इंस्टेंस पर राइट-क्लिक करें और लॉजिक लॉक रीजन ➤ क्रिएट न्यू लॉजिक लॉक रीजन पर क्लिक करें। यह क्षेत्र लॉजिक लॉक रीजन विंडो पर दिखाई देता है।
- आपके प्लेसमेंट क्षेत्र में blinking_led लॉजिक शामिल होना चाहिए। चिप प्लानर में नोड का पता लगाकर प्लेसमेंट क्षेत्र चुनें। लॉजिक लॉक क्षेत्र विंडो में u_blinking_led क्षेत्र नाम पर राइट-क्लिक करें और क्लिक करें
नोड का पता लगाएँ ➤ चिप प्लानर में पता लगाएँ। u_blinking_led क्षेत्र रंग-कोडित है
blinking_led के लिए चिप प्लानर नोड स्थान
- लॉजिक लॉक क्षेत्र विंडो में, मूल स्तंभ में प्लेसमेंट क्षेत्र निर्देशांक निर्दिष्ट करें। मूल क्षेत्र के निचले-बाएँ कोने से मेल खाता है। उदाहरण के लिएampले, (X1 Y1) निर्देशांक के साथ प्लेसमेंट क्षेत्र को (163 4) के रूप में सेट करने के लिए, मूल को X163_Y4 के रूप में निर्दिष्ट करें। इंटेल क्वार्टस प्राइम सॉफ़्टवेयर आपके द्वारा निर्दिष्ट ऊंचाई और चौड़ाई के आधार पर प्लेसमेंट क्षेत्र के लिए (X2 Y2) निर्देशांक (शीर्ष-दाएं) की स्वचालित रूप से गणना करता है।
- टिप्पणी: यह ट्यूटोरियल (X1 Y1) निर्देशांक - (163 4) और प्लेसमेंट क्षेत्र के लिए 20 की ऊंचाई और चौड़ाई का उपयोग करता है। प्लेसमेंट क्षेत्र के लिए कोई भी मान परिभाषित करें। सुनिश्चित करें कि क्षेत्र blinking_led तर्क को कवर करता है।
- आरक्षित और कोर-ओनली विकल्पों को सक्षम करें।
- रूटिंग क्षेत्र विकल्प पर डबल-क्लिक करें। लॉजिक लॉक रूटिंग क्षेत्र सेटिंग्स संवाद बॉक्स प्रकट होता है।
- रूटिंग प्रकार के लिए विस्तार के साथ फिक्स्ड का चयन करें। इस विकल्प का चयन स्वचालित रूप से 2 की विस्तार लंबाई प्रदान करता है।
- टिप्पणी: फिटर के लिए अतिरिक्त लचीलापन प्रदान करने के लिए रूटिंग क्षेत्र प्लेसमेंट क्षेत्र से बड़ा होना चाहिए, जब इंजन अलग-अलग व्यक्तियों को रूट करता है।
लॉजिक लॉक रीजन विंडोसत्यापित करें कि ब्लिंकिंग_लेड.क्यूएसएफ में निम्नलिखित असाइनमेंट शामिल हैं, जो आपके फ्लोरप्लानिंग के अनुरूप हैं:
संबंधित जानकारी
इंटेल क्वार्टस प्राइम प्रो संस्करण उपयोगकर्ता गाइड में “फ्लोरप्लान द पार्शियल रीकॉन्फ़िगरेशन डिज़ाइन”: पार्शियल रीकॉन्फ़िगरेशन
आंशिक पुनर्विन्यास बाह्य विन्यास नियंत्रक इंटेल FPGA IP जोड़ना
आंशिक पुनर्संरचना बाह्य विन्यास नियंत्रक इंटेल FPGA IP बिटस्ट्रीम स्रोत को प्रबंधित करने के लिए इंटेल एजिलेक्स PR नियंत्रण ब्लॉक के साथ इंटरफेस करता है। बाहरी विन्यास को लागू करने के लिए आपको अपने डिज़ाइन में यह IP जोड़ना होगा। आंशिक पुनर्संरचना बाह्य विन्यास नियंत्रक को जोड़ने के लिए इन चरणों का पालन करें
अपने प्रोजेक्ट के लिए Intel FPGA IP:
- आईपी कैटलॉग खोज फ़ील्ड में आंशिक पुनर्विन्यास टाइप करें (टूल्स ➤ आईपी कैटलॉग)।
- आंशिक पुनर्विन्यास बाह्य विन्यास नियंत्रक इंटेल FPGA आईपी पर डबल-क्लिक करें।
- आईपी वेरिएंट बनाएं संवाद बॉक्स में external_host_pr_ip टाइप करें File नाम पर क्लिक करें और फिर बनाएँ पर क्लिक करें। पैरामीटर संपादक प्रकट होता है।
- व्यस्त इंटरफ़ेस पैरामीटर सक्षम करने के लिए, अक्षम करें (डिफ़ॉल्ट सेटिंग) चुनें। जब आपको इस सिग्नल का उपयोग करने की आवश्यकता हो, तो आप सेटिंग को सक्षम पर स्विच कर सकते हैं।
पैरामीटर संपादक में व्यस्त इंटरफ़ेस पैरामीटर सक्षम करें
- क्लिक File ➤ सिस्टम जनरेट किए बिना पैरामीटर एडिटर को सेव करें और बाहर निकलें। पैरामीटर एडिटर external_host_pr_ip.ip IP भिन्नता जनरेट करता है file और जोड़ता है file blinking_led प्रोजेक्ट के लिए। AN 991: कॉन्फ़िगरेशन पिन (बाहरी होस्ट) संदर्भ डिज़ाइन 750856 के माध्यम से आंशिक पुनर्संरचना | 2022.11.14 AN 991:
- टिप्पणी:
- a. यदि आप external_host_pr_ip.ip की प्रतिलिपि बना रहे हैं file pr निर्देशिका से, blinking_led.qsf को मैन्युअल रूप से संपादित करें file निम्नलिखित पंक्ति को शामिल करने के लिए: set_global_assignment -name IP_FILE pr_ip.ip
- b. IP_ लगाएंFILE SDC_ के बाद असाइनमेंटFILE आपके blinking_led.qsf में असाइनमेंट (blinking_led. dc) fileयह क्रम आंशिक पुनर्विन्यास नियंत्रक आईपी कोर के उचित अवरोधन को सुनिश्चित करता है।
- टिप्पणी: घड़ियों का पता लगाने के लिए, .sdc file PR के लिए IP को किसी भी .sdc का पालन करना चाहिए जो IP कोर द्वारा उपयोग की जाने वाली घड़ियों को बनाता है। आप यह सुनिश्चित करके इस आदेश को सुविधाजनक बनाते हैं कि .ip file पीआर आईपी कोर किसी भी .ip के बाद दिखाई देता है files या .sdc files जिनका उपयोग आप .qsf में इन घड़ियों को परिभाषित करने के लिए करते हैं file आपके इंटेल क्वार्टस प्राइम प्रोजेक्ट संशोधन के लिए। अधिक जानकारी के लिए, आंशिक पुनर्संरचना आईपी समाधान उपयोगकर्ता मार्गदर्शिका देखें।
शीर्ष-स्तरीय डिज़ाइन को अद्यतन करना
शीर्ष .sv अद्यतन करने के लिए file PR_IP उदाहरण के साथ:
- शीर्ष-स्तरीय डिज़ाइन में external_host_pr_ip इंस्टेंस जोड़ने के लिए, top.sv में निम्नलिखित कोड ब्लॉकों की टिप्पणी हटाएँ file:
व्यक्तित्व को परिभाषित करना
यह संदर्भ डिज़ाइन एकल PR विभाजन के लिए तीन अलग-अलग व्यक्तित्वों को परिभाषित करता है। अपने प्रोजेक्ट में व्यक्तित्वों को परिभाषित करने और शामिल करने के लिए:
- तीन SystemVerilog बनाएँ files, blinking_led.sv, blinking_led_slow.sv, और blinking_led_empty.sv को अपनी कार्य निर्देशिका में तीन व्यक्तित्वों के लिए रखें।
संदर्भ डिज़ाइन व्यक्तित्व
टिप्पणी:
- blinking_led.sv पहले से ही उपलब्ध है fileफ्लैट/ उप-निर्देशिका से कॉपी की गई फाइलें। आप इसे आसानी से पुनः उपयोग कर सकते हैं file.
- यदि आप SystemVerilog बनाते हैं fileइंटेल क्वार्टस प्राइम टेक्स्ट एडिटर से ऐड को अक्षम करें file बचत करते समय वर्तमान परियोजना विकल्प के लिए files.
संशोधन बनाना
पीआर डिज़ाइन प्रवाह इंटेल क्वार्टस प्राइम सॉफ़्टवेयर में प्रोजेक्ट संशोधन सुविधा का उपयोग करता है। आपका प्रारंभिक डिज़ाइन आधार संशोधन है, जहाँ आप FPGA पर स्थिर क्षेत्र सीमाएँ और पुन: कॉन्फ़िगर करने योग्य क्षेत्र परिभाषित करते हैं। आधार संशोधन से, आप कई संशोधन बनाते हैं। इन संशोधनों में PR क्षेत्रों के लिए अलग-अलग कार्यान्वयन शामिल हैं। हालाँकि, सभी PR कार्यान्वयन संशोधन आधार संशोधन से समान शीर्ष-स्तरीय प्लेसमेंट और रूटिंग परिणामों का उपयोग करते हैं। PR डिज़ाइन संकलित करने के लिए, आपको प्रत्येक व्यक्तित्व के लिए एक PR कार्यान्वयन संशोधन बनाना होगा। इसके अलावा, आपको प्रत्येक संशोधन के लिए संशोधन प्रकार निर्दिष्ट करना होगा। उपलब्ध संशोधन प्रकार हैं:
- आंशिक पुन: विन्यास - आधार
- आंशिक पुनर्गठन - व्यक्तित्व कार्यान्वयन
निम्नलिखित तालिका में प्रत्येक संशोधन का नाम और संशोधन प्रकार सूचीबद्ध है:
संशोधन नाम और प्रकार
संशोधन का नाम | संशोधन प्रकार |
ब्लिंकिंग_लेड.क्यूएसएफ | आंशिक पुन: विन्यास - आधार |
ब्लिंकिंग_लेड_डिफॉल्ट.क्यूएसएफ | आंशिक पुनर्गठन - व्यक्तित्व कार्यान्वयन |
blinking_led_slow.qsf | आंशिक पुनर्गठन - व्यक्तित्व कार्यान्वयन |
blinking_led_empty.qsf | आंशिक पुनर्गठन - व्यक्तित्व कार्यान्वयन |
आधार संशोधन प्रकार निर्धारित करना
- प्रोजेक्ट ➤ संशोधन पर क्लिक करें।
- संशोधन नाम में, blinking_led संशोधन का चयन करें, और फिर वर्तमान सेट करें पर क्लिक करें।
- लागू करें पर क्लिक करें। blinking_led संशोधन वर्तमान संशोधन के रूप में प्रदर्शित होता है।
- blinking_led के लिए संशोधन प्रकार सेट करने के लिए, असाइनमेंट ➤ सेटिंग्स ➤ जनरल पर क्लिक करें।
- संशोधन प्रकार के लिए, आंशिक पुनर्विन्यास – आधार का चयन करें, और फिर ठीक पर क्लिक करें।
- सत्यापित करें कि blinking_led.qsf में अब निम्नलिखित असाइनमेंट शामिल है: ##blinking_led.qsf set_global_assignment -name REVISION_TYPE PR_BASE
कार्यान्वयन संशोधन बनाना
- संशोधन संवाद बॉक्स खोलने के लिए, प्रोजेक्ट ➤ संशोधन पर क्लिक करें।
- नया संशोधन बनाने के लिए, < पर डबल-क्लिक करें >।
- संशोधन नाम में, ब्लिंकिंग_एलईडी_डिफॉल्ट निर्दिष्ट करें और संशोधन के आधार पर ब्लिंकिंग_एलईडी का चयन करें।
- संशोधन प्रकार के लिए, आंशिक पुनर्विन्यास – व्यक्तित्व कार्यान्वयन का चयन करें।
संशोधन बनाना
- इसी प्रकार, blinking_led_slow और blinking_led_empty संशोधनों के लिए संशोधन प्रकार सेट करें।
- सत्यापित करें कि प्रत्येक .qsf file अब इसमें निम्नलिखित असाइनमेंट शामिल है: set_global_assignment -name REVISION_TYPE PR_IMPL set_instance_assignment -name ENTITY_REBINDING \ place_holder -to u_blinking_led जहां, place_holder नव निर्मित PR कार्यान्वयन संशोधन के लिए डिफ़ॉल्ट इकाई नाम है।
परियोजना संशोधन
आधार संशोधन का संकलन
- बेस रिविज़न को संकलित करने के लिए, प्रोसेसिंग ➤ संकलन शुरू करें पर क्लिक करें। वैकल्पिक रूप से, निम्न कमांड बेस रिविज़न को संकलित करता है: quartus_sh –flow compile blinking_led -c blinking_led
- बिटस्ट्रीम का निरीक्षण करें fileआउटपुट में उत्पन्न होने वाले s_fileएस निर्देशिका।
जनरेट किया गया Files
नाम | प्रकार | विवरण |
blinking_led.sof | आधार प्रोग्रामिंग file | पूर्ण-चिप आधार कॉन्फ़िगरेशन के लिए उपयोग किया जाता है |
blinking_led.pr_partition.rbf | पीआर बिटस्ट्रीम file आधार व्यक्तित्व के लिए | आधार व्यक्तित्व के आंशिक पुनर्विन्यास के लिए उपयोग किया जाता है। |
blinking_led_static.qdb | .qdb डेटाबेस file | अंतिम डेटाबेस file स्थैतिक क्षेत्र को आयात करने के लिए उपयोग किया जाता है. |
संबंधित जानकारी
- इंटेल क्वार्टस प्राइम प्रो संस्करण उपयोगकर्ता गाइड में “फ्लोरप्लान द पार्शियल रीकॉन्फ़िगरेशन डिज़ाइन”: पार्शियल रीकॉन्फ़िगरेशन
- इंटेल क्वार्टस प्राइम प्रो संस्करण उपयोगकर्ता गाइड में “फ्लोरप्लान बाधाओं को क्रमिक रूप से लागू करना”: आंशिक पुनर्संरचना
पीआर कार्यान्वयन संशोधन की तैयारी
डिवाइस प्रोग्रामिंग के लिए PR बिटस्ट्रीम को संकलित और जनरेट करने से पहले आपको PR कार्यान्वयन संशोधन तैयार करना होगा। इस सेटअप में स्थिर क्षेत्र .qdb जोड़ना शामिल है file स्रोत के रूप में file प्रत्येक कार्यान्वयन संशोधन के लिए। इसके अलावा, आपको PR क्षेत्र की संगत इकाई निर्दिष्ट करनी होगी।
- वर्तमान संशोधन सेट करने के लिए, प्रोजेक्ट ➤ संशोधन पर क्लिक करें, संशोधन नाम के रूप में blinking_led_default का चयन करें, और फिर वर्तमान सेट करें पर क्लिक करें।
- प्रत्येक कार्यान्वयन संशोधन के लिए सही स्रोत सत्यापित करने के लिए, प्रोजेक्ट ➤जोड़ें/हटाएँ पर क्लिक करें Fileप्रोजेक्ट में s. blinking_led.sv file में प्रकट होता है file सूची।
Fileएस पेज
- अन्य कार्यान्वयन संशोधन स्रोत को सत्यापित करने के लिए चरण 1 से 2 को दोहराएँ files:
कार्यान्वयन संशोधन नाम | स्रोत File |
ब्लिंकिंग_एलईडी_डिफॉल्ट | blinking_led.sv |
ब्लिंकिंग_एलईडी_खाली | ब्लिंकिंग_एलईडी_एम्प्टी.एसवी |
पलक झपकते_धीमे | ब्लिंकिंग_लेड_स्लो.एसवी |
- .qdb को सत्यापित करने के लिए file रूट पार्टीशन से जुड़े, असाइनमेंट ➤ डिज़ाइन पार्टीशन विंडो पर क्लिक करें। पुष्टि करें कि पार्टीशन डेटाबेस File blinking_led_static.qdb निर्दिष्ट करता है file, या विभाजन डेटाबेस पर डबल-क्लिक करें File इसे निर्दिष्ट करने के लिए सेल file. वैकल्पिक रूप से, निम्न आदेश इसे असाइन करता है file: set_instance_assignment -नाम QDB_FILE_विभाजन \ ब्लिंकिंग_एलईडी_स्टैटिक.क्यूडीबी -टू |
- एंटिटी री-बाइंडिंग सेल में, प्रत्येक PR पार्टीशन का एंटिटी नाम निर्दिष्ट करें जिसे आप कार्यान्वयन संशोधन में बदलते हैं। blinking_led_default कार्यान्वयन संशोधन के लिए, एंटिटी का नाम blinking_led है। इस ट्यूटोरियल में, आप बेस रिवीजन संकलन से u_blinking_led इंस्टेंस को नए blinking_led एंटिटी के साथ ओवरराइट करते हैं।
टिप्पणी: कार्यान्वयन संशोधन में प्लेसहोल्डर एंटिटी रीबाइंडिंग असाइनमेंट स्वचालित रूप से जोड़ा जाता है। हालाँकि, आपको असाइनमेंट में डिफ़ॉल्ट एंटिटी नाम को अपने डिज़ाइन के लिए उपयुक्त एंटिटी नाम में बदलना होगा।
कार्यान्वयन संशोधन नाम | इकाई पुन: बाध्यकारी |
ब्लिंकिंग_एलईडी_डिफॉल्ट | पलक झपकते |
पलक झपकते_धीमे | पलक झपकते_धीमे |
ब्लिंकिंग_एलईडी_खाली | ब्लिंकिंग_एलईडी_खाली |
इकाई पुनर्बाइंडिंग
- डिज़ाइन को संकलित करने के लिए, प्रोसेसिंग ➤ संकलन प्रारंभ करें पर क्लिक करें। वैकल्पिक रूप से, निम्न कमांड इस प्रोजेक्ट को संकलित करता है: quartus_sh –flow compile blinking_led –c blinking_led_default
- blinking_led_slow और blinking_led_empty संशोधन तैयार करने के लिए उपरोक्त चरणों को दोहराएं: quartus_sh –flow compile blinking_led –c blinking_led_slow quartus_sh –flow compile blinking_led –c blinking_led_empt
टिप्पणी: आप कोई भी फिटर विशिष्ट सेटिंग निर्दिष्ट कर सकते हैं जिसे आप PR कार्यान्वयन संकलन के दौरान लागू करना चाहते हैं। फिटर विशिष्ट सेटिंग आयातित स्थिर क्षेत्र को प्रभावित किए बिना केवल व्यक्तित्व के फिट को प्रभावित करती हैं।
प्रोग्रामिंग बोर्ड
यह ट्यूटोरियल आपके होस्ट मशीन में PCIe* स्लॉट के बाहर, बेंच पर एक Intel Agilex F-Series FPGA डेवलपमेंट बोर्ड का उपयोग करता है। बोर्ड को प्रोग्राम करने से पहले, सुनिश्चित करें कि आपने निम्नलिखित चरण पूरे कर लिए हैं:
- बिजली की आपूर्ति को Intel Agilex F-Series FPGA डेवलपमेंट बोर्ड से कनेक्ट करें।
- इंटेल एफपीजीए डाउनलोड केबल को अपने पीसी यूएसबी पोर्ट और डेवलपमेंट बोर्ड पर इंटेल एफपीजीए डाउनलोड केबल पोर्ट के बीच कनेक्ट करें।
इंटेल एजिलेक्स एफ-सीरीज एफपीजीए विकास बोर्ड पर डिज़ाइन चलाने के लिए:
- इंटेल क्वार्टस प्राइम सॉफ्टवेयर खोलें और टूल्स ➤ प्रोग्रामर पर क्लिक करें।
- प्रोग्रामर में, हार्डवेयर सेटअप पर क्लिक करें और यूएसबी-ब्लास्टर का चयन करें।
- ऑटो डिटेक्ट पर क्लिक करें और डिवाइस AGFB014R24AR0 का चयन करें।
- ओके पर क्लिक करें। इंटेल क्वार्टस प्राइम सॉफ्टवेयर बोर्ड पर तीन एफपीजीए उपकरणों के साथ प्रोग्रामर का पता लगाता है और अपडेट करता है।
- AGFB014R24AR0 डिवाइस चुनें, बदलें पर क्लिक करें File और blinking_led_default.sof लोड करें file.
- blinking_led_default.sof के लिए प्रोग्राम/कॉन्फ़िगर सक्षम करें file.
- स्टार्ट पर क्लिक करें और प्रगति बार के 100% तक पहुंचने की प्रतीक्षा करें।
- मूल फ्लैट डिजाइन के समान आवृत्ति पर ब्लिंक करने वाले बोर्ड पर एलईडी का निरीक्षण करें।
- केवल पीआर क्षेत्र को प्रोग्राम करने के लिए, blinking_led_default.sof पर राइट-क्लिक करें file प्रोग्रामर में और पीआर प्रोग्रामिंग जोड़ें पर क्लिक करें File.
- blinking_led_slow.pr_partition.rbf का चयन करें file.
- blinking_led_default.sof के लिए प्रोग्राम/कॉन्फ़िगर अक्षम करें file.
- blinking_led_slow.pr_partition.rbf के लिए प्रोग्राम/कॉन्फ़िगर सक्षम करें file और स्टार्ट पर क्लिक करें। बोर्ड पर, LED[0] और LED[1] को लगातार झपकते हुए देखें। जब प्रगति बार 100% पर पहुँच जाता है, तो LED[2] और LED[3] धीमी गति से झपकते हैं।
- PR क्षेत्र को पुनः प्रोग्राम करने के लिए, .rbf पर राइट-क्लिक करें file प्रोग्रामर में और पीआर प्रोग्रामिंग बदलें पर क्लिक करें File.
- .rbf का चयन करें fileअन्य दो व्यक्तित्वों के लिए बोर्ड पर व्यवहार का निरीक्षण करना। blinking_led_default.rbf लोड हो रहा है file एलईडी को एक विशिष्ट आवृत्ति पर झपकाने का कारण बनता है, और blinking_led_empty.rbf लोड करता है file इससे एल.ई.डी. चालू रहती है।
इंटेल एजिलेक्स एफ-सीरीज एफपीजीए डेवलपमेंट बोर्ड की प्रोग्रामिंग
हार्डवेयर परीक्षण प्रवाह
निम्नलिखित अनुक्रम संदर्भ डिज़ाइन हार्डवेयर परीक्षण प्रवाह का वर्णन करते हैं।
इंटेल एजिलेक्स डिवाइस बाहरी होस्ट हार्डवेयर सेटअप
हेल्पर FPGA (बाह्य होस्ट) को प्रोग्राम करें
निम्नलिखित अनुक्रम सहायक FPGA की प्रोग्रामिंग का वर्णन करता है जो PR प्रक्रिया बाह्य होस्ट के रूप में कार्य करता है:
- Avalon स्ट्रीमिंग इंटरफ़ेस सेटिंग निर्दिष्ट करें जो आपके द्वारा चयनित मोड (x8, x16, या x32) से मेल खाती है।
- इंटेल क्वार्टस प्राइम प्रोग्रामर और कनेक्टेड कॉन्फ़िगरेशन केबल का उपयोग करके हेल्पर FPGA को प्रोग्रामिंग करके प्लेटफ़ॉर्म को प्रारंभ करें।
- हेल्पर FPGA का उपयोग करके, CONF_DONE और AVST_READY सिग्नल पढ़ें। CONF_DONE 0 होना चाहिए, AVST_READY 1 होना चाहिए। इस पिन पर लॉजिक हाई इंगित करता है कि SDM बाहरी होस्ट से डेटा स्वीकार करने के लिए तैयार है। यह आउटपुट SDM I/O का हिस्सा है।
टिप्पणी: CONF_DONE पिन बाहरी होस्ट को संकेत देता है कि बिटस्ट्रीम ट्रांसफ़र सफल है। इन संकेतों का उपयोग केवल पूर्ण चिप कॉन्फ़िगरेशन प्रक्रिया की निगरानी के लिए करें। इस पिन पर अधिक जानकारी के लिए Intel Agilex कॉन्फ़िगरेशन उपयोगकर्ता मार्गदर्शिका देखें।
बाहरी होस्ट के माध्यम से पूर्ण चिप SOF के साथ DUT FPGA को प्रोग्राम करें निम्नलिखित अनुक्रम पूर्ण चिप SRAM ऑब्जेक्ट के साथ DUT FPGA को प्रोग्रामिंग करने का वर्णन करता है File (.sof) होस्ट एवलॉन स्ट्रीमिंग इंटरफ़ेस का उपयोग करके:
- सहायक FPGA (बाह्य होस्ट) की DDR4 बाह्य मेमोरी में पूर्ण चिप बिटस्ट्रीम लिखें।
- Avalon स्ट्रीमिंग इंटरफ़ेस (x8, x16, x32) का उपयोग करके DUT FPGA को पूर्ण चिप .sof के साथ कॉन्फ़िगर करें।
- स्थिति DUT FPGA कॉन्फ़िगरेशन सिग्नल पढ़ें। CONF_DONE 1 होना चाहिए, AVST_READY 0 होना चाहिए।
समय विनिर्देश: आंशिक पुनर्विन्यास बाह्य नियंत्रक इंटेल FPGA आईपी
बाहरी होस्ट के माध्यम से प्रथम पर्सोना के साथ DUT FPGA को प्रोग्राम करें
- DUT FPGA में लक्ष्य PR क्षेत्र पर फ्रीज लागू करें।
- इंटेल क्वार्टस प्राइम सिस्टम कंसोल का उपयोग करते हुए, आंशिक पुनर्संरचना शुरू करने के लिए pr_request का दावा करें। AVST_READY 1 होना चाहिए।
- हेल्पर FPGA (बाह्य होस्ट) की DDR4 बाह्य मेमोरी में प्रथम PR पर्सोना बिटस्ट्रीम लिखें।
- एवलॉन स्ट्रीमिंग इंटरफ़ेस (x8, x16, x32) का उपयोग करके, पहले पर्सोना बिटस्ट्रीम के साथ DUT FPGA को पुनः कॉन्फ़िगर करें।
- PR स्थिति की निगरानी करने के लिए, सिस्टम कंसोल लॉन्च करने के लिए Tools ➤ System Console पर क्लिक करें। सिस्टम कंसोल में, PR स्थिति की निगरानी करें:
- pr_error 2 है - पुनर्संरचना प्रक्रिया में है।
- pr_error 3 है - पुनर्संरचना पूर्ण हो गई है.
- DUT FPGA में PR क्षेत्र पर अनफ्रीज लागू करें।
टिप्पणी: यदि पीआर ऑपरेशन के दौरान कोई त्रुटि होती है, जैसे संस्करण जांच या प्राधिकरण जांच में विफलता, तो पीआर ऑपरेशन समाप्त हो जाता है।
संबंधित जानकारी
- इंटेल एजिलेक्स कॉन्फ़िगरेशन उपयोगकर्ता गाइड
- इंटेल क्वार्टस प्राइम प्रो संस्करण उपयोगकर्ता गाइड: डीबग टूल्स
AN 991 के लिए दस्तावेज़ संशोधन इतिहास: कॉन्फ़िगरेशन पिन (बाहरी होस्ट) के माध्यम से आंशिक पुनर्संरचना, Intel Agilex F-Series FPGA विकास बोर्ड के लिए संदर्भ डिज़ाइन
दस्तावेज़ संस्करण | इंटेल क्वार्टस प्राइम संस्करण | परिवर्तन |
2022.11.14 | 22.3 | • प्रारंभिक रिहाई। |
एएन 991: कॉन्फ़िगरेशन पिन के माध्यम से आंशिक पुनर्संरचना (बाहरी होस्ट) संदर्भ डिज़ाइन: इंटेल एजिलेक्स एफ-सीरीज़ एफपीजीए डेवलपमेंट बोर्ड के लिए
शीर्ष अक्सर पूछे जाने वाले प्रश्नों के उत्तर:
- Q कॉन्फ़िगरेशन पिन के माध्यम से पीआर क्या है?
- A बाह्य होस्ट कॉन्फ़िगरेशन पृष्ठ 3 पर
- Q इस संदर्भ डिज़ाइन के लिए मुझे क्या चाहिए?
- A पृष्ठ 6 पर संदर्भ डिज़ाइन आवश्यकताएँ
- Q मैं संदर्भ डिज़ाइन कहां से प्राप्त कर सकता हूं?
- A पृष्ठ 6 पर संदर्भ डिज़ाइन आवश्यकताएँ
- Q मैं बाह्य कॉन्फ़िगरेशन के माध्यम से PR कैसे निष्पादित करूँ?
- A पेज 6 पर संदर्भ डिज़ाइन वॉकथ्रू
- Q पीआर व्यक्तित्व क्या है?
- A पृष्ठ 11 पर व्यक्तित्व को परिभाषित करना
- Q मैं बोर्ड को कैसे प्रोग्राम करूँ?
- A बोर्ड को पेज 17 पर प्रोग्राम करें
- Q पीआर के ज्ञात मुद्दे और सीमाएँ क्या हैं?
- A इंटेल FPGA समर्थन फ़ोरम: पीआर
- Q क्या आपके पास पीआर पर प्रशिक्षण है?
- A इंटेल FPGA तकनीकी प्रशिक्षण कैटलॉग
ऑनलाइन संस्करण फीडबैक भेजें
- पहचान: 750856
- संस्करण: 2022.11.14
दस्तावेज़ / संसाधन
![]() |
इंटेल 750856 एजिलेक्स FPGA डेवलपमेंट बोर्ड [पीडीएफ] उपयोगकर्ता गाइड 750856, 750857, 750856 एजिलेक्स एफपीजीए डेवलपमेंट बोर्ड, एजिलेक्स एफपीजीए डेवलपमेंट बोर्ड, एफपीजीए डेवलपमेंट बोर्ड, डेवलपमेंट बोर्ड, बोर्ड |