मायक्रोसेमी लोगो

UG0837
वापरकर्ता मार्गदर्शक
IGLOO2 आणि SmartFusion2 FPGA
सिस्टम सेवा सिम्युलेशन
जून २०२४

पुनरावृत्ती इतिहास

पुनरावृत्ती इतिहास दस्तऐवजात लागू केलेल्या बदलांचे वर्णन करतो. सर्वात वर्तमान प्रकाशनापासून सुरू होणारे बदल पुनरावृत्तीद्वारे सूचीबद्ध केले जातात.
1.1 पुनरावृत्ती 1.0
पुनरावृत्ती 1.0 जून 2018 मध्ये प्रकाशित करण्यात आली होती. हे या दस्तऐवजाचे पहिले प्रकाशन होते.

IGLOO2 आणि SmartFusion2 FPGA सिस्टम सर्व्हिसेस सिम्युलेशन

SmartFusion®2 FPGA कुटुंबाच्या सिस्टम सर्व्हिसेस ब्लॉकमध्ये विविध कामांसाठी जबाबदार असलेल्या सेवांचा संग्रह आहे. यामध्ये सिम्युलेशन मेसेज सेवा, डेटा पॉइंटर सेवा आणि डेटा डिस्क्रिप्टर सेवांचा समावेश आहे. SmartFusion3 मधील Cortex-M2 द्वारे आणि FPGA फॅब्रिकमधून SmartFusion2 आणि IGLOO®2 या दोन्हींसाठी फॅब्रिक इंटरफेस कंट्रोलर (FIC) द्वारे सिस्टम सेवांमध्ये प्रवेश केला जाऊ शकतो. या प्रवेश पद्धती COMM_BLK द्वारे सिस्टम कंट्रोलरकडे पाठविल्या जातात. COMM_BLK मध्ये प्रगत परिधीय बस (APB) इंटरफेस आहे आणि सिस्टम कंट्रोलरसह डेटाची देवाणघेवाण करण्यासाठी संदेश पासिंग कंड्युट म्हणून कार्य करते. सिस्टम सेवा विनंत्या सिस्टम कंट्रोलरला पाठवल्या जातात आणि सिस्टम सेवा प्रतिसाद COMM BLK द्वारे CoreSysSerrvice ला पाठवले जातात. COMM_BLK साठी पत्ता स्थान मायक्रोकंट्रोलर सब-सिस्टम (MSS)/हाय परफॉर्मन्स मेमरी सबसिस्टम (HPMS) मध्ये उपलब्ध आहे. तपशीलांसाठी, UG0450: SmartFusion2 SoC आणि IGLOO2 FPGA सिस्टम कंट्रोलर पहा.
वापरकर्ता मार्गदर्शक
खालील चित्र प्रणाली सेवा डेटा प्रवाह दर्शविते.
आकृती 1 • सिस्टम सर्व्हिस डेटा फ्लो डायग्राममायक्रोसेमी UG0837 IGLOO2 आणि SmartFusion2 FPGA सिस्टम सर्व्हिसेस सिम्युलेशन - डेटा फ्लो डायग्रामIGLOO2 आणि SmartFusion2 या दोन्ही प्रणाली सेवा सिम्युलेशनसाठी, तुम्हाला सिम्युलेशन बरोबर असल्याचे सत्यापित करण्यासाठी सिस्टम सेवा विनंत्या पाठवणे आणि सिस्टम सेवा प्रतिसाद तपासणे आवश्यक आहे. सिस्टम कंट्रोलरमध्ये प्रवेश करण्यासाठी ही पायरी आवश्यक आहे, जी सिस्टम सेवा प्रदान करते. IGLOO2 आणि SmartFusion2 उपकरणांसाठी सिस्टम कंट्रोलरवर लिहिण्याची आणि वाचण्याची पद्धत वेगळी आहे. SmartFusion2 साठी, Coretex-M3 उपलब्ध आहे आणि तुम्ही बस फंक्शनल मॉडेल (BFM) कमांड वापरून सिस्टम कंट्रोलरवरून लिहू आणि वाचू शकता. IGLOO2 साठी, Cortex-M3 उपलब्ध नाही आणि BFM कमांड वापरून सिस्टम कंट्रोलरमध्ये प्रवेश करता येत नाही.
2.1 उपलब्ध सिस्टम सेवांचे प्रकार
तीन वेगवेगळ्या प्रकारच्या सिस्टीम सेवा उपलब्ध आहेत आणि प्रत्येक प्रकारच्या सेवेचे वेगवेगळे उप-प्रकार आहेत.
सिम्युलेशन संदेश सेवा
डेटा पॉइंटर सेवा
डेटा डिस्क्रिप्टर सेवा
परिशिष्ट -सिस्टम सेवा प्रकार (पृष्ठ 19 पहा) या मार्गदर्शकाच्या धड्यामध्ये विविध प्रकारच्या सिस्टम सेवांचे वर्णन केले आहे. सिस्टम सेवांबद्दल अधिक माहितीसाठी, UG0450: SmartFusion2 SoC आणि IGLOO2 FPGA सिस्टम कंट्रोलर वापरकर्ता मार्गदर्शक पहा.
2.2 IGLOO2 सिस्टम सर्व्हिस सिम्युलेशन
सिस्टम सर्व्हिसेसमध्ये सिस्टम कंट्रोलरकडून लिहिणे आणि वाचणे समाविष्ट आहे. सिम्युलेशनच्या उद्देशाने सिस्टम कंट्रोलरवर लिहिण्यासाठी आणि वाचण्यासाठी, तुम्हाला खालीलप्रमाणे पायऱ्या करणे आवश्यक आहे.

  1. SmartDesign कॅटलॉगमध्ये उपलब्ध CoreSysServices सॉफ्ट IP कोर इन्स्टंट करा.
  2. मर्यादित राज्य मशीन (FSM) साठी HDL कोड लिहा.

HDL FSM CoreSysServices Core सह इंटरफेस करते, जे AHBLite बसचे फॅब्रिक मास्टर म्हणून काम करते. CoreSysServices core COMM BLK ला सिस्टम सेवा विनंती सुरू करते आणि FIC_0/1, फॅब्रिक इंटरफेस कंट्रोलर द्वारे COMM BLK कडून सिस्टम सेवा प्रतिसाद प्राप्त करते, खालील चित्रात दाखवल्याप्रमाणे.
आकृती 2 • IGLOO2 सिस्टम सर्व्हिसेस सिम्युलेशन टोपोलॉजीमायक्रोसेमी UG0837 IGLOO2 आणि SmartFusion2 FPGA सिस्टम सर्व्हिसेस सिम्युलेशन - डेटा फ्लो डायग्राम 12.3 SmartFusion2 सिस्टम सेवा सिम्युलेशन
SmartFusion2 डिव्हाइसेसमध्ये सिस्टम सेवांचे अनुकरण करण्यासाठी, तुम्हाला सिस्टम कंट्रोलरवर लिहिणे आणि वाचणे आवश्यक आहे. सिम्युलेशन हेतूंसाठी सिस्टम कंट्रोलरमध्ये प्रवेश करण्यासाठी दोन पर्याय उपलब्ध आहेत.
पर्याय 1 — CoreSysService सॉफ्ट IP कोरशी इंटरफेस करण्यासाठी FSM साठी HDL कोड लिहा, जो AHBLite फॅब्रिक मास्टर म्हणून काम करतो आणि COMM BLK ला सिस्टम सेवा विनंती सुरू करतो आणि FIC_0/1 फॅब्रिकद्वारे COMM BLK कडून सिस्टम सेवा प्रतिसाद प्राप्त करतो. खालील चित्रात दाखवल्याप्रमाणे इंटरफेस.
आकृती 3 • SmartFusion2 सिस्टम सर्व्हिसेस सिम्युलेशन टोपोलॉजीमायक्रोसेमी UG0837 IGLOO2 आणि SmartFusion2 FPGA सिस्टम सर्व्हिसेस सिम्युलेशन - डेटा फ्लो डायग्राम 2

