Microsemi-LGOO

Microchip UG0881 PolarFire SoC FPGA Ekfunkciigo Kaj Agordo

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

Garantio

Microsemi faras neniun garantion, reprezentadon aŭ garantion koncerne la informojn enhavitajn ĉi tie aŭ la taŭgecon de ĝiaj produktoj kaj servoj por iu aparta celo, nek Microsemi supozas ajnan respondecon de la apliko aŭ uzo de ajna produkto aŭ cirkvito. La produktoj venditaj ĉi-suba kaj ĉiuj aliaj produktoj venditaj de Microsemi estis submetitaj al limigitaj provoj kaj ne devus esti uzataj kune kun misi-kritika ekipaĵo aŭ aplikoj. Oni kredas, ke ajnaj agadospecifoj estas fidindaj sed ne estas kontrolitaj, kaj Aĉetanto devas fari kaj plenumi ĉiujn agadojn kaj aliajn provojn de la produktoj, sole kaj kune kun aŭ instalitaj en iuj finaj produktoj. Aĉetanto ne dependas de iuj datumoj kaj agado-specifoj aŭ parametroj provizitaj de Microsemi. Estas la respondeco de la Aĉetanto sendepende determini taŭgecon de iuj produktoj kaj testi kaj kontroli la samon. La informoj provizitaj de Microsemi ĉi-sube estas provizitaj "kiel estas, kie estas" kaj kun ĉiuj eraroj, kaj la tuta risko asociita kun tiaj informoj estas tute kun la Aĉetanto. Microsemi ne donas, eksplicite aŭ implicite, al iu ajn partio ajnajn patentajn rajtojn, licencojn, aŭ ajnajn aliajn IP-rajtojn, ĉu koncerne tiajn informojn mem aŭ io ajn priskribitan per tiaj informoj. Informoj provizitaj en ĉi tiu dokumento estas proprieta de Microsemi, kaj Microsemi rezervas la rajton fari ajnajn ŝanĝojn al la informoj en ĉi tiu dokumento aŭ al ajnaj produktoj kaj servoj iam ajn sen avizo.

Pri Microsemi

Microsemi, tute posedata filio de Microchip Technology Inc. (Nasdaq: MCHP), ofertas ampleksan biletujon de duonkonduktaĵoj kaj sistemaj solvoj por aerospaco kaj defendo, komunikado, datumcentro kaj industriaj merkatoj. Produktoj inkluzivas alt-efikecajn kaj radiad-harditajn analogajn mikssignajn integrajn cirkvitojn, FPGAojn, SoCojn kaj ASICojn; produktoj pri administrado de potenco; tempaj kaj sinkronigaj aparatoj kaj precizaj tempaj solvoj, fiksante la mondan normon por tempo; aparatoj pri voĉa prilaborado; RF-solvoj; diskretaj komponantoj; entreprenaj stokado kaj komunikado solvoj, sekureco teknologioj kaj skalebla kontraŭ-tamper produktoj; Eterretaj solvoj; Power-over-Ethernet ICs kaj midspans; same kiel laŭmendajn dezajnokapablojn kaj servojn. Lernu pli ĉe www.microsemi.com.

Ekfunkciigo Kaj Agordo

PolarFire SoC FPGA-oj uzas altnivelan elektran cirkviton por certigi fidindan potencon ĉe ŝaltado kaj rekomencigita. Ĉe ekfunkciigo kaj rekomencigita, PolarFire SoC FPGA ekfunkciigo sekvenco sekvas Power-on rekomencigita (POR), Aparato ekfunkciigo, Dezajno-komencigo, Mikroregila Subsistemo (MSS) antaŭ-lanĉo, kaj MSS-uzantboto. Ĉi tiu dokumento priskribas MSS-antaŭ-lanĉon kaj MSS-Uzantan-Boton. Por informoj pri POR, Device Boot kaj Dezajna inicialigo, vidu UG0890: PolarFire SoC FPGA Power-Up and Resets User Guide.
Por pliaj informoj pri MSS-funkcioj, vidu UG0880: PolarFire SoC MSS-Gvidilo.

