Microsemi-LGOO

Microxip UG0881 PolarFire SoC FPGA Arrencada i configuració

Microxip-UG0881-PolarFire-SoC-FPGA-Producte-d-arrencada-i-configuració

Garantia

Microsemi no fa cap garantia, representació o garantia sobre la informació continguda aquí o la idoneïtat dels seus productes i serveis per a cap propòsit particular, ni tampoc assumeix cap responsabilitat derivada de l'aplicació o l'ús de cap producte o circuit. Els productes que es venen a continuació i qualsevol altre producte venut per Microsemi han estat subjectes a proves limitades i no s'han d'utilitzar juntament amb equips o aplicacions crítiques. Es creu que qualsevol especificació de rendiment és fiable, però no es verifica, i el comprador ha de dur a terme i completar totes les proves de rendiment i altres dels productes, sols i juntament amb, o instal·lats en, qualsevol producte final. El comprador no es basarà en les dades i les especificacions de rendiment o els paràmetres proporcionats per Microsemi. És responsabilitat del comprador determinar de manera independent la idoneïtat de qualsevol producte i provar-lo i verificar-lo. La informació proporcionada per Microsemi a continuació es proporciona "tal com és, on és" i amb tots els errors, i tot el risc associat a aquesta informació és totalment del comprador. Microsemi no atorga, de manera explícita o implícita, a cap part cap dret de patent, llicència o qualsevol altre dret de propietat intel·lectual, ja sigui pel que fa a aquesta informació en si o a qualsevol cosa descrita per aquesta informació. La informació proporcionada en aquest document és propietat de Microsemi, i Microsemi es reserva el dret de fer qualsevol canvi a la informació d'aquest document o a qualsevol producte i servei en qualsevol moment sense previ avís.

Sobre Microsemi

Microsemi, una filial de propietat total de Microchip Technology Inc. (Nasdaq: MCHP), ofereix una cartera completa de solucions de sistemes i semiconductors per a l'aeronàutica i defensa, comunicacions, centres de dades i mercats industrials. Els productes inclouen circuits integrats de senyal mixt analògic d'alt rendiment i endurits per la radiació, FPGA, SoC i ASIC; productes de gestió d'energia; dispositius de cronometratge i sincronització i solucions de temps precises, establint l'estàndard mundial en temps; dispositius de processament de veu; solucions de RF; components discrets; solucions d'emmagatzematge i comunicació empresarial, tecnologies de seguretat i anti-t escalablesamper productes; solucions Ethernet; Circuits integrats i midspans d'alimentació a través d'Ethernet; així com capacitats i serveis de disseny personalitzat. Més informació a www.microsemi.com.

Arrencada i configuració

Els FPGA PolarFire SoC utilitzen circuits d'engegada avançats per garantir una alimentació fiable a l'encesa i restabliment. A l'encesa i el restabliment, la seqüència d'arrencada del PolarFire SoC FPGA segueix el restabliment de l'engegada (POR), l'arrencada del dispositiu, la inicialització del disseny, la prearrencada del subsistema del microcontrolador (MSS) i l'arrencada de l'usuari MSS. Aquest document descriu l'arrencada prèvia de MSS i l'arrencada d'usuari de MSS. Per obtenir informació sobre POR, l'arrencada del dispositiu i la inicialització del disseny, consulteu UG0890: Guia de l'usuari d'engegada i restabliment de FPGA SoC PolarFire.
Per obtenir més informació sobre les funcions de MSS, consulteu UG0880: Guia d'usuari de PolarFire SoC MSS.

Seqüència d'arrencada
La seqüència d'arrencada comença quan el PolarFire SoC FPGA s'engega o es restableix. Acaba quan el processador està preparat per executar un programa d'aplicació. Aquesta seqüència d'arrencada dura diversos stages abans de començar l'execució dels programes.
Durant el procés d'arrencada es realitzen un conjunt d'operacions que inclouen el restabliment de l'engegada del maquinari, la inicialització del perifèric, la inicialització de la memòria i la càrrega de l'aplicació definida per l'usuari des de la memòria no volàtil a la memòria volàtil per a l'execució.

