Microsemi-LGOO

Microchip UG0881 PolarFire SoC FPGA Booting Jeung Konfigurasi

Microchip-UG0881-PolarFire-SoC-FPGA-Booting-Sareng-Konfigurasi-produk

Garansi

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 naon waé. Produk anu dijual di dieu 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 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, lisensi, 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.

Ngeunaan Microsemi

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 jeung 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éknologi kaamanan sareng anti-t scalableamper produk; solusi Ethernet; Power-over-Ethernet ICs sareng midspans; kitu ogé kamampuhan design custom sarta jasa. Diajar langkung seueur di www.microsemi.com.

Booting Jeung Konfigurasi

PolarFire SoC FPGAs ngagunakeun circuitry power-up canggih pikeun mastikeun kakuatan bisa dipercaya dina power-up na reset. Dina kakuatan-up jeung reset, PolarFire SoC FPGA urutan boot-up nuturkeun Power-on reset (POR), boot alat, inisialisasi Desain, Microcontroller Subsystem (MSS) pre-boot, sarta boot pamaké MSS. Dokumén ieu ngajelaskeun pra-boot MSS sareng Boot Pamaké MSS. Kanggo inpo tentang POR, Device Boot and Design initialization, tingali UG0890: PolarFire SoC FPGA Power-Up and Resets User Guide.
Kanggo inpo nu langkung lengkep ihwal fitur MSS, tingali UG0880: Pituduh Pamaké MSS PolarFire SoC.

Runtuyan boot-up
Runtuyan boot-up dimimitian nalika PolarFire SoC FPGA diaktipkeun atawa direset. Ieu ends nalika processor geus siap ngaéksekusi hiji program aplikasi. Runtuyan booting Ieu ngalir ngaliwatan sababaraha stages sateuacan ngamimitian palaksanaan program.
Hiji set operasi anu dipigawé salila prosés Boot-up nu ngawengku kakuatan-on reset hardware, initialization periferal, initialization memori, sarta loading aplikasi-diartikeun pamaké ti memori non-volatile kana memori volatile pikeun palaksanaan.

Gambar di handap ieu nunjukkeun fase anu béda tina sekuen Boot-up.

Gambar 1  Runtuyan boot-upMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-Sareng-Konfigurasi-gbr 1

MSS Pra-boot

Saatos parantosan suksés Desain Initialization, MSS Pra-boot dimimitian palaksanaan na. MSS dileupaskeun tina reset sanggeus parantosan sadaya prosedur ngamimitian normal. Controller sistem ngatur program, inisialisasi, sareng konfigurasi alat. MSS Pra-boot teu lumangsung lamun alat nu diprogram geus ngonpigurasi pikeun modeu ditunda controller sistem.
Fase pra-boot MSS tina inisialisasi dikoordinir ku firmware controller sistem, sanaos tiasa nganggo E51 dina MSS Core Complex pikeun ngalakukeun sababaraha bagian tina sekuen pre-boot.
Kajadian di handap ieu lumangsung salila MSS pre-boot stage:

  • Power-up tina MSS embedded Non-Volatile Memory (eNVM)
  • Initialization tina perbaikan redundancy pakait sareng MSS Core Complex L2 cache
  • Auténtikasi kodeu boot pamaké (upami pilihan boot User Secure diaktipkeun)
  • Handover MSS operasional ka kodeu boot pamaké

The MSS Core Complex tiasa boot dina salah sahiji tina opat modeu. Tabel di handap ieu daptar pilihan pre-boot MSS, anu tiasa dikonpigurasikeun sareng diprogram kana sNVM. Modeu boot diartikeun ku parameter pamaké U_MSS_BOOTMODE [1:0]. Data konfigurasi boot tambahan nyaéta mode-gumantung jeung diartikeun ku parameter pamaké U_MSS_BOOTCFG (tingali Table 3, kaca 4 jeung Table 5, kaca 6).

Tabél 1 • MSS Core Complex Boot Modes

U_MSS_BOOTMODE[1:0] Modus Katerangan
0 boot dianggurkeun MSS Core Complex sapatu tina boot ROM lamun MSS teu ngonpigurasi
1 Boot teu aman MSS Core Complex boot langsung tina alamat anu ditetepkeun ku U_MSS_BOOTADDR
2 Pamaké boot aman MSS Core Complex sapatu tina sNVM
3 Boot aman pabrik Sapatu MSS Core Complex nganggo protokol boot aman pabrik

Pilihan boot dipilih salaku bagian tina aliran desain Libero. Ngarobah modeu ngan bisa dihontal ngaliwatan generasi hiji programming FPGA anyar file.

Gambar 2 • Aliran MSS Pra-boot Microchip-UG0881-PolarFire-SoC-FPGA-Booting-Sareng-Konfigurasi-gbr 2

