خطای FPGA SoC DG0388 SmartFusion2
تشخیص و تصحیح حافظه سرم
راهنمای کاربر
©2021 Microsemi، یک شرکت تابعه کاملاً متعلق به Microchip Technology Inc. کلیه حقوق محفوظ است. Microsemi و نشان Microsemi علائم تجاری ثبت شده Microsemi Corporation هستند. سایر علائم تجاری و علائم خدماتی متعلق به صاحبان مربوطه می باشد.
میکروسمی هیچ گونه ضمانت، نمایندگی یا تضمینی در رابطه با اطلاعات مندرج در اینجا یا مناسب بودن محصولات و خدمات خود برای اهداف خاص نمی دهد، و همچنین میکروسمی هیچ گونه مسئولیتی را که ناشی از کاربرد یا استفاده از هر محصول یا مدار باشد، بر عهده نمی گیرد. محصولات فروخته شده در اینجا و سایر محصولات فروخته شده توسط Microsemi تحت آزمایشات محدودی قرار گرفته اند و نباید در ارتباط با تجهیزات یا برنامه های کاربردی حیاتی استفاده شوند. اعتقاد بر این است که هرگونه مشخصات عملکرد قابل اعتماد است اما تأیید نشده است و خریدار باید تمام عملکرد و سایر آزمایشات محصولات را به تنهایی و همراه با یا نصب در هر محصول نهایی انجام دهد و کامل کند. خریدار نباید به داده ها و مشخصات عملکرد یا پارامترهای ارائه شده توسط Microsemi اعتماد کند. مسئولیت خریدار است
به طور مستقل مناسب بودن هر محصولی را تعیین کرده و همان را آزمایش و تأیید کند. اطلاعات ارائه شده توسط Microsemi در اینجا "همانطور که هست، کجاست" و با تمام ایرادات ارائه شده است و تمام خطرات مربوط به چنین اطلاعاتی کاملاً با خریدار است. Microsemi به هیچ یک از طرفین به طور صریح یا ضمنی هیچ گونه حق ثبت اختراع، مجوز، یا هر گونه حقوق IP دیگر، چه در رابطه با خود چنین اطلاعاتی یا هر چیزی که در آن اطلاعات توضیح داده شده است، اعطا نمی کند. اطلاعات ارائه شده در این سند متعلق به Microsemi است و Microsemi این حق را برای خود محفوظ می دارد که در هر زمان بدون اطلاع قبلی، هرگونه تغییر در اطلاعات این سند یا هر محصول و خدماتی را اعمال کند.
درباره میکروسمی
Microsemi، یک شرکت تابعه کاملاً متعلق به Microchip Technology Inc. (Nasdaq: MCHP)، مجموعه جامعی از راه حل های نیمه هادی و سیستمی را برای بازارهای هوافضا و دفاع، ارتباطات، مرکز داده و بازارهای صنعتی ارائه می دهد. محصولات شامل مدارهای مجتمع سیگنال مختلط آنالوگ با کارایی بالا و سخت شده با تشعشع، FPGA، SoC و ASIC می باشد. محصولات مدیریت انرژی؛ دستگاه های زمان بندی و همگام سازی و راه حل های دقیق زمان، تعیین استاندارد جهانی برای زمان. دستگاه های پردازش صدا؛ راه حل های RF؛ اجزای گسسته؛ راه حل های ذخیره سازی و ارتباطات سازمانی، فناوری های امنیتی و ضد t مقیاس پذیرampمحصولات er; راه حل های اترنت؛ آیسیها و میانیهای اترنت با قدرت بیش از حد؛ و همچنین قابلیت ها و خدمات طراحی سفارشی. بیشتر بدانید در www.microsemi.com.
تاریخچه تجدید نظر
تاریخچه بازنگری تغییراتی را که در سند اجرا شده است را توصیف می کند. تغییرات با بازبینی فهرست شده اند و از انتشار فعلی شروع می شود.
1.1 ویرایش 11.0
در زیر خلاصه ای از تغییرات ایجاد شده در این ویرایش آمده است.
- سند برای Libero SoC v12.6 به روز شد.
- ارجاع به شماره نسخه لیبرو حذف شد.
1.2 ویرایش 10.0
سند برای انتشار نرم افزار Libero SoC v11.8 SP1 به روز شد.
1.3 ویرایش 9.0
سند برای انتشار نرم افزار Libero SoC v11.8 به روز شد.
1.4 ویرایش 8.0
سند برای انتشار نرم افزار Libero SoC v11.7 (SAR 77402) به روز شد.
1.5 ویرایش 7.0
سند برای انتشار نرم افزار Libero SoC v11.6 (SAR 72777) به روز شد.
1.6 ویرایش 6.0
سند برای انتشار نرم افزار Libero SoC v11.5 (SAR 64979) به روز شد.
1.7 ویرایش 5.0
سند برای انتشار نرم افزار Libero SoC v11.4 (SAR 60476) به روز شد.
1.8 ویرایش 4.0
سند برای انتشار نرم افزار Libero SoC v11.3 (SAR 56852) به روز شد.
1.9 ویرایش 3.0
سند برای انتشار نرم افزار Libero SoC v11.2 (SAR 52960) به روز شد.
1.10 ویرایش 2.0
سند برای انتشار نرم افزار Libero SoC v11.0 (SAR 47858) به روز شد.
1.11 ویرایش 1.0
اولین انتشار این سند.
SmartFusion2 SoC FPGA – تشخیص خطا و تصحیح حافظه Seram
مقدمه
این سند قابلیتهای تشخیص و تصحیح خطا (EDAC) دستگاههای SmartFusion® 2 را در حافظه دسترسی تصادفی استاتیک تعبیهشده (Seram) توضیح میدهد. کنترلکنندههای EDAC اجرا شده در دستگاههای SmartFusion2 از تصحیح تک خطا و تشخیص دو خطا (SECDED) پشتیبانی میکنند. تمام حافظه های موجود در زیرسیستم میکروکنترلر (MSS) SmartFusion2 توسط SECDED محافظت می شوند. حافظه Seram می تواند eSRAM_0 یا eSRAM_1 باشد. محدوده آدرس eSRAM_0 0x20000000 تا 0x20007FFF و محدوده آدرس eSRAM_1 0x20008000 تا 0x2000FFFF است.
وقتی SECDED فعال است:
- یک عملیات نوشتن، 8 بیت کد SECDED را محاسبه کرده و به هر 32 بیت داده اضافه می کند.
- عملیات خواندن داده ها را در برابر کد SECDED ذخیره شده می خواند و بررسی می کند تا از تصحیح خطای 1 بیتی و تشخیص خطای 2 بیتی پشتیبانی کند.
در این نسخه ی نمایشی، EDAC را می توان با چشمک زن دیود ساطع نور (LED) روی برد و با رابط کاربری گرافیکی (GUI) شناسایی کرد.EDAC eSRAM از ویژگی های زیر پشتیبانی می کند:
- مکانیسم SECDED
- در صورت تشخیص خطای 3 بیتی یا خطای 1 بیتی، وقفه هایی را برای پردازنده ARM Cortex-M2 و پارچه FPGA فراهم می کند.
- تعداد خطاهای 1 بیتی و 2 بیتی را در رجیسترهای شمارنده خطا ذخیره می کند.
- آدرس آخرین خطای 1 بیتی یا 2 بیتی متاثر از مکان حافظه را ذخیره می کند.
- داده های خطای 1 بیتی یا 2 بیتی را در ثبات های SECDED ذخیره می کند.
- سیگنال های گذرگاه خطا را به فابریک FPGA ارائه می دهد.
به بخش EDAC راهنمای کاربر امنیت و قابلیت اطمینان UG0443: SmartFusion2 و IGLOO2 FPGA و فصل Seram UG0331: SmartFusion2 Microcontroller Subsystem راهنمای کاربر مراجعه کنید.
2.2 مورد نیاز نسخه ی نمایشی
جدول زیر الزامات سخت افزاری و نرم افزاری برای اجرای طرح نمایشی را فهرست می کند.
جدول 1 • الزامات طراحی
مورد نیاز | نسخه |
سیستم عامل | ویندوز 64 و 7 10 بیتی |
سخت افزار | |
کیت ارزیابی امنیتی SmartFusion2: • برنامه نویس FlashPro4 • کابل USB A به Mini – B • آداپتور 12 ولت |
Rev D یا بالاتر |
نرم افزار | |
FlashPro Express | به readme.txt مراجعه کنید file در طراحی ارائه شده است files برای نسخه های نرم افزار مورد استفاده با این طرح مرجع. |
لیبرو | |
نرم افزار سیستم روی تراشه (SoC). | |
SoftConsole | |
درایورهای کامپیوتر میزبان | درایورهای USB به UART |
برای راه اندازی رابط کاربری گرافیکی نسخه ی نمایشی | کلاینت Microsoft.NET Framework 4 |
توجه: نماهای طراحی هوشمند و پیکربندی Libero که در این راهنما نشان داده شده است، فقط برای مصور هستند.
طرح Libero را باز کنید تا آخرین به روز رسانی ها را ببینید.
2.3 پیش نیازها
قبل از شروع:
Libero SoC را دانلود و نصب کنید (همانطور که در webسایت برای این طراحی) در کامپیوتر میزبان از محل زیر.
https://www.microsemi.com/product-directory/design-resources/1750-libero-soc
2.3.1 طراحی Files
طراحی نسخه ی نمایشی files از مسیر زیر در Microsemi برای دانلود در دسترس هستند webسایت: http://soc.microsemi.com/download/rsc/?f=m2s_dg0388_df
طراحی files عبارتند از:
- GUI قابل اجرا
- پروژه لیبرو
- شغل برنامه نویسی
- مرا بخوان file
شکل زیر ساختار سطح بالای طرح را نشان می دهد fileس برای جزئیات بیشتر، به readme.txt مراجعه کنید file.2.4 توضیحات طراحی نسخه ی نمایشی
هر Seram در MSS توسط یک کنترلر اختصاصی EDAC محافظت می شود. EDAC یک خطای 1 بیتی یا خطای 2 بیتی را هنگام خواندن داده ها از حافظه تشخیص می دهد. اگر EDAC خطای 1 بیتی را تشخیص دهد، کنترل کننده EDAC همان بیت خطا را تصحیح می کند. اگر EDAC برای تمام خطاهای 1 بیتی و 2 بیتی فعال باشد، شمارشگرهای خطای مربوطه در رجیسترهای سیستم افزایش یافته و وقفه های متناظر و سیگنال های گذرگاه خطا به فابریک FPGA تولید می شوند.
در یک محیط حساس به تک رویداد (SEU)، حافظه دسترسی تصادفی (RAM) مستعد خطاهای گذرا ناشی از یونهای سنگین است. این در زمان واقعی اتفاق می افتد. برای نشان دادن این، یک خطا به صورت دستی معرفی می شود و تشخیص و تصحیح مشاهده می شود.
این طراحی آزمایشی شامل اجرای وظایف زیر است:
- EDAC را فعال کنید
- داده ها را در سرام بنویسید
- اطلاعات سرام را بخوانید
- EDAC را غیرفعال کنید
- یکی دو بیت خراب
- داده ها را در سرام بنویسید
- EDAC را فعال کنید
- داده ها را بخوانید
- در مورد خطای 1 بیتی، کنترل کننده EDAC خطا را تصحیح می کند، رجیسترهای وضعیت مربوطه را به روز می کند و داده های نوشته شده در مرحله 2 را در عملیات خواندن انجام شده در مرحله 8 ارائه می دهد.
- در صورت خطای 2 بیتی، یک وقفه متناظر ایجاد می شود و برنامه باید داده ها را تصحیح کند یا اقدام مناسب را در کنترل کننده وقفه انجام دهد. این دو روش در این دمو نشان داده شده است.
دو تست در این دمو پیاده سازی شده است: تست حلقه و تست دستی و برای خطاهای 1 بیتی و 2 بیتی قابل استفاده هستند.
2.4.1 تست حلقه
تست حلقه زمانی اجرا می شود که SmartFusion2 یک فرمان تست حلقه را از رابط کاربری گرافیکی دریافت کند. در ابتدا، تمام شمارشگرهای خطا و رجیسترهای مربوط به EDAC در حالت RESET قرار می گیرند.
مراحل زیر برای هر تکرار اجرا می شود:
- کنترلر EDAC را فعال کنید.
- داده ها را در محل خاص حافظه Seram بنویسید.
- کنترلر EDAC را غیرفعال کنید.
- داده های ناشی از خطای 1 بیتی یا 2 بیتی را در همان محل حافظه Seram بنویسید.
- کنترلر EDAC را فعال کنید.
- داده ها را از همان محل حافظه Seram بخوانید.
- در صورت بروز خطای ۱ بیتی، داده های تشخیص خطای ۱ یا ۲ بیتی و داده های تصحیح خطای ۱ بیتی را به رابط کاربری گرافیکی ارسال کنید.
2.4.2 آزمون دستی
این روش امکان تست دستی برای فعال یا غیرفعال کردن EDAC و عملیات نوشتن یا خواندن را می دهد. با استفاده از این روش، خطاهای 1 بیتی یا 2 بیتی را می توان به هر مکانی در داخل درز معرفی کرد. EDAC را فعال کنید و با استفاده از فیلدهای رابط کاربری گرافیکی، داده ها را به آدرس مشخص شده بنویسید. EDAC را غیرفعال کنید و داده های خراب 1 بیتی یا 2 بیتی را در همان محل آدرس بنویسید. EDAC را فعال کنید و داده ها را از همان محل آدرس بخوانید سپس LED روی برد تغییر می کند تا تشخیص و تصحیح خطاها را مطلع کند. شمارشگر خطای مربوطه در رابط کاربری گرافیکی نمایش داده می شود. کنسول سریال GUI تمام اقدامات انجام شده در SmartFusion2 را ثبت می کند.
شکل زیر عملیات نمایشی Seram EDAC را نشان می دهد.2.5 اجرای نسخه ی نمایشی
این بخش تنظیمات برد SmartFusion2 Security Evaluation Kit، گزینه های رابط کاربری گرافیکی و نحوه اجرای طرح نمایشی را توضیح می دهد.
2.5.1 راه اندازی نسخه ی نمایشی
مراحل زیر نحوه تنظیم دمو را شرح می دهد:
- برنامه نویس FlashPro4 را به کانکتور J5 برد SmartFusion2 Security Evaluation Kit وصل کنید.
- یک سر کابل USB mini-B را به کانکتور J18 موجود در برد کیت ارزیابی امنیتی SmartFusion2 وصل کنید. سر دیگر کابل USB را به کامپیوتر میزبان وصل کنید. همانطور که در شکل 4، صفحه 7 نشان داده شده است، اطمینان حاصل کنید که درایورهای USB به UART Bridge به طور خودکار شناسایی می شوند (در مدیریت دستگاه قابل تأیید است).
توجه: شماره پورت COM را برای پیکربندی پورت سریال کپی کنید. همانطور که در شکل زیر نشان داده شده است، اطمینان حاصل کنید که محل پورت COM مانند مبدل سریال USB D مشخص شده است. - اگر درایورهای USB به UART بریج نصب نشدهاند، درایورها را از اینجا دانلود و نصب کنید www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip
- جامپرهای روی برد SmartFusion2 Security Evaluation Kit را مانند شکل زیر وصل کنید. کلید منبع تغذیه SW7 باید هنگام برقراری اتصالات جامپر خاموش شود.
جدول 2 • تنظیمات جامپر کیت ارزیابی امنیتی SmartFusion2جامپر پین (از) پین (به) نظرات J22، J23، J24، J8، J3 1 (پیش فرض) 2 اینها تنظیمات جامپر پیش فرض برد کیت ارزیابی امنیتی SmartFusion2 هستند. اطمینان حاصل کنید که این جامپرها مطابق با آن تنظیم شده اند. - منبع تغذیه را به کانکتور J18 وصل کنید.
شکل زیر تنظیمات برد برای اجرای دمو روی کیت SmartFusion2 SecuEvaluation را نشان می دهد.2.5.2 رابط کاربری گرافیکی
بخش زیر در مورد Seram – EDAC demo GUI توضیح می دهد.
رابط کاربری گرافیکی از ویژگی های زیر پشتیبانی می کند:
- انتخاب پورت COM و Baud Rate.
- انتخاب برگه تصحیح خطای 1 بیتی یا برگه تشخیص خطای 2 بیتی.
- انتخاب eSRAM0 یا eSRAM1.
- فیلد آدرس برای نوشتن یا خواندن داده ها به یا از آدرس سرام مشخص شده.
- فیلد داده برای نوشتن یا خواندن داده ها به یا از آدرس سرام مشخص شده.
- بخش Serial Console برای چاپ اطلاعات وضعیت دریافتی از برنامه.
- EDAC ON/OFF: EDAC را فعال یا غیرفعال می کند.
- Write: امکان نوشتن داده ها در آدرس مشخص شده را می دهد.
- Read: اجازه خواندن داده ها از آدرس مشخص شده را می دهد.
- تست LOOP ON/OFF: به آزمایش مکانیسم EDAC در روش حلقه اجازه می دهد.
2.5.3 اجرای طرح
مراحل زیر نحوه اجرای طرح را شرح می دهد:
- سوئیچ منبع تغذیه، SW7 را روشن کنید.
- برد کیت ارزیابی امنیت SmartFusion2 را با کار برنامه ریزی کنید file به عنوان بخشی از طراحی ارائه شده است files (\Programming job\eSRAM_0\eSRAM0.job یا \Programming job\eSRAM_1\eSRAM1.job) با استفاده از نرم افزار FlashPro Express، به پیوست: برنامه نویسی دستگاه با استفاده از FlashPro Express، صفحه 12 مراجعه کنید.
- کلید SW6 را فشار دهید تا بعد از برنامه نویسی موفق، برد را ریست کنید.
- فایل اجرایی EDAC_eSRAM Demo GUI را اجرا کنید file موجود در طرح files (\GUI Executable\ EDAC_eSRAM.exe). پنجره GUI نمایش داده می شود، همانطور که در شکل 6، صفحه 9 نشان داده شده است.
- پورت COM مناسب (که درایورهای USB به UART Bridge به آن اشاره شده است) را از لیست کشویی COM Port انتخاب کنید.
- Baud Rate را به عنوان 57600 انتخاب کنید و روی Connect کلیک کنید. پس از برقراری اتصال، Connect به Disconnect تغییر می کند.
- بسته به برنامه ریزی Seram 0 یا Seram 1 را انتخاب کنید file در مرحله 2 انتخاب شده است.
- همانطور که در شکل 1، صفحه 2 و شکل 7، صفحه 10 نشان داده شده است، برگه تصحیح خطای 8 بیتی یا تب تشخیص خطای 11 بیتی را انتخاب کنید.
- دو نوع تست را می توان انجام داد: دستی و حلقه.
2.5.3.1 انجام تست حلقه
روی Loop Test ON کلیک کنید. در حالت حلقه اجرا می شود که در آن تصحیح مداوم و تشخیص خطاها انجام می شود. حلقه برای 200 تکرار اجرا می شود. تمام اقدامات انجام شده در SmartFusion2 در بخش Serial Console رابط کاربری گرافیکی ثبت شده است. تست حلقه تشخیص خطای 2 بیتی خطای متاثر از تغییر آدرس Seram را در کنسول سریال چاپ می کند. پس از اتمام 200 تکرار، روی Loop Test OFF کلیک کنید.
جدول 3 • آدرس های حافظه سرم مورد استفاده در تست حلقه
حافظه 1 | تصحیح خطای 1 بیتی | تشخیص خطای 2 بیتی |
eSRAM0 | 0x20000000 | 0x20002000 |
eSRAM1 | 0x20008000 | 0x2000A000 |
2.5.3.2 انجام تست دستی
در این روش خطاها به صورت دستی با استفاده از رابط کاربری گرافیکی معرفی می شوند. برای اجرای تصحیح خطای ۱ بیتی یا تشخیص خطای ۲ بیتی از مراحل زیر استفاده کنید:
- فیلدهای آدرس ورودی و داده (از مقادیر هگزادسیمال 32 بیتی استفاده کنید).
- روی EDAC ON کلیک کنید.
- روی نوشتن کلیک کنید.
- روی EDAC OFF کلیک کنید.
- فقط 1 بیت (در صورت تصحیح خطای 1 بیتی) یا 2 بیت (در صورت تشخیص خطای 2 بیتی) را در قسمت Data (معرفی خطا) تغییر دهید.
- روی نوشتن کلیک کنید.
- روی EDAC ON کلیک کنید.
- روی Read کلیک کنید.
- نمایش تعداد خطا و قسمت داده را در رابط کاربری گرافیکی مشاهده کنید. مقدار شمارش خطا 1 افزایش می یابد.
تمام اقدامات انجام شده در SmartFusion2 در بخش Serial Console رابط کاربری گرافیکی ثبت شده است.
توجه: برای جابجایی از برگه تصحیح خطا 1 بیتی به تب تشخیص خطا 2 بیتی یا برعکس در رابط کاربری گرافیکی EDAC_eSRAM، برد سخت افزار را بازنشانی کنید.
2.6 نتیجه گیری
این دمو قابلیت های SmartFusion2 SECDED Seram را نشان می دهد.
ضمیمه: برنامه نویسی دستگاه با استفاده از FlashPro Express
این بخش نحوه برنامه ریزی دستگاه SmartFusion2 را با کار برنامه نویسی توضیح می دهد file با استفاده از FlashPro Express
برای برنامه ریزی دستگاه مراحل زیر را انجام دهید:
- اطمینان حاصل کنید که تنظیمات جامپر روی برد مانند موارد ذکر شده در جدول 2، صفحه 7 است.
توجه: هنگام برقراری اتصالات جامپر، کلید منبع تغذیه باید خاموش شود. - کابل منبع تغذیه را به کانکتور J6 روی برد وصل کنید.
- کلید منبع تغذیه SW7 را روشن کنید.
- در رایانه میزبان، نرم افزار FlashPro Express را راه اندازی کنید.
- همانطور که در شکل زیر نشان داده شده است، بر روی New کلیک کنید یا پروژه New Job را از FlashPro Express Job از منوی Project انتخاب کنید تا یک پروژه شغلی جدید ایجاد کنید.
- موارد زیر را در کادر گفتگوی New Job Project from FlashPro Express Job وارد کنید:
• کار برنامه نویسی file: روی Browse کلیک کنید و به مکانی که .job است بروید file قرار گرفته و انتخاب کنید file. مکان پیش فرض این است: \m2s_dg0388_df\ شغل برنامه نویسی
• نام پروژه شغلی FlashPro Express: روی Browse کلیک کنید و به مکانی که می خواهید پروژه را ذخیره کنید بروید. - روی OK کلیک کنید. برنامه نویسی مورد نیاز file انتخاب شده و آماده برنامه ریزی در دستگاه است.
- پنجره FlashPro Express مطابق شکل زیر ظاهر می شود. تأیید کنید که یک شماره برنامه نویس در قسمت برنامه نویس ظاهر می شود. اگر اینطور نیست، اتصالات برد را تأیید کنید و روی Refresh/Rescan Programmers کلیک کنید.
- روی RUN کلیک کنید. هنگامی که دستگاه با موفقیت برنامه ریزی شد، وضعیت RUN PASSED مطابق شکل زیر نمایش داده می شود.
- FlashPro Express را ببندید یا در تب Project، روی Exit کلیک کنید.
ستاد میکروسمی
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
Microsemi Proprietary DG0388 Revision 11.0
اسناد / منابع
![]() |
Microsemi DG0388 SmartFusion2 SoC FPGA تشخیص خطا و تصحیح حافظه eSRAM [pdfراهنمای کاربر DG0388، SmartFusion2 SoC FPGA تشخیص خطا و تصحیح حافظه eSRAM، DG0388 SmartFusion2 SoC FPGA تشخیص خطا و تصحیح حافظه eSRAM |