DE102004033339A1 - Verfahren und Vorrichtung zum Auffinden von Schaltungsabweichungen - Google Patents

Verfahren und Vorrichtung zum Auffinden von Schaltungsabweichungen Download PDF

Info

Publication number
DE102004033339A1
DE102004033339A1 DE102004033339A DE102004033339A DE102004033339A1 DE 102004033339 A1 DE102004033339 A1 DE 102004033339A1 DE 102004033339 A DE102004033339 A DE 102004033339A DE 102004033339 A DE102004033339 A DE 102004033339A DE 102004033339 A1 DE102004033339 A1 DE 102004033339A1
Authority
DE
Germany
Prior art keywords
circuit
function blocks
function
reference circuit
signal flow
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE102004033339A
Other languages
English (en)
Inventor
Stefan HÖRETH
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Onespin Solutions GmbH
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102004033339A priority Critical patent/DE102004033339A1/de
Priority to US11/177,203 priority patent/US7373623B2/en
Publication of DE102004033339A1 publication Critical patent/DE102004033339A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Abstract

Die Erfindung betrifft das Auffinden von Schaltungsabweichungen bzw. Schaltungsfehlern in einer Schaltung (10') bezüglich einer Referenzschaltung (10). Die Schaltung (10') und die Referenzschaltung (10) sind dabei jeweils durch Signalflussgraphen beschreibbar, wobei die Signalflussgraphen sich aus einer Vielzahl von untereinander verbundenen Funktionsblöcken zusammensetzen. Erfindungsgemäß erfolgt zunächst ein Zuordnen von Funktionsblöcken der Schaltung (10') zu entsprechenden Funktionsblöcken der Referenzschaltung (10). Anschließend werden diejenigen Funktionsblöcke der Schaltung (10') bzw. der Referenzschaltung (10) bestimmt, für welche die Zuordnung nicht vorgenommen werden konnte und welche mindestens einen im Signalfluss vorgelagert angeordneten Funktionsblock aufweisen, für welchen die Zuordnung vorgenommen werden konnte. Hieraus ergibt sich eine Schnittgrenze zwischen einem zugeordneten und einem nicht zugeordneten Bereich der Schaltung (10') bzw. der Referenzschaltung (10). Vorzugsweise erfolgt eine Darstellung der Schaltung (10') und der Referenzschaltung (10), in welcher die den nicht zugeordneten Funktionsblöcken entsprechenden Bereiche hervorgehoben dargestellt sind.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren sowie eine Vorrichtung zum Auffinden von Schaltungsabweichungen, wobei eine Schaltung, insbesondere in Form eines anwendungsspezifischen integrierten Schaltkreises mit einer Referenzschaltung verglichen wird, um in der Schaltung funktionale Abweichungen bezüglich der Referenzschaltung aufzufinden.
  • Bei der Entwicklung von anwendungsspezifischen integrierten Schaltkreisen, so genannten ASICs (Application Specific Integrated Circuits) ist es in der Regel erforderlich, verschiedene Versions- oder Optimierungszustände des Schaltungsentwurfs miteinander zu vergleichen. Hierfür sind rechnergestützte Verfahren bekannt, welche eine Schaltung mit einer Referenzschaltung hinsichtlich deren funktionaler Äquivalenz vergleichen. Hierbei ist die Schaltung und die Referenzschaltung typischerweise durch eine für den rechnergestützten Schaltungsentwurf geeignete Schaltungsbeschreibungssprache beschrieben.
  • Ein solcher Äquivalenzvergleich von Schaltungen wird insbesondere dann vorgenommen, wenn überprüft werden soll, ob eine spätere Version des Schaltungsentwurfs mit einer früheren oder der ursprünglichen Version des Schaltungsentwurfs übereinstimmt. Auf diese Weise kann sichergestellt werden, dass die gemäß dem endgültigen Schaltungsentwurf hergestellte Schaltung auch die gemäß dem ursprünglichen Schaltungsentwurf vorgesehene Funktionalität aufweist.
  • Wenn hingegen bei einem solchen Äquivalenzvergleich einer Schaltung und einer Referenzschaltung eine funktionale Abweichung zwischen der Schaltung und der Referenzschaltung festgestellt wird, ist es erforderlich, diese funktionale Abwei chung in dem Schaltungsentwurf aufzufinden und zu lokalisieren, um eine entsprechende Korrektur vornehmen zu können.
  • In diesem Zusammenhang ist es bekannt, den Fehler anhand eines Fehlermodells aufzufinden. Einem solchen Fehlermodell liegt in der Regel eine bestimmte Annahme über die Art des Fehlers (z.B. unverbundene Schaltungsnetze oder Funktionsblöcke, zusätzliche Inverter usw.) zugrunde. Weiterhin ist es bekannt, anhand von Simulationen Wahrscheinlichkeitsaussagen über den Fehlerort zu machen. Ein weiterer Ansatz basiert darauf, interne Äquivalenzen von Schaltungen zu ermitteln. Dies bedeutet, dass einzelne Schaltungsbereiche jeweils paarweise hinsichtlich ihrer Äquivalenz überprüft werden. Hierfür ist es jedoch erforderlich, zunächst mögliche Paarungen für solche internen Äquivalenzen zu erstellen, was beispielsweise anhand von in der Schaltungsbeschreibung verwendeten Namen erfolgen kann.
  • Die zuvor beschriebenen Ansätze zum Auffinden von Schaltungsabweichungen weisen jedoch dahingehend Probleme auf, dass sie einen hohen Aufwand erfordern und zum Teil keine exakte Aussage über den Ort der Abweichung möglich ist.
  • Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren sowie eine Vorrichtung zum Auffinden von Schaltungsabweichungen bereitzustellen, wobei das Auffinden von Schaltungsabweichungen mit hoher Genauigkeit und mit einem geringen Aufwand erreicht wird.
  • Diese Aufgabe wird gelöst durch ein Verfahren gemäß Anspruch 1 und eine Vorrichtung gemäß Anspruch 16. Die abhängigen Ansprüche definieren bevorzugte und vorteilhafte Ausführungsformen der Erfindung.
  • Der Erfindung liegen insbesondere folgende Beobachtungen zugrunde:
    • – Bei der Schaltungsentwicklung, d.h. beim Übergang von einem früheren zu einem späteren Schaltungsentwurf der Schaltung werden Signalabhängigkeitsbeziehungen durch beim Erstellen des Schaltungsentwurfs verwendete Synthesewerkzeuge oder bei Optimierungen des Schaltungsentwurfs nur unwesentlich oder lokal verändert. Die Signalabhängigkeitsbeziehungen beinhalten dabei insbesondere die Abhängigkeit des an einem Signalausgang oder den Signalausgängen eines Funktionsblocks der Schaltung beobachteten Verhaltens bezüglich Schaltungseingängen der Schaltung oder bezüglich im Signalfluss vorgelagert angeordneten Funktionsblöcken. Unter Funktionsblöcken sind hierbei beispielsweise Schaltnetze, Schaltwerke, kombinatorische oder logische Verknüpfungselemente und Kombinationen daraus zu verstehen.
    • – Bei Auftreten eines Fehlers oder einer funktionalen Abweichung in der Schaltung werden an den der Fehlerstelle oder Abweichungsstelle im Signalfluss nachgelagert angeordneten Funktionsblöcken Funktionen ausgeübt bzw. berechnet, welche in der ursprünglichen, nicht fehlerhaften Schaltung nicht vorhanden sind, oder welche bei zusätzlicher Betrachtung der Signalabhängigkeitsbeziehungen leicht als fehlerhaft erkannt werden können.
  • Das erfindungsgemäße Verfahren und die entsprechende erfindungsgemäße Vorrichtung beziehen sich dabei auf Schaltungen, welche jeweils durch eine Vielzahl von Funktionsblöcken umfassende Signalflussgraphen beschreibbar sind. Ein Funktionsblock übt dabei bezüglich seiner Eingänge eine bestimmte Funktion aus bzw. berechnet eine bestimmte Funktion, welche sich in dem an dem Ausgang oder den Ausgängen des Funktionsblocks beobachteten Verhalten äußert. Ein solcher Funktionsblock kann im Sinne der Anmeldung einen oder mehrere Eingänge sowie einen oder mehrere Ausgänge umfassen. In dem Signalflussgraphen sind die Funktionsblöcke miteinander gekoppelt, indem ein Ausgang eines im Signalfluss vorgelagerten Funktionsblocks mit einem Eingang eines im Signalfluss nachgelagerten Funktionsblocks verbunden ist. Ein Schaltungseingang ist jeweils mit einem Eingang eines der Funktionsblöcke gekoppelt und ein Schaltungsausgang ist jeweils mit einem Ausgang eines der Funktionsblöcke gekoppelt. Für den Signalflussgraphen der Schaltung ergibt sich somit eine verzweigte netzartige Struktur.
  • Das erfindungsgemäße Verfahren basiert auf einem Vergleich der Schaltung mit einer Referenzschaltung, wobei die Schaltung und die Referenzschaltung jeweils durch einen Signalflussgraphen der oben beschriebenen Art beschreibbar sind. Bei der Schaltung und der Referenzschaltung kann es sich beispielsweise um Schaltungsentwürfe handeln, welche aus dem gleichen ursprünglichen Schaltungsentwurf durch Optimierungen oder Weiterentwicklungen hervorgegangen sind, oder um einen Schaltungsentwurf und den ursprünglichen Schaltungsentwurf, aus welchem dieser Schaltungsentwurf hervorgegangen ist.
  • Erfindungsgemäß ist vorgesehen, dass Funktionsblöcke der Schaltung zu entsprechenden Funktionsblöcken der Referenzschaltung zugeordnet werden. Im Falle einer Schaltungsabweichung zwischen der Schaltung und der Referenzschaltung wird aus den oben dargelegten Gründen eine Zuordnung aller Funktionsblöcke der Schaltung zu entsprechenden Funktionsblöcken der Referenzschaltung jedoch nicht möglich sein. Es ergibt sich somit eine Menge von zugeordneten Funktionsblöcken der Schaltung und von nicht zugeordneten Funktionsblöcken der Schaltung. In einem weiteren Schritt werden diejenigen Funktionsblöcke der Schaltung bestimmt, welchen kein Funktionsblock der Referenzschaltung zugeordnet werden konnte und welche jeweils einen im Signalfluss vorgelagert angeordneten Funktionsblock aufweisen, welchem ein Funktionsblock der Referenzschaltung zugeordnet werden konnte. Vorzugsweise wird bei der Bestimmung der Funktionsblöcke vorausgesetzt, dass bei mehreren im Signalfluss vorgelagert angeordneten Funktionsblöcken alle dieser vorgelagerten Funktionsblöcke zugeordnet werden konnten.
  • Die durch das erfindungsgemäße Verfahren bestimmten Funktionsblöcke ermöglichen es, die aufzufindenden Schaltungsabweichungen zu lokalisieren. Diese finden sich dabei in den Funktionsblöcken selbst, z.B. in darin fehlerhaft ausgebildeten logischen Gattern oder Verbindungen, oder in den Verbindungen zu den im Signalfluss vorgelagert angeordneten Funktionsblöcken. Um auch Abweichungen auffinden zu können, welche bei Funktionsblöcken auftreten, die keine im Signalfluss vorgelagerten Funktionsblöcke aufweisen, z.B. direkt den Schaltungseingängen nachgelagert angeordnete Funktionsblöcke, oder Funktionsblöcke, bei welchen die Schaltungsabweichung darin besteht, dass alle Verbindungen zu den im Signalfluss vorgelagerten Funktionsblöcken unterbrochen sind oder fehlen, ist es erfindungsgemäß bevorzugt, zusätzlich auch diejenigen Funktionsblöcke der Schaltung zu bestimmen, welchen kein Funktionsblock der Referenzschaltung zugeordnet werden konnte, und welche keinen im Signalfluss vorgelagerten Funktionsblock aufweisen.
  • Vorzugsweise wird bei dem erfindungsgemäßen Verfahren der Signalflussgraph der Schaltung dargestellt und ein den nicht zugeordneten Funktionsblöcken entsprechender Bereich gegenüber einem den zugeordneten Funktionsblöcken entsprechenden Bereich hervorgehoben. Dies kann beispielsweise dadurch geschehen, dass die zugeordneten Funktionsblöcke und/oder die Verbindungen zwischen den zugeordneten Funktionsblöcken farblich markiert werden. Alternativ oder zusätzlich ist auch eine farbliche Markierung der nicht zugeordneten Funktionsblöcke und/oder der Verbindungen zwischen den nicht zugeordneten Funktionsblöcken möglich. Hierdurch können die Zuordnungsinformationen zwischen der Schaltung und der Referenzschaltung für einen Anwender des Verfahrens, z.B. einen Schaltungsentwickler, anschaulich dargestellt werden. Auch tritt in einer solchen Darstellung die Grenze zwischen Bereichen von zugeordneten Funktionsblöcken und nicht zugeordneten Funktionsblöcken der Schaltung deutlich zutage, wodurch die aufzufindenden Abweichungen zwischen der Schaltung und der Referenz schaltung auf komfortable Weise optisch lokalisiert werden können.
  • Gemäß der vorliegenden Erfindung erfolgt die Zuordnung von Funktionsblöcken der Schaltung zu jeweils einem entsprechenden der Funktionsblöcke der Referenzschaltung vorzugsweise iterativ auf Basis der Menge der bereits zugeordneten Funktionsblöcke oder Schaltungseingänge, welche bezüglich der zuzuordnenden Funktionsblöcke der Schaltung und der Referenzschaltung jeweils im Signalfluss vorgelagert angeordnet sind, wobei eine Zuordnung der Schaltungseingänge der Schaltung zu den Schaltungseingängen der Referenzschaltung vorgegeben wird. Dies bedeutet, dass die Zuordnung der Funktionsblöcke der Schaltung zu den Funktionsblöcken der Referenzschaltung auf Basis der jeweils im Signalfluss vorgelagerten Elemente der Schaltung erfolgt, welche bereits zugeordnet sind.
  • Bevorzugt wird bei der Zuordnung die jeweilige Funktion, welche die einander zuzuordnenden Funktionsblöcke der Schaltung und der Referenzschaltung ausüben oder berechnen als Zuordnungsinformation berücksichtigt. Diese Funktion der Funktionsblöcke kann dabei für jeden der Funktionsblöcke bezüglich seiner Eingänge definiert sein. Vorzugsweise wird die Funktion der Funktionsblöcke jedoch jeweils bezüglich der Signaleingänge der Schaltung bzw. der Referenzschaltung definiert. Bevorzugt erfolgt die Zuordnung auf Basis der Funktion der Funktionsblöcke dann derart, dass die Funktionsblöcke der Schaltung jeweils nur einem der Funktionsblöcke der Referenzschaltung zugeordnet werden, welcher die gleiche Funktion ausübt. Es ist dabei besonders vorteilhaft, wenn die Funktionsblöcke der Schaltung und der Referenzschaltung hinsichtlich ihrer Funktion, welche sie in der Schaltung bzw. der Referenzschaltung ausüben, klassifiziert werden. Durch die Klassifizierung, d.h. die Zuordnung der Funktionsblöcke zu einer bestimmten Klasse, welche durch ihre Funktion bestimmt ist, kann der Zuordnungsvorgang zwischen den Funktionsblöcken der Schaltung und den Funktionsblöcken der Referenzschaltung vereinfacht werden, da die jeweiligen Funktionen der Funktionsblöcke nicht mehrfach bestimmt werden müssen.
  • Auf die oben beschriebene Weise ist mit einem besonders geringen Aufwand eine exakte Zuordnung zwischen den Funktionsblöcken der Schaltung und den Funktionsblöcken der Referenzschaltung möglich. Es muss lediglich die Zuordnung zwischen den Schaltungseingängen der Schaltung und der Referenzschaltung vorgegeben werden, welche in der Regel ohnehin verfügbar ist oder mit geringem Aufwand erstellt werden kann.
  • Das erfindungsgemäße Verfahren kann auf eine weitere, insbesondere auf eine von dem Signalflussgraphen abweichende, Schaltungsbeschreibung übertragen werden. In diesem Fall werden Elemente der entsprechenden Darstellung, wenn sie mindestens einen nicht zugeordneten Funktionsblock umfassen, gegenüber Elementen, die keinen nicht zugeordneten Funktionsblock umfassen, hervorgehoben dargestellt. Die Hervorhebung kann wiederum, ähnlich wie bereits zuvor beschrieben, durch eine farbliche Markierung der entsprechenden Elemente der Darstellung erfolgen. Die weitere Schaltungsbeschreibung kann dabei insbesondere einer bezüglich des Signalflussgraphen höheren Hierarchieebene entsprechen, wobei die Elemente der weiteren Schaltungsbeschreibung durch übergeordnete Schaltungsmodule oder Schaltungsblöcke gebildet sind, welche jeweils mindestens einen der Funktionsblöcke umfassen. Auf diese Weise ist das Ergebnis des erfindungsgemäßen Verfahrens in verschiedenen Darstellungsformen der Schaltung verfügbar und somit für eine Vielzahl von verschiedenen Analysen oder Überarbeitungen der Schaltung verwendbar.
  • Das erfindungsgemäße Verfahren wird vorzugsweise bezüglich der Schaltung und der Referenzschaltung symmetrisch ausgeführt. Dies bedeutet, dass die Schaltung und die Referenzschaltung auf die gleiche Weise und durch die gleichen Algorithmen verarbeitet werden, und dass die zuvor beschriebenen Verfahrensschritte in gleicher Weise auch für die Referenzschaltung durchgeführt werden. Der entsprechende Verfahrens ablauf für die Referenzschaltung ergibt sich dabei durch Austauschen der Schaltung und der Referenzschaltung in den zuvor beschriebenen Verfahrensschritten. Auf diese Weise wird die Aussagekraft des erfindungsgemäßen Verfahrens zum Auffinden von Schaltungsabweichungen weiter erhöht. Insbesondere ergeben sich Verbesserungen hinsichtlich des Auffindens von Schaltungsabweichungen, bei denen in der Schaltung bezüglich der Referenzschaltung ein hinsichtlich seiner Funktion von der übrigen Schaltung unabhängiger Teil fehlt. Die symmetrische Durchführung des Verfahrens bezüglich der Schaltung und der Referenzschaltung erfordert außerdem nur einen geringen zusätzlichen Aufwand, da insbesondere die erforderliche Zuordnungsinformation zwischen Funktionsblöcken der Schaltung und Funktionsblöcken der Referenzschaltung nur einmal bestimmt werden muss.
  • Die vorliegende Erfindung betrifft weiterhin eine Vorrichtung zum Auffinden von Schaltungsabweichungen. Der Vorrichtung liegt wiederum die zuvor beschriebene Schaltungsbeschreibung als Signalflussgraph zugrunde. Die erfindungsgemäße Vorrichtung umfasst Eingabemittel zur Eingabe von Schaltungsdaten, welche die Schaltung und die Referenzschaltung beschreiben und Datenverarbeitungsmittel, welche dazu ausgestaltet sind, durch Verarbeiten der Schaltungsdaten ein Zuordnen von Funktionsblöcken der Schaltung zu entsprechenden Funktionsblöcken der Referenzschaltung und ein Bestimmen von denjenigen Funktionsblöcken der Schaltung, welchen kein Funktionsblock der Referenzschaltung zugeordnet werden konnte, und welche einen im Signalfluss vorgelagerten Funktionsblock aufweisen, dem ein Funktionsblock der Referenzschaltung zugeordnet werden konnte, durchzuführen. Die Vorrichtung ist darüber hinaus vorzugsweise zur Durchführung des zuvor beschriebenen erfindungsgemäßen Verfahrens ausgestaltet.
  • Die Erfindung betrifft außerdem ein Computerprogrammprodukt mit einem Programmcode, welcher derart ausgestaltet ist, dass bei seiner Verwendung mit einem Computersystem das erfindungsgemäße Verfahren durchgeführt wird.
  • Die vorliegende Erfindung ermöglicht mit einem geringen Aufwand das Auffinden von Schaltungsabweichungen mit hoher Genauigkeit. Hinsichtlich der Genauigkeit ist es besonders vorteilhaft, dass nur solche Funktionsblöcke einander zugeordnet werden, welche in der jeweiligen Schaltung dieselbe Funktion ausüben. Die Erfindung ermöglicht durch die Hervorhebung der den nicht zugeordneten Funktionsblöcken entsprechenden Bereiche für den Anwender eine gute Orientierung in der Schaltung bzw. der Referenzschaltung. Insbesondere kann schnell und komfortabel ein Überblick über den Ort der Schaltungsabweichungen und die damit verbundene Fehlerausbreitung gewonnen werden. Die gemäß der vorliegenden Erfindung bestimmten Funktionsblöcke ermöglichen direkt eine Lokalisierung der Abweichungsstelle oder Fehlerstelle, da sie die Abweichungsstelle umfassen oder in vielen Fällen sogar selbst die Abweichungsstelle bilden.
  • Es hat sich weiterhin gezeigt, dass das erfindungsgemäße Verfahren das Auffinden von Schaltungsabweichungen mit einem geringen Zeitaufwand ermöglicht. Der Zeitaufwand für das Auffinden der Schaltungsabweichungen entspricht dabei typischerweise ungefähr dem für einen herkömmlichen Äquivalenzvergleich der Schaltung und der Referenzschaltung erforderlichen Zeitaufwand.
  • Es hat sich darüber hinaus gezeigt, dass die vorliegende Erfindung vergleichsweise unempfindlich gegenüber fehlerhaften Informationen ist, welche beispielsweise durch eine Fehlbedienung durch den Anwender hervorgerufen werden können. Insbesondere ist auch dann noch ein gutes Auffinden der Schaltungsabweichungen möglich, wenn z.B. Funktionsblöcke hinsichtlich ihrer Funktion einer falschen Klasse zugeordnet wurden. Auch in diesem Fall ist eine Eingrenzung der Schaltungsabweichungsstellen oder Fehlerstellen möglich, wobei durch eine exaktere Zuordnung der Funktionsblöcke hinsichtlich ihrer Funktion zu einer Klasse in der Regel auch eine exaktere Lokalisierung der Schaltungsabweichungsstellen ermöglicht wird.
  • Die vorliegende Erfindung ist besonders geeignet als Ergänzung zu einem Äquivalenzvergleich der Schaltung und der Referenzschaltung, wie er aus dem Stand der Technik bekannt ist. In diesem Fall würden die Schaltung und die Referenzschaltung zunächst hinsichtlich ihrer Funktion auf Äquivalenz überprüft und, falls sich keine Äquivalenz der Schaltung und der Referenzschaltung zeigt, würden dann die hierfür ursächlichen Schaltungsabweichungen gemäß der vorliegenden Erfindung aufgefunden und lokalisiert, oder es wird zunächst mit dem erfindungsgemäßen Verfahren versucht, Schaltungsabweichungen aufzufinden, und wenn keine aufgefunden werden, wird der Äquivalenzvergleich durchgeführt.
  • Die vorliegende Erfindung wird nachfolgend unter Bezugnahme auf die beigefügten Zeichnungen anhand eines bevorzugten Ausführungsbeispiels näher erläutert.
  • 1 zeigt eine Schaltung und eine Referenzschaltung, welche jeweils durch einen Signalflussgraphen beschrieben sind.
  • 2 zeigt die Schaltung und die Referenzschaltung von 1, wobei die Schaltung eine Schaltungsabweichung bezüglich der Referenzschaltung aufweist.
  • 3 zeigt die Schaltung und die Referenzschaltung von 1, wobei die Schaltung bezüglich der Referenzschaltung eine Schaltungsabweichung aufweist, welche sich von derjenigen von 2 unterscheidet.
  • 4 zeigt beispielhaft jeweils den Signalflussgraphen einer Schaltung und einer Referenzschaltung, in welchen Funktionsblöcke und die Verbindungen dazwischen, für welche keine Zuordnung vorgenommen werden konnte, erfindungsgemäß hervorgehoben dargestellt sind.
  • 5 zeigt ein Flussdiagramm, welches den Ablauf des erfindungsgemäßen Verfahrens veranschaulicht.
  • 6 zeigt eine Darstellung einer Schaltung gemäß einer von einem Signalflussgraphen abweichenden Schaltungsbeschreibung, in welcher ein Element, welches einen nicht zugeordneten Funktionsblock umfasst, erfindungsgemäß hervorgehoben dargestellt ist.
  • 7 zeigt eine erfindungsgemäße Vorrichtung zum Auffinden von Schaltungsabweichungen in Form eines Computersystems.
  • In der nachfolgenden Beschreibung wird ein Verfahren zum Auffinden von Schaltungsabweichungen einer Schaltung 10' bezüglich einer Referenzschaltung 10 erläutert. In dem beschriebenen Beispiel basieren die Schaltung 10 und die Referenzschaltung 10' auf einem gemeinsamen ursprünglichen Schaltungsentwurf. Insbesondere handelt es sich bei der Schaltung 10' um einen Schaltungsentwurf, welcher bei der Schaltungsentwicklung aus der Referenzschaltung 10 hervorgegangen ist. Bei solchen zu unterschiedlichen Entwicklungsstadien gehörenden Schaltungsentwürfen ist es erforderlich, dass sie hinsichtlich ihrer Funktion äquivalent sind.
  • 1 zeigt eine Schaltung 10' und eine Referenzschaltung 10, welche jeweils in Form eines Signalflussgraphen dargestellt sind. Die Schaltung 10' und die Referenzschaltung 10 umfassen dabei jeweils Funktionsblöcke 11'-17' bzw. 11-17. Die Funktionsblöcke 11-17, 11'-17' weisen dabei jeweils eine bestimmte Funktion auf, was durch die Kennzeichnung f1, f2 bzw. f3 angedeutet ist. Diese Funktionen sind für jeden der Funktionsblöcke durch das Verhalten eines Ausgangs des Funktionsblocks bezüglich seiner Eingänge definiert. Es kann sich dabei beispielsweise um einfache logische Verknüpfungen oder auch um komplexere zusammengesetzte Operationen handeln. Die Funktionsblöcke können somit durch einfache logische Gatter gebildet sein oder auch durch eine Verknüpfung von mehreren logischen Gattern.
  • In den in 1 gezeigten Signalflussgraphen sind die Funktionsblöcke 11-17, 11'-17' miteinander gekoppelt, indem der Ausgang eines im Signalfluss vorgelagert angeordneten Funktionsblocks 11-17, 11'-17' mit jeweils einem der Eingänge eines im Signalfluss nachgelagert angeordneten Funktionsblocks verbunden ist. Weiterhin sind Funktionsblöcke11'-17', 11-17 vorhanden, deren Eingänge mit Schaltungseingängen 1'-9' und 1-9 der Schaltung 10' bzw. der Referenzschaltung 10 gekoppelt sind. Ein Ausgang eines im Signalfluss zuletzt angeordneten Funktionsblocks 17', 17 ist jeweils mit einem Signalausgang 20', 20 der Schaltung 10' bzw. der Referenzschaltung 10 gekoppelt.
  • Die Schaltung 10' und die Referenzschaltung 10 von 1 sind beispielhaft zur Veranschaulichung des zu beschreibenden Verfahrens dargestellt, und es versteht sich, dass eine Vielzahl von anderen Schaltungsanordnungen möglich ist. Insbesondere bestehen dabei keinerlei Beschränkungen hinsichtlich der Anzahl von Eingängen und Ausgängen der Funktionsblöcke, so dass ein Funktionsblock beispielsweise auch mehrere Ausgänge aufweisen könnte. Weiterhin ist es selbstverständlich auch denkbar, dass eine Schaltungsanordnung mehrere Schaltungsausgänge ausweist, wobei dann jedoch in der Regel eine Aufteilung der Schaltung in Signalflussgraphen des in 1 gezeigten Typs mit nur einem Schaltungsausgang möglich ist. Bei einer solchen Aufteilung kommt es typischerweise zu Überschneidungen zwischen den jeweils zu einem Schaltungsausgang gehörenden Schaltungsteilen, weil komplexere Schaltungen in der Regel Schaltungseingänge aufweisen, die sich auf mehr als einen Schaltungsausgang auswirken. Der Teil einer Schaltung, welcher sich ausschließlich auf einen bestimmten Schaltungsausgang auswirkt, wird gewöhnlich als Logikkonus bezeichnet. Die in 1 dargestellte Schaltung 10' und Referenzschaltung 10 umfassen jeweils lediglich einen solchen Logikkonus, wobei das nachfolgend beschriebene Verfahren ohne Einschränkung auch auf Schaltungsanordnungen mit mehreren Logikkonussen anwendbar ist. Insbesondere sei an dieser Stelle ange merkt, dass für das beschriebene Verfahren auch keine Analyse oder Identifizierung dieser Logikkonusse erforderlich ist.
  • Die in 1 dargestellte Schaltung 10' ist hinsichtlich ihrer Funktion zu der Referenzschaltung 10 äquivalent. In diesem Fall ist es möglich, alle Elemente der Schaltung 10' eindeutig jeweils einem Element der Referenzschaltung 10 zuzuordnen. Insbesondere können die Schaltungseingänge 1', 2', 3' der Schaltung 10' den Schaltungseingängen 5, 6, 7 der Referenzschaltung 10 zugeordnet werden, die Schaltungseingänge 4', 5' der Schaltung 10' können den Schaltungseingängen 8, 9 der Referenzschaltung 10 zugeordnet werden, die Schaltungseingänge 6', 7' der Schaltung 10' können den Schaltungseingängen 3, 4 der Referenzschaltung 10 zugeordnet werden, und die Schaltungseingänge 8', 9' der Schaltung 10' können den Schaltungseingängen 1, 2 der Referenzschaltung 10 zugeordnet werden. Weiterhin können die Funktionsblöcke 11', 12' der Schaltung 10' den Funktionsblöcken 13, 14 der Referenzschaltung 10 zugeordnet werden, die Funktionsblöcke 13', 14' der Schaltung 10' können den Funktionsblöcken 11, 12 der Referenzschaltung 10 zugeordnet werden, und die Funktionsblöcke 15', 16', 17' der Schaltung 10' können den Funktionsblöcken 15, 16, 17 der Referenzschaltung 10 zugeordnet werden. Bei der zuvor genannten Zuordnung der Schaltungseingänge ergibt sich somit für die Schaltungsausgänge 20' und 20 die gleiche Signalabhängigkeit von den Schaltungseingängen 1'-9' bzw. 1-9, und die Schaltung 10' und die Referenzschaltung 10 sind hinsichtlich ihrer Funktion äquivalent.
  • 2 zeigt die Schaltung 10' und die Referenzschaltung 10 von 1, wobei jedoch in der Schaltung 10' eine Abweichung bezüglich der Referenzschaltung 10 eingefügt ist. Diese Abweichung besteht in der Funktion des Funktionsblocks 16'. Hieraus ergibt sich, dass die Funktionsblöcke 16', 17' an ihren jeweiligen Ausgängen nicht mehr die gleiche Signalabhängigkeit aufweisen, wie die Funktionsblöcke 16, 17 der Referenzschaltung 10. Auf Basis dieser Signalabhängigkeit können die Funktionsblöcke 16', 17' der Schaltung 10' somit nicht mehr den Funktionsblöcken 16, 17 der Referenzschaltung 10 zugeordnet werden. Für die übrigen Funktionsblöcke 11'-15', 11-15 ist diese Zuordnung jedoch nach wie vor möglich. Es ergibt sich somit sowohl für die Schaltung 10' als auch für die Referenzschaltung 10 eine Menge von zugeordneten Funktionsblöcken 11-17, 11'-17' und eine Menge von nicht zugeordneten Funktionsblöcken 11-17, 11'-17'.
  • Wenn die Zuordnung wie beschrieben auf Basis der Signalabhängigkeit am Ausgang der Funktionsblöcke 11-17, 11'-17' erfolgt, führt eine abweichende Signalabhängigkeit von den Schaltungseingängen 1-9, 1'-9' auch an dem diesem Funktionsblock 11-17, 11'-17' nachgelagert angeordneten Funktionsblock 11-17, 11'-17' zu einer abweichenden Signalabhängigkeit, was sich auf diese Weise in Richtung des Schaltungsausgangs 20, 20' fortsetzt. Die Menge der nicht zugeordneten Funktionsblöcke 11-17, 11'-17' wird sich somit von einem ersten nicht zugeordneten Funktionsblock 11-17, 11'-17' in Richtung des Schaltungsausgangs 20, 20' erstrecken, wie es in 2 gezeigt ist. Der erste nicht zugeordnete Funktionsblock 11-17, 11'-17' weist dabei ausschließlich im Signalfluss vorgelagert angeordnete Funktionsblöcke 11-17, 11'-17' auf, für welche die Zuordnung vorgenommen werden kann. Die den nicht zugeordneten Funktionsblöcke 11-17, 11'-17' entsprechende Bereiche der Schaltung 10' und der Referenzschaltung 10 sind in 2 hervorgehoben dargestellt. In 2 ist die Hervorhebung durch eine Schraffur sowohl der Funktionsblöcke 16, 17, 16', 17' und der ihnen im Signalfluss nachgelagerten Verbindungen bewerkstelligt.
  • Wie aus 2 erkennbar ist, ist die Schaltungsabweichungsstelle im Bereich des im Signalfluss zuerst angeordneten Funktionsblocks 11-17, 11'-17', für welchen die Zuordnung nicht möglich war, lokalisiert. Diese Schaltungsabweichungsstelle ist in 2 für die Schaltung 10' und die Referenzschaltung 10 jeweils durch einen Pfeil D gekennzeichnet.
  • 3 zeigt eine der 2 ähnliche Darstellung, wobei jedoch in der Schaltung 10' eine von der Schaltungsabweichung in 2 unterschiedliche Schaltungsabweichung eingefügt wurde. In diesem Fall besteht die Schaltungsabweichung in einer fehlenden Verbindung zwischen dem Funktionsblock 12' und dem Funktionsblock 15'. Wiederum ergibt sich hieraus eine abweichende Signalabhängigkeit, und zwar zunächst am Ausgang des Funktionsblocks 15' der Schaltung 10' bezüglich des Funktionsblocks 15 der Referenzschaltung 10. Die abweichende Signalabhängigkeit bezüglich der Schaltungseingänge 1-9, 1'-9' setzt sich wie bereits für 2 beschrieben in Richtung des Schaltungsausgangs 20, 20' fort, so dass die auf der Signalabhängigkeit basierende Zuordnung der Funktionsblöcke 15', 16', 17' der Schaltung 10' zu den Funktionsblöcken 15, 16, 17 der Referenzschaltung 10 nicht möglich ist. Die den nicht zugeordneten Funktionsblöcken entsprechenden Bereiche sind wiederum durch eine Schraffur hervorgehoben und der im Signalfluss zuerst angeordnete Funktionsblock 15, 15' ist mit einem Pfeil D gekennzeichnet. Auch in 3 ist erkennbar, dass die Schaltungsabweichung im Bereich des Funktionsblocks 15', 15, für welchen die Zuordnung nicht möglich war, lokalisiert ist.
  • 4 zeigt, ähnlich wie 2 und 3, Signalflussgraphen einer Schaltung 10' bzw. einer Referenzschaltung 10, in welchen den nicht zugeordneten Funktionsblöcken entsprechende Bereiche hervorgehoben dargestellt sind. Die Schaltung 10' und die Referenzschaltung 10 von 4 gehen wiederum aus einem gemeinsamen Schaltungsentwurf hervor, wobei in diesem Fall jedoch eine im Vergleich zu den 1-3 deutlich komplexere Schaltungsanordnung beschrieben ist. Die im Signalfluss zuerst angeordneten Funktionsblöcke 11-17, 11'-17', für welche die Zuordnung zwischen der Schaltung 10' und der Referenzschaltung 10 nicht möglich ist, sind wiederum durch einen Pfeil D gekennzeichnet. Wie es aus 4 erkennbar ist, ermöglichen es die durch die Pfeile D gekennzeichneten Funktionsblöcke, die Schaltungsabweichungsstelle zu lokalisieren.
  • In 5 ist ein Ablauf des Verfahrens zum Auffinden von Schaltungsabweichungen anhand eines Flussdiagramms beschrieben. Das Verfahren ist insbesondere zur Implementierung auf einem Computersystem geeignet.
  • Im Signalflussgrapherzeugungsschritt 100 wird für die Schaltung 10' und die Referenzschaltung 10 jeweils ein Signalflussgraph der in den 1-4 dargestellten Art erstellt. Dies geschieht auf Basis von Schaltungsdaten in einem computerlesbaren Format, wobei es sich beispielsweise um eine der in der Schaltungsentwicklung gebräuchlichen Schaltungsbeschreibungssprachen handeln kann. Die Signalflussgraphen der Schaltung 10' und der Referenzschaltung 10 werden für einen Anwender wahrnehmbar dargestellt, beispielsweise auf einem Bildschirm des Computersystems.
  • Im Funktionsblockklassifizierungsschritt 110 werden die Funktionsblöcke 11-17, 11'-17' der Schaltung 10' und der Referenzschaltung 10 hinsichtlich ihrer Funktion, welche sie in der Schaltung 10' bzw. der Referenzschaltung 10 ausüben, klassifiziert. Die Funktion der Funktionsblöcke 11-17, 11'-17' wird dabei anhand der Funktion, welche bezüglich der Schaltungseingänge 1-9, 1'-9' der Schaltung 10' bzw. der Referenzschaltung 10 ausgeübt wird, definiert. Dies bedeutet, dass Funktionsblöcke, welche abhängig von Signalen an den Schaltungseingängen der Schaltung 10' bzw. der Referenzschaltung 10 an ihrem Ausgang bzw. ihren Ausgängen das gleiche Verhalten zeigen, d.h. die gleiche Funktion berechnen, derselben Klasse zugewiesen werden.
  • Im Schaltungseingangszuordnungsschritt 120 erfolgt die initiale Zuordnung zwischen den Funktionsblöcken 11'-17' der Schaltung 10' und den Funktionsblöcken 11-17 der Referenzschaltung 10, welche direkt mit den Schaltungseingängen 1-9, 1'-9' der Schaltung 10' bzw. der Referenzschaltung 10 verbunden sind. Hierfür wird eine Zuordnungsinformation 125, welche die Schaltungseingänge 1'-9' der Schaltung 10' den Schaltungseingängen 1-9 der Referenzschaltung 10 zuordnet, vorge geben. Eine solche Zuordnungsinformation ist in der Regel ohnehin vorhanden oder kann mit geringem Aufwand erstellt werden. Die Zuordnung zwischen den Funktionsblöcken 11'-17' der Schaltung 10' und den Funktionsblöcken 11-17 der Referenzschaltung 10 erfolgt nun, indem jeweils für ein Paar von einem Funktionsblock 11'-17' der Schaltung 10' und einem Funktionsblock 11-17 der Schaltung 10 überprüft wird, ob die Funktionsblöcke mit Schaltungseingängen 1-9, 1'-9' verbunden sind, welche einander entsprechend der Zuordnungsinformation 125 zugeordnet sind, und ob die Funktionsblöcke 11-17, 11'-17' hinsichtlich ihrer Funktion der gleichen Klasse zugewiesen sind. Wenn dies beides der Fall ist, wird der Funktionsblock 11'-17' der Schaltung 10' dem Funktionsblock 11-17 der Referenzschaltung 10 zugeordnet.
  • Im Funktionsblockzuordnungsschritt 130 erfolgt die Zuordnung von Funktionsblöcken 11-17, 11'-17', welche bezüglich der in Schritt 120 zugeordneten Funktionsblöcke 11-17, 11'-17' nachgelagert angeordnet sind. Es werden wiederum Paare von Funktionsblöcken 11'-17' der Schaltung 10' und Funktionsblöcke 11-17 der Referenzschaltung 10 gebildet, wobei für jedes Paar eine Übereinstimmung hinsichtlich der Menge von bereits zugeordneten im Signalfluss vorgelagert angeordneten Funktionsblöcken 11-17, 11'-17' und hinsichtlich der zugewiesenen Klasse überprüft wird. In dem Fall einer solchen Übereinstimmung werden die betreffenden Funktionsblöcke 11-17, 11'-17' der Schaltung 10' und der Referenzschaltung 10 einander zugeordnet. Der Zuordnungsschritt 130 wird iterativ wiederholt, bis alle Funktionsblöcke 11-17, 11'-17' hinsichtlich einer möglichen Zuordnung überprüft worden sind.
  • Im Hervorhebungsschritt 140 erfolgt nun eine Hervorhebung der nicht zugeordneten Funktionsblöcke 11-17, 11'-17' in dem im Signalflussgrapherzeugungsschritt 100 erstellten Signalflussgraphen. Hierfür werden zunächst die Bereiche, welche in der Darstellung den nicht zugeordneten Funktionsblöcken 11-17, 11'-17' entsprechen, farblich markiert. Zusätzlich erfolgt eine farbliche Markierung der Funktionsblöcke 11-17, 11'-17', für welche eine Zuordnung erfolgt ist, mit einer Farbe, welche sich von der für die nicht zugeordneten Funktionsblöcke 11-17, 11'-17' verwendeten Farbe unterscheidet. Hierbei ist eine Vielzahl von Farbkombinationen vorstellbar, beispielsweise Rot und Grün, Rot und Blau usw. Alternativ oder zusätzlich sind auch andere Arten der Hervorhebung denkbar, beispielsweise durch eine Schraffur wie sie in 2 und 3 dargestellt ist oder durch Blinken des hervorzuhebenden Bereichs auf dem Bildschirm. Die Hervorhebung bezieht dabei wie es in 2-4 gezeigt ist, sowohl die Funktionsblöcke 11-17, 11'-17' als auch die jeweils den Funktionsblöcken 11-17, 11'-17' nachgelagert angeordneten Verbindungen mit ein.
  • Im Schaltungsabweichungslokalisierungsschritt 150 werden die im Signalfluss zuerst angeordneten Funktionsblöcke 11-17, 11'-17', für welche die Zuordnung nicht möglich war, bestimmt. Dies bedeutet, dass die unmittelbar einer Grenze der in Schritt 140 hervorgehobenen Bereiche nachgelagert angeordneten Funktionsblöcke bestimmt werden. Dies kann zum einen optisch anhand der in Schritt 100 erstellten Darstellung mit der Hervorhebung des Schritts 140 erfolgen, oder auch automatisch anhand eines entsprechend gestalteten Algorithmus. Genauer bedeutet dies, dass unter den nicht zugeordneten Funktionsblöcken diejenigen identifiziert werden, welche im Signalfluss vorgelagert nur Funktionsblöcke 11-17, 11'-17' aufweisen, für die in den Schritten 130 oder 140 die Zuordnung möglich war, oder welche keinen im Signalfluss vorgelagerten Funktionsblock 11-17, 11'-17' aufweisen. Alternativ bedeutet dies, dass unter den nicht zugeordneten Funktionsblöcken 11-17, 11'-17' diejenigen Funktionsblöcke 11-17, 11'-17' identifiziert werden, welche keinen im Signalfluss vorgelagerten Funktionsblock 11-17, 11'-17' aufweisen, für welchen die Zuordnung nicht möglich war. Wie es anhand von 1-4 erläutert wurde, sind die aufzufindenden Schaltungsabweichungen oder Fehlerstellen im Bereich der auf diese Weise bestimmten Funktionsblöcke 11-17, 11'-17' lokalisiert.
  • 6 zeigt eine Darstellung 40 einer Schaltung gemäß einer von den Signalflussgraphen der 1-4 abweichenden Schaltungsbeschreibung. Die Darstellung 40 umfasst Schaltungsmodule 51, 52, 53, welche entsprechend ihrer Funktion mit Eingängen und Ausgängen versehen sind. Bei 6 handelt es sich speziell um eine alternative Darstellung der Schaltung 10' bzw. der Referenzschaltung 10. Die Schaltungsdarstellung 40 weist somit auch die gleiche Anzahl von Schaltungseingängen 41-49 und die gleiche Anzahl von Schaltungsausgängen 60 wie die Schaltung 10' bzw. Referenzschaltung 10 von 1-3 auf. Im Gegensatz zu 1-3 sind jedoch die Funktionen mehrerer der Funktionsblöcke 11-17, 11'-17' in jeweils einem der Schaltungsmodule 51, 52, 53 zusammengefasst. Die in der 6 verwendete Schaltungsbeschreibung unterscheidet sich von den Signalflussgraphen der 1-3 darin, dass innerhalb der Schaltungsdarstellung 40 die Richtung des Signalflusses bezüglich der Schaltungsmodule 51, 52, 53 nicht immer eindeutig definiert werden kann. Insbesondere besteht zwischen den Schaltungsmodulen 51 und 52 eine bidirektionale Signalverbindung, so dass nicht eindeutig festgelegt werden kann, welches der beiden Schaltungsmodule 51 und 52 im Signalfluss bezüglich des anderen vorgelagert bzw. nachgelagert angeordnet ist. Dies ergibt sich durch die Zusammenfassung der Funktionen mehrerer der Funktionsblöcke 11-17, 11'-17' zu einem der Schaltungsmodule 51, 52, 53.
  • Auf Basis des zuvor anhand von 5 beschriebenen Verfahrens kann jedoch auch in der Schaltungsdarstellung 40 von 6 die in dem Verfahren gewonnene Zuordnungsinformation dargestellt werden und Schaltungsabweichungen oder Fehlerstellen können hervorgehoben dargestellt werden, wie es in 6 durch die Schraffur des Schaltungsmoduls 53 und den Pfeil D veranschaulicht ist. Dies wird erreicht, indem in der Schaltungsdarstellung 40 diejenigen der Schaltungsmodule 51, 52, 53 hervorgehoben dargestellt werden, welche Funktionsblöcke 11-17, 11'-17' umfassen, für welche die Zuordnung, wie sie anhand von 5 beschrieben wurde, nicht vorgenommen werden konnte. Die hervorgehobene Darstellung ist in 6 durch die Schraffur des Schaltungsmoduls 53 und den Pfeil D veranschaulicht. Bei der Implementierung des Verfahrens auf einem Computersystem wird diese Hervorhebung vorzugsweise durch eine farbliche Markierung in der Darstellung auf einem Bildschirm des Computersystems, ähnlich wie es bereits anhand von 5 erläutert wurde, bewerkstelligt.
  • Bei dem oben erläuterten Verfahren zum Auffinden von Schaltungsabweichungen können somit verschiedenartige Schaltungsdarstellungen, der bei der computergestützten Entwicklung von Schaltungen gebräuchlichen Art sind, verwendet werden. Die Bereiche von funktionalen Abweichungen werden darin hervorgehoben dargestellt und die aufgefundenen Schaltungsabweichungsstellen bzw. Fehlerstellen können speziell gekennzeichnet werden. Für den Anwender, z.B. für einen Schaltungsentwickler, wird somit eine komfortable und effektive Orientierung in der Schaltung ermöglicht.
  • 7 zeigt schematisch ein Computersystem 30, welches durch eine entsprechende Computersoftware zur Durchführung des zuvor beschriebenen Verfahrens zum Auffinden von Schaltungsabweichungen ausgestaltet ist. Die Computersoftware ist in Form eines Programmcodes auf einem Datenträger 36 bereitgestellt. Das Computersystem 30 verfügt über ein Bildwiedergabemittel in Form eines Computerbildschirms 31 und Eingabemittel 32a, 32b, 32c, 32d. Es handelt sich dabei speziell um Benutzerbedienelemente in Form einer Maus 32a und einer Tastatur 32b, eine Schreib-/Lesevorrichtung 32c für Datenträger sowie eine Netzwerkschnittstelle 32d. Es ist jedoch auch eine Vielzahl von weiteren Eingabemitteln denkbar.
  • Das Computersystem 30 umfasst insbesondere Datenverarbeitungsmittel 35, welche durch den auf dem Computersystem 30 ausgeführten Programmcode zum Durchführen des zuvor beschriebenen Verfahrens ausgestaltet sind. Die gemäß dem Verfahren vorgesehene Darstellung von Schaltungen erfolgt auf dem Computerbildschirm 31.
  • Das zuvor beschriebene Verfahren wurde auf einem derzeit gebräuchlichen Computersystem implementiert und anhand von bereits zuvor auf herkömmliche Weise analysierten, mit Fehlern behafteten Schaltungen evaluiert. Ergebnisse der Evaluation sind in der nachfolgenden Tabelle zusammengefasst.
  • Figure 00210001
  • In der Tabelle sind die verschiedenen zur Evaluation des Verfahrens verwendeten Schaltungen jeweils mit einer Nummer versehen. Die Größe der Schaltungen ist durch die Anzahl der Funktionsblöcke bzw. Schaltnetze bezüglich der untersuchten Schaltungsausgänge angegeben. Weiterhin ist die Anzahl von Eingängen angegeben, zu welchen die untersuchten Schaltungsausgänge eine Signalabhängigkeit aufweisen. Als Ergebnis sind jeweils die Größe des anhand des Verfahrens ermittelten nicht zugeordneten Bereichs, d.h. der darin enthaltenen Funktionsblöcke bzw. Schaltnetze, die Anzahl der aufgefundenen Abweichungsstellen bzw. Fehlerstellen und die zur Durchführung des Verfahrens benötigte Zeit angegeben. Wie aus den Ergebnissen ersichtlich ist, ist es mit dem beschriebenen Verfahren möglich, auch in komplexen Schaltungen mit einer Vielzahl von Funktionsblöcken die Schaltungsabweichungsstellen bzw. Fehlerstellen aufzufinden, wobei die dafür benötigte Zeit in etwa derjenigen entspricht, die auch zur Durchführung eines herkömmlichen Äquivalenzvergleichs benötigt wurde.
  • Das beschriebene Verfahren ist besonders geeignet als Ergänzung zu einem Äquivalenzvergleich der Schaltung und der Referenzschaltung, um bei einer fehlenden Äquivalenz die Abweichungsstellen oder Fehlerstellen aufzufinden. Für die Durchführung des beschriebenen Verfahrens ist ein vorheriger Äquivalenztest der Schaltung und der Referenzschaltung jedoch nicht notwendig, und das Verfahren kann auch direkt auf die Schaltung und die Referenzschaltung angewendet werden, ohne dass zuvor ein Äquivalenzvergleich durchgeführt wurde. Falls das Verfahren Schaltungsabweichungen bzw. Fehlerstellen auffindet, ist hierdurch auch gleichzeitig die fehlende Äquivalenz der Schaltungen gezeigt, so dass in diesen Fällen auf die Durchführung des Äquivalenzvergleichs verzichtet werden könnte.
  • Bei der experimentellen Evaluation des Verfahrens hat es sich weiterhin gezeigt, dass auch bei einer ungenauen oder fehlerhaften Anwendung des Verfahrens, z.B. bei einer unvollständigen vorgegebenen Zuordnung der Schaltungseingänge, das Auffinden von Schaltungsabweichungen bzw. Fehlerstellen nach wie vor möglich ist.

