Microchip UG0881 PolarFire SoC FPGA التمهيد والتكوين
ضمان
لا تقدم Microsemi أي ضمان أو تمثيل أو ضمان فيما يتعلق بالمعلومات الواردة هنا أو ملاءمة منتجاتها وخدماتها لأي غرض معين ، ولا تتحمل Microsemi أي مسؤولية من أي نوع تنشأ عن تطبيق أو استخدام أي منتج أو دائرة. تخضع المنتجات المباعة أدناه وأي منتجات أخرى تبيعها Microsemi لاختبارات محدودة ولا ينبغي استخدامها مع المعدات أو التطبيقات ذات المهام الحرجة. يُعتقد أن أي مواصفات أداء موثوقة ولكن لم يتم التحقق منها ، ويجب على المشتري إجراء وإكمال جميع اختبارات الأداء وغيرها من الاختبارات للمنتجات ، بمفردها أو جنبًا إلى جنب مع أو مثبتة في أي منتجات نهائية. لا يجوز للمشتري الاعتماد على أي بيانات أو مواصفات أداء أو معلمات مقدمة من Microsemi. يتحمل المشتري مسؤولية تحديد مدى ملاءمة أي منتجات بشكل مستقل واختبارها والتحقق منها. يتم توفير المعلومات المقدمة من قبل Microsemi أدناه "كما هي وأين هي" ومع جميع الأخطاء ، والمخاطر الكاملة المرتبطة بهذه المعلومات تقع بالكامل على عاتق المشتري. لا تمنح Microsemi ، بشكل صريح أو ضمني ، لأي طرف أي حقوق براءة اختراع أو تراخيص أو أي حقوق ملكية فكرية أخرى ، سواء فيما يتعلق بهذه المعلومات نفسها أو أي شيء موصوف في هذه المعلومات. المعلومات الواردة في هذا المستند مملوكة لشركة Microsemi ، وتحتفظ Microsemi بالحق في إجراء أي تغييرات على المعلومات الواردة في هذا المستند أو على أي منتجات وخدمات في أي وقت دون إشعار.
حول Microsemi
تقدم شركة Microsemi ، وهي شركة فرعية مملوكة بالكامل لشركة Microchip Technology Inc. (Nasdaq: MCHP) ، مجموعة شاملة من حلول أشباه الموصلات والأنظمة الخاصة بالفضاء والدفاع والاتصالات ومركز البيانات والأسواق الصناعية. تشتمل المنتجات على دوائر متكاملة للإشارات المختلطة التناظرية عالية الأداء وذات صلابة إشعاعية ، و FPGAs ، و SoCs ، و ASICs ؛ منتجات إدارة الطاقة؛ أجهزة التوقيت والمزامنة وحلول الوقت الدقيقة ، التي تحدد المعيار العالمي للوقت ؛ أجهزة معالجة الصوت حلول الترددات اللاسلكية مكونات منفصلة حلول تخزين واتصالات مؤسسية وتقنيات أمنية ومقاومة قابلة للتطويرampمنتجات إيه ؛ حلول إيثرنت دوائر متكاملة للطاقة عبر إيثرنت و midspans ؛ بالإضافة إلى إمكانات وخدمات التصميم المخصصة. تعلم اكثر من خلال www.microsemi.com.
التمهيد والتكوين
تستخدم أنظمة PolarFire SoC FPGA دوائر كهربائية متقدمة لضمان التشغيل الموثوق به عند التشغيل وإعادة الضبط. عند بدء التشغيل وإعادة التعيين ، يتبع تسلسل التمهيد PolarFire SoC FPGA إعادة تعيين التشغيل (POR) ، وتمهيد الجهاز ، وتهيئة التصميم ، والتمهيد المسبق للنظام الفرعي للمتحكم الدقيق (MSS) ، وتمهيد مستخدم MSS. يصف هذا المستند التمهيد المسبق لـ MSS وتمهيد مستخدم MSS. للحصول على معلومات حول تهيئة POR وتمهيد الجهاز والتصميم ، راجع UG0890: دليل مستخدم PolarFire SoC FPGA Power-Up وإعادة تعيينه.
لمزيد من المعلومات حول ميزات MSS ، راجع UG0880: دليل مستخدم PolarFire SoC MSS.
تسلسل التمهيد
يبدأ تسلسل التمهيد عندما يتم تشغيل PolarFire SoC FPGA أو إعادة تعيينه. ينتهي عندما يكون المعالج جاهزًا لتنفيذ برنامج تطبيق. يمر تسلسل التمهيد هذا بعدة قواطعtagوفاق قبل أن يبدأ تنفيذ البرامج.
يتم تنفيذ مجموعة من العمليات أثناء عملية التمهيد والتي تتضمن إعادة تشغيل الجهاز ، والتهيئة الطرفية ، وتهيئة الذاكرة ، وتحميل التطبيق المعرف من قبل المستخدم من الذاكرة غير المتطايرة إلى الذاكرة المتقلبة للتنفيذ.
يوضح الشكل التالي مراحل مختلفة من تسلسل التمهيد.
الشكل 1 تسلسل التمهيد
تمهيد MSS
عند الانتهاء بنجاح من تهيئة التصميم ، يبدأ MSS Pre-boot في تنفيذه. يتم تحرير MSS من إعادة التعيين بعد الانتهاء من جميع إجراءات بدء التشغيل العادية. تدير وحدة التحكم في النظام برمجة الأجهزة وتهيئتها وتكوينها. لا يحدث التمهيد المسبق لـ MSS إذا تم تكوين الجهاز المبرمج لوضع الإيقاف المرحلي لوحدة تحكم النظام.
يتم تنسيق مرحلة التهيئة التمهيدية لـ MSS بواسطة البرامج الثابتة لوحدة التحكم في النظام ، على الرغم من أنها قد تستخدم E51 في مجمع MSS الأساسي لأداء أجزاء معينة من تسلسل ما قبل التمهيد.
تقع الأحداث التالية أثناء التمهيد المسبق لـ MSStage:
- تشغيل الذاكرة غير المتطايرة المضمنة في 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 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
التمهيد الخمول
إذا لم يتم تكوين MSS (على سبيل المثالample ، جهاز فارغ) ، ثم يقوم MSS Core Complex بتنفيذ برنامج تمهيد ROM الذي يحتفظ بجميع المعالجات في حلقة لا نهائية حتى يتصل مصحح الأخطاء بالهدف. تحافظ سجلات متجه التمهيد على قيمتها حتى تتم إعادة تعيين الجهاز أو برمجة تكوين وضع تمهيد جديد. بالنسبة للأجهزة التي تم تكوينها ، يمكن تنفيذ هذا الوضع باستخدام ملف
U_MSS_BOOTMODE = 0 خيار التمهيد في مكون Libero.
ملحوظة: في هذا الوضع ، لا يتم استخدام U_MSS_BOOTCFG.
يوضح الشكل التالي تدفق التمهيد الخامل.
الشكل 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 | بوتفيك0 | ناقل التمهيد ل E51 |
4 | 4 | بوتفيك1 | ناقلات التمهيد ل U540 |
8 | 4 | بوتفيك2 | ناقلات التمهيد ل U541 |
16 | 4 | بوتفيك3 | ناقلات التمهيد ل U542 |
20 | 4 | بوتفيك4 | ناقلات التمهيد ل U543 |
يوضح الشكل التالي تدفق التمهيد غير الآمن.
الشكل 4 • تدفق التمهيد غير الآمن
التمهيد الآمن للمستخدم
يتيح هذا الوضع للمستخدم تنفيذ التمهيد الآمن المخصص الخاص به ويتم وضع رمز التمهيد الآمن للمستخدم في sNVM. sNVM هي ذاكرة غير متطايرة تبلغ سعتها 56 كيلوبايت يمكن حمايتها بواسطة الوظيفة المضمنة غير القابلة للنسخ (PUF). تعتبر طريقة التمهيد هذه مؤمنة لأن صفحات sNVM المميزة بذاكرة ROM غير قابلة للتغيير. عند بدء التشغيل ، تنسخ وحدة التحكم في النظام رمز التمهيد الآمن للمستخدم من sNVM إلى الذاكرة المدمجة بإحكام للبيانات (DTIM) في مركز الشاشة E51. يبدأ E51 في تنفيذ كود التمهيد الآمن للمستخدم.
إذا كان حجم رمز التمهيد الآمن للمستخدم أكبر من حجم DTIM ، فيجب على المستخدم تقسيم رمز التمهيد إلى قسمينtagإس. قد تحتوي sNVM على الملفات التاليةtage من تسلسل تمهيد المستخدم ، والذي قد يؤدي إلى مصادقة تمهيد s التاليtagه باستخدام خوارزمية مصادقة المستخدم / فك التشفير.
إذا تم استخدام الصفحات المصدق عليها أو المشفرة ، فسيتم استخدام نفس مفتاح USK (أي ،
يجب استخدام U_MSS_BOOT_SNVM_USK) لجميع الصفحات المصادق عليها / المشفرة.
إذا فشلت المصادقة ، يمكن وضع مجمع MSS الأساسي في إعادة التعيين و 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 • تدفق التمهيد الآمن للمستخدم
التمهيد الآمن في المصنع
في هذا الوضع ، تقرأ وحدة التحكم في النظام شهادة صورة التمهيد الآمن (SBIC) من eNVM وتتحقق من صحة SBIC. عند التحقق الناجح من الصحة ، يقوم System Controller بنسخ رمز التمهيد الآمن للمصنع من منطقة الذاكرة الخاصة والآمنة وتحميله في DTIM الخاص بجهاز E51 Monitor. يقوم التمهيد الآمن الافتراضي بإجراء فحص توقيع على صورة eNVM باستخدام SBIC المخزنة في eNVM. إذا لم يتم الإبلاغ عن أي أخطاء ، فسيتم تحرير إعادة التعيين إلى مجمع MSS الأساسي. إذا تم الإبلاغ عن أخطاء ، يتم إعادة تعيين مجمع MSS الأساسي و BOOT_FAIL tampرفع علم إيه. بعد ذلك ، يتم تنشيط وحدة تحكم النظام علىampعلم إيه الذي يؤكد إشارة إلى نسيج FPGA لعمل المستخدم. يتم تنفيذ هذا الوضع باستخدام U_MSS_BOOTMODE = خيار التمهيد 3.
يحتوي SBIC على العنوان والحجم والتجزئة وتوقيع خوارزمية التوقيع الرقمي (ECDSA) للنقطة الثنائية المحمية. تقدم ECDSA متغيرًا من خوارزمية التوقيع الرقمي التي تستخدم تشفير المنحنى الإهليلجي. يحتوي أيضًا على متجه إعادة التعيين لكل جهاز
الخيط / النواة / نواة المعالج (هارت) في النظام.
الجدول 4 • شهادة صورة التمهيد الآمن (SBIC)
الإزاحة | حجم (بايت) | قيمة | وصف |
0 | 4 | IMAGEADDR | عنوان UBL في خريطة ذاكرة MSS |
4 | 4 | تخيل | حجم UBL بالبايت |
8 | 4 | بوتفيك0 | ناقل التمهيد في UBL لـ E51 |
12 | 4 | بوتفيك1 | ناقل التمهيد في UBL لـ U540 |
16 | 4 | بوتفيك2 | ناقل التمهيد في UBL لـ U541 |
20 | 4 | بوتفيك3 | ناقل التمهيد في UBL لـ U542 |
24 | 4 | بوتفيك4 | ناقل التمهيد في UBL لـ U543 |
28 | 1 | الخيارات [7: 0] | خيارات SBIC |
28 | 3 | محجوز | |
32 | 8 | إصدار | SBIC / نسخة الصورة |
40 | 16 | رقم DSN | ربط DSN اختياري |
56 | 48 | H | تجزئة صورة UBL SHA-384 |
104 | 104 | كودسيج | توقيع 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 • تدفق التمهيد الآمن من المصنع
تمهيد مستخدم MSS
يحدث تمهيد مستخدم MSS عندما يتم إعطاء التحكم من وحدة التحكم في النظام إلى مجمع MSS الأساسي. عند بدء التشغيل المسبق لـ MSS بنجاح ، تقوم وحدة التحكم في النظام بإصدار إعادة التعيين إلى مجمع MSS الأساسي. يمكن تمهيد MSS بإحدى الطرق التالية:
- تطبيق المعادن العارية
- تطبيق Linux
- AMP طلب
تطبيق المعادن العارية
يمكن تطوير التطبيقات المعدنية العارية لـ PolarFire SoC باستخدام أداة SoftConsole. توفر هذه الأداة الإخراج files في شكل .hex والتي يمكن استخدامها في تدفق Libero لتضمينها في تدفق بتات البرمجة file. يمكن استخدام نفس الأداة لتصحيح أخطاء تطبيقات Bare Metal باستخدام JTAG
واجهة.
يوضح الشكل التالي تطبيق SoftConsole Bare Metal الذي يحتوي على خمسة قوارير (نوى) بما في ذلك قلب شاشة E51.
الشكل 7 • مشروع SoftConsole
تطبيق Linux
يصف هذا القسم تسلسل التمهيد لنظام التشغيل Linux الذي يعمل على جميع مراكز U54.
تتكون عملية التمهيد النموذجية من ثلاث ثوانٍtagإس. الأولىtagيتم تنفيذ أداة تحميل التمهيد (FSBL) من فلاش التمهيد على الشريحة (eNVM). يقوم FSBL بتحميل الثانيةtagمحمل الإقلاع الإلكتروني (SSBL) من جهاز التمهيد إلى ذاكرة الوصول العشوائي الخارجية أو ذاكرة التخزين المؤقت. يمكن أن يكون جهاز التمهيد eNVM أو متحكم ذاكرة مدمج (eMMC) أو SPI Flash خارجي. يقوم SSBL بتحميل نظام التشغيل Linux من جهاز التمهيد إلى ذاكرة الوصول العشوائي الخارجية. في الثالث قtagه ، يتم تنفيذ Linux من ذاكرة الوصول العشوائي الخارجية.
يوضح الشكل التالي تدفق عملية تمهيد Linux.
الشكل 8 • تدفق عملية تمهيد Linux النموذجي
سيتم توفير تفاصيل FSBL و Device tree و Linux و YOCTO ، وكيفية إنشاء Linux وتكوينه في الإصدار المستقبلي من هذا المستند.
AMP طلب
سيتم توفير وصف مفصل لـ Libero MSS Configurator وكيفية تصحيح أخطاء التطبيقات متعددة المعالجات باستخدام SoftConsole في الإصدار المستقبلي من هذا المستند.
مصادر مختلفة للتمهيد
ليتم تحديثها في الإصدارات المستقبلية من هذا المستند.
تهيئة الإقلاع
ليتم تحديثها في الإصدارات المستقبلية من هذا المستند.
الاختصارات
يتم استخدام الاختصارات التالية في هذا المستند.
الجدول 1 • قائمة الاختصارات
تم توسيع الاختصار
- AMP معالجة متعددة غير متماثلة
- دتم ذاكرة مدمجة بإحكام للبيانات (تسمى أيضًا SRAM)
- إي سي دي إس إيه الاهليلجيه منحنى التوقيع الرقمي الخوارزميه
- eNVM ذاكرة مضمنة غير متطايرة
- فسبل أول سtagه محمل التمهيد
- هارت خيط الأجهزة / النواة / نواة المعالج
- مخطوطة النظام الفرعي للمعالج الدقيق
- البرتغال الطاقة على إعادة تعيين
- PUFA وظيفة غير قابلة للاستنساخ جسديا
- ذاكرة للقراءة فقط اقرأ الذاكرة فقط
- بنك التسليف والادخار جسر تحكم النظام
- إس إن في إم ذاكرة آمنة غير متطايرة
سجل المراجعة
يصف محفوظات المراجعة التغييرات التي تم تنفيذها في المستند. يتم سرد التغييرات حسب المراجعة ، بدءًا من المنشور الحالي.
المراجعة 2.0
فيما يلي ملخص للتغييرات التي تم إجراؤها في هذه المراجعة.
- تم تحديث معلومات التمهيد الآمن من المصنع.
- تم تحديث المعلومات حول تطبيق Bare Metal.
المراجعة 1.0
أول نشر لهذه الوثيقة.
مقر Microsemi
مشروع واحد ، أليسو فيجو ،
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 التمهيد والتكوين [بي دي اف] دليل المستخدم UG0881 PolarFire SoC FPGA Booting And Configuration، UG0881، PolarFire SoC FPGA Booting And Configuration، Booting And Configuration، تمهيد وتكوين UGXNUMX PolarFire SoC FPGA Booting And Configuration، UGXNUMX، PolarFire SoC FPGA |