Mikropool-LGOO

Mikrokiip UG0881 PolarFire SoC FPGA alglaadimine ja konfigureerimine

Mikrokiip-UG0881-PolarFire-SoC-FPGA-Booting-and-Configuration-product

Garantii

Microsemi ei anna garantiid, esindusi ega garantiisid seoses siin sisalduva teabega ega oma toodete ja teenuste sobivusega mingil konkreetsel eesmärgil, samuti ei võta Microsemi endale mingit vastutust, mis tuleneb mis tahes toote või vooluringi rakendamisest või kasutamisest. Siin müüdavaid tooteid ja kõiki teisi Microsemi müüdavaid tooteid on testitud piiratud määral ja neid ei tohiks kasutada koos missioonikriitiliste seadmete või rakendustega. Kõiki toimivusspetsifikatsioone peetakse usaldusväärseteks, kuid neid ei kontrollita, ning ostja peab läbi viima ja lõpetama kõik toodete toimivus- ja muud testid nii üksi kui ka koos lõpptoodetega või nendesse installitud. Ostja ei tohi tugineda Microsemi esitatud andmetele ja jõudlusspetsifikatsioonidele või parameetritele. Ostja kohustus on iseseisvalt kindlaks teha mis tahes toodete sobivus ning seda testida ja kontrollida. Alljärgnevalt Microsemi esitatud teave esitatakse "nagu on, kus on" ja kõigi vigadega ning kogu sellise teabega seotud risk on täielikult ostja kanda. Microsemi ei anna otseselt ega kaudselt ühelegi osapoolele patendiõigusi, litsentse ega muid intellektuaalomandi õigusi, olenemata sellest, kas see puudutab sellist teavet ega midagi, mida sellises teabes kirjeldatakse. Selles dokumendis esitatud teave kuulub ettevõttele Microsemi ja Microsemi jätab endale õiguse teha mis tahes muudatusi selles dokumendis sisalduvas teabes või mis tahes toodetes ja teenustes igal ajal ilma ette teatamata.

Microsemi kohta

Microsemi, Microchip Technology Inc. (Nasdaq: MCHP) XNUMX% omanduses olev tütarettevõte, pakub laiaulatuslikku pooljuhtide ja süsteemilahenduste portfelli kosmose- ja kaitse-, side-, andmekeskuste- ja tööstusturgudel. Toodete hulka kuuluvad suure jõudlusega ja kiirguskindlad analoog-segasignaaliga integraallülitused, FPGA-d, SoC-d ja ASIC-id; toitehaldustooted; ajastus- ja sünkroniseerimisseadmed ning täpsed ajalahendused, mis seavad maailma ajastandardi; hääletöötlusseadmed; RF-lahendused; diskreetsed komponendid; ettevõtete salvestus- ja sidelahendused, turvatehnoloogiad ja skaleeritav anti-tamper tooted; Etherneti lahendused; Power-over-Ethernet IC-d ja keskmised vahemikud; samuti kohandatud disainivõimalused ja -teenused. Lisateavet leiate aadressilt www.microsemi.com.

Käivitamine ja konfigureerimine

PolarFire SoC FPGA-d kasutavad täiustatud toitelülitust, et tagada sisselülitamisel ja lähtestamisel usaldusväärne toide. Sisselülitamisel ja lähtestamisel järgib PolarFire SoC FPGA algkäivitusjada sisselülitamise lähtestamist (POR), seadme alglaadimist, disaini lähtestamist, mikrokontrolleri alamsüsteemi (MSS) eelkäivitamist ja MSS-i kasutaja alglaadimist. See dokument kirjeldab MSS-i eelkäivitamist ja MSS-i kasutaja alglaadimist. POR-i, seadme alglaadimise ja disaini lähtestamise kohta teabe saamiseks vaadake UG0890: PolarFire SoC FPGA sisselülitamise ja lähtestamise kasutusjuhend.
MSS-i funktsioonide kohta lisateabe saamiseks vaadake UG0880: PolarFire SoC MSS-i kasutusjuhend.

Käivitamise järjestus
Käivitusjada algab siis, kui PolarFire SoC FPGA sisse lülitatakse või lähtestatakse. See lõpeb, kui protsessor on rakendusprogrammi käivitamiseks valmis. See käivitusjada läbib mitu stages enne programmide käivitamist.
Käivitusprotsessi käigus tehakse toimingute komplekt, mis hõlmab riistvara sisselülitamist, välisseadmete lähtestamist, mälu lähtestamist ja kasutaja määratud rakenduse laadimist püsimälust lenduvasse mällu täitmiseks.

Järgmine joonis näitab algkäivitusjärjestuse erinevaid faase.

Joonis 1  Käivitamise järjestusMikrokiip-UG0881-PolarFire-SoC-FPGA-Booting-and-Configuration-joonis 1

MSS-i eelkäivitus

Disaini initsialiseerimise edukal lõpetamisel alustab MSS Pre-boot selle täitmist. MSS vabastatakse lähtestamisest pärast kõigi tavaliste käivitusprotseduuride lõpetamist. Süsteemikontroller haldab seadmete programmeerimist, lähtestamist ja konfigureerimist. MSS-i eelkäivitust ei toimu, kui programmeeritud seade on konfigureeritud süsteemikontrolleri peatamisrežiimile.
MSS-i algkäivituseelset lähtestamisetappi koordineerib süsteemikontrolleri püsivara, kuigi see võib alglaadimiseelse järjestuse teatud osade täitmiseks kasutada MSS Core Complexi E51.
Järgmised sündmused toimuvad MSS-i eelkäivitamise ajaltage:

  • MSS-i sisseehitatud püsimälu (eNVM) sisselülitamine
  • MSS Core Complex L2 vahemäluga seotud koondamisremondi lähtestamine
  • Kasutaja alglaadimiskoodi autentimine (kui kasutaja turvalise alglaadimise valik on lubatud)
  • Töötav MSS-i üleandmine kasutaja alglaadimiskoodile

MSS Core Complexi saab käivitada ühes neljast režiimist. Järgmises tabelis on loetletud MSS-i eelkäivitussuvandid, mida saab konfigureerida ja sNVM-i programmeerida. Alglaadimisrežiim on määratletud kasutaja parameetriga U_MSS_BOOTMODE[1:0]. Täiendavad alglaadimiskonfiguratsiooniandmed sõltuvad režiimist ja on määratletud kasutajaparameetriga U_MSS_BOOTCFG (vt tabel 3, leht 4 ja tabel 5, leht 6).

Tabel 1 • MSS Core Complex Boot Modes

U_MSS_BOOTMODE[1:0] Režiim Kirjeldus
0 Tühikäigukast MSS Core Complex käivitub alglaadimis-ROM-ilt, kui MSS pole konfigureeritud
1 Mitteturvaline alglaadimine MSS Core Complex käivitub otse U_MSS_BOOTADDR-iga määratud aadressilt
2 Kasutaja turvaline alglaadimine MSS Core Complexi saapad sNVM-ilt
3 Tehase turvaline boot MSS Core Complex käivitub tehase turvalise alglaadimisprotokolli abil

Alglaadimisvalik valitakse Libero disainivoo osana. Režiimi muutmine on võimalik ainult uue FPGA programmeerimise loomisega file.

Joonis 2 • MSS-i alglaadimiseelne voog Mikrokiip-UG0881-PolarFire-SoC-FPGA-Booting-and-Configuration-joonis 2

Idle Boot

Kui MSS pole konfigureeritud (ntample, tühi seade), siis MSS Core Complex käivitab alglaadimis-ROM-programmi, mis hoiab kõiki protsessoreid lõpmatus tsüklis, kuni silur loob ühenduse sihtmärgiga. Alglaadimisvektori registrid säilitavad oma väärtuse, kuni seade lähtestatakse või programmeeritakse uus alglaadimisrežiimi konfiguratsioon. Konfigureeritud seadmete puhul saab seda režiimi rakendada kasutades
U_MSS_BOOTMODE=0 alglaadimisvalik Libero konfiguraatoris.

Märkus. Selles režiimis U_MSS_BOOTCFG ei kasutata.

Järgmine joonis näitab tühikäigu alglaadimise voogu.
Joonis 3 • Idle Boot FlowMikrokiip-UG0881-PolarFire-SoC-FPGA-Booting-and-Configuration-joonis 3

Mitteturvaline alglaadimine

Selles režiimis käivitub MSS Core Complex määratud eNVM-aadressilt ilma autentimiseta. See pakub kiireimat alglaadimisvalikut, kuid koodipildi autentimist pole. Aadressi saab määrata, määrates Libero Configuratoris U_MSS_BOOTADDR. Seda režiimi saab kasutada ka FIC-i kaudu käivitamiseks mis tahes FPGA Fabric mäluressursist. Seda režiimi rakendatakse kasutades
U_MSS_BOOTMODE=1 alglaadimisvalik.
MSS Core Complex vabastatakse lähtestusest alglaadimisvektoritega, mis on määratletud U_MSS_BOOTCFG-ga (nagu on loetletud järgmises tabelis).

Tabel 2 • U_MSS_BOOTCFG kasutamine mitteturvalises alglaadimisrežiimis 1

Nihe (baitides)  

Suurus (baiti)

 

Nimi

 

Kirjeldus

0 4 BOOTVEC0 Alglaadimise vektor E51 jaoks
4 4 BOOTVEC1 Alglaadimise vektor U540 jaoks
8 4 BOOTVEC2 Alglaadimise vektor U541 jaoks
16 4 BOOTVEC3 Alglaadimise vektor U542 jaoks
20 4 BOOTVEC4 Alglaadimise vektor U543 jaoks

Järgmine joonis näitab mitteturvalist alglaadimisvoogu.
Joonis 4 • Mitteturvaline alglaadimisvoogMikrokiip-UG0881-PolarFire-SoC-FPGA-Booting-and-Configuration-joonis 4

Kasutaja turvaline alglaadimine
See režiim võimaldab kasutajal rakendada oma kohandatud turvalist alglaadimist ja kasutaja turvaline alglaadimiskood paigutatakse sNVM-i. sNVM on 56 KB püsimälu, mida saab kaitsta sisseehitatud füüsiliselt klooneerimata funktsiooniga (PUF). Seda alglaadimismeetodit peetakse turvaliseks, kuna ROM-ina märgitud sNVM-lehed on muutumatud. Sisselülitamisel kopeerib süsteemikontroller kasutaja turvalise alglaadimiskoodi sNVM-ist E51 monitori südamiku Data Tightly Integrated Memory (DTIM) mällu. E51 alustab kasutaja turvalise alglaadimiskoodi täitmist.
Kui kasutaja turvalise alglaadimiskoodi suurus on suurem kui DTIM-i suurus, peab kasutaja alglaadimiskoodi kaheks sekundiks jagamatages. sNVM võib sisaldada järgmisi stage kasutaja alglaadimisjärjestuses, mis võib teostada järgmise alglaadimise autentimisetage kasutades kasutaja autentimise/dekrüpteerimise algoritmi.
Kui kasutatakse autentitud või krüptitud lehti, siis sama USK-võti (st
U_MSS_BOOT_SNVM_USK) tuleb kasutada kõigi autentitud/krüptitud lehtede puhul.
Kui autentimine ebaõnnestub, saab MSS Core Complexi lähtestada ja BOOT_FAIL tamplipu saab heisata. Seda režiimi rakendatakse alglaadimisvaliku U_MSS_BOOTMODE=2 abil.

Tabel 3 •  U_MSS_BOOTCFG kasutamine kasutaja turvalises alglaadimises

Nihe (baitides) Suurus (baiti) Nimi Kirjeldus
0 1 U_MSS_BOOT_SNVM_PAGE Avaleht SNVM-is
1 3 RESERVEERITUD Joondamiseks
4 12 U_MSS_BOOT_SNVM_USK Autentitud/krüptitud lehtede jaoks

Järgmine joonis näitab kasutaja turvalist alglaadimisvoogu.
Joonis 5 • Kasutaja turvaline alglaadimise voogMikrokiip-UG0881-PolarFire-SoC-FPGA-Booting-and-Configuration-joonis 5

Tehasepoolne turvaline alglaadimine
Selles režiimis loeb süsteemikontroller eNVM-ist turvalise alglaadimiskujutise sertifikaati (SBIC) ja kinnitab SBIC-i. Eduka valideerimise korral kopeerib System Controller tehase turvalise alglaadimiskoodi oma privaatsest turvalisest mälualast ja laadib selle E51 monitori tuuma DTIM-i. Vaikimisi turvaline alglaadimine kontrollib eNVM-pildi allkirja, kasutades eNVM-i salvestatud SBIC-i. Kui vigadest ei teatata, lähtestatakse MSS Core Complex. Kui teatatakse vigadest, lähtestatakse MSS Core Complex ja BOOT_FAIL tampheisatakse lipp. Seejärel aktiveerub süsteemikontroller kellamper lipp, mis annab signaali FPGA kangale kasutaja tegevuseks. Seda režiimi rakendatakse alglaadimisvaliku U_MSS_BOOTMODE=3 abil.

SBIC sisaldab kaitstud kahendploki aadressi, suurust, räsi ja elliptilise kõvera digitaalallkirja algoritmi (ECDSA) allkirja. ECDSA pakub digitaalallkirja algoritmi varianti, mis kasutab elliptilise kõvera krüptograafiat. See sisaldab ka iga riistvara lähtestamisvektorit
niit/tuum/protsessori tuum (Hart) süsteemis.

Tabel 4 •  Secure Boot Image Certificate (SBIC)

Offset Suurus (baiti) Väärtus Kirjeldus
0 4 IMAGEADDR UBL-i aadress MSS-i mälukaardil
4 4 IMAGELEN UBL-i suurus baitides
8 4 BOOTVEC0 Alglaadimisvektor UBL-is E51 jaoks
12 4 BOOTVEC1 Alglaadimisvektor UBL-is U540 jaoks
16 4 BOOTVEC2 Alglaadimisvektor UBL-is U541 jaoks
20 4 BOOTVEC3 Alglaadimisvektor UBL-is U542 jaoks
24 4 BOOTVEC4 Alglaadimisvektor UBL-is U543 jaoks
28 1 VALIKUD[7:0] SBIC valikud
28 3 RESERVEERITUD  
32 8 VERSION SBIC/Image versioon
40 16 DSN Valikuline DSN-i sidumine
56 48 H UBL-kujutis SHA-384 räsi
104 104 KOOD DER-kodeeritud ECDSA allkiri
Kokku 208 Baitid  

DSN
Kui DSN-väli on nullist erinev, võrreldakse seda seadme enda seerianumbriga. Kui võrdlus ebaõnnestub, siis alglaadimise_tõrge tamper lipp on seatud ja autentimine katkestatakse.

VERSION
Kui U_MSS_REVOCATION_ENABLE lubab SBIC-i tühistamise, lükatakse SBIC tagasi, välja arvatud juhul, kui VERSION-i väärtus on tühistamislävest suurem või sellega võrdne.

SBIC TÜHISTAMISE VALIK
Kui U_MSS_REVOCATION_ENABLE lubab SBIC-i tühistamise ja OPTIONS[0] on '1', tühistatakse kõik SBIC-i versioonid, mis on väiksemad kui VERSION, pärast SBIC-i täielikku autentimist. Tühistamise lävi jääb uuele väärtusele, kuni see suureneb uuesti tulevase SBIC-i võrra, mille OPTIONS[0] = '1' ja kõrgem VERSION väli. Tühistamisläve saab suurendada ainult selle mehhanismi abil ja lähtestada ainult bitivoo abil.
Kui tühistamisläve värskendatakse dünaamiliselt, salvestatakse lävi pääsukoodide jaoks kasutatava üleliigse salvestusskeemi abil, nii et voolukatkestus seadme alglaadimise ajal ei põhjustaks seadme järgnevat alglaadimise ebaõnnestumist. Kui tühistamisläve värskendamine ebaõnnestub, on tagatud, et läviväärtus on kas uus või eelmine väärtus.

Tabel 5 • U_MSS_BOOTCFG kasutamine tehase alglaadija režiimis

Nihe (baitides)  

Suurus (baiti)

 

Nimi

 

Kirjeldus

0 4 U_MSS_SBIC_ADDR SBIC-i aadress MSS-i aadressiruumis
4 4 U_MSS_REVOCATION_ENABLE Lubage SBIC-i tühistamine, kui see ei ole null

Järgmine joonis näitab tehase turvalist alglaadimisvoogu.
Joonis 6 • Tehase turvaline alglaadimisvoogMikrokiip-UG0881-PolarFire-SoC-FPGA-Booting-and-Configuration-joonis 6 Mikrokiip-UG0881-PolarFire-SoC-FPGA-Booting-and-Configuration-joonis 7

MSS-i kasutaja alglaadimine 

MSS-i kasutaja alglaadimine toimub siis, kui juhtimine antakse süsteemikontrollerilt MSS Core Complexile. Eduka MSS-i eelkäivituse korral vabastab süsteemikontroller lähtestamise MSS-i põhikompleksile. MSS-i saab käivitada ühel järgmistest viisidest:

  • Paljast metallist pealekandmine
  • Linuxi rakendus
  • AMP Rakendus

Paljast metallist pealekandmine

PolarFire SoC paljast metallist rakendusi saab arendada SoftConsole tööriista abil. See tööriist annab väljundi files kujul .hex, mida saab kasutada Libero voos, et lisada programmeerimise bitivoogu file. Sama tööriista saab kasutada Bare Metali rakenduste silumiseks, kasutades JTAG
liides.
Järgmisel joonisel on kujutatud SoftConsole Bare Metal rakendust, millel on viis harti (südamikku), sealhulgas E51 monitori südamik.

