PODSTAWY MIKROELEKTRONIKI (LABORATORIUM)

Podobne dokumenty
Ćwiczenie ZINTEGROWANE SYSTEMY CYFROWE. Pakiet edukacyjny DefSim Personal. Analiza prądowa IDDQ

OPROGRAMOWANIE DEFSIM2

Elementy cyfrowe i układy logiczne

Ćw. 8 Bramki logiczne

Politechnika Białostocka

Katedra Przyrządów Półprzewodnikowych i Optoelektronicznych Laboratorium Przyrządów Półprzewodnikowych. Ćwiczenie 4

Ćwiczenie 25 Temat: Interfejs między bramkami logicznymi i kombinacyjne układy logiczne. Układ z bramkami NOR. Cel ćwiczenia

Ćwiczenie 24 Temat: Układy bramek logicznych pomiar napięcia i prądu. Cel ćwiczenia

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu:

Inwerter logiczny. Ilustracja 1: Układ do symulacji inwertera (Inverter.sch)

BADANIE UKŁADÓW CYFROWYCH. CEL: Celem ćwiczenia jest poznanie właściwości statycznych układów cyfrowych serii TTL. PRZEBIEG ĆWICZENIA

Statyczne badanie wzmacniacza operacyjnego - ćwiczenie 7

Metodę poprawnie mierzonego prądu powinno się stosować do pomiaru dużych rezystancji, tzn. wielokrotnie większych od rezystancji amperomierza: (4)

Politechnika Białostocka

TESTOWANIE UKŁADÓW KOMBINACYJNYCH 1. WPROWADZENIE

Ćwiczenie 31 Temat: Analogowe układy multiplekserów i demultiplekserów. Układ jednostki arytmetyczno-logicznej (ALU).

Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej, Zakład Energoelektroniki i Sterowania Laboratorium energoelektroniki

WFiIS CEL ĆWICZENIA WSTĘP TEORETYCZNY

Uniwersytet Pedagogiczny

Projektowanie układów na schemacie

Ćwiczenie 23. Temat: Własności podstawowych bramek logicznych. Cel ćwiczenia

Ćwiczenie ZINTEGROWANE SYSTEMY CYFROWE. Katedra Mikroelektroniki i Technik Informatycznych. Wstęp do pakietu DefSim

Politechnika Białostocka

Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej, Zakład Energoelektroniki i Sterowania Laboratorium energoelektroniki

LABORATORIUM ELEKTRONIKI ĆWICZENIE 4 POLITECHNIKA ŁÓDZKA KATEDRA PRZYRZĄDÓW PÓŁPRZEWODNIKOWYCH I OPTOELEKTRONICZNYCH

Ćwiczenie 1. Sprawdzanie podstawowych praw w obwodach elektrycznych przy wymuszeniu stałym

Instrukcja do ćwiczenia laboratoryjnego nr 10

Logiczne układy bistabilne przerzutniki.

LABORATORIUM PROJEKTOWANIA UKŁADÓW VLSI

Laboratorium KOMPUTEROWE PROJEKTOWANIE UKŁADÓW

ELEMENTY ELEKTRONICZNE

LABORATORIUM TECHNIKA CYFROWA BRAMKI. Rev.1.0

Statyczne badanie przerzutników - ćwiczenie 3

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

Badanie działania bramki NAND wykonanej w technologii TTL oraz układów zbudowanych w oparciu o tę bramkę.

Laboratorium Metrologii

BADANIE TRANZYSTORA BIPOLARNEGO

ELEMENTY ELEKTRONICZNE TS1C

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.

Wzmacniacze napięciowe z tranzystorami komplementarnymi CMOS

TRANZYSTORY BIPOLARNE

Laboratorium Przyrządów Półprzewodnikowych test kompetencji zagadnienia

Ćwiczenie 2 LABORATORIUM ELEKTRONIKI POLITECHNIKA ŁÓDZKA KATEDRA PRZYRZĄDÓW PÓŁPRZEWODNIKOWYCH I OPTOELEKTRONICZNYCH

Budowa. Metoda wytwarzania

ćw. Symulacja układów cyfrowych Data wykonania: Data oddania: Program SPICE - Symulacja działania układów liczników 7490 i 7493

Ćwiczenie - 3. Parametry i charakterystyki tranzystorów

Komputerowa symulacja bramek w technice TTL i CMOS

Ćwiczenie 1. Symulacja układu napędowego z silnikiem DC i przekształtnikiem obniżającym.

Elektronika samochodowa (Kod: ES1C )

Zapoznanie się z podstawowymi strukturami liczników asynchronicznych szeregowych modulo N, zliczających w przód i w tył oraz zasadą ich działania.

Podzespoły i układy scalone mocy część II

Przetworniki cyfrowo-analogowe C-A CELE ĆWICZEŃ PODSTAWY TEORETYCZNE

Komputerowa symulacja bramek w technice TTL i CMOS

Ćwiczenie 10 Temat: Własności tranzystora. Podstawowe własności tranzystora Cel ćwiczenia

Tranzystory bipolarne. Małosygnałowe parametry tranzystorów.

PRZEŁĄCZANIE DIOD I TRANZYSTORÓW

SENSORY i SIECI SENSOROWE

Automatyzacja i robotyzacja procesów produkcyjnych

płytka montażowa z tranzystorami i rezystorami, pokazana na rysunku 1. płytka montażowa do badania przerzutnika astabilnego U CC T 2 masa

Symulacje inwertera CMOS

Politechnika Białostocka

Uniwersytet Pedagogiczny

Laboratorium Podstaw Pomiarów

LABORATORIUM ELEKTRONIKI WZMACNIACZ MOCY

Badanie charakterystyk elementów półprzewodnikowych

Zwiększanie wiarygodności systemów wykorzystujących układy programowalne

STABILIZATORY NAPIĘCIA I PRĄDU STAŁEGO O DZIAŁANIU CIĄGŁYM Instrukcja do ćwiczeń laboratoryjnych

Przykładowe zadanie egzaminacyjne dla kwalifikacji E.20 w zawodzie technik elektronik

Laboratorium Podstaw Elektrotechniki i Elektroniki

Ćwiczenie 26. Temat: Układ z bramkami NAND i bramki AOI..

LABORATORIUM INŻYNIERII MATERIAŁOWEJ

Rys. 2. Symbole dodatkowych bramek logicznych i ich tablice stanów.

Podstawy Elektroniki dla Tele-Informatyki. Tranzystory unipolarne MOS

Liniowe stabilizatory napięcia

Instrukcja do ćwiczenia laboratoryjnego nr 9

CHARAKTERYSTYKI BRAMEK CYFROWYCH TTL

PRZERZUTNIKI: 1. Należą do grupy bloków sekwencyjnych, 2. podstawowe układy pamiętające

Statyczne i dynamiczne badanie przerzutników - ćwiczenie 2

PL B1 (12) OPIS PATENTOWY (19) PL (11) (13) B1. (51) Int.Cl.5: G01R 27/02. (21) Numer zgłoszenia:

Instrukcja do ćwiczenia laboratoryjnego nr 5

Komputerowa symulacja generatorów cyfrowych

TRANZYSTOR UNIPOLARNY MOS

Wzmacniacze operacyjne

Rys Schemat montażowy (moduł KL blok e) Tablica C B A F

Politechnika Białostocka

Pomiar podstawowych parametrów liniowych układów scalonych

WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU POMIARY W ELEKTRYCE I ELEKTRONICE

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2018 CZĘŚĆ PRAKTYCZNA

DYNAMICZNE ZMIANY NAPIĘCIA ZASILANIA

11.Zasady projektowania komórek standardowych

Ćwiczenie A7 : Tranzystor unipolarny JFET i jego zastosowania

DIODY PÓŁPRZEWODNIKOWE

1.2 Funktory z otwartym kolektorem (O.C)

Politechnika Białostocka. Wydział Elektryczny. Katedra Automatyki i Elektroniki. Kod przedmiotu: TS1C

Wykład nr 1 Techniki Mikroprocesorowe. dr inż. Artur Cichowski

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

ELEMENTY ELEKTRONICZNE

Badanie baterii słonecznych w zależności od natężenia światła

7. Tyrystory. Tyrystor SCR (Silicon Controlled Rectifier)

LABORATORIUM z przedmiotu ALGORYTMY I PROJEKTOWANIE UKŁADÓW VLSI

Transkrypt:

Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Instrukcja do przedmiotu PODSTAWY MIKROELEKTRONIKI (LABORATORIUM) Testowanie cyfrowych układów scalonych dr hab. inż. Witold Pleskacz, mgr inż. Krzysztof Siwiec Instytut Mikroelektroniki i Optoelektroniki Warszawa, kwiecień 2011 r.

Spis treści 1. Testowanie układów scalonych...3 2. Defekty, uszkodzenia i ich modele w układach scalonych... 5 2.1. Definicje pojęć... 5 2.2. Model pojedynczych uszkodzeń sklejeniowych (ang. Single Stuck-at Line SSL)...6 2.3. Modelowanie zwarć...7 3. Wyznaczanie wektorów testowych...8 4. Układ DefSim...15 5. Przebieg ćwiczenia...19 6. Bibliografia...26 Data aktualizacji: 07.04.2011 r. Copyright 2011 by Witold Pleskacz - 2 -

1. Testowanie układów scalonych Testowanie dużych układów cyfrowych jest poważnym i złożonym problemem technicznym. Celem testowania jest stwierdzenie, czy układ działa poprawnie, czy jest uszkodzony. Nie jest to tożsame z diagnostyką układu, polegającej na ustaleniu przyczyny uszkodzenia i ewentualnej lokalizacji defektu. Zbadanie, czy układ zawierający dziesiątki milionów tranzystorów wykonuje poprawnie swe zwykle bardzo złożone funkcje dla wszystkich możliwych stanów i sekwencji sygnałów na wejściach jest nie do wykonania w rozsądnie krótkim czasie. Badanie sprawności układu wymaga więc użycia specjalnych metod. Już na etapie projektu architektury i projektu logicznego układu projektant powinien przewidzieć, w jaki sposób układ będzie testowany. Wiele sposobów testowania wymaga bowiem wprowadzenia do układu dodatkowych bloków funkcjonalnych. Jedną z metod testowania jest testowanie, które możemy nazwać napięciowym. Polega ono na podawaniu na wejście układu kolejnych wektorów testowych i sprawdzaniu, czy na wyjściu pojawiają się stany logiczne zgodne z oczekiwanymi. Dla dużych układów podanie wszystkich możliwych wektorów testowych byłoby bardzo czasochłonne, dlatego powstało wiele algorytmów automatycznej generacji wektorów testowych (ang. automatic test pattern generation ATPG) wykrywających jak największą liczbę defektów. Aby skonstruować taki algorytm, konieczne jest przyjęcie pewnego modelu dotyczącego tego, jak defekty wpływają na funkcję logiczną realizowaną przez układ. Model taki nazywamy modelem uszkodzeń. Drugą powszechnie stosowaną metodą testowania jest testowanie prądowe (ang. IDDQ testing). Polega ono na pomiarze statycznego poboru prądu testowanego układu. Wykorzystuje się tu fakt, że bramki CMOS nie pobierają prądu w stanie ustalonym. Zakłada się tu, że prąd podprogowy tranzystorów oraz prądy wsteczne złącz źródeł i drenów są pomijalnie małe. Okazuje się jednak, że zdecydowana większość uszkodzeń występujących w bramkach CMOS powoduje wystąpienie znacznego prądu statycznego dla pewnych kombinacji stanów wejściowych. W związku z tym badanie poboru prądu jest skuteczną metodą wykrywania uszkodzeń. Podstawowa idea testowania prądowego została przedstawiona na rys. 1. Defekt w tlenku bramkowym występujący w tranzystorze p-kanałowym jednego z inwerterów (patrz rys. 1a) powoduje spadek rezystancji wejściowej tego tranzystora do pewnej wartości. Powoduje to, dla niskiej wartości napięcia V we, pojawienie się w stanie ustalonym przepływu prądu płynącego od źródła zasilania do masy. Na rys. 1b zaprezentowano przebiegi napięcia wejściowego i wyjściowego oraz wartości prądu zasilającego. 3

Rys. 1. Ilustracja podstawowej idei testowania prądowego [1] Pomiar statycznego poboru prądu może zostać dokonany na dwa sposoby: za pomocą zewnętrznej aparatury pomiarowej lub za pomocą wbudowanych monitorów prądowych. Pierwsze rozwiązanie ma tę zaletę, że nie wymaga żadnych dodatkowych przyrządów półprzewodnikowych w układzie scalonym. Niestety związane są z nim pewne problemy techniczne oraz nie zawsze można je zastosować, np. gdy badany układ zawiera zintegrowany stabilizator napięcia. Zastosowanie wbudowanych monitorów prądowych zwiększa powierzchnię projektowanego układu, natomiast znacznie upraszcza procedurę pomiarową oraz umożliwia oddzielne testowanie poszczególnych bloków badanego układu. Procedura pomiarowa w obu przypadkach jest taka sama. Po podaniu każdego wektora testowego należy odczekać, aż ustalą się stany na wyjściu, i wykonać pomiar prądu pobieranego ze źródła zasilania. Jeśli prąd ten jest o kilka rzędów wielkości większy od prądu w układzie działającym prawidłowo, to można mieć pewność, że w układzie występuje co najmniej jedno uszkodzenie. Dla dużych układów scalonych wykonanych w głęboko submikrometrowych technologiach CMOS założenie, że prąd podprogowy tranzystorów oraz prądy wsteczne złącz źródeł i drenów są pomijalnie małe, jest błędne. Dlatego bezpośrednie zastosowanie metody IDDQ w takim przypadku jest niemożliwe. Nie oznacza to jednak, że ta metoda testowania cyfrowych układów scalonych jest w tym przypadku bezużyteczna. Musi ona zostać lekko zmodyfikowana. Dla testowania układów w technologiach głęboko submikrometrowych 4

opracowano kilka metod bazujących na metodzie IDDQ, np. delta IDDQ, sygnatury prądowe (ang. current signatures). 2. Defekty, uszkodzenia i ich modele w układach scalonych 2.1. Definicje pojęć Defektem (ang. defect) w systemie elektronicznym nazywamy niezamierzoną fizyczną różnicę pomiędzy wyprodukowanym sprzętem, a jego projektem [1]. Defekty mogą powstawać zarówno na etapie produkcyjnym jak i podczas użytkowania sprzętu. Defekty typowe dla układów scalonych o wysokiej skali integracji VLSI to: defekty powstałe podczas procesu produkcyjnego, np. brak kontaktu, pasożytnicze tranzystory, zwarcia w tlenku bramkowym, zwarcia i rozwarcia między ścieżkami; defekty materiałowe oraz związane z procesem starzenia, np. defekty sieci krystalicznej podłoża, nieidealności na powierzchni płytki krzemowej, przebicia dielektryka, elektromigracja; defekty powstałe na skutek oddziaływania środowiska np. defekty związane z temperaturą, wysoką wilgotnością, wibracjami, promieniowaniem. Uszkodzeniem (ang. fault) nazywamy reprezentację defektu na abstrakcyjnym poziomie funkcjonalnym (elektrycznym, logicznym) [1]. Na potrzeby testowania układów scalonych powstało wiele modeli uszkodzeń (ang. fault models). Przyjęcie konkretnego modelu uszkodzeń ma kluczowe znaczenie z punktu widzenia generacji wektorów testowych oraz metody testowania układu. W zależności od przyjętego modelu testowanie układu może polegać na: obserwowaniu poziomów logicznych w danych węzłach układu (Boolean testing), pomiarze statycznego poboru prądu układu (IDDQ testing), badaniu zmian opóźnień w układzie (delay testing), badaniu zmian parametrów specyficznych dla danego typu układów. Najważniejszymi cechami modeli uszkodzeń są: prostota modelu oraz liczba zamodelowanych rodzajów defektów. Aby skrócić czas generacji wektorów testowych, model uszkodzeń powinien być możliwie jak najprostszy. Powinien również modelować jak największą liczbę rodzajów defektów. Współcześnie wykorzystywane modele uszkodzeń to: Model pojedynczych uszkodzeń sklejeniowych (ang. Single Stuck-at Line SSL) model zakłada, że uszkodzenie polega na zwarciu któregoś z węzłów w układzie do 5

masy lub zasilania. Ze względu na swoją prostotę jest to najbardziej rozpowszechniony model służący do testowania cyfrowych układów scalonych. Zwarcia (ang. bridging faults) służy do modelowania zwarć pomiędzy dowolnymi węzłami w układzie. Rozwarcia (ang. opens) służy do modelowania fizycznych przerw w ścieżkach przewodzących. Opóźnienia (ang. delay faults) służy do modelowania defektów nie powodujących zmian wartości logicznych w stanie ustalonym, a zmian opóźnień w układzie. Każdy model wymaga innych metod generacji wektorów testowych, a niekiedy również innych metod testowania. Wektorem testowym uszkodzenia d nazywamy wektor stanów wejściowych, dla którego odpowiedzi układu działającego poprawnie i układu z uszkodzeniem d są różne. Pokryciem uszkodzeń dla zestawu wektorów testowych T nazywamy stosunek liczby uszkodzeń wykrywanych przez T, do liczby wszystkich uszkodzeń mogących wystąpić w testowanym układzie (zgodnie z założonym modelem uszkodzeń). 2.2. Model pojedynczych uszkodzeń sklejeniowych (ang. Single Stuck-at Line SSL) W modelu SSL uszkodzenie modelowane jest jako przypisanie stałej wartości logicznej, 0 lub 1, do któregoś z węzłów badanego układu. Węzłem może być wejście lub wyjście bramki logicznej lub przerzutnika. Model ten jest najczęściej wykorzystywanym modelem w algorytmach do automatycznej generacji wektorów testowych. W algorytmach tych wykorzystuje się trzy założenia właściwości charakterystyczne dla modelu SSL: w badanym układzie występuje tylko jedno uszkodzenie, uszkodzona linia ma stale przypisaną jedną wartość logiczną: 0 lub 1, uszkodzenie może występować na wejściach lub wyjściach bramek logicznych. Model SSL jest obecnie standardem przemysłowym. Jego głównymi zaletami są: prostota, dobrze rozwinięte algorytmy ATPG, stosunkowo prosta procedura pomiarowa. Główną wadą modelu jest fakt, że nie opisuje on wszystkich rodzajów defektów powszechnie występujących w technologiach CMOS. 6

2.3. Modelowanie zwarć Zwarcia między dwoma węzłami układu są defektami, które często występują w układach scalonych. Zwarcia takie mogą powstawać na skutek: pojawienia się nadmiarowego materiału przewodzącego w wyniku np. błędu w procesie fotolitografii, zanieczyszczenia cząstką przewodzącą; braku warstwy izolacyjnej w wyniku np. błędu w procesie fotolitografii, defektu w tlenku bramkowym. a) b) c) Rys. 2. Modelowanie zwarć: a) układ poprawny; b) model wire-and; c) model wire-or W zależności od rezystancji zwarcia, może ono mieć różny wpływ na działanie układu. Niskie rezystancje (rzędu 100 Ω do 2 kω) powodują błędy logiczne, czyli pojawienie się niepoprawnej wartości logicznej w którymś z węzłów układu. Wysokie rezystancje (5 kω do 10 kω i więcej) nie wpływają na poziomy logiczne w układzie, mają natomiast wpływ na wartości opóźnień. 7

Powszechnie stosuje się dwa podejścia do problemu modelowania zwarć. Pierwsze z nich zakłada, że wartość logiczna w zwartym węźle jest wynikiem przeprowadzenia operacji logicznej AND (model wire-and) lub OR (model wire-or) na wartościach występujących na zwartych węzłach w układzie bez defektu. Modele wire-and oraz wire-or zostały zilustrowane na rys. 2. Drugie podejście zakłada, że wartość logiczna w zwartych węzłach będzie zawsze równa wartości w jednym ze zwartych węzłów zwanym agresorem (ang. aggressor). Drugi węzeł jest w takim przypadku nazywany ofiarą (ang. victim), a model nazywany jest modelem victim-aggressor. 3. Wyznaczanie wektorów testowych Czas testowania jednego układu cyfrowego jest parametrem bardzo istotnym, gdyż ma znaczący wpływ na koszty testowania, a co za tym idzie koszty produkcji takiego układu. Wynika to z faktu, że każda minuta pracy stanowiska do testowania testera jest kosztowna. Ponieważ czas testowania układu jest proporcjonalny do liczby wektorów testowych jakie trzeba użyć, ich liczba powinna być jak najmniejsza. Z drugiej strony należy uzyskać jak najlepsze pokrycie uszkodzeń. Zadaniem algorytmów do automatycznej generacji wektorów testowych jest znalezienie jak najmniejszej liczby wektorów zapewniających zadane pokrycie uszkodzeń. Należy pamiętać, że stuprocentowe pokrycie uszkodzeń, nie oznacza wykrycia wszystkich możliwych defektów. Wszystko zależy od przyjętego modelu uszkodzeń. Gałęzie rozgałęzienia Rozgałęzienie zbieżne Trzon rozgałęzienia Rys. 3. Ilustracja pojęć: trzon i gałąź rozgałęzienia oraz rozgałęzienia zbieżnego 8

Jak już wcześniej wspomniano mimo wielu wad, modelem powszechnie wykorzystywanym w przemyśle jest model SSL. W dalszej części omówiony zostanie prosty algorytm generacji wektorów testowych oparty o ten model. Więcej informacji na ten temat można znaleźć w [1] i [2]. Przed przystąpieniem do omówienia algorytmu należy zdefiniować następujące pojęcia: trzon i gałąź rozgałęzienia oraz rozgałęzienie zbieżne. Zostały one zilustrowane na rys. 3. W modelu SSL trzon i gałęzie rozgałęzienia traktuje się jako trzy niezależne linie, co oznacza, że uszkodzenia na każdej z gałęzi oraz trzonie rozgałęzienia należy rozpatrywać niezależnie. Pierwszym etapem algorytmu jest redukcja zbioru uszkodzeń. Wykorzystuje się w niej następujące definicje i twierdzenie [2]: RÓWNOWAŻNOŚĆ USZKODZEŃ (ang. fault equivalence) Def: Uszkodzenia α i β są równoważne, jeżeli każdy test uszkodzenia α jest jednocześnie testem uszkodzenia β i odwrotnie, symbol: α β. Wystarczy rozpatrywać jedno z grupy uszkodzeń równoważnych. DOMINACJA USZKODZEŃ (ang. fault dominance) Def: Uszkodzenie α dominuje nad uszkodzeniem β (uszkodzenie β jest zdominowane przez uszkodzenie α), jeżeli każdy test uszkodzenia β jest jednocześnie testem uszkodzenia α, symbol: α > β. Uszkodzenia dominujące można pominąć. PUNKT TESTOWANIA (ang. checkpoint): o gałąź rozgałęzienia (ang. fanout branch), o wejście układu nie będące trzonem rozgałęzienia. TWIERDZENIE: Dla nieredundancyjnego układu kombinacyjnego zbiór testów wykrywających wszystkie uszkodzenia SSL w punktach testowania wykrywa wszystkie uszkodzenia SSL w układzie. Rys. 4. Schemat logiczny dwu-wejściowej bramki NAND Przed przystąpieniem do omówienia przykładu zastosowania algorytmu do redukcji zbioru testów przeanalizujmy zależności równoważności i dominacji uszkodzeń dla prostej 9

dwu-wejściowej bramki NAND (patrz rys.4). W dalszej części instrukcji stosowane będą następujące oznaczenia uszkodzeń: x/0 oraz x/1. Co należy czytać jako uszkodzenie na linii x skutkujące zwarciem jej na stałe odpowiednio do wartości 0 lub 1. W analizowanym przypadku wyróżnić można trzy linie: a, b, c. Co zgodnie z modelem SSL oznacza sześć możliwych uszkodzeń w układzie (po dwa na każdą linię). Aby zbadać zależności równoważności i dominacji, należy wyznaczyć wektory testowe dla każdego uszkodzenia w układzie: a/0 Zgodnie z definicją wektora testowego należy znaleźć taki wektor, dla którego odpowiedzi układu nieuszkodzonego i uszkodzonego są różne. W tym przypadku można zauważyć, że w układzie uszkodzonym wartość logiczna na wyjściu c, niezależnie od wektora wejściowego, będzie równa 1. W takim razie każdy wektor, który w układzie działającym poprawnie spowoduje pojawienie się wartości 0 na wyjściu c będzie wektorem testowym. Dla bramki NAND istnieje tylko jeden taki wektor i jest to: ba = { 11 }. a/1 W tym przypadku sytuacja jest nieco bardziej skomplikowana, gdyż wartość logiczna na wyjściu układu uszkodzonego zależy od wartości wektora wejściowego. Wektor testowy można wyznaczyć w dwóch krokach. Po pierwsze łatwo stwierdzić, że wartość logiczna na wejściu a musi być równa 0. Wynika to z faktu, że odpowiedź układu nieuszkodzonego i uszkodzonego będą różne tylko wtedy, gdy na linii na której występuje uszkodzenie, wymuszona zostanie wartość przeciwna do tej spowodowanej uszkodzeniem. W kolejnym kroku należy określić wartość logiczną na wejściu b. Musi być to 1, gdyż w przypadku gdyby była to wartość logiczna 0 wyjście bramki nie zależałoby od wartości logicznej na wejściu a. Poprzez ustawienie wartości 1 na wejściu b zapewniona zostaje tzw. propagacja uszkodzenia. W efekcie uzyskuje się wektor testowy: ba = { 10 }. b/0, b/1 Ponieważ bramka NAND jest symetryczna z punku widzenia wejść, wektory testowe dla uszkodzeń na wejściu b można wyznaczyć w analogiczny sposób jak dla wejścia a. W efekcie uzyskuje się następujące wektory testowe: o dla uszkodzenia b/0 ba = { 11 }, o dla uszkodzenia b/1 ba = { 01 }. c/0, c/1 W tych przypadkach sposób postępowania jest podobny jak dla uszkodzenia a/0. Należy wyznaczyć wektory, dla których w układzie nieuszkodzonym na wyjściu c pojawia się wartość 1 dla uszkodzenia c/0 10

i wartość 0 dla uszkodzenia c/1. W efekcie uzyskuje się następujące wektory testowe: o dla uszkodzenia c/0 ba = { 00, 01, 10}, o dla uszkodzenia c/1 ba = { 11 }. W tabeli 1 zestawiono uszkodzenia z ich wektorami testowymi. Korzystając z definicji równoważności łatwo zauważyć, że uszkodzenia a/0, b/0, c/1 są równoważne a/0 b/0 c/1. Wykorzystując definicję dominacji można stwierdzić, że uszkodzenie c/0 dominuje nad uszkodzeniami a/1 i b/1 c/0 > a/1, c/0 > b/1. Tabela 1. Uszkodzenia wraz z odpowiadającymi im wektorami testowymi Uszkodzenia Wektory testowe [ba] a/0 11 a/1 10 b/0 11 b/1 01 c/0 00 01 10 c/1 11 Rys. 5. Schemat logiczny do analizy zależności równoważności i dominacji uszkodzeń dla rozgałęzienia Analizy wymagają również zależności równoważności i dominacji w przypadku rozgałęzień (patrz rys. 5). Intuicyjne wydawać się mogą następujące zależności: a/0 b/0 c/0 oraz a/1 b/1 c/1. Nie jest to jednak prawda. Pamiętać należy, że w modelu SSL linie a, b, c należy traktować oddzielnie i wystąpienie uszkodzenia na jednej z nich nie oznacza wystąpienia tego samego uszkodzenia na pozostałych. Rozpatrzmy przypadek 11

zależności a/0 b/0 c/0 dokładniej. Posługując się podobnym rozumowaniem jak w przypadku pojedynczej bramki NAND można wyznaczyć wektory testowe dla uszkodzeń a/0, b/0, c/0. Zostały one zestawione w tabeli 2. W przypadku a/0 istnieją dwie drogi propagacji uszkodzenia, co skutkuje większą liczbą wektorów testowych. Łatwo zauważyć, że uszkodzenia te nie są równoważne. Można jednak stwierdzić, że uszkodzenie a/0 dominuje nad uszkodzeniami b/0 oraz c/0. Do podobnych wniosków można dojść przeprowadzając taką samą analizę dla uszkodzeń a/1 b/1 c/1. Tabela 2. Uszkodzenia wraz z odpowiadającymi im wektorami testowymi Uszkodzenia Wektory testowe [eda] a/0 1-1 -11 b/0-11 c/0 1-1 Redukcja zboru uszkodzeń zostanie przedstawiona na przykładzie układu C17. Pierwszym krokiem jest nadanie nazwy wszystkim węzłom w układzie i zidentyfikowanie punktów testowania, co zostało przedstawione na rys. 6. Punkty testowania zostały oznaczone jako linie przerywane. Jest ich 10, co daje 20 uszkodzeń do zbadania. Rys. 6. Schemat logiczny układu C17, na którym liniami przerywanymi oznaczono punkty testowania W następnym etapie wykorzystane zostaną zasady równoważności uszkodzeń oraz dominacji uszkodzeń. Ponieważ w układzie występują bramki NAND i rozgałęzienia wykorzystane zostały zasady omówione we wcześniejszej części rozdziału. W pierwszej kolejności należy zidentyfikować zależności występujące bezpośrednio między punktami 12

testowania. Znaleziono cztery równoważności uszkodzeń. We wszystkich przypadkach są to sklejenia do 0 wejść tej samej bramki NAND (patrz poniżej). Zgodnie z definicją równoważności uszkodzeń, wystarczy rozpatrywać tylko jedno z nich. Następnie należy zidentyfikować inne zależności między punktami testowania. Zostały one zestawione w sposób następujący: Wymagają one pewnego komentarza. W przypadkach 1 i 2 rozumowanie jest podobne, dlatego przyjrzyjmy się bliżej zależności 1. W pierwszym etapie zauważamy, że uszkodzenia o/0 i h/0 są równoważne, gdyż są to wejścia tej samej bramki NAND (I4). Następnie można zauważyć, że uszkodzenie h/0 dominuje nad uszkodzeniem a/1, zgodnie z wcześniej omówionymi relacjami między uszkodzeniami na wejściach i wyjściu bramki NAND (w tym przypadku jest to bramka I0). Ponieważ równoważność uszkodzeń oznacza równość zbiorów wektorów testowych dla danych uszkodzeń, to z zależności o/0 h/0 i h/0 > a/1 wynika, że uszkodzenia o/0 dominuje nad uszkodzeniem a/1. W związku z tym uszkodzenia o/0 nie trzeba rozpatrywać. W kolejnych dwóch przypadkach 3 i 4, rozumowanie jest nieco inne. Przyjrzyjmy się bliżej zależności 4. W pierwszym kroku korzystając z wniosków dotyczących zależności między uszkodzeniami na liniach będących częścią tego samego rozgałęzienia zauważamy, że uszkodzenie m/1 dominuje nad uszkodzeniem o/1. Następnie korzystając z relacji między uszkodzeniami na wejściach i wyjściu bramki NAND stwierdzamy, że uszkodzenia b/0 i m/1 są równoważne. Rozumując podobnie jak w przypadkach 1 i 2 można stwierdzić, że zachodzi zależność b/0 > o/1. W związku z tym uszkodzenia b/0 nie trzeba rozpatrywać. bramka I0: f/0 a/0 bramka I1: g/0 d/0 bramka I2: j/0 b/0 bramka I3: k/0 e/0 do redukcji 1. o/0 h/0 > a/1 => o/0 > a/1 2. p/0 n/0 > k/1 => p/0 > k/1 3. d/0 i/1 > j/1 => d/0 > j/1 4. b/0 m/1 > o/1 => b/0 > o/1 do redukcji W efekcie udało się zmniejszyć liczbę uszkodzeń do 12. Następnym krokiem jest wyznaczenie wektorów testowych. W tym celu wykorzystana zostanie metoda pobudzania pojedynczej ścieżki (ang. single-path sensitization) [2]: 13

pobudzenie uszkodzenia (ang. fault sensitization, fault excitation) o przyjmij w miejscu uszkodzenia wartość logiczną przeciwną do wartości spowodowanej uszkodzeniem (dla uszkodzenia x/0 linia x sklejona do 0 należy w układzie sprawnym przyjąć x = 1), o wyznacz wektor wejściowy, który powoduje wystąpienie tej wartości (ang. line justification); propagacja uszkodzenia (ang. fault propagation) o wybierz ścieżkę od miejsca uszkodzenia do jednego z wyjść układu, o określ wartości na pozostałych (bocznych) wejściach bramek położonych na ścieżce, o wyznacz wektor wejściowy, który powoduje wystąpienie tych wartości. W tabeli 3 zestawiono uszkodzenia oraz odpowiadające im wektory testowe ( - oznacza wartość don t care, czyli wartość dowolną: 0 lub 1 ). Tabela 3. Uszkodzenia wraz z odpowiadającymi im wektorami testowymi Uszkodzenia Wektory testowe [edcba] a/1 --100-1110 a/0 --101-1111 b/1 --00- -0100 0010- e/0 1-00- 10-0- e/1 0-00- 00-0- o/1 --010-0-10 j/1-111- 0011- -0110 k/1-11-- d/1 1010-0011- -0110 f/1 --0-1 g/1-101- 1100- p/1 0-01- 00-1- Ostatnim krokiem jest wybranie zbioru wektorów testowych wykrywających wszystkie zadane uszkodzenia. Można zauważyć (patrz tabela 3), że istnieją wektory testowe wykrywające więcej niż jedno uszkodzenie. Wynika z tego, że liczba wektorów testowych 14

