Microsemi-LGOO

Microchip UG0881 PolarFire SoC FPGA Bootkirin Û Vesazkirin

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

Libersekînîn

Microsemi di derbarê agahdariya ku li vir heye an guncavbûna hilber û karûbarên xwe ji bo armancek taybetî de garantî, nûnertî, an garantiyek nade, û ne jî Microsemi berpirsiyariyek ku ji serîlêdan an karanîna hilberek an cîhek derbikeve nagire ser xwe. Berhemên ku li vir têne firotin û her hilberên din ên ku ji hêla Microsemi ve têne firotin hatine ceribandinek tixûbdar û pêdivî ye ku bi amûr an serîlêdanên mîsyonê-krîtîk re neyê bikar anîn. Tê bawer kirin ku her taybetmendiyên performansê pêbawer in lê nayên verast kirin, û Kiryar pêdivî ye ku hemî performans û ceribandinên din ên hilberan, bi tenê û bi hev re, an di nav hilberên paşîn de, pêk bîne û temam bike. Xerîdar pêdivî ye ku li ser ti daneyan û taybetmendiyên performansê an parametreyên ku ji hêla Microsemi ve hatî peyda kirin nesekine. Berpirsiyariya Kiriyar e ku bi rengek serbixwe guncaniya her hilberan diyar bike û heman yekê ceribandin û verast bike. Agahdariya ku ji hêla Microsemi ve li vir hatî peyda kirin "wek ku ye, li ku ye" û bi hemî xeletiyan ve tête peyda kirin, û hemî xetera ku bi agahdariya weha re têkildar e bi tevahî bi Kiryar re ye. Microsemi, bi eşkere an nepenî, ji ti aliyekî re tu mafên patentê, lîsans, an mafên IP-ya din nade, çi di derheqê agahdariya weha bixwe de an jî tiştek ku ji hêla agahdariya weha ve hatî destnîşan kirin. Agahdariya ku di vê belgeyê de hatî peyda kirin xwedan Microsemi ye, û Microsemi mafê xwe diparêze ku di her kêliyê de bêyî agahdarî di agahdariya vê belgeyê de an jî her hilber û karûbaran de guhertinan bike.

Der barê Microsemi

Microsemi, bi tevahî xwedan pargîdaniyek Microchip Technology Inc. (Nasdaq: MCHP), portfoliyoyek berfireh a çareseriyên nîvconductor û pergalê ji bo hewa û berevanî, ragihandin, navenda daneyê û bazarên pîşesaziyê pêşkêşî dike. Berheman şebekeyên yekbûyî yên analog-sînyala tevlihev-performansa bilind û tîrêjkirî, FPGA, SoC û ASIC hene; hilberên rêveberiya hêzê; Amûrên dem û hevdemkirinê û çareseriyên demê yên rast, standardên cîhanê ji bo demê destnîşan dikin; Amûrên hilberandina deng; çareseriyên RF; pêkhateyên veqetandî; hilanînê û çareseriyên ragihandinê yên pargîdanî, teknolojiyên ewlehiyê û antî-t-ya berbelavampberhemên er; çareseriyên Ethernet; Power-ser-Ethernet ICs and midspans; û her weha şiyan û karûbarên sêwirana xwerû. Zêdetir fêr bibin li www.microsemi.com.

Booting Û Vesazkirin

PolarFire SoC FPGA çerxa bihêzkirina pêşkeftî bikar tînin da ku hêza pêbawer di dema hilanîn û vesazkirinê de piştrast bikin. Di dema hêzdarkirin û vesazkirinê de, rêzika bootkirina PolarFire SoC FPGA li dû vesazkirina Power-on (POR), Bootkirina cîhazê, destpêkirina sêwiranê, pêş-bootkirina Subpergala Mîkrokontroller (MSS), û bootkirina bikarhênerê MSS-ê dişopîne. Ev belge pêş-boot MSS û Boot Bikarhêner MSS vedibêje. Ji bo agahdariya di derbarê POR, Device Boot û destpêkirina sêwiranê de, li UG0890 binêre: PolarFire SoC FPGA Power-Up and Resets Rêbernameya Bikarhêner.
Ji bo bêtir agahdarî li ser taybetmendiyên MSS-ê, UG0880 bibînin: Rêbernameya Bikarhêner a PolarFire SoC MSS.