पर्याय १ - Cortex-M3 हे SmartFusion2 उपकरणांसाठी उपलब्ध असल्याने, तुम्ही BFM कमांड थेट सिस्टीम कंट्रोलरच्या मेमरी स्पेसवर लिहिण्यासाठी आणि वाचण्यासाठी वापरू शकता.
BFM कमांड वापरणे (पर्याय 2) FSM साठी HDL कोड लिहिण्याची गरज वाचवते. या वापरकर्ता मार्गदर्शकामध्ये, SmartFusion2 मध्ये सिस्टम सेवा सिम्युलेशन दर्शविण्यासाठी पर्याय 2 वापरला जातो. या पर्यायासह, तुम्ही तुमच्या BFM कमांड्स लिहिता तेव्हा COMM BLK चा मेमरी मॅप आणि फॅब्रिक इंटरफेस इंटरप्ट कंट्रोलर (FIIC) ब्लॉक शोधण्यासाठी सिस्टम कंट्रोलरच्या मेमरी स्पेसमध्ये प्रवेश केला जातो.
2.4 सिम्युलेशन उदाampलेस
वापरकर्ता मार्गदर्शक खालील सिम्युलेशन कव्हर करते.

  • IGLOO2 अनुक्रमांक सेवा सिम्युलेशन (पृष्ठ 5 पहा)
  • SmartFusion2 अनुक्रमांक सेवा सिम्युलेशन (पृष्ठ 8 पहा)
  • IGLOO2 शून्यीकरण सेवा सिम्युलेशन (पृष्ठ 13 पहा)
  • SmartFusion2 शून्यीकरण सेवा सिम्युलेशन (पृष्ठ 16 पहा)

तत्सम सिम्युलेशन पद्धती इतर सिस्टम सेवांवर लागू केल्या जाऊ शकतात. उपलब्ध असलेल्या विविध प्रणाली सेवांच्या संपूर्ण सूचीसाठी, परिशिष्ट – सिस्टम सेवा प्रकार (पृष्ठ 19 पहा) वर जा.

2.5 IGLOO2 अनुक्रमांक सेवा सिम्युलेशन
IGLOO2 सिरीयल नंबर सर्व्हिस सिम्युलेशनची तयारी करण्यासाठी, खालीलप्रमाणे पायऱ्या करा.

  1. तुमचा HPMS ब्लॉक तयार करण्यासाठी सिस्टम बिल्डरला बोलवा.
  2. डिव्हाइस वैशिष्ट्ये पृष्ठावरील HPMS सिस्टम सेवा चेकबॉक्स तपासा. हे सिस्टम बिल्डरला HPMS_FIC_0 SYS_SERVICES_MASTER बस इंटरफेस (BIF) उघड करण्यासाठी निर्देश देईल.
  3. इतर सर्व चेकबॉक्स अनचेक सोडा.
  4. इतर सर्व पृष्ठांमध्ये डीफॉल्ट स्वीकारा आणि सिस्टम बिल्डर ब्लॉक पूर्ण करण्यासाठी समाप्त क्लिक करा. Libero® SoC च्या HDL संपादकामध्ये, FSM साठी HDL कोड लिहा (File > नवीन > एचडीएल) . तुमच्या FSM मध्ये खालील तीन अवस्था समाविष्ट करा.
    INIT राज्य (प्रारंभिक स्थिती)
    SERV_PHASE (सेवा विनंती स्थिती)
    RSP_PHASE (सेवा प्रतिसाद स्थिती).
    खालील आकृती FSM च्या तीन अवस्था दर्शवते.
    आकृती 4 • तीन-राज्य FSM
  5. मायक्रोसेमी UG0837 IGLOO2 आणि SmartFusion2 FPGA सिस्टम सर्व्हिसेस सिम्युलेशन - थ्री-स्टेट FSM 1तुमच्या FSM साठी HDL कोडमध्ये, INIT स्थितीतून सेवा विनंती स्थिती प्रविष्ट करण्यासाठी योग्य कमांड कोड (“01” हेक्स अनुक्रमांक सेवेसाठी ) वापरा.
  6. तुमचा एचडीएल जतन करा file. FSM हे डिझाईन पदानुक्रमात एक घटक म्हणून दिसते.
  7. SmartDesign उघडा. तुमचा टॉप-लेव्हल सिस्टम बिल्डर ब्लॉक आणि तुमचा FSM ब्लॉक SmartDesign कॅनव्हासमध्ये ड्रॅग आणि ड्रॉप करा. कॅटलॉगमधून, CoreSysService सॉफ्ट IP कोर स्मार्टडिझाइन कॅनव्हासमध्ये ड्रॅग आणि ड्रॉप करा.
  8. कॉन्फिगरेटर उघडण्यासाठी CoreSysService सॉफ्ट IP कोरवर उजवे-क्लिक करा. अनुक्रमांक सेवा चेकबॉक्स तपासा (डिव्हाइस आणि डिझाइन माहिती सेवा अंतर्गत
    गट) अनुक्रमांक सेवा सक्षम करण्यासाठी.
  9. इतर सर्व चेकबॉक्स अनचेक सोडा. कॉन्फिगरेटरमधून बाहेर पडण्यासाठी ओके क्लिक करा.
    आकृती 5 • CoreSysServices सॉफ्ट IP कोर कॉन्फिगरेटर
    मायक्रोसेमी UG0837 IGLOO2 आणि SmartFusion2 FPGA सिस्टम सर्व्हिसेस सिम्युलेशन - कोर कॉन्फिगरेटर
  10. सिस्टम बिल्डर ब्लॉकच्या HPMS_FIC_0 SYS_SERVICES_MASTER BIF ला CoreSysService ब्लॉकच्या AHBL_MASTER BIF शी कनेक्ट करा.
  11. तुमच्या HDL FSM ब्लॉकचे आउटपुट CoreSysService सॉफ्ट IP कोरच्या इनपुटशी कनेक्ट करा. खालील आकृतीमध्ये दाखवल्याप्रमाणे स्मार्टडिझाइन कॅनव्हासमध्ये इतर सर्व कनेक्शन बनवा.
    आकृती 6 • HDL ब्लॉक, CoreSysServices Soft IP आणि HPMS ब्लॉक्ससह स्मार्टडिझाइन कॅनव्हासमायक्रोसेमी UG0837 IGLOO2 आणि SmartFusion2 FPGA सिस्टम सर्व्हिसेस सिम्युलेशन - HPMS ब्लॉक्स
  12. SmartDesign कॅनव्हासमध्ये, वरच्या लेव्हल डिझाइन तयार करण्यासाठी > Generate Component वर राइट-क्लिक करा.
  13. डिझाइन पदानुक्रमात view, टॉप लेव्हल डिझाइनवर उजवे-क्लिक करा आणि तयार करा टेस्टबेंच > HDL निवडा.
  14. मजकूर तयार करण्यासाठी मजकूर संपादक वापरा file "status.txt" नावाचे.
  15. सिस्टम सेवेसाठी कमांड आणि 128-बिट अनुक्रमांक समाविष्ट करा. अधिक माहितीसाठी, टेबल 1 (सिस्टम सर्व्हिसेस कमांड/प्रतिसाद मूल्ये) पहा CoreSysServices v3.1 हँडबुक वेगवेगळ्या सिस्टम सेवांसाठी कमांड कोड्स (हेक्स) वापरण्यासाठी. अनुक्रमांक सेवेसाठी, कमांड कोड "01" हेक्स आहे.