Ŝarĝiga Sekvenco
La ekfunkciiga sekvenco komenciĝas kiam la PolarFire SoC FPGA estas ŝaltita aŭ rekomencigita. Ĝi finiĝas kiam la procesoro estas preta por ekzekuti aplikan programon. Ĉi tiu lanĉa sekvenco trairas plurajn stagestas antaŭ ol ĝi komencas la ekzekuton de programoj.
Aro de operacioj estas faritaj dum la Ekfunkciigo-supren-procezo kiu inkludas ŝaltitan rekomencigon de la aparataro, periferian inicialigon, memorinicialigon, kaj ŝarĝante la uzant-difinitan aplikiĝon de ne-volatila memoro ĝis la volatila memoro por ekzekuto.

La sekva figuro montras malsamajn fazojn de la sekvenco de Boot-up.

Figuro 1  Ŝarĝiga SekvencoMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 1

MSS Antaŭ-Boto

Post sukcesa kompletigo de Dezajna Inicialigo, MSS Antaŭ-boot komencas sian ekzekuton. La MSS estas liberigita de rekomenciĝo post kompletigo de ĉiuj normalaj startproceduroj. La sistemregilo administras la programadon, inicialigon kaj agordon de la aparatoj. MSS Antaŭ-lanĉo ne okazas se la programita aparato estas agordita por suspendreĝimo de sistema regilo.
La MSS-antaŭ-ŝarga fazo de inicialigo estas kunordigita per sistemregilfirmvaro, kvankam ĝi povas uzi la E51 en la MSS Kerna Komplekso por elfari certajn partojn de la antaŭ-ŝarga sekvenco.
La sekvaj eventoj okazas dum la MSS antaŭ-boot stage:

  • Ekfunkciigo de la MSS enigita Ne-Volatile Memory (eNVM)
  • Iniciatigo de la redunda riparo asociita kun la kaŝmemoro MSS Core Complex L2
  • Aŭtentikigo de Uzanta lanĉa kodo (se Uzanta Sekura ekfunkciigo estas ebligita)
  • Transdono de operacia MSS al Uzanta Lanĉa kodo

La MSS Kerna Komplekso povas esti startita en unu el kvar reĝimoj. La sekva tabelo listigas la MSS-antaŭ-lanĉajn opciojn, kiuj povas esti agorditaj kaj programitaj en la sNVM. La ekreĝimo estas difinita per la uzantparametro U_MSS_BOOTMODE[1:0]. Pliaj lanĉaj agordaj datumoj dependas de reĝimo kaj estas difinitaj de la uzantparametro U_MSS_BOOTCFG (vidu Tabelon 3, paĝon 4 kaj Tabelon 5, paĝon 6).

Tabelo 1 • MSS Core Complex Boot Modes

U_MSS_BOOTMODE[1:0] Reĝimo Priskribo
0 Neaktiva boto MSS Kerna Komplekso ekfunkciigas el ekŝarga ROM se MSS ne estas agordita
1 Ne-sekura boto MSS Core Complex ekfunkciigas rekte de adreso difinita de la U_MSS_BOOTADDR
2 Uzanto sekura ekkuro MSS Core Complex botoj de sNVM
3 Fabriko sekura boto MSS Core Complex botoj uzante la fabrikan sekuran lanĉan protokolon

La boto-opcio estas elektita kiel parto de la Libero-dezajna fluo. Ŝanĝi la reĝimon nur povas esti atingita per la generacio de nova FPGA-programado file.

Figuro 2 • MSS Antaŭ-boot Flow Microchip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 2

Neaktiva Boto

Se la MSS ne estas agordita (ekzample, malplena aparato), tiam la MSS Kerna Komplekso efektivigas lanĉan ROM-programon kiu tenas ĉiujn procesorojn en senfina buklo ĝis erarserĉilo ligas al la celo. La boto-vektoro-registroj konservas sian valoron ĝis la aparato estas rekomencigita aŭ nova boto-reĝima agordo estas programita. Por agorditaj aparatoj, ĉi tiu reĝimo povas esti efektivigita uzante la
U_MSS_BOOTMODE=0 startopcio en la Libero-agordilo.

Notu: En ĉi tiu reĝimo, U_MSS_BOOTCFG ne estas uzata.

La sekva figuro montras la Neaktiva lanĉa fluo.
Figuro 3 • Neaktiva Bota FluoMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 3

Ne-sekura Boot

En ĉi tiu reĝimo, la MSS Kerna Komplekso efektivigas de specifita eNVM-adreso sen aŭtentigo. Ĝi provizas la plej rapidan ekfunkciigon, sed ne ekzistas aŭtentikigo de la kodbildo. La adreso povas esti specifita per agordo U_MSS_BOOTADDR en la Libero-Agordilo. Ĉi tiu reĝimo ankaŭ povas esti uzata por ekfunkciigi de iu ajn memorrimedo de FPGA Fabric per FIC. Ĉi tiu reĝimo estas efektivigita uzante la
U_MSS_BOOTMODE=1 startopcio.
La MSS Kerna Komplekso estas liberigita de rekomencigita kun startvektoroj difinitaj de U_MSS_BOOTCFG (kiel listigita en la sekva tabelo).

Tabelo 2 • U_MSS_BOOTCFG Uzado en Ne-Sekura Lanĉa Reĝimo 1

Ofseto (bajtoj)  

Grandeco (bajtoj)

 

Nomo

 

Priskribo

0 4 BOOTVEC0 Botvektoro por E51
4 4 BOOTVEC1 Botvektoro por U540
8 4 BOOTVEC2 Botvektoro por U541
16 4 BOOTVEC3 Botvektoro por U542
20 4 BOOTVEC4 Botvektoro por U543

La sekva figuro montras la Ne-sekuran ekfluon.
Figuro 4 • Ne-sekura Bota FluoMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 4

Uzanto Sekura Boot
Ĉi tiu reĝimo permesas al uzanto efektivigi sian propran sekuran lanĉon kaj la sekura lanĉa kodo de uzanto estas metita en la sNVM. La sNVM estas 56 KB ne-volatila memoro kiu povas esti protektita per la enkonstruita Fizike Neklonebla Funkcio (PUF). Ĉi tiu lanĉa metodo estas konsiderata sekurigita ĉar sNVM-paĝoj markitaj kiel ROM estas neŝanĝeblaj. Dum ekfunkciigo, la sistemregilo kopias la sekuran lanĉan kodon de la uzanto de sNVM al Data Tightly Integrated Memory (DTIM) de la E51 Monitor-kerno. E51 komencas ekzekuti la sekuran lanĉan kodon de uzanto.
Se la grandeco de la sekura lanĉa kodo de uzanto estas pli ol la grandeco de la DTIM, tiam uzanto devas dividi la lanĉan kodon en du s.tages. La sNVM povas enhavi la sekvajn stage de la uzanta lanĉa sekvenco, kiu povas plenumi aŭtentikigon de la sekvaj lanĉaĵojtage uzante la uzantan aŭtentikigon/malĉifrado-algoritmon.
Se aŭtentikigitaj aŭ ĉifritaj paĝoj estas uzataj tiam la sama USK-ŝlosilo (tio estas,
U_MSS_BOOT_SNVM_USK) devas esti uzata por ĉiuj aŭtentikigitaj/ĉifritaj paĝoj.
Se aŭtentikigo malsukcesas, la MSS Kerna Komplekso povas esti metita en restarigi kaj la BOOT_FAIL tamper flago povas esti levita. Ĉi tiu reĝimo estas efektivigita per la startopcio U_MSS_BOOTMODE=2.

Tabelo 3 •  U_MSS_BOOTCFG Uzado en Sekura Lanĉo de Uzanto

Ofseto (bajtoj) Grandeco (bajtoj) Nomo Priskribo
0 1 U_MSS_BOOT_SNVM_PAGE Komencpaĝo en SNVM
1 3 rezervita Por vicigo
4 12 U_MSS_BOOT_SNVM_USK Por aŭtentikigitaj/ĉifritaj paĝoj

La sekva figuro montras la sekuran lanĉan fluon de uzanto.
Figuro 5 • Uzanto Secure Boot FlowMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 5

Fabriko Sekura Boot
En ĉi tiu reĝimo, la sistemregilo legas la Secure Boot Image Certificate (SBIC) de eNVM kaj validas la SBIC. Sur sukcesa validumado, Sistemregilo kopias la fabrikan sekuran lanĉan kodon de ĝia privata, sekura memorareo kaj ŝarĝas ĝin en la DTIM de la E51 Monitor-kerno. La defaŭlta sekura ekkuro elfaras subskriban kontrolon sur la eNVM-bildo uzante SBIC kiu estas stokita en eNVM. Se neniuj eraroj estas raportitaj, restarigo estas liberigita al la MSS Kerna Komplekso. Se eraroj estas raportitaj, la MSS Kerna Komplekso estas metita en restarigi kaj la BOOT_FAIL tamper flago estas levita. Tiam, la sistemregilo aktivigas ĉeamper flago kiu asertas signalon al la FPGA-ŝtofo por uzantagado. Ĉi tiu reĝimo estas efektivigita per la startopcio U_MSS_BOOTMODE=3.

