Microsemi պատկերանշան

UG0837
Օգտագործողի ուղեցույց
IGLOO2 և SmartFusion2 FPGA
Համակարգային ծառայությունների մոդելավորում
հունիսի 2018թ

Վերանայման պատմություն

Վերանայման պատմությունը նկարագրում է այն փոփոխությունները, որոնք իրականացվել են փաստաթղթում: Փոփոխությունները թվարկված են վերանայմամբ՝ սկսած ամենաարդիական հրապարակումից:
1.1 Վերանայման 1.0
Revision 1.0-ը հրապարակվել է 2018 թվականի հունիսին: Դա այս փաստաթղթի առաջին հրապարակումն էր:

IGLOO2 և SmartFusion2 FPGA համակարգի ծառայությունների մոդելավորում

SmartFusion®2 FPGA ընտանիքի System Services բլոկը պարունակում է ծառայությունների հավաքածու, որը պատասխանատու է տարբեր խնդիրների համար: Դրանք ներառում են սիմուլյացիոն հաղորդագրությունների ծառայություններ, տվյալների ցուցիչի ծառայություններ և տվյալների նկարագրիչ ծառայություններ: Համակարգի ծառայությունները հասանելի են Cortex-M3-ի միջոցով SmartFusion2-ում և FPGA գործվածքից՝ գործվածքների ինտերֆեյսի կարգավորիչի (FIC) միջոցով և՛ SmartFusion2-ի, և՛ IGLOO®2-ի համար: Մուտքի այս մեթոդներն ուղարկվում են համակարգի վերահսկիչին COMM_BLK-ի միջոցով: COMM_BLK-ն ունի առաջադեմ ծայրամասային ավտոբուս (APB) ինտերֆեյս և գործում է որպես հաղորդագրություն փոխանցող խողովակ՝ համակարգի վերահսկիչի հետ տվյալների փոխանակման համար: Համակարգի ծառայության հարցումները ուղարկվում են համակարգի վերահսկիչին, իսկ համակարգի ծառայության պատասխանները ուղարկվում են CoreSysSerrvice՝ COMM BLK-ի միջոցով: COMM_BLK-ի հասցեի գտնվելու վայրը հասանելի է միկրոկառավարիչի ենթահամակարգի (MSS)/բարձր արդյունավետության հիշողության ենթահամակարգի (HPMS) ներսում: Մանրամասների համար տե՛ս UG0450. SmartFusion2 SoC և IGLOO2 FPGA System Controller:
Օգտագործողի ուղեցույց
Հետևյալ նկարը ցույց է տալիս համակարգի ծառայությունների տվյալների հոսքը:
Նկար 1 • Համակարգի ծառայության տվյալների հոսքի դիագրամMicrosemi UG0837 IGLOO2 և SmartFusion2 FPGA System Services Simulation - Տվյալների հոսքի դիագրամԵ՛վ IGLOO2, և՛ SmartFusion2 համակարգերի ծառայության մոդելավորման համար դուք պետք է ուղարկեք համակարգի ծառայության հարցումներ և ստուգեք համակարգի ծառայության պատասխանները՝ ստուգելու համար, որ մոդելավորումը ճիշտ է: Այս քայլը անհրաժեշտ է համակարգի վերահսկիչին մուտք գործելու համար, որն ապահովում է համակարգի ծառայությունները: Համակարգի կարգավորիչին գրելու և կարդալու եղանակը տարբեր է IGLOO2 և SmartFusion2 սարքերի համար: SmartFusion2-ի համար Coretex-M3-ը հասանելի է, և դուք կարող եք գրել և կարդալ համակարգի կարգավորիչից՝ օգտագործելով ավտոբուսի ֆունկցիոնալ մոդելի (BFM) հրամանները: IGLOO2-ի համար Cortex-M3-ը հասանելի չէ, և համակարգի վերահսկիչը հասանելի չէ BFM հրամանների միջոցով:
2.1 Հասանելի համակարգի ծառայությունների տեսակները
Առկա են երեք տարբեր տեսակի համակարգային ծառայություններ, և ծառայության յուրաքանչյուր տեսակ ունի տարբեր ենթատեսակներ:
Մոդելավորման հաղորդագրությունների ծառայություններ
Տվյալների ցուցիչի ծառայություններ
Տվյալների նկարագրության ծառայություններ
Այս ուղեցույցի Հավելված – Համակարգային ծառայությունների տեսակները (տես էջ 19) գլուխը նկարագրում է համակարգի ծառայությունների տարբեր տեսակները: Համակարգային ծառայությունների մասին լրացուցիչ տեղեկությունների համար տե՛ս UG0450. SmartFusion2 SoC և IGLOO2 FPGA System Controller User Guide:
2.2 IGLOO2 համակարգի սպասարկման մոդելավորում
Համակարգային ծառայությունները ներառում են գրել և կարդալ համակարգի վերահսկիչից: Մոդելավորման նպատակով համակարգի վերահսկիչին գրելու և կարդալու համար հարկավոր է կատարել հետևյալ քայլերը.

  1. Ստեղծեք CoreSysServices-ի փափուկ IP միջուկը, որը հասանելի է SmartDesign կատալոգում:
  2. Գրեք HDL կոդը վերջավոր վիճակի մեքենայի համար (FSM):

HDL FSM-ը կապվում է CoreSysServices Core-ի հետ, որը ծառայում է որպես AHBLite ավտոբուսի գործվածքների վարպետ: CoreSysServices-ի միջուկը սկսում է համակարգի ծառայության հարցումը COMM BLK-ին և ստանում է համակարգային ծառայության պատասխաններ COMM BLK-ից FIC_0/1 գործվածքային միջերեսի կարգավորիչի միջոցով, ինչպես ցույց է տրված հետևյալ նկարում:
Նկար 2 • IGLOO2 System Services Simulation TopologyMicrosemi UG0837 IGLOO2 և SmartFusion2 FPGA System Services Simulation - Տվյալների հոսքի դիագրամ 12.3 SmartFusion2 համակարգի ծառայության մոդելավորում
SmartFusion2 սարքերում համակարգային ծառայությունները մոդելավորելու համար հարկավոր է գրել և կարդալ համակարգի կարգավորիչից: Մոդելավորման նպատակով համակարգի վերահսկիչին մուտք գործելու երկու տարբերակ կա:
Տարբերակ 1 — Գրեք HDL կոդը, որպեսզի FSM-ը ինտերֆեյս ունենա CoreSysService փափուկ IP միջուկի հետ, որը ծառայում է որպես AHBLite գործվածքների վարպետ և սկսում է համակարգի ծառայության հարցումը COMM BLK-ին և ստանում է համակարգի ծառայության պատասխանները COMM BLK-ից FIC_0/1 գործվածքի միջոցով: ինտերֆեյս, ինչպես ցույց է տրված հետևյալ նկարում:
Նկար 3 • SmartFusion2 System Services Simulation TopologyMicrosemi UG0837 IGLOO2 և SmartFusion2 FPGA System Services Simulation - Տվյալների հոսքի դիագրամ 2

