WO2000026825A1 - Verfahren und anordnung zum vergleich technischer systeme untereinander - Google Patents

Verfahren und anordnung zum vergleich technischer systeme untereinander Download PDF

Info

Publication number
WO2000026825A1
WO2000026825A1 PCT/DE1999/003500 DE9903500W WO0026825A1 WO 2000026825 A1 WO2000026825 A1 WO 2000026825A1 DE 9903500 W DE9903500 W DE 9903500W WO 0026825 A1 WO0026825 A1 WO 0026825A1
Authority
WO
WIPO (PCT)
Prior art keywords
comparison
technical systems
methods
result
nodes
Prior art date
Application number
PCT/DE1999/003500
Other languages
English (en)
French (fr)
Inventor
Jörg LOHSE
Peter Warkentin
Original Assignee
Siemens Aktiengesellschaft
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 Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Publication of WO2000026825A1 publication Critical patent/WO2000026825A1/de

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

Definitions

  • the invention relates to a method and an arrangement for comparing technical systems with one another.
  • the focus is on digital circuits of high complexity that are to be compared with one another or for which structural similarities are determined (combinatorial circuit verification).
  • a first approach to combinatorial circuit verification tries to generate functional implications by generating test patterns and applying them to the circuits to be compared (ATPG method).
  • the aim is to prove that an exclusive-OR function between two output values to be compared cannot be assigned a logical "1".
  • BDDs e.g. through Reduced Ordered BDDs (ROBDDs), compare in particular [2].
  • ROIs Reduced Ordered BDDs
  • the SAT comparison method is characterized in that for any Boolean notation of the form
  • the object on which the invention is based is to compare complex technical systems with one another or to provide mechanisms for carrying out such a comparison.
  • Comparative procedures are provided.
  • the at least two comparison methods are processed in a predetermined order until a result of the comparison is determined.
  • a further development consists in the fact that the result of the comparison is an equality or a difference of the technical systems.
  • the comparison can be broken off as soon as a single difference between the technical systems is discovered.
  • the at least two comparison methods can in particular be two of the following comparison methods: a) SAT comparison method; b) simulation methods; c) BDD procedure; d) ATPG procedure; e) Procedure based on internal equivalence points.
  • the BDD method can be a ROBDD method.
  • the ROBDD method can be carried out with regard to its leaves or with respect to the cutting planes.
  • One embodiment is that two technical systems are compared with one another.
  • a technical system can be a circuit, in particular an electrical digital circuit.
  • Comparison method an approach to represent the problem to be solved (here: the entire comparison). This is taken up in another comparison method as an intermediate result, which results in a saving in computing time and / or storage space. If the result of the comparison is inequality, diagnostic information is preferably displayed that enables a user to determine the cause of the inequality.
  • the technical systems or the circuits are compared by comparing the description forms on which the systems or circuits are based.
  • a system can be described as a finite automaton.
  • a threshold value is provided for each comparison method
  • sequence of the comparison methods to be carried out is adapted dynamically. This is preferably done by logging which comparison method has determined the most results, this "best” comparison method being used first for future comparisons. Accordingly, the order is sorted using the "second best", the “third best”, etc. comparison method.
  • the result of the comparison can be used to design, adapt or control the technical system.
  • the result of the described comparison if it is positive, can be implemented directly by a predetermined description form initiating a production process of the circuit.
  • an arrangement for comparing technical systems which has a processor unit which is set up in such a way that a) at least two comparison methods are provided; b) processing the at least two comparison methods in a predetermined sequence until a result of the comparison can be determined.
  • This arrangement is particularly suitable for carrying out the method according to the invention or one of its developments explained above.
  • Fig.l is a block diagram for the operation of a hybrid verifier
  • FIG. 2 shows a block diagram for the selection of elementary proofers as parts of a hybrid proofer
  • Fig. 3 is a block diagram for an internal equivalence point verifier
  • Fig. 4 is a block diagram illustrating the execution of a full simulation
  • FIG. 5 shows a block diagram with steps of a ROBDD detection method
  • FIG. 6 shows a processor unit
  • each of the two circuits is represented as a finite automaton; • a common coding of the machines is determined; • equality of the circuits is represented as a set of equality relations of Boolean functions;
  • a possible property language is defined on the basis of a set of atomic statements (AA).
  • An elementary statement (EA) (state expression) is an arbitrary Boolean combination of AA.
  • t is an arbitrary fixed point in time. Properties are formulated with reference to this point in time.
  • a property (over n points in time) is a Boolean
  • finite automata systems of this type are, for example, circuits (in the form of VHDL programs or EDIF network lists).
  • a finite, deterministic automaton is a 5-tuple of the form
  • MAA is a set of atomic statements (AA) and P: S x I - »power set (MAA) is an evaluation function.
  • the evaluation function P indicates which atomic statements (AA) are fulfilled in a state.
  • a characteristic function ⁇ £ of a property E is agreed.
  • the characteristic function XE is used to determine the validity of the property E.
  • the characteristic function ⁇ jr is a function
  • denotes a path of length n if s + ⁇ is a successor state of s, ie if it holds
  • XPfad ( ⁇ ) X ⁇ ( s 0 ⁇ - i ⁇ s l) ⁇ • • • • ⁇ X ⁇ (s n -2 'in-2' s nl) ( 19 ) •
  • a property E over n points in time is met if and only if:
  • a finite, deterministic automaton with output is a 5-tuple
  • M 2 are bijective images
  • the automatons M, M are called combinationally equivalent with respect to a common coding according to equation (25) if and only if
  • a binary coding of S, I, 0 converts this into a (finite) number of equality relations between Boolean functions.
  • equation (31) In a first step, the functions according to equation (31) are represented by a directed acyclic graph.
  • the individual methods, also referred to as partial provers, are based on this graph structure.
  • a directed, acyclic graph is a set K of nodes and a set (c K x K) of directed edges, each connecting two nodes.
  • the graph does not include cycles.
  • a node k 2 is called the son of the node k ⁇ _ if a directed edge connects the node ki with the node k 2 .
  • Leaves are knots with no edges. Roots are knots with no edges. Directed edges run from top to bottom so that roots are at the top and leaves are at the bottom of the graph.
  • a base (also: section plane) of a graph is a subset of nodes with the property "every path from a root to a leaf runs through a node of the base". In particular, the amount of all leaves forms a basis. [5] describes an algorithm that can be used to determine a basis.
  • k be a node in the graph structure G.
  • the so-called Cone of Influence of k is the smallest substructure G k of G for which the following applies: the node k belongs to G and with a node k 'all sons also belong from k 'to G.
  • a directed, acyclic graph represents a Boolean function:
  • a boolean operation op is assigned to each node k that is different from a leaf.
  • the sons of node k are the Operands of op k .
  • Leaves (roots) are the arguments
  • Each node of the graph structure G represents a Boolean function boole k , which is dependent on the primary inputs.
  • the representation of a Boolean function as a graph is not canonical, ie there are generally many different representations. Nodes that represent the same Boolean function are called equivalent.
  • edges may be marked to perform single-digit operations, e.g. not to symbolize. For example, only a two-digit and operation is permitted in the nodes in [1].
  • the (single-digit) emergency operation is identified by marking the edge.
  • each leaf is assigned a value "0" or "1". If a value has been assigned to each son of a node k, the value of the node k is determined using the operation op.
  • ROBDDs Reduced Ordered Binary Decision Diagrams, (see [2]) represent a Boolean function as an acyclic graph. For a given permutation of the arguments, the • variable order, this representation is clear
  • a BDD variable is assigned to each base node. This is important because the assignment of variables in particular is determined by this assignment. If the ROBDDs are calculated for all sons of a node k, the ROBDD of node k can also be generated. If the size of a ROBDD exceeds a specified limit, the ROBDD generation is aborted. (In [1] a new variable is assigned to the node and further calculated.)
  • ROBDDs is the main representative from a series of similar representations for Boolean functions (compare in particular [2]). Any of the representations listed there can be used here.
  • the Boolean functions (31) are represented by a directed, acyclic graph G. For each function F j there is a node ki j in the graph G, which represents Fi j .
  • the equations Fi j ⁇ F 2j are now sorted according to the
  • the hybrid prover is called up successively for each pair of nodes (kij, k 2 j), starting with pairs of nodes close to the leaves.
  • Fig.l a hybrid proof is shown.
  • Two nodes ki, k 2 of graph G serve as input into the proofer (compare block 1 in FIG. 1).
  • the aim is to decide whether the functions boole k , boole k represented by the nodes ki, k 2 are identical, ie whether
  • the graph G represents a global data structure that can be accessed by every partial verifier (elementary verifier, see block 102 and Fig. 2).
  • the partial provers try to simplify the graph G step by step by combining equivalent nodes, so that finally, e.g. by means of a complete simulation, the equation (34) can be proven or refuted.
  • COI (k ⁇ , k 2 ) denotes the "Cone of Influence" of ki, k 2 in the graph G.
  • Step 1 Complete simulation, see Fig. 2, block 201 and Fig. 4:
  • Step 2 ROBDDs regarding leaves, see block 202:
  • Step 3 ROBDDs regarding cutting planes, see block 203 and Fig. 5:
  • Step 3 is repeated by moving the base towards the leaves (see block 504).
  • step 3 ended (see blocks 505 and 506).
  • Step 4 ATPG, see block 204: The question of whether a Boolean function assumes the value "0" or "1", or the question of the equality of two Boolean functions, can be a problem in the area of automatic test pattern generation (Automatic Test Pattern Generation - ATPG).
  • Step 5 SAT, see block 205:
  • the statement (34) is converted into a conjunctive normal form and passed on to a SAT prover (e.g. [3] or [4]).
  • a SAT prover e.g. [3] or [4]
  • Step 6 Proof of internal equivalence points, see block 103 and Fig. 3:
  • Step 6.1 (RPS - Random Pattern Simulation): The nodes of the graph structure G are in
  • Equivalence classes decomposed Starting from a decomposition ⁇ K ⁇ , an existing decomposition is refined by a simulation step. A class AK is broken down into two subclasses AKn, AKi, where AKi is the set of all
  • Node e represents AK, to which the value i is assigned by the simulation.
  • An equivalence class represents a set of nodes that potentially represent the same function. Nodes from different equivalence classes cannot represent the same function.
  • Step 6.2
  • the pair of nodes (u ⁇ , u 2 ) is actually equivalent: a node is redundant and can be eliminated (see block 307); b. the pair of nodes (u ⁇ , u 2 ) is not equivalent: an assignment of the variables (leaves of the "Cone of Influence" of ui, u 2 ) was found, by which the two functions boolean u and boolean U differ. After assigning random values for the remaining sheets of graph G, graph G is simulated and the previous equivalence class decomposition is refined. This reduces the number of potentially equivalent node pairs (see block 308); c. the proof of equivalence cannot be decided due to complexity limits: the next pair of nodes is checked.
  • the pair of nodes is tested to determine whether the original pair of nodes (ki, k 2 ) is equivalent. If not the case is, the node pair (ki, k 2 ) is tested in the last step.
  • the processor unit PRZE comprises a processor CPU, a memory SPE and an input / output interface IOS, which is used in different ways via an interface IFC: an output is visible on a monitor MON and / or on a printer via a graphic interface PRT issued. An entry is made using a mouse MAS or a keyboard TAST.
  • the processor unit PRZE also has a data bus BUS, which ensures the connection of a memory MEM, the processor CPU and the input / output interface IOS.
  • additional components can be connected to the data bus BUS, for example additional memory, data storage (hard disk) or scanner.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Um zwei technische Systeme, insbesondere elektrische Schaltungen, miteinander zu vergleichen, wird in Form eines hybriden Beweisers ein Rahmenwerk für mehrere Teilbeweiser geschaffen. Der hybride Beweiser steuert die Teilbeweiser an, wobei der Vergleich beendet ist, sobald ein Teilbeweiser ein Ergebnis bestimmen konnte. Mit diesem Ergebnis erfolgt eine Verifikation der technischen Systeme.

Description

Beschreibung
Verfahren und Anordnung zum Vergleich technischer Systeme untereinander
Die Erfindung betrifft ein Verfahren und eine Anordnung zum Vergleich technischer Systeme untereinander.
Aus [1] ist bekannt, einen Vergleich zweier Schaltungen mittels Binary Decision Diagrams (BDDs) durchzuführen.
Insbesondere wird dabei abgestellt auf digitale Schaltkreise hoher Komplexität, die untereinander verglichen werden sollen bzw. für die strukturelle Ähnlichkeiten ermittelt werden (kombinatorische Schaltkreisverifikation) . Ein erster Ansatz der kombinatorischen Schaltkreisverifikation versucht funktionale Implikationen zu erzeugen, indem Testmuster generiert und auf die zu vergleichenden Schaltkreise angewandt werden (ATPG-Verfahren) . Dabei wird das Ziel verfolgt, zu beweisen, daß eine Exklusiv-Oder- Funktion zwischen zwei zu vergleichenden Ausgabewerten nicht mit einer logischen "1" belegt werden kann.
Ein anderer Ansatz zur kombinatorischen Schaltkreisverifikation beruht auf einer kanonischen Beschreibung Boolescher Funktionen. Eine solche kanonische Beschreibung wird dargestellt durch BDDs oder spezielle Varianten der
BDDs, z.B. durch Reduced Ordered BDDs (ROBDDs) , vergleiche insbesondere [2] . Ein spezielles Problem der BDDs ist ihr exponentiell steigender Speicherplatzbedarf.
Ein sogenanntes SAT-Vergleichsverfahren (auch: SAT- Vergleicher; SAT = "Satisfiability") ist aus [3], [4] oder [7] bekannt. Das SAT-Vergleichsverfahren zeichnet sich dadurch aus, daß für beliebige Boolesche Notationen der Form
(kι_ v k2) Λ (k3 v 7) Λ (k2 v kj) (1) 2 systematisch Lösungen gesucht werden. Ist bei der Suche der gesamte Suchraum ausgeschöpft und keine Lösung gefunden, so ist das zugrundeliegende Boolesche Problem nicht lösbar.
Die der Erfindung zugrundeliegende Aufgabe besteht darin, komplexe technische Systeme untereinander zu vergleichen bzw. Mechanismen zur Durchführung solch eines Vergleichs bereitzustellen.
Diese Aufgabe wird gemäß den Merkmalen der unabhängigen
Patentansprüche gelöst. Weiterbildungen der Erfindung ergeben sich auch aus den abhängigen Ansprüchen.
Zur Lösung der Aufgabe wird ein Verfahren zum Vergleich technischer Systeme angegeben, bei dem mindestens zwei
Vergleichsverfahren vorgesehen sind. Die mindestens zwei Vergleichsverfahren werden in einer vorgegebenen Reihenfolge solange abgearbeitet, bis ein Ergebnis des Vergleichs bestimmt wird.
Dabei ist es insbesondere von Vorteil, daß automatisch unterschiedliche Vergleichsverfahren abgearbeitet werden.
Eine Weiterbildung besteht darin, daß das Ergebnis der Vergleichs eine Gleichheit oder eine Verschiedenheit der technischen Systeme ist.
Insbesondere kann der Vergleich abgebrochen werden, sobald eine einzelne Verschiedenheit zwischen den technischen Systemen entdeckt wird.
Sind die zu vergleichenden technischen Systeme gleich, so wird dies durch ein einzelnes Vergleichsverfahren festgestellt. Auch können anstelle der ganzen technischen Systeme nur bestimmte Teile der Systeme untereinander verglichen werden. Bei den mindestens zwei Vergleichsverfahren kann es sich insbesondere um zwei der folgenden Vergleichsverfahren handeln: a) SAT-Vergleichsverfahren; b) Simulationsverfahren; c) BDD-Verfahren; d) ATPG-Verfahren; e) Verfahren basierend auf internen Äquivalenzpunkten.
Insbesondere kann das BDD-Ver ahren ein ROBDD-Verfahren sein. Weiterhin kann das ROBDD-Verfahren bezüglich seiner Blätter oder bezüglich der Schnittebenen durchgeführt werden.
Eine Ausgestaltung besteht darin, daß zwei technische Systeme untereinander verglichen werden.
Ein technisches System kann eine Schaltung, insbesondere eine elektrische Digitalschaltung sein.
Weiterhin ist es möglich, zumindest einen Teil des Vergleichs durchzuführen, wobei ein gelöster Teil eine Komplexität des gesamten Vergleichs reduziert. Durch eine auf diese Art reduzierte Komplexität kann mittels eines Vergleichsverfahrens, das ursprünglich an dem gesamten Vergleich scheiterte, ein Ergebnis erzielbar sein.
Weiterhin ist es möglich, ein Zwischenergebnis eines Vergleichsverfahrens, das nicht zu Ende durchführbar war, in einem weiteren Vergleichsverfahren zu nutzen (Ausnutzung von Seiteneffekten) . So bietet ein abgebrochenes BDD-
Vergleichsverfahren einen Ansatz zur Darstellung des zu lösenden Problems (hier: des gesamten Vergleichs) . Dieser wird in einem anderen Vergleichsverfahren aufgegriffen als Zwischenergebnis, was in einer Einsparung von Rechenzeit und/oder Speicherplatz resultiert. Ergibt ein Vergleich als Ergebnis Ungleichheit, so werden bevorzugt Diagnoseinformationen dargestellt, die es einem Benutzer ermöglichen, die Ursache für die Ungleichheit zu ermitteln.
Im Rahmen einer Weiterbildung erfolgt ein Vergleich der technischen Systeme bzw. der Schaltungen durch Vergleich der den Systemen bzw. Schaltungen zugrundeliegenden Beschreibungsformen. Dabei kann ein System als ein endlicher Automate beschrieben sein.
Insbesondere beim Vergleich von Digitalschaltungen gibt es in unterschiedlichen Designprozessen verschiedene Arten von Beschreibungsformen, die die Schaltung für unterschiedliche Tools oder für unterschiedliche Maschinen oder auf unterschiedlichen Abstraktionsebenen darstellen. Soll nun gewährleistet sein, daß die einzelnen Beschreibungsformen gleich sind, müssen sie untereinander verglichen werden. Das zugrundeliegende technische System, hier die Schaltung, sollte zwar die gleiche sein, jedoch könnte durch die einzelnen Phasen des Designprozesses eine Beschreibungsform inhaltlich so verändert worden sein, daß sie nicht mehr die zugrundeliegende Schaltung beschreibt. Mit der hier vorgestellten formalen Verifikation, dem Vergleich der Schaltungen bzw. der Beschreibungsformen, kann bestimmt werden, ob die beschriebenen Schaltungen gleich sind oder nicht .
Im Rahmen einer zusätzlichen Ausgestaltung wird für jedes Vergleichsverfahren ein Schwellwert für bereitzustellende
Ressourcen (z.B. Speicherplatz oder Rechenleistung) und/oder zur Durchführung des Vergleichsverfahrens bereitzustellende Zeit bestimmt, wobei bei Überschreitung des Schwellwerts das jeweilige Vergleichsverfahren als nicht erfolgreich beendet wird. Dies ist besonders dann von Vorteil, wenn ein einzelnes Vergleichsverfahren, z.B. durch schnell ansteigende Komplexität, einen Rechner, auf dem es abläuft, blockiert oder keine Lösung in einem vorgegebenen Zeitintervall bestimmt wird. In so einem Fall ist es oft besser, eine Lösung mit dem nächsten Vergleichsverfahren zu erwirken.
Auch ist es eine Weiterbildung, daß die Reihenfolge der durchzuführenden Vergleichsverfahren dynamisch angepaßt wird. Dies geschieht bevorzugt dadurch, daß mitprotokolliert wird, welches Vergleichsverfahren die meisten Ergebnisse bestimmt hat, wobei dieses "beste" Vergleichsverfahren für zukünftige Vergleiche als erstes eingesetzt wird. Entsprechend erfolgt eine Sortierung der Reihenfolge mit dem "zweitbesten", dem "drittbesten", usf. Vergleichsverfahren.
Das Ergebnis des Vergleichs kann eingesetzt werden, um einen Entwurf, eine Anpassung oder eine Steuerung des technischen Systems durchzuführen.
Insbesondere bei der Schaltkreissimulation kann das Ergebnis des beschriebenen Vergleichs, so es positiv ist, direkt umgesetzt werden, indem eine vorgegebene Beschreibungsform einen Produktionsprozeß des Schaltkreises einleitet.
Auch ist es möglich, ein negatives Ergebnis umzusetzen in der Art, daß Überprüfungen der Beschreibungsformen notwendig sind. Insbesondere kann dazu die Diagnoseinformation, die aus dem Vergleich resultiert, genutzt werden.
Zur Lösung der Aufgabe wird weiterhin eine Anordnung zum Vergleich technischer Systeme angegeben, die eine Prozessoreinheit aufweist, die derart eingerichtet ist, daß a) mindestens zwei Vergleichsverfahren vorgesehen sind; b) die mindestens zwei Vergleichsverfahren in einer vorgegebenen Reihenfolge solange abarbeitet, bis ein Ergebnis des Vergleichs bestimmbar ist. Diese Anordnung ist insbesondere geeignet zur Durchführung des erfindungsgemäßen Verfahrens oder einer seiner vorstehend erläuterten Weiterbildungen.
Ausführungsbeispiele der Erfindung werden nachfolgend anhand der Zeichnung dargestellt und erläutert.
Es zeigen
Fig.l ein Blockdiagramm für die Arbeitsweise eines hybriden Beweiser;
Fig.2 ein Blockdiagramm für die Auswahl elementarer Beweiser als Teile eines hybriden Beweisers;
Fig.3 ein Blockdiagramm für einen Beweiser für interne Äquivalenzpunkte;
Fig.4 ein Blockdiagramm, das die Durchführung einer vollständigen Simulation veranschaulicht;
Fig.5 ein Blockdiagramm mit Schritten eines ROBDD- Beweisverfahrens;
Fig.6 eine Prozessoreinheit.
Nachfolgend wird insbesondere das Beispiel "Schaltungsver- gleich" zweier Schaltungen näher erläutert. Eine Vorgehensweise beim kombinatorischen Schaltungsvergleich ist wie folgt :
• jede der beiden Schaltungen wird als ein endlicher Automat dargestellt; • eine gemeinsame Kodierung der Automaten wird bestimmt; • eine Gleichheit der Schaltungen wird dargestellt als eine Menge von Gleichheitsrelationen von Booleschen Funktionen;
• eine Gleichheit von Booleschen Funktionen wird mit dem hier diskutierten Vergleich bestimmt.
EIGENSCHAFTEN
Eigenschaften beschreiben das Verhalten eines technischen
Systems über eine vorgegebene endliche Anzahl von Zeitpunkten (=Invarianten über einem endlichen Zeitintervall) .
Ausgehend von einer Menge von atomaren Aussagen (AA) wird eine mögliche Eigenschaftssprache definiert. Eine elementare Aussage (EA) (state expression) ist eine beliebige Boolesche Verknüpfung von AA.
Im folgenden sei t ein beliebiger fester Zeitpunkt. Eigenschaften werden mit Referenz auf diesen Zeitpunkt formuliert .
Eine elementare Aussage zum Zeitpunkt t+k (EA ) (timed State expression; k ist eine ganze Zahl größer gleich 0) ist ein Ausdruck der Gestalt
at t+k: EA (2) .
Eine Eigenschaft (über n Zeitpunkte) ist eine Boolesche
Verknüpfung von endlich vielen zeitbehafteten elementaren Aussagen
Figure imgf000009_0001
Um Eigenschaften (besser) zu strukturieren, kann man sie in einen Annahmeteil (assume) und einen Beweisteil (prove) unterteilen; dies ist gleichbedeutend mit der Implikation
assume => prove (4) .
Beispiel für eine Eigenschaft:
assume: at t+0: not reset and at t+1: not reset;
prove: at t+0: request implies at t+1: acknowledge
Hierbei sind "reset", "request", "acknowledge" atomare Aussagen. Die Eigenschaft drückt aus, daß unter der Voraussetzung "not reset" ein "request" (zum Zeitpunkt 0) nach einem Zeitschritt mit einem "acknowledge" quittiert wird.
SEMANTIK
Nachfolgend werden insbesondere technische Systeme betrachtet, die als endliche Automaten darstellbar sind. Derartige Systeme sind bspw. Schaltungen (in Form von VHDL- Programmen oder EDIF-Netzlisten) . Ein endlicher, deterministischer Automat ist ein 5-Tupel der Form
(S, I, T, MAA, P) (5),
wobei
S eine endliche Menge von Zuständen,
I eine endliche Menge von Eingabesymbolen,
T cz S x I x S eine Übergangsrelation,
MAA eine Menge von atomaren Aussagen (AA) und P: S x I -» Potenzmenge (MAA) eine Bewertungsfunktion bezeichnen. Die Bewertungsfunktion P gibt an, welche atomaren Aussagen (AA) in einem Zustand erfüllt sind.
Vereinbart wird eine charakteristische Funktion χ£ einer Eigenschaft E. Die charakteristische Funktion XE wird eingesetzt, um eine Gültigkeit der Eigenschaft E zu bestimmen.
Es seien AA eine atomare Aussage und B = {0,1} die Boolesche Menge. Die charakteristische Funktion χjr wird definiert durch
XA/ S x I → B (6)
mit XAA(S' = 1 genau dann wenn AA e p(s, i),
d.h. AA ist in (s,i) erfüllt. Weiterhin sei
EA = B(AA1 ... , AAm) (7)
eine Boolesche Verknüpfung von atomaren Aussagen (d.h. eine elementare Aussage). Somit wird definiert:
λEA = B(XAA! ' • • • ' λAAm ) (8)
Nachfolgend werden Aussagen betrachtet, die sich auf mehrere Zustände beziehen. Es gelte
σ = ((s0, in), • • • , (sn-l, in-l)) e (s x i 1 (9)
und
Figure imgf000011_0001
und E sei eine Eigenschaft über n Zeitpunkte. Die charakteristische Funktion χjr ist eine Funktion
Figure imgf000012_0001
mit
XE(σ) = XEA(σk) (12),
falls
EA' (13:
eine elementare Aussage ist, und
Figure imgf000012_0002
falls
Figure imgf000012_0003
eine Boolesche Verknüpfung von elementaren Aussagen ist.
Eigenschaften (über n Zeitpunkte) werden über Pfade (der Länge n) eines Automaten interpretiert. Es sei
χτ: S x I x S → B (16)
die charakteristische Funktion der Übergangsrelation T. σ bezeichnet einen Pfad der Länge n, wenn s +ι ein Nachfolgezustand von s ist, d.h. wenn gilt
(s , ik, s + 1) e T Ü7)
oder χτ(s , ik, sk + 1) = 1 für k=0 , l , . . . , n-2 ( n > 2 ) ( 18 ) .
Daraus folgt:
XPfad(σ) = Xτ(s0<- iθ sl) Λ • • • Λ Xτ(sn-2' i-n-2' sn-l) (19) •
Eine Eigenschaft E über n Zeitpunkte ist erfüllt genau dann wenn gilt:
(xpfad => XE)(σ) = 1 (20)
für alle Pfade σ der Länge n.
Ein Gegenbeispiel zur Eigenschaft E ist eine Belegung an, so daß gilt
(Xpfad Λ notχE)(σ0) = 1 (21) .
Die nachfolgend vorgestellten Methoden können auf beliebige Funktionen gemäß Gleichung (11) angewandt werden. Die vorgestellte Eigenschaftssprache stellt nur eine mögliche Instanz dar, um Eigenschaften zu beschreiben. Ebenso wäre es möglich, den Definitionsbereich (S x l)n zu erweitern, z.B. zu
(S x i 1 x S, um eine mächtigere Sprache zu definieren.
Im weiteren wird von einer binären Kodierung des endlichen Automaten ausgegangen, d.h.
Figure imgf000013_0001
Die Verifikation ist damit auf den Beweis der Gleichheit einer Booleschen Funktion mit der konstanten Funktion 1 zurückgeführt . SPEZIALFALL: KOMBINATORISCHER VERGLEICH
Beim kombinatorischen Vergleich werden zwei endliche, deterministische Automaten mit Ausgabe untereinander verglichen. Diese Automaten können z.B. zwei digitale
Schaltungen darstellen. Ein endlicher, deterministischer Automat mit Ausgabe ist ein 5-Tupel
(S, I, 0, 8, λ) (23)
wobei
S eine endliche Menge von Zuständen, I eine endliche Menge von Eingabesymbolen, 0 eine endliche Menge von Ausgabesymbolen, δ: S x I -> S die Übergangsfunktion, λ: S x I — O die Ausgabefunktion bezeichnen.
Es seien
Mi = (Sif li Oif δi λi) mit i=l , 2 (24)
zwei endliche, deterministische Automaten mit Ausgabe. Unter einer gemeinsamen Kodierung von Mι_, M2 werden bijektive Abbildungen
bijS : Sl → S2, ijjil! → I2 , b jQ: 01 → 02 (25)
wobei mit 'b j' eine Bijektion bezeichnet wird, verstanden.
Die Automaten M , M heißen kombinatorisch äquivalent bzgl. einer gemeinsamen Kodierung gemäß Gleichung (25) genau dann, wenn gilt
bijs(δι(s, i)) = δ2(bijs(s),bij;r(i)) (26) und
bij0(λi(s, i)) = λ2(bijs(s> bi :jl (i)) ( 27 )
für alle s e Si , i e I]_ . Nach Identifikation von
Si = S2 = S, Ii = I2 = I, Oi = 02 = 0 (28)
ergeben sich daraus die Bedingungen
δι(s,i) = δ2(s,i) (29)
und
λι(s, i) = λ2(s, i) (30)
für alle s e S]_ und i e Iι_ .
Eine binäre Kodierung von S, I, 0 überführt dies in eine (endliche) Anzahl von Gleichheitsrelationen zwischen Booleschen Funktionen.
BEWEISER
Es seien
Flj, F2j, j=l,2,...,n (31)
Boolesche Funktionen. Zur Behandlung des Problems
"Gilt F!j ≡ F2j für j =l, 2, ... , n?" (32)
gibt es unterschiedliche Methoden (Vergleichsverfahren) . Jede Methode hat dabei eigene Stärken und Schwächen. Durch Nutzung einer geeigneten Auswahl solcher Methoden werden die Schwächen einzelner Methoden eliminiert und damit die Robustheit des Lösungsansatzes deutlich erhöht. Durch überlappende Anwendung der Methoden können deutlich größere Systeme verglichen werden, als dies mit je einer einzelnen Methode möglich wäre.
In einem ersten Schritt werden die Funktionen nach Gleichung (31) durch einen gerichteten azyklischen Graphen dargestellt. Auf dieser Graphenstruktur setzen die einzelnen Methoden, auch als Teilbeweiser bezeichnet, auf.
Ein gerichteter, azyklischer Graph ist eine Menge K von Knoten und eine Menge (c K x K) von gerichteten Kanten, die jeweils zwei Knoten miteinander verbinden. Der Graph umfaßt keine Zyklen. Ein Knoten k2 heißt Sohn des Knotens kι_, falls eine gerichtete Kante den Knoten ki mit dem Knoten k2 verbindet. Blätter sind Knoten, von denen keine Kanten ausgehen. Wurzeln sind Knoten, in die keine Kanten münden. Gerichtete Kanten verlaufen von oben nach unten, so daß Wurzeln ganz oben und Blätter ganz unten im Graphen liegen.
Unter einer Basis (auch: Schnittebene) eines Graphen wird eine Teilmenge von Knoten mit der Eigenschaft "jeder Pfad von einer Wurzel zu einem Blatt läuft durch einen Knoten der Basis" verstanden. Insbesondere bildet die Menge aller Blätter eine Basis. In [5] wird ein Algorithmus beschrieben, mit dessen Hilfe eine Basis bestimmbar ist.
Sei k ein Knoten in der Graphenstruktur G. Der sogenannte Abhängigkeitskegel (engl.: Cone of Influence) von k ist die kleinste Substruktur Gk von G für die gilt: der Knoten k gehört zu G und mit einem Knoten k' gehören auch alle Söhne von k' zu G .
Mit folgender Interpretation stellt ein gerichteter, azyklischer Graph eine Boolesche Funktion dar: Jedem von einem Blatt verschiedenen Knoten k ist eine Boolesche Operation op zugeordnet. Die Söhne des Knotens k sind die Operanden von opk. Blätter (Wurzeln) stellen die Argumente
(den Wert) der Booleschen Funktion dar. Ein Blatt kann auch eine Konstante mit einem Wert "0" oder einem Wert "1" sein. Jeder Knoten der Graphenstruktur G repräsentiert eine Boolesche Funktion boolek, die von den primären Eingängen abhängig ist. Die Darstellung einer Booleschen Funktion als Graph ist nicht kanonisch, d.h. es gibt i.a. viele unterschiedliche Darstellungen. Knoten, welche dieselbe Boolesche Funktion darstellen, heißen äquivalent.
Um eine kompakte Darstellung zu erhalten, dürfen Kanten markiert sein, um einstellige Operationen, z.B. not, zu symbolisieren. Beispielsweise wird in [1] in den Knoten nur eine zweistellige and-Operation zugelassen. Die (einstellige) not-Operation wird durch Markierung der Kante gekennzeichnet.
Beim Aufbau des Graphen wird über eine Hashtabeile die Eindeutigkeit eines Knotens sichergestellt. Nach jeder Veränderung des Graphen (d.h. Zusammenlegung von zwei oder mehreren verschiedenen, äquivalenten Knoten) werden mehrfach auftretende identische Knoten zusammengelegt; somit bleibt die Eindeutigkeit eines Knotens erhalten. Dieser Vorgang heißt Rehashing.
Eine Aufgabe der Beweiser ist es, den zugrundeliegenden Graphen zu vereinfachen bis Problem (32) lösbar ist: In verschiedenen Phasen des Verfahrens werden Knoten bestimmt, die die gleiche Funktion darstellen, also äquivalent sind. Unter diesen Knoten wird dann ein Knoten als Repräsentant ausgewählt, alle anderen Knoten werden durch diesen Repräsentanten ersetzt. Dieser Prozeß heißt Elimination redundanter Knoten. Unmittelbar nach einer Elimination wird jedesmal ein Rehashing durchgeführt.
Zu Beginn eines jeden Beweisschritts, um beispielsweise eine Gleichheit boolekl = boolek2 (33)
für zwei verschiedene Knoten k , k2 nachzuweisen, wird zuerst der "Cone of Influence" der beteiligten Knoten bestimmt und dann auf diesem "Cone of Influence" weitergerechnet.
Im folgenden wird eine mögliche Auswahl von
Methoden/Beweisern vorgestellt, die in einer Implementierung genutzt werden. Dies sind: • vollständige Simulation;
• ROBDD-Verfahren (bzgl. Blätter);
• ROBDD-Verfahren (bzgl. Schnittebenen);
• ATPG-Verfahren (Automatische Testmustergenerierung) ;
• SAT-Verfahren (Boolesche Erfüllbarkeitsalgorithmen) ; • Beweiser für interne Äquivalenzpunkte.
Auf die einzelnen Beweiser/Methoden wird nachfolgend detailliert eingegangen.
SIMULATION
Die Simulation (vergleiche [6]) erfolgt von den Blättern zu den Wurzeln: Zuerst wird jedem Blatt ein Wert "0" oder "1" zugeordnet. Ist jedem Sohn eines Knoten k ein Wert zugeordnet worden, so wird der Wert des Knotens k mittels der Operation op bestimmt.
ROBDDS
ROBDDs (Reduced Ordered Binary Decision Diagrams, (siehe [2]) stellen eine Boolesche Funktion als azyklischen Graphen dar. Für eine gegebene Permutation der Argumente, die Variablenordnung, ist diese Darstellung eindeutig. Die
Variablenordnung ist in vielen Fällen entscheidend für die Größe des Graphen. Ist es möglich, die Boolesche Funktion als ROBDD (unter Berücksichtigung bestehender Restriktionen an Speicher und Laufzeit) darzustellen, so ist auf Grund der Eindeutigkeit der Darstellung die Frage der Gleichheit verschiedener technischer Systeme unmittelbar gelöst. Der Erfolg dieser Methode hängt von der Booleschen Funktion und der gewählten Variablenordnung ab.
Die Berechnung eines ROBDDs für die Wurzeln eines Graphen G geht von einer Basis (Schnittebene) des Graphen G aus und schreitet in Richtung der Wurzeln fort. Zuerst wird jedem Basisknoten eine BDD-Variable zugeordnet. Dies ist von Bedeutung, da insbesondere durch diese Zuordnung die Variablenordnung festgelegt wird. Sind die ROBDDs für alle Söhne eines Knotens k berechnet, kann auch das ROBDD des Knotens k erzeugt werden. Überschreitet die Größe eines ROBDD eine vorgegebene Schranke, wird die ROBDD Generierung abgebrochen. (In [1] wird dem Knoten eine neue Variable zugeordnet und weitergerechnet.)
ROBDDs ist der Hauptvertreter aus einer Reihe von ähnlichen Darstellungen für Boolesche Funktionen (vergleiche insbesondere [2]). Jede der dort angeführten Darstellungen kann hier eingesetzt werden.
EIN HYBRIDER BEWEISER
Um die Aussage (32) entscheiden zu können, werden die Booleschen Funktionen (31) durch einen gerichteten, azyklischen Graphen G dargestellt. Zu jeder Funktion F j gibt es in dem Graphen G einen Knoten kij, der Fij repräsentiert. Die Gleichungen Fij ≡ F2j werden nun sortiert bzgl. des
Abstandes des entsprechenden Knotenpaares (kij, kjl von den
Blättern des Graphen G. Der hybride Beweiser wird nacheinander für jedes Knotenpaar (kij, k2j) aufgerufen, beginnend mit Knotenpaaren nahe bei den Blättern.
In Fig.l ist ein hybrider Beweiser dargestellt. Als Eingabe in den Beweiser dienen zwei Knoten ki, k2 des Graphen G (vergleiche Block 1 in Fig.l). Ziel ist es, zu entscheiden, ob die durch die Knoten ki, k2 dargestellten Funktionen boolek , boolek identisch sind, d.h. ob
boolekι ≡ boolek2 (34)
gilt. Der Graph G stellt eine globale Datenstruktur dar, auf die jeder Teilbeweiser (elementarer Beweiser, siehe Block 102 und Fig.2) zugreifen kann.
Die Teilbeweiser versuchen, den Graphen G durch Zusammenlegung äquivalenter Knoten schrittweise zu vereinfachen, so daß schließlich, z.B. mittels vollständiger Simulation, die Gleichung (34) bewiesen oder widerlegt werden kann.
Im folgenden bezeichnet COI(kι,k2) den "Cone of Influence" von ki, k2 in dem Graphen G.
Führen die Teilbeweiser, subsummiert unter Block 102 in Fig.l, nicht zum Erfolg, so erfolgt in einem Block 103 ein Beweisverfahren für interne Äquivalenzpunkte (siehe auch
Fig.3). Jeder einzelne Beweiser kann die Ergebnisse "FALSCH" 104, d.h. die zu vergleichenden technischen Systeme sind verschieden, "WAHR" 106, falls die Systeme gleich sind, oder "OFFEN" 105, falls der Beweiser nicht zu einem Ergebnis kommen konnte, liefern.
Nachfolgend werden einzelne Durchführungsschritte des hybriden Beweisers dargestellt und erläutert.
Schritt 1: Vollständige Simulation, siehe Fig.2, Block 201 und Fig.4:
Für 'kleine' COI(kι,k2) (siehe Block 401): Alle möglichen Wertebelegungen werden simuliert und daraufhin getestet, ob sie die Gleichung (34) erfüllen oder nicht (siehe Block 402) .
Schritt 2: ROBDDs bezüglich Blätter, siehe Block 202:
Wähle als Basis die Menge aller Blätter von COI(kι,k2). Berechne ROBDDs auf COI(kι,k2) bis zu einer vorgegebenen Größe. Falls in COI(kι,k2) redundante Knoten vorhanden sind, also Knoten mit gleicher ROBDD-Darstellung auftreten, werden diese redundante Knoten eliminiert, und es wird Schritt 2 wiederholt.
Schritt 3: ROBDDs bezüglich Schnittebenen, siehe Block 203 und Fig.5:
Wähle als Basis eine Menge von Knoten 'nahe' bei den Wurzeln k]_, k2 (siehe [5]). Berechne ROBDDs auf COI(kι,k2) bis zu einer vorgegebenen Größe (siehe Block 501). Falls in COI(kι,k2) redundante Knoten, d.h. Knoten mit gleicher ROBDD-Darstellung auftreten, werden diese redundanten Knoten eliminiert (siehe Block 502) .
Falls die gewählte Basis nicht nur aus Blättern besteht (siehe Block 503) , kann eine gefundene Widerlegung falsch sein, denn die Basisknoten können voneinander abhängig sein (false negatives) . Durch Verschiebung der Basis in Richtung zu den Blättern (siehe Block 504) wird Schritt 3 wiederholt.
Erst wenn die Berechnung der ROBDDs zu groß wird, die Gleichung (34) bewiesen ist oder die Basis gänzlich aus Blättern besteht, wird Schritt 3 beendet (siehe Blöcke 505 und 506) .
Schritt 4: ATPG, siehe Block 204: Die Frage, ob eine Boolesche Funktion den Wert "0" oder "1" annimmt, bzw. die Frage nach der Gleichheit zweier Boolescher Funktionen, läßt sich als Problem im Bereich der automatischen Testmustergenerierung (Automatic Test Pattern Generation - ATPG) formulieren.
Schritt 5: SAT, siehe Block 205:
Die Aussage (34) wird in eine konjunktive Normalform überführt und einem SAT-Beweiser (z.B. [3] oder [4]) übergeben.
Schritt 6: Beweiser für interne Äquivalenzpunkte, siehe Block 103 und Fig.3:
Schritt 6.1: (RPS - Random Pattern Simulation): Die Knoten der Graphenstruktur G werden in
Äquivalenzklassen zerlegt (siehe Block 301) : Ausgehend von einer Zerlegung {K} wird durch einen Simulationsschritt eine bestehende Zerlegung verfeinert. Dabei wird eine Klasse AK zerlegt in zwei Teilklassen AKn, AKi , wobei AKi die Menge aller
Knoten e AK darstellt, denen durch die Simulation der Wert i zugeordnet wird. Die Simulation benutzt einen Zufallsgenerator für die Wertebelegung der Blätter (Random Pattern Simulation = RPS) . Dieser Verfeinerungsschritt wird mehrmals durchlaufen.
Eine Äquivalenzklasse stellt eine Menge von Knoten dar, die potentiell die gleiche Funktion darstellen. Knoten aus unterschiedlichen Äquivalenzklassen können nicht dieselbe Funktion darstellen.
Schritt 6.2:
Nacheinander werden alle potentiell äquivalenten Knotenpaare auf tatsächliche Äquivalenz untersucht, d.h. es wird geprüft, ob sie dieselbe Boolesche Funktion darstellen (siehe Blöcke 302, 303 und 304).
Es wird jeweils das noch nicht behandelte, potentiell äquivalente Knotenpaar (uι,u2) bestimmt, daß am 'nächsten' bei den Blättern liegt (siehe Block 305). Für dieses Knotenpaar (uι,u2) werden die Schritte 1-5 durchlaufen (siehe Block 306) . Danach ergibt sich eines der drei Ergebnisse:
a. das Knotenpaar (uι,u2) ist tatsächlich äquivalent: ein Knoten ist redundant und kann eliminiert werden (siehe Block 307); b. das Knotenpaar (uι,u2) ist nicht äquivalent: es wurde ein Belegung der Variablen (Blätter des "Cone of Influence" von ui, u2 ) gefunden, an der sich die beiden Funktionen booleu und booleU unterscheiden. Nach Zuweisung von Zufallswerten für die restlichen Blätter des Graphen G, wird der Graph G simuliert und die bisherige Äquivalenzklassenzerlegung verfeinert. Dies vermindert die Anzahl von potentiell äquivalenten Knotenpaaren (siehe Block 308); c. der Äquivalenznachweis ist wegen Komplexitätsgrenzen nicht entscheidbar: es wird das nächste Knotenpaar überprüft.
Nach jeder Überprüfung eines potentiell äquivalenten
Knotenpaares wird getestet, ob das ursprüngliche Knotenpaar (ki, k2) äquivalent ist. Falls dies nicht der Fall ist, wird im letzten Schritt das Knotenpaar (ki, k2) getestet.
In Fig.6 ist eine Prozessoreinheit PRZE dargestellt. Die Prozessoreinheit PRZE umfaßt einen Prozessor CPU, einen Speicher SPE und eine Input/Output-Schnittstelle IOS, die über ein Interface IFC auf unterschiedliche Art und Weise genutzt wird: Über eine Grafikschnittstelle wird eine Ausgabe auf einem Monitor MON sichtbar und/oder auf einem Drucker PRT ausgegeben. Eine Eingabe erfolgt über eine Maus MAS oder eine Tastatur TAST. Auch verfügt die Prozessoreinheit PRZE über einen Datenbus BUS, der die Verbindung von einem Speicher MEM, dem Prozessor CPU und der Input/Output-Schnittstelle IOS gewährleistet. Weiterhin sind an den Datenbus BUS zusätzliche Komponenten anschließbar, z.B. zusätzlicher Speicher, Datenspeicher (Festplatte) oder Scanner.
Literaturverzeichnis :
[1] A. Kuehlmann, F. Krohm: "Equivalence Checking Using Cuts and Heaps", 34th ACM/IEEE Design Automation Conference, 1997, pp.263-268.
[2] J. Jain, N. Narayan, M. Fujita, A. Sangiovanni- Vincentelli: "A Survey of Techniques for Formal Verification of Combinational Circuits", Proc. Int. Conf. On Computer Design (ICCD), 1997, pp.445-454.
[3] J. P. M. Silva: "An Overview of Backtrack Search Satisfiability Algorithms", 5th Int. Symposium on Artificial Intelligence and Mathematics, 1998.
[4] R. J. Bayardo Jr . , R.C. Schräg: "Using CSP Look-Back
Techniques to Solve Real-World SAT-Instances" , Proc. Of the National Conf. On Artificial Intelligence, pp.203- 208, July 1997.
[5] Y. Matsunaga: "An Efficient Equivalenc Checker for
Combinational Circuits", 33rd ACM/IEEE Design Automation Conference, 1996, pp.629-634.
[6] F. Krohm, A. Kühlmann, A. Mets: "The Use of Random Simulation in Formal Verification", Proc. Int. Conf. on Computer Design (ICCD), 1996, pp.371-376.
[7] M. Davis, H. Putnam: "A Computing Procedure for
Quantification Theory", Journal or the Association for Computing Machinery, Vol.7, Number 3, July 1960, pp.125-139.

Claims

Patentansprüche
1. Verfahren zum Vergleich technischer Systeme untereinander, a) bei dem mindestens zwei Vergleichsverfahren vorgesehen sind; b) bei dem die mindestens zwei Vergleichsverfahren in einer vorgegebenen Reihenfolge solange abgearbeitet werden, bis ein Ergebnis des Vergleichs bestimmt wird.
2. Verfahren nach Anspruch 1, bei dem das Ergebnis des Vergleichs eine Gleichheit oder eine Verschiedenheit der technischen Systeme ist.
3. Verfahren nach Anspruch 2, bei dem anhand der Gleichheit der technischen Systeme dieselben verifiziert werden.
4. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die mindestens zwei Vergleichsverfahren insbesondere aus den folgenden Vergleichsverfahren bestimmt werden: a) SAT-Vergleichsverfahren; b) Simulationsverfahren; c) BDD-Verfahren; d) ATPG-Verfahren; e) Verfahren basierend auf internen Äquivalenzpunkten.
5. Verfahren nach Anspruch 4, bei dem das BDD-Verfahren insbesondere ein ROBDD- Verfahren ist.
6. Verfahren nach Anspruch 5, bei dem das ROBDD-Verfahren bezüglich Blätter oder bezüglich Schnittebenen durchgeführt wird.
7. Verfahren nach einem der vorhergehenden Ansprüche, bei dem zwei technische Systeme untereinander verglichen werden.
8. Verfahren nach einem der vorhergehenden Ansprüche, bei dem ein technisches System eine Schaltung, insbesondere eine elektrische Schaltung, ist.
9. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die zu vergleichenden technischen Systeme in Form von Beschreibungsformen technischer Systeme dargestellt werden.
10. Verfahren nach Anspruch 9, bei dem durch eine Beschreibungsform das technische System als ein endlicher Automat dargestellt wird.
11. Verfahren nach einem der vorhergehenden Ansprüche, bei dem für jedes Vergleichsverfahren ein Schwellwert für bereitzustellende Ressourcen und/oder zur Verfügung gestellte Zeit bestimmt wird, wobei durch eine Überschreitung des Schwellwerts das jeweilige Vergleichsverfahren als nicht erfolgreich beendet wird.
12. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Reihenfolge der durchzuführenden Vergleichsverfahren angepaßt wird, indem dasjenige Vergleichsverfahren zuerst aufgerufen wird, durch das die meisten Vergleiche gelöst werden konnten.
13. Verfahren nach einem der vorhergehenden Ansprüche, bei dem anhand des Ergebnisses des Vergleichs ein Entwurf, eine Anpassung oder eine Steuerung zumindest eines technischen Systems durchgeführt wird.
14. Verfahren nach einem der vorhergehenden Ansprüche, bei dem durch Seiteneffekte bereits aufgerufener Vergleichsverfahren der Vergleich vereinfacht wird.
15. Anordnung zum Vergleich technischer Systeme untereinander, mit einer Prozessoreinheit, die derart eingerichtet ist, daß a) mindestens zwei Vergleichsverfahren vorgesehen sind; b) die mindestens zwei Vergleichsverfahren in einer vorgegebenen Reihenfolge solange abgearbeitet werden, bis ein Ergebnis des Vergleichs bestimmbar ist.
PCT/DE1999/003500 1998-11-03 1999-11-02 Verfahren und anordnung zum vergleich technischer systeme untereinander WO2000026825A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19850670.8 1998-11-03
DE19850670 1998-11-03

Publications (1)

Publication Number Publication Date
WO2000026825A1 true WO2000026825A1 (de) 2000-05-11

Family

ID=7886555

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE1999/003500 WO2000026825A1 (de) 1998-11-03 1999-11-02 Verfahren und anordnung zum vergleich technischer systeme untereinander

Country Status (1)

Country Link
WO (1) WO2000026825A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002021344A2 (de) * 2000-09-05 2002-03-14 Infineon Technologies Ag Verfahren und anordnung zum vergleich technischer systeme unter verwendung von systemersetzungen

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754454A (en) * 1997-03-03 1998-05-19 Motorola, Inc. Method for determining functional equivalence between design models
EP0878769A2 (de) * 1997-05-16 1998-11-18 Fujitsu Limited Verfahren zur Verifikation kombinatorischer Schaltungen mit einem filter-basierenden Ansatz

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754454A (en) * 1997-03-03 1998-05-19 Motorola, Inc. Method for determining functional equivalence between design models
EP0878769A2 (de) * 1997-05-16 1998-11-18 Fujitsu Limited Verfahren zur Verifikation kombinatorischer Schaltungen mit einem filter-basierenden Ansatz

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BISCHOFF G P ET AL: "FORMAL IMPLEMENTATION VERIFICATION OF THE BUS INTERFACE UNIT FOR THE ALPHA 21264 MICROPROCESSOR", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON COMPUTER DESIGN. VLSI IN COMPUTERS AND PROCESSORS,US,LOS ALAMITOS, CA: IEEE, 1997, pages 16 - 24, XP000799845, ISBN: 0-8186-8207-8 *
GUPTA A ET AL: "Integrating a Boolean satisfiability checker and BDDs for combinational equivalence checking", PROCEEDINGS ELEVENTH INTERNATIONAL CONFERENCE ON VLSI DESIGN (CAT. NO.98TB100217), PROCEEDINGS ELEVENTH INTERNATIONAL CONFERENCE ON VLSI DESIGN, CHENNAI, INDIA, 4-7 JAN. 1998, 1997, Los Alamitos, CA, USA, IEEE Comput. Soc, USA, pages 222 - 225, XP002134530, ISBN: 0-8186-8224-8 *
KROHM F ET AL: "THE USE OF RANDOM SIMULATION IN FORMAL VERIFICATION", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON COMPUTER DESIGN. ICCD. VLSI IN COMPUTERS AND PROCESSORS,US,LOS ALAMITOS, IEEE COMP. SOC. PRESS, 1996, pages 371 - 376, XP000729904, ISBN: 0-8186-7554-3 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002021344A2 (de) * 2000-09-05 2002-03-14 Infineon Technologies Ag Verfahren und anordnung zum vergleich technischer systeme unter verwendung von systemersetzungen
WO2002021344A3 (de) * 2000-09-05 2003-03-06 Infineon Technologies Ag Verfahren und anordnung zum vergleich technischer systeme unter verwendung von systemersetzungen
US7082586B2 (en) 2000-09-05 2006-07-25 Onespin Solutions, Gmbh Method and arrangement for the comparison of technical system by means of system replacements

