Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

P. Tafertshofer, A. Ganz, M. Henftling SAT-basiertes ATPG im Implikationsgraphen Vortragender: Piet Engelke.

Ähnliche Präsentationen


Präsentation zum Thema: "P. Tafertshofer, A. Ganz, M. Henftling SAT-basiertes ATPG im Implikationsgraphen Vortragender: Piet Engelke."—  Präsentation transkript:

1 P. Tafertshofer, A. Ganz, M. Henftling SAT-basiertes ATPG im Implikationsgraphen Vortragender: Piet Engelke

2 Inhaltsübersicht I Einführung Testmustergenerierung Motivation II Konstruktion des Implikationsgraphen III Operationen im Implikationsgraphen direkte Implikation indirekte Implikation Justifikation Propagation IV Ergebnisse / Zusammenfassung

3 I Einführung

4 Testmustergenerierung primäre Eingänge primäre Ausgänge Fehlerort Justifikation: finde Belegung an den primären Eingängen die internes Signal auf bestimmten Wert setzt Propagation: Signaländerung an internem Signal zu den primären Ausgängen transportieren (Sensibilisierung + Justifikation) Implikation: weise unbestimmten Ein- Ausgängen eines Gatters Werte zu, die sich aus der aktuellen Belegung zwingend ergeben

5 Testmustergenerierung primäre Eingänge primäre Ausgänge Fehlerort Justifikation: finde Belegung an den primären Eingängen die internes Signal auf bestimmten Wert setzt Propagation: Signaländerung an internem Signal zu den primären Ausgängen transportieren (Sensibilisierung + Justifikation) Implikation: weise unbestimmten Ein- Ausgängen eines Gatters Werte zu, die sich aus der aktuellen Belegung zwingend ergeben

6 Implikation am AND Gatter X X 0 X 0 0 => 1 1 X X 0 X X 0 X 1) 2) 3)

7 Motivation strukturbasiert: Netzliste getrennt von Modulbibliothek komplizierte Algorithmen nicht erweiterbar SAT basiert: Schaltkreis dargestellt als Klauselmenge sehr flexibel und effizient keine topologischen Informationen => Topologie, Effizienz und Flexibilität

8 II Konstruktion des Implikations- graphen(IG)

9 Erzeugung des IG benötigt werden: Art und Kodierung der Logik Wahrheitstabellen der verwendeten Gatter Netzliste des Schaltkreises Ablauf: 1a) Kodierung und Optimierung der Wahrheitstabellen 1b) Extraktion der Klauselmenge 1c) Konvertierung in Subgraphen 2a) personalisieren der Subgraphen 2b) Subgraphen zu einem IG verbinden

10 Kodierung der Logik x L 3 KodierungInterpretation c x c * x 001Signal x = X00 11Konflikt bei Signal x Signal x = 1 Signal x = unbekannt verwendete Logik : L 3 = {0, 1, X} Definition - Konflikt: Eine Wertzuweisung heißt konfliktfrei gdw.: für alle Signalvariablen c x c x 0 gilt. *

11 Kodierung und Optimierung optimierte Tabelle nur konfliktfreie Belegungen gehen bei der Optimierung ein Konflikte müssen von den Algorithmen abgefangen werden => charakteristische Funktion eines AND Gatters als KNF ( c a c c ) ( c b c c ) ( c a c b c c ) 1 ****

12 Konvertierung in Subgraphen (1) x y z ( x y z) ( x z y) ( y z x) z z yx y x x y ( x y) ( y x) x x y y es gelten folgende Umformungen:

13 Aufteilung von Klauseln Klauseln mit mehr als drei Variablen werden in Systeme aus binären und ternären Klauseln gewandelt führe zusätzliche Variable v ein: (w x y z) (w x v) (y z v) v {0,1} es gilt (sei x eine Variablenbelegung): => der Existenzquantor kann ignoriert werden [f(x) g(x, z)] f(x) g(x, z) xzx, z