Տարբերակ 2 - Քանի որ Cortex-M3-ը հասանելի է SmartFusion2 սարքերի համար, դուք կարող եք օգտագործել BFM հրամանները՝ համակարգի կարգավորիչի հիշողության տարածությունից ուղղակիորեն գրելու և կարդալու համար:
BFM հրամանների օգտագործումը (տարբերակ 2) փրկում է FSM-ի համար HDL կոդերը գրելու անհրաժեշտությունը: Օգտագործողի այս ուղեցույցում 2-րդ տարբերակն օգտագործվում է SmartFusion2-ում համակարգի ծառայությունների մոդելավորումը ցուցադրելու համար: Այս տարբերակով համակարգի կարգավորիչի հիշողության տարածքը հասանելի է դառնում՝ պարզելու COMM BLK-ի հիշողության քարտեզը և գործվածքների ինտերֆեյսի ընդհատման կարգավորիչի (FIIC) բլոկի հիշողության քարտեզը, երբ դուք գրում եք ձեր BFM հրամանները:
2.4 Մոդելավորում Օրինակamples
Օգտագործողի ուղեցույցը ներառում է հետևյալ մոդելավորումները.

  • IGLOO2 սերիական համարի ծառայության մոդելավորում (տես էջ 5)
  • SmartFusion2 սերիական համարի ծառայության մոդելավորում (տես էջ 8)
  • IGLOO2 Zeroization Service Simulation (տես էջ 13)
  • SmartFusion2 Zeroization Service Simulation (տես էջ 16)

Նմանատիպ մոդելավորման մեթոդները կարող են կիրառվել այլ համակարգային ծառայությունների համար: Համակարգի տարբեր հասանելի ծառայությունների ամբողջական ցանկի համար անցեք Հավելված – Համակարգային ծառայությունների տեսակները (տես էջ 19):

2.5 IGLOO2 սերիական համարի ծառայության մոդելավորում
IGLOO2 սերիական համարի ծառայության մոդելավորմանը պատրաստվելու համար կատարեք հետևյալ քայլերը.

  1. Ձեր HPMS բլոկը ստեղծելու համար կանչեք համակարգի ստեղծողին:
  2. Ստուգեք HPMS System Services վանդակը Սարքի հատկությունների էջում: Սա կհանձնարարի համակարգի ստեղծողին բացահայտել HPMS_FIC_0 SYS_SERVICES_MASTER ավտոբուսի միջերեսը (BIF):
  3. Մնացած բոլոր վանդակները թողեք չնշված:
  4. Ընդունեք լռելյայն բոլոր մյուս էջերում և սեղմեք Ավարտել՝ համակարգի ստեղծողի բլոկը ավարտելու համար: Libero® SoC-ի HDL խմբագրիչում գրեք HDL կոդը FSM-ի համար (File > Նոր > HDL): Ներառեք հետևյալ երեք վիճակները ձեր FSM-ում.
    INIT վիճակ (սկզբնական վիճակ)
    SERV_PHASE (ծառայության հարցման վիճակը)
    RSP_PHASE (ծառայության արձագանքման վիճակ):
    Հետևյալ նկարը ցույց է տալիս FSM-ի երեք վիճակները:
    Գծապատկեր 4 • Երեք-պետական ​​FSM
  5. Microsemi UG0837 IGLOO2 և SmartFusion2 FPGA համակարգի ծառայությունների սիմուլյացիա - եռաստիճան FSM 1FSM-ի ձեր HDL կոդում օգտագործեք ճիշտ հրամանի կոդը («01» Hex սերիական համարի ծառայության համար)՝ INIT վիճակից ծառայության հարցման վիճակը մուտքագրելու համար:
  6. Պահպանեք ձեր HDL-ը file. FSM-ը հայտնվում է որպես բաղադրիչ Դիզայնի հիերարխիայում:
  7. Բացեք SmartDesign-ը: Քաշեք և գցեք ձեր վերին մակարդակի համակարգի ստեղծող բլոկը և ձեր FSM բլոկը SmartDesign կտավի մեջ: Կատալոգից քաշեք և թողեք CoreSysService-ի փափուկ IP միջուկը SmartDesign կտավի մեջ:
  8. Կազմաձևիչը բացելու համար սեղմեք CoreSysService փափուկ IP միջուկի վրա: Ստուգեք «Սերիական համարների ծառայության» վանդակը (Սարքի և դիզայնի տեղեկատվական ծառայությունների տակ):
    խումբ) սերիական համարի ծառայությունը միացնելու համար:
  9. Մնացած բոլոր վանդակները թողեք չնշված: Կտտացրեք OK՝ կոնֆիգուրատորից դուրս գալու համար:
    Նկար 5 • CoreSysServices soft IP Core Configurator
    Microsemi UG0837 IGLOO2 և SmartFusion2 FPGA System Services Simulation - Core Configurator
  10. Միացրեք համակարգի ստեղծող բլոկի HPMS_FIC_0 SYS_SERVICES_MASTER BIF-ը CoreSysService բլոկի AHBL_MASTER BIF-ին:
  11. Միացրեք ձեր HDL FSM բլոկի ելքը CoreSysService փափուկ IP միջուկի մուտքին: Կատարեք բոլոր մյուս կապերը SmartDesign կտավում, ինչպես ցույց է տրված հետևյալ նկարում:
    Նկար 6 • SmartDesign կտավ HDL բլոկով, CoreSysServices Soft IP և HPMS բլոկներովMicrosemi UG0837 IGLOO2 և SmartFusion2 FPGA System Services Simulation - HPMS Blocks
  12. SmartDesign-ի կտավում աջ սեղմեք >Ստեղծեք բաղադրիչ՝ վերին մակարդակի դիզայն ստեղծելու համար:
  13. Դիզայնի հիերարխիայում view, աջ սեղմեք վերին մակարդակի դիզայնի վրա և ընտրեք ստեղծել Testbench > HDL:
  14. Տեքստ ստեղծելու համար օգտագործեք տեքստային խմբագրիչ file «status.txt» անունով:
  15. Ներառեք համակարգի ծառայության հրամանը և 128-բիթանոց սերիական համարը: Լրացուցիչ տեղեկությունների համար տե՛ս Աղյուսակ 1-ը (Համակարգային ծառայությունների հրաման/արձագանքման արժեքներ) CoreSysServices v3.1 ձեռնարկ հրամանի կոդերի համար (Hex), որոնք պետք է օգտագործվեն համակարգի տարբեր ծառայությունների համար: Սերիական համարի ծառայության համար հրամանի կոդը «01» Hex է:

Status.txt-ի ձևաչափը file սերիական համարների սպասարկման համար հետևյալն է.
< 2 վեցնիշ CMD <32 վեցանիշ Սերիական համար>
Example: 01A1A2A3A4B1B2B3B4C1C2C3C4D1D2D3D4
Պահպանեք status.txt-ը file ձեր նախագծի Simulation պանակում: Դիզայնն այժմ պատրաստ է սիմուլյացիայի համար:
Ծառայությունը սկսելուց հետո հաղորդագրություն, որը ցույց է տալիս նպատակակետի գտնվելու վայրը և սերիական համարը, ցուցադրվում է ModelSim տառադարձման պատուհանում, ինչպես ցույց է տրված հետևյալ նկարում:
Նկար 7 • ModelSim Simulation Transcript պատուհանMicrosemi UG0837 IGLOO2 և SmartFusion2 FPGA System Services Simulation - Transcript պատուհանՀամակարգի վերահսկիչը կատարում է AHB գրություն սերիական համարով հասցեին: Ծառայության ավարտից հետո COMM_BLK-ի RXFIFO-ն կբեռնվի ծառայության պատասխանով:
Նշում. Համակարգային տարբեր ծառայությունների համար օգտագործվող հրամանների կոդերի ամբողջական ցանկի համար տե՛ս Աղյուսակ 1 (System Services Command/Response Values) CoreSysServices v3.1 ձեռնարկում կամ UG0450. SmartFusion2 SoC և IGLOO2 FPGA System Controller User Guide:
2.6 SmartFusion2 սերիական համարի ծառայության մոդելավորում
Օգտագործողի այս ուղեցույցում BFM հրամանները (տարբերակ 2) օգտագործվում են համակարգի վերահսկիչ մուտք գործելու համար համակարգի սպասարկման համար: BFM հրամաններն օգտագործվում են, քանի որ Cortex-M3 պրոցեսորը հասանելի է սարքում BFM մոդելավորման համար: BFM հրամանները թույլ են տալիս ուղղակիորեն գրել և կարդալ COMM BLK-ից, երբ իմանաք COMM_BLK-ի հիշողության քարտեզագրումը:
SmartFusion2 սերիական համարի ծառայության մոդելավորման համար ձեր դիզայնը պատրաստելու համար կատարեք հետևյալ քայլերը.

  1. Քաշեք և թողեք MSS-ը կատալոգից ձեր նախագծի դիզայնի կտավ:
  2. Անջատեք բոլոր MSS ծայրամասային սարքերը, բացառությամբ MSS_CCC-ի, Վերակայման վերահսկիչի, ընդհատումների կառավարման և FIC_0, FIC_1 և FIC_2:
  3. Կազմաձևեք ընդհատումների կառավարումը, որպեսզի օգտագործի MSS՝ գործվածքների ընդհատման համար:
  4. Պատրաստեք serialnum.bfm-ը file տեքստային խմբագրիչում կամ Libero-ի HDL խմբագրիչում: Պահպանեք serialnum.bfm-ը file նախագծի Simulation թղթապանակում: Serialnum.bfm-ը պետք է ներառի հետևյալ մանրամասները.
    • Հիշողության քարտեզագրում COMM BLK-ին (CMBLK)
    • Հիշողության քարտեզագրում՝ կառավարման ծայրամասային սարքն ընդհատելու համար (FIIC)
    • Սերիական համարի համակարգի ծառայության հարցումի հրաման («01» Hex)
    • Հասցե սերիական համարի գտնվելու վայրի համար
    Նախկինample serialnum.bfm file հետեւյալն է.
    memmap FIIC 0x40006000; #Հիշողության քարտեզագրում ընդհատումների կառավարման համար
    memmap CMBLK 0x40016000; #Հիշողության քարտեզագրում COMM BLK-ում
    memmap DESCRIPTOR_ADDR 0x20000000; #Հասցեի գտնվելու վայրը Սերիական համարի համար
    #Հրամանային ծածկագիր տասնվեցական
    հաստատուն CMD 0x1 # Comand code for Serial NumberService
    #FIIC կոնֆիգուրացիայի ռեգիստրներ
    հաստատուն FICC_INTERRUPT_ENABLE0 0x0
    #COMM_BLK Կազմաձևման ռեգիստրներ
    հաստատուն CONTROL 0x00
    հաստատուն STATUS 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 #-ը միացնելու համար
    #interrupt COMM_BLK բլոկից մինչև գործվածք
    #Հարցման փուլ
    գրել w CMBLK CONTROL 0x10 # Կարգավորել COMM BLK Control #Գրանցվել
    միացնել փոխանցումները COMM BLK ինտերֆեյսի վրա
    գրել w CMBLK INT_ENABLE 0x1 # Կարգավորել COMM BLK ընդհատումը Միացնել
    #Գրանցվել՝ TXTOKAY-ի համար ընդհատումը միացնելու համար (համապատասխան բիթ
    #կարգավիճակի գրանցում)
    սպասել 19 # սպասել COMM BLK ընդհատում , Այստեղ #BFM սպասում է
    #մինչև COMBLK_INTR-ը հաստատված է
    readstore w CMBLK STATUS x # Read COMM BLK Status Գրանցվել #TXTOKAY-ի համար
    #Ընդհատել
    սահմանել xx & 0x1
    եթե x
    գրել w CMBLK FRAME_START8 CMD # Կարգավորել COMM BLK FRAME_START8
    #Գրանցվեք՝ Serial Number ծառայությունը խնդրելու համար
    էնդիֆ
    էնդիֆ
    սպասել 19 # սպասել COMM BLK ընդհատում , Այստեղ
    #BFM-ը սպասում է, մինչև COMBLK_INTR հաստատվի
    readstore w CMBLK STATUS x # Read COMM BLK Status Գրանցման համար
    #TXTOKAY Ընդհատում
    սահմանել xx & 0x1
    սահմանել xx & 0x1
    եթե x
    գրել w CMBLK CONTROL 0x14 #Configure COMM BLK Control
    #Գրանցվեք՝ COMM BLK ինտերֆեյսի վրա փոխանցումները միացնելու համար
    գրել w CMBLK DATA32 DESCRIPTOR_ADDR
    գրել w CMBLK INT_ENABLE 0x80
    գրել w CMBLK CONTROL 0x10
    էնդիֆ
    սպասել 20
    #Արձագանքման փուլ
    սպասել 19
    readstore w CMBLK STATUS x
    սահմանել xx & 0x80
    եթե x
    նորից ստուգեք w CMBLK FRAME_START8 CMD
    գրել w CMBLK INT_ENABLE 0x2
    էնդիֆ
    սպասել 19
    readstore w CMBLK STATUS x
    սահմանել xx & 0x2
    եթե x
    վերստուգել w CMBLK DATA8 0x0
    գրել w CMBLK CONTROL 0x18
    էնդիֆ
    սպասել 19
    վերստուգեք w FIIC 0x8 0x20000000
    readstore w CMBLK STATUS x
    սահմանել xx & 0x2
    եթե x
    վերստուգել w CMBLK DATA32 DESCRIPTOR_ADDR
    էնդիֆ
    վերստուգել w DESCRIPTOR_ADDR 0x0 0xE1E2E3E4; #Readcheck՝ S/N-ը ստուգելու համար
    վերստուգել w DESCRIPTOR_ADDR 0x4 0xC1C2C3C4; #Readcheck՝ S/N-ը ստուգելու համար
    վերստուգել w DESCRIPTOR_ADDR 0x8 0xB1B2B3B4; #Readcheck՝ S/N-ը ստուգելու համար
    վերստուգել w DESCRIPTOR_ADDR 0xC 0xA1A2A3A4; #Readcheck՝ S/N-ը ստուգելու համար
    վերադարձ
  5. Ստեղծեք կարգավիճակ. txt file Libero-ի HDL խմբագրիչում կամ ցանկացած տեքստային խմբագրիչում: Ներառեք սերիական համարի համակարգի ծառայության հրամանը («01» Hex-ում) և սերիական համարը կարգավիճակում: txt file. Տե՛ս CoreSysServices v3.1 ձեռնարկը՝ ճիշտ հրամանի կոդը օգտագործելու համար:
  6. Սրա շարահյուսությունը file սերիական համարի ծառայության համար է, <2 վեցանիշ CMD>< 32 վեցանիշ Սերիական համար> : Օրինակ՝ample: 01A1A2A3A4B1B2B3B4C1C2C3C4E1E2E3E4.
  7. Պահպանեք .txt կարգավիճակը file նախագծի Simulation թղթապանակում:
  8. Խմբագրել օգտատիրոջը .bfm (գտնվում է Simulation թղթապանակի ներսում), որպեսզի ներառի սերիական համարը: bfm file և զանգահարեք սերիական համարի ընթացակարգը, ինչպես ցույց է տրված հետևյալ կոդի հատվածում:
    ներառել «serialnum.bfm» #include the serialnum.bfm
    պրոցեդուրա user_main;
    տպել «INFO:Simulation Starts»;
    տպել «INFO:Service Command Code in decimal:%0d», CMD ;
    զանգահարել սերիական համարին; #զանգահարեք սերիալնումի պրոցեդուրան
    տպել «INFO:Simulation Ends»;
    վերադարձ
  9. Դիզայնի հիերարխիայում view, ստեղծեք թեստային նստարան (Աջ սեղմեք, Վերին մակարդակի դիզայն > Ստեղծեք թեստային նստարան > HDL ) և դուք պատրաստ եք գործարկել սերիական համարների ծառայության մոդելավորումը։

