Microsemi-LGOO

راه اندازی و پیکربندی میکروچیپ UG0881 PolarFire SoC FPGA

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

گارانتی

میکروسمی هیچ گونه ضمانت، نمایندگی یا تضمینی در رابطه با اطلاعات مندرج در اینجا یا مناسب بودن محصولات و خدمات خود برای اهداف خاص نمی دهد، و همچنین میکروسمی هیچ گونه مسئولیتی را که ناشی از استفاده یا استفاده از هر محصول یا مدار باشد، متقبل نمی شود. محصولات فروخته شده در اینجا و سایر محصولات فروخته شده توسط Microsemi تحت آزمایشات محدودی قرار گرفته اند و نباید در ارتباط با تجهیزات یا برنامه های کاربردی حیاتی استفاده شوند. اعتقاد بر این است که هرگونه مشخصات عملکرد قابل اعتماد است اما تأیید نشده است و خریدار باید تمام عملکرد و سایر آزمایشات محصولات را به تنهایی و همراه با یا نصب در هر محصول نهایی انجام دهد و کامل کند. خریدار صرفاً باید به داده ها و مشخصات عملکرد یا پارامترهای ارائه شده توسط Microsemi توجه کند. این مسئولیت خریدار است که به طور مستقل مناسب بودن هر محصول را تعیین کند و آن را آزمایش و تأیید کند. اطلاعات ارائه شده توسط Microsemi در اینجا "همانطور که هست، کجاست" و با تمام ایرادات ارائه شده است و تمام خطرات مربوط به چنین اطلاعاتی کاملاً با خریدار است. Microsemi به هیچ یک از طرفین به طور صریح یا ضمنی هیچ گونه حق ثبت اختراع، مجوز، یا هر گونه حق مالکیت IP دیگر را اعم از خود این اطلاعات یا هر چیزی که در آن اطلاعات توصیف شده است، اعطا نمی کند. اطلاعات ارائه شده در این سند متعلق به Microsemi است و Microsemi این حق را برای خود محفوظ می دارد که در هر زمان بدون اطلاع قبلی، هرگونه تغییر در اطلاعات این سند یا هر محصول و خدماتی را اعمال کند.

درباره میکروسمی

Microsemi، یک شرکت تابعه کاملاً متعلق به Microchip Technology Inc. (Nasdaq: MCHP)، مجموعه جامعی از راه حل های نیمه هادی و سیستمی را برای بازارهای هوافضا و دفاع، ارتباطات، مرکز داده و بازارهای صنعتی ارائه می دهد. محصولات شامل مدارهای مجتمع سیگنال مختلط آنالوگ با کارایی بالا و سخت شده با تشعشع، FPGA، SoC و ASIC می باشد. محصولات مدیریت انرژی؛ دستگاه های زمان بندی و همگام سازی و راه حل های دقیق زمان، تعیین استاندارد جهانی برای زمان. دستگاه های پردازش صدا؛ راه حل های RF؛ اجزای گسسته؛ راه حل های ذخیره سازی و ارتباطات سازمانی، فناوری های امنیتی و ضد t مقیاس پذیرampمحصولات er; راه حل های اترنت؛ آی‌سی‌ها و میانی‌های اترنت با قدرت بیش از حد؛ و همچنین قابلیت ها و خدمات طراحی سفارشی. بیشتر بدانید در www.microsemi.com.

راه اندازی و پیکربندی

FPGA های PolarFire SoC از مدارهای پیشرفته برق-آپ برای اطمینان از روشن شدن قابل اعتماد هنگام روشن شدن و تنظیم مجدد استفاده می کنند. در هنگام روشن و تنظیم مجدد، دنباله راه‌اندازی PolarFire SoC FPGA به دنبال بازنشانی روشن (POR)، راه‌اندازی دستگاه، اولیه‌سازی طراحی، پیش‌راه‌اندازی زیرسیستم میکروکنترلر (MSS) و راه‌اندازی کاربر MSS است. این سند پیش از راه‌اندازی MSS و بوت کاربر MSS را توضیح می‌دهد. برای اطلاعات در مورد POR، راه‌اندازی دستگاه و راه‌اندازی اولیه، UG0890: PolarFire SoC FPGA Power-Up and Resets User Guide را ببینید.
برای اطلاعات بیشتر در مورد ویژگی های MSS، UG0880: PolarFire SoC MSS راهنمای کاربر را ببینید.

