Ihre Schaltung mit Testfällen prüfen
← Alle Artikel

Ihre Schaltung mit Testfällen prüfen

4 Min

Eine Tabelle erwarteter Zeilen

Die Seite „Testfälle" lässt Sie erwartetes Verhalten als reine Texttabelle festhalten — eine Spalte pro Eingang und Ausgang, eine Zeile pro zu prüfender Kombination, mit 0, 1 oder x für „egal". Solange die Tabelle keinen Taktimpuls enthält (dazu unten mehr), durchläuft jede Zeile ihre eigene, unabhängige Simulation: die aufgeführten Eingänge werden gesetzt, die aufgeführten Ausgänge verglichen, und jede nicht übereinstimmende Zeile wird sofort markiert.

ABerwarteterhalten0000✓0100✓1000✓1101✗eine rote Zeile zeigt den Fehler

Das ist genau eine von Hand geschriebene Wahrheitstabelle

Eine Testfalltabelle ist nichts weiter als die Wahrheitstabelle, die Sie von Ihrer Schaltung erwarten, im Voraus aufgeschrieben statt hinterher automatisch erzeugt — nützlich in dem Moment, in dem eine Schaltung groß genug wird, dass das bloße Betrachten der automatisch erzeugten Wahrheitstabelle keine zuverlässige Methode mehr ist, einen Fehler zu finden.

Getaktete Schaltungen testen mit C

Setzen Sie ein C in eine Eingangsspalte, und dieses Signal bekommt einen Impuls: Es geht auf 0, dann auf 1 und wieder auf 0, und die Ausgänge werden geprüft, sobald sich die Schaltung eingeschwungen hat. Eine Tabelle mit C ist keine Liste unabhängiger Zeilen mehr, sondern eine Folge. Sie läuft von oben ab dem Einschalten, wenn alle Flip-Flops und Register 0 sind, der Zustand wandert von Zeile zu Zeile, und ein x in einer Eingangsspalte behält den Wert, den dieser Eingang in der Zeile davor hatte.

Ein 4-Bit-Zähler wird zu einer Spalte C mit dem Wert, den Sie nach jedem Impuls erwarten: Nach dem ersten Impuls lesen Q0…Q3 1 0 0 0, nach dem zweiten 0 1 0 0 und so weiter. Ein Toggle-Flip-Flop (ein D-Flip-Flop, dessen D von NOT Q getrieben wird) sind einfach vier Zeilen C mit der Erwartung 1, 0, 1, 0.

Zwei Grenzen sollten Sie kennen. Die Zeit zwischen den Impulsen wird nicht modelliert: Ein Impuls ist ein augenblickliches 0, 1, 0 und keine Dauer, die Tabelle kann also keine Setup- oder Hold-Zeiten prüfen. Und der Test läuft auf einer eigenen Kopie des Schaltungszustands, das Ausführen einer Tabelle bringt also nie die Zähler durcheinander, die Sie im Editor beobachten.

Probieren Sie es selbst

Schreiben Sie im Schaltungseditor eine kleine Testfalltabelle für einen Halbaddierer — vier Zeilen, die alle Kombinationen von A und B abdecken —, bestätigen Sie, dass sie besteht, und vertauschen Sie dann absichtlich zwei Ausgangsspalten, um zu sehen, wie die Seite die Abweichung meldet.

Machen Sie dasselbe dann für eine getaktete Schaltung: Führen Sie den Ausgang Q eines D-Flip-Flops über ein NOT-Gatter zurück auf den eigenen D-Eingang, legen Sie an den Takteingang einen INPUT mit der Bezeichnung CLK und an Q einen OUTPUT mit der Bezeichnung Q, und schreiben Sie die Tabelle „CLK | Q“ mit den vier Zeilen „C | 1“, „C | 0“, „C | 1“, „C | 0“.

Testfälle für Ihre Schaltung schreiben →