-
Hintergrund
-
Bei modernen Computersystemen, die Halbleitereinheiten und Busse umfassen, werden Validierungssysteme/Werkzeuge, die Sonden für die Ablaufverfolgung von Logik/Verkehr umfassen, verwendet, um neue Systeme und Karten für den Versand auszutesten und zu validieren und um außerdem schnell vor Ort Rückschlussprobleme zu diagnostizieren, die gestaltungs- oder prozessbezogen oder beides sind, um kostenträchtige Rückrufaktionen für das Produkt zu vermeiden. Um die Bandbreite der immer schnelleren Halbleitereinheiten, so wie Mikroprozessoren und so weiter, zu unterstützen, müssen die Datengeschwindigkeiten auf den Bussen, die derartige Einheiten mit Speicher, Grafik und Peripherieeinheiten verbinden, ständig höhere Geschwindigkeiten erreichen. Wechselwirkungen zwischen derartigen Einheiten werden zu Zwecken der Logikvalidierung beobachtet, um bei der Einheit Fehler zu suchen und zu beseitigen und das Produkt zu versenden.
-
Das Sondieren verschiedener Datenbusse, so wie Eingabe/Ausgabe (I/O - Input/Output)-Busse, ist vorgenommen worden, indem verschiedene methodische Ansätze mit direktem Anschluss verwendet wurden. Beispielhafte methodische Ansätze umfassen die widerstandsbasierte Sondentechnologie, die mit einem logischen Analysator verbunden ist. Da jedoch die Busgeschwindigkeiten mit höheren Datengeschwindigkeiten einhergehen, kann ein solches Sondieren Probleme für die Unversehrtheit von Signalen bei einer zu prüfenden Verbindung (LUT - Link Under Test) verursachen.
-
Die US 2007 / 0 236 220 A1 offenbart eine Vorrichtung mit einer elektromagnetischen Kopplersonde zur Bereitstellung abgetasteter elektromagnetischer Signale und einer Elektronikkomponente zum Empfang der abgetasteten elektromagnetischen Signale von der elektromagnetischen Kopplersonde und zur Bereitstellung wiedergewonnener abgetasteter elektromagnetischer Signale, wobei die Elektronikkomponente eine Integratorvorrichtung aufweist, um die abgetasteten elektromagnetischen Signale zu empfangen.
-
Figurenliste
-
- 1 ist ein Blockschaubild eines Datenempfängers, der gemäß einer beispielhaften Ausführungsform der Erfindung elektromagnetisch mit einer LUT gekoppelt ist.
- 2 ist ein Blockschaubild eines Empfängers gemäß einer weiteren beispielhaften Ausführungsform der vorliegenden Erfindung.
- 3 ist ein Ablaufdiagramm von Trainingsschritten gemäß einer Ausführungsform der vorliegenden Erfindung.
- 4 ist ein Blockschaubild eines Systems gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung.
- 5 ist ein Blockschaubild eines Systems, das gemäß einer Ausführungsform der vorliegenden Erfindung geprüft werden soll.
-
Genaue Beschreibung
-
Um Probleme bei der Unversehrtheit von Signalen zu mildern, wenn eine zu prüfende Einheit (DUT - Device Under Test) und eine zu prüfende Verbindung (LUT) sondiert werden, kann eine Sondentechnologie, die auf einem elektromagnetischen (EM) Koppler basiert, welcher an einer LUT angebracht ist, verwendet werden. Die EM-Koppler tasten die LUT-Signale ab, indem „gesteuertes“ Übersprechen verwendet wird, während nur minimale Störung bei der LUT hervorgerufen wird. Ein Empfängersystem wiederum, welches eine getrennte integrierte Schaltung (IC - Integrated Circuit) oder eine besondere Halbleitereinheit sein kann, wird verwendet, um die abgetasteten Signale rückzugewinnen, zu verbessern und in die digitale Form für die Übertragung von dem Empfängersystem umzuwandeln.
-
Genauer können Ausführungsformen der vorliegenden Erfindung einen Empfänger für eine direkt angebrachte EM-Kopplersonde (oder einen Koppler) zur Verfügung stellen. Eine EM-Kopplersonde (so wie eine direkt angebrachte EM-Kopplersonde) tastet eine LUT ab, indem Rückübersprechen verwendet wird, das von Signalen auf der LUT eingekoppelt wird. Die abgetasteten Signale werden verwendet, um die digitalen Signale rückzugewinnen, die auf der LUT vorhanden sind. Dies wird bewerkstelligt, indem eine elektronische Empfängerkomponente (hiernach auch als ein Empfänger bezeichnet) verwendet wird. Die Kopplersonde gibt etwa eine Ableitung des Signals der LUT aus. Das Ausgangssignal der LUT wird dann rückgewonnen, indem das Signal zunächst integriert wird. Eine Integrierfunktion ist eine Inverse eine Ableitungsfunktion, daher wird ein Basisbandsignal wieder hergestellt, wenn auch in einer skalierten Form. Ausführungsformen der vorliegenden Erfindung können das Sondieren für die Signalvalidierung oder eine logische Fehlersuche und -beseitigung, wobei eine Analysiereinheit, die mit dem Empfänger gekoppelt ist, verwendet wird, zur Verfügung stellen.
-
1 ist ein Blockschaubild eines elektromagnetischen Empfängers, der gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung an eine LUT gekoppelt ist. Weitere Ausführungsformen und Ausgestaltungen können ebenfalls verwendet werden. Die Ausführungsform, die in der 1 gezeigt ist, kann sich auf gleichstrom (DC - Direct Current)-freie oder nicht DC-freie Daten beziehen, die auf einer LUT übertragen werden. Als ein Beispiel können DC-freie Daten ein Taktsignal umfassen, das in die Datensignale codiert ist.
-
1 zeigt eine Sendeeinheit 50 und eine Empfängereinheit 60, die durch eine LUT 70 verbunden sind. Die Bezeichnungsweise LUT bezieht sich auf wenigstens eine Signalverbindung zwischen der Sendeeinheit 50 und der Empfängereinheit 60. Die Sendeeinheit 50 und die Empfängereinheit 60 können unterschiedliche ICs oder andere Halbleiterkomponenten sein, die über einen Bus, eine Kopplungsstruktur, Signalleitungen, Spuren auf einer gedruckten Leiterkarte (pcb - printed circuit board), flexible Kabel, Mikro-Coaxialkabel und/oder andere elektrische Verbindungsmittel verbunden sind.
-
Die Sendeeinheit 50 kann Verarbeitungsschaltung oder andere derartige Schaltung umfassen, um Daten zu erzeugen, die auf der LUT 70 an die Empfängereinheit 60 gesendet werden sollen. Die Daten können differentielle DC-codierte Daten sein. Die Sendeeinheit 50 kann auf einem Chip vorgesehen sein und die Empfängereinheit 60 kann auf einem weiteren Chip vorgesehen sein, so dass wenigstens die LUT 70 zwischen die beiden Chips geschaltet ist, um zu ermöglichen, dass die Daten zwischen den beiden Chips gesendet werden können. Die Daten können während eines Validierprozesses eines Produkts (das wenigstens einen der beiden Chips umfasst), während eines Fehlersuche- und -beseitigungsprozesses eines Produktes (das wenigstens einen der beiden Chips umfasst) und/oder während der tatsächlichen Verwendung des Produktes (das wenigstens einen der zwei Chips umfasst) gesendet und/oder validiert werden.
-
Der EM-Empfänger 100, der in der 1 gezeigt ist, kann eine EM-Kopplersonde 110 umfassen, die mit der LUT 70 gekoppelt ist, und einen Empfänger 120, der mit der EM-Kopplersonde 110 verbunden ist. Der Empfänger 120 kann mit der EM-Kopplersonde 110 verbunden werden, indem Mikro-Coaxialkabel, Spuren einer gedruckten Leiterkarte (pcb), flexible Kabel und/oder andere elektrische Verbindungsmittel verwendet werden. Die EM-Kopplersonde 110 kann abgetastete elektromagnetische Signale zur Verfügung stellen. Als ein Beispiel kann die EM-Kopplersonde 110 zwei parallele Signalspuren umfassen, die für jedes differentielle Paar Spuren der LUT 70 vorgesehen sind. Die EM-Kopplersonde 110 kann mit der LUT 70 gekoppelt werden, beispielsweise direkt gekoppelt werden. Zusätzlich kann die EM-Kopplersonde 100 mit der LUT 70 Wechselstrom (AC - Alternating Current)-gekoppelt sein, indem sowohl eine induktive als auch eine kapazitive Kopplung vorgesehen sind. Als ein Beispiel kann die Stärke der Kopplersonde, ein Maß für das gekoppelte Signal der LUT, zwischen ungefähr 0.1 < Kc < 0.2 eingestellt werden, wobei Kc als ein Kopplungskoeffizient definiert ist (d. h. ein Verhältnis der Ausgangsspannung des Kopplers zu Spannung der LUT an einem Eingang zu der Kopplersonde), um ungefähr 1 % bis 4 % der Signalleistung der LUT zu entnehmen. Dies kann den Einfluss auf die Unversehrtheit des Signals der LUT minimieren. Weitere Beispiele der EM-Kopplersonde 110 liegen auch innerhalb des Umfangs der vorliegenden Erfindung.
-
Der Empfänger 120 kann die abgetasteten elektromagnetischen Signale von der EM-Kopplersonde 110 basierend auf den Daten (oder Datenmustern), die auf der LUT 70 gesendet werden, empfangen. Der Empfänger 120 kann diese Daten verarbeiten, um rückgewonnene und neu getaktete digitale Signale zu erzeugen, die zu einer weiteren Einheit geschickt werden können, so wie einem logischen Analysator, oder um die Daten direkt zu analysieren. Die Eingänge und Ausgänge des Empfängers 120 des EM-Empfängers 100 können differentiell sein. Die Ausgangssignale des Empfängers 120 können an eine Analysiereinheit geliefert werden, um die Daten auf der LUT gültig oder ungültig zu machen. Die analysierende Einheit kann ein Oszilloskop, ein logischer Analysator oder eine andere Vorrichtung, um die rückgewonnenen Daten zu analysieren, sein. Der Empfänger 120 kann auch die Daten direkt verarbeiten. Demgemäß führt der Empfänger 120 eine Signalverarbeitung bei den empfangenen elektromagnetischen Signalen durch, um zu erlauben, dass neu getaktete digitale Datensignale, die den abgetasteten Signalen entsprechen, validiert werden.
-
Bei einer Ausführungsform wird das EM-gekoppelte Signal, das von der EM-Kopplersonde 110 empfangen worden ist, zunächst rückgewonnen und durch ein Analog-Frontend (AFE - Analog Front End) 125 verstärkt, das verschiedene Schaltungen umfassen kann, so wie Integratoren, Verstärker, Ausgleichseinrichtungen und Schwankungssteuerschaltung. Von dem AFE 125 werden aufbereitete analoge Signale an eine Neutakteinrichtung 130 geliefert, welche die analogen Wellenformen in digitale Bits umwandelt, eine Daten-Taktrückgewinnung durchführt und den einlaufenden Datenstrom auf einen unterschiedlichen Takt neu taktet. Bei einer Implementierung kann die Neutakteinrichtung 130 wenigstens zwei parallele Wege umfassen, von denen einer ein Datenweg ist, um ein neu getaktetes Signal für die Ausgabe an einen Sender 145 zu erzeugen, und einen zweiten parallelen Weg, der als ein Fehlerweg bezeichnet wird, um Rückkopplungsinformation für eine endliche Zustandsmaschine (FSM - Finite State Machine) 140 im Hinblick auf verschiedene Information zu geben, die verwendet werden kann, um einen Abtasttakt des Datenweges der Neutakteinrichtung 130 zu steuern. Bei dieser Implementierung kann jeder parallele Weg wiederum Abtaster umfassen, um die einlaufenden analogen Signale bei unterschiedlichen Taktphasen abzutasten, wie es von der FSM 140 gesteuert wird. Zum Beispiel kann jeder parallele Weg eine Vielzahl von Abtastern umfassen, z. B. vier derartige Abtaster, von denen einer über einen entsprechenden Abtasttakt getaktet ist (d. h. einen Datenabtasttakt für den Datenweg und ein Fehlerabtasttakt für den Fehlerweg), während die anderen verbleibenden Abtaster über entsprechende Fehlertakte getaktet werden können, die unterschiedliche Phasen in Bezug auf den Abtasttakt haben. Indem Information im Hinblick auf Werte, die von jedem der Abtaster bei diesen unterschiedlichen Taktphasen abgetastet werden, rückgekoppelt wird, kann die FSM 140 genau die Phase des Datenabtasttaktes so steuern, dass sich der Takt für ein optimales Leistungsverhalten im Wesentlichen an einem Mittelpunkt eines Datenauges befindet.
-
Es sei angemerkt, dass die Takte, die erzeugt werden, um die Abtaster zu steuern, wiederum als Antwort auf Steuerinformation von der FSM 140 erzeugt werden können, die derartige Information an mehrere Phaseninterpolatoren (PIs - Phase Interpolators) liefern kann, die in der Neutakteinrichtung 130 vorhanden sind. Somit kann die Neutakteinrichtung 130 außerdem einen Taktsteuermechanismus umfassen, so wie eine Phasenregelschleife (PLL - Phase Locked Loop) oder eine Verzögerungsregelschleife (DLL - Delay Locked Loop), um einen Takt zu erzeugen, der an die Phaseninterpolatoren geliefert wird, von denen jeder dann diesen Takt anpasst, um die verschiedenen Abtast- und Fehlertakte zu erzeugen.
-
Die FSM 140 sorgt für das automatische Training und die Kalibrierung von Steuereinstellungen für das Analog-Frontend 120 und die Neutakteinrichtung 130. Die Einstellungen können auch überschrieben und extern überwacht werden. Derartige überschreibende Steuersignale können von externer Hardware/Software oder über eine weitere Steuerschnittstelle empfangen werden. Schließlich ist ein Sender 145 mit dem Ausgang der Neutakteinrichtung 130 verbunden, um die digitalen Daten von dem Empfänger 120 zu senden.
-
Ausführungsformen können die neu getakteten digitalisierten Bits bei unterschiedlichen Ausführungsformen an verschiedene Orte senden. Zum Beispiel können bei einer Implementierung die neu getakteten digitalisierten Daten an eine Analysierausrüstung oder an eine anwendungsspezifische integrierte Schaltung (ASIC - Application Specific Integrated Circuit), die logische Funktionen für Datenanalysen und Fehlererfassung und -beseitigung beim System enthält, gesendet werden. Als Alternative kann ein mit hoher Geschwindigkeit einlaufender Datenstrom in langsameren Verkehr umgewandelt werden, indem weitere Sender in einen Empfänger eingefügt werden (z. B. mehrere Sender 145 parallel), so dass anstatt einer ASIC eine vor Ort programmierbare Logikanordnung (FPGA - Field Programmable Gate Array) verwendet werden kann. Es sei angemerkt, dass bei verschiedenen Ausführungsformen Schicht- und Protokollfunktionen einer Verbindung in den Empfänger oder in eine Backend ASCI integriert werden können.
-
Um ein optimales Leistungsverhalten sicherzustellen, können Ausführungsformen weiterhin ein on-die scope (Oszilloskop auf dem Chip) umfassen, um die Augenöffnung eines einlaufenden Datenauges zu überwachen und Steuereinstellungen basierend auf der Augenbreite trainieren. Wie es in der 2 gezeigt ist, kann ein Empfänger 120' ähnlich wie der Empfänger 120 der 1 angeordnet sein. Man bemerke jedoch, dass ein on-die scope 150 vorhanden sein kann, um Information über die Augenöffnung im Hinblick auf ein Datenauge zu bestimmen. Wie gezeigt kann das on-die scope (ODS) 135 so gekoppelt sein, dass es Information von der Neutakteinrichtung 130 erhält und ein Maß der Augenöffnung an die FSM 140 liefert. Bei einer Ausführungsform kann derartige Information über die Augenöffnung einer Breite des Datenauges entsprechen. Als Alternative kann die Information über die Augenöffnung andere sein, so wie die Amplitude der Augenöffnung, das Gebiet der Augenöffnung oder andere metrische Information über das Datenauge. Eine derartige Information kann für einen oder für mehrere Takte (z. B. einen Fehlerabtasttakt) zur Verfügung gestellt werden, die außerdem verwendet werden, um Daten zu Zwecken der Rückkopplung und des Trainings abzutasten.
-
Basierend auf dieser Information kann die FSM 140 Steuerinformation sowohl an das AFE 125 als auch an die Neutakteinrichtung 130 senden. Zum Beispiel kann die FSM 140, basierend auf der empfangenen Information, verschiedene Analog-Frontend-Komponenten steuern, so wie eine Ausgleichseinrichtung, Statiksteuerung, Versatzsteuerung, Eingangsabschlusswiderstand, Integrator und so weiter. Noch weiter kann die FSM 140 Steuerinformation an die Neutakteinrichtung 130 liefern, zum Beispiel Steuerinformation für einen oder mehrere Phaseninterpolatoren, um so dynamisch einen oder mehrere Abtasttakte zu aktualisieren, die in der Neutakteinrichtung 130 verwendet werden.
-
Ausführungsformen können eine anfängliche Kalibrierung nach dem Einschalten ausführen, ebenso wie ein Echtzeittraining, um zeitlich sich verändernde Faktoren zu kompensieren, so wie Spannung, Temperatur und so weiter. Es sei angemerkt, dass das anfängliche Training, das durchgeführt wird, vorgenommen werden kann, indem bekannte oder unbekannte oder nicht deterministische, d. h. zufällige, einlaufende Information verwendet wird. Das heißt, dass es für diese Trainingsphase nicht notwendig ist, dass ein Sender mit der LUT gekoppelt ist, um ein bekanntes Trainingsmuster zu senden. Statt dessen können Ausführungsformen das Training durchführen, indem zufällige Information versendet wird. Genauer können das ODS 135 und die FSM 140 eine Kalibrierung durchführen, indem Übergänge verwendet werden, die in dem einlaufenden Datenstrom vorhanden sind, anstatt dass nach einem bekannten Trainingsmuster gesucht und auf dieses gesperrt wird. Auf diese Weise kann ein Fenster eingerichtet werden, um das herum Übergänge des Datenauges auftreten, und um den Datenabtasttakt weg von diesem Fenster und auf eine Mitte des Datenauges hin zu bewegen. Zum Beispiel kann Information, die von dem ODS 135 an die FSM 140 zur Verfügung gestellt wird, mehrere Zählwerte umfassen, wobei jeder Übergängen entspricht, die in einem gegebenen Fenster auftreten, das mit der Augenbreite verknüpft ist. Als Alternative können Angaben über die Übergänge von dem ODS 135 an die FSM 140 geschickt werden, die die Übergänge zählen kann, welche in jedem Fenster auftreten. Zum Beispiel können drei Fenster eingerichtet werden, von denen jedes einem Teil eines Einheitsintervalls (UI - Unit Interval) zwischen einem Abtasttakt und einem Fehlertakt entspricht. Die Zählwerte können für jedes Fenster gehalten werden und von dem ODS 135 an die FSM 140 geliefert werden. Die FSM 140 kann die mehreren Zählwerte analysieren, um das Fenster zu bestimmen, das die geringste Anzahl an Übergängen hat, welches wahrscheinlich einer Abtasttaktphase entspricht, welche im Wesentlichen in einer Mitte des Datenauges auftritt. Jedoch sind andere Implementierungen möglich. Man bemerke, dass jede Spur in demselben Empfänger unabhängig trainiert werden kann. Das heißt, dass bei verschiedenen Implementierungen der Empfänger 120 der 1 und der Empfänger 120' der 2 mehrere Spuren oder Wege haben können, wobei jeder genauso konfiguriert ist, wie in den 1 und 2 gezeigt, wobei jeder Weg mit einer gegebenen differentiellen Spur einer LUT verknüpft ist, an die der Empfänger gekoppelt ist.
-
Verschiedene Arten des Implementierens des Trainings können bei verschiedenen Ausführungsformen realisiert werden. Mit Bezug nun auf die 3 ist ein Ablaufdiagramm von Trainingsschritten gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Wie es in der 3 gezeigt ist, kann der Prozess 200 einem Training entsprechen, das sowohl bei der Initialisierung als auch während des normalen Systembetriebs geschehen kann, um die adaptive Steuerung verschiedener Parameter innerhalb eines Empfängers gemäß einer Ausführungsform der vorliegenden Erfindung zu ermöglichen.
-
Wie es in der 3 gezeigt ist, kann das Verfahren beginnen, indem Einstellungen für den Versatz durchlaufen werden. Solche Einstellungen für den Versatz können mit dem Kanal des EM-Kopplers oder einer oder mehreren Verstärkungsstufen innerhalb eines Analog-Frontends eines Empfängers verknüpft sein. Da verschiedene Versatzwerte für unterschiedliche Komponenten, so wie für eine oder mehrere Verstärkungsstufen des Analog-Frontends während mehrerer Zyklen einlaufender Daten zur Verfügung gestellt werden, kann eine optimale Einstellung bestimmt werden. Genauer kann die optimale Einstellung auftreten, wenn Ausgangsdaten, die von dem Ausgang des AFE 125 erzeugt werden, umschalten. Das heißt, bei einigen Implementierungen, insbesondere in einer differentiellen Implementierung, wenn die Werte auf den positiven und negativen Signalleitungen umschalten, kann dies ein Anzeichen für die optimale Einstellung des Versatzes sein. Demgemäß kann im Block 210 diese Einstellung des Versatzes erhalten und verwendet werden, um Steuersignale für verschiedene Komponenten des Analog-Frontend zur Verfügung zu stellen. Es sei angemerkt, dass bei einigen Implementierungen ein Rückkopplungsweg der Neutakteinrichtung 130 (z. B. mit Bezug auf die 1) die Datenausgabe zur Verfügung stellen kann, die analysiert wird, um das Umschalten der Ausgabe festzustellen.
-
Weiter mit Bezug auf die 3 können als nächstes im Block 220 Einstellungen für die Statik (droop) durch einen Bereich derartiger Einstellungen überstrichen werden. Durch Verwenden dieser Einstellungen für die Statik kann eine optimale Einstellung für die Statik basierend auf einer Augengröße bestimmt werden. Es sei angemerkt, dass der Block 220 eine eingebettete Schleife umfasst, bei der ein Bereich von Einstellungen für die Entzerrung für jede Einstellung für die Statik im Block 225 überstrichen wird. Somit wird bei einer ersten Einstellung für die Statik ein Bereich von Einstellungen für die Entzerrung überstrichen. Aus diesem Bereich der überstrichenen Einstellungen für die Entzerrung kann eine optimale Einstellung basierend auf der Augengröße bestimmt werden. Das heißt, dass aus dem Bereich der Einstellungen für die Entzerrung eine derartige Einstellung eine Augenbreite mit einem größten Wert liefern kann. Diese Einstellung für die Entzerrung aus den überstrichenen Entzerrungswerten kann in einem zeitweiligen Speicher gespeichert werden, der z. B. der FSM zugeordnet ist. Die Steuerung geht dann in der Schleife zurück in den Block 220, um die Einstellungen für die Statik zu überstreichen, z. B. um die Einstellungen für die Statik auf einen nächsten Satz Werte eines Bereichs einer eingestellten Zeitsteuerung anzupassen. Wiederum können bei dieser aktualisierten Einstellung für die Statik die Einstellung für die Entzerrung überstrichen werden, und die Einstellung für die Entzerrung, die mit der größten Augenbreite verknüpft ist, kann wieder bestimmt werden. Derartige Arbeitsschritte können iterativ ausgeführt werden, bis alle Einstellungen für die Statik überstrichen worden sind. Demgemäß kann beim Abschluss des Blockes 220 eine optimale Bestimmung der Einstellungen für die Statik/Entzerrung basierend auf der gegebenen aus den mehreren Einstellungen für die Statik, die das beste Leistungsverhalten (z. B. die größte Augenbreite) hat, gesetzt werden. Somit können diese verschiedenen Werte für das Analog-Frontend über Steuersignale von der FSM 140 an das AFE 130 gegeben werden, um den optimalen Betrieb des Empfängers 120 zu ermöglichen. Nach einem solchen Training kann ein normaler Empfängerbetrieb erfolgen, und das Trainingsverfahren der 3 kann in eine Ruhestufe 230 eintreten.
-
Um weiter ein adaptives Verhalten während des Echtzeitbetriebes zur Verfügung zu stellen, kann zusätzliches Echtzeittraining geschehen. Insbesondere kann in vorgegebenen Intervallen, die von einem Benutzer gesteuert oder durch eine externe Komponente eingestellt werden, oder wie es durch die FSM vorgegeben wird, festgestellt werden, ob ein Aktivieren der Verfolgung des Versatzes eingeleitet worden ist (Diamant 240). Wenn dies der Fall ist, kann die Einstellung des Versatzes aktualisiert werden. Wie es im Block 245 gezeigt ist, kann eine derartige Einstellung auf der Augenmessung basieren. Zum Beispiel kann eine Einstellung des Versatzes in eine erste Richtung aktualisiert und die Augenbreite gemessen werden. Wenn die Augenbreite größer wird, kann diese aktualisierte Einstellung für die Steuerung des Versatzes verwendet werden. Wenn nicht, kann die Einstellung in die andere Richtung (von der ursprünglichen Einstellung her gesehen) angepasst werden, um festzustellen, ob sich die Augenbreite auf eine größere Breite ändert. Wenn dies der Fall ist, kann der zweite aktualisierte Wert angewendet werden, um die Werte des Versatzes zu steuern. Ansonsten geschieht kein Aktualisieren des Steuerwertes. Wie in der 3 gezeigt, läuft die Steuerung vom Block 245 zurück zum Block 230.
-
Noch mit Bezug auf die 3 kann zu einem späteren Zeitpunkt bestimmt werden, ob das Aktivieren der Verfolgung des Versatzes initialisiert worden ist. Wenn nicht, kann die Steuerung zum Diamanten 250 laufen, um festzustellen, ob eine Aktualisierung der Verfolgung der Statik aktiviert worden ist. Wenn dies der Fall ist, geht die Steuerung zum Block 255 über, in dem die Einstellung für die Statik aktualisiert werden kann. In ähnlicher Weise zu dem, wie es oben im Hinblick auf den Block 245 beschrieben ist, kann die Entscheidung, ob eine Einstellung für die Statik aktualisiert werden soll oder nicht, basierend auf einer Messung der Augenbreite zwischen einem gegenwärtigen Wert der Augenbreite und dem, der für eine entsprechende aktualisierte Einstellung für die Statik bestimmt worden ist. Nach einer solchen Aktualisierung (wenn sie durchgeführt wird) geht die Steuerung zurück zum Block 230. Wieder kann zu einem späteren Zeitpunkt festgestellt werden, ob die Aktualisierung einer Verfolgung des Vorsatzes, die Aktualisierung einer Verfolgung der Statik oder die Aktualisierung einer Verfolgung der Entzerrung aktiviert worden ist. Wenn im Diamant 260 die Aktualisierung einer Verfolgung der Entzerrung aktiviert worden ist, kann die Steuerung zum Block 265 übergehen, an dem die Einstellung für die Entzerrung aktualisiert werden kann. Wie bei den Blöcken 245 und 255 kann eine solche Aktualisierung für die Entzerrung auf einer Messung der Augenbreite basieren. Nach einer derartigen Aktualisierung geht die Steuerung zurück zum Block 230. Obwohl sie bei der Ausführungsform der 3 mit dieser besonderen Implementierung beschrieben worden ist, ist der Umfang der vorliegenden Erfindung in dieser Hinsicht nicht beschränkt. Zum Beispiel kann der Trainingsalgorithmus auf irgendwelche weiteren Steuereinstellungen erweitert werden, die verwendet werden (z. B. der Eingangsabschluss des AFE).
-
Ausführungsformen sorgen somit für das Fehlererkennen und -beseitigen und für das Prüfen von mit Hochgeschwindigkeit arbeitenden seriellen Bussen in-situ, wobei nicht invasive Sondiertechniken verwendet werden, was die Kosten pro Einheit für verschiedene Komponenten, so wie Desktop- und Serverprozessoren, erniedrigt. Weiter, indem das EM-Sondenkoppeln aktiviert wird, können wesentliche Einsparungen bei der Chipfläche realisiert werden, da ein Spiegelport auf dem Chip (der als ein Prüfport verwendet wird), beseitigt werden kann. Ausführungsformen können verwendet werden, um verschiedene Busarchitekturen zu sondieren, so wie Punkt-zu-Punkt-Kopplungsstrukturtechnologien, eine Peripheral Component Interrconnect (PCI) Express™ (PCIe™)-Verbindung, die auf der Spezifikation für PCI Express™, Basisspezifikation, Version 1.1 (veröffentlicht am 28. März 2005) basiert, doppelte Datengeschwindigkeit (DDR - Double Data Rate) und andere Sondieranwendungen für Busse/Verbindungen mit hohen Datengeschwindigkeiten. Zusätzlich können Ausführungsformen verwendet werden, um elektromagnetisch zu sondieren, ohne die Notwendigkeit von Wiederholeinrichtungen auf einem doppelreihigen Speicherbaustein (DIMM - Dual In-Line Memory Module) oder einer anderen derartigen Vorrichtung.
-
Eine bessere Zuverlässigkeit der logischen Sonde und besseres Leistungsverhalten bei vergrößerten überwachten Verbindungsgeschwindigkeiten kann für ein schnelleres Fehlererkennen und -beseitigen beim Produkt sorgen, um die Einführung des Produktes in den Markt schneller zu ermöglichen, so wie ein schnelleres Fehlererkennen und -beseitigen bei Rückschlüssen von Fehlerbeseitigungsberichten vor Ort, um sicherzustellen, dass Fehler isoliert werden können, und Software, Prüfverfahren, Verarbeitungsverfahren und andere Abhilfemöglichkeiten gleichzeitig identifiziert werden können, um kostenträchtige Rückgaben und Rückrufaktionen zu verhindern.
-
4 ist ein Schaubild eines Systems gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung. Andere Ausführungsformen und Ausgestaltungen können auch verwendet werden. Genauer zeigt die 4 die Sendeeinheit 50 und die Empfängereinheit 60, die durch die LUT 70 in einer ähnlichen Weise verbunden sind, wie es oben mit Bezug auf die 1 beschrieben ist. Bei diesem Beispiel können DC-freie Datensignale oder nicht-freie Datensignale zwischen der Sendeeinheit 50 und der Empfängereinheit 60 gesendet werden.
-
4 zeigt außerdem einen EM-Empfänger 400, der die EM-Kopplersonde 110, die mit der LUT 70 gekoppelt ist, und einen Empfänger 420, der mit der EM-Kopplersonde 110 gekoppelt ist, umfasst. Die EM-Kopplersonde 110 kann abgetastete elektrische Signale zu Verfügung stellen. Der Empfänger 420 kann die abgetasteten elektromagnetischen Signale von der EM-Kopplersonde 110 basierend auf den Daten (oder Datenmustern), die auf der LUT 70 gesendet werden, empfangen. Der Empfänger 420 kann digitalisierte neu getaktete Signale zur Verfügung stellen und kann dem Empfänger 120 oder 120', die oben diskutiert sind, oder einem anderen Empfänger entsprechen, der rückgewonnene und neu getaktete digitale Signale basierend auf elektromagnetischen Signalen, die von der EM-Kopplersonde 110 empfangen werden, zur Verfügung stellt.
-
4 zeigt zusätzlich eine Analysiereinheit 430, die mit dem Empfänger 420 gekoppelt ist, um die neu getakteten Signale zu empfangen und um solche Signale gültig zu machen oder ungültig zu machen. Die Analysiereinheit 430 kann ein Oszilloskop, einen logischen Analysator, maßgeschneiderte Hardware/Software und/oder Firmware, um die digitalen Signale zu analysieren, umfassen. Als ein Beispiel kann die Analysiereinheit 430 die einlaufenden digitalen Daten mit Prüfdaten vergleichen, die den Daten entsprechen, welche über die LUT 70 gesendet werden. Diese Prüfdaten können in geeigneter Weise in der Analysiereinheit 430 in einer Speichereinheit abgelegt werden und können von einer anderen Quelle zur Verfügung gestellt werden, bevor sie darin gespeichert werden.
-
Ausführungsformen können verwendet werden, um viele unterschiedliche Systemtypen zu sondieren. Mit Bezug nun auf die 5 ist ein Blockschaubild eines Systems gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Wie in der 5 gezeigt, ist das Multiprozessorsystem 500 ein Punkt-zu-Punkt-Kopplungsstruktursystem und umfasst einen ersten Prozessor 570 und einen zweiten Prozessor 580, die über eine Punkt-zu-Punkt-Kopplungsstruktur 550 gekoppelt sind. Wie es in der 5 gezeigt ist, kann jeder der Prozessoren 570 und 580 ein Mehrkernprozessor sein, der einen ersten und einen zweiten Prozessorkern umfasst (d. h. die Prozessorkerne 574a und 574b und die Prozessorkerne 584a und 584b). Als ein Beispiel kann die Kopplungsstruktur 550 sondiert werden, indem eine EM-Kopplung verwendet wird, die wiederum gemäß einer Ausführungsform der vorliegenden Erfindung mit einem Empfänger gekoppelt ist. Es sei angemerkt, dass weitere Architekturen möglich sind. Zum Beispiel kann anstelle der Punkt-zu-Punkt-Architektur der 5 ein System einen Multidrop-Bus oder eine derartige Architektur implementieren.
-
Noch mit Bezug auf die 5 umfasst der erste Prozessor 570 einen Speichercontroller-Hub (MCH - Memory Controller Hub) 572 und Punkt-zu-Punkt (P-P)-Schnittstellen 576 und 578. In ähnlicher Weise umfasst der zweite Prozessor 580 einen MCH 582 und P-P-Schnittstellen 586 und 588. Wie es in der 5 gezeigt ist, koppeln die MCHs 572 und 582 die Prozessoren mit jeweiligen Speichern, nämlich einem Speicher 532 und einem Speicher 534, die Teile eines Hauptspeichers (z. B. einem dynamischen Speicher mit wahlfreiem Zugriff (DRAM - Dynamic Random Access Memory)) sein können, der lokal mit den jeweiligen Prozessoren verbunden ist. Der erste Prozessor 570 und der zweite Prozessor 580 können über P-P-Kopplungsstrukturen 552 bzw. 554 mit einem Chipsatz 590 gekoppelt sein. Wie es in der 5 gezeigt ist, umfasst der Chipsatz 590 die P-P-Schnittstellen 594 und 598.
-
Weiterhin umfasst der Chipsatz 590 eine Schnittstelle 592, um den Chipsatz 590 mit einer hoch leistungsfähigen Grafikmaschine 538 über eine P-P-Kopplungsstruktur 539 zu koppeln. Wiederum kann der Chipsatz 590 mit einem ersten Bus 516 über eine Schnittstelle 596 gekoppelt sein. Wie es in der 5 gezeigt ist, können verschiedene I/O-Einheiten 514 mit dem ersten Bus 516 gekoppelt sein, zusammen mit einer Bus-Brücke 518, die den ersten Bus 516 an einen zweiten Bus 520 koppelt. Verschiedene Einheiten können an den zweiten Bus 520 gekoppelt sein, einschließlich zum Beispiel einer Tastatur/Maus 522, Kommunikationseinheiten 526 und einer Datenspeichereinheit 528, so wie einer Festplatte oder einer anderen Massenspeichereinheit, die bei einer Ausführungsform Code 530 umfassen kann. Weiterhin kann eine Audio-I/O 524 an den zweiten Bus 520 gekoppelt sein.
-
Ausführungsformen können in Code implementiert werden und können auf einem Speichermedium gespeichert sein, auf dem Befehle gespeichert sind, die verwendet werden können, um ein System so zu programmieren, dass es die Befehle ausführt. Das Speichermedium kann irgendeinen Typ einer Platte umfassen, einschließlich Floppy-Disks, optischer Platten, Compact Disk Nur-Lese-Speicher (CD-ROMs - CD-Read Only Memories), wieder beschreibbarer Compact Disks (CD-RWs - Compact Disk Rewritables) und magnetooptische Platten, Halberleitereinheiten, so wie Nur-Lese-Speicher (ROMs - Read Only Memories), Speicher mit wahlfreiem Zugriff (RAMs - Random Access Memories), so wie dynamische Speicher mit wahlfreiem Zugriff (DRAMs), statische Speicher mit wahlfreiem Zugriff (SRAMs), löschbare programmierbare Nur-Lese-Speicher (EPROMs - Erasable programmable Read-Only Memories), Flash-Speicher, elektrisch löschbare programmierbare Nur-Lese-Speicher (EEPROMs - Electrically Erasable Programmable Read-Only Memories), magnetische oder optische Karten oder irgendeinen anderen Typ eines Mediums, das zum Speichern elektronischer Befehle geeignet ist, umfassen, ist jedoch nicht darauf beschränkt.
-
Obwohl die vorliegende Erfindung mit Bezug auf eine beschränkte Anzahl von Ausführungsformen beschrieben worden ist, werden Fachleute auf dem Gebiet zahlreiche Modifikationen und Abänderungen erkennen. Es ist beabsichtigt, dass die angefügten Ansprüche alle derartigen Modifikationen und Abänderungen abdecken, wie sie in den wahren Gedanken und Umfang dieser vorliegenden Erfindung fallen.