AN 987: स्टॅटिक अपडेट आंशिक
पुनर्रचना ट्यूटोरियल
Intel®™ Agilex F-Series FPGA विकास मंडळासाठी स्टॅटिक अपडेट आंशिक पुनर्रचना ट्यूटोरियल
ही ऍप्लिकेशन नोट Intel ® F-Series FPGA डेव्हलपमेंट बोर्डवर स्टॅटिक अपडेट आंशिक रीकॉन्फिगरेशन (SUPR) दर्शवते. आंशिक रीकॉन्फिगरेशन (PR) तुम्हाला Intel FPGA चा एक भाग डायनॅमिकरित्या पुन्हा कॉन्फिगर करण्याची परवानगी देते, तर उर्वरित FPGA कार्यरत राहते. PR तुमच्या डिझाईनमध्ये एका विशिष्ट प्रदेशात अनेक व्यक्तिरेखा लागू करते, या प्रदेशाबाहेरील भागात ऑपरेशनवर परिणाम न करता. ही पद्धत खालील ॲडव्हान प्रदान करतेtagज्या सिस्टीममध्ये एकाधिक फंक्शन्स समान FPGA संसाधने वेळ-सामायिक करतात:
- रन-टाइम रीकॉन्फिगरेशनला अनुमती देते
- डिझाइन स्केलेबिलिटी वाढवते
- सिस्टम डाउन-टाइम कमी करते
- डिझाईनमधील डायनॅमिक टाइम-मल्टीप्लेक्सिंग फंक्शन्सचे समर्थन करते
- बोर्ड जागेचा कार्यक्षम वापर करून खर्च आणि वीज वापर कमी करते
स्टॅटिक अपडेट आंशिक पुनर्रचना म्हणजे काय?
पारंपारिक पीआरमध्ये, स्थिर प्रदेशातील कोणत्याही बदलासाठी प्रत्येक व्यक्तिमत्त्वाचे पुनर्संकलन आवश्यक असते. तथापि, SUPR सह तुम्ही एक विशेष प्रदेश परिभाषित करू शकता जो व्यक्तिमत्वांचे पुनर्संकलन आवश्यक न करता बदल करण्यास परवानगी देतो. हे तंत्र एखाद्या डिझाइनच्या एका भागासाठी उपयुक्त आहे जे तुम्हाला जोखीम कमी करण्यासाठी बदलायचे आहे, परंतु त्यासाठी रनटाइम पुनर्संरचना आवश्यक नसते.
१.१. ट्यूटोरियल आवश्यकता
या ट्यूटोरियलसाठी खालील गोष्टी आवश्यक आहेत:
- Intel Quartus® Prime Pro Edition FPGA अंमलबजावणी प्रवाह आणि प्रकल्पाची मूलभूत ओळख files.
- Intel Agilex डिव्हाइस समर्थनासह, इंटेल क्वार्टस प्राइम प्रो एडिशन आवृत्ती 22.3 ची स्थापना.
- FPGA अंमलबजावणीसाठी, जेTAG खंडपीठावरील Intel Agilex F-Series FPGA विकास मंडळाशी कनेक्शन.
- संदर्भ डिझाइन डाउनलोड करा Files संबंधित माहिती
- आंशिक पुनर्रचना वापरकर्ता मार्गदर्शक
- आंशिक पुनर्रचना ट्यूटोरियल
- आंशिक पुनर्रचना ऑनलाइन प्रशिक्षण
इंटेल कॉर्पोरेशन. सर्व हक्क राखीव. इंटेल, इंटेल लोगो आणि इतर इंटेल चिन्ह हे इंटेल कॉर्पोरेशन किंवा त्याच्या उपकंपन्यांचे ट्रेडमार्क आहेत. इंटेल त्याच्या FPGA आणि सेमीकंडक्टर उत्पादनांच्या कार्यप्रदर्शनास इंटेलच्या मानक वॉरंटीनुसार वर्तमान वैशिष्ट्यांनुसार वॉरंटी देते, परंतु कोणत्याही वेळी कोणतीही सूचना न देता कोणतीही उत्पादने आणि सेवांमध्ये बदल करण्याचा अधिकार राखून ठेवते. इंटेलने लिखित स्वरूपात स्पष्टपणे मान्य केल्याशिवाय येथे वर्णन केलेल्या कोणत्याही माहिती, उत्पादन किंवा सेवेच्या अर्जामुळे किंवा वापरामुळे उद्भवणारी कोणतीही जबाबदारी किंवा उत्तरदायित्व इंटेल गृहीत धरत नाही. इंटेल ग्राहकांना कोणत्याही प्रकाशित माहितीवर विसंबून राहण्यापूर्वी आणि उत्पादने किंवा सेवांसाठी ऑर्डर देण्यापूर्वी डिव्हाइस वैशिष्ट्यांची नवीनतम आवृत्ती मिळविण्याचा सल्ला दिला जातो. *इतर नावे आणि ब्रँडवर इतरांची मालमत्ता म्हणून दावा केला जाऊ शकतो.
ISO 9001:2015 नोंदणीकृत
१.२. संदर्भ डिझाइन ओव्हरview
या संदर्भ डिझाइनमध्ये एक, 32-बिट काउंटर आहे. बोर्ड स्तरावर, डिझाइन घड्याळाला 50MHz स्त्रोताशी जोडते आणि नंतर आउटपुटला बोर्डवरील चार LEDs ला जोडते. विशिष्ट क्रमाने, काउंटर बिट्समधून आउटपुट निवडल्याने, विशिष्ट वारंवारतेवर LEDs ब्लिंक होतात. top_counter मॉड्यूल SUPR क्षेत्र आहे.
आकृती 1. सपाट संदर्भ डिझाइन
१.३. स्थिर अद्यतन प्रदेश ओव्हरview
खालील आकृती PR डिझाइनसाठी ब्लॉक आकृती दर्शवते ज्यामध्ये SUPR प्रदेश समाविष्ट आहे. ब्लॉक A हा टॉप स्टॅटिक प्रदेश आहे. ब्लॉक बी हा SUPR प्रदेश आहे. ब्लॉक सी हे पीआर विभाजन आहे.
आकृती 2. SUPR क्षेत्रासह पीआर डिझाइन
- टॉप स्टॅटिक रीजन—मध्ये बदल होत नाही असे डिझाइन लॉजिक असते. हा प्रदेश बदलण्यासाठी सर्व संबंधित व्यक्तींचे पुनर्संकलन आवश्यक आहे. स्थिर प्रदेशामध्ये डिझाइनचा भाग समाविष्ट असतो जो कोणत्याही व्यक्तिमत्त्वासाठी बदलत नाही. या प्रदेशात परिघ आणि मुख्य उपकरण संसाधने समाविष्ट असू शकतात. तुम्ही स्थिर प्रदेशातील SUPR आणि PR विभाजनांमधील सर्व संप्रेषणांची नोंदणी करणे आवश्यक आहे. ही आवश्यकता स्थिर प्रदेशाच्या संदर्भात, कोणत्याही व्यक्तिमत्वासाठी वेळ बंद करणे सुनिश्चित करण्यात मदत करते.
- B SUPR Region-मध्ये कोर-ओन्ली लॉजिक आहे जे कदाचित जोखीम कमी करण्यासाठी बदलू शकते, परंतु रनटाइम रीकॉन्फिगरेशन कधीही आवश्यक नसते. SUPR क्षेत्रामध्ये PR विभाजनाप्रमाणेच आवश्यकता आणि निर्बंध आहेत. SUPR विभाजनामध्ये फक्त मुख्य संसाधने असू शकतात. म्हणून, SUPR विभाजन हे उच्च-स्तरीय रूट विभाजनाचे चाइल्ड विभाजन असणे आवश्यक आहे ज्यामध्ये डिझाइन परिघ आणि घड्याळे आहेत. SUPR क्षेत्र बदलल्याने SRAM ऑब्जेक्ट तयार होतो File (.sof) जे सर्व विद्यमान संकलित रॉ बायनरीशी सुसंगत आहे File (.rbf) filePR विभाजन C साठी s.
- C PR विभाजन—यामध्ये अनियंत्रित लॉजिक आहे जे तुम्ही रनटाइममध्ये कोणत्याही डिझाइन लॉजिकसह रीप्रोग्राम करू शकता जे संकलित करताना वेळेत बंद होते.
१.४. संदर्भ डिझाइन डाउनलोड करा Files
आंशिक पुनर्रचना ट्यूटोरियल खालील ठिकाणी उपलब्ध आहे: https://github.com/intel/fpga-partial-reconfig
ट्यूटोरियल डाउनलोड करण्यासाठी:
- क्लोन क्लिक करा किंवा डाउनलोड करा.
- ZIP डाउनलोड करा वर क्लिक करा. fpga-partial-reconfig-master.zip अनझिप करा file.
- संदर्भ डिझाइनमध्ये प्रवेश करण्यासाठी ट्यूटोरियल्स/agilex_pcie_devkit_blinking_led_sup सबफोल्डरवर नेव्हिगेट करा.
फ्लॅट फोल्डरमध्ये खालील गोष्टींचा समावेश आहे files:
तक्ता 1. संदर्भ डिझाइन Files
File नाव | वर्णन |
शीर्ष sv | उच्च-स्तरीय file डिझाइनची सपाट अंमलबजावणी समाविष्टीत आहे. हे मॉड्यूल ब्लिंकिंग_लेड सब-विभाजन आणि टॉप_काउंटर मॉड्यूल इन्स्टंट करते. |
t op_counter . sv | शीर्ष-स्तरीय 32-बिट काउंटर जे थेट LED [1] नियंत्रित करते. काउंटरचे नोंदणीकृत आउटपुट LED [0] नियंत्रित करते आणि Blinking_led मॉड्यूलद्वारे LED [2] आणि LED [3] ला देखील शक्ती देते. |
blinking_led. sdc | प्रकल्पासाठी वेळेची मर्यादा परिभाषित करते. |
blinking_led. sv | या ट्यूटोरियलमध्ये, तुम्ही या मॉड्यूलला पॅरेंट पीआर विभाजनामध्ये रूपांतरित करा. मॉड्यूलला top_counter मॉड्यूलचे नोंदणीकृत आउटपुट प्राप्त होते, जे LED [2] आणि LED [3] नियंत्रित करते. |
blinking_led.qpf | इंटेल क्वार्टस प्राइम प्रकल्प file प्रकल्पातील सर्व पुनरावृत्तींची यादी असलेली. |
blinking_led qs f | इंटेल क्वार्टस प्राइम सेटिंग्ज file प्रकल्पासाठी असाइनमेंट आणि सेटिंग्ज समाविष्टीत. |
टीप: supr फोल्डरमध्ये संपूर्ण संच आहे fileतुम्ही हा अनुप्रयोग वापरून तयार करता नोंद ह्यांचा संदर्भ घ्या fileवॉकथ्रू दरम्यान कोणत्याही टप्प्यावर s.
1.5. संदर्भ डिझाइन वॉकथ्रू
खालील पायऱ्या सपाट डिझाइनसह SUPR च्या अंमलबजावणीचे वर्णन करतात:
- पायरी 1: प्रारंभ करणे
- पायरी 2: डिझाइन विभाजने तयार करा
- पायरी 3: प्लेसमेंट आणि राउटिंग क्षेत्रांचे वाटप करा
- पायरी 4: व्यक्तींची व्याख्या करा
- पायरी 5: पुनरावृत्ती तयार करा
- पायरी 6: बेस रिव्हिजन संकलित करा
- पायरी 7: PR अंमलबजावणी पुनरावृत्ती सेटअप करा
- पायरी 8: SUPR लॉजिक बदला
- पायरी 9: बोर्ड प्रोग्राम करा
आकृती 3. SUPR संकलन प्रवाह
१.५.१. पायरी 1.5.1: प्रारंभ करणे
संदर्भ डिझाइन कॉपी करण्यासाठी fileतुमच्या कामाच्या वातावरणात s आणि blinking_led फ्लॅट डिझाइन संकलित करा:
- तुम्ही सुरू करण्यापूर्वी, संदर्भ डिझाइन डाउनलोड करा Fileपृष्ठ 5 वर एस.
- तुमच्या कार्यरत वातावरणात agilex_pcie_devkit_blinking_led_sup निर्देशिका तयार करा.
- डाउनलोड केलेले ट्यूटोरियल/agilex_pcie_devkit_blinking_led/flat सब-फोल्डर agilex_pcie_devkit_blinking_led_sup डिरेक्टरीमध्ये कॉपी करा.
- इंटेल क्वार्टस प्राइम प्रो एडिशन सॉफ्टवेअरमध्ये क्लिक करा File ➤ प्रोजेक्ट उघडा आणि /flat/blinking_led.qpf उघडा.
- बेस डिझाइन संकलित करण्यासाठी, प्रक्रिया करणे ➤ संकलन सुरू करा वर क्लिक करा. संकलन पूर्ण झाल्यावर टाइमिंग विश्लेषक अहवाल आपोआप उघडतात. तुम्ही सध्या टायमिंग विश्लेषक बंद करू शकता.
१.५.२. पायरी 1.5.2: डिझाइन विभाजने तयार करा
तुम्ही अंशतः पुन्हा कॉन्फिगर करू इच्छित असलेल्या प्रत्येक प्रदेशासाठी डिझाइन विभाजने तयार करा. तुम्ही तुमच्या प्रोजेक्टमध्ये कितीही स्वतंत्र विभाजने किंवा PR क्षेत्रे तयार करू शकता. PR विभाजन म्हणून u_blinking_led उदाहरणासाठी आणि SUPR प्रदेश म्हणून u_top_counter उदाहरणासाठी डिझाइन विभाजने तयार करण्यासाठी या चरणांचे अनुसरण करा:
- प्रोजेक्ट नेव्हिगेटरमधील u_blinking_led उदाहरणावर उजवे-क्लिक करा आणि डिझाइन विभाजनावर क्लिक करा
➤ पुन्हा कॉन्फिगर करण्यायोग्य. विभाजन म्हणून सेट केलेल्या प्रत्येक उदाहरणाशेजारी डिझाईन विभाजन चिन्ह दिसते.
आकृती 4. डिझाइन विभाजने तयार करणे - u_top_counter उदाहरणासाठी विभाजन तयार करण्यासाठी चरण 1 ची पुनरावृत्ती करा.
- असाइनमेंट्स ➤ डिझाईन विभाजन विंडो वर क्लिक करा. विंडो प्रकल्पातील सर्व डिझाइन विभाजने प्रदर्शित करते.
आकृती 5. डिझाईन विभाजन विंडो
- blinking_led विभाजन नाव सेलला pr_partition असे पुनर्नामित करण्यासाठी डबल-क्लिक करा. त्याचप्रमाणे, top_counter विभाजनाचे नाव बदलून supr_partition करा.
वैकल्पिकरित्या, blinking_led.qsf मध्ये खालील ओळी जोडल्याने ही विभाजने तयार होतात:
set_instance_assignment -नाव PARTITION pr_partition \ -to u_blinking_led -entity top
set_instance_assignment -नाव PARTIAL_RECONFIGURATION_PARTITION चालू \ -to u_blinking_led -entity top
set_instance_assignment -नाव PARTITION supr_partition \ -to u_top_counter -entity top
set_instance_assignment -नाव PARTIAL_RECONFIGURATION_PARTITION चालू \ -to u_top_counter -entity top
१.५.३. पायरी 1.5.3: प्लेसमेंट आणि राउटिंग क्षेत्रांचे वाटप करा
तुम्ही तयार केलेल्या प्रत्येक बेस रिव्हिजनसाठी, कंपाइलर आरक्षित प्रदेशात संबंधित व्यक्तिमत्व कोर ठेवण्यासाठी PR विभाजन प्रदेश वाटप वापरतो. तुमच्या बेस रिव्हिजनसाठी डिव्हाइस फ्लोरप्लॅनमध्ये PR प्रदेश शोधण्यासाठी आणि नियुक्त करण्यासाठी या चरणांचे अनुसरण करा:
- प्रोजेक्ट नेव्हिगेटर हायरार्की टॅबमध्ये, u_blinking_led उदाहरणावर उजवे-क्लिक करा आणि नंतर लॉजिक लॉक क्षेत्र क्लिक करा ➤ नवीन लॉजिक लॉक प्रदेश तयार करा. Logic Lock Regions विंडोमध्ये प्रदेश दिसतो.
- 5 ची रुंदी आणि 5 ची उंची असलेला प्रदेश निर्दिष्ट करा.
- मूळ स्तंभात u_blinking_led साठी प्लेसमेंट क्षेत्र निर्देशांक निर्दिष्ट करा. मूळ प्रदेशाच्या खालच्या-डाव्या कोपर्याशी संबंधित आहे. X166_Y199 म्हणून मूळ निर्दिष्ट करा. कंपाइलर (X170 Y203) शीर्ष-उजवीकडे समन्वय म्हणून गणना करतो.
- प्रदेशासाठी आरक्षित आणि कोर-केवळ पर्याय सक्षम करा.
- रूटिंग क्षेत्र पर्यायावर डबल-क्लिक करा. Logic Lock Routing Region Settings डायलॉग बॉक्स दिसेल.
- राउटिंग प्रकारासाठी, विस्तारासह निश्चित निवडा. हा पर्याय आपोआप एक विस्तारित लांबी नियुक्त करतो.
- u_top_counter विभाजनासाठी खालील संसाधने वाटप करण्यासाठी मागील चरणांची पुनरावृत्ती करा:
• उंची—५
• रुंदी—5
• मूळ—X173_Y199
• राउटिंग क्षेत्र— एकाच्या विस्तार लांबीसह विस्तारासह निश्चित.
• आरक्षित—चालू
• कोर-केवळ—चालू
आकृती 6. लॉजिक लॉक क्षेत्र विंडो
टीप: कंपाइलरच्या राउटिंगसाठी अतिरिक्त लवचिकता प्रदान करण्यासाठी राउटिंग प्रदेश प्लेसमेंट क्षेत्रापेक्षा मोठा असणे आवश्यक आहेtage, जेव्हा कंपाइलर वेगवेगळ्या व्यक्तिमत्त्वांना रूट करतो.
- तुमच्या प्लेसमेंट क्षेत्रामध्ये blinking_led लॉजिक संलग्न करणे आवश्यक आहे. चिप प्लॅनरमध्ये नोड शोधून प्लेसमेंट क्षेत्र निवडण्यासाठी, लॉजिक लॉक क्षेत्र विंडोमधील u_blinking_led प्रदेशाच्या नावावर उजवे-क्लिक करा आणि नंतर Locate Node ➤ Locate in Chip Planner वर क्लिक करा.
- विभाजन अहवाल अंतर्गत, रिपोर्ट डिझाइन विभाजनांवर डबल-क्लिक करा. चिप प्लॅनर हा प्रदेश हायलाइट करतो आणि रंग कोड देतो.
आकृती 7. blinking_led साठी चिप प्लॅनर नोड स्थान
वैकल्पिकरित्या, blinking_led.qsf मध्ये खालील ओळी जोडल्याने हे प्रदेश तयार होतात:
set_instance_assignment -नाव PARTITION pr_partition -to\u_blinking_led -entity top
set_instance_assignment -नाव PARTIAL_RECONFIGURATION_PARTITION चालू \ -to u_blinking_led -entity top
set_instance_assignment -नाव PARTITION supr_partition -to u_top_counter \ -entity top
set_instance_assignment -नाव PARTIAL_RECONFIGURATION_PARTITION ON -to\u_top_counter -entity top
set_instance_assignment -नाव PLACE_REGION “X166 Y199 X170 Y203” -to\u_blinking_led
set_instance_assignment -नाव RESERVE_PLACE_REGION ON -to u_blinking_led
set_instance_assignment -नाव CORE_ONLY_PLACE_REGION चालू -to u_blinking_led
set_instance_assignment -नाव REGION_NAME pr_partition -to u_blinking_led
set_instance_assignment -नाव ROUTE_REGION “X165 Y198 X171 Y204” -to \u_blinking_led
set_instance_assignment -नाव RESERVE_ROUTE_REGION OFF -to u_blinking_led
set_instance_assignment -नाव PLACE_REGION “X173 Y199 X177 Y203” -to\u_top_counter
set_instance_assignment -नाव RESERVE_PLACE_REGION ON -to u_top_counter
set_instance_assignment -नाव CORE_ONLY_PLACE_REGION ON -to u_top_counter
set_instance_assignment -नाव REGION_NAME supr_partition -to u_top_counter
set_instance_assignment -नाव ROUTE_REGION “X172 Y198 X178 Y204” -to\u_top_counter
set_instance_assignment -नाव RESERVE_ROUTE_REGION OFF -to u_top_counter
१.५.४. पायरी 1.5.4: व्यक्तींची व्याख्या करा
हे संदर्भ डिझाइन सिंगल PR विभाजनासाठी तीन स्वतंत्र व्यक्तिमत्त्वे आणि SUPR क्षेत्रासाठी एक SUPR व्यक्तिमत्व परिभाषित करते. तुमच्या प्रोजेक्टमध्ये या व्यक्तींना परिभाषित करण्यासाठी आणि समाविष्ट करण्यासाठी या चरणांचे अनुसरण करा. इंटेल क्वार्टस प्राइम टेक्स्ट एडिटर वापरत असल्यास, अॅड अक्षम करा file
जतन करताना चालू प्रकल्पात files.
- नवीन blinking_led_slow.sv, blinking_led_empty.sv आणि top_counter_fast.sv SystemVerilog तयार करा files तुमच्या कार्यरत निर्देशिकेत. कार्यरत निर्देशिकेत blinking_led.sv आधीपासूनच उपस्थित असल्याची पुष्टी करा.
- SystemVerilog साठी खालील सामग्री प्रविष्ट करा files:
तक्ता 2. संदर्भ डिझाईन पर्सनास सिस्टम व्हेरिलॉग
File नाव वर्णन कोड blinking_led_slow. sv LEDs हळू ब्लिंक करतात टाइमस्केल 1 ps / 1 ps 'default_nettype none
मॉड्यूल blinking_led_slow // घड्याळ
इनपुट वायर घड्याळ, इनपुट वायर रीसेट, इनपुट वायर [३१:०१ काउंटर,
// LEDs आउटपुट वायरसाठी नियंत्रण सिग्नल led_two_on,
आउटपुट वायर led_three_on localparam COUNTER_TAP = 27;
reg led_two_on_r; leg led_three_on_r; असाइन करा led_two_on = led_two_on_r; असाइन करा led_three_on = led_three_on_r; नेहमी_ff @(पोजेज घड्याळ) सुरू करा led_two_on_r <= counter[COUNTER_TAP]; led_three_on_r <= counter[COUNTER_TAP]; end endmoduleblinking_led_empty. sv LEDs चालू राहतात timescale 1 ps / 1 ps 'default_nettype none module blinking_led_empty( // घड्याळ इनपुट वायर घड्याळ, इनपुट वायर रीसेट, इनपुट वायर [31:01 काउंटर, // LEC- आउटपुट वायर led_two_on, आउटपुट वायर led_three साठी नियंत्रण सिग्नल चालू ठेवले… File नाव वर्णन कोड // LED सक्रिय आहे कमी असाइन led_two_on = l'IDO; असाइन करा led_three_on = 11b0; एंडमॉड्यूल top_counter_fast.sv दुसरा SUPR 'टाइमस्केल 1 पीएस / 1 पीएस व्यक्तिमत्व Thdefault_nettype none मॉड्यूल top_counter_fast // LEDs आउटपुट वायर led_one_on, आउटपुट वायर [३१:०] गणना, // घड्याळ इनपुट वायर घड्याळासाठी नियंत्रण सिग्नल ); localparam COUNTER TAP = 23; reg [३१:०] count_d; नियुक्त करा गणना = गणना_डी; असाइन करा led_one_on = ount_d[COUNTER_TAP]; नेहमी_ff @(पोज घड्याळ) गिनती_डी सुरू करा <= गणना_डी + 31; शेवट .:मॉड्यूल - क्लिक करा File ➤ म्हणून सेव्ह करा आणि .sv सेव्ह करा fileवर्तमान प्रकल्प निर्देशिकेत s.
1.5.5. पायरी 5: पुनरावृत्ती तयार करा
PR डिझाईन फ्लो इंटेल क्वार्टस प्राइम सॉफ्टवेअरमधील प्रोजेक्ट रिव्हिजन वैशिष्ट्याचा वापर करते. तुमची सुरुवातीची रचना ही बेस रिव्हिजन आहे, जिथे तुम्ही FPGA वर स्थिर प्रदेश सीमा आणि पुनर्रचना करता येण्याजोगे प्रदेश परिभाषित करता. बेस रिव्हिजनमधून, तुम्ही अतिरिक्त रिव्हिजन तयार करता. या आवर्तनांमध्ये PR क्षेत्रांसाठी विविध अंमलबजावणी समाविष्ट आहे. तथापि, सर्व PR अंमलबजावणी पुनरावृत्ती बेस पुनरावृत्ती मधील समान शीर्ष-स्तरीय प्लेसमेंट आणि रूटिंग परिणाम वापरतात. PR डिझाइन संकलित करण्यासाठी, तुम्ही प्रत्येक व्यक्तिरेखेसाठी PR अंमलबजावणी पुनरावृत्ती तयार करा. याव्यतिरिक्त, तुम्ही प्रत्येक पुनरावृत्तीसाठी आंशिक पुनर्रचना – बेस किंवा आंशिक पुनर्रचना – पर्सोना अंमलबजावणी पुनरावृत्ती प्रकार नियुक्त करणे आवश्यक आहे. खालील तक्त्यामध्ये प्रत्येक पुनरावृत्तीसाठी पुनरावृत्तीचे नाव आणि पुनरावृत्ती प्रकार सूचीबद्ध आहेत. impl_blinking_led_supr_new.qsf पुनरावृत्ती ही SUPR व्यक्तिमत्व अंमलबजावणी आहे.
तक्ता 3. पुनरावृत्ती नावे आणि प्रकार
पुनरावृत्तीचे नाव | पुनरावृत्ती प्रकार |
blinking_led | आंशिक पुनर्रचना - बेस |
blinking_led_default | आंशिक पुनर्रचना - व्यक्तिमत्व अंमलबजावणी |
blinking_led_slow | आंशिक पुनर्रचना - व्यक्तिमत्व अंमलबजावणी |
blinking_led_rempty | आंशिक पुनर्रचना - व्यक्तिमत्व अंमलबजावणी |
impl_blinking_led_supr_new | आंशिक पुनर्रचना - व्यक्तिमत्व अंमलबजावणी |
1.5.5.1. बेस रिव्हिजन सेट करणे
blinking_led बेस रिव्हिजन म्हणून सेट करण्यासाठी या चरणांचे अनुसरण करा:
- प्रोजेक्ट ➤ आवर्तने वर क्लिक करा.
- पुनरावृत्ती प्रकारासाठी, आंशिक पुनर्रचना – बेस निवडा.
ही पायरी blinking_led.qsf मध्ये पुढील गोष्टी जोडते:
##blinking_led.qsf set_global_assignment -नाव REVISION_TYPE PR_BASE
1.5.5.2. अंमलबजावणी पुनरावृत्ती तयार करणे
अंमलबजावणी पुनरावृत्ती तयार करण्यासाठी या चरणांचे अनुसरण करा:
- पुनरावृत्ती संवाद बॉक्समध्ये, < वर डबल-क्लिक करा >.
- पुनरावृत्ती नावामध्ये, blinking_led_default निर्दिष्ट करा आणि पुनरावृत्तीच्या आधारावर blinking_led निवडा.
- पुनरावृत्ती प्रकारासाठी, आंशिक पुनर्रचना निवडा – पर्सोना अंमलबजावणी.
- वर्तमान पुनरावृत्ती पर्याय म्हणून सेट करा अक्षम करा.
- इतर अंमलबजावणी पुनरावृत्तींसाठी पुनरावृत्ती प्रकार सेट करण्यासाठी 2 ते 5 चरणांची पुनरावृत्ती करा:
पुनरावृत्तीचे नाव | पुनरावृत्ती प्रकार | Revisio वर आधारितn |
blinking_led_slow | आंशिक पुनर्रचना - व्यक्तिमत्व अंमलबजावणी | blinking_led |
blinking_led_rempty | आंशिक पुनर्रचना - व्यक्तिमत्व अंमलबजावणी | blinking_led |
impl_blinking_led_supr_new | आंशिक पुनर्रचना - व्यक्तिमत्व अंमलबजावणी | blinking_led |
आकृती 8. अंमलबजावणी पुनरावृत्ती तयार करणे
प्रत्येक .qsf file आता खालील असाइनमेंट समाविष्ट आहे:
set_global_assignment -नाव REVISION_TYPE PR_IMPL
set_instance_assignment -नाव ENTITY_REBINDING place_holder -to u_top_counter
set_instance_assignment -नाव ENTITY_REBINDING place_holder -to u_blinking_led
१.५.६. पायरी 1.5.6: बेस रिव्हिजन संकलित करा
नवीन PR व्यक्तींसाठी अंमलबजावणी आवर्तनांमध्ये नंतर वापरण्यासाठी बेस रिव्हिजन संकलित करण्यासाठी आणि स्थिर आणि SUPR क्षेत्र निर्यात करण्यासाठी या चरणांचे अनुसरण करा:
- जर आधीच सेट केले नसेल तर blinking_led वर्तमान पुनरावृत्ती म्हणून सेट करा.
- डिझाईन विभाजन विंडोमध्ये, सर्वात दूरच्या उजव्या स्तंभाला लागून असलेल्या (…) वर क्लिक करा आणि पोस्ट फायनल एक्सपोर्ट सक्षम करा. File स्तंभ तुम्ही स्तंभांचा क्रम अक्षम किंवा बदलू शकता.
- प्रत्येक संकलनानंतर पीआर अंमलबजावणी डिझाइन विभाजनांचा अंतिम स्नॅपशॉट स्वयंचलितपणे निर्यात करण्यासाठी, पोस्ट फायनल एक्सपोर्टसाठी खालील नमूद करा File रूट आणि SUPR विभाजनांसाठी पर्याय. .qdb fileडीफॉल्टनुसार प्रकल्प निर्देशिकेत निर्यात करा.
रूट_पार्टिशन—blinking_led_static.qdb
• supr_partition—blinking_led_supr_partition_final.qdb
आकृती 9. डिझाईन विभाजन विंडोमध्ये स्वयं निर्यातवैकल्पिकरित्या, खालील .qsf असाइनमेंट प्रत्येक संकलनानंतर विभाजने आपोआप निर्यात करतात:
set_instance_assignment -नाव EXPORT_PARTITION_SNAPSHOT_FINAL\blinking_led_static.qdb -to | - अस्तित्व शीर्ष
set_instance_assignment -name EXPORT_PARTITION_SNAPSHOT_FINAL\blinking_led_supr_partition_final.qdb -to u_top_counter\-entity top - blinking_led बेस रिव्हिजन संकलित करण्यासाठी, प्रक्रिया करणे ➤ प्रारंभ वर क्लिक करा
संकलन. वैकल्पिकरित्या, ही पुनरावृत्ती संकलित करण्यासाठी तुम्ही खालील आदेश वापरू शकता:
quartus_sh –flow compile blinking_led -c blinking_led यशस्वी संकलनानंतर, खालील files प्रकल्प निर्देशिकेत दिसतात:
• blinking_led.sof
• blinking_led.pr_partition.rbf
• blinking_led.supr_partition.rbf
• blinking_led_static.qdb
• blinking_led_supr_partition_final.qdb
१.५.७. पायरी 1.5.7: PR अंमलबजावणी पुनरावृत्ती सेट करा
तुम्ही डिव्हाइस प्रोग्रामिंगसाठी PR बिटस्ट्रीम व्युत्पन्न करण्यापूर्वी PR अंमलबजावणी पुनरावृत्ती तयार करणे आवश्यक आहे. या सेटअपमध्ये स्थिर प्रदेश .qdb जोडणे समाविष्ट आहे file स्रोत म्हणून file प्रत्येक अंमलबजावणी पुनरावृत्तीसाठी. याव्यतिरिक्त, आपण निर्दिष्ट करणे आवश्यक आहे
पीआर क्षेत्राची संबंधित संस्था. PR अंमलबजावणी पुनरावृत्ती सेटअप करण्यासाठी या चरणांचे अनुसरण करा:
- वर्तमान पुनरावृत्ती सेट करण्यासाठी, प्रोजेक्ट ➤ पुनरावृत्ती क्लिक करा, पुनरावृत्ती नाव म्हणून blinking_led_default निवडा आणि नंतर सेट करा क्लिक करा. वैकल्पिकरित्या, तुम्ही मुख्य इंटेल क्वार्टस प्राइम टूलबारवरील वर्तमान पुनरावृत्ती निवडू शकता.
- या अंमलबजावणीच्या पुनरावृत्तीसाठी योग्य स्त्रोत सत्यापित करण्यासाठी, प्रोजेक्ट ➤ जोडा/काढून टाका क्लिक करा Fileप्रकल्पात एस. blinking_led.sv याची पुष्टी करा file मध्ये दिसते file यादी
- योग्य स्रोत सत्यापित करण्यासाठी file अंमलबजावणीच्या पुनरावृत्तीसाठी, प्रोजेक्ट ➤ जोडा/काढा वर क्लिक करा fileप्रोजेक्ट मध्ये s, आणि खालील स्त्रोत जोडा files अंमलबजावणी सुधारणांसाठी. उपस्थित असल्यास, प्रकल्पाच्या सूचीमधून blinking_led.sv काढा files.
Iपूरक पुनरावृत्ती नाव स्त्रोत File blinking_led_rempty blinking_led_empty.sv blinking_led_slow blinking_led_slow.sv - blinking_led_default वर्तमान पुनरावृत्ती म्हणून सेट करा.
- .qdb निर्दिष्ट करण्यासाठी file रूट_पार्टिशनसाठी स्त्रोत म्हणून, असाइनमेंट्स ➤ डिझाइन विभाजन विंडो क्लिक करा. विभाजन डेटाबेसवर डबल-क्लिक करा File सेल आणि blinking_led_static.qdb निर्दिष्ट करा file.
- त्याचप्रमाणे, विभाजन डेटाबेस म्हणून blinking_led_supr_partition_final.qdb निर्दिष्ट करा. File supr_partition साठी.
आकृती 10.
वैकल्पिकरित्या, .qdb निर्दिष्ट करण्यासाठी खालील .qsf असाइनमेंट वापरा:
set_instance_assignment -नाव QDB_FILE_PARTITION\blinking_led_static.qdb -to |
set_instance_assignment -नाव QDB_FILE_PARTITION\blinking_led_supr_partition_final.qdb -to u_top_counter - डिझाईन विभाजन विंडोमध्ये, सर्वात दूरच्या उजव्या स्तंभाला लागून असलेल्या (…) वर क्लिक करा आणि घटक री-बाइंडिंग स्तंभ सक्षम करा.
-
एंटिटी री-बाइंडिंग सेलमध्ये, सध्याच्या अंमलबजावणीच्या पुनरावृत्तीमध्ये तुम्ही बदलत असलेल्या PR विभाजनासाठी नवीन घटकाचे नाव निर्दिष्ट करा. blinking_led_default अंमलबजावणी पुनरावृत्तीसाठी, घटकाचे नाव blinking_led आहे. या प्रकरणात, तुम्ही नवीन घटक blinking_led सह बेस रिव्हिजन कंपाइलमधून u_blinking_led उदाहरण ओव्हरराइट करत आहात. इतर अंमलबजावणी आवर्तनांसाठी, खालील तक्त्याचा संदर्भ घ्या:
उजळणी घटक री-बाइंडिंग मूल्य blinking_led_slow blinking_led_slow blinking_led_rempty blinking_led_rempty आकृती 11. एंटिटी रीबाइंडिंग
वैकल्पिकरित्या, तुम्ही असाइनमेंट सेट करण्यासाठी प्रत्येक पुनरावृत्तीच्या .qsf मध्ये खालील ओळी वापरू शकता:
##blinking_led_default.qsf
set_instance_assignment -नाव ENTITY_REBINDING blinking_led \ -to u_blinking_led
##blinking_led_slow.qsf
set_instance_assignment -नाव ENTITY_REBINDING blinking_led_slow \ -to u_blinking_led
##blinking_led_empty.qsf
set_instance_assignment -नाव ENTITY_REBINDING blinking_led_empty \ -to u_blinking_led - supr_partition साठी एंटिटी री-बाइंडिंग सेलमधून place_holder मजकूर हटवा.
- डिझाइन संकलित करण्यासाठी, प्रक्रिया करणे ➤ संकलन सुरू करा वर क्लिक करा. वैकल्पिकरित्या, हा प्रकल्प संकलित करण्यासाठी खालील आदेश वापरा: quartus_sh –flow compile blinking_led –c blinking_led_default
- blinking_led_slow आणि blinking_led_empty अंमलबजावणी पुनरावृत्ती तयार आणि संकलित करण्यासाठी चरण 4 ते 11 ची पुनरावृत्ती करा.
१.५.८. पायरी 1.5.8: SUPR लॉजिक बदला
SUPR विभाजनातील तर्काची कार्यक्षमता बदलण्यासाठी, तुम्हाला SUPR विभाजन स्रोत बदलणे आवश्यक आहे. SUPR विभाजनातील u_top_counter उदाहरण top_counter_fast घटकासह बदलण्यासाठी खालील पायऱ्या पूर्ण करा.
- SUPR अंमलबजावणी पुनरावृत्ती वर्तमान म्हणून सेट करण्यासाठी, प्रकल्प ➤ पुनरावृत्ती क्लिक करा आणि वर्तमान पुनरावृत्ती म्हणून impl_blinking_led_supr_new सेट करा किंवा निवडा
इंटेल क्वार्टस प्राइम मुख्य टूलबारवरील पुनरावृत्ती. - योग्य स्रोत सत्यापित करण्यासाठी file अंमलबजावणीच्या पुनरावृत्तीसाठी, प्रोजेक्ट ➤ वर क्लिक करा
जोडा/काढून टाका fileप्रोजेक्ट मध्ये s, आणि सत्यापित करा की top_counter_fast.sv हा impl_blinking_led_supr_new अंमलबजावणी पुनरावृत्तीचा स्रोत आहे. उपस्थित असल्यास, प्रकल्पाच्या सूचीमधून top_counter.sv काढून टाका files. - .qdb निर्दिष्ट करण्यासाठी file रूट विभाजनाशी संबंधित, असाइनमेंट्स ➤ डिझाईन विभाजन विंडो क्लिक करा आणि नंतर विभाजन डेटाबेसवर डबल-क्लिक करा. File blinking_led_static.qdb निर्दिष्ट करण्यासाठी सेल.
वैकल्पिकरित्या, हे नियुक्त करण्यासाठी खालील आदेश वापरा file: set_instance_assignment -नाव QDB_FILE_PARTITION\blinking_led_static.qdb -to | - pr_partition साठी एंटिटी री-बाइंडिंग सेलमध्ये, योग्य घटकाचे नाव निर्दिष्ट करा. यासाठी माजीample, blinking_led_empty अस्तित्व निर्दिष्ट करा. या प्रकरणात, तुम्ही नवीन घटक linking_led_empty सह बेस रिव्हिजन कंपाइलमधून u_blinking_led उदाहरण ओव्हरराइट करत आहात. खालील ओळ आता .qsf मध्ये अस्तित्वात आहे:
##impl_blinking_led_supr_new.qsf set_instance_assignment -name ENTITY_REBINDING blinking_led_empty \ -to u_blinking_led - supr_partition साठी एंटिटी री-बाइंडिंग सेलमध्ये, top_counter_fast घटक निर्दिष्ट करा. top_counter_fast हे स्थिर घटकाचे नाव आहे जे तुम्ही SUPR पूर्ण करता तेव्हा u_top_counter ची जागा घेते.
##impl_blinking_led_supr_new.qsf set_instance_assignment -name ENTITY_REBINDING top_counter_fast \ -to u_top_counter
- डिझाइन संकलित करण्यासाठी, प्रक्रिया करणे ➤ संकलन सुरू करा वर क्लिक करा. वैकल्पिकरित्या, या प्रकल्पाची पुनरावृत्ती संकलित करण्यासाठी खालील आदेश वापरा: quartus_sh –flow compile blinking_led –c \ impl_blinking_led_supr_new
१.५.९. पायरी 1.5.9: बोर्ड प्रोग्राम करा
Intel Agilex F-Series FPGA डेव्हलपमेंट बोर्ड कनेक्ट करण्यासाठी आणि प्रोग्राम करण्यासाठी या चरणांचे अनुसरण करा.
- Intel Agilex F-Series FPGA डेव्हलपमेंट बोर्डला वीज पुरवठा कनेक्ट करा.
- तुमच्या PC USB पोर्ट आणि डेव्हलपमेंट बोर्डवरील USB प्रोग्रामिंग हार्डवेअर दरम्यान USB केबल कनेक्ट करा.
- इंटेल क्वार्टस प्राइम सॉफ्टवेअर उघडा आणि नंतर टूल्स ➤ प्रोग्रामर वर क्लिक करा. विकास मंडळाचे प्रोग्रामिंग पहा.
- प्रोग्रामरमध्ये, हार्डवेअर सेटअप वर क्लिक करा आणि नंतर यूएसबी-ब्लास्टर निवडा.
- ऑटो डिटेक्ट वर क्लिक करा आणि नंतर AGFB014R24B डिव्हाइस निवडा.
- ओके क्लिक करा. इंटेल क्वार्टस प्राइम सॉफ्टवेअर बोर्डवरील तीन FPGA उपकरणांसह प्रोग्रामर शोधते आणि अद्यतनित करते.
- AGFB014R24B डिव्हाइस निवडा, बदला क्लिक करा File, आणि blinking_led_default.sof लोड करा file.
- blinking_led_default.sof साठी प्रोग्राम/कॉन्फिगर सक्षम करा file.
- प्रारंभ क्लिक करा आणि प्रगती बार 100% पर्यंत पोहोचण्याची प्रतीक्षा करा.
- बोर्डवरील LEDs लुकलुकताना पहा.
- फक्त PR क्षेत्र प्रोग्राम करण्यासाठी, 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 प्रोग्रामरमध्ये, आणि नंतर PR प्रोग्रामिंग बदला क्लिक करा File.
- .rbf निवडा fileबोर्डवरील वर्तनाचे निरीक्षण करण्यासाठी इतर दोन व्यक्तींसाठी. blinking_led_default.pr_partition.rbf लोड करत आहे file LEDs मूळ वारंवारतेवर ब्लिंक करण्यास आणि blinking_led_empty.pr_partition.rbf लोड करण्यास प्रवृत्त करते file LEDs चालू ठेवण्यास कारणीभूत ठरते. 17. SUPR लॉजिक बदलण्यासाठी, impl_blinking_led_supr_new.sof निवडण्यासाठी वरील चरण 7 पुन्हा करा. हे बदलल्यानंतर file, led [0:1] आता पूर्वीपेक्षा अधिक वेगाने लुकलुकते. इतर PR .rbf files देखील नवीन .sof सह सुसंगत आहेत.
टीप: असेंबलर .rbf व्युत्पन्न करतो file SUPR प्रदेशासाठी. तथापि, आपण हे वापरू नये file रनटाइमच्या वेळी FPGA रीप्रोग्राम करण्यासाठी कारण SUPR विभाजन फ्रीझ ब्रिज, PR क्षेत्र नियंत्रक आणि एकूण प्रणालीमध्ये इतर लॉजिक इन्स्टंट करत नाही. जेव्हा तुम्ही SUPR विभाजन तर्कामध्ये बदल करता, तेव्हा तुम्ही संपूर्ण .sof पुन्हा प्रोग्राम करणे आवश्यक आहे file SUPR अंमलबजावणी पुनरावृत्ती संकलनातून.
आकृती 12. विकास मंडळाचे प्रोग्रामिंग
1.5.9.1. पीआर प्रोग्रामिंग त्रुटींचे निवारण
इंटेल क्वार्टस प्राइम प्रोग्रामर आणि कनेक्टेड हार्डवेअरचे योग्य सेटअप सुनिश्चित केल्याने पीआर प्रोग्रामिंग दरम्यान कोणत्याही त्रुटी टाळण्यास मदत होते.
तुम्हाला कोणत्याही PR प्रोग्रामिंग त्रुटींचा सामना करावा लागत असल्यास, Intel Quartus Prime Pro Edition User Guide: चरण-दर-चरण समस्यानिवारण टिपांसाठी आंशिक पुनर्रचना मधील “ट्रबलशूटिंग पीआर प्रोग्रामिंग त्रुटी” पहा.
संबंधित माहिती
पीआर प्रोग्रामिंग त्रुटींचे निवारण
१.५.१०. SUPR विभाजन सुधारित करणे
तुम्ही विद्यमान SUPR विभाजन सुधारू शकता. SUPR विभाजन बदलल्यानंतर, तुम्ही ते संकलित केले पाहिजे, .sof तयार करा file, आणि इतर व्यक्तिरेखा संकलित न करता बोर्ड प्रोग्राम करा. उदाample, जलद मोजण्यासाठी top_counter_fast.sv मॉड्यूल बदलण्यासाठी या चरणांचे अनुसरण करा:
- वर्तमान पुनरावृत्ती म्हणून impl_blinking_led_supr_new सेट करा.
- top_counter_fast.sv मध्ये file, count_d + 2 विधानाला count_d + 4 ने बदला.
- SUPR ब्लॉक पुन्हा संश्लेषित करण्यासाठी आणि नवीन .sof तयार करण्यासाठी खालील आदेश चालवा. file: quartus_sh –flow compile blinking_led \ -c impl_blinking_led_supr_new
परिणामी .sof मध्ये आता नवीन SUPR क्षेत्र समाविष्ट आहे आणि डीफॉल्ट (पॉवर-ऑन) व्यक्तिमत्वासाठी blinking_led वापरते.
१.६. AN 1.6 चा दस्तऐवज पुनरावृत्ती इतिहास: स्थिर अद्यतन आंशिक पुनर्रचना ट्यूटोरियल पुनरावृत्ती इतिहास
दस्तऐवज आवृत्ती | इंटेल क्वार्टस प्राइम आवृत्ती | बदल |
2022.10.24 | 22. | दस्तऐवजाचे प्रारंभिक प्रकाशन. |
Intel® Quartus®Prime Design Suite साठी अपडेट केले: 22.3
FAQ ची उत्तरे:
अभिप्राय पाठवा
प्रश्न स्थिर अद्यतन आंशिक पुनर्रचना म्हणजे काय
पृष्ठ 3 वर एक स्थिर अद्यतन आंशिक पुनर्रचना
प्रश्न या ट्यूटोरियलसाठी मला काय हवे आहे?
पृष्ठ 3 वरील ट्यूटोरियल आवश्यकता
प्रश्न मला संदर्भ डिझाइन कोठे मिळेल?
डाउनलोड संदर्भ डिझाइन Fileपृष्ठ 5 वर s
प्रश्न मी SUPR डिझाइन कसे तयार करू?
पृष्ठ ६ वर संदर्भ डिझाइन वॉकथ्रू
प्रश्न पीआर व्यक्तिमत्व म्हणजे काय?
पृष्ठ 10 वर व्यक्तींची व्याख्या करा
प्रश्न मी SUPR लॉजिक कसे बदलू? पृष्ठ १६ वर SUPR लॉजिक बदला
पृष्ठ १६ वर SUPR लॉजिक बदला
प्रश्न मी बोर्ड कसा प्रोग्राम करू?
पृष्ठ १८ वर मंडळाचा कार्यक्रम
प्रश्न PR ज्ञात समस्या आणि मर्यादा काय आहेत?
इंटेल एफपीजीए सपोर्ट फोरम: पीआर
ऑनलाइन आवृत्ती
अभिप्राय पाठवा
ID: 749443
AN-987
आवृत्ती: 2022.10.24
कागदपत्रे / संसाधने
![]() |
intel Agilex F-Series FPGA विकास मंडळ [pdf] वापरकर्ता मार्गदर्शक Agilex F-Series, Agilex F-Series FPGA विकास मंडळ, FPGA विकास मंडळ, विकास मंडळ, मंडळ |