اینتل لوگو

Intel UG-01173 Fault Injection FPGA IP Core

intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-PRODUCT

خطای تزریق Intel® FPGA IP Core راهنمای کاربر

Fault Injection Intel® FPGA IP هسته خطاها را به RAM (CRAM) پیکربندی یک دستگاه FPGA تزریق می کند. این روش خطاهای نرمی را شبیه سازی می کند که می تواند در حین عملکرد عادی به دلیل اختلالات یک رویداد (SEU) رخ دهد. SEUها رویدادهای نادری هستند و بنابراین آزمایش آنها دشوار است. پس از اینکه هسته IP تزریق خطا را در طراحی خود وارد کردید و دستگاه خود را پیکربندی کردید، می توانید از ابزار Intel Quartus® Prime Fault Injection Debugger برای ایجاد خطاهای عمدی در FPGA برای آزمایش پاسخ سیستم به این خطاها استفاده کنید.

اطلاعات مرتبط

  • ناراحتی های یک رویداد
  • AN 737: تشخیص و بازیابی SEU در دستگاه های Intel Arria 10

ویژگی ها

  • به شما امکان می دهد پاسخ سیستم را برای کاهش وقفه های عملکردی یک رویداد (SEFI) ارزیابی کنید.
  • به شما امکان می دهد تا مشخصه یابی SEFI را در داخل انجام دهید و نیازی به آزمایش پرتو کل سیستم را از بین ببرید. درعوض، می‌توانید آزمایش پرتو را به اندازه‌گیری در زمان (FIT)/Mb در سطح دستگاه محدود کنید.
  • نرخ های FIT را با توجه به خصوصیات SEFI که با معماری طراحی شما مرتبط است، مقیاس کنید. می‌توانید تزریق‌های خطا را به‌طور تصادفی در کل دستگاه توزیع کنید، یا آنها را در مناطق عملکردی خاص برای سرعت بخشیدن به آزمایش محدود کنید.
  • طراحی خود را برای کاهش اختلالات ناشی از ناراحتی های یک رویداد (SEU) بهینه کنید.

پشتیبانی دستگاه

هسته IP تزریق خطا از دستگاه های خانواده Intel Arria® 10، Intel Cyclone® 10 GX و Stratix® V پشتیبانی می کند. خانواده Cyclone V از تزریق خطا در دستگاه هایی با پسوند -SC در کد سفارش پشتیبانی می کند. برای سفارش اطلاعات مربوط به دستگاه های Cyclone V پسوند -SC با نماینده فروش محلی خود تماس بگیرید.

استفاده از منابع و عملکرد
نرم افزار Intel Quartus Prime برآورد منابع زیر را برای Stratix V A7 FPGA ایجاد می کند. نتایج برای دستگاه های دیگر مشابه است.

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

عملکرد و استفاده از منابع IP Core FPGA تزریق خطا

دستگاه ALMs ثبت های منطقی M20K
اولیه ثانویه
Stratix V A7 3,821 5,179 0 0

نصب نرم افزار Intel Quartus Prime شامل کتابخانه IP Intel FPGA است. این کتابخانه هسته های IP مفید بسیاری را برای استفاده تولیدی شما بدون نیاز به مجوز اضافی فراهم می کند. برخی از هسته های IP FPGA اینتل برای استفاده در تولید نیاز به خرید مجوز جداگانه دارند. حالت ارزیابی IP اینتل FPGA به شما این امکان را می دهد که این هسته های IP مجوز FPGA اینتل را در شبیه سازی و سخت افزار ارزیابی کنید، قبل از اینکه تصمیم به خرید مجوز هسته IP تولید کامل بگیرید. شما فقط باید پس از تکمیل تست سخت افزار و آماده شدن برای استفاده از IP در تولید، مجوز تولید کامل برای هسته های IP دارای مجوز اینتل را خریداری کنید. نرم افزار Intel Quartus Prime به طور پیش فرض هسته های IP را در مکان های زیر نصب می کند:

مسیر نصب IP Core

intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-1

مکان های نصب هسته IP

مکان نرم افزار پلت فرم
:\intelFPGA_pro\quartus\ip\altera اینتل Quartus Prime Pro Edition پنجره ها*
:\intelFPGA\quartus\ip\altera اینتل Quartus Prime Standard Edition ویندوز
:/intelFPGA_pro/quartus/ip/altera اینتل Quartus Prime Pro Edition لینوکس *
:/intelFPGA/quartus/ip/altera اینتل Quartus Prime Standard Edition لینوکس

توجه: نرم افزار Intel Quartus Prime از فضاهای موجود در مسیر نصب پشتیبانی نمی کند.

سفارشی سازی و تولید هسته های IP
شما می توانید هسته های IP را برای پشتیبانی از برنامه های مختلف سفارشی کنید. کاتالوگ و ویرایشگر پارامتر اینتل Quartus Prime به شما امکان می دهد پورت ها، ویژگی ها و خروجی های هسته IP را به سرعت انتخاب و پیکربندی کنید. files.

کاتالوگ IP و ویرایشگر پارامتر
کاتالوگ IP هسته های IP موجود برای پروژه شما را نشان می دهد، از جمله IP FPGA اینتل و سایر IP هایی که به مسیر جستجوی کاتالوگ IP اضافه می کنید. از ویژگی های زیر کاتالوگ IP برای مکان یابی و سفارشی کردن یک هسته IP استفاده کنید:

  • کاتالوگ IP را برای نمایش IP برای خانواده دستگاه فعال یا نمایش IP برای همه خانواده های دستگاه فیلتر کنید. اگر پروژه ای باز ندارید، خانواده دستگاه را در کاتالوگ IP انتخاب کنید.
  • در قسمت جستجو تایپ کنید تا نام اصلی IP کامل یا جزئی در کاتالوگ IP را پیدا کنید.
  • روی نام هسته IP در کاتالوگ IP کلیک راست کنید تا جزئیات مربوط به دستگاه های پشتیبانی شده را نمایش دهید، پوشه نصب هسته IP را باز کنید و پیوندهایی به اسناد IP را مشاهده کنید.
  • کلیک کنید جستجو برای Partner IP to access partner IP information on the web.