دنباله راه‌اندازی
دنباله راه‌اندازی زمانی شروع می‌شود که PolarFire SoC FPGA روشن یا تنظیم مجدد شود. زمانی پایان می یابد که پردازنده آماده اجرای یک برنامه کاربردی باشد. این دنباله بوت شدن در چندین ثانیه اجرا می شودtagقبل از اینکه اجرای برنامه ها را شروع کند.
مجموعه‌ای از عملیات در طول فرآیند Boot-up انجام می‌شود که شامل بازنشانی سخت‌افزار، مقداردهی اولیه محیطی، مقداردهی اولیه حافظه و بارگیری برنامه تعریف‌شده توسط کاربر از حافظه غیر فرار به حافظه فرار برای اجرا می‌شود.

شکل زیر مراحل مختلف دنباله Boot-up را نشان می دهد.

شکل 1  دنباله راه‌اندازیMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 1

MSS Pre-Boot

پس از اتمام موفقیت آمیز طرح اولیه سازی، MSS Pre-boot اجرای خود را آغاز می کند. MSS پس از تکمیل تمام مراحل راه‌اندازی عادی، از تنظیم مجدد خارج می‌شود. کنترل کننده سیستم برنامه نویسی، مقداردهی اولیه و پیکربندی دستگاه ها را مدیریت می کند. اگر دستگاه برنامه ریزی شده برای حالت تعلیق کنترلر سیستم پیکربندی شده باشد، پیش راه اندازی MSS رخ نمی دهد.
مرحله اولیه راه‌اندازی MSS توسط سیستم عامل کنترل‌کننده سیستم هماهنگ می‌شود، اگرچه ممکن است از E51 در مجموعه هسته MSS برای انجام بخش‌های خاصی از توالی پیش از راه‌اندازی استفاده کند.
وقایع زیر در طول MSS پیش از راه‌اندازی رخ می‌دهدtage:

  • روشن کردن حافظه غیر فرار تعبیه شده MSS (eNVM)
  • راه اندازی تعمیر افزونگی مرتبط با حافظه پنهان MSS Core Complex L2
  • احراز هویت کد بوت کاربر (اگر گزینه راه‌اندازی امن کاربر فعال باشد)
  • MSS عملیاتی را به کد بوت کاربر تحویل دهید

MSS Core Complex را می توان در یکی از چهار حالت بوت کرد. جدول زیر گزینه‌های پیش راه‌اندازی MSS را فهرست می‌کند که می‌توان آن‌ها را در sNVM پیکربندی و برنامه‌ریزی کرد. حالت بوت با پارامتر کاربر U_MSS_BOOTMODE[1:0] تعریف می شود. داده های پیکربندی بوت اضافی وابسته به حالت است و توسط پارامتر کاربر U_MSS_BOOTCFG تعریف می شود (جدول 3، صفحه 4 و جدول 5، صفحه 6 را ببینید).

جدول 1 • حالت‌های راه‌اندازی پیچیده MSS Core

U_MSS_BOOTMODE[1:0] حالت توضیحات
0 چکمه بیکار اگر MSS پیکربندی نشده باشد، MSS Core Complex از بوت رام بوت می شود
1 بوت غیر ایمن MSS Core Complex مستقیماً از آدرسی که توسط U_MSS_BOOTADDR تعریف شده بوت می شود
2 بوت امن کاربر چکمه های MSS Core Complex از sNVM
3 بوت ایمن کارخانه MSS Core Complex با استفاده از پروتکل بوت امن کارخانه بوت می شود

گزینه بوت به عنوان بخشی از جریان طراحی Libero انتخاب می شود. تغییر حالت فقط از طریق تولید یک برنامه نویسی جدید FPGA امکان پذیر است file.

شکل 2 • جریان پیش از راه اندازی MSS Microchip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 2

چکمه بیکار

اگر MSS پیکربندی نشده باشد (مثلاًample، دستگاه خالی)، سپس MSS Core Complex یک برنامه بوت ROM را اجرا می کند که تمام پردازنده ها را در یک حلقه بی نهایت نگه می دارد تا زمانی که یک دیباگر به هدف متصل شود. ثبات‌های بردار راه‌اندازی مقدار خود را تا زمانی که دستگاه تنظیم مجدد شود یا پیکربندی حالت بوت جدید برنامه‌ریزی شود، حفظ می‌کند. برای دستگاه های پیکربندی شده، این حالت را می توان با استفاده از
U_MSS_BOOTMODE=0 گزینه بوت در پیکربندی Libero.

توجه: در این حالت از U_MSS_BOOTCFG استفاده نمی شود.

شکل زیر جریان راه‌اندازی Idle را نشان می‌دهد.
شکل 3 • Idle Boot FlowMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 3

بوت غیر ایمن

در این حالت، MSS Core Complex از یک آدرس eNVM مشخص شده بدون احراز هویت اجرا می شود. این سریعترین گزینه بوت را ارائه می دهد، اما هیچ احراز هویت تصویر کد وجود ندارد. آدرس را می توان با تنظیم U_MSS_BOOTADDR در Libero Configurator مشخص کرد. این حالت همچنین می تواند برای بوت شدن از هر منبع حافظه FPGA Fabric از طریق FIC استفاده شود. این حالت با استفاده از
U_MSS_BOOTMODE=1 گزینه بوت.
MSS Core Complex با بردارهای بوت تعریف شده توسط U_MSS_BOOTCFG (همانطور که در جدول زیر فهرست شده است) از حالت بازنشانی خارج می شود.

جدول 2 • استفاده از U_MSS_BOOTCFG در حالت بوت غیر ایمن 1

افست (بایت)  

اندازه (بایت)

 

نام

 

توضیحات

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-Booting-And-Configuration-fig 4

بوت امن کاربر
این حالت به کاربر اجازه می دهد تا بوت امن سفارشی خود را پیاده سازی کند و کد بوت امن کاربر در sNVM قرار می گیرد. sNVM یک حافظه 56 کیلوبایتی غیر فرار است که می تواند توسط عملکرد داخلی غیرقابل کلون سازی فیزیکی (PUF) محافظت شود. این روش بوت ایمن در نظر گرفته می شود زیرا صفحات sNVM که به عنوان ROM علامت گذاری شده اند تغییر ناپذیر هستند. هنگام روشن شدن، کنترل‌کننده سیستم کد راه‌اندازی ایمن کاربر را از sNVM در حافظه کاملاً یکپارچه داده (DTIM) هسته مانیتور E51 کپی می‌کند. E51 شروع به اجرای کد بوت امن کاربر می کند.
اگر اندازه کد بوت امن کاربر بیشتر از اندازه DTIM باشد، کاربر باید کد بوت را به دو ثانیه تقسیم کند.tages sNVM ممکن است حاوی s بعدی باشدtage از دنباله بوت کاربر، که ممکن است احراز هویت بوت بعدی را انجام دهدtage با استفاده از الگوریتم احراز هویت/رمزگشایی کاربر.
اگر از صفحات تایید شده یا رمزگذاری شده استفاده می شود، همان کلید USK (یعنی
U_MSS_BOOT_SNVM_USK) باید برای همه صفحات احراز هویت شده/رمزگذاری شده استفاده شود.
اگر احراز هویت ناموفق باشد، MSS Core Complex را می توان در حالت بازنشانی قرار داد و BOOT_FAIL tampپرچم را می توان برافراشت. این حالت با استفاده از گزینه بوت U_MSS_BOOTMODE=2 پیاده سازی می شود.

جدول 3 •  استفاده از U_MSS_BOOTCFG در بوت امن کاربر

افست (بایت) اندازه (بایت) نام توضیحات
0 1 U_MSS_BOOT_SNVM_PAGE صفحه شروع در SNVM
1 3 رزرو شده است برای تراز
4 12 U_MSS_BOOT_SNVM_USK برای صفحات تایید شده/رمزگذاری شده

شکل زیر جریان بوت امن کاربر را نشان می دهد.
شکل 5 • جریان بوت امن کاربرMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 5

بوت امن کارخانه
در این حالت، کنترل‌کننده سیستم گواهینامه Secure Boot Image Certificate (SBIC) را از eNVM می‌خواند و SBIC را تأیید می‌کند. در تأیید موفقیت آمیز، System Controller کد بوت ایمن کارخانه را از ناحیه حافظه خصوصی و امن خود کپی می کند و آن را در DTIM هسته مانیتور E51 بارگذاری می کند. بوت امن پیش‌فرض با استفاده از SBIC که در eNVM ذخیره می‌شود، یک بررسی امضا را روی تصویر eNVM انجام می‌دهد. اگر هیچ خطایی گزارش نشود، بازنشانی به مجموعه هسته MSS منتشر می شود. اگر خطا گزارش شود، MSS Core Complex در حالت Reset قرار می گیرد و BOOT_FAIL tampپرچم برافراشته است سپس، کنترل کننده سیستم در ساعت فعال می شودampپرچم er که سیگنالی را به فابریک FPGA برای عملکرد کاربر ارسال می کند. این حالت با استفاده از گزینه بوت U_MSS_BOOTMODE=3 پیاده سازی می شود.

SBIC حاوی آدرس، اندازه، هش و امضای الگوریتم امضای دیجیتال منحنی بیضی (ECDSA) حباب باینری محافظت شده است. ECDSA گونه ای از الگوریتم امضای دیجیتال را ارائه می دهد که از رمزنگاری منحنی بیضوی استفاده می کند. همچنین حاوی بردار تنظیم مجدد برای هر سخت افزار است
هسته / هسته / پردازنده (هارت) در سیستم.

جدول 4 •  گواهی تصویر بوت امن (SBIC)

افست اندازه (بایت) ارزش توضیحات
0 4 IMAGEADDR آدرس UBL در نقشه حافظه MSS
4 4 IMAGELEN اندازه UBL بر حسب بایت
8 4 BOOTVEC0 وکتور بوت در UBL برای E51
12 4 BOOTVEC1 وکتور بوت در UBL برای U540
16 4 BOOTVEC2 وکتور بوت در UBL برای U541
20 4 BOOTVEC3 وکتور بوت در UBL برای U542
24 4 BOOTVEC4 وکتور بوت در UBL برای U543
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 کدگذاری امضای ECDSA با کد DER
مجموع 208 بایت ها  

DSN
اگر فیلد DSN غیر صفر باشد، با شماره سریال خود دستگاه مقایسه می شود. اگر مقایسه با شکست مواجه شد، آنگاه boot_fail tampپرچم er تنظیم می شود و احراز هویت لغو می شود.

VERSION
اگر لغو SBIC توسط U_MSS_REVOCATION_ENABLE فعال شود، SBIC رد می شود مگر اینکه مقدار VERSION بزرگتر یا مساوی با آستانه ابطال باشد.

گزینه ابطال SBIC
اگر لغو SBIC توسط U_MSS_REVOCATION_ENABLE فعال شده باشد و OPTIONS[0] '1' باشد، تمام نسخه‌های SBIC کمتر از VERSION پس از احراز هویت کامل SBIC لغو می‌شوند. آستانه ابطال در مقدار جدید باقی می ماند تا زمانی که دوباره توسط یک SBIC آینده با OPTIONS[0] = '1' و یک قسمت VERSION بالاتر افزایش یابد. آستانه ابطال ممکن است فقط با استفاده از این مکانیسم افزایش یابد و فقط با جریان بیت قابل بازنشانی است.
وقتی آستانه ابطال به صورت پویا به‌روزرسانی می‌شود، آستانه با استفاده از طرح ذخیره‌سازی اضافی که برای رمزهای عبور استفاده می‌شود ذخیره می‌شود، به گونه‌ای که قطع برق در هنگام راه‌اندازی دستگاه باعث خرابی راه‌اندازی بعدی دستگاه نمی‌شود. اگر به روز رسانی آستانه ابطال ناموفق باشد، تضمین می شود که مقدار آستانه یا مقدار جدید یا قبلی است.

جدول 5 • استفاده از U_MSS_BOOTCFG در حالت بوت لودر کارخانه

افست (بایت)  

اندازه (بایت)

 

نام

 

توضیحات

0 4 U_MSS_SBIC_ADDR آدرس SBIC در فضای آدرس MSS
4 4 U_MSS_REVOCATION_ENABLE در صورت غیر صفر بودن، لغو SBIC را فعال کنید

شکل زیر جریان بوت ایمن کارخانه را نشان می دهد.
شکل 6 • جریان بوت ایمن کارخانهMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 6 Microchip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 7

بوت کاربر MSS 

بوت کاربر MSS زمانی انجام می شود که کنترل از System Controller به MSS Core Complex داده شود. پس از راه‌اندازی موفقیت‌آمیز MSS، کنترل‌کننده سیستم بازنشانی را به مجموعه هسته MSS آزاد می‌کند. MSS را می توان به یکی از روش های زیر راه اندازی کرد:

  • نرم افزار بره فلز
  • اپلیکیشن لینوکس
  • AMP برنامه

نرم افزار بره فلز

کاربردهای فلزی لخت برای SoC PolarFire را می توان با استفاده از ابزار SoftConsole توسعه داد. این ابزار خروجی را فراهم می کند files به شکل .hex که می تواند در جریان Libero برای گنجاندن در جریان بیت برنامه نویسی استفاده شود. file. از همین ابزار می توان برای اشکال زدایی برنامه های Bare Metal با استفاده از J استفاده کردTAG
رابط کاربری
شکل زیر برنامه SoftConsole Bare Metal را نشان می دهد که دارای پنج هارت (هسته) از جمله هسته مانیتور E51 است.

شکل 7 • پروژه SoftConsole Microchip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 8

اپلیکیشن لینوکس

این بخش دنباله راه‌اندازی لینوکس را که روی تمام هسته‌های U54 اجرا می‌شود، توضیح می‌دهد.
یک فرآیند بوت معمولی از سه ثانیه تشکیل شده استtages اولین سtage boot loader (FSBL) از روی تراشه بوت فلش (eNVM) اجرا می شود. FSBL s دوم را بارگذاری می کندtagبوت لودر (SSBL) از یک دستگاه بوت به رم یا کش خارجی. دستگاه بوت می تواند eNVM یا میکروکنترلر حافظه جاسازی شده (eMMC) یا SPI Flash خارجی باشد. SSBL سیستم عامل لینوکس را از دستگاه بوت به رم خارجی بارگذاری می کند. در قرن سومtage، لینوکس از رم خارجی اجرا می شود.

شکل زیر جریان فرآیند بوت لینوکس را نشان می دهد.
شکل 8 • جریان فرآیند بوت لینوکس معمولیMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-fig 9

جزئیات FSBL، Device tree، Linux و YOCTO build، نحوه ساخت و پیکربندی لینوکس در نسخه آینده این سند ارائه خواهد شد.

AMP برنامه
شرح مفصل Libero MSS Configurator و نحوه اشکال زدایی برنامه های چند پردازنده با استفاده از SoftConsole در نسخه آینده این سند ارائه خواهد شد.

منابع مختلف بوت کردن
در نسخه های بعدی این سند به روز می شود.

پیکربندی بوت
در نسخه های بعدی این سند به روز می شود.

کلمات اختصاری

در این سند از کلمات اختصاری زیر استفاده شده است.

جدول 1 •  فهرست کلمات اختصاری

مخفف Expanded

  • AMP چند پردازش نامتقارن
  • DTIM حافظه کاملاً یکپارچه داده (همچنین SRAM نامیده می شود)
  • ECDSA الگوریتم امضای دیجیتال منحنی بیضوی
  • eNVM حافظه غیر فرار تعبیه شده
  • FSBL اول اسtage Boot Loader
  • هارت رشته / هسته / هسته سخت افزاری
  • MSS زیرسیستم ریزپردازنده
  • POR بازنشانی را روشن کنید
  • PUF عملکرد فیزیکی غیرقابل کلون
  • رام حافظه ی فقط خواندنی
  • SCB پل کنترل کننده سیستم
  • sNVM حافظه ایمن غیر فرار

تاریخچه تجدید نظر

تاریخچه بازنگری تغییراتی را که در سند اجرا شده است را توصیف می کند. تغییرات با بازبینی فهرست شده اند و از انتشار فعلی شروع می شود.

تجدید نظر 2.0
در زیر خلاصه ای از تغییرات ایجاد شده در این ویرایش آمده است.

  • اطلاعات مربوط به Factory Secure Boot به روز شد.
  • اطلاعات مربوط به برنامه Bare Metal به روز شد.

تجدید نظر 1.0
اولین انتشار این سند.

ستاد میکروسمی
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 Corporation هستند. سایر علائم تجاری و علائم خدماتی متعلق به صاحبان مربوطه می باشد.

اسناد / منابع

راه اندازی و پیکربندی میکروچیپ UG0881 PolarFire SoC FPGA [pdfراهنمای کاربر
راه اندازی و پیکربندی FPGA SoC PolarFire UG0881، راه اندازی و پیکربندی FPGA SoC PolarFire، UG0881، راه اندازی و پیکربندی

مراجع

نظر بدهید

آدرس ایمیل شما منتشر نخواهد شد. فیلدهای الزامی مشخص شده اند *