بخشی از مقاله
چکیده - با کاهش روزافزون اندازه ترانزی ستورها، صحت عملکرد مدارات دیجیتال بیشاز قبل تو سط خطای نرم، مورد تهدید قرار گرفته ا ست. تاکنون، در اکثر روشهای تخمین نرخ خطای نرم مدار، تاکید بر روی حفظ دقت در نتایج بودها ست. لذا، ضروری ا ست تا برای تخمین نرخ خطای نرم رو شی سریع، که در عین حال از دقت بالایی نیز برخوردار با شد، ارائه گردد. در این مقاله، با بهره گرفتن از روش انت شار احتمالاتی، راهکاری برای تخمین سریعتر نرخ خطای نرم معرفی شده ا ست. الگوریتم تخمین ای ستای نرخ خطای نرم، بر روی FPGA پیاده سازی شده ا ست. نتایج حا صلاز پیاده سازی روش مذکور بر روی Xilinx Spartan6، ن شان میدهد که میتوان ت سریعی تا حدود 3 درجه بزرگنمایی، با دقت ب سیار بالایی نسبت به اجرا بر روی CPU بهدست آورد.
-1 مقدمه
با وجود این که قدرت پرداز شی بی شتر و کاهش توان م صرفی در پردازندههای امروزی، گو شههایی از پی شرفت تکنولوژی به د ست آمده از تراکمپذیری در مدارات دیجیتال است، از سوی دیگر، کاهش اندازه و تراکمپذیری بی شتر، میزان آ سیبپذیری مدارها را نسبت به خطای نرم افزایش داده است.[1-4] برخورد یک ذره باردار با انرژی مناسب به سطح تراشه میتواند منجر به ایجاد یک پالس گذرای ناخوا سته در مدار گردد که در صورت ذخیره شدن آن در عنا صر حافظهای مدار، خطای نرم1 در مدار شکل میگیرد .>5,6@ با پیشرفت تکنولوژی، از یک طرف اندازه ترانزیستورها کوچکتر و از طرفی دیگر، سطح ولتاژی آنها کاهش یافتها ست، این دو عا مل، تاثیر پذیری مدار در برابر خ طای نرم را افزایش دادهاند؛
چرا که با کاهش ولتاژ ناحیه کاری ترانزیستور و همچنین، کاهش عرض کانال در ترانزیستور، ذرههای باردار با میزان انرژی کمتر هم میتوانند به عنوان عامل ایجاد خطای نرم در مدار تلقی گردند. بیتوجهی نسبت به حضور خطای نرم در مدار، میتواند منجر به خرابی سیستم و متعاقب آن، ایجاد خسارتهای فراوان و صدمات جبرانناپذیر، ب سته به نوع کاربرد مدار گردد. لذا، نیاز به بررسی و مقاوم سازی مدار در برابر خطاهای نرم، جهت جلوگیری از خرابی سیستم و خسارات و صدمات احتمالی، به شدت احساس میشود. به طور کلی، برای بررسی میزان تحملپذیری مدار در برابر خطای نرم، قسمتهای ترتیبی و ترکیبی مدار، به صورت عمدی مورد حمله اشکالات قرار میگیرند.
از آنجا که بیشتر شدن احتمال پیدایش خطای نرم در مدار، نیازمند زمان بسیار زیادی برای بررسی تاثیرات آن در مدار میباشد، لذا میتوان گفت که شبیهسازی و انتشار خطای نرم در مدار و متعاقب آن، بررسی تاثیرات آن در مدار، یکی از گام های کل یدی در طراحی یک سیستم مطمئن به شمار میرود. به دلیل اینکه قسمتهای ترکیبی مدار، بر خلاف قسمتهای ترتیبی آن، مستلزم اضافه شدن میزان قابل توجهی سربار جهت تصحیح خطای بهوجود آمده میباشد، تلاشهای زیادی در جهت بررسی میزان حساسیت ق سمت ترکیبی مدار ن سبت به خطای نرم، صورت پذیرفتها ست .[7-10] در روش های مختلف، چالش های مت فاوتی بر سر راه طراحان وجود دارد. به عنوان مثال در [8]، طراحان ج هت پیادهسازی روش مورد نظر، از یک روش تابش یونی استفاده کردهاند که از نظر صرف هزینه و امکانات مورد نیاز، قابلیت دسترسی برای همه طراحان را دارا نیست؛
یا در [9]، برای است فاده بهی نه از م نابع، ن یاز به تکرار روش به منظور تغییر پارامترهایی نظیر تاخیر یا مساحت میباشد. اما نقطه مشترک برای ت مامی روش هایی که تاکنون ارائه گردیدهاند، مواج هه با چالش جدی سربار محاسباتی است؛ به طوری که با افزایش اندازه مدار، میزان زمان مورد نیاز برای شبیه سازی و انت شار خطای نرم در آن، تقری با به طور ن مایی افزایش می یا بد. از همین رو، در مواجهه با چالش ذکر شده، دو رویکرد کلی وجود دارد: - 1 تلاش برای بالا بردن دقت نتایج در عملیات شبیهسازی و انتشار خطای نرم در مدار، و - 2 تلاش برای پایین آوردن زمان اجرا با استفاده از روشهای مختلف پردازش موازی. در رویکرد اول، مشکل زمان اجرا همچنان به قوت خود باقی ا ست؛
اما در عوض، با بالاتر رفتن تعداد دفعات شبیهسازی خطای نرم بهازای مقادیر مختلف در مدار، نتایج به حالت واقعی نزدیکتر میگردد. همچنین، با به کار گیری روشهای سریعتر جهت انتشار خطای نرم در مدار نظیر روشهای احتمالاتی و روشهای آماری، سعی در بهبود زمان اجرا گردیده ا ست. با این وجود، هنوز م شکل زمان اجرا برای مدارهای بزرگ پابرجا ا ست. در رویکرد دوم، چالش ا صلی، شک ستن مدار بزرگ به زیربخشهای کوچکتر جهت اجرا به صورت همزمان میباشد. این زیربخشها باید تا حد امکان از یکدیگر مستقل باشند تا زیربخشها بتوانند به صورت موازی مورد پردازش قرار گیرند و عملیات تزریق اشکال در آنها صورت پذیرد.
در این مقاله، برمبنای روش انتشار احتمالاتی و با بهکارگیری آرایههای گیتهای برنامهپذیر در میدان - FPGA - 2، روشی بسیار سریع برای تخمین نرخ خطای نرم در مدارهای ترکیبی با در نظر گرفتن پوشش منطقی ارائه گردیده است. در این روش، ابتدا یک مدل انتشار احت مالاتی برای تخمین نرخ خ طای نرم در نظر گرفتهمی شود. سپس، توسط یک ابزار توسعه داده شده، توصیف HDL مدار مورد نظر با توجه به مدل انت شار احتمالاتی، به عنوان ورودی برای ابزارهای تجاری شرکت Xilinx ایجاد میگردد. در نهایت، بیتفایل3 ایجاد شده که شامل اطلاعات مربوط به مدار و همچنین، محلهای تزریق اشکال در آن میباشد، جهت بارگیری بر روی FPGA، به آن منتقل میگردد. از آنجا که روش معرفیشده در این مقاله از FPGA، در عوض استفاده از CPU برای محا سبات ا ستفاده میکند، میتوان ت سریع منا سبی را در مقایسه با روشهای پیشین بهدست آورد؛ به طوری که نتایج تجربی بهدست آمده از بهکارگیری روش معرفی شده با استفاده از FPGA، ن شاندهنده ت سریع تا حدود 1000 برابر، ن سبت به اجرا بر روی CPU میباشد.
ادامه این مقاله بدین صورت د ستهبندی میگردد: در ف صل 2 به برر سی چگونگی مدل سازی تخمین نرخ خطای نرم با ا ستفاده از روش انتشار احتمالاتی و پیشینه آن خواهیم پرداخت. فصل 3 به تشریح چگونگی پیادهسازی چارچوب پیشنهادی و نحوه پیادهسازی مدل یادشده بر روی FPGA میپردازد. در فصل 4 نتایج تجربی و تسریع بهدستآمده بیان شدهاست. در پایان و در فصل 5، جمعبندی این مقاله ارائه خواهدشد.
-2 تخمین نرخ خطای نرم مبتنی بر انتشار احتمالاتی
در این مقاله، از روش انتشار احتمالاتی چهار مقداره [11] جهت تخمین نرخ خطای نرم، استفاده شدهاست. در این روش، احتمال انتشار گذرهای تکرخدادی4 به سمت عناصر حافظهای مدار، توسط یک مجموعه چهار عضوی از احتمالات محتمل برای هر گیت، ن شان دادهمی شود. مراحل ا صلی این روش، همانطور که در الگوریتم 1 نیز نشان داده شدهاست، عبارتند از:
• مدلسازی احتمال 4 مقداره برای هر سیگنال
• تزریق ا شکال به مدار و برر سی نتایج آن در م سیرهای تاثیرگذار
• محاسبه نرخ خطای نرم مدار با استفاده از مقادیر بهدستآمده برای خروجیهای اصلی
این مجموعه احتمالات شامل چهار مقدار P0, P1, Pa - و - P ̅ میباشد که P0 - P1 - نشان دهنده احتمال 0 - 1 - بودن خروجی گیت، در حالت بدون خطا است. به همین ترتیب، Pa - P ̅ - نیز ن شان دهنده خروجی گیت، در حالتی که دارای خطا و با قطبیت مشابه - غیر مشابه - با گذر تکرخدادی اصابت شده به گیت است. بنابراین، هر سیگنال در مدار، تبدیل به چهار سیگنال شده که میتوانند یکی از مقادیر زیر را داشته باشند:
• :0 زمانی که سیگنال دارای مقدار بدون خطای صفر منطقی باشد.
• :1 زمانی که سیگنال دارای مقدار بدون خطای یک منطقی باشد.
• :0e زمانی که سیگنال در حالت عادی باید دارای مقدار یک منطقی باشد، اما به دلیل اصابت یک گذر تکرخدادی دارای مقدار خطادار صفر منطقی شدهاست.
• :1e زمانی که سیگنال در حالت عادی باید دارای مقدار صفر منطقی باشد، اما به دلیل اصابت یک گذر تکرخدادی دارای مقدار خطادار یک منطقی شدهاست. نحوه محاسبه هر یک از مقادیر چهارگانه برای هر گیت قابل محاسبه است. به عنوان مثال، برای یک گیت AND، مقادیر احتمالاتی چهارگانه به صورت زیر خواهد بود: [11] . - 1 بنابراین، پس از تنها یک بار پیمایش مدار، مقدار SP، برای خروجی تمامی گیت های موجود در مدار بهدست میآید. با بهدست آوردن SP برای کلیه خروجیهای اصلی در قسمت ترکیبی مدار، تخمین نرخ خطای نرم برای آن مدار میسرمیگردد. پس از استخراج فرمولهای مربوط به مقادیر چهارگانه برای هر نوع گیت در مدار، با نسبت دادن مقدار 0.5 به سیگنالهای P0 و P1 در ورودیهای اصلی مدار، مقادیر احتمالاتی انتشار یافته تا به خروجیهای اصلی مدار برسند و بدین ترتیب، مقادیر چهارگانه بهازای تمامی گیتهای موجود در مدار بهدست میآیند - شکل