ویرایشگر پارامتر از شما می خواهد که نام تنوع IP، پورت های اختیاری و خروجی را مشخص کنید file گزینه های نسل ویرایشگر پارامتر یک IP سطح بالای Intel Quartus Prime ایجاد می کند file (.ip) برای تنوع IP در پروژه های Intel Quartus Prime Pro Edition. ویرایشگر پارامتر یک IP سطح بالای Quartus تولید می کند file (qip.) برای تنوع IP در پروژه های Intel Quartus Prime Standard Edition. اینها files نشان دهنده تنوع IP در پروژه است و اطلاعات پارامترسازی را ذخیره می کند.

ویرایشگر پارامتر IP (Intel Quartus Prime Standard Edition)intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-2

خروجی نسل IP Core (Intel Quartus Prime Edition)

نرم افزار Intel Quartus Prime خروجی زیر را تولید می کند file ساختار برای هسته های IP مجزا که بخشی از سیستم طراح پلتفرم نیستند.

خروجی تولید هسته IP فردی (Intel Quartus Prime Edition)intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-3

  • اگر برای تنوع هسته IP شما پشتیبانی و فعال باشد.

خروجی Fileنسل IP اینتل FPGA

File نام توضیحات
<your_ip>.ip تنوع IP سطح بالا file که شامل پارامترسازی یک هسته IP در پروژه شما است. اگر تغییر IP بخشی از سیستم طراح پلتفرم باشد، ویرایشگر پارامتر نیز یک qsys. file.
<your_ip>.cmp اعلامیه مؤلفه VHDL (.cmp) file یک متن است file که شامل تعاریف عمومی محلی و پورت است که در طراحی VHDL استفاده می کنید files.
<your_ip>_generation.rpt گزارش تولید IP یا Platform Designer file. خلاصه ای از پیام ها را در طول تولید IP نمایش می دهد.
ادامه …
File نام توضیحات
<your_ip>.qgsimc (فقط سیستم‌های طراح پلتفرم) ذخیره سازی شبیه سازی file که .qsys و .ip را مقایسه می کند files با پارامترسازی فعلی سیستم پلتفرم طراح و هسته IP. این مقایسه تعیین می کند که آیا طراح پلتفرم می تواند از بازسازی HDL صرف نظر کند.
<your_ip>.qgsynth (فقط سیستم‌های طراح پلتفرم) ذخیره سازی سنتز file که .qsys و .ip را مقایسه می کند files با پارامترسازی فعلی سیستم پلتفرم طراح و هسته IP. این مقایسه تعیین می کند که آیا طراح پلتفرم می تواند از بازسازی HDL صرف نظر کند.
<your_ip>.qip شامل تمام اطلاعات برای یکپارچه سازی و کامپایل جزء IP است.
<your_ip>.csv حاوی اطلاعاتی در مورد وضعیت ارتقاء جزء IP است.
bsf نمادی از تغییرات IP برای استفاده در بلوک دیاگرام Files (.bdf).
<your_ip>.spd ورودی file که ip-make-simscript برای تولید اسکریپت های شبیه سازی نیاز دارد. .spd file شامل لیستی از fileشما برای شبیه سازی، همراه با اطلاعات مربوط به حافظه هایی که مقداردهی اولیه می کنید، تولید می کنید.
<your_ip>.ppf برنامه ریز پین File (ppf.) تخصیص پورت و گره را برای اجزای IP که برای استفاده با Pin Planner ایجاد می کنید ذخیره می کند.
<your_ip>_bb.v از جعبه سیاه Verilog (_bb.v) استفاده کنید file به عنوان یک ماژول خالی برای استفاده به عنوان جعبه سیاه.
<your_ip>_inst.v یا _inst.vhd HDL سابقampقالب نمونه. محتویات این را کپی و پیست کنید file به HDL شما file برای نمونه سازی تغییرات IP.
<your_ip>.regmap اگر IP حاوی اطلاعات ثبت باشد، نرم افزار Intel Quartus Prime regmap را تولید می کند file. regmap file اطلاعات نقشه رجیستر رابط های master و slave را شرح می دهد. این file تکمیل می کند

sopcinfo file با ارائه اطلاعات ثبت دقیق تر در مورد سیستم. این file نمایش ثبت نام را فعال می کند views و آمار قابل تنظیم کاربر در کنسول سیستم.

<your_ip>.svd به ابزارهای دیباگ سیستم HPS اجازه می دهد view نقشه های ثبت تجهیزات جانبی که به HPS در یک سیستم طراح پلتفرم متصل می شوند.

در طول سنتز، نرم افزار Intel Quartus Prime .svd را ذخیره می کند files برای رابط slave قابل مشاهده برای Master Console سیستم در .sof file در جلسه رفع اشکال کنسول سیستم این بخش را می‌خواند، که طراح پلتفرم برای اطلاعات نقشه ثبت درخواست می‌کند. برای بردهای سیستم، طراح پلتفرم با نام به رجیسترها دسترسی دارد.

<your_ip>.v

<your_ip>.vhd

HDL fileمواردی که هر زیر ماژول یا هسته IP فرزند را برای سنتز یا شبیه سازی نمونه می کنند.
مرشد/ حاوی یک اسکریپت msim_setup.tcl برای راه اندازی و اجرای شبیه سازی است.
aldec/ شامل یک اسکریپت rivierapro_setup.tcl برای راه اندازی و اجرای یک شبیه سازی است.
/synopsys/vcs

/synopsys/vcsmx

شامل اسکریپت پوسته vcs_setup.sh برای راه اندازی و اجرای شبیه سازی است.

