طراحی برای آزمون پذیری

## طراحی برای آزمون‌ پذیری
**طراحی برای آزمون‌ پذیری** (DFT؛ مخفف Design for Testability) به مجموعه‌ای از تکنیک‌های طراحی در مدارهای مجتمع گفته می‌شود که با هدف افزودن قابلیت‌ها و ویژگی‌های تست‌پذیر به سخت‌افزار طراحی‌شده، به کار می‌رود. این ویژگی‌های اضافه‌شده باعث می‌شوند که فرایند تولید و اجرای تست‌های ساخت بر روی سخت‌افزار آسان‌تر و مؤثرتر انجام شود.

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

### کاربرد در فرایند تولید و نگهداری
تست‌ها در مراحل مختلفی از جریان تولید سخت‌افزار اعمال می‌شوند و در برخی محصولات، حتی در محیط کاربر برای نگهداری سیستم نیز استفاده می‌شوند. اجرای این تست‌ها معمولاً توسط برنامه‌های تست انجام می‌گیرد که یا روی تجهیزات تست خودکار (ATE:

Automatic Test Equipment) اجرا می‌شوند یا در برخی موارد، درون سیستم نهایی که مونتاژ شده اجرا می‌گردند.

علاوه بر شناسایی وجود خطا (یعنی شکست تست)، این تست‌ها ممکن است بتوانند اطلاعات تشخیصی دقیقی درباره ماهیت خرابی نیز ثبت کنند. این اطلاعات می‌توانند به‌منظور شناسایی دقیق منبع مشکل به کار روند.

### روش مقایسه‌ای در تست
به بیان دیگر، پاسخ مدار سالم به یک سری بردارهای تست (الگوهای ورودی/خروجی) با پاسخ همان بردارها در مدار تحت تست (DUT) مقایسه می‌شود. اگر پاسخ‌ها یکسان باشند، مدار به‌درستی تولید شده است. اما اگر مغایرتی وجود داشته باشد، نشان‌دهنده وجود نقص در فرآیند ساخت مدار است.

### نقش DFT در تولید برنامه‌های تست
DFT نقش مهمی در توسعه برنامه‌های تست، تشخیص خطاها و کاربردهای تست ایفا می‌کند. همچنین، اگر

قوانین و اصول DFT به‌درستی در طراحی پیاده‌سازی شوند، فرآیند تولید خودکار الگوهای تست (ATPG: Automatic Test Pattern Generation) به‌مراتب آسان‌تر و مؤثرتر خواهد بود.

### تاریخچه طراحی برای آزمون‌پذیری (DFT)
تکنیک‌های طراحی برای آزمون‌پذیری (DFT) از همان سال‌های ابتدایی توسعه تجهیزات پردازش داده‌های الکترونیکی/برقی مورد استفاده قرار گرفته‌اند. نمونه‌های اولیه‌ای از این روش‌ها را می‌توان در دهه‌های ۱۹۴۰ و ۱۹۵۰ مشاهده کرد؛ زمانی که مهندسان با استفاده از کلیدها و ابزارهایی می‌توانستند به‌صورت انتخابی ولتاژ یا جریان برخی گره‌های داخلی در رایانه‌های آنالوگ را بررسی کنند—روشی که به آن "اسکن آنالوگ" (analog scan) گفته می‌شود.

## [[کنترل‌پذیری]] و [[مشاهده‌پذیری]]
DFT معمولاً با اصلاحاتی در طراحی همراه است که باعث می‌شوند دسترسی به اجزای داخلی مدار راحت‌تر شود؛ به گونه‌ای که حالت داخلی مدار قابل کنترل (Controllability) یا مشاهده (Observability)

باشد. این اصلاحات می‌توانند کاملاً فیزیکی باشند—برای مثال، اضافه کردن یک نقطه تماس (probe point) روی یک مسیر—یا می‌توانند شامل افزودن عناصر فعال مدار مانند مالتی‌پلکسر برای تسهیل کنترل یا مشاهده باشند.

در حالی‌که بهبود کنترل‌پذیری و مشاهده‌پذیری اجزای داخلی مدار، جنبه‌ای مهم از DFT به‌شمار می‌رود، اما تنها حوزه‌ی آن نیست. برخی دستورالعمل‌های DFT به ویژگی‌های الکترومکانیکی رابط بین مدار تحت آزمون و تجهیزات تست می‌پردازند. برای مثال، اندازه، شکل و فاصله‌ی مناسب بین نقاط تماس یا افزودن حالت امپدانس بالا (high-impedance) به درایورهای متصل به شبکه‌های تحت تست، به‌منظور جلوگیری از آسیب ناشی از جریان معکوس (back-driving) از جمله این توصیه‌ها هستند.

## تکامل استانداردها و ابزارها
در طول زمان، صنعت الکترونیک مجموعه‌ی گسترده‌ای از راهنمایی‌ها و دستورالعمل‌های رسمی و غیررسمی برای اصلاحات DFT در مدارها تدوین و به‌کار گرفته

است. در زمینه‌ی طراحی الکترونیکی خودکار (EDA) برای ریزتراشه‌های مدرن، درک رایج از DFT تا حد زیادی توسط قابلیت‌های نرم‌افزارهای تجاری DFT و همچنین تجربه و دانش مهندسان متخصص در این حوزه شکل گرفته است—افرادی که ابزارهای DFT را طراحی، توسعه و به‌کار می‌گیرند.

بخش عمده‌ای از دانش فعلی در زمینه DFT بر روی مدارهای دیجیتال متمرکز است، در حالی‌که DFT برای مدارهای آنالوگ یا ترکیبی (آنالوگ/دیجیتال) هنوز در اولویت‌های پایین‌تری قرار دارد.

## اهداف طراحی برای آزمون‌پذیری در محصولات میکروالکترونیکی
طراحی برای آزمون‌پذیری (DFT) به‌طور مستقیم با روش‌های توسعه تست، اجرای تست و تشخیص خطا در ارتباط است و بر آن‌ها تأثیر می‌گذارد.

در صنعت، به‌ویژه برای مدارهای دیجیتال، رایج‌ترین روش DFT مبتنی بر الگوی تست ساختاری (Structural Test) است. در این روش، به‌جای بررسی عملکرد کلی مدار، تمرکز بر صحت مونتاژ اجزای داخلی مدار بر اساس «نت‌لیست ساختاری» است. به‌عبارت دیگر، بررسی می‌شود که آیا همه گیت‌های منطقی مورد انتظار وجود دارند، درست کار می‌کنند و به‌درستی به هم متصل شده‌اند یا نه. فرض بر این است که اگر این موارد درست باشند، مدار باید عملکرد صحیحی داشته باشد.

این روش با تست عملکردی (Functional Test) تفاوت دارد؛ در تست عملکردی، هدف بررسی این است که آیا مدار طبق مشخصات عملکردی‌اش کار می‌کند یا خیر. در حالی‌که در تست ساختاری، فرض می‌شود مدار به‌درستی ساخته شده و فقط ساختار آن بررسی می‌شود.

## مزایای رویکرد ساختاری
یکی از مزایای تست ساختاری این است که تست‌سازی تنها روی اجزای ساده و محدود تمرکز می‌کند و نیازی به

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

در این شرایط، کنترل یا مشاهده‌ی این گیت‌های داخلی مستلزم عبور از لایه‌های منطقی میانی و تنظیم حالت‌های مختلف مدار است که بسیار پیچیده و گاهی غیرممکن است. اینجاست که DFT با ایجاد تغییراتی در طراحی، دسترسی به اجزای داخلی را آسان‌تر می‌کند و نیاز به دنباله‌های پیچیده‌ی تغییر حالت را کاهش می‌دهد. این کار باعث می‌شود تولید تست برای مدارهای پیچیده نیمه‌خودکار یا حتی خودکار شود.

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

