Microchip UG0881 PolarFire SoC FPGA Booting lan Konfigurasi
Garansi
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 gumantung ing 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.
Babagan Microsemi
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-hardened, 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; panyimpenan perusahaan lan solusi komunikasi, teknologi keamanan lan keukur anti-tampproduk er; solusi Ethernet; Power-over-Ethernet ICs lan midspans; uga kemampuan lan layanan desain khusus. Sinau luwih lengkap ing www.microsemi.com.
Booting lan Konfigurasi
PolarFire SoC FPGAs nggunakake sirkuit daya-up canggih kanggo mesthekake daya dipercaya ing daya-up lan ngreset. Nalika power-up lan reset, urutan boot-up PolarFire SoC FPGA ngetutake Reset Power-on (POR), Booting piranti, Inisialisasi Desain, Pra-boot Subsistem Mikrokontroler (MSS), lan boot pangguna MSS. Dokumen iki njlèntrèhaké MSS pre-boot lan MSS User Boot. Kanggo informasi babagan POR, Booting Piranti lan inisialisasi Desain, deleng UG0890: PolarFire SoC FPGA Power-Up lan Reset Pandhuan pangguna.
Kanggo informasi luwih lengkap babagan fitur MSS, waca UG0880: Pandhuan Pangguna MSS PolarFire SoC.
Urutan Boot-up
Urutan boot-up diwiwiti nalika PolarFire SoC FPGA diuripake utawa direset. Iku rampung nalika prosesor siyap kanggo nglakokaké program aplikasi. Urutan booting iki lumaku liwat sawetara stages sadurunge miwiti eksekusi program.
A pesawat saka operasi dileksanakake sak proses Boot-up sing kalebu daya-on reset saka hardware, initialization peripheral, initialization memori, lan loading aplikasi user-ditetepake saka memori non-molah malih menyang memori molah malih kanggo eksekusi.
Tokoh ing ngisor iki nuduhake fase beda saka urutan Boot-up.
Gambar 1 Urutan Boot-up
MSS Pre-Boot
Sawise sukses Desain Initialization, MSS Pre-boot miwiti eksekusi. MSS dibebasake saka reset sawise rampung kabeh prosedur wiwitan normal. Kontroler sistem ngatur pemrograman, inisialisasi, lan konfigurasi piranti. MSS Pre-boot ora kedadeyan yen piranti sing diprogram dikonfigurasi kanggo mode penundaan pengontrol sistem.
Tahap pra-boot awal MSS dikoordinasi dening perangkat kukuh pengontrol sistem, sanajan bisa uga nggunakake E51 ing Komplek Inti MSS kanggo nindakake bagean tartamtu saka urutan pra-boot.
Acara ing ngisor iki kedadeyan sajrone pra-boot MSStage:
- Power-up saka MSS embedded Non-Volatile Memory (eNVM)
- Inisialisasi perbaikan redundansi sing ana gandhengane karo cache MSS Core Complex L2
- Otentikasi kode boot pangguna (yen opsi boot User Secure diaktifake)
- Penyerahan MSS operasional menyang kode Boot User
MSS Core Complex bisa boot ing salah siji saka papat mode. Tabel ing ngisor iki nampilake pilihan pra-boot MSS, sing bisa dikonfigurasi lan diprogram menyang sNVM. Mode boot ditetepake dening parameter pangguna U_MSS_BOOTMODE [1: 0]. Data konfigurasi boot tambahan gumantung mode lan ditetepake dening parameter pangguna U_MSS_BOOTCFG (ndeleng Tabel 3, kaca 4 lan Tabel 5, kaca 6).
Tabel 1 • Mode Boot Kompleks Inti MSS
U_MSS_BOOTMODE[1:0] | Mode | Katrangan |
0 | Boot nganggur | MSS Core Complex boots saka boot ROM yen MSS ora diatur |
1 | Boot ora aman | MSS Core Complex boot langsung saka alamat sing ditetepake dening U_MSS_BOOTADDR |
2 | Boot aman pangguna | MSS Core Complex boots saka sNVM |
3 | Boot aman saka pabrik | Boot MSS Core Complex nggunakake protokol boot aman pabrik |
Opsi boot dipilih minangka bagéan saka aliran desain Libero. Ngganti mode mung bisa digayuh liwat generasi program FPGA anyar file.
Gambar 2 • MSS Pre-boot Flow
Boot nganggur
Yen MSS ora dikonfigurasi (kanggo example, piranti kosong), banjur MSS Core Complex nglakokaké program boot ROM sing ngemu kabeh prosesor ing daur ulang tanpa wates nganti debugger nyambung menyang target. Register vektor boot njaga regane nganti piranti direset utawa konfigurasi mode boot anyar diprogram. Kanggo piranti sing dikonfigurasi, mode iki bisa dileksanakake nggunakake
U_MSS_BOOTMODE=0 pilihan boot ing configurator Libero.
Cathetan: Ing mode iki, U_MSS_BOOTCFG ora digunakake.
Gambar ing ngisor iki nuduhake aliran boot Idle.
Gambar 3 • Alur Boot Idle
Boot ora aman
Ing mode iki, MSS Core Complex nglakokake saka alamat eNVM sing ditemtokake tanpa otentikasi. Nyedhiyakake pilihan boot paling cepet, nanging ora ana otentikasi gambar kode. Alamat bisa ditemtokake kanthi nyetel U_MSS_BOOTADDR ing Libero Configurator. Mode iki uga bisa digunakake kanggo boot saka sembarang sumber memori FPGA Fabric liwat FIC. Mode iki dileksanakake nggunakake
U_MSS_BOOTMODE=1 opsi boot.
Kompleks inti MSS dirilis saka reset karo vektor boot ditetepake dening U_MSS_BOOTCFG (minangka kadhaptar ing tabel ing ngisor iki).
Tabel 2 • U_MSS_BOOTCFG Panggunaan ing Mode Boot Non-Aman 1
Offset (byte) |
Ukuran (byte) |
jeneng |
Katrangan |
0 | 4 | BOOTVEC0 | Vektor boot kanggo E51 |
4 | 4 | BOOTVEC1 | Vektor boot kanggo U540 |
8 | 4 | BOOTVEC2 | Vektor boot kanggo U541 |
16 | 4 | BOOTVEC3 | Vektor boot kanggo U542 |
20 | 4 | BOOTVEC4 | Vektor boot kanggo U543 |
Tokoh ing ngisor iki nuduhake aliran boot Non-aman.
Gambar 4 • Aliran Boot sing ora aman
Boot Aman Pangguna
Mode iki ngidini pangguna ngleksanakake boot aman dhewe lan kode boot aman pangguna diselehake ing sNVM. sNVM punika 56 KB memori non-molah malih sing bisa dilindhungi dening dibangun ing Fungsi Fisik Unclonable (PUF). Cara boot iki dianggep aman amarga kaca sNVM ditandhani minangka ROM ora bisa diganti. Nalika daya munggah, pengontrol sistem nyalin kode boot aman pangguna saka sNVM menyang Data Tightly Integrated Memory (DTIM) saka inti Monitor E51. E51 wiwit nglakokake kode boot aman pangguna.
Yen ukuran kode boot aman pangguna luwih saka ukuran DTIM, pangguna kudu dibagi kode boot dadi rong detik.tages. sNVM bisa ngemot s sabanjurétage saka urutan boot pangguna, sing bisa nindakake otentikasi boot s sabanjuretage nggunakake algoritma otentikasi / dekripsi pangguna.
Yen kaca sing diotentikasi utawa dienkripsi digunakake, kunci USK sing padha (yaiku,
U_MSS_BOOT_SNVM_USK) kudu digunakake kanggo kabeh kaca sing diotentikasi/enkripsi.
Yen bukti asli gagal, Komplek inti MSS bisa diselehake ing reset lan BOOT_FAIL tamper flag bisa munggah. Mode iki dileksanakake nggunakake U_MSS_BOOTMODE=2 pilihan boot.
Tabel 3 • Panggunaan U_MSS_BOOTCFG ing Boot Aman Panganggo
Offset (byte) | Ukuran (byte) | jeneng | Katrangan |
0 | 1 | U_MSS_BOOT_SNVM_PAGE | Kaca wiwitan ing SNVM |
1 | 3 | DILIH | Kanggo alignment |
4 | 12 | U_MSS_BOOT_SNVM_USK | Kanggo kaca sing diotentikasi / dienkripsi |
Tokoh ing ngisor iki nuduhake aliran boot aman pangguna.
Gambar 5 • Aliran Boot Aman Pangguna
Boot Aman Pabrik
Ing mode iki, controller sistem maca Certificate Gambar Boot Aman (SBIC) saka eNVM lan validates SBIC. Nalika validasi sukses, System Controller nyalin kode boot aman pabrik saka area memori pribadi sing aman lan dimuat menyang DTIM inti E51 Monitor. Boot aman standar nindakake mriksa tandha ing gambar eNVM nggunakake SBIC sing disimpen ing eNVM. Yen ora ana kesalahan sing dilaporake, reset bakal diluncurake menyang Komplek Inti MSS. Yen kasalahan kacarita, Komplek MSS inti diselehake ing reset lan BOOT_FAIL tampgendéra diunggahaké. Banjur, controller sistem ngaktifake ingamper flag kang nandheske sinyal kanggo kain FPGA kanggo tumindak pangguna. Mode iki dileksanakake nggunakake U_MSS_BOOTMODE=3 pilihan boot.
SBIC ngemot alamat, ukuran, hash, lan Elliptic Curve Digital Signature Algorithm (ECDSA) teken saka gumpalan biner sing dilindhungi. ECDSA nawakake varian Algoritma Tandha Digital sing nggunakake kriptografi kurva eliptik. Uga ngemot vektor reset kanggo saben Hardware
thread / inti / inti prosesor (Hart) ing sistem.
Tabel 4 • Sertifikat Gambar Boot Aman (SBIC)
Offset | Ukuran (byte) | Nilai | Katrangan |
0 | 4 | IMAGEADDR | Alamat UBL ing peta memori MSS |
4 | 4 | GAMBAR | Ukuran UBL ing bita |
8 | 4 | BOOTVEC0 | Vektor boot ing UBL kanggo E51 |
12 | 4 | BOOTVEC1 | Vektor boot ing UBL kanggo U540 |
16 | 4 | BOOTVEC2 | Vektor boot ing UBL kanggo U541 |
20 | 4 | BOOTVEC3 | Vektor boot ing UBL kanggo U542 |
24 | 4 | BOOTVEC4 | Vektor boot ing UBL kanggo U543 |
28 | 1 | PILIHAN[7:0] | pilihan SBIC |
28 | 3 | DILIH | |
32 | 8 | VERSI | Versi SBIC/Gambar |
40 | 16 | DSN | DSN binding opsional |
56 | 48 | H | Gambar UBL SHA-384 hash |
104 | 104 | KODESIG | Tandha ECDSA sing dienkode DER |
Total | 208 | Byte |
DSN
Yen lapangan DSN non-nol, dibandhingake karo nomer serial piranti dhewe. Yen comparison gagal, banjur boot_fail tamper flag disetel lan otentikasi dibatalake.
VERSI
Yen panjabutan SBIC diaktifake dening U_MSS_REVOCATION_ENABLE, SBIC ditolak kajaba nilai VERSION luwih gedhe tinimbang utawa padha karo ambang pencabutan.
SBIC OPSI REVOCATION
Yen pencabutan SBIC diaktifake dening U_MSS_REVOCATION_ENABLE lan OPTIONS [0] minangka '1', kabeh versi SBIC kurang saka VERSION bakal dicabut sawise otentikasi lengkap SBIC. Ambang pencabutan tetep ing nilai anyar nganti nambah maneh dening SBIC mangsa karo OPTIONS[0] = '1' lan kolom VERSION sing luwih dhuwur. Ambang pencabutan mung bisa ditambah nganggo mekanisme iki lan mung bisa direset kanthi bit-stream.
Nalika batesan pambatalan dianyari kanthi dinamis, batesan kasebut disimpen kanthi nggunakake skema panyimpenan keluwih sing digunakake kanggo kode sandhi, saengga gagal daya nalika boot piranti ora nyebabake boot piranti sabanjure gagal. Yen nganyari ambang pencabutan gagal, mesthine yen nilai ambang kasebut minangka nilai anyar utawa sing sadurunge.
Tabel 5 • U_MSS_BOOTCFG Dianggo ing Factory Boot Loader Mode
Offset (byte) |
Ukuran (byte) |
jeneng |
Katrangan |
0 | 4 | U_MSS_SBIC_ADDR | Alamat SBIC ing papan alamat MSS |
4 | 4 | U_MSS_REVOCATION_ENABLE | Aktifake panjabutan SBIC yen non-nol |
Tokoh ing ngisor iki nuduhake aliran boot aman pabrik.
Gambar 6 • Alur Boot Aman Pabrik
Boot pangguna MSS
Booting pangguna MSS ditindakake nalika kontrol diwenehake saka Pengontrol Sistem menyang Kompleks Inti MSS. Sawise pra-boot MSS sukses, pengontrol sistem ngeculake reset menyang Komplek Inti MSS. MSS bisa diwiwiti kanthi salah sawijining cara ing ngisor iki:
- Aplikasi Bare Metal
- Aplikasi Linux
- AMP Aplikasi
Aplikasi Bare Metal
Aplikasi logam kosong kanggo PolarFire SoC bisa dikembangake nggunakake alat SoftConsole. Alat iki nyedhiyakake output files ing wangun .hex kang bisa digunakake ing aliran Libero kanggo kalebu menyang bitstream program file. Alat sing padha bisa digunakake kanggo debug aplikasi Bare Metal nggunakake JTAG
antarmuka.
Tokoh ing ngisor iki nuduhake aplikasi SoftConsole Bare Metal sing duwe limang harts (inti) kalebu inti E51 Monitor.
Gambar 7 • Proyek SoftConsole
Aplikasi Linux
Bagean iki nggambarake urutan boot kanggo Linux sing mlaku ing kabeh inti U54.
Proses boot khas kasusun saka telung stages S pisanantage boot loader (FSBL) bakal dieksekusi saka on-chip Boot flash (eNVM). FSBL ngemot s kapindhotage boot loader (SSBL) saka piranti boot menyang RAM external utawa Cache. Piranti boot bisa dadi eNVM utawa mikrokontroler memori sing dipasang (eMMC) utawa SPI Flash eksternal. SSBL ngemot sistem operasi Linux saka piranti boot menyang RAM eksternal. Ing s katelutage, Linux dieksekusi saka RAM external.
Gambar ing ngisor iki nuduhake aliran Proses Boot Linux.
Gambar 8 • Aliran Proses Booting Linux sing khas
Rincian FSBL, Wit piranti, Linux, lan YOCTO mbangun, carane mbangun lan ngatur Linux bakal diwenehake ing release mbesuk saka dokumen iki.
AMP Aplikasi
Katrangan rinci babagan Libero MSS Configurator lan cara debug aplikasi multi-prosesor nggunakake SoftConsole bakal diwenehake ing release dokumen iki ing mangsa ngarep.
Beda Sumber Booting
Kanggo dianyari ing versi mbesuk saka dokumen iki.
Konfigurasi Boot
Kanggo dianyari ing versi mbesuk saka dokumen iki.
Akronim
Akronim ing ngisor iki digunakake ing dokumen iki.
Tabel 1 • Daftar Akronim
Akronim ditambahi
- AMP Asymmetric Multi-Processing
- DTIM Data Tightly Integrated Memory (uga disebut SRAM)
- ECDSA Algoritma Tandha Digital Kurva Eliptik
- eNVM Memori Non-Volatile sing dipasang
- FSBL Kawitan Stage Boot Loader
- Hart Utas hardware/inti/inti prosesor
- MSS Subsistem Mikroprosesor
- POR Daya ing Reset
- PUF Fungsi Fisik Unclonable
- ROM Memori mung diwaca
- SCB Sistem Kontrol Bridge
- sNVM Memori Non-volatile Aman
Riwayat Revisi
Riwayat revisi nggambarake owah-owahan sing ditindakake ing dokumen kasebut. Owah-owahan kasebut didhaptar kanthi revisi, diwiwiti saka publikasi saiki.
Revisi 2.0
Ing ngisor iki ringkesan owah-owahan sing ditindakake ing revisi iki.
- Informasi babagan Factory Secure Boot dianyari.
- Informasi babagan Aplikasi Bare Metal dianyari.
Revisi 1.0
Publikasi pisanan saka dokumen iki.
Markas Microsemi
One Enterprise, Aliso Viejo,
CA 92656 AS
Ing AS: +1 800-713-4113
Ing njaba AS: +1 949-380-6100
Sales: +1 949-380-6136
Fax: +1 949-215-4996
Email: sales.support@microsemi.com
www.microsemi.com
©2020 Microsemi, anak perusahaan saka Microchip Technology Inc. Kabeh hak dilindhungi undhang-undhang. Microsemi lan logo Microsemi minangka merek dagang kadhaptar saka Microsemi Corporation. Kabeh merek dagang lan merek layanan liyane minangka properti saka sing nduweni.
Dokumen / Sumber Daya
![]() |
Microchip UG0881 PolarFire SoC FPGA Booting lan Konfigurasi [pdf] Pandhuan pangguna UG0881 PolarFire SoC FPGA Booting And Configuration, UG0881, PolarFire SoC FPGA Booting And Configuration, Booting And Configuration |