DE4390991B4 - Verfahren und Schaltungsanordnung zum Minimieren des Takt-Daten-Offset in einemBussystem - Google Patents

Verfahren und Schaltungsanordnung zum Minimieren des Takt-Daten-Offset in einemBussystem Download PDF

Info

Publication number
DE4390991B4
DE4390991B4 DE4390991A DE4390991A DE4390991B4 DE 4390991 B4 DE4390991 B4 DE 4390991B4 DE 4390991 A DE4390991 A DE 4390991A DE 4390991 A DE4390991 A DE 4390991A DE 4390991 B4 DE4390991 B4 DE 4390991B4
Authority
DE
Germany
Prior art keywords
clock
data
bus
clock signal
tclk
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
DE4390991A
Other languages
English (en)
Other versions
DE4390991T1 (de
Inventor
James Anthony Mountain View Gasbarro
Mark Alan Palo Alto Horowitz
Richard Maurice Palo Alto Barth
Winston South San Francisco Lee
Wingyu Cupertino Leung
Paul Michael Portola Valley Farmwald
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.)
Rambus Inc
Original Assignee
Rambus Inc
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 Rambus Inc filed Critical Rambus Inc
Priority claimed from PCT/US1993/001726 external-priority patent/WO1993018463A1/en
Application granted granted Critical
Publication of DE4390991B4 publication Critical patent/DE4390991B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • 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
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

