Microsemi لوگو

UG0837
استعمال ڪندڙ ھدايت
IGLOO2 ۽ SmartFusion2 FPGA
سسٽم سروسز سموليشن
جون 2018

نظرثاني جي تاريخ

نظرثاني جي تاريخ بيان ڪري ٿي تبديلين کي جيڪي دستاويز ۾ لاڳو ڪيا ويا. تبديلين کي نظر ثاني سان درج ڪيو ويو آهي، سڀ کان وڌيڪ موجوده اشاعت سان شروع ڪندي.
1.1 نظرثاني 1.0
نظر ثاني 1.0 جون 2018 ۾ شايع ڪيو ويو. اھو ھن دستاويز جو پھريون اشاعت ھو.

IGLOO2 ۽ SmartFusion2 FPGA سسٽم سروسز سموليشن

SmartFusion®2 FPGA خاندان جي سسٽم سروسز بلاڪ مختلف ڪمن لاءِ ذميوار خدمتن جو مجموعو پيش ڪري ٿو. انهن ۾ نقلي پيغام جون خدمتون، ڊيٽا پوائنٽر خدمتون، ۽ ڊيٽا بيان ڪندڙ خدمتون شامل آهن. سسٽم جون خدمتون Cortex-M3 ذريعي SmartFusion2 ۾ ۽ FPGA فيبرڪ مان فيبرڪ انٽرفيس ڪنٽرولر (FIC) ذريعي ٻنهي SmartFusion2 ۽ IGLOO®2 لاءِ حاصل ڪري سگهجن ٿيون. اهي رسائي جا طريقا COMM_BLK ذريعي سسٽم ڪنٽرولر ڏانهن موڪليا ويا آهن. COMM_BLK وٽ ھڪڙو ترقي يافته پرديري بس (APB) انٽرفيس آھي ۽ سسٽم ڪنٽرولر سان ڊيٽا کي مٽائڻ لاءِ پيغام پھچڻ واري ڪنڊٽ طور ڪم ڪري ٿو. سسٽم سروس جون درخواستون سسٽم ڪنٽرولر ڏانهن موڪليا ويا آهن ۽ سسٽم سروس جا جواب موڪليا ويا آهن CoreSysService ڏانهن COMM BLK ذريعي. COMM_BLK لاءِ ايڊريس جو هنڌ موجود آهي مائڪرو ڪنٽرولر سب سسٽم (MSS)/هاءِ پرفارمنس ميموري سب سسٽم (HPMS) اندر. تفصيل لاءِ، ڏسو UG0450: SmartFusion2 SoC ۽ IGLOO2 FPGA سسٽم ڪنٽرولر.
استعمال ڪندڙ ھدايت
هيٺ ڏنل مثال ڏيکاري ٿو سسٽم سروسز ڊيٽا جي وهڪري.
شڪل 1 • سسٽم سروس ڊيٽا فلو ڊراگرامMicrosemi 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. CoreSysServices نرم IP ڪور کي انسٽال ڪريو، SmartDesign فهرست ۾ موجود.
  2. هڪ محدود رياست مشين (FSM) لاءِ HDL ڪوڊ لکو.

HDL FSM انٽرفيس CoreSysServices Core سان آهي، جيڪو AHBLite بس جي فيبرڪ ماسٽر طور ڪم ڪري ٿو. CoreSysServices core COMM BLK کي سسٽم سروس جي درخواست شروع ڪري ٿو ۽ FIC_0/1 ذريعي COMM BLK کان سسٽم سروس جا جواب وصول ڪري ٿو، فيبرڪ انٽرفيس ڪنٽرولر جيئن هيٺ ڏنل مثال ۾ ڏيکاريل آهي.
شڪل 2 • IGLOO2 سسٽم سروسز سموليشن ٽوپولوجيMicrosemi UG0837 IGLOO2 ۽ SmartFusion2 FPGA سسٽم سروسز سموليشن - ڊيٽا فلو ڊراگرام 12.3 SmartFusion2 سسٽم سروس سموليشن
SmartFusion2 ڊوائيسز ۾ سسٽم سروسز کي نقل ڪرڻ لاء، توهان کي سسٽم ڪنٽرولر کان لکڻ ۽ پڙهڻ جي ضرورت آهي. نقلي مقصدن لاءِ سسٽم ڪنٽرولر تائين رسائي حاصل ڪرڻ لاءِ ٻه آپشن موجود آهن.
آپشن 1 — CoreSysService نرم IP ڪور سان انٽرفيس ڪرڻ لاءِ FSM لاءِ HDL ڪوڊ لکو، جيڪو AHBLite فيبرڪ ماسٽر طور ڪم ڪري ٿو ۽ COMM BLK کي سسٽم سروس جي درخواست شروع ڪري ٿو ۽ COMM BLK کان FIC_0/1 فيبرڪ ذريعي سسٽم سروس جا جواب وصول ڪري ٿو. انٽرفيس جيئن هيٺ ڏنل تصوير ۾ ڏيکاريل آهي.
شڪل 3 • SmartFusion2 سسٽم سروسز سموليشن ٽوپولوجيMicrosemi UG0837 IGLOO2 ۽ SmartFusion2 FPGA سسٽم سروسز سموليشن - ڊيٽا فلو ڊراگرام 2

آپشن 2 - جيئن ته Cortex-M3 SmartFusion2 ڊوائيسز لاءِ دستياب آهي، توهان استعمال ڪري سگهو ٿا BFM حڪم سڌو سنئون لکڻ ۽ پڙهڻ لاءِ سسٽم ڪنٽرولر جي ميموري اسپيس مان.
BFM ڪمانڊ استعمال ڪندي (اختيار 2) FSM لاءِ HDL ڪوڊ لکڻ جي ضرورت کي بچائي ٿو. ھن يوزر گائيڊ ۾، آپشن 2 استعمال ڪيو ويندو آھي سمارٽ فيوزن 2 ۾ سسٽم سروسز سموليشن ڏيکارڻ لاءِ. ھن اختيار سان، سسٽم ڪنٽرولر جي ميموري اسپيس تائين رسائي حاصل ڪئي ويندي آھي ميموري ميپ کي معلوم ڪرڻ لاءِ COMM BLK ۽ فيبرڪ انٽرفيس انٽرپٽ ڪنٽرولر (FIIC) بلاڪ جڏھن توھان پنھنجو BFM ڪمانڊ لکندا آھيو.
2.4 Simulation Examples
استعمال ڪندڙ ھدايت ھيٺ ڏنل سميلن کي ڍڪيندي آھي.

  • 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 > نئون > HDL). پنھنجي FSM ۾ ھيٺيون ٽي رياستون شامل ڪريو.
    INIT رياست (ابتدائي حالت)
    SERV_PHASE (خدمت جي درخواست جي حالت)
    RSP_PHASE (خدمت جي جواب واري حالت).
    هيٺ ڏنل انگ اکر ڏيکاري ٿو FSM جي ٽن رياستن.
    شڪل 4 • ٽي-اسٽيٽ FSM
  5. مائڪروسيمي UG0837 IGLOO2 ۽ SmartFusion2 FPGA سسٽم سروسز سموليشن - ٽي اسٽيٽ FSM 1FSM لاءِ توهان جي HDL ڪوڊ ۾، INIT رياست کان خدمت جي درخواست واري رياست داخل ڪرڻ لاءِ صحيح ڪمانڊ ڪوڊ ("01" هيڪس سيريل نمبر سروس لاءِ) استعمال ڪريو.
  6. پنهنجو HDL بچايو file. FSM ڊزائن جي جوڙجڪ ۾ هڪ جزو طور ظاهر ٿئي ٿو.
  7. SmartDesign کوليو. پنھنجي اعليٰ سطحي سسٽم بلڊر بلاڪ ۽ پنھنجي FSM بلاڪ کي SmartDesign ڪينوس ۾ ڇڪيو ۽ ڇڏي ڏيو. ڪيٽلاگ مان، CoreSysService نرم IP ڪور کي SmartDesign ڪينوس ۾ ڇڪيو ۽ ڇڏي ڏيو.
  8. ساڄي ڪلڪ ڪريو CoreSysService نرم IP ڪور ترتيب ڏيڻ وارو کولڻ لاءِ. چيڪ ڪريو سيريل نمبر سروس چيڪ باڪس (جي تحت ڊيوائس ۽ ڊيزائن انفارميشن سروسز
    گروپ) سيريل نمبر سروس کي فعال ڪرڻ لاء.
  9. ٻين سڀني چيڪ بڪس کي بغير چيڪ ڪريو ڇڏي ڏيو. ڪلڪ ڪريو ٺيڪ ٺاھ جوڙ مان نڪرڻ لاء.
    شڪل 5 • CoreSysServices نرم IP ڪور ڪنفيگريٽر
    Microsemi 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 بلاڪ سان سمارٽ ڊيزائن ڪينواسMicrosemi UG0837 IGLOO2 ۽ SmartFusion2 FPGA سسٽم سروسز سموليشن - HPMS بلاڪ
  12. SmartDesign Canvas ۾، ساڄي ڪلڪ ڪريو > Generate Component to generate the Top Level Design.
  13. ڊيزائن جي جوڙجڪ ۾ viewمٿين سطح جي ڊيزائن تي صحيح ڪلڪ ڪريو ۽ چونڊيو Testbench > HDL ٺاهيو.
  14. متن ٺاهڻ لاءِ ٽيڪسٽ ايڊيٽر استعمال ڪريو file نالو "status.txt".
  15. سسٽم سروس ۽ 128-bit سيريل نمبر لاء حڪم شامل ڪريو. وڌيڪ معلومات لاءِ، ڏسو ٽيبل 1 (سسٽم سروسز ڪمانڊ/جوابي قدر) CoreSysServices v3.1 دستي بڪ ڪمانڊ ڪوڊس لاءِ (Hex) مختلف سسٽم سروسز لاءِ استعمال ٿيڻ لاءِ. سيريل نمبر سروس لاء، حڪم ڪوڊ "01" هيڪس آهي.

Status.txt جو فارميٽ file سيريل نمبر سروس لاءِ ھيٺ ڏنل آھي.
<2 Hex digit CMD><32 Hex digit سيريل نمبر>
Example: 01A1A2A3A4B1B2B3B4C1C2C3C4D1D2D3D4
Status.txt محفوظ ڪريو file توهان جي پروجيڪٽ جي سموليشن فولڊر ۾. ڊزائن هاڻي تخليق لاء تيار آهي.
هڪ دفعو خدمت تي عمل ڪرڻ شروع ڪيو ويو آهي، هڪ پيغام جيڪو ڏيکاري ٿو منزل جي مقام ۽ سيريل نمبر ڏيکاري ٿو ماڊل سم ٽرانسڪرپٽ ونڊو ۾، جيئن هيٺ ڏنل شڪل ۾ ڏيکاريل آهي.
شڪل 7 • ماڊل سم سموليشن ٽرانسڪرپٽ ونڊوMicrosemi UG0837 IGLOO2 ۽ SmartFusion2 FPGA سسٽم سروسز سموليشن - ٽرانسڪرپٽ ونڊوسسٽم ڪنٽرولر سيريل نمبر سان ايڊريس تي AHB لکندو آهي. سروس جي مڪمل ٿيڻ تي، COMM_BLK جي RXFIFO سروس جي جواب سان لوڊ ڪيو ويندو.
نوٽ: مختلف سسٽم سروسز لاءِ استعمال ٿيڻ لاءِ ڪمانڊ ڪوڊس جي مڪمل لسٽنگ لاءِ، ڏسو ٽيبل 1 (سسٽم سروسز ڪمانڊ/جوابي قدر) CoreSysServices v3.1 Handbook or UG0450: SmartFusion2 SoC ۽ IGLOO2 FPGA سسٽم ڪنٽرولر يوزر گائيڊ.
2.6 SmartFusion2 سيريل نمبر سروس سموليشن
هن صارف گائيڊ ۾، BFM حڪم (اختيار 2) استعمال ڪيا ويندا آهن سسٽم ڪنٽرولر تائين رسائي حاصل ڪرڻ لاءِ سسٽم سروس لاءِ. BFM ڪمانڊ استعمال ڪيا ويا آھن جيئن Cortex-M3 پروسيسر موجود آھي ڊوائيس تي BFM تخليق لاءِ. BFM حڪم توهان کي COMM_BLK جي ميموري ميپنگ کي ڄاڻڻ کان پوءِ سڌو سنئون COMM BLK کان لکڻ ۽ پڙهڻ جي اجازت ڏين ٿا.
SmartFusion2 سيريل نمبر سروس سميوليشن لاءِ پنھنجي ڊيزائن تيار ڪرڻ لاءِ، ھيٺين قدمن تي عمل ڪريو.

  1. MSS کي ڪيٽلاگ مان ڇڪيو ۽ ڦٽو ڪريو پنھنجي پروجيڪٽ جي ڊيزائن ڪينواس ڏانھن.
  2. MSS_CCC کان سواءِ سڀ MSS پرديئرز کي غير فعال ڪريو، ڪنٽرولر ري سيٽ ڪريو، مداخلت جو انتظام، ۽ FIC_0، FIC_1 ۽ FIC_2.
  3. مداخلت واري انتظام کي ترتيب ڏيو MSS استعمال ڪرڻ لاءِ فيبرڪ مداخلت لاءِ.
  4. serialnum.bfm تيار ڪريو file ٽيڪسٽ ايڊيٽر ۾ يا لائبرو جي HDL ايڊيٽر ۾. serialnum.bfm محفوظ ڪريو file پروجيڪٽ جي Simulation فولڊر ۾. serialnum.bfm ھيٺ ڏنل تفصيل شامل ڪرڻ گھرجي.
    • ميموري ميپنگ کي COMM BLK (CMBLK)
    • ميموري ميپنگ کي مداخلت ڪرڻ لاءِ انتظامي پردي (FIIC)
    • سيريل نمبر سسٽم سروس جي درخواست لاء حڪم ("01" Hex)
    • سيريل نمبر جي جڳھ لاء پتو
    هڪ سابقample of the serialnum.bfm file هن ريت آهي.
    memmap FIIC 0x40006000؛ #Memory Mapping to Interrupt Management
    memmap CMBLK 0x40016000؛ #Memory Mapping to COMM BLK
    memmap DESCRIPTOR_ADDR 0x20000000؛ # ايڊريس جو مقام سيريل نمبر لاءِ
    # Hexadecimal ۾ ڪمانڊ ڪوڊ
    مسلسل CMD 0x1 # ڪمانڊ ڪوڊ سيريل نمبر سروس لاءِ
    #FIIC ڪنفيگريشن رجسٽر
    مسلسل FICC_INTERRUPT_ENABLE0 0x0
    #COMM_BLK ڪنفيگريشن رجسٽر
    مسلسل ڪنٽرول 0x00
    مسلسل اسٽيٽس 0x04
    مستقل INT_ENABLE 0x08
    مسلسل DATA8 0x10
    مسلسل DATA32 0x14
    مسلسل FRAME_START8 0x18
    مسلسل FRAME_START32 0x1C
    عمل serialnum؛
    انٽ ايڪس؛
    لکو w FIIC FICC_INTERRUPT_ENABLE0 0x20000000 #Configure
    #FICC_INTERRUPT_ENABLE0 # فعال ڪرڻ لاءِ رجسٽر ٿيو COMBLK_INTR #
    # interrupt 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 ترتيب ڏيو
    # رجسٽر ڪريو سيريل نمبر سروس جي درخواست ڪرڻ لاء
    اينڊيف
    اينڊيف
    انتظار 19 # انتظار ڪريو COMM BLK مداخلت، هتي
    #BFM انتظار ڪري ٿو جيستائين COMBLK_INTR تي زور ڀريو وڃي
    readstore w CMBLK STATUS x # پڙهو COMM BLK اسٽيٽس رجسٽر لاءِ
    #TXTOKAY مداخلت
    xx ۽ 0x1 سيٽ ڪريو
    xx ۽ 0x1 سيٽ ڪريو
    جيڪڏهن x
    لکو w CMBLK CONTROL 0x14 # Configure COMM BLK ڪنٽرول
    # رجسٽر ڪريو منتقلي کي فعال ڪرڻ لاءِ COMM BLK انٽرفيس
    لکو w CMBLK DATA32 DESCRIPTOR_ADDR
    لکو w CMBLK INT_ENABLE 0x80
    لکو w CMBLK CONTROL 0x10
    اينڊيف
    انتظار ڪريو 20
    # جوابي مرحلو
    انتظار 19
    ريڊ اسٽور w CMBLK اسٽيٽس x
    xx ۽ 0x80 سيٽ ڪريو
    جيڪڏهن x
    CMBLK FRAME_START8 CMD سان چيڪ ڪريو
    لکو w CMBLK INT_ENABLE 0x2
    اينڊيف
    انتظار 19
    ريڊ اسٽور w CMBLK اسٽيٽس x
    xx ۽ 0x2 سيٽ ڪريو
    جيڪڏهن x
    پڙهو چيڪ w CMBLK DATA8 0x0
    لکو w CMBLK CONTROL 0x18
    اينڊيف
    انتظار 19
    پڙهو چيڪ w FIIC 0x8 0x20000000
    ريڊ اسٽور w CMBLK اسٽيٽس x
    xx ۽ 0x2 سيٽ ڪريو
    جيڪڏهن x
    پڙهو چيڪ w 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 ايڊيٽر يا ڪنهن به ٽيڪسٽ ايڊيٽر ۾. سيريل نمبر سسٽم سروس ڪمانڊ شامل ڪريو ("01" Hex ۾) ۽ سيريل نمبر اسٽيٽس ۾. txt file. ڏسو CoreSysServices v3.1 دستي بڪ صحيح ڪمانڊ ڪوڊ استعمال ڪرڻ لاءِ.
  6. هن جو نحو file سيريل نمبر سروس لاءِ آهي، <2 هيڪس عدد CMD><32 هيڪس عدد سيريل نمبر>. مثالample: 01A1A2A3A4B1B2B3B4C1C2C3C4E1E2E3E4.
  7. اسٽيٽس محفوظ ڪريو .txt file پروجيڪٽ جي Simulation فولڊر ۾.
  8. سيريلنم شامل ڪرڻ لاءِ استعمال ڪندڙ .bfm (سيموليشن فولڊر جي اندر واقع) کي تبديل ڪريو. bfm file ۽ سيريل نمبر جي طريقيڪار کي ڪال ڪريو جيئن هيٺ ڏنل ڪوڊ جي ٽڪڙي ۾ ڏيکاريل آهي.
    شامل ڪريو "serialnum.bfm" # شامل ڪريو serialnum.bfm
    طريقيڪار user_main؛
    پرنٽ "INFO: Simulation Starts"؛
    پرنٽ ڪريو "ڄاڻ: سروس ڪمانڊ ڪوڊ ڊيسيمل ۾: %0d"، سي ايم ڊي ؛
    ڪال serialnum؛ # serialnum پروسيس کي ڪال ڪريو
    پرنٽ “INFO: Simulation Ends”؛
    واپسي
  9. ڊيزائن جي جوڙجڪ ۾ viewٽيسٽ بينچ ٺاھيو (ساڄي ڪلڪ ڪريو، ٽاپ ليول ڊيزائن> ٽيسٽ بينچ ٺاھيو> HDL ) ۽ توھان سيريل نمبر سروس سموليشن کي هلائڻ لاءِ تيار آھيو.

هڪ دفعو خدمت جي عمل کي شروع ڪرڻ کان پوء، هڪ پيغام ظاهر ٿئي ٿو جيڪو منزل جي جڳهه ۽ سيريل نمبر ڏيکاري ٿو. سسٽم ڪنٽرولر سيريل نمبر سان ايڊريس تي AHB لکندو آهي. سروس جي مڪمل ٿيڻ تي، COMM_BLK جي RXFIFO سروس جي جواب سان لوڊ ڪيو ويندو. ModelSim ٽرانسڪرپٽ ونڊو ڏيکاري ٿو ايڊريس ۽ سيريل نمبر وصول ڪيو جيئن هيٺ ڏنل شڪل ۾ ڏيکاريل آهي.
شڪل 8 • SmartFusion2 سيريل نمبر سروس سموليشن ماڊل سم ٽرانسڪرپٽ ونڊو ۾Microsemi UG0837 IGLOO2 ۽ SmartFusion2 FPGA سسٽم سروسز سموليشن - ٽرانسڪرپٽ ونڊو 1

2.7 IGLOO2 زيروائيزيشن سروس سموليشن
IGLOO2 صفرائيزيشن سروس سموليشن لاءِ تيار ڪرڻ لاءِ، ھيٺ ڏنل قدمن کي انجام ڏيو.

  1. HPMS بلاڪ ٺاهڻ لاءِ سسٽم بلڊر کي سڏ ڪريو. چيڪ ڪريو HPMS سسٽم سروسز چيڪ بڪس ۾ ڊوائيس خاصيتون SYS_SERVICES_MASTER BIF. ٻين سڀني چيڪ بڪس کي بغير چيڪ ڪريو ڇڏي ڏيو. ٻين سڀني صفحن ۾ ڊفالٽ قبول ڪريو ۽ صفحي تي ڪلڪ ڪريو. هي سسٽم بلڊر کي هدايت ڪري ٿو ته HPMS_FIC_0 ختم ڪرڻ لاءِ سسٽم بلڊر بلاڪ جي ترتيب کي مڪمل ڪرڻ لاءِ.
  2. Libero SoC جي HDL ايڊيٽر ۾، FSM لاءِ HDL ڪوڊ لکو. FSM لاءِ توھان جي HDL ڪوڊ ۾، ھيٺيون ٽي رياستون شامل ڪريو.
    INIT رياست (ابتدائي حالت)
    SERV_PHASE (خدمت جي درخواست جي حالت)
    RSP_PHASE (خدمت جي جواب واري حالت)
    هيٺ ڏنل انگ اکر ڏيکاري ٿو FSM جي ٽن رياستن.
    شڪل 9 • ٽي-اسٽيٽ FSMMicrosemi UG0837 IGLOO2 ۽ SmartFusion2 FPGA سسٽم سروسز سموليشن - ٽي اسٽيٽ FSM

     

  3. توهان جي HDL ڪوڊ ۾، INIT رياست کان خدمت جي درخواست واري رياست داخل ڪرڻ لاءِ ڪمانڊ ڪوڊ "F0" (Hex) استعمال ڪريو.
  4. پنهنجو HDL بچايو file.
  5. SmartDesign کوليو، پنھنجي اعليٰ سطحي سسٽم بلڊر بلاڪ ۽ پنھنجي HDL FSM بلاڪ کي SmartDesign ڪينواس ۾ ڇڪيو ۽ ڇڏيو. ڪيٽلاگ مان، CoreSysService نرم IP ڪور کي SmartDesign ڪينوس ۾ ڇڪيو ۽ ڇڏي ڏيو.
  6. CoreSysServices soft IP core تي ساڄي ڪلڪ ڪريو، ڪنفيگريٽر کي کولڻ لاءِ ۽ چيڪ ڪريو زيروائيزيشن سروس چيڪ بڪس جي تحت ڊيٽا سيڪيورٽي سروسز گروپ. ٻين سڀني چيڪ بڪسس کي بغير چيڪ ڪريو ڇڏي ڏيو. ڪلڪ ڪريو OK نڪرڻ لاءِ.
    شڪل 10 • CoreSysServices ڪنفيگريٽر
    Microsemi UG0837 IGLOO2 ۽ SmartFusion2 FPGA سسٽم سروسز سموليشن - ڪور ڪنفيگريٽر 1
  7. سسٽم بلڊر بلاڪ جي HPMS_FIC_0 SYS_SERVICES_MASTER BIF کي CoreSysService بلاڪ جي AHBL_MASTER BIF سان ڳنڍيو.
  8. پنهنجي HDL FSM بلاڪ جي آئوٽ پٽ کي CoreSysService نرم IP ڪور جي ان پٽ سان ڳنڍيو. سمارٽ ڊيزائن ڪينواس ۾ ٻيا سڀئي ڪنيڪشن ٺاهيو.
    شڪل 11 • HDL بلاڪ، CoreSysServices Soft IP، ۽ HPMS بلاڪ سان سمارٽ ڊيزائن ڪينواس
    مائڪروسيمي UG0837 IGLOO2 ۽ SmartFusion2 FPGA سسٽم سروسز سموليشن - HPMS بلاڪ 19. SmartDesign Canvas ۾، مٿين سطح جي ڊيزائن ٺاھيو (ساڄي ڪلڪ ڪريو > جز پيدا ڪريو).
    10. ڊيزائن جي جوڙجڪ ۾ viewمٿين سطح جي ڊيزائن تي صحيح ڪلڪ ڪريو ۽ چونڊيو Testbench > HDL ٺاهيو. توھان ھاڻي تيار آھيو تخليق کي هلائڻ لاءِ.
    هڪ دفعو خدمت تي عمل ڪرڻ شروع ڪيو ويو آهي، هڪ پيغام ظاهر ڪري ٿو ته صفر ٿيڻ وقت مڪمل ٿي چڪو آهي x ڏيکاريل آهي جيئن هيٺ ڏنل شڪل ۾ ڏيکاريل آهي.
    شڪل 12 • IGLOO2 زيروائيزيشن سسٽم سروس سموليشن ٽرانسڪرپٽ ونڊو
    Microsemi UG0837 IGLOO2 ۽ SmartFusion2 FPGA سسٽم سروسز سموليشن - ٽرانسڪرپٽ ونڊو 3

سسٽم ڪنٽرولر سيريل نمبر سان ايڊريس تي AHB لکندو آهي. سروس جي مڪمل ٿيڻ تي، COMM_BLK جي RXFIFO سروس جي جواب سان لوڊ ڪيو ويندو. اهو نوٽ ڪيو وڃي ٿو ته تخليقي ماڊل صفرائيزيشن کي نقل ڪري ٿو تخليق کي روڪڻ بجاءِ خود ڊزائن کي صفر ڪرڻ.
نوٽ: مختلف سسٽم سروسز لاءِ استعمال ٿيڻ لاءِ ڪمانڊ ڪوڊز جي مڪمل لسٽنگ لاءِ، ڏسو ٽيبل 1 (سسٽم سروسز ڪمانڊ/جوابي قدر) CoreSysServices v3.1 دستي بڪ:. يا UG0450: SmartFusion2 SoC ۽ IGLOO2 FPGA سسٽم ڪنٽرولر يوزر گائيڊ

2.8 SmartFusion2 زيروائيزيشن سروس سموليشن
ھن ھدايت ۾، BFM ڪمانڊ (اختيار 2) استعمال ڪيا ويا آھن سسٽم ڪنٽرولر تائين رسائي لاءِ سسٽم سروس.
BFM ڪمانڊ استعمال ڪيا ويا آھن جيئن Cortex-M3 پروسيسر موجود آھي ڊوائيس تي BFM تخليق لاءِ. BFM حڪم توهان کي COMM_BLK جي ميموري ميپنگ کي ڄاڻڻ کان پوءِ سڌو سنئون COMM BLK کان لکڻ ۽ پڙهڻ جي اجازت ڏين ٿا. SmartFusion2 زيروائيزيشن سروس سموليشن لاءِ پنھنجي ڊيزائن کي تيار ڪرڻ لاءِ، ھيٺين قدمن تي عمل ڪريو.

  1. MSS کي ڪيٽلاگ مان ڇڪيو ۽ ڦٽو ڪريو پنھنجي پروجيڪٽ جي ڊيزائن ڪينواس ڏانھن.
  2. MSS_CCC کان سواءِ سڀ MSS پرديئرز کي غير فعال ڪريو، ڪنٽرولر ري سيٽ ڪريو، مداخلت جو انتظام، ۽ FIC_0، FIC_1 ۽ FIC_2.
  3. مداخلت واري انتظام کي ترتيب ڏيو MSS استعمال ڪرڻ لاءِ فيبرڪ مداخلت لاءِ.
  4. zeroizaton.bfm تيار ڪريو file ٽيڪسٽ ايڊيٽر ۾ يا لائبرو جي HDL ايڊيٽر ۾. توهان جي صفرائيزيشن. bfm ۾ شامل ٿيڻ گهرجي:
  • ميموري ميپنگ کي COMM BLK (CMBLK)
  • ميموري ميپنگ کي مداخلت ڪرڻ لاءِ انتظامي پرديئر (FIIC)
  • zeroizaton سروس جي درخواست لاء حڪم ("F0" هيڪس زيروزيشن لاء)

هڪ سابقample of the serialnum.bfm file هيٺ ڏنل شڪل ۾ ڏيکاريل آهي.
شڪل 13 • Zeroization.bfm for SmartFusion2 Zeroization System Service Simulation

Microsemi UG0837 IGLOO2 ۽ SmartFusion2 FPGA سسٽم سروسز سموليشن - ٽرانسڪرپٽ ونڊو 4

5. محفوظ ڪريو zeroization.bfm file پروجيڪٽ جي Simulation فولڊر ۾. user.bfm
6. ھيٺ ڏنل ڪوڊ اسنيپٽ استعمال ڪندي شامل ڪرڻ لاءِ (zeroization.bfm Simulation فولڊر ۾ موجود) کي تبديل ڪريو.
شامل ڪريو "zeroization.bfm" #include zeroization.bfm file طريقيڪار user_main؛
پرنٽ "INFO: Simulation Starts"؛
پرنٽ ڪريو "ڄاڻ: سروس ڪمانڊ ڪوڊ ڊيسيمل ۾: %0d"، سي ايم ڊي ؛
ڪال صفر ڪرڻ؛ # ڪال صفر ڪرڻ واري عمل جي واپسي
7. ڊيزائن جي جوڙجڪ ۾، ٽيسٽ بينچ ٺاهيو (ساڄي ڪلڪ ڪريو ٽاپ ليول > ٽيسٽ بينچ ٺاهيو > HDL ) ۽ توهان SmartFusion2 صفرائيزيشن سموليشن کي هلائڻ لاءِ تيار آهيو.
هڪ دفعو خدمت تي عمل ڪرڻ شروع ڪيو ويو آهي، هڪ پيغام ظاهر ڪري ٿو ته ڊوائيس صفر ڪيو ويو آهي وقت تي x ڏيکاريل آهي. اهو نوٽ ڪيو وڃي ٿو ته تخليقي ماڊل صفرائيزيشن کي نقل ڪري ٿو تخليق کي روڪڻ بجاءِ خود ڊزائن کي صفر ڪرڻ. هيٺ ڏنل شڪل ۾ ماڊل سم ٽرانسڪرپٽ ونڊو ڏيکاري ٿو ته ڊوائيس صفر ڪيو ويو آهي.

شڪل 14 • SmartFusion2 زيروائيزيشن سسٽم سروس سموليشن لاگ

Microsemi UG0837 IGLOO2 ۽ SmartFusion2 FPGA سسٽم سروسز سموليشن - ٽرانسڪرپٽ ونڊو 5

ضميمه: سسٽم سروسز جا قسم

هي باب مختلف قسمن جي سسٽم سروسز کي بيان ڪري ٿو.
3.1 نقلي پيغام جون خدمتون
هيٺيون سيڪشن مختلف قسمن جي نقلي پيغام جي خدمتن کي بيان ڪري ٿو.
3.1.1 فليش * منجمد
سموليشن Flash*Freeze اسٽيٽ ۾ داخل ٿيندي جڏهن مناسب خدمت جي درخواست COMM_BLK ڏانهن موڪلي ويندي يا ته FIC کان (IGLOO2 ڊوائيسز جي صورت ۾) يا Cortex-M3 (SmartFusion2 ڊوائيسز ۾). هڪ دفعو سسٽم ڪنٽرولر طرفان سروس معلوم ڪئي وئي آهي، سموليشن کي روڪيو ويندو ۽ هڪ پيغام ظاهر ڪيو ويندو جيڪو سسٽم داخل ٿيو آهي Flash*Freeze (منتخب آپشن سان گڏ) ڏيکاريو ويندو. تخليق جي ٻيهر شروع ٿيڻ تي، COMM_BLK جو RXFIFO خدمت جي جواب سان ڀريو ويندو جنهن ۾ سروس ڪمانڊ ۽ اسٽيٽس شامل آهن. اهو ياد رکڻ گهرجي ته فليش * منجمد نڪرڻ لاء ڪو به تخليقي سپورٽ ناهي.
3.1.2 صفر ڪرڻ
زيروائيزيشن في الحال واحد اعليٰ ترجيحي خدمت آهي جيڪا سسٽم سروسز ۾ COMM_BLK پاران پروسيس ٿيل آهي. سموليشن صفر ڪرڻ واري حالت ۾ داخل ٿي ويندي جيئن ئي صحيح خدمت جي درخواست COMM_BLK پاران معلوم ٿئي ٿي. سسٽم ڪنٽرولر طرفان ٻين خدمتن جي عمل کي روڪيو ويندو ۽ رد ڪيو ويندو، ۽ صفرائيزيشن سروس بجاءِ عمل ڪيو ويندو. هڪ دفعو صفرائيزيشن سروس جي درخواست معلوم ٿئي ٿي، تخليق بند ٿي وڃي ٿي ۽ هڪ پيغام ظاهر ٿئي ٿو جيڪو سسٽم ۾ داخل ڪيو ويو آهي صفرائيزيشن ڏيکاري ٿي. زيروائيزيشن کان پوءِ تخليق جي دستي ٻيهر شروع ڪرڻ غلط آهي.
3.2 ڊيٽا پوائنٽر خدمتون
هيٺيون سيڪشن ڊيٽا پوائنٽر سروسز جي مختلف قسمن کي بيان ڪري ٿو.
3.2.1 سيريل نمبر
سيريل نمبر سروس هڪ 128-بٽ سيريل نمبر لکندي هڪ پتي جي جڳهه تي مهيا ڪيل خدمت جي درخواست جي حصي طور. هي 128-bit پيٽرولر سسٽم سروس سموليشن سپورٽ استعمال ڪندي سيٽ ڪري سگھجي ٿو file (ڏسو صفحو 22). جيڪڏهن 128-bit سيريل نمبر پيٽرولر جي اندر وضاحت نه ڪئي وئي آهي file, ڊفالٽ سيريل نمبر 0 استعمال ڪيو ويندو. هڪ دفعو خدمت جي عمل کي شروع ڪرڻ کان پوء، هڪ پيغام ظاهر ٿئي ٿو جيڪو منزل جي جڳهه ۽ سيريل نمبر ڏيکاري ٿو. سسٽم ڪنٽرولر سيريل نمبر سان ايڊريس تي AHB لکندو آهي. سروس جي مڪمل ٿيڻ تي، COMM_BLK جي RXFIFO سروس جي جواب سان لوڊ ڪيو ويندو.
3.2.2 يوزر ڪوڊ
يوزر ڪوڊ سروس لکي ٿو 32-bit يوزر ڪوڊ پيٽرول هڪ ايڊريس جي جڳھ تي مهيا ڪيل خدمت جي درخواست جي حصي طور. هي 32-bit پيٽرولر سسٽم سروس سموليشن سپورٽ استعمال ڪندي سيٽ ڪري سگھجي ٿو file (ڏسو صفحو 22). جيڪڏهن 32-bit پيٽرولر جي وضاحت نه ڪئي وئي آهي file, هڪ ڊفالٽ قدر 0 استعمال ڪيو ويندو آهي. هڪ دفعو خدمت تي عمل ڪرڻ شروع ڪيو ويو آهي، هڪ پيغام ڏيکاري ٿو جيڪو ٽارگيٽ مقام ۽ يوزر ڪوڊ ڏيکاري ٿو. سسٽم ڪنٽرولر 32-bit پيٽرولر سان ايڊريس تي AHB لکندو آهي. سروس جي مڪمل ٿيڻ تي، COMM_BLK جي RXFIFO سروس جي جواب سان لوڊ ڪئي وئي آھي، جنھن ۾ سروس ڪمانڊ ۽ ٽارگيٽ ايڊريس شامل آھن.
3.3 ڊيٽا بيان ڪندڙ خدمتون
هيٺيون سيڪشن مختلف قسمن جي ڊيٽا بيان ڪندڙ خدمتن کي بيان ڪري ٿو.

3.3.1 اي اي ايس
هن خدمت لاءِ سموليشن سپورٽ صرف اصل ڊيٽا کي ماخذ کان منزل ڏانهن منتقل ڪرڻ سان تعلق رکي ٿي، اصل ۾ ڊيٽا تي ڪنهن به انڪرپشن/ڊڪرپشن کي انجام ڏيڻ کان سواءِ. ڊيٽا جنهن کي انڪوڊ/ڊڪرپٽ ٿيڻ جي ضرورت آهي ۽ ڊيٽا جي جوڙجڪ کي خدمت جي درخواست موڪلڻ کان اڳ لکڻ گهرجي. هڪ دفعو خدمت تي عمل ڪرڻ شروع ڪيو ويو آهي، هڪ پيغام ظاهر ٿئي ٿو جيڪو AES سروس جي عمل کي ظاهر ڪري ٿو. AES سروس ٻنهي ڊيٽا جي جوڙجڪ ۽ ڊيٽا کي پڙهي ٿو انڪرپٽ/ڊيڪرپٽ ٿيڻ لاءِ. اصل ڊيٽا نقل ڪئي وئي آهي ۽ ڊيٽا جي جوڙجڪ ۾ مهيا ڪيل پتي تي لکيل آهي. هڪ دفعو خدمت مڪمل ٿي ويندي آهي، حڪم، حيثيت، ۽ ڊيٽا جي جوڙجڪ پتي کي RXFIFO ۾ ڌڪايو ويندو آهي.
نوٽ: هي خدمت صرف 128-bit ۽ 256-bit ڊيٽا لاءِ آهي، ۽ ٻنهي 128-bit ۽ 256-bit ڊيٽا ۾ مختلف ڊيٽا جي جوڙجڪ جي ڊيگهه آهي.

3.3.2 SHA 256
هن خدمت لاءِ تخليقي مدد صرف ڊيٽا کي منتقل ڪرڻ سان تعلق رکي ٿي، اصل ۾ ڊيٽا تي ڪا به هشنگ ڪرڻ کان سواءِ. SHA 256 فنڪشن ان پٽ ڊيٽا جي بنياد تي 256-bit هيش ڪيچ ٺاهڻ لاءِ ٺهيل آهي. ڊيٽا جنهن کي هٽائڻ جي ضرورت آهي ۽ ڊيٽا جي جوڙجڪ کي انهن جي لاڳاپيل پتي تي لکيو وڃي ان کان اڳ خدمت جي درخواست COMM_BLK ڏانهن موڪليو وڃي. SHA 256 ڊيٽا ڍانچي جي اندر بيان ڪيل بٽس ۽ پوائنٽر ۾ ڊگھائي صحيح طور تي ڊيٽا جي ڊيگهه ۽ ايڊريس سان مطابقت رکي ٿي. هڪ دفعو خدمت تي عمل ڪرڻ شروع ڪيو آهي، هڪ پيغام ظاهر ٿئي ٿو جيڪو SHA 256 سروس جي عمل کي ظاهر ڪري ٿو. بجاءِ حقيقي فنڪشن کي عمل ڪرڻ جي، هڪ ڊفالٽ هيش ڪيچ کي ڊيٽا جي جوڙجڪ مان منزل پوائنٽر ڏانهن لکيو ويندو. ڊفالٽ هيش ڪيئي هيڪس "ABCD1234" آهي. ڪسٽم ڪيچ سيٽ ڪرڻ لاءِ، پيراميٽر سيٽنگ ڏانھن وڃو (صفحو 23 ڏسو) سيڪشن. خدمت جي مڪمل ٿيڻ تي، RXFIFO خدمت جي جواب سان ڀريو ويندو آهي جنهن ۾ سروس ڪمانڊ، اسٽيٽس، ۽ SHA 256 ڊيٽا ڍانچي پوائنٽر شامل آهن.
3.3.3 HMAC
هن خدمت لاءِ تخليقي مدد صرف ڊيٽا جي منتقلي سان تعلق رکي ٿي، اصل ۾ ڊيٽا تي ڪا به هيشنگ ڪرڻ کان سواءِ. ڊيٽا جنهن کي هٽائڻ جي ضرورت آهي ۽ ڊيٽا جي جوڙجڪ کي انهن جي لاڳاپيل پتي تي لکيو وڃي ان کان اڳ خدمت جي درخواست COMM_BLK ڏانهن موڪليو وڃي. HMAC سروس کي بائيٽ، سورس پوائنٽر، ۽ منزل پوائنٽر ۾ ڊگھائي کان علاوه 32-بائيٽ ڪيچ جي ضرورت آھي. هڪ دفعو خدمت تي عمل ڪرڻ شروع ڪيو ويو آهي، هڪ پيغام ڏيکاري ٿو جيڪو HMAC سروس جي عمل کي ظاهر ڪري ٿو. چاٻي پڙھي وئي آھي ۽ 256-bit چاٻي نقل ڪئي وئي آھي ڊيٽا جي جوڙجڪ کان منزل پوائنٽ ڏانھن. خدمت جي مڪمل ٿيڻ تي، RXFIFO خدمت جي جواب سان لوڊ ڪيو ويو آهي جنهن ۾ سروس ڪمانڊ، اسٽيٽس، ۽ HMAC ڊيٽا جي جوڙجڪ پوائنٽر شامل آهن.

3.3.4 DRBG ٺاھيو
بي ترتيب بٽ جي پيدائش هن خدمت جي ذريعي ڪئي وئي آهي. اهو نوٽ ڪيو وڃي ٿو ته سموليشن ماڊل بلڪل ساڳئي بي ترتيب نمبر نسل جي طريقي جي پيروي نٿو ڪري جيڪا سلڪون پاران استعمال ڪئي وئي آهي. خدمت جي درخواست COMM_BLK ڏانهن موڪلڻ کان اڳ ڊيٽا جو ڍانچو صحيح طرح ان جي ارادي واري جاءِ تي لکيو وڃي. ڊيٽا جي جوڙجڪ، منزل پوائنٽر، ڊگھائي ۽ ٻيا لاڳاپيل ڊيٽا سسٽم ڪنٽرولر پاران پڙهيا ويندا آهن. DRBG جنريٽ سروس ٺاهي ٿي pseudo random set of data of the طويل ڊيگهه (0-128). سسٽم ڪنٽرولر بي ترتيب واري ڊيٽا کي منزل جي پوائنٽر ۾ لکي ٿو. DRBG generate سروس جي عمل کي اشارو ڪندي هڪ پيغام تخليق ۾ ڏيکاريل آهي. هڪ دفعو خدمت مڪمل ٿي ويندي آهي، حڪم، حيثيت، ۽ ڊيٽا جي جوڙجڪ پتي کي RXFIFO ۾ ڌڪايو ويندو آهي. جيڪڏهن درخواست ڪيل ڊيٽا جي ڊيگهه 0-128 جي حد اندر نه آهي، هڪ غلطي ڪوڊ "4" (Max Generate ) کي RXFIFO ۾ ڌڪيو ويندو. جيڪڏهن اضافي ڊيٽا جي ڊيگهه 0-128 جي درخواست جي تمام وڏي حد جي اندر نه آهي، "5" جو هڪ غلطي ڪوڊ (اضافي ڊيٽا جي وڌ ۾ وڌ ڊگھائي) RXFIFO ۾ ڌڪيو ويندو. جيڪڏهن ٻئي درخواست ڪيل ڊيٽا جي ڊيگهه ٺاهي ۽ اضافي ڊيٽا جي ڊيگهه انهن جي مقرر ڪيل حد (0-128) جي اندر نه آهي، هڪ غلطي ڪوڊ "1" (تباهي واري غلطي) کي 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 ۾ ڌڪيو ويندو. جيڪڏهن ڊيٽا جي ڊيگهه (PERSONALIZATIONLENGTH) 0-128 جي حد اندر نه آهي، هڪ غلطي ڪوڊ "1" (تباهي واري غلطي ) کي دٻايو ويندو RXFIFO ۾ اسٽيٽس لاءِ.
3.3.8 DRBG غير مستحڪم
DRBG uninstantiate سروس لاءِ سموليشن سپورٽ اصل ۾ اڳئين انسٽنٽ ٿيل 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-bit آپٽائپ ڊيٽا (MSB نظر انداز ٿيل)، ۽ 16-بائيٽ واٽ. ڊيٽا جي جوڙجڪ جي اندر اندر ڊيٽا کي انهن جي لاڳاپيل پتي تي لکيو وڃي، خدمت جي درخواست COMM_BLK ڏانهن موڪلڻ کان اڳ. هڪ دفعو خدمت تي عمل ڪرڻ شروع ڪيو ويو آهي، هڪ پيغام ظاهر ڪيو ويندو جيڪو KeyTree سروس جي عمل کي ظاهر ڪندو. ڊيٽا جي ڍانچي جي مواد کي پڙهيو ويندو، 32-بائيٽ جي چيڪ کي ذخيرو ڪيو ويندو، ۽ ڊيٽا جي جوڙجڪ جي اندر واقع اصل چيڪ کي ختم ڪيو ويندو. هن AHB لکڻ کان پوء، ڊيٽا ڍانچي جي اندر اهم جي قيمت تبديل نه ٿيڻ گهرجي، پر لکڻ لاء AHB ٽرانزيڪشن ٿيندي. خدمت جي مڪمل ٿيڻ تي، RXFIFO خدمت جي جواب سان ڀريل آهي، جنهن ۾ سروس ڪمانڊ، اسٽيٽس، ۽ KeyTree ڊيٽا جي جوڙجڪ پوائنٽر شامل آهي.
3.3.11 چيلنج جو جواب
اصل فنڪشن، جهڙوڪ ڊوائيس جي تصديق، چئلينج جوابي خدمت لاء تخليق ۾ عمل نه ڪيو ويو آهي. ھن خدمت لاءِ ڊيٽا جي جوڙجڪ کي بفر ڏانھن پوائنٽر جي ضرورت آھي، ھڪڙو 32-بائيٽ نتيجو، 7-bit آپٽائپ، ۽ ھڪڙو 128-bit رستو حاصل ڪرڻ لاءِ. ڊيٽا جي جوڙجڪ جي اندر اندر ڊيٽا کي انهن جي لاڳاپيل پتي تي لکيو وڃي ان کان اڳ خدمت جي درخواست COMM_BLK ڏانهن موڪليو وڃي. هڪ دفعو خدمت تي عمل ڪرڻ شروع ڪيو ويو آهي، هڪ پيغام ظاهر ڪيو ويندو جيڪو چئلينج جواب جي خدمت جي عمل کي ظاهر ڪندو. ھڪڙو عام 256-bit جواب لکيو ويندو پوائنٽر ۾ مهيا ڪيل ڊيٽا جي جوڙجڪ ۾. ڊفالٽ ڪنجي کي هيڪس "ABCD1234" طور مقرر ڪيو ويو آهي. ڪسٽم ڪيچ حاصل ڪرڻ لاءِ، پراميٽر سيٽنگ چيڪ ڪريو (ڏسو صفحو 23). سروس جي مڪمل ٿيڻ تي، RXFIFO سروس جي جواب سان لوڊ ڪيو ويندو، جنهن ۾ سروس ڪمانڊ، اسٽيٽس، ۽ چيلنج جوابي ڊيٽا جي جوڙجڪ پوائنٽر شامل هوندو.
3.4 ٻيون خدمتون
هيٺيون سيڪشن مختلف سسٽم سروسز کي بيان ڪري ٿو.
3.4.1 ڊائجسٽ چيڪ
منتخب ٿيل اجزاء جي هضم کي ٻيهر ڳڻڻ ۽ موازنہ ڪرڻ جو حقيقي ڪم تخليق ۾ ڊائجسٽ چيڪ سروس لاءِ عمل نه ڪيو ويو آهي. ھن خدمت جي درخواست تي مشتمل آھي سروس ڪمانڊ، ۽ سروس جا اختيار (5-bit 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، Device Certificate، ۽ DESIGNVER سروس.
3.5 سسٽم سروسز سموليشن سپورٽ File
سسٽم خدمتن جي تخليق کي سپورٽ ڪرڻ لاء، هڪ متن file سڏيو ويندو آهي، "status.txt" استعمال ڪري سگھجي ٿو سموليشن ماڊل جي گهربل رويي بابت هدايتون نقل ڪرڻ لاءِ. هي file ساڳئي فولڊر ۾ واقع هجڻ گهرجي، جنهن مان نقلي هلائي ويندي آهي. جي file استعمال ڪري سگھجي ٿو، ٻين شين جي وچ ۾، استعمال ڪري سگھجي ٿو خاص غلطي جي جوابن لاءِ مجبور ڪرڻ لاءِ سسٽم سروسز جي سپورٽ لاءِ يا حتي ڪي پيراميٽر سيٽ ڪرڻ لاءِ گهربل سموليشن لاءِ، (مثال طورample، سيريل نمبر). "status.txt" ۾ سپورٽ ڪيل لائينن جو وڌ ۾ وڌ تعداد file 256 آھي. ھدايتون جيڪي لڪير نمبر 256 کان پوءِ ظاهر ٿين ٿيون، سميوليشن ۾ استعمال نه ٿينديون.
3.5.1 زبردستي غلطي جا جواب
صارف "status.txt" استعمال ڪندي معلومات کي نقلي ماڊل ڏانهن منتقل ڪندي جاچ دوران هڪ خاص خدمت لاءِ هڪ خاص غلطي جي جواب تي مجبور ڪري سگهي ٿو. file، جنهن کي فولڊر ۾ رکڻ گهرجي جنهن مان تخليق هلي رهي آهي. ھڪڙي خاص خدمت تي غلطي جي جوابن کي مجبور ڪرڻ لاء، حڪم ۽ گھربل جواب ھيٺ ڏنل شڪل ۾ ھڪڙي لائن ۾ ٽائپ ڪيو وڃي.ample، to Command> ؛ سيريل نمبر سروس جي ايم ايس ايس ميموري رسائي جي غلطي جي جواب کي پيدا ڪرڻ لاء تخليقي ماڊل کي هدايت ڪريو، حڪم هن ريت آهي.
خدمت: سيريل نمبر: 01
غلطي پيغام جي درخواست ڪئي وئي: MSS ميموري رسائي غلطي: 7F
توهان کي گهرجي ته لائن 017F "status.txt" ۾ داخل ٿيل هجي file.
3.5.2 پيرا ميٽر سيٽنگ
"status.txt" file پڻ استعمال ڪري سگھجن ٿا ڪجهه پيرا ميٽرس کي ترتيب ڏيڻ لاءِ گهربل ضرورتن ۾. هڪ سابق جي طور تيample، يوزر ڪوڊ لاءِ 32-bit پيٽرول سيٽ ڪرڻ لاءِ، لائن جي شڪل ھن ترتيب ۾ ھئڻ گھرجي: <32 بٽ USERCODE>؛ جتي ٻئي قدر hexadecimal ۾ داخل ڪيا ويا آهن. سيريل نمبر لاءِ 128-بٽ پيٽرول مقرر ڪرڻ لاءِ، لائن جي شڪل ھن ترتيب ۾ ھئڻ گھرجي: <128 بٽ سيريل نمبر [127:0]> ; جتي ٻئي قدر hexadecimal ۾ داخل ڪيا ويا آهن. SHA 256 ڪيچ لاءِ 256-bit پيٽرول سيٽ ڪرڻ لاءِ؛ لڪير جي شڪل هن ترتيب ۾ هجڻ گهرجي: <256 بِٽ ڪيئي [255:0]>؛ جتي ٻئي قدر hexadecimal ۾ داخل ڪيا ويا آهن. 256-bit پيٽرولر کي سيٽ ڪرڻ لاءِ چيلنج ريسپانس ڪيئي لاءِ، لڪير جي شڪل ھن ترتيب ۾ ھئڻ گھرجي: <256 بِٽ ڪيئي [255:0]>؛
جتي ٻئي قدر hexadecimal ۾ داخل ڪيا ويا آهن.
3.5.3 ڊوائيس جي ترجيح
سسٽم خدمتون ۽ COMM_BLK هڪ اعلي ترجيح سسٽم استعمال ڪن ٿا. في الحال، صرف اعلي ترجيحي خدمت صفرائيزيشن آهي. هڪ اعليٰ ترجيحي خدمت انجام ڏيڻ لاءِ، جڏهن ته ٻي خدمت تي عمل ڪيو پيو وڃي، موجوده خدمت کي روڪيو ويو آهي ۽ اعليٰ ترجيحي خدمت ان جي جاءِ تي جاري ڪئي ويندي. COMM_BLK موجوده خدمت کي رد ڪري ڇڏيندو اعلي ترجيحي خدمت انجام ڏيڻ لاءِ. جيڪڏهن موجوده خدمت جي مڪمل ٿيڻ کان اڳ ڪيترائي غير اعليٰ ترجيحي خدمتون موڪليا وڃن، اهي خدمتون TXFIFO جي اندر قطار ۾ هونديون. هڪ دفعو موجوده سروس مڪمل ٿي ويندي آهي، TXFIFO ۾ ايندڙ خدمت تي عمل ڪيو ويندو.

Microsemi هتي موجود معلومات يا ڪنهن خاص مقصد لاءِ ان جي پروڊڪٽس ۽ خدمتن جي موزونيت جي حوالي سان ڪا به وارنٽي، نمائندگي، يا گارنٽي نه ٿو ڏئي، ۽ نه ئي مائڪروسيمي ڪنهن به پروڊڪٽ يا سرڪٽ جي ايپليڪيشن يا استعمال مان پيدا ٿيندڙ ڪا ذميواري قبول ڪري ٿي. ھتي وڪرو ڪيل پراڊڪٽس ۽ مائيڪروسيمي پاران وڪرو ڪيل ٻيون شيون محدود جاچ جي تابع آھن ۽ مشن جي نازڪ سامان يا ايپليڪيشنن سان گڏ استعمال نه ٿيڻ گھرجي. ڪنهن به ڪارڪردگي جي وضاحتن کي مڃيو وڃي ٿو قابل اعتماد پر تصديق ٿيل نه آهي، ۽ خريد ڪندڙ کي لازمي طور تي سڀني ڪارڪردگي ۽ مصنوعات جي ٻين جانچ کي مڪمل ڪرڻ ۽ مڪمل ڪرڻ گهرجي، اڪيلو ۽ گڏوگڏ، يا نصب ٿيل، ڪنهن به آخري پراڊڪٽس ۾. خريد ڪندڙ ڪنهن به ڊيٽا ۽ ڪارڪردگي جي وضاحتن تي ڀروسو نه ڪندو يا مائڪروسيمي پاران مهيا ڪيل پيٽرولر. اهو خريد ڪندڙ جي ذميواري آهي آزاديء سان ڪنهن به پروڊڪٽ جي مناسبيت جو تعين ڪرڻ ۽ ان جي جانچ ۽ تصديق ڪرڻ. Microsemi پاران مهيا ڪيل معلومات هتي ڏنل آهي "جيئن آهي، ڪٿي آهي" ۽ سڀني غلطين سان، ۽ اهڙي معلومات سان لاڳاپيل سڄو خطرو مڪمل طور تي خريد ڪندڙ سان آهي. Microsemi، واضح طور تي يا واضح طور تي، ڪنهن به پارٽي کي پيٽرن جا حق، لائسنس، يا ڪي ٻيا IP حق نه ڏئي ٿو، چاهي اهڙي معلومات جي حوالي سان يا اهڙي معلومات طرفان بيان ڪيل ڪنهن به شيءِ جي حوالي سان. هن دستاويز ۾ مهيا ڪيل معلومات Microsemi جي ملڪيت آهي، ۽ Microsemi ڪنهن به وقت بغير اطلاع جي هن دستاويز ۾ معلومات يا ڪنهن به پروڊڪٽس ۽ خدمتن ۾ ڪا به تبديلي ڪرڻ جو حق محفوظ رکي ٿي.
Microsemi، Microchip Technology Inc. (Nasdaq: MCHP) جي مڪمل ملڪيت واري ماتحت، ايرو اسپيس ۽ دفاع، ڪميونيڪيشن، ڊيٽا سينٽر ۽ صنعتي مارڪيٽن لاءِ سيمي ڪنڊڪٽر ۽ سسٽم حل جو هڪ جامع پورٽ فوليو پيش ڪري ٿو. مصنوعات شامل آهن اعلي ڪارڪردگي ۽ تابڪاري-سخت اينالاگ مخلوط سگنل انٽيگريڊ سرڪٽس، FPGAs، SoCs ۽ ASICs؛ پاور مينيجمينٽ پراڊڪٽس؛ وقت ۽ هم وقت سازي ڊوائيسز ۽ درست وقت حل، وقت لاء دنيا جي معيار کي ترتيب ڏيڻ؛ آواز پروسيسنگ ڊوائيسز؛ آر ايف حل؛ جدا جدا اجزاء؛ انٽرپرائز اسٽوريج ۽ مواصلاتي حل؛ سيڪيورٽي ٽيڪنالاجيون ۽ اسپيبلبل اينٽي ٽيamper مصنوعات؛ Ethernet حل؛ پاور-اوور-ايٿرنيٽ ICs ۽ وچين اسپين؛ گڏوگڏ ڪسٽم ڊيزائن صلاحيتون ۽ خدمتون. Microsemi جو هيڊ ڪوارٽر Aliso Viejo، ڪيليفورنيا ۾ آهي ۽ عالمي سطح تي تقريبن 4,800 ملازم آهن. تي وڌيڪ سکو www.microsemi.com.

Microsemi لوگو

Microsemi هيڊ ڪوارٽر
ون انٽرپرائز، اليسو ويجو،
سي اي 92656 USA
آمريڪا اندر: +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 سسٽم سروسز سموليشن [pdf] استعمال ڪندڙ ھدايت
UG0837، UG0837 IGLOO2 ۽ SmartFusion2 FPGA سسٽم سروسز سموليشن، IGLOO2 ۽ SmartFusion2 FPGA سسٽم سروسز سموليشن، SmartFusion2 FPGA سسٽم سروسز سموليشن، FPGA سسٽم سروسز سموليشن، سروسز سموليشن

حوالو

تبصرو ڇڏي ڏيو

توهان جو اي ميل پتو شايع نه ڪيو ويندو. گهربل فيلڊ نشان لڳل آهن *