Startseite   |  Site map   |  A-Z artikel   |  Artikel einreichen   |   Kontakt   |  
  


informatik artikel (Interpretation und charakterisierung)

Fehler

Testmustererzeugung


1. Java
2. Viren

Die Hauptaufgabe in der Vorbereitung eines Tests liegt in der Erzeugung geeigneter Testmuster. Diese sollen so gestaltet sein, daa sie mit möglichst wenigen Testmustern möglichst alle Fehlermöglichkeiten abdecken.
Die Vefahren zur Erzeugung von Testmustern lassen sich wieder in 2 Gruppen aufteilen:
Die strukturorientierten Verfahren, denen die Schaltungsstruktur auf Gatterebene zugrunde gelegt wird, und die funktionsorientierten Verfahren, die dann verwendet werden, wenn die Struktur auf Gatterebene unbekannt oder zu komplex ist (vergleiche Fehlermodelle!)

Bei den strukturorientierten Verfahren werden unter Verwendung strukturorientierter Fehlermodelle (meist Haftfehler) Testmuster bestimmt, welche eine Überprüfung der korrekten Realisierung ermöglichen. Die strukturelle Testmustererzeugung basiert meist auf der sogenannten \"Pfadsensibilisierung\". Durch Ausbildung eines sensiblen Pfades wird jede Signaländerung auf diesem Pfad am Ausgang der Schaltung beobachtet. Ein Test sämtlicher möglicher Signalpfade überprüft die Struktur der Schaltung, womit gleichzeitig die Funktion der Schaltung bei allen möglichen Eingangssignalen bestätigt ist.

Bei den fumktionsorientierten Verfahren wird der Prüfling als geschlossene Einheit betrachtet. Aus einer Funktionsbeschreibung in Form von Gleichungen oder Tabellen wird ein abstraktes Schaltungsmodell, z.B. auf Registerebene abgeleitet, für das unter Verwendung bestimmter funktionsorientierter Fehlermodelle die Testmuster erzeugt werden.

Die Testmustererzeugung selbst erfolgt meist rechnergestützt mit automatischen Testmustererzeugungssystemen (ATPG) die für jede der beiden Hauptrichtungen mehrere Verfahren anbieten. Die Auswahl des geeigneteten Testmustererzeugungsverfahrens obliegt dem Benutzer. Mögliche Kriterien bei der Auswahl eines Verfahrens sind:

- geringer Rechenzeitbedarf bei der Mustererzeugung
- kurze Testlänge (geringe Anzahl von Mustern) für minimale Testzeit
- einfache Generierung der Testmuster während des Tests

3.2.1 Testmuster für kombinatorische Schaltungen

Eine kombinatorische Schaltung ist dadurch gekennzeichnet, daa sie gedächtnislos auf die Eingangsdaten reagiert. Das Verhalten der Ausgänge ist somit eindeutig als Funktion der Eingänge zum aktuellen Zeitpunkt darstellbar.
Ein Fehler kann nur dann durch ein Testmuster erkannt werden, wenn das Testmuster im Fehlerfall ein anderes Ergebnis liefert als bei funktionierender Schaltung. Als Beispiel sei hier die Schaltung in Bild 3.8 angeführt.












Bild 3.4 Beispielschaltung mit 2 möglichen Haftfehlern

Diese Schaltung realisiert normalerweise folgende Funktion:


Z = A B + B C

Beim Auftreten des Fehlers , Eingang B sa1 verändert sich die Schaltfunktion zu:


Z = A + C

mit den entsprechenden Abweichungen in der Funktionstabelle:

Nr A B C Z Z Z



0 0 0 0 0 0 0
1 0 0 1 0 1 0

2 0 1 0 0 0 0
3 0 1 1 1 1 1

4 1 0 0 0 1 1
5 1 0 1 0 1 1

6 1 1 0 1 1 1
7 1 1 1 1 1 1

Die Funktionstabelle verdeutlicht, daa der Fehler durch 3 Eingangsvektoren entdeckbar ist; die Testmuster lauten (0,0,1), (1,0,0) und (1,0,1). Wie für diesen Fehler lassen sich auch die Testmuster für die übrigen Fehler durch Vergleich der Testmuster herleiten. Dabei ergibt sich, daa sämtlich Fehler mit nur 4 Testmustern entdeckt werden können, gegenüber 8 beim vollständigen Test. Es wird jedoch deutlich, daa diese Methode in dieser Form speziell bei größeren Netzwerken einen sehr großen Arbeitsaufwand darstellt und somit unrentabel ist.
Es gibt aber eine möglichkeit, diese Methode zu \"mathematisieren\" und mit weniger Aufwand lösbar zu machen:

Für ein Testmuster, das einen Fehler erkennt gilt:


Z + ZF = 1

womit sich für den Fehler ergibt:


(A B + B C) + (A + B) = 1 = A B + B C

Diese Gleichung wird genau für die 3 Testmuster erfüllt, die fehlererkennend wirken.
Entsprechend ergeben sich die Testmuster, die für Fehler fehlererkennend wirken zu (1,0,0) und (1,0,1). Diese Testmuster entdecken aber auch den Fehler . Tritt nun während des Tests bei einem dieser Testmuster ein Fehler auf, kann nicht zwischen dem Fehler und dem Fehler unterschieden werden. Dazu benötigt man ein anderes Testmuster, das diese beiden Fehler zu unterscheiden vermag. Analog zur Bedingung für fehlerentdeckende Testmuster lautet diese:

ZF1 + ZF2 = 1