La SBIC enhavas la adreson, grandecon, haŝiŝon, kaj Elipsa Kurba Cifereca Signature Algorithm (ECDSA) subskribon de la protektita binara blob. ECDSA ofertas variaĵon de la Digital Signature Algorithm kiu uzas elipsan kurbkriptografion. Ĝi ankaŭ enhavas la rekomencigitan vektoron por ĉiu Aparataro
fadeno/kerno/procesorkerno (Hart) en la sistemo.

Tabelo 4 •  Sekura Bota Bilda Atestilo (SBIC)

Ofseto Grandeco (bajtoj) Valoro Priskribo
0 4 BILDOADDR Adreso de UBL en MSS-memormapo
4 4 IMAGELEN Grandeco de UBL en bajtoj
8 4 BOOTVEC0 Botvektoro en UBL por E51
12 4 BOOTVEC1 Botvektoro en UBL por U540
16 4 BOOTVEC2 Botvektoro en UBL por U541
20 4 BOOTVEC3 Botvektoro en UBL por U542
24 4 BOOTVEC4 Botvektoro en UBL por U543
28 1 OPCIOJ[7:0] SBIC-opcioj
28 3 rezervita  
32 8 VERSION SBIC/Bilda versio
40 16 DSN Laŭvola DSN-ligado
56 48 H UBL-bildo SHA-384 hash
104 104 CODEIG DER-kodita ECDSA subskribo
Entute 208 Bajtoj  

DSN
Se la DSN-kampo estas ne-nula, ĝi estas komparita kontraŭ la propra seria numero de la aparato. Se la komparo malsukcesas, tiam la boot_fail tamper flago estas metita kaj aŭtentikigo estas ĉesigita.

VERSION
Se SBIC-revoko estas ebligita de U_MSS_REVOCATION_ENABLE, la SBIC estas malakceptita krom se la valoro de VERSION estas pli granda ol aŭ egala al la revoka sojlo.

SBIC-REVOKA OPCIO
Se SBIC-revoko estas ebligita de U_MSS_REVOCATION_ENABLE kaj OPTIONS[0] estas '1', ĉiuj SBIC-versioj malpli ol VERSION estas revokitaj post kompleta aŭtentigo de la SBIC. La revoka sojlo restas ĉe la nova valoro ĝis ĝi denove pliiĝas per estonta SBIC kun OPTIONS [0] = '1' kaj pli alta VERSION-kampo. La revoka sojlo povas nur esti pliigita uzante ĉi tiun mekanismon kaj nur povas esti rekomencigita per bitfluo.
Kiam la revoka sojlo estas ĝisdatigita dinamike, la sojlo estas stokita uzante la redundan stokadskemon utiligitan por paskodoj tia ke elektropaneo dum aparato-boto ne igas postan aparato-boton malsukcesi. Se la ĝisdatigo de revoka sojlo malsukcesas, estas garantiite ke la sojla valoro estas aŭ la nova valoro aŭ la antaŭa.

Tabelo 5 • U_MSS_BOOTCFG Uzado en Factory Boot Loader Mode

Ofseto (bajtoj)  

Grandeco (bajtoj)

 

Nomo

 

Priskribo

0 4 U_MSS_SBIC_ADDR Adreso de SBIC en MSS-adresspaco
4 4 U_MSS_REVOCATION_ENABLE Ebligu SBIC-revokon se ne-nula

La sekva figuro montras la fabrikon sekuran ekfluon.
Figuro 6 • Fabriko Sekura Boot FluoMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 6 Microchip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 7

MSS Uzanto-Boto 

MSS-uzantlanĉo okazas kiam la kontrolo ricevas de System Controller al MSS Core Complex. Post sukcesa MSS antaŭ-komenco, sistemregilo liberigas la rekomencigon al la MSS Kerna Komplekso. MSS povas esti startita laŭ unu el la sekvaj manieroj:

  • Nuda Metala Apliko
  • Linuksa Apliko
  • AMP Apliko

Nuda Metala Apliko

La nudaj metalaj aplikoj por la PolarFire SoC povas esti evoluigitaj per SoftConsole-ilo. Ĉi tiu ilo provizas la eligon files en la formo de .hex kiu povas esti uzata en la Libero-fluo por inkludi en la programan bitfluon file. La sama ilo povas esti uzata por sencimigi la Bare Metal-aplikaĵojn uzante JTAG
interfaco.
La sekva figuro montras la SoftConsole Bare Metal-aplikaĵon kiu havas kvin cervojn (Kernoj) inkluzive de E51 Monitor-kerno.