Joonis 7 • SoftConsole projekt Mikrokiip-UG0881-PolarFire-SoC-FPGA-Booting-and-Configuration-joonis 8

Linuxi rakendus

Selles jaotises kirjeldatakse kõigis U54 tuumades töötava Linuxi alglaadimisjärjestust.
Tüüpiline alglaadimisprotsess koosneb kolmest s-sttages. Esimesed stagAlglaadur (FSBL) käivitatakse kiibil olevast alglaadimisvälgust (eNVM). FSBL laadib teise stage alglaadur (SSBL) alglaadimisseadmest välisele RAM-ile või vahemällu. Alglaadimisseade võib olla eNVM või sisseehitatud mälu mikrokontroller (eMMC) või väline SPI Flash. SSBL laadib Linuxi operatsioonisüsteemi alglaadimisseadmest välisesse RAM-i. Kolmandas stage, Linux käivitatakse välisest RAM-ist.

Järgmine joonis näitab Linuxi alglaadimisprotsessi voogu.
Joonis 8 • Tüüpiline Linuxi alglaadimisprotsessi voogMikrokiip-UG0881-PolarFire-SoC-FPGA-Booting-and-Configuration-joonis 9

Üksikasjad FSBL-i, seadmepuu, Linuxi ja YOCTO ehituse kohta ning Linuxi loomise ja konfigureerimise kohta esitatakse selle dokumendi tulevases väljaandes.

AMP Rakendus
Libero MSS Configuratori üksikasjalik kirjeldus ja mitme protsessoriga rakenduste silumine SoftConsole'i ​​abil esitatakse selle dokumendi tulevases väljaandes.

Erinevad alglaadimise allikad
Värskendatakse selle dokumendi tulevastes versioonides.

Alglaadimise konfiguratsioon
Värskendatakse selle dokumendi tulevastes versioonides.

Akronüümid

Selles dokumendis kasutatakse järgmisi akronüüme.

Tabel 1 •  Akronüümide loend

Akronüüm laiendatud

  • AMP Asümmeetriline mitmekordne töötlemine
  • DTIM Andmed tihedalt integreeritud mälu (nimetatakse ka SRAM-iks)
  • ECDSA Elliptilise kõvera digitaalallkirja algoritm
  • eNVM sisseehitatud püsimälu
  • FSBL Esimene Stage Alglaadur
  • Hart Riistvara niit/tuum/protsessori tuum
  • MSS Mikroprotsessori alamsüsteem
  • POR Toide sisse Lähtesta
  • PUF Füüsiliselt kloonimatu funktsioon
  • ROM Kirjutuskaitstud mälu
  • SCB Süsteemi kontrolleri sild
  • sNVM Turvaline püsimälu

Läbivaatamise ajalugu

Redaktsiooniajalugu kirjeldab dokumendis rakendatud muudatusi. Muudatused on loetletud redaktsioonide kaupa, alustades praegusest väljaandest.

Läbivaatamine 2.0
Järgmine on kokkuvõte selles versioonis tehtud muudatustest.

  • Teavet Factory Secure Booti kohta värskendati.
  • Teavet Bare Metal Applicationi kohta uuendati.

Läbivaatamine 1.0
Selle dokumendi esimene avaldamine.

Microsemi peakorter
One Enterprise, Aliso Viejo,
CA 92656 USA
USA piires: +1 800-713-4113
Väljaspool USA-d: +1 949-380-6100
Müük: +1 949-380-6136
Faks: +1 949-215-4996
E-post: sales.support@microsemi.com
www.microsemi.com

©2020 Microsemi, Microchip Technology Inc. täielikult kuuluv tütarettevõte. Kõik õigused kaitstud. Microsemi ja Microsemi logo on Microsemi Corporationi registreeritud kaubamärgid. Kõik muud kaubamärgid ja teenindusmärgid on nende vastavate omanike omand.

Dokumendid / Ressursid

Mikrokiip UG0881 PolarFire SoC FPGA alglaadimine ja konfigureerimine [pdfKasutusjuhend
UG0881 PolarFire SoC FPGA alglaadimine ja konfigureerimine, UG0881, PolarFire SoC FPGA alglaadimine ja konfigureerimine, käivitamine ja konfigureerimine

Viited

Jäta kommentaar

Teie e-posti aadressi ei avaldata. Kohustuslikud väljad on märgitud *