इंटेल एएन 903 प्रवेगक वेळ बंद
AN 903: Intel® Quartus® प्राइम प्रो एडिशन मधील वेळेच्या क्लोजरचा वेग वाढवणे
एम्बेडेड सिस्टीम, आयपी आणि हाय-स्पीड इंटरफेस एकत्रित करणाऱ्या आधुनिक एफपीजीए डिझाईन्सची घनता आणि जटिलता, वेळ बंद होण्यासाठी वाढती आव्हाने उपस्थित करते. उशीरा वास्तू बदल आणि पडताळणी आव्हाने वेळ घेणारे डिझाइन पुनरावृत्ती होऊ शकते. हा दस्तऐवज Intel® Quartus® प्राइम प्रो एडिशन सॉफ्टवेअरमधील सत्यापित आणि पुनरावृत्ती करण्यायोग्य पद्धतीचा वापर करून वेळ बंद करण्याच्या तीन चरणांचा सारांश देतो. या कार्यपद्धतीमध्ये प्रारंभिक RTL विश्लेषण आणि ऑप्टिमायझेशन, तसेच संकलन वेळ कमी करण्यासाठी आणि वेळ बंद करण्यासाठी आवश्यक डिझाइनची जटिलता आणि पुनरावृत्ती कमी करण्यासाठी स्वयंचलित तंत्रांचा समावेश आहे.
वेळ बंद होण्याच्या प्रवेग चरण
वेळ बंद होण्याच्या प्रवेग चरण
वेळ बंद करण्याची पायरी | वेळ बंद क्रियाकलाप | तपशीलवार माहिती |
पायरी 1: RTL चे विश्लेषण आणि ऑप्टिमाइझ करा | • योग्य डिझाइन सहाय्यक उल्लंघन पृष्ठ 4 वर
• लॉजिक पातळी कमी करा पृष्ठ 7 वर • उच्च फॅन-आउट नेट कमी करा पृष्ठ 9 वर |
• इंटेल क्वार्टस प्राइम प्रो संस्करण वापरकर्ता मार्गदर्शक: डिझाइन ऑप्टिमायझेशन
• इंटेल क्वार्टस प्राइम प्रो संस्करण वापरकर्ता मार्गदर्शक: डिझाइन शिफारशी |
पायरी 2: कंपाइलर ऑप्टिमायझेशन लागू करा | • कंपाइलर ऑप्टिमायझेशन मोड लागू करा आणि रणनीती पृष्ठ 13 वर
• उच्च वापरासाठी गर्दी कमी करा पृष्ठ 16 वर |
• इंटेल क्वार्टस प्राइम प्रो संस्करण वापरकर्ता मार्गदर्शक: डिझाइन संकलन
• इंटेल क्वार्टस प्राइम प्रो संस्करण वापरकर्ता मार्गदर्शक: डिझाइन ऑप्टिमायझेशन |
पायरी 3: समाधानकारक परिणाम जतन करा | • लॉक डाउन घड्याळे, रॅम आणि डीएसपी पृष्ठ 20 वर
• डिझाईन विभाजन परिणाम जतन करा पृष्ठ 21 वर |
• इंटेल क्वार्टस प्राइम प्रो संस्करण वापरकर्ता मार्गदर्शक: ब्लॉक- आधारित डिझाइन |
पायरी 1: डिझाइन RTL चे विश्लेषण आणि ऑप्टिमाइझ करा
तुमच्या डिझाईनचा सोर्स कोड ऑप्टिमाइझ करणे हे तुमच्या परिणामांची गुणवत्ता सुधारण्यासाठी सामान्यत: पहिले आणि सर्वात प्रभावी तंत्र आहे. इंटेल क्वार्टस प्राइम डिझाइन असिस्टंट तुम्हाला मूलभूत डिझाइन नियमांचे उल्लंघन त्वरीत दुरुस्त करण्यात मदत करते आणि डिझाइन ऑप्टिमायझेशन आणि वेळ बंद करणे सुलभ करणारे RTL बदलांची शिफारस करते.
वेळ बंद करण्याच्या समस्या
- अत्याधिक तर्क पातळी फिटर प्रक्रिया क्रम, कालावधी आणि परिणामांची गुणवत्ता प्रभावित करते.
- उच्च फॅन-आउट नेटमुळे संसाधनांची गर्दी होते आणि डेटा पथांवर अतिरिक्त ताण येतो, विनाकारण मार्गाची गंभीरता वाढते आणि वेळ बंद करणे गुंतागुंतीचे होते. हा ताण म्हणजे उच्च फॅन-आउट स्त्रोताकडे मार्ग (आणि ते उच्च फॅन-आउट सिग्नल शेअर करणारे सर्व मार्ग) खेचणारी आकर्षण शक्ती आहे.
वेळ बंद करण्याचे उपाय
- पृष्ठ 4 वर योग्य डिझाइन असिस्टंट उल्लंघन — तुमच्या डिझाइनशी संबंधित मूलभूत डिझाइन नियमांचे उल्लंघन द्रुतपणे ओळखण्यासाठी आणि दुरुस्त करण्यासाठी.
- पृष्ठ 7 वर लॉजिक लेव्हल्स कमी करा—डिझाईनच्या सर्व घटकांना समान फिटर ऑप्टिमायझेशन मिळू शकतील याची खात्री करण्यासाठी आणि संकलित करण्याची वेळ कमी करा.
- पृष्ठ 9 वर उच्च फॅन-आउट नेट कमी करा—संसाधनांची गर्दी कमी करण्यासाठी आणि बंद करण्याची वेळ सुलभ करण्यासाठी.
संबंधित माहिती
- "डिझाइन सहाय्यकासह डिझाइन नियम तपासत आहे," इंटेल क्वार्टस प्राइम प्रो एडिशन वापरकर्ता मार्गदर्शक: डिझाइन शिफारसी
- "सोर्स कोड ऑप्टिमाइझ करा," इंटेल क्वार्टस प्राइम प्रो एडिशन वापरकर्ता मार्गदर्शक: डिझाइन ऑप्टिमायझेशन
- "फॅन-आउट कंट्रोलसाठी डुप्लिकेट रजिस्टर्स," इंटेल क्वार्टस प्राइम प्रो एडिशन वापरकर्ता मार्गदर्शक: डिझाइन ऑप्टिमायझेशन
योग्य डिझाइन सहाय्यक उल्लंघन
ज्ञात वेळेच्या बंद होण्याच्या समस्या दूर करण्यासाठी प्रारंभिक डिझाइन विश्लेषण केल्याने उत्पादकता लक्षणीय वाढते. डीफॉल्ट सेटिंग्जसह प्रारंभिक संकलन चालविल्यानंतर, आपण पुन्हा करू शकताview डिझाईन असिस्टंट प्रारंभिक विश्लेषणासाठी अहवाल देतो. सक्षम केल्यावर, डिझाईन असिस्टंट इंटेल FPGA-शिफारस केलेल्या डिझाइन मार्गदर्शक तत्त्वांच्या मानक संचाच्या विरूद्ध कोणत्याही उल्लंघनाचा स्वयंचलितपणे अहवाल देतो. तुम्ही संकलित प्रवाह मोडमध्ये डिझाईन असिस्टंट चालवू शकता, तुम्हाला याची अनुमती देऊन view संकलनासाठी संबंधित उल्लंघने stagतुम्ही धावता. वैकल्पिकरित्या, डिझाईन असिस्टंट टायमिंग अॅनालायझर आणि चिप प्लॅनरमध्ये विश्लेषण मोडमध्ये उपलब्ध आहे.
- संकलन प्रवाह मोड-एक किंवा अधिक s दरम्यान स्वयंचलितपणे चालतेtagसंकलनाचे es. या मोडमध्ये, डिझाईन असिस्टंट संकलनादरम्यान इन-फ्लो (क्षणिक) डेटा वापरतो.
- विश्लेषण मोड- विशिष्ट संकलनात डिझाइन उल्लंघनांचे विश्लेषण करण्यासाठी टायमिंग अॅनालायझर आणि चिप प्लॅनरकडून डिझाइन असिस्टंट चालवाtage, संकलन प्रवाहात पुढे जाण्यापूर्वी. विश्लेषण मोडमध्ये, डिझाइन असिस्टंट स्थिर संकलन स्नॅपशॉट डेटा वापरतो.
डिझाईन असिस्टंट प्रत्येक नियमाचे उल्लंघन खालीलपैकी एका तीव्रतेच्या पातळीसह नियुक्त करतो. डिझाईन असिस्टंटने तुमच्या डिझाइनमध्ये कोणते नियम तपासावेत हे तुम्ही निर्दिष्ट करू शकता आणि तीव्रता पातळी कस्टमाइझ करू शकता, अशा प्रकारे तुमच्या डिझाइनसाठी महत्त्वाच्या नसलेल्या नियम तपासण्या काढून टाकू शकता.
डिझाइन सहाय्यक नियम तीव्रता पातळी
श्रेण्या | वर्णन | तीव्रता पातळी रंग |
गंभीर | हँड-ऑफसाठी पत्ता समस्या. | लाल |
उच्च | संभाव्य कार्यात्मक अपयश कारणीभूत. गहाळ किंवा चुकीचा डिझाइन डेटा दर्शवू शकतो. | संत्रा |
मध्यम | f साठी परिणामांच्या गुणवत्तेवर संभाव्य परिणाम होतोMAX किंवा संसाधनांचा वापर. | तपकिरी |
कमी | नियम RTL कोडिंग मार्गदर्शक तत्त्वांसाठी सर्वोत्तम पद्धती प्रतिबिंबित करतो. | निळा |
डिझाईन असिस्टंट सेट करत आहे
तुम्ही तुमच्या वैयक्तिक डिझाइन वैशिष्ट्यांसाठी आणि रिपोर्टिंग आवश्यकतांसाठी डिझाइन असिस्टंट पूर्णपणे सानुकूलित करू शकता. असाइनमेंट्स ➤ सेटिंग्ज ➤ डिझाईन असिस्टंट नियम सेटिंग्ज वर क्लिक करा जे विविध s ला कोणते नियम आणि पॅरामीटर्स लागू होतात हे नियंत्रित करणारे पर्याय निर्दिष्ट करण्यासाठीtagडिझाइन नियम तपासणीसाठी डिझाइन संकलनाचे es.
डिझाइन सहाय्यक नियम सेटिंग्ज
डिझाइन असिस्टंट चालवत आहे
सक्षम केल्यावर, डिझाईन असिस्टंट संकलनादरम्यान आपोआप चालतो आणि संकलन अहवालात सक्षम डिझाइन नियम उल्लंघनाचा अहवाल देतो. वैकल्पिकरित्या, तुम्ही विशिष्ट संकलन स्नॅपशॉटवर विश्लेषण मोडमध्ये डिझाइन असिस्टंट चालवू शकता फक्त त्यावर विश्लेषण केंद्रित करण्यासाठीtage संकलनादरम्यान स्वयंचलित डिझाइन सहाय्यक तपासणी सक्षम करण्यासाठी:
- डिझाईन असिस्टंट नियम सेटिंग्जमध्ये संकलनादरम्यान डिझाइन असिस्टंट एक्झिक्यूशन सक्षम करा चालू करा. स्नॅपशॉटला लागू होणाऱ्या कोणत्याही डिझाइन नियमांविरुद्ध विशिष्ट स्नॅपशॉट प्रमाणित करण्यासाठी विश्लेषण मोडमध्ये डिझाइन असिस्टंट चालवण्यासाठी:
- टायमिंग अॅनालायझर किंवा चिप प्लॅनर टास्क पॅनेलमध्ये रिपोर्ट DRC वर क्लिक करा.
Viewडिझाइन सहाय्यक परिणाम ing आणि दुरुस्त करणे
डिझाईन असिस्टंट विविध s मध्ये डिझाइन नियमांचे उल्लंघन सक्षम करत असल्याचा अहवाल देतोtagसंकलन अहवालाचे es.
संश्लेषण, योजना, स्थान आणि अहवाल अंतिम करण्यासाठी डिझाइन सहाय्यक परिणाम
ला view प्रत्येक नियमासाठी परिणाम, नियम सूचीमधील नियमावर क्लिक करा. नियमांचे वर्णन आणि दुरुस्तीसाठी डिझाइन शिफारसी दिसतात.
डिझाइन सहाय्यक नियम उल्लंघन शिफारस
डिझाइन नियमांचे उल्लंघन दुरुस्त करण्यासाठी तुमचे RTL सुधारा.
लॉजिक पातळी कमी करा
अत्याधिक तार्किक पातळी फिटरच्या निकालांच्या गुणवत्तेवर परिणाम करू शकतात कारण डिझाइनचा गंभीर मार्ग फिटर प्रक्रिया क्रम आणि कालावधी प्रभावित करतो. फिटर वेळेच्या ढिलाईच्या आधारावर डिझाइन ठेवतो आणि मार्ग देतो. फिटर प्रथम कमीत कमी स्लॅकसह लांब मार्ग ठेवतो. फिटर सामान्यत: निम्न-लॉजिक-स्तरीय पथांपेक्षा उच्च तर्क-स्तरीय पथांना प्राधान्य देतो. सामान्यतः, फिटर एस नंतरtage पूर्ण झाले आहे, उर्वरित गंभीर मार्ग सर्वोच्च तर्क पातळीचे मार्ग नाहीत. फिटर प्राधान्यक्रमित प्लेसमेंट, राउटिंग आणि उच्च स्तरावरील तर्काला रीटाइमिंग देते. लॉजिक लेव्हल कमी केल्याने डिझाईनच्या सर्व घटकांना समान फिटर प्राधान्य मिळते याची खात्री करण्यात मदत होते. अहवाल चालवा ➤ सानुकूल अहवाल ➤ मार्गातील तर्काचे स्तर दर्शविणारे अहवाल व्युत्पन्न करण्यासाठी टाइमिंग विश्लेषक मध्ये वेळेचा अहवाल द्या. जर मार्ग वेळेत अयशस्वी झाला आणि लॉजिक स्तरांची संख्या जास्त असेल, तर कामगिरी सुधारण्यासाठी डिझाइनच्या त्या भागात पाइपलाइन जोडण्याचा विचार करा.
पथ अहवालातील तर्कशास्त्र खोली
अहवाल लॉजिक पातळी खोली
कंपाइलरच्या योजनेनंतर एसtagई, तुम्ही टायमिंग अॅनालायझर Tcl कन्सोलमध्ये report_logic_depth चालवू शकता view घड्याळाच्या डोमेनमधील लॉजिक स्तरांची संख्या. रिपोर्ट_लॉजिक_डेप्थ गंभीर मार्गांमध्ये तर्काच्या खोलीचे वितरण दर्शविते, जे तुम्हाला तुमच्या RTL मधील लॉजिक पातळी कमी करू शकणारे क्षेत्र ओळखण्यास अनुमती देते.
अहवाल_लॉजिक_डेप्थ -पॅनेल_नाव - [ get_clocks कडून ] \ -ते [get_clocks ]
report_logic_depth आउटपुट
RTL ऑप्टिमाइझ करण्यासाठी डेटा प्राप्त करण्यासाठी, कंपाइलरच्या प्लॅन नंतर रिपोर्ट_लॉजिक_डेप्थ चालवा.tage, उर्वरित फिटर s चालवण्यापूर्वीtages अन्यथा, पोस्ट-फिटर अहवालांमध्ये भौतिक ऑप्टिमायझेशन (रिटिमिंग आणि रिसिंथेसिस) चे परिणाम देखील समाविष्ट असतात.
शेजारी पाथचा अहवाल देणे
फिटर चालवल्यानंतर (फायनलाइज) एसtagई, गंभीर मार्गाचे मूळ कारण निश्चित करण्यात मदत करण्यासाठी तुम्ही report_neighbor_paths चालवू शकता (उदा.ample, उच्च लॉजिक लेव्हल, रिटाइमिंग मर्यादा, सब-इष्टतम प्लेसमेंट, I/O कॉलम क्रॉसिंग, होल्ड-फिक्स, किंवा इतर): रिपोर्ट_नेगर_पाथ -to_clock -npaths -पॅनेल_नाव
report_neighbour_paths डिझाइनमधील सर्वात वेळ-गंभीर मार्गांचा अहवाल देतो, ज्यात संबंधित स्लॅक, अतिरिक्त पथ सारांश माहिती आणि पथ बाउंडिंग बॉक्स समाविष्ट आहेत.
report_neighbour_paths आउटपुट
report_neighbour_paths प्रत्येक गंभीर पाथ आधी आणि नंतरचा सर्वात वेळ-गंभीर मार्ग दाखवतो. पाथवर नकारात्मक ढिलाई असल्यास पाथचे रीटाइमिंग किंवा लॉजिक बॅलन्सिंग टायमिंग क्लोजर सोपे करू शकते, परंतु पाथ आधी किंवा पाथ नंतर पॉझिटिव्ह स्लॅक.
रीटाइमिंग सक्षम करण्यासाठी, खालील पर्याय चालू असल्याची खात्री करा:
- नोंदणीसाठी — असाइनमेंट सक्षम करा ➤ सेटिंग्ज ➤ कंपाइलर सेटिंग्ज ➤ नोंदणी ऑप्टिमायझेशन ➤ नोंदणी रीटायमिंगला परवानगी द्या
- रॅम एंडपॉइंट्ससाठी—असाइनमेंट्स सक्षम करा ➤ सेटिंग्ज ➤ कंपाइलर सेटिंग्ज ➤ फिटर सेटिंग्ज (प्रगत) ➤ रॅम रिटायमिंगला अनुमती द्या
- डीएसपी एंडपॉइंट्ससाठी—असाइनमेंट सक्षम करा ➤ सेटिंग्ज ➤ कंपाइलर सेटिंग्ज ➤ फिटर सेटिंग्ज (प्रगत) ➤ डीएसपी रीटिमिंगला अनुमती द्या
टीप
पुढील तर्क समतोल आवश्यक असल्यास, तर्कशास्त्र गंभीर मार्गावरून मार्ग आधी किंवा नंतरच्या मार्गावर जाण्यासाठी तुम्ही तुमचे RTL व्यक्तिचलितपणे बदलले पाहिजे.
जर एखाद्या रजिस्टरचे आउटपुट त्याच्या इनपुटशी जोडलेले असेल, तर एक किंवा दोन्ही शेजारी मार्ग सध्याच्या मार्गाशी एकसारखे असू शकतात. सर्वात वाईट स्लॅकसह शेजारी मार्ग शोधत असताना, सर्व ऑपरेटिंग शर्तींचा विचार केला जातो, केवळ मुख्य मार्गाच्या ऑपरेटिंग शर्तींचा विचार केला जात नाही.
टेक्नॉलॉजी मॅपमधील लॉजिक लेव्हल्सचे व्हिज्युअलायझिंग Viewer
तंत्रज्ञान नकाशा Viewer योजनाबद्ध, तंत्रज्ञान-मॅप केलेले, डिझाइन नेटलिस्टचे प्रतिनिधित्व देखील प्रदान करते आणि तर्क स्तरांची संख्या कमी करून डिझाइनमधील कोणत्या क्षेत्रांना फायदा होऊ शकतो हे पाहण्यास मदत करू शकते. तुम्ही चिप प्लॅनरमध्ये पथाच्या भौतिक लेआउटची तपशीलवार तपासणी देखील करू शकता. पैकी एकामध्ये वेळेचा मार्ग शोधण्यासाठी viewers, वेळेच्या अहवालातील पथावर उजवे-क्लिक करा, पाथ शोधा आणि तंत्रज्ञान नकाशामध्ये शोधा निवडा Viewएर
उच्च फॅन-आउट नेट कमी करा
जास्त फॅन-आउट जाळ्यांमुळे संसाधनांची गर्दी होऊ शकते, ज्यामुळे वेळ बंद होण्यास गुंतागुंत होते. सर्वसाधारणपणे, कंपाइलर घड्याळांशी संबंधित उच्च फॅन-आउट नेट स्वयंचलितपणे व्यवस्थापित करतो. कंपाइलर जागतिक घड्याळ नेटवर्कवर ओळखल्या जाणार्या उच्च फॅन-आउट नेटचा स्वयंचलितपणे प्रचार करतो. कंपाइलर ठिकाण आणि मार्ग दरम्यान उच्च ऑप्टिमायझेशन प्रयत्न करतोtages, ज्यामुळे फायदेशीर नोंदणी डुप्लिकेशन होते. खालील कॉर्नर केसेसमध्ये, तुम्ही तुमच्या डिझाइन RTL मध्ये खालील मॅन्युअल बदल करून गर्दी कमी करू शकता:
उच्च फॅन-आउट नेट कॉर्नर केसेस
डिझाइन वैशिष्ट्य | मॅन्युअल RTL ऑप्टिमायझेशन |
उच्च फॅन-आउट नेट जे अनेक पदानुक्रम किंवा भौतिकदृष्ट्या दूरच्या गंतव्यस्थानांपर्यंत पोहोचतात | पदानुक्रमांमध्ये उच्च फॅन-आउट नेटवर्क मॅन्युअली डुप्लिकेट करण्यासाठी पाइपलाइनमधील शेवटच्या रजिस्टरवर डुप्लिकेट_हाइरार्की_डेप्थ असाइनमेंट निर्दिष्ट करा. प्लेसमेंट दरम्यान डुप्लिकेट रजिस्टर्ससाठी duplicate_register असाइनमेंट निर्दिष्ट करा. |
कॉम्बिनेशनल लॉजिकमधून DSP किंवा M20K मेमरी ब्लॉक्ससाठी कंट्रोल सिग्नलसह डिझाइन | कंट्रोल सिग्नलला रजिस्टरमधून DSP किंवा M20K मेमरीवर चालवा. |
पदानुक्रमांमध्ये डुप्लिकेशन नोंदणी करा
रजिस्टर डुप्लिकेशन आणि फॅन-आउट तयार करण्यासाठी तुम्ही पाइपलाइनमधील शेवटच्या रजिस्टरवर duplicate_hierarchy_depth असाइनमेंट निर्दिष्ट करू शकता. खालील आकडे खालील डुप्लिकेट_हाइरार्की_डेप्थ असाइनमेंटचा प्रभाव स्पष्ट करतात:
set_instance_assignment -name डुप्लिकेट_hierarchy_depth -to \
कुठे:
- register_name—एका साखळीतील शेवटची नोंदणी जी अनेक पदानुक्रमांना पसंत करते.
- level_number — डुप्लिकेट करण्यासाठी साखळीतील नोंदणींची संख्या.
आकृती 9. नोंदणी डुप्लिकेशन करण्यापूर्वी
पदानुक्रमांमध्ये नोंदणी डुप्लिकेशन लागू करण्यासाठी duplicate_hierarchy_depth असाइनमेंट सेट करा आणि साखळीतील शेवटच्या नोंदणीनंतर नोंदणीचे एक झाड तयार करा. तुम्ही नोंदणीचे नाव आणि M द्वारे दर्शविलेल्या डुप्लिकेटची संख्या खालील उदाampले लाल बाण डुप्लिकेट रजिस्टर्सची संभाव्य ठिकाणे दाखवतात.
- set_instance_assignment -नाव DUPLICATE_HIERARCHY_DEPTH -ते regZ M
नोंदणी डुप्लिकेशन = 1
रजिस्टर डुप्लिकेशन (M=1) चे खालील सिंगल लेव्हल निर्दिष्ट केल्याने डिझाईन पदानुक्रमाच्या एका स्तरावर एक रजिस्टर (regZ) डुप्लिकेट होते:
- set_instance_assignment -नाव DUPLICATE_HIERARCHY_DEPTH -ते regZ 1
नोंदणी डुप्लिकेशन = 3
रजिस्टर डुप्लिकेशनचे तीन स्तर निर्दिष्ट करणे (M=3) तीन रजिस्टर्स (regZ, regY, regX) अनुक्रमे तीन, दोन, आणि एक स्तर खाली डुप्लिकेट करते:
- set_instance_assignment -नाव DUPLICATE_HIERARCHY_DEPTH -ते regZ 3
डुप्लिकेट करून आणि रजिस्टर्सना पदानुक्रमांमध्ये खाली ढकलून, डिझाइन सर्व गंतव्यस्थानांसाठी समान संख्येची सायकल राखून ठेवते, आणि या मार्गांवरील कार्यक्षमतेला मोठ्या प्रमाणात गती देते.
प्लेसमेंट दरम्यान डुप्लिकेशन नोंदणी करा
पृष्ठ 12 वरील आकृती 11 चिपच्या विस्तृत पसरलेल्या क्षेत्रासाठी उच्च फॅन-आउट असलेले एक रजिस्टर दाखवते. हे रजिस्टर ५० वेळा डुप्लिकेट करून, तुम्ही रजिस्टर आणि गंतव्यस्थानांमधील अंतर कमी करू शकता ज्यामुळे शेवटी वेगवान घड्याळ कार्यप्रदर्शन होते. डुप्लिकेट_रजिस्टर नियुक्त केल्याने कंपायलरला फॅन-आउट्सचा उपसंच फीड करणार्या नवीन रजिस्टर्सच्या प्लेसमेंटसाठी मार्गदर्शन करण्यासाठी भौतिक समीपतेचा फायदा घेता येतो.
आकृती 12. प्लेसमेंट दरम्यान डुप्लिकेशन नोंदणी करा
टीप: संपूर्ण चिपवर सिग्नल प्रसारित करण्यासाठी, मल्टी वापराtage पाइपलाइन. पाइपलाइनमधील प्रत्येक रजिस्टरला डुप्लिकेट_रजिस्टर असाइनमेंट लागू करा. हे तंत्र झाडाची रचना तयार करते जी संपूर्ण चिपवर सिग्नल प्रसारित करते.
Viewing डुप्लिकेशन परिणाम
रचना संश्लेषण खालील, view संकलित अहवालाच्या संश्लेषण फोल्डरमध्ये श्रेणीबद्ध ट्री डुप्लिकेशन सारांश अहवालात डुप्लिकेशन परिणाम होतो. अहवाल खालील प्रदान करतो:
- डुप्लिकेट_हाइरार्की_डेप्थ असाइनमेंट असलेल्या रजिस्टरवरील माहिती.
- असाइनमेंटसह पुढील सुधारणांसाठी तुम्ही आरंभ बिंदू म्हणून वापरू शकता अशा साखळीच्या लांबीचे कारण.
- साखळीतील वैयक्तिक नोंदणीबद्दल माहिती जी तुम्ही लागू केलेल्या डुप्लिकेटची रचना अधिक चांगल्या प्रकारे समजून घेण्यासाठी वापरू शकता.
फिटर अहवालात डुप्लिकेट_रजिस्टर सेटिंग असलेल्या नोंदणीवरील विभाग देखील समाविष्ट आहे.
कंपाइलर ऑप्टिमायझेशन तंत्र लागू करा
डिझाईन्स जे खूप उच्च टक्के वापरतातtagई एफपीजीए उपकरण संसाधनांमुळे संसाधनांची गर्दी होऊ शकते, परिणामी कमी fMAX आणि अधिक जटिल वेळ बंद होते. कंपाइलरची ऑप्टिमायझेशन मोड सेटिंग्ज तुम्हाला संश्लेषणादरम्यान कंपाइलर प्रयत्नांचे फोकस निर्दिष्ट करण्याची परवानगी देतात. उदाample, आपण क्षेत्रासाठी संश्लेषण ऑप्टिमाइझ करता, किंवा संसाधनांच्या गर्दीला संबोधित करताना राउटेबिलिटी. तुम्ही इंटेल क्वार्टस प्राइम डिझाइन स्पेस एक्सप्लोरर II मध्ये या समान ऑप्टिमायझेशन मोड सेटिंग्जच्या संयोजनासह प्रयोग करू शकता. या सेटिंग्ज आणि इतर मॅन्युअल तंत्रे तुम्हाला जास्त वापरल्या गेलेल्या डिझाइनमध्ये गर्दी कमी करण्यास मदत करू शकतात.
वेळ बंद करण्याची समस्या
- अत्यंत उच्च साधन संसाधनाच्या वापरासह डिझाईन्स वेळ बंद होण्यास गुंतागुंत करतात.
वेळ बंद करण्याचे उपाय
- पृष्ठ 13 वर कंपाइलर ऑप्टिमायझेशन मोड आणि स्ट्रॅटेजीज लागू करा—डिझाईन संश्लेषणासाठी प्राथमिक ऑप्टिमायझेशन मोड लक्ष्य निर्दिष्ट करा.
- पृष्ठ 16 वर क्षेत्रफळ आणि राउटेबिलिटी पर्यायांसह प्रयोग करा — गर्दी कमी करण्यासाठी आणि क्षेत्र आणि राउटेबिलिटी उद्दिष्टे पूर्ण करण्यासाठी सेटिंग्जचे अतिरिक्त संग्रह लागू करा.
- पृष्ठ 16 वर अंकगणित-गहन डिझाइन्ससाठी फ्रॅक्टल सिंथेसिसचा विचार करा—उच्च-थ्रूपुट, अंकगणित-गहन डिझाइनसाठी, फ्रॅक्टल सिंथेसिस गुणक नियमितीकरण, रिटाइमिंग आणि सतत अंकगणित पॅकिंगद्वारे डिव्हाइस संसाधन वापर कमी करते.
संबंधित माहिती
- "टाइमिंग क्लोजर आणि ऑप्टिमायझेशन" धडा, इंटेल क्वार्टस प्राइम प्रो एडिशन वापरकर्ता मार्गदर्शक: डिझाइन ऑप्टिमायझेशन
- इंटेल क्वार्टस प्राइम प्रो संस्करण वापरकर्ता मार्गदर्शक: डिझाइन संकलन
कंपाइलर ऑप्टिमायझेशन मोड आणि धोरणे लागू करा
कंपाइलर ऑप्टिमायझेशन मोड आणि डिझाइन स्पेस एक्सप्लोरर II (DSE II) संकलन धोरण लागू करण्यासाठी खालील माहिती वापरा.
कंपाइलर ऑप्टिमायझेशन मोड सेटिंग्जसह प्रयोग करा
कंपाइलर ऑप्टिमायझेशन मोड सेटिंग्जसह प्रयोग करण्यासाठी या चरणांचे अनुसरण करा:
- इंटेल क्वार्टस प्राइम प्रोजेक्ट तयार करा किंवा उघडा.
- कंपाइलरची उच्च-स्तरीय ऑप्टिमायझेशन धोरण निर्दिष्ट करण्यासाठी, असाइनमेंट ➤ सेटिंग्ज ➤ कंपाइलर सेटिंग्ज वर क्लिक करा. पृष्ठ 4 वर तक्ता 14 वर्णन केल्याप्रमाणे, खालीलपैकी कोणत्याही मोड सेटिंग्जसह प्रयोग करा.
- या सेटिंग्जसह डिझाइन संकलित करण्यासाठी, संकलन डॅशबोर्डवरील संकलन प्रारंभ करा क्लिक करा.
- View संकलन अहवालात संकलन परिणाम.
- Tools ➤ टायमिंग अॅनालायझर वर क्लिक करा view कार्यप्रदर्शनावरील ऑप्टिमायझेशन सेटिंग्जचे परिणाम.
कंपाइलर ऑप्टिमायझेशन मोड सेटिंग्ज
ऑप्टिमायझेशन मोड (कंपाइलर सेटिंग्ज पृष्ठ)
ऑप्टिमायझेशन मोड | वर्णन |
संतुलित (सामान्य प्रवाह) | कंपाइलर संतुलित अंमलबजावणीसाठी संश्लेषण ऑप्टिमाइझ करते जे वेळेच्या मर्यादांचा आदर करते. |
उच्च कार्यप्रदर्शन प्रयत्न | कंपाइलर प्लेसमेंट आणि राउटिंग दरम्यान टाइमिंग ऑप्टिमायझेशन प्रयत्न वाढवतो आणि वेळेशी संबंधित भौतिक संश्लेषण ऑप्टिमायझेशन (प्रति नोंदणी ऑप्टिमायझेशन सेटिंग्ज) सक्षम करतो. प्रत्येक अतिरिक्त ऑप्टिमायझेशन संकलन वेळ वाढवू शकतो. |
कमाल प्लेसमेंट प्रयत्नांसह उच्च कार्यप्रदर्शन | सारखेच कंपाइलर ऑप्टिमायझेशन सक्षम करते उच्च कार्यप्रदर्शन प्रयत्न, अतिरिक्त प्लेसमेंट ऑप्टिमायझेशन प्रयत्नांसह. |
उत्कृष्ट कामगिरी | सारखेच कंपाइलर ऑप्टिमायझेशन सक्षम करते उच्च कार्यप्रदर्शन प्रयत्न, आणि विश्लेषण आणि संश्लेषण दरम्यान अधिक ऑप्टिमायझेशन जोडते जेणेकरून तर्क क्षेत्रामध्ये संभाव्य वाढीसह डिझाइन कार्यप्रदर्शन वाढवा. जर डिझाईनचा वापर आधीच खूप जास्त असेल तर, या पर्यायामुळे फिटिंगमध्ये अडचण येऊ शकते, ज्यामुळे संपूर्ण ऑप्टिमायझेशन गुणवत्तेवर नकारात्मक परिणाम होऊ शकतो. |
जास्तीत जास्त प्लेसमेंट प्रयत्नांसह उत्कृष्ट कामगिरी | सारखेच कंपाइलर ऑप्टिमायझेशन सक्षम करते उत्कृष्ट कामगिरी, अतिरिक्त प्लेसमेंट ऑप्टिमायझेशन प्रयत्नांसह. |
आक्रमक क्षेत्र | कंपाइलर डिझाइन कार्यक्षमतेच्या संभाव्य खर्चावर डिझाइनची अंमलबजावणी करण्यासाठी आवश्यक असलेले उपकरण क्षेत्र कमी करण्यासाठी आक्रमक प्रयत्न करतो. |
उच्च स्थान नियोजन राउटेबिलिटी प्रयत्न | कम्पायलर डिझाइन क्षेत्र, कार्यप्रदर्शन आणि संकलन वेळ यांच्या संभाव्य खर्चावर डिझाईन रूट करण्यासाठी उच्च प्रयत्न करतो. कंपाइलर राउटिंग वापर कमी करण्यासाठी अतिरिक्त वेळ घालवतो, ज्यामुळे राउटीबिलिटी सुधारते आणि डायनॅमिक पॉवर देखील वाचते. |
उच्च पॅकिंग राउटेबिलिटी प्रयत्न | कम्पायलर डिझाइन क्षेत्र, कार्यप्रदर्शन आणि संकलन वेळ यांच्या संभाव्य खर्चावर डिझाईन रूट करण्यासाठी उच्च प्रयत्न करतो. कंपाइलर अतिरिक्त वेळ पॅकिंग रजिस्टर्ससाठी खर्च करतो, ज्यामुळे राउटिबिलिटी सुधारते आणि डायनॅमिक पॉवरची बचत देखील होते. |
राउटेबिलिटीसाठी नेटलिस्ट ऑप्टिमाइझ करा | कंपाइलर कार्यक्षमतेच्या संभाव्य खर्चावर राउटेबिलिटी वाढवण्यासाठी नेटलिस्ट बदल लागू करतो. |
चालू ठेवले… |
ऑप्टिमायझेशन मोड | वर्णन |
उच्च शक्ती प्रयत्न | कंपाइलर कमी पॉवरसाठी संश्लेषण ऑप्टिमाइझ करण्यासाठी उच्च प्रयत्न करतो. उच्च शक्ती प्रयत्न संश्लेषण रन टाइम वाढवते. |
आक्रमक शक्ती | कमी शक्तीसाठी संश्लेषण ऑप्टिमाइझ करण्यासाठी आक्रमक प्रयत्न करते. कंपाइलर अधिक निर्दिष्ट किंवा अनुमानित टॉगल दरांसह सिग्नलचा राउटिंग वापर कमी करतो, अतिरिक्त डायनॅमिक पॉवर वाचवतो परंतु कार्यक्षमतेवर संभाव्य परिणाम करतो. |
आक्रमक संकलित वेळ | कमी प्रयत्न आणि कमी कार्यप्रदर्शन ऑप्टिमायझेशनसह डिझाइनची अंमलबजावणी करण्यासाठी लागणारा संकलित वेळ कमी करते. हा पर्याय काही तपशीलवार अहवाल कार्ये देखील अक्षम करतो.
टीप: चालू करत आहे आक्रमक संकलित वेळ इंटेल क्वार्टस प्राइम सेटिंग्ज सक्षम करते File (.qsf) सेटिंग्ज ज्या इतर .qsf सेटिंग्जद्वारे अधिलिखित केल्या जाऊ शकत नाहीत. |
डिझाईन स्पेस एक्सप्लोरर II संकलन धोरणे
DSE II तुम्हाला संसाधन, कार्यप्रदर्शन किंवा पॉवर ऑप्टिमायझेशन लक्ष्यांसाठी इष्टतम प्रकल्प सेटिंग्ज शोधण्याची परवानगी देते. डीएसई II तुम्हाला विशिष्ट उद्दिष्ट साध्य करण्यासाठी सेटिंग्ज आणि मर्यादांचे वेगवेगळे प्रीसेट संयोजन वापरून पुनरावृत्तीने डिझाइन संकलित करण्याची परवानगी देते. DSE II नंतर तुमची उद्दिष्टे पूर्ण करण्यासाठी सर्वोत्तम सेटिंग्ज संयोजनाचा अहवाल देतो. DSE II देखील अॅडव्हान घेऊ शकतोtage एकाधिक संगणकांवर बिया संकलित करण्यासाठी समांतरीकरण क्षमता. DSE II संकलन धोरण सेटिंग्ज पृष्ठ 4 वर तक्ता 14 मधील ऑप्टिमायझेशन मोड सेटिंग्ज प्रतिध्वनी करतात
डिझाईन स्पेस एक्सप्लोरर II
DSE II साठी संकलन धोरण निर्दिष्ट करण्यासाठी या चरणांचे अनुसरण करा:
- DSE II लाँच करण्यासाठी (आणि Intel Quartus प्राइम सॉफ्टवेअर बंद करा), Tools ➤ Launch Design Space Explorer II वर क्लिक करा. इंटेल क्वार्टस प्राइम सॉफ्टवेअर बंद झाल्यानंतर DSE II उघडेल.
- DSE II टूलबारवर, अन्वेषण चिन्हावर क्लिक करा.
- एक्सप्लोरेशन पॉइंट्स विस्तृत करा.
- डिझाइन एक्सप्लोरेशन निवडा. त्या रणनीतींना लक्ष्य करून डिझाइन एक्सप्लोरेशन चालविण्यासाठी संकलन धोरणांपैकी कोणतीही सक्षम करा.
उच्च वापरासाठी गर्दी कमी करा
डिझाईन्स जे 80% पेक्षा जास्त डिव्हाइस संसाधने वापरतात ते सामान्यत: वेळ बंद होण्यात सर्वात अडचण सादर करतात. गर्दी कमी करण्यासाठी आणि बंद करण्याची वेळ सुलभ करण्यासाठी तुम्ही खालील मॅन्युअल आणि स्वयंचलित तंत्रे लागू करू शकता.
- पृष्ठ 16 वर क्षेत्र आणि राउटेबिलिटी पर्यायांसह प्रयोग करा
- पृष्ठ 16 वर अंकगणित-गहन डिझाइनसाठी फ्रॅक्टल सिंथेसिसचा विचार करा
क्षेत्र आणि राउटेबिलिटी पर्यायांसह प्रयोग करा
जेव्हा डिव्हाइसच्या वापरामुळे राउटिंग गर्दी होते, तेव्हा तुम्ही तुमच्या डिझाइनसाठी संसाधनाचा वापर आणि गर्दी कमी करण्यासाठी क्षेत्र आणि राउटेबिलिटी ऑप्टिमायझेशन सेटिंग्जसह प्रयोग करू शकता. या सेटिंग्जमध्ये प्रवेश करण्यासाठी असाइनमेंट्स ➤ सेटिंग्ज ➤ कंपाइलर सेटिंग्ज ➤ ऑप्टिमायझेशन मोड क्लिक करा:
क्षेत्र आणि राउटेबिलिटी पर्याय
अंकगणित-गहन डिझाइनसाठी फ्रॅक्टल सिंथेसिसचा विचार करा
उच्च-थ्रूपुट, अंकगणित-केंद्रित डिझाइनसाठी, आपण डिव्हाइस संसाधनांचा वापर सुधारण्यासाठी स्वयंचलित फ्रॅक्टल संश्लेषण ऑप्टिमायझेशन सक्षम करू शकता. फ्रॅक्टल सिंथेसिस ऑप्टिमायझेशनमध्ये गुणक नियमितीकरण आणि रीटाइमिंग तसेच सतत अंकगणित पॅकिंग समाविष्ट आहे. ऑप्टिमायझेशन्स मोठ्या संख्येने कमी-सुस्पष्टता अंकगणित ऑपरेशन्ससह (जसे की बेरीज आणि गुणाकार) लक्ष्यित डिझाइन करतात. तुम्ही जागतिक स्तरावर किंवा केवळ विशिष्ट गुणकांसाठी फ्रॅक्टल सिंथेसिस सक्षम करू शकता. आदर्श परिस्थितीत, फ्रॅक्टल सिंथेसिस ऑप्टिमायझेशन 20-45% क्षेत्र कमी करू शकते.
गुणक नियमितीकरण आणि रीटाइमिंग
गुणक नियमितीकरण आणि रीटाइमिंग अत्यंत ऑप्टिमाइझ केलेल्या सॉफ्ट गुणक अंमलबजावणीचे निष्कर्ष काढते. कंपाइलर दोन किंवा अधिक पाइपलाइनसाठी बॅकवर्ड रीटाइमिंग लागू करू शकतोtagआवश्यक असल्यास. जेव्हा तुम्ही फ्रॅक्टल सिंथेसिस सक्षम करता, तेव्हा कंपाइलर गुणक नियमितीकरण आणि स्वाक्षरी केलेल्या आणि स्वाक्षरी नसलेल्या गुणकांना रीटाइमिंग लागू करतो.
आकृती 16. गुणक रीटाइमिंग
टीप
- गुणक नियमितीकरण केवळ तर्कशास्त्र संसाधने वापरते आणि डीएसपी ब्लॉक्स वापरत नाही.
- FRACTAL_SYNTHESIS QSF असाइनमेंट सेट केलेल्या मॉड्यूल्समधील स्वाक्षरी केलेले आणि स्वाक्षरी न केलेल्या दोन्ही गुणकांना गुणक नियमितीकरण आणि रीटाइमिंग लागू केले जाते.
सतत अंकगणित पॅकिंग
सतत अंकगणित पॅकिंग इंटेल FPGA LAB मध्ये फिट होण्यासाठी इष्टतम आकाराच्या लॉजिक ब्लॉक्समध्ये अंकगणित गेट्सचे पुन: संश्लेषण करते. हे ऑप्टिमायझेशन अंकगणित ब्लॉक्ससाठी LAB संसाधनांचा 100% पर्यंत वापर करण्यास अनुमती देते. जेव्हा तुम्ही फ्रॅक्टल सिंथेसिस सक्षम करता, तेव्हा कंपाइलर हे ऑप्टिमायझेशन सर्व कॅरी चेन आणि दोन-इनपुट लॉजिक गेट्सवर लागू करतो. हे ऑप्टिमायझेशन अॅडर ट्री, गुणक आणि इतर कोणतेही अंकगणित-संबंधित तर्क पॅक करू शकते.
सतत अंकगणित पॅकिंग
टीप
लक्षात घ्या की सतत अंकगणित पॅकिंग गुणक नियमितीकरणापासून स्वतंत्रपणे कार्य करते. त्यामुळे, जर तुम्ही नियमित नसलेले गुणक वापरत असाल (जसे की तुमचा स्वतःचा गुणक लिहिणे) तर सतत अंकगणित पॅकिंग अजूनही ऑपरेट करू शकते. फ्रॅक्टल सिंथेसिस ऑप्टिमायझेशन डीप-लर्निंग एक्सीलरेटर्स किंवा इतर उच्च-थ्रूपुट, अंकगणित-केंद्रित फंक्शन्ससह डिझाइनसाठी सर्वात योग्य आहे जे सर्व DSP संसाधनांपेक्षा जास्त आहे. फ्रॅक्टल सिंथेसिस प्रकल्प-व्यापी सक्षम केल्याने मोड्यूल्सवर अनावश्यक ब्लॉट होऊ शकते जे फ्रॅक्टल ऑप्टिमायझेशनसाठी योग्य नाहीत.
फ्रॅक्टल सिंथेसिस सक्षम किंवा अक्षम करणे
Intel Stratix® 10 आणि Intel Agilex™ उपकरणांसाठी, लहान गुणकांसाठी (Verilog HDL किंवा VHDL मधील कोणतेही A*B विधान जेथे ऑपरेंडची बिट-रुंदी 7 किंवा त्याहून कमी आहे) साठी फ्रॅक्टल सिंथेसिस ऑप्टिमायझेशन स्वयंचलितपणे चालते. तुम्ही खालीलपैकी कोणत्याही पद्धतीचा वापर करून या उपकरणांसाठी लहान गुणकांसाठी स्वयंचलित फ्रॅक्टल संश्लेषण देखील अक्षम करू शकता:
- RTL मध्ये, "Multstyle Verilog HDL Synthesis Attribute" च्या वर्णनानुसार DSP मल्टीस्टाइल सेट करा. उदाample: (* multstyle = "dsp" *) मॉड्यूल foo(…); मॉड्यूल foo(..) /* synthesis multstyle = “dsp” */;
- .qsf मध्ये file, खालीलप्रमाणे असाइनमेंट म्हणून जोडा: set_instance_assignment -name DSP_BLOCK_BALANCING_IMPLEMENTATION \DSP_BLOCKS -to r
याव्यतिरिक्त, Intel Stratix 10, Intel Agilex, Intel Arria® 10, आणि Intel Cyclone® 10 GX डिव्हाइसेससाठी, तुम्ही फ्रॅक्टल सिंथेसिस GUI पर्यायासह किंवा संबंधित FRACTAL_SYNTHESIS .qsfassignment:qsfassignment सह जागतिक स्तरावर किंवा विशिष्ट गुणकांसाठी फ्रॅक्टल सिंथेसिस सक्षम करू शकता.
- RTL मध्ये, altera_attribute खालीलप्रमाणे वापरा: (* altera_attribute = “-name FRACTAL_SYNTHESIS ON” *)
- .qsf मध्ये file, असाइनमेंट म्हणून खालीलप्रमाणे जोडा: set_global_assignment -name FRACTAL_SYNTHESIS ON -entity
वापरकर्ता इंटरफेसमध्ये, या चरणांचे अनुसरण करा:
- असाइनमेंट्स ➤ असाइनमेंट एडिटर वर क्लिक करा.
- असाइनमेंट नावासाठी फ्रॅक्टल सिंथेसिस निवडा, मूल्यासाठी चालू करा, घटकासाठी अंकगणित-केंद्रित घटकाचे नाव आणि प्रति स्तंभातील उदाहरणाचे नाव. तुम्ही वाइल्डकार्ड (*) एंटर करू शकता To साठी घटकाची सर्व उदाहरणे नियुक्त करण्यासाठी.
आकृती 18. असाइनमेंट एडिटरमध्ये फ्रॅक्टल सिंथेसिस असाइनमेंट
संबंधित माहिती
- मल्टीस्टाईल व्हेरिलॉग एचडीएल संश्लेषण गुणधर्म
- इंटेल क्वार्टस प्राइम मदत मध्ये.
समाधानकारक परिणाम जतन करा
तुम्ही घड्याळे, रॅम आणि डीएसपीशी संबंधित मोठ्या ब्लॉक्सचे प्लेसमेंट लॉक करण्यासाठी समाधानकारक संकलन परिणामांचे बॅक-नोटेशन करून वेळ बंद करणे सोपे करू शकता. त्याचप्रमाणे, डिझाईन ब्लॉक पुनर्वापर तंत्र तुम्हाला विशिष्ट FPGA परिघ किंवा कोर लॉजिक डिझाइन ब्लॉक्ससाठी (तर्कशास्त्र ज्यामध्ये श्रेणीबद्ध डिझाइन उदाहरणे असतात) साठी समाधानकारक संकलन परिणाम जतन करण्यास आणि त्यानंतरच्या संकलनांमध्ये त्या ब्लॉक्सचा पुनर्वापर करण्यास सक्षम करते. डिझाईन ब्लॉकच्या पुनर्वापरामध्ये, तुम्ही श्रेणीबद्ध उदाहरणाला डिझाईन विभाजन म्हणून नियुक्त करता आणि नंतर यशस्वी संकलनानंतर विभाजन संरक्षित आणि निर्यात करा. समाधानकारक परिणामांचे जतन आणि पुनर्वापर केल्याने तुम्हाला कंपाइलरचे प्रयत्न आणि वेळ केवळ डिझाईनच्या काही भागांवर केंद्रित करण्याची परवानगी मिळते ज्यात वेळ बंद नाही.
वेळ बंद करण्याची समस्या
- जोपर्यंत लॉक डाउन केले जात नाही तोपर्यंत, कंपाइलर विविध घटकांवर अवलंबून डिझाईन ब्लॉक्स, घड्याळे, रॅम आणि डीएसपी संकलित करण्यापासून संकलनापर्यंत वेगळ्या पद्धतीने लागू करू शकतो.
वेळ बंद करण्याचे उपाय
- पृष्ठ 20 वर घड्याळे, रॅम आणि डीएसपी लॉक डाउन करा — घड्याळे, रॅम आणि डीएसपीशी संबंधित मोठ्या ब्लॉक्सचे प्लेसमेंट लॉक करण्यासाठी समाधानकारक संकलन परिणाम बॅक-एनोटेट करा.
- पृष्ठ 21 वर डिझाईन विभाजन परिणाम जतन करा—वेळ पूर्ण करणार्या ब्लॉक्ससाठी विभाजने जतन करा आणि इतर डिझाइन ब्लॉक्सवर ऑप्टिमायझेशन फोकस करा.
संबंधित माहिती
- बॅक-एनोटेट असाइनमेंट डायलॉग बॉक्स मदत
- AN-899: जलद संरक्षणासह संकलित वेळ कमी करणे
- इंटेल क्वार्टस प्राइम प्रो संस्करण वापरकर्ता मार्गदर्शक: ब्लॉक-आधारित डिझाइन
लॉक डाउन घड्याळे, रॅम आणि डीएसपी
तुम्ही घड्याळे, रॅम आणि डीएसपीशी संबंधित मोठ्या ब्लॉक्सचे प्लेसमेंट लॉक करण्यासाठी समाधानकारक संकलन परिणामांचे बॅक-नोटेशन करून वेळ बंद करणे सोपे करू शकता. मोठे ब्लॉक प्लेसमेंट लॉक केल्याने कमी आवाजासह उच्च fMAX तयार होऊ शकते. RAM आणि DSPs सारखे मोठे ब्लॉक लॉक करणे प्रभावी ठरू शकते कारण या ब्लॉक्समध्ये नियमित LABs पेक्षा जास्त कनेक्टिव्हिटी असते, प्लेसमेंट दरम्यान हालचाल गुंतागुंतीची होते. जेव्हा योग्य RAM आणि DSP प्लेसमेंटमधून बियाणे चांगले परिणाम देते, तेव्हा तुम्ही ते प्लेसमेंट बॅक-नोटेशनसह कॅप्चर करू शकता. त्यानंतरच्या संकलितांना चांगल्या बियाण्यांमधून उच्च दर्जाची RAM आणि DSP प्लेसमेंटचा फायदा होऊ शकतो. या तंत्राचा फार कमी RAM किंवा DSP असलेल्या डिझाईन्सना लक्षणीय फायदा होत नाही. असाइनमेंट्स क्लिक करा ➤ पुढील संकलनात वापरण्यासाठी शेवटच्या संकलनातून .qsf वर डिव्हाइस संसाधन असाइनमेंट कॉपी करण्यासाठी असाइनमेंट्स मागे-भाष्य करा. बॅक-नोटेशन प्रकार सूचीमध्ये बॅक-नोटेशन प्रकार निवडा.
बॅक-एनोटेट असाइनमेंट डायलॉग बॉक्स
वैकल्पिकरित्या, तुम्ही खालील quartus_cdb एक्झिक्युटेबलसह बॅक-नोटेशन चालवू शकता. quartus_cdb –back_annotate [–dsp] [–ram] [–clock]
टीप
- एक्झिक्युटेबल अतिरिक्त [–dsp], [–ram] आणि [–clock] व्हेरिएबल्सना समर्थन देते ज्यांना बॅक-एनोटेट असाइनमेंट डायलॉग बॉक्स अद्याप समर्थन देत नाही.
डिझाईन विभाजन परिणाम जतन करा
टीप
- डिझाईनचे विभाजन केल्यानंतर, तुम्ही वेळेची पूर्तता करणाऱ्या ब्लॉक्ससाठी विभाजने जतन करू शकता आणि इतर डिझाइन ब्लॉक्सवर ऑप्टिमायझेशन फोकस करू शकता. याशिवाय, फास्ट प्रिझर्व्ह पर्याय संकलित करताना जतन केलेल्या विभाजनाचे तर्कशास्त्र केवळ इंटरफेस लॉजिकमध्ये सुलभ करतो, ज्यामुळे विभाजनासाठी संकलन वेळ कमी होतो. फास्ट प्रिझर्व्ह फक्त रूट विभाजन पुनर्वापर आणि आंशिक पुनर्रचना डिझाइनना समर्थन देते. टाइमिंग क्लोजरसाठी आव्हानात्मक असलेल्या सब-मॉड्यूलसह डिझाइनसाठी, तुम्ही मॉड्यूलच्या विभाजनाचे स्टँड-अलोन ऑप्टिमायझेशन आणि संकलन करू शकता आणि त्यानंतरच्या संकलनांमध्ये अंमलबजावणी जतन करण्यासाठी टाइमिंग-क्लोज केलेले मॉड्यूल निर्यात करू शकता.
डिझाईन विभाजन परिणाम जतन करणे
ब्लॉक-आधारित डिझाइनसाठी डिझाइन विभाजन आवश्यक आहे. डिझाईन विभाजन तुम्हाला तुमच्या डिझाइनमध्ये वैयक्तिक लॉजिक ब्लॉक्स जतन करण्यास अनुमती देते, परंतु विभाजन क्रॉसिंग आणि फ्लोरप्लॅन इफेक्ट्समुळे संभाव्य कार्यक्षमतेचे नुकसान देखील करू शकते. ब्लॉक-आधारित डिझाइन तंत्र वापरताना आपल्याला या घटकांचा समतोल साधण्याची आवश्यकता आहे. खालील उच्च स्तरीय पायऱ्या रूट विभाजन पुनर्वापर डिझाइनसाठी विभाजन संरक्षण प्रवाहाचे वर्णन करतात:
- प्रक्रिया करणे ➤ प्रारंभ ➤ विश्लेषण आणि विस्तार सुरू करा क्लिक करा.
- प्रोजेक्ट नॅव्हिगेटरमध्ये, टायमिंग बंद केलेल्या डिझाइन उदाहरणावर उजवे-क्लिक करा, डिझाईन विभाजनाकडे निर्देशित करा, आणि विभाजन प्रकार निवडा, जसे पृष्ठ 23 वरील डिझाइन विभाजन सेटिंग्ज वर्णन करतात.
डिझाइन विभाजने तयार करा
- विभाजनासाठी लॉजिक लॉक फ्लोअर प्लॅनिंग मर्यादा परिभाषित करा. डिझाईन विभाजन विंडोमध्ये, विभाजनावर उजवे-क्लिक करा आणि नंतर लॉजिक लॉक क्षेत्र क्लिक करा ➤ नवीन लॉजिक लॉक प्रदेश तयार करा. विभाजनामध्ये सर्व तर्क जोडण्यासाठी क्षेत्र पुरेसे मोठे असल्याची खात्री करा.
- संकलनानंतर विभाजन परिणाम निर्यात करण्यासाठी, डिझाइन विभाजन विंडोमध्ये, विभाजन .qdb पोस्ट फायनल एक्सपोर्ट म्हणून निर्दिष्ट करा. File.
पोस्ट अंतिम निर्यात File
- डिझाईन संकलित करण्यासाठी आणि विभाजन निर्यात करण्यासाठी, संकलन डॅशबोर्डवरील कंपाइल डिझाइन क्लिक करा.
- इंटेल क्वार्टस प्राइम सॉफ्टवेअरमध्ये उच्च-स्तरीय प्रकल्प उघडा.
- Assignments ➤ Settings ➤ Compiler Settings ➤ Incremental Compile वर क्लिक करा. फास्ट प्रिझर्व्ह पर्याय चालू करा.
जलद संरक्षण पर्याय
- ओके क्लिक करा.
- डिझाईन विभाजन विंडोमध्ये, निर्यात केलेले .qdb विभाजन डेटाबेस म्हणून निर्दिष्ट करा File विचाराधीन विभाजनासाठी. हा .qdb आता प्रकल्पातील या विभाजनाचा स्रोत आहे. जेव्हा तुम्ही फास्ट प्रिझर्व्ह पर्याय सक्षम करता, तेव्हा कंपायलर इंपोर्टेड विभाजनाचे लॉजिक फक्त इंटरफेस लॉजिकमध्ये कमी करतो, ज्यामुळे विभाजनाला लागणारा संकलन वेळ कमी होतो.
डिझाईन विभाजन सेटिंग्ज
डिझाईन विभाजन सेटिंग्ज
पर्याय | वर्णन |
विभाजनाचे नाव | विभाजनाचे नाव निर्दिष्ट करते. प्रत्येक विभाजन नाव अद्वितीय असले पाहिजे आणि त्यात फक्त अल्फान्यूमेरिक वर्ण असावेत. इंटेल क्वार्टस प्राइम सॉफ्टवेअर प्रत्येक प्रकल्प पुनरावृत्तीसाठी आपोआप उच्च-स्तरीय (|) “रूट_पार्टिशन” तयार करते. |
पदानुक्रम मार्ग | तुम्ही विभाजनास नियुक्त केलेल्या घटक उदाहरणाचा पदानुक्रम मार्ग निर्दिष्ट करते. तुम्ही हे मूल्य मध्ये निर्दिष्ट करा नवीन विभाजन तयार करा डायलॉग बॉक्स. रूट विभाजन पदानुक्रम मार्ग आहे |. |
प्रकार | कंपाइलर विभाजनाची प्रक्रिया आणि अंमलबजावणी कशी करते हे नियंत्रित करणारे खालीलपैकी एक विभाजन प्रकार निर्दिष्ट करण्यासाठी डबल-क्लिक करा: |
चालू ठेवले… |
पर्याय | वर्णन |
• डीफॉल्ट- मानक विभाजन ओळखते. कंपाइलर संबंधित डिझाइन स्रोत वापरून विभाजनावर प्रक्रिया करतो files.
• पुन्हा कॉन्फिगर करण्यायोग्यआंशिक पुनर्रचना प्रवाहात पुनर्रचना करता येण्याजोगे विभाजन ओळखते. निर्दिष्ट करा पुन्हा कॉन्फिगर करण्यायोग्य संश्लेषण परिणाम जतन करण्यासाठी टाईप करा, PR प्रवाहात विभाजनाची दुरुस्ती करण्याची परवानगी देताना. • राखीव कोरब्लॉक-आधारित डिझाईन फ्लोमधील विभाजन ओळखते जे डिव्हाइस परिघाचा पुनर्वापर करणाऱ्या ग्राहकाद्वारे मुख्य विकासासाठी आरक्षित आहे. |
|
संरक्षण पातळी | विभाजनासाठी खालीलपैकी एक संरक्षण पातळी निर्दिष्ट करते:
• सेट नाही—संरक्षण पातळी निर्दिष्ट करत नाही. विभाजन स्त्रोताकडून संकलित केले जाते files. • संश्लेषित—विभाजन संश्लेषित स्नॅपशॉट वापरून संकलित करते. • अंतिमविभाजन अंतिम स्नॅपशॉट वापरून संकलित करते. सह संरक्षण पातळी of संश्लेषित or अंतिम, स्त्रोत कोडमधील बदल संश्लेषणामध्ये दिसत नाहीत. |
रिकामे | कंपाइलर वगळलेले रिक्त विभाजन निर्दिष्ट करते. ही सेटिंग च्याशी विसंगत आहे राखीव कोर आणि विभाजन डेटाबेस File समान विभाजनासाठी सेटिंग्ज. द संरक्षण पातळी असणे आवश्यक आहे सेट नाही. रिकाम्या विभाजनामध्ये कोणतेही मूल विभाजन असू शकत नाही. |
विभाजन डेटाबेस File | विभाजन डेटाबेस निर्दिष्ट करते File (.qdb) जो कंपाइलर विभाजनाच्या संकलनादरम्यान वापरतो. तुम्ही s साठी .qdb निर्यात कराtagई संकलनाचे जे तुम्हाला पुन्हा वापरायचे आहे (संश्लेषित किंवा अंतिम). ते परिणाम दुसऱ्या संदर्भात पुन्हा वापरण्यासाठी विभाजनाला .qdb नियुक्त करा. |
संस्था पुन्हा बंधनकारक | • PR प्रवाह—प्रत्येक अंमलबजावणी पुनरावृत्तीमध्ये डीफॉल्ट व्यक्तिमत्वाची जागा घेणारी संस्था निर्दिष्ट करते.
• रूट विभाजन पुनर्वापर प्रवाह — ग्राहक प्रकल्पामध्ये आरक्षित कोर लॉजिकची जागा घेणारी संस्था निर्दिष्ट करते. |
रंग | चिप प्लॅनर आणि डिझाईन विभाजन प्लॅनर डिस्प्लेमध्ये विभाजनाचे रंग-कोडिंग निर्दिष्ट करते. |
पोस्ट संश्लेषण निर्यात File | प्रत्येक वेळी विश्लेषण आणि संश्लेषण चालते तेव्हा तुम्ही निर्दिष्ट केलेल्या .qdb वर विभाजनासाठी संश्लेषणानंतरचे संकलन परिणाम स्वयंचलितपणे निर्यात करते. तुम्ही कोणतेही डिझाईन विभाजन स्वयंचलितपणे निर्यात करू शकता ज्यात मूळ विभाजन नाही, रूट_पार्टिशनसह. |
पोस्ट अंतिम निर्यात File | तुम्ही निर्दिष्ट केलेल्या .qdb वर विभाजनासाठी पोस्ट-फायनल संकलन परिणाम स्वयंचलितपणे निर्यात करते, प्रत्येक वेळी अंतिम एस.tagफिटरचा e धावा. तुम्ही कोणतेही डिझाईन विभाजन स्वयंचलितपणे निर्यात करू शकता ज्यात मूळ विभाजन नाही, रूट_पार्टिशनसह. |
AN 903 दस्तऐवज पुनरावृत्ती इतिहास
या दस्तऐवजात खालील पुनरावृत्ती इतिहास आहे:
दस्तऐवज आवृत्ती | इंटेल क्वार्टस प्राइम आवृत्ती | बदल |
2021.02.25 | 19.3 | "पुल" च्या जागी "टेन्शन" इन केले विश्लेषण आणि डिझाइन RTL ऑप्टिमाइझ करा विषय |
2020.03.23 | 19.3 | कोड s मध्ये वाक्यरचना त्रुटी सुधारलीamp"लॉक डाउन घड्याळे, रॅम आणि डीएसपी" विषयात. |
2019.12.03 | 19.3 | • प्रथम सार्वजनिक प्रकाशन. |
कागदपत्रे / संसाधने
![]() |
इंटेल एएन 903 प्रवेगक वेळ बंद [pdf] वापरकर्ता मार्गदर्शक AN 903 एक्सेलरेटिंग टाइमिंग क्लोजर, AN 903, एक्सलेरेटिंग टाइमिंग क्लोजर, टाइमिंग क्लोजर |