Logo Microsemi

UG0837
Guide pamaké
IGLOO2 sareng SmartFusion2 FPGA
Simulasi Layanan Sistim
Juni 2018

Riwayat révisi

Sajarah révisi ngajelaskeun parobahan anu dilaksanakeun dina dokumén. Parobahan didaptarkeun ku révisi, dimimitian ku publikasi panganyarna.
1.1 Révisi 1.0
Révisi 1.0 ieu diterbitkeun dina Juni 2018. Ieu publikasi munggaran dokumén ieu.

IGLOO2 na SmartFusion2 FPGA System Layanan Simulasi

Blok Layanan Sistem kulawarga SmartFusion®2 FPGA nampilkeun kumpulan jasa anu tanggung jawab pikeun sagala rupa tugas. Ieu kalebet jasa pesen simulasi, jasa penunjuk data, sareng jasa deskriptor data. Ladenan sistem tiasa diaksés ngaliwatan Cortex-M3 di SmartFusion2 sareng tina lawon FPGA ngaliwatan controller interface fabric (FIC) pikeun SmartFusion2 sareng IGLOO®2. Métode aksés ieu dikirim ka controller sistem ngaliwatan COMM_BLK. COMM_BLK boga panganteur beus periferal canggih (APB) sarta meta salaku conduit ngalirkeun pesen pikeun tukeur data jeung controller sistem. requests jasa Sistim dikirim ka controller sistem na respon jasa sistem dikirim ka CoreSysSerrvice ngaliwatan COMM BLK. Lokasi alamat pikeun COMM_BLK sadia di jero sub-sistem mikrokontroler (MSS) / subsistem memori kinerja luhur (HPMS). Pikeun detil, tingali UG0450: SmartFusion2 SoC sareng IGLOO2 FPGA System Controller.
Guide pamaké
Ilustrasi di handap ieu nunjukkeun aliran data jasa sistem.
angka 1 • System Service Data Aliran DiagramMicrosemi UG0837 IGLOO2 sareng Simulasi Layanan Sistem FPGA SmartFusion2 - Diagram Aliran DataPikeun simulasi jasa sistem IGLOO2 sareng SmartFusion2, anjeun kedah ngirimkeun pamundut jasa sistem sareng pariksa réspon jasa sistem pikeun mastikeun yén simulasi éta leres. Lengkah ieu diperlukeun pikeun ngakses controller sistem, nu nyadiakeun layanan sistem. Cara nulis jeung maca ti controller sistem béda pikeun alat IGLOO2 na SmartFusion2. Pikeun SmartFusion2, Coretex-M3 sayogi sareng anjeun tiasa nyerat sareng maca tina sistem controller nganggo paréntah modél fungsional beus (BFM). Pikeun IGLOO2, Cortex-M3 henteu sayogi sareng sistem controller henteu tiasa diaksés nganggo paréntah BFM.
2.1 Jinis Layanan Sistem Sadia
Tilu jinis jasa sistem anu béda-béda sayogi sareng unggal jinis jasa gaduh sub-jenis anu béda.
jasa pesen simulasi
jasa pointer data
jasa deskriptor data
Bab Appendix –System Services Types (tingali kaca 19) dina pituduh ieu ngajelaskeun tipena béda jasa sistem. Kanggo inpo nu langkung lengkep ihwal jasa sistem, tingali UG0450: SmartFusion2 SoC jeung IGLOO2 FPGA System Controller Guide pamaké.
2.2 Simulasi Service System IGLOO2
Ladenan sistem ngalibatkeun tulisan sareng maca tina pangendali sistem. Pikeun nyerat sareng maca tina sistem controller pikeun tujuan simulasi, anjeun kedah ngalakukeun léngkah-léngkah ieu di handap.

  1. Instantiate inti IP lemes CoreSysServices, sadia dina katalog SmartDesign.
  2. Tulis kode HDL pikeun mesin kaayaan terhingga (FSM).

HDL FSM nyambung sareng CoreSysServices Core, anu janten master lawon beus AHBLite. CoreSysServices inti initiates pamundut jasa sistem ka COMM BLK sarta narima respon jasa sistem ti COMM BLK ngaliwatan FIC_0/1, lawon panganteur controller ditémbongkeun saperti dina ilustrasi di handap ieu.
angka 2 • IGLOO2 Layanan System Simulasi TopologySimulasi Layanan Sistem FPGA Microsemi UG0837 IGLOO2 sareng SmartFusion2 - Diagram Aliran Data 12.3 Simulasi Service System SmartFusion2
Pikeun simulasi jasa sistem dina alat SmartFusion2, anjeun kedah nyerat sareng maca tina controller sistem. Dua pilihan sadia pikeun ngakses controller sistem keur kaperluan simulasi.
Pilihan 1 — Tulis kode HDL pikeun FSM pikeun ngahubungkeun sareng inti IP lemes CoreSysService, anu janten master lawon AHBLite sareng ngamimitian pamundut jasa sistem ka COMM BLK sareng nampi réspon jasa sistem ti COMM BLK ngalangkungan lawon FIC_0/1 panganteur sakumaha ditémbongkeun dina ilustrasi di handap ieu.
angka 3 • SmartFusion2 Layanan Sistim simulasi TopologySimulasi Layanan Sistem FPGA Microsemi UG0837 IGLOO2 sareng SmartFusion2 - Diagram Aliran Data 2

Pilihan 2 - Kusabab Cortex-M3 sayogi pikeun alat SmartFusion2, anjeun tiasa nganggo paréntah BFM pikeun langsung nyerat sareng maca tina rohangan mémori controller sistem.
Ngagunakeun paréntah BFM (pilihan 2) ngahemat kabutuhan nulis kode HDL pikeun FSM. Dina pituduh pamaké ieu, pilihan 2 dipaké pikeun némbongkeun simulasi jasa sistem di SmartFusion2. Kalawan pilihan ieu, spasi memori sistem controller urang diakses pikeun manggihan peta memori COMM BLK jeung panganteur lawon interrupt controller (FIIC) blok mun anjeun nulis paréntah BFM Anjeun.
2.4 Simulasi Examples
Buku pituduh nyertakeun simulasi di handap ieu.

  • Simulasi Layanan Nomer Seri IGLOO2 (tingali kaca 5)
  • Simulasi Layanan Nomer Seri SmartFusion2 (tingali kaca 8)
  • Simulasi Layanan Zeroization IGLOO2 (tingali kaca 13)
  • Simulasi Layanan Zeroization SmartFusion2 (tingali kaca 16)

Métode simulasi anu sami tiasa diterapkeun kana jasa sistem anu sanés. Pikeun daptar lengkep ngeunaan jasa sistem anu béda-béda anu sayogi, angkat ka Appendix - Jenis Layanan Sistem (tingali kaca 19).

2.5 IGLOO2 Serial Jumlah Service simulasi
Pikeun nyiapkeun simulasi layanan nomer serial IGLOO2, lakukeun léngkah-léngkah ieu di handap.

  1. Ajak pembina sistem pikeun nyiptakeun blok HPMS anjeun.
  2. Pariksa kotak centang HPMS System Services dina kaca Fitur Alat. Ieu bakal maréntahkeun pembina sistem pikeun ngalaan HPMS_FIC_0 SYS_SERVICES_MASTER panganteur beus (BIF).
  3. Ninggalkeun sadaya kotak centang anu sanés dicentang.
  4. Tampa standar dina sadaya halaman anu sanés teras klik Rengse pikeun ngarengsekeun blok pembina sistem. Dina redaktur HDL Libero® SoC, tulis kode HDL pikeun FSM (File > Anyar > HDL). Kaasupkeun tilu kaayaan di handap ieu dina FSM anjeun.
    kaayaan INIT (kaayaan awal)
    SERV_PHASE (kaayaan pamundut jasa)
    RSP_PHASE (kaayaan respon jasa).
    Gambar di handap ieu nembongkeun tilu nagara bagian FSM.
    angka 4 • FSM Tilu-Nagara
  5. Simulasi Layanan Sistem FPGA Microsemi UG0837 IGLOO2 sareng SmartFusion2 - FSM Tilu-Nagara 1Dina kode HDL Anjeun pikeun FSM, paké kodeu paréntah anu bener ("01" Hex pikeun layanan nomer serial) pikeun nuliskeun kaayaan pamundut jasa ti kaayaan INIT.
  6. Simpen HDL anjeun file. FSM muncul salaku komponén dina Hierarki Desain.
  7. Buka SmartDesign. Séred sareng leupaskeun blok pembina sistem tingkat luhur sareng blok FSM anjeun kana kanvas SmartDesign. Tina katalog, sered tur teundeun inti IP lemes CoreSysService kana kanvas SmartDesign.
  8. Klik-katuhu inti IP lemes CoreSysService pikeun muka configurator. Pariksa kotak centang Serial Number Service (dina Layanan Inpormasi Alat sareng Desain
    group) pikeun ngaktipkeun layanan nomer serial.
  9. Ninggalkeun sadaya kotak centang anu sanés dicentang. Klik OK pikeun kaluar configurator nu.
    angka 5 • CoreSysServices lemes IP Core Configurator
    Microsemi UG0837 IGLOO2 sareng Simulasi Layanan Sistem FPGA SmartFusion2 - Konfigurator Inti
  10. Sambungkeun HPMS_FIC_0 SYS_SERVICES_MASTER BIF blok pembina sistem ka AHBL_MASTER BIF blok CoreSysService.
  11. Sambungkeun kaluaran blok HDL FSM anjeun ka input inti IP lemes CoreSysService. Jieun sadaya sambungan sejenna dina kanvas SmartDesign ditémbongkeun saperti dina gambar di handap ieu.
    Gambar 6 • Kanvas SmartDesign sareng Blok HDL, CoreSysServices Soft IP sareng Blok HPMSSimulasi Layanan Sistem FPGA Microsemi UG0837 IGLOO2 sareng SmartFusion2 - Blok HPMS
  12. Dina kanvas SmartDesign, klik katuhu>Generate Component pikeun ngahasilkeun Desain Tingkat luhur.
  13. Dina Hierarki Desain view, klik katuhu dina desain tingkat luhur tur pilih jieun Testbench > HDL.
  14. Anggo pangropéa téksu pikeun nyiptakeun téks file ngaranna "status.txt" .
  15. Kalebet paréntah pikeun layanan sistem sareng nomer séri 128-bit. Kanggo inpo nu leuwih lengkep, tingali Table 1 (System Services Komando / Niley réspon) dina CoreSysServices v3.1 Buku Panduan pikeun Konci paréntah (Hex) dipaké pikeun layanan sistem béda. Pikeun layanan nomer serial, kode paréntah "01" Hex.

The format tina status.txt file pikeun layanan angka serial nyaéta kieu.
< 2 Hex digit CMD><32 Hex digit Serial Number>
Example: 01A1A2A3A4B1B2B3B4C1C2C3C4D1D2D3D4
Simpen status.txt file dina folder Simulasi proyek Anjeun. Desain ayeuna siap pikeun simulasi.
Sakali jasa parantos ngamimitian palaksanaan, pesen anu nunjukkeun lokasi tujuan sareng nomer séri ditampilkeun dina jandela transkrip ModelSim, sapertos anu dipidangkeun dina gambar di handap ieu.
angka 7 • ModelSim Simulasi Transcript JandelaMicrosemi UG0837 IGLOO2 sareng Simulasi Layanan Sistem FPGA SmartFusion2 - Jandéla TranskripSistem controller ngalaksanakeun hiji AHB nulis ka alamat kalawan nomer serial. Saatos jasa parantos réngsé, RXFIFO COMM_BLK bakal dieusian ku réspon jasa.
Catetan: Pikeun daptar lengkep ngeunaan Konci paréntah pikeun dipaké pikeun layanan sistem béda, tingali Table 1 (System Services Komando / Niley Response) dina CoreSysServices v3.1 Buku Panduan atanapi UG0450: SmartFusion2 SoC na IGLOO2 FPGA System Controller Guide pamaké.
2.6 SmartFusion2 Jumlah Serial Service simulasi
Dina Buku Panduan ieu, paréntah BFM (pilihan 2) dipaké pikeun ngakses controller sistem pikeun layanan sistem. Paréntah BFM dipaké salaku processor Cortex-M3 sadia dina alat pikeun simulasi BFM. Paréntah BFM ngidinan Anjeun pikeun nulis langsung jeung maca ti COMM BLK sakali anjeun terang pemetaan memori COMM_BLK.
Pikeun nyiapkeun desain anjeun pikeun simulasi layanan nomer serial SmartFusion2, laksanakeun léngkah-léngkah ieu.

  1. Séred sareng leupaskeun MSS tina katalog ka kanvas desain proyék anjeun.
  2. Pareuman sadaya périferal MSS iwal MSS_CCC, Reset Controller, Interrupt Management, sareng FIC_0, FIC_1 sareng FIC_2.
  3. Ngonpigurasikeun manajemén interupsi ngagunakeun MSS pikeun ngaganggu lawon.
  4. Nyiapkeun serialnum.bfm file dina pangropéa téksu atanapi dina pangropéa HDL Libero. Simpen serialnum.bfm file dina folder Simulasi proyék urang. serialnum.bfm kedah ngawengku rinci handap.
    • Pemetaan mémori ka COMM BLK (CMBLK)
    • Pemetaan mémori pikeun ngaganggu periferal manajemén (FIIC)
    • Paréntah pikeun pamundut jasa sistem angka serial ("01" Hex)
    • Alamat pikeun lokasi nomer serial
    Tilasample tina serialnum.bfm file nyaéta kieu.
    memmap FIIC 0x40006000; #Pemetaan Mémori pikeun Ngaganggu Manajemén
    memmap CMBLK 0x40016000; #Memori Mapping ka COMM BLK
    memmap DESCRIPTOR_ADDR 0x20000000; #Alamat lokasi pikeun Serial Number
    #Komando Komando dina Héksadesimal
    konstanta CMD 0x1 # Komando kode pikeun Serial NumberService
    #FIIC Konfigurasi ngadaptar
    konstanta FICC_INTERRUPT_ENABLE0 0x0
    #COMM_BLK Konfigurasi ngadaptar
    KONTROL konstanta 0x00
    STATUS konstanta 0x04
    konstanta INT_ENABLE 0x08
    DATA8 konstanta 0x10
    DATA32 konstanta 0x14
    konstanta FRAME_START8 0x18
    konstanta FRAME_START32 0x1C
    serialnum prosedur;
    int x;
    tulis w FIIC FICC_INTERRUPT_ENABLE0 0x20000000 #Configure
    #FICC_INTERRUPT_ENABLE0 # Ngadaptar pikeun ngaktipkeun COMBLK_INTR #
    #interrupt ti blok COMM_BLK kana lawon
    # Fase Paménta
    tulis w CMBLK CONTROL 0x10 # Konpigurasikeun COMM BLK Control # Ngadaptar ka
    ngaktipkeun mindahkeun dina COMM BLK Interface
    nulis w CMBLK INT_ENABLE 0x1 # Konpigurasikeun COMM BLK ngaganggu Aktipkeun
    #Register pikeun ngaktipkeun Interrupt pikeun TXTOKAY (Bit pakait dina
    #Ngadaptar Status)
    waitint 19 # ngantosan COMM BLK ngaganggu , Di dieu # BFM ngantosan
    #nepi ka COMBLK_INTR ditegeskeun
    readstore w CMBLK STATUS x # Baca COMM BLK Status ngadaptar pikeun #TXTOKAY
    # Ngaganggu
    set xx & 0x1
    lamun x
    tulis w CMBLK FRAME_START8 CMD # Konpigurasikeun COMM BLK FRAME_START8
    # Ngadaptar pikeun nyuhunkeun jasa Nomer Seri
    endif
    endif
    waitint 19 # antosan COMM BLK ngaganggu , Ieuh
    #BFM ngantosan dugi COMBLK_INTR ditegeskeun
    readstore w CMBLK STATUS x # Baca COMM BLK Status ngadaptar pikeun
    #TXTOKAY ngaganggu
    set xx & 0x1
    set xx & 0x1
    lamun x
    nulis w CMBLK CONTROL 0x14 #Configure COMM BLK Control
    #Register pikeun ngaktipkeun transfer dina COMM BLK Interface
    tulis w CMBLK DATA32 DESCRIPTOR_ADDR
    tulis w CMBLK INT_ENABLE 0x80
    tulis w CMBLK CONTROL 0x10
    endif
    antosan 20
    #Fase Tanggapan
    ngantosan 19
    readstore w CMBLK STATUS x
    set xx & 0x80
    lamun x
    cék baca w CMBLK FRAME_START8 CMD
    tulis w CMBLK INT_ENABLE 0x2
    endif
    ngantosan 19
    readstore w CMBLK STATUS x
    set xx & 0x2
    lamun x
    cék baca w CMBLK DATA8 0x0
    tulis w CMBLK CONTROL 0x18
    endif
    ngantosan 19
    cék baca w FIIC 0x8 0x20000000
    readstore w CMBLK STATUS x
    set xx & 0x2
    lamun x
    baca pariksa w CMBLK DATA32 DESCRIPTOR_ADDR
    endif
    cék baca w DESCRIPTOR_ADDR 0x0 0xE1E2E3E4; #Readcheck pikeun mariksa S/N
    cék baca w DESCRIPTOR_ADDR 0x4 0xC1C2C3C4; #Readcheck pikeun mariksa S/N
    cék baca w DESCRIPTOR_ADDR 0x8 0xB1B2B3B4; #Readcheck pikeun mariksa S/N
    cék baca w DESCRIPTOR_ADDR 0xC 0xA1A2A3A4; #Readcheck pikeun mariksa S/N
    mulang
  5. Jieun status. TXT file dina redaktur HDL Libero atanapi pangropéa téksu naon waé. Kaasup paréntah jasa sistem angka serial ("01" dina Hex) jeung nomer serial dina status. TXT file. Tempo CoreSysServices v3.1 Buku Panduan pikeun ngagunakeun kode paréntah bener.
  6. Sintaksis ieu file pikeun layanan nomer serial nyaeta, <2 Hex digit CMD>< 32 Hex angka Serial Number>. Misalample: 01A1A2A3A4B1B2B3B4C1C2C3C4E1E2E3E4.
  7. Simpen status .txt file dina folder Simulasi proyék urang.
  8. Edit pamaké .bfm (lokasina di jero folder Simulasi) pikeun ngawengku serialnum. bfm file jeung nelepon prosedur angka serial ditémbongkeun saperti dina snippet kode handap.
    kaasup "serialnum.bfm" #include serialnum.bfm
    prosedur pamaké_utama;
    nyitak "INFO: Simulasi Mimitian";
    print "INFO: Service Komando Code dina desimal:% 0d", CMD;
    nelepon serialnum; # nelepon prosedur serialnum
    nyitak "INFO: Simulasi Ends";
    mulang
  9. Dina Hierarki Desain view, ngahasilkeun testbench (Klik katuhu, Desain Level Top> Jieun Testbench> HDL) jeung anjeun siap ngajalankeun simulasi jasa angka serial.

Sakali jasa parantos ngamimitian palaksanaan, pesen anu nunjukkeun lokasi tujuan sareng nomer séri ditampilkeun. Sistem controller ngalaksanakeun hiji AHB nulis ka alamat kalawan nomer serial. Saatos jasa parantos réngsé, RXFIFO COMM_BLK bakal dieusian ku réspon jasa. Jandéla transkrip ModelSim nunjukkeun alamat sareng nomer séri anu ditampi sapertos anu dipidangkeun dina gambar di handap ieu.
angka 8 • SmartFusion2 Serial Jumlah Service simulasi dina ModelSim Transcript JandelaMicrosemi UG0837 IGLOO2 sareng SmartFusion2 FPGA System Services Simulation - Transcript Window 1

2.7 Simulasi Service Zeroization IGLOO2
Pikeun nyiapkeun simulasi jasa zeroization IGLOO2, laksanakeun léngkah-léngkah ieu.

  1. Nelepon pembina sistem pikeun nyieun blok HPMS. Pariksa kotak centang HPMS System Services dina Device Features SYS_SERVICES_MASTER BIF. Ninggalkeun sadaya kotak centang anu sanés dicentang. Narima standar dina sadaya kaca séjén teras klik kaca. Ieu maréntahkeun pembina sistem pikeun ngalaan HPMS_FIC_0 Finish pikeun ngalengkepan konfigurasi blok pembina sistem.
  2. Dina redaktur HDL Libero SoC, tulis kode HDL pikeun FSM. Dina kode HDL Anjeun pikeun FSM, kaasup tilu nagara bagian handap.
    kaayaan INIT (kaayaan awal)
    SERV_PHASE (kaayaan pamundut jasa)
    RSP_PHASE (kaayaan respon jasa)
    Gambar di handap ieu nembongkeun tilu nagara bagian FSM.
    angka 9 • FSM Tilu-NagaraMicrosemi UG0837 IGLOO2 sareng Simulasi Layanan Sistem FPGA SmartFusion2 - FSM Tilu Nagara

     

  3. Dina kode HDL anjeun, paké kodeu paréntah "F0″(Hex) pikeun nuliskeun kaayaan pamundut jasa ti kaayaan INIT.
  4. Simpen HDL anjeun file.
  5. Buka SmartDesign, sered sareng teundeun blok pembina sistem tingkat luhur sareng blok HDL FSM anjeun kana kanvas SmartDesign. Tina katalog, sered tur teundeun inti IP lemes CoreSysService kana kanvas SmartDesign.
  6. Klik-katuhu inti IP lemes CoreSysServices, pikeun muka configurator sareng pariksa kotak centang Zeroization Service dina grup Data Security Services. Ninggalkeun sadaya kotak centang anu sanés dicentang. Klik pikeun OK kaluar.
    angka 10 • CoreSysServices Configurator
    Microsemi UG0837 IGLOO2 sareng SmartFusion2 FPGA System Services Simulation - Core Configurator 1
  7. Sambungkeun HPMS_FIC_0 SYS_SERVICES_MASTER BIF blok pembina sistem ka AHBL_MASTER BIF blok CoreSysService.
  8. Sambungkeun kaluaran blok HDL FSM anjeun ka input inti IP lemes CoreSysService. Jieun sadaya sambungan sejenna dina kanvas SmartDesign.
    Gambar 11 • Kanvas SmartDesign sareng Blok HDL, CoreSysServices Soft IP, sareng Blok HPMS
    Simulasi Layanan Sistem FPGA Microsemi UG0837 IGLOO2 sareng SmartFusion2 - Blok HPMS 19. Dina kanvas SmartDesign, ngahasilkeun desain tingkat luhur (Klik katuhu> Generate Component).
    10. Dina Hirarki Desain view, klik katuhu dina desain tingkat luhur tur pilih jieun Testbench > HDL. Anjeun ayeuna siap ngajalankeun simulasi.
    Sakali jasa geus dimimitian palaksanaan, pesen nunjukkeun yén zeroization geus réngsé dina waktu x dipintonkeun ditémbongkeun saperti dina gambar di handap ieu.
    angka 12 • IGLOO2 System Zeroization Service Simulasi Jandela Transkrip
    Microsemi UG0837 IGLOO2 sareng SmartFusion2 FPGA System Services Simulation - Transcript Window 3

Sistem controller ngalaksanakeun hiji AHB nulis ka alamat kalawan nomer serial. Saatos jasa parantos réngsé, RXFIFO COMM_BLK bakal dieusian ku réspon jasa. Ieu kudu dicatet yén modél simulasi simulates zeroization ku stopping simulasi tinimbang zeroizing desain sorangan.
Catetan: Pikeun daptar lengkep kode paréntah pikeun dipaké pikeun layanan sistem béda, tingali Table 1 (System Services Komando / Niley Response) dina CoreSysServices v3.1 Buku Panduan:. atanapi UG0450: SmartFusion2 SoC na IGLOO2 FPGA System Controller Guide pamaké

2.8 Simulasi Service Zeroization SmartFusion2
Dina pituduh ieu, paréntah BFM (pilihan 2) dipaké pikeun ngakses controller sistem pikeun layanan sistem.
Paréntah BFM dipaké salaku processor Cortex-M3 sadia dina alat pikeun simulasi BFM. Paréntah BFM ngidinan Anjeun pikeun nulis langsung jeung maca ti COMM BLK sakali anjeun terang pemetaan memori COMM_BLK. Pikeun nyiapkeun desain anjeun pikeun simulasi jasa zeroization SmartFusion2, laksanakeun léngkah-léngkah ieu.

  1. Séred sareng leupaskeun MSS tina katalog ka kanvas desain proyék anjeun.
  2. Pareuman sadaya périferal MSS iwal MSS_CCC, Reset Controller, Interrupt Management, sareng FIC_0, FIC_1 sareng FIC_2.
  3. Ngonpigurasikeun manajemén interupsi ngagunakeun MSS pikeun ngaganggu lawon.
  4. Nyiapkeun nu zeroizaton.bfm file dina pangropéa téksu atanapi dina pangropéa HDL Libero. Zeroization Anjeun. bfm kedah ngawengku:
  • Pemetaan mémori ka COMM BLK (CMBLK)
  • Pemetaan mémori pikeun ngaganggu periferal manajemén (FIIC)
  • Paréntah pikeun pamundut jasa zeroizaton ("F0" Hex pikeun zeriozation)

Tilasample tina serialnum.bfm file dipidangkeun dina gambar di handap ieu.
angka 13 • Zeroization.bfm pikeun Simulasi Layanan System Zeroization SmartFusion2

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

5. Simpen nu zeroization.bfm file dina folder Simulasi proyék urang. pamaké.bfm
6. Edit éta (lokasina di folder Simulasi zeroization.bfm) pikeun ngawengku ngagunakeun snippet kode handap.
kaasup "zeroization.bfm" #include zeroization.bfm file prosedur pamaké_utama;
nyitak "INFO: Simulasi Mimitian";
print "INFO: Service Komando Code dina desimal:% 0d", CMD;
nelepon zeroization; #panggero balik prosedur zeroization
7. Dina Hierarki Desain, ngahasilkeun Testbench (Klik katuhu tingkat luhur> Jieun Testbench> HDL) jeung anjeun siap ngajalankeun simulasi SmartFusion2 zeroization.
Sakali jasa parantos ngamimitian palaksanaan, pesen anu nunjukkeun yén alatna parantos nol dina waktos x ditampilkeun. Ieu kudu dicatet yén modél simulasi simulates zeroization ku stopping simulasi tinimbang zeroizing desain sorangan. Jandéla transkrip ModelSim dina gambar di handap ieu nunjukkeun yén alatna parantos nol.

angka 14 • SmartFusion2 Zeroization System Service Simulasi Log

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

Appendix: Jinis-jinis Layanan Sistem

Bab ieu ngajelaskeun sababaraha jinis jasa sistem.
3.1 Layanan Pesen simulasi
Bagian di handap ieu ngajelaskeun rupa-rupa jinis jasa pesen simulasi.
3.1.1 Flash * Freeze
Simulasi bakal asup kana kaayaan Flash*Freeze nalika pamundut jasa anu leres dikirim ka COMM_BLK ti FIC (dina kasus alat IGLOO2) atanapi Cortex-M3 (dina alat SmartFusion2). Sakali jasa parantos dideteksi ku controller sistem, simulasi bakal dieureunkeun sareng pesen anu nunjukkeun yén sistem parantos lebet Flash * Freeze (sareng pilihan anu dipilih) bakal ditingalikeun. Kana resumption tina simulasi, bakal RXFIFO of COMM_BLK ngeusi respon jasa diwangun ku paréntah jasa jeung status. Ieu kudu dicatet yén euweuh rojongan simulasi pikeun Flash*Freeze kaluar.
3.1.2 Zeroization
Zeroization ayeuna hiji-hijina layanan prioritas luhur dina jasa sistem diolah ku COMM_BLK. Simulasi bakal asup kana kaayaan zeroization pas pamundut jasa bener dideteksi ku COMM_BLK. Palaksanaan jasa anu sanés bakal dihentikan sareng dipiceun ku pangontrol sistem, sareng jasa zeroization bakal dieksekusi. Sakali pamundut jasa zeroization dideteksi, simulasi eureun sarta pesen nunjukkeun sistem geus diasupkeun zeroization dipintonkeun. Balikan deui manual simulasi saatos nol henteu sah.
3.2 Layanan Pointer Data
Bagéan di handap ieu ngajelaskeun sababaraha jinis jasa panunjuk data.
3.2.1 Nomer Seri
Ladenan nomer serial bakal nulis nomer serial 128-bit ka lokasi alamat disadiakeun salaku bagian tina pamundut jasa. Parameter 128-bit ieu tiasa disetél nganggo Dukungan Simulasi Layanan Sistem file (tingali kaca 22). Lamun parameter angka serial 128-bit teu diartikeun dina file, angka serial standar 0 bakal dipaké. Sakali jasa parantos ngamimitian palaksanaan, pesen anu nunjukkeun lokasi tujuan sareng nomer séri ditampilkeun. Sistem controller ngalaksanakeun hiji AHB nulis ka alamat kalawan nomer serial. Saatos jasa parantos réngsé, RXFIFO COMM_BLK bakal dieusian ku réspon jasa.
3.2.2 Kodeu pamaké
Ladenan usercode nyerat parameter kode pangguna 32-bit ka lokasi alamat anu disayogikeun salaku bagian tina pamundut jasa. Parameter 32-bit ieu tiasa diatur nganggo Dukungan Simulasi Service System file (tingali kaca 22). Lamun parameter 32-bit teu dihartikeun dina file, nilai standar 0 dipaké. Sakali jasa parantos ngamimitian palaksanaan, pesen anu nunjukkeun lokasi target sareng kode pangguna ditampilkeun. Sistem controller ngalaksanakeun hiji AHB nulis ka alamat kalawan parameter 32-bit. Saatos parantosan jasa, COMM_BLK's RXFIFO dieusian ku réspon jasa, anu kalebet paréntah jasa sareng alamat target.
3.3 Jasa Deskriptor Data
Bagian di handap ieu ngajelaskeun rupa-rupa jinis jasa deskriptor data.

3.3.1 AES
Pangrojong simulasi pikeun layanan ieu ngan paduli mindahkeun data aslina ti sumber ka tujuan, tanpa sabenerna ngalakukeun enkripsi / dekripsi on data. Data anu kedah énkripsi/dékripsi sareng struktur data kedah ditulis sateuacan pamenta jasa dikirim. Sakali jasa parantos ngamimitian palaksanaan, pesen anu nunjukkeun palaksanaan jasa AES ditampilkeun. Ladenan AES maca duanana struktur data sareng data anu bakal énkripsi/dékripsi. Data asli disalin sareng ditulis ka alamat anu disayogikeun dina struktur data. Saatos jasa parantos réngsé, paréntah, status, sareng alamat struktur data didorong kana RXFIFO.
Catetan: Ladenan ieu ngan pikeun data 128-bit sareng 256-bit, sareng duanana data 128-bit sareng 256-bit gaduh panjang struktur data anu béda.

3.3.2 SHA 256
Pangrojong simulasi pikeun jasa ieu ngan ukur prihatin pikeun mindahkeun data, tanpa leres-leres ngalakukeun hashing dina data. Fungsi SHA 256 dirancang pikeun ngahasilkeun konci hash 256-bit dumasar kana data input. Data anu kedah di-hash sareng struktur data kedah diserat ka alamat masing-masing sateuacan pamenta jasa dikirim ka COMM_BLK. Panjang dina bit sareng pointer anu ditetepkeun dina struktur data SHA 256 kedah leres-leres cocog sareng panjang sareng alamat data anu bakal di-hash. Sakali jasa parantos ngamimitian palaksanaan, pesen anu nunjukkeun palaksanaan jasa SHA 256 ditampilkeun. Tinimbang ngaéksekusi fungsi nu sabenerna, konci hash standar bakal ditulis kana pointer tujuan tina struktur data. Konci hash standar nyaéta hex "ABCD1234". Forr setelan konci custom, buka Setélan parameter (tingali kaca 23) bagian. Saatos parantosan jasa, RXFIFO dieusian ku réspon jasa anu diwangun ku paréntah jasa, status, sareng penunjuk struktur data SHA 256.
3.3.3 HMAC
Pangrojong simulasi pikeun layanan ieu ngan ukur patali jeung mindahkeun data, tanpa sabenerna ngalakukeun hashing dina data. Data anu kedah di-hash sareng struktur data kedah diserat ka alamat masing-masing sateuacan pamenta jasa dikirim ka COMM_BLK. Ladenan HMAC merlukeun konci 32-bait salian ti panjangna dina bait, panunjuk sumber, sareng panunjuk tujuan. Sakali jasa parantos ngamimitian palaksanaan, pesen anu nunjukkeun palaksanaan jasa HMAC ditampilkeun. Konci dibaca sareng konci 256-bit disalin tina struktur data ka pointer tujuan. Saatos jasa parantos réngsé, RXFIFO dieusian ku réspon jasa anu diwangun ku paréntah jasa, status, sareng penunjuk struktur data HMAC.

3.3.4 DRBG ngahasilkeun
Generasi bit acak dilakukeun ku jasa ieu. Ieu kudu dicatet yén modél simulasi teu persis nuturkeun metodologi generasi angka acak sarua dipaké ku silikon. Struktur data kudu bener ditulis kana lokasi dimaksudkeun saméméh pamundut jasa dikirim ka COMM_BLK. Struktur data, pointer tujuan, panjang tur data relevan séjén dibaca ku controller sistem. DRBG ngahasilkeun jasa ngahasilkeun set acak pseudo data tina panjangna dipénta (0-128). Sistem controller nulis data acak kana pointer tujuan. Pesen anu nunjukkeun palaksanaan jasa ngahasilkeun DRBG ditampilkeun dina simulasi. Saatos jasa parantos réngsé, paréntah, status, sareng alamat struktur data didorong kana RXFIFO. Upami panjang data anu dipénta henteu aya dina kisaran 0-128, kode kasalahan "4" (Max Generate) bakal didorong kana RXFIFO. Lamun panjang data tambahan henteu dina rentang Request teuing Big 0-128, kode kasalahan "5" (Max Panjang Data Tambahan ngaleuwihan) bakal kadorong kana RXFIFO. Upami panjang data anu dipénta pikeun ngahasilkeun sareng panjang data tambahan henteu aya dina kisaran anu ditetepkeun (0-128), kode kasalahan "1" (Kasalahan Catastrophic) didorong kana RXFIFO.

3.3.5 DRBG Reset
Fungsi reset sabenerna dipigawé ku nyoplokkeun instantiations DRBG tur ngareset DRBG. Sakali pamundut jasa geus dideteksi, simulasi mintonkeun pesen DRBG Reset jasa réngsé. Réspon, anu kalebet jasa sareng status, didorong kana RXFIFO.
3.3.6 DRBG Self Test
Pangrojong simulasi pikeun DRBG timer test sabenerna teu ngajalankeun fungsi timer test. Saatos pamenta jasa parantos dideteksi, simulasi bakal nunjukkeun pesen palaksanaan jasa uji diri DRBG. Tanggapan, anu kalebet jasa sareng status, bakal didorong kana RXFIFO.
3.3.7 DRBG Instantiate
Pangrojong simulasi pikeun layanan instantiate DRBG saleresna henteu ngalaksanakeun jasa instantiate. Struktur data kudu bener ditulis kana lokasi dimaksudkeun saméméh pamundut jasa dikirim ka COMM_BLK. Sakali pamundut jasa parantos dideteksi, struktur sareng senar personalisasi anu ditetepkeun dina rohangan alamat MSS bakal dibaca. Simulasi bakal nampilkeun pesen anu nunjukkeun yén jasa DRBG Instantiate parantos ngamimitian palaksanaan. Saatos jasa parantos réngsé, réspon, anu kalebet paréntah jasa, status, sareng pointer kana struktur data, bakal didorong kana RXFIFO. Lamun panjang data (PERSONALIZATIONLENGTH) henteu dina rentang 0-128, kode kasalahan "1" (Kasalahan Catastrophic) bakal kadorong kana RXFIFO pikeun status.
3.3.8 DRBG Uninstantiate
Pangrojong simulasi pikeun layanan uninstantiate DRBG sabenerna teu ngalakukeun layanan uninstantiate pikeun nyoplokkeun DRBG saméméhna instantiated, kawas silikon. Paménta jasa kedah kalebet paréntah sareng cecekelan DRBG. Sakali pamundut jasa geus dideteksi, cecekelan DRBG bakal disimpen. Simulasi bakal nampilkeun pesen anu nunjukkeun yén jasa DRBG uninstantiate parantos diinisialisasi. Saatos jasa parantos réngsé, réspon, anu kalebet paréntah jasa, status, sareng cecekelan DRBG, bakal didorong kana RXFIFO.
3.3.9 DRBG Reseed
Kusabab sifat simulative tina blok jasa sistem, layanan reseed DRBG dina simulasi henteu dieksekusi otomatis saatos unggal 65535 DRBG ngahasilkeun jasa. Struktur data kudu bener ditulis kana lokasi dimaksudkeun saméméh pamundut jasa dikirim ka COMM_BLK. Sakali pamundut jasa parantos dideteksi, struktur sareng parameter input tambahan dina rohangan alamat MSS bakal dibaca. Pesen anu nunjukkeun yén jasa reseed DRBG parantos dieksekusi, bakal ditingalikeun. Struktur data kudu bener ditulis kana lokasi dimaksudkeun saméméh pamundut jasa dikirim ka COMM_BLK. Saatos jasa parantos réngsé, réspon, anu kalebet paréntah jasa, status, sareng pointer kana struktur data, bakal didorong kana RXFIFO.
3.3.10 KeyTree
Fungsi sabenerna teu dieksekusi dina simulasi pikeun layanan KeyTree. Struktur data jasa KeyTree diwangun ku konci 32-bait, data optype 7-bit (MSB teu dipalire), sareng jalur 16-bait. Data dina struktur data kedah diserat ka alamat masing-masing, sateuacan pamundut jasa dikirim ka COMM_BLK. Sakali jasa parantos ngamimitian palaksanaan, pesen anu nunjukkeun palaksanaan jasa KeyTree bakal ditingalikeun. Eusi struktur data bakal dibaca, konci 32-bait bakal disimpen, sareng konci asli anu aya dina struktur data ditimpa. Saatos nyerat AHB ieu, nilai konci dina struktur data henteu kedah robih, tapi transaksi AHB pikeun nyerat bakal lumangsung. Saatos réngsé jasa, RXFIFO dieusian ku réspon jasa, anu diwangun ku paréntah jasa, status, sareng pointer struktur data KeyTree.
3.3.11 Tanggapan tantangan
Fungsi saleresna, sapertos auténtikasi alat, henteu dilaksanakeun dina simulasi pikeun layanan réspon tantangan. Struktur data pikeun layanan ieu merlukeun pointer kana panyangga, pikeun nampa hasil 32-bait, optype 7-bit, sarta jalur 128-bit. Data dina struktur data kedah diserat ka alamat masing-masing sateuacan pamenta jasa dikirim ka COMM_BLK. Sakali jasa parantos ngamimitian palaksanaan, pesen anu nunjukkeun palaksanaan jasa réspon tantangan bakal ditingalikeun. Réspon 256-bit umum bakal ditulis kana pointer anu disayogikeun dina struktur data. Konci standar disetel salaku hex "ABCD1234". Pikeun kéngingkeun konci khusus, pariksa Setélan Parameter (tingali kaca 23). Saatos parantosan jasa, RXFIFO bakal dieusian ku réspon jasa, anu diwangun ku paréntah jasa, status, sareng panunjuk struktur data réspon tantangan.
3.4 Jasa lianna
Bagéan di handap ieu ngajelaskeun rupa-rupa jasa sistem anu sanés.
3.4.1 Nyerna Cék
Fungsi sabenerna recalculating sarta ngabandingkeun digests komponén dipilih teu dieksekusi pikeun layanan cék nyerna dina simulasi. Paménta jasa ieu diwangun ku paréntah jasa, sareng pilihan jasa (5-bit LSB). Sakali jasa parantos ngamimitian palaksanaan, pesen anu rinci ngeunaan palaksanaan jasa cek nyerna bakal ditingalikeun, sareng pilihan anu dipilih tina pamundut. Saatos parantosan jasa, RXFIFO bakal dieusian ku réspon jasa, anu diwangun ku paréntah jasa, sareng umbul cek pass/gagal.
3.4.2 Tanggapan Komando Unrecognized
Lamun hiji pamundut jasa unrecognized dikirim ka COMM_BLK, COMM_BLK bakal otomatis ngawalon ku pesen paréntah unrecognized kadorong kana RXFIFO. Suratna diwangun ku paréntah dikirim kana COMM_BLK jeung status paréntah unrecognized (252D). Hiji talatah tampilan nunjukkeun hiji pamundut jasa unrecognized geus dideteksi ogé bakal dipintonkeun. COMM_BLK bakal balik deui ka kaayaan dianggurkeun, ngantosan nampi pamundut jasa salajengna.
3.4.3 Jasa Teu Dirojong
Ladenan anu henteu didukung anu disetel ka COMM_BLK bakal memicu pesen dina simulasi anu nunjukkeun yén pamundut jasa henteu didukung. COMM_BLK bakal balik deui ka kaayaan dianggurkeun, ngantosan nampi pamundut jasa salajengna. PINTERRUPT moal disetel, nunjukkeun yén jasa parantos réngsé. Daptar jasa anu teu dirojong ayeuna kalebet: IAP, ISP, Sertipikat Alat, sareng Jasa DESIGNVER.
3.5 Layanan Sistim Rojongan simulasi File
Pikeun ngarojong simulasi jasa sistem, téks a file disebut, "status.txt" bisa dipaké pikeun lolos parentah ngeunaan kabiasaan diperlukeun model simulasi kana model simulasi. Ieu file kudu lokasina di folder sarua, yén simulasi dijalankeun tina. The file bisa dipaké, antara séjén, pikeun maksa réspon kasalahan tangtu pikeun layanan sistem dirojong atawa malah pikeun netepkeun sababaraha parameter diperlukeun pikeun simulasi, (pikeun ex.ample, nomer séri). Jumlah maksimum garis anu dirojong dina "status.txt" file mangrupa 256. Parentah anu muncul sanggeus nomer garis 256 moal dipaké dina simulasi.
3.5.1 Maksakeun Tanggapan Kasalahan
Pamaké tiasa maksakeun réspon kasalahan anu tangtu pikeun jasa tinangtu salami tés ku cara ngirimkeun inpormasi ka modél simulasi nganggo "status.txt" file, nu kudu ditempatkeun dina folder nu simulasi dijalankeun tina. Pikeun maksakeun réspon kasalahan kana jasa anu tangtu, paréntah sareng réspon anu diperyogikeun kedah diketik dina garis anu sami dina format ieu:ample, pikeun Komando> ; maréntahkeun model simulasi keur ngahasilkeun hiji MSS memori aksés kasalahan respon kana layanan angka serial, paréntah nyaéta kieu.
Service: Serial Number: 01
Pesen kasalahan dipénta: Kasalahan Aksés Mémori MSS: 7F
Anjeun kedah gaduh garis 017F diasupkeun dina "status.txt" file.
3.5.2 Parameter Setélan
The "status.txt" file ogé bisa dipaké pikeun nyetél sababaraha parameter diperlukeun dina simulasi. Salaku urutampLe, dina raraga nyetel parameter 32-bit pikeun usercode, format garis kudu dina urutan ieu: <32 Bit USERCODE>; dimana duanana nilai diasupkeun dina héksadesimal. Pikeun nyetél parameter 128-bit pikeun nomer séri, format garis kedah dina urutan ieu: <128 Bit Serial Number [127:0]> ; dimana duanana nilai diasupkeun dina héksadesimal. Pikeun nyetél parameter 256-bit pikeun konci SHA 256; format garis kudu dina urutan ieu: <256 Bit Key [255:0]>; dimana duanana nilai diasupkeun dina héksadesimal. Pikeun nyetél parameter 256-bit pikeun konci réspon tantangan, format garis kedah dina urutan ieu: <256 Bit Key [255:0]>;
dimana duanana nilai diasupkeun dina héksadesimal.
3.5.3 Prioritas Alat
Ladenan sistem sareng COMM_BLK ngagunakeun sistem prioritas anu luhur. Ayeuna, hiji-hijina jasa prioritas anu luhur nyaéta zeroization. Pikeun ngalaksanakeun jasa prioritas luhur, nalika jasa anu sanés dieksekusi, jasa ayeuna dihentikan sareng jasa prioritas anu langkung luhur bakal dieksekusi dina tempatna. COMM_BLK bakal miceun ladenan ayeuna pikeun ngalaksanakeun ladenan prioritas anu langkung luhur. Lamun sababaraha layanan non-prioritas luhur dikirim saméméh parantosan sahiji layanan ayeuna, jasa ieu bakal antrian dina TXFIFO. Saatos jasa ayeuna parantos réngsé, jasa salajengna dina TXFIFO bakal dieksekusi.

Microsemi henteu ngajamin, ngagambarkeun, atanapi ngajamin ngeunaan inpormasi anu aya di dieu atanapi kasesuaian produk sareng jasana pikeun tujuan anu khusus, atanapi Microsemi henteu nanggung tanggung jawab naon waé anu timbul tina aplikasi atanapi panggunaan produk atanapi sirkuit. Produk anu dijual di handap ieu sareng produk anu sanés anu dijual ku Microsemi parantos tunduk kana tés kawates sareng henteu kedah dianggo babarengan sareng alat atanapi aplikasi anu penting pikeun misi. Sakur spésifikasi kinerja dipercaya tiasa dipercaya tapi henteu diverifikasi, sareng Meuli kedah ngalaksanakeun sareng ngalengkepan sadaya kinerja sareng uji produk anu sanés, nyalira sareng sareng, atanapi dipasang dina, produk akhir. Anu mésér henteu kedah ngandelkeun data sareng spésifikasi kinerja atanapi parameter anu disayogikeun ku Microsemi. Tanggung jawab Meuli pikeun sacara mandiri nangtukeun kasesuaian produk naon waé sareng pikeun nguji sareng pariksa anu sami. Inpormasi anu disayogikeun ku Microsemi di handap ieu disayogikeun "sakumaha aya, dimana aya" sareng sadaya kalepatan, sareng sadayana résiko anu aya hubunganana sareng inpormasi sapertos kitu sadayana sareng Meuli. Microsemi henteu masihan, sacara eksplisit atanapi implisit, ka pihak mana waé hak patén, lisénsi, atanapi hak IP anu sanés, naha ngeunaan inpormasi sapertos kitu atanapi naon waé anu dijelaskeun ku inpormasi sapertos kitu. Inpormasi anu disayogikeun dina dokumén ieu mangrupikeun milik Microsemi, sareng Microsemi ngagaduhan hak pikeun ngarobih inpormasi dina dokumén ieu atanapi produk sareng jasa iraha waé tanpa aya bewara.
Microsemi, cabangna milik pinuh ku Microchip Technology Inc. (Nasdaq: MCHP), nawiskeun portopolio komprehensif semikonduktor sareng solusi sistem pikeun aerospace & pertahanan, komunikasi, pusat data sareng pasar industri. Produk kaasup-kinerja tinggi na radiasi-hardened analog dicampur-sinyal terpadu sirkuit, FPGAs, SoCs na ASICs; produk manajemén kakuatan; waktos sareng alat singkronisasi sareng solusi waktos anu tepat, netepkeun standar dunya pikeun waktos; alat ngolah sora; solusi RF; komponén diskrit; panyimpen perusahaan sareng solusi komunikasi; téhnologi kaamanan sarta scalable anti-tamper produk; solusi Ethernet; Power-over-Ethernet ICs sareng midspans; kitu ogé kamampuhan design custom sarta jasa. Microsemi kantor pusatna di Aliso Viejo, California, sareng gaduh sakitar 4,800 karyawan sacara global. Diajar langkung seueur di www.microsemi.com.

Logo Microsemi

Markas Microsemi
Hiji Perusahaan, Aliso Viejo,
CA 92656 AS
Di jero AS: +1 800-713-4113
Luar AS: +1 949-380-6100
Penjualan: +1 949-380-6136
Fax: +1 949-215-4996
Email: jualan.support@microsemi.com
www.microsemi.com
© 2018 Microsemi. Sadaya hak disimpen. Microsemi sareng logo Microsemi
mangrupakeun mérek dagang ti Microsemi Corporation. Sadaya merek dagang sareng jasa anu sanés
tanda mangrupakeun hak milik nu bogana.

Dokumén / Sumberdaya

Microsemi UG0837 IGLOO2 na SmartFusion2 FPGA System Layanan Simulasi [pdf] Pituduh pamaké
UG0837, UG0837 IGLOO2 and SmartFusion2 FPGA System Services Simulation, IGLOO2 and SmartFusion2 FPGA Service Services Simulation, SmartFusion2 FPGA System Services Simulation, FPGA System Services Simulation, Services Simulation

Rujukan

Ninggalkeun komentar

alamat surélék anjeun moal diterbitkeun. Widang diperlukeun ditandaan *