Synchrones Bussystem (100), mit einem Bus (120), ersten und zweiten Taktleitungen (136, 138), die sich entlang des Busses (120) erstrecken, einem mit dem Bus (120) gekoppelten Master-Gerät (102), und Slave-Geräten (104, 106, 108, 110), die mit dem Bus (120) und mit den ersten und zweiten Taktleitungen (136, 138) gekoppelt sind, wobei jedes Slave-Gerät (104, 106, 108, 110) eine Schaltung zum selektiven Verzögern oder Nicht-Verzögern einer Datenübertragung zu dem Master-Gerät (102) aufweist, wenn eine Phasendifferenz zwischen einem Taktsignal und einer verzögerten Version des Taktsignals einen Schwellwert überschreiten, wobei sich das Taktsignal auf der ersten Taktleitung (136) und die verzögerte Version des Taktsignals auf der zweiten Taktleitung (138) ausbreitet.

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft synchrone Bussysteme. Insbesondere betrifft die vorliegende Erfindung ein Bussystem zum Minimieren der Takt-Daten-Schieflage (clock-data skew), um Fehler zu vermeiden, wobei die Datenübertragung in Abhängigkeit von einem passierenden Taktsignal synchronisiert wird.
  • HINTERGRUND DER ERFINDUNG
  • Computersysteme verwenden üblicherweise ein Bussystem. Verschiedene Geräte sind typischer mit einem Datenbus gekoppelt. Einige bekannte Bussysteme arbeiten synchron, d.h. verwenden ein Taktsignal, um ihre Datensignale zu validisieren. In synchronen Bussystemen kann ein Takt-Daten-Offset von Bedeutung sein, da ein solcher Offset das Takten von gültigen Daten verhindern kann. Deshalb kann ein Takt-Daten-Offset zu Datenfehlern führen. Ein Takt-Daten-Offset resultiert aus der Differenz zwischen der Datensignalausbreitungsverzögerung und der Taktsignalausbreitungsverzögerung.
  • Bei bestimmten bekannten synchronen Bussystemen mit hinreichend kurzem Bus und hinreichend kurzer Taktleitungslänge hat ein Takt-Daten-Offset vielleicht keine Bedeutung, da die Takt- und Datensignale nur eine kurze Entfernung zurücklegen müssen und fast instantan ankommen. In einem synchronen Bussystem mit einem langen Datenbus und einer langen Taktleitung ist ein Takt-Daten-Offset oft von Bedeutung, vor allem jedoch, wenn hohe Taktgeschwindigkeiten gewünscht werden. In vielen bekannten synchronen Bussystemen muss die Taktperiodendauer die Taktsignalausbreitungsverzögerung überschreiten. Anders gesagt, die Taktgeschwindigkeit muss im Allgemeinen verringert werden, wenn die Taktleitungslänge steigt. Diese bekannte Beziehung wird durch Ausdruck 1 wiedergegeben: Taktperiode > Einschwingzeit des Daten-zu-Takt-Signals + Haltezeit des Daten-zu-Takt-Signals + Takt-Daten-Schieflage (1)
  • Ein bekanntes Schema zum Verringern eines Takt-Daten-Offset-Fehlers ist in 1 gezeigt. Anstelle einer einzigen Taktquelle werden mehrere Taktquellen verwendet. D.h., viele abgestimmte Taktleitungen sind mit einem einzelnen Taktgenerator gekoppelt. Die Taktleitungen sind so abgestimmt, dass ein Taktsignal trotz langer Taktleitungslängen an jedem Gerät im Wesentlichen zu dem gleichen Zeitpunkt ankommt. Auf diese Weise muss das gezeigte Bussystem mit einer Taktperiode arbeiten, die größer oder gleich der Datenausbreitungsverzögerung des Busses plus der Takt-zu-Daten-Offset plus der Takt-zu-Daten-Haltezeit sein.
  • Ein Nachteil des Bussystems gemäß 1 ist jedoch die relative Komplexität des Bussystems. Für jedes getaktete Gerät wird eine Taktleitung benötigt und jede Taktleitung muss üblicherweise sorgfältig abgestimmt werden, um das gleichzeitige Takten aller Geräte sicherzustellen. Ein anderer Nachteil des Bussystems gemäß 1 ist, dass die Taktperiode durch die Ausbreitungsverzögerung des Datenbusses begrenzt wird.
  • 2 veranschaulicht ein anderes bekanntes synchrones Bussystemschema, das einen langen Datenbus verwendet. Das Master-Gerät erzeugt zwei Taktsignale – nämlich einen Empfangstakt, RCLK, und einen Sendetakt, TCLK. In Verbindung mit geeigneten Rahmensteuersignalen wird der Empfangstakt zum Takten sowohl der Übertragung von Daten durch Slave-Geräte als auch des Empfangs von Daten durch das Master-Gerät verwendet. Das Bussystem gemäß 2 entkoppelt auf diese Weise die Taktperiode von der Ausbreitungsverzögerung des Datenbusses. Ein Nachteil des Bussystemschemas gemäß 2 ist, dass zusätzlich zu Steuersignalen zwei Taktquellen (anstelle einer einzigen Taktquelle) benötigt werden. Ein weiterer Nachteil ist, dass das Bussystem gemäß 2 nur ein Master-Gerät zulässt.
  • Die Aufgabe der vorliegenden Erfindung ist es, ein synchrones Bussystem zur Verfügung zu stellen, in dem der Takt-Daten-Offset verringert oder beseitigt wird.
  • Es wird ein Bussystem beschrieben, das eine Topologie aufweist, die den Takt-Daten-Offset minimiert. Das Bussystem enthält einen Datenbus, zwei Taktleitungen und Mittel zum Senden eines Datensignals an den Datenbus. Jede Taktleitung erstreckt sich über die gesamte Länge des Datenbusses. Die Taktleitungen sind an einem Ende des Datenbusses mit einem Umkehrelement (turnaround) verbunden. Die Geräte in dem Bussystem verwenden eine Taktleitung als Empfangstakt und die andere Taktleitung als Sendetakt. Es sind Mittel vorgesehen, die ein Datensignal derart auf den Datenbus senden, dass sich das Datensignal auf dem Datenbus mit einer konstanten Phasenrelation in Bezug auf das Taktsignal ausbreitet. Das Ergebnis der Bustopologie ist, dass ein auf den Datenbus gesendetes Datensignal sich zeitgleich in die gleiche Richtung ausbreitet wie das zum Empfang der Daten verwendete Taktsignal.
  • Das Bussystem verwendet eine Synchronisierschaltung, um ein Datensignal derart zu dem Datenbus zu senden, dass sich das Datensignal auf dem Datenbus mit einer konstanten Phasenbeziehung in Bezug auf das Taktsignal ausbreitet. Die Synchronisierschaltung synchronisiert Daten mit dem Sendetakt des speziellen Gerätes. Die Synchronisierschaltung enthält einen Phasenkomparator, der ein Auswahlsignal erzeugt, indem er den Empfangstakt mit dem Sendetakt vergleicht. Ein Multiplexer verwendet das Auswahlsignal, um zwischen verzögerten und unverzögerten Versionen eines Datensignals auszuwählen, das mit dem Empfangstakt ausgerichtet ist. Der Multiplexerausgang ist mit dem Eingang einer Latch-Schaltung gekoppelt, deren Freigabe-Eingang mit dem Sendetakt gekoppelt ist. Die Latch-Schaltung gibt auf diese Weise Datenaus, die mit dem Sendetakt des speziellen Gerätes synchronisiert sind.
  • Andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden anhand der zugehörigen Zeichnungen und der folgenden detaillierten Beschreibung deutlich.
  • Die vorliegende Erfindung ist beispielhaft und nicht im Sinne einer Beschränkung in den Figuren der zugehörigen Zeichnungen dargestellt, in denen gleiche Bezugszeichen ähnliche Elemente kennzeichnen und in denen:
  • 1 ein Blockschaltbild eines bekannten Bussystems ist.
  • 2 ist ein Blockschaltbild eines anderen bekannten Bussystems.
  • 3 ist ein Blockschaltbild eines Taktverteilungssystems.
  • 4A zeigt Beispiele von Taktsignalformen für ein Gerät, das in der Nähe des Umkehrelements der Taktleitung angeordnet ist.
  • 4B zeigt Beispiele von Taktsignalimpulsformen für ein Gerät, das in der Mitte der Taktleitung angeordnet ist.
  • 4C zeigt Beispiele der Taktsignalimpulsformen für ein Gerät, das relativ weit entfernt von dem Umkehrelement angeordnet ist.
  • 5 ist ein Blockschaltbild der Synchronisierschaltung.
  • 6 ist eine schematische Darstellung der Synchronisierschaltung.
  • 7A ist ein Zeitablaufdiagramm für eine in der Nähe des Umkehrelements angeordnete Synchronisierschaltung.
  • 7B ist ein Zeitablaufdiagramm für eine in der Nähe der Mitte der Taktleitung angeordnete Synchronisierschaltung.
  • 7C ist ein Zeitablaufdiagramm für eine relativ weit von dem Umkehrelement entfernt angeordnete Synchronisierschaltung.
  • 8 ist ein Blockschaltbild eines anderen Synchronisierschemas.
  • DETAILLIERTE BESCHREIBUNG
  • 3 zeigt in Form eines Blockschaltbildes ein bevorzugtes synchrones Bussystem 100. Wie im Folgenden detaillierter beschrieben wird, verringert oder beseitigt das Bussystem 100 einen Takt-Daten-Offset. Dazu verwendet das Bussystem 100 ein Taktverteilungssystem zusammen mit einer Synchronisierschaltung in jedem Gerät.
  • Das Taktverteilungssystem enthält zwei Taktleitungen. Eine Leitung erstreckt sich von einem Ende des Datenbusses bis zu einem Umkehrpunkt in der Nähe des zweiten Endes des Datenbusses. Die andere Leitung erstreckt sich von dem Umkehrpunkt zurück zu dem zweiten Ende des Datenbusses. Diese Topologie stellt sicher, dass von einem Gerät auf den Datenbus gesendete Datensignale zeitgleich in die gleiche Richtung laufen, wie das von einem zweiten Gerät zum Empfangen von Daten verwendete Taktsignal.
  • Die Synchronisierschaltung des Bussystems 100 ermöglicht auf diese Weise, dass Daten im Wesentlichen zu dem Zeitpunkt übertragen werden, zu dem der Sendetakt ankommt, so dass Takt- und Datensignale sich gemeinsam ausbreiten. In anderen Worten, die Synchronisierschaltung sendet ein spezielles Datensignal an den Datenbus, so dass sich das Datensignal auf dem Datenbus mit einer konstanten Phasenbeziehung in Bezug auf das Taktsignal ausbreitet. Dies dient zum Minimieren des Takt-Daten-Offset, was wiederum zum Verringern oder Beseitigen von durch Takt-Daten-Offsets verursachten Fehlern beiträgt.
  • Das synchrone Hochgeschwindigkeitsbussystem 100 enthält ein Master-Gerät 102 und Slave-Geräte 104, 106, 108 und 110. Das Master-Gerät 102 ist mit den Slave-Geräten 104, 106, 108 und 110 über den Datenbus 120 gekoppelt. Das Master-Gerät 102 ist vorzugsweise in der Nähe des Umkehrelements der Taktleitungen angeordnet.
  • Die Begriffe "Master" und "Slave" unterscheiden sich, wie sie hier verwendet werden, von ihren konventionellen Bedeutungen. In dem Bussystem 100 ist ein Master ein Gerät, das sowohl mit anderen Mastern als auch mit Slaves kommunizieren kann, und das in der Nähe des Richtungsumkehrelementes der Taktleitung angeordnet ist. Im Gegensatz dazu können Slaves nur mit anderen Mastern kommunizieren und können irgendwo entlang dem Datenbus 120 angeordnet sein.
  • In einem Ausführungsform ist Master 102 ein Mikroprozessor. Bei einer anderen Ausführungsform ist das Master-Gerät 102 ein Peripherie-Steuergerät.
  • In einer Ausführungsform sind Slave-Geräte 104, 106, 108 und 110 Hochgeschwindigkeitsspeicher. Beispielsweise können Slave-Geräte 104, 106, 108 und 110 DRAMs sein. In einer anderen Ausführungsform sind Slave-Geräte 104, 106, 108 und 110 Bus-Sende-Empfänger. In einer anderen Ausführungsform sind die Slave-Geräte 104, 106, 108 und 110 Peripheriegeräte. In einer anderen Ausführungsform arbeiten die Slave-Geräte 104, 106, 108 und 110 als Eingangs/Ausgangs-("I/O")Ports.
  • Das synchrone Bussystem 100 kann viele Slave-Geräte enthalten, auch wenn nur vier in 3 dargestellt sind. Alternativ kann das synchrone Kommunikationssystem 100 viele Master enthalten. Bei diesen mehrere Master enthaltenden Ausführungsformen sollten die Master-Geräte nahe beieinander in der Nähe des Umkehrpunktes der Taktleitung angeordnet sein, um eine schnelle Kommunikation zu erleichtern.
  • Master-Gerät 102 beginnt einen Datenaustausch, indem er ein Zugriffsanforderungspaket sendet. Jedes Slave-Gerät von den Geräten 104, 106, 108 und 110 dekodiert das Zugriffsanforderungspaket und bestimmt, ob es das gewählte Slave-Gerät ist, und die angeforderte Zugriffsart. Das ausgewählte Slave-Gerät antwortet dann entsprechend, indem es ein Datenpaket auf Pipelineart entweder liest oder schreibt.
  • Das synchrone Bussystem 100 verwendet vorzugsweise ein Protokoll fester Latenz, um Daten über den Datenbus 120 auszutauschen. Ein Protokoll mit fester Latenz erfordert, dass eine festgelegte Anzahl von Taktzyklen zwischen einer Datenanforderung durch das Master-Gerät 100 und das Takten des ersten Datenbytes durch das Master-Gerät 102 liegt, unabhängig davon, welches Slave-Gerät die Daten überträgt. Ein Protokoll mit fester Latenz verlangt, dass auch übertragene Steuerinformationen die feste Latenz verwenden.
  • Der Datenbus 120 stellt eine sehr schnelle zweiseitig gerichtete Verbindung zwischen dem Master-Gerät 102 und den Slave-Geräten 104, 106, 108 und 110 zur Verfügung. Der Datenbus 120 arbeitet vorzugsweise bei 250 Megahertz ("MHz") mit Dualflankenübertragung. Mit anderen Worten, Übertragungen können ungefähr alle zwei Nanosekunden stattfinden. Die Ende-zu-Ende-Signalausbreitungsverzögerung des Datenbusses 120 ist signifikant im Vergleich zu der Taktperiode. Tatsächlich ist in einer Ausführungsform des synchronen Kommunikationssystems 100 die Ende-zu-Ende-Ausbreitungsverzögerung des Datenbusses 120 ungefähr die Hälfte der Taktperiode, die ungefähr vier Nanosekunden beträgt. Diese Datensignalausbreitungsverzögerung kann einen inakzeptablen Takt-Daten-Offset bei manchen bekannten synchronen Systemen einführen.
  • Die mit dem Datenbus 120 gekoppelten Geräte müssen eine Eingangsschaltung mit einer sehr niedrigen Latenz zum Empfangen von Daten und zum Empfangen von Taktsignalen enthalten. Beispielsweise stellen eine Phasenverriegelungsschleife (PLL), eine Verzögerungsverriegelungsschleife oder eine Taktkompensationsschaltung eine akzeptable niedrige Latenz zur Verfügung.
  • Taktverteilungssystem 130 trägt zum Beseitigen von Takt-Daten-Offsets bei, indem es die Takt- und Datensignale veranlasst, sich in die gleiche Richtung auszubreiten. Taktverteilungssystem 130 enthält einen Taktgeber 132 und eine Taktleitung 134. Der Taktgeber 132 liegt extern und ist unabhängig von den Geräten 102, 104, 106, 108 und 110. Da die Takterzeugung unabhängig ist, ist das Bussystem 100 für mehrere Master geeignet. Der Taktgeber 132 ist mit einem Ende der Taktleitung 134 derart gekoppelt, daß sich das Taktsignal nur in eine Richtung, vom Taktgeber 132 zum entgegengesetzten Ende der Taktleitung 134, ausbreitet. Die Taktleitung 134 trägt das Taktsignal zu allen Geräten in dem Bussystem 100. Die Taktleitung 134 ist lang, fast doppelt so lang wie die Länge des Datenbusses 120, und läuft zurück oder kehrt um in der Nähe eines Endes des Datenbusses. Auf diese Weise kann man sich die Taktleitung 134 als aus zwei Taktleitungssegmenten bestehend denken. Ein Segment 136 erstreckt sich von einem Ende des Datenbusses 120 zu dem Umkehrpunkt 137, der sich an dem anderen Ende des Datenbusses 120 befindet. Das andere Segment, Segment 138, erstreckt sich von dem Umkehrpunkt 137 zurück zu dem entgegengesetzten Ende des Datenbusses 120.
  • In dem bevorzugten Ausführungsbeispiel ist die Ausbreitungsverzögerung jedes der Taktleitungssegmente 136 und 138 im wesentlichen gleich der Ausbreitungsverzögerung des Datenbusses 120. Das Taktsignal auf dem Segment 136 läuft von dem Taktgeber 132 zu dem Master-Gerät 102. Aus diesem Grund wird das Taktsignal auf dem Segment 136 CLOCKTOMASTER (TAKTZUMMASTER) genannt. CLOCKTOMASTER läuft in der gleichen Richtung wie von den Slave-Geräten 104, 106, 108 und 110 an das Master-Gerät 102 über den Datenbus 120 gesendeten Datensignale. Die Sendetakteingänge der Slave-Geräte 104, 106, 108 und 110 sind mit CLOCKTOMASTER gekoppelt. In 3 ist dies durch die Verbindung der Slave-Geräte-Sendetakteingänge TCLK1, TCLK2, TCLK3 mit dem Segment 136 gezeigt. Master-Gerät 102 verwendet das Taktsignal auf Segment 136, um Datensignale auf dem Datenbus 120 zu empfangen. Auf diese Weise ist der Empfangstakteingang, RCLKO des Master-Gerätes 102 mit Segment 136 gekoppelt. Der Umkehrpunkt 137 veranlaßt das Taktsignal auf Segment 138, die Richtung zu ändern und sich in Richtung des entgegengesetzten Endes des Datenbusses auszubreiten. Das ist die gleiche Richtung, in der Datensignale von dem Mastergerät 102 zu den Slave-Geräten 104, 106, 108 und 110 laufen. Aus diesem Grund verwendet das Master-Gerät 102 dieses Signal, genannt CLOCKFROMMASTER (TAKTVOMMASTER), wenn es den Takt TCLKO überträgt. Auf symmetrische Weise verwenden die Slave-Geräte 104, 106, 108 und 110 den CLOCKFROMMASTER als Empfangstakteingangssignale. Datensignale vom Master-Gerät laufen zu den Slave-Geräten in der gleichen Richtung wie das aktive CLOCKFROMMASTER-Signal auf Segment 138.
  • Es genügt jedoch nicht, die Takt- und Datensignale in die gleiche Richtung laufen zu lassen, um die Takt-Daten-Verschiebung zu beseitigen. Die Länge der Taktleitung 134 ist derart, daß aktive Taktimpulse nicht jedes Gerät 102, 104, 106, 108 und 110 gleichzeitig erreichen. Deshalb muß jedes Gerät 102, 104, 106, 108 und 110 Datensignale auf den Datenbus 120 genau in dem Moment senden, wenn sein aktives Sendetaktsignal vorbeiläuft. Das ist analog zum Surfen, wobei der Surfer sich umschaut und den Kamm der Welle erwartet, um ihn zu ergreifen und mit ihm fahren zu können. Das Synchronisierproblem, dem die Geräte 102, 104, 106, 108 und 110 gegenüberstehen, ist jedoch komplizierter als Surfen, da jedes Gerät Daten mit einem Empfangstakt empfängt und mit einem getrennten Sendetakt Daten überträgt.
  • In dem Taktverteilungssystem 130 haben der Sendetakt und der Empfangstakt immer die gleiche Frequenz, da nur eine Taktquelle verwendet wird. Bei einer gegebenen Position eines Gerätes in bezug auf den Umkehrpunkt 137 variiert jedoch die Phase zwischen CLOCKFROMMASTER und CLOCKTOMASTER. 4A, 4B und 4C zeigen diese Phasendifferenz zwischen CLOCKFROMMASTER und CLOCKTOMASTER für ein Ausführungsbeispiel des Bussystems 100, in welchem die Ausbreitungsverzögerung des Datenbusses 120 ungefähr gleich einer Taktperiode ist. Der genaue Betrag der Phasenverschiebung variiert natürlich, wenn die Taktperiode und die Datenbuslänge variieren.
  • 4A zeigt den zeitlichen Verlauf der Taktsignale für ein Slave-Gerät 104, das sehr nahe dem Umkehrpunkt 137 angeordnet ist. An dieser Stelle ist die Phasendifferenz zwischen CLOCKFROMMASTER/RCLK1 160 und CLOCKTOMASTER/TCLK2 16 fast 0°.
  • 4B zeigt den zeitlichen Verlauf des Empfangstakts RCLK2 160 und TCLK2 162 für ein Slave-Gerät 106, das ungefähr eine halbe Länge des Datenbusses 120 entfernt von dem Umkehrpunkt 137 angeordnet ist. An dieser Stelle beträgt die Phasendifferenz zwischen CLOCKFROMMASTER/RCLK2 160 und CLOCKTOMASTER/TCLK2 162 ungefähr 180°.
  • 4C zeigt den zeitlichen Verlauf der Signale für das Slave-Gerät 110. Weit entfernt von dem Umkehrpunkt 137 beträgt die Phasendifferenz zwischen CLOCKFROMMASTER/RCLK3 160 und CLOCKTOMASTER/TCLK3 ungefähr 360°.
  • Diese von jedem Gerät in dem Bussystem 100 erfahrene Phasendifferenz verlangt die Verwendung von identischen Geräten in dem Systembus 100. Um diesem Wunsch zu genügen, wird eine identische Schaltung benötigt, die einer variablen Phasendifferenz zwischen den Geräteempfangs- und -sendetakten Rechnung trägt.
  • 5 zeigt in Form eines Blockschaltbildes die Synchronisierschaltung 150, die unterschiedliche Phasendifferenzen kompensiert. Die Synchronisierschaltung 150 ist in jedem Gerät 102, 104, 106, 108 und 110 enthalten. Kurz gesagt synchronisiert die Synchronisierschaltung 150 mit einem Empfangstakt ausgerichtete Datensignale mit dem Sendetakt. Synchronisierschaltung 150 stellt auf diese Weise sicher, daß von einem Gerät auf den Datenbus gesendete Datensignale zeitgleich mit dem von einem anderen Gerät zum Datenempfang verwendeten Taktsignal laufen.
  • Synchronisierschaltung 150 enthält einen Phasenkomparator 152, ein Verzögerungselement 154, einen Zwei-zu-Eins(2:1)-Multiplexer 156 und eine Latch-Schaltung 158. Der Phasenkomparator 152 vergleicht ein Empfangstakt-Eingangssignal RLK 160 mit einem Sendetakt-Eingangssignal TCLK 162, um die relative Phase zwischen den zwei Signalen zu bestimmen. Bei den Slave-Geräten 104, 106, 108 und 110 ist CLOCKFROMMASTER mit dem Eingang RCLK 160 und CLOCKTOMASTER mit dem Eingang TCLK 162 gekoppelt.
  • Das Ausgangssignal vom Phasenkomparator 152, SKIP 164, gibt die relative Phase zwischen den zwei Eingangssignalen 160 und 162 wieder. SKIP 164 ist niedrig für Slave-Geräte in der Nähe des Umkehrpunktes 137 und hoch für weit vom Umkehrpunkt 137 entfernte Slave-Geräte. In der Mitte des Datenbusses 120 ist der Pegel von SKIP 164 unbestimmt, aber das ist, wie später erläutert wird, nicht wichtig.
  • SKIP 164 wählt aus, welches der zwei Eingangssignale des Multiplexers 156 an die Latch-Schaltung 158 ausgegeben wird. Ein Eingangssignal des Multiplexers 156 sind unverzögerte Empfangsdaten 155. Das zweite Eingangssignal des Multiplexers 156 ist eine verzögerte Version der Empfangsdaten 155, DELAYED RECEIVED DATA 157. DELAYED RECEIVED DATA 157 wird vom Verzögerungselement 154 erzeugt. Für von dem Umkehrpunkt 137 weit entfernte Slave-Geräte wird keine Verzögerung benötigt und SKIP 164 wählt UNDELAYED RECEIVED DATA 157. An dem entgegengesetzen Ende des Systems 100, in der Nähe des Umkehrpunktes 137 wählt SKIP 164 DELAYED RECEIVED DATA 157, um die geringe Ausbreitungsverzögerung für diese Geräte zu kompensieren.
  • Latch-Schaltung 158 erfaßt das Ausgangssignal des Multiplexers 156 und synchronisiert die Daten mit TCLK 162.
  • Zusätzliche Stufen 163, die mit dem Sendetakt des Gerätes synchronisiert sind, können nach der Latch-Schaltung 158 vor dem Einkoppeln der Daten auf den Datenbus 120 eingefügt werden.
  • 6 ist eine schematische Darstellung der Synchronisierschaltung 150. Aus Gründen der Übersichtlichkeit ist die Synchronisierschaltung für ein einzelnes Datenbit dargestellt. Die Synchronisation für ein ganzes Datenwort wird einfach durch parallele Verwendung einer Anzahl von Verzögerungselementen 154, 2:1-Multiplexern und Latch-Schaltungen 158 erzielt. Es ist nur ein Phasenkomparator 152 pro Slave-Gerät notwendig.
  • Die Synchronisierschaltung 150 unterscheidet sich geringfügig von der anhand von 5 beschriebenen. Dies stellt sicher, daß Empfangsdaten auf dem Übergang des Sendetakt des Gerätes zentriert sind. Anders gesagt, die Synchronisierschaltung 150 stellt sicher, daß von einem ersten Gerät an den Bus angelegte Daten ungefähr beim Übergang des Empfangstaktes eines zweiten Gerätes zentriert werden. Dazu werden Daten mit einer vorangeschrittenen Version des TCLK 162, TCLK+90° 166 synchronisiert. TCLK+90° 166 wird aus TCLK 162 unter Verwendung einer Phasenverriegelungschleife erzeugt, die ebenfalls in jedem Gerät 102, 104, 106, 108 und 110 enthalten ist. Die Phasenverriegelungsschleife erzeugt auch ein Komplement zu TCLK+90° 166, TCLK+90°B 167, wobei "B" für Querbalken (Bar) bzw. das Komplement steht.
  • In der Synchronisierschaltung 150 weist Phasenkomparator 152 zwei flankengetriggerte D-Flip-Flops 168 und 170 auf. D-Flip-Flop 168 tastet TCLK 162 auf der fallenden Flanke des RCLKD 161 ab. RCLKD 161 ist eine geringfügig verzögerte Version des RCLK 160. Diese geringe Verzögerung spannt den Zeitablauf des D-Flip-Flops 168 vor, um sicherzustellen, daß sein Ausgangssignal niedrig ist für Geräte in der Nähe des Umkehrpunktes 137, d.h. wenn CLOCKTOMASTER und CLOCKFROMMASTER in Phase sind.
  • Das Ausgangssignal 180 des D-Flip-Flops 168 ist hoch für Geräte, die weit von dem Umkehrpunkt 137 entfernt sind und niedrig für Geräte in der Nähe des Umkehrpunktes 137. Für Geräte in der Nähe der Mitte des Datenbusses 120 ist das Ausgangssignal 180 unbestimmt und kann sogar metastabil sein. D-Flip-Flop 170 tastet das Ausgangssignal 180 ab und garantiert, daß SKIP 164 sich auf den richtigen Wert einschwingt. D-Flip-Flop 170 tastet das Ausgangssignal 180 unter Verwendung eines Signals ab, das den Start eines Paketes anzeigt, PKTSTART 182. Jedes Slave-Gerät erzeugt sein eigenes PKTSTART 182, wenn es feststellt, daß das Master-Gerät 102 Zugriffe zu diesem Slave angefordert hat. Es gibt genügend Zeit zwischen der abfallenden Flanke des PKTSTART 182 und dem Zeitpunkt, zu dem SKIP 164 üblicherweise ordentlich auf einen Wert eingeschwungen ist. Wie später erörtert wird, ist es in der Mitte des Datenbusses 120 nicht wichtig, ob SKIP 164 sich hoch oder niedrig einstellt, da der Zeitablauf am Master-Gerät 102 in beiden Fällen akzeptabel ist.
  • In der Synchronisierschaltung 150 entspricht Latch-Schaltung 186 dem Verzögerungselement 154. Latch-Schaltung 184 erfaßt die zu übertragenden Daten RDATA 187 unter Verwendung von RCLK 160 als Freigabe-Eingangssignal. Latch-Schaltung 186 erfaßt das Ausgangssignal der Latch-Schaltung 184, RDE 188, und verzögert es um einen halben Taktzyklus unter Verwendung von RCLKB 189. RCLKB 189 ist das Komplement von RCLK 160.
  • Wenn sich die Phasendifferenz zwischen RCLK 160 und TCLK 162 Null nähert, ist es schwierig, durch RCLK 160 getaktete Daten mit TCLK 162 zu synchronisieren, da beide Taktsignale simultan ihren Zustand ändern. Latch-Schaltung 186 hilft dieses Problem zu vermindern, indem das Takten der Daten von RCLK 160 auf RCLKB 189 geändert wird.
  • Die Eingänge des Multiplexers 156 sind mit RDO 190 und RDE 188 beaufschlagt. SKIP 164 wählt zwischen den zwei Multiplexer-Eingängen.
  • Latch-Schaltungen 200 und 202 entsprechen im allgemeinen der Latch-Schaltung 158. Zwei Latch-Schaltungen werden verwendet, um Daten zwischen RCLK- und TCLK-Bereichen bzw. -Domänen zu übertragen, und dabei mögliche Zeitprobleme zu vermeiden.
  • Das von dem Master-Gerät 102 empfangene Datensignal wird nach Ausbreitung über den Bus 120 TDATA 204 genannt. TDATA 204 ist eine zeitverzögerte Version von TDO 203. Der Betrag der Verzögerung hängt von der von zusätzlichen Stufen 163 verursachten Verzögerung und der Signalausbreitungsverzögerung zwischen dem Master-Gerät 102 und jedem Slave-Gerät ab.
  • 7A, 7B und 7C zeigen die Arbeitsweise der Synchronisierschaltung 150 an drei verschiedenen Stellen in Bezug auf den Umkehrpunkt 137. Unabhängig von dem Daten sendenden Gerät werden die Daten an den Übergängen des Sendetaktes des sendenden Gerätes, zum Beispiel CLOCKTOMASTER für Slave-Geräte 104, 106, 108 und 110, zentriert. In anderen Worten, jeder Slave 104, 106, 108 und 110 überträgt Daten, die um Übergänge in dem Master-Empfangstaktsignal zentriert sind. Auf diese Weise taktet der Master 102 immer bei gültigen Daten.
  • Bestimmte Notationen und Konventionen werden in den 7A, 7B und 7C verwendet. Die Synchronisierschaltungssignale in diesen drei Geräten werden durch numerische Indizes voneinander unterschieden. Beispielsweise wird SKIP 164 bei dem Slave-Gerät 104 als SKIP1 und bei dem Slave-Gerät 108 als SKIP3 bezeichnet. Die Signale RCLKD1, RCLKD2 und RCLKD3 sind nicht durch separate Impulssignalformen dargestellt. Die abfallenden Flanken dieser Signale sind mit gestrichelten Linien auf den Impulssignalformen des RCLK1, RCLK2 und RCLK3 dargestellt. Die Impulssignalformen für RDE 188, RDO 190, TDE 201, TDO 203 und TDATA 204 geben nur an, wenn diese Signale gültig oder ungültig sind, aber nicht deren Werte. Perioden, in denen diese Signale ungültig sind, sind mit mehreren "X" gekennzeichnet. Üblicherweise ist ein Signal ungültig, wenn eines der Signale aus dem es erzeugt wird, seinen Zustand ändert.
  • 7A zeigt den Zeitablauf für das Slave-Gerät 104, das in der Nähe des Umkehrpunktes 137 liegt. TCLK1 162 ist niedrig zu der Zeit, wenn RCLKD1 abfällt; somit ist SKIP1 164 niedrig. Der Multiplexer 156 antwortet auf SKIP1 164, indem er RDO1 190 mit der Latch-Schaltung 200 koppelt. Nach dem Konvertieren der Daten von dem Empfangstaktbereich auf den Sendetaktbereich gibt die Latch-Schaltung 202 TDO1 aus. Da es virtuell keine Signalausbreitungsverzögerung zwischen dem Slave-Gerät 104 und dem Master-Gerät 102 gibt, sind die Impulssignalformen für TDO1 203 und TDATA1 204 die gleichen. Wie zu sehen ist, ist TDATA1 204 immer auf den Übergang von RCLK0 162 zentriert. Das ist für einen Fall durch die vertikale Linie 212 gekennzeichnet, die mit einem Übergang des RCLK0 162 ausgerichtet ist und TDATA1 204 schneidet.
  • Vor der Erörterung des Zeitverlaufs in der Nähe der Mitte des Datenbusses 120 sei der einfachere Fall des Zeitablaufs weit entfernt von dem Richtungsumkehrpunkt 137 betrachtet. Dieser Fall ist in 7C dargestellt. Am Ende des Datenbusses 120 ist TCLK3 162 noch hoch, wenn RCLKD3 161 abfällt, deshalb ist SKIP3 164 hoch. Der Multiplexer 156 antwortet auf SKIP3 164 indem er RDE3 188 mit der Latch-Schaltung 200 koppelt. Nach dem Konvertieren der Daten von dem Empfangstaktbereich auf den Sendetaktbereich gibt die Latch-Schaltung 202 TDO3 203 aus. TDATA3 204 ist immer auf dem RCLK0 162 Übergang zentriert. Dies ist für einen Fall durch die vertikale Linie 212 gezeigt, die mit einem Übergang des RCLK0 162 ausgerichtet ist und TDATA3 schneidet.
  • 7B zeigt den Zeitablauf für das Slave-Gerät 106, das sich in der Nähe der Mitte des Datenbusses 120 befindet. Wenn RCLKD2 161 abfällt, kann TCLK2 162 hoch oder niedrig sein, so daß SKIP2 164 hoch oder niedrig sein kann. Das ist in 7B durch zwei Linien für SKIP2 164, einer hohen und einer niedrigen, gezeigt. Folglich kann Multiplexer 156 der Latch-Schaltung 200 entweder RDE2 188 oder RDO2 190 ausgeben. Das Ausgangssignal der Latch-Schaltung 200, TDE2 201 kann seinem Eingangssignal folgen, während TCLK+90°2 166 hoch ist. TDE2 201 ist unbestimmt für eine kurze Periode nach der ansteigenden Flanke des TCLK+90°2 166. TDE2 201 kann für ein Bit länger unbestimmt bleiben, da eines seiner möglichen Eingangssignale RDO2 190 für ein Bit nach dem Öffnen der Latch-Schaltung 200 unbestimmt ist. TDE2 201 stellt sich jedoch ein, bevor TCLK+90°B2 167 auf den hohen Pegel übergeht, unabhängig davon, welches Signal von SKIP2 164 gewählt ist. Als Ergebnis ist das Ausgangssignal der Latch-Schaltung 202, TDO2 203, nur für eine kurze Periode nach der ansteigenden Flanke von TCLK+90°B2 167 unbestimmt. TDO2 203 wird schließlich an den Datenbus 120 angelegt und erreicht das Master-Gerät 102 als TDATA2 204 nach einer gewissen Ausbreitungsverzögerung. TDATA2 204 ist immer auf dem Übergang von RCLK0 162 zentriert. Dies ist für einen Fall durch die vertikale Linie 212 dargestellt, die mit einem Übergang von RCLKO 162 ausgerichtet ist und TDATA3 204 schneidet.
  • Die 7A, 7B und 7C zeigen zusammen auf diese Weise, dass das Bussystem 100 den Takt-Daten-Offset verringert, indem die Takt- und Datensignale zusammenlaufen und zusammen am Master-Gerät 102 ankommen.
  • Bussystem 100 ist außerdem für Protokolle mit fester Latenz geeignet, weil die Daten das Master-Gerät 102 immer zu der gleichen Zeit erreichen, unabhängig von dem die Daten übertragenden Slave-Gerät. In einigen bekannten Bussystemen würde die unterschiedliche Signalausbreitungsverzögerung vom Slave zum Master die Verwendung eines Protokolls mit fester Latenz verhindern.
  • Der Grund, warum unterschiedliche Signalausbreitungsverzögerungen eine Gefahr für ein Protokoll mit fester Latenz darstellen, ist anhand der folgenden Gleichung 2 besser zu verstehen: Latenz = 2·(Master-zu-Slave-Signalausbreitungsverzögerung) + Slave-Zugriffsverzögerung (2).
  • Von den zwei Termen in Gleichung 2 ist im Bussystem 100 nur die Signalausbreitungsverzögerung veränderlich. Die Zugriffsverzögerung ist unter der Annahme, dass sämtliche Geräte gleich sind, für alle Slave-Geräte die gleiche. Im Gegensatz dazu kann die Signalausbreitungsverzögerung im Bussystem 100 in Abhängigkeit von der Anordnung des Gerätes in Bezug auf den Umkehrpunkt und die Länge der Taktleitung unterschiedlich sein. Infolgedessen könnte die Latenz um das Doppelte der Master-zu-Slave-Ausbreitungsverzögerung variieren, wenn die Synchronisierschaltung 150 fehlen würde.
  • 7A, 7B und 7C zeigen, daß die Synchronisierschaltung 150 dazu beiträgt, sicherzustellen, daß das erste Datenbyte bei dem Master-Gerät 102 auf der gleichen ansteigenden Flanke des RCLK0 162 ankommt. Das erste beim Master-Gerät 102 ankommende Datenbyte wird als "A" von TDATA 204 bezeichnet. Der Taktimpuls von RCLK0 162, bei dem Byte A gültig sein sollte, wird mit "X" bezeichnet. Die vertikale Linie 212 ist, wie anhand von 7 zu sehen ist, mit der ansteigenden Flanke des Impulses X ausgerichtet und schneidet das gültige Datenbyte A der TDATA1, TDATA2 und TDATA3.
  • 8 zeigt in Form eines Blockschaltbildes ein anderes Synchronisiersystem 200. System 200 ist für Ausbildungen geeignet, in denen die Anzahl der zu synchronisierenden Bits pro Datenwort groß ist. Eine einzige Instanz der Synchronisierschaltung 150 wird zum Wieder-Ausrichten von mehreren Bits verwendet, indem TLOAD 202 anstelle RDATA 187 mit der Synchronisierschaltung 150 gekoppelt ist. Die Synchronisierschaltung 150 erzeugt ein Steuersignal 206, welches zur Übersetzung der Daten aus dem Empfangstaktbereich in den Sendetaktbereich benötigt wird. Das Steuersignal 206 ist ein gepulstes Signal, das zwei Taktzyklen auftritt, bevor RLOAD 204 aktiv wird. Das Steuersignal 206 wird für einen Taktzyklus aktiv gehalten. Das Steuersignal 206 wird nach diesem einen Zyklus inaktiv gehalten, bis das nächste Datenwort synchronisiert werden muß.
  • Der Betrieb der Synchronisation wird teilweise von TLOAD 202 und RLOAD 204 gesteuert, die beide Empfangstaktbereichssignale sind. TLOAD 202 ist aktiv auf seiner positiv werdenden Flanke, die zwei Taktzyklen vor dem Aktivwerden von RLOAD 204 auftritt. Dies ermöglicht es dem System 200, der Ausbreitungsverzögerung durch die Synchronisierschaltung 150 Rechnung zu tragen. RLOAD 204 wird auf den aktiven hohen Zustand gebracht und für den ganzen ersten Taktzyklus jedes Datenwortes gehalten, das synchronisiert wird. RLOAD 204 wird inaktiv gehalten, bis das nächste Datenwort empfangen wird.
  • Auf diese Weise wurde ein Bussystem beschrieben, das die Takt-Daten-Offset minimiert. Das Bussystem enthält einen Datenbus, eine Taktleitung und eine Synchronisierschaltung. Die Taktleitung hat zwei Taktleitungssegmente. Jedes Taktleitungssegment erstreckt sich über die ganze Länge des Datenbusses und ist durch ein Umkehrelement an einem Ende des Datenbusses mit dem anderen Taktleitungssegment verbunden. Die Taktleitung stellt sicher, dass Takt- und Datensignale in der gleichen Richtung laufen. Die Synchronisierschaltung trägt dazu bei, sicherzustellen, dass Datensignale derart auf den Datenbus gesendet werden, dass diese Datensignale zeitgleich mit dem von einem empfangenden Gerät zum Empfangen der Daten verwendeten Taktsignale laufen.
  • In der vorangegangenen Beschreibung wurde die Erfindung in Bezug auf spezielle beispielhafte Ausführungsformen beschrieben. Es ist jedoch klar, dass verschiedene Modifikationen und Änderungen an diesen vorgenommen werden können, ohne sich von dem weiteren Erfindungsgedanken und Schutzbereich der in den angehängten Ansprüchen dargelegten Erfindung zu entfernen. Die Beschreibung und die Zeichnungen sind entsprechend als Veranschaulichung und nicht als Einschränkung zu verstehen.