La figura següent mostra les diferents fases de la seqüència d'arrencada.

Figura 1  Seqüència d'arrencadaMicroxip-UG0881-PolarFire-SoC-FPGA-Arrencada-I-Configuració-fig 1

MSS prearrencada

Un cop finalitzada amb èxit la Inicialització del disseny, MSS Pre-boot comença la seva execució. L'MSS s'allibera d'un restabliment després de completar tots els procediments d'inici normals. El controlador del sistema gestiona la programació, inicialització i configuració dels dispositius. El prearrencada MSS no es produeix si el dispositiu programat està configurat per al mode de suspensió del controlador del sistema.
La fase d'inicialització prèvia a l'arrencada de l'MSS està coordinada pel microprogramari del controlador del sistema, tot i que pot utilitzar l'E51 al complex principal de l'MSS per dur a terme determinades parts de la seqüència prèvia a l'arrencada.
Els esdeveniments següents es produeixen durant els pre-arrencada MSStage:

  • Engegada de la memòria no volàtil integrada de MSS (eNVM)
  • Inicialització de la reparació de redundància associada a la memòria cau MSS Core Complex L2
  • Autenticació del codi d'arrencada de l'usuari (si l'opció d'arrencada segura de l'usuari està habilitada)
  • Lliurament del MSS operatiu al codi d'arrencada de l'usuari

El MSS Core Complex es pot arrencar en un dels quatre modes. La taula següent enumera les opcions de pre-arrencada del MSS, que es poden configurar i programar a l'sNVM. El mode d'arrencada està definit pel paràmetre d'usuari U_MSS_BOOTMODE[1:0]. Les dades addicionals de configuració d'arrencada depenen del mode i es defineixen pel paràmetre d'usuari U_MSS_BOOTCFG (vegeu la Taula 3, pàgina 4 i la Taula 5, pàgina 6).

Taula 1 • Modes d'arrencada complexos bàsics de MSS

U_MSS_BOOTMODE[1:0] Mode Descripció
0 Arrencada inactiva MSS Core Complex arrenca des de la ROM d'arrencada si MSS no està configurat
1 Arrencada no segura MSS Core Complex arrenca directament des de l'adreça definida per U_MSS_BOOTADDR
2 Arrencada segura de l'usuari Arrenques MSS Core Complex de sNVM
3 Arrencada segura de fàbrica MSS Core Complex arrenca mitjançant el protocol d'arrencada segur de fàbrica

L'opció d'arrencada es selecciona com a part del flux de disseny de Libero. El canvi de mode només es pot aconseguir mitjançant la generació d'una nova programació FPGA file.

Figura 2 • Flux previ a l'arrencada MSS Microxip-UG0881-PolarFire-SoC-FPGA-Arrencada-I-Configuració-fig 2

Arrencada inactiva

Si el MSS no està configurat (per exemple,ample, dispositiu en blanc), llavors el MSS Core Complex executa un programa ROM d'arrencada que manté tots els processadors en un bucle infinit fins que un depurador es connecta a l'objectiu. Els registres del vector d'arrencada mantenen el seu valor fins que es reinicia el dispositiu o es programa una nova configuració del mode d'arrencada. Per als dispositius configurats, aquest mode es pot implementar mitjançant el
U_MSS_BOOTMODE=0 opció d'arrencada al configurador de Libero.

Nota: En aquest mode, no s'utilitza U_MSS_BOOTCFG.

La figura següent mostra el flux d'arrencada inactiva.
Figura 3 • Flux d'arrencada inactiuMicroxip-UG0881-PolarFire-SoC-FPGA-Arrencada-I-Configuració-fig 3

Arrencada no segura

En aquest mode, el MSS Core Complex s'executa des d'una adreça eNVM especificada sense autenticació. Proporciona l'opció d'arrencada més ràpida, però no hi ha autenticació de la imatge de codi. L'adreça es pot especificar configurant U_MSS_BOOTADDR al Libero Configurator. Aquest mode també es pot utilitzar per arrencar des de qualsevol recurs de memòria FPGA Fabric mitjançant FIC. Aquest mode s'implementa amb el
U_MSS_BOOTMODE=1 opció d'arrencada.
El MSS Core Complex s'allibera de la restabliment amb vectors d'arrencada definits per U_MSS_BOOTCFG (tal com es mostra a la taula següent).

Taula 2 • Ús d'U_MSS_BOOTCFG en mode d'arrencada no segur 1

Desplaçament (bytes)  

Mida (bytes)

 

Nom

 

Descripció

0 4 BOOTVEC0 Vector d'arrencada per a E51
4 4 BOOTVEC1 Vector d'arrencada per a U540
8 4 BOOTVEC2 Vector d'arrencada per a U541
16 4 BOOTVEC3 Vector d'arrencada per a U542
20 4 BOOTVEC4 Vector d'arrencada per a U543

La figura següent mostra el flux d'arrencada no segur.
Figura 4 • Flux d'arrencada no segurMicroxip-UG0881-PolarFire-SoC-FPGA-Arrencada-I-Configuració-fig 4

Arrencada segura de l'usuari
Aquest mode permet a l'usuari implementar la seva pròpia arrencada segura personalitzada i el codi d'arrencada segur de l'usuari es col·loca al sNVM. El sNVM és una memòria no volàtil de 56 KB que es pot protegir mitjançant la funció físicament no clonable (PUF) integrada. Aquest mètode d'arrencada es considera assegurat perquè les pàgines sNVM marcades com a ROM són immutables. Quan s'engega, el controlador del sistema copia el codi d'arrencada segur de l'usuari de sNVM a la memòria de dades estretament integrada (DTIM) del nucli del monitor E51. E51 comença a executar el codi d'arrencada segur de l'usuari.
Si la mida del codi d'arrencada segur de l'usuari és superior a la mida del DTIM, l'usuari ha de dividir el codi d'arrencada en dos stages. El sNVM pot contenir el s següenttage de la seqüència d'arrencada de l'usuari, que pot dur a terme l'autenticació de les properes arrencadestage utilitzant l'algoritme d'autenticació/desxifrat d'usuari.
Si s'utilitzen pàgines autenticades o xifrades, la mateixa clau USK (és a dir,
U_MSS_BOOT_SNVM_USK) s'ha d'utilitzar per a totes les pàgines autenticades/xifrades.
Si l'autenticació falla, el MSS Core Complex es pot reiniciar i el BOOT_FAIL tampla bandera es pot aixecar. Aquest mode s'implementa mitjançant l'opció d'arrencada U_MSS_BOOTMODE=2.

