Microsemi-LGOO

Microchip UG0881 PolarFire SoC FPGA Booting Ug Configuration

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

Garantiya

Ang Microsemi walay garantiya, representasyon, o garantiya bahin sa impormasyon nga anaa dinhi o ang kaangayan sa mga produkto ug serbisyo niini alang sa bisan unsang partikular nga katuyoan, ni ang Microsemi miangkon sa bisan unsang tulubagon bisan unsa nga motungha gikan sa aplikasyon o paggamit sa bisan unsang produkto o sirkito. Ang mga produkto nga gibaligya sa ilawom niini ug bisan unsang ubang mga produkto nga gibaligya sa Microsemi gipailalom sa limitado nga pagsulay ug dili kinahanglan gamiton kauban ang mga kagamitan o aplikasyon nga kritikal sa misyon. Ang bisan unsang mga detalye sa pasundayag gituohan nga kasaligan apan wala mapamatud-an, ug ang Buyer kinahanglan nga magpahigayon ug mokompleto sa tanan nga pasundayag ug uban pang pagsulay sa mga produkto, nga nag-inusara ug kauban, o na-install sa, bisan unsang katapusan nga mga produkto. Ang pumapalit dili magsalig sa bisan unsang datos ug mga detalye sa pasundayag o mga parameter nga gihatag sa Microsemi. Responsibilidad sa Mamalit nga independente nga mahibal-an ang pagkaangay sa bisan unsang mga produkto ug sulayan ug pamatud-an ang parehas. Ang impormasyon nga gihatag sa Microsemi ubos niini gihatag "as is, where is" ug uban sa tanan nga mga sayup, ug ang tibuok nga risgo nga nalangkit sa maong impormasyon hingpit nga anaa sa Buyer. Ang Microsemi wala maghatag, sa dayag o dili klaro, sa bisan unsang partido sa bisan unsang mga katungod sa patente, lisensya, o bisan unsang uban nga mga katungod sa IP, bisan bahin sa ingon nga kasayuran mismo o bisan unsang gihulagway sa ingon nga kasayuran. Ang kasayuran nga gihatag sa kini nga dokumento gipanag-iya sa Microsemi, ug ang Microsemi adunay katungod sa paghimo sa bisan unsang mga pagbag-o sa kasayuran niini nga dokumento o sa bisan unsang mga produkto ug serbisyo sa bisan unsang oras nga wala’y pahibalo.

Mahitungod sa Microsemi

Ang Microsemi, usa ka bug-os nga gipanag-iya nga subsidiary sa Microchip Technology Inc. (Nasdaq: MCHP), nagtanyag usa ka komprehensibo nga portfolio sa semiconductor ug mga solusyon sa sistema alang sa aerospace ug depensa, komunikasyon, sentro sa datos ug mga merkado sa industriya. Ang mga produkto naglakip sa high-performance ug radiation-hardened analog mixed-signal integrated circuits, FPGAs, SoCs ug ASICs; mga produkto sa pagdumala sa kuryente; timing ug synchronization nga mga himan ug tukma nga mga solusyon sa oras, nga nagtakda sa sumbanan sa kalibutan alang sa panahon; mga himan sa pagproseso sa tingog; Mga solusyon sa RF; discrete nga mga sangkap; mga solusyon sa pagtipig ug komunikasyon sa negosyo, mga teknolohiya sa seguridad ug scalable nga anti-tampmga produkto; Mga solusyon sa Ethernet; Power-over-Ethernet ICs ug midspans; ingon man usab sa kostumbre nga mga kapabilidad ug serbisyo sa disenyo. Pagkat-on og dugang sa www.microsemi.com.

Pag-boot ug Pag-configure

Ang PolarFire SoC FPGAs naggamit ug advanced power-up circuitry aron masiguro ang kasaligan nga power on sa power-up ug reset. Sa power-up ug reset, ang PolarFire SoC FPGA boot-up sequence mosunod sa Power-on reset (POR), Device boot, Design initialization, Microcontroller Subsystem (MSS) pre-boot, ug MSS user boot. Kini nga dokumento naghulagway sa MSS pre-boot ug MSS User Boot. Para sa impormasyon bahin sa POR, Device Boot ug Design initialization, tan-awa ang UG0890: PolarFire SoC FPGA Power-Up and Resets User Guide.
Para sa dugang nga impormasyon bahin sa MSS features, tan-awa ang UG0880: PolarFire SoC MSS User Guide.