Ծառայությունը սկսելուց հետո ցուցադրվում է հաղորդագրություն, որը ցույց է տալիս նպատակակետի գտնվելու վայրը և սերիական համարը: Համակարգի վերահսկիչը կատարում է AHB գրություն սերիական համարով հասցեին: Ծառայության ավարտից հետո COMM_BLK-ի RXFIFO-ն կբեռնվի ծառայության պատասխանով: ModelSim տառադարձման պատուհանը ցույց է տալիս ստացված հասցեն և սերիական համարը, ինչպես ցույց է տրված հետևյալ նկարում:
Նկար 8 • SmartFusion2 սերիական համարի ծառայության մոդելավորում ModelSim-ի տառադարձման պատուհանումMicrosemi UG0837 IGLOO2 և SmartFusion2 FPGA System Services Simulation - Transcript Window 1

2.7 IGLOO2 Zeroization Service Simulation
IGLOO2 զրոյացման ծառայության մոդելավորմանը պատրաստվելու համար կատարեք հետևյալ քայլերը.

  1. Հրավիրեք համակարգի ստեղծողին՝ HPMS բլոկ ստեղծելու համար: SYS_SERVICES_MASTER BIF «Սարքի առանձնահատկություններ» բաժնում նշեք HPMS System Services վանդակը: Մնացած բոլոր վանդակները թողեք չնշված: Ընդունեք լռելյայն բոլոր մյուս էջերում և սեղմեք էջը: Սա հրահանգում է համակարգի ստեղծողին բացահայտել HPMS_FIC_0 Finish-ը՝ համակարգի ստեղծող բլոկի կազմաձևումն ավարտելու համար:
  2. Libero SoC-ի HDL խմբագրիչում գրեք HDL կոդը FSM-ի համար: FSM-ի ձեր HDL կոդում ներառեք հետևյալ երեք վիճակները.
    INIT վիճակ (սկզբնական վիճակ)
    SERV_PHASE (ծառայության հարցման վիճակը)
    RSP_PHASE (ծառայության արձագանքման վիճակ)
    Հետևյալ նկարը ցույց է տալիս FSM-ի երեք վիճակները:
    Գծապատկեր 9 • Երեք-պետական ​​FSMMicrosemi UG0837 IGLOO2 և SmartFusion2 FPGA համակարգի ծառայությունների սիմուլյացիա - եռաստիճան FSM

     

  3. Ձեր HDL կոդում օգտագործեք «F0» (Hex) հրամանի կոդը՝ INIT վիճակից ծառայության հարցման վիճակը մուտքագրելու համար:
  4. Պահպանեք ձեր HDL-ը file.
  5. Բացեք SmartDesign-ը, քաշեք և գցեք ձեր վերին մակարդակի համակարգի ստեղծող բլոկը և ձեր HDL FSM բլոկը SmartDesign կտավի մեջ: Կատալոգից քաշեք և թողեք CoreSysService-ի փափուկ IP միջուկը SmartDesign կտավի մեջ:
  6. Աջ սեղմեք CoreSysServices-ի փափուկ IP միջուկի վրա՝ կոնֆիգուրատորը բացելու և «Զրոյացման ծառայության» վանդակը «Տվյալների անվտանգության ծառայություններ» խմբի տակ ստուգելու համար: Մնացած բոլոր վանդակները թողեք չնշված: Սեղմեք OK դուրս գալու համար:
    Նկար 10 • CoreSysServices կոնֆիգուրատոր
    Microsemi UG0837 IGLOO2 և SmartFusion2 FPGA System Services Simulation - Core Configurator 1
  7. Միացրեք համակարգի ստեղծող բլոկի HPMS_FIC_0 SYS_SERVICES_MASTER BIF-ը CoreSysService բլոկի AHBL_MASTER BIF-ին:
  8. Միացրեք ձեր HDL FSM բլոկի ելքը CoreSysService փափուկ IP միջուկի մուտքին: Կատարեք բոլոր մյուս կապերը SmartDesign կտավում:
    Նկար 11 • SmartDesign կտավ HDL բլոկով, CoreSysServices Soft IP-ով և HPMS բլոկներով
    Microsemi UG0837 IGLOO2 և SmartFusion2 FPGA System Services Simulation - HPMS Blocks 19. SmartDesign կտավում ստեղծեք վերին մակարդակի դիզայնը (Աջ սեղմեք > Ստեղծեք բաղադրիչ):
    10. Դիզայնի հիերարխիայում view, աջ սեղմեք վերին մակարդակի դիզայնի վրա և ընտրեք ստեղծել Testbench > HDL: Այժմ դուք պատրաստ եք սիմուլյացիա գործարկել:
    Ծառայությունը սկսելուց հետո ցուցադրվում է հաղորդագրություն, որը ցույց է տալիս, որ զրոյացումն ավարտվել է x պահին, ինչպես ցույց է տրված հետևյալ նկարում:
    Նկար 12 • IGLOO2 Zeroization System Service Simulation Transcript պատուհան
    Microsemi UG0837 IGLOO2 և SmartFusion2 FPGA System Services Simulation - Transcript Window 3

Համակարգի վերահսկիչը կատարում է AHB գրություն սերիական համարով հասցեին: Ծառայության ավարտից հետո COMM_BLK-ի RXFIFO-ն կբեռնվի ծառայության պատասխանով: Հարկ է նշել, որ սիմուլյացիայի մոդելը զրոյացնում է զրոյացումը՝ դադարեցնելով սիմուլյացիան, այլ ոչ թե զրոյացնելով դիզայնը:
Նշում. Համակարգի տարբեր ծառայությունների համար օգտագործվող հրամանների կոդերի ամբողջական ցանկի համար տե՛ս Աղյուսակ 1 (Համակարգային ծառայությունների հրաման/պատասխանի արժեքներ) CoreSysServices v3.1 ձեռնարկ:. կամ UG0450: SmartFusion2 SoC և IGLOO2 FPGA System Controller Օգտագործողի ուղեցույց

2.8 SmartFusion2 Zeroization Service Simulation
Այս ուղեցույցում BFM հրամանները (տարբերակ 2) օգտագործվում են համակարգի վերահսկիչ մուտք գործելու համար համակարգի սպասարկման համար:
BFM հրամաններն օգտագործվում են, քանի որ Cortex-M3 պրոցեսորը հասանելի է սարքում BFM մոդելավորման համար: BFM հրամանները թույլ են տալիս ուղղակիորեն գրել և կարդալ COMM BLK-ից, երբ իմանաք COMM_BLK-ի հիշողության քարտեզագրումը: Ձեր դիզայնը SmartFusion2 զրոյացման ծառայության մոդելավորմանը պատրաստելու համար կատարեք հետևյալ քայլերը.

  1. Քաշեք և թողեք MSS-ը կատալոգից ձեր նախագծի դիզայնի կտավ:
  2. Անջատեք բոլոր MSS ծայրամասային սարքերը, բացառությամբ MSS_CCC-ի, Վերակայման վերահսկիչի, ընդհատումների կառավարման և FIC_0, FIC_1 և FIC_2:
  3. Կազմաձևեք ընդհատումների կառավարումը, որպեսզի օգտագործի MSS՝ գործվածքների ընդհատման համար:
  4. Պատրաստեք zeroizaton.bfm-ը file տեքստային խմբագրիչում կամ Libero-ի HDL խմբագրիչում: Ձեր զրոյացումը. bfm-ը պետք է ներառի.
  • Հիշողության քարտեզագրում COMM BLK (CMBLK)
  • Հիշողության քարտեզագրում՝ կառավարման ծայրամասային սարքն ընդհատելու համար (FIIC)
  • զրոյականացման ծառայության հարցումի հրաման («F0» Hex զրոյացման համար)

Նախկինample serialnum.bfm file ցույց է տրված հետևյալ նկարում.
Նկար 13 • Zeroization.bfm SmartFusion2 Zeroization System Services Simulation-ի համար

Microsemi UG0837 IGLOO2 և SmartFusion2 FPGA System Services Simulation - Transcript Window 4

5. Պահպանեք zeroization.bfm-ը file նախագծի Simulation թղթապանակում: user.bfm
6. Խմբագրեք (գտնվում է zeroization.bfm Simulation պանակում)՝ օգտագործելով հետևյալ կոդի հատվածը:
ներառել «zeroization.bfm» #include zeroization.bfm file պրոցեդուրա user_main;
տպել «INFO:Simulation Starts»;
տպել «INFO:Service Command Code in decimal:%0d», CMD ;
զանգի զրոյացում; #զանգերի զրոյացման կարգի վերադարձ
7. Դիզայնի հիերարխիայում ստեղծեք Testbench (Աջ սեղմեք վերին մակարդակ > Ստեղծեք Testbench > HDL) և դուք պատրաստ եք գործարկել SmartFusion2 զրոյացման մոդելավորումը:
Ծառայությունը սկսելուց հետո ցուցադրվում է հաղորդագրություն, որը ցույց է տալիս, որ սարքը զրոյացվել է x պահին: Հարկ է նշել, որ սիմուլյացիայի մոդելը զրոյացնում է զրոյացումը՝ դադարեցնելով սիմուլյացիան, այլ ոչ թե զրոյացնելով դիզայնը: Հետևյալ նկարում ներկայացված ModelSim տառադարձման պատուհանը ցույց է տալիս, որ սարքը զրոյացվել է:

Նկար 14 • SmartFusion2 Zeroization System Service Simulation Log

Microsemi UG0837 IGLOO2 և SmartFusion2 FPGA System Services Simulation - Transcript Window 5

Հավելված. Համակարգային ծառայությունների տեսակները

Այս գլուխը նկարագրում է համակարգի ծառայությունների տարբեր տեսակներ:
3.1 Մոդելավորման հաղորդագրությունների ծառայություններ
Հետևյալ բաժինները նկարագրում են սիմուլյացիոն հաղորդագրության ծառայությունների տարբեր տեսակներ:
3.1.1 Flash*Freeze
Սիմուլյացիան կմտնի Flash*Freeze վիճակ, երբ պատշաճ սպասարկման հարցումն ուղարկվի COMM_BLK կամ FIC-ից (IGLOO2 սարքերի դեպքում) կամ Cortex-M3-ից (SmartFusion2 սարքերում): Հենց որ ծառայությունը հայտնաբերվի համակարգի վերահսկիչի կողմից, մոդելավորումը կդադարեցվի և կցուցադրվի հաղորդագրություն, որը ցույց է տալիս, որ համակարգը մտել է Flash*Freeze (ընտրված տարբերակի հետ միասին): Մոդելավորումը վերսկսելուց հետո COMM_BLK-ի RXFIFO-ն կլցվի ծառայության պատասխանով, որը բաղկացած է ծառայության հրամանից և կարգավիճակից: Հարկ է նշել, որ Flash*Freeze ելքի սիմուլյացիոն աջակցություն չկա:
3.1.2 Զրոյացում
Zeroization-ը ներկայումս միակ բարձր առաջնահերթ ծառայությունն է համակարգային ծառայությունների շրջանակներում, որոնք մշակվում են COMM_BLK-ի կողմից: Սիմուլյացիան կմտնի զրոյացման վիճակ, հենց որ COMM_BLK-ի կողմից հայտնաբերվի ծառայության ճիշտ հարցումը: Այլ ծառայությունների կատարումը կդադարեցվի և կհեռացվի համակարգի վերահսկիչի կողմից, և փոխարենը կգործարկվի զրոյացման ծառայությունը: Երբ հայտնաբերվում է զրոյացման ծառայության հարցումը, մոդելավորումը դադարում է և ցուցադրվում է հաղորդագրություն, որը ցույց է տալիս, որ համակարգը մտել է զրոյացում: Զրոյացումից հետո սիմուլյացիայի ձեռքով վերագործարկումներն անվավեր են:
3.2 Տվյալների ցուցիչի ծառայություններ
Հետևյալ բաժինները նկարագրում են տվյալների ցուցիչի ծառայությունների տարբեր տեսակներ:
3.2.1 Սերիական համարը
Սերիական համարի ծառայությունը 128-բիթանոց սերիական համար կգրի հասցեի գտնվելու վայրում, որը տրամադրվել է ծառայության հարցում: Այս 128-բիթանոց պարամետրը կարող է սահմանվել՝ օգտագործելով System Service Simulation Support-ը file (տես էջ 22): Եթե ​​128-բիթանոց սերիական համարի պարամետրը սահմանված չէ file, կօգտագործվի 0-ի լռելյայն սերիական համարը: Ծառայությունը սկսելուց հետո ցուցադրվում է հաղորդագրություն, որը ցույց է տալիս նպատակակետի գտնվելու վայրը և սերիական համարը: Համակարգի վերահսկիչը կատարում է AHB գրություն սերիական համարով հասցեին: Ծառայության ավարտից հետո COMM_BLK-ի RXFIFO-ն կբեռնվի ծառայության պատասխանով:
3.2.2 Օգտագործողի կոդը
Օգտվողի կոդի ծառայությունը գրում է 32-բիթանոց օգտատիրոջ կոդ պարամետր հասցեի գտնվելու վայրում, որը տրամադրվում է ծառայության հարցում: Այս 32-բիթանոց պարամետրը կարող է սահմանվել՝ օգտագործելով System Service Simulation Support-ը file (տես էջ 22): Եթե ​​32-բիթանոց պարամետրը սահմանված չէ ներսում file, օգտագործվում է 0 լռելյայն արժեք: Ծառայությունը սկսելուց հետո ցուցադրվում է հաղորդագրություն, որը ցույց է տալիս թիրախային գտնվելու վայրը և օգտագործողի կոդը: Համակարգի վերահսկիչն իրականացնում է AHB գրություն 32-բիթանոց պարամետրով հասցեին: Ծառայության ավարտից հետո COMM_BLK-ի RXFIFO-ն բեռնվում է ծառայության պատասխանով, որը ներառում է ծառայության հրամանը և թիրախային հասցեն:
3.3 Տվյալների նկարագրիչ ծառայություններ
Հետևյալ բաժինները նկարագրում են տվյալների նկարագրող ծառայությունների տարբեր տեսակներ:

3.3.1 ԱԵՍ
Այս ծառայության սիմուլյացիոն աջակցությունը վերաբերում է միայն սկզբնական տվյալների աղբյուրից դեպի նպատակակետ տեղափոխելուն, առանց տվյալների վրա որևէ գաղտնագրման/գաղտնագրման: Տվյալները, որոնք պետք է ծածկագրվեն/գաղտնազերծվեն, և տվյալների կառուցվածքը պետք է գրվեն մինչև ծառայության հարցումն ուղարկելը: Ծառայությունը սկսելուց հետո ցուցադրվում է հաղորդագրություն, որը ցույց է տալիս 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 միջակայքում չէ, «4» (Max Generate ) սխալի կոդը կմղվի RXFIFO: Եթե ​​լրացուցիչ տվյալների երկարությունը 0-128-ի չափից մեծ պահանջի միջակայքում չէ, ապա «5» սխալի կոդը (Հավելյալ տվյալների գերազանցված առավելագույն երկարությունը) կմղվի RXFIFO-ի մեջ: Եթե ​​և՛ գեներացման համար պահանջվող տվյալների երկարությունը, և՛ լրացուցիչ տվյալների երկարությունը չեն գտնվում իրենց սահմանված տիրույթում (0-128), «1» (Աղետալի սխալ) սխալի ծածկագիրը դրվում է RXFIFO:

3.3.5 DRBG վերականգնում
Փաստացի վերակայման գործառույթն իրականացվում է DRBG-ի օրինակները հեռացնելու և DRBG-ի վերակայման միջոցով: Ծառայության հարցումը հայտնաբերելուց հետո սիմուլյացիան ցուցադրում է DRBG Reset ծառայության ավարտված հաղորդագրություն: Պատասխանը, որը ներառում է ծառայությունը և կարգավիճակը, դրվում է RXFIFO:
3.3.6 DRBG ինքնափորձարկում
DRBG ինքնափորձարկման մոդելավորման աջակցությունը իրականում չի իրականացնում ինքնաստուգման գործառույթը: Ծառայության հարցումը հայտնաբերելուց հետո սիմուլյացիան կցուցադրի DRBG ինքնաստուգման ծառայության կատարման հաղորդագրություն: Պատասխանը, որը ներառում է ծառայությունը և կարգավիճակը, կմղվի RXFIFO:
3.3.7 DRBG Instantiate
DRBG ակնթարթային ծառայության մոդելավորման աջակցությունը իրականում չի կատարում ակնթարթային ծառայություն: Տվյալների կառուցվածքը պետք է ճիշտ գրված լինի իր նախատեսված վայրում, նախքան ծառայության հարցումն ուղարկելը COMM_BLK: Ծառայության հարցումը հայտնաբերելուց հետո, MSS հասցեների տարածության մեջ սահմանված կառուցվածքը և անհատականացման տողը կկարդան: Սիմուլյացիան կցուցադրի հաղորդագրություն, որը ցույց է տալիս, որ DRBG Instantiate ծառայությունը սկսվել է: Ծառայության ավարտից հետո պատասխանը, որը ներառում է ծառայության հրամանը, կարգավիճակը և տվյալների կառուցվածքի ցուցիչը, կմղվի RXFIFO: Եթե ​​տվյալների երկարությունը (PERSONALIZATIONLENGTH) չի գտնվում 0-128 միջակայքում, ապա «1» (Աղետալի սխալ) սխալի կոդը կմղվի RXFIFO կարգավիճակի համար:
3.3.8 DRBG Չբացահայտված
DRBG-ի ոչ ակնթարթային ծառայության սիմուլյացիոն աջակցությունը իրականում չի կատարում նախկինում ցուցված DRBG-ի հեռացման ոչ բացահայտված ծառայությունը, ինչպես դա անում է սիլիկոնը: Ծառայության հարցումը պետք է ներառի ինչպես հրամանը, այնպես էլ DRBG բռնիչը: Ծառայության հարցումը հայտնաբերելուց հետո DRBG բռնակը կպահվի: Սիմուլյացիան կցուցադրի հաղորդագրություն, որը ցույց է տալիս, որ DRBG uninstantiate ծառայությունը սկզբնավորվել է: Ծառայությունն ավարտվելուն պես պատասխանը, որը ներառում է ծառայության հրամանը, կարգավիճակը և DRBG բռնակը, կմղվի RXFIFO:
3.3.9 DRBG Reseed
Համակարգային ծառայությունների բլոկի սիմուլյատիվ բնույթի պատճառով սիմուլյացիայի մեջ DRBG reseed ծառայությունը ավտոմատ կերպով չի իրականացվում յուրաքանչյուր 65535 DRBG գեներացնող ծառայություններից հետո: Տվյալների կառուցվածքը պետք է ճիշտ գրված լինի իր նախատեսված վայրում, նախքան ծառայության հարցումն ուղարկելը COMM_BLK: Ծառայության հարցումը հայտնաբերելուց հետո, կառուցվածքը և մուտքագրման լրացուցիչ պարամետրը MSS հասցեների տարածքում կկարդացվեն: Կցուցադրվի հաղորդագրություն, որը ցույց է տալիս, որ DRBG reseed ծառայությունը սկսել է գործարկվել: Տվյալների կառուցվածքը պետք է ճիշտ գրված լինի իր նախատեսված վայրում, նախքան ծառայության հարցումն ուղարկելը COMM_BLK: Ծառայության ավարտից հետո պատասխանը, որը ներառում է ծառայության հրամանը, կարգավիճակը և տվյալների կառուցվածքի ցուցիչը, կմղվի RXFIFO:
3.3.10 KeyTree
Փաստացի գործառույթը չի կատարվում KeyTree ծառայության մոդելավորման մեջ: KeyTree ծառայության տվյալների կառուցվածքը բաղկացած է 32 բայթանոց բանալիից, 7 բիթ optype տվյալներից (MSB-ն անտեսված է) և 16 բայթ ուղուց: Տվյալների կառուցվածքի մեջ գտնվող տվյալները պետք է գրվեն իրենց համապատասխան հասցեներով, նախքան ծառայության հարցումն ուղարկելը COMM_BLK: Ծառայությունը սկսելուց հետո կցուցադրվի հաղորդագրություն, որը ցույց է տալիս KeyTree ծառայության կատարումը: Տվյալների կառուցվածքի բովանդակությունը կկարդացվի, 32 բայթանոց բանալին կպահվի, և տվյալների կառուցվածքում գտնվող բնօրինակ բանալին կվերագրվի: AHB-ի այս գրումից հետո տվյալների կառուցվածքում բանալիի արժեքը չպետք է փոխվի, բայց գրելու համար AHB գործարքները տեղի կունենան: Ծառայության ավարտից հետո RXFIFO-ն բեռնվում է ծառայության պատասխանով, որը բաղկացած է ծառայության հրամանից, կարգավիճակից և KeyTree տվյալների կառուցվածքի ցուցիչից:
3.3.11 Մարտահրավերի արձագանք
Փաստացի գործառույթը, ինչպես սարքի նույնականացումը, չի իրականացվում մարտահրավերների արձագանքման ծառայության մոդելավորման մեջ: Այս ծառայության տվյալների կառուցվածքը պահանջում է ցուցիչ դեպի բուֆեր՝ ստանալու համար 32 բայթ արդյունք, 7 բիթ optype և 128 բիթ ուղի: Տվյալների կառուցվածքի մեջ եղած տվյալները պետք է գրվեն իրենց համապատասխան հասցեներում, նախքան ծառայության հարցումը COMM_BLK ուղարկելը: Ծառայությունը սկսելուց հետո կցուցադրվի հաղորդագրություն, որը ցույց է տալիս մարտահրավերներին արձագանքման ծառայության կատարումը: Ընդհանուր 256-բիթանոց պատասխանը կգրվի տվյալների կառուցվածքում տրամադրված ցուցիչում: Նախնական ստեղնը դրված է որպես վեցանկյուն «ABCD1234»: Հատուկ բանալի ստանալու համար ստուգեք Պարամետրի կարգավորումը (տես էջ 23): Ծառայության ավարտից հետո RXFIFO-ն բեռնված կլինի ծառայության պատասխանով, որը բաղկացած է ծառայության հրամանից, կարգավիճակից և մարտահրավերների պատասխանի տվյալների կառուցվածքի ցուցիչից:
3.4 Այլ ծառայություններ
Հետևյալ բաժինները նկարագրում են համակարգի այլ ծառայություններ:
3.4.1 Դիեստի ստուգում
Ընտրված բաղադրիչների ամփոփումները վերահաշվարկելու և համեմատելու փաստացի գործառույթը չի իրականացվում սիմուլյացիայի ժամանակ մարսողության ստուգման ծառայության համար: Ծառայության այս հարցումը բաղկացած է ծառայության հրամաններից և ծառայության տարբերակներից (5-բիթանոց LSB): Ծառայության գործարկումը սկսելուց հետո կցուցադրվի հաղորդագրություն, որը մանրամասնում է ամփոփման ստուգման ծառայության կատարումը, ինչպես նաև հարցումից ընտրված տարբերակները: Ծառայության ավարտից հետո RXFIFO-ն կբեռնվի սպասարկման պատասխանով, որը բաղկացած է ծառայության հրամանից և digest check pass/fail դրոշներից:
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, to Command> ; հրահանգել սիմուլյացիոն մոդելին սերիական համարների ծառայությանը MSS հիշողության մուտքի սխալի պատասխան առաջացնել, հրամանը հետևյալն է.
Ծառայություն՝ Սերիական համար՝ 01
Սխալի հաղորդագրություն է պահանջվել՝ MSS Հիշողության Մուտքի Սխալ՝ 7F
«status.txt»-ում պետք է մուտքագրվի 017F տողը file.
3.5.2 Պարամետրի կարգավորում
«status.txt» file կարող է օգտագործվել նաև մոդելավորման համար անհրաժեշտ որոշ պարամետրեր սահմանելու համար: Որպես նախկինample, օգտվողի կոդի համար 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-ում հաջորդ ծառայությունը կկատարվի:

Microsemi-ն որևէ երաշխիք, ներկայացուցչություն կամ երաշխիք չի տալիս այստեղ պարունակվող տեղեկատվության կամ որևէ կոնկրետ նպատակի համար իր արտադրանքի և ծառայությունների համապատասխանության վերաբերյալ, ինչպես նաև չի ստանձնում որևէ պատասխանատվություն, որը բխում է որևէ արտադրանքի կամ շղթայի կիրառումից կամ օգտագործումից: Սույնով վաճառվող ապրանքները և Microsemi-ի կողմից վաճառվող ցանկացած այլ ապրանքներ ենթարկվել են սահմանափակ փորձարկման և չպետք է օգտագործվեն առաքելության համար կարևոր սարքավորումների կամ հավելվածների հետ համատեղ: Ենթադրվում է, որ կատարողականի ցանկացած տեխնիկական բնութագրերը հուսալի են, բայց չեն ստուգվում, և Գնորդը պետք է կատարի և կատարի արտադրանքի բոլոր կատարողականության և այլ փորձարկումները՝ միայնակ և ցանկացած վերջնական արտադրանքի հետ միասին կամ տեղադրված: Գնորդը չպետք է հենվի Microsemi-ի կողմից տրամադրված որևէ տվյալների և կատարողականի բնութագրերի կամ պարամետրերի վրա: Գնորդի պարտականությունն է ինքնուրույն որոշել ցանկացած ապրանքի համապատասխանությունը և նույնը ստուգել և հաստատել: Microsemi-ի կողմից սույն ստորև բերված տեղեկատվությունը տրամադրվում է «ինչպես կա, որտեղ կա» և բոլոր անսարքություններով, և նման տեղեկատվության հետ կապված ողջ ռիսկն ամբողջությամբ պատկանում է Գնորդին: Microsemi-ն բացահայտորեն կամ անուղղակիորեն որևէ կողմի չի տրամադրում արտոնագրային իրավունքներ, լիցենզիաներ կամ որևէ այլ ՄՍ իրավունք՝ անկախ այդ տեղեկատվության կամ նման տեղեկատվության մեջ նկարագրված որևէ այլ բանի հետ: Սույն փաստաթղթում ներկայացված տեղեկատվությունը պատկանում է Microsemi-ին, և Microsemi-ն իրեն իրավունք է վերապահում ցանկացած պահի առանց ծանուցման ցանկացած փոփոխություն կատարել այս փաստաթղթի տեղեկատվության կամ որևէ ապրանքի և ծառայության մեջ:
Microsemi-ը՝ Microchip Technology Inc.-ի (Nasdaq: MCHP) ամբողջությամբ պատկանող դուստր ձեռնարկությունը, առաջարկում է կիսահաղորդչային և համակարգային լուծումների համապարփակ պորտֆոլիո օդատիեզերական և պաշտպանության, կապի, տվյալների կենտրոնի և արդյունաբերական շուկաների համար: Արտադրանքները ներառում են բարձր արդյունավետություն և ճառագայթման միջոցով կարծրացած անալոգային խառը ազդանշանային ինտեգրալ սխեմաներ, FPGA-ներ, SoC-ներ և ASIC-ներ; էներգիայի կառավարման արտադրանք; ժամանակի և համաժամացման սարքեր և ժամանակի ճշգրիտ լուծումներ՝ սահմանելով ժամանակի համաշխարհային ստանդարտը. ձայնի մշակման սարքեր; ՌԴ լուծումներ; դիսկրետ բաղադրիչներ; ձեռնարկությունների պահեստավորման և հաղորդակցման լուծումներ; անվտանգության տեխնոլոգիաներ և մասշտաբային հակատտamper ապրանքներ; Ethernet լուծումներ; Power-over-Ethernet IC-ներ և միջնաժամկետներ; ինչպես նաև անհատական ​​դիզայնի հնարավորություններ և ծառայություններ: Microsemi-ի գլխամասային գրասենյակը գտնվում է Կալիֆորնիայի Ալիսո Վիեխո քաղաքում և ունի մոտավորապես 4,800 աշխատակից ամբողջ աշխարհում: Իմացեք ավելին այստեղ www.microsemi.com.

Microsemi պատկերանշան

Microsemi-ի շտաբ
One Enterprise, Aliso Viejo,
CA 92656 ԱՄՆ
ԱՄՆ-ի սահմաններում՝ +1 800-713-4113
ԱՄՆ-ից դուրս՝ +1 949-380-6100
Վաճառք՝ +1 949-380-6136
Ֆաքս՝ +1 949-215-4996
փոստ՝ վաճառք:support@microsemi.com
www.microsemi.com
© 2018 Microsemi. Բոլոր իրավունքները պաշտպանված են։ Microsemi և Microsemi լոգոն
Microsemi Corporation-ի ապրանքանիշերն են: Բոլոր այլ ապրանքանիշերը և ծառայությունները
նշանները իրենց համապատասխան սեփականատերերի սեփականությունն են:

Փաստաթղթեր / ռեսուրսներ

Microsemi UG0837 IGLOO2 և SmartFusion2 FPGA System Services Simulation [pdf] Օգտագործողի ուղեցույց
UG0837, UG0837 IGLOO2 և SmartFusion2 FPGA System Services Simulation, IGLOO2 and SmartFusion2 FPGA System Services Simulation, SmartFusion2 FPGA System Services Simulation, FPGA System Services Simulation, Services Simulation

Հղումներ

Թողնել մեկնաբանություն

Ձեր էլփոստի հասցեն չի հրապարակվի: Պարտադիր դաշտերը նշված են *