-
GEBIET DER
VORLIEGENDEN ERFINDUNG
-
Die
vorliegende Erfindung betrifft das Gebiet der Analyse des Funktionsverhaltens
digitaler Schaltungen zumindest teilweise in Echtzeit oder nahezu in
Echtzeit und Anwendung einer Hardwareimplementierung des Schaltungsentwurfs,
etwa eines Halbleiterchips mit dem Schaltungsentwurf, einer Prototypversion,
einem in der Anwendung programmierbaren Gatearray und dergleichen.
-
BESCHREIBUNG
DES STANDS DER TECHNIK
-
Die
Herstellung neuer Arten digitaler integrierter Schaltungen oder
integrierter Schaltungen mit einem digitalen Schaltungsteil erfordert
typischerweise eine gewissenhafte Überprüfung der Funktionalität des Schaltungsentwurfs
bzw. des Schaltungsdesigns vor der eigentlichen Massenproduktion.
D. h., das Verhalten der Schaltung muss mit der gewünschten
Funktionalität
für beliebige
spezifizierte Betriebsbedingungen übereinstimmen. Auf Grund der
immensen Kosten des Herstellungsprozesses für wenige integrierte Schaltungen
wird die Schaltungsüberprüfung häufig vor
dem eigentlichen Herstellen von Prototypversionen auf Silizium durchgeführt. Eine
Möglichkeit
in dieser Hinsicht ist die Konversion des digitalen Schaltungsentwurfs
in ein entsprechendes Schaltungsmodell, um die Funktion der Schaltung
mittels Software zu simulieren. Für relativ komplexe Schaltungsaufbauten
erfordert die Simulation jedoch großen Aufwand hinsichtlich der
Zeit und der Prozessressourcen und kann einige Wochen bis einige
Monate beanspruchen. Somit kann die Simulationszeit ungefähr 60% bis
80% zur Gesamtentwicklungszeit eines Projekts beitragen. Folglich
ist die Softwaresimulation des digitalen Schaltungsentwurfs, obwohl
diese eine 100%ige Übersicht über den
Entwurf bietet, d. h. dieses bietet die Möglichkeit den vollständigen Zustand
der Schaltung zu einem beliebigen gegebenen Zeitpunkt zu beobachten,
ein wenig attraktiver Ansatz in Hinblick auf die ausgedehnte Zeitdauer
von der Gestaltung bis zum tatsächlichen
Produzieren eines spezifizierten digitalen Schaltungsentwurfs.
-
Aus
diesem Grunde wurden Versuche unternommen, die Schaltungsüberprüfungsphase
durch Bereitstellen von Hardwarekomponenten zu beschleunigen, die
das Schaltungskon zept oder Teile davon repräsentieren, in Kombination mit
einer Softwaresimulation bereitzustellen, wobei ein erhöhter Aufwand
an Hardware, der in einem DUT (zu testendes Bauteil) deutlich die
Anforderungen hinsichtlich der Softwareressourcen für das Simulieren
des Schaltungskonzepts reduzieren kann, wodurch jedoch ebenso das
Maß an Übersichtlichkeit über das Schaltungskonzept
reduziert wird. Zum Beispiel kann der betrachtete Schaltungsentwurt
vollständig
oder teilweise durch programmierbare Logikbausteine (PLD's), etwa feldprogrammierbare
Gatearrays (FPGA) implementiert werden; die abhängig von der Kapazität des verwendeten
PLD einen Betrieb des DUT's
mit der Entwurfsgeschwindigkeit oder nahezu mit der Entwurfsgeschwindigkeit
ermöglicht,
mit der die integrierte Schaltung nach der Herstellung betrieben
werden soll. Eine Hardwarerepräsentation
des Schaltungskonzepts oder eines Teils davon mittels eines programmierbaren
Logikbausteins ermöglicht im
Gegensatz zur Herstellung eines Testsiliziumchips eine schnelle
Implementierung und eröffnet
bei Bedarf die Möglichkeit
einer Umgestaltung des Schaltungsentwurfs durch entsprechendes erneutes
Konfigurieren des Logikbausteins. Ferner ermöglicht das Betreiben der Hardwaredarstellung
bzw. Hardwareausführung
in einem Zielsystem verbesserte Möglichkeiten der Entwurfsverifizierung
und unterstützt ferner
die Softwareentwicklung für
das Zielsystem, wobei eine gegenseitige Anpassung der Software für das Zielsystem
und der Hardwaredarstellung einfach erreicht werden kann, indem
die Software und der programmierbare Logikbaustein umprogrammiert werden.
Trotz dieser Vorteile führt
die Verifizierung des Schaltungsentwurfs auf Hardwarebasis zu einer deutlich
reduzierten Übersichtlichkeit über den Schaltungsentwurt
im Vergleich zu der Softwaresimulierung des Schaltungsentwurfs,
wodurch auch drastisch die "Debug"-Möglichkeiten,
d. h. die Fähigkeit
zur Erkennung und Behebung von Fehlern in dem Schaltungsentwurf,
verringert werden.
-
Während die
Softwaresimulierung, die eine erhöhte Übersichtlichkeit über den
Schaltungsentwurf und damit Fehlerbehebungsmöglichkeiten bietet, ausgedehnte
Perioden für
das Simulieren des betrachteten Schaltungsentwurts erfordert, macht
die Verifizierung auf Hardware- oder Prototypenbasis, die eine erhöhte Betriebsgeschwindigkeit
des DUT's und damit
ein höheres
Maß an Ähnlichkeit
zu tatsächlichen
Betriebsbedingungen in einem Zielsystem liefert, das Fehlererkennen,
d. h. das Identifizieren der Ursachen eines unzulässigen Verhaltens schwierig.
-
Die
Patentschrift
US 5 923
567 A offenbart ein Testsystem zum Testen von integrierten
Schaltungen, wie z. B. Mikroprozessoren. Das Testsystem kann Testvektoren
sowohl mit einem Simulator für
ein entsprechendes DUT (zu testendes Bauteil) als auch mit einem
tatsächlichen
DUT austauschen und diese analysieren, wobei der Simulator bereits
vor der Fertigung des Bauteils, das die zu testende integrierte Schaltung
aufweist, eingesetzt werden kann, um den Entwicklungs- und Fertigungsprozess
für das
Bauteil effizienter zu gestalten.
-
Die
Patentschrift
US 6
336 088 B1 offenbart ein Verfahren und eine Vorrichtung
zum Testen von Multiprozessor-Systemen. Mehrere Multiport-Sytemeinheiten
können
gleichzeitig unabhängig
voneinander betrieben werden und können bei bestimmten Ereignissen
durch Anhalten entsprechender Systemeinheiten vorübergehend
synchronisiert werden.
-
Angesichts
der zuvor erläuterten
Situation besteht daher ein Bedarf für eine verbesserte Technik zum
Verifizieren eines digitalen Schaltungsentwurfs in einer Zeit- und
kosteneffi zienten Weise, wobei dennoch ein hohes Maß an Übersichtlichkeit über den
Schaltungsentwurf während
der Testphase gegeben ist.
-
ÜBERBLICK ÜBER DIE
VORLIEGENDE ERFINDUNG
-
Im
Allgemeinen richtet sich die vorliegende Erfindung an eine Technik,
die die Analyse eines digitalen Schaltungsentwurfs oder eines oder
mehrerer Bereiche davon zulässt
mit der Möglichkeit
des Verfolgens des Zustands eines DUT's, wie dies durch Softwaresimulierung
ermöglicht
wird, während gleichzeitig
die Vorteile des Betriebs des DUT's bei hoher Geschwindigkeit, die ähnlich zu
der Betriebsgeschwindigkeit ist, die in tatsächlichen Betriebsbedingungen
vorgefunden wird, beibehalten bleibt. Gemäß einer anschaulichen Ausführungsform
wird dies dadurch erreicht, dass mindestens zwei Hardwarerepräsentationen – etwa programmierbare
Logikbausteine, die Flexibilität
hinsichtlich der Möglichkeit
des Auslesens, des Zugriffs auf interne Signale, z. B. nach Synchronisierstufen
im Falle eines asynchronen Schaltungsentwurfs mit mehreren Taktsignalen, Prototypen
oder tatsächliche
Siliziumimplementierungen – eines
spezifizierten digitalen Schaltungsentwurfs oder eines Teiles davon
in einer zeitverschobenen Weise betrieben werden, wobei nach dem
Detektieren eines vordefinierten Zustandes der (zeitlich) führenden
Hardwaredarstellung ein entsprechend verzögerter Zustand; der von der
verzögerten
Hardwaredarstellung erhalten wird, für die Analyse des Schaltungsentwurfs
auf der Grundlage des verzögerten
Zustandes der zweiten Hardwaredarstellung verwendet werden kann.
Zum Beispiel kann die Initialisierung einer Softwaresimulierung beim
Antreffen einer spezifizierten Bedingung der führenden Hardwarerepräsentation
initiiert werden, um damit das Schaltungsverhalten, beginnend von dem
durch die verzögerte
Hardwaredarstellung gewonnenen Zustand, in Bezug auf die spezifizierte
Bedingungen zu analysieren, die einen beliebigen interessierenden
Schaltungszustand oder einen unzulässigen oder nicht spezifizierten
Entwurfszustand darstellen kann.
-
Gemäß einer
weiteren anschaulichen Ausführungsform
umfasst ein Verfahren das Betreiben einer zweiten Hardwaredarstellung
eines digitalen Schaltungsentwurfs in einer zeitverzögerten Weise
in Bezug auf eine erste Hardwaredarstellung des digitalen Schaltungsentwurfs.
Anschließend
wird bei Auftreten eines vorbestimmten Abbruchzustandes in der ersten
Hardwaredarstellung ein funktionales Verhalten des digitalen Schaltungsentwurfs
auf der Grundlage eines Zustands der zweiten Hardwaredarstellung
analysiert.
-
Gemäß einer
weiteren anschaulichen Ausführungsform
der vorliegenden Erfindung umfasst eine Vorrichtung zum Analysieren
eines digitalen Schaltungsentwurfs eine erste Hardwaredarstellung des
digitalen Schaltungsentwurts und eine zweite Hardwaredarstellung
des digitalen Schaltungsentwurts. Eine Schnittstelle ist vorgesehen
und ist mit der zweiten Hardwaredarstellung verbunden, wobei die
Schnittstelle ausgebildet ist, Zustandsdaten der zweiten Hardwaredarstellung
zu empfangen. Ferner umfasst die Vorrichtung einen Zustandsmonitor,
der ausgebildet ist, einen spezifizierten Zustand der ersten Hardwaredarstellung
zu überwachen.
-
Gemäß einer
noch weiteren anschaulichen Ausführungsform
umfasst ein System zum Analysieren eines digitalen Schaltungsentwurfs
eine erste Hardwaredarstellung des digitalen Schaltungsentwurfs
und eine zweite Hardwaredarstellung des digitalen Schaltungsentwurfs.
Ein Eingabeabschnitt ist vorgesehen und so ausgestaltet, um einen
spezifizierten Satz an Eingangssignalen der ersten Hardwaredarstellung
zuzuführen
und den spezifizierten Satz an Eingangssignalen der zweiten Hardwaredarstellung
in einer zeitverzögerten
Weise zuzuführen. Das
System umfasst ferner einen Simulator mit einem Simulationsmodell
des spezifizierten digitalen Schaltungsentwurfs und einen Zustandsmonitor,
der funktionsmäßig mit
der ersten Hardwaredarstellung verbunden und so ausgebildet ist,
um einen vordefinierten Zustand der ersten Hardwaredarstellung zu erkennen.
Des weiteren umfasst das System eine Schnittstelle, die zwischen
der zweiten Hardwaredarstellung und dem Simulator angeschlossen
ist.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Weitere
Vorteile, Aufgaben und Ausführungsformen
der vorliegenden Erfindung sind in den angefügten Patentansprüchen definiert
und gehen deutlicher aus der folgenden detaillierten Beschreibung
hervor, wenn diese mit Bezug zu den begleitenden Zeichnungen studiert
wird; es zeigen:
-
1a schematisch ein Schaltbild
einer Vorrichten zum Analysieren eines digitalen Schaltungsentwurfs
gemäß einer
anschaulichen Ausführungsform;
-
1b schematisch ein Schaltbild
einer Vorrichtung zum Analysieren eines digitalen Schaltungsentwurfs ähnlich zu
der Vorrichtung aus 1a;
-
2 schematisch ein Zeitablaufdiagramm, das
den zeitverschobenen Betrieb eines ersten DUT und eines zweiten
DUT gemäß der in 1 gezeigten Vorrichtung
darstellt;
-
3 schematisch ein Blockschaltbild
einer weiteren anschaulichen Ausführungsform, wobei ein Puffer
verwendet ist, um die Eingangssignale, die einem von zwei DUT's zugeführt werden,
zu verzögern,
um damit einen zeitverschobenen Betrieb zu ermöglichen.
-
4 schematisch ein Blockschaltbild,
das eine Vorrichtung mit Hardwaredarstellungen eines digitalen Schaltungsentwurts
zeigt, wobei zwei oder mehrere asynchrone Taktsignalbereiche enthalten sind,
und wobei den Taktsignalbereich wechselnde Signale zeitlich gespeichert
und einem zweiten DUT in einen zeitverzögerten Weise zugeführt werden; und
-
5 schematisch eine Vorrichtung
zum Betreiben zweier Hardwaredarstellungen mit zwei oder mehreren
asynchronen Taktsignalbereichen in einer im Wesentlichen zeitverschobenen
Weise, wobei die Synchronität
zwischen den zeitverschobenen Hardwaredarstellungen erreicht wird,
indem ein Referenztaktsignal eingeführt wird, mit dem die Taktsignale der
einzelnen Taktsignalbereiche korreliert sind.
-
DETAILLILERTE
BESCHREIBUNG DER ERFINDUNG
-
Obwohl
die vorliegende Erfindung mit Bezug zu den Ausführungsformen beschrieben ist,
wie sie in der folgenden detaillierten Beschreibung sowie in den
Zeichnungen dargestellt sind, sollte es selbstverständlich sein,
dass die folgende detaillierte Beschreibung sowie die Zeichnungen
nicht beabsichtigen, die vorliegende Erfindung auf die speziellen
anschaulichen offenbarten Ausführungsformen
einzuschränken,
sondern die beschriebenen anschaulichen Ausführungsformen stellen lediglich
beispielhaft die diversen Aspekte der vorliegenden Erfindung dar,
deren Schutzbereich durch die angefügten Patentansprüche definiert
ist.
-
Wie
zuvor erläutert
ist, basiert die vorliegende Erfindung auf dem Konzept, dass mindestens zwei
Hardwaredarstellungen, d. h. DUT's
für einen
zu testenden spezifizierten digitalen Schaltungsentwurf, vorgesehen
werden und in einer zeitverschobenen Weise so betrieben werden,
dass das verzögerte DUT
im Wesentlichen die gleiche "Geschichte" "durchlebt" hat, deren Entwicklung dann beispielsweise
durch Simulierung beim Auftreten eines vordefinierten Ereignisses
in der vorauseilenden DUT analysiert wird. Dabei reduziert die begrenzte
Zeitdifferenz zwischen dem spezifizierten Zustand der führenden
DUT und einem entsprechenden verzögerten Zustand der verzögerten DUT
deutlich die Anforderungen auf der Simulatorseite hinsichtlich der
Prozessorressourcen und der Simulationszeit. Gleichzeitig ist während dieser
begrenzten Simulationsphase eine 100%ige Übersichtlichkeit über den
Schaltungsentwurf gegeben und ermöglicht eine präzise Analyse
des Verhaltens der DUT und damit des grundlegenden digitalen Schaltungsentwurfs "in der Nähe" eines interessierenden
Zustandes, etwa eines Fehlerzustandes oder dergleichen. Andererseits
können
wesentliche Testabläufe
der DUT's bei hoher
Geschwindigkeit, beispielsweise bei nahezu der beabsichtigten Betriebsgeschwindigkeit
oder einer anderen interessierenden Geschwindigkeit, abhängig von den
Hardwareressourcen und den Fähigkeiten,
mit denen die DUT's
realisiert sind, durchgeführt
werden, so dass die überlegene
Flexibilität
beim Testen digitaler Schaltungsentwürfe, wie sie durch eine rasche Prototypenherstellung
gegeben ist, im Wesentlichen beibehalten bleibt. In anderen Ausführungsformen kann
die zweite Hardwaredarstellung in einem Schrittmodus betrieben werden,
indem die Taktsignale des Schaltungsentwurfs gesteuert werden, nachdem
die erste Hardwaredarstellung einen interessierenden Punkt in Echtzeit
erreicht hat. Dabei kann der komplette Zustand der zweiten Hardwaredarstellung, d.
h. alle synchronen Speicherelemente, vor dem Ausführen des
nächsten
Schrittes ausgelesen werden, wodurch eine 100%ige Übersichtlichkeit über den
Schaltungsentwurf gegeben ist.
-
Ein
vollständige Übersichtlichkeit über den Schaltungsentwurf
in der "Nähe" eines interessierenden
Zustands des digitalen Schaltungsentwurfs ermöglicht eine effiziente Analyse
der digitalen Schaltung beispielsweise in Hinblick auf die Wechselwirkung
mit seiner Echtzeitumgebung, beispielsweise für ein zielorientiertes Fehlersuchen
in der digitalen Schaltung und auch in ihrer Umgebung, d. h. in
der Hardware und Software, oder dies ermöglicht eine Analyse des Leistungsverhaltens
und der Hardwareausnutzung. Dies kann die Verifizierung der digitalen
Schaltung beschleunigen, indem der Zeitaufwand für beispielsweise Simulationen
der digitalen Schaltung und die Softwareentwicklung, d. h. die kombinierte
Hardware-Softwareentwicklung
und die Systemintegration der digitalen Schaltung reduziert wird.
-
Ferner
erlaubt die Verwendung der aufgezeichneten Eingangssignale als Stimuli
für einen
Simulator das Reduzieren des Aufwandes für die Entwicklung einer Simulationsumgebung
einschließlich von
Modellen der System/Test/Ziel-Umgebung. Wenn diese Modelle ohnehin
erforderlich sind, können
die authentischen Echtzeitdaten verwendet werden, um diese Modelle
den realen Bedingungen anzupassen.
-
Mit
Bezug zu den 1 bis 5 werden nunmehr weitere
anschauliche Ausführungsformen
detaillierter beschrieben.
-
1a zeigt schematisch ein
System 100 zum Analysieren des Verhaltens eines spezifizierten digitalen
Schaltungsentwurfs. Es sollte beachtet werden, dass der betrachtete
digitale Schaltungsentwurf den Entwurf einer vollständigen applikationsspezifischen
integrierten Schaltung (ASIC), einen interessierenden Teil einer
digitalen Schaltung, den digitalen Teil oder Bereich eines Schaltungsentwurfs
mit analogen und digitalen Abschnitten, und dergleichen beinhaltet.
Somit soll der Begriff "digitaler
Schaltungsentwurf",
wie er in dieser Anmeldung und in den angefügten Patentansprüchen verwendet
ist, in dem oben definierten Sinne verstanden werden, sofern er in
der Beschreibung und in den Ansprüchen nicht explizit anders
spezifiziert ist. Das System 100 umfasst eine Vorrichtung 110,
die die Hardwarekomponenten enthält,
die zum Betreiben mindestens zweier Hardwaredarstellungen des interessierenden
digitalen Schaltungsentwurfs erforderlich sind. Die Vorrichtung 110 kann
an einen Eingangsabschnitt 150 und einen Analyseabschnitt
angeschlossen sein, der als ein Simulator 130 dargestellt
ist. Die Vorrichtung 110 kann eine erste Hardwaredarstellung 111 des
spezifizierten digitalen Schaltungsentwurfs umfassen, die auch als
DUT 1 bezeichnet ist. Ferner ist eine zweite Hardwaredarstellung 112 des
interessierenden digitalen Schaltungsentwurfs, die auch als DUT 2 bezeichnet ist,
in der Vorrichtung 110 vorgesehen, wobei die erste und
die zweite Hardwaredarstellung 111, 112 in Form
programmierbarer Logikbausteine, etwa feldprogrammierbare Gatearrays,
vorgesehen sein können,
die geeignet so programmiert sind, um den spezifizierten digitalen
Schaltungsentwurf zu repräsentieren.
Ferner können
die erste und die zweite Hardwaredarstellung 111, 112,
wenn diese in Form rekonfigurierbarer Gatearrays vorgesehen sind,
beliebige Komponenten aufweisen, wie sie für den korrekten Betrieb der
Vorrichtung 110 erforderlich sind. Beispielsweise umfasst,
wie in 1a gezeigt ist,
die Vorrichtung 110 ferner einen Zustandsmonitor 113, der
mit der ersten Hardwaredarstellung 111 mittels einer Schnittstelle 114 verbunden
ist. Der Zustandsmonitor 113 kann so ausgestaltet sein,
dass ein Zustand der ersten Hard waredarstellung 111 überwacht
und mit einem Referenzzustand mit einer vordefinierten "Genauigkeit" verglichen werden
kann. D. h., der Zustand der Hardwaredarstellung 111 wird
durch den Zustand jeder einzelnen digitalen Komponente, etwa Flip-Flops,
Register, interne Speicherabschnitte und dergleichen repräsentiert.
Beim Bewerten des Verhaltens des spezifizierten Schaltungsentwurfs
muss es jedoch nicht immer erforderlich sein, den Zustand jeder
einzelnen Komponente in der ersten Hardwaredarstellung 111 zu
beobachten, um eine entsprechende Abbruchbedingung zu definieren,
die von dem Zustandsmonitor 113 zu erkennen ist. Beispielsweise
kann eine spezielle Kombination mehrerer Flip-Flop-Zustände eine spezielle Bedingung
anzeigen, etwa ein ungewünschtes
Funktionsverhalten der ersten Hardwaredarstellung 111 und
damit des spezifizierten digitalen Schaltungsentwurfs, die dann einfach
durch den Zustandsmonitor 113 durch Vergleichen des momentanen "Zustands", d. h. die durch die
mehreren Flip-Flop-Zustände
repräsentierte
digitale Codierung, mit einer vordefinierten Referenzcodierung verglichen
wird. Es kann jedoch jede andere Implementierung eines "Hardwareüberprüfers", Triggers oder einer
Detektierlogik, ein spezieller Wert auf einem gewissen Signal, etwa
ein "FIFO-Überlauf", und dergleichen
für den
Zustandsmonitor 113 verwendet werden, solange es möglich ist,
ein spezifiziertes Verhalten der ersten Hardwaredarstellung 111 zu
erkennen. Die Datenkommunikation zwischen der ersten Hardwaredarstellung 111 und
dem Zustandsmonitor 113 kann durch die Schnittstelle 114 bewerkstelligt
werden. In einer Ausführungsform
kann die Schnittstelle 114 mehrere Puffer aufweisen, die
mit einer oder mehreren digitalen Komponenten der ersten Hardwaredarstellung 111,
die zum Bewerten ihres Zustandes relevant sind, verbunden sind.
In anderen Ausführungsformen
kann die Schnittstelle 114 so ausgebildet sein, um eine
Datenkommunikation zwischen dem Zustandsmonitor 113 und
der ersten und der zweiten Hardwaredarstellung 111, 112 zu
ermöglichen,
wie dies durch die gestrichelte Linie dargestellt ist. Beispielsweise
kann ein Stoppsignal der ersten und der zweiten Hardwaredarstellung 111, 112 über die
Schnittstelle 114 bei Erkennen eines spezifizierten Abbruchzustands,
beispielsweise bei Ausschalten eines Taktsignals, zugeführt werden.
In anderen Ausführungsformen
kann die Schnittstelle 114 so gestaltet sein, um eine bidirektionale
Datenkommunikation zwischen dem Zustandsmonitor 113 und der
ersten und der zweiten Hardwaredarstellung 111, 112 zu
ermöglichen,
um damit eine spezifizierte Startbedingung in der ersten und der
zweiten Hardwaredarstellung 111, 112 durch entsprechendes Festlegen
des Zustandes aller internen Logikkomponenten in der ersten und
der zweiten Hardwaredarstellung 111, 112 zu erzeugen.
Z. B. kann ein Resetsignal den Anfangszustand erzeugen, oder die
erste und die zweite Hardwaredarstellung 111, 112 können mit speziellen
Werten vorgeladen werden. Die Schnittstelle 114 kann durch
Hardware oder durch eine Mischung aus Hardware- und Softwarekomponenten
gebildet werden, die beispielsweise in Form einer externen Steuerungseinheit
(nicht gezeigt) oder durch beliebige andere Mittel bereitgestellt
werden, die im Stand der Technik gut bekannt sind, etwa ein Logikanalysierer,
der mit der ersten Hardwaredarstellung 111 verbunden ist,
in Kombination mit einem digitalen Komparator. In einer speziellen
Ausführungsform
kann die Schnittstelle 114 durch ein programmierbares Logikbauteil,
beispielsweise als eine zusätzliche
Komponente der ersten Hardwaredarstellung 111 gebildet
sein. In ähnlicher
Weise kann in einer Ausführungsform
der Zustandsmonitor 113 in Kombination mit der Schnittstelle 114 und
der ersten Hardwaredarstellung 111 als integrales Teil
des programmierbaren Logikbausteins gebildet sein.
-
Die
Vorrichtung 110 umfasst ferner eine zweite Schnittstelle 115,
die mit der zweiten Hardwaredarstellung 112 verbunden ist,
wobei die zweite Schnittstelle 115 so ausgebildet ist,
dass der Zustand der zweiten Hardwaredarstellung 112 zu
einer externen Quelle ausgelesen werden kann, etwa einem Puffer,
einem Analysator und/oder dem Simulator 130. Es sollte
betont werden, dass eine beliebige Quelle zum Analysieren der ausgelesenen
Zustände der
zweiten Hardwaredarstellung 112, etwa der Simulator 130,
nicht permanent mit der Schnittstelle 115 verbunden sein
muss. Beispielsweise können die
Zustände
der zweiten Hardwaredarstellung gepuffert und an eine externe Quelle,
etwa den Simulator 130, zu einer beliebigen geeigneten
Zeit übertragen
werden.
-
Hinsichtlich
des Zustandes der zweiten Hardwaredarstellung 112 gelten
die gleichen Kriterien, wie sie zuvor mit Bezug zu der ersten Hardwaredarstellung 111 angegeben
sind. In einer speziellen Ausführungsform
ist die zweite Schnittstelle 115 so ausgebildet, um den
vollständigen
Zustand der zweiten Hardwaredarstellung 112, d. h. den
Zustand aller internen digitalen Komponenten, etwa Flip-Flops, Speicherelementen
und dergleichen, über
die zweite Schnittstelle 115 auslesen zu können. In
einer anschaulichen Ausführungsform
kann die zweite Schnittstelle 115 in Form eines programmierbaren Logikbausteines
implementiert sein. Beispielsweise kann ein feldprogrammierbares
Gatearray die Fähigkeit
bereitstellen, den Zustand aller sequentieller Komponenten festzuhalten
und kann ferner eine chipinterne Standardschnittstelle enthalten,
etwa eine JTAG-Schnittstelle, um die festgehaltenen Daten an die
Peripherie weiterzugeben.
-
Abhängig von
den Hardwareressourcen des programmierbaren Logikbausteines kann
in einer Ausführungsform
die Vorrichtung 111 als gesamtes durch entsprechendes Konfigurieren
des programmierbaren Logikbausteines implementiert werden. Ferner
sind die erste und die zweite Hardwaredarstellung 111, 112 so
gestaltet, um entsprechende Eingangssignale von dem Eingangsabschnitt 150 zu empfangen
und um entsprechende Taktsignale 116a und 116b zu
empfangen, die in 1 als
identisch gezeigt sind, die aber in anderen Ausführungsformen sich voneinander
unterscheiden können.
Beispielsweise kann das Taktsignal 116b als eine zu dem
Taktsignal 116a synchronisierte Version bereitgestellt werden,
um somit zu ermöglichen,
das Taktsignal 116b für
die Datensammlung bei Bedarf zu stoppen. Es sollte beachtet werden,
dass das Ausbilden wesentlicher Teile der Vorrichtung 110 durch
einen programmierbaren Logikbaustein eine rasche Implementierung
und Neugestaltung des betrachteten spezifizierten digitalen Schaltungsentwurfs
ermöglicht.
In anderen Ausführungsformen
kann es geeignet sein, Prototypenversionen auf Siliziumbasis oder ASIC's (applikationsspezifische
IC's) für die erste
und die zweite Hardwaredarstellung zu verwenden.
-
Der
Betrieb des Systems 100 beruht auf dem Konzept, dass die
erste Hardwaredarstellung 111 und die zweite Hardwaredarstellung 112 in
einer zeitverschobenen Weise betrieben werden. In dieser Hinsicht
können
der Begriff "zeitverschoben" und der Begriff "zeitverzögert" oder einfach "verzögert" untereinander austauschbar
angewendet werden, und es sollte klar sein, dass zumindest nach
einer gewissen Zeitdauer des Betriebes der Vorrichtung 110 die
erste Hardwaredarstellung 111 einen längeren Abschnitt ihrer "zeitlichen Entwicklung" im Vergleich zu
der zweiten Hardwaredarstellung 112 durchlaufen hat. Die
zeitliche Entwicklung, d. h. das elektrische Verhalten eines DUT's kann zusätzlich zu
der Arbeitsgeschwindigkeit, d. h. der Frequenz des Taktsignals und der
dazu zugeführten
Eingangssignale, von dem Zielsystem abhängen, in das die DUT zu implementieren
ist und von den Umgebungsbedingungen, unter denen das Zielsystem
zu betreiben ist. Wenn die erste und die zweite Hardwaredarstellung 111, 112 in einer
Form implementiert werden, die eine ausreichende "Ähnlichkeit" mit den Halbleiterchips bieten, die
tatsächlich
nach einem erfolgreichen Verifizieren des spezifizierten digitalen
Schaltungsentwurts herzustellen sind, können die Umgebungsbedingungen so
gewählt
werden, dass diese im Wesentlichen den tatsächlichen Umgebungsbedingungen
in der Zielanwendung entsprechen. In anderen Ausführungsformen
können
die Umgebungsbedingungen unter Umständen nicht sehr relevant sein,
und daher kann die Hardwarekonfiguration der ersten und der zweiten Hardwaredar stellung 111, 112 deutlich
von einem Halbleiterchip abweichen. In jedem Falle werden die Taktsignale 116a und 116b und
die Eingangssignale, die von dem Eingangsabschnitt 150 bereitgestellt werden,
als die relevanten Kriterien betrachtet, die die zeitliche Entwicklung,
d. h. das elektrische Verhalten des betrachteten digitalen Schaltungsentwurfs bestimmen.
Somit ist der Betrag an zeitlicher Verschiebung zwischen der ersten
Hardwaredarstellung 111 und der zweiten Hardwaredarstellung 112 durch die
Taktsignale 116a, 116b und die entsprechenden Eingangssignale
bestimmt, wobei die digitale Antwort der ersten und der zweiten
Hardwaredarstellung 111, 112 in Bezug auf die
Taktsignale 116a, 116b und die entsprechenden
Eingangsignale im Wesentlichen die gleiche ist, solange gewisse
Herstellungstoleranzen zwischen der ersten und der zweiten Hardwaredarstellung 111, 112 nicht
kritisch sind in Bezug auf die hochpegeleigen und die tiefpegeleigen
Phasen der entsprechenden Taktsignale 116a, 116b und
solange asynchrone Signale innerhalb einer einzelnen Hardwaredarstellung
nicht vorkommen. Eine entsprechende Vorrichtung zur Berücksichtigung
zweier oder mehrerer asynchroner Anteile in einer einzelnen DUT
ist detaillierter mit Bezug zu 4 erläutert.
-
Wie
in 1 dargestellt ist,
kann der verzögerte
oder zeitverschobene Betrieb der ersten und der zweiten Hardwaredarstellung 111, 112 erreicht werden,
indem die Taktsignale 116a, 116b als im Wesentlichen
identische Signale zugeführt
werden und indem ein Satz ein Eingangssignalen 117 der
ersten Hardwaredarstellung 111 und indem der gleiche Satz an
Eingangsignalen als verzögerte
Eingangsignale 117d der zweiten Hardwaredarstellung 112 eingespeist
wird. Während
sich der Zustand der ersten Hardwaredarstellung 111 in
Reaktion auf das Eingangssignal 117 und das Taktsignal 116a ändert, antwortet
die zweite Hardwaredarstellung 112 auf das Taktsignal 116b,
das in diesem Beispiel identisch zu dem Taktsignal 116a ist,
und auf das verzögerte
Eingangssignal 117d und daher ist die Funktionsweise, d.
h. die Abfolge von Zuständen
der zweiten Hardwaredarstellung 112, in Bezug auf den Ablauf
der Zustände
der ersten Hardwaredarstellung 111 zeitlich verzögert. Bei
Auftreten eines vordefinierten Abbruchzustandes, der von dem Zustandsmonitor 113 über die
Schnittstelle 114 detektiert wird, kann dann der entsprechende
verzögerte
Zustand der zweiten Hardwaredarstellung 112 an den Simulator 130 über die
zweite Schnittstelle 115 eingespeist werden. Abhängig von
den Hardwareressourcen der zweiten Schnittstelle 115 und
der zweiten Hardwaredarstellung 112 kann ein Unterbrechen
des Betriebes der ersten und der zweiten Hardwaredarstellung 111, 112 so
ausgeführt
werden, um die Zustandsdaten von der zweiten Hardwaredarstellung 112 zu
dem Simulator 130 zu übertragen.
Wie in
-
1 gezeigt ist, wird das
verzögerte
Eingangssignal 117d ebenso dem Simulator 130 zugeführt, so
dass der Simulator, mit einem Modell des interessierenden digitalen
Schaltungsentwurfes mit dem verzögerten
Zustand der zweiten Hardwaredarstellung 112 initialisiert
und durch das verzögerte
Eingangssignal 117d stimuliert werden kann. Somit kann
beginnend von dem verzögerten
Zustand der zweiten Hardwaredarstellung 112 die Entwicklung dieses
Zustandes zu dem vordefinierten Abbruchzustand "rekonstruiert" werden, wobei eine 100%ige Entwurfsübersicht
mittels des Simulators 130 gegeben ist.
-
2 zeigt schematisch einen
Zeitablauf, der den Betrieb des Systems 100 repräsentiert.
Die horizontale Achse entspricht der Zeit, wobei die Funktion der
ersten und der zweiten Hardwaredarstellung 111, 112 als
entsprechende Balken dargestellt sind. Zum Zeitpunkt t0 wird
die Funktion der ersten Hardwaredarstellung 111 durch Zuführen des Taktsignals 116a und
des Eingangssignals 117 gestartet. Nach einem Zeitintervall,
das als Δt
bezeichnet ist, wird der Betrieb der zweiten Hardwaredarstellung
112 zum Zeitpunkt t, gestartet, indem das Taktsignal 116b und
das verzögerte
Eingangssignal 117d zugeführt werden, wobei die Länge des
Zeitintervalls Δt
durch den Betrag an Zeitverzögerung
des Eingangssignals 117d, wie es von dem Eingangsabschnitt 150 bereitgestellt
wird, bestimmt ist. Wie zuvor beschrieben ist, kann das Signal 116b eine
synchronisierte Version des Taktsignals 116a sein; ferner kann
das Signal 116a identisch zu dem Signal 116b sein
und die zweite Hardwaredarstellung 112 wird in einem Reset-Zustand
gehalten, bis das erste verzögerte
Signalmuster als Eingangssignal 117d verfügbar ist.
Ferner kann das Reset-Signal ebenso verzögert sein und ein Teil des
Signalsmusters darstellen. Beispielsweise können die Eingangssignale 117 und 117d als
unabhängige
Tabellen bereitgestellt werden, die beginnen bei t0 für das Eingangssignal 117 und
beginnend beim Zeitpunkt t1 für das Eingangsignal 117d ausgelesen
werden. In anderen Ausführungsformen
kann der Eingabeabschnitt 150 ein Schieberegister oder
einen Ringspeicher aufweisen, wobei die Eingangssignale 117 der
ersten Hardwaredarstellung 111 direkt zugespeist werden,
während die
verzögerten
Eingangssignale 117 an einer geeigneten Stelle des Schieberegisters
oder Ringspeichers ausgelesen werden. Zum Zeitpunkt t2 wird
ein Abbruchzustand durch den Zustandsmonitor 113 detektiert,
was das Feststellen des entsprechenden Zustandes der zweiten Hardwaredarstellung 112 nach sich
zieht, der dann in den Simulator 130 über die Schnittstelle 115 übertragen
werden kann, wobei, wie zuvor erläutert ist, die ausgelesenen
Zustände
gespeichert und in dem Simulator 130 oder eine andere Analysequelle
dann zu einer geeigneten Zeit übertragen
werden können.
Vorzugsweise wird der vollständige
Zustand der zweiten Hardwaredarstellung 112 ausgelesen
und in den Simulator 130 übertragen. Somit entspricht
der Zustand der zweiten Hardwaredarstellung 112 zum Zeitpunkt
t2 dem Zustand der ersten Hardwaredarstellung 111 zum
Zeitpunkt t2, so dass der gestrichelte Bereich
des Betriebes der ersten Hardwaredarstellung 111 dann analysiert
oder rekonstruiert werden kann mittels Simulation, so dass der Zustand
des Simulators 130 zum Zeitpunkt t3 oder
ein beliebig anderer Zustand in dem gestrichelten Bereich verwendet
werden kann, um das Verhalten des spezifizierten digitalen Schaltungsentwurfes
zu identifizieren, zu verifizieren oder zu analysieren. Während der
Simulationsphase, d. h. dem Intervall (t2,
t3) ist eine 100%ige Übersichtlichkeit über den
Schaltungsentwurf geben und ermöglicht,
das elektrische Verhalten des interessierenden digitalen Schaltungsentwurfs
präzise
zu analysieren. Es sollte beachtet werden, dass die Zeit und das
entsprechende Zeitintervall Δt
in 2 in Hinblick auf
die Anzahl der Taktzyklen anstatt als die physikalische Zeit aufzufassen sind,
da die Simulation typischerweise in einer anderen Geschwindigkeit
stattfindet als der tatsächliche Betrieb
der ersten und der zweiten Hardwaredarstellung 111, 112.
In einer speziellen Ausführungsform kann
der Zustand zum Zeitpunkt t3, der von dem
Simulator 130 bereitgestellt wird, mit dem Abbruchzustand
der ersten Hardwaredarstellung 111 zum Zeitpunkt t2 verglichen werden, um somit die Gültigkeit des
Simulationsmodells zu verifizieren, das Simulationsmodell beim Detektieren
eines Unterschiedes anzupassen und/oder Zeitablaufprobleme des betrachteten
spezifizierten digitalen Schaltungsentwurfs zu erkennen, indem die
Zustände
der ersten Hardwaredarstellung ausgelesen werden.
-
Wie
zuvor erläutert
ist, kann die Simulation eines komplexen Schaltungsentwurfes einen
hohen Aufwand hinsichtlich der Simulationsressourcen und der Simulationszeit
erfordern, und daher kann erfindungsgemäß der Aufwand hinsichtlich
der Simulation durch geeignetes Auswählen des Zeitintervalls Δt eingestellt
werden. Beispielsweise kann das Zeitintervall Δt als relativ klein gewählt werden,
etwa einige Taktzyklen, und kann entsprechend erhöht werden, sollte
die entsprechende Simulationsphase eine unzureichende 'Tiefe" für ein geeignetes
Analysieren des Schaltungsverhaltens, beispielsweise das Lokalisieren
und Beheben von Entwurfsfehlern, zum Vorschein bringen.
-
1b zeigt schematisch eine
weitere anschauliche Ausführungsform,
wobei die gleichen Bezugszeichen für Komponenten und Teile verwendet werden,
die ähnlich
oder identisch zu jenen sind, die in 1a gezeigt
sind. Das System 100 umfasst die Vorrichtung 110 mit
einem Puffer 152, der das Eingangssignal 117 empfängt und
die verzögerten
Signale 117d bereitstellt. Die Eingangssignale 117 werden
von dem Eingabeabschnitt 150 bereitgestellt, der ein definiertes
System, eine Test- oder Zielumgebung für den betrachteten Schaltungsentwurf
repräsentieren
kann, so dass das Überprüfen des
Schaltungsentwurfes unter beliebigen gewünschten Bedingungen stattfinden
kann. Dazu kann der Eingabeabschnitt 150 so ausgebildet
sein, um Ausgangssignale 118 aus der ersten Hardwaredarstellung 111 zu
empfangen, wobei entsprechende Ausgangssignale 118d der
zweiten Hardwaredarstellung 112 nicht angeschlossen sein
müssen,
da die Reaktion oder Wechselwirkung des Eingabeabschnitts 150 in
dem Puffer 152 in Form der zeitlich gespeicherten Eingangssignale 117 "bewahrt" ist.
-
Die
Vorrichtung 110 umfasst ferner die Schnittstelle 115,
die einen Puffer zum Empfangen des Zustandes und der verzögerten Eingangssignale 117d der
zweiten Hardwaredarstellung 112 aufweisen kann, die dann
nach Anforderung an einen Analysierabschnitt, etwa den Simulator 130, übertragen werden
können.
-
Während des
Betriebs des Systems 100 der 1b liefert
der Eingabeabschnitt 150 das Eingangssignal 117,
das durch die Wechselwirkung des Eingabeabschnitts 150 mit
den Ausgangssignalen 118 bestimmt sein kann. Bei Auftreten
eines Abbruchzustandes, der von dem Zustandsmonitor 113 detektiert
wird, kann ein entsprechendes Stoppsignal 119 zu dem Puffer 152 und
der zweiten Hardwaredarstellung 112 zugeführt werden.
Basierend auf der Eingabegeschichte, die in dem Puffer 152 gespeichert
ist, und den entsprechenden Zuständen
der zweiten Hardwaredarstellung 112, auf die über die Schnittstelle/Puffer 115 zugreifbar
ist, kann die Analyse in ähnlicher
Weise durchgeführt
werden, wie dies mit Bezug zu 1a und 2 beschrieben ist.
-
In
den mit Bezug zu den 1a, 1b und 2 beschriebenen anschaulichen Ausführungsformen werden
die erste und die zweite Hardwaredarstellung 111, 112 mit
der gleichen Geschwindigkeit betrieben, indem das gleiche Taktsignal
jeder Hardwaredarstellung zugeführt
und indem die entsprechenden Eingangssignale verzögert werden.
In anderen Ausführungsformen
kann es geeignet sein, die erste Hardwaredarstellung 111 mit
höherer
Geschwindigkeit als die zweite Hardwaredarstellung 112 zu
betreiben, wobei die entsprechenden Eingangsignale 117 und 117d synchron
mit den entsprechenden unterschiedlichen Taktsignalen 116a und 116b zugeführt werden. Beispielsweise
kann der Geschwindigkeitsunterschied zwischen den zwei Hardwaredarstellungen variiert
werden oder kann an die Sequenz der Eingangssignale, die den Hardwaredarstellungen 111, 112 zugeführt werden,
angepasst werden, wodurch auch das Maß an Zeitverzögerung und
damit Simulationstiefe entsprechend eingestellt wird. Beispielsweise
kann ein einfaches Eingabemuster nur ein kurzes Zeitintervall Δt erfordern
und somit eine reduzierte Simulationstiefe, und daher kann die zweite
Hardwaredarstellung 112 mit einem Taktsignal 116b betrieben
werden, das lediglich geringfügig
langsamer als das Taktsignal 116a ist. Während eines
anspruchsvolleren Eingabemusters kann es geeignet sein, eine moderat
große
Simulationstiefe bereitzustellen, wenn die Schaltungsanalyse während dieser Testphase
erforderlich ist, und somit kann die Frequenz des Taktsignals 116b entsprechend
herabgesetzt werden. In anderen Ausführungsformen kann ein anwachsendes Δt, das durch
eine Differenz der Taktsignalfrequenzen hervorgerufen wird, während nicht
kritischer Testlaufphasen kompensiert werden, indem die Taktsignalfrequenz 116b größer als
die des Taktsignals 116a gewählt wird, wodurch das Maß an Zeitverzögerung zwischen
der ersten und der zweiten Hardwaredarstellung 111, 112 reduziert
wird, solange das Vergrößern der
Taktsignalfrequenz mit dem statischen Gegebenheiten der zweiten
Hardwaredarstellung 112 verträglich ist. D. h., die hochpegeleigen
und tiefpegeleigen Anteile des Taktsignals können nur bis zu dem Maße verkürzt werden,
wie die intrinsischen Einschwingzeiten und dergleichen mit der erhöhten Taktfrequenz
für das
Taktsignal 116b verträglich
sind.
-
Hinsichtlich
der Erfassung eines spezifizierten Abbruchzustandes der ersten Hardwaredarstellung 111 und
der nachfolgenden Simulation in dem Simulator 130, wenn
die erste und die zweite Hardwaredarstellung 111, 112 mit
unterschiedlichen Geschwindigkeiten betrieben werden, gelten die
gleichen Kriterien, wie sie zuvor mit Bezug zu einer im Wesentlichen
konstanten Betriebsgeschwindigkeit der ersten und der zweiten Hardwaredarstellung 111, 112 beschrieben
sind.
-
Es
sollte beachtet werden, dass ein Anstieg der Simulationstiefe während eines
Testlaufes des Systems 100 auch mit den Ausführungsformen
erreicht werden kann, wie sie mit Bezug zu den 1 und 2 beschrieben
sind, wobei die erste und die zweite Hardwaredarstellung 111, 112 mit
der gleichen Geschwindigkeit betrieben werden, indem die Zeitverzögerung des
Eingangssignals 117d erhöht wird. Beispielsweise kann
während
einer ersten Phase des Betriebes des Systems 100 eine Zeitverzögerung von
einigen Taktsignalperioden als geeignet angesehen werden, wohingegen
in einer fortgeschrittenen Betriebsphase eine erhöhte Simulationstiefe
als geeignet erachtet werden kann, sollte ein Abbruchzustand de tektiert
werden. Eine unterschiedliche Geschwindigkeit der Taktsignale kann
vorteilhaft sein, wenn Optimierungstechniken angewendet werden, um
eine effiziente Implementierung für den Verzögerungsblock, etwa den Puffer 152,
zu unterstützen.
Im Falle der Anwendung eines Speichers kann beispielsweise eine
Datenkomprimierung auf die Speichereingabe angewendet werden, und
eine Dekomprimierung auf die Speicherausgabe. Ferner kann ein Referenztaktsignal
zur Handhabung asynchroner Schaltungsentwürte mit mehreren Taktsignalen
eingeführt
werden, wie dies später
beschrieben ist. Dies kann ebenso zu unterschiedlichen Taktsignalgeschwindigkeiten
führen.
-
Mit
Bezug zu 3 werden nunmehr
weitere anschauliche Ausführungsformen
detaillierter beschrieben.
-
In 3 umfasst ein System 300 eine
Vorrichtung 310 mit einer ersten DUT 311 und einer zweiten
DUT 312. Die DUT 311 kann eine Hardwaredarstellung
eines zu analysierenden spezifizierten digitalen Schaltungsentwurts
umfassen und kann ferner einen Zustandsmonitor 313 aufweisen,
der so ausgebildet ist, einen spezifizierten Zustand der Hardwaredarstellung
zu erkennen und anzuzeigen. Beispielsweise kann der Zustandsmonitor 313 in
der Form eines Hardwareüberprüfers vorgesehen
sein, der das Überwachen
des Zustands der Hardwaredarstellung ermöglicht, oder zumindest das Überwachen einer
oder mehrerer spezifizierter Hardwarekomponenten der DUT 311 durch
Detektieren des Zustandes mindestens eines Signals ermöglicht.
In anderen Ausführungsformen
kann der Zustandsmonitor 313 eine beliebige Art eines Logikanalysierers
repräsentieren,
der einen Zustand erfassen, diesen mit einem spezifizierten Zustand
vergleichen und ein entsprechendes Signal bereitstellen kann. In
einer speziellen Ausführungsform
ist die erste DUT 311 mittels eines programmierbaren Logikbausteins
gebildet. Die zweite DUT 312 enthält ebenso eine Hardwaredarstellung
des betrachteten digitalen Schaltungsentwurfs und kann ferner Hardwarekomponenten
aufweisen, die das Festhalten von Statusinformationen der zweiten
DUT 312 ermöglichen.
In einer speziellen Ausführungsform
umfasst die zweite DUT 312 eine digitale Schaltung zum
Festhalten des Zustandes nahezu aller sequenzieller Komponenten,
die den betrachteten spezifizierten digitalen Schaltungsentwurt repräsentieren,
etwa Flip-Flop-Zustände, den
Inhalt von Speicherabschnitten, und dergleichen. Die zweite DUT 312 mit
der Zustandshalteschaltung kann in Form eines geeignet konfigurierten
programmierbaren Logikbausteines vorgesehen sein. Die Vorrichtung 310 umfasst
ferner einen Puffer 352, der mit seiner Ausgangsseite mit
der zweiten DUT 312 verbunden ist, um verzögerte Ausgangs signale 317d bereitzustellen,
und der auch über
eine geeignete Schnittstelle 315, etwa einer JTAG-Schnittstelle,
mit einem Analyseabschnitt verbunden ist, der durch einen Simulator 330 repräsentiert
ist. Eine Eingangsseite des Puffers 352 ist mit einem Eingabeabschnitt 350 verbunden,
um entsprechende Eingangssignale 317 von diesem zu empfangen.
Der Eingabeabschnitt 350 kann in Form einer gewünschten
Systemumgebung, Testumgebung oder Zielumgebung vorgegeben sein und
kann so ausgebildet sein, um Ausgangssignale 318 von der
ersten DUT 311 zu empfangen. Eine digitale Schaltung 328,
die eine logische Oder-Funktion repräsentiert, ist vorgesehen, deren Eingänge mit
dem Zustandsmonitor 313, dem Eingabeabschnitt 350 und
einer Schnittstelle 315a, die eine Verbindung zu dem Simulator 330 liefert,
verbunden sind. Der Ausgang der logischen Schaltung 328 ist mit
der ersten und der zweiten DUT 311, 312 und dem
Puffer 352 verbunden, um ein Stopptriggersignalfür das Unterbrechen
des Betriebs dieser Komponenten zu liefern.
-
Während des
Betriebs des Systems 300 kann der Zustandsmonitor 313 beispielsweise über die
Schnittstelle 315a entsprechend konfiguriert werden. Eine
Taktsignalquelle (nicht gezeigt) kann Taktsignale an die erste und
die zweite DUT 311, 312 und den Puffer 352 liefern,
um somit einen synchronen Betrieb dieser Komponenten zu gewährleisten.
Der externe Eingabeabschnitt 350 kann einen Satz geeigneter
Eingangssignale, etwa die Eingangssignale 317 bereitstellen
und kann die Ausgangssignale 318 empfangen, um somit eine
gewünschte
Wechselwirkung mit der Systemumgebung, die in dem Eingangsabschnitt 350 etabliert
sein kann, zu ermöglichen,
wobei die Eingabesignale 317 einen Betrieb der ersten DUT 311 gemäß dem zugrundeliegenden digitalen
Schaltungsentwurf stimulieren, während
die Eingangssignale 317 in zeitlicher Abfolge in dem Puffer 352 synchron
mit dem Betrieb der ersten und der zweiten DUT 311, 312 gespeichert
werden. Abhängig von
der Speichertiefe des Puffers 352, der in Form eines FIFO
(zuerst eingelesen, zuerst ausgelesen) Puffers vorgesehen sein kann,
möglicherweise
in Kombination mit einem internen oder externen RAM-Speicherelement,
werden die Eingabesignale 317 der zweiten DUT 312 in
einer zeitverzögerten Weise
in Form der Signale 317d zugeführt. Somit sind die momentan
vorherrschenden Zustände
der ersten und der zweiten DUT 311 und 312, d.
h. die Zustände
der entsprechenden Hardwaredarstellung des betrachteten spezifizierten
digitalen Schaltungsentwurfs, durch eine spezifizierte Anzahl an
Taktsignalen entsprechend der effektiven Tiefe des Puffers 352 zeitlich
beabstandet. Beim Auftreten eines spezifizierten Abbruchzustandes,
der von dem Zustandsmonitor 313 detektiert wird, wird ein
entsprechendes Stoppsignal 319b erzeugt und der Oder-Logik 328 zugeführt, um
das Stopptriggersig nal 319 dem Puffer 352 und
der ersten und der zweiten DUT 311, 312 zuzuführen. Somit
ist die Eingabe-"Geschichte" in dem Puffer 352 gespeichert,
wohingegen der entsprechende Zustand des digitalen Schaltungsentwurfs
in der zweiten DUT 312 bewahrt ist. Der Betrieb der Vorrichtung 310 kann
auch durch entsprechende Stoppsignale 319a von dem Eingabeabschnitt 350 und 319c von
der Schnittstelle 315a unterbrochen werden, um eine bessere
Flexibilität
beim Betreiben des Systems 300 zu erhalten. Nach dem Unterbrechen
des Betriebs des Puffers 352 und der zweiten DUT 312 werden
die Zustandsdaten, die von der Zustandshaltelogik, die in der zweiten
DUT 312 enthalten ist, erhalten werden, dem Simulator 330 über die Schnittstelle 315 oder
einen anderen Puffer (nicht gezeigt) zugeführt, um den Simulator 330 zu
einer geeigneten Zeit mit dem entsprechenden Entwurfszustand zu
initialisieren. Zudem werden die verzögerten Eingabesignale 317d ebenso
dem Simulator zugeführt
und können
daher als Stimuli für
den Simulationsprozess verwendet werden. Danach kann der interessierende
digitale Schaltungsentwurf im Wesentlichen in der gleichen Weise
analysiert werden, wie dies zuvor mit Bezug zu den 1 und 2 erläutert ist. Die
Schnittstelle 215a kann so ausgebildet sein, dass anfängliche
Zustände
der ersten und der zweiten DUT 311, 312 eingeladen
werden können,
wie dies mit Bezug zu 1a beschrieben
ist.
-
Somit
wird ein wirksames Hardwarefehlererkennungssystem bereitgestellt,
wobei in einer speziellen Ausführungsform
die Vorrichtung 310 in Form eines geeignet konfigurierten
feldprogrammierbaren Gatearrays bereitgestellt ist, wobei die Komplexität des betrachteten
digitalen Schaltungsentwurfs lediglich durch die Hardwareressourcen
des feldprogrammierbaren Gatearrays beschränkt sind. in anderen Ausführungsformen
können
Einschränkungen,
die durch die Hardwareressourcen eines feldprogrammierbaren Gatearrays
diktiert sind, vermieden werden, indem ein oder mehrere externe
Komponenten, etwa Speicherelemente, für den Puffer 352,
externe Elemente für
den Zustandsmonitor 313 und externe Komponenten zum Bereitstellen
der Logikschaltung zum Festhalten des Zustandes der zweiten DUT 312 verwendet
werden. Daher sollte die vorliegende Erfindung nicht als auf eine
spezielle Hardwareimplementierung der Vorrichtung 310 eingeschränkt gesehen
werden, sofern derartige Beschränkungen
nicht explizit in den angefügten
Patentansprüchen
aufgeführt
sind.
-
In
dem mit Bezug zu den 1 bis 3 beschriebenen Ausführungsformen
wird der zu analysierende spezifizierte digitale Schaltungsentwurf
als eine Schaltung oder einen Schaltungs bereich repräsentierend
betrachtet, der durch ein einzelnes Taktsignal betrieben wird. In
komplexen digitalen Schaltungen können zwei oder mehrere Schaltungsbereiche vorgesehen
sein, die mit unterschiedlichen Taktsignalen, d. h. mit unterschiedlichen
Geschwindigkeiten betrieben werden, wobei die unterschiedliche Taktsignale
im Wesentlichen in nicht korrelierter Weise erzeugt werden. Somit
weisen die Taktsignale unterschiedlicher Schaltungsbereiche typischerweise
keine feste Beziehung hinsichtlich der Phase und der Frequenz auf
und können
daher als asynchrone Taktsignale bezeichnet werden. Hierbei wird
ein spezifizierter Schaltungsbereich, der von einem spezifizierten
Taktsignal angesteuert wird, als eine Taktsignaldomäne bezeichnet.
Da zwei oder mehrere Taktsignaldomänen in im Wesentlichen nicht
korrelierter Weise betrieben werden können, muss eine Wechselwirkung,
d. h. ein Signaltransfer zwischen Taktsignaldomänen mit Bedacht behandelt werden,
um ein spezifiziertes Betriebsverhalten der Gesamtschaltung zu gewährleisten.
Beispielsweise können
Signale von einer Taktsignaldomäne
zu einer anderen direkt oder über
entsprechende Synchronisierlogiken transferiert werden. Beliebige
Signale, die die Wechselwirkung zwischen zwei unterschiedlichen
Taktsignaldomänen
steuern, etwa "Handshaking"-Signale und dergleichen müssen über eine
Synchronisierlogik zugeführt
werden, so dass diese Steuersignale als synchronisierte Signale
in Bezug auf die Zieltaktsignaldomäne betrachtet werden können. Diese
synchronisierten Signale werden üblicherweise
verwendet, um dann Signale, die direkt überwechseln, etwa Datensignale,
Bussignale, und dergleichen, als zulässige Signale zu kennzeichnen.
Da ein Synchronisiervorgang, der in einem digitalen Schaltungsentwurf
auftritt, in unterschiedlicher Weise in einer ersten und einer zweiten
Hardwaredarstellung oder DUT des digitalen Schaltungsentwurfs auf
Grund von Schwankungen im Herstellungsprozess und unterschiedlichen
Laufzeitbedingungen, etwa Temperatur, Spannung, und dergleichen,
auftreten können,
müssen
diese Synchronisiervorgänge
nicht notwendigerweise in identischer Weise in der führenden
und der verzögerten
DUT ablaufen. Aus diesem Grunde können in einer anschaulichen
Ausführungsform
die Taktsignaldomänen
in der zweiten DUT, d. h. in der verzögerten DUT, voneinander entkoppelt
werden, indem zusätzlich
Steuersignale und Datensignale der ersten DUT, d: h. der führenden
DUT, die Taktsignaldomänen überschreiten,
entkoppelt werden. Dabei können
Steuersignale, die zwischen den Taktsignaldomänen in synchronisierter Weise
ausgetauscht werden, nach dem Durchlaufen einer entsprechenden Synchronisierlogik
abgetastet und dann gespeichert werden. Auf diese Weise wird die
zeitverschobene Arbeitsweise der zweiten DUT in im Wesentlichen
synchroner Weise in Bezug auf die führende DUT er reicht, während der
Einfluss von Herstellungsschwankungen und sich ändernden Betriebsbedingungen
in der zweiten DUT reduziert oder eliminiert wird.
-
4 zeigt schematisch eine
Blockansicht, die eine Vorrichtung 410 zum Analysieren
eines spezifizierten digitalen Schaltungsentwurfs mit einer ersten
Taktsignaldomäne,
die mit einem Taktsignal 416a, das auch als DUTclk0 bezeichnet
ist, betrieben wird, und eine zweite Taktsignaldomäne, die
mit einem Taktsignal 416b, das auch als DUTclk1 bezeichnet
wird, betrieben wird, umfasst. Es sollte aus der vorhergehenden
Erläuterung
selbstverständlich
sein, dass die vorliegende Erfindung jedoch nicht auf zwei unterschiedliche
Taktsignalbereiche eingeschränkt ist,
sondern das eine beliebige Anzahl an Taktsignaldomänen vorgesehen
sein kann, abhängig
von den Hardwareressourcen der Vorrichtung 410. Daher umfasst
die Vorrichtung 410 eine erste DUT 411 mit einer
Hardwaredarstellung des spezifizierten digitalen Schaltungsentwurfs
und enthält
somit einen ersten Hardwarerepräsentationsbereich 460,
der die erste Taktsignaldomäne
repräsentiert,
die auch als DUT-CLK0-Domäne bezeichnet
ist, wobei in der folgenden Beschreibung der Hardwarerepräsentationsbereich 460 der
Einfachheit halber auch als die erste Taktsignaldomäne bezeichnet
ist. In ähnlicher
Weise ist ein zweiter Hardwarerepräsentationsbereich 461, der
die zweite Taktsignaldomäne
repräsentiert,
und als DUT-CLK1-Domäne
bezeichnet ist, vorgesehen. Die erste DUT 411 kann ferner
mehrere Synchronisierlogiken aufweisen, wie sie in dem spezifizierten digitalen
Schaltungsentwurf vorgesehen sind. In der in 4 gezeigten Ausführungsform sind Synchronisierlogiken 462a...462c vorgesehen,
wobei die Synchronisierlogik 462a an einem Eingang der
ersten DUT 411 vorgesehen ist, um ein asynchrones Eingangssignal 417b zu
synchronisieren. Ferner kann ein synchronisiertes Eingangssignal 417a direkt
in die erste Taktsignaldomäne 460 eingeführt und
ein weiteres asynchrones Eingangssignal 417c kann ebenso
direkt in die erste Taktsignaldomäne 460 eingeführt werden.
Zulässige
Werte in dem Signal 417c oder 463 werden durch
die synchronisierten Steuersignale 417b oder 462c gekennzeichnet.
Die Synchronisierlogik 462b kann vorgesehen sein, um domänenüberschreitende
Signale, die von der zweiten Taktsignaldomäne 461 kommen und
zu der ersten Taktsignaldomäne 460 gehen,
zu synchronisieren. In ähnlicher
Weise ist die Synchronisierlogik 462c vorgesehen, um Steuersignale,
die aus der ersten Taktsignaldomäne 460 kommen,
in Bezug auf die Zieldomäne,
d. h., die zweite Taktsignaldomäne 461,
zu synchronisieren. Wie gezeigt ist, werden die Eingangssignale 417a...417c auch
einem Puffer 452 zugeführt
zusammen mit Steuersignalen, die zwischen der ersten und der zweiten
Taktsignaldomäne 460, 461 ausgetauscht
werden, wobei das Abtasten der Signale nach dem Durchlaufen der
entsprechenden Synchronisierlogik 462a...462c stattfindet.
Das synchrone Eingangssignal 417a, das synchronisierte Eingangssignal 417b,
das synchronisierte taktdomänenüberschreitende
Signal 462b und das nicht synchronisierte Eingangssignal 417c werden
abgetastet und mit DUT-CLK0 in einem Bereich 452a des Puffers 452 abgespeichert.
In der gleichen Weise wird das synchronisierte taktsignaldomänenüberschreitende
Signal 462c und das nicht synchronisierte taktsignaldomänenüberschreitende
Signale 463 abgetastet und mit DUT-CLK1 in einem Bereich 452b des Puffers 452 gespeichert.
Wenn beide Flanken eines Taktsignals verwendet werden, kann das
Abtasten und Speichern mit der doppelten Frequenz des ursprünglichen
Taktsignals ausgeführt
werden. Der Einfachheit halber sind beliebige Mittel zum Erzeugen
der Taktsignale nicht gezeigt.
-
Die
Vorrichtung 410 umfasst ferner entsprechende Hardwarerepräsentationsbereiche,
d. h. Taktsignaldomänen 460 und 461 in
der zweiten DUT 412, wobei die zweite DUT 412 zusätzlich so
ausgebildet ist, dass diese direkt alle verzögerten Signale, die von dem
Puffer 452 ausgegeben werden, empfangen kann, ohne dass
die entsprechenden Synchronisierlogiken 462a...462c zu
verwenden sind. Dazu sind entsprechende Schnittstellen 464...464d in
der zweiten DUT 412 vorgesehen, die eine Verbindung mit
dem Puffer 452 bereitstellen. Beispielsweise ermöglicht es
die Schnittstelle 464a, dass das verzögerte synchronisierte Eingangssignal 417b in
die erste Taktsignaldomäne 460 der
zweiten DUT 412 eingeführt
wird. In ähnlicher
Weise führt
die Schnittstelle 462b die verzögerten Steuersignale, die nach der
Synchronisationslogik 462 der ersten DUT 411 erhalten
werden, der ersten Taktsignaldomäne 460 der
zweiten DUT 412 zu. Die Schnittstelle 464c liefert die
Steuersignale, die nach der Synchronisierlogik 462b der
ersten DUT 411 erhalten werden, während die Schnittstelle 464d die
verzögerten
Datensignale 463 der zweiten Taktsignaldomäne 461 der
zweiten DUT 412 zuführt.
Auf diese Weise sind die ersten und die zweiten Taktsignaldomänen 460, 461 der
zweiten DUT 412 vollständig
voneinander entkoppelt, da diese ihre Eingangssignale direkt von
dem Puffer 452 erhalten. Somit wird ein zeitverzögerter Betrieb
der zweiten DUT 412 in Bezug auf die erste DUT 411 erreicht,
wobei der Grad an Verzögerung
durch die Speicherkapazität
der Pufferbereiche 452a, 452b und den entsprechenden
Taktfrequenzen bestimmt ist.
-
Während des
Betriebs der Vorrichtung 410 wird ein spezifizierter Zustand
der ersten DUT 411 durch einen entsprechenden Zustandsmonitor
(nicht gezeigt) detektiert, und der Be trieb des Puffers 452 und
der zweiten DUT 412 wird in ähnlicher Weise unterbrochen,
wie dies mit Bezug zu den 1 bis 3 beschrieben ist. Danach
kann eine Simulation auf der Grundlage des von der zweiten DUT 412 ausgelesenen
Zustandes und auf der Grundlage der Geschichte der Eingangssignale 417a...417c und
der Geschichte der taktsignaldomänenüberschreitenden
Signale, die den Inhalt des Puffers 452 repräsentieren, ausgeführt werden.
Hinsichtlich der Hardwareanforderungen (etwa in Form von Zustandsmonitoren, Schnittstellen,
und dergleichen) zum Überwachen des
Zustandes der ersten DUT 411 und zum Übertragen eines entsprechenden
verzögerten
Zustandes der zweiten DUT 412 und des Pufferinhalts an
einen entsprechenden Simulator gelten die gleichen Kriterien, wie
sie zuvor in Bezug auf die in den 1 bis 3 dargestellten Ausführungsformen
angegeben sind. Ferner können
die einzelnen Taktsignaldomänen 460, 461 separat
simuliert werden, und somit kann der Aufwand an Ressourcen, der
auf der Simulatorseite erforderlich ist, reduziert werden.
-
In
einigen Anwendungen kann das Speichern von domänenüberschreitenden Signalen, etwa der
Datensignale 463 in 4,
in Hinblick auf die erforderliche Speicherkapazität des Puffers 452 als
ungeeignet angesehen werden. In diesem Falle können lediglich die domänenüberschreitenden
Steuersignale in dem Puffer anstelle der Steuersignale und der Datensignale
gespeichert werden, wobei eine ausreichend genaue Synchronisierung
der ersten DUT und der zweiten DUT erreicht wird, indem die Taktsignale für die erste
DUT und die Taktsignale für
die zweite DUT geeignet mit einem Referenztaktsignal korreliert werden,
mit dem der Puffer betrieben wird und das Abtasten der taktsignaldomänenüberschreitenden Signale
ausgeführt
wird. Das Referenztaktsignal kann eine Frequenz von mindestens dem
zweifachen Wert des schnellsten Entwurtstaktsignals aufweisen oder
kann eine deutlich höhere
Frequenz aufweisen, abhängig
von den Möglichkeiten
der Hardware, aus der die erste und die zweite DUT aufgebaut ist.
-
5 zeigt schematisch eine
Blockansicht zum Darstellen des Konzepts zum Synchronisieren einer
ersten DUT mit einer zweiten DUT, ohne Datensignale zu speichern,
die zwischen zwei oder mehreren unterschiedlichen Taktsignaldomänen ausgetauscht
werden. Eine Vorrichtung 510 zum Analysieren eines spezifizierten
digitalen Schaltungsentwurfs mit zwei oder mehreren unterschiedlichen
Taktsignaldomänen
umfasst eine erste DUT 511 und eine zweite DUT 512,
die jeweils eine entsprechende Anzahl an Hardwarerepräsentationsbereichen
für die
diversen Taktsignaldomänen,
die in dem Schaltungsentwurf enthalten sind, aufweisen können. Der
Einfachheit halber sind weder die Hardwarerepräsentationsbereiche dieser diversen
Taktsignaldomänen
gezeigt, noch sind beliebige weitere Hardwarekomponenten, die zum
Betrieb der Vorrichtung 510 erforderlich sind, dargestellt.
Beispielsweise können
die erste und die zweite DUT 511 und 512 eine ähnliche
Konfiguration aufweisen, wie sie mit Bezug zu 4 beschrieben sind, wobei jedoch unterschiedlich
zu 4 in der zweiten
DUT 512 eine direkte Verbindung zwischen den taktsignaldomänenüberschreitenden
Datensignale für
mindestens einige der mehreren Datensignale vorgesehen ist. Die
Vorrichtung 510 umfasst ferner einen Puffer 552,
der so ausgebildet ist, dass dieser mit einem Referenztaktsignal 570 betrieben
werden kann, das eine Frequenz von mindestens zwei mal dem schnellsten
Taktsignal 561a und 561b aufweist, die in den
Zeichnungen auch als CLK0 und CLK1 bezeichnet sind. Da eine digitale Schaltung
zum Erhalten spezifizierter Vielfacher einer gegebenen Frequenz
im Stand der Technik gut bekannt sind, ist eine entsprechende Beschreibung hierin
weggelassen.
-
Während des
Betriebs der Vorrichtung 510 empfängt die erste DUT 511 Eingabesignale 517,
die auch als input+ctrl bezeichnet sind, die beliebige asynchrone
Signale, die zu synchronisieren sind, enthalten können und
die beliebige taktsignaldomänenüberschreitende
Steuersignale repräsentieren sollen.
Die Eingabesignale 517, synchronisierte taktsignaldomänenüberschreitende
Signale 518 der DUT 511, die als internal_ctrl
bezeichnet sind, und die Taktsignale 516a, 516b werden
zusätzlich
mit dem Referenzsignal 570 abgetastet und werden in dem
Puffer 552 als abgetastete Eingabesignale 527, synchronisierte
taktsignaldomänenüberschreitende Signale 518 der
DUT 511 und abgetastete Taktsignale 526a, 526b,
die auch als input+ctrl_s, internal_ctrl_s, CLK0-S, CLK1-S bezeichnet
sind, eingespeist. Diese Signale werden dann aus dem Puffer 552 in
zeitverzögerter
Weise als zeitverschobene Signale 537, 538, 536a, 536b ausgelesen,
die auch als Input+CTRL_S',
internal_ctrl_s',
CLK0-S' und CLK1-S' bezeichnet sind.
Folglich werden die Taktsignalbereiche der zweiten DUT 512 mit
den zeitverschobenen Taktsignalen 536a, 536b und
den zeitverschobenen Eingabe- und Steuersignalen 537 betrieben,
die mit den entsprechenden Signalen der ersten DUT 511 in
hohem Maße
korreliert sind, wodurch ein hohes Maß an Synchronität der zeitverschobenen
DUT 512 in Bezug auf die führende DUT 511 gewährleistet
wird. Abhängig
von der Anzahl der Datensignale, die zwischen einzelnen Taktsignaldomänen ausgetauscht
werden, und abhängig
von dem spezifizierten digitalen Schaltungsentwurf, kann die Frequenz
des Referenztaktsignals 570 entsprechend hoch gewählt werden,
wobei dennoch eine deutliche Reduzierung der erforderlichen Speicherkapazität des Puf fers 552 erreicht
wird. Eine erhöhte
Frequenz des Referenztaktsignals 570 ermöglicht es,
im Wesentlichen Zeitfehler zu vermeiden, die während des Abtastens der Signale 517, 516a und 516b auftreten. Zusätzlich oder
alternativ kann eine zusätzliche
Takteinstell/Korrekturlogik vorgesehen sein. In anderen Ausführungsformen
kann die erste DUT 511 ebenso durch abgetastete Taktsignale,
beispielsweise der Signale 526a und 526b betrieben
werden. Wie man leicht erkennen kann, können diverse andere Abtastfehlerkorrekturen
ausgeführt
werden, um einen im Wesentlichen synchronen Betrieb der ersten und
der zweiten DUT 511, 512 zu erreichen. Hinsichtlich
der weiteren Bearbeitung für
das Analysieren des Verhaltens des spezifizierten digitalen Schaltungsentwurfs gelten
im Wesentlichen die gleichen Kriterien, wie sie zuvor mit Bezug
zu den 1 bis 4 dargelegt sind.
-
Es
gilt also, die vorliegende Erfindung stellt eine verbesserte Technik
bereit, die eine effiziente Analyse eines spezifizierten digitalen
Schaltungsentwurfs ermöglicht,
wobei eine Kombination mindestens zweier Hardwaredarstellungen und
einer Simulation und/oder eines schrittweisen Betriebs der verzögerten Hardwaredarstellung
eine 100%ige Übersicht
für den
Schaltungsentwurf und eine vollständige Fehlerkorrektur bietet,
wobei dennoch die erforderliche Simulationszeit deutlich reduziert
wird, da der Simulationsstartpunkt erreicht wird, indem das Testsystem
in Echtzeit oder nahezu in Echtzeit betrieben wird, wodurch die
Phase deutlich verkürzt
wird, für die
eine Simulation erforderlich ist. Ferner werden Daten, die in einer
zweiten Hardwaredarstellung verfolgt werden, als Stimuli in dem
kurzen Simulationsprozess verwendet und daher kann die Analyse und Verifizierung
mit authentischen Daten erreicht werden, wodurch die Möglichkeit
für eine
effiziente Hardware-Software-Co-Gestaltung
gegeben ist. Selbst komplexe Schaltungsentwürfe mit eingebetteten RAM-Speichern und asynchronen
Domänen
mit mehreren Taktsignalen können
effizient analysiert werden, indem zwei oder mehr Hardwaredarstellungen
in der zeitverschobenen Weise betrieben werden.
-
Weitere
Modifizierungen und Variationen der vorliegenden Erfindung werden
für den
Fachmann angesichts dieser Beschreibung offenkundig. Daher ist diese
Beschreibung als lediglich anschaulich und für die Zwecke gedacht, dem Fachmann
die allgemeine Art und Weise des Ausführens der vorliegenden Erfindung
zu vermitteln.