status.txt चे स्वरूप file अनुक्रमांक सेवेसाठी खालीलप्रमाणे आहे.
< 2 हेक्स अंक CMD><32 हेक्स अंक अनुक्रमांक>
Example: 01A1A2A3A4B1B2B3B4C1C2C3C4D1D2D3D4
status.txt सेव्ह करा file तुमच्या प्रोजेक्टच्या सिम्युलेशन फोल्डरमध्ये. डिझाइन आता सिम्युलेशनसाठी तयार आहे.
सेवेची अंमलबजावणी सुरू झाल्यावर, खालील आकृतीत दाखवल्याप्रमाणे, मॉडेलसिम ट्रान्सक्रिप्ट विंडोमध्ये गंतव्य स्थान आणि अनुक्रमांक दर्शवणारा संदेश प्रदर्शित केला जातो.
आकृती 7 • मॉडेलसिम सिम्युलेशन ट्रान्सक्रिप्ट विंडोमायक्रोसेमी UG0837 IGLOO2 आणि SmartFusion2 FPGA सिस्टम सर्व्हिसेस सिम्युलेशन - ट्रान्सक्रिप्ट विंडोसिस्टीम कंट्रोलर अनुक्रमांकासह पत्त्यावर AHB लिहितो. सेवा पूर्ण झाल्यावर, COMM_BLK चे RXFIFO सेवेच्या प्रतिसादासह लोड केले जाईल.
टीप: वेगवेगळ्या सिस्टम सेवांसाठी वापरल्या जाणार्‍या कमांड कोडच्या संपूर्ण सूचीसाठी, CoreSysServices v1 हँडबुक किंवा UG3.1: SmartFusion0450 SoC आणि IGLOO2 FPGA सिस्टम कंट्रोलर वापरकर्ता मार्गदर्शक मधील टेबल 2 (सिस्टम सर्व्हिसेस कमांड/प्रतिसाद मूल्ये) पहा.
2.6 SmartFusion2 अनुक्रमांक सेवा सिम्युलेशन
या वापरकर्ता मार्गदर्शकामध्ये, सिस्टम सेवेसाठी सिस्टम कंट्रोलरमध्ये प्रवेश करण्यासाठी BFM कमांड्स (पर्याय 2) वापरल्या जातात. कॉर्टेक्स-एम3 प्रोसेसर BFM सिम्युलेशनसाठी डिव्हाइसवर उपलब्ध असल्याने BFM कमांड्स वापरल्या जातात. एकदा तुम्हाला COMM_BLK चे मेमरी मॅपिंग कळल्यानंतर BFM कमांड तुम्हाला COMM BLK वर थेट लिहू आणि वाचू देतात.
SmartFusion2 सिरीयल नंबर सेवा सिम्युलेशनसाठी तुमची रचना तयार करण्यासाठी, खालील पायऱ्या करा.

  1. कॅटलॉगमधून तुमच्या प्रोजेक्टच्या डिझाइन कॅनव्हासवर MSS ड्रॅग आणि ड्रॉप करा.
  2. MSS_CCC, रीसेट कंट्रोलर, इंटरप्ट मॅनेजमेंट आणि FIC_0, FIC_1 आणि FIC_2 वगळता सर्व MSS पेरिफेरल्स अक्षम करा.
  3. फॅब्रिक इंटरप्ट करण्यासाठी MSS वापरण्यासाठी व्यत्यय व्यवस्थापन कॉन्फिगर करा.
  4. serialnum.bfm तयार करा file टेक्स्ट एडिटरमध्ये किंवा लिबेरोच्या एचडीएल एडिटरमध्ये. serialnum.bfm सेव्ह करा file प्रकल्पाच्या सिम्युलेशन फोल्डरमध्ये. serialnum.bfm मध्ये खालील तपशीलांचा समावेश असावा.
    • COMM BLK (CMBLK) वर मेमरी मॅपिंग
    • व्यत्यय व्यवस्थापन परिधीय (FIIC) करण्यासाठी मेमरी मॅपिंग
    • अनुक्रमांक प्रणाली सेवा विनंतीसाठी आदेश (“01” हेक्स)
    • अनुक्रमांकाच्या स्थानासाठी पत्ता
    एक माजीample of the serialnum.bfm file खालीलप्रमाणे आहे.
    memmap FIIC 0x40006000; व्यत्यय व्यवस्थापनासाठी #मेमरी मॅपिंग
    memmap CMBLK 0x40016000; #COMM BLK वर मेमरी मॅपिंग
    memmap DESCRIPTOR_ADDR 0x20000000; # अनुक्रमांकासाठी पत्ता स्थान
    # हेक्साडेसिमल मध्ये कमांड कोड
    सतत CMD 0x1 # सीरियल नंबर सर्व्हिससाठी कमांड कोड
    #FIIC कॉन्फिगरेशन नोंदणी
    स्थिर FICC_INTERRUPT_ENABLE0 0x0
    #COMM_BLK कॉन्फिगरेशन रजिस्टर्स
    स्थिर नियंत्रण 0x00
    स्थिर स्थिती 0x04
    स्थिर INT_ENABLE 0x08
    स्थिर डेटा8 0x10
    स्थिर डेटा32 0x14
    स्थिर FRAME_START8 0x18
    स्थिर FRAME_START32 0x1C
    प्रक्रिया अनुक्रमांक;
    इंट x;
    लिहा w FIIC FICC_INTERRUPT_ENABLE0 0x20000000 # कॉन्फिगर करा
    #FICC_INTERRUPT_ENABLE0 # COMBLK_INTR # सक्षम करण्यासाठी नोंदणी करा
    #COMM_BLK ब्लॉक पासून फॅब्रिक पर्यंत व्यत्यय
    # विनंतीचा टप्पा
    लिहा w CMBLK CONTROL 0x10 # COMM BLK कंट्रोल कॉन्फिगर करा # यावर नोंदणी करा
    COMM BLK इंटरफेसवर हस्तांतरण सक्षम करा
    लिहा w CMBLK INT_ENABLE 0x1 # COMM BLK इंटरप्ट सक्षम कॉन्फिगर करा
    #TXTOKAY साठी इंटरप्ट सक्षम करण्यासाठी नोंदणी करा (संबंधित बिट मध्ये
    #स्थिती नोंदवही)
    waitint 19 # COMM BLK व्यत्ययाची प्रतीक्षा करा, येथे #BFM प्रतीक्षा करते
    # जोपर्यंत COMBLK_INTR ठाम आहे
    readstore w CMBLK STATUS x # वाचा COMM BLK स्थिती नोंदणी #TXTOKAY साठी
    # व्यत्यय
    xx आणि 0x1 सेट करा
    जर x
    लिहा w CMBLK FRAME_START8 CMD # COMM BLK FRAME_START8 कॉन्फिगर करा
    #सिरियल नंबर सेवेची विनंती करण्यासाठी नोंदणी करा
    एंडिफ
    एंडिफ
    प्रतीक्षा करा 19 # COMM BLK व्यत्यय, येथे प्रतीक्षा करा
    #BFM COMBLK_INTR ठाम होईपर्यंत प्रतीक्षा करते
    readstore w CMBLK STATUS x # साठी COMM BLK स्थिती नोंदणी वाचा
    #TXTOKAY व्यत्यय
    xx आणि 0x1 सेट करा
    xx आणि 0x1 सेट करा
    जर x
    लिहा w CMBLK CONTROL 0x14 # COMM BLK कंट्रोल कॉन्फिगर करा
    #COMM BLK इंटरफेसवर हस्तांतरण सक्षम करण्यासाठी नोंदणी करा
    लिहा w CMBLK DATA32 DESCRIPTOR_ADDR
    लिहा w CMBLK INT_ENABLE 0x80
    W CMBLK CONTROL 0x10 लिहा
    एंडिफ
    वाट पहा ८
    #प्रतिसाद टप्पा
    प्रतीक्षा 19
    रीडस्टोअर w CMBLK स्थिती x
    xx आणि 0x80 सेट करा
    जर x
    CMBLK FRAME_START8 CMD सह रीडचेक
    लिहा w CMBLK INT_ENABLE 0x2
    एंडिफ
    प्रतीक्षा 19
    रीडस्टोअर w CMBLK स्थिती x
    xx आणि 0x2 सेट करा
    जर x
    CMBLK DATA8 0x0 वाचा तपासा
    W CMBLK CONTROL 0x18 लिहा
    एंडिफ
    प्रतीक्षा 19
    वाचा तपासा w FIIC 0x8 0x20000000
    रीडस्टोअर w CMBLK स्थिती x
    xx आणि 0x2 सेट करा
    जर x
    CMBLK DATA32 DESCRIPTOR_ADDR सह रीडचेक
    एंडिफ
    रीडचेक w DESCRIPTOR_ADDR 0x0 0xE1E2E3E4; #S/N तपासण्यासाठी वाचा
    रीडचेक w DESCRIPTOR_ADDR 0x4 0xC1C2C3C4; #S/N तपासण्यासाठी वाचा
    रीडचेक w DESCRIPTOR_ADDR 0x8 0xB1B2B3B4; #S/N तपासण्यासाठी वाचा
    रीडचेक w DESCRIPTOR_ADDR 0xC 0xA1A2A3A4; #S/N तपासण्यासाठी वाचा
    परत
  5. स्थिती तयार करा. txt file Libero च्या HDL संपादक किंवा कोणत्याही मजकूर संपादकात. सिरीअल नंबर सिस्टम सर्व्हिस कमांड (Hex मध्ये “01”) आणि सिरीअल नंबर स्टेटसमध्ये समाविष्ट करा. txt file. योग्य कमांड कोड वापरण्यासाठी CoreSysServices v3.1 हँडबुक पहा.
  6. याची वाक्यरचना file अनुक्रमांक सेवेसाठी, <2 हेक्स अंक CMD>< 32 हेक्स अंक अनुक्रमांक> आहे. उदाample: 01A1A2A3A4B1B2B3B4C1C2C3C4E1E2E3E4.
  7. स्टेटस .txt सेव्ह करा file प्रकल्पाच्या सिम्युलेशन फोल्डरमध्ये.
  8. अनुक्रमांक समाविष्ट करण्यासाठी वापरकर्ता .bfm (सिम्युलेशन फोल्डरमध्ये स्थित) संपादित करा. bfm file आणि खालील कोड स्निपेटमध्ये दर्शविल्याप्रमाणे अनुक्रमांक प्रक्रियेवर कॉल करा.
    "serialnum.bfm" समाविष्ट करा # serialnum.bfm समाविष्ट करा
    प्रक्रिया user_main;
    "माहिती: सिम्युलेशन स्टार्ट्स" मुद्रित करा;
    प्रिंट करा “माहिती: सर्व्हिस कमांड कोड दशांश मध्ये:%0d”, CMD ;
    कॉल सिरियलनम; #क्रमांक प्रक्रियेला कॉल करा
    "माहिती: सिम्युलेशन समाप्त" मुद्रित करा;
    परत
  9. डिझाइन पदानुक्रमात view, टेस्टबेंच व्युत्पन्न करा (राइट-क्लिक करा, टॉप लेव्हल डिझाइन > टेस्टबेंच तयार करा > एचडीएल ) आणि तुम्ही सिरियल नंबर सर्व्हिस सिम्युलेशन चालवण्यासाठी तयार आहात.