Claims (20)

  1. Synchrones Bussystem (100), mit einem Bus (120), ersten und zweiten Taktleitungen (136, 138), die sich entlang des Busses (120) erstrecken, einem mit dem Bus (120) gekoppelten Master-Gerät (102), und Slave-Geräten (104, 106, 108, 110), die mit dem Bus (120) und mit den ersten und zweiten Taktleitungen (136, 138) gekoppelt sind, wobei jedes Slave-Gerät (104, 106, 108, 110) eine Schaltung zum selektiven Verzögern oder Nicht-Verzögern einer Datenübertragung zu dem Master-Gerät (102) aufweist, wenn eine Phasendifferenz zwischen einem Taktsignal und einer verzögerten Version des Taktsignals einen Schwellwert überschreiten, wobei sich das Taktsignal auf der ersten Taktleitung (136) und die verzögerte Version des Taktsignals auf der zweiten Taktleitung (138) ausbreitet.
  2. Synchrones Bussystem nach Anspruch 1, ferner mit eine Takterzeugungsquelle (132), die mit der ersten Taktleitung (136) zum Erzeugen des Taktsignals gekoppelt ist, welches sich auf der ersten Taktleitung (136) ausbreitet.
  3. Synchrones Bussystem nach Anspruch 1 oder 2, wobei sich das Taktsignal auf der ersten Taktleitung (136) in einer ersten Richtung und die verzögerte Versi on des Taktsignals in einer zweiten Richtung auf der zweiten Taktleitung (138) ausbreitet, wobei die erste Richtung entgegengesetzt der zweiten Richtung ist.
  4. Synchrones Bussystem nach Anspruch 2, wobei die ersten und zweiten Taktleitungen (136, 138) miteinander an den jeweiligen ersten Enden gekoppelt sind, und die Takterzeugungsquelle (132) mit einem zweiten Ende der ersten Taktleitung (136) gekoppelt ist.
  5. Synchrones Bussystem nach einem der vorstehenden Ansprüche, wobei die erste und zweite Taktleitung (136, 138) durch ein Umkehrelement (137) verbunden sind.
  6. Synchrones Bussystem nach Anspruch 5, wobei das Umkehrelement (137) durch einen passiven Leiter gebildet wird.
  7. Synchrones Bussystem nach einem der vorstehenden Ansprüche, wobei ein erstes Slave-Gerät der Slave-Geräte (104, 106, 108, 110), eine Takterzeugungsschaltung aufweist, die auf die Übergänge des Taktsignals zum Erzeugen eines internen Taktsignals anspricht, wobei das erste Slave-Gerät zum hinsichtlich des internen Taktsignals synchronen Übertragen der Daten auf dem Bus (120) ausgestaltet ist.
  8. Synchrones Bussystem nach Anspruch 7, wobei die Takterzeugungsschaltung zum Erzeugen des internen Taktsignals derart ausgestaltet ist, dass die Übertragung von Daten zum Bus (120) durch das erste Slave-Gerät im wesentlichen um einen Übergang des Taktsignals zentriert sind.
  9. Synchrones Bussystem nach Anspruch 7 oder 8, wobei die Takterzeugungsschaltung einen Verzögerungsregelkreis (DLL) aufweist.
  10. Synchrones Bussystem nach Anspruch 7 oder 8, wobei die Takterzeugungsschaltung einen Phasenregelkreis (PLL) aufweist.
  11. Synchrones Bussystem nach einem der vorstehenden Ansprüche, wobei mindestens ein zusätzliches mit dem Bus (120) gekoppeltes Master-Gerät (102) vorgesehen sind, und wobei das erste Slave-Gerät ferner zum Übertragen von Daten in Abhängigkeit von einer Anforderung von dem mindestens einen zusätzlichen Master-Gerät (102) ausgestaltet ist.
  12. Synchrones Bussystem nach einem der vorstehenden Ansprüche, wobei eines der Slave-Geräte (104, 106, 108, 110) eine integrierte Speicherschaltung ist.
  13. Synchrones Bussystem nach Anspruch 12, wobei die integrierte Speicherschaltung ein Feld von RAM (Random Acces Memory) Zellen aufweist.
  14. Verfahren zum Takten einer Datenübertragung auf einen Bus (120), welches umfasst, Empfangen von ersten und zweiten Taktsignalen (TCLK, RCLK) von entsprechenden Taktleitungen (136, 138), Bestimmen, ob eine Phasendifferenz zwischen den ersten und zweiten Taktsignalen (TCLK, RCLK) einen Schwellenwert überschreitet, Übertragen von Daten auf den Bus (120) zu einem ersten Zeitpunkt, wenn die Phasendifferenz den Schwellenwert nicht überschreitet, und Übertragen von Daten auf den Bus (120) zu einem zweiten, relativ zu dem ersten Zeitpunkt verzögerten Zeitpunkt, wenn die Phasendifferenz den Schwellenwert überschreitet.
  15. Verfahren nach Anspruch 14, wobei der Schritt des Bestimmens, ob eine Phasendifferenz zwischen den ersten und zweiten Taktsignalen (TCLK, RCLK) einen Schwellenwert überschreitet, eine Abtastung des ersten Taktsignals (TCLK) in Abhängigkeit von einem Übergang des zweiten Taktsignals (RCLK) aufweist, um zu bestimmen, ob das erste Taktsignal (TCLK) einen ersten oder zweiten Zustand aufweist, wobei der Schwellenwert überschritten wird, wenn das erste Taktsignal (TCLK) sich in dem ersten Zustand befindet.
  16. Verfahren nach Anspruch 15, wobei die Abtastung des ersten Taktsignals (TCLK) als Antwort auf einen Übergang des zweiten Taktsignals (RCLK) eine Abtastung des ersten Taktsignals (TCLK) in einer vorbestimmte Zeitdauer nach dem Übergang des zweiten Taktsignals (RCLK) aufweist.
  17. Verfahren nach den Ansprüchen 14 bis 16, wobei der Schritt des Übertragens von Daten auf den Bus (120) zu einem ersten Zeitpunkt die hinsichtlich des ersten Taktsignals (TCLK) synchrone Übertragen von Daten auf dem Bus aufweist.
  18. Verfahren nach den Ansprüchen 14 bis 17, wobei eine Erzeugung der ersten und zweiten Taktsignale (TCLK, RCLK) derart vorgesehen ist, dass die ersten und zweiten Taktsignale (TCLK, RCLK) sich auf den jeweiligen sich entlang des Busses (120) erstreckenden Taktleitungen (136, 138) in entgegengesetzter Richtung ausbreiten.
  19. Verfahren nach Anspruch 18, wobei das zweite Taktsignal (RCLK) eine verzögerte Version des ersten Taktsignals (TCLK) ist.
  20. Verfahren nach einem der Ansprüche 14 bis 18, wobei ferner das erste Taktsignal (TCLK) in eine Takterzeugungsquelle erzeugt wird, wobei sich das erste Taktsignal (TCLK) in einer ersten Richtung entlang des Busses (120) auf einem ersten Taktleitungssegment (136) ausbreitet und umgedreht wird und zum zweiten Taktsignal (RCLK) wird, welches sich in einer zweiten Richtung entlang des Busses (120) auf dem zweiten Taktleitungssegment (138) ausbreitet, wobei die zweite Richtung entgegengesetzt zu der ersten Richtung ist.
