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

UG0837
प्रयोगकर्ता गाइड
IGLOO2 र SmartFusion2 FPGA
प्रणाली सेवा सिमुलेशन
जुन २०२३

संशोधन इतिहास

संशोधन इतिहासले कागजातमा लागू गरिएका परिवर्तनहरू वर्णन गर्दछ। परिवर्तनहरू संशोधनद्वारा सूचीबद्ध गरिएका छन्, सबैभन्दा हालको प्रकाशनबाट सुरु हुँदै।
१२ संशोधन १.२
संशोधन 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 प्रणाली नियन्त्रक।
प्रयोगकर्ता गाइड
निम्न दृष्टान्तले प्रणाली सेवा डेटा प्रवाह देखाउँछ।
चित्र १ • प्रणाली सेवा डाटा प्रवाह रेखाचित्रमाइक्रोसेमी UG0837 IGLOO2 र SmartFusion2 FPGA प्रणाली सेवा सिमुलेशन - डाटा प्रवाह रेखाचित्रदुबै IGLOO2 र SmartFusion2 प्रणाली सेवा सिमुलेशनका लागि, तपाईंले प्रणाली सेवा अनुरोधहरू पठाउनु पर्छ र सिमुलेशन सही छ भनेर प्रमाणित गर्न प्रणाली सेवा प्रतिक्रियाहरू जाँच गर्न आवश्यक छ। यो चरण प्रणाली नियन्त्रक पहुँच गर्न आवश्यक छ, जसले प्रणाली सेवाहरू प्रदान गर्दछ। प्रणाली नियन्त्रकबाट लेख्ने र पढ्ने तरिका IGLOO2 र SmartFusion2 यन्त्रहरूको लागि फरक छ। SmartFusion2 को लागि, Coretex-M3 उपलब्ध छ र तपाइँ बस कार्यात्मक मोडेल (BFM) आदेशहरू प्रयोग गरेर प्रणाली नियन्त्रकबाट लेख्न र पढ्न सक्नुहुन्छ। IGLOO2 को लागि, Cortex-M3 उपलब्ध छैन र BFM आदेशहरू प्रयोग गरेर प्रणाली नियन्त्रक पहुँचयोग्य छैन।
२.१ उपलब्ध प्रणाली सेवाका प्रकारहरू
तीन फरक प्रकारका प्रणाली सेवाहरू उपलब्ध छन् र प्रत्येक प्रकारका सेवाहरूमा फरक-फरक उप-प्रकारहरू छन्।
सिमुलेशन सन्देश सेवाहरू
डाटा सूचक सेवाहरू
डाटा वर्णनकर्ता सेवाहरू
परिशिष्ट -प्रणाली सेवा प्रकारहरू (पृष्ठ 19 हेर्नुहोस्) यस गाइडको अध्यायले विभिन्न प्रकारका प्रणाली सेवाहरू वर्णन गर्दछ। प्रणाली सेवाहरूको बारेमा थप जानकारीको लागि, UG0450: SmartFusion2 SoC र IGLOO2 FPGA प्रणाली नियन्त्रक प्रयोगकर्ता गाइड हेर्नुहोस्।
२.२ IGLOO2.2 प्रणाली सेवा सिमुलेशन
प्रणाली सेवाहरूले प्रणाली नियन्त्रकबाट लेख्न र पढ्न समावेश गर्दछ। सिमुलेशन उद्देश्यका लागि प्रणाली नियन्त्रकबाट लेख्न र पढ्नको लागि, तपाईंले निम्नानुसार चरणहरू प्रदर्शन गर्न आवश्यक छ।

  1. SmartDesign क्याटलगमा उपलब्ध CoreSysServices सफ्ट IP कोर इन्स्ट्यान्टिएट गर्नुहोस्।
  2. परिमित राज्य मेसिन (FSM) को लागि HDL कोड लेख्नुहोस्।

HDL FSM CoreSysServices Core सँग इन्टरफेस गर्दछ, जसले AHBLite बसको कपडा मास्टरको रूपमा कार्य गर्दछ। CoreSysServices कोरले COMM BLK लाई प्रणाली सेवा अनुरोध प्रारम्भ गर्दछ र FIC_0/1, फेब्रिक इन्टरफेस नियन्त्रक मार्फत COMM BLK बाट प्रणाली सेवा प्रतिक्रियाहरू प्राप्त गर्दछ जुन निम्न दृष्टान्तमा देखाइएको छ।
चित्र २ • IGLOO2 प्रणाली सेवा सिमुलेशन टोपोलोजीमाइक्रोसेमी UG0837 IGLOO2 र SmartFusion2 FPGA प्रणाली सेवा सिमुलेशन - डेटा प्रवाह रेखाचित्र 12.3 SmartFusion2 प्रणाली सेवा सिमुलेशन
SmartFusion2 यन्त्रहरूमा प्रणाली सेवाहरू अनुकरण गर्न, तपाईंले प्रणाली नियन्त्रकबाट लेख्न र पढ्न आवश्यक छ। सिमुलेशन उद्देश्यका लागि प्रणाली नियन्त्रक पहुँच गर्न दुई विकल्पहरू उपलब्ध छन्।
विकल्प 1 — CoreSysService सफ्ट IP कोरसँग इन्टरफेस गर्न FSM को लागि HDL कोड लेख्नुहोस्, जसले AHBLite कपडा मास्टरको रूपमा कार्य गर्दछ र COMM BLK लाई प्रणाली सेवा अनुरोध प्रारम्भ गर्दछ र FIC_0/1 कपडा मार्फत COMM BLK बाट प्रणाली सेवा प्रतिक्रियाहरू प्राप्त गर्दछ। निम्न दृष्टान्तमा देखाइएको इन्टरफेस।
चित्र ३ • SmartFusion3 प्रणाली सेवा सिमुलेशन टोपोलोजीमाइक्रोसेमी UG0837 IGLOO2 र SmartFusion2 FPGA प्रणाली सेवा सिमुलेशन - डेटा प्रवाह रेखाचित्र 2

विकल्प १ - Cortex-M3 SmartFusion2 यन्त्रहरूका लागि उपलब्ध भएकोले, तपाईंले प्रणाली नियन्त्रकको मेमोरी स्पेसबाट सिधै लेख्न र पढ्न BFM आदेशहरू प्रयोग गर्न सक्नुहुन्छ।
BFM आदेशहरू प्रयोग गरेर (विकल्प 2) FSM को लागि HDL कोडहरू लेख्न आवश्यक बचत गर्दछ। यो प्रयोगकर्ता गाइडमा, SmartFusion2 मा प्रणाली सेवा सिमुलेशन देखाउन विकल्प 2 प्रयोग गरिन्छ। यस विकल्पको साथ, तपाईंले आफ्नो BFM आदेशहरू लेख्दा COMM BLK को मेमोरी नक्सा र कपडा इन्टरफेस इन्टरप्ट कन्ट्रोलर (FIIC) ब्लक पत्ता लगाउन प्रणाली नियन्त्रकको मेमोरी स्पेस पहुँच गरिन्छ।
२.४ सिमुलेशन उदाampलेस
प्रयोगकर्ता गाइडले निम्न सिमुलेशनहरू समेट्छ।

  • IGLOO2 सिरियल नम्बर सेवा सिमुलेशन (पृष्ठ 5 हेर्नुहोस्)
  • SmartFusion2 सिरियल नम्बर सेवा सिमुलेशन (पृष्ठ 8 हेर्नुहोस्)
  • IGLOO2 शून्यकरण सेवा सिमुलेशन (पृष्ठ १३ हेर्नुहोस्)
  • SmartFusion2 Zeroization सेवा सिमुलेशन (पृष्ठ 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 > नयाँ > HDL)। तपाईंको FSM मा निम्न तीन राज्यहरू समावेश गर्नुहोस्।
    INIT राज्य (प्रारम्भिक अवस्था)
    SERV_PHASE (सेवा अनुरोध अवस्था)
    RSP_PHASE (सेवा प्रतिक्रिया स्थिति)।
    निम्न चित्रले FSM को तीन राज्यहरू देखाउँछ।
    चित्र ४ • तीन-राज्य FSM
  5. माइक्रोसेमी UG0837 IGLOO2 र SmartFusion2 FPGA प्रणाली सेवा सिमुलेशन - तीन-राज्य FSM 1FSM को लागि तपाईंको HDL कोडमा, INIT राज्यबाट सेवा अनुरोध स्थिति प्रविष्ट गर्न सही आदेश कोड ("01" सिरियल नम्बर सेवाको लागि हेक्स) प्रयोग गर्नुहोस्।
  6. आफ्नो HDL बचत गर्नुहोस् file। FSM डिजाइन पदानुक्रममा एक घटकको रूपमा देखा पर्दछ।
  7. SmartDesign खोल्नुहोस्। तपाईंको शीर्ष-स्तर प्रणाली निर्माणकर्ता ब्लक र तपाईंको FSM ब्लक SmartDesign क्यानभासमा तान्नुहोस् र छोड्नुहोस्। क्याटलगबाट, CoreSysService सफ्ट आईपी कोरलाई SmartDesign क्यानभासमा तान्नुहोस् र छोड्नुहोस्।
  8. कन्फिगरेटर खोल्न CoreSysService सफ्ट आईपी कोरमा दायाँ क्लिक गर्नुहोस्। सिरियल नम्बर सेवा चेकबक्स जाँच गर्नुहोस् (उपकरण र डिजाइन सूचना सेवाहरू अन्तर्गत
    समूह) क्रम संख्या सेवा सक्षम गर्न।
  9. अन्य सबै चेकबक्सहरू अनचेक छोड्नुहोस्। कन्फिगरेटरबाट बाहिर निस्कन ठीक क्लिक गर्नुहोस्।
    चित्र ५ • CoreSysServices सफ्ट आईपी कोर कन्फिगुरेटर
    माइक्रोसेमी UG0837 IGLOO2 र SmartFusion2 FPGA प्रणाली सेवा सिमुलेशन - कोर कन्फिगुरेटर
  10. प्रणाली निर्माणकर्ता ब्लकको HPMS_FIC_0 SYS_SERVICES_MASTER BIF लाई CoreSysService ब्लकको AHBL_MASTER BIF मा जडान गर्नुहोस्।
  11. तपाईंको HDL FSM ब्लकको आउटपुट CoreSysService सफ्ट IP कोरको इनपुटमा जडान गर्नुहोस्। निम्न चित्रमा देखाइए अनुसार SmartDesign क्यानभासमा अन्य सबै जडानहरू बनाउनुहोस्।
    चित्र 6 • HDL ब्लक, CoreSysServices सफ्ट आईपी र HPMS ब्लकहरू भएको स्मार्टडिजाइन क्यानभासमाइक्रोसेमी UG0837 IGLOO2 र SmartFusion2 FPGA प्रणाली सेवा सिमुलेशन - HPMS ब्लकहरू
  12. SmartDesign क्यानभासमा, शीर्ष स्तरको डिजाइन उत्पन्न गर्नको लागि > Generate Component मा दायाँ क्लिक गर्नुहोस्।
  13. डिजाइन पदानुक्रम मा view, शीर्ष स्तरको डिजाइनमा दायाँ क्लिक गर्नुहोस् र Testbench सिर्जना गर्नुहोस् > HDL चयन गर्नुहोस्।
  14. पाठ सिर्जना गर्न पाठ सम्पादक प्रयोग गर्नुहोस् file "status.txt" नाम दिइएको छ।
  15. प्रणाली सेवा र 128-बिट क्रम संख्याको लागि आदेश समावेश गर्नुहोस्। थप जानकारीको लागि, तालिका 1 (प्रणाली सेवा आदेश/प्रतिक्रिया मानहरू) हेर्नुहोस् CoreSysServices v3.1 ह्यान्डबुक आदेश कोडहरू (हेक्स) विभिन्न प्रणाली सेवाहरूको लागि प्रयोग गर्नका लागि। क्रम संख्या सेवाको लागि, आदेश कोड "01" हेक्स हो।

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

  1. MSS लाई क्याटलगबाट तपाईंको प्रोजेक्टको डिजाइन क्यानभासमा तान्नुहोस् र छोड्नुहोस्।
  2. MSS_CCC, रिसेट कन्ट्रोलर, अवरोध व्यवस्थापन, र FIC_0, FIC_1 र FIC_2 बाहेक सबै MSS बाह्यहरू असक्षम गर्नुहोस्।
  3. कपडा अवरोध गर्न MSS प्रयोग गर्न अवरोध व्यवस्थापन कन्फिगर गर्नुहोस्।
  4. serialnum.bfm तयार गर्नुहोस् file पाठ सम्पादकमा वा Libero को HDL सम्पादकमा। 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
    स्थिर DATA8 0x10
    स्थिर DATA32 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 को लागि अवरोध सक्षम गर्न दर्ता गर्नुहोस् (सम्बन्धित बिट मा
    #स्थिति दर्ता)
    प्रतीक्षा गर्नुहोस् 19 # COMM BLK अवरोधको लागि पर्खनुहोस्, यहाँ #BFM पर्खन्छ
    # till COMBLK_INTR दाबी गरिएको छ
    readstore w CMBLK STATUS x # पढ्नुहोस् COMM BLK स्थिति दर्ता #TXTOKAY को लागि
    # अवरोध
    xx र 0x1 सेट गर्नुहोस्
    यदि x
    लेख्नुहोस् w CMBLK FRAME_START8 CMD # COMM BLK FRAME_START8 कन्फिगर गर्नुहोस्
    # सिरियल नम्बर सेवा अनुरोध गर्न दर्ता गर्नुहोस्
    endifName
    endifName
    प्रतीक्षा गर्नुहोस् 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 लेख्नुहोस्
    endifName
    प्रतीक्षा 20
    #प्रतिक्रिया चरण
    प्रतीक्षा 19
    CMBLK स्थिति x रीडस्टोर
    xx र 0x80 सेट गर्नुहोस्
    यदि x
    CMBLK FRAME_START8 CMD ww पढ्नुहोस्
    W CMBLK INT_ENABLE 0x2 लेख्नुहोस्
    endifName
    प्रतीक्षा 19
    CMBLK स्थिति x रीडस्टोर
    xx र 0x2 सेट गर्नुहोस्
    यदि x
    CMBLK DATA8 0x0 ww पढ्नुहोस्
    W CMBLK CONTROL 0x18 लेख्नुहोस्
    endifName
    प्रतीक्षा 19
    पढ्नुहोस् w FIIC 0x8 0x20000000
    CMBLK स्थिति x रीडस्टोर
    xx र 0x2 सेट गर्नुहोस्
    यदि x
    CMBLK DATA32 DESCRIPTOR_ADDR ww पढ्नुहोस्
    endifName
    रिडचेक 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 सम्पादक वा कुनै पाठ सम्पादकमा। सिरियल नम्बर प्रणाली सेवा आदेश (हेक्समा "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;
    कल सिरियलनम; # serialnum प्रक्रिया कल गर्नुहोस्
    "जानकारी: सिमुलेशन समाप्त" छाप्नुहोस्;
    फिर्ता
  9. डिजाइन पदानुक्रम मा view, testbench उत्पन्न गर्नुहोस् (दायाँ क्लिक गर्नुहोस्, शीर्ष स्तर डिजाइन > Testbench सिर्जना गर्नुहोस् > HDL ) र तपाईं क्रम संख्या सेवा सिमुलेशन चलाउन तयार हुनुहुन्छ।

एक पटक सेवा कार्यान्वयन सुरु भएपछि, गन्तव्य स्थान र क्रम संख्या देखाउने सन्देश प्रदर्शित हुन्छ। प्रणाली नियन्त्रकले क्रम संख्याको साथ ठेगानामा AHB लेख्ने सञ्चालन गर्दछ। सेवा पूरा भएपछि, COMM_BLK को RXFIFO सेवा प्रतिक्रियाको साथ लोड हुनेछ। मोडेलसिम ट्रान्सक्रिप्ट सञ्झ्यालले निम्न चित्रमा देखाइएको ठेगाना र सिरियल नम्बर देखाउँछ।
चित्र ८ • मोडेलसिम ट्रान्सक्रिप्ट विन्डोमा SmartFusion8 सिरियल नम्बर सेवा सिमुलेशनमाइक्रोसेमी UG0837 IGLOO2 र SmartFusion2 FPGA प्रणाली सेवा सिमुलेशन - ट्रान्सक्रिप्ट विन्डो 1

2.7 IGLOO2 शून्यकरण सेवा सिमुलेशन
IGLOO2 zeroization सेवा सिमुलेशनको लागि तयारी गर्न, निम्नानुसार चरणहरू प्रदर्शन गर्नुहोस्।

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

     

  3. तपाईंको HDL कोडमा, INIT राज्यबाट सेवा अनुरोध स्थिति प्रविष्ट गर्न आदेश कोड "F0″(Hex) प्रयोग गर्नुहोस्।
  4. आफ्नो HDL बचत गर्नुहोस् file.
  5. SmartDesign खोल्नुहोस्, तपाईंको शीर्ष-स्तर प्रणाली निर्माणकर्ता ब्लक र तपाईंको HDL FSM ब्लकलाई SmartDesign क्यानभासमा तान्नुहोस् र छोड्नुहोस्। क्याटलगबाट, CoreSysService सफ्ट आईपी कोरलाई SmartDesign क्यानभासमा तान्नुहोस् र छोड्नुहोस्।
  6. CoreSysServices सफ्ट आईपी कोरमा दायाँ क्लिक गर्नुहोस्, कन्फिगरेटर खोल्न र डाटा सुरक्षा सेवा समूह अन्तर्गत शून्यकरण सेवा चेकबक्स जाँच गर्नुहोस्। अन्य सबै चेकबक्सहरू अनचेक छोड्नुहोस्। OK बाहिर निस्कन क्लिक गर्नुहोस्।
    चित्र 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 सफ्ट आईपी, र HPMS ब्लकहरू भएको स्मार्टडिजाइन क्यानभास
    माइक्रोसेमी UG0837 IGLOO2 र SmartFusion2 FPGA प्रणाली सेवा सिमुलेशन - HPMS ब्लकहरू 19. SmartDesign क्यानभासमा, शीर्ष-स्तरको डिजाइन उत्पन्न गर्नुहोस् (दायाँ क्लिक > कम्पोनेन्ट उत्पन्न गर्नुहोस्)।
    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) प्रणाली सेवाको लागि प्रणाली नियन्त्रक पहुँच गर्न प्रयोग गरिन्छ।
BFM सिमुलेशनको लागि यन्त्रमा Cortex-M3 प्रोसेसर उपलब्ध भएकोले BFM आदेशहरू प्रयोग गरिन्छ। BFM आदेशहरूले तपाइँलाई COMM_BLK को मेमोरी म्यापिङ थाहा भएपछि COMM BLK बाट सिधै लेख्न र पढ्न अनुमति दिन्छ। SmartFusion2 zeroization सेवा सिमुलेशनको लागि आफ्नो डिजाइन तयार गर्न, निम्न चरणहरू गर्नुहोस्।

  1. MSS लाई क्याटलगबाट तपाईंको प्रोजेक्टको डिजाइन क्यानभासमा तान्नुहोस् र छोड्नुहोस्।
  2. MSS_CCC, रिसेट कन्ट्रोलर, अवरोध व्यवस्थापन, र FIC_0, FIC_1 र FIC_2 बाहेक सबै MSS बाह्यहरू असक्षम गर्नुहोस्।
  3. कपडा अवरोध गर्न MSS प्रयोग गर्न अवरोध व्यवस्थापन कन्फिगर गर्नुहोस्।
  4. zeroizaton.bfm तयार गर्नुहोस् file पाठ सम्पादकमा वा Libero को HDL सम्पादकमा। तपाईंको शून्यकरण। bfm समावेश गर्नुपर्छ:
  • COMM BLK (CMBLK) मा मेमोरी म्यापिङ
  • व्यवस्थापन परिधीय अवरोध गर्न मेमोरी म्यापिङ (FIIC)
  • zeroizaton सेवा अनुरोधको लागि आदेश (zeriozation को लागी "F0" हेक्स)

एक पूर्वample of the serialnum.bfm file निम्न चित्रमा देखाईएको छ।
चित्र 13 • SmartFusion2 Zeroization प्रणाली सेवा सिमुलेशनको लागि 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 zeroization सिमुलेशन चलाउन तयार हुनुहुन्छ।
एक पटक सेवा कार्यान्वयन सुरु भएपछि, x मा यन्त्र शून्य गरिएको छ भनेर संकेत गर्ने सन्देश प्रदर्शित हुन्छ। यो ध्यान दिनुपर्छ कि सिमुलेशन मोडेलले डिजाइनलाई शून्यकरण गर्नुको सट्टा सिमुलेशन रोकेर शून्यकरण सिमुलेट गर्दछ। निम्न चित्रमा रहेको ModelSim ट्रान्सक्रिप्ट विन्डोले यन्त्र शून्य गरिएको देखाउँछ।

चित्र 14 • SmartFusion2 Zeroization प्रणाली सेवा सिमुलेशन लग

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

परिशिष्ट: प्रणाली सेवाहरूको प्रकार

यस अध्यायले विभिन्न प्रकारका प्रणाली सेवाहरू वर्णन गर्दछ।
3.1 सिमुलेशन सन्देश सेवाहरू
निम्न खण्डहरूले विभिन्न प्रकारका सिमुलेशन सन्देश सेवाहरूको वर्णन गर्दछ।
3.1.1 फ्ल्यास * फ्रिज
FIC (IGLOO2 यन्त्रहरूको अवस्थामा) वा Cortex-M3 (SmartFusion2 यन्त्रहरूमा) बाट COMM_BLK मा उचित सेवा अनुरोध पठाउँदा सिमुलेशनले Flash*फ्रिज स्थितिमा प्रवेश गर्नेछ। एकपटक प्रणाली नियन्त्रकद्वारा सेवा पत्ता लागेपछि, सिमुलेशन रोकिनेछ र प्रणालीले Flash*Freeze (चयन गरिएको विकल्पको साथमा) प्रवेश गरेको जनाउने सन्देश प्रदर्शित हुनेछ। सिमुलेशन पुन: सुरु गरेपछि, COMM_BLK को RXFIFO सेवा आदेश र स्थिति समावेश सेवा प्रतिक्रियाले भरिनेछ। यो ध्यान दिनु पर्छ कि त्यहाँ फ्लैश * फ्रिज निकास को लागी कुनै सिमुलेशन समर्थन छैन।
३.१.२ शून्यकरण
शून्यकरण हाल COMM_BLK द्वारा प्रशोधन गरिएको प्रणाली सेवाहरू भित्र एक मात्र उच्च प्राथमिकता सेवा हो। COMM_BLK द्वारा सही सेवा अनुरोध पत्ता लाग्ने बित्तिकै सिमुलेशन शून्यकरण स्थितिमा प्रवेश गर्नेछ। अन्य सेवाहरूको कार्यान्वयन रोकिनेछ र प्रणाली नियन्त्रकद्वारा खारेज गरिनेछ, र यसको सट्टामा शून्यकरण सेवा कार्यान्वयन गरिनेछ। एक पटक शून्यकरण सेवा अनुरोध पत्ता लागेपछि, सिमुलेशन रोकिन्छ र प्रणालीले शून्यकरण प्रविष्ट गरेको संकेत गर्ने सन्देश प्रदर्शित हुन्छ। शून्यकरण पछि सिमुलेशन को म्यानुअल पुन: सुरु अमान्य छ।
3.2 डाटा सूचक सेवाहरू
निम्न खण्डहरूले विभिन्न प्रकारका डेटा सूचक सेवाहरूको वर्णन गर्दछ।
3.2.1 क्रम संख्या
सिरियल नम्बर सेवाले सेवा अनुरोधको भागको रूपमा प्रदान गरिएको ठेगाना स्थानमा 128-बिट सिरियल नम्बर लेख्नेछ। यो 128-बिट प्यारामिटर प्रणाली सेवा सिमुलेशन समर्थन प्रयोग गरेर सेट गर्न सकिन्छ file (पृष्ठ २२ हेर्नुहोस्)। यदि 22-बिट सिरियल नम्बर प्यारामिटर भित्र परिभाषित गरिएको छैन file, 0 को पूर्वनिर्धारित क्रम संख्या प्रयोग गरिनेछ। एक पटक सेवा कार्यान्वयन सुरु भएपछि, गन्तव्य स्थान र क्रम संख्या देखाउने सन्देश प्रदर्शित हुन्छ। प्रणाली नियन्त्रकले क्रम संख्याको साथ ठेगानामा AHB लेख्ने सञ्चालन गर्दछ। सेवा पूरा भएपछि, COMM_BLK को RXFIFO सेवा प्रतिक्रियाको साथ लोड हुनेछ।
3.2.2 प्रयोगकर्ता कोड
प्रयोगकर्ताकोड सेवाले सेवा अनुरोधको अंशको रूपमा प्रदान गरिएको ठेगाना स्थानमा 32-बिट प्रयोगकर्ताकोड प्यारामिटर लेख्छ। यो 32-बिट प्यारामिटर प्रणाली सेवा सिमुलेशन समर्थन प्रयोग गरेर सेट गर्न सकिन्छ file (पृष्ठ २२ हेर्नुहोस्)। यदि 22-बिट प्यारामिटर भित्र परिभाषित गरिएको छैन file, 0 को पूर्वनिर्धारित मान प्रयोग गरिन्छ। एक पटक सेवा कार्यान्वयन सुरु भएपछि, लक्षित स्थान र प्रयोगकर्ताकोड संकेत गर्ने सन्देश प्रदर्शित हुन्छ। प्रणाली नियन्त्रकले 32-बिट प्यारामिटरको साथ ठेगानामा AHB लेख्ने सञ्चालन गर्दछ। सेवा पूरा भएपछि, COMM_BLK को RXFIFO सेवा प्रतिक्रियाले लोड हुन्छ, जसमा सेवा आदेश र लक्ष्य ठेगाना समावेश हुन्छ।
3.3 डाटा वर्णनकर्ता सेवाहरू
निम्न खण्डहरूले विभिन्न प्रकारका डाटा वर्णनकर्ता सेवाहरूको वर्णन गर्दछ।

२१.२ एईएस
यस सेवाको लागि सिमुलेशन समर्थन केवल डेटामा कुनै पनि इन्क्रिप्शन/डिक्रिप्शन प्रदर्शन नगरी मूल डाटालाई स्रोतबाट गन्तव्यमा सार्नेसँग सम्बन्धित छ। डेटा जुन इन्क्रिप्टेड/डिक्रिप्ट गर्न आवश्यक छ र सेवा अनुरोध पठाउनु अघि डाटा संरचना लेखिनुपर्छ। एक पटक सेवा कार्यान्वयन सुरु भएपछि, AES सेवाको कार्यान्वयनलाई संकेत गर्ने सन्देश प्रदर्शित हुन्छ। AES सेवाले डेटा संरचना र डेटा इन्क्रिप्टेड/डिक्रिप्ट गर्न दुवै पढ्छ। मूल डाटा प्रतिलिपि गरी डाटा संरचना भित्र प्रदान गरिएको ठेगानामा लेखिएको छ। सेवा पूरा भएपछि, आदेश, स्थिति, र डाटा संरचना ठेगाना RXFIFO मा धकेलिन्छ।
नोट: यो सेवा १२८-बिट र २५६-बिट डेटाको लागि मात्र हो, र १२८-बिट र २५६-बिट डेटा दुवैको डेटा संरचना लम्बाइ फरक-फरक हुन्छ।

३.३.२ SHA २५६
यस सेवाको लागि सिमुलेशन समर्थन केवल डाटा सार्न सम्बन्धित छ, वास्तवमा डाटामा कुनै ह्यासिङ प्रदर्शन नगरी। SHA 256 प्रकार्य इनपुट डेटामा आधारित 256-बिट ह्यास कुञ्जी उत्पन्न गर्न डिजाइन गरिएको हो। सेवा अनुरोध COMM_BLK मा पठाउनु अघि ह्यास गर्न आवश्यक डेटा र डेटा संरचना तिनीहरूको सम्बन्धित ठेगानाहरूमा लेखिनुपर्छ। SHA 256 डाटा संरचना भित्र परिभाषित बिट र सूचक मा लम्बाइ सही रूपमा ह्यास गरिने डाटा को लम्बाइ र ठेगाना संग मेल खान्छ। एक पटक सेवा कार्यान्वयन सुरु भएपछि, SHA 256 सेवाको कार्यान्वयनलाई संकेत गर्ने सन्देश प्रदर्शित हुन्छ। वास्तविक प्रकार्य कार्यान्वयन गर्नुको सट्टा, डेटा संरचनाबाट गन्तव्य सूचकमा पूर्वनिर्धारित ह्यास कुञ्जी लेखिनेछ। पूर्वनिर्धारित ह्यास कुञ्जी हेक्स "ABCD1234" हो। आफू अनुकूल कुञ्जी सेट गर्नका लागि, प्यारामिटर सेटिङ (पृष्ठ २३ हेर्नुहोस्) खण्डमा जानुहोस्। सेवा पूरा भएपछि, RXFIFO सेवा आदेश, स्थिति, र SHA 23 डाटा संरचना सूचक समावेश सेवा प्रतिक्रिया संग लोड हुन्छ।
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 को दायरा भित्र छैन भने, "4" (अधिकतम उत्पन्न) को त्रुटि कोड RXFIFO मा धकेलिनेछ। यदि अतिरिक्त डेटा लम्बाइ 0-128 को अनुरोध धेरै ठूलो दायरा भित्र छैन भने, "5" को त्रुटि कोड (अतिरिक्त डेटाको अधिकतम लम्बाइ बढेको) RXFIFO मा धकेलिनेछ। यदि उत्पन्न गर्नको लागि अनुरोध गरिएको डेटा लम्बाइ र अतिरिक्त डेटा लम्बाइ दुवै तिनीहरूको परिभाषित दायरा (०-१२८) भित्र छैन भने, "१" (विपत्तिजनक त्रुटि) को त्रुटि कोड RXFIFO मा धकेलिन्छ।

3.3.5 DRBG रिसेट
वास्तविक रिसेट प्रकार्य DRBG इन्स्ट्यान्टेशनहरू हटाएर र DRBG रिसेट गरेर गरिन्छ। सेवा अनुरोध पत्ता लागेपछि, सिमुलेशनले DRBG रिसेट सेवा पूरा भएको सन्देश देखाउँछ। प्रतिक्रिया, जसमा सेवा र स्थिति समावेश छ, RXFIFO मा धकेलिएको छ।
3.3.6 DRBG आत्म परीक्षण
DRBG आत्म-परीक्षणको लागि सिमुलेशन समर्थनले वास्तवमा आत्म-परीक्षण प्रकार्यलाई कार्यान्वयन गर्दैन। सेवा अनुरोध पत्ता लागेपछि, सिमुलेशनले DRBG स्व-परीक्षण सेवा कार्यान्वयन सन्देश प्रदर्शन गर्नेछ। प्रतिक्रिया, जसमा सेवा र स्थिति समावेश छ, RXFIFO मा धकेलिनेछ।
3.3.7 DRBG इन्स्ट्यान्टिएट
DRBG इन्स्ट्यान्टिएट सेवाको लागि सिमुलेशन समर्थनले वास्तवमा तत्काल सेवा प्रदर्शन गर्दैन। सेवा अनुरोध COMM_BLK मा पठाउनु अघि डाटा संरचना सही रूपमा यसको इच्छित स्थानमा लेखिएको हुनुपर्छ। सेवा अनुरोध पत्ता लागेपछि, MSS ठेगाना स्पेस भित्र परिभाषित संरचना र निजीकरण स्ट्रिङ पढिनेछ। सिमुलेशनले DRBG Instantiate सेवा कार्यान्वयन सुरु भएको संकेत गर्ने सन्देश प्रदर्शन गर्नेछ। सेवा पूरा भएपछि, प्रतिक्रिया, जसमा सेवा आदेश, स्थिति, र डेटा संरचनामा सूचक समावेश छ, RXFIFO मा धकेलिनेछ। यदि डेटा लम्बाइ (व्यक्तिकरण LENGTH) 0-128 को दायरा भित्र छैन भने, "1" (विपत्तिजनक त्रुटि) को एक त्रुटि कोड स्थितिको लागि RXFIFO मा धकेलिनेछ।
3.3.8 DRBG अनइन्स्ट्यान्टिएट
DRBG uninstantiate सेवाको लागि सिमुलेशन समर्थनले वास्तवमा सिलिकनले जस्तै पहिले इन्स्ट्यान्टिएट DRBG हटाउने अनइन्स्ट्यान्टिएट सेवा प्रदर्शन गर्दैन। सेवा अनुरोधमा आदेश र DRBG ह्यान्डल दुवै समावेश हुनुपर्छ। सेवा अनुरोध पत्ता लागेपछि, DRBG ह्यान्डल भण्डारण गरिनेछ। सिमुलेशनले DRBG uninstantiate सेवा प्रारम्भ गरिएको छ भनेर संकेत गर्ने सन्देश प्रदर्शन गर्नेछ। सेवा पूरा भएपछि, प्रतिक्रिया, जसमा सेवा आदेश, स्थिति, र DRBG ह्यान्डल समावेश छ, RXFIFO मा धकेलिनेछ।
3.3.9 DRBG रिसिड
प्रणाली सेवा ब्लकको सिम्युलेटिभ प्रकृतिको कारणले गर्दा, सिमुलेशनमा DRBG reseed सेवा प्रत्येक 65535 DRBG उत्पन्न सेवाहरू पछि स्वचालित रूपमा कार्यान्वयन हुँदैन। सेवा अनुरोध COMM_BLK मा पठाउनु अघि डाटा संरचना सही रूपमा यसको इच्छित स्थानमा लेखिएको हुनुपर्छ। सेवा अनुरोध पत्ता लागेपछि, MSS ठेगाना स्पेसमा संरचना र अतिरिक्त इनपुट प्यारामिटर पढिनेछ। DRBG reseed सेवा कार्यान्वयन सुरु भएको संकेत गर्ने सन्देश, प्रदर्शित हुनेछ। सेवा अनुरोध COMM_BLK मा पठाउनु अघि डाटा संरचना सही रूपमा यसको इच्छित स्थानमा लेखिएको हुनुपर्छ। सेवा पूरा भएपछि, प्रतिक्रिया, जसमा सेवा आदेश, स्थिति, र डेटा संरचनामा सूचक समावेश छ, RXFIFO मा धकेलिनेछ।
3.3.10 KeyTree
KeyTree सेवाको लागि सिमुलेशनमा वास्तविक प्रकार्य कार्यान्वयन गरिएको छैन। KeyTree सेवा डेटा संरचनामा 32-बाइट कुञ्जी, 7-बिट अप्टाइप डाटा (MSB बेवास्ता गरिएको), र 16-बाइट पथ समावेश हुन्छ। सेवा अनुरोध COMM_BLK मा पठाउनु अघि डाटा संरचना भित्रको डाटा तिनीहरूको सम्बन्धित ठेगानाहरूमा लेखिनुपर्छ। एक पटक सेवा कार्यान्वयन सुरु भएपछि, KeyTree सेवाको कार्यान्वयनलाई संकेत गर्ने सन्देश प्रदर्शित हुनेछ। डाटा संरचनाको सामग्रीहरू पढिनेछ, 32-बाइट कुञ्जी भण्डारण गरिनेछ, र डाटा संरचना भित्र अवस्थित मूल कुञ्जी अधिलेखन गरिनेछ। यो AHB लेखे पछि, डाटा संरचना भित्र कुञ्जी को मान परिवर्तन हुनु हुँदैन, तर लेख को लागी AHB लेनदेन हुनेछ। सेवा पूरा भएपछि, RXFIFO सेवा कमाण्ड, स्थिति, र KeyTree डेटा संरचना सूचक समावेश गरी सेवा प्रतिक्रियाको साथ लोड हुन्छ।
3.3.11 चुनौती प्रतिक्रिया
वास्तविक प्रकार्य, जस्तै उपकरणको प्रमाणीकरण, चुनौती प्रतिक्रिया सेवाको लागि सिमुलेशनमा कार्यान्वयन हुँदैन। यस सेवाको लागि डेटा संरचनालाई ३२-बाइट नतिजा, ७-बिट अप्टाइप, र १२८-बिट पथ प्राप्त गर्नको लागि बफरमा सूचक चाहिन्छ। सेवा अनुरोध COMM_BLK मा पठाउनु अघि डाटा संरचना भित्रको डाटा तिनीहरूको सम्बन्धित ठेगानाहरूमा लेखिनुपर्छ। एक पटक सेवा कार्यान्वयन सुरु भएपछि, चुनौती प्रतिक्रिया सेवाको कार्यान्वयनलाई संकेत गर्ने सन्देश प्रदर्शित हुनेछ। एक सामान्य 32-बिट प्रतिक्रिया डेटा संरचना भित्र प्रदान सूचक मा लेखिनेछ। पूर्वनिर्धारित कुञ्जी हेक्स "ABCD7" को रूपमा सेट गरिएको छ। अनुकूलन कुञ्जी प्राप्त गर्न, प्यारामिटर सेटिङ जाँच गर्नुहोस् (पृष्ठ 128 हेर्नुहोस्)। सेवा पूरा भएपछि, RXFIFO लाई सेवा कमाण्ड, स्थिति, र चुनौती प्रतिक्रिया डेटा संरचना सूचक समावेश गरी सेवा प्रतिक्रियाको साथ लोड गरिनेछ।
४.३ अन्य सेवाहरू
निम्न खण्डहरूले विभिन्न अन्य प्रणाली सेवाहरू वर्णन गर्दछ।
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-बिट प्यारामिटर सेट गर्न, रेखाको ढाँचा यस क्रममा हुनुपर्छ: <२५६ बिट कुञ्जी [२५५:०]>;
जहाँ दुबै मान हेक्साडेसिमलमा प्रविष्ट गरिएको छ।
3.5.3 यन्त्र प्राथमिकता
प्रणाली सेवाहरू र COMM_BLK ले उच्च प्राथमिकता प्रणाली प्रयोग गर्दछ। हाल, एक मात्र उच्च प्राथमिकता सेवा शून्यकरण हो। उच्च प्राथमिकताको सेवा सञ्चालन गर्न अर्को सेवा सञ्चालन भइरहेका बेला हालको सेवा रोकिएको छ र त्यसको स्थानमा उच्च प्राथमिकताको सेवा सञ्चालन गरिनेछ। COMM_BLK ले उच्च प्राथमिकता सेवा प्रदर्शन गर्नको लागि हालको सेवा खारेज गर्नेछ। यदि हालको सेवा पूरा हुनु अघि धेरै गैर-उच्च-प्राथमिकता सेवाहरू पठाइयो भने, यी सेवाहरू TXFIFO भित्र लामबद्ध हुनेछन्। हालको सेवा पूरा भएपछि, TXFIFO मा अर्को सेवा कार्यान्वयन हुनेछ।

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

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

माइक्रोसेमी मुख्यालय
एक उद्यम, Aliso Viejo,
CA 92656 संयुक्त राज्य अमेरिका
संयुक्त राज्य अमेरिका भित्र: +1 ८००-५५५-०१९९
संयुक्त राज्य अमेरिका बाहिर: +1 ८००-५५५-०१९९
बिक्री: +1 ८००-५५५-०१९९
फ्याक्स: +1 ८००-५५५-०१९९
इमेल: बिक्री।support@microsemi.com
www.microsemi.com
© 2018 माइक्रोसेमी। सबै अधिकार सुरक्षित। माइक्रोसेमी र माइक्रोसेमी लोगो
Microsemi Corporation का ट्रेडमार्क हो। अन्य सबै ट्रेडमार्क र सेवा
अंकहरू तिनीहरूका सम्बन्धित मालिकहरूको सम्पत्ति हुन्।

कागजातहरू / स्रोतहरू

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

सन्दर्भहरू

एक टिप्पणी छोड्नुहोस्

तपाईंको इमेल ठेगाना प्रकाशित गरिने छैन। आवश्यक क्षेत्रहरू चिन्ह लगाइएका छन् *