Pagkasunod-sunod sa Boot-up
Ang boot-up sequence magsugod kung ang PolarFire SoC FPGA gipaandar o gi-reset. Kini matapos kung ang processor andam na sa pagpatuman sa usa ka programa sa aplikasyon. Kini nga pagkasunod-sunod sa pag-boot nagdagan sa daghang mga stages sa wala pa kini magsugod sa pagpatuman sa mga programa.
Usa ka hugpong sa mga operasyon ang gihimo atol sa proseso sa Boot-up nga naglakip sa power-on reset sa hardware, peripheral initialization, memory initialization, ug loading sa user-defined application gikan sa non-volatile memory ngadto sa volatile memory para sa pagpatuman.

Ang mosunod nga numero nagpakita sa lain-laing mga hugna sa han-ay sa Boot-up.

Hulagway 1  Pagkasunod-sunod sa Boot-upMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 1

MSS Pre-Boot

Sa malampuson nga pagkompleto sa Design Initialization, ang MSS Pre-boot nagsugod sa pagpatuman niini. Ang MSS gipagawas gikan sa pag-reset pagkahuman sa tanan nga normal nga mga pamaagi sa pagsugod. Ang system controller nagdumala sa programming, initialization, ug configuration sa mga device. Ang MSS Pre-boot dili mahitabo kung ang giprograma nga device gi-configure alang sa system controller suspend mode.
Ang MSS pre-boot phase sa initialization gi-coordinate sa system controller firmware, bisan tuod kini mahimong gamiton ang E51 sa MSS Core Complex aron mahimo ang pipila ka bahin sa pre-boot sequence.
Ang mosunod nga mga panghitabo mahitabo sa panahon sa MSS pre-boot stage:

  • Power-up sa MSS nga naka-embed nga Non-Volatile Memory (eNVM)
  • Ang pagsugod sa pag-ayo sa redundancy nga may kalabutan sa MSS Core Complex L2 cache
  • Authentication sa User boot code (kon User Secure boot option gi-enable)
  • Pagtugyan sa operational MSS ngadto sa User Boot code

Ang MSS Core Complex mahimong ma-boot sa usa sa upat ka mga mode. Ang mosunod nga talaan naglista sa MSS pre-boot nga mga opsyon, nga mahimong ma-configure ug maprograma ngadto sa sNVM. Ang boot mode gihubit sa user parameter U_MSS_BOOTMODE[1:0]. Ang dugang nga data sa configuration sa boot kay depende sa mode ug gihubit sa user parameter U_MSS_BOOTCFG (tan-awa ang Table 3, page 4 ug Table 5, page 6).

Talaan 1 • MSS Core Complex Boot Modes

U_MSS_BOOTMODE[1:0] Mode Deskripsyon
0 Idle nga boot Ang MSS Core Complex nag-boot gikan sa boot ROM kung ang MSS wala ma-configure
1 Dili luwas nga boot Ang MSS Core Complex nag-boot direkta gikan sa adres nga gihubit sa U_MSS_BOOTADDR
2 Ang luwas nga boot sa user Ang MSS Core Complex nga botas gikan sa sNVM
3 Segurado nga boot sa pabrika Ang MSS Core Complex nga botas gamit ang factory secure boot protocol

Ang kapilian sa boot gipili isip bahin sa dagan sa disenyo sa Libero. Ang pagbag-o sa mode makab-ot lamang pinaagi sa henerasyon sa usa ka bag-ong programa sa FPGA file.

Figure 2 • MSS Pre-boot Flow Microchip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 2

Idle Boot

Kung ang MSS wala ma-configure (alang sa example, blangko nga device), unya ang MSS Core Complex nagpatuman sa usa ka boot ROM nga programa nga nagkupot sa tanan nga mga processor sa usa ka walay kinutuban nga loop hangtud nga ang usa ka debugger nagkonektar sa target. Ang mga rehistro sa boot vector nagmintinar sa ilang bili hangtud nga ang device ma-reset o ang usa ka bag-ong boot mode configuration maprograma. Alang sa gi-configure nga mga aparato, kini nga mode mahimong ipatuman gamit ang
U_MSS_BOOTMODE=0 boot nga opsyon sa Libero configurator.

Mubo nga sulat: Niini nga mode, wala gigamit ang U_MSS_BOOTCFG.

Ang mosunod nga numero nagpakita sa Idle boot flow.
Hulagway 3 • Idle Boot FlowMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 3

Dili luwas nga Boot

