[go: up one dir, main page]

DE60008800T2 - Programmierbare pufferschaltung - Google Patents

Programmierbare pufferschaltung Download PDF

Info

Publication number
DE60008800T2
DE60008800T2 DE60008800T DE60008800T DE60008800T2 DE 60008800 T2 DE60008800 T2 DE 60008800T2 DE 60008800 T DE60008800 T DE 60008800T DE 60008800 T DE60008800 T DE 60008800T DE 60008800 T2 DE60008800 T2 DE 60008800T2
Authority
DE
Germany
Prior art keywords
impedance
programmable
pull
voltage
circuit
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
DE60008800T
Other languages
English (en)
Other versions
DE60008800D1 (de
Inventor
M. Andrew VOLK
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of DE60008800D1 publication Critical patent/DE60008800D1/de
Application granted granted Critical
Publication of DE60008800T2 publication Critical patent/DE60008800T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0005Modifications of input or output impedance

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)
  • Circuits Of Receivers In General (AREA)
  • Communication Control (AREA)
  • Networks Using Active Elements (AREA)
  • Amplifiers (AREA)

Description

  • Die vorliegende Erfindung betrifft die Programmierung von Datenpufferausgangscharakteristiken.
  • Ein Datenpuffer ist eine digitale elektronische Schaltung, um einen binären Wert (z.B. 0 oder 1) zu halten und ihn zu anderen Schaltungen weiterzuleiten, mit denen sie verbunden ist. Der binäre Wert wird durch einen Spannungspegel repräsentiert. Es ist üblich, einen Datenpuffer mit einem Datenbus zu verbinden, der den Ausgang des Puffers mit einer Empfangsschaltung verbindet.
  • Es ist üblich, mehrere Ausgangspuffer mit einem einzelnen Datenbus zu verbinden. Um zu verhindern, dass solche Puffer einander. stören, ist es üblich, alle verwendeten Datenpuffer mit einem bestimmten Bus gemäß einem Busprotokoll zu konstruieren. Ein Busprotokoll definiert die Signale (ob 0 gleich TIEF und 1 gleich HOCH ist oder umgekehrt), die Impedanz des Puffers, wenn er nicht treibt (ob Impedanz oder Abschlussimpedanz), die Impedanz des Puffers, wenn er treibt, und die Signalspannungsschwankung. Die Signalspannungsschwankung ist die Distanz (in Volt) zwischen dem HOHEN Spannungspegel und dem TIEFEN Spannungspegel.
  • In einem seriell abgeschlossenen Busprotokoll wird der Puffer auf eine hohe Impedanz gesetzt, wenn er nicht treibt. Wenn der Puffer treibt, sind die HOHEN und TIEFEN Werte die jeweiligen Schienenspannungen (z.B. Vcc und Masse), und die Impedanz wird auf eine vorgegebene Ausgangsimpedanz gesetzt.
  • In einem typischen parallel abgeschlossenen Busprotokoll ist ein Ausgangszustand (entweder HOCH oder TIEF) gleich einer der Schienenspannungen, während der andere Zustand als eine bestimmte Distanz (in Volt oder „Schwankung") von dieser Spannung weg definiert ist. Ein parallel abgeschlossenes Protokoll, bei dem Vcc einen der Ausgangszustände vorgibt, wird als „Vcc-referenziert" bezeichnet, während ein parallel abgeschlossenes Protokoll, in dem Masse einen der Ausgangszustände vorgibt, als „massereferenziert" oder „Vss-referenziert" bezeichnet wird. Die Ausgangsimpedanzen des HOHEN und des TIEFEN Zustands sind nicht unbedingt dieselben. Wenn der Parallelpuffer nicht treibt, dann sind seine Ausgangsspannung und Ausgangsimpedanz dieselben, als wenn er mit der Schienenspannung treibt, die zum Definieren von einem der Ausgangszustände verwendet wird.
  • Die vorliegende Erfindung stellt eine elektronische Schaltung gemäß Definition in Anspruch 1 bereit. Bevorzugte Merkmale der Erfindung sind in den Unteransprüchen 2 bis 8 dargelegt.
  • Gabora T J et al: „Digitally Adjustable Resistors in CMOS for High Performance Applications", IEEE Journal of Solid-State Circuits, US IEEE Inc, New York, Bd. 27, Nr. 8, 1. August 1992 (1.8.1992), Seiten 1176 bis 1185, offenbaren eine elektronische Schaltung, die Folgendes umfasst (siehe insbesondere 7 und 9):
    ein erstes Impedanz-programmierbares Bauelement, das zwischen einer ersten Spannungsquelle (7: –2 V, VLS) und einem ersten Referenzpunkt geschaltet ist;
    ein zweites Impedanz-programmierbares Bauelement, das zwischen einer zweiten Spannungsquelle und einem zweiten Referenzpunkt geschaltet ist;
    ein drittes Impedanz-programmierbares Bauelement, das zwischen der ersten Spannungsquelle und dem zweiten Referenzpunkt geschaltet ist; und
    Steuerlogik zum:
    Erzielen eines ersten Pufferimpedanzwertes durch Einstellen der Impedanz des ersten Impedanz-programmierbaren Bauelementes, bis das Potenzial am ersten Referenzpunkt eine vorbestimmte Beziehung zu einer Referenzspannung (s. 4 und die relevante Beschreibung auf Seite 1178, Absatz "C. Lower Transistor Array Reference Circuit") hat;
    Erzielen eines zweiten Pufferimpedanzwertes durch Einstellen der Impedanz des zweiten Impedanz-programmierbaren Bauelementes, bis das Potenzial am zweiten Referenzpunkt eine vorbestimmte Beziehung zu einer Referenzspannung hat (siehe Seite 1180, Absatz "E. Upper Transistor Array Reference Circuit").
  • Ausgestaltungen der Erfindung können einen oder mehrere der folgenden Vorteile haben. Es kann ein Puffer für Multi-Bus-Protokolle ohne signifikanten zusätzlichen Overhead-Schaltkomplex verwendet werden. Die Puffereigenschaften können innerhalb des zulässigen Pufferstärkenbereiches mit einem einzigen Widerstand und einer Referenzspannungsquelle eingestellt werden. Puffereigenschaften können jederzeit programmiert werden. Puffereigenschaften können in Echtzeit programmiert werden.
  • Weitere Vorteile und Merkmale gehen aus der nachfolgenden Beschreibung sowie aus den Ansprüchen hervor. Kurze Beschreibung der Zeichnungen
  • 1 zeigt eine schematische Zeichnung einer Ausgestaltung;
  • 2 zeigt ein schematisches Diagramm eines programmierbaren Puffers;
  • 3 zeigt ein schematisches Diagramm eines programmierbaren Pull-up-Bauelementes;
  • 4 zeigt ein schematisches Diagramm einer Impedanzkompensations-Steuerschaltung;
  • 5 zeigt ein Ablaufdiagramm der Schritte, die zum Erzielen von Impedanzwerten in der Impedanzkompensations-Steuerschaltung durchgeführt werden.
  • 1 ist ein vereinfachtes Diagramm einer Ausgestaltung. Die programmierbare Pufferschaltung 10 hat Impedanz-programmierbare Puffer 40, die jeweils durch Ausgänge 60 mit der Busleitung 50 verbunden sind. Weitere Schaltungen 65 können ebenfalls mit der Busleitung 50 verbunden sein und Signale von den programmierbaren Puffern 40 empfangen, oder sie können Puffer zum Übertragen von Signalen über die Busleitung 50 haben. Die Schaltungen 65 empfangen die Referenzspannung Vref für die Verwendung als Eingangsschaltpegelreferenz.
  • Die programmierbare Pufferschaltung 10 beinhaltet auch die Pufferimpedanzsteuerschaltung 20, die elektronisch mit jedem der Puffer 40 über eine Mehrbit-Impedanzsteuerleitung 30 verbunden ist. Die Impedanzkompensations-Steuerschaltung 20 hat Programmiereinheiten RCOMP 70 und VSWING 80.
  • 2 zeigt ein vereinfachtes Diagramm eines programmierbaren Puffers 40. Der Puffer 40 beinhaltet einen programmierbaren Pull-up 100, der zwischen der Spannungsquelle Vccp und dem Output-Pad 160 geschaltet ist. Der programmierbare Pull-down 110 ist zwischen dem Output-Pad 160 und Masse geschaltet. Der programmierbare Pull-up 100 und der programmierbare Pull-down 110 empfangen jeweils als Eingänge die Ausgänge der Signalspeicher 120a bzw. 120b. Der programmierbare Pull-up 100 und der programmierbare Pull-down 110 empfangen jeweils die Hälfte der Bitleitungen von der Mehrbit-Impedanzsteuerleitung 30, angedeutet als Linien 30a und 30b.
  • Der programmierbare Pull-up 100 ist eine umschaltbare Schaltung, die eine programmierbare Impedanz zwischen Vccp und dem Output-Pad 160 bereitstellt, wenn er aktiviert wird, indem der Ausgang von Signalspeicher 120a in einen L-Zustand geht. Wenn der Ausgang von Signalspeicher 120a in den H-Zustand geht, dann wird der programmierbare Pull-up 100 abgeschaltet und es gibt keine Verbindung mehr zwischen Vccp und dem Output-Pad 160. Der Betrag an Impedanz, der von dem programmierbaren Pull-up 100 erzeugt wird, wird durch den Wert auf der Mehrbit-Impedanzsteuerleitung 30a geregelt.
  • Ebenso ist der programmierbare Pull-down 110 eine umschaltbare Schaltung, die eine programmierbare Impedanz zwischen Masse und dem Output-Pad 160 bereitstellt, wenn er aktiviert wird, indem der Ausgang von Signalspeicher 120b in den H-Zustand geht. Wenn der Ausgang von Signalspeicher 120b im L-Zustand ist, dann wird der programmierbare Pull-down 110 abgeschaltet und es gibt keine Verbindung mehr zwischen Masse und dem Output-Pad 160.
  • Signalspeicher 120 empfangen Dateneingänge jeweils von den Leitungen PDRV und NDRV, die Ausgänge der Puffermodus-Umsetzungslogik 150 sind. Jeder Signalspeicher wird durch ein Taktsignal vom Taktgeber 190 synchronisiert.
  • Die Puffermodus-Umsetzungslogik 150 erhält Eingänge von der Datenleitung 170 und der Ausgangs-Enable-(OE#)-Leitung 180. Die Puffermodus-Umsetzungslogik 150 erhält auch Eingänge von einem oder mehreren Bits auf der Modusleitung 140.
  • Die Puffermodus-Umsetzungslogik 150 erzeugt Ausgänge PDRV und NDRV gemäß einem Busprotokoll, das durch den Wert der Modusleitung 140 vorgegeben wird. So kann die Modusleitung 140 z.B. Werte von 0, 1 oder 2 haben, die jeweils Folgendem entsprechen: einem seriell abgeschlossenen Schiene-zu-Schiene-Schwankungsprotokoll mit positiver Logik (z.B. das AGP-4X Protokoll, beschrieben in der Accelerated Graphics Port Interface Specification, herausgegeben von Intel Corporation am 4. Mai 1998 und erhältlich bei http://www.intel.com/technology/agp/agp index.htm); einem Vccp-referenzierten, parallel abgeschlossenen Protokoll mit negativer Logik und 2/3 der Versorgungsschwankung (z.B. das GTL-Protokoll, beschrieben in Pentium II Processor Developer's Manual, herausgegeben von Intel Corporation im Oktober 1997 und erhältlich unter http://developer.intel.com/design/pentiumii/manuals/243502. htm), und einem massereferenzierten parallel abgeschlossenen Protokoll mit fester Schwankung und positiver Logik.
  • Die folgende Tabelle zeigt die Ausgangszustände von PDRV und NDRV für gegebene Eingangswerte von MODE, DATA und OE# und die resultierenden Zustände am Output-Pad 160.
  • Tabelle 1: Puffermodus-Umsetzungslogik
    Figure 00060001
  • 3 ist ein vereinfachtes Diagramm eines programmierbaren Pull-up 100. Ein Satz von p-Kanal-MOSFETs 180 ist zwischen den Anschlüssen 200 und 210 parallel angeordnet. Anzahl und Werte der MOSFETs, die eingeschaltet werden, wenn der Pull-up 100 aktiviert wird, bestimmen die Impedanz zwischen den Anschlüssen 200 und 210. In einer bevorzugten Ausgestaltung sind die MOSFETs 180 in einer binären Progression bemessen, um einen großen Bereich von Impedanzprogrammierung (z.B. zwischen 25 und 100 Ohm) und mit einer ausreichenden Anzahl zu ermöglichen, um eine ausreichend kleine Granularität (z.B. etwa 1,5 Ohm). zu erhalten. Anschluss 200 ist mit Vccp verbunden, Anschluss 210 ist mit dem Output-Pad 160 verbunden.
  • Das Gatter jedes MOSFET 180 wird durch den Ausgang von einem aus einem Satz von entsprechenden ODER-Gattern 190 angesteuert. Jedes ODER-Gatter 190 erhält als Eingang eine Ein-Bit-Datenleitung 220, die mit dem Ausgang des Signalspeichers 120 (wie in 2 gezeigt) verbunden ist, und ein Bit von der Mehrbit-Steuerleitung 30a.
  • Wie ersichtlich ist, wenn der Wert der Datenleitung 220 im H-Zustand ist, dann ist der Ausgang jedes ODER-Gatters 190 im H-Zustand und jeder MOSFET 180 ist abgeschaltet. Wenn der Wert der Datenleitung 220 im L-Zustand ist, dann hängt der Zustand jedes MOSFET 180 vom Zustand des entsprechenden Bits in der Steuerleitung 30a ab. Wenn das Bit HOCH ist, dann ist der entsprechende MOSFET abgeschaltet; ist das Bit TIEF, dann ist der entsprechende MOSFET eingeschaltet. Somit bestimmt der Wert auf der Steuerleitung 30a die Impedanz zwischen den Anschlüssen 200 und 210, wenn die Datenleitung 220 im L-Zustand ist.
  • Die Struktur des programmierbaren Pull-down 110 ist dieselbe wie die Struktur des programmierbaren Pull-up 100, mit der Ausnahme, dass die MOSFETs im programmierbaren Pull-down n-Kanal-Bauelemente und die Logikgatter UND-Gatter anstatt ODER-Gatter sind. Wenn die Datenleitung des Pull-down 110 im H-Zustand ist, dann wird die Impedanz zwischen den Anschlüssen durch den Wert auf der Mehrbit-Steuerleitung 30b bestimmt.
  • 4 ist ein schematisches Diagramm einer allgemeinen Impedanzkompensations-Steuerschaltung 300 mit einer Steuerlogik 310, Zählern 320a und 320b, Komparatoren 330a und 330b, programmierbaren Pull-ups 340a und 340b, programmierbaren Pull-downs 350a und 350b, Signalspeichern 360a und 360b, Taktgeber 370 und Programmiereinheiten RCOMP 380 und VSWING 390. Die programmierbaren Pull-ups 340 und die programmierbaren Pull-downs 350 sind mit den Pull-ups 100 und den Pull-downs 110 in den programmierbaren Puffern 40 identisch, wie in 2 gezeigt.
  • Die Zähler 320 sind mit der Steuerlogik 310 durch Steuerleitungen verbunden, die die Steuerlogik befähigen, Zähler 310 zu aktivieren und zu deaktivieren und die Richtung zu bestimmen, in der sie zählen. Die Zähler 320 sind auch mit dem Taktgeber 370 verbunden, von dem sie Synchronisiersignale empfangen. Die Zähler 320 sind so ausgelegt, dass sie Rollover-Zustände verhindern. Das heißt, bei einem Versuch, unter 0 oder über dem höchstmöglichen Wert zu zählen, bleibt die Zahl jeweils bei 0 bzw. auf diesem höchsten Wert.
  • Der Mehrbitausgang von Zähler 320a ist mit den Mehrbit-Steuerleitungseingängen der programmierbaren Pull-ups 340 verbunden, und der Mehrbitausgang von Zähler 320b ist mit den Mehrbit-Steuerleitungseingängen der programmierbaren Pull-downs 350 verbunden.
  • Einer der Anschlüsse des programmierbaren Pull-up 340a ist mit Vccp 600, der andere mit der Programmiereinheit RCOMP 380 verbunden. Ein Anschluss des programmierbaren Pull-down 350a ist mit der Programmiereinheit RCOMP 380, ein Anschluss mit Masse 610 verbunden. Einer der Anschlüsse des programmierbaren Pull-up 340b ist mit Vccp 600, der andere mit dem Referenzpunkt RCMP2 680 verbunden. Einer der Anschlüsse des programmierbaren Pull-down 350b ist mit dem Referenzpunkt RCMP2 680, der andere mit Masse 610 verbunden.
  • Die positiven und negativen Eingänge des Komparators 330a sind jeweils mit den Programmiereinheiten RCOMP 380 bzw. VSWING 390 verbunden. Die positiven und negativen Eingänge des Komparators 330b sind jeweils mit dem Referenzpunkt RCMP2 680 bzw. der Programmiereinheit VSWING 390 verbunden.
  • Die Ausgänge der Komparatoren 330a und 330b sind jeweils mit den Dateneingängen der Signalspeicher 360a und 360b verbunden. Die Signalspeicher 360 empfangen auch einen Takteingang vom Taktgeber 370. Der Ausgang jedes Signalspeichers 360 ist mit Steuerlogik 310 verbunden. Die Steuerlogik 310 ist zum Empfangen der Mehrbit-Mode-Leitung 140 geschaltet.
  • Nachfolgend wird der Betrieb der programmierbaren Pufferschaltung 10 beschrieben. Die programmierbare Pufferschaltung 10 wird durch Einstellen des Wertes der Mehrbit-Modusleitung 140 programmiert, um ein bestimmtes Busprotokoll vorzugeben, indem die Programmiereinheit RCOMP 380 mit einem Widerstand mit einem bestimmten Wert zwischen RCOMP und einer der Spannungsquellen 600, 610 (d.h. Vccp oder Masse) und die Programmiereinheit VSWING 390 mit einer bestimmten Referenzspannung verbunden wird.
  • Der Wert der Modusleitung 140 kann mit einem beliebigen konventionellen Verfahren wie z.B. durch Verwenden von DIP-Schaltern, schmelzbaren Verbindungen, einem Konfigurationsregister oder von einer externen Schaltung (wie z.B. einem Mikroprozessor) eingestellt werden. Wie oben erwähnt, verwendet die Puffermodus-Umsetzungslogik 150 in jedem programmierbaren Puffer 40 den Wert der Modusleitung, um die geeigneten zu erzeugenden Ausgangslogikwerte zu bestimmen, wenn der Puffer Daten 0 oder Daten 1 treibt und wenn er nicht treibt.
  • Die an VSWING angelegte Spannung wird gewählt, um die Spannungsschwankung über die Abschlussbauelemente zu definieren. Für Vccp-referenzierte, parallel abgeschlossene Protokolle wird VSWING auf den VOL-Pegel gesetzt. Umgekehrt wird für Vss-referenzierte, parallel abgeschlossene Protokolle VSWING auf den VOH-Pegel gesetzt. Für ein seriell abgeschlossenes Protokoll wird VSWING auf den Spannungspunkt gesetzt, der die Ausgangstransistorimpedanz oder den äquivalenten Ansteuerungspegel definiert. Dies wird häufig auf die Eingangsschaltpegelspannung für die Schnittstelle (Vref) gesetzt. Der mit RCOMP verbundene Widerstand ist zwischen RCOMP und der entgegengesetzten Schiene zu der geschaltet, mit der die abschließenden Pull-up- oder Pull-down-Bauelemente verbunden sind. Im Fall eines Vccp-referenzierten, parallel abgeschlossenen Protokolls ist der Widerstand zwischen RCOMP und Masse geschaltet. Im Fall eines massereferenzierten, parallel abgeschlossenen Protokolls ist der Widerstand zwischen RCOMP und Vccp geschaltet. Im Fall eines seriell abgeschlossenen Protokolls kann der Widerstand mit beiden Spannungsquellen verbunden sein, und die Wahl wird je nach der besten Genauigkeits- oder Abstimmungseigenschaften getroffen. Zum Beispiel, die folgende Illustration zeigt den Widerstand zwischen RCOMP und Masse für ein seriell abeschlossenes Protokoll geschaltet.
  • Der Wert des mit RCOMP verbundenen Widerstands wird so bestimmt, dass die Spannung bei RCOMP gleich VSWING ist, wenn die Impedanz des Abschlussbauelementes der gewünschte Wert ist. Die allgemeine Gleichung für den Widerstand R des Widerstands wird wie folgt angegeben: R = Zterm * (Vccp/Vterm –1),wobei Zterm die gewünschte Abschlussimpedanz (definiert durch das gewünschte Busprotokoll) und Vterm die Distanz zwischen der VSWING-Spannung und der Spannung an der Schiene ist, an der das Abschlussbauelement befestigt ist.
  • Mit Bezug auf die 4 und 5, die Steuerlogik stellt die Impedanzsteuerwerte wie folgt ein. Zunächst wird der gewählte Modus bestimmt (Schritt 500). Wenn sich der gewählte Modus nicht auf ein massereferenziertes Protokoll (oder ein seriell abgeschlossenes Protokoll) bezieht (Schritt 510), dann aktiviert die Steuerlogik 310 den programmierbaren Pull-up 340a und veranlasst den Zähler 320a, durch eine Reihe von Werten zum Programmieren der Impedanz des aktivierten Pull-up zu inkrementieren.
  • Nach jedem Inkrement in dem Zählerwert vergleicht der Komparator 330a die Spannung an der Programmiereinheit RCOMP 380 mit der Spannung an der Programmiereinheit VSWING 390, und der Ausgang des Komparators wird im Signalspeicher 360a gerastet. Die Steuerlogik veranlasst den Zähler 320a, das Inkrementieren seines Wertes so lange fortzusetzen, bis die Spannung bei RCOMP gleich der Spannung bei VSWING ist. (In der Praxis kann dies z.B. durch Inkrementieren des Wertes des Zählers, bis der Ausgang von Komparator 330a das Vorzeichen ändert, und anschließendes Dekrementieren des Wertes des Zählers um 1 geschehen) (Schritt 520).
  • Nach dem Abgleichen der Spannungen bei RCOMP und VSWING aktiviert die Steuerlogik 310 den programmierbaren Pull-up 340b und den programmierbaren Pull-down 350b. Der vorexistierende Wert im Zähler 320a bewirkt jetzt, dass die Impedanz des Pull-up 340b gleich der des Pull-up 340a wird (Schritt 530).
  • Als Nächstes aktiviert die Steuerlogik den Zähler 320b und bewirkt, dass er durch eine Reihe von Werten inkrementiert, die Impedanzen des Pull-down 350b entsprechen. Dieser Vorgang wird so lange fortgesetzt, bis die Spannung bei RCMP2 gleich VSWING ist (Schritt 540).
  • Für den Fall, dass der gewählte Modus ein massereferenziertes Protokoll anzeigt, werden stattdessen die folgenden Schritte durchgeführt. Pull-down 350a wird aktiviert und der Zähler 320b wird inkrementiert, bis die Spannung bei RCOMP gleich VSWING ist (Schritt 550).
  • Dann werden der Pull-up 340b und der Pull-down 350b aktiviert, und der Wert im Zähler 320b programmiert die Impedanz von Pull-down 350b (Schritt 560).
  • Schließlich wird der Zähler 320a inkrementiert, um die Impedanz des Pull-up 340b zu justieren, bis die Spannung bei RCMP2 gleich VSWING ist (Schritt 570).
  • Mit diesem Vorgang werden die geeigneten Impedanzwerte für programmierbare Pull-ups 100 und programmierbare Pull-downs 110 erzielt. Der erste erzielte Impedanzwert ist richtig, weil der Wert des RCOMP-Widerstands so gewählt wurde, dass, wenn die Abschlussimpedanz korrekt eingestellt wurde, die Spannung gleich VSWING ist. Der zweite erzielte Impedanzwert ist korrekt, weil das Protokoll verlangt, dass die Ausgangsspannung des Puffers gleich VSWING ist, wenn sowohl der Pull-up 100 als auch der Pull-down 110 aktiviert sind. Nach Abschluss des Vorgangs zum Einstellen der Impedanzwerte werden die Zählerwerte der Zähler 320a und 320b auf die programmierbaren Pull-ups 100 und Pull-downs 110 in jedem Ausgangspuffer 40 angewendet, wodurch bewirkt wird, dass jeder Ausgangspuffer die geeigneten Impedanz- und Ausgangsspannungswerte für das gewählte Busprotokoll hat.
  • Der Impedanzeinstellvorgang wird besser anhand der folgenden Beispiele verständlich. Das AGP-4X-Protokoll ist ein seriell abgeschlossenes Protokoll, das mit positiver Logik arbeitet und eine Abschlussimpedanz von 40 Ohm bei Vccp/2 hat. Die programmierbare Pufferschaltung 40 wird für das AGP-4X-Protokoll durch Einstellen von VSWING = Vccp/2 und durch Einstellen des RCOMP-Widerstands auf 40 * ((Vccp) /(Vccp/2) – 1) = 40 programmiert. Der RCOMP-Widerstand ist an Masse geschlossen.
  • Die Steuerlogik 310 der Impendanzkompensations-Steuerschaltung 300 ermittelt anhand des Wertes der Modusleitung 140, dass das AGP-4X-Protokoll gewünscht wird. Sie aktiviert zunächst den Pull-up 340a und beginnt mit dem Inkrementieren des Zählers 320a, bis die Spannung bei RCOMP gleich der Spannung bei VSWING ist. Da VSWING gleich Vccp/2 ist, tritt dies dann auf, wenn die Impedanz des Pull-up 340a gleich der Impedanz des RCOMP-Widerstandes oder 40 Ohm ist. Dann werden der Pull-up 340b und der Pull-down 350b aktiviert, und die Impedanz des Pull-up 350b wird auf 40 Ohm eingestellt. Die Steuerlogik veranlasst den Zähler 320b, mit dem Inkrementieren zu beginnen, bis die Spannung bei RCMP2 gleich VSWING ist, was dann auftritt, wenn die Impedanz über den Pull-down 350b gleich 40 Ohm ist.
  • In einem anderen Beispiel ist das GTL-Protokoll eine parallel abgeschlossene Schnittstelle mit 2/3 der Versorgungsschwankung und negativer Logik. Die gewünschte Abschlussimpedanz beträgt 60 Ohm. Somit wird VSWING auf gleich Vccp/3 und der RCOMP-Widerstand auf gleich 60 (Vccp / (Vccp * 2/3) –1) = 30 Ohm eingestellt. Der RCOMP-Widerstand ist an Masse geschlossen.
  • Die Steuerlogik 310 der Impedanzkompensations-Steuerschaltung 300 ermittelt anhand des Wertes der Modusleitung 140, dass das GTL-Protokoll gewünscht wird. Sie aktiviert zunächst den Pull-up 340a und beginnt dann mit dem Inkrementieren des Zählers 320a, bis die Spannung bei RCOMP gleich der Spannung bei VSWING ist. Da VSWING gleich Vccp/3 ist, tritt dies dann auf, wenn die Impedanz des Pull-up 340a gleich dem Zweifachen der Impedanz des RCOMP-Widerstandes oder 60 Ohm beträgt. Dann werden der Pull-up 340b und der Pull-down 350b aktiviert, und die Impedanz des Pull-up 340b wird auf 60 Ohm eingestellt. Die Steuerlogik veranlasst den Zähler 320b, mit dem Inkrementieren zu beginnen, bis die Spannung bei RCMP2 gleich VSWING ist, was dann auftritt, wenn die Impedanz über den Pull-down 350b gleich 30 Ohm ist.
  • In einem anderen Beispiel verlangt ein parallel abgeschlossenes, massereferenziertes Protokoll mit positiver Logik eine Abschlussimpedanz von 60 Ohm und eine Spannungsschwankung von 0,7 Volt. Somit wird VSWING auf 0,7 Volt und der RCOMP-Widerstand auf 60 * ((Vccp / 0,7) – 1) eingestellt. Wenn Vccp beispielsweise auf 1,8 Volt eingestellt wird, dann würde dies zu einem RCOMP-Widerstandswert von etwa 94 Ohm führen. Da das Protokoll massereferenziert ist, ist der RCOMP-Widerstand zwischen RCOMP und Vccp geschlossen.
  • Die Steuerlogik 310 der Impedanzkompensations-Steuerschaltung 300 ermittelt anhand des Wertes der Modusleitung 140, dass das parallel abgeschlossene, massereferenzierte Protokoll mit positiver Logik gewünscht wird. Sie aktiviert zunächst den Pull-Down 350a und beginnt mit dem Inkrementieren des Zählers 320b, bis die Spannung bei RCOMP gleich der Spannung bei VSWING ist. Da VSWING gleich 0,7 ist, tritt dies dann auf, wenn die Impedanz des Pull-down 350a gleich 60 Ohm ist. Dann werden der Pull-up 340b und der Pull-down 350b aktiviert und die Impedanz des Pull-down 350b wird auf 60 Ohm eingestellt. Die Steuerlogik veranlasst den Zähler 320a, mit dem Inkrementieren zu beginnen, bis die Spannung bei RCMP2 gleich VSWING ist, was dann auftritt, wenn die Impedanz über den Pull-up 340b gleich etwa 94 Ohm ist.
  • Somit wird eine Vorrichtung bereitgestellt, die es ermöglicht, eine einzelne Schaltung so zu programmieren, dass sie unter einer Reihe verschiedener Busprotokolle arbeitet, ohne Notwendigkeit für einen signifikanten zusätzlichen Overhead-Schaltkomplex. Darüber hinaus können die Puffereigenschaften mit einem einzigen Widerstand und einem Spannungsschwankungsreferenzpegel eingestellt werden. Somit kann das Protokoll jederzeit programmiert werden. So kann das Protokoll beispielsweise dann programmiert werden, wenn die Schaltung zusammengesetzt wird, oder in Echtzeit unter Verwendung weiterer Schaltungen, um den an RCOMP anliegenden Widerstand und die an VSWING anliegende Referenzspannung zu ändern.
  • Die Erfindung ist nicht auf die oben beschriebenen Ausgestaltungen begrenzt. Weitere Ausgestaltungen liegen ebenfalls im Rahmen der nachfolgenden Ansprüche. So wird beispielsweise eine bevorzugte Ausgestaltung der Erfindung als integrierte Schaltung ausgebildet, wobei die Einheiten VSWING und RCOMP externe Pads oder Pins sind. In einer alternativen Ausgestaltung könnten VSWING und RCOMP jedoch Anschlusspunkte innerhalb einer integrierten Schaltung repräsentieren. Ein interner Auswahlmechanismus könnte eine Verbindung eines veränderlichen Widerstandes mit RCOMP ermöglichen, und VSWING könnte mit einer von mehreren Spannungen verbunden werden, die von ohmschen (oder Device-Teilen oder von chipinternen Spannungsquellen z.B. einer Bandspalten-Spannungsreferenz erzeugt werden.
  • In einem anderen Beispiel der Erfindung sind die programmierbaren Pull-ups 340 und programmierbaren Pull-downs 350 in der allgemeinen Impedanzkompensations-Steuerschaltung mit den programmierbaren Pull-ups 100 und den Pull-downs 110 in programmierbaren Puffern 40 identisch. In einer alternativen Ausgestaltung können sich die programmierbaren Pull-ups 340 und Pull-downs 350 jedoch von den Pull-ups 100 und Pull-downs 110 dadurch unterscheiden, dass sie mehr Schalter (z.B. MOSFETs 180) mit einer feineren Granularität haben. Wenn z.B. die Pull-ups 340 und die Pull-downs 350 zwei zusätzliche Steuerbits im Vergleich zu den Pull-ups 100 und Pull-downs 110 haben, dann können diese Bits zum Auf- oder Abrunden des Wertes verwendet werden, der auf die programmierbaren Pull-ups 100 und Pull-downs 110 angewendet wird.

Claims (8)

  1. Elektronische Schaltung (10), die Folgendes umfasst: ein erstes Impedanz-programmierbares Bauelement (340a; 350a), das zwischen einer ersten Spannungsquelle (600; 610) und einem ersten Referenzpunkt (380; 380) geschaltet ist; ein zweites Impedanz-programmierbares Bauelement (350b; 340b), das zwischen einer zweiten Spannungsquelle (610; 610) und einem zweiten Referenzpunkt (680; 680) geschaltet ist; ein drittes Impedanz-programmierbares Bauelement (340b; 350b), das zwischen der ersten Spannungsquelle (600; 610) und dem zweiten Referenzpunkt (380; 380) geschaltet ist; ein viertes Impedanz-programmierbares Bauelement, das zwischen dem ersten Referenzpunkt (380; 380) und der zweiten Spannungsquelle (610; 600) geschaltet ist; und Steuerlogik zum: Erzielen eines ersten Pufferimpedanzwertes durch Einstellen der Impedanz des ersten Impedanz-programmierbaren Bauelementes (340a; 350a), bis das Potenzial am ersten Referenzpunkt eine vorbestimmte Beziehung zu einer Referenzspannung (390) hat; Einstellen einer Impedanz des dritten programmierbaren Bauelementes (340b; 350b) auf den Wert der Impedanz des ersten Impedanz-programmierbaren Bauelementes und auf den ersten Pufferimpedanzwert; und Erzielen eines zweiten Pufferimpedanzwertes durch Einstellen der Impedanz des zweiten Impedanz-programmierbaren Bauelementes (350b; 340b), bis das Potenzial am zweiten Referenzpunkt eine vorbestimmte Beziehung zu der Referenzspannung (390) hat.
  2. Schaltung nach Anspruch 1, ferner umfassend eine ohmsche Last, die zwischen dem ersten Referenzpunkt und der zweiten Spannungsquelle geschaltet ist.
  3. Schaltung nach Anspruch 1, ferner umfassend ein Register (320a; 320b) zum Halten von Werten, wobei das genannte Register funktionell mit dem ersten (340a; 350a) und dritten (340b; 350b) Impedanz-programmierbaren Bauelement verbunden ist, um deren Impedanzen gemäß den Werten in dem Register einzustellen.
  4. Schaltung nach Anspruch 1, bei der das erste Impedanz-programmierbare Bauelement (340a; 350a) eine Mehrzahl von elektronischen Schaltern (180) umfasst, die parallel zwischen der ersten Spannungsquelle und dem ersten Referenzpunkt zu einer Array geschaltet sind.
  5. Schaltung nach Anspruch 1, bei der die Mehrzahl von elektronischen Schaltern (180) Betriebsimpedanzen hat, die sich etwa mit Zweierpotenzen aufeinander beziehen.
  6. Schaltung nach Anspruch 1, ferner umfassend eine Mehrzahl von programmierbaren Puffern (40), die funktionell so geschaltet sind, dass sie von der Steuerlogik den ersten Impedanzprogrammierwert und den zweiten Impedanzprogrammierwert erhalten und Impedanzen zwischen ihren jeweiligen Ausgängen und der ersten und zweiten Spannungsquelle jeweils gemäß dem ersten bzw. zweiten Impedanzprogrammierwert erzielen.
  7. Schaltung nach Anspruch 6, ferner umfassend einen Datenbus (50), der funktionell zum Senden von Logiksignalen von wenigstens einem aus der Mehrzahl von programmierbaren Puffern (40) zu anderen Schaltungen geschaltet ist.
  8. Schaltung nach Anspruch 1, bei der das Impedanz-programmierbare Bauelement und die Steuerlogik eine integrierte Schaltung umfassen.
DE60008800T 1999-12-23 2000-12-06 Programmierbare pufferschaltung Expired - Lifetime DE60008800T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US472373 1995-06-07
US09/472,373 US6347850B1 (en) 1999-12-23 1999-12-23 Programmable buffer circuit
PCT/US2000/042662 WO2001047120A2 (en) 1999-12-23 2000-12-06 Programmable buffer circuit

Publications (2)

Publication Number Publication Date
DE60008800D1 DE60008800D1 (de) 2004-04-08
DE60008800T2 true DE60008800T2 (de) 2005-02-10

Family

ID=23875263

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60008800T Expired - Lifetime DE60008800T2 (de) 1999-12-23 2000-12-06 Programmierbare pufferschaltung

Country Status (11)

Country Link
US (1) US6347850B1 (de)
EP (1) EP1247341B1 (de)
CN (1) CN1226826C (de)
AT (1) ATE261210T1 (de)
AU (1) AU4713101A (de)
DE (1) DE60008800T2 (de)
ES (1) ES2217036T3 (de)
HK (1) HK1046999B (de)
TR (1) TR200400747T4 (de)
TW (1) TW563300B (de)
WO (1) WO2001047120A2 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633178B2 (en) 2001-09-28 2003-10-14 Intel Corporation Apparatus and method for power efficient line driver
JP3626452B2 (ja) * 2001-12-27 2005-03-09 株式会社東芝 半導体装置
US6965529B2 (en) 2002-06-21 2005-11-15 Intel Coproration Memory bus termination
US20040263203A1 (en) * 2003-06-27 2004-12-30 Intel Corporation Signal compensation
US7173489B1 (en) 2003-08-25 2007-02-06 Marvell Semiconductor, Inc. Programmable gain voltage buffer
DE10351016B3 (de) * 2003-10-31 2005-06-09 Infineon Technologies Ag Pseudo-dynamische Off-Chip-Treiber-Kalibrierung
US7009894B2 (en) * 2004-02-19 2006-03-07 Intel Corporation Dynamically activated memory controller data termination
US7197591B2 (en) * 2004-06-30 2007-03-27 Intel Corporation Dynamic lane, voltage and frequency adjustment for serial interconnect
JP4159553B2 (ja) 2005-01-19 2008-10-01 エルピーダメモリ株式会社 半導体装置の出力回路及びこれを備える半導体装置、並びに、出力回路の特性調整方法
US7571406B2 (en) * 2005-08-04 2009-08-04 Freescale Semiconductor, Inc. Clock tree adjustable buffer
US7466174B2 (en) 2006-03-31 2008-12-16 Intel Corporation Fast lock scheme for phase locked loops and delay locked loops
WO2014138081A1 (en) 2013-03-05 2014-09-12 Silicon Image, Inc. Calibration of single-ended high-speed interfaces

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5134311A (en) * 1990-06-07 1992-07-28 International Business Machines Corporation Self-adjusting impedance matching driver
US5254883A (en) * 1992-04-22 1993-10-19 Rambus, Inc. Electrical current source circuitry for a bus
US5457407A (en) * 1994-07-06 1995-10-10 Sony Electronics Inc. Binary weighted reference circuit for a variable impedance output buffer
US5955894A (en) * 1997-06-25 1999-09-21 Sun Microsystems, Inc. Method for controlling the impedance of a driver circuit
US6064224A (en) * 1998-07-31 2000-05-16 Hewlett--Packard Company Calibration sharing for CMOS output driver
US6118310A (en) * 1998-11-04 2000-09-12 Agilent Technologies Digitally controlled output driver and method for impedance matching
US6166563A (en) * 1999-04-26 2000-12-26 Intel Corporation Method and apparatus for dual mode output buffer impedance compensation

Also Published As

Publication number Publication date
WO2001047120A2 (en) 2001-06-28
TR200400747T4 (tr) 2004-06-21
ATE261210T1 (de) 2004-03-15
US6347850B1 (en) 2002-02-19
WO2001047120A3 (en) 2002-01-10
EP1247341B1 (de) 2004-03-03
DE60008800D1 (de) 2004-04-08
ES2217036T3 (es) 2004-11-01
CN1226826C (zh) 2005-11-09
HK1046999A1 (en) 2003-01-30
HK1046999B (en) 2004-09-10
EP1247341A2 (de) 2002-10-09
TW563300B (en) 2003-11-21
CN1435008A (zh) 2003-08-06
AU4713101A (en) 2001-07-03

Similar Documents

Publication Publication Date Title
DE69716970T2 (de) Einstellbare Ausgangstreiberschaltung
DE4426841B4 (de) Signalübertragungseinrichtung
DE3883323T2 (de) Ausgangspufferschaltungen.
DE69119511T2 (de) Schnelle Ausgangspufferschaltung mit Vorverschiebung des Ausgangsspannungspegels
DE69718221T2 (de) Treiberschaltungsvorrichtung
DE69431266T2 (de) Pufferschaltungen
DE60036457T2 (de) Gerät und verfahren um von der topographie abhängig zu signalisieren
DE69930314T2 (de) On-chip abschluss
DE60103142T2 (de) Stromgesteuerte cmos schaltungen mit induktiver bandbreitenerweiterung
DE19646684C1 (de) Ausgangspufferschaltkreis
DE60008800T2 (de) Programmierbare pufferschaltung
DE3906927C2 (de)
DE69602650T2 (de) Treiberschaltung zur Schnittstellenbildung zwischen integrierten Schaltungen und Übertragungsleitungen
DE602004011809T2 (de) Interne spannungsdifferenz für eine speicherschnittstelle
DE10212950B4 (de) Pegelwandler, Signalwandlungsvorrichtung und Signalwandlungsverfahren
DE102006053281B4 (de) Halbleiterbauelement, Testsystem und ODT-Testverfahren
DE102020208635A1 (de) Differenzsignal-übertragungsschaltung
DE60117048T2 (de) Schaltung zum empfangen und ansteuern eines taktsignals
DE69228851T2 (de) Verdrahteter oder auf Übergang-Art Basis für VLSI-Systeme
DE60100605T2 (de) Leitungstreiber mit adaptiver Ausgangsimpedanz
DE69934551T2 (de) Sende-Empfangstreiber mit programmierbarer Flankensteilheit unabhängig vom Herstellungsverfahren , der Speisespannung und der Temperatur
DE102007043398B4 (de) Signalübertragungsschaltung
WO2004025493A1 (de) Integrierter schaltkreis mit umschaltung durch multiplexer zwischen normalbetrieb und testbetrieb
EP2110954B1 (de) Sendeschaltung, Verfahren zum Senden und Verwendung
DE60300910T2 (de) Halbleiterbaustein mit Eingangspuffern mit gemeinsamer interner Referenzspannung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition