UG0837
Pandhuan pangguna
IGLOO2 lan SmartFusion2 FPGA
Simulasi Layanan Sistem
Juni 2018
Riwayat Revisi
Riwayat revisi nggambarake owah-owahan sing ditindakake ing dokumen kasebut. Owah-owahan kasebut didhaptar kanthi revisi, diwiwiti saka publikasi paling anyar.
1.1 Revisi 1.0
Revisi 1.0 diterbitake ing Juni 2018. Iki minangka publikasi pisanan saka dokumen iki.
Simulasi Layanan Sistem FPGA IGLOO2 lan SmartFusion2
Blok Layanan Sistem kulawarga SmartFusion®2 FPGA nampilake koleksi layanan sing tanggung jawab kanggo macem-macem tugas. Iki kalebu layanan pesen simulasi, layanan penunjuk data, lan layanan deskriptor data. Layanan sistem bisa diakses liwat Cortex-M3 ing SmartFusion2 lan saka kain FPGA liwat pengontrol antarmuka kain (FIC) kanggo SmartFusion2 lan IGLOO®2. Cara akses iki dikirim menyang pengontrol sistem liwat COMM_BLK. COMM_BLK nduweni antarmuka bis periferal (APB) majeng lan tumindak minangka saluran pesen kanggo ijol-ijolan data karo pengontrol sistem. Panjalukan layanan sistem dikirim menyang pengontrol sistem lan respon layanan sistem dikirim menyang CoreSysSerrvice liwat COMM BLK. Lokasi alamat kanggo COMM_BLK kasedhiya ing subsistem mikrokontroler (MSS) / subsistem memori kinerja dhuwur (HPMS). Kanggo rincian, waca UG0450: SmartFusion2 SoC lan IGLOO2 FPGA System Controller.
Pandhuan pangguna
Ilustrasi ing ngisor iki nuduhake aliran data layanan sistem.
Gambar 1 • Diagram Alur Data Layanan SistemKanggo simulasi layanan sistem IGLOO2 lan SmartFusion2, sampeyan kudu ngirim panjalukan layanan sistem lan mriksa respon layanan sistem kanggo verifikasi manawa simulasi kasebut bener. Langkah iki perlu kanggo ngakses pengontrol sistem, sing nyedhiyakake layanan sistem. Cara nulis lan maca saka pengontrol sistem beda kanggo piranti IGLOO2 lan SmartFusion2. Kanggo SmartFusion2, Coretex-M3 kasedhiya lan sampeyan bisa nulis lan maca saka pengontrol sistem nggunakake printah model fungsional bus (BFM). Kanggo IGLOO2, Cortex-M3 ora kasedhiya lan controller sistem ora bisa diakses nggunakake printah BFM.
2.1 Jinis Layanan Sistem sing Kasedhiya
Telung macem-macem jinis layanan sistem kasedhiya lan saben jinis layanan duwe sub-jinis beda.
Layanan pesen simulasi
Layanan pointer data
Layanan deskriptor data
Bab Lampiran –Jnis Layanan Sistem (pirsani kaca 19) ing pandhuan iki nerangake macem-macem jinis layanan sistem. Kanggo informasi luwih lengkap babagan layanan sistem, waca UG0450: SmartFusion2 SoC lan IGLOO2 FPGA System Controller Pandhuan pangguna.
2.2 Simulasi Layanan Sistem IGLOO2
Layanan sistem kalebu nulis lan maca saka pengontrol sistem. Kanggo nulis lan maca saka pengontrol sistem kanggo tujuan simulasi, sampeyan kudu nindakake langkah-langkah kaya ing ngisor iki.
- Instantiate inti IP alus CoreSysServices, kasedhiya ing katalog SmartDesign.
- Tulis kode HDL kanggo mesin negara terhingga (FSM).
HDL FSM sesambungan karo CoreSysServices Core, sing dadi master kain ing bus AHBLite. Inti CoreSysServices miwiti panjalukan layanan sistem menyang COMM BLK lan nampa respon layanan sistem saka COMM BLK liwat FIC_0/1, controller antarmuka kain minangka ditampilake ing ilustrasi ing ngisor iki.
Gambar 2 • Topologi Simulasi Layanan Sistem IGLOO22.3 Simulasi Layanan Sistem SmartFusion2
Kanggo simulasi layanan sistem ing piranti SmartFusion2, sampeyan kudu nulis lan maca saka controller sistem. Loro opsi kasedhiya kanggo ngakses controller sistem kanggo tujuan simulasi.
Opsi 1 — Tulis kode HDL kanggo FSM kanggo antarmuka karo inti IP alus CoreSysService, sing dadi master kain AHBLite lan miwiti panjalukan layanan sistem menyang COMM BLK lan nampa respon layanan sistem saka COMM BLK liwat kain FIC_0/1. antarmuka minangka ditampilake ing ilustrasi ing ngisor iki.
Gambar 3 • Topologi Simulasi Layanan Sistem SmartFusion2
Pilihan 2 - Minangka Cortex-M3 kasedhiya kanggo piranti SmartFusion2, sampeyan bisa nggunakake printah BFM kanggo langsung nulis lan maca saka papan memori controller sistem.
Nggunakake printah BFM (pilihan 2) nyimpen perlu kanggo nulis kode HDL kanggo FSM. Ing pandhuan pangguna iki, opsi 2 digunakake kanggo nuduhake simulasi layanan sistem ing SmartFusion2. Kanthi pilihan iki, papan memori sistem controller diakses kanggo mangerteni map memori saka COMM BLK lan antarmuka kain interrupt controller (FIIC) pemblokiran nalika nulis printah BFM Panjenengan.
2.4 Simulasi Examples
Pandhuan pangguna kalebu simulasi ing ngisor iki.
- Simulasi Layanan Nomer Seri IGLOO2 (pirsani kaca 5)
- Simulasi Layanan Nomer Seri SmartFusion2 (deleng kaca 8)
- Simulasi Layanan Zeroisasi IGLOO2 (pirsani kaca 13)
- Simulasi Layanan Zeroization SmartFusion2 (pirsani kaca 16)
Cara simulasi sing padha bisa ditrapake kanggo layanan sistem liyane. Kanggo dhaptar lengkap layanan sistem sing kasedhiya, bukak Apendiks – Jinis Layanan Sistem (pirsani kaca 19).
2.5 Simulasi Layanan Nomer Seri IGLOO2
Kanggo nyiapake simulasi layanan nomer serial IGLOO2, tindakake langkah-langkah ing ngisor iki.
- Njaluk pembangun sistem kanggo nggawe blok HPMS sampeyan.
- Centhang kothak Layanan Sistem HPMS ing kaca Fitur Piranti. Iki bakal nuntun tukang sistem kanggo mbukak antarmuka bus (BIF) HPMS_FIC_0 SYS_SERVICES_MASTER.
- Ninggalake kabeh kothak centhang liyane ora dicenthang.
- Tampa standar ing kabeh kaca liyane lan klik Rampung kanggo ngrampungake blok pembangun sistem. Ing editor HDL Libero® SoC, tulis kode HDL kanggo FSM (File > Anyar > HDL). Kalebu telung negara ing ngisor iki ing FSM sampeyan.
Status INIT (initial state)
SERV_PHASE (status panjalukan layanan)
RSP_PHASE (status respon layanan).
Gambar ing ngisor iki nuduhake telung negara FSM.
Gambar 4 • FSM Tiga Negara Ing kode HDL kanggo FSM, gunakake kode printah sing bener ("01" Hex kanggo layanan nomer serial ) kanggo ngetik status panjalukan layanan saka negara INIT.
- Simpen HDL sampeyan file. FSM katon minangka komponen ing Hierarki Desain.
- Bukak SmartDesign. Seret lan selehake blok pembangun sistem tingkat paling dhuwur lan blok FSM menyang kanvas SmartDesign. Saka katalog, seret lan selehake inti IP alus CoreSysService menyang kanvas SmartDesign.
- Klik-tengen inti IP alus CoreSysService kanggo mbukak configurator. Centhang kothak Layanan Nomer Seri (ing Layanan Informasi Piranti lan Desain
grup) kanggo ngaktifake layanan nomer serial. - Ninggalake kabeh kothak centhang liyane ora dicenthang. Klik OK kanggo metu saka configurator.
Gambar 5 • CoreSysServices alus IP inti Configurator
- Sambungake HPMS_FIC_0 SYS_SERVICES_MASTER BIF saka blok pembangun sistem menyang AHBL_MASTER BIF blok CoreSysService.
- Sambungake output blok HDL FSM menyang input inti IP alus CoreSysService. Gawe kabeh sambungan liyane ing kanvas SmartDesign kaya sing ditampilake ing gambar ing ngisor iki.
Gambar 6 • Kanvas SmartDesign karo Blok HDL, CoreSysServices Soft IP lan Blok HPMS - Ing kanvas SmartDesign, klik-tengen > Generate Component kanggo ngasilake Desain Tingkat ndhuwur.
- Ing Hierarki Desain view, klik-tengen desain tingkat ndhuwur banjur pilih gawe Testbench > HDL .
- Gunakake editor teks kanggo nggawe teks file jenenge "status.txt".
- Kalebu printah kanggo layanan sistem lan nomer serial 128-dicokot. Kanggo informasi luwih lengkap, ndeleng Tabel 1 (System Services Command / Nilai Response) ing CoreSysServices v3.1 Handbook kanggo kode printah (Hex) digunakake kanggo layanan sistem beda. Kanggo layanan nomer serial, kode printah "01" Hex.
Format status.txt file kanggo layanan nomer serial minangka nderek.
< 2 Hex digit CMD><32 Hex digit Serial Number>
Example: 01A1A2A3A4B1B2B3B4C1C2C3C4D1D2D3D4
Simpen status.txt file ing folder Simulasi proyek sampeyan. Desain saiki wis siyap kanggo simulasi.
Sawise layanan wis diwiwiti eksekusi, pesen nuduhake lokasi panggonan lan nomer serial ditampilake ing jendhela transkrip ModelSim, minangka ditampilake ing tokoh ing ngisor iki.
Figure 7 • ModelSim Simulasi Transcript WindowKontroler sistem nindakake AHB nulis menyang alamat kanthi nomer seri. Sawise layanan rampung, RXFIFO COMM_BLK bakal dimuat karo respon layanan.
Wigati: Kanggo dhaptar lengkap kode printah sing bakal digunakake kanggo layanan sistem beda, ndeleng Tabel 1 (System Services Command / Nilai Response) ing CoreSysServices v3.1 Handbook utawa UG0450: SmartFusion2 SoC lan IGLOO2 FPGA System Controller Pandhuan pangguna.
2.6 Simulasi Layanan Nomer Seri SmartFusion2
Ing pandhuan pangguna iki, printah BFM (opsi 2) digunakake kanggo ngakses pengontrol sistem kanggo layanan sistem. printah BFM digunakake minangka prosesor Cortex-M3 kasedhiya ing piranti kanggo simulasi BFM. printah BFM ngijini sampeyan kanggo nulis langsung lan maca saka COMM BLK yen sampeyan ngerti pemetaan memori COMM_BLK.
Kanggo nyiapake desain kanggo simulasi layanan nomer serial SmartFusion2, tindakake langkah ing ngisor iki.
- Seret lan selehake MSS saka katalog menyang kanvas desain proyek sampeyan.
- Pateni kabeh periferal MSS kajaba MSS_CCC, Reset Controller, Interrupt Management, lan FIC_0, FIC_1 lan FIC_2.
- Ngatur manajemen interupsi kanggo nggunakake MSS kanggo ngganggu kain.
- Siapke serialnum.bfm file ing editor teks utawa ing editor HDL Libero. Simpen serialnum.bfm file ing folder Simulasi proyek. Serinum.bfm kudu kalebu rincian ing ngisor iki.
• Pemetaan memori menyang COMM BLK (CMBLK)
• Pemetaan memori kanggo ngganggu periferal manajemen (FIIC)
• Command kanggo panjalukan layanan sistem nomer serial ("01" Hex)
• Alamat kanggo lokasi nomer serial
Example saka serialnum.bfm file kaya ing ngisor iki.
memmap FIIC 0x40006000; #Pemetaan Memori kanggo Ngganggu Manajemen
memmap CMBLK 0x40016000; #Memori Mapping menyang COMM BLK
memmap DESCRIPTOR_ADDR 0x20000000; #Alamat lokasi kanggo Serial Number
#Kode Perintah ing Heksadesimal
pancet CMD 0x1 # Kode printah kanggo Serial NumberService
# Daftar Konfigurasi FIIC
pancet FICC_INTERRUPT_ENABLE0 0x0
#COMM_BLK Daftar Konfigurasi
KONTROL pancet 0x00
STATUS pancet 0x04
pancet INT_ENABLE 0x08
DATA8 0x10 pancet
DATA32 0x14 pancet
pancet FRAME_START8 0x18
pancet FRAME_START32 0x1C
prosedur serialnum;
int x;
tulis w FIIC FICC_INTERRUPT_ENABLE0 0x20000000 #Configure
#FICC_INTERRUPT_ENABLE0 # Register kanggo ngaktifake COMBLK_INTR #
#interrupt saka blok COMM_BLK menyang kain
#Fase Panjaluk
tulis w CMBLK CONTROL 0x10 # Konfigurasi COMM BLK Control #Daftar menyang
ngaktifake transfer ing COMM BLK Interface
nulis w CMBLK INT_ENABLE 0x1 # Konfigurasi COMM BLK Interrupt Aktifake
#Register kanggo ngaktifake Interrupt kanggo TXTOKAY (Bit sing cocog ing
#Status Register)
waitint 19 # ngenteni COMM BLK Interrupt , Kene #BFM ngenteni
#nganti COMBLK_INTR ditegesake
readstore w CMBLK STATUS x # Waca COMM BLK Status Register kanggo #TXTOKAY
# Ngganggu
nyetel xx & 0x1
yen x
tulis w CMBLK FRAME_START8 CMD # Konfigurasi COMM BLK FRAME_START8
# Ndhaptar kanggo njaluk layanan Nomer Seri
endif
endif
waitint 19 # ngenteni COMM BLK Interrupt , Kene
#BFM ngenteni nganti COMBLK_INTR ditegesake
readstore w CMBLK STATUS x # Maca COMM BLK Status Register kanggo
#TXTOKAY Ngganggu
nyetel xx & 0x1
nyetel xx & 0x1
yen x
nulis w CMBLK CONTROL 0x14 #Configure COMM BLK Control
#Register kanggo ngaktifake transfer ing Antarmuka COMM BLK
nulis w CMBLK DATA32 DESCRIPTOR_ADDR
tulis w CMBLK INT_ENABLE 0x80
tulis w CMBLK CONTROL 0x10
endif
ngenteni 20
#Fase Tanggapan
ngenteni 19
readstore w CMBLK STATUS x
nyetel xx & 0x80
yen x
wacanen w CMBLK FRAME_START8 CMD
tulis w CMBLK INT_ENABLE 0x2
endif
ngenteni 19
readstore w CMBLK STATUS x
nyetel xx & 0x2
yen x
waca mriksa w CMBLK DATA8 0x0
tulis w CMBLK CONTROL 0x18
endif
ngenteni 19
maca mriksa w FIIC 0x8 0x20000000
readstore w CMBLK STATUS x
nyetel xx & 0x2
yen x
waca mriksa w CMBLK DATA32 DESCRIPTOR_ADDR
endif
waca mriksa w DESCRIPTOR_ADDR 0x0 0xE1E2E3E4; #Readcheck kanggo mriksa S/N
waca mriksa w DESCRIPTOR_ADDR 0x4 0xC1C2C3C4; #Readcheck kanggo mriksa S/N
waca mriksa w DESCRIPTOR_ADDR 0x8 0xB1B2B3B4; #Readcheck kanggo mriksa S/N
waca mriksa w DESCRIPTOR_ADDR 0xC 0xA1A2A3A4; #Readcheck kanggo mriksa S/N
bali - Nggawe status. txt file ing editor HDL Libero utawa editor teks apa wae. Kalebu printah layanan sistem nomer serial ("01" ing Hex) lan nomer serial ing status. txt file. Waca CoreSysServices v3.1 Handbook kanggo nggunakake kode printah bener.
- Sintaks iki file kanggo layanan nomer seri yaiku, <2 Hex digit CMD>< 32 Hex digit Serial Number>. Example: 01A1A2A3A4B1B2B3B4C1C2C3C4E1E2E3E4.
- Simpen status .txt file ing folder Simulasi proyek.
- Sunting pangguna .bfm (dumunung nang folder Simulasi) kanggo kalebu serialnum. bfm file lan nelpon prosedur nomer serial minangka ditampilake ing snippet kode ing ngisor iki.
kalebu "serialnum.bfm" #kalebu serialnum.bfm
prosedur pangguna_utama;
print "INFO: Simulasi Mulai";
print "INFO: Kode Command Layanan ing Decimal:% 0d", CMD;
nelpon serialnum; # nelpon prosedur serialnum
print "INFO: Simulasi Ends";
bali - Ing Hierarki Desain view, generate testbench (Klik-tengen, Desain Tingkat ndhuwur > Nggawe Testbench > HDL ) lan sampeyan siyap kanggo mbukak simulasi layanan nomer serial.
Sawise layanan wis diwiwiti eksekusi, pesen sing nuduhake lokasi tujuan lan nomer serial ditampilake. Kontroler sistem nindakake AHB nulis menyang alamat kanthi nomer seri. Sawise layanan rampung, RXFIFO COMM_BLK bakal dimuat karo respon layanan. Jendhela transkrip ModelSim nampilake alamat lan nomer serial sing ditampa minangka ditampilake ing gambar ing ngisor iki.
Figure 8 • SmartFusion2 Serial Number Service Simulasi ing ModelSim Transcript Window
2.7 Simulasi Layanan Zeroization IGLOO2
Kanggo nyiapake simulasi layanan zeroization IGLOO2, tindakake langkah-langkah ing ngisor iki.
- Njaluk pembangun sistem kanggo nggawe blok HPMS. Centhang kothak Layanan Sistem HPMS ing Fitur Piranti SYS_SERVICES_MASTER BIF. Ninggalake kabeh kothak centhang liyane ora dicenthang. Nampa standar ing kabeh kaca liyane lan klik kaca. Iki menehi instruksi marang pembangun sistem kanggo mbukak HPMS_FIC_0 Rampung kanggo ngrampungake konfigurasi blok pembangun sistem.
- Ing editor HDL Libero SoC, tulis kode HDL kanggo FSM. Ing kode HDL kanggo FSM, kalebu telung negara ing ngisor iki.
Status INIT (initial state)
SERV_PHASE (status panjalukan layanan)
RSP_PHASE (status respon layanan)
Gambar ing ngisor iki nuduhake telung negara FSM.
Gambar 9 • FSM Tiga Negara - Ing kode HDL sampeyan, gunakake kode printah “F0″(Hex) kanggo ngetik status panjalukan layanan saka negara INIT.
- Simpen HDL sampeyan file.
- Bukak SmartDesign, seret lan selehake blok pembangun sistem tingkat paling dhuwur lan blok HDL FSM menyang kanvas SmartDesign. Saka katalog, seret lan selehake inti IP alus CoreSysService menyang kanvas SmartDesign.
- Klik-tengen inti IP alus CoreSysServices, kanggo mbukak configurator lan mriksa kothak Layanan Zeroization ing grup Layanan Keamanan Data. Ninggalake kabeh kothak centhang liyane ora dicenthang. Klik kanggo metu OK.
Gambar 10 • CoreSysServices Configurator
- Sambungake HPMS_FIC_0 SYS_SERVICES_MASTER BIF saka blok pembangun sistem menyang AHBL_MASTER BIF blok CoreSysService.
- Sambungake output blok HDL FSM menyang input inti IP alus CoreSysService. Gawe kabeh sambungan liyane ing kanvas SmartDesign.
Gambar 11 • Kanvas SmartDesign karo Blok HDL, CoreSysServices Soft IP, lan Blok HPMS
9. Ing kanvas SmartDesign, generate desain tingkat paling dhuwur (Klik-tengen > Generate Component).
10. Ing Hirarki Desain view, klik-tengen ing desain tingkat ndhuwur banjur pilih gawe Testbench > HDL. Sampeyan saiki wis siyap kanggo mbukak simulasi.
Sawise layanan wis diwiwiti eksekusi, pesen nuduhake yen zeroization wis rampung ing wektu x ditampilake minangka ditampilake ing tokoh ing ngisor iki.
Gambar 12 • Jendela Transkrip Simulasi Layanan Sistem Zeroization IGLOO2
Kontroler sistem nindakake AHB nulis menyang alamat kanthi nomer seri. Sawise layanan rampung, RXFIFO COMM_BLK bakal dimuat karo respon layanan. Sampeyan kudu nyatet sing model simulasi simulates zeroization dening mungkasi simulasi tinimbang nul desain dhewe.
Cathetan: Kanggo dhaptar lengkap kode printah sing bakal digunakake kanggo layanan sistem sing beda-beda, deleng Tabel 1 (Nilai Komando/Respon Layanan Sistem) ing CoreSysServices v3.1 Handbook:. utawa UG0450: SmartFusion2 SoC lan IGLOO2 FPGA System Controller Pandhuan pangguna
2.8 Simulasi Layanan Zeroization SmartFusion2
Ing pandhuan iki, printah BFM (opsi 2) digunakake kanggo ngakses pengontrol sistem kanggo layanan sistem.
printah BFM digunakake minangka prosesor Cortex-M3 kasedhiya ing piranti kanggo simulasi BFM. printah BFM ngijini sampeyan kanggo nulis langsung lan maca saka COMM BLK yen sampeyan ngerti pemetaan memori COMM_BLK. Kanggo nyiapake desain kanggo simulasi layanan zeroization SmartFusion2, tindakake langkah ing ngisor iki.
- Seret lan selehake MSS saka katalog menyang kanvas desain proyek sampeyan.
- Pateni kabeh periferal MSS kajaba MSS_CCC, Reset Controller, Interrupt Management, lan FIC_0, FIC_1 lan FIC_2.
- Ngatur manajemen interupsi kanggo nggunakake MSS kanggo ngganggu kain.
- Siapke zeroizaton.bfm file ing editor teks utawa ing editor HDL Libero. Zeroization Panjenengan. bfm kudu kalebu:
- Pemetaan memori menyang COMM BLK (CMBLK)
- Pemetaan memori kanggo interrupt management peripheral (FIIC)
- Perintah kanggo panyuwunan layanan zeroizaton ("F0" Hex kanggo zerozation)
Example saka serialnum.bfm file kapacak ing gambar ing ngisor iki.
Figure 13 • Zeroization.bfm kanggo Simulasi Layanan Sistem Zeroization SmartFusion2
5. Simpen zeroization.bfm file ing folder Simulasi proyek. panganggo.bfm
6. Sunting ing (dumunung ing folder Simulasi zeroization.bfm) kanggo kalebu nggunakake snippet kode ing ngisor iki.
kalebu "zeroization.bfm" #include zeroization.bfm file prosedur pangguna_utama;
print "INFO: Simulasi Mulai";
print "INFO: Kode Command Layanan ing Decimal:% 0d", CMD;
nelpon zeroization; #telpon bali prosedur zeroization
7. Ing Hierarki Desain, generate Testbench (Klik tengen ndhuwur tingkat > Nggawe Testbench > HDL) lan sampeyan siyap kanggo mbukak simulasi SmartFusion2 zeroization.
Sawise layanan wis diwiwiti eksekusi, pesen nuduhake yen piranti wis zeroized wektu x ditampilake. Sampeyan kudu nyatet sing model simulasi simulates zeroization dening mungkasi simulasi tinimbang nul desain dhewe. Jendhela transkrip ModelSim ing tokoh ing ngisor iki nuduhake yen piranti wis nul.
Gambar 14 • Log Simulasi Layanan Sistem Zeroization SmartFusion2
Lampiran: Jinis Layanan Sistem
Bab iki nerangake macem-macem jinis layanan sistem.
3.1 Layanan Pesen Simulasi
Bagean ing ngisor iki nggambarake macem-macem jinis layanan pesen simulasi.
3.1.1 Lampu kilat*Beku
Simulasi bakal mlebu negara Flash*Freeze nalika panjalukan layanan sing tepat dikirim menyang COMM_BLK saka FIC (ing kasus piranti IGLOO2) utawa Cortex-M3 (ing piranti SmartFusion2). Sawise layanan kasebut wis dideteksi dening pengontrol sistem, simulasi bakal mandheg lan pesen sing nuduhake sistem wis mlebu Flash*Freeze (bebarengan karo pilihan sing dipilih) bakal ditampilake. Sawise maneh simulasi, RXFIFO saka COMM_BLK bakal diisi karo respon layanan sing kalebu perintah lan status layanan. Perlu dicathet yen ora ana dhukungan simulasi kanggo Flash*Freeze exit.
3.1.2 Zeroization
Zeroization saiki mung siji-sijine layanan prioritas dhuwur ing layanan sistem sing diproses dening COMM_BLK. Simulasi bakal mlebu negara zeroization sanalika panjalukan layanan sing bener dideteksi dening COMM_BLK. Eksekusi layanan liyane bakal mandheg lan dibuwang dening pengontrol sistem, lan layanan zeroization bakal ditindakake. Sawise panjalukan layanan zeroization dideteksi, simulasi mandheg lan pesen sing nuduhake sistem wis mlebu zeroization ditampilake. Wiwiti maneh simulasi manual sawise nulisasi ora sah.
3.2 Layanan Pointer Data
Bagean ing ngisor iki nggambarake macem-macem jinis layanan penunjuk data.
3.2.1 Nomer Seri
Layanan nomer seri bakal nulis nomer seri 128-bit menyang lokasi alamat sing disedhiyakake minangka bagean saka panyuwunan layanan. Parameter 128-bit iki bisa disetel nggunakake Dhukungan Simulasi Layanan Sistem file (ndeleng kaca 22). Yen parameter nomer serial 128-dicokot ora ditetepake ing file, nomer serial standar 0 bakal digunakake. Sawise layanan wis diwiwiti eksekusi, pesen sing nuduhake lokasi tujuan lan nomer serial ditampilake. Kontroler sistem nindakake AHB nulis menyang alamat kanthi nomer seri. Sawise layanan rampung, RXFIFO COMM_BLK bakal dimuat karo respon layanan.
3.2.2 Kode pangguna
Layanan usercode nulis parameter usercode 32-bit menyang lokasi alamat sing disedhiyakake minangka bagean saka panyuwunan layanan. Parameter 32-bit iki bisa disetel nggunakake Dhukungan Simulasi Layanan Sistem file (ndeleng kaca 22). Yen parameter 32-bit ora ditetepake ing file, Nilai standar 0 digunakake. Sawise layanan wis diwiwiti eksekusi, pesen sing nuduhake lokasi target lan kode pangguna ditampilake. Kontroler sistem nindakake AHB nulis menyang alamat kanthi parameter 32-bit. Sawise layanan rampung, RXFIFO COMM_BLK dimuat karo respon layanan, sing kalebu printah layanan lan alamat target.
3.3 Layanan Deskriptor Data
Bagean ing ngisor iki nggambarake macem-macem jinis layanan deskriptor data.
3.3.1 AES
Dhukungan simulasi kanggo layanan iki mung gegayutan karo mindhah data asli saka sumber menyang panggonan sing dituju, tanpa nindakake enkripsi / dekripsi ing data kasebut. Data sing kudu dienkripsi / didekripsi lan struktur data kudu ditulis sadurunge panjaluk layanan dikirim. Sawise layanan wis diwiwiti eksekusi, pesen sing nuduhake eksekusi layanan AES ditampilake. Layanan AES maca struktur data lan data sing bakal dienkripsi/dekripsi. Data asli disalin lan ditulis menyang alamat sing kasedhiya ing struktur data. Sawise layanan rampung, printah, status, lan alamat struktur data di-push menyang RXFIFO.
Cathetan: Layanan iki mung kanggo data 128-bit lan 256-bit, lan data 128-bit lan 256-bit duwe struktur data sing beda.
3.3.2 SHA 256
Dhukungan simulasi kanggo layanan iki mung babagan mindhah data, tanpa nindakake hashing ing data kasebut. Fungsi SHA 256 dirancang kanggo ngasilake kunci hash 256-bit adhedhasar data input. Data sing kudu di-hash lan struktur data kudu ditulis menyang alamat kasebut sadurunge panjaluk layanan dikirim menyang COMM_BLK. Dawane bit lan pointer sing ditetepake ing struktur data SHA 256 kudu cocog karo dawa lan alamat data sing bakal digayuh. Sawise layanan wis miwiti eksekusi, pesen sing nuduhake eksekusi layanan SHA 256 ditampilake. Tinimbang nglakokake fungsi nyata, kunci hash standar bakal ditulis menyang pointer tujuan saka struktur data. Tombol hash standar yaiku hex "ABCD1234". Kanggo nyetel tombol khusus, pindhah menyang Setelan Parameter (ndeleng kaca 23). Sawise rampung layanan kasebut, RXFIFO dimuat karo respon layanan sing kalebu perintah layanan, status, lan penunjuk struktur data SHA 256.
3.3.3 HMAC
Dhukungan simulasi kanggo layanan iki mung gegayutan karo pamindhahan data, tanpa nindakake hashing ing data kasebut. Data sing kudu di-hash lan struktur data kudu ditulis menyang alamat kasebut sadurunge panjaluk layanan dikirim menyang COMM_BLK. Layanan HMAC mbutuhake tombol 32-byte saliyane dawa ing bita, pointer sumber, lan pointer tujuan. Sawise layanan wis miwiti eksekusi, pesen sing nuduhake eksekusi layanan HMAC ditampilake. Tombol diwaca lan tombol 256-bit disalin saka struktur data menyang pointer tujuan. Sawise layanan rampung, RXFIFO dimuat karo respon layanan sing kalebu perintah layanan, status, lan penunjuk struktur data HMAC.
3.3.4 DRBG Generate
Generasi bit acak ditindakake dening layanan iki. Sampeyan kudu nyatet sing model simulasi ora persis tindakake metodologi generasi nomer acak padha digunakake dening silikon. Struktur data kudu ditulis kanthi bener menyang lokasi sing dituju sadurunge panyuwunan layanan dikirim menyang COMM_BLK. Struktur data, pointer tujuan, dawa lan data liyane sing relevan diwaca dening pengontrol sistem. Layanan generate DRBG ngasilake pseudo acak pesawat saka data dawa dijaluk (0-128). Kontroler sistem nulis data acak menyang pointer tujuan. Pesen sing nuduhake eksekusi layanan ngasilake DRBG ditampilake ing simulasi. Sawise layanan rampung, printah, status, lan alamat struktur data di-push menyang RXFIFO. Yen dawa data sing dijaluk ora ana ing kisaran 0-128, kode kesalahan "4" (Max Generate) bakal di-push menyang RXFIFO. Yen dawa data tambahan ora ana ing kisaran Request Too Big 0-128, kode kesalahan "5" (Length Max Data Tambahan Ngluwihi) bakal di-push menyang RXFIFO. Yen dawa data sing dijaluk kanggo ngasilake lan dawa data tambahan ora ana ing jangkoan sing ditemtokake (0-128), kode kesalahan "1" (Kesalahan Catastrophic) di-push menyang RXFIFO.
3.3.5 DRBG Reset
Fungsi reset nyata ditindakake kanthi mbusak instantiations DRBG lan ngreset DRBG. Sawise panjalukan layanan wis dideteksi, simulasi nampilake pesen DRBG Reset layanan rampung. Tanggepan, sing kalebu layanan lan status, di-push menyang RXFIFO.
3.3.6 DRBG Self Test
Dhukungan simulasi kanggo self-test DRBG ora bener nglakokake fungsi self-test. Sawise panyuwunan layanan wis dideteksi, simulasi bakal nampilake pesen eksekusi layanan tes mandiri DRBG. Tanggepan, sing kalebu layanan lan status, bakal di-push menyang RXFIFO.
3.3.7 DRBG Instantiate
Dhukungan simulasi kanggo layanan instantiate DRBG ora bener nindakake layanan instantiate. Struktur data kudu ditulis kanthi bener menyang lokasi sing dituju sadurunge panyuwunan layanan dikirim menyang COMM_BLK. Sawise panjalukan layanan wis dideteksi, struktur lan senar personalisasi sing ditetepake ing ruang alamat MSS bakal diwaca. Simulasi bakal nampilake pesen sing nuduhake yen layanan DRBG Instantiate wis diwiwiti. Sawise layanan rampung, respon, sing kalebu printah layanan, status, lan pointer menyang struktur data, bakal di-push menyang RXFIFO. Yen dawa data (PERSONALIZATIONLENGTH) ora ana ing kisaran 0-128, kode kesalahan "1" (Kasalahan Catastrophic) bakal di-push menyang RXFIFO kanggo status kasebut.
3.3.8 DRBG Uninstantiate
Dhukungan simulasi kanggo layanan uninstantiate DRBG ora nindakake layanan uninstantiate kanggo mbusak DRBG sing sadurunge instantiated, kaya silikon. Panyuwunan layanan kudu kalebu printah lan gagang DRBG. Sawise panjalukan layanan wis dideteksi, gagang DRBG bakal disimpen. Simulasi bakal nampilake pesen sing nuduhake yen layanan DRBG uninstantiate wis diwiwiti. Sawise layanan rampung, respon, sing kalebu printah layanan, status, lan gagang DRBG, bakal di-push menyang RXFIFO.
3.3.9 DRBG Reseed
Amarga sifat simulasi saka pamblokiran layanan sistem, layanan reseed DRBG ing simulasi ora dileksanakake kanthi otomatis sawise saben 65535 DRBG ngasilake layanan. Struktur data kudu ditulis kanthi bener menyang lokasi sing dituju sadurunge panyuwunan layanan dikirim menyang COMM_BLK. Sawise panjalukan layanan wis dideteksi, struktur lan parameter input tambahan ing papan alamat MSS bakal diwaca. Pesen sing nuduhake yen layanan reseed DRBG wis diwiwiti, bakal ditampilake. Struktur data kudu ditulis kanthi bener menyang lokasi sing dituju sadurunge panyuwunan layanan dikirim menyang COMM_BLK. Sawise layanan rampung, respon, sing kalebu printah layanan, status, lan pointer menyang struktur data, bakal di-push menyang RXFIFO.
3.3.10 KeyTree
Fungsi nyata ora dieksekusi ing simulasi kanggo layanan KeyTree. Struktur data layanan KeyTree kasusun saka kunci 32-byte, data optype 7-bit (MSB diabaikan), lan path 16-byte. Data ing struktur data kudu ditulis menyang alamat masing-masing, sadurunge panjalukan layanan dikirim menyang COMM_BLK. Sawise layanan wis diwiwiti eksekusi, pesen sing nuduhake eksekusi layanan KeyTree bakal ditampilake. Isi struktur data bakal diwaca, kunci 32-byte bakal disimpen, lan kunci asli sing ana ing struktur data bakal ditindih. Sawise nulis AHB iki, nilai kunci ing struktur data kudu ora owah, nanging transaksi AHB kanggo nulis bakal kedadeyan. Sawise layanan rampung, RXFIFO diisi karo respon layanan, kalebu perintah layanan, status, lan penunjuk struktur data KeyTree.
3.3.11 Tantangan Response
Fungsi nyata, kaya otentikasi piranti, ora dieksekusi ing simulasi kanggo layanan nanggepi tantangan. Struktur data kanggo layanan iki mbutuhake pointer menyang buffer, kanggo nampa asil 32-byte, optype 7-bit, lan path 128-bit. Data ing struktur data kudu ditulis menyang alamat kasebut sadurunge panjaluk layanan dikirim menyang COMM_BLK. Sawise layanan wis miwiti eksekusi, pesen sing nuduhake eksekusi layanan respon tantangan bakal ditampilake. Tanggepan 256-bit umum bakal ditulis ing pointer sing kasedhiya ing struktur data. Tombol standar disetel minangka hex "ABCD1234". Kanggo entuk tombol khusus, priksa Setelan Parameter (pirsani kaca 23). Sawise rampung layanan kasebut, RXFIFO bakal dimuat karo respon layanan, kalebu perintah layanan, status, lan penunjuk struktur data respon tantangan.
3.4 Layanan liyane
Bagean ing ngisor iki nggambarake macem-macem layanan sistem liyane.
3.4.1 Digest Priksa
Fungsi nyata recalculating lan mbandhingaké digests saka komponen sing dipilih ora kaleksanan kanggo layanan mriksa pencernaan ing simulasi. Panjaluk layanan iki kalebu printah layanan, lan opsi layanan (5-bit LSB). Sawise layanan wis diwiwiti eksekusi, pesen sing rinci babagan eksekusi layanan mriksa pencernaan bakal ditampilake, bebarengan karo pilihan sing dipilih saka panyuwunan. Sawise rampung layanan, RXFIFO bakal dimuat karo respon layanan, kalebu printah layanan, lan digest check pass/gagal flag.
3.4.2 Response Command ora dikenali
Nalika panjalukan layanan sing ora dingerteni dikirim menyang COMM_BLK, COMM_BLK bakal kanthi otomatis mangsuli pesen printah sing ora dingerteni sing di-push menyang RXFIFO. Pesen kasebut kalebu prentah sing dikirim menyang COMM_BLK lan status prentah sing ora dingerteni (252D). Pesen tampilan sing nuduhake panyuwunan layanan sing ora dingerteni wis dideteksi uga bakal ditampilake. COMM_BLK bakal bali menyang status nganggur, ngenteni nampa panjalukan layanan sabanjure.
3.4.3 Layanan sing ora didhukung
Layanan sing ora didhukung disetel menyang COMM_BLK bakal micu pesen ing simulasi sing nuduhake yen panyuwunan layanan ora didhukung. COMM_BLK bakal bali menyang status nganggur, ngenteni nampa panjalukan layanan sabanjure. PINTERRUPT ora bakal disetel, nuduhake yen layanan wis rampung. Dhaptar layanan sing ora didhukung saiki kalebu: IAP, ISP, Sertifikat Piranti, lan Layanan DESIGNVER.
3.5 Dhukungan Simulasi Layanan Sistem File
Kanggo ndhukung simulasi layanan sistem, teks file disebut, "status.txt" bisa digunakake kanggo pass instruksi bab prilaku dibutuhake model simulasi kanggo model simulasi. Iki file kudu dumunung ing folder padha, sing simulasi mbukak saka. Ing file bisa digunakake, antara liya, kanggo meksa respon kesalahan tartamtu kanggo layanan sistem sing didhukung utawa malah kanggo nyetel sawetara paramèter sing dibutuhake kanggo simulasi, (kanggo ex.ample, nomer seri). Jumlah maksimum garis sing didhukung ing "status.txt" file punika 256. Instructions sing katon sawise nomer baris 256 ora bakal digunakake ing simulasi.
3.5.1 Meksa Tanggapan Kasalahan
Pangguna bisa meksa respon kesalahan tartamtu kanggo layanan tartamtu sajrone tes kanthi ngirim informasi menyang model simulasi nggunakake "status.txt" file, kang kudu diselehake ing folder simulasi mbukak saka. Kanggo meksa respon kesalahan menyang layanan tartamtu, printah lan respon sing dibutuhake kudu diketik ing baris sing padha ing format ing ngisor iki:ample, kanggo Command> ; pitunjuk model simulasi kanggo generate respon kesalahan akses memori MSS kanggo layanan nomer serial, printah minangka nderek.
Layanan: Nomer Seri: 01
Pesen kesalahan sing dijaluk: Kesalahan Akses Memori MSS: 7F
Sampeyan kudu ngetik baris 017F ing "status.txt" file.
3.5.2 Setelan Parameter
"status.txt" file uga bisa digunakake kanggo nyetel sawetara paramèter needed ing simulasi. Minangka mantanample, kanggo nyetel parameter 32-bit kanggo usercode, format baris kudu ing urutan iki: <32 Bit USERCODE>; ing ngendi loro nilai kasebut dilebokake ing heksadesimal. Kanggo nyetel parameter 128-bit kanggo nomer seri, format baris kudu ing urutan iki: <128 Bit Nomer Seri [127:0]> ; ing ngendi loro nilai kasebut dilebokake ing heksadesimal. Kanggo nyetel parameter 256-bit kanggo tombol SHA 256; format baris kudu ing urutan iki: <256 Bit Key [255:0]>; ing ngendi loro nilai kasebut dilebokake ing heksadesimal. Kanggo nyetel parameter 256-bit kanggo kunci respon tantangan, format baris kasebut kudu kaya iki: <256 Bit Key [255:0]>;
ing ngendi loro nilai kasebut dilebokake ing heksadesimal.
3.5.3 Prioritas piranti
Layanan sistem lan COMM_BLK nggunakake sistem prioritas dhuwur. Saiki, siji-sijine layanan prioritas dhuwur yaiku zeroization. Kanggo nindakake layanan prioritas dhuwur, nalika layanan liyane lagi dileksanakake, layanan saiki dihentikan lan layanan prioritas sing luwih dhuwur bakal dileksanakake ing panggonane. COMM_BLK bakal ngilangi layanan sing saiki kanggo nindakake layanan prioritas sing luwih dhuwur. Yen sawetara layanan non-prioritas dhuwur dikirim sadurunge rampung layanan saiki, layanan iki bakal antrian ing TXFIFO. Sawise layanan saiki wis rampung, layanan sabanjure ing TXFIFO bakal dieksekusi.
Microsemi ora menehi garansi, perwakilan, utawa jaminan babagan informasi sing ana ing kene utawa kesesuaian produk lan layanan kanggo tujuan tartamtu, uga Microsemi ora nanggung tanggung jawab apa wae sing muncul saka aplikasi utawa panggunaan produk utawa sirkuit apa wae. Produk sing didol ing ngisor iki lan produk liyane sing didol dening Microsemi wis diuji kanthi winates lan ora bisa digunakake bebarengan karo peralatan utawa aplikasi sing penting banget. Sembarang spesifikasi kinerja dipercaya bisa dipercaya nanging ora diverifikasi, lan Panuku kudu nindakake lan ngrampungake kabeh kinerja lan pangujian produk liyane, piyambak lan bebarengan karo, utawa dipasang ing, produk pungkasan. Panuku ora bakal ngandelake data lan spesifikasi kinerja utawa paramèter sing diwenehake dening Microsemi. Tanggung jawab Panuku kanggo nemtokake kesesuaian produk lan nyoba lan verifikasi sing padha. Informasi sing diwenehake dening Microsemi ing ngisor iki diwenehake "kaya, ing ngendi" lan kabeh kesalahane, lan kabeh risiko sing ana gandhengane karo informasi kasebut tanggung jawab kanggo Pembeli. Microsemi ora menehi, kanthi tegas utawa implisit, marang pihak apa wae hak paten, lisensi, utawa hak IP liyane, apa sing ana gandhengane karo informasi kasebut dhewe utawa apa wae sing diterangake dening informasi kasebut. Informasi sing disedhiyakake ing dokumen iki minangka kepemilikan Microsemi, lan Microsemi nduweni hak kanggo ngganti informasi ing dokumen iki utawa produk lan layanan apa wae tanpa kabar.
Microsemi, anak perusahaan saka Microchip Technology Inc. (Nasdaq: MCHP), nawakake portofolio komprehensif semikonduktor lan solusi sistem kanggo aerospace & pertahanan, komunikasi, pusat data lan pasar industri. Produk kalebu sirkuit terpadu sinyal campuran analog kinerja dhuwur lan radiasi, FPGA, SoC lan ASIC; produk manajemen daya; piranti wektu lan sinkronisasi lan solusi wektu sing tepat, nyetel standar wektu ing donya; piranti pangolahan swara; solusi RF; komponen diskrèt; solusi panyimpenan lan komunikasi perusahaan; teknologi keamanan lan keukur anti-tamper produk; solusi Ethernet; Power-over-Ethernet ICs lan midspans; uga kemampuan lan layanan desain khusus. Microsemi kantor pusat ing Aliso Viejo, California, lan duwe udakara 4,800 karyawan ing saindenging jagad. Sinau luwih lengkap ing www.microsemi.com.
Markas Microsemi
One Enterprise, Aliso Viejo,
CA 92656 AS
Ing AS: +1 800-713-4113
Ing njaba AS: +1 949-380-6100
Penjualan: +1 949-380-6136
Fax: +1 949-215-4996
Email: sales.support@microsemi.com
www.microsemi.com
© 2018 Microsemi. Kabeh hak dilindhungi undhang-undhang. Microsemi lan logo Microsemi
iku merek dagang saka Microsemi Corporation. Kabeh merek dagang lan layanan liyane
tandha iku duweke dhewe.
Dokumen / Sumber Daya
![]() |
Microsemi UG0837 IGLOO2 lan Simulasi Layanan Sistem FPGA SmartFusion2 [pdf] Pandhuan pangguna UG0837, UG0837 IGLOO2 lan Simulasi Layanan Sistem FPGA SmartFusion2, Simulasi Layanan Sistem FPGA IGLOO2 lan SmartFusion2, Simulasi Layanan Sistem FPGA SmartFusion2, Simulasi Layanan Sistem FPGA, Simulasi Layanan |