Taula 3 •  Ús d'U_MSS_BOOTCFG a l'arrencada segura de l'usuari

Desplaçament (bytes) Mida (bytes) Nom Descripció
0 1 U_MSS_BOOT_SNVM_PAGE Pàgina d'inici a SNVM
1 3 RESERVAT Per a l'alineació
4 12 U_MSS_BOOT_SNVM_USK Per a pàgines autenticades/xifrades

La figura següent mostra el flux d'arrencada segur de l'usuari.
Figura 5 • Flux d'arrencada segur de l'usuariMicroxip-UG0881-PolarFire-SoC-FPGA-Arrencada-I-Configuració-fig 5

Arrencada segura de fàbrica
En aquest mode, el controlador del sistema llegeix el certificat d'imatge d'arrencada segura (SBIC) d'eNVM i valida el SBIC. Després de la validació correcta, el controlador del sistema copia el codi d'arrencada segur de fàbrica de la seva àrea de memòria privada i segura i el carrega al DTIM del nucli del monitor E51. L'arrencada segura predeterminada realitza una comprovació de signatura a la imatge d'eNVM mitjançant SBIC que s'emmagatzema a eNVM. Si no s'informa d'errors, s'allibera el restabliment al MSS Core Complex. Si s'informa d'errors, el MSS Core Complex es reinicia i el BOOT_FAIL tamps'aixeca la bandera. Aleshores, el controlador del sistema s'activa a lesamper bandera que afirma un senyal al teixit FPGA per a l'acció de l'usuari. Aquest mode s'implementa mitjançant l'opció d'arrencada U_MSS_BOOTMODE=3.