Similar Documents

Publication Publication Date Title
DE69838835T2 (de) Verfahren zur Prüfung und zur Darstellung einer Hardware durch Zerlegung und Aufteilung
WO2000026824A1 (de) Verfahren und anordnung zum vergleich einer ersten eigenschaft mit vorgegebenen eigenschaften eines technischen systems
EP1425638B1 (de) Verfahren zur validierung von simulationsergebnissen eines systems sowie darauf aufbauender äquivalenzvergleich digitaler schaltungen
DE60106799T2 (de) Probabilistische Diagnose, inbesondere für eingebettete Fernanwendungen
DE102007042752B4 (de) Verfahren zur Analyse der Zuverlässigkeit technischer Anlagen mit Hilfe von physikalischen Modellen
EP0580663B1 (de) Verfahren zur verifikation datenverarbeitender systeme
EP1764715A1 (de) Verfahren zur Bestimmung der Güte einer Menge von Eigenschaften, verwendbar zur Verifikation and zur Spezifikation von Schaltungen
DE102019203251B3 (de) Verfahren und System zur sicheren Signalmanipulation für den Test integrierter Sicherheitsfunktionalitäten
DE60110811T2 (de) Verfahren zur bereitstellung von bitweisen einschränkungen während einer test-generierung
DE10038499A1 (de) Verfahren und System für die verbesserte Entwicklungsprüfung mittels angepasster Ablaufverfolgung
DE10324594A1 (de) Verfahren zum Bereitstellen einer verbesserten Simulationsfähigkeit eines dynamischen Systems außerhalb der ursprünglichen Modellierungsumgebung
EP1771799B1 (de) Verfahren zur bewertung der güte eines testprogramms
DE102018000205A1 (de) Numerische Steuerung
EP1068580B1 (de) Verfahren zum vergleich elektrischer schaltungen
EP3812949A1 (de) Konfigurierbarer digitaler zwilling
EP1771798B1 (de) Verfahren der bewertung der güte eines computerprogramms
WO2000026825A1 (de) Verfahren und anordnung zum vergleich technischer systeme untereinander
EP2302554A2 (de) Verfahren zur Kennzeichnung eines in einem Computerspeichersystem enthaltenen Computerprogrammabschnitts
DE10206658B4 (de) Verfahren zum Überprüfen einer integrierten elektrischen Schaltung
DE19924242C2 (de) Vektorrestauration mit beschleunigter Validation und Verfeinerung
DE112018006331B4 (de) Testfallgenerierungsvorrichtung, Testfallgenerierungsverfahren und Testfallgenerierungsprogramm
DE102017104049B4 (de) Verfahren und vorrichtung zum überprüfen der zuverlässigkeit eines chips
EP3575976A1 (de) Verfahren zum bestimmen einer physikalischen verbindungstopologie eines für die steuergerätentwicklung eingerichteten, echtzeitfähigen testgeräts
EP3983918A1 (de) Verfahren zur sicherheitsüberprüfung einer technikeinheit
DE10325513B4 (de) Verfahren und Vorrichtung zum Erstellen eines Verhaltensaspekts einer Schaltung zur formalen Verifikation

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase