स्मार्टफ्यूजन2
डीडीआर नियंत्रक और सीरियल हाई स्पीड नियंत्रक
आरंभीकरण पद्धति
उपयोगकर्ता गाइड
परिचय
SmartFusion2 डिवाइस का उपयोग करके एक डिज़ाइन बनाते समय, यदि आप दो DDR नियंत्रकों (FDDR या MDDR) या किसी सीरियल हाई स्पीड कंट्रोलर (SERDESIF) ब्लॉक में से किसी एक का उपयोग करते हैं, तो आपको इन ब्लॉकों के कॉन्फ़िगरेशन रजिस्टरों को रन-टाइम पर प्रारंभ करना होगा उनका उपयोग किया जा सकता है। पूर्व के लिएample, DDR कंट्रोलर के लिए, आपको DDR मोड (DDR3/DDR2/LPDDR), PHY चौड़ाई, बर्स्ट मोड और ECC सेट करना होगा।
इसी तरह, PCIe समापन बिंदु के रूप में उपयोग किए जाने वाले SERDESIF ब्लॉक के लिए, आपको PCIE BAR को AXI (या AHB) विंडो पर सेट करना होगा।
यह दस्तावेज़ लिबरो डिज़ाइन बनाने के लिए आवश्यक चरणों का वर्णन करता है जो स्वचालित रूप से DDR नियंत्रक और SERDESIF ब्लॉक को पावर अप पर प्रारंभ करता है। यह यह भी बताता है कि लिबरो एसओसी से फर्मवेयर कोड कैसे उत्पन्न किया जाए जिसका उपयोग एम्बेडेड डिजाइन प्रवाह में किया जाता है।
संचालन के सिद्धांत का विस्तृत विवरण पहले प्रदान किया गया है।
अगले खंड में बताया गया है कि लिबरो SoC सिस्टम बिल्डर का उपयोग करके इस तरह का डिज़ाइन कैसे बनाया जाए, एक शक्तिशाली डिज़ाइन टूल, जो अन्य विशेषताओं के साथ-साथ आपके लिए 'इनिशियलाइज़ेशन' समाधान बनाता है यदि आप अपने डिज़ाइन में DDR या SERDESIF ब्लॉक का उपयोग कर रहे हैं।
अगला खंड बताता है कि SmartFusion2 सिस्टम बिल्डर का उपयोग किए बिना एक पूर्ण 'प्रारंभिकरण' समाधान को एक साथ कैसे रखा जाए। यह समझाने में मदद करता है कि क्या किया जाना चाहिए यदि आप सिस्टम बिल्डर का उपयोग नहीं करना चाहते हैं, और यह भी बताता है कि सिस्टम बिल्डर टूल वास्तव में आपके लिए क्या उत्पन्न करता है। यह खंड संबोधित करता है:
- DDR नियंत्रक और SERDESIF कॉन्फ़िगरेशन रजिस्टरों के लिए कॉन्फ़िगरेशन डेटा का निर्माण
- कॉन्फ़िगरेशन डेटा को विभिन्न ASIC कॉन्फ़िगरेशन रजिस्टरों में स्थानांतरित करने के लिए आवश्यक FPGA तर्क का निर्माण
अंत में हम उत्पन्न का वर्णन करते हैं fileसे संबंधित है:
- फर्मवेयर 'प्रारंभिकरण' समाधान का निर्माण।
- डीडीआर 'प्रारंभिकरण' समाधान के लिए डिजाइन का अनुकरण।
DDR नियंत्रक और SERDESIF कॉन्फ़िगरेशन रजिस्टरों के बारे में विवरण के लिए, देखें माइक्रोसेमी स्मार्टफ्यूजन2 हाई स्पीड सीरियल और डीडीआर इंटरफेस यूजर गाइड।
संचालन का सिद्धांत
परिधीय आरंभीकरण समाधान निम्नलिखित प्रमुख घटकों का उपयोग करता है:
- CMSIS SystemInit () फ़ंक्शन, जो Cortex-M3 पर चलता है और इनिशियलाइज़ेशन प्रक्रिया को ऑर्केस्ट्रेट करता है।
- CoreConfigP सॉफ्ट IP कोर, जो पेरिफेरल्स के कॉन्फ़िगरेशन रजिस्टर को इनिशियलाइज़ करता है।
- CoreResetP सॉफ्ट IP कोर, जो MSS, DDR कंट्रोलर्स और SERDESIF ब्लॉक्स के रीसेट सीक्वेंस को मैनेज करता है।
परिधीय आरंभीकरण प्रक्रिया निम्नानुसार काम करती है:
- रीसेट करने पर, Cortex-M3 CMSIS SystemInit() फ़ंक्शन चलाता है। एप्लिकेशन के मुख्य () फ़ंक्शन के निष्पादित होने से पहले यह फ़ंक्शन स्वचालित रूप से निष्पादित होता है।
CoreResetP आउटपुट सिग्नल MSS_HPMS_READY आरंभीकरण प्रक्रिया की शुरुआत में जोर दिया गया है, यह दर्शाता है कि MSS और सभी बाह्य उपकरणों (MDDR को छोड़कर) संचार के लिए तैयार हैं। - SystemInit() फ़ंक्शन DDR नियंत्रकों को कॉन्फ़िगरेशन डेटा लिखता है और MSS FIC_2 APB3 बस के माध्यम से SERDESIF कॉन्फ़िगरेशन रजिस्टर करता है। यह इंटरफ़ेस FPGA फैब्रिक में तत्कालित सॉफ्ट CoreConfigP कोर से जुड़ा है।
- सभी रजिस्टरों को कॉन्फ़िगर करने के बाद, SystemInit () फ़ंक्शन CoreConfigP नियंत्रण रजिस्टरों को लिखता है ताकि रजिस्टर कॉन्फ़िगरेशन चरण के पूरा होने का संकेत दिया जा सके; तब CoreConfigP आउटपुट सिग्नल CONFIG1_DONE और CONIG2_DONE मुखरित होते हैं।
डिज़ाइन में प्रयुक्त बाह्य उपकरणों के आधार पर रजिस्टर कॉन्फ़िगरेशन (CONFIG1 और CONFIG2) के दो चरण हैं। - यदि MDDR/FDDR में से एक या दोनों का उपयोग किया जाता है, और डिज़ाइन में किसी भी SERDESIF ब्लॉक का उपयोग नहीं किया जाता है, तो केवल एक रजिस्टर कॉन्फ़िगरेशन चरण होता है। दोनों CoreConfigP आउटपुट सिग्नल CONFIG1_DONE और CONIG2_DONE बिना किसी प्रतीक्षा/विलंब के एक के बाद एक घोषित किए जाते हैं।
यदि डिजाइन में गैर-पीसीआई मोड में एक या एक से अधिक SERDESIF ब्लॉक का उपयोग किया जाता है, तो रजिस्टर कॉन्फ़िगरेशन का केवल एक चरण होता है। CONFIG1_DONE और CONIG2_DONE को बिना किसी प्रतीक्षा/विलंब के एक के बाद एक घोषित किया जाता है।
यदि डिज़ाइन में PCIe मोड में एक या अधिक SERDESIF ब्लॉक का उपयोग किया जाता है, तो रजिस्टर कॉन्फ़िगरेशन के दो चरण होते हैं। CONFIG1_DONE रजिस्टर कॉन्फ़िगरेशन के पहले चरण के पूरा होने के बाद घोषित किया गया है। इस चरण में SERDESIF सिस्टम और लेन रजिस्टर कॉन्फ़िगर किए गए हैं। यदि SERDESIF को गैर-पीसीआईई मोड में कॉन्फ़िगर किया गया है, तो CONFIG2_DONE सिग्नल भी तुरंत मुखर हो जाता है। - रजिस्टर कॉन्फ़िगरेशन का दूसरा चरण इसके बाद आता है (यदि SERDESIF को PCIE मोड में कॉन्फ़िगर किया गया है)। दूसरे चरण में होने वाली विभिन्न घटनाएं निम्नलिखित हैं:
- CoreResetP उपयोग किए गए प्रत्येक SERDESIF ब्लॉक के अनुरूप PHY_RESET_N और CORE_RESET_N संकेतों को डी-एसर्ट करता है। सभी SERDESIF ब्लॉक रीसेट होने के बाद यह एक आउटपुट सिग्नल SDIF_RELEASED पर भी जोर देता है। यह SDIF_RELEASED सिग्नल CoreConfigP को इंगित करने के लिए उपयोग किया जाता है कि SERDESIF कोर रीसेट से बाहर है और रजिस्टर कॉन्फ़िगरेशन के दूसरे चरण के लिए तैयार है।
- एक बार SDIF_RELEASED सिग्नल पर जोर देने के बाद, SystemInit () फ़ंक्शन उपयुक्त SERDESIF लेन पर PMA_READY के अभिकथन के लिए मतदान शुरू करता है। एक बार PMA_READY पर जोर देने के बाद, SERDESIF रजिस्टरों (PCIE रजिस्टरों) के दूसरे सेट को SystemInit () फ़ंक्शन द्वारा कॉन्फ़िगर/लिखा जाता है। - सभी PCIE रजिस्टरों को कॉन्फ़िगर करने के बाद, SystemInit () फ़ंक्शन CoreConfigP नियंत्रण रजिस्टरों को लिखता है ताकि रजिस्टर कॉन्फ़िगरेशन के दूसरे चरण के पूरा होने का संकेत दिया जा सके; CoreConfigP आउटपुट सिग्नल CONIG2_DONE तब मुखरित होता है।
- उपरोक्त संकेत अभिकथन/डी-अभिकथन के अलावा, CoreResetP निम्नलिखित कार्य करके विभिन्न ब्लॉकों के आरंभीकरण का प्रबंधन भी करता है:
- एफडीडीआर कोर रीसेट को डी-एसर्ट करना
– SERDESIF को डी-एसेर करने से PHY और CORE रीसेट ब्लॉक हो जाते हैं
- FDDR PLL (FPLL) लॉक सिग्नल की निगरानी। FDDR AXI / AHBLite डेटा इंटरफ़ेस और FPGA फैब्रिक सही तरीके से संचार कर सकते हैं, इसकी गारंटी देने के लिए FPLL को लॉक होना चाहिए।
- SERDESIF ब्लॉक PLL (SPLL) लॉक सिग्नल की निगरानी। SPLL को यह गारंटी देने के लिए लॉक होना चाहिए कि SERDESIF ब्लॉक AXI/AHBLite इंटरफ़ेस (PCIe मोड) या XAUI इंटरफ़ेस FPGA फैब्रिक के साथ ठीक से संचार कर सकता है।
- बाहरी डीडीआर मेमोरी के व्यवस्थित होने और डीडीआर नियंत्रकों द्वारा एक्सेस किए जाने के लिए तैयार होने की प्रतीक्षा की जा रही है। - जब सभी बाह्य उपकरणों ने अपना आरंभीकरण पूरा कर लिया है, तो CoreResetP INIT_DONE सिग्नल पर जोर देता है; तब CoreConfigP आंतरिक रजिस्टर INIT_DONE पर जोर दिया जाता है।
यदि MDDR/FDDR में से एक या दोनों का उपयोग किया जाता है, और DDR आरंभीकरण का समय पूरा हो जाता है, तो CoreResetP आउटपुट सिग्नल DDR_READY का दावा किया जाता है। इस संकेत के अभिकथन DDR_READY को एक संकेत के रूप में मॉनिटर किया जा सकता है कि DDR (MDDR/FDDR) संचार के लिए तैयार है।
यदि एक या अधिक SERDESIF ब्लॉक का उपयोग किया जाता है, और रजिस्टर कॉन्फ़िगरेशन का दूसरा चरण सफलतापूर्वक पूरा हो जाता है, तो CoreResetP आउटपुट सिग्नल SDIF_READY का दावा किया जाता है। इस संकेत के अभिकथन SDIF_READY को इस संकेत के रूप में मॉनिटर किया जा सकता है कि सभी SERDESIF ब्लॉक संचार के लिए तैयार हैं। - SystemInit () फ़ंक्शन, जो INIT_DONE के मुखर होने की प्रतीक्षा कर रहा है, पूरा करता है, और एप्लिकेशन का मुख्य () फ़ंक्शन निष्पादित होता है। उस समय, सभी उपयोग किए गए DDR नियंत्रकों और SERDESIF ब्लॉकों को आरंभीकृत किया गया है, और फर्मवेयर एप्लिकेशन और FPGA फैब्रिक लॉजिक उनके साथ मज़बूती से संवाद कर सकते हैं।
इस दस्तावेज़ में वर्णित कार्यप्रणाली, एप्लिकेशन के main() फ़ंक्शन से पहले निष्पादित सिस्टम इनिशियलाइज़ेशन कोड के हिस्से के रूप में इनिशियलाइज़ेशन प्रक्रिया को निष्पादित करने वाले Cortex-M3 पर निर्भर करती है।
FDDR/MDDR, SEREDES (गैर-PCIe मोड) और SERDES (PCIe मोड) के प्रारंभिक चरणों के लिए चित्र 1-1, चित्र 1-2 और चित्र 1-3 में फ़्लो चार्ट देखें।
चित्र 1-4 पेरिफेरल इनिशियलाइज़ेशन टाइमिंग आरेख दिखाता है।
![]() |
![]() |
चित्र 1-3 • सेरडेसिफ (PCIe) इनिशियलाइज़ेशन फ्लो चार्ट
इस दस्तावेज़ में वर्णित आरंभीकरण प्रक्रिया के लिए आपको आरंभीकरण प्रक्रिया के दौरान Cortex-M3 चलाने की आवश्यकता है, भले ही आप Cortex-M3 पर कोई कोड चलाने की योजना नहीं बना रहे हों। आपको एक बुनियादी फर्मवेयर एप्लिकेशन बनाना होगा जो कुछ भी नहीं करता है (एक साधारण लूप, उदाहरण के लिएample) और उस निष्पादन योग्य को एम्बेडेड नॉन वोलाटाइल मेमोरी (eNVM) में लोड करें ताकि Cortex-M3 बूट होने पर DDR कंट्रोलर और SERDESIF ब्लॉक इनिशियलाइज़ हो जाएं।
DDR और SERDESIF ब्लॉक का उपयोग करके एक डिज़ाइन बनाने के लिए सिस्टम बिल्डर का उपयोग करना
SmartFusion2 सिस्टम बिल्डर एक शक्तिशाली डिज़ाइन टूल है जो आपकी सिस्टम-स्तरीय आवश्यकताओं को कैप्चर करने में आपकी सहायता करता है और उन आवश्यकताओं को लागू करने वाला डिज़ाइन तैयार करता है। सिस्टम बिल्डर का एक बहुत ही महत्वपूर्ण कार्य पेरिफेरल इनिशियलाइज़ेशन सब-सिस्टम का स्वचालित निर्माण है। पृष्ठ 17 पर "डीडीआर और सर्डेसिफ ब्लॉक का उपयोग करके एक डिजाइन बनाने के लिए स्मार्टडिजाइन का उपयोग करना" विस्तार से वर्णन करता है कि सिस्टम बिल्डर के बिना ऐसा समाधान कैसे बनाया जाए।
यदि आप सिस्टम बिल्डर का उपयोग कर रहे हैं, तो आपको एक डिज़ाइन बनाने के लिए निम्नलिखित कार्य करने होंगे जो आपके DDR नियंत्रकों और SERDESIF ब्लॉक को पावर अप पर प्रारंभ करता है:
- डिवाइस सुविधाएँ पृष्ठ (चित्र 2-1) में, निर्दिष्ट करें कि कौन से DDR नियंत्रकों का उपयोग किया जाता है और आपके डिज़ाइन में कितने SERDESIF ब्लॉक का उपयोग किया जाता है।
- मेमोरी पेज में, डीडीआर (डीडीआर2/डीडीआर3/एलपीडीडीआर) का प्रकार और अपनी बाहरी डीडीआर मेमोरी के लिए कॉन्फ़िगरेशन डेटा निर्दिष्ट करें। विवरण के लिए स्मृति पृष्ठ अनुभाग देखें।
- पेरिफेरल्स पेज में, फैब्रिक डीडीआर सबसिस्टम और/या एमएसएस डीडीआर एफआईसी सबसिस्टम (वैकल्पिक) में एएचबीलाइट/एएक्सआई के रूप में कॉन्फ़िगर किए गए फैब्रिक मास्टर्स जोड़ें।
- घड़ी सेटिंग पृष्ठ में, DDR उप-प्रणालियों के लिए घड़ी की आवृत्ति निर्दिष्ट करें।
- अपने डिजाइन विनिर्देश को पूरा करें और समाप्त पर क्लिक करें। यह 'प्रारंभिकरण' समाधान के लिए आवश्यक तर्क सहित सिस्टम बिल्डर निर्मित डिज़ाइन उत्पन्न करता है।
- यदि आप SERDESIF ब्लॉक का उपयोग कर रहे हैं, तो आपको अपने डिजाइन में SERDESIF ब्लॉक को इंस्टेंट करना होगा और उनके इनिशियलाइज़ेशन पोर्ट को सिस्टम बिल्डर जनरेट किए गए कोर से कनेक्ट करना होगा।
सिस्टम बिल्डर डिवाइस फीचर पेज
डिवाइस सुविधाएँ पृष्ठ में, निर्दिष्ट करें कि कौन से DDR नियंत्रक (MDDR और/या FDDR) का उपयोग किया जाता है और आपके डिज़ाइन में कितने SERDESIF ब्लॉक का उपयोग किया जाता है (चित्र 2-1)।
चित्र 2-1 • सिस्टम निर्माता उपकरण विशेषता पृष्ठ
सिस्टम बिल्डर मेमोरी पेज
MSS DDR (MDDR) या फैब्रिक DDR (FDDR) का उपयोग करने के लिए, ड्रॉप-डाउन सूची (चित्र 2-2) से मेमोरी प्रकार का चयन करें।
चित्र 2-2 • एमएसएस बाहरी मेमोरी
आपको चाहिए:
- DDR प्रकार (DDR2, DDR3 या LPDDR) का चयन करें।
- DDR मेमोरी सेटलिंग समय को परिभाषित करें। सही मेमोरी सेटिंग समय निर्धारित करने के लिए अपने बाहरी डीडीआर मेमोरी विनिर्देशों से परामर्श लें। यदि मेमोरी सेटलिंग समय ठीक से सेट नहीं है, तो DDR मेमोरी सही ढंग से आरंभ करने में विफल हो सकती है।
- या तो डीडीआर रजिस्टर कॉन्फ़िगरेशन डेटा आयात करें या अपना डीडीआर मेमोरी पैरामीटर सेट करें। विवरण के लिए, देखें माइक्रोसेमी स्मार्टफ्यूजन2 हाई स्पीड सीरियल और डीडीआर इंटरफेस यूजर गाइड.
इस डेटा का उपयोग डीडीआर रजिस्टर बीएफएम और फर्मवेयर कॉन्फ़िगरेशन उत्पन्न करने के लिए किया जाता है fileपृष्ठ 26 पर "फर्मवेयर एप्लिकेशन बनाना और संकलित करना" और "बीएफएम Files डिज़ाइन को सिमुलेट करने के लिए उपयोग किया जाता है" पृष्ठ 27 पर। DDR नियंत्रक कॉन्फ़िगरेशन रजिस्टरों के विवरण के लिए, देखें माइक्रोसेमी स्मार्टफ्यूजन2 हाई स्पीड सीरियल और डीडीआर इंटरफेस यूजर गाइड।
एक पूर्वampविन्यास का ले file सिंटैक्स चित्र 2-3 में दिखाया गया है। इसमें उपयोग किए जाने वाले रजिस्टर नाम file में वर्णित के समान हैं माइक्रोसेमी स्मार्टफ्यूजन2 हाई स्पीड सीरियल और डीडीआर इंटरफेस यूजर गाइड
चित्र 2-3 • विन्यास File सिंटेक्स पूर्वample
सिस्टम बिल्डर पेरिफेरल्स पेज
परिधीय पृष्ठ में, प्रत्येक डीडीआर नियंत्रक के लिए एक अलग सबसिस्टम बनाया जाता है (एफडीडीआर के लिए फैब्रिक डीडीआर सबसिस्टम और एमडीडीआर के लिए एमएसएस डीडीआर एफआईसी सबसिस्टम)। डीडीआर नियंत्रकों के लिए फैब्रिक मास्टर एक्सेस को सक्षम करने के लिए आप इनमें से प्रत्येक सबसिस्टम में एक फैब्रिक अंबा मास्टर (एएक्सआई/एएचबीलाइट के रूप में कॉन्फ़िगर किया गया) कोर जोड़ सकते हैं। उत्पन्न होने पर, सिस्टम बिल्डर स्वचालित रूप से बस कोर (एएमबीए मास्टर जोड़े गए प्रकार के आधार पर) को तुरंत चालू कर देता है और बस कोर के मास्टर बीआईएफ और उपयुक्त पिन समूहों के तहत संबंधित सबसिस्टम (एफडीडीआर/एमडीडीआर) की घड़ी और रीसेट पिन को उजागर करता है। ऊपर। आपको बस इतना करना है कि बीआईएफ को उचित फैब्रिक मास्टर कोर से कनेक्ट करना है जिसे आप डिज़ाइन में तुरंत चालू करेंगे। MDDR के मामले में, MSS DDR FIC सबसिस्टम में फैब्रिक AMBA मास्टर कोर जोड़ना वैकल्पिक है; Cortex-M3 इस सबसिस्टम पर एक डिफ़ॉल्ट मास्टर है। चित्र 2-4 सिस्टम बिल्डर पेरिफेरल्स पेज दिखाता है।
चित्र 2-4 • सिस्टम बिल्डर पेरिफेरल्स पृष्ठ
सिस्टम बिल्डर क्लॉक सेटिंग्स पेज
घड़ी सेटिंग्स पृष्ठ में, प्रत्येक डीडीआर नियंत्रक के लिए, आपको प्रत्येक डीडीआर (एमडीडीआर और/या एफडीडीआर) उप-प्रणाली से संबंधित घड़ी आवृत्तियों को निर्दिष्ट करना होगा।
एमडीडीआर के लिए, आपको निर्दिष्ट करना होगा:
- MDDR_CLK - यह घड़ी DDR कंट्रोलर की ऑपरेटिंग फ्रीक्वेंसी को निर्धारित करती है और उस क्लॉक फ्रीक्वेंसी से मेल खाना चाहिए, जिस पर आप अपनी बाहरी DDR मेमोरी चलाना चाहते हैं। इस घड़ी को M3_CLK (कोर्टेक्स-एम3 और एमएसएस मेन क्लॉक, चित्र 2-5) के गुणक के रूप में परिभाषित किया गया है। MDDR_CLK 333 MHz से कम होना चाहिए।
- DDR_FIC_CLK - अगर आपने FPGA फैब्रिक से MDDR को एक्सेस करना चुना है, तो आपको DDR_FIC_CLK निर्दिष्ट करना होगा। इस क्लॉक फ़्रीक्वेंसी को MDDR_CLK के अनुपात के रूप में परिभाषित किया गया है और इसे उस फ़्रीक्वेंसी से मेल खाना चाहिए जिस पर MDDR तक पहुँचने वाला FPGA फैब्रिक सब-सिस्टम चल रहा है।
चित्र 2-5 • कॉर्टेक्स-एम3 और एमएसएस मुख्य घड़ी; एमडीडीआर घड़ियां
FDDR के लिए, आपको निर्दिष्ट करना होगा:
- FDDR_CLK - DDR नियंत्रक की ऑपरेटिंग आवृत्ति निर्धारित करता है और उस घड़ी की आवृत्ति से मेल खाना चाहिए जिस पर आप अपनी बाहरी DDR मेमोरी चलाना चाहते हैं। ध्यान दें कि इस घड़ी को M3_CLK (MSS और Cortex-M3 घड़ी, चित्र 2-5) के गुणक के रूप में परिभाषित किया गया है। FDDR_CLK 20 मेगाहर्ट्ज और 333 मेगाहर्ट्ज के भीतर होना चाहिए।
- FDDR_SUBSYSTEM_CLK - इस क्लॉक फ़्रीक्वेंसी को FDDR_CLK के अनुपात के रूप में परिभाषित किया गया है और इसे उस फ़्रीक्वेंसी से मेल खाना चाहिए जिस पर FDDR तक पहुँचने वाला FPGA फैब्रिक सब-सिस्टम चल रहा है।
चित्र 2-6 • फैब्रिक डीडीआर घड़ियां
सर्डेसिफ कॉन्फ़िगरेशन
SERDESIF ब्लॉक को सिस्टम बिल्डर जनरेटेड डिज़ाइन में तत्काल नहीं किया जाता है। हालाँकि, सभी SERDESIF ब्लॉकों के लिए, इनिशियलाइज़ेशन सिग्नल सिस्टम बिल्डर कोर के इंटरफ़ेस पर उपलब्ध हैं और इन्हें पदानुक्रम के अगले स्तर पर SERDESIF कोर से जोड़ा जा सकता है, जैसा कि चित्र 2-7 में दिखाया गया है।चित्र 2-7 • सेरडेसिफ पेरिफेरल इनिशियलाइज़ेशन कनेक्टिविटी
DDR कॉन्फ़िगरेशन रजिस्टरों के समान, प्रत्येक SERDES ब्लॉक में कॉन्फ़िगरेशन रजिस्टर भी होते हैं जिन्हें रनटाइम पर लोड किया जाना चाहिए। आप या तो इन रजिस्टर मूल्यों को आयात कर सकते हैं या अपने PCIe या EPCS मापदंडों को दर्ज करने के लिए हाई स्पीड सीरियल इंटरफ़ेस कॉन्फिगरेटर (चित्र 2-8) का उपयोग कर सकते हैं और रजिस्टर मूल्यों की स्वचालित रूप से आपके लिए गणना की जाती है। विवरण के लिए, देखें SERDES विन्यासकर्ता उपयोगकर्ता गाइड.चित्र 2-8 • हाई स्पीड सीरियल इंटरफ़ेस कॉन्फिगरेटर
एक बार जब आप अपने यूजर लॉजिक को सिस्टम बिल्डर ब्लॉक और एसईआरडीईएस ब्लॉक के साथ एकीकृत कर लेते हैं, तो आप अपना शीर्ष स्तर का स्मार्टडिजाइन तैयार कर सकते हैं। यह सभी एचडीएल और बीएफएम उत्पन्न करता है fileजो आपके डिजाइन को लागू करने और अनुकरण करने के लिए आवश्यक हैं। फिर आप शेष डिज़ाइन फ़्लो के साथ आगे बढ़ सकते हैं।
DDR और SERDESIF ब्लॉक का उपयोग करके डिज़ाइन बनाने के लिए स्मार्टडिज़ाइन का उपयोग करना
यह खंड बताता है कि SmartFusion2 सिस्टम बिल्डर का उपयोग किए बिना एक पूर्ण 'प्रारंभिकरण' समाधान को एक साथ कैसे रखा जाए। लक्ष्य आपको यह समझने में मदद करना है कि अगर आप सिस्टम बिल्डर का उपयोग नहीं करना चाहते हैं तो आपको क्या करना चाहिए। यह खंड यह भी वर्णन करता है कि सिस्टम बिल्डर टूल वास्तव में आपके लिए क्या उत्पन्न करता है। यह खंड बताता है कि कैसे:
- DDR नियंत्रक और SERDESIF कॉन्फ़िगरेशन रजिस्टरों के लिए कॉन्फ़िगरेशन डेटा इनपुट करें।
- कॉन्फ़िगरेशन डेटा को DDR नियंत्रकों और SERDESIF कॉन्फ़िगरेशन रजिस्टरों में स्थानांतरित करने के लिए आवश्यक फैब्रिक कोर को त्वरित और कनेक्ट करें।
डीडीआर नियंत्रक विन्यास
MSS DDR (MDDR) और फैब्रिक DDR (FDDR) नियंत्रकों को बाहरी DDR मेमोरी कॉन्फ़िगरेशन आवश्यकताओं (DDR मोड, PHY चौड़ाई, बर्स्ट मोड, ECC, आदि) से मिलान करने के लिए गतिशील रूप से (रनटाइम पर) कॉन्फ़िगर किया जाना चाहिए। MDDR/FDDR कॉन्फ़िगरेशन में दर्ज किया गया डेटा CMSIS SystemInit() फ़ंक्शन द्वारा DDR कंट्रोलर कॉन्फ़िगरेशन रजिस्टर में लिखा जाता है। विन्यासकर्ता के पास विभिन्न प्रकार के विन्यास डेटा दर्ज करने के लिए तीन अलग-अलग टैब हैं:
- सामान्य डेटा (डीडीआर मोड, डेटा चौड़ाई, क्लॉक फ्रीक्वेंसी, ईसीसी, फैब्रिक इंटरफेस, ड्राइव स्ट्रेंथ)
- मेमोरी इनिशियलाइज़ेशन डेटा (बर्स्ट लेंथ, बर्स्ट ऑर्डर, टाइमिंग मोड, लेटेंसी, आदि)
- मेमोरी टाइमिंग डेटा
अपनी बाहरी डीडीआर मेमोरी की विशिष्टताओं का संदर्भ लें और अपनी बाहरी डीडीआर मेमोरी की आवश्यकताओं से मेल खाने के लिए डीडीआर नियंत्रक को कॉन्फ़िगर करें।
डीडीआर कॉन्फ़िगरेशन पर विवरण के लिए, देखें SmartFusion2 एमएसएस डीडीआर कॉन्फ़िगरेशन उपयोगकर्ता गाइड।
सर्डेसिफ कॉन्फ़िगरेशन
SERDES को कॉन्फ़िगर करने के लिए Configurator को खोलने के लिए SmartDesign कैनवास में SERDES ब्लॉक पर डबल-क्लिक करें (चित्र 3-1)। आप या तो इन रजिस्टर मूल्यों को आयात कर सकते हैं या अपने PCIe या EPCS मापदंडों को दर्ज करने के लिए SERDES कॉन्फिगरेटर का उपयोग कर सकते हैं और रजिस्टर मूल्यों की स्वचालित रूप से आपके लिए गणना की जाती है। विवरण के लिए, देखें SERDES विन्यासकर्ता उपयोगकर्ता गाइड.चित्र 3-1 • हाई स्पीड सीरियल इंटरफ़ेस कॉन्फिगरेटर
FPGA डिज़ाइन इनिशियलाइज़ेशन सब-सिस्टम बनाना
DDR और SERDESIF ब्लॉक को इनिशियलाइज़ करने के लिए, आपको FPGA फैब्रिक में इनिशियलाइज़ेशन सबसिस्टम बनाना होगा। FPGA फैब्रिक इनिशियलाइज़ेशन सबसिस्टम Cortex-M3 से डेटा को DDR और SERDESIF कॉन्फ़िगरेशन रजिस्टर में ले जाता है, इन ब्लॉकों के संचालन के लिए आवश्यक रीसेट अनुक्रमों का प्रबंधन करता है और संकेत देता है कि ये ब्लॉक आपके बाकी डिज़ाइन के साथ संचार करने के लिए तैयार हैं। इनिशियलाइज़ेशन सबसिस्टम बनाने के लिए, आपको चाहिए:
- FIC_2 को MSS के अंदर कॉन्फ़िगर करें
- CoreConfigP और CoreResetP कोर को तत्काल और कॉन्फ़िगर करें
- ऑन-चिप 25/50 मेगाहर्ट्ज आरसी ऑसीलेटर को तुरंत चालू करें
- सिस्टम रीसेट (SYSRESET) मैक्रो को इंस्टेंट करें
- इन घटकों को प्रत्येक परिधीय के कॉन्फ़िगरेशन इंटरफेस, घड़ियों, रीसेट और PLL लॉक पोर्ट से कनेक्ट करें
एमएसएस FIC_2 APB कॉन्फ़िगरेशन
MSS FIC_2 को कॉन्फ़िगर करने के लिए:
- MSS कॉन्फिगरेटर से FIC_2 कॉन्फिगरेटर डायलॉग बॉक्स खोलें (चित्र 3-2)।
- Cortex-M3 का उपयोग करके बाह्य उपकरणों को प्रारंभ करें चुनें।
- अपने सिस्टम के आधार पर, निम्न में से एक या दोनों चेकबॉक्स चेक करें:
- एमएसएस डीडीआर
- फैब्रिक डीडीआर और/या सर्डेस ब्लॉक - ओके पर क्लिक करें और एमएसएस उत्पन्न करने के लिए आगे बढ़ें (आप इस क्रिया को तब तक के लिए टाल सकते हैं जब तक कि आप एमएसएस को अपनी डिजाइन आवश्यकताओं के लिए पूरी तरह से कॉन्फ़िगर नहीं कर लेते)। FIC_2 पोर्ट (FIC_2_APB_MASTER, FIC_2_APB_M_PCLK और FIC_2_APB_M_RESET_N) अब MSS इंटरफ़ेस पर खुल गए हैं और इन्हें CoreConfigP और CoreResetP कोर से जोड़ा जा सकता है।
चित्र 3-2 • एमएसएस FIC_2 विन्यासकर्ता
CoreConfigP
CoreConfigP को कॉन्फ़िगर करने के लिए:
- अपने SmartDesign में CoreConfigP को इंस्टेंट करें (आमतौर पर वह जहां MSS इंस्टैंट किया जाता है)।
यह कोर लिबरो कैटलॉग (पेरिफेरल्स के तहत) में पाया जा सकता है। - कॉन्फिगरेटर खोलने के लिए कोर पर डबल क्लिक करें।
- यह निर्दिष्ट करने के लिए कोर को कॉन्फ़िगर करें कि किन पेरिफेरल्स को इनिशियलाइज़ करने की आवश्यकता है (चित्र 3-3)
चित्र 3-3 • CoreConfigP डायलॉग बॉक्स
CoreResetP
CoreResetP को कॉन्फ़िगर करने के लिए:
- अपने SmartDesign में CoreResetP को इंस्टेंट करें (आमतौर पर वह जहां MSS इंस्टैंट किया जाता है)।
यह कोर लिबरो कैटलॉग में पेरिफेरल्स के तहत पाया जा सकता है। - Configurator (चित्र 3-4) खोलने के लिए SmartDesign कैनवास के अंदर कोर पर डबल-क्लिक करें।
- कोर को इसमें कॉन्फ़िगर करें:
- बाहरी रीसेट व्यवहार निर्दिष्ट करें (EXT_RESET_OUT जोर दिया गया)। चार विकल्पों में से एक चुनें:
o EXT_RESET_OUT कभी भी मुखरित नहीं होता है
यदि पावर अप रीसेट (POWER_ON_RESET_N) निर्धारित किया गया है तो o EXT_RESET_OUT घोषित किया गया है
o EXT_RESET_OUT निश्चित है यदि FAB_RESET_N घोषित है
यदि पावर अप रीसेट (POWER_ON_RESET_N) या FAB_RESET_N जोर दिया जाता है तो o EXT_RESET_OUT घोषित किया जाता है
- डिवाइस वॉल्यूम निर्दिष्ट करेंtagइ। चयनित मान वॉल्यूम से मेल खाना चाहिएtagआपने लिबरो प्रोजेक्ट सेटिंग्स डायलॉग बॉक्स में चुना है।
- यह इंगित करने के लिए कि आप अपने डिजाइन में कौन से पेरिफेरल्स का उपयोग कर रहे हैं, उपयुक्त चेकबॉक्स को चेक करें।
- बाहरी डीडीआर मेमोरी सेटिंग समय निर्दिष्ट करें। यह आपके एप्लिकेशन (एमडीडीआर और एफडीडीआर) में उपयोग की जाने वाली सभी डीडीआर यादों के लिए अधिकतम मूल्य है। इस पैरामीटर को कॉन्फ़िगर करने के लिए बाहरी DDR मेमोरी वेंडर डेटाशीट का संदर्भ लें। 200MHz पर चलने वाली DDR2 और DDR3 मेमोरी के लिए 200us एक अच्छा डिफ़ॉल्ट मान है। सिलिकॉन पर काम करने वाले सिमुलेशन और कार्य प्रणाली की गारंटी देने के लिए यह एक बहुत ही महत्वपूर्ण पैरामीटर है। बसने के समय के लिए गलत मान के परिणामस्वरूप सिमुलेशन त्रुटियां हो सकती हैं। इस पैरामीटर को कॉन्फ़िगर करने के लिए DDR मेमोरी वेंडर डेटाशीट का संदर्भ लें।
- अपने डिजाइन में प्रत्येक सर्डेस ब्लॉक के लिए, यह इंगित करने के लिए उपयुक्त बक्से की जांच करें कि क्या:
o PCIe का प्रयोग किया जाता है
PCIe हॉट रीसेट के लिए समर्थन की आवश्यकता है
o PCIe L2/P2 के लिए समर्थन आवश्यक है
टिप्पणी: यदि आप 090 डाई (M2S090) का उपयोग कर रहे हैं और आपका डिज़ाइन SERDESIF का उपयोग करता है, तो आपको निम्न में से किसी भी चेकबॉक्स को चेक करने की आवश्यकता नहीं है: 'PCIe के लिए उपयोग किया गया', 'PCIe HotReset समर्थन शामिल करें' और 'PCIe L2/P2 समर्थन शामिल करें'। यदि आप किसी गैर-090 डिवाइस का उपयोग कर रहे हैं और एक या अधिक SERDESIF ब्लॉक का उपयोग कर रहे हैं, तो आपको उपयुक्त SERDESIF सेक्शन के तहत सभी चार चेकबॉक्स को चेक करना होगा।
टिप्पणी: इस कॉन्फिगरेटर में आपके लिए उपलब्ध विकल्पों के विवरण के लिए, CoreResetP हैंडबुक देखें।
चित्र 3-4 • CoreResetPConfigurator
25/50 मेगाहर्ट्ज ऑसिलेटर इंस्टेंटेशन
CoreConfigP और CoreResetP को ऑन-चिप 25/50MHz RC ऑसिलेटर द्वारा क्लॉक किया जाता है। आपको 25/50 मेगाहर्ट्ज ऑसीलेटर को तुरंत चालू करना होगा और इसे इन कोरों से जोड़ना होगा।
- अपने स्मार्टडिजाइन में चिप ऑसिलेटर्स कोर को इंस्टेंट करें (आमतौर पर वह जहां एमएसएस तत्काल होता है)। यह कोर लिबरो कैटलॉग में क्लॉक एंड मैनेजमेंट के तहत पाया जा सकता है।
- इस कोर को इस तरह कॉन्फ़िगर करें कि RC ऑसिलेटर FPGA फैब्रिक को चलाए, जैसा कि चित्र 3-5 में दिखाया गया है।
चित्र 3-5 • चिप ऑसिलेटर्स विन्यासकर्ता
सिस्टम रीसेट (SYSRESET) तात्कालिकता
SYSRESET मैक्रो आपके डिज़ाइन को डिवाइस स्तर की रीसेट कार्यक्षमता प्रदान करता है। जब भी चिप को संचालित किया जाता है या बाहरी पिन DEVRST_N पर जोर दिया जाता है/डी-असर किया जाता है (चित्र 3-6)।
अपने स्मार्टडिजाइन में SYSRESET मैक्रो को इंस्टेंट करें (आमतौर पर वह जहां MSS इंस्टैंट किया जाता है)। यह मैक्रो मैक्रो लाइब्रेरी के तहत लिबरो कैटलॉग में पाया जा सकता है। इस मैक्रो की कोई कॉन्फ़िगरेशन आवश्यक नहीं है।
चित्र 3-6 • SYSRESET मैक्रो
समग्र कनेक्टिविटी
आपके द्वारा अपने डिजाइन में MSS, FDDR, SERDESIF, OSC, SYSRESET, CoreConfigP और CoreResetP कोर को तत्काल और कॉन्फ़िगर करने के बाद, आपको पेरिफेरल इनिशियलाइज़ेशन सबसिस्टम बनाने के लिए उन्हें कनेक्ट करने की आवश्यकता है। इस दस्तावेज़ में कनेक्टिविटी विवरण को सरल बनाने के लिए, इसे CoreConfigP और CoreResetP संबंधित कनेक्शन से जुड़े APB3 अनुरूप कॉन्फ़िगरेशन डेटा पथ कनेक्टिविटी में विभाजित किया गया है।
कॉन्फ़िगरेशन डेटा पथ कनेक्टिविटी
चित्र 3-7 दिखाता है कि CoreConfigP को MSS FIC_2 सिग्नल और बाह्य उपकरणों के APB3 अनुरूप कॉन्फ़िगरेशन इंटरफ़ेस से कैसे जोड़ा जाए।
टेबल 3-1 • कॉन्फ़िगरेशन डेटा पथ पोर्ट/बीआईएफ कनेक्शन
से पोर्ट / बस इंटरफ़ेस (बीआईएफ)/घटक |
को पोर्ट/बस इंटरफ़ेस (BIF)/घटक |
||
एपीबी एस प्रीसेट एन/कोरकॉन्फिगपी | एपीबी एस प्रीसेट एन / एसडीआईएफ <0/1/2/3> | एपीबी एस प्रीसेट एन/ एफडीडीआर |
एमडीडीआर एपीबी एस प्रेसी टीएन/एमएसएस |
एपीबी एस पीसीएलके/कोरकॉन्फिगपी | एपीबी एस पीसीएलके/एसडीआईएफ | एपीबी एस पीसीएलके/एफडीडीआर | एमडीडीआर एपीबी एस पीओएलके/ एमएसएस |
MDDR APBmslave/CoreConfig | एमडीडीआर एपीबी स्लेव (बीआईएफ)/एमएसएस | ||
SDIF<0/1/2/3> APBmslave/Config | एपीबी स्लेव (बीआईएफ) / एसडीआईएफ <0/1/2/3> | ||
एफडीडीआर एपीबीएमएसलेव | एपीबी स्लेव (बीआईएफ) / एफडीडीआर | ||
एफआईसी 2 एपीबीएममास्टर/कोरकॉन्फिगपी | एफआईसी 2 एपीबी मास्टर / एमएसएस |
चित्र 3-7 • FIC_2 APB3 सब-सिस्टम कनेक्टिविटी
घड़ियों और रीसेट कनेक्टिविटी
चित्र 3-8 दिखाता है कि CoreResetP को बाहरी रीसेट स्रोतों और बाह्य उपकरणों के कोर रीसेट सिग्नल से कैसे जोड़ा जाए। यह यह भी दिखाता है कि CoreResetP को पेरिफेरल्स के क्लॉक सिंक्रोनाइज़ेशन स्टेटस सिग्नल (PLL लॉक सिग्नल) से कैसे जोड़ा जाए। इसके अलावा, यह दिखाता है कि CoreConfigP और CoreResetP कैसे जुड़े हुए हैं।
चित्र 3-8 • कोर SF2रीसेट सब-सिस्टम कनेक्टिविटी
फर्मवेयर एप्लिकेशन बनाना और संकलित करना
जब आप फर्मवेयर को LiberoSoC (डिज़ाइन फ़्लो विंडो > निर्यात फ़र्मवेयर > निर्यात फ़र्मवेयर) से निर्यात करते हैं, तो Libero निम्नलिखित उत्पन्न करता है fileएस में /फर्मवेयर/drivers_config/sys_config फ़ोल्डर:
- sys_config.c - डेटा संरचनाएं शामिल हैं जो परिधीय रजिस्टरों के लिए मान रखती हैं।
- sys_config.h - #Define स्टेटमेंट शामिल हैं जो निर्दिष्ट करते हैं कि डिज़ाइन में कौन से पेरिफेरल्स का उपयोग किया जाता है और उन्हें इनिशियलाइज़ करने की आवश्यकता है।
- sys_config_mddr_define.h - रजिस्टर कॉन्फ़िगरेशन संवाद बॉक्स में दर्ज MDDR नियंत्रक कॉन्फ़िगरेशन डेटा शामिल है।
- sys_config_fddr_define.h - रजिस्टर कॉन्फ़िगरेशन संवाद बॉक्स में दर्ज FDDR नियंत्रक कॉन्फ़िगरेशन डेटा शामिल है।
- sys_config_mss_घड़ी.h - यह file एमएसएस सीसीसी कॉन्फिगरेटर में परिभाषित एमएसएस क्लॉक फ्रीक्वेंसी शामिल हैं। इन आवृत्तियों का उपयोग CMSIS कोड द्वारा कई MSS ड्राइवरों को घड़ी की सही जानकारी प्रदान करने के लिए किया जाता है, जिनकी पेरिफेरल क्लॉक (PCLK) आवृत्ति तक पहुँच होनी चाहिए (जैसे, MSS UART बॉड रेट विभाजक बॉड दर और PCLK आवृत्ति का एक कार्य है। ).
- sys_config_SERDESIF_ ।सी – SERDESIF_ शामिल है SERDESIF_ के दौरान प्रदान किए गए कॉन्फ़िगरेशन डेटा को पंजीकृत करें डिजाइन निर्माण में ब्लॉक कॉन्फ़िगरेशन।
- sys_config_SERDESIF_ ।एच - इसमें #define स्टेटमेंट शामिल हैं जो रजिस्टर कॉन्फ़िगरेशन जोड़े की संख्या और लेन नंबर निर्दिष्ट करते हैं जिन्हें PMA_READY (केवल PCIe मोड में) के लिए मतदान करने की आवश्यकता है।
इन fileसीएमएसआईएस कोड के लिए ठीक से संकलित करने और एमएसएस के लिए परिधीय कॉन्फ़िगरेशन डेटा और घड़ी कॉन्फ़िगरेशन जानकारी सहित आपके वर्तमान डिज़ाइन के बारे में जानकारी शामिल करने के लिए आवश्यक हैं।
इन्हें संपादित न करें fileमैन्युअल रूप से; हर बार संबंधित पेरिफेरल वाले स्मार्टडिजाइन घटकों के उत्पन्न होने पर वे संबंधित घटक/परिधीय निर्देशिकाओं के लिए बनाए जाते हैं। यदि किसी बाह्य उपकरणों के कॉन्फ़िगरेशन डेटा में कोई परिवर्तन किया जाता है, तो आपको फ़र्मवेयर प्रोजेक्ट को फिर से निर्यात करने की आवश्यकता होती है ताकि अद्यतन फ़र्मवेयर files (उपर्युक्त सूची देखें) को निर्यात किया जाता है / फर्मवेयर/drivers_config/sys_config फ़ोल्डर।
जब आप फ़र्मवेयर निर्यात करते हैं, तो Libero SoC फ़र्मवेयर प्रोजेक्ट बनाता है: एक लाइब्रेरी जहाँ आपका डिज़ाइन कॉन्फ़िगरेशन files और ड्राइवर संकलित हैं।
यदि आप क्रिएट प्रोजेक्ट को चेक करते हैं चेकबॉक्स जब आप फ़र्मवेयर निर्यात करते हैं, तो एप्लिकेशन प्रोजेक्ट को होल्ड करने के लिए एक सॉफ़्टवेयर सॉफ़्टकंसोल/IAR/Keil प्रोजेक्ट बनाया जाता है, जहाँ आप main.c और उपयोगकर्ता C/H को संपादित कर सकते हैं fileएस। CMSIS कोड को सही ढंग से संकलित करने के लिए सॉफ्टकॉनसोल/IAR/Keil प्रोजेक्ट खोलें और अपने हार्डवेयर डिज़ाइन से मिलान करने के लिए अपने फ़र्मवेयर एप्लिकेशन को ठीक से कॉन्फ़िगर करें।
बीएफएम Fileडिजाइन का अनुकरण करने के लिए उपयोग किया जाता है
जब आप स्मार्टडिजाइन घटकों को उत्पन्न करते हैं जिसमें आपके डिजाइन से जुड़े सहायक उपकरण होते हैं, तो सिमुलेशन fileसंबंधित बाह्य उपकरणों के अनुरूप एस में उत्पन्न होते हैं /सिमुलेशन निर्देशिका:
- परीक्षण.बीएफएम - शीर्ष स्तर के बीएफएम file जिसे किसी भी सिमुलेशन के दौरान पहली बार निष्पादित किया जाता है जो SmartFusion2 MSS Cortex-M3 प्रोसेसर का प्रयोग करता है। यह उस क्रम में पेरिफेरल_इनिट.बीएफएम और यूजर.बीएफएम को निष्पादित करता है।
- MDDR_init.bfm – यदि आपका डिज़ाइन MDDR का उपयोग करता है, तो Libero इसे उत्पन्न करता है file; इसमें बीएफएम लिखने के आदेश हैं जो एमएसएस डीडीआर नियंत्रक रजिस्टरों में आपके द्वारा दर्ज किए गए एमएसएस डीडीआर कॉन्फ़िगरेशन रजिस्टर डेटा (एडिट रजिस्टर्स डायलॉगबॉक्स या एमएसएस_एमडीडीआर जीयूआई में) के लिखने का अनुकरण करते हैं।
- FDDR_init.bfm – यदि आपका डिज़ाइन FDDR का उपयोग करता है, तो Libero इसे उत्पन्न करता है file; इसमें बीएफएम राइट कमांड शामिल हैं जो आपके द्वारा दर्ज किए गए फैब्रिक डीडीआर कॉन्फ़िगरेशन रजिस्टर डेटा (एडिट रजिस्टर्स डायलॉगबॉक्स या एफडीडीआर जीयूआई में) को फैब्रिक डीडीआर कंट्रोलर रजिस्टरों में लिखने का अनुकरण करते हैं।
- सर्देसिफ़_ _init.bfm – यदि आपका डिज़ाइन एक या अधिक SERDESIF ब्लॉक का उपयोग करता है, तो Libero इसे उत्पन्न करता है file प्रत्येक SERDESIF_ के लिए इस्तेमाल किए गए ब्लॉक; इसमें BFM राइट कमांड होते हैं जो आपके द्वारा दर्ज किए गए SERDESIF कॉन्फ़िगरेशन रजिस्टर डेटा के लेखन का अनुकरण करते हैं (एडिट रजिस्टर्स डायलॉग बॉक्स का उपयोग करके या SERDESIF_ में जीयूआई) SERDESIF_ में रजिस्टर। यदि SERDESIF ब्लॉक को PCIe के रूप में कॉन्फ़िगर किया गया है, तो यह file कुछ #define स्टेटमेंट भी हैं जो 2 रजिस्टर कॉन्फ़िगरेशन चरणों के निष्पादन को सही क्रम में नियंत्रित करते हैं।
- उपयोगकर्ता.बीएफएम - उपयोगकर्ता आदेश शामिल हैं। ये कमांड पेरिफेरल_इनिट.बीएफएम के पूरा होने के बाद निष्पादित होते हैं। को संशोधित file अपने बीएफएम कमांड दर्ज करने के लिए।
- सर्देसिफ़_ _user.bfm - उपयोगकर्ता आदेश शामिल हैं। को संशोधित file अपने बीएफएम कमांड दर्ज करने के लिए। यदि आपने SERDESIF_ कॉन्फ़िगर किया है तो इसका प्रयोग करें BFM PCIe सिमुलेशन मोड में और AXI/AHBLite मास्टर के रूप में ब्लॉक करें। यदि आपने SERDESIF_ को कॉन्फ़िगर किया है RTL सिमुलेशन मोड में ब्लॉक करें, आपको इसकी आवश्यकता नहीं होगी file.
जब आप हर बार सिमुलेशन का आह्वान करते हैं, तो निम्नलिखित दो सिमुलेशन files को फिर से बनाया जाता है /सिमुलेशन निर्देशिका अद्यतन सामग्री के साथ:
- सबसिस्टम.बीएफएम - आपके डिज़ाइन में उपयोग किए जाने वाले प्रत्येक परिधीय के लिए #define कथन शामिल हैं, जो प्रत्येक परिधीय के अनुरूप निष्पादित किए जाने वाले परिधीय_init.bfm के विशेष खंड को निर्दिष्ट करते हैं।
- operipheral_init.bfm - BFM प्रक्रिया शामिल है जो CMSIS का अनुकरण करती है :: SystemInit () फ़ंक्शन Cortex-M3 पर चलता है इससे पहले कि आप मुख्य () प्रक्रिया में प्रवेश करें। यह डिज़ाइन में उपयोग किए गए किसी भी परिधीय के लिए कॉन्फ़िगरेशन डेटा को सही परिधीय कॉन्फ़िगरेशन रजिस्टरों में कॉपी करता है और फिर यह दावा करने से पहले सभी बाह्य उपकरणों के तैयार होने की प्रतीक्षा करता है कि आप इन बाह्य उपकरणों का उपयोग कर सकते हैं। यह MDDR_init.bfm और FDDR_init.bfm निष्पादित करता है।
इनका उपयोग करके उत्पन्न किया गया files, आपके डिज़ाइन में DDR नियंत्रक स्वचालित रूप से कॉन्फ़िगर किए गए हैं, यह अनुकरण करते हुए कि SmartFusion2 डिवाइस पर क्या होगा। आप user.bfm को संपादित कर सकते हैं file अपने डिजाइन को अनुकरण करने के लिए आवश्यक किसी भी आदेश को जोड़ने के लिए (कोर्टेक्स-एम 3 मास्टर है)। बाह्य उपकरणों के प्रारंभ होने के बाद इन आदेशों को निष्पादित किया जाता है। Test.bfm, subsystem.bfm,peripheral_init.bfm, MDDR_init.bfm, FDDR_init.bfm संपादित न करें fileएस और SERDESIF_ _init.bfm files.
उत्पाद समर्थन
माइक्रोसेमी एसओसी उत्पाद समूह ग्राहक सेवा, ग्राहक तकनीकी सहायता केंद्र सहित विभिन्न समर्थन सेवाओं के साथ अपने उत्पादों का समर्थन करता है webसाइट, इलेक्ट्रॉनिक मेल और दुनिया भर में बिक्री कार्यालय।
इस परिशिष्ट में माइक्रोसेमी एसओसी उत्पाद समूह से संपर्क करने और इन समर्थन सेवाओं का उपयोग करने के बारे में जानकारी है।
ग्राहक सेवा
गैर-तकनीकी उत्पाद समर्थन के लिए ग्राहक सेवा से संपर्क करें, जैसे उत्पाद मूल्य निर्धारण, उत्पाद उन्नयन, अद्यतन जानकारी, ऑर्डर की स्थिति और प्राधिकरण।
उत्तरी अमेरिका से, कॉल करें 800.262.1060
बाकी दुनिया से, कॉल करें 650.318.4460
फैक्स, दुनिया में कहीं से भी, 408.643.6913
ग्राहक तकनीकी सहायता केंद्र
माइक्रोसेमी एसओसी उत्पाद समूह अपने ग्राहक तकनीकी सहायता केंद्र को अत्यधिक कुशल इंजीनियरों के साथ रखता है जो माइक्रोसेमी एसओसी उत्पादों के बारे में आपके हार्डवेयर, सॉफ्टवेयर और डिजाइन प्रश्नों का उत्तर देने में मदद कर सकते हैं। ग्राहक तकनीकी सहायता केंद्र एप्लिकेशन नोट्स बनाने, सामान्य डिज़ाइन चक्र प्रश्नों के उत्तर, ज्ञात मुद्दों के दस्तावेज़ीकरण और विभिन्न अक्सर पूछे जाने वाले प्रश्नों के निर्माण में बहुत समय व्यतीत करता है। इसलिए, हमसे संपर्क करने से पहले, कृपया हमारे ऑनलाइन संसाधनों पर जाएँ। यह बहुत संभव है कि हम आपके प्रश्नों का उत्तर पहले ही दे चुके हैं।
तकनीकी समर्थन
ग्राहक सहायता पर जाएँ webस्थल (www.microsemi.com/soc/support/search/default.aspx) अधिक जानकारी और समर्थन के लिए। खोजने योग्य पर कई उत्तर उपलब्ध हैं web संसाधन में आरेख, चित्र और अन्य संसाधनों के लिंक शामिल हैं webसाइट।
Webसाइट
आप SoC होम पेज पर विभिन्न प्रकार की तकनीकी और गैर-तकनीकी जानकारी ब्राउज़ कर सकते हैं www.microsemi.com/soc.
ग्राहक तकनीकी सहायता केंद्र से संपर्क करना
अत्यधिक कुशल इंजीनियर तकनीकी सहायता केंद्र के कर्मचारी हैं। तकनीकी सहायता केंद्र से ईमेल या माइक्रोसेमी एसओसी उत्पाद समूह के माध्यम से संपर्क किया जा सकता है webसाइट।
ईमेल
आप अपने तकनीकी प्रश्नों को हमारे ईमेल पते पर संप्रेषित कर सकते हैं और ईमेल, फैक्स या फोन द्वारा उत्तर प्राप्त कर सकते हैं। साथ ही, यदि आपको डिज़ाइन संबंधी समस्या है, तो आप अपना डिज़ाइन ईमेल कर सकते हैं fileएस सहायता प्राप्त करने के लिए।
हम पूरे दिन ईमेल खाते की लगातार निगरानी करते हैं। हमें अपना अनुरोध भेजते समय, कृपया अपना पूरा नाम, कंपनी का नाम और अपनी संपर्क जानकारी शामिल करना सुनिश्चित करें ताकि आपके अनुरोध को प्रभावी तरीके से संसाधित किया जा सके।
तकनीकी सहायता ईमेल पता है soc_tech@microsemi.com.
मेरे मामले
माइक्रोसेमी एसओसी उत्पाद समूह के ग्राहक तकनीकी मामलों को ऑनलाइन जमा और ट्रैक कर सकते हैं मेरे मामले.
यूएस से बाहर
यूएस टाइम ज़ोन के बाहर सहायता की आवश्यकता वाले ग्राहक या तो ईमेल के माध्यम से तकनीकी सहायता से संपर्क कर सकते हैं (soc_tech@microsemi.com) या किसी स्थानीय बिक्री कार्यालय से संपर्क करें। बिक्री कार्यालय लिस्टिंग पर पाया जा सकता है www.microsemi.com/soc/company/contact/default.aspx.
आईटीएआर तकनीकी सहायता
आरएच और आरटी एफपीजीए पर तकनीकी सहायता के लिए जो शस्त्र विनियमों (आईटीएआर) में अंतर्राष्ट्रीय यातायात द्वारा विनियमित हैं, के माध्यम से हमसे संपर्क करें soc_tech_itar@microsemi.com. वैकल्पिक रूप से, मेरे मामलों में, ITAR ड्रॉप-डाउन सूची में हां का चयन करें। ITAR-विनियमित माइक्रोसेमी FPGAs की पूरी सूची के लिए, ITAR पर जाएँ web पृष्ठ.
माइक्रोसेमी कॉर्पोरेशन (NASDAQ: MSCC) इसके लिए सेमीकंडक्टर समाधानों का एक व्यापक पोर्टफोलियो प्रदान करता है: एयरोस्पेस, रक्षा और सुरक्षा; उद्यम और संचार; और औद्योगिक और वैकल्पिक ऊर्जा बाजार। उत्पादों में उच्च-प्रदर्शन, उच्च-विश्वसनीयता एनालॉग और आरएफ डिवाइस, मिश्रित सिग्नल और आरएफ एकीकृत सर्किट, अनुकूलन योग्य एसओसी, एफपीजीए और पूर्ण उपप्रणाली शामिल हैं। माइक्रोसेमी का मुख्यालय एलिसो वीजो, कैलिफ़ोर्निया में है। पर अधिक जानें www.microsemi.com.
© 2014 माइक्रोसेमी कॉर्पोरेशन। सर्वाधिकार सुरक्षित। माइक्रोसेमी और माइक्रोसेमी लोगो माइक्रोसेमी कॉर्पोरेशन के ट्रेडमार्क हैं। अन्य सभी ट्रेडमार्क और सेवा चिह्न उनके संबंधित स्वामियों की संपत्ति हैं।
5-02-00384-1/08.14माइक्रोसेमी कॉर्पोरेट मुख्यालय
वन एंटरप्राइज, एलिसो वीजो सीए 92656 यूएसए
संयुक्त राज्य अमेरिका के भीतर: +1 949-380-6100
बिक्री: +1 949-380-6136
फैक्स: +1 949-215-4996
दस्तावेज़ / संसाधन
![]() |
माइक्रोसेमी स्मार्टफ्यूजन2 डीडीआर कंट्रोलर और सीरियल हाई स्पीड कंट्रोलर [पीडीएफ] उपयोगकर्ता गाइड SmartFusion2 DDR कंट्रोलर और सीरियल हाई स्पीड कंट्रोलर, SmartFusion2 DDR, कंट्रोलर और सीरियल हाई स्पीड कंट्रोलर, हाई स्पीड कंट्रोलर |