| |
5. Simulation und Verifikation
Mit einer Simulation wird versucht, in einem Entwurf Entwurfsfehler festzustellen. Neben der
VHDL-Simulation gibt es noch die sog. Pre-Layout-Simulation und die Post-Layout-Simulation. Bei
der Pre-Layout-Simulation, wird die Funktion der Schaltung ohne fertiges Layout getestet. d.h. nur
die Funktion, ohne gegebene Signallaufzeiten. Bei der Post-Layout-Simulation, liegt ja schon die
Netzliste mit der Anordnung der verschiedenen Komponenten vor. Somit kann die komplette
Schaltung auch bzgl. der verschiedenen Signallaufzeiten getestet werden. Beides geschieht mit einer
einfachen Methode, und zwar durch die Eingabe von Testvektoren (= Stimuli), werden die
verschiedenen Ausgaben, mittels
Funktionaler Verifikation, auf den verschiedenen
Abstraktionsebenen überprüft. So können in einer Schaltung Fehler nachgewiesen werden.
Bei der Simulation einer Schaltung mit einem VHDL
Simulator kann eine sogenannte Testbench (engl. für
Prüfstand) erzeugt werden. Dabei simuliert diese eine
reale Umgebung für den zu testenden Entwurf (DUT =
Device under Test). Diese überprüft dann, mit dem
Stimuli als Eingang, die Ausgabe, wie in Abbildung 5
ersichtlich. Bei einem auftretenden Fehler, wird dann
eine Fehlermeldung ausgegeben oder die Simulation abgebrochen.
Eine Simulation garantiert aber keine hundertprozentige Fehlerfreiheit, da das System nicht auf alle
möglichen Eventualitäten getestet werden kann. Da die Funktionale Verifikation immer mehr
Rechenzeit in Anspruch nimmt (die Anzahl der benötigten Stimuli steigt expotentiell mit der Anzahl
der Gatter), wird auch noch die Formale Verifikation verwendet.
Bei der Formalen Verifikation wird schon beim Entwurf die Schaltung auf Fehler kontrolliert. Sie
kann als eine automatische Durchführung mathematischer Beweise angesehen werden. Das Resultat
entspricht der funktionallen Simulation bei Eingabe aller Testvektoren. Mittels der formalen
Verifikation kann man die Anzahl der benötigten Testvektoren bei der funktionalen Verifikation
potenziell signifikant verringern.
Wie wichtig eine frühe Fehlererkennung und -beseitigung ist, verdeutlicht das in Abbildung 6
dargestellte
Diagramm, die so
genannte Zehnerregel.
Deshalb entfallen auch
mindestens 60 % des
Aufwandes bei der
Entwurfsentwicklung
auf Verifikation und
Fehlersuche
(Debugging).
Abbildung 5: Simulation einer Testbench [2]
Abbildung 6: Zehner Regel: Kosten der Fehlerbeseitigung [2]
|  |
|
| |
|
|