Claims (18)

  1. Verfahren zum Auffinden von Schaltungsabweichungen, wobei eine Schaltung (10') und eine Referenzschaltung (10) jeweils durch eine Vielzahl von Funktionsblöcken (11-17, 11'-17') umfassende Signalflussgraphen beschreibbar sind, wobei in den Signalflussgraphen die Funktionsblöcke (11-17, 11'-17') miteinander gekoppelt sind, indem ein Ausgang eines im Signalfluss vorgelagerten Funktionsblocks (11-17, 11'-17') mit einem Eingang eines im Signalfluss nachgelagerten Funktionsblocks (11-17, 11'-17') verbunden ist, und wobei ein Schaltungseingang (1-9, 1'-9') jeweils mit einem Eingang eines der Funktionsblöcke (11-17, 11'-17') gekoppelt ist und ein Schaltungsausgang (20, 20') jeweils mit einem Ausgang eines der Funktionsblöcke (11-17, 11'-17') gekoppelt ist, gekennzeichnet durch die Schritte: – Zuordnen von Funktionsblöcken (11'-17') der Schaltung (10') zu entsprechenden Funktionsblöcken (11-17) der Referenzschaltung (10), – Bestimmen von denjenigen Funktionsblöcken (11'-17') der Schaltung (10'), welchen kein Funktionsblock (11-17) der Referenzschaltung (10) zugeordnet werden konnte und welche mindestens einen im Signalfluss vorgelagerten Funktionsblock (11'-17') aufweisen, welchem ein Funktionsblock (11-17) der Referenzschaltung (10) zugeordnet werden konnte.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass diejenigen Funktionsblöcke (11'-17') der Schaltung (10') bestimmt werden, welchen kein Funktionsblock (11-17) der Referenzschaltung zugeordnet werden konnte und welche im Signalfluss vorgelagert ausschließlich Funktionsblöcke (11'-17') aufweisen, denen ein Funktionsblock (11-17) der Referenzschaltung (10) zugeordnet werden konnte.
  3. Verfahren nach Anspruch 1 oder 2, gekennzeichnet durch den weiteren Schritt: – Bestimmen von denjenigen Funktionsblöcken (11'-17') der Schaltung (10'), welchen kein Funktionsblock (11-17) der Referenzschaltung (10) zugeordnet werden konnte und welche keinen im Signalfluss vorgelagerten Funktionsblock (11'-17') aufweisen.
  4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Signalflussgraph der Schaltung (10') dargestellt wird und dabei ein den nicht zugeordneten Funktionsblöcken (11'-17') entsprechender Bereich gegenüber einem den zugeordneten Funktionsblöcken (11'-17') entsprechenden Bereich entsprechend markiert dargestellt wird.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die Markierung durch eine farbliche Markierung der zugeordneten Funktionsblöcke (11'-17') und/oder der Verbindungen zwischen den zugeordneten Funktionsblöcken (11'-17') erfolgt.
  6. Verfahren nach Anspruch 4 oder 5, dadurch gekennzeichnet, dass die Markierung durch eine farbliche Markierung der nicht zugeordneten Funktionsblöcke (11'-17') und/oder der Verbindungen zwischen den nicht zugeordneten Funktionsblöcken (11'-17') erfolgt.
  7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Zuordnung von Funktionsblöcken (11'-17') der Schaltung (10') zu jeweils einem der Funktionsblöcke (11-17) der Referenzschaltung (10) iterativ auf Basis der Menge der bereits zugeordneten Funktionsblöcke (11-17, 11'-17') oder Schaltungseingänge (1-9, 1'-9') erfolgt, welche bezüglich der zuzuordnenden Funktionsblöcke (11-17, 11'-17') der Schaltung (10') und der Referenzschaltung (10) jeweils im Signalfluss vorgelagert angeordnet sind, wobei eine Zuordnung der Schal tungseingänge (1'-9') der Schaltung (10') zu den Schaltungseingängen (1-9) der Referenzschaltung (10) vorgegeben wird.
  8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Zuordnung der Funktionsblöcke (11'-17') der Schaltung (10') zu jeweils einem der Funktionsblöcke (11-17) der Referenzschaltung (10) auf Basis der jeweiligen Funktion erfolgt, welche die einander zuzuordnenden Funktionsblöcke (11-17, 11'-17') der Schaltung (10') und der Referenzschaltung (10) ausüben.
  9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass die Funktionsblöcke (11'-17') der Schaltung (10') jeweils nur einem der Funktionsblöcke (11-17) der Referenzschaltung (10) zugeordnet werden, welcher die gleiche Funktion ausübt.
  10. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Funktionsblöcke (11-17, 11'-17') der Schaltung (10') und der Referenzschaltung (10) hinsichtlich ihrer Funktion, welche sie in der Schaltung (10') bzw. der Referenzschaltung (10) ausüben, klassifiziert werden.
  11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass die Funktionsblöcke (11-17, 11'-17') anhand ihrer bezüglich der Schaltungseingänge (1-9, 1'-9') definierten Funktionen klassifiziert werden.
  12. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Schaltung (10) gemäß einer weiteren Schaltungsbeschreibung dargestellt wird, wobei Elemente (51, 52, 53) dieser Darstellung (40), wenn sie mindestens einen nicht zugeordneten Funktionsblock (11-17, 11'-17') umfassen, gegenüber Elementen, die keinen nicht zugeordneten Funktionsblock (11-17, 11'-17') umfassen, markiert dargestellt werden.
  13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass die Markierung durch eine entsprechende farbliche Markierung der Elemente (51, 52, 53) der Darstellung erfolgt.
  14. Verfahren nach Anspruch 12 oder 13, dadurch gekennzeichnet dass die weitere Schaltungsbeschreibung einer bezüglich des Signalflussgraphen der Schaltung (10) und/oder der Referenzschaltung (10) höheren Hierarchieebene entspricht, wobei die Elemente (51, 52, 53) der weiteren Schaltungsbeschreibung durch übergeordnete Schaltungsmodule gebildet sind, welche jeweils mindestens einen der Funktionsblöcke (11-17, 11'-17') umfassen.
  15. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Verfahren bezüglich der Schaltung (10') und der Referenzschaltung (10) symmetrisch ausgeführt wird, wobei für die Schaltung (10') definierte Verfahrensschritte auch für die Referenzschaltung (10) durchgeführt werden und sich der entsprechende Verfahrensablauf für die Referenzschaltung (10) durch Austauschen der Schaltung (10') und der Referenzschaltung (10) ergibt.
  16. Vorrichtung zum Auffinden von Schaltungsabweichungen, wobei eine Schaltung (10') und eine Referenzschaltung (10) jeweils durch Funktionsblöcke (11-17, 11'-17') umfassende Signalflussgraphen beschreibbar sind, wobei die Funktionsblöcke (11-17, 11'-17') miteinander gekoppelt sind, indem ein Ausgang eines im Signalfluss vorgelagerten Funktionsblocks (11-17, 11'-17') mit einem Eingang eines im Signalfluss nachgelagerten Funktionsblocks (11-17, 11'-17') verbunden ist, und wobei ein Schaltungseingang (1-9, 1-9') jeweils mit einem Eingang eines der Funktionsblöcke (11-17, 11'-17') gekoppelt ist und ein Schaltungsausgang (20, 20') jeweils mit einem Ausgang eines der Funktionsblöcke (11-17, 11'-17') gekoppelt ist, gekennzeichnet durch Eingabemittel (32a-32d) zur Eingabe von Schaltungsdaten, welche die Schaltung (10') und die Referenzschaltung (10) beschreiben, und Datenverarbeitungsmittel (35), die dazu ausgestaltet sind, durch Verarbeiten der Schaltungsdaten folgende Funktionen durchzuführen: – Zuordnen von Funktionsblöcken (11'-17') der Schaltung (10') zu entsprechenden Funktionsblöcken (11-17) der Referenzschaltung (10), – Bestimmen von denjenigen Funktionsblöcken (11'-17') der Schaltung (10'), welchen kein Funktionsblock (11-17) der Referenzschaltung (10) zugeordnet werden konnte und welche mindestens einen im Signalfluss vorgelagerten Funktionsblock (11'-17') aufweisen, welchem ein Funktionsblock (11-17) der Referenzschaltung (10) zugeordnet werden konnte.
  17. Vorrichtung nach Anspruch 16, dadurch gekennzeichnet, dass die Vorrichtung zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 14 ausgestaltet ist.
  18. Computerprogrammprodukt, gekennzeichnet durch einen Programmcode, welcher derart ausgestaltet ist, dass bei Verwendung mit einem Computersystem (30) das Verfahren nach einem der Ansprüche 1 bis 15 durchgeführt wird.
DE102004033339A 2004-07-09 2004-07-09 Verfahren und Vorrichtung zum Auffinden von Schaltungsabweichungen Ceased DE102004033339A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102004033339A DE102004033339A1 (de) 2004-07-09 2004-07-09 Verfahren und Vorrichtung zum Auffinden von Schaltungsabweichungen
US11/177,203 US7373623B2 (en) 2004-07-09 2005-07-07 Method and apparatus for locating circuit deviations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102004033339A DE102004033339A1 (de) 2004-07-09 2004-07-09 Verfahren und Vorrichtung zum Auffinden von Schaltungsabweichungen

Publications (1)

Publication Number Publication Date
DE102004033339A1 true DE102004033339A1 (de) 2006-02-02

Family

ID=35530087

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004033339A Ceased DE102004033339A1 (de) 2004-07-09 2004-07-09 Verfahren und Vorrichtung zum Auffinden von Schaltungsabweichungen

Country Status (2)

Country Link
US (1) US7373623B2 (de)
DE (1) DE102004033339A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015643B2 (en) * 2013-03-15 2015-04-21 Nvidia Corporation System, method, and computer program product for applying a callback function to data values
US9323502B2 (en) 2013-03-15 2016-04-26 Nvidia Corporation System, method, and computer program product for altering a line of code
US9171115B2 (en) 2013-04-10 2015-10-27 Nvidia Corporation System, method, and computer program product for translating a common hardware database into a logic code model
US8930877B1 (en) * 2013-06-27 2015-01-06 Zipalog, Inc. Method and system of change evaluation of an electronic design for verification confirmation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4423367A1 (de) * 1994-07-04 1996-07-25 Siemens Ag Verfahren zur hierarchischen Logik-Verifikation hochintegrierter Schaltungen
US6490710B1 (en) * 2000-04-06 2002-12-03 Mitsubishi Denki Kabushiki Kaisha Logic verification method and apparatus for logic verification
US20040049747A1 (en) * 2002-09-11 2004-03-11 Renesas Technology Corp. Verification apparatus
DE10240133A1 (de) * 2002-08-30 2004-03-18 Infineon Technologies Ag Verfahren und Vorrichtung zum Äquivalenzvergleich digitaler Schaltungen

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555201A (en) * 1990-04-06 1996-09-10 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including interactive system for hierarchical display of control and dataflow information
US5680318A (en) * 1990-12-21 1997-10-21 Synopsys Inc. Synthesizer for generating a logic network using a hardware independent description
JP3197685B2 (ja) * 1993-06-29 2001-08-13 株式会社東芝 高位合成装置
US5502645A (en) * 1993-11-05 1996-03-26 Nec Usa, Inc. Behavioral synthesis for reconfigurable datapath structures
US6606588B1 (en) * 1997-03-14 2003-08-12 Interuniversitair Micro-Elecktronica Centrum (Imec Vzw) Design apparatus and a method for generating an implementable description of a digital system
JP3173729B2 (ja) * 1999-03-04 2001-06-04 日本電気株式会社 論理シミュレーション方法及びそのシステム
JP3386427B2 (ja) * 2000-01-28 2003-03-17 シャープ株式会社 高位合成方法並びに高位合成方法の実施に使用される記録媒体
US7120879B2 (en) * 2001-04-20 2006-10-10 Peter Pius Gutberlet Hierarchical presentation techniques for a design tool
US6907599B1 (en) * 2001-06-15 2005-06-14 Verisity Ltd. Synthesis of verification languages
JP4007483B2 (ja) * 2001-07-16 2007-11-14 シャープ株式会社 高位合成装置および高位合成方法
US6925628B2 (en) * 2002-10-22 2005-08-02 Matsushita Electric Industrial Co., Ltd. High-level synthesis method
JP2004164627A (ja) * 2002-10-22 2004-06-10 Matsushita Electric Ind Co Ltd 高位合成方法
US6964029B2 (en) * 2002-10-31 2005-11-08 Src Computers, Inc. System and method for partitioning control-dataflow graph representations
EP1706833B1 (de) * 2004-01-22 2011-09-28 NEC Laboratories America, Inc. System und verfahren zum modellieren, abstrahieren und analysieren von software
US7725848B2 (en) * 2005-01-27 2010-05-25 Wolfgang Nebel Predictable design of low power systems by pre-implementation estimation and optimization

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4423367A1 (de) * 1994-07-04 1996-07-25 Siemens Ag Verfahren zur hierarchischen Logik-Verifikation hochintegrierter Schaltungen
US6490710B1 (en) * 2000-04-06 2002-12-03 Mitsubishi Denki Kabushiki Kaisha Logic verification method and apparatus for logic verification
DE10240133A1 (de) * 2002-08-30 2004-03-18 Infineon Technologies Ag Verfahren und Vorrichtung zum Äquivalenzvergleich digitaler Schaltungen
US20040049747A1 (en) * 2002-09-11 2004-03-11 Renesas Technology Corp. Verification apparatus

Also Published As

Publication number Publication date
US20060064655A1 (en) 2006-03-23
US7373623B2 (en) 2008-05-13

Similar Documents

Publication Publication Date Title
EP1425638B1 (de) Verfahren zur validierung von simulationsergebnissen eines systems sowie darauf aufbauender äquivalenzvergleich digitaler schaltungen
DE2515297A1 (de) Pruefsystem fuer logische netzwerke mit simulatororientiertem fehlerpruefgenerator
DE102015200694A1 (de) Verfahren, computersystem und computerlesbares speichermedium zum erzeugen eines layouts eines integrierten schaltkreises
DE3702408C2 (de)
DE102015113739A1 (de) Verfahren zum Verbinden einer Eingabe/Ausgabe-Schnittstelle eines für das Testen eines Steuergeräts eingerichteten Testgeräts
DE10000451A1 (de) Taktsignalanalyseeinrichtung und Taktsignalanalyseverfahren
DE102017117496A1 (de) Zell-Bewusste Fehlstellen-Charakterisierung und Wellenformanalyse mithilfe mehrerer Strobe-Punkte
DE10138142B4 (de) Verfahren zur Analyse einer integrierten elektrischen Schaltung
EP2876512A1 (de) Verfahren zur automatischen Verbindung von Komponenten eines Modells eines technischen Systems
DE102004033339A1 (de) Verfahren und Vorrichtung zum Auffinden von Schaltungsabweichungen
DE19530669A1 (de) Verfahren zum automatischen Auswählen eines taktsteuernden Signalpfads in umprogrammierbaren Systemen zur Hardware-Emulation
DE102004003092A1 (de) Verfahren zum Auflösen nicht richtig angepaßter Parameter bei einem rechnergestützten Entwurf für integrierte Schaltungen
EP1771798A2 (de) Verfahren der bewertung der güte eines computerprogramms
EP1364286B1 (de) Verfahren und anordnung zur ermittlung einer gesamtfehlerbeschreibung zumindest eines teils eines technischen systems, computer programm-element und computerlesbares speichermedium
DE102017104049B4 (de) Verfahren und vorrichtung zum überprüfen der zuverlässigkeit eines chips
EP1505399B1 (de) Verfahren zum Erzeugen von Testdaten zum Austesten der Funktionsfähigkeit einer datenverarbeitenden Schaltung
DE10055679A1 (de) Verfahren, Computersystem und Computerprogramm-Produkte zur modellbasierten Generierung von Testszenarien
DE102009019442A1 (de) Testdatengenerator
DE10343344B4 (de) Verfahren zum Prüfen einer elektrischen Schaltung
DE19914819A1 (de) Entwicklungswerkzeug
DE10206658A1 (de) Verfahren zum Überprüfen einer integrierten elektrischen Schaltung
DE112010005924T5 (de) Verfahren und System zum Weitergeben von Änderungen an einer Master-Einheit zu Duplikaten
DE102004037402A1 (de) Verfahren zur Bewertung der Güte eines Testprogrammes
DE19529342C2 (de) Verfahren zur Visualisierung des Überdeckungsgrades beim Test eines endlichen Automaten
DE10131438B4 (de) Verfahren zur Entwicklung einer technischen Komponente

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: ONESPIN SOLUTIONS GMBH, 80339 MUENCHEN, DE

8131 Rejection