może być mniejsza niż liczba uszkodzeń. Ponieważ nie ma metody wyznaczania minimalnego zestawu wektorów testowych pokrywających wszystkie uszkodzenia, która nadaje się do ręcznych obliczeń, wektory wyznaczono metodą prób i błędów (istnieją algorytmy komputerowe rozwiązujące ten problem i są stosowane dla układów o większej złożoności). W efekcie uzyskano pięć wektorów testowych: edcba = { 00001, 00010, 10101, 01010, 01110 }. Na rys. 7 przedstawiono wynik pomiaru układu C17 za pomocą oprogramowania DefSim2. Rys. 7. Wynik pomiaru uszkodzeń SSL układu C17 dla wyznaczonych wektorów testowych 4. Układ DefSim Układ edukacyjny DefSim został zaprojektowany i wykonany w ramach projektu REASON (http://reason.imio.pw.edu.pl). Jest on przeznaczony do zajęć praktycznych, podczas których studenci zdobędą praktyczne umiejętności związane z testowaniem cyfrowych układów scalonych. Układ scalony DefSim2 został zaprojektowany i wykonany w technologii AMS CMOS 0.8 µm (patrz rys. 8). Zajmuje 19.9 mm 2 powierzchni krzemu i składa się z około 48000 tranzystorów. 15

Rys. 8. Mikrofotografia układu DefSim2 Układ DefSim2 zawiera 14 bramek logicznych z przemysłowej biblioteki komórek standardowych HRDLIB dostępnych do pomiarów za pomocą opisanego dalej, specjalizowanego programu pomiarowego. Wśród bramek tych znajdują się: bramki złożone: AN1 = NOR(AND(A,B),AND(C,D)) AN3 = NOR(AND(A,B),C,D) EN1 = XNOR(A,B) = NAND(OR(A,B),NAND(A,B)) EO1 = XOR(A,B) = NOR(AND(A,B),NOR(A,B)) NO42 = NOT(NAND(NOR(A,B),NOR(C,D))) ON1 = NAND(OR(A,B), OR(C,D)) ON3 = NAND(OR(A,B),C,D) bramki podstawowe: IN1 = NOT(A) NA2 = NAND(A,B) NA3 = NAND(A,B,C) NA4 = NAND(A,B,C,D) NO2 = NOR(A,B) 16

NO3 = NOR(A,B,C) NO4 = NOR(A,B,C,D) układ CB1 o złożonej strukturze elektrycznej/logicznej (ang. custom testability benchmark) Na bazie układu DefSim2 opracowana została przystawka pomiarowa (patrz rys. 9) zawierająca procesor TUSB3210 sterujący komunikacją z komputerem i kontrolujący pracę układu DefSim2 sterowany za pomocą interfejsu USB i oprogramowania opisanego w Oprogramowanie DefSim2 instrukcja użytkownika. Rys. 9. Przystawka pomiarowa Na potrzeby zajęć laboratoryjnych przygotowane zostało stanowisko pomiarowe umożliwiające prowadzenie bezpiecznych pomiarów działania układu DefSim2, bez ryzyka uszkodzenia tego układu. Stanowisko pomiarowe składa się z przystawki pomiarowej układu DefSim2 podłączonej do komputera PC za pomocą złącza USB i odpowiedniego, specjalizowanego oprogramowania w wersji jednostanowiskowej. Oprogramowanie sterujące pomiarami zostało zrealizowane jako aplikacja sieciowa. Pozwala ono przeprowadzać zdalne pomiary wykorzystując przystawkę pomiarową podłączoną do komputera pełniącego funkcję 17

serwera. Należy pamiętać, że wszystkie wyniki uzyskane za pomocą oprogramowania DefSim2 są wynikami pomiarów fizycznej struktury, a nie symulacjami komputerowymi. Układ DefSim2 Przystawka pomiarowa Program pomiarowy 18

5. Przebieg ćwiczenia Przed przystąpieniem do wykonywania ćwiczeń należy uruchomić i skonfigurować program DefSim2 zgodnie z opisem przedstawionym w Oprogramowanie DefSim2 Instrukcja użytkownika (punkt 4.1). Podczas ćwiczenia wyniki należy zapisywać do formularza. Następnie trzeba skopiować do swojego katalogu domowego zawartość folderu PMK_PATH/lab67. Wszystkie wyniki symulacji należy zapisywać do pliku sprawozdanie.rtfd. Ćwiczenie 1. Badanie efektywności modelu SSL dla czterowejściowej bramki CMOS 1. Dla wylosowanej bramki wyznaczyć wektory testowe wykrywające błędy typu SAF (ang. Stuck-At Fault). W tym calu należy: Określić liczbę punktów testowania i zapisać ją w formularzu. Przeprowadzić proces minimalizacji uszkodzeń wykorzystując zasady równoważności i dominacji. Uzyskany zbiór uszkodzeń zanotować w formularzu (np. A/0 oznacza wejście A - stałe zero). Dla uzyskanego zbioru uszkodzeń wyznaczyć wektory testowe pamiętając o konieczności zapewnienia obserwowalności i sterowalności węzła. Uzyskany zbiór wektorów zapisać w formularzu. 2. Dla uzyskanych wektorów testowych przeprowadzić pomiar za pomocą oprogramowania DefSim2 zgodnie z procedurą opisaną w Oprogramowanie DefSim2 Instrukcja użytkownika (punkt 4.2). Wybrać tylko błędy typu SAF. Czy wszystkie uszkodzenia zostały wykryte? Jeżeli nie, zapisać w formularzu nazwy niewykrytych uszkodzeń i zastanowić się, dlaczego tak się stało. 3. Dla wyznaczonych wektorów testowych przeprowadzić analizę wszystkich uszkodzeń i zanotować w formularzu, jakie jest pokrycie. 4. Zmienić metodę testowania na IDDQ i ponownie przeprowadzić pomiar dla wszystkich uszkodzeń. Zanotować pokrycie uszkodzeń w formularzu. 5. Dla wybranego uszkodzenia, które nie zostało wykryte przy testowaniu napięciowym, a zostało wykryte metodą IDDQ, przeprowadzić symulację elektryczną programem Spice i wykreślić pobór prądu ze źródła zasilającego. W tym celu należy w pliku cw1.cir dokonać niezbędnych modyfikacji zgodnie z komentarzami zawartymi w pliku 19

symulacyjnym. Poniżej przedstawiono fragmenty przykładowego pliku cw1.cir skonfigurowanego do symulacji bramki NO42 z uszkodzeniem A/n3. *Skrypt symulacyjny do cwiczenia 1 *Zmienic nazwe NO42 na nazwe badanej bramki.include include/no42.cir *Zdefiniowanie zrodel napieciowych *Zasilanie bramki bez uszkodzenia VDD1 UDD1 0 DC 5 *Zasilanie bramki z uszkodzeniem VDD2 UDD2 0 DC 5 VA A 0 PULSE 0 5.0 0N 1N 1N 159N 320N VB B 0 PULSE 0 5.0 0N 1N 1N 79N 160N VC C 0 PULSE 0 5.0 0N 1N 1N 39N 80N VD D 0 PULSE 0 5.0 0N 1N 1N 19N 40N *Definicja bramek *Gdy wylosowana bramka to NO42, odkomentowac ponizsze linijki X1 A B C D Q 0 UDD1 NO42 X2 A B C D QDef N1 N2 N3 0 UDD2 NO42Def *W przeciwnym wypadku odkomentowac ponizsze linijki i zmienic nazwy *bramek *X1 A B C D Q 0 UDD1 AN1 *X1 A B C D QDef N1 0 UDD2 AN1 *Definicja uszkodzenia *Wezly N1, N2, N3 nie poloczone z niczym (floating nets) polaczyc za *pomoca rezystorow 1M Ohm do masy R1 N1 0 1M R2 N2 0 1M *R3 N3 0 1M *W celu realizacji zwarcia poloczyc ze soba zwarte wezly za pomoca *malej rezystancji np. 0.1 Ohm *R4 N3 A 0.1 *Uruchomienie symulacji czasowej.tran 1N 320N *Instrukcje sterujace.control RUN *Odkomentować odpowiednią linię aby uzyskać odpowiednio: *Pobór prądu PLOT I(VDD1) I(VDD2)+0.001 *Napięcia sterujące PLOT V(A)+18 V(B)+12 V(C)+6 V(D).ENDC.END 20

Zapisać wyniki symulacji do pliku i zanotować, dla jakich wektorów testowych wybrane uszkodzenie zostałoby wykryte podczas testowania metodą IDDQ. Jaki warunek musi być spełniony, aby wykryć uszkodzenie metodą IDDQ? 6. Nie zmieniając metody testowania ponownie przeprowadzić pomiar uszkodzeń SAF i na podstawie wyników (metodą prób i błędów) spróbować opracować nowy zbiór wektorów testowych wykrywających wszystkie uszkodzenia SAF, przy zastosowaniu metody IDDQ. Uzyskany zbiór zanotować w sprawozdaniu. 7. Na podstawie uzyskanych wyników stwierdzić, która metoda testowania jest bardziej efektywna dla prostych bramek AOI: testowanie napięciowe, czy testowanie IDDQ. Zastanowić się, dlaczego metoda IDDQ nie jest tak powszechnie stosowana jak testowanie napięciowe. Swoje obserwacje i wnioski przedstawić w formularzu. Ćwiczenie 2. Badanie efektywności modelu SSL dla układu cyfrowego CB1 1. Wykonać pomiar wszystkich uszkodzeń w układzie CB1. Wektory testowe wczytać z pliku TestVectors/SSL_CB1.xml. 2. Zanotować w formularzu pokrycie uszkodzeń oraz oznaczenia niewykrytych uszkodzeń. 3. Ponownie wykonać pomiar, tym razem dla wszystkich możliwych wektorów testowych (opcja Wczytaj domyślne). 4. Zanotować w formularzu pokrycie uszkodzeń oraz oznaczenia niewykrytych uszkodzeń. 5. Dlaczego przy wykorzystaniu wszystkich wektorów testowych pokrycie uszkodzeń jest mniejsze? Podpowiedź: Zidentyfikuj dodatkowe uszkodzenie. Przeprowadź symulację programem Spice komórki NO42 z tym uszkodzeniem (wykorzystaj skrypt z ćwiczenia 1). Przeprowadź ponownie symulację elektryczną zamieniając wcześniej miejscami wartości 0 i 5.0 w definicjach źródeł VA, VB, VC i VD. Czy kolejność podawanych wektorów testowych ma wpływ na wynik symulacji? O czym to świadczy? Jakim układem logicznym jest teraz bramka CB1? Odpowiedzi na powyższe pytania zamieścić jako wnioski w formularzu. 6. Zbadać przyczynę niewykrycia dwóch pozostałych błędów. W tym celu należy wykonać pomiar bramek, w których one występują i porównać tablicę prawdy komórki poprawnej i komórki z uszkodzeniem. Czy badane uszkodzenie powoduje zmianę funkcji 21

realizowanej przez dana bramkę? Jeżeli nie, to czy ma (może mieć) on jakiś negatywny wpływ na działanie układu? 7. Wykonać pomiar metoda IDDQ układu CB1 dla wektorów testowych zapisanych w pliku TestVectors/SSL_CB1.xml. Zapisać w formularzu pokrycie uszkodzeń. Ćwiczenie 3. Modelowanie zwarć: Wire-AND, Wire-OR 1. Dla wylosowanej bramki i zwarcia wyznaczyć wszystkie możliwe wektory testowe wykrywające zadane zwarcie dla modeli Wire-AND oraz Wire-OR. Wyniki zamieścić w formularzu. 2. Przeprowadzić pomiar zadanego uszkodzenia dla wyznaczonych wektorów testowych i określić, jaki model zwarcia w danym przypadku jest poprawny. 3. Przeprowadzić symulację elektryczną programem Spice badanej bramki z zadanym uszkodzeniem, której wejścia sterowane są takimi samymi inwerterami CMOS. Symulację przeprowadzić dla dwóch typów inwerterów sterujących: szerokość tranzystora NMOS większa od szerokości tranzystora PMOS i odwrotnie. Wykorzystać w tym celu plik cw3.cir, którego zawartość przedstawiono poniżej: *Skrypt symulacyjny do cwiczenia 3 *Zmienic nazwe NO42 na nazwe badanej bramki.include include/no42.cir.include include/inv.cir *Zdefiniowanie zrodel napieciowych *Zdefiniowanie napiec zasilajacych VDD1 UDD 0 DC 5 VA INA 0 PULSE 0 5.0 0N 1N 1N 159N 320N VB INB 0 PULSE 0 5.0 0N 1N 1N 79N 160N VC INC 0 PULSE 0 5.0 0N 1N 1N 39N 80N VD IND 0 PULSE 0 5.0 0N 1N 1N 19N 40N *Definicja bramek *Gdy wylosowana bramka to NO42, odkomentowac ponizsze linijki *X1 INA INB INC IND Q 0 UDD NO42 *X2 A1 B1 C1 D1 Q1 0 UDD NO42 *X3 A2 B2 C2 D2 Q2 0 UDD NO42 *W przeciwnym wypadku odkomentowac ponizsze linijki i zmienic nazwy bramek *X1 INA INB INC IND Q 0 UDD AN1 *X2 A1 B1 C1 D1 Q1 0 UDD AN1 *X3 A2 B2 C2 D2 Q2 0 UDD AN1 22

*Definicja inwerterow X4 INA INB INC IND A1 B1 C1 D1 0 UDD INV4N X5 INA INB INC IND A2 B2 C2 D2 0 UDD INV4P *W celu realizacji zwarcia poloczyc ze soba zwarte wezly za pomoca malej rezystancji np. 0.1 Ohm R1 A1 C1 0.1 R2 A2 C2 0.1 *Uruchomienie symulacji czasowej.tran 1N 320N *Instrukcje sterujace (zmienic litery A i C na wejscia odpowiadajace badanemu zwarciu).control RUN *Odkomentować odpowiednią linię aby uzyskać odpowiednio: *Przebiegi wejściowe PLOT V(INA)+30 V(INC)+24 V(A1)+18 V(C1)+12 V(A2)+6 V(C2) *Przebiegi wyjsciowe PLOT V(Q)+12 V(Q1)+6 V(Q2).ENDC.END Instancje INV4N oraz INV4P odpowiadają czterem inwerterom o odpowiednio: większych tranzystorach NMOS i większych tranzystorach PMOS. 4. Na podstawie uzyskanych wyników stwierdzić, w jakiej sytuacji należy stosować model wire-and, a w jakiej Wire-OR. Co można w takim razie powiedzieć o inwerterach sterujących zastosowanych w układzie DefSim2. Ćwiczenie 4. Uzupełnienie modelu SSL modelem Wire-AND na przykładzie układu C17 1. Dla układu C17a przeprowadzić pomiar wszystkich uszkodzeń dla wektorów zapisanych w pliku TestVectors/SSL_C17.xml. 2. Zanotować w formularzu pokrycie uszkodzeń i wypisać symbole uszkodzeń niewykrytych. 3. Dla każdego z niewykrytych uszkodzeń opracować wektor testowy zakładając, że zwarcie jest typu Wire-AND. W formularzu zapisac uzyskane wektory. 4. Wykonać ponowny pomiar dopisując do wcześniej wczytanych wektorow testowych, wektory opracowane na podstawie modelu Wire-AND. Zanotować pokrycie uszkodzeń. 23

Ćwiczenie 5. Modelowanie zwarć model Victim-Aggressor na przykładzie bramki NO42 1. Wyznaczyć i zapisać w formularzu tablicę prawdy bramki NO42 ze zwarciem A/Q. Zastosować model Victim-Aggressor i założyć, że wyjście Q jest ofiarą. 2. Zbadać zachowanie układu w przypadku, gdy to wejście A jest ofiarą. W tym celu przeprowadzić symulację programem Spice układu przedstawionego na rys. 8. Wykorzystać w tym celu skrypt cw5.cir przedstawiony poniżej. Symulacje przeprowadzić dla kilku wartości rezystancji R2: 100 Ω, 1 kω, 10 kω, 100 kω. Rys. 10. Schemat do symulacji modelu Victim-Aggressor na przykładzie bramki NO42 *Skrypt symulacyjny do cwiczenia 5.INCLUDE include/no42.cir *Zdefiniowanie napiec zasilajscych VDD1 UDD 0 DC 5 VA INA 0 PULSE 0 5.0 0N 1N 1N 159N 320N VB INB 0 PULSE 0 5.0 0N 1N 1N 79N 160N VC INC 0 PULSE 0 5.0 0N 1N 1N 39N 80N VD IND 0 PULSE 0 5.0 0N 1N 1N 19N 40N *Definicja bramek X1 A INB INC IND Q 0 UDD NO42 *Realizacja zwarcia R1 A Q 0.1 *Polaczenie wejscia bramki ze zrodlem sterujacym za pomoca *rezystancji w celu regulacji "sily" zrodla sterujacego R2 INA A 100 *Uruchomienie symulacji czasowej.tran 1N 320N 24

*Instrukcje sterujace.control RUN PLOT V(INA)+24 V(INB)+18 V(INC)+12 V(IND)+6 V(Q).ENDC.END 3. Jaki wpływ na działanie układu ma badane zwarcie dla dużych rezystancji R2? 4. Czy wykorzystując testowanie napięciowa mamy stuprocentową pewność wykrycia takiego uszkodzenia? 5. Wykonać pomiar uszkodzenia A/Q dla bramki NO42 za pomocą układu DefSim2. Na podstawie wyników oraz wcześniej uzyskanych rezultatów stwierdzić, który z węzłów układu jest ofiarą. Ćwiczenie 6. Badanie efektywności wykrywania rozwarć za pomocą testowania napięciowego oraz testowania IDDQ 1. Dla układu C17b przeprowadzić pomiar uszkodzeń od C17#1 do C17#17 (są to rozwarcia między-bramkowe ang. inter-gate opens) dla wektorów zapisanych w pliku TestVectors/SSL_C17o.xml. Zanotować w formularzu pokrycie uszkodzeń. 2. Dla tych samych wektorów testowych przeprowadzić pomiar uszkodzeń od C17#18 do C17#95 (są to rozwarcia wewnątrz-bramkowe ang. intra-gate opens) i zanotować ich pokrycie w formularzu. 3. Dlaczego model SSL sprawdza się dla rozwarć między-bramkowych, a dla wewnątrz-bramkowych jest znacznie mniej efektywny? 4. Dla układu C17b przeprowadzić pomiar wszystkich uszkodzeń dla wektorów zapisanych w pliku TestVectors/SSL_C17o.xml. Zanotować w formularzu pokrycie uszkodzeń. 5. Ponownie wykonać pomiar tym razem dla wszystkich możliwych wektorów testowych i zanotować w formularzu pokrycie uszkodzeń. 6. Zmienić metodę na IDDQ i ponownie przeprowadzić symulację z punktów 3 i 4, notując w formularzu uzyskane pokrycie uszkodzeń. 7. Na podstawie uzyskanych wyników stwierdzić, która metoda testowania najlepiej nadaje się do wykrywania tego typu uszkodzeń. Krotko uzasadnić, dlaczego tak jest. 25

Bibliografia [1] O. Novak, E. Gramatova, R. Ubar and collective: V. Drabek, M. Fischerova, A. Hławiczka, T. Garbolino, K. Gucwa, Z. Kotasek, S. Mosin, W. Pleskacz, A. Plestil, Z. Pliva, V. Stopjakova: Handbook of Testing Electronic Systems, Czech Technical University Publishing House, 2005, 395 p. (http://reason.imio.pw.edu.pl/agbot.html) [2] A. Kraśniewski, Plansze wykładowe do przedmiotu Projektowanie Wiarygodnych Systemów Cyfrowych. (http://cygnus.tele.pw.edu.pl/~andrzej/pwsc/pwsc_w.htm) [3] W. Kuźmicz, Materiały wykładowe do przedmiotu Podstawy Mikroelektroniki. (http://vlsi.imio.pw.edu.pl/pmk/pmk_prog.html) 26