Boot dianggurkeun

Upami MSS henteu dikonpigurasi (pikeun example, alat kosong), teras MSS Core Complex ngaéksekusi program boot ROM anu nahan sadaya prosesor dina loop anu henteu terbatas dugi ka debugger nyambung ka udagan. Registers vektor boot ngajaga nilaina dugi ka alat direset atanapi konfigurasi mode boot anyar diprogram. Pikeun alat ngonpigurasi, mode ieu bisa dilaksanakeun ngagunakeun
U_MSS_BOOTMODE=0 pilihan boot dina configurator Libero.

Catetan: Dina modeu ieu, U_MSS_BOOTCFG henteu dianggo.

Gambar di handap ieu nunjukkeun aliran boot Idle.
Gambar 3 • Aliran Boot dianggurkeunMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-Sareng-Konfigurasi-gbr 3

Boot teu aman

Dina modeu ieu, MSS Core Complex ngajalankeun tina alamat eNVM anu ditangtukeun tanpa auténtikasi. Eta nyadiakeun pilihan boot panggancangna, tapi euweuh auténtikasi gambar kode. Alamatna tiasa ditetepkeun ku netepkeun U_MSS_BOOTADDR dina Libero Configurator. Mode ieu ogé bisa dipaké pikeun boot ti sagala sumberdaya memori FPGA Fabric ngaliwatan FIC. Modeu ieu dilaksanakeun nganggo
U_MSS_BOOTMODE=1 pilihan boot.
MSS Core Complex dileupaskeun tina reset kalawan vektor boot ditetepkeun ku U_MSS_BOOTCFG (sakumaha didaptarkeun dina tabel di handap).

Tabél 2 • U_MSS_BOOTCFG Pamakéan dina Modeu Boot Non-Aman 1

Offset (bait)  

Ukuran (bait)

 

Ngaran

 

Katerangan

0 4 BOOTVEC0 Vektor boot pikeun E51
4 4 BOOTVEC1 Boot vektor pikeun U540
8 4 BOOTVEC2 Boot vektor pikeun U541
16 4 BOOTVEC3 Boot vektor pikeun U542
20 4 BOOTVEC4 Boot vektor pikeun U543

Gambar di handap ieu nembongkeun aliran boot Non-aman.
Gambar 4 • Aliran Boot anu teu amanMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-Sareng-Konfigurasi-gbr 4

Boot Aman Pamaké
Modeu ieu ngamungkinkeun pamaké pikeun nerapkeun boot aman custom sorangan jeung kode boot aman pamaké disimpen dina sNVM. sNVM mangrupakeun 56 KB memori non-volatile nu bisa ditangtayungan ku diwangun-di Fungsi Fisik Unclonable (PUF). Metoda boot ieu dianggap aman sabab kaca sNVM ditandaan salaku ROM anu immutable. Dina kakuatan up, controller sistem nyalin kodeu boot aman pamaké ti sNVM ka Data Tightly Integrated Memory (DTIM) tina inti E51 Monitor. E51 mimiti ngajalankeun kode boot aman pamaké.
Upami ukuran kode boot aman pangguna langkung ageung tibatan ukuran DTIM maka pangguna kedah ngabagi kodeu boot janten dua detik.tages. sNVM bisa ngandung s salajengnatage tina urutan boot pamaké, nu bisa ngalakukeun auténtikasi tina boot s salajengnatage ngagunakeun auténtikasi pamaké / algoritma dekripsi.
Upami halaman anu dioténtikasi atanapi énkripsi dianggo teras konci USK anu sami (nyaéta,
U_MSS_BOOT_SNVM_USK) kedah dianggo pikeun sadaya halaman anu dioténtikasi/énkripsi.
Lamun auténtikasi gagal, MSS Core Complex bisa ditempatkeun di reset jeung BOOT_FAIL tamper bandéra bisa diangkat. Modeu ieu dilaksanakeun nganggo pilihan boot U_MSS_BOOTMODE=2.

Tabél 3 •  Pamakéan U_MSS_BOOTCFG dina Boot Aman Pamaké

Offset (bait) Ukuran (bait) Ngaran Katerangan
0 1 U_MSS_BOOT_SNVM_PAGE Mimitian halaman dina SNVM
1 3 DIPILIH Pikeun alignment
4 12 U_MSS_BOOT_SNVM_USK Pikeun kaca dioténtikasi / énkripsi

Gambar di handap ieu nunjukkeun aliran boot aman pangguna.
Gambar 5 • Aliran Boot Aman PamakéMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-Sareng-Konfigurasi-gbr 5