Sa kini nga mode, ang MSS Core Complex nagpatuman gikan sa usa ka piho nga adres sa eNVM nga wala’y panghimatuud. Naghatag kini sa labing paspas nga kapilian sa boot, apan wala’y panghimatuud sa imahe sa code. Ang adres mahimong matino pinaagi sa pagbutang sa U_MSS_BOOTADDR sa Libero Configurator. Kini nga mode mahimo usab nga gamiton sa pag-boot gikan sa bisan unsang FPGA Fabric memory resource pinaagi sa FIC. Kini nga mode gipatuman gamit ang
U_MSS_BOOTMODE=1 nga kapilian sa boot.
Ang MSS Core Complex gipagawas gikan sa pag-reset nga adunay mga vector sa boot nga gihubit sa U_MSS_BOOTCFG (ingon nga gilista sa mosunod nga lamesa).

Talaan 2 • U_MSS_BOOTCFG Paggamit sa Non-Secure Boot Mode 1

Offset (bytes)  

Kadako (bytes)

 

Ngalan

 

Deskripsyon

0 4 BOOTVEC0 Boot vector para sa E51
4 4 BOOTVEC1 Boot vector para sa U540
8 4 BOOTVEC2 Boot vector para sa U541
16 4 BOOTVEC3 Boot vector para sa U542
20 4 BOOTVEC4 Boot vector para sa U543

Ang mosunod nga numero nagpakita sa Non-secure boot flow.
Hulagway 4 • Dili luwas nga Boot FlowMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 4

User Secure Boot
Kini nga mode nagtugot sa user sa pagpatuman sa ilang kaugalingong custom secure boot ug ang user secure boot code gibutang sa sNVM. Ang sNVM kay 56 KB nga non-volatile memory nga mahimong maprotektahan sa built-in nga Physically Unclonable Function (PUF). Kini nga pamaagi sa pag-boot giisip nga luwas tungod kay ang mga panid sa sNVM nga gimarkahan ingon ROM dili mausab. Sa power up, gikopya sa system controller ang user secure boot code gikan sa sNVM ngadto sa Data Tightly Integrated Memory (DTIM) sa E51 Monitor core. Ang E51 nagsugod sa pagpatuman sa user secure boot code.
Kung ang gidak-on sa user secure boot code labaw pa sa gidak-on sa DTIM nan ang user kinahanglan nga magbahin sa boot code ngadto sa duha ka stages. Ang sNVM mahimong adunay mga sunod nga stage sa user boot sequence, nga mahimong mopahigayon sa authentication sa sunod nga boot stage gamit ang user authentication/decryption algorithm.
Kung ang gipamatud-an o gi-encrypt nga mga panid gigamit dayon ang parehas nga USK nga yawe (nga mao,
U_MSS_BOOT_SNVM_USK) kinahanglan gamiton para sa tanang authenticated/encrypted nga mga panid.
Kung mapakyas ang pag-authenticate, ang MSS Core Complex mahimong ibutang sa pag-reset ug ang BOOT_FAIL tampang bandera mahimong ipataas. Kini nga paagi gipatuman gamit ang U_MSS_BOOTMODE=2 boot nga kapilian.

Talaan 3 •  U_MSS_BOOTCFG Paggamit sa User Secure Boot

Offset (bytes) Kadako (bytes) Ngalan Deskripsyon
0 1 U_MSS_BOOT_SNVM_PAGE Pagsugod nga panid sa SNVM
1 3 GIRESERBA Alang sa paglinya
4 12 U_MSS_BOOT_SNVM_USK Para sa authenticated/encrypted nga mga panid

Ang mosunod nga numero nagpakita sa user secure boot flow.
Hulagway 5 • Luwas sa Gumagamit nga Boot FlowMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 5

Boot nga Luwas sa Pabrika
Niini nga mode, gibasa sa system controller ang Secure Boot Image Certificate (SBIC) gikan sa eNVM ug gi-validate ang SBIC. Sa malampuson nga pag-validate, gikopya sa System Controller ang factory secure boot code gikan sa pribado, luwas nga memory area niini ug i-load kini sa DTIM sa E51 Monitor core. Ang default secure boot naghimo ug signature check sa eNVM image gamit ang SBIC nga gitipigan sa eNVM. Kung walay mga sayup nga gitaho, ang pag-reset ipagawas sa MSS Core Complex. Kung adunay mga sayup nga gitaho, ang MSS Core Complex gibutang sa pag-reset ug ang BOOT_FAIL tampgipataas ang bandera. Unya, ang system controller nag-aktibo saamper flag nga nagpahayag ug signal sa FPGA fabric para sa aksyon sa user. Kini nga mode gipatuman gamit ang U_MSS_BOOTMODE=3 boot nga opsyon.