L'SBIC conté l'adreça, la mida, el hash i la signatura de l'algoritme de signatura digital de corba el·líptica (ECDSA) del blob binari protegit. ECDSA ofereix una variant de l'algoritme de signatura digital que utilitza criptografia de corba el·líptica. També conté el vector de restabliment de cada maquinari
fil/nucli/nucli del processador (Hart) al sistema.

Taula 4 •  Certificat d'imatge d'arrencada segura (SBIC)

Offset Mida (bytes) Valor Descripció
0 4 IMAGEADDR Adreça de UBL al mapa de memòria MSS
4 4 IMAGELEN Mida d'UBL en bytes
8 4 BOOTVEC0 Vector d'arrencada en UBL per a E51
12 4 BOOTVEC1 Vector d'arrencada en UBL per a U540
16 4 BOOTVEC2 Vector d'arrencada en UBL per a U541
20 4 BOOTVEC3 Vector d'arrencada en UBL per a U542
24 4 BOOTVEC4 Vector d'arrencada en UBL per a U543
28 1 OPCIONS[7:0] Opcions SBIC
28 3 RESERVAT  
32 8 VERSIÓ Versió SBIC/Imatge
40 16 DSN Enllaç DSN opcional
56 48 H Hash SHA-384 de la imatge UBL
104 104 CODESIG Signatura ECDSA codificada amb DER
Total 208 Bytes  

DSN
Si el camp DSN és diferent de zero, es compara amb el número de sèrie del propi dispositiu. Si la comparació falla, llavors boot_fail tampS'ha establert el senyalador i l'autenticació s'ha avortat.

VERSIÓ
Si la revocació SBIC està habilitada per U_MSS_REVOCATION_ENABLE, l'SBIC es rebutja tret que el valor de VERSIÓ sigui superior o igual al llindar de revocació.

OPCIÓ DE REVOCACIÓ SBIC
Si la revocació SBIC està habilitada per U_MSS_REVOCATION_ENABLE i OPTIONS[0] és '1', totes les versions SBIC inferiors a VERSION es revocaran després de l'autenticació completa de l'SBIC. El llindar de revocació es manté en el valor nou fins que torna a augmentar en un futur SBIC amb OPTIONS[0] = '1' i un camp VERSIÓ superior. El llindar de revocació només es pot incrementar mitjançant aquest mecanisme i només es pot restablir mitjançant un flux de bits.
Quan el llindar de revocació s'actualitza dinàmicament, el llindar s'emmagatzema utilitzant l'esquema d'emmagatzematge redundant utilitzat per a les contrasenyes de manera que una fallada de corrent durant l'arrencada del dispositiu no provoqui un error en l'arrencada posterior del dispositiu. Si l'actualització del llindar de revocació falla, es garanteix que el valor del llindar sigui el valor nou o l'anterior.

Taula 5 • Ús d'U_MSS_BOOTCFG en mode de carregador d'arrencada de fàbrica

Desplaçament (bytes)  

Mida (bytes)

 

Nom

 

Descripció

0 4 U_MSS_SBIC_ADDR Adreça de SBIC a l'espai d'adreces MSS
4 4 U_MSS_REVOCATION_ENABLE Habiliteu la revocació SBIC si no és zero

La figura següent mostra el flux d'arrencada segur de fàbrica.
Figura 6 • Flux d'arrencada segur de fàbricaMicroxip-UG0881-PolarFire-SoC-FPGA-Arrencada-I-Configuració-fig 6 Microxip-UG0881-PolarFire-SoC-FPGA-Arrencada-I-Configuració-fig 7

Arrencada d'usuari MSS 

L'arrencada de l'usuari MSS té lloc quan el control es dóna des del controlador del sistema al complex principal de l'MSS. Després de l'arrencada prèvia de l'MSS amb èxit, el controlador del sistema allibera el restabliment del MSS Core Complex. MSS es pot arrencar d'una de les maneres següents:

  • Aplicació de metall nu
  • Aplicació Linux
  • AMP Aplicació

Aplicació de metall nu

