Testen komplexer digitaler Schaltungen mit Python
Abstract. Die Verifikation von digitalen Schaltungen nimmt heutzutage einen bedeutenden Stellenwert ein. In diesem Paper wird ein Weg beschrieben, der die Erstellung und Wartung von funktionalen Testbenches für digitale Designs unterstützt. Für viele Projekte übersteigt der zeitliche Aufwand für das Testen den Aufwand für die Implementierung der Schaltung. In vielen Fällen beträgt der Aufwand für das Testen bereits 70% des Entwicklungsaufwands (Bergeron, 2000).
Typischerweise wird die Testbench auch in der gewählten Hardwarebeschreibungssprache (VHDL oder Verilog) implementiert. Diese Sprachen stellen jedoch nicht die beste Wahl für Verifikationsbelange dar. Gründe dafür sind darin zu suchen, dass diese Sprachen wichtige Konzepte aus den Softwaresprachen (wie z.B. Objektorientierung) nicht kennen. Weiters stehen komfortable Softwarebibliotheken (Zufallszahlengenerierung, Stringverarbeitung, etc.) den Hardwaresprachen nicht zur Verfügung. In diesem Paper wird der Einsatz der Programmiersprache Python (PythonHomepage, 2003; Beazley, 2001) für die Verifikation vorgeschlagen, um die benötigte Zeit für die Funktionalen Tests zu reduzieren.