מיקרוסמי-LGOO

Microchip UG0881 PolarFire SoC FPGA אתחול ותצורה

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

אַחֲרָיוּת

מיקרוסמי אינה נותנת אחריות, מצג או ערבות בנוגע למידע הכלול במסמך זה או להתאמת המוצרים והשירותים שלה לכל מטרה מסוימת, וגם מיקרוסמי אינה נושאת באחריות כלשהי הנובעת מהיישום או השימוש במוצר או מעגל כלשהו. המוצרים הנמכרים להלן וכל מוצר אחר שנמכר על ידי Microsemi עברו בדיקות מוגבלות ואין להשתמש בהם בשילוב עם ציוד או יישומים קריטיים למשימה. כל מפרט ביצועים נחשב אמין אך אינו מאומת, והקונה חייב לבצע ולהשלים את כל הביצועים ובדיקות אחרות של המוצרים, לבד וביחד עם, או מותקן, במוצרים הסופיים כלשהם. הקונה לא יסתמך על נתונים ומפרטי ביצועים או פרמטרים כלשהם שיסופקו על ידי Microsemi. באחריות הקונה לקבוע באופן עצמאי את ההתאמה של כל מוצר ולבדוק ולאמת אותו. המידע המסופק על ידי Microsemi להלן מסופק "כמות שהוא, איפה הוא" ועם כל התקלות, וכל הסיכון הכרוך במידע זה הוא כולו על הקונה. מיקרוסמי אינה מעניקה, במפורש או במשתמע, לאף צד זכויות פטנט, רישיונות או כל זכויות IP אחרות, בין אם לגבי מידע זה עצמו או כל דבר המתואר במידע זה. המידע המסופק במסמך זה הוא קנייני של מיקרוסמי, ומיקרוסמי שומרת לעצמה את הזכות לבצע כל שינוי במידע במסמך זה או במוצרים ובשירותים כלשהם בכל עת ללא הודעה מוקדמת.

על Microsemi

Microsemi, חברה בת בבעלות מלאה של Microchip Technology Inc. (בנאסד"ק: MCHP), מציעה פורטפוליו מקיף של פתרונות מוליכים למחצה ומערכות עבור תעופה וחלל והגנה, תקשורת, מרכזי נתונים ושווקים תעשייתיים. המוצרים כוללים מעגלים משולבים של אותות מעורבים אנלוגיים בעלי ביצועים גבוהים ומוקשים בקרינה, FPGAs, SoCs ו-ASICs; מוצרי ניהול חשמל; מכשירי תזמון וסנכרון ופתרונות זמן מדויקים, מציבים את הסטנדרט העולמי לזמן; מכשירים לעיבוד קול; פתרונות RF; רכיבים בדידים; פתרונות אחסון ותקשורת ארגוניים, טכנולוגיות אבטחה ואנטי-ט ניתן להרחבהampER מוצרים; פתרונות Ethernet; Power-over-Ethernet ICs ו-midspans; כמו גם יכולות ושירותי עיצוב מותאמים אישית. למידע נוסף ב www.microsemi.com.

אתחול ותצורה

רכיבי FPGA SoC של PolarFire משתמשים במעגלי הדלקה מתקדמים כדי להבטיח הפעלה אמינה בעת ההדלקה והאיפוס. בעת הפעלה ואיפוס, רצף האתחול של PolarFire SoC FPGA עוקב אחר איפוס הפעלה (POR), אתחול התקן, אתחול העיצוב, אתחול מקדים של מיקרו-בקר (MSS) ואתחול משתמש MSS. מסמך זה מתאר את MSS מראש ואתחול משתמש MSS. למידע על POR, אתחול ההתקן ואיתחול עיצוב, ראה UG0890: מדריך למשתמש של PolarFire SoC FPGA הפעלה ואיפוס.
למידע נוסף על תכונות MSS, ראה UG0880: מדריך למשתמש של PolarFire SoC MSS.

רצף אתחול
רצף האתחול מתחיל כאשר ה-PolarFire SoC FPGA מופעל או מאופס. זה מסתיים כאשר המעבד מוכן להפעיל תוכנית יישום. רצף האתחול הזה עובר דרך מספר stages לפני שהוא מתחיל בביצוע תוכניות.
ערכת פעולות מבוצעת במהלך תהליך האתחול הכוללת איפוס הפעלה של החומרה, אתחול היקפי, אתחול זיכרון וטעינת האפליקציה המוגדרת על ידי המשתמש מזיכרון לא נדיף לזיכרון הנדיף לביצוע.

האיור הבא מציג שלבים שונים של רצף האתחול.

איור 1  רצף אתחולMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-איור 1

אתחול מראש של MSS

עם סיום מוצלח של אתחול העיצוב, MSS Pre-boot מתחיל בביצועו. ה-MSS משוחרר מאיפוס לאחר השלמת כל הליכי האתחול הרגילים. בקר המערכת מנהל את התכנות, האתחול והתצורה של ההתקנים. MSS Pre-boot אינו מתרחש אם ההתקן המתוכנת מוגדר למצב השהיית בקר המערכת.
שלב האתחול של MSS לפני האתחול מתואם על ידי קושחת בקר המערכת, אם כי הוא עשוי לעשות שימוש ב-E51 ב-MSS Core Complex כדי לבצע חלקים מסוימים ברצף שלפני האתחול.
האירועים הבאים מתרחשים במהלך ה-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

U_MSS_BOOTMODE[1:0] מצב תֵאוּר
0 מגף סרק MSS Core Complex מאתחל מ-ROM אתחול אם MSS לא מוגדר
1 אתחול לא מאובטח MSS Core Complex מאתחל ישירות מהכתובת שהוגדרה על ידי U_MSS_BOOTADDR
2 אתחול מאובטח למשתמש מגפי MSS Core Complex מבית sNVM
3 אתחול מאובטח במפעל מגפיים של MSS Core Complex באמצעות פרוטוקול האתחול המאובטח של היצרן

אפשרות האתחול נבחרה כחלק מזרימת העיצוב של Libero. שינוי המצב יכול להיות מושג רק באמצעות יצירת תכנות FPGA חדש file.

איור 2 • MSS Pre-boot Flow Microchip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-איור 2

אתחול סרק

אם ה-MSS אינו מוגדר (לדוגמהample, מכשיר ריק), ואז ה-MSS Core Complex מבצע תוכנית ROM אתחול שמחזיקה את כל המעבדים בלולאה אינסופית עד ש-debugger מתחבר למטרה. אוגרי וקטור האתחול שומרים על ערכם עד שהמכשיר מאופס או שתוכנת תצורה חדשה של מצב אתחול. עבור התקנים מוגדרים, ניתן ליישם מצב זה באמצעות
U_MSS_BOOTMODE=0 אפשרות אתחול בקונפיגורטור Libero.

פֶּתֶק: במצב זה, U_MSS_BOOTCFG אינו בשימוש.

האיור הבא מציג את זרימת האתחול במצב סרק.
איור 3 • זרימת אתחול סרקMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-איור 3

אתחול לא מאובטח

במצב זה, ה-MSS Core Complex מבצע מכתובת eNVM שצוינה ללא אימות. הוא מספק את אפשרות האתחול המהירה ביותר, אך אין אימות של תמונת הקוד. ניתן לציין את הכתובת על ידי הגדרת U_MSS_BOOTADDR ב-Libero Configurator. ניתן להשתמש במצב זה גם לאתחול מכל משאב זיכרון FPGA Fabric דרך FIC. מצב זה מיושם באמצעות ה
U_MSS_BOOTMODE=אפשרות אתחול אחת.
ה-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-איור 4

אתחול מאובטח למשתמש
מצב זה מאפשר למשתמש ליישם אתחול מאובטח מותאם אישית משלו וקוד האתחול המאובטח של המשתמש ממוקם ב-sNVM. ה-sNVM הוא זיכרון לא נדיף של 56 KB שניתן להגן על ידי הפונקציה המובנית פיזית בלתי ניתנת לשיבוט (PUF). שיטת אתחול זו נחשבת למאובטחת מכיוון שדפי sNVM המסומנים כ-ROM אינם ניתנים לשינוי. עם ההפעלה, בקר המערכת מעתיק את קוד האתחול המאובטח של המשתמש מ-sNVM לזיכרון המשולב ב-Data Tightly Integrated (DTIM) של ליבת ה-E51 Monitor. E51 מתחיל להפעיל את קוד האתחול המאובטח של המשתמש.
אם גודל קוד האתחול המאובטח למשתמש גדול מגודל ה-DTIM אז המשתמש צריך לפצל את קוד האתחול לשנייםtages. ה-sNVM עשוי להכיל את ה-s הבאtage של רצף האתחול של המשתמש, שעשוי לבצע אימות של s האתחול הבאtage באמצעות אלגוריתם אימות/פענוח המשתמש.
אם נעשה שימוש בדפים מאומתים או מוצפנים אז אותו מפתח USK (כלומר,
יש להשתמש ב-U_MSS_BOOT_SNVM_USK) עבור כל הדפים המאומתים/המוצפנים.
אם האימות נכשל, ניתן למקם את מתחם ליבת MSS לאיפוס ואת ה-BOOT_FAIL לאampניתן להרים את הדגל. מצב זה מיושם באמצעות אפשרות האתחול 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-איור 5

אתחול מאובטח במפעל
במצב זה, בקר המערכת קורא את אישור תמונת האתחול המאובטח (SBIC) מ-eNVM ומאמת את ה-SBIC. לאחר אימות מוצלח, בקר המערכת מעתיק את קוד האתחול המאובטח של היצרן מאזור הזיכרון הפרטי והמאובטח שלו וטוען אותו ל-DTIM של ליבת ה-E51 Monitor. ברירת המחדל של האתחול המאובטח מבצע בדיקת חתימה בתמונת eNVM באמצעות SBIC המאוחסנת ב-eNVM. אם לא דווחו שגיאות, האיפוס ישוחרר ל-MSS Core Complex. אם מדווחות שגיאות, מתחם הליבה של MSS מועבר לאיפוס וה-BOOT_FAIL לאampדגל מורם. לאחר מכן, בקר המערכת מופעל בשעהampדגל er אשר קובע אות למארג FPGA לפעולת המשתמש. מצב זה מיושם באמצעות אפשרות האתחול U_MSS_BOOTMODE=3.

ה-SBIC מכיל את הכתובת, הגודל, הגיבוב וחתימת אלגוריתם החתימה הדיגיטלית של עקומה אליפטית (ECDSA) של הכתם הבינארי המוגן. ECDSA מציעה גרסה של אלגוריתם החתימה הדיגיטלית המשתמשת בקריפטוגרפיה של עקומה אליפטית. הוא מכיל גם את וקטור האיפוס עבור כל חומרה
ליבת חוט/ליבה/מעבד (Hart) במערכת.

שולחן 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 אפשרויות[7:0] אפשרויות SBIC
28 3 שָׁמוּר  
32 8 גִרְסָה גרסת SBIC/תמונה
40 16 DSN כריכת DSN אופציונלית
56 48 H תמונת UBL SHA-384 hash
104 104 CODESIG חתימת ECDSA מקודדת DER
סַך הַכֹּל 208 בתים  

DSN
אם שדה ה-DSN אינו אפס, הוא מושווה למספר הסידורי של המכשיר עצמו. אם ההשוואה נכשלת, אזי ה-boot_fail tampדגל er מוגדר והאימות מבוטל.

גִרְסָה
אם ביטול 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-איור 6 Microchip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-איור 7

אתחול משתמש MSS 

אתחול משתמש MSS מתרחש כאשר השליטה ניתנת מבקר המערכת ל-MSS Core Complex. לאחר אתחול מראש של MSS מוצלח, בקר המערכת משחרר את האיפוס ל-MSS Core Complex. ניתן לאתחל את MSS באחת מהדרכים הבאות:

  • יישום מתכת חשופה
  • אפליקציית לינוקס
  • AMP בַּקָשָׁה

יישום מתכת חשופה

ניתן לפתח את יישומי המתכת החשופה עבור PolarFire SoC באמצעות כלי SoftConsole. כלי זה מספק את הפלט files בצורה של .hex אשר ניתן להשתמש בזרימת Libero כדי לכלול בזרם הסיביות של התכנות file. ניתן להשתמש באותו כלי כדי לנפות באגים ביישומי Bare Metal באמצעות JTAG
מִמְשָׁק.
האיור הבא מציג את אפליקציית SoftConsole Bare Metal הכוללת חמישה הרטס (Cores) כולל ליבת E51 Monitor.

איור 7 • פרויקט SoftConsole Microchip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-איור 8

אפליקציית לינוקס

סעיף זה מתאר את רצף האתחול עבור לינוקס הפועל על כל הליבות U54.
תהליך אתחול טיפוסי מורכב משלוש שניותtages. הס' הראשוןtagמטעין האתחול (FSBL) מבוצע מהבזק האתחול שבשבב (eNVM). ה-FSBL טוען את ה-s השניtagטוען אתחול (SSBL) מהתקן אתחול ל-RAM חיצוני או מטמון. התקן האתחול יכול להיות eNVM או מיקרו-בקר זיכרון משובץ (eMMC) או פלאש SPI חיצוני. ה-SSBL טוען את מערכת ההפעלה לינוקס מהתקן האתחול ל-RAM חיצוני. בס' השלישיתtagה, לינוקס מבוצעת מ-RAM החיצוני.

האיור הבא מציג את זרימת תהליך האתחול של לינוקס.
איור 8 • זרימת תהליך אתחול טיפוסי של לינוקסMicrochip-UG0881-PolarFire-SoC-FPGA-Booting-And-Configuration-איור 9

פרטים של FSBL, Device Tree, Linux ו-YOCTO build, כיצד לבנות ולהגדיר לינוקס יסופקו במהדורה העתידית של מסמך זה.

AMP בַּקָשָׁה
תיאור מפורט של Libero MSS Configurator וכיצד לנפות באגים ביישומים מרובי מעבדים באמצעות SoftConsole יסופקו במהדורה העתידית של מסמך זה.

מקורות אתחול שונים
לעדכון בגרסאות עתידיות של מסמך זה.

תצורת אתחול
לעדכון בגרסאות עתידיות של מסמך זה.

ראשי תיבות

במסמך זה נעשה שימוש בראשי התיבות הבאים.

שולחן 1 •  רשימת ראשי תיבות

ראשי תיבות מורחבים

  • AMP ריבוי עיבוד א-סימטרי
  • DTIM זיכרון משולב בחוזקה (נקרא גם SRAM)
  • ECDSA אלגוריתם חיתום דיגיטלי של עקומת אליפטי
  • eNVM זיכרון לא נדיף מוטבע
  • FSBL ראשון שtage טוען אתחול
  • הארט חוט/ליבה/ליבת חומרה
  • MSS תת-מערכת מיקרו-מעבד
  • POR הפעלה איפוס
  • PUF פונקציה בלתי ניתנת לשיבוט פיזית
  • ROM זיכרון לקריאה בלבד
  • 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. כל שאר הסימנים המסחריים וסימני השירות הם רכושם של בעליהם בהתאמה.

מסמכים / משאבים

Microchip UG0881 PolarFire SoC FPGA אתחול ותצורה [pdfמדריך למשתמש
UG0881 PolarFire SoC FPGA אתחול ותצורה, UG0881, PolarFire SoC FPGA אתחול ותצורה, אתחול ותצורה

הפניות

השאר תגובה

כתובת האימייל שלך לא תפורסם. שדות חובה מסומנים *