می‌شود تا اگر در طول زمان خرابی رخ داد، بتوان آن را به‌سادگی تست و بررسی کرد.

## چشم‌انداز آینده
یکی از چالش‌های مهم صنعت، همگام‌ماندن با پیشرفت سریع فناوری تراشه‌ها است؛ از جمله افزایش تعداد، اندازه و سرعت پایه‌ها (I/O)، پیچیدگی و توان مصرفی مدارهای داخلی، و نیاز به مدیریت حرارتی بهتر. در این میان، ارتقاء مداوم تجهیزات تست برای سازگاری با این تغییرات، هزینه‌بر و دشوار است.

به همین دلیل، تکنیک‌های مدرن DFT باید گزینه‌هایی ارائه دهند که امکان تست تراشه‌ها و بردهای نسل بعدی را با استفاده از تجهیزات تست موجود فراهم کرده یا هزینه‌ی خرید تجهیزات جدید را کاهش دهند. برای رسیدن به این هدف، روش‌های DFT به‌طور مستمر به‌روزرسانی می‌شوند—از جمله با استفاده از فشرده‌سازی داده‌های تست—تا زمان اجرای تست در محدوده‌ی قابل‌قبول باقی بماند و هزینه‌ی کلی تست با اهداف اقتصادی محصول هم‌خوانی داشته باشد.

## تشخیص خطا (Diagnostics)
در فناوری‌های پیشرفته‌ی نیمه‌رسانا، انتظار می‌رود که برخی تراشه‌های هر ویفر تولیدی دارای عیب‌هایی باشند که آن‌ها را غیرفعال یا غیرقابل استفاده می‌کند. هدف اصلی فرآیند تست، تشخیص و جداسازی تراشه‌های معیوب از تراشه‌های سالم است. اگر پاسخ تراشه در طول تست با پاسخ مورد انتظار متفاوت باشد، آن تراشه به‌عنوان خراب شناسایی می‌شود. بنابراین، درصد تراشه‌هایی که در تست رد می‌شوند، باید با نرخ بازده‌ی عملکردی مورد انتظار تراشه هم‌خوانی داشته باشد.

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

## کاربرد تست در نگهداری سیستم‌ها
گاهی تست‌ها نه فقط در تولید، بلکه در طول عمر

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

## مقایسه تست ساختاری و تست عملکردی

* تست ساختاری: تمرکز بر بررسی صحت ساختاری مدار، مانند اتصال درست گیت‌ها، وجود قطعات و عملکرد آن‌ها.

* تست عملکردی: بررسی عملکرد کلی مدار بر اساس مشخصات عملکردی آن.

هر کدام از این دو رویکرد مزایا و معایب خود را دارند و معمولاً در صنعت، ترکیبی از آن‌ها به کار گرفته می‌شود.

## منابع

* Ben-Gal I., Herer Y. and Raz T. (2003). "Self-correcting inspection procedure under inspection errors" (PDF). IIE Transactions on Quality and Reliability, 34(6), pp. 529-540. Archived from the original (PDF) on 2013-10-13. Retrieved 2014-01-10.

* Wang, L.T., Wu, C.W., Wen, X.Q. (2006). *VLSI Test Principles and Architectures*. Elsevier.

* Lavagno, M., Martin, G., & Scheffer, L. (2010). *Electronic Design Automation for Integrated Circuits Handbook*. CRC Press. ISBN 0-8493-3096-3.

* Wilson, Ron (2007). "Design for debugging: the unspoken imperative in chip design". EDN.

* IEEE Std 1149.1 (JTAG) Testability

Primer. IEEE.

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

## پیوند به بیرون

* صفحه انگلیسی طراحی برای آزمون‌پذیری در ویکی‌پدیا

* مقاله EDN درباره طراحی برای اشکال‌زدایی