सेवेची अंमलबजावणी सुरू झाल्यावर, गंतव्य स्थान आणि अनुक्रमांक दर्शवणारा संदेश प्रदर्शित होतो. सिस्टीम कंट्रोलर अनुक्रमांकासह पत्त्यावर AHB लिहितो. सेवा पूर्ण झाल्यावर, COMM_BLK चे RXFIFO सेवेच्या प्रतिसादासह लोड केले जाईल. मॉडेलसिम ट्रान्सक्रिप्ट विंडो खालील आकृतीमध्ये दर्शविल्याप्रमाणे पत्ता आणि प्राप्त केलेला अनुक्रमांक दाखवते.
आकृती 8 • मॉडेलसिम ट्रान्सक्रिप्ट विंडोमध्ये SmartFusion2 सिरीयल नंबर सेवा सिम्युलेशनमायक्रोसेमी UG0837 IGLOO2 आणि SmartFusion2 FPGA सिस्टम सर्व्हिसेस सिम्युलेशन - ट्रान्सक्रिप्ट विंडो 1

2.7 IGLOO2 शून्यीकरण सेवा सिम्युलेशन
IGLOO2 शून्यीकरण सेवा सिम्युलेशनची तयारी करण्यासाठी, खालीलप्रमाणे चरणे करा.

  1. HPMS ब्लॉक तयार करण्यासाठी सिस्टम बिल्डरला बोलवा. डिव्हाइस वैशिष्ट्ये SYS_SERVICES_MASTER BIF मध्ये HPMS सिस्टम सेवा चेकबॉक्स तपासा. इतर सर्व चेकबॉक्स अनचेक सोडा. इतर सर्व पृष्ठांमध्ये डीफॉल्ट स्वीकारा आणि पृष्ठावर क्लिक करा. हे सिस्टम बिल्डरला सिस्टम बिल्डर ब्लॉकचे कॉन्फिगरेशन पूर्ण करण्यासाठी HPMS_FIC_0 फिनिश उघड करण्याची सूचना देते.
  2. Libero SoC च्या HDL संपादकामध्ये, FSM साठी HDL कोड लिहा. तुमच्या FSM साठी HDL कोडमध्ये, खालील तीन अवस्था समाविष्ट करा.
    INIT राज्य (प्रारंभिक स्थिती)
    SERV_PHASE (सेवा विनंती स्थिती)
    RSP_PHASE (सेवा प्रतिसाद स्थिती)
    खालील आकृती FSM च्या तीन अवस्था दर्शवते.
    आकृती 9 • तीन-राज्य FSMमायक्रोसेमी UG0837 IGLOO2 आणि SmartFusion2 FPGA सिस्टम सर्व्हिसेस सिम्युलेशन - थ्री-स्टेट FSM

     

  3. तुमच्या एचडीएल कोडमध्ये, INIT स्थितीतून सेवा विनंती स्थिती प्रविष्ट करण्यासाठी कमांड कोड “F0″(Hex) वापरा.
  4. तुमचा एचडीएल जतन करा file.
  5. SmartDesign उघडा, तुमचा टॉप-लेव्हल सिस्टम बिल्डर ब्लॉक आणि तुमचा HDL FSM ब्लॉक SmartDesign कॅनव्हासमध्ये ड्रॅग आणि ड्रॉप करा. कॅटलॉगमधून, CoreSysService सॉफ्ट IP कोर स्मार्टडिझाइन कॅनव्हासमध्ये ड्रॅग आणि ड्रॉप करा.
  6. कॉन्फिग्युरेटर उघडण्यासाठी CoreSysServices सॉफ्ट IP कोरवर उजवे-क्लिक करा आणि डेटा सिक्युरिटी सर्व्हिसेस ग्रुप अंतर्गत झिरोइझेशन सर्व्हिस चेकबॉक्स चेक करा. इतर सर्व चेकबॉक्स अनचेक सोडा. ओके बाहेर पडण्यासाठी क्लिक करा.
    आकृती 10 • CoreSysServices कॉन्फिगरेटर
    मायक्रोसेमी UG0837 IGLOO2 आणि SmartFusion2 FPGA सिस्टम सर्व्हिसेस सिम्युलेशन - कोर कॉन्फिगरेटर 1
  7. सिस्टम बिल्डर ब्लॉकच्या HPMS_FIC_0 SYS_SERVICES_MASTER BIF ला CoreSysService ब्लॉकच्या AHBL_MASTER BIF शी कनेक्ट करा.
  8. तुमच्या HDL FSM ब्लॉकचे आउटपुट CoreSysService सॉफ्ट IP कोरच्या इनपुटशी कनेक्ट करा. SmartDesign कॅनव्हासमध्ये इतर सर्व कनेक्शन बनवा.
    आकृती 11 • HDL ब्लॉक, CoreSysServices Soft IP, आणि HPMS ब्लॉक्ससह स्मार्टडिझाइन कॅनव्हास
    मायक्रोसेमी UG0837 IGLOO2 आणि SmartFusion2 FPGA सिस्टम सर्व्हिसेस सिम्युलेशन - HPMS ब्लॉक्स 19. स्मार्टडिझाइन कॅनव्हासमध्ये, उच्च-स्तरीय डिझाइन तयार करा (राइट-क्लिक> घटक तयार करा).
    10. डिझाइन पदानुक्रमात view, उच्च-स्तरीय डिझाइनवर उजवे-क्लिक करा आणि तयार करा Testbench > HDL निवडा. तुम्ही आता सिम्युलेशन चालवण्यासाठी तयार आहात.
    एकदा सेवा कार्यान्वित करणे सुरू झाल्यानंतर, खाली दिलेल्या आकृतीमध्ये दर्शविल्याप्रमाणे x वेळी शून्यीकरण पूर्ण झाल्याचे दर्शविणारा संदेश प्रदर्शित केला जातो.
    आकृती 12 • IGLOO2 शून्यीकरण प्रणाली सेवा सिम्युलेशन ट्रान्सक्रिप्ट विंडो
    मायक्रोसेमी UG0837 IGLOO2 आणि SmartFusion2 FPGA सिस्टम सर्व्हिसेस सिम्युलेशन - ट्रान्सक्रिप्ट विंडो 3

सिस्टीम कंट्रोलर अनुक्रमांकासह पत्त्यावर AHB लिहितो. सेवा पूर्ण झाल्यावर, COMM_BLK चे RXFIFO सेवेच्या प्रतिसादासह लोड केले जाईल. हे लक्षात घेतले पाहिजे की सिम्युलेशन मॉडेल डिझाईनचे शून्यीकरण करण्याऐवजी सिम्युलेशन थांबवून शून्यीकरणाचे अनुकरण करते.
टीप: वेगवेगळ्या सिस्टम सेवांसाठी वापरल्या जाणार्‍या कमांड कोडच्या संपूर्ण सूचीसाठी, टेबल 1 (सिस्टम सर्व्हिसेस कमांड/प्रतिसाद मूल्ये) पहा. CoreSysServices v3.1 हँडबुक:. किंवा UG0450: SmartFusion2 SoC आणि IGLOO2 FPGA सिस्टम कंट्रोलर वापरकर्ता मार्गदर्शक

2.8 SmartFusion2 Zeroization सेवा सिम्युलेशन
या मार्गदर्शकामध्ये, सिस्टम सेवेसाठी सिस्टम कंट्रोलरमध्ये प्रवेश करण्यासाठी BFM कमांड्स (पर्याय 2) वापरल्या जातात.
कॉर्टेक्स-एम3 प्रोसेसर BFM सिम्युलेशनसाठी डिव्हाइसवर उपलब्ध असल्याने BFM कमांड्स वापरल्या जातात. एकदा तुम्हाला COMM_BLK चे मेमरी मॅपिंग कळल्यानंतर BFM कमांड तुम्हाला COMM BLK वर थेट लिहू आणि वाचू देतात. SmartFusion2 zeroization सेवा सिम्युलेशनसाठी तुमची रचना तयार करण्यासाठी, खालील पायऱ्या करा.

  1. कॅटलॉगमधून तुमच्या प्रोजेक्टच्या डिझाइन कॅनव्हासवर MSS ड्रॅग आणि ड्रॉप करा.
  2. MSS_CCC, रीसेट कंट्रोलर, इंटरप्ट मॅनेजमेंट आणि FIC_0, FIC_1 आणि FIC_2 वगळता सर्व MSS पेरिफेरल्स अक्षम करा.
  3. फॅब्रिक इंटरप्ट करण्यासाठी MSS वापरण्यासाठी व्यत्यय व्यवस्थापन कॉन्फिगर करा.
  4. zeroizaton.bfm तयार करा file टेक्स्ट एडिटरमध्ये किंवा लिबेरोच्या एचडीएल एडिटरमध्ये. तुमचे शून्यीकरण. bfm मध्ये हे समाविष्ट असावे:
  • COMM BLK (CMBLK) वर मेमरी मॅपिंग
  • व्यत्यय व्यवस्थापन परिधीय (FIIC) करण्यासाठी मेमरी मॅपिंग
  • zeroizaton सेवा विनंतीसाठी आदेश (zeriozation साठी “F0” हेक्स)

एक माजीample of the serialnum.bfm file पुढील आकृती मध्ये दर्शविले आहे.
आकृती 13 • SmartFusion2 शून्यकरण प्रणाली सेवा सिम्युलेशनसाठी Zeroization.bfm

मायक्रोसेमी UG0837 IGLOO2 आणि SmartFusion2 FPGA सिस्टम सर्व्हिसेस सिम्युलेशन - ट्रान्सक्रिप्ट विंडो 4

5. zeroization.bfm जतन करा file प्रकल्पाच्या सिम्युलेशन फोल्डरमध्ये. user.bfm
6. खालील कोड स्निपेट वापरून समाविष्ट करण्यासाठी (zeroization.bfm सिम्युलेशन फोल्डरमध्ये स्थित) संपादित करा.
"zeroization.bfm" # zeroization.bfm समाविष्ट करा file प्रक्रिया user_main;
"माहिती: सिम्युलेशन स्टार्ट्स" मुद्रित करा;
प्रिंट करा “माहिती: सर्व्हिस कमांड कोड दशांश मध्ये:%0d”, CMD ;
कॉल शून्यीकरण; #कॉल शून्यीकरण प्रक्रिया परतावा
7. डिझाईन पदानुक्रमात, Testbench व्युत्पन्न करा (उच्च स्तरावर उजवे क्लिक करा > Testbench तयार करा > HDL ) आणि तुम्ही SmartFusion2 शून्यीकरण सिम्युलेशन चालवण्यासाठी तयार आहात.
एकदा सेवा कार्यान्वित होण्यास सुरुवात झाली की, x दर्शविलेल्या वेळी डिव्हाइस शून्य झाले आहे असे दर्शवणारा संदेश. हे लक्षात घेतले पाहिजे की सिम्युलेशन मॉडेल डिझाईनचे शून्यीकरण करण्याऐवजी सिम्युलेशन थांबवून शून्यीकरणाचे अनुकरण करते. खालील आकृतीमधील मॉडेलसिम ट्रान्सक्रिप्ट विंडो दर्शवते की डिव्हाइस शून्य केले गेले आहे.

आकृती 14 • SmartFusion2 Zeroization System Service Simulation Log

मायक्रोसेमी UG0837 IGLOO2 आणि SmartFusion2 FPGA सिस्टम सर्व्हिसेस सिम्युलेशन - ट्रान्सक्रिप्ट विंडो 5

परिशिष्ट: सिस्टम सेवांचे प्रकार

हा धडा विविध प्रकारच्या प्रणाली सेवांचे वर्णन करतो.
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 चा डीफॉल्ट अनुक्रमांक वापरला जाईल. सेवेची अंमलबजावणी सुरू झाल्यावर, गंतव्य स्थान आणि अनुक्रमांक दर्शवणारा संदेश प्रदर्शित होतो. सिस्टीम कंट्रोलर अनुक्रमांकासह पत्त्यावर AHB लिहितो. सेवा पूर्ण झाल्यावर, COMM_BLK चे RXFIFO सेवेच्या प्रतिसादासह लोड केले जाईल.
3.2.2 वापरकर्ता कोड
युजरकोड सेवा सेवा विनंतीचा भाग म्हणून प्रदान केलेल्या पत्त्याच्या स्थानावर 32-बिट वापरकर्ता कोड पॅरामीटर लिहिते. हे 32-बिट पॅरामीटर सिस्टम सर्व्हिस सिम्युलेशन सपोर्ट वापरून सेट केले जाऊ शकते file (पृष्ठ 22 पहा). 32-बिट पॅरामीटर मध्ये परिभाषित केले नसल्यास file, 0 चे डीफॉल्ट मूल्य वापरले जाते. सेवेची अंमलबजावणी सुरू झाल्यावर, लक्ष्य स्थान आणि वापरकर्ता कोड दर्शविणारा संदेश प्रदर्शित होतो. सिस्टम कंट्रोलर 32-बिट पॅरामीटरसह पत्त्यावर AHB लिहितो. सेवा पूर्ण झाल्यावर, COMM_BLK चे RXFIFO सेवा प्रतिसादासह लोड केले जाते, ज्यामध्ये सेवा आदेश आणि लक्ष्य पत्ता समाविष्ट असतो.
3.3 डेटा डिस्क्रिप्टर सेवा
खालील विभाग विविध प्रकारच्या डेटा डिस्क्रिप्टर सेवांचे वर्णन करतात.

३.३.१ एईएस
या सेवेसाठी सिम्युलेशन सपोर्ट केवळ डेटावर कोणतेही एन्क्रिप्शन/डिक्रिप्शन न करता मूळ डेटा स्त्रोतापासून गंतव्यस्थानावर हलविण्याशी संबंधित आहे. सेवेची विनंती पाठवण्यापूर्वी जो डेटा एन्क्रिप्ट/डिक्रिप्ट करणे आवश्यक आहे आणि डेटा स्ट्रक्चर लिहिणे आवश्यक आहे. एकदा सेवा कार्यान्वित करणे सुरू झाल्यानंतर, AES सेवेची अंमलबजावणी दर्शविणारा संदेश प्रदर्शित होतो. AES सेवा डेटा स्ट्रक्चर आणि एन्क्रिप्टेड/डिक्रिप्टेड डेटा दोन्ही वाचते. मूळ डेटा कॉपी केला जातो आणि डेटा स्ट्रक्चरमध्ये प्रदान केलेल्या पत्त्यावर लिहिला जातो. सेवा पूर्ण झाल्यावर, आदेश, स्थिती आणि डेटा संरचना पत्ता RXFIFO मध्ये ढकलला जातो.
टीप: ही सेवा केवळ 128-बिट आणि 256-बिट डेटासाठी आहे आणि 128-बिट आणि 256-बिट दोन्ही डेटाची लांबी भिन्न डेटा संरचना आहे.

3.3.2 SHA 256
या सेवेसाठी सिम्युलेशन सपोर्ट केवळ डेटा हलविण्याशी संबंधित आहे, प्रत्यक्षात डेटावर कोणतेही हॅशिंग न करता. SHA 256 फंक्शन इनपुट डेटावर आधारित 256-बिट हॅश की व्युत्पन्न करण्यासाठी डिझाइन केले आहे. सेवा विनंती COMM_BLK कडे पाठवण्यापूर्वी जो डेटा हॅश करणे आवश्यक आहे आणि डेटा संरचना त्यांच्या संबंधित पत्त्यांवर लिहिली जावी. SHA 256 डेटा स्ट्रक्चरमध्‍ये परिभाषित केलेली बिट आणि पॉइंटरमधील लांबी हॅश करण्‍याच्‍या डेटाच्‍या लांबी आणि पत्‍त्‍याशी अचूकपणे जुळली पाहिजे. एकदा सेवा कार्यान्वित करणे सुरू झाल्यानंतर, SHA 256 सेवेची अंमलबजावणी दर्शविणारा संदेश प्रदर्शित होतो. वास्तविक फंक्शन कार्यान्वित करण्याऐवजी, डेटा स्ट्रक्चरमधून डेस्टिनेशन पॉइंटरवर डीफॉल्ट हॅश की लिहिली जाईल. डिफॉल्ट हॅश की हेक्स "ABCD1234" आहे. सानुकूल की सेट करण्यासाठी, पॅरामीटर सेटिंग (पृष्ठ 23 पहा) विभागात जा. सेवा पूर्ण झाल्यावर, RXFIFO सेवा आदेश, स्थिती आणि SHA 256 डेटा स्ट्रक्चर पॉइंटर असलेल्या सेवा प्रतिसादासह लोड केले जाते.
3.3.3 HMAC
या सेवेसाठी सिम्युलेशन सपोर्ट केवळ डेटा हलविण्याशी संबंधित आहे, प्रत्यक्षात डेटावर कोणतेही हॅशिंग न करता. सेवा विनंती COMM_BLK कडे पाठवण्यापूर्वी जो डेटा हॅश करणे आवश्यक आहे आणि डेटा संरचना त्यांच्या संबंधित पत्त्यांवर लिहिली जावी. HMAC सेवेसाठी बाइट्स, सोर्स पॉइंटर आणि डेस्टिनेशन पॉइंटरमधील लांबी व्यतिरिक्त 32-बाइट की आवश्यक आहे. एकदा सेवा कार्यान्वित करणे सुरू झाल्यानंतर, HMAC सेवेची अंमलबजावणी दर्शविणारा संदेश प्रदर्शित होतो. की वाचली जाते आणि 256-बिट की डेटा स्ट्रक्चरमधून गंतव्य पॉइंटरवर कॉपी केली जाते. सेवा पूर्ण झाल्यावर, RXFIFO सेवा आदेश, स्थिती आणि HMAC डेटा स्ट्रक्चर पॉइंटर असलेल्या सेवा प्रतिसादाने लोड केले जाते.

3.3.4 DRBG जनरेट करा
या सेवेद्वारे यादृच्छिक बिट्सची निर्मिती केली जाते. हे लक्षात घेतले पाहिजे की सिम्युलेशन मॉडेल सिलिकॉनद्वारे वापरलेल्या समान यादृच्छिक संख्या निर्मिती पद्धतीचे अचूकपणे पालन करत नाही. सेवेची विनंती COMM_BLK कडे पाठवण्यापूर्वी डेटा संरचना त्याच्या इच्छित स्थानावर योग्यरित्या लिहिली जाणे आवश्यक आहे. डेटा स्ट्रक्चर, डेस्टिनेशन पॉइंटर, लांबी आणि इतर संबंधित डेटा सिस्टम कंट्रोलरद्वारे वाचला जातो. DRBG जनरेट सेवा विनंती केलेल्या लांबीच्या डेटाचा छद्म यादृच्छिक संच (0-128) व्युत्पन्न करते. सिस्टम कंट्रोलर गंतव्य पॉइंटरमध्ये यादृच्छिक डेटा लिहितो. DRBG जनरेट सेवेची अंमलबजावणी दर्शविणारा संदेश सिम्युलेशनमध्ये प्रदर्शित केला जातो. सेवा पूर्ण झाल्यावर, आदेश, स्थिती आणि डेटा संरचना पत्ता RXFIFO मध्ये ढकलला जातो. विनंती केलेल्या डेटाची लांबी 0-128 च्या मर्यादेत नसल्यास, RXFIFO मध्ये “4” (मॅक्स जनरेट ) चा एरर कोड टाकला जाईल. जर अतिरिक्त डेटा लांबी 0-128 च्या विनंती खूप मोठ्या श्रेणीमध्ये नसेल, तर “5” चा एरर कोड (अतिरिक्त डेटाची कमाल लांबी ओलांडली) RXFIFO मध्ये ढकलली जाईल. जनरेटसाठी विनंती केलेली डेटा लांबी आणि अतिरिक्त डेटा लांबी दोन्ही त्यांच्या परिभाषित श्रेणीमध्ये नसल्यास (0-128), RXFIFO मध्ये “1” ( आपत्तीजनक त्रुटी ) चा एरर कोड टाकला जातो.

3.3.5 DRBG रीसेट
वास्तविक रीसेट फंक्शन 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 कडे पाठवण्यापूर्वी डेटा संरचना त्याच्या इच्छित स्थानावर योग्यरित्या लिहिली जाणे आवश्यक आहे. सेवा विनंती आढळल्यानंतर, MSS अॅड्रेस स्पेसमधील रचना आणि अतिरिक्त इनपुट पॅरामीटर वाचले जाईल. DRBG रीसीड सेवा कार्यान्वित झाली आहे हे दर्शविणारा संदेश प्रदर्शित केला जाईल. सेवेची विनंती COMM_BLK कडे पाठवण्यापूर्वी डेटा संरचना त्याच्या इच्छित स्थानावर योग्यरित्या लिहिली जाणे आवश्यक आहे. सेवा पूर्ण झाल्यावर, प्रतिसाद, ज्यामध्ये सर्व्हिस कमांड, स्टेटस आणि डेटा स्ट्रक्चरचे पॉइंटर समाविष्ट आहे, RXFIFO मध्ये ढकलले जाईल.
3.3.10 KeyTree
वास्तविक कार्य KeyTree सेवेसाठी सिम्युलेशनमध्ये कार्यान्वित केले जात नाही. KeyTree सर्व्हिस डेटा स्ट्रक्चरमध्ये 32-बाइट की, 7-बिट ऑप्टाइप डेटा (MSB दुर्लक्षित), आणि 16-बाइट पथ समाविष्ट आहे. COMM_BLK कडे सेवा विनंती पाठवण्यापूर्वी डेटा स्ट्रक्चरमधील डेटा त्यांच्या संबंधित पत्त्यांवर लिहिला जावा. एकदा सेवा कार्यान्वित करणे सुरू झाल्यानंतर, KeyTree सेवेची अंमलबजावणी दर्शविणारा संदेश प्रदर्शित केला जाईल. डेटा स्ट्रक्चरची सामग्री वाचली जाईल, 32-बाइट की संग्रहित केली जाईल आणि डेटा स्ट्रक्चरमध्ये असलेली मूळ की अधिलिखित केली जाईल. या एएचबी लिहिल्यानंतर, डेटा स्ट्रक्चरमधील कीचे मूल्य बदलू नये, परंतु लेखनासाठी एएचबी व्यवहार होतील. सेवा पूर्ण झाल्यावर, सेवा आदेश, स्थिती आणि KeyTree डेटा स्ट्रक्चर पॉइंटरसह RXFIFO सेवा प्रतिसादाने लोड केले जाते.
3.3.11 आव्हान प्रतिसाद
वास्तविक कार्य, जसे की डिव्हाइसचे प्रमाणीकरण, आव्हान प्रतिसाद सेवेसाठी सिम्युलेशनमध्ये कार्यान्वित केले जात नाही. या सेवेसाठी डेटा स्ट्रक्चरला 32-बाइट परिणाम, 7-बिट ऑप्टाइप आणि 128-बिट पथ प्राप्त करण्यासाठी बफरकडे एक पॉइंटर आवश्यक आहे. COMM_BLK कडे सेवा विनंती पाठवण्यापूर्वी डेटा स्ट्रक्चरमधील डेटा त्यांच्या संबंधित पत्त्यांवर लिहिला जावा. एकदा सेवा कार्यान्वित करणे सुरू झाल्यानंतर, आव्हान प्रतिसाद सेवेची अंमलबजावणी दर्शविणारा संदेश प्रदर्शित केला जाईल. डेटा स्ट्रक्चरमध्ये प्रदान केलेल्या पॉइंटरमध्ये एक सामान्य 256-बिट प्रतिसाद लिहिला जाईल. डीफॉल्ट की हेक्स "ABCD1234" म्हणून सेट केली आहे. सानुकूल की मिळविण्यासाठी, पॅरामीटर सेटिंग तपासा (पृष्ठ 23 पहा). सेवा पूर्ण झाल्यावर, RXFIFO ला सेवा प्रतिसादासह लोड केले जाईल, ज्यामध्ये सेवा आदेश, स्थिती आणि आव्हान प्रतिसाद डेटा स्ट्रक्चर पॉइंटर असेल.
3.4 इतर सेवा
खालील विभाग विविध प्रणाली सेवांचे वर्णन करतात.
3.4.1 डायजेस्ट तपासा
सिम्युलेशनमध्ये डायजेस्ट चेक सेवेसाठी निवडलेल्या घटकांच्या डायजेस्टची पुनर्गणना आणि तुलना करण्याचे वास्तविक कार्य केले जात नाही. या सेवा विनंतीमध्ये सेवा आदेश आणि सेवा पर्याय (5-बिट LSB) असतात. सेवेची अंमलबजावणी सुरू झाल्यानंतर, विनंतीवरून निवडलेल्या पर्यायांसह, डायजेस्ट चेक सेवेच्या अंमलबजावणीचा तपशील देणारा संदेश प्रदर्शित केला जाईल. सेवा पूर्ण झाल्यावर, RXFIFO सेवा प्रतिसादासह लोड केले जाईल, ज्यामध्ये सर्व्हिस कमांड आणि डायजेस्ट चेक पास/फेल फ्लॅग असतील.
3.4.2 अपरिचित आदेश प्रतिसाद
जेव्हा एक अपरिचित सेवा विनंती COMM_BLK ला पाठविली जाते, तेव्हा COMM_BLK RXFIFO मध्ये पुश केलेल्या अपरिचित कमांड संदेशासह स्वयंचलितपणे उत्तर देईल. संदेशामध्ये COMM_BLK मध्ये पाठवलेली कमांड आणि अपरिचित कमांड स्थिती (252D) असते. एक अपरिचित सेवा विनंती आढळली असल्याचे दर्शविणारा एक प्रदर्शन संदेश देखील प्रदर्शित केला जाईल. COMM_BLK निष्क्रिय स्थितीत परत येईल, पुढील सेवा विनंती स्वीकारण्याची प्रतीक्षा करत आहे.
3.4.3 असमर्थित सेवा
COMM_BLK वर सेट केलेल्या असमर्थित सेवा सिम्युलेशनमध्ये संदेश ट्रिगर करतील जे सेवा विनंती असमर्थित असल्याचे दर्शवेल. COMM_BLK निष्क्रिय स्थितीत परत येईल, पुढील सेवा विनंती स्वीकारण्याची प्रतीक्षा करत आहे. PINTERRUPT सेट केला जाणार नाही, सेवा पूर्ण झाली आहे असे सूचित करते. असमर्थित सेवांच्या वर्तमान सूचीमध्ये हे समाविष्ट आहे: IAP, ISP, डिव्हाइस प्रमाणपत्र आणि DESIGNVER सेवा.
3.5 सिस्टम सर्व्हिसेस सिम्युलेशन सपोर्ट File
सिस्टम सेवा सिम्युलेशनला समर्थन देण्यासाठी, एक मजकूर file "status.txt" नावाचा वापर सिम्युलेशन मॉडेलच्या आवश्यक वर्तनाबद्दलच्या सूचना सिम्युलेशन मॉडेलमध्ये पास करण्यासाठी केला जाऊ शकतो. या file ज्या फोल्डरमधून सिम्युलेशन चालवले जाते त्याच फोल्डरमध्ये स्थित असावे. द file इतर गोष्टींबरोबरच, समर्थित सिस्टम सेवांसाठी काही त्रुटी प्रतिसादांची सक्ती करण्यासाठी किंवा सिम्युलेशनसाठी आवश्यक असलेले काही पॅरामीटर सेट करण्यासाठी देखील वापरले जाऊ शकते, (उदा.ample, अनुक्रमांक). "status.txt" मध्ये समर्थित रेषांची कमाल संख्या file 256 आहे. ओळ क्रमांक 256 नंतर दिसणार्‍या सूचना सिम्युलेशनमध्ये वापरल्या जाणार नाहीत.
3.5.1 त्रुटी प्रतिसादांची सक्ती करणे
“status.txt” वापरून सिम्युलेशन मॉडेलला माहिती देऊन चाचणी दरम्यान विशिष्ट सेवेसाठी वापरकर्ता विशिष्ट त्रुटी प्रतिसाद देऊ शकतो. file, ज्या फोल्डरमधून सिम्युलेशन चालवले जाते त्या फोल्डरमध्ये ठेवले पाहिजे. एखाद्या विशिष्ट सेवेवर त्रुटी प्रतिसादांची सक्ती करण्यासाठी, कमांड आणि आवश्यक प्रतिसाद एकाच ओळीत खालील फॉरमॅटमध्ये टाईप केला जावा:ample, कमांडला> ; सिम्युलेशन मॉडेलला अनुक्रमांक सेवेला MSS मेमरी ऍक्सेस एरर रिस्पॉन्स व्युत्पन्न करण्यासाठी निर्देश द्या, कमांड खालीलप्रमाणे आहे.
सेवा: अनुक्रमांक: 01
विनंती केलेला त्रुटी संदेश: MSS मेमरी प्रवेश त्रुटी: 7F
तुम्ही “status.txt” मध्ये 017F ही ओळ टाकलेली असावी file.
3.5.2 पॅरामीटर सेटिंग
"status.txt" file सिम्युलेशनमध्ये आवश्यक असलेले काही पॅरामीटर सेट करण्यासाठी देखील वापरले जाऊ शकते. माजी म्हणूनample, वापरकर्ताकोडसाठी 32-बिट पॅरामीटर सेट करण्यासाठी, ओळीचे स्वरूप या क्रमाने असणे आवश्यक आहे: <32 बिट USERCODE>; जेथे दोन्ही मूल्ये हेक्साडेसिमलमध्ये प्रविष्ट केली आहेत. अनुक्रमांकासाठी 128-बिट पॅरामीटर सेट करण्यासाठी, ओळीचे स्वरूप या क्रमाने असणे आवश्यक आहे: <१२८ बिट अनुक्रमांक [१२७:०]> ; जेथे दोन्ही मूल्ये हेक्साडेसिमलमध्ये प्रविष्ट केली आहेत. SHA 128 की साठी 127-बिट पॅरामीटर सेट करण्यासाठी; ओळीचे स्वरूप या क्रमाने असणे आवश्यक आहे: <0 बिट की [256:256]>; जेथे दोन्ही मूल्ये हेक्साडेसिमलमध्ये प्रविष्ट केली आहेत. आव्हान प्रतिसाद की साठी 256-बिट पॅरामीटर सेट करण्यासाठी, ओळीचे स्वरूप या क्रमाने असणे आवश्यक आहे: <255 बिट की [0:256]>;
जेथे दोन्ही मूल्ये हेक्साडेसिमलमध्ये प्रविष्ट केली आहेत.
3.5.3 डिव्हाइस प्राधान्य
सिस्टम सेवा आणि COMM_BLK उच्च प्राधान्य प्रणाली वापरतात. सध्या, शून्यीकरण ही एकमेव उच्च प्राधान्य सेवा आहे. उच्च-प्राधान्य सेवा कार्यान्वित करण्यासाठी, दुसरी सेवा कार्यान्वित केली जात असताना, वर्तमान सेवा थांबविली जाते आणि उच्च प्राधान्य सेवा तिच्या जागी कार्यान्वित केली जाईल. उच्च प्राधान्य सेवा पार पाडण्यासाठी COMM_BLK वर्तमान सेवा टाकून देईल. वर्तमान सेवा पूर्ण होण्यापूर्वी एकाधिक गैर-उच्च-प्राधान्य सेवा पाठविल्यास, या सेवा TXFIFO मध्ये रांगेत असतील. वर्तमान सेवा पूर्ण झाल्यावर, TXFIFO मधील पुढील सेवा कार्यान्वित केली जाईल.