Boot Aman Pabrik
Dina modeu ieu, controller Sistim maca sertipikat Gambar Boot Aman (SBIC) ti eNVM sarta validates SBIC. Nalika validasi suksés, System Controller nyalin kodeu boot aman pabrik tina daérah mémori pribadi anu aman sareng ngamuat kana DTIM inti E51 Monitor. Boot aman standar ngalakukeun cek tanda tangan dina gambar eNVM nganggo SBIC anu disimpen dina eNVM. Upami teu aya kasalahan anu dilaporkeun, reset dileupaskeun ka MSS Core Complex. Lamun kasalahan dilaporkeun, MSS Core Complex disimpen dina reset jeung BOOT_FAIL tamper bendera diangkat. Lajeng, controller Sistim ngaktifkeun diampbendera er nu negeskeun sinyal ka lawon FPGA pikeun aksi pamaké. Modeu ieu dilaksanakeun nganggo pilihan boot U_MSS_BOOTMODE=3.

SBIC ngandung alamat, ukuran, hash, sareng Elliptic Curve Digital Signature Algorithm (ECDSA) tanda tangan tina gumpalan binér anu ditangtayungan. ECDSA nawiskeun varian Algoritma Tanda Tangan Digital anu ngagunakeun kriptografi kurva elliptic. Ogé ngandung véktor reset pikeun tiap Hardware
thread / inti / processor core (Hart) dina sistem.

Tabél 4 •  Sertipikat Gambar Boot Aman (SBIC)

Ngimbangan Ukuran (bait) Nilai Katerangan
0 4 IMAGEADDR Alamat UBL dina peta mémori MSS
4 4 IMAGELEN Ukuran UBL dina bait
8 4 BOOTVEC0 Vektor boot di UBL pikeun E51
12 4 BOOTVEC1 Vektor boot di UBL pikeun U540
16 4 BOOTVEC2 Vektor boot di UBL pikeun U541
20 4 BOOTVEC3 Vektor boot di UBL pikeun U542
24 4 BOOTVEC4 Vektor boot di UBL pikeun U543
28 1 PILIHAN[7:0] Pilihan SBIC
28 3 DIPILIH  
32 8 VERSI SBIC / Vérsi gambar
40 16 DSN Pilihan DSN mengikat
56 48 H UBL gambar SHA-384 hash
104 104 KODESIG Tanda tangan ECDSA anu disandikeun DER
Total 208 Bait  

DSN
Upami widang DSN henteu nol, éta dibandingkeun sareng nomer séri alatna sorangan. Lamun ngabandingkeun gagal, mangka boot_fail tamper bendera disetel jeung auténtikasi ieu aborted.

VERSI
Upami panyabutan SBIC diaktipkeun ku U_MSS_REVOCATION_ENABLE, SBIC ditolak kecuali nilai VERSION langkung ageung atanapi sami sareng ambang panyabutan.

SBIC PILIHAN REVOCATION
Upami panyabutan SBIC diaktipkeun ku U_MSS_REVOCATION_ENABLE sareng OPTIONS [0] mangrupikeun '1', sadaya vérsi SBIC kirang ti VERSION bakal dicabut nalika auténtikasi lengkep SBIC. Ambang panyabutan tetep dina nilai anyar nepi ka naek deui ku SBIC hareup kalawan OPTIONS [0] = '1' sarta widang VERSION luhur. Ambang panyabutan bisa ngan bisa incremented ngagunakeun mékanisme ieu sarta ngan bisa ngareset ku bit-stream.
Nalika ambang panyabutan diénggalan sacara dinamis, ambangna disimpen nganggo skéma panyimpen kaleuleuwihan anu dianggo pikeun kodeu aksés sapertos gagalna kakuatan nalika boot alat henteu nyababkeun boot alat salajengna gagal. Lamun apdet ambang panyabutan gagal, éta dijamin yén nilai bangbarung boh nilai anyar atawa saméméhna.

Tabél 5 • U_MSS_BOOTCFG Dianggo dina Factory Boot Loader Mode

Offset (bait)  

Ukuran (bait)

 

Ngaran

 

Katerangan

0 4 U_MSS_SBIC_ADDR Alamat SBIC dina spasi alamat MSS
4 4 U_MSS_REVOCATION_ENABLE Aktipkeun panyabutan SBIC lamun non-enol

Gambar di handap ieu nunjukkeun aliran boot aman pabrik.
Gambar 6 • Aliran Boot Aman PabrikMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-Sareng-Konfigurasi-gbr 6 Microchip-UG0881-PolarFire-SoC-FPGA-Booting-Sareng-Konfigurasi-gbr 7

Boot Pamaké MSS 