Boot-up Sequence
Dema ku PolarFire SoC FPGA-ya PolarFire SoC FPGA-ê were hilanîn an vesaz kirin, rêzika boot-up dest pê dike. Dema ku pêvajo amade ye ku bernameyek serîlêdanê pêk bîne, ew bi dawî dibe. Ev rêzika bootkirinê bi çend s re derbas dibetages berî ku ew dest bi pêkanîna bernameyan bike.
Di pêvajoya Boot-up-ê de komek operasyonan têne kirin ku tê de ji nûvekirina hêzê ya hardware, destpêkirina dorhêl, destpêkirina bîranînê, û barkirina serîlêdana diyarkirî ya bikarhêner ji bîra ne-hilweşîn ber bi bîranîna guhezbar ve ji bo darvekirinê vedihewîne.

Nîgara jêrîn qonaxên cihêreng ên rêzika Boot-up nîşan dide.

jimar 1  Boot-up SequenceMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 1

MSS Pre-Boot

Piştî bidawîbûna serketî ya Destpêkkirina Sêwiranê, MSS Pre-boot dest bi darvekirina xwe dike. MSS piştî temamkirina hemî prosedurên destpêkê yên normal ji nûvekirinê tê berdan. Kontrolkerê pergalê bernamekirin, destpêkkirin û veavakirina cîhazan birêve dibe. Ger cîhaza bernamekirî ji bo moda sekinandina kontrolkerê pergalê were mîheng kirin Pêş-boot MSS pêk nayê.
Qonaxa destpêkê ya MSS-ê ya pêş-boot-ê ji hêla firmware-ya kontrolkerê pergalê ve tête hevrêz kirin, her çend ew dikare E51-ê di MSS Core Complex de bikar bîne da ku hin beşên rêzika pêş-boot-ê pêk bîne.
Bûyerên jêrîn di dema pêş-bootkirina MSS-ê de çêdibintage:

  • Hêzdarkirina MSS-a Bîra Ne-Volatile ya bicîbûyî (eNVM)
  • Destpêkirina tamîrkirina zêdebûnê ya ku bi cache MSS Core Complex L2 ve girêdayî ye
  • Nasnamekirina koda bootê ya bikarhêner (heke vebijarka boota Ewle ya Bikarhêner çalak be)
  • MSS-a xebitandinê radestî koda Boot-ê ya Bikarhêner bikin

MSS Core Complex dikare di yek ji çar awayan de were boot kirin. Tabloya jêrîn vebijarkên pêş-bootkirina MSS-ê destnîşan dike, ku dikarin di sNVM-ê de werin mîheng kirin û bernamekirin. Moda bootê ji hêla pîvana bikarhêner U_MSS_BOOTMODE[1:0] ve tê destnîşankirin. Daneyên veavakirina bootê yên zêde bi modê ve girêdayî ye û ji hêla pîvana bikarhêner U_MSS_BOOTCFG ve tê destnîşankirin (li Tablo 3, rûpel 4 û Tablo 5, rûpel 6 binêre).

Tablo 1 • MSS Core Modes Boot Complex

U_MSS_BOOTMODE[1:0] Awa Terîf
0 Idle boot MSS Core Complex ji boot ROM-ê çêdibe heke MSS neyê mîheng kirin
1 Boot ne-ewle MSS Core Complex rasterast ji navnîşana ku ji hêla U_MSS_BOOTADDR ve hatî destnîşankirin dest pê dike
2 Bikarhêner boot ewle MSS Core Complex boots ji sNVM
3 Factory boot ewle MSS Core Complex boots bi karanîna protokola bootê ya ewledar a fabrîkî

