Nisja dhe konfigurimi i mikroçipit UG0881 PolarFire SoC FPGA
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 nisjes
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
Ç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ë
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 sigurt
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ërdoruesit
Ç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 fabrika
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
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 Linux
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 |