DE60002567T2 - Dynamische wellenpipelineschnittstellenanordnung und verfahren dafür - Google Patents

Dynamische wellenpipelineschnittstellenanordnung und verfahren dafür Download PDF

Info

Publication number
DE60002567T2
DE60002567T2 DE60002567T DE60002567T DE60002567T2 DE 60002567 T2 DE60002567 T2 DE 60002567T2 DE 60002567 T DE60002567 T DE 60002567T DE 60002567 T DE60002567 T DE 60002567T DE 60002567 T2 DE60002567 T2 DE 60002567T2
Authority
DE
Germany
Prior art keywords
delay
signal
data
predetermined
values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60002567T
Other languages
English (en)
Other versions
DE60002567D1 (de
Inventor
Mark Daniel DREPS
David Frank FERRAIOLO
Charles Kevin GOWER
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE60002567D1 publication Critical patent/DE60002567D1/de
Application granted granted Critical
Publication of DE60002567T2 publication Critical patent/DE60002567T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Measuring Volume Flow (AREA)
  • Pipeline Systems (AREA)
  • Hydrogenated Pyridines (AREA)
  • Investigating Or Analyzing Materials By The Use Of Ultrasonic Waves (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Complex Calculations (AREA)
  • Selective Calling Equipment (AREA)
  • Pulse Circuits (AREA)
  • Surface Acoustic Wave Elements And Circuit Networks Thereof (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
  • Supports For Pipes And Cables (AREA)
  • Rigid Pipes And Flexible Pipes (AREA)
  • Communication Control (AREA)

Description

  • Dynamische Wellenpipelineschnittstellenanordnung und Verfahren dafür
  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft allgemein Datenverarbeitungssysteme und insbesondere Busschnittstellen in Datenverarbeitungssystemen.
  • HINTERGRUND DER ERFINDUNG
  • Mit der Zunahme der Systemtaktgeschwindigkeiten in Datenverarbeitungssystemen, die eine Geschwindigkeitszunahme der Zentraleinheiten widerspiegeln, musste die Übertragungsgeschwindigkeit auf den Bussen in dem System entsprechend zunehmen. Die Übertragung von Daten über einen Bus, der Einheiten des Datenverarbeitungssystems miteinander verbindet, unterliegt notwendigerweise aufgrund der physischen Trennung der Einheiten Beschränkungen. Ein Verfahren, das zur Übertragung von Daten über einen Bus entwickelt wurde, besteht in der Anordnung in Form einer Wellenpipeline, in der ein Datensignal auf den Bus geschickt wird, bevor eine Empfangseinheit die vorigen Daten über den Bus erhalten hat. Mit anderen Worten, die Daten werden in Form einer Pipeline, etwa wie bei einem „Montageband", über die Busschnittstelle zwischen den Einheiten in einem Datenverarbeitungssystem verteilt. Sobald die „Pipeline" oder das „Montageband" voll ist, werden die Daten mit einer Durchschnittsrate geliefert, die die Latenzzeit der Schnittstelle übersteigt.
  • Bei einem typischen Datenverarbeitungssystem können Daten von einer Quelleneinheit zu einer Vielzahl von Empfangseinheiten übertragen werden. Über Busschnittstellen mit unterschiedlichen elektrischen Längen und damit unterschiedlichen Latenzzeiten werden verschiedene Empfangseinheiten mit der Quellen- bzw. Sendeeinheit verbunden.
  • Außerdem kann bei einer einzelnen Einheit, die eine Vielzahl von Datensignalen empfängt, jedes Signal eine unterschiedliche Latenzzeit haben. Schwankungen können sich aus Fertigungstoleranzen, konstruktiven Beschränkungen wie zum Beispiel Schwankungen der Leitungslängen und zeitabhängigen Effekten wie zum Beispiel datenabhängigen Schwankungen (Symbolinterferenz), Taktschwankungen und Rauschen ergeben.
  • Darüber hinaus wird angenommen, dass Daten synchron geliefert werden. Das heißt, dass die Ankunft der Daten während eines vorgegebenen Zyklus des Systemtakts erwartet wird. Wenn Daten früher oder später als erwartet angeliefert werden, kann es zu Fehlern kommen.
  • Bei einer in Form einer Wellenpipeline angeordneten Schnittstelle wird die Zeitablaufanalyse wesentlich komplizierter, da der schnelle und der langsame Pfad gleich wichtig sind. Der Bereich der Datengültigkeit, das heißt das Zeitintervall, während dessen die Daten zuverlässig übertragen werden können, wird kürzer, wenn die Zeitdifferenz zwischen dem schnellen und dem langsamen Pfad, die die Quellen- oder Sendeeinheit mit einer oder mehreren Empfangseinheiten verbinden, zunimmt. Wenn die Zeitdifferenz zwischen dem schnellen und dem langsamen Pfad so groß wie Periode des Bustaktes wird, geht die Synchronität verloren. Darüber hinaus kann der Gültigkeitsbereich der Daten durch die Verschiebung des Übertragungstaktes weiter verringert werden. Mit zunehmenden Geschwindigkeiten der Busschnittstelle müssen die Zeitschwankungen zwischen dem schnellen und dem langsamen Pfad kleiner sein und die Auflagen an die Taktverschiebung werden strenger. Allerdings kann die Steuerung der Taktverschiebung und der Zeitablaufschwankungen durch physische Einschränkungen seitens des Layouts des Datenverarbeitungssystems begrenzt werden. Deshalb besteht in der Technik ein Bedarf an Verfahren und Vorrichtungen zum Aufheben der Verschiebung der Daten auf der Empfangsseite der Schnittstelle und zum Verlängern der Zeitspanne, während der Daten zuverlässig übertragen werden können.
  • Die US-Patentschrift Nr. 5 229 668 beschreibt „ein Datensignal, das mit hoher Geschwindigkeit unter Verwendung eines Taktsignals übertragen werden kann, indem das Datensignal und das Taktsignal durch eine Reihe von Datenbzw. Taktverzögerungselementen geleitet und die entsprechenden verzögerten Daten- und Taktsignale in Signalspeichern zwischengespeichert werden. Dabei wird die Übertragungsgeschwindigkeit durch die relative Verschiebung zwischen den Takt- und Datensignalen bestimmt, die sich relativ stark verkleinern lässt, und kann nur durch Rauschen und Zufallsschwankungen bei der Fertigung begrenzt werden. Dadurch wird eine Hochgeschwindigkeitsübertragung ermöglicht."
  • In dem Dokument „Inserting Active Delay Elements to Achieve Wave Pipelining" von Wong et al. werden Algorithmen zum automatischen Ausgleich von Verzögerungen beschrieben, indem eine Mindestanzahl von aktiven Verzögerungselementen zur Verlängerung kurzer Pfade eingefügt wird.
  • Eine Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren bereitzustellen, durch das die obigen Nachteile beseitigt werden.
  • ÜBERBLICK ÜBER DIE ERFINDUNG
  • Gemäß der vorliegenden Erfindung wird eine Schnittstellenvorrichtung bereitgestellt, die Folgendes umfasst: Eine Vielzahl von Verzögerungs-Bauelementen, wobei jedes Bauelement in der Lage ist, ein entsprechendes Datensignal zu empfangen, jedes Verzögerungs-Bauelement eine vorher auswählbare Verzögerungszeit hat und das Datensignal nach der vorher auswählbaren Verzögerungszeit auszugeben; gekennzeichnet durch: Eine Schaltung, die mit der Vielzahl von Verzögerungs-Bauelementen verbunden ist, die zum Einstellen jeder vorher auswählbaren Verzögerungszeit in der Lage sind, wobei jede vorher auswählbare Verzögerungszeit als Reaktion auf eine Ankunftszeit des entsprechenden Datensignals eingestellt wird und die zum Einstellen jeder vorher auswählbaren Verzögerungszeit fähige Schaltung Folgendes umfasst: Eine Datenvergleichslogik, die zum Empfang einer vorher festgelegten Teilmenge von Datensignalen und zur Ausgabe eines ersten vorher festgelegten Wertes eines Ausgabesignals, wenn die Teilmenge von Datensignalen eine erste vorher festgelegte Menge von werten umfasst, und zur Ausgabe eines zweiten vorher festgelegten Wertes eines Ausgabesignals fähig ist, wenn als Reaktion auf die zugehörigen Ankunftszeiten die Teilmenge von Datensignalen einen aus der ersten und der zweiten vorgegebenen Menge von Werten annimmt; und eine Schaltung, die in der Lage ist, die vorher ausgewählten Verzögerungszeiten als Reaktion auf die Werte des ersten und des zweiten vorher festgelegten Ausgabesignals zu verändern.
  • Gemäß der vorliegenden Erfindung wird ein Verfahren zur dynamischen Anordnung in Form einer Wellenpipeline in einer Schnittstelle mit einer Vielzahl von Verzögerungs-Bauelementen und einer mit der Vielzahl von Verzögerungs-Bauelementen verbundenen Schaltung bereitgestellt, das die folgenden Schritte umfasst: Empfangen eines entsprechenden Datensignals durch jedes der Bauelemente, wobei jedes Verzögerungs-Bauelement eine vorher auswählbare Verzögerungszeit hat, und Ausgabe des Datensignals nach der vorher ausgewählten Verzögerungszeit, dadurch gekennzeichnet, dass: Durch die Schaltung jede vorher auswählbare Verzögerungszeit eingestellt wird, wobei jede vorher ausgewählte Verzögerungszeit als Reaktion auf eine Ankunftszeit des entsprechenden Datensignals eingestellt wird und die Schaltung Folgendes umfasst: Eine Datenvergleichslogik, die in der Lage ist, eine vorgegebene Teilmenge der Datensignale zu empfangen und einen ersten vorgegebenen Ausgabesignalwert auszugeben, wenn die Teilmenge der Datensignale eine erste vorgegebene Menge von Werten umfasst, und einen zweiten vorgegebenen Ausgabesignalwert auszugeben, wenn die Teilmenge von Datensignalen eine zweite vorgegebene Menge von Werten hat, wobei die Teilmenge von Datensignalen als Reaktion auf die zugehörigen Ankunftszeiten eine der ersten und der zweiten vorgegebenen Wertmengen annimmt; und eine Schaltung zum Verändern der vorher ausgewählten Verzögerungszeiten als Reaktion auf den ersten und zweiten vorher festgelegten Ausgabesignalwert.
  • Oben wurden die Merkmale und die technischen Vorteile der vorliegenden Erfindung ziemlich umfassend dargelegt, damit die folgende detaillierte Beschreibung besser verstanden werden kann. Im Folgenden werden weitere Merkmale und Vorteile der Erfindung beschrieben, die Bestandteil der Ansprüche der Erfindung sind.
  • KURZBESCHREIHUNG DER ZEICHNUNGEN
  • Zum vollständigeren Verständnis der vorliegenden Erfindung und deren Vorteile wird auf die folgenden Beschreibungen in Verbindung mit den beiliegenden Zeichnungen Bezug genommen, in denen:
  • 1 als Blockschaltbild ein Datenverarbeitungssystem gemäß einer Ausführungsart der vorliegenden Erfindung veranschaulicht;
  • 2 als Blockschaltbild eine Ausführungsart einer dynamischen Schnittstelle in Form einer Wellenpipeline gemäß der vorliegenden Erfindung veranschaulicht;
  • 3 schematisch ein Eingabe-Zeitablaufdiagramm für die Schnittstelle von 2 veranschaulicht;
  • 4 als Blockschaltbild eine Datenempfangseinheit gemäß einer Ausführungsart der vorliegenden Erfindung veranschaulicht;
  • 5A als Flussdiagramm eine Methodologie gemäß einer Ausführungsart der vorliegenden Erfindung veranschaulicht;
  • 5B als Flussdiagramm ein Verfahren zur Takteinstellung gemäß einer Ausführungsart der vorliegenden Erfindung veranschaulicht;
  • 5C schematisch ein Zeitablaufdiagramm für das Verfahren von 5B veranschaulicht;
  • 5D als Flussdiagramm ein Verfahren zum Aufheben der Verschiebung von Datensignalen gemäß einer Ausführungsart der vorliegenden Erfindung veranschaulicht;
  • 5E schematisch ein Zeitablaufdiagramm für das Verfahren von 5D veranschaulicht;
  • 5F als Flussdiagramm ein Verfahren zur Taktphaseneinstellung gemäß einer Ausführungsart der vorliegenden Erfindung veranschaulicht; und
  • 5G schematisch ein Zeitablaufdiagramm für das Verfahren von 5F veranschaulicht.
  • DETAILLIERTE BESCHREIBÜNG
  • Die vorliegende Erfindung stellt einen Wellenpipelinemechanismus bereit, durch den Schwankungen des Zeitablaufs der Datensignale sowie Taktschwankungen verringert werden. Mittels einer Initialisierungsprozedur kann der Gültigkeitsbereich von Daten durch eine entsprechende Verringerung der Anfälligkeit der Schnittstelle gegenüber Schwankungen des Zeitablaufs zwischen den Chips auf einem Bus vergrößert werden. Schwankungen des Zeitauflaufs zwischen einer Vielzahl an der Empfangseinheit ankommender Datensignale werden dadurch beseitigt, dass das früheste und das späteste ankommende Datensignal ermittelt und das am frühesten ankommende-Datensignal um einen vorgegeben Betrag verzögert wird, der durch die Differenz der Ankunftszeiten zwischen dem frühesten und dem spätesten ankommenden Datensignal bestimmt wird. Außerdem wird die Verschiebung eines von der Sendeeinheit kommenden Bustaktes beseitigt, wodurch der davon abgeleitete Signalspeichertakt in der Mitte eines Datensignalfensters zu liegen kommt.
  • Bei der folgenden Beschreibung werden eine Reihe von speziellen Einzelheiten wie Bustaktfrequenzen, Taktsignalflanken usw. dargelegt, um die vorliegende Erfindung voll verständlich zu machen. Dem Fachmann ist jedoch klar, dass die vorliegende Erfindung auch ohne solche speziellen Einzelheiten realisiert werden kann. In anderen Fällen wurden bekannte Schaltungen in Form eines Blockschaltbildes gezeigt, um die vorliegende Erfindung nicht durch überflüssige Details in den Hintergrund zu drängen.
  • In den 1 bis 5G werden die dargestellten Elemente nicht notwendigerweise maßstabsgerecht gezeigt, und gleiche oder ähnliche Elemente werden in den verschiedenen Ansichten durch dieselben Bezugszahlen bezeichnet.
  • Eine repräsentative Hardwareumgebung zur Realisierung der vorliegenden Erfindung wird in 1 dargestellt, die eine typische Hardwarekonfiguration eines Datenprozessors 113 gemäß der vorliegenden Erfindung veranschaulicht, welcher eine Zentraleinheit (CPU) 110, wie beispielsweise einen herkömmlichen Mikroprozessor, und eine Anzahl anderer über einen Systembus 112 miteinander verbundener Einheiten besitzt.
  • Der Datenprozessor 113 enthält einen Speicher mit wahlfreiem Zugriff (RAM) 114, einen Nur-Lese-Speicher (ROM) 116, einen Eingabe-/Ausgabe-Adapter (E/A) 118 zum Verbinden von Peripherieeinheiten wie Plattenlaufwerken 120 und Bandlaufwerken 140 mit dem Bus 112, einen Schnittstellenadapter 122 zum Verbinden einer (nicht gezeigten) Tastatur 124, einer Maus 126 und/oder anderer Benutzerschnittstelleneinheiten wie etwa eines (nicht gezeigten) berührungsempfindlichen Bildschirms (Touchscreen) mit dem Bus 112, einen Datenübertragungsadapter 134 zum Verbinden eines Arbeitsplatzrechners 113 mit einem Datenverarbeitungsnetz und einen Bildschirmadapter 136 zum Verbinden der Bildschirmeinheit 138 mit dem Bus 112. Die CPU 110 kann weitere hier nicht gezeigte Schaltungen, darunter üblicherweise in einem Mikroprozessor enthaltener Schaltungen, enthalten, wie z. B. eine Ausführungseinheit, eine Busschnittstelleneinheit, eine arithmetische Logikeinheit usw. Die CPU 110 kann sich auch in einer einzigen integrierten Schaltung befinden.
  • 2 veranschaulicht eine Wellenpipelineschnittstelle 200 gemäß der vorliegenden Erfindung. Die Schnittstelle 200 ist in jedem Chip 202 und Chip 204 enthalten, die über eine entsprechende Schnittstelle 200 Daten miteinander austauschen. Bei einer Ausführungsart der vorliegenden Erfindung können die Chips 202 und 204 zum Beispiel der CPU 110 und dem RAM 114 im Datenprozessor 113 entsprechen. Die Daten werden zwischen den Chips 202 und 204 mit einer durch einen Bustakt, wie beispielsweise durch die Bustakte 206 und 208, vorgegebenen Geschwindigkeit übertragen. Die Sollfrequenzen der Bustakte 206 und 208 sind gleich und leiten sich von dem durch eine PLL 212 in jedem der Chips 202 und 204 bereitgestellten Referenztakt 210 ab. Bei einer Ausführungsart der vorliegenden Erfindung kann der Referenztakt 210 der Systemtakt sein. Jede PLL 212 gibt einen lokalen Takt aus, und zwar den lokalen Takt 214 in Chip 202 und den lokalen Takt 216 in Chip 204, der auf die Phase des Referenztaktes 210 einrastet und ein vorgegebenes ganzzahliges Vielfaches M der Periode des Referenztaktes 210 sein kann. Der lokale Takt 214 wird durch den Treiber 218 gepuffert, um den durch den Chip 202 ausgegebenen Bustakt 206 bereitzustellen. Entsprechend wird der lokale Takt 216 durch den Treiber 220 gepuffert, um den durch Chip 204 ausgegebenen Bustakt 208 bereitzustellen.
  • Der Bustakt wird parallel zu den durch den Chip gesendeten Datensignalen bereitgestellt. Die Daten 222 vom Chip 202 werden im Ausgabesignalspeicher 224 zwischengespeichert und durch den Treiber 226 gesteuert und gepuffert. Die Daten werden an einer vorher ausgewählten Flanke des lokalen Taktes 214 zwischengespeichert. Die Daten werden über den Multiplexer (MUX) 228 empfangen. Der Multiplexer 228 empfängt im Rahmen einer Initialisierungs-Einstellprozedur (IAP) auch ein vorgegebenes Synchronisationsmuster. Dies wird im Folgenden beschrieben.
  • Die Daten 222 werden durch den Empfänger (RX) 230 gepuffert und zu einer Datenempfangseinheit 232 geleitet. Der parallel zu den Daten 222 gesendete Bustakt 206 wird durch den RX 234 gepuffert, dessen Ausgang den E/A-Takt 236 bildet, welcher ebenfalls zur Datenempfangseinheit 232 geleitet wird. Die parallel mit dem Bustakt 208 vom Chip 204 zum Chip 202 gesendeten Daten werden auf ähnliche Weise durch die Schnittstelle 200 im Chip 202 empfangen, und es ist klar, dass die Beschreibung der Datenempfangseinheit 232 genauso für den Empfang der Daten vom Chip 204 durch den Chip 202 gilt.
  • In 3 wird schematisch ein Zeitablaufdiagramm für das an einem Eingang des Chips 204 ankommende Datensignal 222 veranschaulicht. Der Zeitablauf wird zwar bezüglich des Datensignals 222 beschrieben, jedoch ist die Schnittstelle 200 bidirektional, und es ist klar, dass für die vom Chip 204 zum Chip 202 übertragenen Datensignale ein ähnliches Diagramm gilt. Ein erstes Datensignal 302 kommt nach einer Soll-Latenzzeit an, die sich aus der endlichen Übertragungsdauer auf dem Pfad zwischen den Chips 202 und 204 ergibt. In 3 wird die Ankunft des Datensignals 302 zu einem Referenzzeitpunkt To veranschaulicht. Ein zweites Datensignal 304 hat eine Latenzzeit, die länger als die Latenzzeit des Datensignals 302 ist, und wird gegenüber dem Referenzzeitpunkt um einen Betrag Ts verzögert, der unter einer Vielzahl verzögerter Datensignale auf dem Datenbus 222 als Maximalverzögerung angenommen wird. Desgleichen besitzt ein drittes Datensignal 306 eine kürzere Latenzzeit als die Soll-Latenzzeit und kommt früher als das Datensignal 302 an. Das Datensignal 306 ist so veranschaulicht, dass seine Ankunftszeit um den Betrag Tf vor dem Referenzzeitpunkt To liegt. Um die Funktion der Datenempfangseinheit 232 im Folgenden zu beschreiben, soll Tf die früheste Ankunftszeit aus einer Vielzahl verfrühter Datensignale auf dem Datenbus 222 darstellen. Die Differenz der Ankunftszeiten der Datensignale auf dem Datenbus 222 wird als Datensignalverschiebung bezeichnet. Zur Datensignalverschiebung kann es aus verschiedenen Ursachen kommen, unter Anderem durch Fertigungstoleranzen, konstruktive Beschränkungen wie beispielsweise Schwankungen der Leitungslängen, und zeitabhängige Effekte wie zum Beispiel datenabhängige Schwankungen (Symbolinterferenz), Taktschwankungen und Rauschen. (In 3 wurden die Referenzwerte in den schematischen Zeitablaufdiagrammen zur besseren Veranschaulichung bezüglich der Mittelpunkte der Signalübergänge dargestellt. Dem Fachmann ist jedoch klar, dass gültige Übergänge auch an anderen vorgegebenen Punkten des Signalpegels festgelegt werden können.) Das Datensignal wird in der Empfangseinheit, zum Beispiel im Chip 204, an einer Flanke des E/A-Taktes 236 zwischengespeichert. Wenn keine Datensignalverschiebung vorliegt, kann das Datensignal in einem Datengültigkeitsfenster mit einer Breite der Periode des E/A-Taktes 236 übernommen werden. Durch die Datenverschiebung wird die Breite des Datengültigkeitsfensters Tw um die Summe von Tf und Ts verringert.
  • Um die Breite des Datengültigkeitsfensters wiederherzustellen, gibt die Schnittstelle 200 gemäß der vorliegenden Erfindung wie in 4 veranschaulicht eine Vielzahl von Datensignalen in die Datenempfangseinheit 232 ein. Die Datensignale werden in einem Empfänger 230 gepuffert und in eine programmierbare Verzögerungsleitung, das heißt in eine der Verzögerungsleitungen 406 bis 408, eingekoppelt. Die programmierbaren Verzögerungsleitungen 406 bis 408 verzögern das entsprechende in die Verzögerungsleitung eingegebene Datensignal um einen vorher ausgewählten Betrag. Die das letzte ankommende Datensignal, welches dem Datensignal 304 in 3 entspricht, empfangende Verzögerungsleitung wird auf eine Verzögerung von null programmiert. (Es ist klar, dass jede Schaltung eine Mindestlaufzeit hat. Eine Verzögerung von null ist im Folgenden auf eine solche Mindestlaufzeit zu beziehen.) Daher wird, wenn zum Beispiel das Datensignal 402 in 4 dem Datensignal 304 in 3 entspricht, die Verzögerungsleitung 408 auf eine Verzögerung von null programmiert. Die die übrigen Datensignale empfangenden Verzögerungsleitungen werden auf zunehmende Verzögerungswerte programmiert, wobei die das Datensignal mit der frühesten Ankunftszeit; welches dem Datensignal 306 in 3 entspricht, empfangende Verzögerungsleitung auf die längste Verzögerung programmiert wird. Dann wird, wenn zum Beispiel das Datensignal 404 in 4 dem am frühesten ankommenden Datensignal entspricht, die Verzögerungsleitung 408 auf den längsten Verzögerungswert programmiert. Auf diese Weise wird die Verschiebung aller Datensignale 402 bis 404, die in den Chip 204 eingegeben werden, auf die Ankunftszeit des letzten ankommenden Datensignals eingestellt. Obwohl die in 4 veranschaulichte Ausführungsart der vorliegenden Erfindung in Verbindung mit einzelnen Datensignalen gezeigt und beschrieben wurde, ist klar, dass die Prinzipien der vorliegenden Erfindung auf Gruppen von Datensignalen wie beispielsweise ein Datenbyte oder andere derartige Gruppen von Datensignalen angewendet werden können.
  • Die Verzögerungsleitungen 406 bis 408 werden mittels einer Initialisierungs-Einstellprozedur (IAP) so programmiert, dass sie ihre vorher ausgewählten Verzögerungswerte erhalten. Die IAP kann während des Einschaltens oder beim Zurücksetzen des Datenverarbeitungssystems 100 erfolgen, in der die in Form einer dynamischen Wellenpipeline angeordnete Schnittstelle 200 enthalten ist. Bei einer Ausführungsart der vorliegenden Erfindung kann die IAP durch ein Signal von der CPU 110 in 1 gesteuert werden. Bei der IAP wird durch Bestätigung der IAP-Modusauswahl 240 ein vorgegebenes Synchronisationsmuster (sync) über den Datenbus 222 gesendet, woraufhin der MUX 228 das vorgegebene Synchronisierungsmuster ausgibt. Das Synchronisierungsmuster wird mit allen Datensignalen gesendet, die den Datenbus 222 bilden.
  • Das Synchronisierungsmuster wird durch die Signalspeicher 412 bis 414 erfasst, die die Ausgangssignale der Datenleitungen 406 bis 408 empfangen. Die in die Signalspeicher 412 bis 414 eingegebenen Datensignale werden an einer Flanke des E/A-Taktes 236 zwischengespeichert, der über den Puffer 234 vom Bustakt 206 abgeleitet wird. Der E/A-Takt 236 wird in der Verzögerungsleitung 410 in der Datenempfangseinheit 232 verzögert. Der verzögerte E/A-Takt wird wieder im Puffer 416 aktiviert und zu den Signalspeichern 412 bis 414 geleitet.
  • Die Steuerung der Verzögerungsleitung 410 sowie der Verzögerungsleitungen 406 bis 408 erfolgt mittels der Ablaufsteuereinheit 418. Während der IAP stellt die Ablaufsteuereinheit 418 die programmierbaren Verzögerungen in jeder der Verzögerungsleitungen 406 bis 408 als Reaktion auf den Eingang des Synchronisierungsmusters in den Signalspeichern 412 bis 414 ein.
  • Die Ausgänge 420 bis 422 sind mit den entsprechenden Eingängen der Datenvergleichslogik 424 verbunden. Durch ein geeignetes Synchronisierungsmuster wird die eindeutige Auflösung der synchronen Datenerfassung beim Fehlen jeglicher Datensignaiverschiebung ermöglicht. Ein solches Muster stellt einen Datenwert mit der Folge „100010001000" dar. Diese Folge ist periodisch und besitzt eine Periodizität von vier E/A-Taktperioden und wird in Verbindung mit einer elastischen Schnittstelle verwendet, die eine Elastizität von vier Taktperioden besitzt. Eine elastische Schnittstelle ist Gegenstand der gleichzeitig anhängigen, an denselben Empfänger abgetretenen US-Patentanmeldung „An Elastic Interface Apparatus and Method Therefor". Alternativ können andere Synchronisierungsmuster realisiert werden, wenn diese eine eindeutige Auflösung der synchronen Datenerfassung ermöglichen. Zum Beispiel kann alternativ ein der Folge des obigen Datenwertes komplementäres Synchronisierungsmuster realisiert werden. Die Auswahl der Verzögerungswerte in den Verzögerungsleitungen 406 bis 408 und 410 wird im Folgenden unter Bezug auf die Funktion der Ablaufsteuereinheit 418 beschrieben.
  • In 5A wird das Verfahren 500 zum Auswählen der Verzögerungswerte mittels der Ablaufsteuereinheit 418 veranschaulicht. In Schritt 502 wird der E/A-Takt auf das letzte ankommende Datensignal eingestellt, indem ein geeigneter Verzögerungswert in der Verzögerungsleitung 410 ausgewählt wird. Der Schritt 502 wird später auch zusammen mit den 5B und 5C erörtert. Die Verschiebung der Datensignale wird in Schritt 504 aufgehoben, was später zusammen mit den 5D und 5E beschrieben wird. In Schritt 508 wird der Bezugspunkt des E/A-Takts eingestellt. Der Schritt 508 wird im Folgenden zusammen mit den 5F und 5G beschrieben.
  • 5B veranschaulicht ein Flussdiagramm des Schritts 502 zur Verzögerung des E/A-Takts. In Schritt 512 wird wie oben beschrieben die IAP mit einer Ausgabe des Synchronisierungsmusters gestartet. In Schritt 514 stellt die Ablaufsteuereinheit 418 in 4 fest, dass das in den Signalspeichern 412 bis 414 zwischengespeicherte Synchronisierungsmuster demselben Datensignal entspricht, was beidem oben beschriebenen beispielhaften Synchronisierungsmuster dem Wert „1" entspricht. Die Ablaufsteuereinheit 418 stellt fest, ob dasselbe Datensignal zwischengespeichert wurde, indem sie ermittelt, ob der Ausgang 426 der Flip-Flop-Schaltung 428 zum Setzen/Rücksetzen (S-R) zurückgesetzt wurde. Der Ausgang 426 der S-R-Flip-Flop-Schaltung 428 wird durch die Datenvergleichslogik 424 gesteuert, die Ungleichheiten erkennt und daraufhin ihren Ausgang 430 bestätigt. Als Reaktion auf das Erscheinen desselben Datensignals an jedem der Eingänge 421 bis 423 der Datenvergleichslogik 424 wird der Ausgang 430 negiert und somit die S-R-Flip-Flop-Schaltung zurückgesetzt. Die Datenvergleichsschaltung 424 wird durch den verzögerten E/A-Takt 411 angesteuert, wodurch am Ausgang 430 der Datenvergleichslogik 424 als Reaktion auf das Zwischenspeichern der Datensignale in den Signalspeichern 412 bis 414 ein Ausgangssignal entsteht. Eine beispielhafte Ausführungsart der Datenvergleichslogik 424, die der Realisierung in positiver Logik entspricht, kann die logische NAND-Verknüpfung der Signale an den Eingängen 421 bis 423 und des vom verzögerten Takt 411 abgeleiteten Steuersignals bilden. Alternativ kann eine beispielhafte Ausführungsart, die der Realisierung in negativer Logik entspricht, die logische ODER-Verknüpfung der Eingänge 421 bis 423 und des vom Komplement des verzögerten Takts 411 abgeleiteten Steuersignals bilden. Eine solche Ausführungsart entspräche dem Komplement des oben erörterten Synchronisierungsmusters.
  • Statistische Schwankungen bei Einstellen der Verzögerungen in den Verzögerungsleitungen 406 bis 408 können verringert werden, indem das Synchronisierungsmuster über mehrere Zyklen des verzögerten E/A-Takts 411 erfasst wird. Der verzögerte E/A-Takt 411 erhöht den Zähler 432. Der Zähler 432 bestätigt den Ausgang 434 nach einer vorgegebenen Anzahl K von Zyklen des verzögerten E/A-Takts 411 und beginnt von vorn. Der Ausgang 434 des Zählers 432 ist mit dem Rücksetzeingang 436 der S-R-Flip-Flop-Schaltung 428 verbunden und setzt daher den Ausgang 426 zurück. Dann kann eine neue Folge zur Prüfung des Synchronisierungsmusters auf Ungleichheit ausgeführt werden. Wenn bei einer Prüfung eine Ungleichheit gefunden wird, wird die S-R-Flip-Flop-Schaltung gesetzt.
  • Wenn, um bei 5B zu bleiben, während der durch den Wert der Ganzzahl K bestimmten Prüfperiode an allen Eingängen 421 bis 423 der Datenvergleichslogik 424 dasselbe Datensignal anliegt, folgt nach dem Schritt 514 der „Ja"-Zweig, und das Verfahren 500 geht weiter zum Schritt 504. Für diesen Fall, bei dem die Verzögerungen in den Verzögerungsleitungen 406 bis 408 noch nicht gesetzt worden sind, gilt der in 5C schematisch veranschaulichte Zeitablauf. Der E/A-Takt 236 ist durch die Verzögerungsleitung 410 um einen Betrag Td verzögert worden, wobei die Flanke t1 innerhalb des durch das Zeitintervall Tw dargestellten Datengültigkeitsfensters liegt.
  • Anfangs kann die Verzögerungszeit Td gleich null sein, wobei die Flanke To außerhalb des Datengültigkeitsfensters liegt und in den Signalspeichern 412 bis 414 für die Flanke To beim Empfangen des Datenwertes 306 der Wert „1" und beim Empfangen der Datenwerte 302 und 304 der wert „0" gespeichert wird. Dies führt zum Feststellen der Ungleichheit. Dann wird der Ausgang 430 der Datenvergleichslogik 424 bestätigt und der Ausgang 426 der S-R-Flip-Flop-Schaltung 428 gesetzt. Daraufhin folgt nach dem Schritt 514 in 5B der „Nein"-Zweig. In Schritt 516 erhöht die Ablaufsteuereinheit 418 über die Verzögerungsleitung 410 die Verzögerung.
  • Die Verzögerung wird durch die Ablaufsteuereinheit 418 erhöht, indem sie an den bidirektionalen Zähler 440 ein Signal „Aufwärts" für die Zählrichtung 438 sendet. Der Zähler 440 erhöht als Reaktion auf die Ausgangsbestätigung 434 des Zählers 432 seinen Zählerstand, wenn der Zähler 432 den durch den Wert der Ganzzahl K festgelegten Zählerendstand erreicht. Der in dem bidirektionalen Zähler 440 enthaltene Zählerstand wird zur der Schaltung zum Steuern der Verzögerung 442 geschickt. Die Schaltung zum Steuern der Verzögerung 442 decodiert den Zählerstand und sendet ein entsprechendes Steuersignal 444 zur Verzögerungsleitung 410, woraufhin die Verzögerungsleitung 410 die Verzögerungszeit Td um einen vorgegebenen Zuwachsschritt erhöht. (Eine programmierbare Verzögerungsleitung 410, die in der vorliegenden Erfindung verwendet werden kann, ist Gegenstand der gleichzeitig anhängigen, an denselben Empfänger abgetretenen US-Patentanmeldung „Programmable Delay Locked Loop".) Dann kehrt der Schritt 502 der Verzögerung des E/A-Taktes zum Schritt 514 zurück.
  • Wenn der in Schritt 514 erhöhte Wert von Td ausreicht, um die Flanke t1 in das Datengültigkeitsfenster zu bringen, folgt nach dem Schritt 514 der oben beschriebene „Ja"-Zweig. Ansonsten wird die Verzögerung über die Verzögerungsleitung 410 in Schritt 516 erneut erhöht und der Schritt R der Verzögerung des E/A-Taktes durchläuft die Schleife durch die Schritte 514 und 516 so lange, bis die Flanke tl in das Datengültigkeitsfenster fällt. Die Ablaufsteuereinheit 418 geht dann weiter zu Schritt 504, in dem die Verschiebung der Datensignale aufgehoben wird.
  • Der Schritt 504 des Aufhebens der Verschiebung der Datensignale wird in 5D ausführlich beschrieben. In Schritt 504 wird die Vielzahl der Verzögerungsleitungen 406 bis 408 programmiert. In Schritt 518 wird eine erste Verzögerungsleitung, die einem ersten Datensignal entspricht, zum Programmieren ausgewählt. (Dies kann einem Index j entsprechen, der auf einen ersten Wert initialisiert werden kann, der gleich null sein kann). In Schritt 520 wird ein Datenvergleich durchgeführt. Der Datenvergleich in Schritt 520 erfolgt in genau derselben Weise wie der Datenvergleich in Schritt 514 von 5B und wird daher hier nicht noch einmal ausführlich beschrieben.
  • Wenn alle Datensignale synchron sind, wird in Schritt 522 in der j-ten Verzögerungsleitung, die dem j-ten Datensignal entspricht, eine Erhöhung der Verzögerung eingestellt. Man beachte, dass zunächst infolge des E/A-Takt-Einstellschrittes 502 nach Schritt 520 der „Ja"-Zweig folgt. Nach Erhöhung der Verzögerung in Schritt 522 wird in Schritt 520 erneut ein Datenvergleich durchgeführt. Dann durchläuft der Schritt 504 zum Aufheben der Verschiebung der Datensignale die Schleife zwischen den Schritten 520 und 522 so lange, bis die Datensynchronität verloren geht, und in Schritt R wird der „Nein"-Zweig gewählt, woraufhin in Schritt 524 die Verzögerung des j-ten Datensignals um einen Zuwachsschritt der Verzögerungszeit verringert wird. Auf diese Weise kann die Phase des j-ten Datensignals an den E/A-Takt angepasst werden.
  • Dies wird wiederum aus 5C verständlich. Zuerst wird beispielsweise angenommen, dass in den Schritten 520 und 522 das j-te Datensignal das letzte ankommende Datensignal 304 ist. Dann wird das Datensignal 304 durch Hinzufügen des ersten Zuwachsschrittes der Verzögerungszeit zur entsprechenden Verzögerungsleitung verschoben, so dass seine Flanke t2 hinter der Flanke t1 des verzögerten E/A-Taktes 411 liegt. Dann geht Schritt 520 über den „Nein"-Zweig weiter zu Schritt 524, wo der in Schritt 522 hinzugefügte Zuwachsschritt der Verzögerungszeit wieder entfernt wird. Somit wird dem letzten ankommenden Datensignal keine weitere Verzögerung zugewiesen. Dies stellt die erwünschte Funktion des Schrittes 504 zum Aufheben der Verschiebung der Datensignale dar, da das letzte ankommende Datensignal als Referenzsignal für das Aufheben der Verschiebung aller anderen Datensignale dienen kann.
  • Desgleichen soll nun wiederum in Form eines Beispiels die Funktion der Schritte 520 und 522 für ein Datensignal betrachtet werden, welches das früheste ankommende Datensignal 306 in 5C ist. Für das früheste ankommende Datensignal werden in dessen entsprechender programmierbarer Verzögerungsleitung durch wiederholte Ausführung der Schritte 520 bis 522 mehrere Zuwachswerte der Verzögerungszeit zugewiesen, bis seine Flanke t3 zeitlich hinter die Flanke t1 des verzögerten E/A-Taktes 411 verschoben ist. Dann geht wie oben in Bezug auf das Datensignal 304 beschrieben der Datenvergleichsschritt 520 über den „Nein"-Zweig weiter zu Schritt 524, wo die programmierbare Verzögerung um einen Zuwachswert der Verzögerung verringert und die Flanke t3 an die Flanke t1 des verzögerten E/A-Taktes 411 angepasst wird.
  • Nach dem Aufheben der Verschiebung des j-ten Datensignals ermittelt der Schritt 504 zum Aufheben der Verschiebung in Schritt 526, ob die Verzögerungen aller Datensignale programmiert worden sind. Wenn dies nicht der Fall ist, geht der Schritt 504 zum Aufheben der Verschiebung in Schritt R zur nächsten Verzögerungsleitung weiter und kehrt zu Schritt 520 zurück. Nachdem alle Verzögerungsleitungen eingestellt worden sind, sind alle Datensignale an die Flanke t1 des verzögerten E/A-Taktes 411 angepasst, was im Zeitablaufdiagramm von 5E schematisch veranschaulicht wird, und der Schritt 504 zum Aufheben der Verschiebung geht weiter zu Schritt 506 des Verfahrens 500.
  • In Schritt 506 zum Einstellen des Taktbezugspunktes kann die Flanke t1 des verzögerten E/A-Taktes 411 auf eine Mitte des Datengültigkeitsfensters eingestellt werden. Selbst wenn eine Taktflanke beim Start zentriert ist, kann sie infolge von Unterschieden der Latenzzeit des Pfades, durch Rauschen usw. bei Ankunft am Empfänger verschoben sein. Der Schritt 506 zum Einstellen des Prüfpunktes hebt die Verschiebung des Taktsignals auf. In Schritt 528 von 5F wird ein Datenvergleich durchgeführt. Wegen des Schritts 506 zum Aufheben der Verschiebung geht der Datenvergleichsschritt 526 zuerst über seinen „Ja"-Zweig weiter zu Schritt 540, und die Zeitverzögerung wird in der Verzögerungsleitung 410 in Schritt 530 um einen Zuwachsschritt der Zeitverzögerung erhöht. Der Schritt 506 zum Einstellen des Taktprüfpunktes kehrt dann zu Schritt 528 zurück, wo erneut der Datenvergleich erfolgt. Der Schritt 506 zum Einstellen des E/A-Taktes durchläuft dann die Schleife zwischen den Schritten 528 und 530 so lange, bis der Datenvergleichsschritt 528 eine Ungleichheit ergibt, wodurch angezeigt wird, dass die mit t1 bezeichnete Flanke t1 des verzögerten E/A-Taktes 411 eine spätere Flanke des Datengültigkeitsfensters von 5G überschritten hat. Dann folgt der Datenvergleichsschritt 528 dem „Nein"-Zweig, und der Zählerstand des Zählers 440 wird in Schritt 532 gespeichert.
  • Der Schritt 506 zum Einstellen des Bezugspunktes des E/A-Taktes ermittelt sodann die frühe Flanke des Datengültigkeitsfensters. Die Verzögerung in der Verzögerungsleitung 410 wird in Schritt 534 um einen Zuwachsschritt der Verzögerungszeit verringert, und in Schritt 536 wird ein Datenvergleich durchgeführt. Da die Flanke t1' in Schritt 534 in das Datengültigkeitsfenster zurück verschoben worden ist, geht der Datenvergleichsschritt 536 über seinen „Ja"-Zweig weiter zu Schritt 538, und die in der Verzögerungsleitung 410 programmierte Verzögerung wird um einen weiteren Zuwachsschritt der Verzögerungszeit verringert. Der Schritt 506 zum Einstellen des Taktbezugspunktes durchläuft dann die Schleife zwischen den Schritten 536 und 538 so lange, bis der Datenvergleich im Datenvergleichsschritt 536 eine Ungleichheit ergibt. Dadurch wird angezeigt, dass die Flanke t1 des verzögerten E/A-Taktes 411 in 5G früher als eine frühe Flanke te des Datengültigkeitsfensters angekommen ist. Dieser Übergang des verzögerten E/A-Taktes 411 wird durch t1'' bezeichnet. Dann geht der Datenvergleichsschritt 536 über seinen „Nein"-Zweig weiter zu Schritt 540, wo der Zählerstand des Zählers 440 für die frühe Flanke gespeichert wird.
  • In Schritt 542 wird die Phase des verzögerten E/A-Taktes 411 auf den Mittelwert zwischen der frühen und der späten Flanke des Datengültigkeitsfensters eingestellt. Dies entspricht in 5G der durchgezogenen Linie der Kurve des verzögerten E/A-Taktes 411 und der Flanke t1'''. Dann geht der Schritt R für das Einstellen des Prüfpunktes des verzögerten E/A-Taktes weiter zu Schritt 508, und das Verfahren 500 verlässt den IAP-Modus.
  • Durch die Vorrichtung und das Verfahren, welche in den hier beschriebenen Ausführungsarten dargestellt wurden, wird eine dynamische Anordnung einer Schnittstelle in Form einer Wellenpipeline bereitgestellt. Die Verschiebung der Vielzahl an der Schnittstelle ankommender Datensignale zueinander wird aufgehoben, indem die Laufzeitunterschiede zwischen den Datensignalen, Pfadunterschiede zwischen dem E/A-Takt und den Datensignalen sowie konstruktiv bedingte Toleranzen zwischen den Datensignalen, wie beispielsweise durch die Verdrahtung der Chips, der Module und der Steckkarten, ausgeglichen werden. Dies führt zu einer Verbreiterung des Datensignalbereichs. Die Schnittstelle stellt ferner den Bezugstakt so ein, dass der Bezugspunkt im Wesentlichen in der Mitte des Datengültigkeitsfensters liegt, wodurch Unterschiede der Pfadlängen zwischen dem E/A-Takt und den Datensignalen, sowie in der Verdrahtung der Module und der Steckkarten ausgeglichen werden können.

Claims (15)

  1. Schnittstellenvorrichtung (200), die Folgendes umfasst: eine Vielzahl von Verzögerungs-Bauelementen (406, 408, 410), wobei jedes Bauelement in der Lage ist, ein entsprechendes Datensignal zu empfangen, jedes Verzögerungs-Bauelement eine vorher auswählbare Verzögerungszeit hat und das Datensignal nach der vorher auswählbaren Verzögerungszeit ausgibt; dadurch gekennzeichnet, dass: Schaltung (418, 440, 442), die mit der Vielzahl von Verzögerungs-Bauelementen verbunden ist, die zum Einstellen jeder vorher auswählbaren Verzögerungszeit in der Lage sind, wobei jede vorher ausgewählte Verzögerungszeit als Reaktion auf eine Ankunftszeit des entsprechenden Datensignals eingestellt wird, in der die zum Einstellen jeder vorher auswählbaren Verzögerungszeit fähige Schaltung Folgendes umfasst: Datenvergleichslogik (424), die zum Empfang einer vorher festgelegten Teilmenge der Datensignale und zur Ausgabe eines ersten vorher festgelegten Wertes eines Ausgabesignals, wenn die Teilmenge von Datensignalen eine erste vorher festgelegte Menge von Werten umfasst, und zur Ausgabe eines zweiten vorher festgelegten Wertes eines Ausgabesignals fähig ist, wenn als Reaktion auf die zugehörigen Ankunftszeiten die Teilmenge von Datensignalen einen aus der ersten und der zweiten vorgegebenen Menge von Werten annimmt; und Schaltung, die in der Lage ist, die vorher ausgewählten Verzögerungszeiten als Reaktion auf die werte des ersten und des zweiten vorher festgelegten Ausgabesignals zu verändern.
  2. Vorrichtung nach Anspruch 1, wobei ein erstes dieser Datensignale ein Taktsignal umfasst.
  3. Vorrichtung nach Anspruch 1, wobei die erste vorher festgelegte Menge von Werten eine Wertmenge umfasst, in denen jeder Wert gleich ist und die zweite vorher festgelegte Menge von Werten eine Wertmenge umfasst, in der ein erstes und ein zweites Glied von unterschiedlichem Wert sind.
  4. Vorrichtung nach Anspruch 1, wobei die zum Verändern der vorher ausgewählten Verzögerungszeiten fähige Schaltung Folgendes umfasst: eine Ablaufsteuereinheit (418), die in der Lage ist, als Reaktion auf den ersten und den zweiten Wert des Ausgabesignals die vorher ausgewählten Verzögerungszeiten zu verändern.
  5. Vorrichtung nach Anspruch 4, wobei die zum Verändern der vorher ausgewählten Verzögerungszeiten fähige Schaltung weiterhin Folgendes umfasst: einen Zähler (440), der zum Empfang eines Richtungssignals von der Ablaufsteuereinheit in der Lage ist, wobei der Zähler die Fähigkeit hat, zum Ermitteln einer Anzahl von Zuwachsschritten der Verzögerungszeit ein Zählsignal zum Verändern der vorher ausgewählten Verzögerungszeiten auszugeben, wobei der Zuwachsschritt der Verzögerungszeit einen vorgegebenen Wert hat.
  6. Vorrichtung nach Anspruch 5, wobei die zum Verändern der vorher ausgewählten Verzögerungszeiten fähige Schaltung weiterhin Schaltung zum Steuern der Verzögerung (442) umfasst, die in der Lage ist, das Zählsignal zu empfangen und an die Vielzahl der Verzögerungs-Bauelemente ein Steuersignal auszugeben, wobei das Steuersignal dazu fähig ist, die vorher ausgewählten Verzögerungszeiten zu verändern.
  7. Vorrichtung nach Anspruch 1, wobei die Schaltung zum Verändern der vorher ausgewählten Verzögerungszeiten als Reaktion auf das erste und das zweite vorher festgelegte Signal Folgendes umfasst: ein Speicherbauelement, das einen Eingang hat, der mit der Vergleichslogik verbunden ist, wobei ein logischer Zustand des Speicherbauelementes fähig ist, als Reaktion auf das erste vorher festgelegte Signal eine Einstellung vorzunehmen und als Reaktion auf das zweite vorher festgelegte Signal eine Rücksetzung vorzunehmen; einen mit dem Speicherbauelement verbundenen Zähler, um nach dem Verstreichen einer vorgegebenen Zählung das Speicherbauelement zurückzusetzen; und Schaltung, die in der Lage ist, den logischen Zustand des Speicherbauelementes zu empfangen und die vorher ausgewählten Verzögerungszeiten als Reaktion auf den logischen Zustand zu verändern.
  8. Verfahren zum dynamischen Anordnen in Form einer Wellenpipeline in einer Schnittstelle (200), die eine Vielzahl von Verzögerungs-Bauelementen (406, 408, 410) und eine Schaltung hat, die mit der Vielzahl von Verzögerungs-Bauelementen verbunden ist, das die folgenden Schritte umfasst durch jedes der Bauelemente Empfangen eines entsprechenden Datensignals, wobei jedes Verzögerungs-Bauelement eine vorher auswählbare Verzögerungszeit hat, und Ausgabe des Datensignals nach der vorher ausgewählten Verzögerungszeit; dadurch gekennzeichnet, dass: durch die Schaltung (418, 440, 442) jede vorher auswählbare Verzögerungszeit eingestellt wird, wobei jede vorher ausgewählte Verzögerungszeit als Reaktion auf eine Ankunftszeit des entsprechenden Datensignals eingestellt wird, wobei die Schaltung Folgendes umfasst: Datenvergleichslogik (424), die in der Lage ist, eine vorgegebene Teilmenge der Datensignale zu empfangen und einen ersten vorgegebenen Ausgabesignalwert auszugeben, wenn die. Teilmenge der Datensignale eine erste vorgegebene Menge von Werten umfasst, und einen zweiten vorgegebenen Ausgabesignalwert auszugeben, wenn die Teilmenge von Datensignalen eine zweite vorgegebene Menge von Werten hat, wobei die Teilmenge von Datensignalen als Reaktion auf die zugehörigen Ankunftszeiten eine der ersten und der zweiten vorgegebenen Wertmengen annimmt; und Schaltung zum Verändern der vorher ausgewählten Verzögerungszeiten als Reaktion auf den ersten und zweiten vorher festgelegten Ausgabesignalwert.
  9. Verfahren nach Anspruch 8, wobei ein erstes der Datensignale ein Taktsignal umfasst.
  10. Verfahren nach Anspruch 8, wobei die erste vorgegebene Menge von Werten eine Wertmenge umfasst, in der jeder Wert gleich ist und die zweite vorgegebene Wertmenge eine Menge von Werten umfasst, in der ein erstes Glied und ein zweites Glied unterschiedliche Werte haben.
  11. Verfahren nach Anspruch 8, wobei die Schaltung zur Veränderung der vorher ausgewählten Verzögerungszeiten Folgendes umfasst: eine Ablaufsteuereinheit (418), die in der Lage ist, die vorher ausgewählten Verzögerungszeiten als Reaktion auf den wert des ersten und des zweiten Ausgabesignals zu verändern.
  12. Verfahren nach Anspruch 11, wobei die Schaltung zum Verändern der vorher ausgewählten Verzögerungszeiten weiterhin Folgendes umfasst: einen Zähler (440), der fähig ist, von der Ablaufsteuereinheit ein Richtungssignal zu empfangen, wobei der Zähler in der Lage ist, zum Ermitteln einer Anzahl von Zuwachsschritten von Verzögerungszeiten ein Zählsignal auszugeben, um die vorher ausgewählten Verzögerungszeiten zu verändern, wobei der Zuwachsschritt der Verzögerungszeit einen vorgegebenen Wert hat.
  13. Verfahren nach Anspruch 12, wobei die Schaltung zum Verändern der vorher ausgewählten Verzögerungszeiten weiterhin eine Schaltung zur Verzögerungssteuerung (442) umfasst, die in der Lage ist, das Zählsignal zu empfangen und an jedes aus der Vielzahl von Verzögerungs-Bauelementen ein Steuersignal auszugeben, wobei das Steuersignal die vorher ausgewählten Verzögerungszeiten verändern kann.
  14. Verfahren nach Anspruch 8, wobei die Schaltung zum Verändern der vorher ausgewählten Verzögerungszeiten als Reaktion auf das erste und das zweite vorgegebene Signal Folgendes umfasst: ein Speicherbauelement, das einen Eingang hat, der mit der Vergleichslogik verbunden ist, wobei ein logischer Zustand des Speicherbauelementes in der Lage ist, als Reaktion auf das erste vorgegebene Signal eine Einstellung vorzunehmen und als Reaktion auf das zweite vorgegebene Signal eine Rücksetzung vorzunehmen; einen Zähler, der mit dem Speicherbauelement verbunden ist, das nach dem Ablauf einer vorgegebenen Zählung in der Lage ist, das Speicherbauelement rückzusetzen; und Schaltung zum Empfangen des logischen Zustandes des Speicherbauelementes und, als Reaktion auf den logischen Zustand, zum Verändern der vorher ausgewählten Verzögerungszeiten.
  15. Datenverarbeitungssystem mit einer Schnittstelle, die Folgendes umfasst: eine Zentraleinheit (CPU); eine Empfangsvorrichtung, die mit der CPU verbunden ist, die in der Lage ist, mindestens ein Datensignal von der CPU zu empfangen, wobei die Empfangsvorrichtung eine Datenempfangseinheit enthält, die folgendes umfasst: die Schnittstellenvorrichtung nach einem beliebigen der Ansprüche 1 bis 7.
DE60002567T 1999-03-05 2000-03-03 Dynamische wellenpipelineschnittstellenanordnung und verfahren dafür Expired - Lifetime DE60002567T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/263,662 US6654897B1 (en) 1999-03-05 1999-03-05 Dynamic wave-pipelined interface apparatus and methods therefor
US263662 1999-03-05
PCT/GB2000/000756 WO2000054164A1 (en) 1999-03-05 2000-03-03 Dynamic wave-pipelined interface apparatus and methods therefor

Publications (2)

Publication Number Publication Date
DE60002567D1 DE60002567D1 (de) 2003-06-12
DE60002567T2 true DE60002567T2 (de) 2004-03-25

Family

ID=23002734

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60002567T Expired - Lifetime DE60002567T2 (de) 1999-03-05 2000-03-03 Dynamische wellenpipelineschnittstellenanordnung und verfahren dafür

Country Status (18)

Country Link
US (1) US6654897B1 (de)
EP (1) EP1159687B1 (de)
JP (1) JP3725429B2 (de)
KR (1) KR100487206B1 (de)
CN (1) CN1181440C (de)
AT (1) ATE239944T1 (de)
AU (1) AU2925200A (de)
BR (1) BR0009251B1 (de)
CA (1) CA2365288C (de)
CZ (1) CZ20013179A3 (de)
DE (1) DE60002567T2 (de)
ES (1) ES2195873T3 (de)
HU (1) HUP0105099A3 (de)
IL (2) IL144674A0 (de)
PL (1) PL202169B1 (de)
RU (1) RU2213992C2 (de)
TW (1) TW459179B (de)
WO (1) WO2000054164A1 (de)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6950957B1 (en) * 2000-09-11 2005-09-27 Adc Telecommunications, Inc. Phase comparator for a phase locked loop
US6928571B1 (en) * 2000-09-15 2005-08-09 Intel Corporation Digital system of adjusting delays on circuit boards
US6920552B2 (en) 2001-03-16 2005-07-19 Broadcom Corporation Network interface with double data rate and delay locked loop
US8391039B2 (en) 2001-04-24 2013-03-05 Rambus Inc. Memory module with termination component
US6675272B2 (en) 2001-04-24 2004-01-06 Rambus Inc. Method and apparatus for coordinating memory operations among diversely-located memory components
EP1253521B1 (de) * 2001-04-24 2011-01-26 Rambus Inc. Verfahren und Vorrichtung zur Signalisierung zwischen Geräten eines Speichersystems
US7076678B2 (en) * 2002-02-11 2006-07-11 Micron Technology, Inc. Method and apparatus for data transfer
US6954870B2 (en) * 2002-03-12 2005-10-11 International Business Machines Corporation Method for receiver delay detection and latency minimization for a source synchronous wave pipelined interface
US6934867B2 (en) * 2002-05-17 2005-08-23 International Business Machines Corporation Digital system having a multiplicity of self-calibrating interfaces
CA2492811C (en) * 2002-07-17 2012-05-08 Fiberbyte Pty Ltd Synchronized multichannel universal serial bus
DE102004013929B3 (de) * 2004-03-22 2005-08-11 Infineon Technologies Ag Verfahren zum Steuern des Einlesens eines Datensignals sowie eine Eingangsschaltung für eine elektronische Schaltung
US7301831B2 (en) 2004-09-15 2007-11-27 Rambus Inc. Memory systems with variable delays for write data signals
KR20060081522A (ko) * 2005-01-10 2006-07-13 삼성전자주식회사 피씨아이 익스프레스의 바이트 스큐 보상방법 및 이를위한 피씨아이 익스프레스 물리 계층 수신기
US20060164909A1 (en) * 2005-01-24 2006-07-27 International Business Machines Corporation System, method and storage medium for providing programmable delay chains for a memory system
US7461287B2 (en) * 2005-02-11 2008-12-02 International Business Machines Corporation Elastic interface de-skew mechanism
US7412618B2 (en) * 2005-02-11 2008-08-12 International Business Machines Corporation Combined alignment scrambler function for elastic interface
US20060242473A1 (en) * 2005-04-07 2006-10-26 Wahl Mark A Phase optimization for data communication between plesiochronous time domains
US8037370B2 (en) 2007-05-02 2011-10-11 Ati Technologies Ulc Data transmission apparatus with information skew and redundant control information and method
WO2009087960A1 (ja) * 2008-01-07 2009-07-16 Nikon Systems Inc. データ転送装置およびカメラ
JP5201208B2 (ja) * 2008-06-03 2013-06-05 富士通株式会社 情報処理装置及びその制御方法
JP2010028450A (ja) * 2008-07-18 2010-02-04 Nikon Corp データ転送装置および電子カメラ
JP5341503B2 (ja) 2008-12-26 2013-11-13 株式会社東芝 メモリデバイス、ホストデバイスおよびサンプリングクロックの調整方法
JP5304280B2 (ja) * 2009-01-30 2013-10-02 株式会社ニコン 位相調整装置およびカメラ
CN101493304B (zh) * 2009-03-06 2012-10-03 北京铱钵隆芯科技有限责任公司 可编程延时装置及其控制流程
CN101996149B (zh) * 2009-08-12 2012-09-26 炬力集成电路设计有限公司 一种数据采集方法及装置
USD675498S1 (en) 2010-06-18 2013-02-05 Master Lock Company Llc Ratchet
JPWO2012147258A1 (ja) 2011-04-25 2014-07-28 パナソニック株式会社 チャネル間スキュー調整回路
TW201246881A (en) * 2011-05-12 2012-11-16 Novatek Microelectronics Corp Signal calibration method and client circuit and transmission system using the same
CN102780552A (zh) * 2011-05-13 2012-11-14 联咏科技股份有限公司 信号校正方法及相关的客户端电路及传输系统
TWI460574B (zh) * 2011-05-19 2014-11-11 Novatek Microelectronics Corp 校正行動產業處理器介面中訊號偏移的方法及相關傳輸系統
USD681411S1 (en) 2011-08-30 2013-05-07 Master Lock Company Llc Ratchet lock
JP7217204B2 (ja) * 2019-06-28 2023-02-02 株式会社アドバンテスト 信号処理装置および信号処理方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ220548A (en) * 1986-06-18 1990-05-28 Fujitsu Ltd Tdm frame synchronising circuit
US4922141A (en) * 1986-10-07 1990-05-01 Western Digital Corporation Phase-locked loop delay line
US5086500A (en) * 1987-08-07 1992-02-04 Tektronix, Inc. Synchronized system by adjusting independently clock signals arriving at a plurality of integrated circuits
JPH0683172B2 (ja) * 1988-09-27 1994-10-19 日本電気株式会社 フレームアライメント方式
US4965884A (en) * 1989-11-22 1990-10-23 Northern Telecom Limited Data alignment method and apparatus
US5258660A (en) 1990-01-16 1993-11-02 Cray Research, Inc. Skew-compensated clock distribution system
US5229668A (en) * 1992-03-25 1993-07-20 North Carolina State University Of Raleigh Method and apparatus for high speed digital sampling of a data signal
ATE426300T1 (de) * 1992-12-09 2009-04-15 Sedna Patent Services Llc Aufsatz-endgerat fur kabelfernsehverteilsysteme
US5467464A (en) * 1993-03-09 1995-11-14 Apple Computer, Inc. Adaptive clock skew and duty cycle compensation for a serial data bus
JPH0764957A (ja) * 1993-08-23 1995-03-10 Mitsubishi Electric Corp タイマ装置
JPH07154381A (ja) * 1993-11-30 1995-06-16 Hitachi Ltd データ転送装置
US5442636A (en) * 1993-12-14 1995-08-15 At&T Corp. Circuit and method for alignment of digital information packets
JPH07311735A (ja) 1994-05-18 1995-11-28 Hitachi Ltd データ転送装置
US6032282A (en) * 1994-09-19 2000-02-29 Advantest Corp. Timing edge forming circuit for IC test system
JP3233801B2 (ja) * 1994-12-09 2001-12-04 沖電気工業株式会社 ビット位相同期回路
US5507029A (en) * 1995-01-11 1996-04-09 International Business Machines Corporation Method for minimizing the time skew of electrical signals in very large scale integrated circuits
US6167528A (en) * 1995-12-21 2000-12-26 Cypress Semiconductor Programmably timed storage element for integrated circuit input/output
US5872959A (en) * 1996-09-10 1999-02-16 Lsi Logic Corporation Method and apparatus for parallel high speed data transfer
US5838936A (en) 1997-03-10 1998-11-17 Emulex Corporation Elastic bus interface data buffer
US6247138B1 (en) * 1997-06-12 2001-06-12 Fujitsu Limited Timing signal generating circuit, semiconductor integrated circuit device and semiconductor integrated circuit system to which the timing signal generating circuit is applied, and signal transmission system
US6229367B1 (en) * 1997-06-26 2001-05-08 Vitesse Semiconductor Corp. Method and apparatus for generating a time delayed signal with a minimum data dependency error using an oscillator
US6031847A (en) * 1997-07-01 2000-02-29 Silicon Graphics, Inc Method and system for deskewing parallel bus channels
WO1999012316A2 (en) * 1997-09-04 1999-03-11 Silicon Image, Inc. Controllable delays in multiple synchronized signals for reduced electromagnetic interference at peak frequencies
JPH11145945A (ja) * 1997-11-12 1999-05-28 Fujitsu Ltd 符号化フレーム同期方法及び符号化フレーム同期回路
US6269451B1 (en) * 1998-02-27 2001-07-31 Micron Technology, Inc. Method and apparatus for adjusting data timing by delaying clock signal
US6289468B1 (en) * 1998-11-06 2001-09-11 Advanced Micro Devices, Inc. Technique for controlling system bus timing with on-chip programmable delay lines

Also Published As

Publication number Publication date
CN1342289A (zh) 2002-03-27
JP3725429B2 (ja) 2005-12-14
KR20010102462A (ko) 2001-11-15
CA2365288A1 (en) 2000-09-14
KR100487206B1 (ko) 2005-05-03
ES2195873T3 (es) 2003-12-16
BR0009251A (pt) 2001-11-20
RU2213992C2 (ru) 2003-10-10
AU2925200A (en) 2000-09-28
JP2002539526A (ja) 2002-11-19
DE60002567D1 (de) 2003-06-12
ATE239944T1 (de) 2003-05-15
PL202169B1 (pl) 2009-06-30
TW459179B (en) 2001-10-11
HUP0105099A3 (en) 2005-01-28
EP1159687B1 (de) 2003-05-07
CN1181440C (zh) 2004-12-22
EP1159687A1 (de) 2001-12-05
PL350160A1 (en) 2002-11-18
IL144674A0 (en) 2002-05-23
CZ20013179A3 (cs) 2002-02-13
BR0009251B1 (pt) 2013-02-19
WO2000054164A1 (en) 2000-09-14
IL144674A (en) 2006-04-10
HUP0105099A2 (hu) 2002-04-29
US6654897B1 (en) 2003-11-25
CA2365288C (en) 2009-05-05

Similar Documents

Publication Publication Date Title
DE60002567T2 (de) Dynamische wellenpipelineschnittstellenanordnung und verfahren dafür
DE60002571T2 (de) Elastische schnittstelleanornung und verfahren dafür
DE68926598T2 (de) Vorrichtung zur Taktsignalversorgung
DE69910674T2 (de) Verzögerungsregelschleife
DE3300260C2 (de)
DE60204597T2 (de) Kompakter automatischer tester (ate) mit zeitstempel-system
DE10235739B4 (de) Register, das auf einem Speichermodul montiert ist sowie Verwendung eines Registers in einem Speichermodul
DE112005001517B4 (de) Synchronisation zwischen Niedrigfrequenz- und Hochfrequenzdigitalsignalen
DE602005002931T2 (de) Prüfung eines Testobjekts mit Abtastung vom Taktsignal und vom Datensignal
DE69028253T2 (de) Mikrocomputersystem mit Mikroprozessor-Rücksetzschaltung
DE102007021617A1 (de) Signalverarbeitungsschaltung
DE10210904A1 (de) Speichermodul, zugehöriges Speichersystem und Taktsignalerzeugungsverfahren
DE68922984T2 (de) Programmierbare Zeitsteuerung der Datenübertragung.
DE19914986A1 (de) Vorrichtung zum Verzögern eines Taktsignals
EP1315337B1 (de) Bus-Interface
DE60015720T2 (de) Verfahren und Anordnung zum Arbitrieren des Zugriffes eines Zeitmutiplex-verteilten Speichers von mehreren Prozessoren in einem Echtzeitsystem
DE19741915A1 (de) Zwischenspeicheroptimierung in Hardware-Logikemulations-Systemen
DE10312260A1 (de) Verzögerungsregelschleife, die einen Kantendetektor und eine feste Verzögerung aufweist
DE3788783T2 (de) Multiplexer für Taktsignale.
DE19581595C2 (de) Signalübertragungsvorrichtung mit mehreren LSIs
DE102004014201A1 (de) Steuerungsanordnung für einen programmierbaren Taktsynchronisierer
DE10310065A1 (de) Verfahren und Vorrichtung für eine Verzögerungsverriegelungsschleife
DE10110567B4 (de) Datenverarbeitungssystem mit einstellbaren Takten für unterteilte synchrone Schnittstellen
EP1721407A1 (de) Schnittstellenvorrichtung und verfahren zur synchronisation von daten
DE4233947C2 (de) Ausgangsschaltung für eine integrierte Halbleiterschaltung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7