شامل اسکریپت پوسته vcsmx_setup.sh و synopsys_sim.setup است file برای راه اندازی و اجرای یک شبیه سازی.

/آهنگ و ریتم شامل اسکریپت پوسته ncsim_setup.sh و تنظیمات دیگر است files برای راه اندازی و اجرای یک شبیه سازی.
/xcelium شامل اسکریپت پوسته شبیه ساز موازی xcelium_setup.sh و سایر تنظیمات است files برای راه اندازی و اجرای یک شبیه سازی.
/زیر ماژول ها حاوی HDL files برای زیر ماژول هسته IP.
<زیر ماژول IP>/ Platform Designer زیرمجموعه های /synth و /sim را برای هر پوشه زیرماژول IP که Platform Designer ایجاد می کند، ایجاد می کند.

توضیحات عملکردی
با هسته IP تزریق خطا، طراحان می‌توانند خصوصیات SEFI را در داخل خود انجام دهند، نرخ‌های FIT را با توجه به خصوصیات SEFI مقیاس کنند و طرح‌ها را برای کاهش اثر SEUها بهینه کنند.

کاهش ناراحتی یک رویداد

مدارهای مجتمع و دستگاه های منطقی قابل برنامه ریزی مانند FPGA در معرض SEU هستند. SEUها رویدادهای تصادفی و غیر مخرب هستند که توسط دو منبع اصلی ایجاد می شوند: ذرات آلفا و نوترون های پرتوهای کیهانی. تشعشع می تواند باعث شود که ثبات منطقی، بیت حافظه جاسازی شده، یا بیت RAM پیکربندی (CRAM) وضعیت خود را تغییر دهند، در نتیجه منجر به عملکرد غیرمنتظره دستگاه شود. Intel Arria 10، Intel Cyclone 10 GX، Arria V، Cyclone V، Stratix V و دستگاه های جدیدتر دارای قابلیت های CRAM زیر هستند:

  • تشخیص خطا بررسی چرخه‌ای افزونگی (EDCRC)
  • تصحیح خودکار یک CRAM ناراحت (ساختن)
  • امکان ایجاد شرایط CRAM ناراحت کننده (تزریق خطا)

برای اطلاعات بیشتر در مورد کاهش SEU در دستگاه های FPGA اینتل، به فصل کاهش SEU در کتابچه راهنمای دستگاه مربوطه مراجعه کنید.

توضیحات پین IP تزریق خطا

هسته IP تزریق خطا شامل پین های ورودی/خروجی زیر است.

پین های ورودی/خروجی هسته IP تزریق خطا

نام پین پین جهت پین توضیحات
crcerror_pin ورودی ورودی از پیام خطا Register Unloader Intel FPGA IP (EMR Unloader IP). این سیگنال زمانی مشخص می شود که یک خطای CRC توسط EDCRC دستگاه شناسایی شده باشد.
emr_data ورودی محتویات ثبت پیام خطا (EMR). به کتابچه راهنمای دستگاه مناسب برای فیلدهای EMR مراجعه کنید.

این ورودی با سیگنال رابط داده Avalon Streaming مطابقت دارد.

emr_valid ورودی نشان می دهد که ورودی های emr_data حاوی داده های معتبر هستند. این یک سیگنال واسط معتبر Avalon Streaming است.
بازنشانی کنید ورودی ورودی ریست ماژول تنظیم مجدد به طور کامل توسط اشکالزدای تزریق خطا کنترل می شود.
error_injected خروجی نشان می دهد که طبق دستور J یک خطا به CRAM تزریق شده استTAG رابط. مدت زمانی که این سیگنال اعلام می کند به تنظیمات J بستگی داردTAG TCK و سیگنال های بلوک کنترل. به طور معمول، زمان حدود 20 سیکل ساعت سیگنال TCK است.
error_scrubbed خروجی نشان می دهد که تمیز کردن دستگاه طبق دستور J کامل شده استTAG رابط. مدت زمانی که این سیگنال اعلام می کند به تنظیمات J بستگی داردTAG TCK و سیگنال های بلوک کنترل. به طور معمول، زمان حدود 20 سیکل ساعت سیگنال TCK است.
وارد کردن خروجی خروجی اختیاری IP تزریق خطا از این ساعت برای مثال استفاده می کندample، برای کلاک کردن بلوک EMR_unloader.

دیاگرام پین IP تزریق خطا

intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-4

با استفاده از Fault Injection Debugger و Fault Injection IP Core

اشکال زدای تزریق خطا همراه با هسته IP تزریق خطا کار می کند. ابتدا، هسته IP را در طراحی خود، کامپایل و دانلود می‌کنید file به دستگاه شما سپس Fault Injection Debugger را از داخل نرم افزار Intel Quartus Prime یا از خط فرمان اجرا کنید تا خطاهای نرم افزاری را شبیه سازی کنید.

  • اشکال زدای تزریق خطا به شما امکان می دهد آزمایش های تزریق خطا را به صورت تعاملی یا با دستورات دسته ای انجام دهید و به شما امکان می دهد مناطق منطقی را در طراحی خود برای تزریق خطا مشخص کنید.
  • رابط خط فرمان برای اجرای دیباگر از طریق اسکریپت مفید است.

توجه داشته باشید

دیباگر خطای تزریق با هسته IP تزریق خطا از طریق J ارتباط برقرار می کندTAG رابط. IP تزریق خطا دستورات J را می پذیردTAG رابط و وضعیت را از طریق J گزارش می دهدTAG رابط. هسته IP تزریق خطا در منطق نرم در دستگاه شما پیاده سازی شده است. بنابراین، شما باید این استفاده منطقی را در طراحی خود در نظر بگیرید. یک روش این است که پاسخ طراحی خود را به SEU در آزمایشگاه مشخص کنید و سپس هسته IP را از طراحی نهایی خود حذف کنید.

