420
8 Test
sich Entwurf für Testbarkeit (engl. Design for Testability (DfT)). Ein bedeutendes Beispiel hierfür ist die Verwendung spezieller Hardware zum Testen endlicher
Automaten.
8.4.2 Scanpfad-Entwurf
Das Erreichen bestimmter Zustände und die Überwachung von Zuständen, die aus
der Anwendung von Eingabemustern resultieren, wird mit dem Scanpfad-Entwurf
(engl. scan design) wesentlich erleichtert. Beim Scanpfad-Entwurf werden alle Flipflops, die Zustände speichern, verbunden und bilden serielle Schieberegister (siehe
Abb. 8.5). Die Schaltung enthält drei D-Flipflops DFF und einen Multiplexer an
Abb. 8.5 Scanpfad-Entwurf
D
D
D
Takt
0
1
1
0
0
1
DFF
DFF
DFF
δ
λ
serielle Eingabe
Ausgabe
Y= (X,Z)
Netzwerk
+
Z = (X,Z)
2
Y
X
serielle
0
Z
Z
normaler Modus/
Testmodus
Z 2
+
+
1
Z
Z 1
0
Z +
jedem Flipflop-Eingang. Unter Verwendung des Kontrolleingangs der Multiplexer
(unter den Multiplexereingängen dargestellt) können wir die Flipflops entweder an
das Schaltnetz anschließen, das aus aktuellem Zustand und aktuellen Eingabedaten
den Folgezustand berechnet oder wir verbinden die Flipflops, sodass sie eine serielle
Kette bilden. Wenn wir die Multiplexer in den Scan-Modus versetzen, können wir
nacheinander Zustandbits in die Scan-Kette laden (ein Bit pro Taktzyklus). Auf diese
Weise können wir seriell jeden beliebigen Zustand in die drei Flipflops laden. In einer zweiten Phase können wir ein Eingabemuster am endlichen Automaten anlegen,
während sich die Multiplexer im normalen Modus befinden. Nach dem nächsten
Taktzyklus befindet sich der Automat dann in einem neuen Zustand. Dieser neue
Zustand kann nun in der dritten und letzten Phase wieder seriell hinausgeschoben
werden (wieder ein Bit pro Taktzyklus). Im Endergebnis müssen wir uns also beim
Erzeugen von Tests für den endlichen Automaten keine Gedanken darüber machen,
8 Test
sich Entwurf für Testbarkeit (engl. Design for Testability (DfT)). Ein bedeutendes Beispiel hierfür ist die Verwendung spezieller Hardware zum Testen endlicher
Automaten.
8.4.2 Scanpfad-Entwurf
Das Erreichen bestimmter Zustände und die Überwachung von Zuständen, die aus
der Anwendung von Eingabemustern resultieren, wird mit dem Scanpfad-Entwurf
(engl. scan design) wesentlich erleichtert. Beim Scanpfad-Entwurf werden alle Flipflops, die Zustände speichern, verbunden und bilden serielle Schieberegister (siehe
Abb. 8.5). Die Schaltung enthält drei D-Flipflops DFF und einen Multiplexer an
Abb. 8.5 Scanpfad-Entwurf
D
D
D
Takt
0
1
1
0
0
1
DFF
DFF
DFF
δ
λ
serielle Eingabe
Ausgabe
Y= (X,Z)
Netzwerk
+
Z = (X,Z)
2
Y
X
serielle
0
Z
Z
normaler Modus/
Testmodus
Z 2
+
+
1
Z
Z 1
0
Z +
jedem Flipflop-Eingang. Unter Verwendung des Kontrolleingangs der Multiplexer
(unter den Multiplexereingängen dargestellt) können wir die Flipflops entweder an
das Schaltnetz anschließen, das aus aktuellem Zustand und aktuellen Eingabedaten
den Folgezustand berechnet oder wir verbinden die Flipflops, sodass sie eine serielle
Kette bilden. Wenn wir die Multiplexer in den Scan-Modus versetzen, können wir
nacheinander Zustandbits in die Scan-Kette laden (ein Bit pro Taktzyklus). Auf diese
Weise können wir seriell jeden beliebigen Zustand in die drei Flipflops laden. In einer zweiten Phase können wir ein Eingabemuster am endlichen Automaten anlegen,
während sich die Multiplexer im normalen Modus befinden. Nach dem nächsten
Taktzyklus befindet sich der Automat dann in einem neuen Zustand. Dieser neue
Zustand kann nun in der dritten und letzten Phase wieder seriell hinausgeschoben
werden (wieder ein Bit pro Taktzyklus). Im Endergebnis müssen wir uns also beim
Erzeugen von Tests für den endlichen Automaten keine Gedanken darüber machen,