14 Konvertierung in Subgraphen (2) strukturelle Informationen f = Vorwärtskante: Kante vom Ein- zum Ausgang des Gatters b = Rückwärtskante:Kante vom Aus- zum Eingang des Gatters o = sonstige Kante ( c a c c ) ( c b c c ) ( c a c b c c ) 1 **** ** mit c x c x und c x c x c cbcb caca * c * caca * cbcb b b f f f o o f b f b a c b

15 IG formal Implikationsgraph: G I = (V I, E I ) Menge der Knoten V I = V IS V I V IS die Signalknoten V I die - Knoten Menge der Kanten E I = E f E b E o E f Vorwärtskanten E b Rückwärtskanten E o sonstige Kanten G B = (V I, E f ) Graph der Rückwärtskanten G F = (V I, E b ) Graph der Vorwärtskanten

16 Beispiel für einen IG a b d f e c ( c d c f ) ( c e c f ) ( c d c e c f ) | f = AND(d, e) **** ( c a c d ) ( c b c d ) ( c a c b c d ) | d = OR(a, b) *** ( c b c e ) ( c c c e ) ( c b c c c e ) 1 | e = OR(b, c) *** =>

17 III Operationen im Implikations- graphen

18 Ausgehend von einer Menge V I V S von markierten Knoten werden alle Nachfolger v j markiert wenn: 1) Knoten v j ein - Knoten ist und all seine Vorgänger markiert sind 2) Knoten v j ein Signalknoten ist und mindestens einer seiner Vorgänger markiert ist So lange fortfahren bis keine Markierungen mehr möglich sind. Alle durch diese Regel markierten Knoten zusammen, repräsentieren die Belegung die aus V impliziert werden kann. Eine Implikation ist nur dann möglich, wenn sie keine Konflikte hervorruft. direkte Implikation - Regel

19 Die direkte Implikation a = X b = 1 d = X f = X e = X c = X es gelte b = 1 propagiere alle Implikationen der aktuellen Belegung durch den Schaltkreis

20 Beispiel zur direkten Implikation a = X b = 1 d = 1 f = X e = 1 c = X Nachfolger eines - Knotens markieren, wenn beide Vorgänger passiert wurden

21 Beispiel zur direkten Implikation a = X b = 1 d = 1 f =1 e = 1 c = X direkte Implikation: c b c f die Implikation stoppt, wenn keine Markierungen mehr möglich sind

22 Die indirekte Implikation im IG caca cbcb * caca * cbcb cxcx * cxcx werden in der Preprocessing - Phase entdeckt und dem Graphen als Kante hinzugefügt Identifikation durch direkte Implikation und anschließender Kontraposition: c a c b (c b * c a * )

23 Sei c x der ursprünglich markierte Knoten. Aus einer rekonvergenten Struktur (c x, c y ) im IG folgt nur dann eine indirekte Implikation, wenn: c x ein Fanoutknoten im IG ist c y über einen - Knoten markiert wurde dessen Vorgänger beide nach Implikation über disjunkte Pfade markiert worden sind indirekte Implikation - Regel

24 Beispiel zur indirekten Implikation direkte Implikation: c b c f indirekte Implikation: c f * c b *

25 Justifikation im IG (1) Wert an internen Signalen soll durch Zuweisungen an primären Eingängen eingestellt werden Objective: Werteinstellungsziel für eine internes Signal Ablauf des Verfahrens: 1. Wahl des Objectives 2. Backtracing:versuche Belegung an den primären Eingängen zu finden, die das Objective einstellen 3. Implikation: prüfe ob die gewählte Belegung das Objective wirklich erfüllt