Figuro 7 • SoftConsole Projekto Microchip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 8

Linuksa Apliko

Ĉi tiu sekcio priskribas la lanĉan sekvencon por Linukso funkcianta sur ĉiuj U54-kernoj.
Tipa startprocezo konsistas el tri stages. La unua stagLa ekŝargilo (FSBL) estas ekzekutita de la surblata Boot-ekbrilo (eNVM). La FSBL ŝarĝas la duan stage ekŝargilo (SSBL) de lanĉa aparato al ekstera RAM aŭ Cache. La ekfunkciigo povas esti eNVM aŭ enigita memormikroregilo (eMMC) aŭ ekstera SPI Flash. La SSBL ŝarĝas la Linuksan operaciumon de lanĉa aparato al ekstera RAM. En la tria stage, Linukso estas ekzekutita de la ekstera RAM.

La sekva figuro montras la fluon de Linuksa Boot Process.
Figuro 8 • Tipa Linuksa Bota Proceza FluoMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 9

Detaloj pri FSBL, Aparato-arbo, Linukso kaj YOCTO-konstruo, kiel konstrui kaj agordi Linukson estos provizitaj en la estonta eldono de ĉi tiu dokumento.

AMP Apliko
Detala priskribo de Libero MSS Configurator kaj kiel sencimigi plurprocesorajn aplikojn uzante SoftConsole estos donitaj en la estonta eldono de ĉi tiu dokumento.

Malsamaj Fontoj de Ekfunkciigo
Ĝisdatigota en estontaj versioj de ĉi tiu dokumento.

Boot-Agordo
Ĝisdatigota en estontaj versioj de ĉi tiu dokumento.

Akronimoj

La sekvaj akronimoj estas uzataj en ĉi tiu dokumento.

Tabelo 1 •  Listo de Akronimoj

Akronimo Vastigita

  • AMP Nesimetria Multi-prilaborado
  • DTIM Datumoj Tightly Integrated Memory (ankaŭ nomita kiel SRAM)
  • ECDSA Elipsa Kurbo Cifereca Subskribo Algoritmo
  • eNVM enigita Nevolatila Memoro
  • FSBL Unue Stagkaj Ekŝargilo
  • Cervo Aparataro fadeno/kerno/procesoro-kerno
  • MSS Mikroprocesora Subsistemo
  • POR Ŝaltu Restarigi
  • PUF Fizike Neklonebla Funkcio
  • ROM Nurlegebla Memoro
  • SCB Sistemo-Regilo-Ponto
  • sNVM Sekura Ne-volatila Memoro

Historio de Revizio

La reviziohistorio priskribas la ŝanĝojn kiuj estis efektivigitaj en la dokumento. La ŝanĝoj estas listigitaj laŭ revizio, komencante de la nuna publikigo.

Revizio 2.0
La sekvanta estas resumo de la ŝanĝoj faritaj en ĉi tiu revizio.

  • Informoj pri Factory Secure Boot estis ĝisdatigitaj.
  • Informoj pri Bare Metal Application estis ĝisdatigitaj.

Revizio 1.0
La unua publikigo de ĉi tiu dokumento.

Microsemi Ĉefsidejo
One Enterprise, Aliso Viejo,
CA 92656 Usono
Ene de Usono: +1 800-713-4113
Ekster Usono: +1 949-380-6100
Vendo: +1 949-380-6136
Faksi: +1 949-215-4996
Retpoŝto: sales.support@microsemi.com
www.microsemi.com

©2020 Microsemi, tute posedata filio de Microchip Technology Inc. Ĉiuj rajtoj rezervitaj. Microsemi kaj la Microsemi-emblemo estas registritaj varmarkoj de Microsemi Corporation. Ĉiuj aliaj varmarkoj kaj servomarkoj estas la posedaĵo de siaj respektivaj posedantoj.

Dokumentoj/Rimedoj

Microchip UG0881 PolarFire SoC FPGA Ekfunkciigo Kaj Agordo [pdf] Uzantogvidilo
UG0881 PolarFire SoC FPGA Ekŝargo kaj Agordo, UG0881, PolarFire SoC FPGA Ekfunkciigo kaj Agordo, Ekfunkciigo kaj Agordo

Referencoj

Lasu komenton

Via retadreso ne estos publikigita. Bezonataj kampoj estas markitaj *