Microsemi-LGOO

Microchip UG0881 PolarFire SoC FPGA Booting Dan Konfigurasi

Microchip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-product

Waranti

Microsemi tidak membuat waranti, perwakilan atau jaminan mengenai maklumat yang terkandung di sini atau kesesuaian produk dan perkhidmatannya untuk sebarang tujuan tertentu, dan Microsemi juga tidak menanggung sebarang liabiliti yang timbul daripada penggunaan atau penggunaan mana-mana produk atau litar. Produk yang dijual di bawah ini dan mana-mana produk lain yang dijual oleh Microsemi telah tertakluk kepada ujian terhad dan tidak boleh digunakan bersama dengan peralatan atau aplikasi kritikal misi. Sebarang spesifikasi prestasi dipercayai boleh dipercayai tetapi tidak disahkan, dan Pembeli mesti menjalankan dan melengkapkan semua prestasi dan ujian lain produk, bersendirian dan bersama-sama dengan, atau dipasang dalam, mana-mana produk akhir. Pembeli tidak akan bergantung pada mana-mana data dan spesifikasi prestasi atau parameter yang disediakan oleh Microsemi. Adalah menjadi tanggungjawab Pembeli untuk menentukan secara bebas kesesuaian mana-mana produk dan untuk menguji dan mengesahkan yang sama. Maklumat yang diberikan oleh Microsemi di bawah ini disediakan "seadanya, di mana ada" dan dengan semua kesilapan, dan keseluruhan risiko yang berkaitan dengan maklumat tersebut adalah sepenuhnya kepada Pembeli. Microsemi tidak memberikan, secara eksplisit atau tersirat, kepada mana-mana pihak apa-apa hak paten, lesen, atau mana-mana hak IP lain, sama ada berkenaan dengan maklumat itu sendiri atau apa-apa yang diterangkan oleh maklumat tersebut. Maklumat yang diberikan dalam dokumen ini adalah hak milik Microsemi, dan Microsemi berhak untuk membuat sebarang perubahan pada maklumat dalam dokumen ini atau kepada mana-mana produk dan perkhidmatan pada bila-bila masa tanpa notis.

Mengenai Microsemi

Microsemi, anak syarikat milik penuh Microchip Technology Inc. (Nasdaq: MCHP), menawarkan portfolio komprehensif semikonduktor dan penyelesaian sistem untuk aeroangkasa & pertahanan, komunikasi, pusat data dan pasaran perindustrian. Produk termasuk litar bersepadu isyarat bercampur analog berprestasi tinggi dan keras sinaran, FPGA, SoC dan ASIC; produk pengurusan kuasa; pemasaan dan peranti penyegerakan serta penyelesaian masa yang tepat, menetapkan piawaian masa dunia; peranti pemprosesan suara; penyelesaian RF; komponen diskret; penyelesaian storan dan komunikasi perusahaan, teknologi keselamatan dan anti-t berskalaamper produk; Penyelesaian Ethernet; IC dan rentang tengah Power-over-Ethernet; serta keupayaan dan perkhidmatan reka bentuk tersuai. Ketahui lebih lanjut di www.microsemi.com.

But dan Konfigurasi

FPGA SoC PolarFire menggunakan litar naikkan kuasa lanjutan untuk memastikan kuasa yang boleh dipercayai dihidupkan semasa menghidupkan dan menetapkan semula. Semasa kuasa dan tetapan semula, jujukan but PolarFire SoC FPGA mengikuti tetapan semula Kuasa (POR), But peranti, Inisialisasi Reka bentuk, pra-but Subsistem Mikrokontroler (MSS) dan but pengguna MSS. Dokumen ini menerangkan pra-but MSS dan But Pengguna MSS. Untuk mendapatkan maklumat tentang POR, But Device dan pemula Reka Bentuk, lihat UG0890: PolarFire SoC FPGA Power-Up and Resets Guide.
Untuk maklumat lanjut tentang ciri MSS, lihat UG0880: Panduan Pengguna MSS PolarFire SoC.

