تضمین صحت عملکرد پردازنده‌ها و تسریع‌کننده‌ها پیش از تولید سیلیکون نیازمند ترکیب روش‌های مختلف تأیید است. شبیه‌سازی و تأیید رسمی هر کدام در بخشی از جریان طراحی مزیت دارند؛ هدف عملی تیم‌های مهندسی ایجاد یک جریان هیبرید است که از قوت‌های هر روش بهره‌برداری کند و ریسک‌های باقی‌مانده را به حداقل برساند.

شبیه‌سازی: قوت‌ها و محدودیت‌ها

شبیه‌سازی با اجرای وکتورهای تست (هدایت‌شده یا تصادفی) رفتار طراحی را در سناریوهای مشخص بررسی می‌کند. مواردی که شبیه‌سازی در آنها برتر است عبارت‌اند از:

  • مقیاس‌پذیری در سطوح بالاتر: در سطوح یکپارچه‌سازی و SoC، شبیه‌سازی ابزار اصلی برای آزمون تعامل میان بلوک‌ها و سناریوهای پیچیده است. برای آشنایی با مفهوم SoC می‌توان به System on a Chip مراجعه کرد.
  • اعتبارسنجی نرم‌افزاری و تست سطح سیستم: اجرای پشته‌های نرم‌افزاری و تحلیل عملکرد زمان اجرا که برای CPU و تسریع‌کننده‌ها حیاتی‌اند، عمدتاً از طریق شبیه‌سازی انجام می‌شود.
  • یکپارچگی با چارچوب‌های صنعتی: چارچوب‌هایی مانند UVM برای تست تصادفی محدود و مجموعه‌های رگرسیون طراحی شده‌اند و شبیه‌سازی نقش محوری در آن‌ها دارد.
  • کشف سریع باگ‌های معمول: باگ‌هایی که در مسیرهای معمول رخ می‌دهند معمولاً با هزینه نسبتاً کم از طریق شبیه‌سازی کشف می‌شوند.

محدودیت ذاتی شبیه‌سازی این است که پوشش تمام فضای ورودی‌ها و توالی‌ها عملی نیست و معیارهای پوشش همیشه ضمانت اجرای همه حالات را نمی‌دهند. برای مطالعهٔ بیشتر دربارهٔ مفهوم شبیه‌سازی می‌توان به این مرجع رجوع کرد.

تأیید رسمی: قوت‌ها و محدودیت‌ها

تأیید رسمی با ابزارها و روش‌های ریاضیاتی، صحت ویژگی‌ها را اثبات یا خلاف آن را آشکار می‌کند. نقاط قوت این رویکرد عبارت‌اند از:

  • اثبات دقیق خواص حیاتی: برای تضمین انطباق پروتکل‌ها، خواص امنیتی یا سایر ویژگی‌های بحرانی، تأیید رسمی می‌تواند ضمانت‌های قوی ارائه دهد.
  • کشف باگ‌های گوشه‌ای: روش‌هایی مانند مدل چکینگ قادر به بررسی توالی‌هایی هستند که تولید آن‌ها در شبیه‌سازی دشوار است.
  • کمک به رفع شکاف‌های پوشش: وقتی شبیه‌سازی نتواند همه مسیرها را تحت پوشش قرار دهد، تحلیل رسمی می‌تواند اثبات کند که مسیرهای باقی‌مانده سالم‌اند یا خلاف آن را نشان دهد.

محدودیت اصلی رسمی مربوط به مقیاس است: تحلیل‌های اگزاستیو ممکن است به انفجار فضای حالت منجر شوند و برای سیستم‌های بزرگ نیاز به انتزاع، تجزیه‌بندی یا تعریف دقیق ویژگی‌های هدفی دارد. این فرایند معمولاً به مدل‌سازی دقیق و سرمایه‌گذاری در تدوین ویژگی‌ها نیازمند است.

ترکیب دو روش در جریان طراحی

تجربه عملی نشان می‌دهد که جریان‌های موفق طراحی از ترکیب هدفمند شبیه‌سازی و رسمی سود می‌برند. چند سطح عملیاتی پیشنهادی:

  • سطح بلوک (IP): استفاده از تأیید رسمی برای اثبات خواص پروتکلی و ویژگی‌های کلیدی قبل از ادغام. این کار باگ‌های گوشه‌ای را زود کشف می‌کند.
  • سطح زیرسیستم: آزمون تعامل میان بلوک‌ها با شبیه‌سازی‌های محدود و محیط‌های مبتنی بر UVM؛ در این سطح می‌توان تست‌های سناریویی واقعی‌تر اجرا کرد.
  • سطح SoC: شبیه‌سازی برای اعتبارسنجی یکپارچه‌سازی نرم‌افزار، تست‌های عملکرد و رگرسیون‌های کامل مناسب‌تر است.

یک جریان تأیید پیشنهادی

  1. فاز شبیه‌سازی اولیه: اجرای رگرسیون‌ها، تست‌های نرم‌افزاری و مجموعه‌های تصادفی محدود برای آشکارسازی کم‌هزینه‌ترین باگ‌ها.
  2. فاز رسمی هدفمند: تعریف و اثبات ویژگی‌های بحرانی برای اجزای حساس، مانند واحد حافظه، کنترلرهای همگام‌سازی و مسیرهای مدیریت دسترسی.
  3. یکپارچه‌سازی نتایج: انتقال یافته‌های رسمی به تست‌های شبیه‌سازی برای بازتولید و اضافه کردن سناریوهای جدید به رگرسیون؛ همچنین استفاده از نتایج شبیه‌سازی برای اصلاح مدل‌های رسمی.

نکات اجرایی و تجربه‌های عملی

  • شروع زودهنگام با رسمی: وارد کردن تحلیل رسمی در مراحل اولیه طراحی روی بلوک‌ها هزینه رفع خطا را به شکل قابل‌توجهی کاهش می‌دهد.
  • انتزاع هدفمند: برای جلوگیری از انفجار فضای حالت، از انتزاع‌های منطقی استفاده کنید و تنها ویژگی‌های با اولویت بالا را هدف قرار دهید.
  • ابزار و اتوماسیون: ادغام ابزارهای رسمی با جریان CI/CD، گزارش‌دهی پوشش و داشبوردهای ردیابی کمک می‌کند تصمیم‌گیری برای تخصیص منابع ملموس‌تر شود.
  • تعادل هزینه-فایده: مشخص کنید کدام خواص نیازمند اثبات رسمی هستند و کدام موارد را می‌توان از طریق شبیه‌سازی و تست نرم‌افزاری پوشش داد.

چک‌لیست عملیاتی برای تیم‌های طراحی

  • شناسایی IPها و مسیرهای بحرانی و اولویت‌بندی آن‌ها برای تحلیل رسمی.
  • تعریف مجموعه‌های رگرسیون شفاف و قابل بازتولید برای شبیه‌سازی.
  • ایجاد پل ارتباطی بین نتایج رسمی و تست‌های شبیه‌سازی (معرفی سناریوها و وکتورهای تولیدشده توسط تحلیل رسمی به رگرسیون).
  • ادغام ابزارهای رسمی در خطوط CI برای اجرای خودکار تحلیل‌های سبک‌تر و هشداردهی به تیم‌ها.
  • اندازه‌گیری و گزارش مداوم پوشش و اثر تست‌ها بر کاهش خطرات طراحی.

پیش‌نگاه

با رشد طراحی‌های چندهسته‌ای و تسریع‌کننده‌های یادگیری ماشین و افزایش نیاز به امنیت و صحت عملکرد، ترکیب هوشمندانهٔ تأیید رسمی و شبیه‌سازی ضروری شده است. بهبود ابزارهای رسمی، اتوماسیون تولید ویژگی‌ها و انتزاع‌های مؤثر احتمالاً نقش رسمی را در سطوح بالاتر افزایش خواهد داد، در حالی که شبیه‌سازی همچنان ستون فقرات اعتبارسنجی سیستم باقی می‌ماند.