شما از هسته IP تزریق خطا با هسته های IP زیر استفاده می کنید:

  • هسته IP Unloader ثبت پیام خطا، که داده ها را از مدارهای تشخیص خطای سخت شده در دستگاه های FPGA اینتل می خواند و ذخیره می کند.
  • (اختیاری) هسته IP FPGA Intel Advanced SEU Detection، که مکان های خطای تک بیتی را با یک نقشه حساسیت در حین عملکرد دستگاه مقایسه می کند تا تعیین کند آیا یک خطای نرم روی آن تأثیر می گذارد یا خیر.

دیباگر تزریق خطا تمام شدview نمودار بلوکیintel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-5

یادداشت ها:

  1. IP تزریق خطا، بیت‌های منطق هدف را برمی‌گرداند.
  2. Fault Injection Debugger و Advanced SEU Detection IP از همان نمونه EMR Unloader استفاده می کنند.
  3. هسته IP تشخیص پیشرفته SEU اختیاری است.

اطلاعات مرتبط

  • درباره SMH Fileدر صفحه 13
  • درباره EMR Unloader IP Core در صفحه 10
  • درباره هسته IP تشخیص پیشرفته SEU در صفحه 11

نمونه برداری از Core IP تزریق خطا

توجه

هسته IP تزریق خطا نیازی به تنظیم هیچ پارامتری ندارد. برای استفاده از هسته IP، یک نمونه IP جدید ایجاد کنید، آن را در سیستم طراح پلتفرم (استاندارد) خود بگنجانید و سیگنال ها را در صورت لزوم وصل کنید. شما باید از هسته IP تزریق خطا با هسته IP EMR Unloader استفاده کنید. هسته های IP Injection و EMR Unloader در Platform Designer و IP Catalog موجود هستند. به صورت اختیاری، می‌توانید با استفاده از Verilog HDL، SystemVerilog یا VHDL، آنها را مستقیماً در طراحی RTL خود نمونه‌سازی کنید.

درباره EMR Unloader IP Core
هسته IP EMR Unloader یک رابط برای EMR فراهم می کند که به طور مداوم توسط EDCRC دستگاه به روز می شود که بیت های CRAM دستگاه CRC را برای خطاهای نرم بررسی می کند.

Exampسیستم طراح پلتفرم شامل هسته IP تزریق خطا و هسته IP تخلیه کننده EMRintel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-6

Exampدیاگرام بلوک هسته IP تزریق خطا و EMR Unloader

intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-7

اطلاعات مرتبط
پیام خطا ثبت نام Unloader Intel FPGA IP Core راهنمای کاربر

درباره هسته IP تشخیص پیشرفته SEU

هنگامی که تلورانس SEU یک نگرانی طراحی است، از هسته IP تشخیص پیشرفته SEU (ASD) استفاده کنید. شما باید از هسته IP EMR Unloader با هسته IP ASD استفاده کنید. بنابراین، اگر از IP ASD و IP تزریق خطا در یک طراحی استفاده می کنید، آنها باید خروجی EMR Unloader را از طریق یک جزء تقسیم کننده Avalon®-ST به اشتراک بگذارند. شکل زیر یک سیستم Platform Designer را نشان می دهد که در آن یک تقسیم کننده Avalon-ST محتویات EMR را در هسته های ASD و Fault Injection IP توزیع می کند.

استفاده از ASD و IP Injection Fault در همان سیستم طراح پلتفرمintel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-8

اطلاعات مرتبط
راهنمای کاربر تشخیص پیشرفته SEU Intel FPGA Core IP

تعریف مناطق تزریق خطا
می‌توانید با استفاده از سرصفحه نقشه حساسیت (.smh) مناطق خاصی از FPGA را برای تزریق خطا تعریف کنید. file. SMH file مختصات بیت های CRAM دستگاه، منطقه اختصاص داده شده (منطقه ASD) و بحرانی بودن آنها را ذخیره می کند. در طول فرآیند طراحی از سلسله مراتب استفاده می کنید tagging برای ایجاد منطقه. سپس، در طول کامپایل، Intel Quartus Prime Assembler SMH را تولید می کند file. اشکالزدای تزریق خطا، تزریق خطا را به مناطق خاصی از دستگاه که در SMH تعریف کرده اید محدود می کند. file.

انجام سلسله مراتب Tagging
شما با اختصاص یک منطقه ASD به مکان، مناطق FPGA را برای آزمایش تعریف می کنید. شما می توانید یک مقدار ASD Region برای هر بخشی از سلسله مراتب طراحی خود با استفاده از پنجره Design Partitions تعیین کنید.

  1. ➤ پنجره طراحی پارتیشن ها را انتخاب کنید.
  2. در هر نقطه از ردیف هدر کلیک راست کرده و ASD Region را روشن کنید تا ستون ASD Region نمایش داده شود (اگر قبلاً نمایش داده نشده است).
  3. مقداری از 0 تا 16 را برای هر پارتیشن وارد کنید تا آن را به یک منطقه ASD اختصاص دهید.
    • منطقه ASD 0 برای بخش های استفاده نشده دستگاه رزرو شده است. می توانید یک پارتیشن به این منطقه اختصاص دهید تا آن را به عنوان غیر بحرانی مشخص کنید.
    • منطقه ASD 1 منطقه پیش فرض است. همه بخش‌های استفاده‌شده دستگاه به این منطقه اختصاص داده می‌شوند، مگر اینکه صراحتاً تخصیص منطقه ASD را تغییر دهید.

درباره SMH Files

SMH file حاوی اطلاعات زیر است:

  • اگر از سلسله مراتب استفاده نمی کنید tagging (به عنوان مثال، طراحی هیچ تخصیص صریح منطقه ASD در سلسله مراتب طراحی ندارد)، SMH file هر بیت CRAM را فهرست می کند و نشان می دهد که آیا برای طراحی حساس است یا خیر.
  • اگر سلسله مراتب را انجام داده اید tagging و تخصیص پیش فرض منطقه ASD، SMH را تغییر داد file هر بیت CRAM را فهرست می کند و به آن منطقه ASD اختصاص می یابد.

اشکال زدای تزریق خطا می تواند تزریق را به یک یا چند ناحیه مشخص محدود کند. برای هدایت اسمبلر برای تولید SMH file:

  • تکالیف ➤ دستگاه ➤ گزینه های دستگاه و پین ➤ تشخیص خطا CRC را انتخاب کنید.
  • نقشه حساسیت Generate SEU را روشن کنید file گزینه (.smh).

با استفاده از اشکال زدای تزریق خطا

توجه
برای استفاده از Fault Injection Debugger، از طریق J به دستگاه خود متصل می شویدTAG رابط. سپس دستگاه را پیکربندی کرده و تزریق خطا را انجام دهید. برای راه اندازی Fault Injection Debugger، Tools ➤ Fault Injection Debugger را در نرم افزار Intel Quartus Prime انتخاب کنید. پیکربندی یا برنامه‌نویسی دستگاه مشابه روشی است که برای برنامه‌نویس یا Signal Tap Logic Analyzer استفاده می‌شود.

اشکال زدای تزریق خطا

intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-9

برای پیکربندی J خودTAG زنجیر:

  1. روی Hardware Setup کلیک کنید. این ابزار سخت افزار برنامه نویسی متصل به کامپیوتر شما را نمایش می دهد.
  2. سخت افزار برنامه نویسی مورد نظر خود را انتخاب کنید.
  3. روی Close کلیک کنید.
  4. روی Auto Detect کلیک کنید، که زنجیره دستگاه را با دستگاه های قابل برنامه ریزی موجود در J پر می کندTAG زنجیره ای

اطلاعات مرتبط
ویژگی تزریق خطای هدفمند در صفحه 21

سخت افزار و نرم افزار مورد نیاز

برای استفاده از Fault Injection Debugger سخت افزار و نرم افزار زیر مورد نیاز است:

  • خطی را در مجوز FPGA اینتل خود اختصاص دهید که هسته IP تزریق خطا را فعال می کند. برای اطلاعات بیشتر، با نماینده فروش Intel FPGA محلی خود تماس بگیرید.
  • کابل دانلود (Intel FPGA Download Cable، Intel FPGA Download Cable II، یا II).
  • کیت توسعه FPGA اینتل یا برد طراحی شده توسط کاربر با JTAG اتصال به دستگاه تحت آزمایش
  • (اختیاری) خط ویژگی در مجوز Intel FPGA شما که هسته IP تشخیص پیشرفته SEU را فعال می کند.

پیکربندی دستگاه و اشکال‌زدای تزریق خطا

اشکال‌زدای تزریق خطا از یک .sof و (اختیاری) یک سرصفحه نقشه حساسیت (.smh) استفاده می‌کند. file. شی نرم افزار File (.sof) FPGA را پیکربندی می کند. smh file حساسیت بیت های CRAM در دستگاه را مشخص می کند. اگر یک .smh ارائه نکنید file، اشکال زدای تزریق خطا، خطاها را به طور تصادفی در سراسر بیت های CRAM تزریق می کند. برای تعیین یک .sof:

  1. FPGA مورد نظر برای پیکربندی را در جعبه زنجیره دستگاه انتخاب کنید.
  2. روی انتخاب کلیک کنید File.
  3. به .sof بروید و روی OK کلیک کنید. اشکال زدای تزریق خطا .sof را می خواند.
  4. (اختیاری) SMH را انتخاب کنید file.
    اگر SMH را مشخص نکنید file، اشکال زدای تزریق خطا، خطاها را به طور تصادفی در کل دستگاه تزریق می کند. اگر یک SMH را مشخص کنید file، می توانید تزریق را به نواحی مورد استفاده دستگاه خود محدود کنید.
    • روی دستگاه در کادر Device chain کلیک راست کرده و سپس Select SMH را کلیک کنید File.
    • SMH خود را انتخاب کنید file.
    • روی OK کلیک کنید.
  5. برنامه/پیکربندی را روشن کنید.
  6. روی Start کلیک کنید.

اشکال زدای تزریق خطا، دستگاه را با استفاده از .sof پیکربندی می کند.

منوی زمینه برای انتخاب SMH File

intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-10

مناطق محدود کننده برای تزریق خطا

پس از بارگذاری یک SMH file، می توانید Fault Injection Debugger را هدایت کنید تا فقط در مناطق خاص ASD کار کند. برای تعیین ناحیه(های) ASD که در آن خطاها تزریق می شود:

  1. روی FPGA در جعبه Device chain کلیک راست کرده و Show Device Sensitivity Map را کلیک کنید.
  2. ناحیه(های) ASD را برای تزریق خطا انتخاب کنید.

نقشه حساسیت دستگاه Viewer

intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-11

تعیین انواع خطا

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

  • خطاهای منفرد (SE)
  • خطاهای دو مجاور (DAE)
  • خطاهای چند بیتی غیر قابل اصلاح (EMBE)

دستگاه‌های FPGA اینتل می‌توانند خطاهای تک و دو مجاور را تصحیح کنند اگر ویژگی پاک‌سازی فعال باشد. دستگاه های FPGA اینتل نمی توانند خطاهای چند بیتی را تصحیح کنند. برای اطلاعات بیشتر در مورد اشکال زدایی این خطاها، به فصل کاهش SEUها مراجعه کنید. می توانید ترکیبی از خطاهای تزریق و فاصله زمانی تزریق را مشخص کنید. برای تعیین فاصله زمانی تزریق:

  1. در Debugger تزریق خطا، Tools ➤ Options را انتخاب کنید.
  2. کنترلر قرمز را به ترکیبی از خطاها بکشید. یا می توانید ترکیب را به صورت عددی مشخص کنید.
  3. زمان فاصله تزریق را مشخص کنید.
  4. روی OK کلیک کنید.

شکل 12. تعیین مخلوط انواع خطاهای SEUintel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-12

اطلاعات مرتبط کاهش ناراحتی یک رویداد

خطاهای تزریق

شما می توانید خطاها را در چندین حالت تزریق کنید:

  • یک خطا در دستور تزریق کنید
  • خطاهای متعدد در دستور تزریق کنید
  • تا زمانی که دستور توقف داده شود، خطاها را تزریق کنید

برای تزریق این عیوب:

  1. گزینه Inject Fault را روشن کنید.
  2. انتخاب کنید که آیا می‌خواهید تزریق خطا را برای تعدادی از تکرارها اجرا کنید یا تا زمانی که متوقف شود:
    • اگر انتخاب کنید که اجرا شود تا زمانی که متوقف شود، اشکال زدای تزریق خطا خطاها را در بازه زمانی مشخص شده در کادر محاوره ای ابزارها ➤ گزینه ها تزریق می کند.
    • اگر می خواهید تزریق خطا را برای تعداد خاصی از تکرارها اجرا کنید، عدد را وارد کنید.
  3. روی Start کلیک کنید.

توجه: اشکال زدای تزریق خطا برای تعداد مشخصی از تکرارها یا تا زمانی که متوقف شود اجرا می شود. پنجره Intel Quartus Prime Messages پیام هایی در مورد خطاهای تزریق شده نشان می دهد. برای اطلاعات بیشتر در مورد خطاهای تزریق شده، روی Read EMR کلیک کنید. اشکال زدای تزریق خطا، EMR دستگاه را می خواند و محتویات را در پنجره پیام ها نمایش می دهد.

اینتل Quartus Prime Error Injection و پیام های محتوای EMR

intel-UG-01173-Fault-Injection-FPGA-IP-Core-fig-13

خطاهای ضبط
شما می توانید با توجه به پارامترهای گزارش شده در پنجره Intel Quartus Prime Messages، محل هر خطای تزریق شده را ثبت کنید. اگر برای مثالampیک خطای تزریق شده منجر به رفتاری می شود که می خواهید دوباره پخش کنید، می توانید آن مکان را برای تزریق هدف قرار دهید. شما تزریق هدفمند را با استفاده از رابط خط فرمان Fault Injection Debugger انجام می دهید.

پاک کردن خطاهای تزریق شده
برای بازیابی عملکرد عادی FPGA، روی Scrub کلیک کنید. هنگامی که یک خطا را پاکسازی می کنید، از عملکردهای EDCRC دستگاه برای تصحیح خطاها استفاده می شود. مکانیسم اسکراب مشابه مکانیزمی است که در حین کار دستگاه استفاده می شود.

رابط خط فرمان
شما می‌توانید اشکال‌زدای تزریق خطا را در خط فرمان با فایل اجرایی quartus_fid اجرا کنید، که اگر می‌خواهید تزریق خطا را از یک اسکریپت انجام دهید، مفید است.

جدول 5. آرگومان های خط فرمان برای تزریق خطا

استدلال کوتاه بحث طولانی توضیحات
c کابل سخت افزار یا کابل برنامه نویسی را مشخص کنید. (ضروری)
i شاخص دستگاه فعال را برای تزریق خطا مشخص کنید. (ضروری)
n شماره تعداد خطاهای تزریق را مشخص کنید. مقدار پیش فرض است

1. (اختیاری)

t زمان فاصله زمانی بین تزریق (اختیاری)