Für das oben angeführte Beispiel ergibt sich dann das Testmuster (0,0,1) zur Unterscheidung zwischen diesen beiden Fehlern.
Fehlerunterscheidende Testmuster werden, wie bereits erwähnt, zu Lokalisierung des Fehlerortes benötigt. Durch die Notwendigkeit von zusätzlichen fehlerunterscheidenden Testmustern, kann der Test aber insgesamt stark vergrößert werden, weshalb man diese Testmuster meist nur in der Entwicklugsphase oder wenn der Prüfling durch eine Fehlerlokalisierung repariert werden kann benützt, was aber im allgemeinen nur bei Speichern möglich ist.
Da diese Methode mit steigender Schaltungskomplexität sehr schnell immer rechenintensiver wird, wendet man sie hauptsächlich für kleine Schaltungen an.

Bei größeren Schaltungen wendet man die Methode der Pfadsensibilisierung an, bei der die Eingänge aller Gatter so belegt werden, daa der Ausgang nur noch von einem einzigen Pfad abhängt. Die einzelnen Gatter schalten das Signal dann entweder nur mehr durch, oder invertieren es.


Regeln für die Gattersensibilisierung:

Gattertyp Belegung der übrigen GAttereingänge


AND, NAND alle logisch 1
OR, NOR alle logisch 0

Inverter, EXOR keine Bedingungen
















Bild 3.5 Beispielschaltung zur Pfadsensibilisierung

Diese Schaltung kann gegenüber einem Fehler am Punkt a sensibilisiert werden, indem man den Zustand von Gatter 3 und 4 nur noch vom Zustand des Gatters 1 abhängig macht.
Dies kann geschehen durch C = 0, D = 1. Durch C = 0 ist das Signal am Punkt b sicher 0, und damit der Ausgangszustand des Gatters 3 nur noch vom Signal am Punkt a abhängig, und durch D = 1 ist das Ausgangssignal nur noch von Gatter 3 abhängig.

3.2.3 Testmuster für sequentielle Schaltungen

Diese ähneln prinzipiell denen für kombinatorische Schaltungen, es ist jedoch zu beachten, daa nach dem Einschalten ein undefinierter Zustand vorliegt, sodaa das Schaltwerk entweder zunächst initialisiert werden mua (einfachste Möglichkeit: über hardwaremäßigen Rücksetzeingang) oder daa vom Anfangszstand unabhängige Testmuster gewählt werden, was meist bevorzugt wird.
Die Testmustererzeugung selbst erfolgt meist durch Auftrennung der Rückkopplungsleitungen der Schaltung, und Überleiten in ein kombinatorisches Netzwerk.



















Bild 3.6 allgemeines Modell einer sequentiellen

Schaltung; m Eingänge, n Registerzellen, p Ausgänge















Bild 3.7 sequentielles Modell übergeleitet in ein
kombinatorisches

Die sequentielle Schaltung wird hierbei durch Momentaufnahmen der Schaltung zu bestimmten Zeitpunkten dargestellt.
Für dieses nun wieder rein kombinatorische Modell können mit Hilfe der hierfür benützbaren Verfahren die Fehler bestimmt werden. Da die Testmustererzeugung selbst aber durch wiederholte Anwendung der bekannten Pfadsensibilisierungsverfahren auf jede der erforderlichen Zellen des umgewandelten Modells durchgeführt werden muß, und die Sensibilisierung durch sämtliche Speicherstufen hindurch erfolgen muß, kommt man hier sehr bald zu einer Grenze, die durch den benötigten Speicherplatz und die Rechenzeit hervorgerufen wird.

Für solche Fälle wird dann auf funktionsorientierte Verfahren übergegangen, die nur von der \"Automatentafel\" des Systems abhängen, und damit realisationsunabhängig sind. Hierbei werden Testfolgen bestimmt, die prüfen, ob die zu testende Schaltung fehlerfrei ist.
Die Ausführung dieser Verfahren kann aufgrund Ihrer Komplexität hier nicht angeführt werden, sie ist in geeigneter Literatur (E.F. Moore: experiments on sequential machines Princeton University Press 1956; Z. Kohavi, P.Lavallee: Design of sequential machines with fault detection capabilities IEE Trans. EC-16 1967; C.E. Holborow: An improved bound on the length of checking sequential machines with counter cycles IEEE Trans. C-21 1976; H. Fujiwara et al.: Easily testable sequential machines with extra inputs IEEE Trans. C-24 1975) beschrieben.

 
 

Datenschutz
Top Themen / Analyse
indicator Zusammenspiel zwischen symmetrischen und asymmetrischen Verfahren
indicator Stromversorgungen
indicator Die serielle Schnittstelle
indicator Projektplanung (Softwareprojektplanung)
indicator Das Zeitalter der Elektrotechnik beginnt...
indicator Sind MP3-Dateien legal?
indicator Steuerungsübergabe und Call Gates
indicator Einfache Batch File Befehle und Kommandos
indicator Giants Of The Internet
indicator Nachrichten


Datenschutz
Zum selben thema
icon Netzwerk
icon Software
icon Entwicklung
icon Windows
icon Programm
icon Unix
icon Games
icon Sicherheit
icon Disk
icon Technologie
icon Bildung
icon Mp3
icon Cd
icon Suche
icon Grafik
icon Zahlung
icon Html
icon Internet
icon Hardware
icon Cpu
icon Firewall
icon Speicher
icon Mail
icon Banking
icon Video
icon Hacker
icon Design
icon Sprache
icon Dvd
icon Drucker
icon Elektronisches
icon Geschichte
icon Fehler
icon Website
icon Linux
icon Computer
A-Z informatik artikel:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

Copyright © 2008 - : ARTIKEL32 | Alle rechte vorbehalten.
Vervielfältigung im Ganzen oder teilweise das Material auf dieser Website gegen das Urheberrecht und wird bestraft, nach dem Gesetz.
dsolution