यूजी0837
उपयोगकर्ता गाइड
IGLOO2 और SmartFusion2 FPGA
सिस्टम सेवा सिमुलेशन
जून 2018
संशोधन इतिहास
संशोधन इतिहास दस्तावेज़ में लागू किए गए परिवर्तनों का वर्णन करता है। परिवर्तनों को संशोधन के अनुसार सूचीबद्ध किया गया है, जो सबसे हालिया प्रकाशन से शुरू होता है।
1.1 संशोधन 1.0
संशोधन 1.0 जून 2018 में प्रकाशित हुआ था। यह इस दस्तावेज़ का पहला प्रकाशन था।
IGLOO2 और SmartFusion2 FPGA सिस्टम सर्विसेज सिमुलेशन
SmartFusion®2 FPGA परिवार के सिस्टम सर्विसेज ब्लॉक में विभिन्न कार्यों के लिए जिम्मेदार सेवाओं का संग्रह है। इनमें सिमुलेशन संदेश सेवाएँ, डेटा पॉइंटर सेवाएँ और डेटा डिस्क्रिप्टर सेवाएँ शामिल हैं। SmartFusion3 में Cortex-M2 के माध्यम से और SmartFusion2 और IGLOO®2 दोनों के लिए FPGA फैब्रिक से फैब्रिक इंटरफेस कंट्रोलर (FIC) के माध्यम से सिस्टम सेवाओं तक पहुँचा जा सकता है। इन एक्सेस विधियों को COMM_BLK के माध्यम से सिस्टम कंट्रोलर को भेजा जाता है। COMM_BLK में एक उन्नत परिधीय बस (APB) इंटरफ़ेस है और सिस्टम नियंत्रक के साथ डेटा का आदान-प्रदान करने के लिए एक संदेश पासिंग कंड्यूट के रूप में कार्य करता है। सिस्टम सेवा अनुरोध सिस्टम नियंत्रक को भेजे जाते हैं और सिस्टम सेवा प्रतिक्रियाएँ COMM BLK के माध्यम से CoreSysService को भेजी जाती हैं। COMM_BLK के लिए पता स्थान माइक्रोकंट्रोलर सब-सिस्टम (MSS)/हाई परफॉर्मेंस मेमोरी सबसिस्टम (HPMS) के अंदर उपलब्ध है। विवरण के लिए, UG0450 देखें: SmartFusion2 SoC और IGLOO2 FPGA सिस्टम कंट्रोलर।
उपयोगकर्ता गाइड
निम्नलिखित चित्रण सिस्टम सेवाओं के डेटा प्रवाह को दर्शाता है।
चित्र 1 • सिस्टम सेवा डेटा प्रवाह आरेखIGLOO2 और SmartFusion2 सिस्टम सर्विस सिम्युलेशन दोनों के लिए, आपको सिस्टम सर्विस रिक्वेस्ट भेजने और सिस्टम सर्विस रिस्पांस की जांच करने की जरूरत है ताकि यह सत्यापित किया जा सके कि सिम्युलेशन सही है। सिस्टम कंट्रोलर तक पहुँचने के लिए यह चरण आवश्यक है, जो सिस्टम सेवाएँ प्रदान करता है। IGLOO2 और SmartFusion2 उपकरणों के लिए सिस्टम कंट्रोलर से लिखने और पढ़ने का तरीका अलग है। SmartFusion2 के लिए, Coretex-M3 उपलब्ध है और आप बस फंक्शनल मॉडल (BFM) कमांड का उपयोग करके सिस्टम कंट्रोलर से लिख और पढ़ सकते हैं। IGLOO2 के लिए, Cortex-M3 उपलब्ध नहीं है और सिस्टम कंट्रोलर BFM कमांड का उपयोग करके एक्सेस नहीं किया जा सकता है।
2.1 उपलब्ध सिस्टम सेवाओं के प्रकार
तीन अलग-अलग प्रकार की सिस्टम सेवाएँ उपलब्ध हैं और प्रत्येक प्रकार की सेवा के अलग-अलग उप-प्रकार हैं।
सिमुलेशन संदेश सेवाएं
डेटा सूचक सेवाएं
डेटा डिस्क्रिप्टर सेवाएं
इस गाइड का परिशिष्ट-सिस्टम सेवा प्रकार (पृष्ठ 19 देखें) अध्याय विभिन्न प्रकार की सिस्टम सेवाओं का वर्णन करता है। सिस्टम सेवाओं के बारे में अधिक जानकारी के लिए, UG0450 देखें: SmartFusion2 SoC और IGLOO2 FPGA सिस्टम कंट्रोलर यूज़र गाइड।
2.2 IGLOO2 सिस्टम सर्विस सिमुलेशन
सिस्टम सेवाओं में सिस्टम कंट्रोलर से लिखना और पढ़ना शामिल है। सिमुलेशन उद्देश्यों के लिए सिस्टम नियंत्रक से लिखने और पढ़ने के लिए, आपको निम्न चरणों का पालन करने की आवश्यकता है।
- SmartDesign कैटलॉग में उपलब्ध CoreSysServices सॉफ्ट IP कोर को इंस्टेंट करें।
- एक परिमित राज्य मशीन (एफएसएम) के लिए एचडीएल कोड लिखें।
HDL FSM CoreSysServices Core के साथ इंटरफेस करता है, जो AHBLite बस के फैब्रिक मास्टर के रूप में कार्य करता है। CoreSysServices कोर COMM BLK के लिए सिस्टम सेवा अनुरोध आरंभ करता है और FIC_0/1, फैब्रिक इंटरफ़ेस नियंत्रक के माध्यम से COMM BLK से सिस्टम सेवा प्रतिक्रिया प्राप्त करता है, जैसा कि निम्नलिखित उदाहरण में दिखाया गया है।
चित्र 2 • IGLOO2 सिस्टम सर्विसेज सिमुलेशन टोपोलॉजी2.3 SmartFusion2 सिस्टम सर्विस सिमुलेशन
SmartFusion2 उपकरणों में सिस्टम सेवाओं का अनुकरण करने के लिए, आपको सिस्टम नियंत्रक से लिखने और पढ़ने की आवश्यकता है। सिमुलेशन उद्देश्यों के लिए सिस्टम कंट्रोलर तक पहुंचने के लिए दो विकल्प उपलब्ध हैं।
विकल्प 1 — CoreSysService सॉफ्ट IP कोर के साथ इंटरफेस करने के लिए एक FSM के लिए HDL कोड लिखें, जो AHBLite फैब्रिक मास्टर के रूप में कार्य करता है और COMM BLK के लिए सिस्टम सर्विस रिक्वेस्ट शुरू करता है और FIC_0/1 फैब्रिक के माध्यम से COMM BLK से सिस्टम सर्विस रिस्पॉन्स प्राप्त करता है। इंटरफ़ेस जैसा कि निम्नलिखित चित्रण में दिखाया गया है।
चित्र 3 • SmartFusion2 सिस्टम सेवा सिमुलेशन टोपोलॉजी
विकल्प 2 — जैसा कि Cortex-M3 SmartFusion2 उपकरणों के लिए उपलब्ध है, आप सिस्टम कंट्रोलर के मेमोरी स्पेस से सीधे लिखने और पढ़ने के लिए BFM कमांड का उपयोग कर सकते हैं।
बीएफएम कमांड (विकल्प 2) का उपयोग एफएसएम के लिए एचडीएल कोड लिखने की आवश्यकता को बचाता है। इस उपयोगकर्ता मार्गदर्शिका में, विकल्प 2 का उपयोग SmartFusion2 में सिस्टम सेवाओं के अनुकरण को दिखाने के लिए किया जाता है। इस विकल्प के साथ, जब आप अपने BFM कमांड लिखते हैं तो COMM BLK और फैब्रिक इंटरफ़ेस इंटरप्ट कंट्रोलर (FIIC) ब्लॉक के मेमोरी मैप का पता लगाने के लिए सिस्टम कंट्रोलर के मेमोरी स्पेस तक पहुँचा जाता है।
2.4 सिमुलेशन पूर्वampलेस
उपयोगकर्ता गाइड में निम्नलिखित सिमुलेशन शामिल हैं।
- IGLOO2 सीरियल नंबर सर्विस सिमुलेशन (पेज 5 देखें)
- SmartFusion2 सीरियल नंबर सर्विस सिमुलेशन (पेज 8 देखें)
- IGLOO2 ज़ीरोइज़ेशन सर्विस सिमुलेशन (पेज 13 देखें)
- SmartFusion2 Zeroization सर्विस सिमुलेशन (पेज 16 देखें)
अन्य सिस्टम सेवाओं पर समान अनुकरण विधियों को लागू किया जा सकता है। उपलब्ध विभिन्न सिस्टम सेवाओं की पूरी सूची के लिए, परिशिष्ट - सिस्टम सेवाओं के प्रकार (पृष्ठ 19 देखें) पर जाएँ।
2.5 IGLOO2 सीरियल नंबर सर्विस सिमुलेशन
IGLOO2 सीरियल नंबर सर्विस सिमुलेशन के लिए तैयार करने के लिए, निम्नानुसार चरणों का पालन करें।
- अपना एचपीएमएस ब्लॉक बनाने के लिए सिस्टम बिल्डर को आमंत्रित करें।
- डिवाइस फीचर पेज में एचपीएमएस सिस्टम सर्विसेज चेकबॉक्स को चेक करें। यह सिस्टम निर्माता को HPMS_FIC_0 SYS_SERVICES_MASTER बस इंटरफ़ेस (BIF) प्रदर्शित करने का निर्देश देगा।
- अन्य सभी चेकबॉक्स को अनचेक छोड़ दें।
- अन्य सभी पेजों में डिफ़ॉल्ट स्वीकार करें और सिस्टम बिल्डर ब्लॉक को पूरा करने के लिए समाप्त पर क्लिक करें। Libero® SoC के HDL संपादक में, FSM के लिए HDL कोड लिखें (File > नया > एचडीएल) . अपने एफएसएम में निम्नलिखित तीन राज्यों को शामिल करें।
आईएनआईटी राज्य (प्रारंभिक राज्य)
SERV_PHASE (सेवा अनुरोध स्थिति)
RSP_PHASE (सेवा प्रतिक्रिया स्थिति)।
निम्नलिखित आंकड़ा एफएसएम के तीन राज्यों को दर्शाता है।
चित्र 4 • तीन-राज्य FSM FSM के लिए अपने HDL कोड में, INIT स्थिति से सेवा अनुरोध स्थिति दर्ज करने के लिए सही कमांड कोड ("01" सीरियल नंबर सेवा के लिए हेक्स) का उपयोग करें।
- अपना एचडीएल बचाएं file. FSM डिज़ाइन पदानुक्रम में एक घटक के रूप में प्रकट होता है।
- स्मार्टडिजाइन खोलें। अपने शीर्ष-स्तरीय सिस्टम बिल्डर ब्लॉक और अपने FSM ब्लॉक को SmartDesign कैनवास में खींचें और छोड़ें। कैटलॉग से, CoreSysService सॉफ्ट IP कोर को SmartDesign कैनवास में ड्रैग और ड्रॉप करें।
- विन्यासकर्ता को खोलने के लिए CoreSysService सॉफ्ट IP कोर पर राइट-क्लिक करें। सीरियल नंबर सर्विस चेकबॉक्स को चेक करें (डिवाइस और डिज़ाइन सूचना सेवाओं के तहत
समूह) सीरियल नंबर सेवा को सक्षम करने के लिए। - अन्य सभी चेकबॉक्स को अनचेक छोड़ दें। विन्यासकर्ता से बाहर निकलने के लिए ठीक क्लिक करें।
चित्र 5 • CoreSysServices सॉफ्ट IP कोर विन्यासकर्ता
- सिस्टम बिल्डर ब्लॉक के HPMS_FIC_0 SYS_SERVICES_MASTER BIF को CoreSysService ब्लॉक के AHBL_MASTER BIF से कनेक्ट करें।
- अपने HDL FSM ब्लॉक के आउटपुट को CoreSysService सॉफ्ट IP कोर के इनपुट से कनेक्ट करें। स्मार्टडिजाइन कैनवास में अन्य सभी कनेक्शन बनाएं जैसा कि निम्नलिखित चित्र में दिखाया गया है।
चित्र 6 • HDL ब्लॉक, CoreSysServices सॉफ्ट IP और HPMS ब्लॉक के साथ SmartDesign कैनवास - SmartDesign कैनवास में, शीर्ष स्तर की डिज़ाइन बनाने के लिए राइट-क्लिक >जनरेट घटक करें।
- डिजाइन पदानुक्रम में view, शीर्ष स्तर के डिज़ाइन पर राइट-क्लिक करें और Create Testbench > HDL चुनें।
- टेक्स्ट बनाने के लिए टेक्स्ट एडिटर का उपयोग करें file "status.txt" नाम दिया गया है।
- सिस्टम सर्विस के लिए कमांड और 128-बिट सीरियल नंबर शामिल करें। अधिक जानकारी के लिए, तालिका 1 (सिस्टम सर्विसेज कमांड/प्रतिक्रिया मान) में देखें CoreSysServices v3.1 हैंडबुक विभिन्न सिस्टम सेवाओं के लिए उपयोग किए जाने वाले कमांड कोड (हेक्स) के लिए। सीरियल नंबर सेवा के लिए, कमांड कोड "01" हेक्स है।
Status.txt का प्रारूप file क्रम संख्या सेवा के लिए इस प्रकार है।
<2 हेक्स अंक सीएमडी> <32 हेक्स अंक सीरियल नंबर>
Example: 01A1A2A3A4B1B2B3B4C1C2C3C4D1D2D3D4
Status.txt को सेव करें file आपके प्रोजेक्ट के सिमुलेशन फ़ोल्डर में। डिजाइन अब अनुकरण के लिए तैयार है।
एक बार जब सेवा का निष्पादन शुरू हो जाता है, तो मॉडलसिम ट्रांसक्रिप्ट विंडो में गंतव्य स्थान और सीरियल नंबर का संकेत देने वाला एक संदेश प्रदर्शित होता है, जैसा कि निम्नलिखित चित्र में दिखाया गया है।
चित्र 7 • मॉडलसिम सिमुलेशन ट्रांसक्रिप्ट विंडोसिस्टम नियंत्रक सीरियल नंबर के साथ पते पर एएचबी लिखता है। सेवा के पूरा होने पर, COMM_BLK के RXFIFO को सेवा प्रतिक्रिया के साथ लोड किया जाएगा।
नोट: विभिन्न सिस्टम सेवाओं के लिए उपयोग किए जाने वाले कमांड कोड की पूरी सूची के लिए, CoreSysServices v1 हैंडबुक या UG3.1: SmartFusion0450 SoC और IGLOO2 FPGA सिस्टम कंट्रोलर यूजर गाइड में तालिका 2 (सिस्टम सर्विसेज कमांड/रिस्पांस वैल्यू) देखें।
2.6 SmartFusion2 सीरियल नंबर सर्विस सिमुलेशन
इस उपयोगकर्ता मार्गदर्शिका में, सिस्टम सेवा के लिए सिस्टम नियंत्रक तक पहुँचने के लिए BFM कमांड (विकल्प 2) का उपयोग किया जाता है। BFM कमांड का उपयोग किया जाता है क्योंकि Cortex-M3 प्रोसेसर BFM सिमुलेशन के लिए डिवाइस पर उपलब्ध है। एक बार जब आप COMM_BLK की मेमोरी मैपिंग जान लेते हैं, तो BFM कमांड आपको सीधे COMM BLK पर लिखने और उससे पढ़ने की अनुमति देता है।
SmartFusion2 सीरियल नंबर सेवा सिमुलेशन के लिए अपना डिज़ाइन तैयार करने के लिए, निम्न चरणों का पालन करें।
- MSS को कैटलॉग से अपने प्रोजेक्ट के डिज़ाइन कैनवास पर खींचें और छोड़ें।
- MSS_CCC, रीसेट कंट्रोलर, इंटरप्ट मैनेजमेंट, और FIC_0, FIC_1 और FIC_2 को छोड़कर सभी MSS बाह्य उपकरणों को अक्षम करें।
- फैब्रिक इंटरप्ट के लिए एमएसएस का उपयोग करने के लिए इंटरप्ट प्रबंधन को कॉन्फ़िगर करें।
- क्रमांक.bfm तैयार करें file टेक्स्ट एडिटर में या लिबरो के एचडीएल एडिटर में। क्रमांक.बीएफएम सहेजें file प्रोजेक्ट के सिमुलेशन फ़ोल्डर में। सीरियल नंबर.बीएफएम में निम्नलिखित विवरण शामिल होने चाहिए।
COMM BLK (CMBLK) के लिए मेमोरी मैपिंग
• मेमरी मैपिंग टू इंटरप्ट मैनेजमेंट पेरिफेरल (FIIC)
• सीरियल नंबर सिस्टम सर्विस रिक्वेस्ट ("01" हेक्स) के लिए कमांड
• सीरियल नंबर के स्थान के लिए पता
एक पूर्वampसीरियल नंबर.बीएफएम का ले file इस प्रकार है.
मेममैप FIIC 0x40006000; # मेमोरी मैपिंग टू इंटरप्ट मैनेजमेंट
मेममैप सीएमबीएलके 0x40016000; #मेमोरी मैपिंग टू COMM BLK
मेममैप DESCRIPTOR_ADDR 0x20000000; # क्रम संख्या के लिए पता स्थान
# कमांड कोड हेक्साडेसिमल में
निरंतर सीएमडी 0x1 # सीरियल नंबर सेवा के लिए कॉमांड कोड
#FIIC कॉन्फ़िगरेशन रजिस्टर
निरंतर FICC_INTERRUPT_ENABLE0 0x0
#COMM_BLK कॉन्फ़िगरेशन रजिस्टर
निरंतर नियंत्रण 0x00
स्थिर स्थिति 0x04
निरंतर INT_ENABLE 0x08
निरंतर DATA8 0x10
निरंतर DATA32 0x14
स्थिर FRAME_START8 0x18
स्थिर FRAME_START32 0x1C
प्रक्रिया क्रमांक;
इंट एक्स;
w FIIC FICC_INTERRUPT_ENABLE0 0x20000000 #Configure लिखें
#FICC_INTERRUPT_ENABLE0 # COMBLK_INTR को सक्षम करने के लिए पंजीकरण करें #
#COMM_BLK ब्लॉक से फैब्रिक में रुकावट
# अनुरोध चरण
लिखें w CMBLK नियंत्रण 0x10 # COMM BLK नियंत्रण कॉन्फ़िगर करें #इसमें पंजीकृत करें
COMM BLK इंटरफ़ेस पर स्थानान्तरण सक्षम करें
राइट w CMBLK INT_ENABLE 0x1 # COMM BLK इंटरप्ट इनेबल को कॉन्फ़िगर करें
TXTOKAY के लिए इंटरप्ट को सक्षम करने के लिए #Register करें (संबंधित बिट
#स्थिति रजिस्टर)
Waitint 19 # COMM BLK इंटरप्ट के लिए प्रतीक्षा करें, यहाँ #BFM प्रतीक्षा करता है
#जब तक COMBLK_INTR निश्चित नहीं हो जाता
readstore w CMBLK STATUS x # #TXTOKAY के लिए COMM BLK स्थिति रजिस्टर पढ़ें
# बाधा डालना
xx और 0x1 सेट करें
यदि x
w CMBLK FRAME_START8 CMD # लिखें COMM BLK FRAME_START8 कॉन्फ़िगर करें
#क्रम संख्या सेवा का अनुरोध करने के लिए पंजीकरण करें
अंतयदि
अंतयदि
Waitint 19 # COMM BLK इंटरप्ट के लिए प्रतीक्षा करें, यहाँ
#BFM COMBLK_INTR के घोषित होने तक प्रतीक्षा करता है
readstore w CMBLK स्थिति x # पढ़ें COMM BLK स्थिति रजिस्टर के लिए
#TXTOKAY व्यवधान
xx और 0x1 सेट करें
xx और 0x1 सेट करें
यदि x
W CMBLK नियंत्रण लिखें 0x14 #COMM BLK नियंत्रण कॉन्फ़िगर करें
#COMM BLK इंटरफ़ेस पर स्थानान्तरण सक्षम करने के लिए पंजीकरण करें
w CMBLK DATA32 DESCRIPTOR_ADDR लिखें
w CMBLK INT_ENABLE 0x80 लिखें
सीएमबीएलके नियंत्रण 0x10 लिखें
अंतयदि
प्रतीक्षा करें 20
#प्रतिक्रिया चरण
प्रतीक्षा 19
रीडस्टोर डब्ल्यू सीएमबीएलके स्थिति एक्स
xx और 0x80 सेट करें
यदि x
CMBLK FRAME_START8 CMD को फिर से जांचें
w CMBLK INT_ENABLE 0x2 लिखें
अंतयदि
प्रतीक्षा 19
रीडस्टोर डब्ल्यू सीएमबीएलके स्थिति एक्स
xx और 0x2 सेट करें
यदि x
रीडचेक डब्ल्यू सीएमबीएलके डेटा 8 0x0
सीएमबीएलके नियंत्रण 0x18 लिखें
अंतयदि
प्रतीक्षा 19
रीडचेक डब्ल्यू एफआईआईसी 0x8 0x20000000
रीडस्टोर डब्ल्यू सीएमबीएलके स्थिति एक्स
xx और 0x2 सेट करें
यदि x
CMBLK DATA32 DESCRIPTOR_ADDR को फिर से जांचें
अंतयदि
रीडचेक w DESCRIPTOR_ADDR 0x0 0xE1E2E3E4; एस/एन की जांच के लिए #रीडचेक करें
रीडचेक w DESCRIPTOR_ADDR 0x4 0xC1C2C3C4; एस/एन की जांच के लिए #रीडचेक करें
रीडचेक w DESCRIPTOR_ADDR 0x8 0xB1B2B3B4; एस/एन की जांच के लिए #रीडचेक करें
रीडचेक w DESCRIPTOR_ADDR 0xC 0xA1A2A3A4; एस/एन की जांच के लिए #रीडचेक करें
वापस करना - स्थिति बनाएँ। TXT file लिबरो के एचडीएल संपादक या किसी पाठ संपादक में। सीरियल नंबर सिस्टम सर्विस कमांड (हेक्स में "01") और सीरियल नंबर को स्थिति में शामिल करें। TXT file. सही कमांड कोड का उपयोग करने के लिए CoreSysServices v3.1 हैंडबुक देखें।
- इसका वाक्य-विन्यास file सीरियल नंबर सर्विस के लिए, <2 हेक्स डिजिट सीएमडी> <32 हेक्स डिजिट सीरियल नंबर> है। पूर्वample: 01A1A2A3A4B1B2B3B4C1C2C3C4E1E2E3E4.
- स्थिति .txt सहेजें file प्रोजेक्ट के सिमुलेशन फ़ोल्डर में।
- क्रम संख्या शामिल करने के लिए उपयोगकर्ता .bfm (सिमुलेशन फ़ोल्डर के अंदर स्थित) को संपादित करें। bfm file और निम्नलिखित कोड स्निपेट में दिखाए गए क्रम संख्या प्रक्रिया को कॉल करें।
"serialnum.bfm" शामिल करें #serialnum.bfm शामिल करें
प्रक्रिया user_main;
प्रिंट "जानकारी: सिमुलेशन प्रारंभ";
प्रिंट "जानकारी: सेवा कमांड कोड दशमलव में:% 0d", सीएमडी;
कॉल क्रमांक; # क्रमांक प्रक्रिया को कॉल करें
प्रिंट "जानकारी: सिमुलेशन समाप्त होता है";
वापस करना - डिजाइन पदानुक्रम में view, टेस्टबेंच जनरेट करें (राइट-क्लिक करें, टॉप लेवल डिज़ाइन > क्रिएट टेस्टबेंच > एचडीएल) और आप सीरियल नंबर सर्विस सिमुलेशन चलाने के लिए तैयार हैं।
एक बार जब सेवा का निष्पादन शुरू हो जाता है, तो गंतव्य स्थान और सीरियल नंबर का संकेत देने वाला एक संदेश प्रदर्शित होता है। सिस्टम नियंत्रक सीरियल नंबर के साथ पते पर एएचबी लिखता है। सेवा के पूरा होने पर, COMM_BLK के RXFIFO को सेवा प्रतिक्रिया के साथ लोड किया जाएगा। ModelSim ट्रांस्क्रिप्ट विंडो निम्नलिखित चित्र में दिखाए गए पते और प्राप्त क्रम संख्या को प्रदर्शित करती है।
चित्र 8 • ModelSim ट्रांसक्रिप्ट विंडो में SmartFusion2 सीरियल नंबर सर्विस सिमुलेशन
2.7 IGLOO2 ज़ीरोइज़ेशन सर्विस सिमुलेशन
IGLOO2 शून्यकरण सेवा सिमुलेशन के लिए तैयार करने के लिए, निम्न चरणों का पालन करें।
- HPMS ब्लॉक बनाने के लिए सिस्टम बिल्डर को आमंत्रित करें। डिवाइस फीचर SYS_SERVICES_MASTER BIF में HPMS सिस्टम सर्विसेज चेकबॉक्स को चेक करें। अन्य सभी चेकबॉक्स को अनचेक छोड़ दें। अन्य सभी पेजों में डिफ़ॉल्ट स्वीकार करें और पेज पर क्लिक करें। यह सिस्टम बिल्डर को सिस्टम बिल्डर ब्लॉक के कॉन्फ़िगरेशन को पूरा करने के लिए HPMS_FIC_0 फिनिश को उजागर करने का निर्देश देता है।
- Libero SoC के HDL संपादक में, FSM के लिए HDL कोड लिखें। एफएसएम के लिए अपने एचडीएल कोड में निम्नलिखित तीन राज्यों को शामिल करें।
आईएनआईटी राज्य (प्रारंभिक राज्य)
SERV_PHASE (सेवा अनुरोध स्थिति)
RSP_PHASE (सेवा प्रतिक्रिया स्थिति)
निम्नलिखित आंकड़ा एफएसएम के तीन राज्यों को दर्शाता है।
चित्र 9 • तीन-राज्य FSM - अपने एचडीएल कोड में, आईएनआईटी राज्य से सेवा अनुरोध स्थिति दर्ज करने के लिए कमांड कोड "एफ0" (हेक्स) का उपयोग करें।
- अपना एचडीएल बचाएं file.
- SmartDesign खोलें, अपने शीर्ष-स्तरीय सिस्टम बिल्डर ब्लॉक और अपने HDL FSM ब्लॉक को SmartDesign कैनवास में खींचें और छोड़ें। कैटलॉग से, CoreSysService सॉफ्ट IP कोर को SmartDesign कैनवास में ड्रैग और ड्रॉप करें।
- कॉन्फ़िगरेशनकर्ता को खोलने के लिए CoreSysServices सॉफ्ट आईपी कोर पर राइट-क्लिक करें और डेटा सुरक्षा सेवा समूह के तहत ज़ीरोइज़ेशन सर्विस चेकबॉक्स की जाँच करें। अन्य सभी चेकबॉक्स को अनचेक छोड़ दें। बाहर निकलने के लिए ओके पर क्लिक करें।
चित्र 10 • CoreSysServices विन्यासकर्ता
- सिस्टम बिल्डर ब्लॉक के HPMS_FIC_0 SYS_SERVICES_MASTER BIF को CoreSysService ब्लॉक के AHBL_MASTER BIF से कनेक्ट करें।
- अपने HDL FSM ब्लॉक के आउटपुट को CoreSysService सॉफ्ट IP कोर के इनपुट से कनेक्ट करें। अन्य सभी कनेक्शन SmartDesign कैनवास में बनाएँ।
चित्र 11 • HDL ब्लॉक, CoreSysServices सॉफ्ट IP, और HPMS ब्लॉक के साथ स्मार्टडिज़ाइन कैनवास
9. स्मार्टडिजाइन कैनवास में, शीर्ष-स्तरीय डिज़ाइन (राइट-क्लिक> घटक उत्पन्न करें) उत्पन्न करें।
10. डिजाइन पदानुक्रम में view, शीर्ष-स्तरीय डिज़ाइन पर राइट-क्लिक करें और Testbench > HDL बनाएँ चुनें। अब आप अनुकरण चलाने के लिए तैयार हैं।
एक बार जब सेवा का निष्पादन शुरू हो जाता है, तो एक संदेश यह दर्शाता है कि समय x पर शून्यीकरण पूरा हो गया है, जैसा कि निम्नलिखित चित्र में दिखाया गया है।
चित्र 12 • IGLOO2 Zeroization सिस्टम सर्विस सिमुलेशन ट्रांसक्रिप्ट विंडो
सिस्टम नियंत्रक सीरियल नंबर के साथ पते पर एएचबी लिखता है। सेवा के पूरा होने पर, COMM_BLK के RXFIFO को सेवा प्रतिक्रिया के साथ लोड किया जाएगा। यह ध्यान दिया जाना चाहिए कि सिमुलेशन मॉडल डिजाइन को शून्य करने के बजाय सिमुलेशन को रोककर शून्यकरण का अनुकरण करता है।
नोट: विभिन्न सिस्टम सेवाओं के लिए उपयोग किए जाने वाले कमांड कोड की पूरी सूची के लिए, तालिका 1 (सिस्टम सर्विसेज कमांड/रिस्पांस वैल्यू) देखें। CoreSysServices v3.1 हैंडबुक:. या UG0450: SmartFusion2 SoC और IGLOO2 FPGA सिस्टम कंट्रोलर यूज़र गाइड
2.8 SmartFusion2 Zeroization सर्विस सिमुलेशन
इस मार्गदर्शिका में, सिस्टम सेवा के लिए सिस्टम नियंत्रक तक पहुँचने के लिए BFM कमांड (विकल्प 2) का उपयोग किया जाता है।
BFM कमांड का उपयोग किया जाता है क्योंकि Cortex-M3 प्रोसेसर BFM सिमुलेशन के लिए डिवाइस पर उपलब्ध है। एक बार जब आप COMM_BLK की मेमोरी मैपिंग जान लेते हैं, तो BFM कमांड आपको सीधे COMM BLK पर लिखने और उससे पढ़ने की अनुमति देता है। SmartFusion2 शून्यकरण सेवा सिमुलेशन के लिए अपना डिज़ाइन तैयार करने के लिए, निम्न चरणों का पालन करें।
- MSS को कैटलॉग से अपने प्रोजेक्ट के डिज़ाइन कैनवास पर खींचें और छोड़ें।
- MSS_CCC, रीसेट कंट्रोलर, इंटरप्ट मैनेजमेंट, और FIC_0, FIC_1 और FIC_2 को छोड़कर सभी MSS बाह्य उपकरणों को अक्षम करें।
- फैब्रिक इंटरप्ट के लिए एमएसएस का उपयोग करने के लिए इंटरप्ट प्रबंधन को कॉन्फ़िगर करें।
- Zeroizaton.bfm तैयार करें file टेक्स्ट एडिटर में या लिबरो के एचडीएल एडिटर में। आपका शून्यकरण। बीएफएम में शामिल होना चाहिए:
- COMM BLK (CMBLK) में मेमोरी मैपिंग
- मेमोरी मैपिंग टू इंटरप्ट मैनेजमेंट पेरिफेरल (FIIC)
- ज़ीरोइज़टन सेवा अनुरोध के लिए कमांड ("F0" ज़ीरियोज़ेशन के लिए हेक्स)
एक पूर्वampसीरियल नंबर.बीएफएम का ले file निम्नलिखित आकृति में दिखाया गया है।
चित्र 13 • SmartFusion2 Zeroization सिस्टम सर्विसेज सिमुलेशन के लिए Zeroization.bfm
5. शून्यकरण को बचाएं। बीएफएम file प्रोजेक्ट के सिमुलेशन फ़ोल्डर में। user.bfm
6. निम्नलिखित कोड स्निपेट का उपयोग करके शामिल करने के लिए (ज़ीरोइज़ेशन.बीएफएम सिमुलेशन फ़ोल्डर में स्थित) संपादित करें।
"शून्यकरण.बीएफएम" शामिल करें #शून्यकरण शामिल करें।बीएफएम file प्रक्रिया user_main;
प्रिंट "जानकारी: सिमुलेशन प्रारंभ";
प्रिंट "जानकारी: सेवा कमांड कोड दशमलव में:% 0d", सीएमडी;
कॉल शून्यीकरण; # कॉल ज़ीरोइज़ेशन प्रक्रिया वापसी
7. डिजाइन पदानुक्रम में, टेस्टबेंच उत्पन्न करें (शीर्ष स्तर पर राइट क्लिक करें > टेस्टबेंच बनाएं > एचडीएल) और आप SmartFusion2 शून्यीकरण सिमुलेशन चलाने के लिए तैयार हैं।
एक बार जब सेवा का निष्पादन शुरू हो जाता है, तो एक संदेश प्रदर्शित होता है कि डिवाइस को समय x पर शून्य कर दिया गया है। यह ध्यान दिया जाना चाहिए कि सिमुलेशन मॉडल डिजाइन को शून्य करने के बजाय सिमुलेशन को रोककर शून्यकरण का अनुकरण करता है। निम्नलिखित चित्र में मॉडलसिम ट्रांस्क्रिप्ट विंडो दिखाती है कि डिवाइस को शून्य कर दिया गया है।
चित्र 14 • SmartFusion2 Zeroization सिस्टम सर्विस सिमुलेशन लॉग
परिशिष्ट: सिस्टम सेवाओं के प्रकार
यह अध्याय विभिन्न प्रकार की सिस्टम सेवाओं का वर्णन करता है।
3.1 सिमुलेशन संदेश सेवाएं
निम्नलिखित खंड विभिन्न प्रकार की सिमुलेशन संदेश सेवाओं का वर्णन करते हैं।
3.1.1 फ्लैश*फ्रीज
जब FIC (IGLOO2 उपकरणों के मामले में) या Cortex-M3 (SmartFusion2 उपकरणों में) से COMM_BLK को उचित सेवा अनुरोध भेजा जाता है, तो सिमुलेशन फ्लैश * फ्रीज स्थिति में प्रवेश करेगा। एक बार सिस्टम कंट्रोलर द्वारा सेवा का पता लगाने के बाद, सिमुलेशन बंद कर दिया जाएगा और यह संकेत देने वाला एक संदेश प्रदर्शित होगा कि सिस्टम फ्लैश*फ्रीज में प्रवेश कर चुका है (चयनित विकल्प के साथ) प्रदर्शित किया जाएगा। सिमुलेशन के फिर से शुरू होने पर, COMM_BLK का RXFIFO सर्विस कमांड और स्टेटस से युक्त सर्विस रिस्पांस से भर जाएगा। यह ध्यान दिया जाना चाहिए कि फ्लैश * फ्रीज निकास के लिए कोई सिमुलेशन समर्थन नहीं है।
3.1.2 शून्यीकरण
शून्यकरण वर्तमान में COMM_BLK द्वारा संसाधित सिस्टम सेवाओं के भीतर एकमात्र उच्च प्राथमिकता वाली सेवा है। COMM_BLK द्वारा सही सेवा अनुरोध का पता चलते ही सिम्युलेशन शून्यीकरण स्थिति में प्रवेश कर जाएगा। अन्य सेवाओं के निष्पादन को रोक दिया जाएगा और सिस्टम नियंत्रक द्वारा हटा दिया जाएगा, और शून्यीकरण सेवा को इसके बजाय निष्पादित किया जाएगा। एक बार शून्यकरण सेवा अनुरोध का पता चलने के बाद, अनुकरण बंद हो जाता है और एक संदेश प्रदर्शित होता है जो दर्शाता है कि सिस्टम शून्यकरण में प्रवेश कर चुका है। शून्यकरण के बाद सिमुलेशन के मैन्युअल पुनरारंभ अमान्य हैं।
3.2 डेटा पॉइंटर सेवाएँ
निम्नलिखित खंड विभिन्न प्रकार की डेटा पॉइंटर सेवाओं का वर्णन करते हैं।
3.2.1 सीरियल नंबर
सीरियल नंबर सेवा सेवा अनुरोध के हिस्से के रूप में प्रदान किए गए पते के स्थान पर 128-बिट सीरियल नंबर लिखेगी। यह 128-बिट पैरामीटर सिस्टम सर्विस सिमुलेशन सपोर्ट का उपयोग करके सेट किया जा सकता है file (पृष्ठ 22 देखें)। यदि 128-बिट सीरियल नंबर पैरामीटर के भीतर परिभाषित नहीं किया गया है file, डिफ़ॉल्ट क्रम संख्या 0 का उपयोग किया जाएगा। एक बार जब सेवा का निष्पादन शुरू हो जाता है, तो गंतव्य स्थान और सीरियल नंबर का संकेत देने वाला एक संदेश प्रदर्शित होता है। सिस्टम नियंत्रक सीरियल नंबर के साथ पते पर एएचबी लिखता है। सेवा के पूरा होने पर, COMM_BLK के RXFIFO को सेवा प्रतिक्रिया के साथ लोड किया जाएगा।
3.2.2 यूजरकोड
उपयोगकर्ता कोड सेवा सेवा अनुरोध के हिस्से के रूप में प्रदान किए गए पते के स्थान पर 32-बिट उपयोगकर्ता कोड पैरामीटर लिखती है। यह 32-बिट पैरामीटर सिस्टम सर्विस सिमुलेशन सपोर्ट का उपयोग करके सेट किया जा सकता है file (पेज 22 देखें)। यदि 32-बिट पैरामीटर के भीतर परिभाषित नहीं किया गया है file, 0 के डिफ़ॉल्ट मान का उपयोग किया जाता है। एक बार जब सेवा का निष्पादन शुरू हो जाता है, तो लक्ष्य स्थान और उपयोगकर्ता कोड को इंगित करने वाला एक संदेश प्रदर्शित होता है। सिस्टम नियंत्रक 32-बिट पैरामीटर के साथ पते पर एएचबी लिखता है। सेवा के पूरा होने पर, COMM_BLK के RXFIFO को सेवा प्रतिक्रिया के साथ लोड किया जाता है, जिसमें सेवा आदेश और लक्ष्य पता शामिल होता है।
3.3 डेटा डिस्क्रिप्टर सेवाएं
निम्नलिखित खंड विभिन्न प्रकार की डेटा डिस्क्रिप्टर सेवाओं का वर्णन करते हैं।
3.3.1 एईएस
इस सेवा के लिए सिमुलेशन समर्थन केवल मूल डेटा को स्रोत से गंतव्य तक ले जाने से संबंधित है, वास्तव में डेटा पर कोई एन्क्रिप्शन/डिक्रिप्शन किए बिना। डेटा जिसे एन्क्रिप्ट/डिक्रिप्ट करने की आवश्यकता है और सेवा अनुरोध भेजे जाने से पहले डेटा संरचना लिखी जानी चाहिए। एक बार जब सेवा का निष्पादन शुरू हो जाता है, तो एईएस सेवा के निष्पादन का संकेत देने वाला एक संदेश प्रदर्शित होता है। एईएस सेवा एन्क्रिप्ट/डिक्रिप्ट किए जाने वाले डेटा संरचना और डेटा दोनों को पढ़ती है। मूल डेटा को कॉपी किया जाता है और डेटा संरचना के भीतर दिए गए पते पर लिखा जाता है। एक बार सेवा पूरी हो जाने के बाद, कमांड, स्थिति और डेटा संरचना का पता RXFIFO में धकेल दिया जाता है।
टिप्पणी: यह सेवा केवल 128-बिट और 256-बिट डेटा के लिए है, और 128-बिट और 256-बिट डेटा दोनों की डेटा संरचना लंबाई अलग-अलग है।
3.3.2 एसएचए 256
इस सेवा के लिए सिमुलेशन समर्थन केवल डेटा को स्थानांतरित करने से संबंधित है, वास्तव में डेटा पर कोई हैशिंग किए बिना। SHA 256 फ़ंक्शन इनपुट डेटा के आधार पर 256-बिट हैश कुंजी उत्पन्न करने के लिए डिज़ाइन किया गया है। COMM_BLK को सेवा अनुरोध भेजे जाने से पहले जिस डेटा को हैश करने की आवश्यकता है और डेटा संरचना को उनके संबंधित पतों पर लिखा जाना चाहिए। SHA 256 डेटा संरचना के भीतर परिभाषित बिट्स और पॉइंटर की लंबाई हैश किए जाने वाले डेटा की लंबाई और पते के अनुरूप होनी चाहिए। एक बार सेवा का निष्पादन शुरू हो जाने के बाद, SHA 256 सेवा के निष्पादन का संकेत देने वाला एक संदेश प्रदर्शित होता है। वास्तविक कार्य को निष्पादित करने के बजाय, डेटा संरचना से गंतव्य सूचक को एक डिफ़ॉल्ट हैश कुंजी लिखी जाएगी। डिफ़ॉल्ट हैश कुंजी हेक्स "ABCD1234" है। एक कस्टम कुंजी सेट करने के लिए, पैरामीटर सेटिंग (पृष्ठ 23 देखें) अनुभाग पर जाएँ। सेवा के पूरा होने पर, RXFIFO को सर्विस कमांड, स्टेटस और SHA 256 डेटा स्ट्रक्चर पॉइंटर से युक्त सर्विस रिस्पांस से लोड किया जाता है।
3.3.3 एचएमएसी
इस सेवा के लिए सिमुलेशन समर्थन केवल डेटा को स्थानांतरित करने से संबंधित है, वास्तव में डेटा पर कोई हैशिंग किए बिना। COMM_BLK को सेवा अनुरोध भेजे जाने से पहले जिस डेटा को हैश करने की आवश्यकता है और डेटा संरचना को उनके संबंधित पतों पर लिखा जाना चाहिए। HMAC सेवा को बाइट्स, स्रोत सूचक और गंतव्य सूचक में लंबाई के अतिरिक्त 32-बाइट कुंजी की आवश्यकता होती है। एक बार सेवा का निष्पादन शुरू हो जाने के बाद, HMAC सेवा के निष्पादन का संकेत देने वाला एक संदेश प्रदर्शित होता है। कुंजी को पढ़ा जाता है और 256-बिट कुंजी को डेटा संरचना से गंतव्य सूचक में कॉपी किया जाता है। सेवा के पूरा होने पर, RXFIFO को सर्विस कमांड, स्टेटस और HMAC डेटा स्ट्रक्चर पॉइंटर से युक्त सर्विस रिस्पांस से लोड किया जाता है।
3.3.4 DRBG जनरेट करें
इस सेवा द्वारा यादृच्छिक बिट्स का निर्माण किया जाता है। यह ध्यान दिया जाना चाहिए कि सिमुलेशन मॉडल सिलिकॉन द्वारा उपयोग की जाने वाली समान यादृच्छिक संख्या पीढ़ी पद्धति का बिल्कुल पालन नहीं करता है। COMM_BLK को सेवा अनुरोध भेजे जाने से पहले डेटा संरचना को उसके इच्छित स्थान पर सही ढंग से लिखा जाना चाहिए। डेटा संरचना, गंतव्य सूचक, लंबाई और अन्य प्रासंगिक डेटा सिस्टम नियंत्रक द्वारा पढ़े जाते हैं। DRBG जनरेट सेवा अनुरोधित लंबाई (0-128) के डेटा का छद्म यादृच्छिक सेट उत्पन्न करती है। सिस्टम नियंत्रक यादृच्छिक डेटा को गंतव्य सूचक में लिखता है। DRBG जनरेट सेवा के निष्पादन का संकेत देने वाला एक संदेश सिमुलेशन में प्रदर्शित होता है। एक बार सेवा पूरी हो जाने के बाद, कमांड, स्थिति और डेटा संरचना का पता RXFIFO में धकेल दिया जाता है। यदि अनुरोधित डेटा की लंबाई 0-128 की सीमा के भीतर नहीं है, तो "4" (अधिकतम जनरेट) का एक त्रुटि कोड RXFIFO में धकेल दिया जाएगा। यदि अतिरिक्त डेटा की लंबाई 0-128 की अनुरोध बहुत बड़ी सीमा के भीतर नहीं है, तो "5" का एक त्रुटि कोड (अतिरिक्त डेटा की अधिकतम लंबाई पार हो गई) को RXFIFO में धकेल दिया जाएगा। यदि उत्पन्न करने के लिए अनुरोधित डेटा लंबाई और अतिरिक्त डेटा लंबाई दोनों उनकी परिभाषित सीमा (0-128) के भीतर नहीं हैं, तो "1" (कैटास्ट्रॉफिक त्रुटि) का एक त्रुटि कोड RXFIFO में धकेल दिया जाता है।
3.3.5 डीआरबीजी रीसेट
वास्तविक रीसेट फ़ंक्शन DRBG इंस्टेंटेशन को हटाकर और DRBG को रीसेट करके किया जाता है। एक बार सेवा अनुरोध का पता चलने के बाद, सिमुलेशन DRBG रीसेट सेवा पूर्ण संदेश प्रदर्शित करता है। प्रतिक्रिया, जिसमें सेवा और स्थिति शामिल है, को RXFIFO में धकेल दिया जाता है।
3.3.6 DRBG सेल्फ टेस्ट
DRBG स्व-परीक्षण के लिए सिमुलेशन समर्थन वास्तव में स्व-परीक्षण फ़ंक्शन को निष्पादित नहीं करता है। एक बार सेवा अनुरोध का पता चलने के बाद, सिमुलेशन DRBG स्व-परीक्षण सेवा निष्पादन संदेश प्रदर्शित करेगा। प्रतिक्रिया, जिसमें सेवा और स्थिति शामिल है, को RXFIFO में धकेल दिया जाएगा।
3.3.7 DRBG दृष्टांत
DRBG तत्काल सेवा के लिए सिमुलेशन समर्थन वास्तव में तत्काल सेवा नहीं करता है। COMM_BLK को सेवा अनुरोध भेजे जाने से पहले डेटा संरचना को उसके इच्छित स्थान पर सही ढंग से लिखा जाना चाहिए। सेवा अनुरोध का पता चलने के बाद, MSS पता स्थान के भीतर परिभाषित संरचना और वैयक्तिकरण स्ट्रिंग को पढ़ा जाएगा। सिमुलेशन एक संदेश प्रदर्शित करेगा जो दर्शाता है कि DRBG तत्काल सेवा का निष्पादन शुरू हो गया है। एक बार सेवा पूर्ण हो जाने के बाद, प्रतिक्रिया, जिसमें सेवा कमांड, स्थिति और डेटा संरचना के सूचक शामिल हैं, को RXFIFO में धकेल दिया जाएगा। यदि डेटा की लंबाई (व्यक्तिगतकरण लंबाई) 0-128 की सीमा के भीतर नहीं है, तो स्थिति के लिए "1" (विपत्तिपूर्ण त्रुटि) का एक त्रुटि कोड RXFIFO में धकेल दिया जाएगा।
3.3.8 DRBG अनइंस्टेंटिएट करें
DRBG अनइंस्टेंटिएट सेवा के लिए सिमुलेशन समर्थन वास्तव में सिलिकॉन की तरह पहले से तत्काल DRBG को हटाने की अनइंस्टेंटिएट सेवा का प्रदर्शन नहीं करता है। सेवा अनुरोध में कमांड और DRBG हैंडल दोनों शामिल होने चाहिए। सेवा अनुरोध का पता लगने के बाद, DRBG हैंडल को संग्रहीत किया जाएगा। सिमुलेशन एक संदेश प्रदर्शित करेगा जो दर्शाता है कि DRBG अनइंस्टेंटिएट सेवा को प्रारंभ किया गया है। सेवा पूर्ण होने के बाद, प्रतिक्रिया, जिसमें सेवा आदेश, स्थिति और DRBG हैंडल शामिल हैं, को RXFIFO में धकेल दिया जाएगा।
3.3.9 DRBG पुनर्बीज
सिस्टम सर्विसेज ब्लॉक की सिम्युलेटिव प्रकृति के कारण, सिमुलेशन में DRBG रीसीड सर्विस प्रत्येक 65535 DRBG जनरेट सेवाओं के बाद स्वचालित रूप से निष्पादित नहीं होती है। COMM_BLK को सेवा अनुरोध भेजे जाने से पहले डेटा संरचना को उसके इच्छित स्थान पर सही ढंग से लिखा जाना चाहिए। सेवा अनुरोध का पता चलने के बाद, एमएसएस एड्रेस स्पेस में संरचना और अतिरिक्त इनपुट पैरामीटर को पढ़ा जाएगा। एक संदेश प्रदर्शित होगा जो दर्शाता है कि DRBG पुन: बीज सेवा का निष्पादन शुरू हो गया है। COMM_BLK को सेवा अनुरोध भेजे जाने से पहले डेटा संरचना को उसके इच्छित स्थान पर सही ढंग से लिखा जाना चाहिए। एक बार सेवा पूर्ण हो जाने के बाद, प्रतिक्रिया, जिसमें सेवा कमांड, स्थिति और डेटा संरचना के सूचक शामिल हैं, को RXFIFO में धकेल दिया जाएगा।
3.3.10 कीट्री
KeyTree सेवा के अनुकरण में वास्तविक कार्य निष्पादित नहीं किया गया है। KeyTree सेवा डेटा संरचना में 32-बाइट कुंजी, 7-बिट ऑप्टटाइप डेटा (MSB उपेक्षित), और 16-बाइट पथ शामिल हैं। COMM_BLK को सेवा अनुरोध भेजे जाने से पहले डेटा संरचना के भीतर डेटा उनके संबंधित पते पर लिखा जाना चाहिए। एक बार जब सेवा का निष्पादन शुरू हो जाता है, तो KeyTree सेवा के निष्पादन का संकेत देने वाला एक संदेश प्रदर्शित किया जाएगा। डेटा संरचना की सामग्री पढ़ी जाएगी, 32-बाइट कुंजी संग्रहीत की जाएगी, और डेटा संरचना के भीतर स्थित मूल कुंजी अधिलेखित हो जाएगी। इस एएचबी लिखने के बाद, डेटा संरचना के भीतर कुंजी का मूल्य नहीं बदलना चाहिए, लेकिन लिखने के लिए एएचबी लेनदेन होगा। सेवा के पूरा होने पर, RXFIFO को सेवा प्रतिक्रिया के साथ लोड किया जाता है, जिसमें सेवा आदेश, स्थिति और KeyTree डेटा संरचना सूचक शामिल होता है।
3.3.11 चुनौती प्रतिक्रिया
चुनौती प्रतिक्रिया सेवा के लिए सिमुलेशन में डिवाइस के प्रमाणीकरण जैसे वास्तविक कार्य को निष्पादित नहीं किया जाता है। इस सेवा के लिए डेटा संरचना को 32-बाइट परिणाम, 7-बिट ऑप्टिटाइप और 128-बिट पथ प्राप्त करने के लिए बफर के लिए एक सूचक की आवश्यकता होती है। सेवा अनुरोध COMM_BLK को भेजे जाने से पहले डेटा संरचना के भीतर डेटा उनके संबंधित पते पर लिखा जाना चाहिए। एक बार सेवा का निष्पादन शुरू हो जाने के बाद, चुनौती प्रतिक्रिया सेवा के निष्पादन का संकेत देने वाला एक संदेश प्रदर्शित किया जाएगा। डेटा संरचना के भीतर प्रदान किए गए सूचक में एक सामान्य 256-बिट प्रतिक्रिया लिखी जाएगी। डिफ़ॉल्ट कुंजी हेक्स "ABCD1234" के रूप में सेट की गई है। कस्टम कुंजी प्राप्त करने के लिए, पैरामीटर सेटिंग जांचें (पृष्ठ 23 देखें)। सेवा के पूरा होने पर, RXFIFO सेवा आदेश, स्थिति और चुनौती प्रतिक्रिया डेटा संरचना सूचक से मिलकर सेवा प्रतिक्रिया के साथ लोड हो जाएगा।
3.4 अन्य सेवाएँ
निम्नलिखित खंड विभिन्न अन्य सिस्टम सेवाओं का वर्णन करते हैं।
3.4.1 डाइजेस्ट चेक
सिमुलेशन में डाइजेस्ट चेक सेवा के लिए चयनित घटकों के डाइजेस्ट की पुनर्गणना और तुलना करने का वास्तविक कार्य निष्पादित नहीं किया गया है। इस सेवा अनुरोध में सेवा आदेश और सेवा विकल्प (5-बिट एलएसबी) शामिल हैं। एक बार सेवा का निष्पादन शुरू हो जाने के बाद, अनुरोध से चयनित विकल्पों के साथ डाइजेस्ट चेक सेवा के निष्पादन का विवरण देने वाला एक संदेश प्रदर्शित किया जाएगा। सेवा के पूरा होने पर, RXFIFO को सेवा प्रतिक्रिया के साथ लोड किया जाएगा, जिसमें सर्विस कमांड और डाइजेस्ट चेक पास / फेल फ्लैग शामिल होंगे।
3.4.2 अपरिचित कमांड प्रतिक्रिया
जब एक अपरिचित सेवा अनुरोध COMM_BLK को भेजा जाता है, तो COMM_BLK स्वचालित रूप से RXFIFO में धकेले गए एक अपरिचित कमांड संदेश के साथ उत्तर देगा। संदेश में COMM_BLK में भेजा गया आदेश और अपरिचित कमांड स्थिति (252D) शामिल है। एक गैर-मान्यता प्राप्त सेवा अनुरोध का पता लगाने वाला एक प्रदर्शन संदेश भी प्रदर्शित किया जाएगा। अगले सेवा अनुरोध को स्वीकार करने की प्रतीक्षा में COMM_BLK एक निष्क्रिय स्थिति में वापस आ जाएगा।
3.4.3 असमर्थित सेवाएं
COMM_BLK पर सेट असमर्थित सेवाएं सिम्युलेशन में एक संदेश ट्रिगर करेंगी जो यह दर्शाता है कि सेवा अनुरोध असमर्थित है। अगले सेवा अनुरोध को स्वीकार करने की प्रतीक्षा में COMM_BLK एक निष्क्रिय स्थिति में वापस आ जाएगा। PINTERRUPT सेट नहीं किया जाएगा, यह दर्शाता है कि सेवा पूरी हो चुकी है। असमर्थित सेवाओं की वर्तमान सूची में शामिल हैं: IAP, ISP, डिवाइस प्रमाणपत्र और डिज़ाइनर सेवा।
3.5 सिस्टम सर्विसेज सिमुलेशन सपोर्ट File
सिस्टम सेवाओं के अनुकरण का समर्थन करने के लिए, एक पाठ file कहा जाता है, "status.txt" का उपयोग सिमुलेशन मॉडल के आवश्यक व्यवहार के बारे में निर्देशों को सिमुलेशन मॉडल में पारित करने के लिए किया जा सकता है। यह file उसी फ़ोल्डर में स्थित होना चाहिए, जिससे अनुकरण चलाया जाता है। file अन्य बातों के अलावा, समर्थित सिस्टम सेवाओं के लिए कुछ त्रुटि प्रतिक्रियाओं को बाध्य करने के लिए या सिमुलेशन के लिए आवश्यक कुछ पैरामीटर सेट करने के लिए भी इस्तेमाल किया जा सकता है, (उदाहरण के लिएampले, सीरियल नंबर)। “status.txt” में समर्थित लाइनों की अधिकतम संख्या file 256 है। पंक्ति संख्या 256 के बाद दिखाई देने वाले निर्देश सिमुलेशन में उपयोग नहीं किए जाएंगे।
3.5.1 जबरदस्ती त्रुटि प्रतिक्रियाएँ
उपयोगकर्ता "status.txt" का उपयोग करके सिमुलेशन मॉडल को जानकारी पास करके परीक्षण के दौरान किसी विशेष सेवा के लिए एक निश्चित त्रुटि प्रतिक्रिया को बाध्य कर सकता है। file, जिसे उस फ़ोल्डर में रखा जाना चाहिए जहां से सिमुलेशन चलाया जा रहा है। एक निश्चित सेवा के लिए त्रुटि प्रतिक्रियाओं को बाध्य करने के लिए, कमांड और आवश्यक प्रतिक्रिया को निम्न प्रारूप में एक ही पंक्ति में टाइप किया जाना चाहिए:ampले, कमांड> के लिए ; सीरियल नंबर सर्विस के लिए MSS मेमोरी एक्सेस एरर रिस्पांस जनरेट करने के लिए सिमुलेशन मॉडल को निर्देश दें, कमांड इस प्रकार है।
सेवा: क्रम संख्या: 01
अनुरोधित त्रुटि संदेश: MSS मेमोरी एक्सेस त्रुटि: 7F
आपके पास "status.txt" में दर्ज लाइन 017F होनी चाहिए file.
3.5.2 पैरामीटर सेटिंग
"status.txt" file सिमुलेशन में आवश्यक कुछ पैरामीटर सेट करने के लिए भी इस्तेमाल किया जा सकता है। एक पूर्व के रूप मेंampले, उपयोगकर्ता कोड के लिए 32-बिट पैरामीटर सेट करने के लिए, लाइन का प्रारूप इस क्रम में होना चाहिए: <32 बिट USERCODE>; जहां दोनों मान हेक्साडेसिमल में दर्ज किए गए हैं। सीरियल नंबर के लिए 128-बिट पैरामीटर सेट करने के लिए, लाइन का प्रारूप इस क्रम में होना चाहिए: <128 बिट सीरियल नंबर [127:0]>; जहां दोनों मान हेक्साडेसिमल में दर्ज किए गए हैं। SHA 256 कुंजी के लिए 256-बिट पैरामीटर सेट करने के लिए; पंक्ति का प्रारूप इस क्रम में होना चाहिए: <256 बिट की [255:0]>; जहां दोनों मान हेक्साडेसिमल में दर्ज किए गए हैं। चुनौती प्रतिक्रिया कुंजी के लिए 256-बिट पैरामीटर सेट करने के लिए, लाइन का प्रारूप इस क्रम में होना चाहिए: <256 बिट की [255:0]>;
जहां दोनों मान हेक्साडेसिमल में दर्ज किए गए हैं।
3.5.3 डिवाइस प्राथमिकता
सिस्टम सेवाएँ और COMM_BLK एक उच्च प्राथमिकता वाली प्रणाली का उपयोग करते हैं। वर्तमान में, एकमात्र उच्च प्राथमिकता वाली सेवा शून्यकरण है। एक उच्च-प्राथमिकता वाली सेवा करने के लिए, जबकि दूसरी सेवा निष्पादित की जा रही है, वर्तमान सेवा को रोक दिया गया है और उच्च प्राथमिकता वाली सेवा को उसके स्थान पर निष्पादित किया जाएगा। उच्च प्राथमिकता सेवा करने के लिए COMM_BLK वर्तमान सेवा को छोड़ देगा। यदि एक मौजूदा सेवा के पूरा होने से पहले कई गैर-उच्च-प्राथमिकता वाली सेवाएं भेजी जाती हैं, तो इन सेवाओं को TXFIFO के भीतर कतारबद्ध किया जाएगा। एक बार वर्तमान सेवा पूरी हो जाने के बाद, TXFIFO में अगली सेवा निष्पादित की जाएगी।
माइक्रोसेमी यहां निहित जानकारी या किसी विशेष उद्देश्य के लिए अपने उत्पादों और सेवाओं की उपयुक्तता के संबंध में कोई वारंटी, प्रतिनिधित्व या गारंटी नहीं देता है, और न ही माइक्रोसेमी किसी भी उत्पाद या सर्किट के आवेदन या उपयोग से उत्पन्न होने वाली किसी भी देयता को ग्रहण करता है। इसके तहत बेचे गए उत्पाद और माइक्रोसेमी द्वारा बेचे जाने वाले अन्य उत्पाद सीमित परीक्षण के अधीन हैं और मिशन-महत्वपूर्ण उपकरण या अनुप्रयोगों के संयोजन के साथ उपयोग नहीं किए जाने चाहिए। किसी भी प्रदर्शन विनिर्देशों को विश्वसनीय माना जाता है, लेकिन सत्यापित नहीं किया जाता है, और खरीदार को उत्पादों के सभी प्रदर्शन और अन्य परीक्षण अकेले और साथ में, या किसी भी अंतिम-उत्पादों में स्थापित करना चाहिए। खरीदार किसी भी डेटा और प्रदर्शन विनिर्देशों या माइक्रोसेमी द्वारा प्रदान किए गए मापदंडों पर भरोसा नहीं करेगा। किसी भी उत्पाद की उपयुक्तता का स्वतंत्र रूप से निर्धारण करना और उसका परीक्षण और सत्यापन करना क्रेता की जिम्मेदारी है। यहां माइक्रोसेमी द्वारा प्रदान की गई जानकारी "जैसा है, जहां है" और सभी दोषों के साथ प्रदान की जाती है, और ऐसी जानकारी से जुड़ा संपूर्ण जोखिम पूरी तरह से खरीदार के पास है। माइक्रोसेमी किसी भी पक्ष को, स्पष्ट रूप से या परोक्ष रूप से, कोई पेटेंट अधिकार, लाइसेंस, या कोई अन्य आईपी अधिकार प्रदान नहीं करता है, चाहे वह स्वयं ऐसी जानकारी के संबंध में हो या ऐसी जानकारी द्वारा वर्णित किसी भी चीज़ के संबंध में। इस दस्तावेज़ में प्रदान की गई जानकारी माइक्रोसेमी के स्वामित्व में है, और माइक्रोसेमी बिना किसी सूचना के किसी भी समय इस दस्तावेज़ या किसी भी उत्पाद और सेवाओं में जानकारी में कोई भी परिवर्तन करने का अधिकार सुरक्षित रखता है।
माइक्रोचिप टेक्नोलॉजी इंक. (नैस्डैक: एमसीएचपी) की पूर्ण स्वामित्व वाली सहायक कंपनी माइक्रोसेमी एयरोस्पेस और रक्षा, संचार, डेटा सेंटर और औद्योगिक बाजारों के लिए सेमीकंडक्टर और सिस्टम समाधानों का एक व्यापक पोर्टफोलियो प्रदान करती है। उत्पादों में उच्च-प्रदर्शन और विकिरण-कठोर एनालॉग मिश्रित-सिग्नल एकीकृत सर्किट, एफपीजीए, एसओसी और एएसआईसी शामिल हैं; बिजली प्रबंधन उत्पाद; समय और तुल्यकालन उपकरण और सटीक समय समाधान, समय के लिए विश्व के मानक निर्धारित करना; आवाज प्रसंस्करण उपकरण; आरएफ समाधान; असतत घटक; उद्यम भंडारण और संचार समाधान; सुरक्षा प्रौद्योगिकियां और स्केलेबल एंटी-टीampएर उत्पाद; ईथरनेट समाधान; पावर-ओवर-ईथरनेट आईसी और मिडस्पैन; साथ ही कस्टम डिजाइन क्षमताओं और सेवाओं। माइक्रोसेमी का मुख्यालय एलिसो वीजो, कैलिफोर्निया में है और वैश्विक स्तर पर इसके लगभग 4,800 कर्मचारी हैं। पर और जानें www.microsemi.com.
माइक्रोसेमी मुख्यालय
एक उद्यम, एलिसो वीजो,
सीए 92656 यूएसए
संयुक्त राज्य अमेरिका के भीतर: +1 800-713-4113
संयुक्त राज्य अमेरिका के बाहर: +1 949-380-6100
बिक्री: +1 949-380-6136
फैक्स: +1 949-215-4996
ईमेल: बिक्री।support@microsemi.com
www.microsemi.com
© 2018 माइक्रोसेमी। सर्वाधिकार सुरक्षित। माइक्रोसेमी और माइक्रोसेमी लोगो
माइक्रोसेमी कॉर्पोरेशन के ट्रेडमार्क हैं। अन्य सभी ट्रेडमार्क और सेवा
निशान उनके संबंधित स्वामियों की संपत्ति हैं।
दस्तावेज़ / संसाधन
![]() |
माइक्रोसेमी UG0837 IGLOO2 और SmartFusion2 FPGA सिस्टम सर्विसेज सिमुलेशन [पीडीएफ] उपयोगकर्ता गाइड UG0837, UG0837 IGLOO2 और SmartFusion2 FPGA सिस्टम सर्विसेज सिमुलेशन, IGLOO2 और SmartFusion2 FPGA सिस्टम सर्विसेज सिमुलेशन, SmartFusion2 FPGA सिस्टम सर्विसेज सिमुलेशन, FPGA सिस्टम सर्विसेज सिमुलेशन, सर्विसेज सिमुलेशन |