DE4390991A 1992-03-06 1993-03-03 Verfahren und Schaltungsanordnung zum Minimieren des Takt-Daten-Offset in einemBussystem Expired - Lifetime DE4390991B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US848417 1986-04-04
US84841792A 1992-03-06 1992-03-06
DE4345580 1993-03-03
PCT/US1993/001726 WO1993018463A1 (en) 1992-03-06 1993-03-03 Method and circuitry for minimizing clock-data skew in a bus system

Publications (1)

Publication Number Publication Date
DE4390991B4 true DE4390991B4 (de) 2004-08-05

Family

ID=32683320

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4390991A Expired - Lifetime DE4390991B4 (de) 1992-03-06 1993-03-03 Verfahren und Schaltungsanordnung zum Minimieren des Takt-Daten-Offset in einemBussystem

Country Status (1)

Country Link
DE (1) DE4390991B4 (de)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4519034A (en) * 1982-06-30 1985-05-21 Elxsi I/O Bus clock
EP0175564A2 (de) * 1984-09-21 1986-03-26 Amt(Holdings) Limited Datenübertragungssystem
EP0347557A2 (de) * 1988-06-24 1989-12-27 International Business Machines Corporation Doppeltgetakteter Datenbus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4519034A (en) * 1982-06-30 1985-05-21 Elxsi I/O Bus clock
EP0175564A2 (de) * 1984-09-21 1986-03-26 Amt(Holdings) Limited Datenübertragungssystem
EP0347557A2 (de) * 1988-06-24 1989-12-27 International Business Machines Corporation Doppeltgetakteter Datenbus

