Microsemi-LGOO

Nisja dhe konfigurimi i mikroçipit UG0881 PolarFire SoC FPGA

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

Garancia

Microsemi nuk jep asnjë garanci, përfaqësim ose garanci në lidhje me informacionin e përfshirë këtu ose përshtatshmërinë e produkteve dhe shërbimeve të saj për ndonjë qëllim të veçantë, dhe as Microsemi nuk merr përsipër ndonjë përgjegjësi që lind nga aplikimi ose përdorimi i ndonjë produkti ose qarku. Produktet e shitura më poshtë dhe çdo produkt tjetër i shitur nga Microsemi i janë nënshtruar testimit të kufizuar dhe nuk duhet të përdoren në lidhje me pajisjet ose aplikacionet kritike për misionin. Çdo specifikim i performancës besohet të jetë i besueshëm, por nuk verifikohet, dhe Blerësi duhet të kryejë dhe të kryejë të gjitha testimet e performancës dhe të tjera të produkteve, vetëm dhe së bashku me, ose të instaluar në, çdo produkt përfundimtar. Blerësi nuk do të respektojë të dhënat dhe specifikimet ose parametrat e performancës të ofruara nga Microsemi. Është përgjegjësi e blerësit të përcaktojë në mënyrë të pavarur përshtatshmërinë e çdo produkti dhe të testojë dhe verifikojë të njëjtën gjë. Informacioni i dhënë nga Microsemi më poshtë jepet "siç është, ku është" dhe me të gjitha gabimet, dhe i gjithë rreziku që lidhet me një informacion të tillë është tërësisht tek Blerësi. Microsemi nuk i jep, në mënyrë eksplicite ose të nënkuptuar, asnjë pale asnjë të drejtë patente, licencë ose ndonjë të drejtë tjetër të IP, qoftë në lidhje me vetë informacionin e tillë apo çdo gjë të përshkruar nga ky informacion. Informacioni i dhënë në këtë dokument është në pronësi të Microsemi dhe Microsemi rezervon të drejtën të bëjë çdo ndryshim në informacionin në këtë dokument ose në çdo produkt dhe shërbim në çdo kohë pa paralajmërim.

Rreth Microsemi

Microsemi, një degë në pronësi të plotë të Microchip Technology Inc. (Nasdaq: MCHP), ofron një portofol gjithëpërfshirës të zgjidhjeve gjysmëpërçuese dhe të sistemit për hapësirën ajrore dhe mbrojtjen, komunikimet, qendrat e të dhënave dhe tregjet industriale. Produktet përfshijnë qarqe të integruara analoge me sinjal të përzier me performancë të lartë dhe të ngurtësuar nga rrezatimi, FPGA, SoC dhe ASIC; produkte të menaxhimit të energjisë; pajisjet e kohës dhe sinkronizimit dhe zgjidhjet e sakta kohore, duke vendosur standardet botërore për kohën; pajisje për përpunimin e zërit; Zgjidhje RF; komponente diskrete; zgjidhje për ruajtjen dhe komunikimin e ndërmarrjeve, teknologjitë e sigurisë dhe anti-t të shkallëzuaramper produkte; zgjidhje Ethernet; IC-të dhe hapjet e mesit me fuqi mbi Ethernet; si dhe aftësitë dhe shërbimet e dizajnit me porosi. Mësoni më shumë në www.microsemi.com.

Nisja dhe konfigurimi

PolarFire SoC FPGA përdorin qark të avancuar të ngritjes së energjisë për të siguruar ndezje të besueshme gjatë ndezjes dhe rivendosjes. Me ndezjen dhe rivendosjen, sekuenca e nisjes së PolarFire SoC FPGA ndjek rivendosjen e ndezjes (POR), nisjen e pajisjes, inicializimin e dizajnit, nënsistemin e mikrokontrolluesit (MSS) dhe nisjen e përdoruesit MSS. Ky dokument përshkruan MSS para-boot dhe MSS User Boot. Për informacion në lidhje me POR, Device Boot dhe Inicializimi i Dizajnit, shihni UG0890: PolarFire SoC FPGA Power-Up and Resets User Guide.
Për më shumë informacion rreth veçorive të MSS, shihni UG0880: PolarFire SoC MSS Udhëzuesi i përdorimit.

Sekuenca e nisjes
Sekuenca e nisjes fillon kur aktivizohet ose rivendoset PolarFire SoC FPGA. Ai përfundon kur procesori është gati për të ekzekutuar një program aplikimi. Kjo sekuencë e nisjes kalon nëpër disa stages para se të fillojë ekzekutimi i programeve.
Një grup operacionesh kryhen gjatë procesit Boot-up që përfshin rivendosjen e ndezjes së harduerit, inicializimin periferik, inicializimin e memories dhe ngarkimin e aplikacionit të përcaktuar nga përdoruesi nga memoria jo e paqëndrueshme në memorien e paqëndrueshme për ekzekutim.