Vebijarka bootê wekî beşek ji herikîna sêwirana Libero tê hilbijartin. Guhertina modê tenê bi hilberîna bernameyek FPGA-ya nû dikare were bidestxistin file.

Figure 2 • MSS Pre-boot Flow Microchip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 2

Idle Boot

Ger MSS nehatibe mîheng kirin (mînakample, cîhaza vala), dûv re MSS Core Complex bernameyek boot ROM-ê dimeşîne ku hemî pêvajokeran di xelekek bêdawî de digire heya ku debugerek bi armancê ve girêdide. Tomarên vektora bootê nirxa xwe diparêze heya ku cîhaz ji nû ve were saz kirin an veavakirinek moda bootê ya nû were bernamekirin. Ji bo cîhazên mîhengkirî, ev mod dikare bi karanîna ve were bicîh kirin
U_MSS_BOOTMODE=0 vebijarka bootkirinê di vesazkera Libero de.

Not: Di vê modê de, U_MSS_BOOTCFG nayê bikaranîn.

Nîgara jêrîn herikîna bootê ya Idle nîşan dide.
jimar 3 • Idle Boot FlowMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 3

Boot ne-ewle

Di vê modê de, MSS Core Complex ji navnîşek eNVM-ya diyarkirî bêyî pejirandinê pêk tîne. Ew vebijarka bootê ya herî bilez peyda dike, lê erêkirina wêneya kodê tune. Navnîşan dikare bi sazkirina U_MSS_BOOTADDR di Vesazkera Libero de were destnîşankirin. Ev mod di heman demê de dikare were bikar anîn da ku ji her çavkaniyek bîranîna FPGA Fabric bi navgîniya FIC ve were boot kirin. Ev moda bi kar tîne
U_MSS_BOOTMODE=1 vebijarka bootê.
Kompleksa MSS Core bi vektorên bootê yên ku ji hêla U_MSS_BOOTCFG ve hatine destnîşan kirin (wekî ku di tabloya jêrîn de hatî destnîşan kirin) ji nûvekirinê tê berdan.

Tablo 2 • Bikaranîna U_MSS_BOOTCFG di Moda Bootê ya Ne Ewle de 1

Offset (bytes)  

Mezinahî (bytes)

 

Nav

 

Terîf

0 4 BOOTVEC0 Vektora Boot ji bo E51
4 4 BOOTVEC1 Vektora Boot ji bo U540
8 4 BOOTVEC2 Vektora Boot ji bo U541
16 4 BOOTVEC3 Vektora Boot ji bo U542
20 4 BOOTVEC4 Vektora Boot ji bo U543

Nîgara jêrîn herikîna bootê ya ne-ewle nîşan dide.
jimar 4 • Ne-ewle Boot FlowMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 4

Bikarhêner Boot Ewle
Ev mod dihêle bikarhêner boota xweya ewledar a xwerû bicîh bike û koda bootê ya ewledar a bikarhêner di sNVM de tê danîn. sNVM bîranînek 56 KB-yê ne-hilweşîn e ku dikare ji hêla Fonksiyona Fîzîkî ya Neklonabar a çêkirî (PUF) ve were parastin. Ev rêbaza bootê ewledar tê hesibandin ji ber ku rûpelên sNVM yên ku wekî ROM hatine nîşankirin neguhêrbar in. Di dema hêzbûnê de, kontrolkerê pergalê koda bootê ya ewledar a bikarhêner ji sNVM-ê li Bîra Têkhevkirî ya Daneyên (DTIM) ya bingeha E51 Monitor kopî dike. E51 dest bi cîbicîkirina koda bootê ya ewledar a bikarhêner dike.
Ger mezinahiya koda bootê ya ewledar a bikarhêner ji mezinahiya DTIM-ê pirtir e, wê hingê pêdivî ye ku bikarhêner koda bootê bike du s.tages. Dibe ku sNVM s-ya paşîn dihewînetage ji rêzika bootê ya bikarhêner, ku dibe ku erêkirina boota paşîn pêk bînetage bi karanîna algorîtmaya rastkirina/deşîfrekirina bikarhêner.
Ger rûpelên pejirandî an şîfrekirî têne bikar anîn wê hingê heman mifteya USK (ango,
U_MSS_BOOT_SNVM_USK) divê ji bo hemî rûpelên pejirandî / şîfrekirî were bikar anîn.
Ger verastkirin têk nebe, MSS Core Complex dikare ji nû ve were danîn û BOOT_FAIL tamper ala dikare were bilind kirin. Ev mod bi karanîna U_MSS_BOOTMODE=2 vebijarka bootê tê pêkanîn.

Tablo 3 •  Bikaranîna U_MSS_BOOTCFG di Boot Ewle ya Bikarhêner de

Offset (bytes) Mezinahî (bytes) Nav Terîf
0 1 U_MSS_BOOT_SNVM_PAGE Di SNVM de rûpela destpêkê
1 3 RESERVED Ji bo hevgirtinê
4 12 U_MSS_BOOT_SNVM_USK Ji bo rûpelên pejirandî / şîfrekirî

Nîgara jêrîn herikîna bootê ya ewledar a bikarhêner nîşan dide.
jimar 5 • Bikarhêner Secure Boot FlowMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 5

Factory Secure Boot
Di vê modê de, kontrolkerê pergalê Sertîfîkaya Wêne Boot Ewle (SBIC) ji eNVM dixwîne û SBIC-ê rast dike. Di pejirandina serketî de, Kontrolkerê Pergalê koda bootê ya ewledar a fabrîkî ji qada bîranîna xweya taybet, ewledar kopî dike û wê di DTIM-a bingehîn a Monitor E51 de bar dike. Boota ewledar a xwerû li ser wêneya eNVM bi karanîna SBIC-ê ku di eNVM-ê de hatî hilanîn, kontrolek îmzeyê pêk tîne. Ger tu xeletî neyên ragihandin, reset ji MSS Core Complex re tê berdan. Ger xeletî werin rapor kirin, MSS Core Complex ji nû ve tê danîn û BOOT_FAIL tamper ala tê hildan. Dûv re, kontrola pergalê li ser çalak dikeamper ala ku ji bo çalakiya bikarhêner îşaretek ji tevna FPGA re destnîşan dike. Ev mod bi karanîna U_MSS_BOOTMODE=3 vebijarka bootê tê pêkanîn.

SBIC navnîşan, mezinahî, haş, û Algorîtmaya Îmzeya Dîjîtal a Curve Elliptic (ECDSA) ya bloba binary parastî dihewîne. ECDSA guhertoyek Algorîtmaya Îmzeya Dîjîtal pêşkêşî dike ku şîfreya qertafa elîptîk bikar tîne. Di heman demê de ji bo her Hardware vektora vesazkirinê jî dihewîne
Mijara / core / core processor (Hart) di sîstemê de.

Tablo 4 •  Sertîfîkaya Wêneya Bootê ya Ewle (SBIC)

Offset Mezinahî (bytes) Giranî Terîf
0 4 IMAGEADDR Navnîşana UBL di nexşeya bîranîna MSS de
4 4 IMAGELEN Mezinahiya UBL di bytes de
8 4 BOOTVEC0 Vektora Boot li UBL ji bo E51
12 4 BOOTVEC1 Vektora Boot li UBL ji bo U540
16 4 BOOTVEC2 Vektora Boot li UBL ji bo U541
20 4 BOOTVEC3 Vektora Boot li UBL ji bo U542
24 4 BOOTVEC4 Vektora Boot li UBL ji bo U543
28 1 OPTIONS[7:0] Vebijarkên SBIC
28 3 RESERVED  
32 8 AWA Guhertoya SBIC / Wêne
40 16 DSN Girêdana DSN ya Bijarî
56 48 H UBL image SHA-384 hash
104 104 CODESIG Îmzeya ECDSA-der-encoded
Hemî 208 Bytes  

DSN
Ger qada DSN ne-sifir be, ew li hember jimareya rêzeya xweya amûrê tê berhev kirin. Ger danberhev têk biçe, wê hingê boot_fail tamper ala danîn û authentication betalkirin.

AWA
Ger betalkirina SBIC ji hêla U_MSS_REVOCATION_ENABLE ve were çalak kirin, SBIC tê red kirin heya ku nirxa VERSION ji sînorê betalkirinê mezintir an wekhev be.

SBIC REVOCATION OPTION
Ger betalkirina SBIC ji hêla U_MSS_REVOCATION_ENABLE ve were çalak kirin û OPTIONS[0] '1' be, hemî guhertoyên SBIC yên ji VERSION kêmtir têne betal kirin piştî rastrastkirina tevahî ya SBIC. Rêjeya betalkirinê di nirxa nû de dimîne heya ku ji hêla SBIC-ya pêşerojê ve bi OPTIONS[0] = '1' û zeviyek VERSION ya bilindtir dîsa zêde bibe. Dibe ku sînorê betalkirinê tenê bi karanîna vê mekanîzmayê were zêdekirin û tenê bi bit-streamek dikare were vegerandin.
Dema ku bendava betalkirinê bi dînamîk were nûve kirin, bergeh bi karanîna pilana hilanîna zêde ya ku ji bo şîfreyan tê bikar anîn tê hilanîn, wusa ku têkçûna hêzê di dema bootkirina cîhazê de nehêle ku bootek paşîn a cîhazê têk bibe. Ger nûvekirina bendava betalkirinê têk neçe, tê mîsogerkirin ku nirxa sînor an nirxa nû ye an ya berê ye.

Tablo 5 • U_MSS_BOOTCFG Bikaranîna di Moda Boot Loaderê ya Fabrîkê de

Offset (bytes)  

Mezinahî (bytes)

 

Nav

 

Terîf

0 4 U_MSS_SBIC_ADDR Navnîşana SBIC di cîhê navnîşana MSS de
4 4 U_MSS_REVOCATION_ENABLE Heke ne sifir be, betalkirina SBIC çalak bike

Nîgara jêrîn herikîna bootê ya ewledar a fabrîkî nîşan dide.
jimar 6 • Factory Secure Boot FlowMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 6 Microchip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 7

MSS User Boot 

Dema ku kontrol ji Kontrolkerê Sîstemê berbi Kompleksa MSS Core tê dayîn, boot bikarhênerê MSS pêk tê. Piştî pêş-bootkirina serketî ya MSS-ê, kontrolkerê pergalê vesazkirinê li MSS Core Complex vedike. MSS dikare bi yek ji awayên jêrîn were destpêkirin:

  • Serlêdana Bare Metal
  • Serlêdana Linux
  • AMP Bikaranînî

Serlêdana Bare Metal

Serlêdanên metalê yên tazî yên ji bo PolarFire SoC dikarin bi karanîna amûra SoftConsole werin pêşve xistin. Ev amûr encam peyda dike files di forma .hex de ku dikare di herikîna Libero de were bikar anîn da ku têxe nav bitstreama bernamekirinê file. Heman amûr dikare were bikar anîn da ku serîlêdanên Bare Metal bi karanîna JTAG
interface.
Nîgara jêrîn serîlêdana SoftConsole Bare Metal nîşan dide ku xwedan pênc nexşan (Bêl) e, di nav de bingeha E51 Monitor.

jimar 7 • Projeya SoftConsole Microchip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 8

Serlêdana Linux

Ev beş rêzika bootê ya ji bo Linux-ê ku li ser hemî korên U54-ê dimeşîne diyar dike.
Pêvajoyek bootê ya tîpîk ji sê seyan pêk têtages. Yekem stage boot loader (FSBL) ji çîp Boot flash (eNVM) tê darve kirin. FSBL s duyemîn bar diketage boot loader (SSBL) ji amûrek bootê berbi RAM an Cache ya derveyî. Amûra boot dikare eNVM an mîkrokontrolkerê bîranîna pêvekirî (eMMC) an SPI Flash-ê derveyî be. SSBL pergala xebitandina Linux-ê ji cîhaza bootê berbi RAM-a derveyî bar dike. Di sedsala sêyemîn detage, Linux ji RAM-a derveyî tê darve kirin.

Nîgara jêrîn herikîna Pêvajoya Bootê ya Linux nîşan dide.
jimar 8 • Herikîna Pêvajoya Boot a Linuxê ya tîpîkMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 9

Hûrguliyên FSBL, dara cîhazê, Linux, û avakirina YOCTO, çawaniya avakirin û mîhengkirina Linux-ê dê di serbestberdana pêşerojê ya vê belgeyê de were peyda kirin.

AMP Bikaranînî
Danasîna hûrgulî ya Libero MSS Configurator û meriv çawa sepanên pir-pêvajoyê bi karanîna SoftConsole-ê vedihewîne dê di serbestberdana pêşerojê ya vê belgeyê de were peyda kirin.

Çavkaniyên Cûda yên Bootkirinê
Di guhertoyên paşerojê yên vê belgeyê de were nûve kirin.

Veavakirina Boot
Di guhertoyên paşerojê yên vê belgeyê de were nûve kirin.

Akronyms

Di vê belgeyê de kurteyên jêrîn têne bikaranîn.

Tablo 1 •  List of Acronyms

Akronym Expanded

  • AMP Asymmetric Multi-processing
  • DTIM Bîra Hevgirtî ya Daneyê (ku wekî SRAM jî tê gotin)
  • ECDSA Algorîtmaya Îmzeya Dîjîtal a Curve Elliptic
  • eNVM Bîra Non-Volatile bicîbûyî
  • FSBL Pêşî Stage Boot Loader
  • Hart Mijara hardware / core / core processor
  • MSS Microprocessor Subsystem
  • POR Power on Reset
  • PUF Fonksiyonek Fîzîkî Unclonable
  • ROM Bîra tenê xwendin
  • SCB Sîstema Controller Bridge
  • sNVM Bîra Ne-ewle

Dîroka Revision

Dîroka revîzyonê guhertinên ku di belgeyê de hatine bicîh kirin vedibêje. Guhertin bi revîzyonê têne navnîş kirin, bi weşana heyî dest pê dike.

Guhertoya 2.0
Li jêr kurteya guhertinên ku di vê revîzyonê de hatine çêkirin e.

  • Agahdariya li ser Factory Secure Boot hate nûve kirin.
  • Agahdariya li ser Serlêdana Bare Metal hate nûve kirin.

Guhertoya 1.0
Weşana yekem a vê belgeyê.

Navenda Microsemi
Yek Enterprise, Aliso Viejo,
CA 92656 USA
Di nav Dewletên Yekbûyî de: +1 800-713-4113
Derveyî Dewletên Yekbûyî: +1 949-380-6100
Firotin: +1 949-380-6136
Faks: +1 949-215-4996
Email: sales.support@microsemi.com
www.microsemi.com

©2020 Microsemi, şaxek bi tevahî ya Microchip Technology Inc. Hemî maf parastî ne. Microsemi û logoya Microsemi marqeyên qeydkirî yên Microsemi Corporation ne. Hemî tîcarî û nîşaneyên karûbarê din milkê xwediyên wan ên têkildar in.

Belge / Çavkanî

Microchip UG0881 PolarFire SoC FPGA Bootkirin Û Vesazkirin [pdf] Rehbera bikaranînê
UG0881 PolarFire SoC FPGA Bootkirin Û Vesazkirin, UG0881, PolarFire SoC FPGA Bootkirin Û Vesazkirin, Bootkirin Û Vesazkirin

Çavkanî

Bihêle şîroveyek

Navnîşana e-nameya we nayê weşandin. Zeviyên pêwîst têne nîşankirin *