Ang SBIC naglangkob sa adres, gidak-on, hash, ug Elliptic Curve Digital Signature Algorithm (ECDSA) nga pirma sa giprotektahan nga binary blob. Nagtanyag ang ECDSA og variant sa Digital Signature Algorithm nga naggamit og elliptic curve cryptography. Naglangkob usab kini sa reset vector alang sa matag Hardware
thread/core/processor core (Hart) sa sistema.

Talaan 4 •  Secure Boot Image Certificate (SBIC)

Offset Kadako (bytes) Bili Deskripsyon
0 4 IMAGEADDR Address sa UBL sa MSS memory map
4 4 IMAGELEN Gidak-on sa UBL sa bytes
8 4 BOOTVEC0 Boot vector sa UBL para sa E51
12 4 BOOTVEC1 Boot vector sa UBL para sa U540
16 4 BOOTVEC2 Boot vector sa UBL para sa U541
20 4 BOOTVEC3 Boot vector sa UBL para sa U542
24 4 BOOTVEC4 Boot vector sa UBL para sa U543
28 1 OPSYON[7:0] Mga kapilian sa SBIC
28 3 GIRESERBA  
32 8 BERSIYON SBIC/Imahe nga bersyon
40 16 DSN Opsyonal nga pagbugkos sa DSN
56 48 H UBL nga hulagway SHA-384 hash
104 104 CODESIG DER-encoded ECDSA nga pirma
Total 208 Bytes  

DSN
Kung dili zero ang field sa DSN, itandi kini sa kaugalingong serial number sa device. Kung ang pagtandi mapakyas, nan ang boot_fail tamper flag gitakda ug ang authentication gi-abort.

BERSIYON
Kung ang pagbawi sa SBIC gipagana sa U_MSS_REVOCATION_ENABLE, ang SBIC isalikway gawas kung ang kantidad sa VERSION mas dako o katumbas sa sukaranan sa pagbawi.

SBIC REVOCATION OPTION
Kung ang pagbakwi sa SBIC gipagana sa U_MSS_REVOCATION_ENABLE ug ang OPTIONS[0] kay '1', ang tanang bersyon sa SBIC nga ubos sa VERSION mabakwi sa hingpit nga pag-authenticate sa SBIC. Ang pagbakwi threshold nagpabilin sa bag-o nga bili hangtud nga kini modugang pag-usab sa umaabot nga SBIC nga adunay OPTIONS[0] = '1' ug mas taas nga VERSION field. Ang revocation threshold mahimo lamang nga madugangan gamit kini nga mekanismo ug mahimo lamang i-reset pinaagi sa usa ka bit-stream.
Sa diha nga ang revocation threshold gi-update sa dinamikong paagi, ang threshold gitipigan gamit ang sobra nga storage scheme nga gigamit alang sa mga passcode sa ingon nga ang power failure atol sa device boot dili hinungdan sa sunod nga device boot nga mapakyas. Kung mapakyas ang pag-update sa threshold sa pagbawi, gigarantiyahan nga ang kantidad sa threshold mao ang bag-ong kantidad o ang nauna.

Talaan 5 • U_MSS_BOOTCFG Paggamit sa Factory Boot Loader Mode

Offset (bytes)  

Kadako (bytes)

 

Ngalan

 

Deskripsyon

0 4 U_MSS_SBIC_ADDR Address sa SBIC sa MSS address space
4 4 U_MSS_REVOCATION_ENABLE I-enable ang SBIC revocation kung dili zero

Ang mosunod nga numero nagpakita sa factory secure boot flow.
Hulagway 6 • Pag-agos sa Boot nga Luwas sa PabrikaMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 6 Microchip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 7

MSS User Boot 

Ang MSS user boot mahitabo kung ang kontrol gihatag gikan sa System Controller ngadto sa MSS Core Complex. Sa malampuson nga MSS pre-boot, ang system controller nagpagawas sa pag-reset sa MSS Core Complex. Ang MSS mahimong ma-boot sa usa sa mosunod nga mga paagi:

  • Aplikasyon nga Bare Metal
  • Aplikasyon sa Linux
  • AMP Aplikasyon

Aplikasyon nga Bare Metal

Ang hubo nga metal nga mga aplikasyon alang sa PolarFire SoC mahimong maugmad gamit ang SoftConsole tool. Kini nga himan naghatag sa output files sa porma sa .hex nga magamit sa dagan sa Libero aron maapil sa bitstream sa programming file. Ang parehas nga himan mahimong magamit sa pag-debug sa mga aplikasyon sa Bare Metal gamit ang JTAG
interface.
Ang mosunod nga numero nagpakita sa SoftConsole Bare Metal nga aplikasyon nga adunay lima ka harts (Cores) lakip ang E51 Monitor core.

Hulagway 7 • Proyekto sa SoftConsole Microchip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 8

Aplikasyon sa Linux

Kini nga seksyon naghulagway sa boot sequence alang sa Linux nga nagdagan sa tanang U54 cores.
Ang kasagaran nga proseso sa boot naglangkob sa tulo ka stages. Ang unang stage boot loader (FSBL) mapatuman gikan sa on-chip Boot flash (eNVM). Ang FSBL nagkarga sa ikaduhang stage boot loader (SSBL) gikan sa boot device ngadto sa external RAM o Cache. Ang boot device mahimong eNVM o embedded memory microcontroller (eMMC) o external SPI Flash. Ang SSBL nagkarga sa Linux operating system gikan sa boot device ngadto sa external RAM. Sa ikatulo nga stage, ang Linux gipatuman gikan sa eksternal nga RAM.

Ang mosunod nga numero nagpakita sa dagan sa Linux Boot Process.
Hulagway 8 • Kinaandan nga Daloy sa Proseso sa Boot sa LinuxMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 9

Ang mga detalye sa FSBL, Device tree, Linux, ug YOCTO build, unsaon paghimo ug pag-configure sa Linux ihatag sa umaabot nga pagpagawas niini nga dokumento.

AMP Aplikasyon
Ang detalyado nga paghulagway sa Libero MSS Configurator ug kung giunsa ang pag-debug sa mga aplikasyon sa multi-processor gamit ang SoftConsole igahatag sa umaabot nga pagpagawas niini nga dokumento.

Nagkalainlain nga mga Tinubdan sa Booting
Aron ma-update sa umaabot nga mga bersyon niini nga dokumento.

Pag-configure sa Boot
Aron ma-update sa umaabot nga mga bersyon niini nga dokumento.

Mga acronym

Ang mosunod nga mga acronym gigamit niini nga dokumento.

Talaan 1 •  Listahan sa mga Acronym

Acronym Gipalapad

  • AMP Asymmetric Multi-pagproseso
  • DTIM Data Tightly Integrated Memory (gitawag usab nga SRAM)
  • ECDSA Elliptic Curve Digital Signature Algorithm
  • eNVM gilakip nga Non-Volatile Memory
  • FSBL Unang Stagug Boot Loader
  • Hart Hardware thread/core/processor core
  • MSS Microprocessor Subsystem
  • POR Gahum sa Reset
  • PUF Pisikal nga Dili Ma-clone nga Function
  • ROM Read-only Memory
  • Ang SCB Sistema sa Controller Bridge
  • sNVM Secure Non-volatile Memory

Kasaysayan sa Pagbag-o

Ang kasaysayan sa rebisyon naghulagway sa mga kausaban nga gipatuman sa dokumento. Ang mga pagbag-o gilista pinaagi sa rebisyon, sugod sa kasamtangan nga publikasyon.

Rebisyon 2.0
Ang mosunod mao ang summary sa mga kausaban nga gihimo niini nga rebisyon.

  • Ang kasayuran bahin sa Factory Secure Boot gi-update.
  • Ang kasayuran bahin sa Bare Metal Application gi-update.

Rebisyon 1.0
Ang unang publikasyon niini nga dokumento.

Microsemi Headquarters
Usa ka Enterprise, Aliso Viejo,
CA 92656 USA
Sulod sa USA: +1 800-713-4113
Sa gawas sa USA: +1 949-380-6100
Pagbaligya: +1 949-380-6136
Fax: +1 949-215-4996
Email: sales.support@microsemi.com
www.microsemi.com

©2020 Microsemi, usa ka bug-os nga gipanag-iya nga subsidiary sa Microchip Technology Inc. Tanang katungod gigahin. Ang Microsemi ug ang Microsemi logo kay mga rehistradong marka sa pamatigayon sa Microsemi Corporation. Ang tanan nga ubang mga marka sa pamatigayon ug mga marka sa serbisyo mao ang kabtangan sa ilang tagsa-tagsa nga mga tag-iya.

Mga Dokumento / Mga Kapanguhaan

Microchip UG0881 PolarFire SoC FPGA Booting Ug Configuration [pdf] Giya sa Gumagamit
UG0881 PolarFire SoC FPGA Booting And Configuration, UG0881, PolarFire SoC FPGA Booting And Configuration, Booting And Configuration

Mga pakisayran

Pagbilin ug komento

Ang imong email address dili mamantala. Ang gikinahanglan nga mga natad gimarkahan *