Microsemi कोणतीही हमी, प्रतिनिधित्व, किंवा कोणतीही हमी देत ​​नाही यामधील माहिती किंवा त्याची उत्पादने आणि सेवा कोणत्याही विशिष्ट उद्देशासाठी उपयुक्तता, किंवा Microsemi कोणत्याही उत्पादन किंवा सर्किटच्या वापरामुळे उद्भवणारे कोणतेही दायित्व स्वीकारत नाही. येथे विकली जाणारी उत्पादने आणि Microsemi द्वारे विकली जाणारी इतर कोणतीही उत्पादने मर्यादित चाचणीच्या अधीन आहेत आणि मिशन-गंभीर उपकरणे किंवा अनुप्रयोगांच्या संयोगाने वापरली जाऊ नयेत. कोणतीही कार्यप्रदर्शन वैशिष्ट्ये विश्वासार्ह असल्याचे मानले जाते परंतु ते सत्यापित केले जात नाही आणि खरेदीदाराने उत्पादनांचे सर्व कार्यप्रदर्शन आणि इतर चाचणी आयोजित करणे आणि पूर्ण करणे आवश्यक आहे, एकट्याने आणि कोणत्याही अंतिम उत्पादनांसह, किंवा स्थापित केले पाहिजे. खरेदीदार मायक्रोसेमी द्वारे प्रदान केलेल्या कोणत्याही डेटा आणि कार्यप्रदर्शन वैशिष्ट्यांवर किंवा पॅरामीटर्सवर अवलंबून राहू नये. कोणत्याही उत्पादनांची योग्यता स्वतंत्रपणे निर्धारित करणे आणि त्याची चाचणी आणि पडताळणी करणे ही खरेदीदाराची जबाबदारी आहे. Microsemi द्वारे प्रदान केलेली माहिती "जशी आहे, कुठे आहे" आणि सर्व दोषांसह प्रदान केली आहे आणि अशा माहितीशी संबंधित संपूर्ण जोखीम पूर्णपणे खरेदीदारावर आहे. मायक्रोसेमी कोणत्याही पक्षाला कोणतेही पेटंट अधिकार, परवाने किंवा इतर कोणतेही IP अधिकार, स्पष्टपणे किंवा अप्रत्यक्षपणे मंजूर करत नाही, मग ते अशा माहितीच्या संदर्भात किंवा अशा माहितीद्वारे वर्णन केलेल्या कोणत्याही गोष्टीबाबत. या दस्तऐवजात प्रदान केलेली माहिती मायक्रोसेमीच्या मालकीची आहे आणि या दस्तऐवजातील माहितीमध्ये किंवा कोणत्याही उत्पादन आणि सेवांमध्ये कोणत्याही वेळी सूचना न देता कोणतेही बदल करण्याचा अधिकार मायक्रोसेमी राखून ठेवते.
Microsemi, Microchip Technology Inc. (Nasdaq: MCHP) ची पूर्ण मालकीची उपकंपनी, एरोस्पेस आणि संरक्षण, संप्रेषण, डेटा सेंटर आणि औद्योगिक बाजारांसाठी सेमीकंडक्टर आणि सिस्टम सोल्यूशन्सचा सर्वसमावेशक पोर्टफोलिओ ऑफर करते. उत्पादनांमध्ये उच्च-कार्यक्षमता आणि रेडिएशन-कडक अॅनालॉग मिश्रित-सिग्नल इंटिग्रेटेड सर्किट्स, FPGAs, SoCs आणि ASICs समाविष्ट आहेत; ऊर्जा व्यवस्थापन उत्पादने; वेळ आणि समक्रमण साधने आणि अचूक वेळ उपाय, वेळेसाठी जागतिक मानक सेट करणे; व्हॉइस प्रोसेसिंग उपकरणे; आरएफ उपाय; स्वतंत्र घटक; एंटरप्राइझ स्टोरेज आणि कम्युनिकेशन सोल्यूशन्स; सुरक्षा तंत्रज्ञान आणि स्केलेबल अँटी-टीamper उत्पादने; इथरनेट सोल्यूशन्स; पॉवर-ओव्हर-इथरनेट आयसी आणि मिडस्पॅन्स; तसेच सानुकूल डिझाइन क्षमता आणि सेवा. Microsemi चे मुख्यालय Aliso Viejo, California येथे आहे आणि जागतिक स्तरावर त्यांचे अंदाजे 4,800 कर्मचारी आहेत. येथे अधिक जाणून घ्या www.microsemi.com.

मायक्रोसेमी लोगो

मायक्रोसेमी मुख्यालय
वन एंटरप्राइझ, अलिसो व्हिएजो,
सीए 92656 यूएसए
यूएसए मध्ये: +1 ५७४-५३७-८९००
यूएसए बाहेर: +1 ५७४-५३७-८९००
विक्री: +1 ५७४-५३७-८९००
फॅक्स: +1 ५७४-५३७-८९००
ईमेल: विक्री.support@microsemi.com
www.microsemi.com
© 2018 मायक्रोसेमी. सर्व हक्क राखीव. मायक्रोसेमी आणि मायक्रोसेमी लोगो
मायक्रोसेमी कॉर्पोरेशनचे ट्रेडमार्क आहेत. इतर सर्व ट्रेडमार्क आणि सेवा
गुण त्यांच्या संबंधित मालकांची मालमत्ता आहेत.

कागदपत्रे / संसाधने

मायक्रोसेमी UG0837 IGLOO2 आणि SmartFusion2 FPGA सिस्टम सर्व्हिसेस सिम्युलेशन [pdf] वापरकर्ता मार्गदर्शक
UG0837, UG0837 IGLOO2 आणि SmartFusion2 FPGA सिस्टम सेवा सिम्युलेशन, IGLOO2 आणि SmartFusion2 FPGA सिस्टम सर्व्हिसेस सिम्युलेशन, SmartFusion2 FPGA सिस्टम सर्व्हिसेस सिम्युलेशन, FPGA सिस्टम सर्व्हिसेस सिम्युलेशन, सर्व्हिसेस सिम्युलेशन

संदर्भ

एक टिप्पणी द्या

तुमचा ईमेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित आहेत *