Figura e mëposhtme tregon faza të ndryshme të sekuencës Boot-up.

Figura 1  Sekuenca e nisjesMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 1

MSS Para-Boot

Pas përfundimit të suksesshëm të Inicializimit të Dizajnit, MSS Para-boot fillon ekzekutimin e tij. MSS çlirohet nga një rivendosje pas përfundimit të të gjitha procedurave normale të nisjes. Kontrolluesi i sistemit menaxhon programimin, inicializimin dhe konfigurimin e pajisjeve. MSS Para-boot nuk ndodh nëse pajisja e programuar është konfiguruar për modalitetin e pezullimit të kontrolluesit të sistemit.
Faza para nisjes së MSS e inicializimit koordinohet nga firmware-i i kontrolluesit të sistemit, megjithëse mund të përdorë E51 në Kompleksin Bërthamë MSS për të kryer pjesë të caktuara të sekuencës para nisjes.
Ngjarjet e mëposhtme ndodhin gjatë s para-boot MSStage:

  • Ndezja e memorjes jo të paqëndrueshme të ngulitur MSS (eNVM)
  • Inicializimi i riparimit të tepricës lidhur me cache-in MSS Core Complex L2
  • Vërtetimi i kodit të nisjes së përdoruesit (nëse opsioni i nisjes së Sigurisë së Përdoruesit është i aktivizuar)
  • Dorëzimi operativ MSS te kodi i nisjes së përdoruesit

Kompleksi MSS Core mund të niset në një nga katër mënyrat. Tabela e mëposhtme liston opsionet para nisjes së MSS, të cilat mund të konfigurohen dhe programohen në sNVM. Modaliteti i nisjes përcaktohet nga parametri i përdoruesit U_MSS_BOOTMODE[1:0]. Të dhënat shtesë të konfigurimit të nisjes varen nga modaliteti dhe përcaktohen nga parametri i përdoruesit U_MSS_BOOTCFG (shih Tabelën 3, faqe 4 dhe Tabelën 5, faqe 6).

Tabela 1 • Mënyrat e nisjes komplekse MSS Core

U_MSS_BOOTMODE[1:0] Modaliteti Përshkrimi
0 Çizme boshe MSS Core Complex nis nga boot ROM nëse MSS nuk është i konfiguruar
1 Boot jo i sigurt MSS Core Complex nis direkt nga adresa e përcaktuar nga U_MSS_BOOTADDR
2 Nisja e sigurt e përdoruesit Çizme MSS Core Complex nga sNVM
3 Çizme e sigurt nga fabrika Çizmet MSS Core Complex duke përdorur protokollin e nisjes së sigurt nga fabrika

Opsioni i nisjes zgjidhet si pjesë e rrjedhës së dizajnit Libero. Ndryshimi i modalitetit mund të arrihet vetëm përmes gjenerimit të një programimi të ri FPGA file.

Figura 2 • Rrjedha e para-boot MSS Microchip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 2

Çizme boshe

Nëse MSS nuk është konfiguruar (për shembullample, pajisja bosh), më pas MSS Core Complex ekzekuton një program boot ROM i cili i mban të gjithë procesorët në një lak të pafund derisa një korrigjues të lidhet me objektivin. Regjistrat e vektorit të nisjes ruan vlerën e tyre derisa pajisja të rivendoset ose të programohet një konfigurim i ri i modalitetit të nisjes. Për pajisjet e konfiguruara, kjo mënyrë mund të zbatohet duke përdorur
U_MSS_BOOTMODE=0 opsion boot në konfiguruesin Libero.

Shënim: Në këtë modalitet, U_MSS_BOOTCFG nuk përdoret.

Figura e mëposhtme tregon rrjedhën e nisjes së papunë.
Figura 3 • Rrjedha e nisjes së papunëMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 3

Boot jo i sigurt

Në këtë mënyrë, MSS Core Complex ekzekuton nga një adresë eNVM e specifikuar pa vërtetim. Ai siguron opsionin më të shpejtë të nisjes, por nuk ka vërtetim të imazhit të kodit. Adresa mund të specifikohet duke vendosur U_MSS_BOOTADDR në Libero Configurator. Ky modalitet mund të përdoret gjithashtu për të nisur nga çdo burim memorie FPGA Fabric përmes FIC. Kjo mënyrë zbatohet duke përdorur
U_MSS_BOOTMODE=1 opsion nisjeje.
Kompleksi bërthamë MSS çlirohet nga rivendosja me vektorët e nisjes të përcaktuar nga U_MSS_BOOTCFG (siç renditet në tabelën e mëposhtme).

Tabela 2 • Përdorimi i U_MSS_BOOTCFG në modalitetin e nisjes jo të sigurt 1

Kompensimi (bajt)  

Madhësia (byte)

 

Emri

 

Përshkrimi

0 4 BOOTVEC0 Vektori i nisjes për E51
4 4 BOOTVEC1 Vektori i nisjes për U540
8 4 BOOTVEC2 Vektori i nisjes për U541
16 4 BOOTVEC3 Vektori i nisjes për U542
20 4 BOOTVEC4 Vektori i nisjes për U543

Figura e mëposhtme tregon rrjedhën e nisjes jo të sigurt.
Figura 4 • Rrjedha e nisjes jo e sigurtMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 4

Nisja e sigurt e përdoruesit
Ky modalitet i lejon përdoruesit të zbatojë nisjen e tij të sigurt të personalizuar dhe kodi i nisjes së sigurt të përdoruesit vendoset në sNVM. sNVM është një memorie jo e paqëndrueshme 56 KB që mund të mbrohet nga funksioni i integruar fizikisht i paklonueshëm (PUF). Kjo metodë e nisjes konsiderohet e siguruar sepse faqet sNVM të shënuara si ROM janë të pandryshueshme. Kur ndizet, kontrolluesi i sistemit kopjon kodin e nisjes së sigurt të përdoruesit nga sNVM në kujtesën e integruar fort të të dhënave (DTIM) të bërthamës së monitorit E51. E51 fillon të ekzekutojë kodin e nisjes së sigurt të përdoruesit.
Nëse madhësia e kodit të nisjes së sigurt të përdoruesit është më e madhe se madhësia e DTIM, atëherë përdoruesi duhet të ndajë kodin e nisjes në dy stages. sNVM mund të përmbajë s-në e ardhshmetage të sekuencës së nisjes së përdoruesit, e cila mund të kryejë vërtetimin e nisjes së ardhshmetage duke përdorur algoritmin e vërtetimit/deshifrimit të përdoruesit.
Nëse përdoren faqe të vërtetuara ose të koduara, atëherë i njëjti çelës USK (d.m.th.
U_MSS_BOOT_SNVM_USK) duhet të përdoret për të gjitha faqet e vërtetuara/kriptuara.
Nëse vërtetimi dështon, MSS Core Complex mund të vendoset në rivendosje dhe BOOT_FAIL tamper flamuri mund të ngrihet. Ky modalitet zbatohet duke përdorur opsionin e nisjes U_MSS_BOOTMODE=2.

Tabela 3 •  Përdorimi i U_MSS_BOOTCFG në nisjen e sigurt të përdoruesit

Kompensimi (bajt) Madhësia (byte) Emri Përshkrimi
0 1 U_MSS_BOOT_SNVM_PAGE Faqja e fillimit në SNVM
1 3 E REZERVUAR Për shtrirjen
4 12 U_MSS_BOOT_SNVM_USK Për faqet e vërtetuara/kriptuara

Figura e mëposhtme tregon rrjedhën e sigurt të nisjes nga përdoruesi.
Figura 5 • Rrjedha e sigurt e nisjes së përdoruesitMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 5

Çizme e sigurt nga fabrika
Në këtë modalitet, kontrolluesi i sistemit lexon Certifikatën e Imazhit të Sigurt të Boot (SBIC) nga eNVM dhe vërteton SBIC. Pas vërtetimit të suksesshëm, Kontrolluesi i Sistemit kopjon kodin e nisjes së sigurt të fabrikës nga zona e tij e memories private dhe e sigurt dhe e ngarkon atë në DTIM të bërthamës së monitorit E51. Nisja e sigurt e parazgjedhur kryen një kontroll nënshkrimi në imazhin eNVM duke përdorur SBIC i cili ruhet në eNVM. Nëse nuk raportohen gabime, rivendosja lëshohet në kompleksin kryesor MSS. Nëse raportohen gabime, MSS Core Complex vendoset në rivendosje dhe BOOT_FAIL tampështë ngritur flamuri. Pastaj, kontrolluesi i sistemit aktivizohet nëamper flamur i cili pohon një sinjal në strukturën FPGA për veprimin e përdoruesit. Ky modalitet zbatohet duke përdorur opsionin e nisjes U_MSS_BOOTMODE=3.

SBIC përmban adresën, madhësinë, hash-in dhe nënshkrimin e Algoritmit të Nënshkrimit Dixhital të Kurbës Elliptike (ECDSA) të blobit binar të mbrojtur. ECDSA ofron një variant të Algoritmit të Nënshkrimit Dixhital i cili përdor kriptografinë e kurbës eliptike. Ai gjithashtu përmban vektorin e rivendosjes për çdo harduer
thread / bërthama / bërthama e procesorit (Hart) në sistem.

Tabela 4 •  Certifikata e imazhit të nisjes së sigurt (SBIC)

Kompensimi Madhësia (byte) Vlera Përshkrimi
0 4 IMAGEADDR Adresa e UBL në hartën e memories MSS
4 4 IMAGELEN Madhësia e UBL në bajt
8 4 BOOTVEC0 Vektori i nisjes në UBL për E51
12 4 BOOTVEC1 Vektori i nisjes në UBL për U540
16 4 BOOTVEC2 Vektori i nisjes në UBL për U541
20 4 BOOTVEC3 Vektori i nisjes në UBL për U542
24 4 BOOTVEC4 Vektori i nisjes në UBL për U543
28 1 OPTIONS[7:0] Opsionet SBIC
28 3 E REZERVUAR  
32 8 VERSIONI Versioni SBIC/Image
40 16 DSN Lidhja DSN opsionale
56 48 H UBL imazhi SHA-384 hash
104 104 KODIZIMI Nënshkrimi ECDSA i koduar me DER
Gjithsej 208 Bajt  

DSN
Nëse fusha DSN është jo zero, ajo krahasohet me numrin serial të pajisjes. Nëse krahasimi dështon, atëherë boot_fail tamper flamuri është vendosur dhe vërtetimi është ndërprerë.

VERSIONI
Nëse revokimi i SBIC është aktivizuar nga U_MSS_REVOCATION_ENABLE, SBIC refuzohet përveç nëse vlera e VERSION është më e madhe ose e barabartë me pragun e revokimit.

OPTION REVOKIMI SBIC
Nëse revokimi SBIC është aktivizuar nga U_MSS_REVOCATION_ENABLE dhe OPTIONS[0] është '1', të gjitha versionet SBIC më pak se VERSION revokohen pas vërtetimit të plotë të SBIC. Pragu i revokimit mbetet në vlerën e re derisa të rritet përsëri me një SBIC të ardhshëm me OPTIONS[0] = '1' dhe një fushë VERSION më të lartë. Pragu i revokimit mund të rritet vetëm duke përdorur këtë mekanizëm dhe mund të rivendoset vetëm nga një transmetim bit.
Kur pragu i revokimit përditësohet në mënyrë dinamike, pragu ruhet duke përdorur skemën e tepërt të ruajtjes së përdorur për kodet e kalimit, në mënyrë që një ndërprerje e energjisë gjatë nisjes së pajisjes të mos shkaktojë dështimin e një nisjeje të mëvonshme të pajisjes. Nëse përditësimi i pragut të revokimit dështon, garantohet se vlera e pragut është ose vlera e re ose ajo e mëparshme.

Tabela 5 • Përdorimi i U_MSS_BOOTCFG në modalitetin e ngarkuesit të nisjes së fabrikës

Kompensimi (bajt)  

Madhësia (byte)

 

Emri

 

Përshkrimi

0 4 U_MSS_SBIC_ADDR Adresa e SBIC në hapësirën e adresave MSS
4 4 U_MSS_REVOCATION_ENABLE Aktivizo revokimin e SBIC nëse nuk është zero

Figura e mëposhtme tregon rrjedhën e ngarkimit të sigurt nga fabrika.
Figura 6 • Fluksi i sigurt i nisjes nga fabrikaMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 6 Microchip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 7

Nisja e përdoruesit MSS 

Nisja e përdoruesit MSS bëhet kur kontrolli jepet nga System Controller në MSS Core Complex. Pas nisjes paraprake të suksesshme të MSS, kontrolluesi i sistemit lëshon rivendosjen në Kompleksin Bërthamë MSS. MSS mund të niset në një nga mënyrat e mëposhtme:

  • Aplikim metalik i zhveshur
  • Aplikacioni Linux
  • AMP Aplikimi

Aplikim metalik i zhveshur

Aplikacionet metalike të zhveshura për PolarFire SoC mund të zhvillohen duke përdorur mjetin SoftConsole. Ky mjet ofron rezultatin files në formën e .hex e cila mund të përdoret në rrjedhën Libero për të përfshirë në bitstreamin e programimit file. I njëjti mjet mund të përdoret për të korrigjuar gabimet e aplikacioneve Bare Metal duke përdorur JTAG
ndërfaqe.
Figura e mëposhtme tregon aplikacionin SoftConsole Bare Metal i cili ka pesë harta (Bërthamë) duke përfshirë bërthamën e monitorit E51.

Figura 7 • Projekti i SoftConsole Microchip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 8

Aplikacioni Linux

Ky seksion përshkruan sekuencën e nisjes për Linux që funksionon në të gjitha bërthamat U54.
Një proces tipik i nisjes përbëhet nga tre stages. Shekulli i parëtagNgarkuesi i nisjes (FSBL) ekzekutohet nga flashi i nisjes në çip (eNVM). FSBL ngarkon s-në e dytëtagngarkues i nisjes (SSBL) nga një pajisje boot në RAM ose Cache të jashtme. Pajisja e nisjes mund të jetë eNVM ose mikrokontrollues i memories së integruar (eMMC) ose SPI Flash i jashtëm. SSBL ngarkon sistemin operativ Linux nga pajisja e nisjes në RAM-in e jashtëm. Në shekullin e tretëtage, Linux ekzekutohet nga RAM-i i jashtëm.

Figura e mëposhtme tregon rrjedhën e procesit të nisjes Linux.
Figura 8 • Rrjedha tipike e procesit të nisjes LinuxMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 9

Detajet e FSBL, Device Pema, Linux dhe YOCTO build, si të ndërtohet dhe konfigurohet Linux do të jepen në publikimin e ardhshëm të këtij dokumenti.

AMP Aplikimi
Përshkrimi i detajuar i Libero MSS Configurator dhe mënyra e korrigjimit të aplikacioneve me shumë procesorë duke përdorur SoftConsole do të jepet në publikimin e ardhshëm të këtij dokumenti.

Burime të ndryshme të nisjes
Për t'u përditësuar në versionet e ardhshme të këtij dokumenti.

Konfigurimi i nisjes
Për t'u përditësuar në versionet e ardhshme të këtij dokumenti.

Akronimet

Në këtë dokument përdoren shkurtesat e mëposhtme.

Tabela 1 •  Lista e shkurtesave

Akronimi i zgjeruar

  • AMP Multi-përpunim asimetrik
  • DTIM Memorie e integruar fort e të dhënave (e quajtur edhe si SRAM)
  • ECDSA Algoritmi i nënshkrimit dixhital të kurbës eliptike
  • eNVM memorie e integruar jo e paqëndrueshme
  • FSBL Së pari Stage Boot Loader
  • Hart Thread / bërthama / bërthama e procesorit të harduerit
  • MSS Nënsistemi i mikroprocesorit
  • POR Aktivizimi i rivendosjes
  • PUF Funksioni fizikisht i paklonueshëm
  • ROM Memorie vetem per lexim
  • SCB Ura e Kontrolluesit të Sistemit
  • sNVM Memorie e sigurt jo e paqëndrueshme

Historia e rishikimit

Historia e rishikimit përshkruan ndryshimet që janë zbatuar në dokument. Ndryshimet janë renditur me rishikim, duke filluar me publikimin aktual.

Rishikimi 2.0
Më poshtë është një përmbledhje e ndryshimeve të bëra në këtë rishikim.

  • Informacioni rreth Factory Secure Boot u përditësua.
  • Informacioni rreth Aplikacionit Bare Metal u përditësua.

Rishikimi 1.0
Publikimi i parë i këtij dokumenti.

Shtabi Microsemi
One Enterprise, Aliso Viejo,
CA 92656 SHBA
Brenda SHBA: +1 800-713-4113
Jashtë SHBA: +1 949-380-6100
Shitjet: +1 949-380-6136
Faksi: +1 949-215-4996
Email: sales.support@microsemi.com
www.microsemi.com

©2020 Microsemi, një degë në pronësi të plotë të Microchip Technology Inc. Të gjitha të drejtat e rezervuara. Microsemi dhe logoja Microsemi janë marka tregtare të regjistruara të Microsemi Corporation. Të gjitha markat e tjera tregtare dhe markat e shërbimit janë pronë e pronarëve të tyre përkatës.

Dokumentet / Burimet

Nisja dhe konfigurimi i mikroçipit UG0881 PolarFire SoC FPGA [pdfUdhëzuesi i përdoruesit
UG0881 PolarFire SoC Nisja dhe konfigurimi FPGA, UG0881, PolarFire SoC FPGA Nisja dhe konfigurimi, nisja dhe konfigurimi

Referencat

Lini një koment

Adresa juaj e emailit nuk do të publikohet. Fushat e kërkuara janë shënuar *