Similar Documents

Publication Publication Date Title
DE4345604B3 (de) Vorrichtung zur Kommunikation mit einem DRAM
DE69838852T2 (de) Verfahren und vorrichtung zur kopplung von signalen zwischen zwei schaltungen, in verschiedenen taktbereichen arbeitend
DE69116249T2 (de) Wiederholer
DE69120586T2 (de) Rechnersystem mit synchronem Bus
DE69305049T2 (de) Hochfrequenz- cmos-schaltung mit geringen verbrauch
DE10084993B3 (de) Ausgabeschaltung für einen mit doppelter Datenrate arbeitenden dynamischen Speicher mit wahlfreiem Zugriff (DDR DRAM), ein mit doppelter Datenrate arbeitender dynamischer Speicher mit wahlfreiem Zugriff (DDR DRAM), ein Verfahren zum getakteten Auslesen von Daten aus mit doppelter Datenrate arbeitenden dynamischen Speicher mit wahlfreiem Zugriff (DDR DRAM)
DE3889525T2 (de) Zwangsmässige Synchronisation zweier Impulsfolgen.
DE10235739B4 (de) Register, das auf einem Speichermodul montiert ist sowie Verwendung eines Registers in einem Speichermodul
DE3110196A1 (de) Datenverarbeitungssystem
DE102004025900A1 (de) Leselatenz-Steuerschaltung
DE10326925A1 (de) Speichersystem und Steuerungsverfahren dafür
DE68922984T2 (de) Programmierbare Zeitsteuerung der Datenübertragung.
DE69028498T2 (de) Datenübertragungssystem und -verfahren
DE102004031450A1 (de) Verzögerungsregelkreis-Vorrichtung
DE10138883B4 (de) Verfahren sowie Vorrichtung zur synchronen Signalübertragung zwischen Logik-/Speicherbausteinen
DE69209887T2 (de) Pulsunterscheidungsschaltung zum Eliminieren schmaler Impulse
DE69031639T2 (de) Synchronisiereinrichtung, welche Taktphasenextrapolation verwendet
DE69403028T2 (de) Verfahren und Vorrichtung zur Steuerung der Auf-dem-Chip-Taktverschiebung
DE102007004713A1 (de) Datenübergabeeinheit zum Übertragen von Daten zwischen unterschiedlichen Taktbereichen
EP1148647A2 (de) Schaltungsanordnung zum Empfang von wenigstens zwei digitalen Signalen
DE19581595C2 (de) Signalübertragungsvorrichtung mit mehreren LSIs
DE4390991B4 (de) Verfahren und Schaltungsanordnung zum Minimieren des Takt-Daten-Offset in einemBussystem
DE4413013C2 (de) Video-Interfacesystem
DE10121165A1 (de) Verfahren und Vorrichtung zum Initialisieren einer asynchronen Latch-Kette
DE19963684B4 (de) Verzögerungs-Verriegelungsschleifen-Taktgenerator, welcher Verzögerungs-Impuls-Verzögerungsumwandlung einsetzt

Legal Events

Date Code Title Description
8128 New person/name/address of the agent

Representative=s name: EISENFUEHR, SPEISER & PARTNER, 28195 BREMEN

8110 Request for examination paragraph 44
8127 New person/name/address of the applicant

Owner name: RAMBUS INC., LOS ALTOS, CALIF., US

8607 Notification of search results after publication
8172 Supplementary division/partition in:

Ref document number: 4345580

Country of ref document: DE

Kind code of ref document: P

Q171 Divided out to:

Ref document number: 4345580

Country of ref document: DE

Kind code of ref document: P

8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: RAMBUS INC., SUNNYVALE, CALIF., US

R071 Expiry of right