عنوان پایان‌نامه

آزمون پردازنده نهفته در سطح دستورالعمل



    دانشجو در تاریخ ۲۳ خرداد ۱۳۹۱ ، به راهنمایی ، پایان نامه با عنوان "آزمون پردازنده نهفته در سطح دستورالعمل" را دفاع نموده است.


    محل دفاع
    کتابخانه پردیس 2 فنی شماره ثبت: E 2091;کتابخانه مرکزی -تالار اطلاع رسانی شماره ثبت: 53848
    تاریخ دفاع
    ۲۳ خرداد ۱۳۹۱

    امروزه پیشرفت فن‌آوری و کوچک¬تر شدن ابعاد ترانزیستورها و درنتیجه پیچیدگی بیشتر فرآیند ساخت مدارهای مجتمع، موجب افزایش امکان بروز اشکال در این ساختارها و درنتیجه کاهش بازده فرآیند ساخت شده است. حتی در صورتی که مدارهای الکترونیکی، آزمون‌های ساخت را با موفقیت پشت سر بگذرانند، باز هم بروز برخی رخدادها و پدیده‌های فیزیکی و همچنین موارد مربوط به سالخوردگی، می‌توانند سبب عدم عملکرد صحیح مدارهای الکترونیکی در زمان کار شود. بنابراین، آزمون مدارهای دیجیتال در زمان عملکرد آن‌ها نیز باید مورد توجه قرار گیرد. از طرف دیگر، در هر سیستم دیجیتال، پردازنده¬ها یکی از اجزای مهم و غیر قابل انکار به شمار می¬روند که اطمینان از سلامتی پردازنده¬ها، یک موضوع مهم و اساسی می‌باشد. هدف از این پایان‌نامه، معرفی روشی برای آزمون پردازنده¬های نهفته می¬باشد. بنابراین باید محدودیت‌های این پردازنده‌ها درنظر گرفته شود. از آنجایی¬که پردازنده‌های نهفته به طور معمول در سیستم‌های بر روی یک تراشه استفاده می‌شوند، دسترسی به این پردازنده‌ها بسیار مشکل است. از طرف دیگر میزان توان مصرفی برای این پردازنده‌ها دارای اهمیت است. با درنظرگرفتن این محدودیت‌ها در این پایان¬نامه، از روش خودآزمایی نرم‌افزاری برای آزمون پردازنده استفاده می‌شود. در این پایان‌نامه یک روش نرم¬افزاری جدید برای آزمون پردازنده¬ها و با هدف بهبود فرآیند آزمون پردازنده‌ها ارایه شده است. روش پیشنهاد شده، یک روش ساختاری برای آزمون پردازنده می‌باشد که آزمون پردازنده را از طریق آزمون واحدها و قطعات داخلی آن انجام می‌دهد. این روش دارای چهار فاز متوالی است که از اطلاعات سطح بالای پردازنده استفاده می‌کند. در فاز اول، اطلاعات سطح ثبات پردازنده استخراج می‌شود به این صورت که تاثیر اجرای دستورها در پردازنده استخراج شده و واحدهای پردازنده بسته به عملکردشان طبقه‌بندی می‌شوند. سپس در دو فاز متوالی، برای هر واحد پردازنده بسته به طبقه آن واحد، داده و دستورالعمل آزمون برای آزمون آن واحد تولید می‌شود. در نهایت و در فاز آخر ترتیب اعمال شدن دستورات به واحد مورد آزمون استخراج می‌شود. از خصوصیات روش پیشنهاد شده می¬توان به عدم تغییر در ساختار پردازنده، عدم نیاز به سربار سخت‌افزاری، کاهش توان مصرفی، انعطاف¬پذیری بالا و قابلیت آزمون پردازنده در زمان کار، اشاره کرد. روش پیشنهاد شده بر روی دو پردازنده متداول امروزی اعمال شده است که نتایج حاصل از آن نشان‌دهنده این است که روش پیشنهادی از نظر میزان پوشش اشکال و مدت زمان آزمون، بر روش‌های پیشین برتری دارد. علاوه بر این، در روش پیشنهاد شده، امکان تشخیص واحد اشکال‌دار پردازنده نیز درنظر گرفته شده است. در نهایت نیز، با توجه به آنکه، استفاده از روش حل‌کننده صدق‌پذیری می‌تواند به جواب بهینه برای یک مساله منجر شود. با ایجاد بستر مناسب، از این روش برای آزمون پردازنده‌ها استفاده گردید. در آخر، با بررسی نتایج بدست آمده و مقایسه آن با نتایج روش پیشنهادی، کارایی بالای روش پیشنهادی مورد تایید قرار گرفت.
    Abstract
    Embedded processor cores are popular components used in design of many System-on-Chips (SoCs). Core based design has several advantages including design reuse and portability to different SoCs. This makes it possible to use embedded processors in a variety of applications in a cost effective manner. Unfortunately, these advantages do not come free, and design and test engineers face several problems including, signal integrity, serious power consumption concerns, and serious testability challenges. Testing of a system including embedded cores is a major challenge, since access to these embedded processor cores from the pins of the SoC is very difficult. The increasing gap between the operating frequencies of Automatic Test Equipment (ATE) and the operating frequencies of SoC leads to the escape of failures that can be detected only when testing is performed in the actual speed of the IC. This means that at-speed and online testing is increasingly important in the new technologies and needs to be addressed effectively. Embedded processors are often used in systems that are both safety-critical and long-living. Therefore testing of these devices is critical not only after production, but also in the field. Software based self-testing techniques which are based on the execution of self-test programs have been proposed as an effective alternative to classic external tester-based testing and pure hardware built-in self-test (BIST) methods. Scan based testing methods cannot be applied to embedded processor cores because modifying such cores to meet the design requirements for scan insertion is not straightforward. This research presents a high level, component-oriented software-based self-testing method which achieves a high stuck-at-fault coverage for embedded processor cores. The method requires no Design for Testability (DFT) technique or changing the processor architecture. The proposed method is high level in the sense that it is based on the knowledge of the Instruction Set Architecture (ISA) and Register Transfer Level (RTL) description of the processor. Test program for each component provided in a MACRO that enables the fault locating property in the processor. The method is well suited for meeting challenges of testing SoCs which contain several embedded processor cores. The proposed method has four phases. The first phase of our software-based self-test (SBST) method is to collect suitable information from the RTL and ISA descriptions of the target processor. The output of this phase is to distinguish the processor components from each other and also to determine the effect of instruction execution in the processor. In next two consecutive phases, test data and test instructions for each component are generated. Test instructions should be able to activate different operations of a component, and test data must be able to efficiently test the functionality of a component. In the last phase, the order of applying test instructions to sequential components is extracted. We have also studied a Satisfiability (SAT) based framework for automatically generating test programs that target gate-level stuck-at faults in processor components. For this purpose a SAT solver is used, the results of which are compared with the generated results by our proposed method. This comparison proves the efficiency of the proposed method.