5 Testmethoden Ist der Entwurf der Integrierten Schaltung erfolgreich abgeschlossen, so beginnt die Fertigung der Chips. Jeder produzierte Chip muß auf Funktionalität und eventuell auf Erfüllung weiterer Anforderungen überprüft werden. Früher war es möglich, einen Chip vollständig zu prüfen und mit allen Kombinationen von Eingaben zu testen. Da das komplette Testen zu aufwendig wurde - immerhin steigt der Testaufwand exponentiell zum Schaltungsumfang an - wurden später nur noch repräsentative Fälle getestet. Hierzu werden schon während des Entwurfs typische Testmuster entworfen, die durch systematisches Vorgehen alle Fehler finden sollten, ohne jedoch alle möglichen Eingaben zu prüfen. Selbst diese Testmuster können bei vielen Schaltungen aus Effizienzgründen nicht mehr angewandt werden. Dann versucht man, die Schaltung sinnvoll in kleinere Einheiten zu zerlegen, die getrennt getestet werden, so daß nur noch die Kommunikation zwischen den verschiedenen Einheiten überprüft werden muß. Man geht zunehmend dazu über, schon im Entwurfsprozeß die Testfreundlichkeit einer Schaltung zu berücksichtigen. Dazu werden in der Schaltung Testhilfen eingebaut. Im einfachen Fall sind dieses einzelne Testpunkte im Inneren der Schaltung, die nach außen geführt werden. So läßt sich die Schaltung in Module trennen, deren Ein- und Ausgaben von außen meß- und steuerbar sind. Weiterhin können logische Gatter eingefügt werden, die ein Eingreifen in die Schaltung ermöglichen, um z.B. Module zu entkoppeln und getrennt zu bewerten (siehe [2]). |____ zusätzlicher ____| | Aufwand | ____________ _______ ______ ____________ ___| |_______| |______| |______| |____ | Modul 1 | ____| AND | ____| NAND | | Modul 2 | |___________| | |_____ | | |_____ | |___________| | | | | __________|___ ___|____________ von außen werden | Entkopplung | | Kontrolle | logische Signale |_____________| |_______________| angelegt Bild 6 : Erweiterte Testverfahren Die Schaltungen werden häufig um Prüfbusse erweitert, die die Ausgaben verschiedener Register nach außen umlenken oder gezielte Eingaben von außen ermöglichen. Die Scan - Path - Methode ( siehe [3] ) geht sogar soweit, daß alle internen Speicherelemente in einer Kette zu einem großen Schieberegister zusammengeschaltet werden. Dadurch ist die gesamte Schaltung von außen kontrollierbar. Es können alle Zwischen- schritte im Inneren des Chips ermittelt werden. Die Scan - Path - Methode gilt als der entscheidende Durchbruch beim Testen von Integrierten Schaltungen. Trotz des nicht unerheblichen Mehraufwands bei der Schaltungsentwicklung und in der Produktion setzt sich dieses Verfahren zunehmend durch. Hier wird es überhaupt erst möglich, aufgetretene Fehler effizient festzustellen - und deren Ursache zu finden. Die hier beschriebenen Methoden sind nicht nur für die Überprüfung der schon produzierten Chips von Bedeutung. Einzelne Testverfahren werden bereits zu früheren Stufen eingesetzt, in denen der Chip simuliert wird. 6 Steuerung des Entwicklungsprozesses Der Entwurf umfangreicher digitaler Systeme darf nicht rein zufällig geschehen. Es muß auf ein genaues Einhalten der vorgegebenen Entwurfsmethode geachtet werden. Insbesondere bei umfangreichen Schaltungen, die von mehreren Entwicklern gleichzeitig konstruiert werden, und bei denen eine einzelne Person nicht mehr den Überblick über die gesamte Schaltung hat, ist eine konsequente Überwachung des Entwurfsprozesses unabdingbar. Ein systematischer Entwurf ohne den Einsatz von Computersystemen ist heute gar nicht mehr denkbar. Es gibt bereits Entwicklungssysteme, die den ganzen Prozeß begleiten. Diese Entwicklungsumgebungen werden - sofern sie in jeder Stufe des Entwurfs einsetzbar sind, und den Übergang von einer Hierarchieebene in die nächste ermöglichen, auch Integrierte Umgebungen genannt. Die Integrierten Umgebungen bestehen aus einer Ansammlung einzelner Programme ( Tools ) , die dem Benutzer über eine einheitliche Schnittstelle zugänglich gemacht werden. Eine Besonderheit dieser Systeme liegt in dem Zugreifen aller verschiedenen Tools auf einen gemeinsamen Datenbestand. Dieses ist eine Datenbank, die alle zum System bekannten Informationen enthält, und sie unter verschiedenen Gesichtpunkten durch die Tools an den Benutzer gibt ( siehe [1] ). Normalerweise wird das Entwicklungsmodell streng hierarchisch von der höchsten Ebe- ne bis zum endgültigen Layout durchlaufen. Dieses Vorgehen ist zwar wünschenswert, aber in der Praxis selten realisierbar, da häufig noch Korrekturen an früher getroffenen Entscheidungen vorzunehmen sind, oder später noch Verbesserungen an der Schaltung vorgenommen werden. Zur Korrektur von Fehlern muß man meistens auf eine höhere Ebene des Modells zurückkehren. Dabei sollen aber Sprünge über mehrere Ebenen vermieden werden. Nach einem Sprung - auch über mehrere Ebenen - setzt man die Bearbeitung wieder schrittweise - entsprechend dem hierarchischen Modell - fort. Ein solches Modell wird auch als YoYo - Entwurfsstil ( siehe [6] ) bezeichnet. Es gibt weitere Ansätze, die mit speziell auf die Bedürfnisse der Benutzer abgestimmten Entwurfsmethoden arbeiten. Als ein Beispiel sei das VENUS - Projekt einer bedeutenden Firma aus München angeführt. Weiterhin ist es nicht immer nötig, die gesamte Schaltung neu zu entwerfen. Häufig besteht die Möglichkeit, auf frühere Entwicklungen zurückzugreifen. So gibt es z.B. Zellenkataloge, die eine Ansammlung von einfachen Gattern bis hin zu komplexen Steuerwerken beinhalten ( siehe [4] ) . Ein Nachteil bei Verwendung dieses "Baukastensystems" liegt in den stark eingeschränkten Möglichkeiten der Schaltungsoptimierung ( z.B. Einsparung von Baugruppen oder Verbesserung der geometrischen Anordnung der Bauteile ) . Häufig nimmt man diesen Nachteil aber in Kauf, da der Entwicklungs- aufwand der Schaltung durch die Zellenkataloge erheblich reduziert wird. Zudem ga- rantiert das Zurückgreifen auf bestehende und bereits getestete Schaltungsteile eine höhere Sicherheit.