26 Justifikation im IG (2) Definition - unjustifizierte Klauseln: Eine Klausel C = c 1 c 2... c n heißt unjustifiziert, gdw. alle Literale c 1, c 2,..., c n nicht erfüllt sind und mindestens ein Komplement c i * eines Literales c i Eins ist. Definition - Justifikation einer Klausel: Seien c 1, c 2,..., c m unspezifizierte Literale in einer unjustifizierten Klausel C = c 1 c 2... c m und seien V 1, V 2,..., V m Wertzuweisungen. Dann wird die Menge konfliktfreier Zuweisungen J = {c 1 = V 1, c 2 = V 2,... c m = V m } eine Justifikation der Klausel C genannt, wenn die Wertzuweisungen in J die Klausel C erfüllen.

27 Justifikation im IG (3) czcz * cycy * cxcx cycy cxcx * czcz => Justifikation besteht aus genau zwei Elementen J = {{c x = 1}, {c z = 1}} x y z ( x y z) ( x z y) ( y z x) Objective entspricht unjustifizierter Klausel nur ternäre Klauseln können unjustifiziert sein

28 Backtracing - Regel Das Objective o i sei bereits zum Konten v i V vorangetrieben worden. suc s (v i ) V s und suc (v i ) V bezeichnen die nachfolgenden Signal bzw. - Knoten in G B. Dann wird das Objective o i zu den folgenden Knoten getrieben: allen Signalknoten v j suc s (v i ). einem - Knoten v j suc (v i ) der entsprechen eines Kontrollierbarkeitsmaßes gewählt wird. Knoten v j, die einen Signalknoten c x als Nachfolger haben, dessen zugehöriger Komplementknoten c x * markiert ist, werden nicht gewählt. Diese Regel wird solange angewandt, bis keine Propagation von Objectives mehr möglich ist, d.h. alle Objectives einen PI erreicht haben.

29 Beispiel zur Justifikation f = 0 soll justifiziert werden es gelte bereits e = 1 a = X b = X d = X f = 0 e = 1 c = X ! nur die Rückwärtskanten werden verwendet Backtracing mit depth - first Strategie

30 a = X b = X (d = 0) f = 0 e = 1 c = X ! Wahl eines - Knotens nach vorberechnetem Testbarkeitsmaß Beispiel zur Justifikation

31 (a = 0) (b = 0) (d = 0) f = 0 e = 1 c = X ! über direkte Übergänge erreichte Nachfolger werden immer gewählt Backtracing stoppt, da die primären Eingänge erreicht wurden Beispiel zur Justifikation

32 a = 0 b = 0 d = 0 f = 0 e = 1 c = X Implikation der Eingangsbelegung die Justifikation wird für alle Objectives durchgeführt c f * erfolgreich justifiziert Beispiel zur Justifikation

33 Propagation Kodierung von Unterschieden macht Übergang von L 3 zu L 9 notwendig split-circuit Modell => Verdopplung des L3 Graphen (= zwei disjunkte, isomorphe Graphen) im Fehlergraphen werden alle Knoten mit einem ^ kenntlich gemacht Konflikt liegt vor, wenn gilt: (c x c x ) = 1 oder (c x c x ) = 1 * ^ *^

34 Propagation - Regel (1) Das Ausgangssignal s I sei beobachtbar an Signal s i, d.h. (s i = D) (s i = /D), bzw. (c i c i * ) (c i * ´c` i ) 1. suc s (v i ) V s g und suc (v i ) V g bezeichnen alle nachfolgenden Signal bzw. - Knoten eines Knotens v i in G F g =(V g, E F g ). Signal s I wird an einem nachfolgenden Signal s j beobachtbar gemacht, durch: Wahl eines Knotens v j suc s (c i ) suc (c i ) entsprechend eines vor- berechneten Beobachtbarkeitsmaßes. Knoten v j = c j suc s (c i ), deren zugehöriger Komplementknoten c j * markiert ist und Knoten v j suc (c i ), die einen Signalknoten c x zum Nachfolger haben, dessen zugehöriger Komplementknoten c x * markiert ist, werden nicht gewählt. wenn v j suc s (c i ), d.h. v j bezeichnet einen Signalknoten c j, so markiere seinen zugehörigen Komplementknoten ´c j ` * in G f. wenn v j suc (c i ), so markiere seinen nachfolgenden Signalknoten c k und dessen zugehörigen Komplementknoten ´c k ` * in G f.

35 Propagation - Regel (2) (Fortsetzung) Implikation ausgehend von allen markierten Knoten in G, wodurch die sensibilisierenden Zuweisungen eingefügt werden. Wenn die Implikationen zu einem Konflikt führen, werden alle Zuweisungen rückgängig gemacht und ein anderer Knoten v j suc s (c i ) suc (c i ) wird gewählt. Führen alle Knoten v j zu einem Konflikt so erfolgt ein Backtracking zur letzten Entscheidung. Diese Regel wird solange angewendet, bis ein PO erreicht wurde oder alle aus v j suc s (c i ) suc (c i ) gewählten Knoten zu einem Konflikt führen.

36 Beispiel zur Propagation gutfehlerhaft a = 1 b = D d = 1 f = X e = Xc = X propagiere Unterschied b = D, es gelte a = 1 die Vorwärtskanten leiten die Propagation (depth first - Strategie) 1 3 1

37 Beispiel zur Propagation gutfehlerhaft a = 1 b = D d = 1 f = X e = X/0c = X wähle Knoten c e nach vorberechnetem Beobachtbarkeitsmaß => Komplementknoten im Fehlergraphen wird markiert

38 Beispiel zur Propagation gutfehlerhaft a = 1 b = D d = 1 f = D e = F0c = X wähle und markiere Knoten c f (nach Beobachtbarkeitsmaß) => Komplementknoten im Fehlergraphen wird markiert ein primärer Ausgang wurde erreicht

39 Beispiel zur Propagation gutfehlerhaft a = 1 b = D d = 1 f = D e = Dc = 0 führe Implikation durch konfliktfreie Belegungen werden zwischen den Graphen ausgetauscht

40 IV Ergebnisse

41 Experimentelle Ergebnisse stuck-at ATPG ohne Fehlersimulation TEGUS: P.Stephan, R.K. Brayton und A.L. SangiovanniVincentelli ; CGRASP : L.G. e Silva, L.M. Silveira und J. Marques-Silva; 1999.

42 Zusammenfassung KNF mit der Toplogie in einer Datenstruktur vereint einfach aufgebauter, flexibler Graph Der Graph besteht aus nur zwei Knotentypen und erlaubt die Aufnahme zusätzlicher Kanten (indirekte Implikationen). kompakte Darstellung des Schaltkreises Die Größe des Graphen ist linear in der Anzahl der Schaltkreismodule. effizient Alle vorgestellten Operationen sind als Graphenalgorithmen implementiert. strukturbasierte Algorithmen und Heuristiken sind übertragbar (vgl. beispielsweise Backtracing)

43 [1] P. Tafertshofer, A. Ganz und M. Henftling : A SAT - Based Implication Engine, Tech. Rep. TUM-LRE-97-2, Technical University of Munich, April [2] P. Tafertshofer und A. Ganz : SAT Based ATPG Using Fast Justifcation and Propagation in the Implication Graph, ICCAD [3] M. Abramovici, M.A. Breuer und A.D. Friedman : Digital Systems Testing and Testable Design, Computer Science Press, [4] L.G. e Silva, L.M. Silveira und J. Marques-Silva : Algorithms for solving boolean satisfiability in combinational circuits, in Design Automation Conference and Test in Europe (DATE), S , [5] S. Russell, P. Norvig : Artificial Intelligence - A Modern Approach, Prentice Hall Intl Editions, S. 77f, Literaturverzeichnis


Herunterladen ppt "P. Tafertshofer, A. Ganz, M. Henftling SAT-basiertes ATPG im Implikationsgraphen Vortragender: Piet Engelke."

Ähnliche Präsentationen


Google-Anzeigen