boot pamaké MSS lumangsung nalika kadali dibikeun ti System Controller ka MSS Core Complex. Saatos pra-boot MSS suksés, controller sistem ngaleupaskeun reset ka MSS Core Complex. MSS tiasa booted ku salah sahiji cara ieu:

  • Aplikasi Metal bulistir
  • Aplikasi Linux
  • AMP Aplikasi

Aplikasi Metal bulistir

Aplikasi logam bulistir pikeun PolarFire SoC tiasa dikembangkeun nganggo alat SoftConsole. Alat ieu nyayogikeun kaluaran files dina bentuk .hex nu bisa dipaké dina aliran Libero kaasup kana bitstream programming file. Alat anu sami tiasa dianggo pikeun nga-debug aplikasi Bare Metal nganggo JTAG
panganteur.
Gambar di handap ieu nunjukkeun aplikasi SoftConsole Bare Metal anu ngagaduhan lima harts (Cores) kalebet inti E51 Monitor.

Gambar 7 • Proyék SoftConsole Microchip-UG0881-PolarFire-SoC-FPGA-Booting-Sareng-Konfigurasi-gbr 8

Aplikasi Linux

Bagian ieu ngajelaskeun runtuyan boot pikeun Linux Ubuntu ngajalankeun on sakabéh cores U54.
A prosés boot has diwangun ku tilu stagés Anu mimiti stage boot loader (FSBL) dieksekusi tina on-chip Boot flash (eNVM). FSBL ngamuat s kaduatage boot loader (SSBL) ti alat boot ka RAM éksternal atanapi Cache. Alat boot tiasa eNVM atanapi mikrokontroler mémori anu dipasang (eMMC) atanapi SPI Flash éksternal. SSBL ngamuat sistem operasi Linux tina alat boot ka RAM éksternal. Dina s katilutage, Linux Ubuntu dieksekusi tina RAM éksternal.

Gambar di handap ieu nunjukkeun aliran Proses Boot Linux.
Gambar 8 • Aliran Prosés Boot Linux BiasaMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-Sareng-Konfigurasi-gbr 9

Rincian ngeunaan FSBL, tangkal alat, Linux, sareng ngawangun YOCTO, kumaha ngawangun sareng ngonpigurasikeun Linux bakal disayogikeun dina sékrési dokumen ieu.

AMP Aplikasi
Katerangan lengkep ngeunaan Libero MSS Configurator sareng cara nga-debug aplikasi multi-processor nganggo SoftConsole bakal disayogikeun dina sékrési dokumen ieu.

Sumber Béda tina Booting
Pikeun diropéa dina versi kahareup tina dokumén ieu.

Konfigurasi boot
Pikeun diropéa dina versi kahareup tina dokumén ieu.

Akronim

Akronim di handap ieu dianggo dina dokumén ieu.

Tabél 1 •  Daptar Akronim

Akronim Dilegaan

  • AMP Asymmetric Multi-processing
  • DTIM Data Tightly Integrated Memory (disebut oge SRAM)
  • ECDSA Algoritma tanda tangan digital kurva elliptic
  • eNVM embedded Mémori Non-Volatile
  • FSBL Mimiti Stage Boot Loader
  • Hart Hardware thread / inti / inti prosésor
  • MSS Subsistem mikroprosesor
  • POR Daya dina Reset
  • PUF Fungsi Fisik Unclonable
  • Rom Mémori ukur dibaca
  • Statistik Swédia System Controller Sasak
  • sNVM Aman Non-volatile Mémori

Riwayat révisi

Sajarah révisi ngajelaskeun parobahan anu dilaksanakeun dina dokumén. Parobahan didaptarkeun ku révisi, dimimitian ku publikasi ayeuna.

Révisi 2.0
Di handap ieu kasimpulan parobahan anu dilakukeun dina révisi ieu.

  • Inpormasi ngeunaan Factory Secure Boot parantos diropéa.
  • Émbaran ngeunaan bulistir Metal Aplikasi diropéa.

Révisi 1.0
Publikasi munggaran tina dokumén ieu.

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
Surélék: sales.support@microsemi.com
www.microsemi.com

©2020 Microsemi, cabangna milik pinuh ku Microchip Technology Inc. Sadaya hak ditangtayungan. Microsemi jeung logo Microsemi mangrupakeun mérek dagang kadaptar ti Microsemi Corporation. Sadaya merek dagang sareng merek jasa sanés mangrupikeun hak milik nu gaduhna.

Dokumén / Sumberdaya

Microchip UG0881 PolarFire SoC FPGA Booting Jeung Konfigurasi [pdf] Pituduh pamaké
UG0881 PolarFire SoC FPGA Booting Jeung Konfigurasi, UG0881, PolarFire SoC FPGA Booting Jeung Konfigurasi, Booting Jeung Konfigurasi

Rujukan

Ninggalkeun komentar

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