Les aplicacions de metall nu per al SoC PolarFire es poden desenvolupar mitjançant l'eina SoftConsole. Aquesta eina proporciona la sortida files en forma de .hex que es pot utilitzar al flux de Libero per incloure'ls al flux de bits de programació file. La mateixa eina es pot utilitzar per depurar les aplicacions Bare Metal mitjançant JTAG
interfície.
La figura següent mostra l'aplicació SoftConsole Bare Metal que té cinc harts (Nuclis) inclòs el nucli del monitor E51.

Figura 7 • Projecte SoftConsole Microxip-UG0881-PolarFire-SoC-FPGA-Arrencada-I-Configuració-fig 8

Aplicació Linux

Aquesta secció descriu la seqüència d'arrencada per a Linux que s'executa a tots els nuclis U54.
Un procés d'arrencada típic consta de tres stages. El primer stagEl carregador d'arrencada (FSBL) s'executa des del flash d'arrencada al xip (eNVM). El FSBL carrega el segon stage carregador d'arrencada (SSBL) des d'un dispositiu d'arrencada a memòria RAM o memòria cau externa. El dispositiu d'arrencada pot ser eNVM o microcontrolador de memòria incrustada (eMMC) o SPI Flash extern. L'SSBL carrega el sistema operatiu Linux des del dispositiu d'arrencada a la memòria RAM externa. Al tercer stage, Linux s'executa des de la memòria RAM externa.

La figura següent mostra el flux del procés d'arrencada de Linux.
Figura 8 • Flux de procés d'arrencada típic de LinuxMicroxip-UG0881-PolarFire-SoC-FPGA-Arrencada-I-Configuració-fig 9

Els detalls de FSBL, arbre de dispositius, Linux i YOCTO, com construir i configurar Linux es proporcionaran en la versió futura d'aquest document.

AMP Aplicació
La descripció detallada de Libero MSS Configurator i de com depurar aplicacions multiprocessador mitjançant SoftConsole es proporcionarà a la versió futura d'aquest document.

Diferents fonts d'arrencada
S'actualitzarà en futures versions d'aquest document.

Configuració d'arrencada
S'actualitzarà en futures versions d'aquest document.

Acrònims

En aquest document s'utilitzen les sigles següents.

Taula 1 •  Llista d'acrònims

Acrònim ampliat

  • AMP Multiprocessament asimètric
  • DTIM Memòria fortament integrada de dades (també anomenada SRAM)
  • ECDSA Algorisme de signatura digital de la corba el·líptica
  • eNVM Memòria no volàtil incrustada
  • FSBL Primer Stage Carregador d'arrencada
  • Hart Fil de maquinari/nucli/nucli del processador
  • MSS Subsistema de microprocessador
  • POR Encès Reinicialitza
  • puf Funció físicament no clonable
  • ROM Memòria només de lectura
  • SCB Pont del controlador del sistema
  • sNVM Memòria no volàtil segura

Historial de revisions

L'historial de revisions descriu els canvis que es van implementar al document. Els canvis s'enumeren per revisió, començant per la publicació actual.

Revisió 2.0
A continuació es mostra un resum dels canvis fets en aquesta revisió.

  • S'ha actualitzat la informació sobre Factory Secure Boot.
  • S'ha actualitzat la informació sobre l'aplicació Bare Metal.

Revisió 1.0
La primera publicació d'aquest document.

Seu Microsemi
One Enterprise, Aliso Viejo,
CA 92656 EUA
Dins dels EUA: +1 800-713-4113
Fora dels EUA: +1 949-380-6100
Vendes: +1 949-380-6136
Fax: +1 949-215-4996
Correu electrònic: sales.support@microsemi.com
www.microsemi.com

©2020 Microsemi, una filial de propietat total de Microchip Technology Inc. Tots els drets reservats. Microsemi i el logotip de Microsemi són marques registrades de Microsemi Corporation. Totes les altres marques comercials i marques de servei són propietat dels seus respectius propietaris.

Documents/Recursos

Microxip UG0881 PolarFire SoC FPGA Arrencada i configuració [pdfGuia de l'usuari
UG0881 PolarFire SoC FPGA d'arrencada i configuració, UG0881, PolarFire SoC FPGA d'arrencada i configuració, arrencada i configuració

Referències

Deixa un comentari

La teva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats *