Microsemi-LGOO

Microchip UG0881 PolarFire SoC FPGA жүктөө жана конфигурациялоо

Microchip-UG0881-PolarFire-SoC-FPGA-Жүктөө жана Конфигурация-продукты

Кепилдик

Microsemi бул жерде камтылган маалыматка же анын өнүмдөрү менен кызматтарынын кандайдыр бир максатка ылайыктуулугуна эч кандай кепилдик, өкүлчүлүк же кепилдик бербейт, ошондой эле Microsemi кандайдыр бир продуктту же схеманы колдонуудан же колдонуудан келип чыккан эч кандай жоопкерчиликти өзүнө албайт. Бул жерде сатылган өнүмдөр жана Microsemi тарабынан сатылган башка өнүмдөр чектелген сыноодон өткөн жана миссия үчүн маанилүү жабдуулар же тиркемелер менен бирге колдонулбашы керек. Ар кандай аткаруу спецификациялары ишенимдүү деп эсептелинет, бирок текшерилбейт жана Сатып алуучу өнүмдөрдүн бардык натыйжалуулугун жана башка сыноолорун жалгыз жана бардык акыркы өнүмдөр менен бирге же орнотулган түрдө өткөрүп, бүтүрүшү керек. Сатып алуучу Microsemi тарабынан берилген ар кандай маалыматтарга жана аткаруу спецификацияларына же параметрлерине таянбайт. Кандайдыр бир өнүмдөрдүн ылайыктуулугун өз алдынча аныктоо жана аны сыноо жана текшерүү Сатып алуучунун милдети. Бул жерде Microsemi тарабынан берилген маалымат "кандай болсо, ошол жерде" жана бардык кемчиликтери менен берилет жана мындай маалымат менен байланышкан бардык тобокелдик толугу менен Сатып алуучуга жүктөлөт. Microsemi эч кандай тарапка ачык же кыйыр түрдө эч кандай патенттик укуктарды, лицензияларды же башка интеллектуалдык менчик укуктарын, мындай маалыматтын өзүнө же мындай маалымат менен сүрөттөлгөн нерсеге карата бербейт. Бул документте берилген маалымат Microsemiге таандык жана Microsemi бул документтеги маалыматка же өнүмдөр менен кызматтарга каалаган убакта эскертүүсүз өзгөртүү киргизүү укугун өзүнө калтырат.

Microsemi жөнүндө

Microsemi, Microchip Technology Inc. (Nasdaq: MCHP) толук ээлик кылган туунду компаниясы, аэрокосмостук жана коргонуу, байланыш, маалымат борбору жана өнөр жай рыноктору үчүн жарым өткөргүч жана системалык чечимдердин комплекстүү портфелин сунуштайт. Продукттарга жогорку өндүрүмдүүлүктөгү жана радиациялык катууланган аналогдук аралаш сигнал интегралдык микросхемалары, FPGAs, SoCs жана ASIC кирет; энергия башкаруу продуктылары; убакыт жана синхрондоштуруу түзүлүштөрү жана так убакыт чечимдери, убакыт боюнча дүйнөлүк стандартты белгилөө; үн иштетүүчү түзүлүштөр; RF чечимдер; дискреттик компоненттер; ишкана сактоо жана байланыш чечимдер, коопсуздук технологиялары жана масштабдуу каршы тampбуюмдар; Ethernet чечимдери; Power-over-Ethernet IC жана орто аралыктар; ошондой эле жеке дизайн мүмкүнчүлүктөрү жана кызматтары. Көбүрөөк маалымат алуу үчүн www.microsemi.com.

Жүктөө жана конфигурация

PolarFire SoC FPGAлары кубаттандыруу жана баштапкы абалга келтирүү учурунда ишенимдүү кубаттуулукту камсыз кылуу үчүн өркүндөтүлгөн кубаттандыруу схемасын колдонушат. Күйгүзүлгөндө жана баштапкы абалга келтирилгенде, PolarFire SoC FPGA жүктөө ырааттуулугу күйгүзүлгөндө баштапкы абалга келтирүү (POR), Түзмөктү жүктөө, Дизайнды инициализациялоо, Микроконтроллер Подсистемасынын (MSS) алдын ала жүктөөсүнөн жана MSS колдонуучусунун жүктөөсүнөн кийин болот. Бул документ MSS алдын ала жүктөө жана MSS колдонуучу жүктөөсүн сүрөттөйт. POR, Түзмөктү жүктөө жана Дизайн инициализациясы тууралуу маалымат алуу үчүн, караңыз UG0890: PolarFire SoC FPGA Power-Up жана Reset User Guide.
MSS мүмкүнчүлүктөрү жөнүндө көбүрөөк маалымат алуу үчүн, караңыз UG0880: PolarFire SoC MSS Колдонуучу колдонмосу.

Жүктөө ырааттуулугу
Жүктөө ырааттуулугу PolarFire SoC FPGA күйгүзүлгөндө же баштапкы абалга келтирилгенде башталат. Ал процессор колдонмо программасын аткарууга даяр болгондо аяктайт. Бул жүктөө ырааттуулугу бир нече с аркылуу өтөтtagал программаларды аткарууну баштоо алдында.
Жүктөө процессинде операциялардын жыйындысы аткарылат, ал аппараттык камсыздоону күйгүзүү менен баштапкы абалга келтирүүнү, перифериялык инициализацияны, эстутумду инициализациялоону жана колдонуучу аныктаган тиркемени туруксуз эстутумдан аткаруу үчүн туруксуз эстутумга жүктөөнү камтыйт.

Төмөнкү сүрөттө жүктөө ырааттуулугунун ар кандай фазалары көрсөтүлгөн.

1-сүрөт  Жүктөө ырааттуулугуMicrochip-UG0881-PolarFire-SoC-FPGA-Жүктөө жана Конфигурация-fig 1

MSS Pre-Boot

Дизайн инициализациясы ийгиликтүү аяктагандан кийин, MSS Pre-жүктөө анын аткарылышын баштайт. Бардык кадимки баштоо процедуралары аяктагандан кийин MSS баштапкы абалга келтирүүдөн чыгарылат. Системалык контроллер түзмөктөрдү программалоону, инициализациялоону жана конфигурациялоону башкарат. Эгерде программаланган түзүлүш система контролерунун токтотуу режимине конфигурацияланса MSS Алдын ала жүктөө пайда болбойт.
MSS жүктөө алдындагы инициализация фазасы система контроллерунун микропрограммасы менен координацияланат, бирок ал жүктөө алдындагы ырааттуулуктун айрым бөлүктөрүн аткаруу үчүн MSS Core комплексиндеги E51ди колдонушу мүмкүн.
Төмөнкү окуялар MSS алдын ала жүктөө учурунда болотtage:

  • MSS орнотулган Учма эстутумун (eNVM) иштетүү
  • MSS Core Complex L2 кэши менен байланышкан ашыкча оңдоону баштоо
  • Колдонуучунун жүктөө кодунун аныктыгын текшерүү (эгерде Колдонуучунун коопсуз жүктөө параметри иштетилген болсо)
  • Колдонуучунун жүктөө кодуна оперативдүү MSS өткөрүп берүү

MSS Core комплексин төрт режимдин биринде жүктөөгө болот. Төмөнкү таблицада sNVMге конфигурацияланууга жана программаланууга мүмкүн болгон MSS жүктөөдөн мурун параметрлери келтирилген. Жүктөө режими U_MSS_BOOTMODE[1:0] колдонуучу параметри менен аныкталат. Кошумча жүктөө конфигурациясынын маалыматтары режимге көз каранды жана колдонуучунун U_MSS_BOOTCFG параметри менен аныкталат (3-таблица, 4-бет жана 5-таблица, 6-бетти караңыз).

1-таблица • MSS негизги татаал жүктөө режимдери

U_MSS_BOOTMODE[1:0] Mode Description
0 Бош жүктөө MSS конфигурацияланбаган болсо, MSS Core Complex жүктөө ROMунан жүктөлөт
1 Кооптуу эмес жүктөө MSS Core Complex түздөн-түз U_MSS_BOOTADDR тарабынан аныкталган даректен жүктөлөт
2 Колдонуучунун коопсуз жүктөө MSS Core комплекси sNVMден жүктөлөт
3 Заводдук коопсуз жүктөө MSS Core Complex жүктөөчү фабриканын коопсуз жүктөө протоколун колдонуу менен

Жүктөө параметри Libero дизайн агымынын бир бөлүгү катары тандалган. Режимди өзгөртүүгө жаңы FPGA программалоону түзүү аркылуу гана жетишүүгө болот file.

2-сүрөт • MSS алдын ала жүктөө агымы Microchip-UG0881-PolarFire-SoC-FPGA-Жүктөө жана Конфигурация-fig 2

Idle Boot

Эгерде MSS конфигурацияланбаса (мисалыample, бош түзмөк), андан кийин MSS Core комплекси мүчүлүштүктөрдү оңдоочу максатка туташканга чейин бардык процессорлорду чексиз циклде кармап турган жүктөө ROM программасын аткарат. Жүктөө вектордук регистрлери аппарат баштапкы абалга келтирилгенге чейин же жаңы жүктөө режими конфигурациясы программаланганга чейин өз баасын сактап турат. Конфигурацияланган түзмөктөр үчүн бул режимди колдонуу менен ишке ашырууга болот
U_MSS_BOOTMODE=Libero конфигураторундагы 0 жүктөө опциясы.

Эскертүү: Бул режимде U_MSS_BOOTCFG колдонулбайт.

Төмөнкү сүрөттө ишсиз жүктөө агымы көрсөтүлгөн.
3-сүрөт • Ишсиз жүктөө агымыMicrochip-UG0881-PolarFire-SoC-FPGA-Жүктөө жана Конфигурация-fig 3

Кооптуу эмес жүктөө

Бул режимде MSS Core комплекси аутентификациясыз көрсөтүлгөн eNVM дарегинен аткарат. Бул эң ылдам жүктөө опциясын камсыз кылат, бирок код сүрөтүнүн аныктыгын текшерүү жок. Даректи Libero конфигураторунда U_MSS_BOOTADDR орнотуу менен көрсөтсө болот. Бул режимди FIC аркылуу каалаган FPGA Fabric эстутум ресурсунан жүктөө үчүн да колдонсо болот. Бул режим колдонуу менен ишке ашырылат
U_MSS_BOOTMODE=1 жүктөө опциясы.
MSS Негизги комплекси U_MSS_BOOTCFG тарабынан аныкталган жүктөө векторлору менен баштапкы абалга келтирүүдөн бошотулган (төмөнкү таблицада көрсөтүлгөндөй).

2-таблица • U_MSS_BOOTCFG Кооптуу эмес жүктөө режиминде колдонуу 1

Оффсет (байт)  

Өлчөм (байт)

 

аты

 

Description

0 4 BOOTVEC0 E51 үчүн жүктөө вектору
4 4 BOOTVEC1 U540 үчүн жүктөө вектору
8 4 BOOTVEC2 U541 үчүн жүктөө вектору
16 4 BOOTVEC3 U542 үчүн жүктөө вектору
20 4 BOOTVEC4 U543 үчүн жүктөө вектору

Төмөнкү сүрөттө коопсуз эмес жүктөө агымы көрсөтүлгөн.
4-сүрөт • Кооптуу эмес жүктөө агымыMicrochip-UG0881-PolarFire-SoC-FPGA-Жүктөө жана Конфигурация-fig 4

Колдонуучунун коопсуз жүктөө
Бул режим колдонуучуга өзүнүн жеке коопсуз жүктөөсүн ишке ашырууга мүмкүндүк берет жана колдонуучунун коопсуз жүктөө коду sNVMге жайгаштырылат. sNVM - бул 56 КБ туруксуз эс тутуму, ал орнотулган Физикалык Unclonable Function (PUF) менен корголгон. Бул жүктөө ыкмасы коопсуз деп эсептелет, анткени ROM катары белгиленген sNVM барактары өзгөрүлбөйт. Күйгүзүлгөндө, система контроллери колдонуучунун коопсуз жүктөө кодун sNVMден E51 Монитордун өзөгүнүн Data Tightly Integrated Memory (DTIM) көчүрөт. E51 колдонуучунун коопсуз жүктөө кодун аткара баштайт.
Колдонуучунун коопсуз жүктөө кодунун өлчөмү DTIMдин өлчөмүнөн чоң болсо, анда колдонуучу жүктөө кодун эки секундга бөлүшү керек.tages. sNVM кийинки s камтышы мүмкүнtagкийинки жүктөөнүн аутентификациясын аткара турган колдонуучунун жүктөө ырааттуулугунун etage Колдонуучунун аутентификация/дешифрлөө алгоритмин колдонуу.
Эгер аутентификацияланган же шифрленген барактар ​​колдонулса, анда ошол эле USK ачкычы (б.а.,
U_MSS_BOOT_SNVM_USK) бардык аутентификацияланган/шифрленген барактар ​​үчүн колдонулушу керек.
Эгер аутентификациядан өтпөй калса, MSS Негизги комплекси баштапкы абалга келтирилиши мүмкүн жана BOOT_FAIL tampжелек көтөрүүгө болот. Бул режим U_MSS_BOOTMODE=2 жүктөө опциясын колдонуу менен ишке ашырылат.

3-таблица •  U_MSS_BOOTCFG Колдонуучунун коопсуз жүктөөсүндө колдонулушу

Оффсет (байт) Өлчөм (байт) аты Description
0 1 U_MSS_BOOT_SNVM_PAGE SNVMдеги башталгыч бет
1 3 КАТТАЛГАН Тегиздөө үчүн
4 12 U_MSS_BOOT_SNVM_USK Аныкталган/шифрленген барактар ​​үчүн

Төмөнкү сүрөттө колдонуучунун коопсуз жүктөө агымы көрсөтүлгөн.
5-сүрөт • Колдонуучунун коопсуз жүктөө агымыMicrochip-UG0881-PolarFire-SoC-FPGA-Жүктөө жана Конфигурация-fig 5

Factory Secure Boot
Бул режимде система контроллери eNVMден Secure Boot Image Certificate (SBIC) окуйт жана SBIC ырастайт. Ийгиликтүү текшерүүдөн кийин, Система контроллери өзүнүн жеке, коопсуз эстутум аймагынан фабриканын коопсуз жүктөө кодун көчүрөт жана аны E51 Monitor өзөгүнүн DTIMине жүктөйт. Демейки коопсуз жүктөө eNVMде сакталган SBIC аркылуу eNVM сүрөтүнө кол коюуну текшерет. Эгерде эч кандай каталар билдирилбесе, баштапкы абалга келтирүү MSS негизги комплексине чыгарылат. Эгер каталар билдирилсе, MSS негизги комплекси баштапкы абалга келтирилет жана BOOT_FAIL tampтуу көтөрүлөт. Андан кийин, система контроллери иштетилетampколдонуучунун аракети үчүн FPGA тканына сигналды ырастаган желек. Бул режим U_MSS_BOOTMODE=3 жүктөө опциясын колдонуу менен ишке ашырылат.

SBIC корголгон бинардык блоктун дарегин, өлчөмүн, хэштерин жана эллиптикалык ийри санариптик кол коюу алгоритмин (ECDSA) кол тамгасын камтыйт. ECDSA эллиптикалык ийри криптографияны колдонгон санариптик кол коюу алгоритминин вариантын сунуштайт. Ал ошондой эле ар бир Жабдуу үчүн баштапкы абалга келтирүү векторун камтыйт
системадагы жип/өзөк/процессор өзөгү (Харт).

4-таблица •  Secure Boot Image Certificate (SBIC)

Оффсет Өлчөм (байт) Нарк Description
0 4 IMAGEADDR MSS эстутум картасында UBL дареги
4 4 IMAGELEN UBL өлчөмү байт менен
8 4 BOOTVEC0 E51 үчүн UBLде жүктөө вектору
12 4 BOOTVEC1 U540 үчүн UBLде жүктөө вектору
16 4 BOOTVEC2 U541 үчүн UBLде жүктөө вектору
20 4 BOOTVEC3 U542 үчүн UBLде жүктөө вектору
24 4 BOOTVEC4 U543 үчүн UBLде жүктөө вектору
28 1 OPTIONS[7:0] SBIC параметрлери
28 3 КАТТАЛГАН  
32 8 VERSION SBIC/Image версиясы
40 16 DSN Кошумча DSN байланышы
56 48 H UBL сүрөтү SHA-384 хэш
104 104 CODESIG DER коддолгон ECDSA кол тамгасы
Бардыгы 208 Байттар  

DSN
Эгерде DSN талаасы нөл эмес болсо, ал аппараттын өзүнүн сериялык номери менен салыштырылат. Эгерде салыштыруу ишке ашпай калса, boot_fail tamper желек орнотулуп, аутентификация токтотулат.

VERSION
Эгерде SBIC жокко чыгаруу U_MSS_REVOCATION_ENABLE тарабынан иштетилсе, VERSION мааниси жокко чыгаруу босогосунан чоңураак же ага барабар болбосо, SBIC четке кагылат.

SBIC ЖОК КАЛУУ ОПЦИЯСЫ
Эгерде SBIC жокко чыгаруу U_MSS_REVOCATION_ENABLE тарабынан иштетилсе жана OPTIONS[0] "1" болсо, VERSIONден азыраак бардык SBIC версиялары SBIC толук аутентификациядан кийин жокко чыгарылат. Жокко чыгаруу босогосу OPTIONS[0] = '1' жана жогорку VERSION талаасы менен келечектеги SBIC менен кайра жогоруламайынча жаңы мааниде кала берет. Жок кылуу босогосун бул механизмдин жардамы менен гана көбөйтүүгө болот жана бит агымы менен гана баштапкы абалга келтирилиши мүмкүн.
Жок кылуу босогосу динамикалык түрдө жаңыртылганда, босого өткөргүч коддор үчүн колдонулган ашыкча сактоо схемасы аркылуу сакталат, мынчалык аппаратты жүктөө учурунда электрдин өчүп калуусу аппараттын кийинки жүктөлүшүнүн иштебей калышына алып келбейт. Эгерде жокко чыгаруу босогосун жаңыртуу ишке ашпай калса, босого мааниси жаңы маани же мурунку мааниге ээ экендиги кепилденет.

5-таблица • U_MSS_BOOTCFG Заводдук жүктөөчү режиминде колдонуу

Оффсет (байт)  

Өлчөм (байт)

 

аты

 

Description

0 4 U_MSS_SBIC_ADDR MSS дарек мейкиндигинде SBIC дареги
4 4 U_MSS_REVOCATION_ENABLE Эгерде нөл эмес болсо, SBIC жокко чыгарууну иштетүү

Төмөнкү сүрөттө фабриканын коопсуз жүктөө агымы көрсөтүлгөн.
6-сүрөт • Factory Secure Boot FlowMicrochip-UG0881-PolarFire-SoC-FPGA-Жүктөө жана Конфигурация-fig 6 Microchip-UG0881-PolarFire-SoC-FPGA-Жүктөө жана Конфигурация-fig 7

MSS колдонуучу жүктөө 

MSS колдонуучунун жүктөлүшү башкаруу системасы контроллерден MSS Core комплексине берилгенде ишке ашат. MSS алдын ала ийгиликтүү жүктөлгөндөн кийин, система контроллери MSS негизги комплексине баштапкы абалга келтирүүнү чыгарат. MSS төмөнкү жолдордун бири менен жүктөлүшү мүмкүн:

  • Жылаңач металл колдонуу
  • Linux колдонмосу
  • AMP Колдонмо

Жылаңач металл колдонуу

PolarFire SoC үчүн жылаңач металл тиркемелерди SoftConsole куралы менен иштеп чыгууга болот. Бул курал чыгарууну камсыз кылат files .hex түрүндө, аны Libero агымында программалоо бит агымына кошуу үчүн колдонсо болот file. Ошол эле куралды J колдонуп Bare Metal тиркемелерин оңдоо үчүн колдонсо болотTAG
интерфейс.
Төмөнкү сүрөттө SoftConsole Bare Metal тиркемеси көрсөтүлгөн, анын беш харты (Cores) бар, анын ичинде E51 Monitor өзөгү бар.

7-сүрөт • SoftConsole долбоору Microchip-UG0881-PolarFire-SoC-FPGA-Жүктөө жана Конфигурация-fig 8

Linux колдонмосу

Бул бөлүм бардык U54 өзөктөрүндө иштеген Linux үчүн жүктөө ырааттуулугун сүрөттөйт.
Кадимки жүктөө процесси үч сден туратtages. Биринчи сtage жүктөөчү (FSBL) чиптеги Жүктөө флешинен (eNVM) аткарылат. FSBL экинчи с жүктөйтtagжүктөөчү түзүлүштөн тышкы RAM же кэшке жүктөөчү (SSBL). Жүктөөчү түзүлүш eNVM же камтылган эс микроконтроллери (eMMC) же тышкы SPI Flash болушу мүмкүн. SSBL Linux операциялык тутумун жүктөөчү түзүлүштөн тышкы RAMга жүктөйт. Үчүнчү сtage, Linux тышкы RAMдан аткарылат.

Төмөнкү сүрөттө Linux жүктөө процессинин агымы көрсөтүлгөн.
8-сүрөт • Кадимки Linux жүктөө процессинин агымыMicrochip-UG0881-PolarFire-SoC-FPGA-Жүктөө жана Конфигурация-fig 9

FSBL, Түзмөк дарагы, Linux жана YOCTO курулушунун чоо-жайы, Linuxту кантип куруу жана конфигурациялоо керектиги бул документтин келечектеги чыгарылышында берилет.

AMP Колдонмо
Libero MSS Конфигураторунун толук сүрөттөлүшү жана SoftConsole аркылуу көп процессорлуу тиркемелерди оңдоо ыкмасы бул документтин келечектеги чыгарылышында берилет.

Жүктөөнүн ар кандай булактары
Бул документтин келечектеги версияларында жаңыртылат.

Жүктөө конфигурациясы
Бул документтин келечектеги версияларында жаңыртылат.

Акронимдер

Бул документте төмөнкү кыскартуулар колдонулат.

1-таблица •  Акронимдердин тизмеси

Акроним Expanded

  • AMP Асимметриялык көп иштетүү
  • DTIM Маалыматтар тыгыз интеграцияланган эс тутуму (SRAM деп да аталат)
  • ECDSA Эллиптикалык ийри санариптик кол коюу алгоритми
  • eNVM камтылган Үчүлбөгөн эс тутум
  • ФСБЛ Биринчи Сtage Boot Loader
  • Харт Аппараттык жип/өзөк/процессор өзөгү
  • MSS Микропроцессордук подсистема
  • ПОР Күчтү күйгүзүү
  • PUF Физикалык жактан клондалбаган функция
  • ROM Окуу үчүн гана эс тутум
  • SCB Системалык контроллер көпүрөсү
  • sNVM Коопсуз эстутум

Кайра карап чыгуу тарыхы

Кайра карап чыгуу тарыхы документте ишке ашырылган өзгөртүүлөрдү сүрөттөйт. Өзгөртүүлөр учурдагы басылмадан баштап кайра карап чыгуу боюнча тизмеленген.

Ревизия 2.0
Төмөндө бул кайра карап чыгууда киргизилген өзгөртүүлөр кыскача баяндалат.

  • Factory Secure Boot жөнүндө маалымат жаңыртылган.
  • Bare Metal колдонмосу жөнүндө маалымат жаңыртылды.

Ревизия 1.0
Бул документтин биринчи басылышы.

Microsemi штабы
One Enterprise, Aliso Viejo,
CA 92656 АКШ
АКШ ичинде: +1 800-713-4113
АКШдан тышкары: +1 949-380-6100
Сатуу: +1 949-380-6136
Факс: +1 949-215-4996
Электрондук почта: sales.support@microsemi.com
www.microsemi.com

©2020 Microsemi, Microchip Technology Inc.тин толук ээлик кылган туунду компаниясы. Бардык укуктар корголгон. Microsemi жана Microsemi логотиби Microsemi корпорациясынын катталган соода белгилери. Бардык башка соода белгилери жана тейлөө белгилери тиешелүү ээлеринин менчиги болуп саналат.

Документтер / Ресурстар

Microchip UG0881 PolarFire SoC FPGA жүктөө жана конфигурациялоо [pdf] Колдонуучунун колдонмосу
UG0881 PolarFire SoC FPGA жүктөө жана конфигурация, UG0881, PolarFire SoC FPGA жүктөө жана конфигурация, жүктөө жана конфигурация

Шилтемелер

Комментарий калтырыңыз

Сиздин электрондук почта дарегиңиз жарыяланбайт. Талап кылынган талаалар белгиленген *