स्मार्टफ्यूजन2
डीडीआर कंट्रोलर आणि सीरियल हाय स्पीड कंट्रोलर
आरंभ करण्याची पद्धत
वापरकर्ता मार्गदर्शक
परिचय
SmartFusion2 डिव्हाइस वापरून डिझाईन तयार करताना, तुम्ही दोनपैकी एक DDR कंट्रोलर (FDDR किंवा MDDR) किंवा कोणत्याही सिरीयल हाय स्पीड कंट्रोलर (SERDESIF) ब्लॉक्सचा वापर करत असल्यास, तुम्ही रन-टाइमच्या आधी या ब्लॉक्सचे कॉन्फिगरेशन रजिस्टर सुरू करणे आवश्यक आहे. ते वापरले जाऊ शकतात. उदाample, DDR कंट्रोलरसाठी, तुम्ही DDR मोड (DDR3/DDR2/LPDDR), PHY रुंदी, बर्स्ट मोड आणि ECC सेट करणे आवश्यक आहे.
त्याचप्रमाणे, PCIe एंडपॉइंट म्हणून वापरल्या जाणार्या SERDESIF ब्लॉकसाठी, तुम्ही PCIE BAR ते AXI (किंवा AHB) विंडो सेट करणे आवश्यक आहे.
हा दस्तऐवज एक Libero डिझाइन तयार करण्यासाठी आवश्यक असलेल्या पायऱ्यांचे वर्णन करतो जे स्वयंचलितपणे डीडीआर कंट्रोलर आणि SERDESIF ब्लॉक्स पॉवर अपवर सुरू करतात. एम्बेडेड डिझाइन फ्लोमध्ये वापरला जाणारा Libero SOC वरून फर्मवेअर कोड कसा तयार करायचा याचे देखील ते वर्णन करते.
ऑपरेशन्सच्या सिद्धांताचे तपशीलवार वर्णन प्रथम प्रदान केले आहे.
पुढील भागात Libero SoC सिस्टीम बिल्डरचा वापर करून असे डिझाइन कसे तयार करायचे याचे वर्णन केले आहे, एक शक्तिशाली डिझाइन टूल जे इतर वैशिष्ट्यांसह, तुम्ही तुमच्या डिझाइनमध्ये DDR किंवा SERDESIF ब्लॉक्स वापरत असल्यास तुमच्यासाठी 'इनिशियलायझेशन' सोल्यूशन तयार करते.
पुढील भागात SmartFusion2 सिस्टम बिल्डर न वापरता संपूर्ण 'इनिशियलायझेशन' सोल्यूशन एकत्र कसे ठेवायचे याचे वर्णन केले आहे. हे तुम्हाला सिस्टम बिल्डर वापरू इच्छित नसल्यास काय करावे लागेल हे स्पष्ट करण्यात मदत करते आणि सिस्टम बिल्डर टूल तुमच्यासाठी प्रत्यक्षात काय व्युत्पन्न करते याचे वर्णन करते. हा विभाग पत्ता देतो:
- DDR कंट्रोलर आणि SERDESIF कॉन्फिगरेशन रजिस्टरसाठी कॉन्फिगरेशन डेटा तयार करणे
- विविध ASIC कॉन्फिगरेशन रजिस्टर्समध्ये कॉन्फिगरेशन डेटा हस्तांतरित करण्यासाठी आवश्यक FPGA लॉजिकची निर्मिती
शेवटी आम्ही व्युत्पन्न वर्णन करतो fileसंबंधित आहे:
- फर्मवेअर 'इनिशियलायझेशन' सोल्यूशनची निर्मिती.
- डीडीआर 'इनिशियलायझेशन' सोल्यूशनसाठी डिझाइनचे सिम्युलेशन.
DDR कंट्रोलर आणि SERDESIF कॉन्फिगरेशन रजिस्टर्सच्या तपशीलांसाठी, पहा Microsemi SmartFusion2 हाय स्पीड सीरियल आणि DDR इंटरफेस वापरकर्ता मार्गदर्शक.
ऑपरेशन सिद्धांत
पेरिफेरल इनिशिएलायझेशन सोल्यूशन खालील प्रमुख घटक वापरते:
- CMSIS SystemInit() फंक्शन, जे Cortex-M3 वर चालते आणि सुरुवातीची प्रक्रिया मांडते.
- CoreConfigP सॉफ्ट आयपी कोर, जे पेरिफेरल्स कॉन्फिगरेशन रजिस्टर्स सुरू करते.
- CoreResetP सॉफ्ट IP कोर, जो MSS, DDR कंट्रोलर्स आणि SERDESIF ब्लॉक्सचा रीसेट क्रम व्यवस्थापित करतो..
परिधीय आरंभ प्रक्रिया खालीलप्रमाणे कार्य करते:
- रीसेट केल्यावर, Cortex-M3 CMSIS SystemInit() फंक्शन चालवते. हे फंक्शन ऍप्लिकेशनचे मुख्य() फंक्शन कार्यान्वित होण्यापूर्वी आपोआप कार्यान्वित होते.
CoreResetP आउटपुट सिग्नल MSS_HPMS_READY इनिशिएलायझेशन प्रक्रियेच्या सुरूवातीस ठासून सांगितले जाते, जे सूचित करते की MSS आणि सर्व परिधीय (MDDR वगळता) संप्रेषणासाठी तयार आहेत. - SystemInit() फंक्शन MSS FIC_2 APB3 बस द्वारे DDR कंट्रोलर्स आणि SERDESIF कॉन्फिगरेशन रजिस्टर्सवर कॉन्फिगरेशन डेटा लिहिते. हा इंटरफेस FPGA फॅब्रिकमध्ये तात्काळ सॉफ्ट CoreConfigP कोरशी जोडलेला आहे.
- सर्व रजिस्टर्स कॉन्फिगर केल्यानंतर, SystemInit() फंक्शन CoreConfigP कंट्रोल रजिस्टरला रजिस्टर कॉन्फिगरेशन फेज पूर्ण झाल्याचे सूचित करण्यासाठी लिहिते; CoreConfigP आउटपुट सिग्नल CONFIG1_DONE आणि CONIG2_DONE नंतर प्रतिपादन केले जातात.
डिझाइनमध्ये वापरल्या जाणार्या पेरिफेरल्सवर अवलंबून रजिस्टर कॉन्फिगरेशनचे दोन टप्पे आहेत (CONFIG1 आणि CONFIG2). - MDDR/FDDR पैकी एक किंवा दोन्ही वापरले असल्यास, आणि SERDESIF ब्लॉक्सपैकी कोणतेही डिझाइनमध्ये वापरलेले नसल्यास, फक्त एक नोंदणी कॉन्फिगरेशन टप्पा आहे. दोन्ही CoreConfigP आउटपुट सिग्नल CONFIG1_DONE आणि CONIG2_DONE कोणत्याही प्रतीक्षा/विलंबाशिवाय एकामागून एक ठाम आहेत.
नॉन-PCIe मोडमधील एक किंवा अधिक SERDESIF ब्लॉक डिझाइनमध्ये वापरले असल्यास, नोंदणी कॉन्फिगरेशनचा फक्त एक टप्पा आहे. CONFIG1_DONE आणि CONIG2_DONE कोणत्याही प्रतीक्षा/विलंबाशिवाय एकामागून एक ठाम आहेत.
PCIe मोडमधील एक किंवा अधिक SERDESIF ब्लॉक डिझाइनमध्ये वापरले असल्यास, नोंदणी कॉन्फिगरेशनचे दोन टप्पे आहेत. रजिस्टर कॉन्फिगरेशनचा पहिला टप्पा पूर्ण झाल्यानंतर CONFIG1_DONE ठामपणे सांगितले जाते. SERDESIF प्रणाली आणि लेन रजिस्टर या टप्प्यात कॉन्फिगर केले आहेत. SERDESIF नॉन-PCIE मोडमध्ये कॉन्फिगर केले असल्यास, 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 खालील कार्ये करून विविध ब्लॉक्सचे आरंभिकरण देखील व्यवस्थापित करते:
- FDDR कोर रीसेट रद्द करणे
- SERDESIF ब्लॉक्स PHY आणि CORE रीसेट करणे रद्द करणे
- FDDR PLL (FPLL) लॉक सिग्नलचे निरीक्षण. FDDR AXI/AHBLite डेटा इंटरफेस आणि FPGA फॅब्रिक योग्यरितीने संवाद साधू शकतील याची हमी देण्यासाठी FPLL लॉक केलेले असावे.
- SERDESIF ब्लॉक PLL (SPLL) लॉक सिग्नलचे निरीक्षण. SERDESIF ब्लॉक्स AXI/AHBLite इंटरफेस (PCIe मोड) किंवा XAUI इंटरफेस FPGA फॅब्रिकशी योग्यरितीने संवाद साधू शकतो याची हमी देण्यासाठी SPLL लॉक केलेला असावा.
- बाह्य DDR आठवणी स्थिर होण्याची आणि DDR नियंत्रकांद्वारे प्रवेश करण्यासाठी तयार होण्याची प्रतीक्षा करत आहे. - जेव्हा सर्व पेरिफेरल्सने त्यांचे आरंभिकरण पूर्ण केले, तेव्हा CoreResetP INIT_DONE सिग्नलचे प्रतिपादन करते; CoreConfigP अंतर्गत रजिस्टर INIT_DONE नंतर ठामपणे सांगितले जाते.
MDDR/FDDR पैकी एक किंवा दोन्ही वापरले असल्यास, आणि DDR आरंभिकरणाची वेळ गाठली असल्यास, CoreResetP आउटपुट सिग्नल DDR_READY असे प्रतिपादन केले जाते. DDR_READY या सिग्नलचे प्रतिपादन DDR (MDDR/FDDR) संप्रेषणासाठी तयार असल्याचे संकेत म्हणून परीक्षण केले जाऊ शकते.
एक किंवा अधिक SERDESIF ब्लॉक्स वापरले असल्यास, आणि रजिस्टर कॉन्फिगरेशनचा दुसरा टप्पा यशस्वीरित्या पूर्ण झाला असल्यास, CoreResetP आउटपुट सिग्नल SDIF_READY ठामपणे सांगितले जाते. सर्व SERDESIF ब्लॉक संप्रेषणासाठी तयार असल्याचे संकेत म्हणून SDIF_READY या सिग्नलचे निरीक्षण केले जाऊ शकते. - SystemInit() फंक्शन, जे INIT_DONE ची प्रतिक्षा करत होते, ते पूर्ण होते आणि अनुप्रयोगाचे मुख्य() फंक्शन कार्यान्वित होते. त्या वेळी, सर्व वापरलेले DDR नियंत्रक आणि SERDESIF ब्लॉक सुरू केले गेले आहेत, आणि फर्मवेअर अनुप्रयोग आणि FPGA फॅब्रिक लॉजिक त्यांच्याशी विश्वासार्हपणे संवाद साधू शकतात.
या दस्तऐवजात वर्णन केलेली कार्यपद्धती अनुप्रयोगाच्या मुख्य() कार्यापूर्वी कार्यान्वित केलेल्या सिस्टम इनिशिएलायझेशन कोडचा भाग म्हणून इनिशिएलायझेशन प्रक्रिया कार्यान्वित करणार्या Cortex-M3 वर अवलंबून आहे.
FDDR/MDDR, SEREDES (नॉन-PCIe मोड) आणि SERDES (PCIe मोड) च्या सुरुवातीच्या चरणांसाठी आकृती 1-1, आकृती 1-2 आणि आकृती 1-3 मध्ये फ्लो चार्ट पहा.
आकृती 1-4 पेरिफेरल इनिशियलायझेशन टाइमिंग डायग्राम दाखवते.
![]() |
![]() |
आकृती 1-3 • SERDESIF (PCIe) इनिशियलायझेशन फ्लो चार्ट
या दस्तऐवजात वर्णन केलेल्या सुरुवातीच्या प्रक्रियेसाठी तुम्ही कॉर्टेक्स-M3 वर कोणताही कोड चालवण्याचा विचार करत नसला तरीही, इनिशिएलायझेशन प्रक्रियेदरम्यान तुम्हाला Cortex-M3 चालवणे आवश्यक आहे. आपण एक मूलभूत फर्मवेअर अनुप्रयोग तयार करणे आवश्यक आहे जे काहीही करत नाही (एक साधा लूप, उदाample) आणि एम्बेडेड नॉन-व्होलेटाईल मेमरी (eNVM) मध्ये एक्झिक्युटेबल लोड करा त्यामुळे जेव्हा Cortex-M3 बूट होते तेव्हा DDR कंट्रोलर्स आणि SERDESIF ब्लॉक्स सुरू होतात.
DDR आणि SERDESIF ब्लॉक्सचा वापर करून डिझाइन तयार करण्यासाठी सिस्टम बिल्डर वापरणे
SmartFusion2 सिस्टम बिल्डर हे एक शक्तिशाली डिझाईन साधन आहे जे तुम्हाला तुमच्या सिस्टम-स्तरीय आवश्यकता कॅप्चर करण्यात मदत करते आणि त्या आवश्यकतांची अंमलबजावणी करणारे डिझाइन तयार करते. सिस्टम बिल्डरचे एक अतिशय महत्त्वाचे कार्य म्हणजे पेरिफेरल इनिशियलायझेशन सब-सिस्टमची स्वयंचलित निर्मिती. “DDR आणि SERDESIF ब्लॉक्सचा वापर करून डिझाईन तयार करण्यासाठी स्मार्टडिझाइनचा वापर” पृष्ठ १७ वर सिस्टम बिल्डरशिवाय असे समाधान कसे तयार करायचे याचे तपशीलवार वर्णन करते.
जर तुम्ही सिस्टम बिल्डर वापरत असाल, तर तुमचे डीडीआर कंट्रोलर आणि SERDESIF ब्लॉक्स पॉवर अपवर सुरू करणारे डिझाइन तयार करण्यासाठी तुम्ही खालील कार्ये करणे आवश्यक आहे:
- डिव्हाइस वैशिष्ट्ये पृष्ठावर (आकृती 2-1), कोणते DDR नियंत्रक वापरले जातात आणि तुमच्या डिझाइनमध्ये किती SERDESIF ब्लॉक वापरले जातात ते निर्दिष्ट करा.
- मेमरी पृष्ठामध्ये, DDR चा प्रकार (DDR2/DDR3/LPDDR) आणि तुमच्या बाह्य DDR मेमरींसाठी कॉन्फिगरेशन डेटा निर्दिष्ट करा. तपशीलांसाठी मेमरी पृष्ठ विभाग पहा.
- पेरिफेरल्स पेजमध्ये, फॅब्रिक डीडीआर सबसिस्टम आणि/किंवा एमएसएस डीडीआर एफआयसी सबसिस्टम (पर्यायी) मध्ये AHBLite/AXI म्हणून कॉन्फिगर केलेले फॅब्रिक मास्टर्स जोडा.
- घड्याळ सेटिंग्ज पृष्ठामध्ये, DDR उप-प्रणालींसाठी घड्याळ वारंवारता निर्दिष्ट करा.
- आपले डिझाइन तपशील पूर्ण करा आणि समाप्त क्लिक करा. हे 'इनिशियलायझेशन' सोल्यूशनसाठी आवश्यक लॉजिकसह सिस्टम बिल्डरने तयार केलेले डिझाइन व्युत्पन्न करते.
- जर तुम्ही SERDESIF ब्लॉक्स वापरत असाल, तर तुम्ही तुमच्या डिझाइनमध्ये SERDESIF ब्लॉक इन्स्टंट केले पाहिजेत आणि त्यांचे इनिशिएलायझेशन पोर्ट सिस्टम बिल्डरने तयार केलेल्या कोरशी जोडले पाहिजेत.
सिस्टम बिल्डर डिव्हाइस वैशिष्ट्ये पृष्ठ
डिव्हाइस वैशिष्ट्ये पृष्ठामध्ये, कोणते DDR नियंत्रक (MDDR आणि/किंवा FDDR) वापरले जातात आणि तुमच्या डिझाइनमध्ये किती SERDESIF ब्लॉक्स वापरले जातात ते निर्दिष्ट करा (आकृती 2-1).
आकृती 2-1 • सिस्टम बिल्डर डिव्हाइस वैशिष्ट्ये पृष्ठ
सिस्टम बिल्डर मेमरी पृष्ठ
MSS DDR (MDDR) किंवा Fabric DDR (FDDR) वापरण्यासाठी, ड्रॉप-डाउन सूचीमधून मेमरी प्रकार निवडा (आकृती 2-2).
आकृती 2-2 • MSS बाह्य मेमरी
तुम्ही हे करणे आवश्यक आहे:
- DDR प्रकार (DDR2, DDR3 किंवा LPDDR) निवडा.
- DDR मेमरी सेटलिंग वेळ परिभाषित करा. योग्य मेमरी सेटिंग वेळ सेट करण्यासाठी तुमच्या बाह्य DDR मेमरी तपशीलांचा सल्ला घ्या. मेमरी सेटलिंग वेळ योग्यरित्या सेट न केल्यास DDR मेमरी योग्यरित्या सुरू करण्यात अयशस्वी होऊ शकते.
- एकतर DDR रजिस्टर कॉन्फिगरेशन डेटा इंपोर्ट करा किंवा तुमचे DDR मेमरी पॅरामीटर्स सेट करा. तपशीलांसाठी, पहा Microsemi SmartFusion2 हाय स्पीड सीरियल आणि DDR इंटरफेस वापरकर्ता मार्गदर्शक.
हा डेटा DDR रजिस्टर BFM आणि फर्मवेअर कॉन्फिगरेशन तयार करण्यासाठी वापरला जातो fileपृष्ठ 26 वर "फर्मवेअर ऍप्लिकेशन तयार करणे आणि संकलित करणे" मध्ये वर्णन केल्याप्रमाणे आणि "BFM Files पृष्ठ 27 वर डिझाईनचे अनुकरण करण्यासाठी वापरले जाते. डीडीआर कंट्रोलर कॉन्फिगरेशन रजिस्टरच्या तपशीलांसाठी, Microsemi SmartFusion2 हाय स्पीड सीरियल आणि DDR इंटरफेस वापरकर्ता मार्गदर्शक.
एक माजीampकॉन्फिगरेशनचे le file वाक्यरचना आकृती 2-3 मध्ये दर्शविली आहे. यामध्ये वापरलेली रजिस्टर नावे file मध्ये वर्णन केल्याप्रमाणेच आहेत Microsemi SmartFusion2 हाय स्पीड सीरियल आणि DDR इंटरफेस वापरकर्ता मार्गदर्शक
आकृती 2-3 • कॉन्फिगरेशन File वाक्यरचना उदाample
सिस्टम बिल्डर पेरिफेरल्स पृष्ठ
पेरिफेरल्स पेजमध्ये, प्रत्येक डीडीआर कंट्रोलरसाठी एक वेगळी सबसिस्टम तयार केली जाते (एफडीडीआरसाठी फॅब्रिक डीडीआर सबसिस्टम आणि एमडीडीआरसाठी एमएसएस डीडीआर एफआयसी सबसिस्टम). DDR कंट्रोलर्समध्ये फॅब्रिक मास्टर ऍक्सेस सक्षम करण्यासाठी तुम्ही या प्रत्येक उपप्रणालीमध्ये फॅब्रिक AMBA मास्टर (AXI/AHBLite म्हणून कॉन्फिगर केलेले) कोर जोडू शकता. जनरेशनवर, सिस्टम बिल्डर आपोआप बस कोर (जोडलेल्या एएमबीए मास्टरच्या प्रकारानुसार) इन्स्टंट करतो आणि बस कोरचा मास्टर बीआयएफ आणि घड्याळ उघड करतो आणि संबंधित उपप्रणालीच्या (एफडीडीआर/एमडीडीआर) पिन योग्य पिन गटांखाली रीसेट करतो. शीर्ष तुम्हाला फक्त BIF ला योग्य फॅब्रिक मास्टर कोरशी जोडायचे आहे जे तुम्ही डिझाइनमध्ये इन्स्टंट कराल. MDDR च्या बाबतीत, MSS DDR FIC उपप्रणालीमध्ये फॅब्रिक AMBA मास्टर कोर जोडणे ऐच्छिक आहे; Cortex-M3 या उपप्रणालीवर डीफॉल्ट मास्टर आहे. आकृती 2-4 सिस्टम बिल्डर पेरिफेरल्स पृष्ठ दर्शविते.
आकृती 2-4 • सिस्टम बिल्डर पेरिफेरल्स पृष्ठ
सिस्टम बिल्डर घड्याळ सेटिंग्ज पृष्ठ
घड्याळ सेटिंग्ज पृष्ठामध्ये, प्रत्येक DDR नियंत्रकासाठी, तुम्ही प्रत्येक DDR (MDDR आणि/किंवा FDDR) उप-प्रणालीशी संबंधित घड्याळ वारंवारता निर्दिष्ट करणे आवश्यक आहे.
MDDR साठी, तुम्ही निर्दिष्ट करणे आवश्यक आहे:
- MDDR_CLK - हे घड्याळ DDR कंट्रोलरची ऑपरेटिंग वारंवारता ठरवते आणि तुमची बाह्य DDR मेमरी चालवायची इच्छा असलेल्या घड्याळाच्या वारंवारतेशी जुळले पाहिजे. हे घड्याळ M3_CLK (Cortex-M3 आणि MSS मुख्य घड्याळ, आकृती 2-5) च्या मल्टिपल म्हणून परिभाषित केले आहे. MDDR_CLK 333 MHz पेक्षा कमी असणे आवश्यक आहे.
- DDR_FIC_CLK - तुम्ही FPGA फॅब्रिकमधून MDDR मध्ये प्रवेश करणे देखील निवडले असल्यास, तुम्हाला DDR_FIC_CLK निर्दिष्ट करणे आवश्यक आहे. ही घड्याळ वारंवारता MDDR_CLK चे गुणोत्तर म्हणून परिभाषित केली जाते आणि MDDR मध्ये प्रवेश करणारी FPGA फॅब्रिक उप-प्रणाली चालू असलेल्या वारंवारतेशी जुळली पाहिजे.
आकृती 2-5 • कॉर्टेक्स-एम3 आणि एमएसएस मुख्य घड्याळ; MDDR घड्याळे
FDDR साठी, तुम्ही निर्दिष्ट करणे आवश्यक आहे:
- FDDR_CLK - DDR कंट्रोलरची ऑपरेटिंग फ्रिक्वेन्सी निर्धारित करते आणि तुमची बाह्य DDR मेमरी ज्या घड्याळावर चालवायची आहे त्या घड्याळाच्या वारंवारतेशी जुळली पाहिजे. लक्षात घ्या की हे घड्याळ M3_CLK (MSS आणि Cortex-M3 घड्याळ, आकृती 2-5) च्या मल्टिपल म्हणून परिभाषित केले आहे. FDDR_CLK 20 MHz आणि 333 MHz च्या आत असणे आवश्यक आहे.
- FDDR_SUBSYSTEM_CLK - ही घड्याळ वारंवारता FDDR_CLK चे गुणोत्तर म्हणून परिभाषित केली जाते आणि FDDR मध्ये प्रवेश करणारी FPGA फॅब्रिक उप-प्रणाली चालू असलेल्या वारंवारतेशी जुळली पाहिजे.
आकृती 2-6 • फॅब्रिक डीडीआर घड्याळे
SERDESIF कॉन्फिगरेशन
सिस्टीम बिल्डरने व्युत्पन्न केलेल्या डिझाइनमध्ये SERDESIF ब्लॉक्स इन्स्टंट केले जात नाहीत. तथापि, सर्व SERDESIF ब्लॉक्ससाठी, इनिशिएलायझेशन सिग्नल सिस्टम बिल्डर कोरच्या इंटरफेसवर उपलब्ध आहेत आणि आकृती 2-7 मध्ये दर्शविल्याप्रमाणे, पदानुक्रमाच्या पुढील स्तरावर SERDESIF कोरशी कनेक्ट केले जाऊ शकतात.आकृती 2-7 • SERDESIF परिधीय आरंभिकरण कनेक्टिव्हिटी
DDR कॉन्फिगरेशन रजिस्टर्सप्रमाणेच, प्रत्येक SERDES ब्लॉकमध्ये कॉन्फिगरेशन रजिस्टर्स देखील असतात जी रनटाइमवर लोड करणे आवश्यक आहे. तुमची PCIe किंवा EPCS पॅरामीटर्स एंटर करण्यासाठी तुम्ही एकतर ही रजिस्टर व्हॅल्यू इंपोर्ट करू शकता किंवा हाय स्पीड सीरियल इंटरफेस कॉन्फिग्युरेटर (आकृती 2-8) वापरू शकता आणि तुमच्यासाठी रजिस्टर व्हॅल्यू आपोआप गणल्या जातात. तपशीलांसाठी, पहा SERDES कॉन्फिगरेटर वापरकर्ता मार्गदर्शक.आकृती 2-8 • हाय स्पीड सीरियल इंटरफेस कॉन्फिगरेटर
एकदा तुम्ही तुमचे युजर लॉजिक सिस्टम बिल्डर ब्लॉक आणि SERDES ब्लॉकसह समाकलित केले की, तुम्ही तुमचा उच्च स्तराचा स्मार्टडिझाइन तयार करू शकता. हे सर्व एचडीएल आणि बीएफएम तयार करते files जे तुमच्या डिझाइनची अंमलबजावणी आणि अनुकरण करण्यासाठी आवश्यक आहेत. त्यानंतर तुम्ही उर्वरित डिझाइन फ्लोसह पुढे जाऊ शकता.
DDR आणि SERDESIF ब्लॉक्स वापरून डिझाईन तयार करण्यासाठी SmartDesign वापरणे
हा विभाग SmartFusion2 सिस्टीम बिल्डर न वापरता संपूर्ण 'इनिशियलायझेशन' सोल्यूशन एकत्र कसे ठेवायचे याचे वर्णन करतो. तुम्हाला सिस्टम बिल्डर वापरायचे नसल्यास तुम्हाला काय करण्याची आवश्यकता आहे हे समजण्यात मदत करण्याचा उद्देश आहे. सिस्टम बिल्डर टूल तुमच्यासाठी काय व्युत्पन्न करते हे देखील हा विभाग वर्णन करतो. हा विभाग कसा करावा याचे वर्णन करतो:
- DDR कंट्रोलर आणि SERDESIF कॉन्फिगरेशन रजिस्टरसाठी कॉन्फिगरेशन डेटा इनपुट करा.
- डीडीआर कंट्रोलर्स आणि SERDESIF कॉन्फिगरेशन रजिस्टर्समध्ये कॉन्फिगरेशन डेटा हस्तांतरित करण्यासाठी आवश्यक फॅब्रिक कोर इन्स्टंट करा आणि कनेक्ट करा.
DDR कंट्रोलर कॉन्फिगरेशन
MSS DDR (MDDR) आणि फॅब्रिक DDR (FDDR) नियंत्रक बाह्य DDR मेमरी कॉन्फिगरेशन आवश्यकता (DDR मोड, PHY रुंदी, बर्स्ट मोड, ECC, इ.) जुळण्यासाठी डायनॅमिकली (रनटाइमवर) कॉन्फिगर केले पाहिजेत. MDDR/FDDR कॉन्फिग्युरेटरमध्ये प्रविष्ट केलेला डेटा CMSIS SystemInit() फंक्शनद्वारे DDR कंट्रोलर कॉन्फिगरेशन रजिस्टरवर लिहिला जातो. विविध प्रकारचे कॉन्फिगरेशन डेटा प्रविष्ट करण्यासाठी कॉन्फिगरेटरकडे तीन भिन्न टॅब आहेत:
- सामान्य डेटा (DDR मोड, डेटा रुंदी, घड्याळ वारंवारता, ECC, फॅब्रिक इंटरफेस, ड्राइव्ह स्ट्रेंथ)
- मेमरी इनिशियलायझेशन डेटा (बर्स्ट लेन्थ, बर्स्ट ऑर्डर, टाइमिंग मोड, लेटन्सी इ.)
- मेमरी टाइमिंग डेटा
तुमच्या बाह्य DDR मेमरीच्या वैशिष्ट्यांचा संदर्भ घ्या आणि तुमच्या बाह्य DDR मेमरीच्या आवश्यकतांशी जुळण्यासाठी DDR कंट्रोलर कॉन्फिगर करा.
डीडीआर कॉन्फिगरेशनच्या तपशीलांसाठी, पहा SmartFusion2 MSS DDR कॉन्फिगरेशन वापरकर्ता मार्गदर्शक.
SERDESIF कॉन्फिगरेशन
SERDES कॉन्फिगर करण्यासाठी कॉन्फिगरेटर उघडण्यासाठी SmartDesign कॅनव्हासमधील SERDES ब्लॉकवर डबल-क्लिक करा (आकृती 3-1). तुम्ही एकतर ही रजिस्टर व्हॅल्यू इंपोर्ट करू शकता किंवा तुमचे PCIe किंवा EPCS पॅरामीटर्स एंटर करण्यासाठी SERDES कॉन्फिगरेटर वापरू शकता आणि तुमच्यासाठी रजिस्टर व्हॅल्यूची आपोआप गणना केली जाईल. तपशीलांसाठी, पहा SERDES कॉन्फिगरेटर वापरकर्ता मार्गदर्शक.आकृती 3-1 • हाय स्पीड सीरियल इंटरफेस कॉन्फिगरेटर
FPGA डिझाईन इनिशियलायझेशन सब-सिस्टम तयार करणे
DDR आणि SERDESIF ब्लॉक सुरू करण्यासाठी, तुम्ही FPGA फॅब्रिकमध्ये इनिशिएलायझेशन सबसिस्टम तयार करणे आवश्यक आहे. FPGA फॅब्रिक इनिशिएलायझेशन सबसिस्टम Cortex-M3 वरून DDR आणि SERDESIF कॉन्फिगरेशन रजिस्टर्समध्ये डेटा हलवते, या ब्लॉक्ससाठी आवश्यक रीसेट अनुक्रम व्यवस्थापित करते आणि जेव्हा हे ब्लॉक्स तुमच्या उर्वरित डिझाइनशी संवाद साधण्यासाठी तयार असतात तेव्हा सिग्नल करते. आरंभीकरण उपप्रणाली तयार करण्यासाठी, आपण हे करणे आवश्यक आहे:
- MSS मध्ये FIC_2 कॉन्फिगर करा
- CoreConfigP आणि CoreResetP कोर त्वरित आणि कॉन्फिगर करा
- ऑन-चिप 25/50MHz RC ऑसिलेटर इन्स्टंट करा
- सिस्टम रीसेट (SYSRESET) मॅक्रो इन्स्टंट करा
- हे घटक प्रत्येक पेरिफेरल कॉन्फिगरेशन इंटरफेस, घड्याळे, रीसेट आणि पीएलएल लॉक पोर्टशी कनेक्ट करा
MSS FIC_2 APB कॉन्फिगरेशन
MSS FIC_2 कॉन्फिगर करण्यासाठी:
- MSS कॉन्फिगरेटर (आकृती 2-3) वरून FIC_2 कॉन्फिगरेटर डायलॉग बॉक्स उघडा.
- Cortex-M3 वापरून इनिशियल पेरिफेरल्स निवडा.
- तुमच्या सिस्टमवर अवलंबून, खालीलपैकी एक किंवा दोन्ही चेकबॉक्स तपासा:
- एमएसएस डीडीआर
- फॅब्रिक DDR आणि/किंवा SERDES ब्लॉक्स - ओके क्लिक करा आणि MSS तयार करण्यासाठी पुढे जा (आपण आपल्या डिझाइन आवश्यकतांनुसार MSS पूर्णपणे कॉन्फिगर करेपर्यंत आपण ही क्रिया पुढे ढकलू शकता). FIC_2 पोर्ट (FIC_2_APB_MASTER, FIC_2_APB_M_PCLK आणि FIC_2_APB_M_RESET_N) आता MSS इंटरफेसवर उघड झाले आहेत आणि CoreConfigP आणि CoreResetP कोरशी कनेक्ट केले जाऊ शकतात.
आकृती 3-2 • MSS FIC_2 कॉन्फिगरेटर
CoreConfigP
CoreConfigP कॉन्फिगर करण्यासाठी:
- तुमच्या स्मार्टडिझाइनमध्ये CoreConfigP इन्स्टंट करा (सामान्यत: जेथे MSS इन्स्टंट केले जाते).
हा कोर लिबेरो कॅटलॉग (पेरिफेरल्स अंतर्गत) मध्ये आढळू शकतो. - कॉन्फिगरेटर उघडण्यासाठी कोरवर डबल-क्लिक करा.
- कोणते परिधीय सुरू करणे आवश्यक आहे हे निर्दिष्ट करण्यासाठी कोर कॉन्फिगर करा (आकृती 3-3)
आकृती 3-3 • CoreConfigP डायलॉग बॉक्स
CoreResetP
CoreResetP कॉन्फिगर करण्यासाठी:
- तुमच्या स्मार्टडिझाइनमध्ये CoreResetP इन्स्टंट करा (सामान्यत: जेथे MSS इन्स्टंट केले जाते).
हा कोर पेरिफेरल्स अंतर्गत लिबेरो कॅटलॉगमध्ये आढळू शकतो. - कॉन्फिगरेटर (आकृती 3-4) उघडण्यासाठी स्मार्टडिझाइन कॅनव्हासमधील कोरवर डबल-क्लिक करा.
- यावर कोर कॉन्फिगर करा:
- बाह्य रीसेट वर्तन निर्दिष्ट करा (EXT_RESET_OUT ठामपणे सांगितले). चार पर्यायांपैकी एक निवडा:
o EXT_RESET_OUT कधीही ठामपणे सांगितले जात नाही
o पॉवर अप रीसेट (POWER_ON_RESET_N) असा दावा केल्यास EXT_RESET_OUT असे प्रतिपादन केले जाते
o EXT_RESET_OUT लेलेलं
o पॉवर अप रीसेट (POWER_ON_RESET_N) किंवा FAB_RESET_N असा दावा केल्यास EXT_RESET_OUT निश्चित केले जाते
- डिव्हाइस व्हॉल्यूम निर्दिष्ट कराtage निवडलेले मूल्य व्हॉल्यूमशी जुळले पाहिजेtage तुम्ही Libero Project Settings डायलॉग बॉक्समध्ये निवडले आहे.
- तुम्ही तुमच्या डिझाइनमध्ये कोणते परिधीय वापरत आहात हे सूचित करण्यासाठी योग्य चेकबॉक्सेस तपासा.
- बाह्य DDR मेमरी सेटिंग वेळ निर्दिष्ट करा. तुमच्या ऍप्लिकेशनमध्ये (MDDR आणि FDDR) वापरल्या जाणार्या सर्व DDR मेमरींसाठी हे कमाल मूल्य आहे. हे पॅरामीटर कॉन्फिगर करण्यासाठी बाह्य DDR मेमरी विक्रेता डेटाशीटचा संदर्भ घ्या. 200us हे 2MHz वर चालणाऱ्या DDR3 आणि DDR200 मेमरींसाठी चांगले डीफॉल्ट मूल्य आहे. सिलिकॉनवर कार्यरत सिम्युलेशन आणि कार्यरत प्रणालीची हमी देण्यासाठी हे एक अतिशय महत्त्वाचे पॅरामीटर आहे. सेटलिंग वेळेसाठी चुकीचे मूल्य सिम्युलेशन एरर होऊ शकते. हे पॅरामीटर कॉन्फिगर करण्यासाठी DDR मेमरी विक्रेता डेटाशीट पहा.
- तुमच्या डिझाइनमधील प्रत्येक SERDES ब्लॉकसाठी, हे सूचित करण्यासाठी योग्य बॉक्स तपासा:
o PCIe वापरला जातो
o PCIe हॉट रिसेटसाठी समर्थन आवश्यक आहे
o PCIe L2/P2 साठी समर्थन आवश्यक आहे
टीप: जर तुम्ही 090 die(M2S090) वापरत असाल आणि तुमची रचना SERDESIF वापरत असेल, तर तुम्हाला खालीलपैकी कोणतेही चेकबॉक्स तपासण्याची गरज नाही: 'PCIe साठी वापरलेले', 'PCIe HotReset समर्थन समाविष्ट करा' आणि 'PCIe L2/P2 समर्थन समाविष्ट करा'. तुम्ही कोणतेही 090 नसलेले उपकरण वापरत असल्यास आणि एक किंवा अधिक SERDESIF ब्लॉक्स वापरत असल्यास, तुम्हाला योग्य SERDESIF विभागांतर्गत सर्व चार चेकबॉक्स तपासावे लागतील.
टीप: या कॉन्फिगरेटरमध्ये तुमच्यासाठी उपलब्ध असलेल्या पर्यायांच्या तपशीलांसाठी, CoreResetP हँडबुक पहा.
आकृती 3-4 • CoreResetPCconfigurator
25/50MHz ऑसिलेटर इन्स्टंटिएशन
CoreConfigP आणि CoreResetP ऑन-चिप 25/50MHz RC ऑसिलेटरद्वारे क्लॉक केले जातात. तुम्ही 25/50MHz ऑसिलेटर इन्स्टंट करणे आवश्यक आहे आणि ते या कोरशी जोडणे आवश्यक आहे.
- तुमच्या स्मार्टडिझाइनमध्ये चिप ऑसिलेटर कोर इन्स्टंट करा (सामान्यत: जेथे MSS इन्स्टंट केले जाते). हा कोर क्लॉक आणि मॅनेजमेंट अंतर्गत लिबेरो कॅटलॉगमध्ये आढळू शकतो.
- आकृती 3-5 मध्ये दर्शविल्याप्रमाणे, हा कोर अशा प्रकारे कॉन्फिगर करा की RC ऑसिलेटर FPGA फॅब्रिक चालवेल.
आकृती 3-5 • चिप ऑसिलेटर कॉन्फिगरेटर
सिस्टम रीसेट (SYSRESET) इन्स्टंटिएशन
SYSRESET मॅक्रो तुमच्या डिझाइनसाठी डिव्हाइस स्तर रीसेट कार्यक्षमता प्रदान करते. POWER_ON_RESET_N आउटपुट सिग्नल जेव्हाही चिप पॉवर अप केली जाते किंवा बाह्य पिन DEVRST_N एस्सर्टेड/डि-एसर्टेड असते (आकृती 3-6).
SYSRESET मॅक्रो तुमच्या SmartDesign मध्ये इन्स्टंट करा (सामान्यत: MSS इन्स्टंट केले जाते). हा मॅक्रो मॅक्रो लायब्ररी अंतर्गत लिबेरो कॅटलॉगमध्ये आढळू शकतो. या मॅक्रोचे कॉन्फिगरेशन आवश्यक नाही.
आकृती 3-6 • SYSRESET मॅक्रो
एकूणच कनेक्टिव्हिटी
तुम्ही तुमच्या डिझाइनमध्ये MSS, FDDR, SERDESIF, OSC, SYSRESET, CoreConfigP आणि CoreResetP कोर इन्स्टंट आणि कॉन्फिगर केल्यावर, तुम्हाला पेरिफेरल इनिशियलायझेशन सबसिस्टम तयार करण्यासाठी त्यांना जोडणे आवश्यक आहे. या दस्तऐवजातील कनेक्टिव्हिटीचे वर्णन सुलभ करण्यासाठी, ते CoreConfigP आणि CoreResetP संबंधित कनेक्शनशी संबंधित APB3 अनुरूप कॉन्फिगरेशन डेटा पथ कनेक्टिव्हिटीमध्ये मोडलेले आहे.
कॉन्फिगरेशन डेटा पथ कनेक्टिव्हिटी
आकृती 3-7 CoreConfigP ला MSS FIC_2 सिग्नल आणि पेरिफेरल्सच्या APB3 अनुरूप कॉन्फिगरेशन इंटरफेसशी कसे जोडायचे ते दाखवते.
तक्ता 3-1 • कॉन्फिगरेशन डेटा पथ पोर्ट/बीआयएफ कनेक्शन
पासून पोर्ट/बस इंटरफेस (BIF)/ घटक |
TO पोर्ट/बस इंटरफेस (BIF)/घटक |
||
APB S प्रीसेट N/ CoreConfigP | APB S प्रीसेट N/ SDIF<0/1/2/3> | एपीबी एस प्रीसेट एन/ एफडीडीआर |
MDDR APB S PRESE TN/MSS |
APB S PCLK/ CoreConfigP | APB S PCLK/SDIF | APB S PCLK/FDDR | MDDR APB S POLK/ MSS |
MDDR APBmslave/ CoreConfig | MDDR APB स्लेव्ह (BIF)/MSS | ||
SDIF<0/1/2/ 3> APBmslave/कॉन्फिग | APB स्लेव्ह (BIF)/ SDIF<0/1/2/3> | ||
FDDR APBmslave | APB स्लेव्ह (BIF)/ FDDR | ||
FIC 2 APBmmaster/ CoreConfigP | FIC 2 APB मास्टर/ एमएसएस |
आकृती 3-7 • FIC_2 APB3 उप-प्रणाली कनेक्टिव्हिटी
घड्याळे आणि कनेक्टिव्हिटी रीसेट करते
आकृती 3-8 CoreResetP ला बाह्य रीसेट स्त्रोत आणि परिधीयांच्या कोर रीसेट सिग्नलशी कसे जोडायचे ते दर्शविते. हे CoreResetP ला पेरिफेरल्सच्या क्लॉक सिंक्रोनायझेशन स्टेटस सिग्नल्स (PLL लॉक सिग्नल) शी कसे जोडायचे ते देखील दर्शवते. याव्यतिरिक्त, ते CoreConfigP आणि CoreResetP कसे जोडलेले आहेत ते दर्शविते.
आकृती 3-8 • कोर SF2 रिसेट सब-सिस्टम कनेक्टिव्हिटी
फर्मवेअर अनुप्रयोग तयार करणे आणि संकलित करणे
जेव्हा तुम्ही LiberoSoC (डिझाइन फ्लो विंडो> एक्सपोर्ट फर्मवेअर> एक्सपोर्ट फर्मवेअर) वरून फर्मवेअर एक्सपोर्ट करता, तेव्हा लिबेरो खालील व्युत्पन्न करते fileमध्ये s /firmware/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_clocks.h - हे file MSS CCC कॉन्फिगरेटरमध्ये परिभाषित केल्यानुसार MSS क्लॉक फ्रिक्वेन्सी समाविष्ट करते. या फ्रिक्वेन्सी CMSIS कोडद्वारे बर्याच MSS ड्रायव्हर्सना घड्याळाची अचूक माहिती प्रदान करण्यासाठी वापरली जातात ज्यांना त्यांच्या पेरिफेरल क्लॉक (PCLK) फ्रिक्वेन्सीमध्ये प्रवेश असणे आवश्यक आहे (उदा. MSS UART बॉड रेट डिव्हिजर्स हे बॉड रेट आणि PCLK फ्रिक्वेन्सीचे कार्य आहेत. ).
- sys_config_SERDESIF_ .c - SERDESIF_ समाविष्ट आहे SERDESIF_ दरम्यान प्रदान केलेला कॉन्फिगरेशन डेटा नोंदणी करा डिझाइन निर्मितीमध्ये ब्लॉक कॉन्फिगरेशन.
- sys_config_SERDESIF_ .ह – यामध्ये #define स्टेटमेंट असतात जे रजिस्टर कॉन्फिगरेशन जोड्यांची संख्या आणि PMA_READY (केवळ PCIe मोडमध्ये) साठी मतदान करणे आवश्यक असलेला लेन नंबर निर्दिष्ट करते.
या fileCMSIS कोड योग्यरितीने संकलित करण्यासाठी आणि तुमच्या सध्याच्या डिझाईनशी संबंधित माहिती, परिधीय कॉन्फिगरेशन डेटा आणि MSS साठी घड्याळ कॉन्फिगरेशन माहिती समाविष्ट करण्यासाठी आवश्यक आहे.
हे संपादित करू नका files स्वहस्ते; ते संबंधित घटक/पेरिफेरल डिरेक्टरीमध्ये प्रत्येक वेळी संबंधित घटक असलेले SmartDesign घटक तयार केले जातात. कोणत्याही परिधीयांच्या कॉन्फिगरेशन डेटामध्ये कोणतेही बदल केले असल्यास, आपल्याला फर्मवेअर प्रकल्प पुन्हा-निर्यात करणे आवश्यक आहे जेणेकरून अद्यतनित फर्मवेअर files (वरील यादी पहा) वर निर्यात केली जाते / फर्मवेअर/drivers_config/sys_config फोल्डर.
तुम्ही फर्मवेअर निर्यात करता तेव्हा, Libero SoC फर्मवेअर प्रकल्प तयार करते: एक लायब्ररी जिथे तुमचे डिझाइन कॉन्फिगरेशन files आणि ड्रायव्हर्स संकलित केले आहेत.
आपण तयार प्रकल्प तपासल्यास चेकबॉक्स तुम्ही फर्मवेअर एक्सपोर्ट करता तेव्हा, अॅप्लिकेशन प्रोजेक्ट ठेवण्यासाठी सॉफ्टवेअर SoftConsole/IAR/Keil प्रोजेक्ट तयार केला जातो जेथे तुम्ही main.c आणि वापरकर्ता C/H संपादित करू शकता. files CMSIS कोड योग्यरित्या संकलित करण्यासाठी SoftConSole/IAR/Keil प्रोजेक्ट उघडा आणि तुमच्या हार्डवेअर डिझाइनशी जुळण्यासाठी तुमचे फर्मवेअर अॅप्लिकेशन योग्यरित्या कॉन्फिगर केले आहे.
BFM Files डिझाइनचे अनुकरण करण्यासाठी वापरले जाते
जेव्हा तुम्ही तुमच्या डिझाईनशी संबंधित पेरिफेरल्स असलेले SmartDesign घटक व्युत्पन्न करता तेव्हा सिम्युलेशन files संबंधित परिधींशी संबंधित मध्ये व्युत्पन्न केले जातात /सिम्युलेशन निर्देशिका:
- test.bfm - उच्च-स्तरीय BFM file जे SmartFusion2 MSS Cortex-M3 प्रोसेसरचा वापर करणार्या कोणत्याही सिम्युलेशन दरम्यान प्रथम अंमलात आणले जाते. ते त्या क्रमाने peripheral_init.bfm आणि user.bfm कार्यान्वित करते.
- MDDR_init.bfm - तुमची रचना MDDR वापरत असल्यास, Libero हे जनरेट करते file; त्यात BFM लेखन आदेश आहेत जे तुम्ही प्रविष्ट केलेल्या MSS DDR कॉन्फिगरेशन रजिस्टर डेटाचे (Edit Registers डायलॉगबॉक्स वापरून किंवा MSS_MDDR GUI मध्ये) MSS DDR कंट्रोलर रजिस्टरमध्ये लिहिण्याचे अनुकरण करतात.
- FDDR_init.bfm - तुमची रचना FDDR वापरत असल्यास, Libero हे जनरेट करते file; त्यामध्ये BFM लेखन आदेश आहेत जे तुम्ही प्रविष्ट केलेल्या फॅब्रिक डीडीआर कॉन्फिगरेशन रजिस्टर डेटाचे अनुकरण करतात (एडिट रजिस्टर डायलॉगबॉक्स किंवा FDDR GUI मध्ये) फॅब्रिक डीडीआर कंट्रोलर रजिस्टरमध्ये.
- SERDESIF_ _init.bfm - तुमच्या डिझाइनमध्ये एक किंवा अधिक SERDESIF ब्लॉक्स वापरल्यास, Libero हे व्युत्पन्न करते file प्रत्येक SERDESIF_ साठी वापरलेले ब्लॉक; त्यामध्ये BFM लेखन आदेश आहेत जे तुम्ही प्रविष्ट केलेल्या SERDESIF कॉन्फिगरेशन रजिस्टर डेटाचे अनुकरण करतात (एडिट रजिस्टर डायलॉग बॉक्स वापरून किंवा SERDESIF_ मध्ये GUI) SERDESIF_ मध्ये नोंदणी SERDESIF ब्लॉक PCIe म्हणून कॉन्फिगर केले असल्यास, हे file काही #define विधाने देखील आहेत जी 2 रजिस्टर कॉन्फिगरेशन टप्प्यांच्या अंमलबजावणीला परिपूर्ण क्रमाने नियंत्रित करतात.
- user.bfm - वापरकर्ता आदेश समाविष्टीत आहे. peripheral_init.bfm पूर्ण झाल्यानंतर या आज्ञा कार्यान्वित केल्या जातात. हे संपादित करा file तुमच्या BFM आदेश प्रविष्ट करण्यासाठी.
- SERDESIF_ _user.bfm - वापरकर्ता आदेश समाविष्टीत आहे. हे संपादित करा file तुमच्या BFM आदेश प्रविष्ट करण्यासाठी. तुम्ही SERDESIF_ कॉन्फिगर केले असल्यास हे वापरा BFM PCIe सिम्युलेशन मोडमध्ये आणि AXI/AHBLite मास्टर म्हणून ब्लॉक करा. जर तुम्ही SERDESIF_ कॉन्फिगर केले असेल RTL सिम्युलेशन मोडमध्ये ब्लॉक करा, तुम्हाला याची गरज भासणार नाही file.
जेव्हा तुम्ही प्रत्येक वेळी सिम्युलेशन सुरू करता तेव्हा खालील दोन सिम्युलेशन files वर पुन्हा तयार केले जातात अद्ययावत सामग्रीसह / सिम्युलेशन निर्देशिका:
- subsystem.bfm - तुमच्या डिझाईनमध्ये वापरलेल्या प्रत्येक परिधीयसाठी #define स्टेटमेंट समाविष्ट करते, जे प्रत्येक परिधीशी संबंधित कार्यान्वित करण्यासाठी peripheral_init.bfm चा विशिष्ट विभाग निर्दिष्ट करते.
- operipheral_init.bfm – CMSIS:: SystemInit() फंक्शनचे अनुकरण करणारी BFM प्रक्रिया समाविष्ट आहे, जी तुम्ही मुख्य() प्रक्रिया प्रविष्ट करण्यापूर्वी Cortex-M3 वर चालते. हे डिझाइनमध्ये वापरल्या जाणार्या कोणत्याही पेरिफेरलसाठीचे कॉन्फिगरेशन डेटा योग्य परिधीय कॉन्फिगरेशन रजिस्टरवर कॉपी करते आणि नंतर तुम्ही हे पेरिफेरल्स वापरू शकता असे ठामपणे सांगण्यापूर्वी सर्व परिधीय तयार होण्याची प्रतीक्षा करते. हे MDDR_init.bfm आणि FDDR_init.bfm कार्यान्वित करते.
या व्युत्पन्न वापरून files, तुमच्या डिझाईनमधील DDR कंट्रोलर आपोआप कॉन्फिगर केले जातात, SmartFusion2 डिव्हाइसवर काय होईल याचे अनुकरण करून. तुम्ही user.bfm संपादित करू शकता file तुमच्या डिझाईनचे अनुकरण करण्यासाठी आवश्यक असलेली कोणतीही आज्ञा जोडण्यासाठी (Cortex-M3 हा मास्टर आहे). पेरिफेरल सुरू झाल्यानंतर या कमांड्स अंमलात आणल्या जातात. test.bfm, subsystem.bfm, peripheral_init.bfm, MDDR_init.bfm, FDDR_init.bfm संपादित करू नका files आणि SERDESIF_ _init.bfm files.
उत्पादन समर्थन
मायक्रोसेमी एसओसी उत्पादने समूह आपल्या उत्पादनांना ग्राहक सेवा, ग्राहक तांत्रिक सहाय्य केंद्र, यासह विविध समर्थन सेवांसह पाठींबा देतो. webसाइट, इलेक्ट्रॉनिक मेल आणि जगभरातील विक्री कार्यालये.
या परिशिष्टात Microsemi SoC उत्पादने समूहाशी संपर्क साधण्याबद्दल आणि या समर्थन सेवा वापरण्याबद्दल माहिती आहे.
ग्राहक सेवा
गैर-तांत्रिक उत्पादन समर्थनासाठी ग्राहक सेवेशी संपर्क साधा, जसे की उत्पादनाची किंमत, उत्पादन अपग्रेड, अपडेट माहिती, ऑर्डर स्थिती आणि अधिकृतता.
उत्तर अमेरिकेतून, कॉल करा 800.262.1060
उर्वरित जगातून, कॉल करा 650.318.4460
जगातील कोठूनही फॅक्स, 408.643.6913
ग्राहक तांत्रिक सहाय्य केंद्र
मायक्रोसेमी एसओसी उत्पादने समूह आपल्या ग्राहक तांत्रिक सहाय्य केंद्रामध्ये उच्च कुशल अभियंते आहेत जे आपल्या हार्डवेअर, सॉफ्टवेअर आणि मायक्रोसेमी एसओसी उत्पादनांबद्दलच्या डिझाइन प्रश्नांची उत्तरे देण्यात मदत करू शकतात. ग्राहक तांत्रिक सहाय्य केंद्र अनुप्रयोग नोट्स, सामान्य डिझाइन सायकल प्रश्नांची उत्तरे, ज्ञात समस्यांचे दस्तऐवजीकरण आणि विविध FAQ तयार करण्यात बराच वेळ घालवते. म्हणून, आपण आमच्याशी संपर्क साधण्यापूर्वी, कृपया आमच्या ऑनलाइन संसाधनांना भेट द्या. आम्ही तुमच्या प्रश्नांची उत्तरे आधीच दिली असण्याची शक्यता आहे.
तांत्रिक सहाय्य
ग्राहक समर्थनाला भेट द्या webजागा (www.microsemi.com/soc/support/search/default.aspx) अधिक माहिती आणि समर्थनासाठी. शोधण्यायोग्य वर अनेक उत्तरे उपलब्ध आहेत web संसाधनामध्ये आकृत्या, चित्रे आणि इतर संसाधनांचे दुवे समाविष्ट आहेत webसाइट
Webसाइट
तुम्ही SoC मुख्यपृष्ठावर विविध तांत्रिक आणि गैर-तांत्रिक माहिती ब्राउझ करू शकता, येथे www.microsemi.com/soc.
ग्राहक तांत्रिक सहाय्य केंद्राशी संपर्क साधणे
तांत्रिक सहाय्य केंद्रामध्ये उच्च कुशल अभियंते कर्मचारी. तांत्रिक सहाय्य केंद्राशी ईमेलद्वारे किंवा मायक्रोसेमी SoC उत्पादने गटाद्वारे संपर्क साधला जाऊ शकतो webसाइट
ईमेल
तुम्ही तुमचे तांत्रिक प्रश्न आमच्या ईमेल पत्त्यावर कळवू शकता आणि ईमेल, फॅक्स किंवा फोनद्वारे उत्तरे मिळवू शकता. तसेच, तुम्हाला डिझाइन समस्या असल्यास, तुम्ही तुमचे डिझाइन ईमेल करू शकता files मदत प्राप्त करण्यासाठी.
आम्ही दिवसभर ईमेल खात्याचे सतत निरीक्षण करतो. आम्हाला तुमची विनंती पाठवताना, कृपया तुमच्या विनंतीवर कार्यक्षम प्रक्रिया करण्यासाठी तुमचे पूर्ण नाव, कंपनीचे नाव आणि तुमची संपर्क माहिती समाविष्ट करण्याचे सुनिश्चित करा.
तांत्रिक समर्थन ईमेल पत्ता आहे soc_tech@microsemi.com.
माझी प्रकरणे
मायक्रोसेमी एसओसी प्रॉडक्ट्स ग्रुपचे ग्राहक येथे जाऊन ऑनलाइन तांत्रिक प्रकरणे सबमिट करू शकतात आणि ट्रॅक करू शकतात माझी प्रकरणे.
यूएस बाहेर
यूएस टाइम झोनच्या बाहेर सहाय्याची आवश्यकता असलेले ग्राहक एकतर ईमेलद्वारे तांत्रिक समर्थनाशी संपर्क साधू शकतात (soc_tech@microsemi.com) किंवा स्थानिक विक्री कार्यालयाशी संपर्क साधा. विक्री कार्यालय सूची येथे आढळू शकते www.microsemi.com/soc/company/contact/default.aspx.
ITAR तांत्रिक सहाय्य
इंटरनॅशनल ट्रॅफिक इन आर्म्स रेग्युलेशन (ITAR) द्वारे नियंत्रित केलेल्या RH आणि RT FPGA वरील तांत्रिक समर्थनासाठी, आमच्याशी संपर्क साधा soc_tech_itar@microsemi.com. वैकल्पिकरित्या, माझ्या केसेसमध्ये, ITAR ड्रॉप-डाउन सूचीमध्ये होय निवडा. ITAR-नियमित मायक्रोसेमी FPGA च्या संपूर्ण यादीसाठी, ITAR ला भेट द्या web पृष्ठ
मायक्रोसेमी कॉर्पोरेशन (NASDAQ: MSCC) यासाठी सेमीकंडक्टर सोल्यूशन्सचा सर्वसमावेशक पोर्टफोलिओ ऑफर करते: एरोस्पेस, संरक्षण आणि सुरक्षा; एंटरप्राइझ आणि संप्रेषण; आणि औद्योगिक आणि पर्यायी ऊर्जा बाजार. उत्पादनांमध्ये उच्च-कार्यक्षमता, उच्च-विश्वसनीयता अॅनालॉग आणि RF उपकरणे, मिश्रित सिग्नल आणि RF एकात्मिक सर्किट्स, सानुकूल करण्यायोग्य SoCs, FPGAs आणि संपूर्ण उपप्रणाली समाविष्ट आहेत. Microsemi चे मुख्यालय Aliso Viejo, Calif येथे आहे. येथे अधिक जाणून घ्या www.microsemi.com.
© 2014 मायक्रोसेमी कॉर्पोरेशन. सर्व हक्क राखीव. मायक्रोसेमी आणि मायक्रोसेमी लोगो हे मायक्रोसेमी कॉर्पोरेशनचे ट्रेडमार्क आहेत. इतर सर्व ट्रेडमार्क आणि सेवा चिन्ह त्यांच्या संबंधित मालकांची मालमत्ता आहेत.
5-02-00384-1/08.14मायक्रोसेमी कॉर्पोरेट मुख्यालय
One Enterprise, Aliso Viejo CA 92656 USA
यूएसए मध्ये: +1 ५७४-५३७-८९००
विक्री: +1 ५७४-५३७-८९००
फॅक्स: +1 ५७४-५३७-८९००
कागदपत्रे / संसाधने
![]() |
Microsemi SmartFusion2 DDR कंट्रोलर आणि सीरियल हाय स्पीड कंट्रोलर [pdf] वापरकर्ता मार्गदर्शक SmartFusion2 DDR कंट्रोलर आणि सिरीयल हाय स्पीड कंट्रोलर, SmartFusion2 DDR, कंट्रोलर आणि सीरियल हाय स्पीड कंट्रोलर, हाय स्पीड कंट्रोलर |