توجه: از quartus_fid –help to استفاده کنید view تمام گزینه های موجود کد زیر examples با استفاده از رابط خط فرمان Debugger Injection Fault.
###########################################

  • # دریابید که کدام کابل های USB برای این نمونه موجود است
  • # نتیجه نشان می دهد که یک کابل به نام "USB-Blaster" # موجود است.
  • $ quartus_fid –list . . .
  • اطلاعات: دستور: quartus_fid –list
    1. USB-Blaster در sj-sng-z4 [USB-0] اطلاعات: اینتل Quartus Prime 64-Bit Fault Injection Debugger موفقیت آمیز بود. 0 خطا، 0 هشدار
  • ############################################
  • # دستگاه های موجود در کابل USB-Blaster را پیدا کنید
  • # نتیجه دو دستگاه را نشان می دهد: Stratix V A7 و MAX V CPLD. #
  • $ quartus_fid –کابل USB-Blaster -a
  • اطلاعات: دستور: quartus_fid –cable=USB-Blaster -a
  • اطلاعات (208809): استفاده از کابل برنامه نویسی "USB-Blaster در sj-sng-z4 [USB-0]"
    1. USB-Blaster در sj-sng-z4 [USB-0]
  • 029030DD 5SGXEA7H(1|2|3)/5SGXEA7K1/..
  • 020A40DD 5M2210Z/EPM2210
  • اطلاعات: اینتل Quartus Prime 64-Bit Fault Injection Debugger موفقیت آمیز بود.
  • 0 خطا، 0 هشدار
  • ############################################
  • # دستگاه Stratix V را برنامه ریزی کنید
  • # گزینه –index عملیات انجام شده روی دستگاه متصل را مشخص می کند.
  • # "=svgx.sof" یک .sof را مرتبط می کند file با دستگاه
  • # "#p" یعنی دستگاه را برنامه ریزی کنید #
  • $ quartus_fid –کابل USB-Blaster –index “@1=svgx.sof#p” . . .
  • اطلاعات (209016): پیکربندی نمایه دستگاه 1
  • اطلاعات (209017): دستگاه 1 شامل JTAG کد شناسه 0x029030DD
  • اطلاعات (209007): پیکربندی با موفقیت انجام شد — 1 دستگاه پیکربندی شد
  • اطلاعات (209011): عملیات (عملیات) با موفقیت انجام شد
  • اطلاعات (208551): امضای برنامه در دستگاه 1.
  • اطلاعات: اینتل Quartus Prime 64-Bit Fault Injection Debugger موفقیت آمیز بود.
  • 0 خطا، 0 هشدار
  • ############################################
  • # عیب را به دستگاه تزریق کنید.
  • # عملگر #i برای تزریق خطاها را نشان می دهد
  • # -n 3 نشان دهنده تزریق 3 خطا است #
  • $ quartus_fid –کابل USB-Blaster –index “@1=svgx.sof#i” -n 3
  • اطلاعات: دستور: quartus_fid –cable=USB-Blaster –index=@1=svgx.sof#i -n 3
  • اطلاعات (208809): استفاده از کابل برنامه نویسی "USB-Blaster در sj-sng-z4 [USB-0]"
  • اطلاعات (208521): 3 خطا را به دستگاه(ها) تزریق می کند
  • اطلاعات: اینتل Quartus Prime 64-Bit Fault Injection Debugger موفقیت آمیز بود.
  • 0 خطا، 0 هشدار
  • ############################################
  • # حالت تعاملی.
  • # استفاده از عملیات #i با -n 0، دیباگر را در حالت تعاملی قرار می دهد.
  • # توجه داشته باشید که 3 خطا در جلسه قبل تزریق شد.
  • # "E" خطاهای موجود در هسته IP EMR Unloader را می خواند. #
  • $ quartus_fid –کابل USB-Blaster –index “@1=svgx.sof#i” -n 0
  • اطلاعات: دستور: quartus_fid –cable=USB-Blaster –index=@1=svgx.sof#i -n 0
  • اطلاعات (208809): استفاده از کابل برنامه نویسی "USB-Blaster در sj-sng-z4 [USB-0]"
  • وارد :
  • "F" برای تزریق خطا
  • E برای خواندن EMR
  • "S" برای پاکسازی خطا(های)
  • Q برای ترک E
  • اطلاعات (208540): خواندن آرایه EMR
  • اطلاعات (208544): 3 خطای فریم در دستگاه 1 شناسایی شد.
  • اطلاعات (208545): خطای شماره 1: تک خطا در فریم 0x1028 در بیت 0x21EA.
  • اطلاعات (10914): خطای شماره 2: خطای چند بیتی غیر قابل اصلاح در فریم 0x1116.
  • اطلاعات (208545): خطای شماره 3: تک خطا در فریم 0x1848 در بیت 0x128C.
  • "F" برای تزریق خطا
  • E برای خواندن EMR
  • "S" برای پاکسازی خطا(های)
  • Q برای ترک Q
  • اطلاعات: اینتل Quartus Prime 64-bit Fault Injection Debugger موفقیت آمیز بود. 0 خطا، 0 هشدار
  • اطلاعات: حداکثر حافظه مجازی: 1522 مگابایت
  • اطلاعات: پردازش به پایان رسید: دوشنبه 3 نوامبر 18، 50:00:2014
  • اطلاعات: زمان سپری شده: 00:00:29
  • اطلاعات: کل زمان CPU (در همه پردازنده ها): 00:00:13

ویژگی تزریق خطای هدفمند

توجه داشته باشید

اشکال زدای تزریق خطا، خطاها را به صورت تصادفی به FPGA تزریق می کند. با این حال، ویژگی Targeted Fault Injection به شما امکان می دهد خطاها را به مکان های هدف در CRAM تزریق کنید. این عملیات ممکن است مفید باشد، برای مثالample، اگر یک رویداد SEU را یادداشت کرده اید و می خواهید پس از اصلاح استراتژی بازیابی، FPGA یا پاسخ سیستم را به همان رویداد آزمایش کنید. ویژگی Targeted Fault Injection فقط از رابط خط فرمان در دسترس است. می توانید تعیین کنید که خطاها از خط فرمان یا در حالت prompt تزریق شوند. اطلاعات مربوطه

AN 539: روش تست یا تشخیص و بازیابی خطا با استفاده از CRC در دستگاه های FPGA اینتل

تعیین لیست خطا از خط فرمان

ویژگی Targeted Fault Injection به شما امکان می دهد لیست خطا را از خط فرمان مشخص کنید، همانطور که در شکل زیر نشان داده شده است.ample: c:\Users\sng> quartus_fid -c 1 – i “@1= svgx.sof#i ” -n 2 -user=”@1= 0x2274 0x05EF 0x2264 0x0500″ جایی که: c 1 نشان می دهد که FPGA کنترل می شود توسط اولین کابل کامپیوتر شما i "@1= six.sof#i" نشان می‌دهد که اولین دستگاه در زنجیره با جسم بارگذاری شده است. file svgx.sof و با خطا تزریق خواهد شد. n 2 نشان می دهد که دو خطا تزریق خواهد شد. user=”@1= 0x2274 0x05EF 0x2264 0x0500” لیستی از عیوب مشخص شده توسط کاربر است که باید تزریق شود. در این سابقample، دستگاه 1 دارای دو خطا است: در فریم 0x2274، بیت 0x05EF و در فریم 0x2264، بیت 0x0500.

تعیین لیست خطا از حالت اعلان

می توانید با تعیین تعداد خطاها 0 (-n 0) ویژگی تزریق خطای هدفمند را به صورت تعاملی اجرا کنید. اشکالزدای تزریق خطا دستورات حالت سریع و توضیحات آنها را ارائه می دهد.

دستور Prompt Mode توضیحات
F عیب را تزریق کنید
E EMR را بخوانید
S خطاهای اسکراب
Q ترک کنید

در حالت prompt، می توانید فرمان F را به تنهایی برای تزریق یک خطا در یک مکان تصادفی در دستگاه صادر کنید. در مثال زیرampبا استفاده از دستور F در حالت prompt، سه خطا تزریق می شود. F #3 0x12 0x34 0x56 0x78 * 0x9A 0xBC +

  • خطای 1 - خطای تک بیتی در فریم 0x12، بیت 0x34
  • خطای 2 - خطای غیر قابل اصلاح در فریم 0x56، بیت 0x78 (یک * نشان دهنده خطای چند بیتی است)
  • خطای 3 - خطای دو مجاور در فریم 0x9A، بیت 0xBC (a + نشان دهنده خطای دو بیتی است)

F 0x12 0x34 0x56 0x78 * یک خطا (پیش‌فرض) تزریق می‌شود: خطای 1 – خطای تک بیتی در فریم 0x12، بیت 0x34. مکان‌های بعد از اولین مکان فریم/بیت نادیده گرفته می‌شوند. F #3 0x12 0x34 0x56 0x78 * 0x9A 0xBC + 0xDE 0x00

سه خطا تزریق می شود:

  • خطای 1 - خطای تک بیتی در فریم 0x12، بیت 0x34
  • خطای 2 - خطای غیر قابل اصلاح در فریم 0x56، بیت 0x78
  • خطای 3 - خطای دو مجاور در فریم 0x9A، بیت 0xBC
  • مکان‌های بعد از 3 جفت فریم/بیت اول نادیده گرفته می‌شوند

تعیین مکان های بیت CRAM

توجه: 

هنگامی که خطاساز تزریق خطا یک خطای CRAM EDCRC را تشخیص می دهد، ثبت پیام خطا (EMR) حاوی نشانگان، شماره فریم، محل بیت و نوع خطا (تک، دو یا چند بیتی) خطای CRAM شناسایی شده است. در طول تست سیستم، محتویات EMR گزارش شده توسط Fault Injection Debugger را هنگامی که خطای EDCRC را تشخیص می دهید ذخیره کنید. با محتویات ثبت شده EMR، می‌توانید اعداد فریم و بیت را به اشکال‌زدای تزریق خطا ارائه کنید تا خطاهای ذکر شده در طول آزمایش سیستم، طراحی بیشتر و مشخص کردن پاسخ بازیابی سیستم به آن خطا را دوباره پخش کند.

اطلاعات مرتبط
AN 539: روش تست یا تشخیص و بازیابی خطا با استفاده از CRC در دستگاه های FPGA اینتل

گزینه های خط فرمان پیشرفته: مناطق ASD و وزن کردن نوع خطا

می‌توانید از رابط خط فرمان Fault Injection Debugger برای تزریق خطاها به مناطق ASD و وزن کردن انواع خطا استفاده کنید. ابتدا ترکیبی از انواع خطا (تک بیت، دو مجاور و چند بیتی غیر قابل اصلاح) را با استفاده از –weight مشخص می کنید. . . گزینه. برای مثالampبرای ترکیبی از 50 درصد خطاهای تکی، 30 درصد خطاهای دوگانه مجاور و 20 درصد خطاهای غیرقابل اصلاح چند بیتی، از گزینه –weight=50.30.20 استفاده کنید. سپس، برای هدف قرار دادن یک منطقه ASD، از گزینه -smh برای گنجاندن SMH استفاده کنید file و منطقه ASD مورد نظر را مشخص کنید. برای مثالample: $ quartus_fid –cable=USB-BlasterII –index “@1=svgx.sof#pi” –weight=100.0.0 –smh=”@1=svgx.smh#2″ –number=30

این سابقampدستور le:

  • دستگاه را برنامه ریزی می کند و خطاها را تزریق می کند (رشته pi)
  • 100٪ خطاهای تک بیتی را تزریق می کند (100.0.0)
  • فقط به ASD_REGION 2 تزریق می شود (با شماره 2 مشخص شده است)
  • 30 عیب را تزریق می کند

بایگانی راهنمای کاربر Core IP تزریق خطا

نسخه هسته IP راهنمای کاربر
18.0 راهنمای کاربر تزریق خطای Intel FPGA Core IP
17.1 راهنمای کاربر Intel FPGA Fault Injection IP Core
16.1 راهنمای کاربر Altera Fault Injection IP Core
15.1 راهنمای کاربر Altera Fault Injection IP Core

اگر نسخه هسته IP در لیست نیست، راهنمای کاربر نسخه اصلی IP قبلی اعمال می شود.

راهنمای کاربر تاریخچه ویرایش سند برای تزریق خطای IP Core

نسخه سند اینتل Quartus نسخه پرایم تغییرات
2019.07.09 18.1 به روز شد توضیحات پین IP تزریق خطا موضوع برای روشن شدن سیگنال های Reset، error_injected و Error_scrubbed.
2018.05.16 18.0 • موضوعات زیر را از کتابچه راهنمای Intel Quartus Prime Pro Edition اضافه کرد:

—   تعریف مناطق تزریق خطا و موضوعات فرعی

—   با استفاده از اشکال زدای تزریق خطا و موضوعات فرعی

—   رابط خط فرمان و موضوعات فرعی

• تغییر نام Intel FPGA Fault Injection IP به Fault Injection Intel FPGA IP.

تاریخ نسخه تغییرات
2017.11.06 17.1 • به اینتل تغییر نام داد.

• اضافه شدن پشتیبانی از دستگاه Intel Cyclone 10 GX.

2016.10.31 16.1 پشتیبانی دستگاه به روز شده
2015.12.15 15.1 • Quartus II را به نرم افزار Quartus Prime تغییر داد.

• لینک مربوط به خود ارجاع ثابت شد.

2015.05.04 15.0 انتشار اولیه

 

اسناد / منابع

Intel UG-01173 Fault Injection FPGA IP Core [pdfراهنمای کاربر
UG-01173 Fault Injection FPGA IP Core, UG-01173, Fault Injection FPGA IP Core, Injection c, Injection FPGA IP Core

مراجع

نظر بدهید

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