Urutan Boot-up
Urutan but bermula apabila FPGA SoC PolarFire dikuasakan atau ditetapkan semula. Ia tamat apabila pemproses bersedia untuk melaksanakan program aplikasi. Urutan but ini berjalan melalui beberapa stages sebelum ia memulakan pelaksanaan program.
Satu set operasi dilakukan semasa proses Boot-up yang merangkumi tetapan semula kuasa perkakasan, permulaan persisian, permulaan memori dan memuatkan aplikasi yang ditentukan pengguna daripada memori tidak meruap ke memori yang tidak menentu untuk dilaksanakan.

Rajah berikut menunjukkan fasa yang berbeza bagi urutan Boot-up.

Rajah 1  Urutan Boot-upMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-rajah 1

Pra-But MSS

Setelah berjaya menyelesaikan Permulaan Reka Bentuk, Pra-but MSS memulakan pelaksanaannya. MSS dikeluarkan daripada tetapan semula selepas selesai semua prosedur permulaan biasa. Pengawal sistem menguruskan pengaturcaraan, permulaan dan konfigurasi peranti. Pra-but MSS tidak berlaku jika peranti yang diprogramkan dikonfigurasikan untuk mod penggantungan pengawal sistem.
Fasa pra-but MSS pemulaan diselaraskan oleh perisian tegar pengawal sistem, walaupun ia mungkin menggunakan E51 dalam Kompleks Teras MSS untuk melaksanakan bahagian tertentu urutan pra-but.
Peristiwa berikut berlaku semasa pra-but MSStage:

  • Kuasa Memori Tidak Meruap (eNVM) terbenam MSS
  • Permulaan pembaikan redundansi yang dikaitkan dengan cache MSS Core Complex L2
  • Pengesahan kod but Pengguna (jika pilihan but User Secure didayakan)
  • Penyerahan MSS operasi kepada kod But Pengguna

Kompleks Teras MSS boleh dibut dalam salah satu daripada empat mod. Jadual berikut menyenaraikan pilihan pra-but MSS, yang boleh dikonfigurasikan dan diprogramkan ke dalam sNVM. Mod but ditakrifkan oleh parameter pengguna U_MSS_BOOTMODE[1:0]. Data konfigurasi but tambahan bergantung kepada mod dan ditakrifkan oleh parameter pengguna U_MSS_BOOTCFG (lihat Jadual 3, halaman 4 dan Jadual 5, halaman 6).

Jadual 1 • Mod But Kompleks Teras MSS

U_MSS_BOOTMODE[1:0] Mod Penerangan
0 But melahu MSS Core Complex but daripada boot ROM jika MSS tidak dikonfigurasikan
1 But tidak selamat Kompleks Teras MSS but terus dari alamat yang ditentukan oleh U_MSS_BOOTADDR
2 But selamat pengguna MSS Core Complex but daripada sNVM
3 But kilang selamat But MSS Core Complex menggunakan protokol but selamat kilang

Pilihan but dipilih sebagai sebahagian daripada aliran reka bentuk Libero. Menukar mod hanya boleh dicapai melalui penjanaan pengaturcaraan FPGA baharu file.

Rajah 2 • Aliran Pra-but MSS Microchip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-rajah 2

But Terbiar

Jika MSS tidak dikonfigurasikan (contohnyaample, peranti kosong), kemudian Kompleks Teras MSS melaksanakan program boot ROM yang memegang semua pemproses dalam gelung tak terhingga sehingga penyahpepijat bersambung ke sasaran. Daftar vektor but mengekalkan nilainya sehingga peranti ditetapkan semula atau konfigurasi mod but baharu diprogramkan. Untuk peranti yang dikonfigurasikan, mod ini boleh dilaksanakan menggunakan
U_MSS_BOOTMODE=0 pilihan but dalam konfigurator Libero.

Nota: Dalam mod ini, U_MSS_BOOTCFG tidak digunakan.

Rajah berikut menunjukkan aliran but Idle.
Rajah 3 • Aliran But TerbiarMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-rajah 3

But tidak selamat

Dalam mod ini, Kompleks Teras MSS melaksanakan daripada alamat eNVM yang ditentukan tanpa pengesahan. Ia menyediakan pilihan but terpantas, tetapi tiada pengesahan imej kod. Alamat boleh ditentukan dengan menetapkan U_MSS_BOOTADDR dalam Konfigurator Libero. Mod ini juga boleh digunakan untuk but daripada mana-mana sumber memori Fabrik FPGA melalui FIC. Mod ini dilaksanakan menggunakan
U_MSS_BOOTMODE=1 pilihan but.
Kompleks Teras MSS dikeluarkan daripada set semula dengan vektor but yang ditakrifkan oleh U_MSS_BOOTCFG (seperti yang disenaraikan dalam jadual berikut).

Jadual 2 • Penggunaan U_MSS_BOOTCFG dalam Mod But Tidak Selamat 1

Offset (bait)  

Saiz (bait)

 

Nama

 

Penerangan

0 4 BOOTVEC0 Vektor but untuk E51
4 4 BOOTVEC1 Vektor but untuk U540
8 4 BOOTVEC2 Vektor but untuk U541
16 4 BOOTVEC3 Vektor but untuk U542
20 4 BOOTVEC4 Vektor but untuk U543

Rajah berikut menunjukkan aliran but Tidak selamat.
Rajah 4 • Aliran But tidak selamatMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-rajah 4

Boot Selamat Pengguna
Mod ini membolehkan pengguna melaksanakan but selamat tersuai mereka sendiri dan kod but selamat pengguna diletakkan dalam sNVM. sNVM ialah memori tidak meruap 56 KB yang boleh dilindungi oleh Fungsi Physically Unclonable (PUF) terbina dalam. Kaedah but ini dianggap selamat kerana halaman sNVM yang ditandakan sebagai ROM tidak boleh diubah. Apabila dihidupkan, pengawal sistem menyalin kod but selamat pengguna daripada sNVM kepada Data Tightly Integrated Memory (DTIM) bagi teras Monitor E51. E51 mula melaksanakan kod but selamat pengguna.
Jika saiz kod but selamat pengguna lebih daripada saiz DTIM maka pengguna perlu membahagikan kod but kepada dua stages. sNVM mungkin mengandungi s seterusnyatage jujukan but pengguna, yang mungkin melakukan pengesahan but seterusnyatage menggunakan algoritma pengesahan/penyahsulitan pengguna.
Jika halaman yang disahkan atau disulitkan digunakan maka kunci USK yang sama (iaitu,
U_MSS_BOOT_SNVM_USK) mesti digunakan untuk semua halaman yang disahkan/disulitkan.
Jika pengesahan gagal, Kompleks Teras MSS boleh diletakkan dalam set semula dan BOOT_FAIL tamper bendera boleh dinaikkan. Mod ini dilaksanakan menggunakan pilihan but U_MSS_BOOTMODE=2.

Jadual 3 •  Penggunaan U_MSS_BOOTCFG dalam But Secure Pengguna

Offset (bait) Saiz (bait) Nama Penerangan
0 1 U_MSS_BOOT_SNVM_PAGE Halaman mula dalam SNVM
1 3 TERPELIHARA Untuk penjajaran
4 12 U_MSS_BOOT_SNVM_USK Untuk halaman yang disahkan/disulitkan

Rajah berikut menunjukkan aliran but selamat pengguna.
Rajah 5 • Aliran But Selamat PenggunaMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-rajah 5

But Kilang Selamat
Dalam mod ini, pengawal sistem membaca Sijil Imej But Selamat (SBIC) daripada eNVM dan mengesahkan SBIC. Apabila pengesahan berjaya, Pengawal Sistem menyalin kod but selamat kilang dari kawasan memori peribadi dan selamatnya dan memuatkannya ke dalam DTIM teras Monitor E51. But selamat lalai melakukan semakan tandatangan pada imej eNVM menggunakan SBIC yang disimpan dalam eNVM. Jika tiada ralat dilaporkan, tetapan semula dikeluarkan ke Kompleks Teras MSS. Jika ralat dilaporkan, Kompleks Teras MSS diletakkan dalam set semula dan BOOT_FAIL tamper bendera dinaikkan. Kemudian, pengawal sistem diaktifkan padaampbendera er yang menegaskan isyarat kepada fabrik FPGA untuk tindakan pengguna. Mod ini dilaksanakan menggunakan pilihan but U_MSS_BOOTMODE=3.

SBIC mengandungi alamat, saiz, cincangan dan tandatangan Algoritma Tandatangan Digital Lengkung Eliptik (ECDSA) bagi gumpalan binari yang dilindungi. ECDSA menawarkan varian Algoritma Tandatangan Digital yang menggunakan kriptografi lengkung eliptik. Ia juga mengandungi vektor tetapan semula untuk setiap Perkakasan
benang/teras/teras pemproses (Hart) dalam sistem.

Jadual 4 •  Sijil Imej But Selamat (SBIC)

Offset Saiz (bait) Nilai Penerangan
0 4 IMAGEADDR Alamat UBL dalam peta memori MSS
4 4 IMAGELEN Saiz UBL dalam bait
8 4 BOOTVEC0 Vektor but dalam UBL untuk E51
12 4 BOOTVEC1 Vektor but dalam UBL untuk U540
16 4 BOOTVEC2 Vektor but dalam UBL untuk U541
20 4 BOOTVEC3 Vektor but dalam UBL untuk U542
24 4 BOOTVEC4 Vektor but dalam UBL untuk U543
28 1 PILIHAN[7:0] Pilihan SBIC
28 3 TERPELIHARA  
32 8 VERSI Versi SBIC/Imej
40 16 DSN Pengikatan DSN pilihan
56 48 H cincang imej UBL SHA-384
104 104 CODESIG Tandatangan ECDSA berkod DER
Jumlah 208 Bait  

DSN
Jika medan DSN bukan sifar, ia dibandingkan dengan nombor siri peranti itu sendiri. Jika perbandingan gagal, maka boot_fail tampbendera er ditetapkan dan pengesahan dibatalkan.

VERSI
Jika pembatalan SBIC didayakan oleh U_MSS_REVOCATION_ENABLE, SBIC ditolak melainkan nilai VERSION lebih besar daripada atau sama dengan ambang pembatalan.

PILIHAN PEMBATALAN SBIC
Jika pembatalan SBIC didayakan oleh U_MSS_REVOCATION_ENABLE dan OPTIONS[0] ialah '1', semua versi SBIC yang kurang daripada VERSION akan dibatalkan selepas pengesahan SBIC yang lengkap. Ambang pembatalan kekal pada nilai baharu sehingga ia meningkat sekali lagi dengan SBIC masa hadapan dengan OPTIONS[0] = '1' dan medan VERSION yang lebih tinggi. Ambang pembatalan hanya boleh dinaikkan menggunakan mekanisme ini dan hanya boleh ditetapkan semula dengan aliran bit.
Apabila ambang pembatalan dikemas kini secara dinamik, ambang disimpan menggunakan skema storan berlebihan yang digunakan untuk kod laluan supaya kegagalan kuasa semasa but peranti tidak menyebabkan but peranti seterusnya gagal. Jika kemas kini ambang pembatalan gagal, nilai ambang dijamin sama ada nilai baharu atau nilai sebelumnya.

Jadual 5 • Penggunaan U_MSS_BOOTCFG dalam Mod Pemuat But Kilang

Offset (bait)  

Saiz (bait)

 

Nama

 

Penerangan

0 4 U_MSS_SBIC_ADDR Alamat SBIC dalam ruang alamat MSS
4 4 U_MSS_REVOCATION_ENABLE Dayakan pembatalan SBIC jika bukan sifar

Rajah berikut menunjukkan aliran but selamat kilang.
Rajah 6 • Aliran But Selamat KilangMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-rajah 6 Microchip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-rajah 7

But Pengguna MSS 

But pengguna MSS berlaku apabila kawalan diberikan daripada Pengawal Sistem kepada Kompleks Teras MSS. Setelah pra-but MSS berjaya, pengawal sistem melepaskan tetapan semula ke Kompleks Teras MSS. MSS boleh dibut melalui salah satu cara berikut:

  • Aplikasi Logam Bare
  • Aplikasi Linux
  • AMP Permohonan

Aplikasi Logam Bare

Aplikasi logam kosong untuk SoC PolarFire boleh dibangunkan menggunakan alat SoftConsole. Alat ini menyediakan output files dalam bentuk .hex yang boleh digunakan dalam aliran Libero untuk dimasukkan ke dalam aliran bit pengaturcaraan file. Alat yang sama boleh digunakan untuk menyahpepijat aplikasi Bare Metal menggunakan JTAG
antara muka.
Rajah berikut menunjukkan aplikasi SoftConsole Bare Metal yang mempunyai lima hart (Teras) termasuk teras Monitor E51.

Rajah 7 • Projek SoftConsole Microchip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-rajah 8

Aplikasi Linux

Bahagian ini menerangkan urutan but untuk Linux yang dijalankan pada semua teras U54.
Proses but biasa terdiri daripada tiga stages. Yang pertama stage boot loader (FSBL) akan dilaksanakan daripada denyar But on-chip (eNVM). FSBL memuatkan s keduatage pemuat but (SSBL) daripada peranti but ke RAM luaran atau Cache. Peranti but boleh menjadi eNVM atau mikropengawal memori terbenam (eMMC) atau SPI Flash luaran. SSBL memuatkan sistem pengendalian Linux daripada peranti but ke RAM luaran. Dalam s ketigatage, Linux dilaksanakan daripada RAM luaran.

Rajah berikut menunjukkan aliran Proses Boot Linux.
Rajah 8 • Aliran Proses But Linux BiasaMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-rajah 9

Butiran FSBL, Pepohon peranti, Linux dan binaan YOCTO, cara membina dan mengkonfigurasi Linux akan diberikan dalam keluaran dokumen ini pada masa hadapan.

AMP Permohonan
Penerangan terperinci mengenai Libero MSS Configurator dan cara menyahpepijat aplikasi berbilang pemproses menggunakan SoftConsole akan diberikan pada keluaran dokumen ini pada masa hadapan.

Sumber Booting yang Berbeza
Untuk dikemas kini dalam versi masa hadapan dokumen ini.

Konfigurasi But
Untuk dikemas kini dalam versi masa hadapan dokumen ini.

Akronim

Akronim berikut digunakan dalam dokumen ini.

Jadual 1 •  Senarai Akronim

Akronim Dikembangkan

  • AMP Asymmetric Multi-processing
  • DTIM Memori Bersepadu Ketat Data (juga dikenali sebagai SRAM)
  • ECDSA Algoritma Tandatangan Digital Lengkung Eliptik
  • eNVM Memori Tidak Meruap tertanam
  • FSBL S pertamatage Pemuat But
  • Hart Benang perkakasan/teras/teras pemproses
  • MSS Subsistem mikropemproses
  • POR Hidupkan Tetapan Semula
  • PUF Fungsi Tidak Boleh Diklon Secara Fizikal
  • ROM Memori Baca sahaja
  • SCB Jambatan Pengawal Sistem
  • sNVM Memori Tidak Meruap Selamat

Sejarah Semakan

Sejarah semakan menerangkan perubahan yang telah dilaksanakan dalam dokumen. Perubahan disenaraikan mengikut semakan, bermula dengan penerbitan semasa.

Semakan 2.0
Berikut ialah ringkasan perubahan yang dibuat dalam semakan ini.

  • Maklumat tentang Factory Secure Boot telah dikemas kini.
  • Maklumat tentang Aplikasi Bare Metal telah dikemas kini.

Semakan 1.0
Penerbitan pertama dokumen ini.

Ibu Pejabat Microsemi
One Enterprise, Aliso Viejo,
CA 92656 Amerika Syarikat
Dalam Amerika Syarikat: +1 800-713-4113
Di luar Amerika Syarikat: +1 949-380-6100
Jualan: +1 949-380-6136
Faks: +1 949-215-4996
e-mel: sales.support@microsemi.com
www.microsemi.com

©2020 Microsemi, anak syarikat milik penuh Microchip Technology Inc. Hak cipta terpelihara. Microsemi dan logo Microsemi adalah tanda dagangan berdaftar Microsemi Corporation. Semua tanda dagangan dan tanda perkhidmatan lain adalah hak milik pemilik masing-masing.

Dokumen / Sumber

Microchip UG0881 PolarFire SoC FPGA Booting Dan Konfigurasi [pdf] Panduan Pengguna
UG0881 PolarFire SoC FPGA Booting And Configuration, UG0881, PolarFire SoC FPGA Booting And Configuration, Booting Dan Konfigurasi

Rujukan

Tinggalkan komen

Alamat e-mel anda tidak akan diterbitkan. Medan yang diperlukan ditanda *