DE60222513T2 - Programmierbare schnelle Eingangs-/Ausgangsschnittstelle - Google Patents

Programmierbare schnelle Eingangs-/Ausgangsschnittstelle Download PDF

Info

Publication number
DE60222513T2
DE60222513T2 DE60222513T DE60222513T DE60222513T2 DE 60222513 T2 DE60222513 T2 DE 60222513T2 DE 60222513 T DE60222513 T DE 60222513T DE 60222513 T DE60222513 T DE 60222513T DE 60222513 T2 DE60222513 T2 DE 60222513T2
Authority
DE
Germany
Prior art keywords
output
input
speed
flip
buffer
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
DE60222513T
Other languages
English (en)
Other versions
DE60222513D1 (de
Inventor
Bonnie I. Cupertino Wang
Chiakang Milpitas Sung
Joseph San Jose Huang
Khai San Jose Nguyen
Philip Fremont Pan
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.)
Altera Corp
Original Assignee
Altera 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 Altera Corp filed Critical Altera Corp
Publication of DE60222513D1 publication Critical patent/DE60222513D1/de
Application granted granted Critical
Publication of DE60222513T2 publication Critical patent/DE60222513T2/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/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources
    • H03K19/17744Structural details of routing resources for input/output signals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0175Coupling arrangements; Interface arrangements
    • H03K19/017509Interface arrangements
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0175Coupling arrangements; Interface arrangements
    • H03K19/017581Coupling arrangements; Interface arrangements programmable
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources
    • H03K19/1774Structural details of routing resources for global signals, e.g. clock, reset
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/1778Structural details for adapting physical parameters
    • H03K19/17788Structural details for adapting physical parameters for input/output [I/O] voltages
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0175Coupling arrangements; Interface arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Logic Circuits (AREA)
  • Information Transfer Systems (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Microcomputers (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

  • Hintergrund der Erfindung
  • Die vorliegende Erfindung betrifft Eingabe- und Ausgabeschnittstellen für integrierte Schaltungen, und insbesondere Hochleistungsschnittstellen, die einen hohen Grad an Flexibilität und Konfigurierbarkeit aufweisen.
  • Elektronische Systeme werden komplexer, da sie zunehmend schwierigere Aufgaben bewältigen. Deshalb nimmt die Datenmenge, die in diesen Systemen zwischen integrierten Schaltungen ausgetauscht wird, immer mehr zu. Zugleich wollen Systemdesigner kleinere Baueinheiten mit geringer Pinzahl (pin-count), die weniger Raum auf den Leiterplatten des Systems in Anspruch nehmen. Deshalb sind an den Eingangs- und Ausgangspins der integrierten Schaltungen sehr hohe Datenraten wünschenswert.
  • Für die Schaltungen, welche die Eingangs- und Ausgangsstrukturen an diesen Pins formen, ist es aber auch wünschenswert, daß sie hochflexibel sind. Zum Beispiel können Sets, Presets und Enables an Eingängen und Ausgängen mit Registern die Implementierung von komplizierten Logikfunktionen erleichtern, und ein JTAG Boundary-Prüfzugang kann die Systemdiagnose vereinfachen.
  • Leider hat eine erhöhte Flexibilität langsamere Schaltungen zur Folge. Die gleichen Transistoren, die Funktionen hinzufügen und das Multiplexieren erhöhen, Eigen parasitäre Kapazitäten und Widerstände ein, wodurch die Leistung des Geräts herabgesetzt wird. Die Erhöhung der Konfigurierbarkeit einer Eingangs- und Ausgangsschnittstelle senkt die Höchstgeschwindigkeit, mit welcher die Schnittstelle Daten verarbeiten kann. Um Strom zu sparen, können Designer auch die Verwendung von langsameren Schaltungen in der integrierten Schaltung wünschen.
  • Daher besteht ein Bedarf an einer hochflexiblen Eingangs- und Ausgangsschnittstelle, die auch mit hoher Geschwindigkeit betrieben werden kann. Für einen maximalen Nutzen sollte die Schnittstelle auch in der Lage sein, auf effektive Weise mit anderen langsameren Schaltungen in der integrierten Schaltung zu kommunizieren.
  • Das Dokument EP 0 818 734 A2 offenbart eine Eingangs-/Ausgangsschnittstelle, die sowohl die Hochgeschwindigkeitsdatenübertragung mit Hochfrequenzsignalen als auch die Niedergeschwindigkeitsdatenübertragung mit Niederfrequenzsignalen bewältigt. Diese Schnittstelle umfaßt einen Eingangspuffer und einen Ausgangspuffer, die jeder jeweilige Puffer aufweisen, um jeweils Hochfrequenzsignale und Niederfrequenzsignale zu verarbeiten.
  • Zusammenfassung
  • Daher stellen Ausführungsformen der vorliegenden Erfindungen ein Verfahren und eine Vorrichtung bereit, um Eingänge und Ausgänge entweder mit hoher Geschwindigkeit oder mit niedriger Geschwindigkeit bereitzustellen. Es wird eine Eingangs- und Ausgangsstruktur bereitgestellt, die einen Eingang mit hoher Geschwindigkeit, einen Ausgang mit hoher Geschwindigkeit, einen Eingang mit niedriger oder moderater Geschwindigkeit und einen Ausgang mit niedriger oder moderater Geschwindigkeit aufweist. Eine der Eingangs- und Ausgangsschaltungen wird gewählt, und die anderen werden abgewählt. In einem Beispiel, das nur ein Enable-Signal als Steuerleitungseingabe aufweist, sind die Eingangs- und Ausgangsschaltungen mit hoher Geschwindigkeit relativ einfach und in der Lage, eine Schnittstelle zu einer langsameren Schaltung im Kern einer integrierten Schaltung zu bilden. Die Eingangs- und Ausgangsschaltungen mit niedriger oder moderater Geschwindigkeit sind flexibler, z.B. mit Preset, Enable und Clear als Steuerleitungseingaben, und können die JTAG Boundary-Prüfung unterstützen. Diese parallelen Schaltungen mit hoher und niedriger Geschwindigkeit sind derart wählbar, daß die Eingangs-/Ausgangsstruktur den Anforderungen der Anwendung entsprechend zwischen Geschwindigkeit und Funktionalität optimiert wird.
  • Eine beispielhafte Ausführungsform der vorliegenden Erfindung stellt eine integrierte Schaltung bereit, umfassend ein Pad, einen High-Speed-Ausgangspuffer, der mit dem Pad verbunden ist, und einen Low-Speed-Ausgangspuffer, der auch mit dem Pad verbunden ist. Der High-Speed-Ausgangspuffer und der Low-Speed-Ausgangspuffer werden auf wählbare Weise aktiviert. Wenn der High-Speed-Ausgangspuffer aktiv ist, ist der Low-Speed-Ausgangspuffer inaktiv, und wenn der Low-Speed-Ausgangspuffer aktiv ist, ist der High-Speed-Ausgangspuffer inaktiv.
  • Diese Ausführungsform kann außerdem ein erstes Flipflop umfassen, das mit dem High-Speed-Ausgangspuffer verbunden ist, und ein zweites Flipflop, das mit dem Low-Speed-Ausgangspuffer verbunden ist. Das erste Flipflop ist konfiguriert, um eine erste Zahl von Steuersignalen zu empfangen, und das zweite Flipflop ist konfiguriert, um eine zweite Zahl von Steuersignalen zu empfangen, wobei die zweite Zahl größer als die erste Zahl ist.
  • Eine andere beispielhafte Ausführungsform der vorliegenden Erfindung stellt eine integrierte Schaltung bereit, umfassend ein Pad, einen High-Speed-Eingangspuffer, der mit dem Pad verbunden ist, und einen Low-Speed-Eingangspuffer, der auch mit dem Pad verbunden ist. Der High-Speed-Eingangspuffer und der Low-Speed-Eingangspuffer werden auf wählbare Weise aktiviert. Wenn der High-Speed-Eingangspuffer aktiv ist, ist der Low-Speed-Eingangspuffer inaktiv, und wenn der Low-Speed-Eingangspuffer aktiv ist, ist der High-Speed-Eingangspuffer inaktiv.
  • Diese Ausführungsform kann zudem ein erstes Flipflop vorsehen, das mit dem High-Speed-Eingangspuffer verbunden ist, und ein zweites Flipflop, das mit dem Low-Speed-Eingangspuffer verbunden ist. Das erste Flipflop ist konfiguriert, um eine erste Zahl von Steuersignalen zu empfangen, und das zweite Flipflop ist konfiguriert, um eine zweite Zahl von Steuersignalen zu empfangen, wobei die zweite Zahl größer ist als die erste Zahl.
  • Eine weitere Ausführungsform stellt eine integrierte Schaltung mit einem High-Speed-Ausgangsweg bereit. Dieser Weg weist ein erstes Register mit doppelter Datenrate auf, das mit einem ersten Ausgangspuffer verbunden ist. Diese integrierte Schaltung umfaßt auch einen Low-Speed-Ausgangsweg mit einem zweiten Register mit doppelter Datenrate, das mit einem zweiten Ausgangspuffer verbunden ist, einen High-Speed-Eingangsweg mit einem dritten Register mit doppelter Datenrate, das mit einem ersten Eingangspuffer verbunden ist, und einen Low-Speed-Eingangsweg mit einem vierten Register mit doppelter Datenrate, das mit einem zweiten Eingangspuffer verbunden ist. Der erste Ausgangspuffer, der zweite Ausgangspuffer, der erste Eingangspuffer und der zweite Eingangspuffer sind mit einem Pad verbunden.
  • Ein besseres Verständnis der Beschaffenheit und Vorteile der vorliegenden Erfindung kann aus der folgenden ausführlichen Beschreibung und den beiliegenden Zeichnungen gewonnen werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Diagramm eines Digitalsystems mit einer integrierten Schaltung mit programmierbarer Logik;
  • 2 ist ein Diagramm, das einen Grundflächenplan einer integrierten Schaltung mit programmierbarer Logik und einem eingebetteten Prozessor zeigt;
  • 3 ist ein vereinfachtes Blockdiagramm eines Logic Array Blocks (LAB);
  • 4 ist ein Diagramm, das den programmierbaren Logik-Abschnitt der integrierten Schaltung mit programmierbarer Logik zeigt;
  • 5 ist ein Blockdiagramm, das Eingangs- und Ausgangsschaltungen nach einer Ausführungsform der vorliegenden Erfindung zeigt;
  • 6 ist ein anderes Blockdiagramm, die Eingangs- und Ausgangsschaltungen nach einer Ausführungsform der vorliegenden Erfindung zeigt;
  • 7 ist ein detailliertes Blockdiagramm einer Eingabe- und Ausgabeschnittstelle nach einer Ausführungsform der vorliegenden Erfindung;
  • 8A ist ein Blockdiagramm, das mehr Details eines High-Speed-Differentialausgangs zeigt, der als HSOUT in 6, High-Speed-Ausgangsregister und der Differentialausgangspuffer in 7 oder andere Schaltungen in anderen Ausführungsformen der vorliegenden Erfindung verwendet werden kann;
  • 8B veranschaulicht eine anpassbare Verzögerungsleitung, die in Ausführungsformen der vorliegenden Erfindung verwendet werden kann;
  • 9A ist ein Ablaufdiagramm, das die Arbeitsweise der Ausgangsschaltung von 8A veranschaulicht;
  • 9B ist ein Ablaufdiagramm, das eine alternative Arbeitsweise der Ausgangsschaltung von 8A veranschaulicht;
  • 10 ist ein Blockdiagramm, das mehr Details eines High-Speed-Differentialeingangs zeigt, der als HSIN in 6, High-Speed-Eingangsregister und Differentialeingangspuffer in 7 oder andere Schaltungen in anderen Ausführungsformen der vorliegenden Erfindung verwendet werden kann;
  • 11A ist ein Ablaufdiagramm, das die Arbeitsweise der Eingangsschaltung von 10 veranschaulicht;
  • 11B ist ein Ablaufdiagramm, das eine alternative Arbeitsweise der Eingangsschaltung von 10 veranschaulicht;
  • 12 ist ein detaillierteres Blockdiagramm einer Ausgangsschaltung, die als die Ausgangs- und Ausgangs-Enable-Schaltungen in 6 oder als Ausgangsregister, Ausgangs-Enable-Register und Ausgangspuffer in 7 oder als andere Schaltungen in anderen Ausführungsformen der vorliegenden Erfindung verwendet werden kann;
  • 13 ist ein detaillierteres Blockdiagramm, das eine Ausgangsschaltung zeigt, die als die Eingangsschaltung in 6, als Eingangsregister und Eingangspuffer von 7 oder als andere Schaltungen in anderen Ausführungsformen der vorliegenden Erfindung verwendet werden kann;
  • 14 ist ein Blockdiagramm, das die Phasenregelkreise zeigt, die in einer Ausführungsform der vorliegenden Erfindung zur Erzeugung der globalen, lokalen und High-Speed-Takte verwendet werden; und
  • 15 ist ein Beispiel eines Phasenregelkreises, der als der Phasenregelkreis in 14 verwendet werden kann.
  • BESCHREIBUNG MÖGLICHER AUSFÜHRUNGSFORMEN
  • 1 zeigt ein Blockdiagramm eines Digitalsystems, in dem erfindungsgemäße Eingabe- und Ausgabeschnittsstellen implementiert werden können. Das System kann auf einer Einzelplatine, auf Mehrfachplatinen oder in Mehrfachgehäusen vorgesehen sein. Auch wenn Ausführungsformen der vorliegenden Erfindung allgemein in elektronischen und integrierten Schaltungen nützlich sind, sind sie in programmierbaren Logikbausteinen besonders sinnvoll.
  • 1 veranschaulicht ein System 101, in dem solch ein programmierbarer Logikbaustein 121 verwendet werden kann. Programmierbare Logikbausteine oder integrierte Schaltungen mit programmierbarer Logik werden auch als PALs, PLAs, FPLAs, PLDs, CPLDs, EPLDs; EEPLDs, LCAs oder FPGAs bezeichnet und sind wohlbekannte integrierte Schaltungen, die die Vorteile von festen integrierten Schaltungen mit der Flexibilität von kundenspezifischen integrierten Schaltungen versehen. Derartige Bausteine erlauben einem Benutzer, Standardlogikbausteine elektrisch zu programmieren, um den spezifischen Bedürfnissen eines Benutzers zu entsprechen. Beispiele gegenwärtiger programmierbarer Logikbausteine werden durch Ateras PLD-Serien Classic, MAX®, FLEX®, APECTM repräsentiert. Diese werden z.B. in den US-Patenten Nummer 4.617.479 , 4.871.930 , 5.241.224 , 5.258.668 , 5.260.610 , 5.260.611 , 5.436.575 und dem Altera Data Book (1999) beschrieben. Integrierte Schaltungen mit programmierbarer Logik und deren Arbeitsweise sind dem Fachmann wohlbekannt.
  • In der speziellen Ausführungsform von 1 ist eine Verarbeitungseinheit 101 mit einem Speicher 105 und einer E/A 111 gekoppelt und enthält einen programmierbaren Logikbaustein 121. Der PLD 121 kann eigens durch eine Verbindung 131 mit dem Speicher 105 und durch eine Verbindung 135 mit einer E/A 111 verbunden sein. Das System kann ein programmiertes digitales Computersystem sein, ein Digitalsignalverarbeitungssystem, ein spezialisiertes digitales Schaltnetz oder ein sonstiges Verarbeitungssystem sein. Überdies können solche Systeme für eine große Vielfalt von Anwendungen wie Telekommunikationssysteme, Kraftfahrzeugsysteme, Steuerungssysteme, Unterhaltungselektronik, Personal Computer, Internetkommunikation und Netzverbindungen ausgelegt sein, um nur einige Beispiele zu nennen.
  • Die Verarbeitungseinheit 101 kann Daten zur Verarbeitung oder Speicherung an eine geeignete Systemkomponente leiten, ein im Speicher 105 gespeichertes Programm ausführen oder mit der E/A 111 eingeben oder eine ähnliche Funktion ausführen. Die Verarbeitungseinheit 101 kann eine Zentraleinheit (CPU), ein Mikroprozessor, ein Fließkomma-Coprozessor, ein Graphik-Coprozessor, ein Hardware-Controller, ein Mikrocontroller, ein programmierbarer Logikbaustein, der zum Gebrauch als ein Controller programmiert wurde, ein Netzwerkcontroller oder eine sonstige Verarbeitungseinheit sein. In vielen Ausführungsformen besteht zudem oft nicht die Notwendigkeit einer CPU. Zum Beispiel können statt einer CPU ein oder mehrere PLDs 121 die logischen Operationen des Systems steuern. In einer Ausführungsform wirkt der PLD 121 als umkonfigurierbarer Prozessor, der bei Bedarf umprogrammiert werden kann, um eine bestimmte Rechenaufgabe durchzuführen. Alternativ dazu kann der programmierbare Logikbaustein 121 einen Prozessor einschließen. In einigen Ausführungsformen kann die Verarbeitungseinheit 101 sogar ein Computersystem sein. Der Speicher kann ein Schreib-und-Lese-Speicher (RAM), ein Nur-Lesen-Speicher (ROM), eine Festplatte oder eine Diskette, ein PC Card Flash-Disk-Speicher, ein Band oder jedes andere Mittel zur Informationsspeicherung und -wiederauffindung sein, oder jede Kombination aus diesen Mitteln. Der PLD 121 kann vielen verschiedenen Zwecken im System von 1 dienen. Der PLD 121 kann ein logischer Baustein der Verarbeitungseinheit 101 sein, der ihre internen und externen Operationen unterstützt. Der PLD 121 ist programmiert, um die logischen Funktionen zu implementieren, die notwendig sind, um seine spezifische Rolle im Systembetrieb zu erfüllen.
  • 2 ist ein vereinfachtes Blockdiagramm einer Gesamtinnenarchitektur und der Organisation eines PLDs. Viele Details der Architektur der programmierbaren Logik, der Organisation und des Schaltungsaufbaus sind für das Verständnis der vorliegenden Erfindung nicht erforderlich, und diese Details werden nicht gezeigt.
  • 2 zeigt eine zweidimensionale sechs-mal-sechs-Anordnung mit sechsunddreißig Logic Array Blocks (LABs) 200. Der LAB 200 ist ein physikalisch gruppierter Satz logischer Ressourcen, die konfiguriert oder programmiert sind, um logische Funktionen durchzuführen. Die Innenarchitektur eines LABs wird unten ausführlicher beschrieben. Die programmierbare Logikabschnitt kann jede beliebige Zahl von LABs enthalten. Allgemein werden in Zukunft dank des Fortschritts und der Verbesserungen der Technologie zweifellos programmierbare Logikbausteine mit einer größeren Zahl von Logic Array Bloch hergestellt werden. Zudem müssen die LABs nicht in einer quadratischen Matrix oder Array organisiert sein; das Array kann zum Beispiel in einer fünf-mal-sieben- oder in einer zwanzig-mal-siebzig-Matrix von LABs organisiert sein.
  • Der LAB 200 weist Eingänge und Ausgänge auf (nicht gezeigt) auf, von denen einige der vorliegenden Erfindung entsprechen können und die auf programmierbare Weise mit einer globalen Verbindungsstruktur verbunden sein können oder nicht, die eine Anordnung aus globalen horizontalen Verbindungen (GHs) 210 und globalen vertikalen Verbindungen (GVs) 220 umfaßt. Auch wenn sie in 2 als einzelne Linien dargestellt sind, kann jede GH 210 und GV 220-Leitung eine Vielzahl von Signalleitern darstellen. Die Eingänge und Ausgänge des LABs 200 können auf programmierbare Weise mit einer benachbarten GH 210 und einer benachbarten GV 220 verbunden werden. Durch Verwenden der Verbindungen GH 210 und GV 220 können mehrfache LABs 200 verbunden und kombiniert werden, um größere, komplexere Logikfunktionen zu implementieren als mit einem einzigen LAB 200 möglich wäre.
  • In einer Ausführungsform können GH 210- und GV 220-Leiter an Schnittpunkten 225 dieser Leiter auf programmierbare Weise verbindbar sein oder nicht. Überdies können GH 210- und GV 220-Leiter Mehrfachverbindungen zu anderen GH 210- und GV 220-Leitern herstellen. Verschiedene GH 210- und GV 220-Leiter können auf programmierbare Weise miteinander verbunden werden, um einen Signalweg von einem LAB 200 an einer Stelle des PLD-Abschnitts 154 zu einem anderen LAB 200 an einer anderen Stelle des PLD-Abschnitts 154 herzustellen. Ein Signal kann eine Vielzahl von Schnittpunkten 225 durchlaufen. Zudem kann ein Ausgangssignal von einem LAB 200 in die Eingänge eines oder mehrerer LABs 200 geleitet werden. Mit der globalen Verbindung können Signale aus einem LAB 200 auch zum selben LAB zurückgeführt werden. In spezifischen Ausführungsformen der vorliegenden Erfindung sind nur ausgewählte GH 210-Leiter auf programmierte Weise mit einer Auswahl von GV 220-Leitern verbindbar. Überdies können in weiteren Ausführungsformen GH 210- und GV 220-Leiter spezifisch benutzt werden, um Signale in einer spezifischen Richtung wie z.B. Eingang oder Ausgang durchzulassen, aber nicht in beiden.
  • In anderen Ausführungsformen kann die integrierte Schaltung mit programmierbarer Logik eine spezielle oder segmentierte Verbindung aufweisen, die mit einer spezifischen Zahl von LABs verbunden ist, und nicht unbedingt mit einer ganzen Reihe oder Spalte von LABs. Zum Beispiel kann die segmentierte Verbindung auf programmierbare Weise zwei, drei, vier, fünf oder mehr LABs verbinden.
  • Die programmierbare Logikarchitektur in 2 zeigt ferner Eingangs- und Ausgangsschaltungen 230 an den Rändern des Chips. Eingangs- und Ausgangsschaltungen 230 dienen dazu, den PLD an externe, nicht auf dem Chip befindliche Schaltungen anzuschließen. Einige oder alle dieser Eingangs- und Ausgangsschaltungen 230 können Ausführungsformen der vorliegenden Erfindung entsprechen. 2 zeigt zweiunddreißig Eingangs- und Ausgangsschaltungen 230; doch eine integrierte Schaltung mit programmierbarer Logik kann eine Zahl von Eingangs- und Ausgangsschaltungen enthalten, die größer oder kleiner ist als die dargestellte Zahl. Wie oben erläutert, können einige dieser Eingangs-/Ausgangstreiber vom eingebetteten Prozessor und pro grammierbaren Logikabschnitten gemeinsam benutzt werden. Jede Eingangs- und Ausgangsschaltung 230 ist konfigurierbar, um als Eingangstreiber, Ausgangstreiber oder bidirektionaler Treiber benutzt zu werden. In anderen Ausführungsformen einer integrierten Schaltung mit programmierbarer Logik können die Eingangs- und Ausgangsschaltungen 230 im Kern der integrierten Schaltung selbst integriert sein. Diese eingebettete Anordnung der Eingangs- und Ausgangsschaltungen 230 kann mit Flip-Chip-Packaging verwendet werden und wird Störungen des Routings der Signale zu Eingangs- und Ausgangsschaltungen minimieren.
  • 3 zeigt ein vereinfachtes Blockdiagramm des LABs 200 von 2. Der LAB 200 besteht aus einer variierenden Zahl von Logikelementen (LEs) 300, die manchmal als „Logikzellen" bezeichnet werden, und einer lokalen (oder internen) Verbindungsstruktur 310. Der LAB 200 weist acht LEs 300 auf, doch der LAB 200 kann eine Zahl von LEs aufweisen, die größer oder kleiner als acht ist.
  • Hier wird ein allgemeiner Überblick des LEs 300 gegeben, der ausreicht, um ein Grundverständnis der vorliegenden Erfindung zu ermöglichen. Das LE 300 ist der kleinste Logikbaustein eines PLDs. Signale, die extern zum LAB sind, wie z.B. von GHs 210 und GVs 220, werden auf programmierbare Weise durch die lokale Verbindungsstruktur 310 mit dem LE 300 verbunden. In einer Ausführungsform enthält das erfindungsgemäße LE 300 einen Funktionsgenerator, der programmierbar ist, um eine logische Funktion mit einer Anzahl von Variablen durchzuführen, wie z.B. eine Boolesche Operation mit vier Variablen. Neben kombinatorischen Funktionen unterstützt das LE 300 sequentielle und registrierte Funktionen zum Beispiel durch D-Flipflops.
  • Das LE 300 stellt kombinatorische und registrierte Ausgaben bereit, die mit den GHs 210 und GVs 220 außerhalb des LABs 200 verbindbar sind. Zudem können die Ausgaben vom LE 300 intern in die lokale Verbindungsstruktur 310 rückgeführt werden; über die lokale Verbindungsstruktur 310 kann eine Ausgabe von einem LE 300 auf programmierbare Weise mit den Eingängen anderer LEs 300 verbunden werden, ohne die GHs 210 und GVs 220 der globalen Verbindungsstruktur zu benutzen. Die lokale Verbindungsstruktur 310 erlaubt die Nahverbindung von LEs ohne die begrenzten globalen Ressourcen, GHs 210 und GVs 220, zu in Anspruch zu nehmen.
  • 4 zeigt eine programmierbare Logikarchitektur. Die Architektur in 4 umfaßt außerdem (kleine) Embedded Array Blocks (EABs). EABs enthalten Benutzerspeicher, einen flexiblen RAM-Block. Eine ausführlichere Erläuterung dieser Architektur ist im Altera Data Book (1999) in der Beschreibung der FLEX 10K-Produktfamilie und auch im US-Patent Nummer 5.550.782 zu finden. Einige oder alle Eingangs-/Ausgangselemente können den Ausführungsformen der vorliegenden Erfindung entsprechen. Die Embedded Array Blocks können als FIFOs konfiguriert sein, die als Frequenzumsetzer und Seriell-Parallel-Umsetzer wirken, um als Schnittstelle zwischen den High-Speed-Eingängen und Ausgängen und den die Logic Array Blocks enthaltenden Kernschaltungen zu dienen. Andere Architekturen wie Alteras Produktfamilien APEXTM und StratixTM werden in ihren jeweiligen Datenblättern im Detail beschrieben, die von Atera Corporation, 101 Innovation Drive, San Jose, CA 95134 erhältlich sind.
  • 5 ist ein Blockdiagramm, das Eingangs- und Ausgangsschaltungen nach einer Ausführungsform der vorliegenden Erfindung zeigt. Eingeschlossen sind eine Low-Speed-Ausgangsschaltung 530, ein Low-Speed-Ausgangspuffer 550, eine High-Speed-Ausgangsschaltung 535, ein High-Speed-Ausgangspuffer 555, ein Low-Speed-Eingangspuffer 560, eine Low-Speed-Eingangsschaltung 540, ein High-Speed-Eingangspuffer 565, eine High-Speed-Eingangsschaltung 545, Multiplexer 570 und 575, und Pads P1 510 und P2 520. Die Low-Speed-Ausgangsschaltung 530 und der Low-Speed-Ausgangspuffer 550 formen einen Low-Speed-Ausgangsweg, um dem Pad P1 510 Signale von Kernschaltungen zuzuführen. Ein High-Speed-Ausgangsweg wird durch die High-Speed-Ausgangsschaltung 535 und den High-Speed-Ausgangspuffer 555 bereitgestellt. Dieser Weg empfängt Signale von FIFOs oder anderen Kernschaltungen und stellt eine Differentialausgabe an Pads P1 510 und P2 520 bereit.
  • Der Low-Speed-Eingangspuffer 560 und die Low-Speed-Eingangsschaltung 540 formen einen Low-Speed-Eingangsweg, um am Pad P1 510 Signale zu empfangen und den Kernschaltungen Ausgaben bereitzustellen. Ein High-Speed-Eingangsweg wird durch einen High-Speed-Eingangspuffer 565 und eine High-Speed-Eingangsschaltung 545 bereitgestellt. Dieser Weg empfängt an Pads P1 510 und P2 520 Differentialeingaben und führt die Signale FIFOs oder anderen Schaltungen im Kern zu.
  • Zusätzlich stellt der Multiplexer 570 einen Low-Speed-Weg bereit, der die Low-Speed-Ausgangsschaltung 530 und den High-Speed-Differentialausgangspuffer 555 umfaßt. Auf diese Weise können Low-Speed-Signale von den Kernschaltungen als Differentialausgangssignale bereitgestellt werden. Dementsprechend können Differentialeingangssignale vom High-Speed-Eingangspuffer 565 empfangen werden und durch den Multiplexer 575 der Low-Speed-Eingangsschaltung 540 zugeführt werden. Auf diese Weise kann ein Low-Speed-Differentialeingangssignal empfangen und an die Kernschaltungen ausgegeben werden.
  • In einer spezifischen Ausführungsform der vorliegenden Erfindung sind die Low-Speed-Ausgangsschaltung 530, die High-Speed-Ausgangsschaltung 535, die Low-Speed-Eingangsschaltung 540 und die High-Speed-Eingangsschaltung 545 Register mit doppelter Datenrate. Die Bezeichnungen High-Speed (hohe Geschwindigkeit) und Low-Speed (niedrige Geschwindigkeit) sind relativ und stehen für keine spezifische Datenrate.
  • 6 ist ein anderes Blockdiagramm, das Eingangs- und Ausgangsschaltungen nach einer anderen Ausführungsform der vorliegenden Erfindung zeigt. Diese Zeichnung wird wie alle anderen Zeichnungen nur als Beispiel gezeigt und schränkt die möglichen Ausführungsformen der Erfindung oder die Ansprüche in keiner Weise ein.
  • Eingeschlossen sind Pads P1 610 und P2 620, ein Eingangsblock IN1 650, ein Ausgangsblock OUT1 670, ein High-Speed-Ausgangsblock HSOUT 680, ein High-Speed-Eingangsblock HSIN 690, ein Ausgangsblock OUT2 675 und ein Eingangsblock IN2 655. Es sind auch Ansgangs-Enable-Blöcke OE1 660 und OE2 665 eingeschlossen.
  • Jeder Eingangs-, Ausgangs- und Ausgangs-Enable-Block kann synchron oder asynchron sein. In einer Ausführungsform sind globale (GLCK) und lokale (LCLK) Taktleitungen 630 und High-Speed-Taktleitungen (HCLK) 640 vorgesehen. In einer spezifischen Ausführungsform der vorliegenden Erfindung sind den Schaltungen in der ganzen integrierten Schaltung mehrere globale Takte mit langsamer oder moderater Geschwindigkeit verfügbar. Zusätzlich sind mehrere lokale Takte mit langsamer oder moderater Geschwindigkeit verfügbar.
  • Diese lokalen Takte sind nur einem Teil der integrierten Schaltung verfügbar und werden zu diesem geroutet, zum Beispiel einem Viertel der integrierten Schaltung.
  • Zusätzlich zu diesen langsamen und moderaten Takten sind auch mehrere High-Speed-Takte, HCLKs 640, verfügbar. Diese Takte können wie die lokalen und globalen Taktleitungen Einfach- oder Differentialtakte sein. Die Begriffe niedriger, moderater und hoher Takt sind relativ gemeint, und für den Fachmann versteht es sich, daß, was nun eine hohe Geschwindigkeit ist, bald eine moderate Geschwindigkeit sein wird.
  • Eingangs- und Ausgangsleitungen zu und von den Eingangs- und Ausgangsblöcken können direkt zu und von Logikgattern oder Logic Array Blocks im Kern der integrierten Schaltung vorgesehen sein. Alternativ dazu können diese Eingangs- und Ausgangssignale zu und von First-in-first-out (FIFO)-Speichern zugeführt werden, die als Datenpuffer oder Frequenzumsetzer dienen können.
  • Diese Eingangs- und Ausgangsschaltungen sind derart wählbar, daß die Pads P1 610 und P2 620 bereitstellen können:
    einen High-Speed-Differentialausgang;
    einen High-Speed-Differentialeingang;
    einen moderaten oder Low-Speed-Differentialausgang;
    einen moderaten oder Low-Speed-Differentialeingang;
    zwei Eintakteingänge;
    zwei Eintaktausgänge; oder
    einen Eintakteingang und einen Eintaktausgang.
  • Signalwege sind durch Multiplexersignale, öffnende und kurzschließende Durchlass-Bauelemente oder durch Verwendung anderer Wählstrukturen wählbar. Eine spezifische Ausführungsform verwendet Multiplexer, um Schaltungen mit den Eingangs- und Ausgangspads zu verbinden oder von diesen zu trennen. Die Eingangs- und Ausgangsschaltungen anderer Ausführungsformen können derart wählbar sein, daß sie mehr, andere oder weniger Arten von Eingängen und Ausgängen als in der obigen Liste bereitstellen.
  • Wenn die Schaltung in 6 als High-Speed-Ausgang konfiguriert ist, ist der High-Speed-Ausgangsblock HSOUT 680 gewählt, während die anderen Blöcke deaktiviert sind. Das Ausgangssignal DOH wird auf der Leitung 684 empfangen. Das Signal DOH kann von Logikgattern im Kern der integrierten Schaltung oder von einem FIFO empfangen werden. DOH kann zum Beispiel von einem FIFO bereitgestellt werden, der von Schaltungen in der integrierten Schaltung Daten mit einer niedrigen oder moderaten Frequenz empfängt und Daten mit einer höheren Frequenz ausgibt. Ein Taktsignal wird auf der Leitung 682 empfangen, die durch Durchlass-Gatter 642 auf selektive Weise mit einem der High-Speed-Takte 640 gekoppelt ist. Ein Ausgangs-Enable-Signal OEH wird auf der Leitung 683 empfangen, das die High-Speed-Ausgangsschaltung aktiviert oder deaktiviert. High-Speed-Differentialausgänge werden an den Pads P1 610 und P2 620 bereitgestellt.
  • Wenn die Schaltung in 6 konfiguriert ist, um einen High-Speed-Differentialeingang bereitzustellen, ist der High-Speed-Eingangsblock 690 gewählt, während die anderen Eingangs- und Ausgangsschaltungen abgewählt sind. Die High-Speed-Differentialeingaben werden an den Pads P1 610 und P2 620 empfangen. Das High-Speed-Signal DIH wird dem Kern der integrierten Schaltung auf Leitung 694 zugeführt. Das Signal DIH kann von High-Speed-Schaltungen in der integrierten Schaltung empfangen werden, oder es kann von einem FIFO empfangen werden, dessen Ausgang mit einer geringeren Geschwindigkeit getaktet wird. Ein High-Speed-Taktsignal wird dem High-Speed-Eingangsblock auf der Leitung 692 zugeführt, die durch die Durchlass-Bauelemente 644 auf selektive Weise mit einem der High-Speed-Takte 640 gekoppelt ist.
  • Diese Schaltung kann auch so konfiguriert sein, daß jedes Pad einen Eintaktausgang mit moderater oder geringer Geschwindigkeit bereitstellt. Zum Beispiel kann der Ausgangsblock OUT1 670 gewählt sein, während der High-Speed-Ausgangsblock HSOUT 680 und der Eingangsblock IN1 650 abgewählt sind. Der Ausgangsblock OUT1 670 stellt ein Ausgangssignal auf der Leitung 612 zum Ausgangspad P1 610 bereit. Das Eingangssignal DO1 wird auf Leitung 674 empfangen, wieder von Kernschaltungen oder von einem Umsetz-FIFO. Ein Taktsignal mit niedriger oder moderater Geschwindigkeit von einem der globalen und lokalen Takte 630 wird durch das Durchlass-Bauelement 634 auf der Leitung 672 empfangen. Der Ausgangsblock OUT1 kann durch Ausgangsaktivierungsschaltungen OE1 660 aktiviert und deaktiviert werden. In diesem spezifischen Beispiel haben die Ausgangsaktivierungsschaltung 660 und die Ausgangsschaltung 670 auf Leitung 672 das gleiche Taktsignal empfangen. In anderen Ausführungsformen können diese Blöcke verschiedene Taktsignale empfangen. Der Ausgangsaktivierungsblock OE1 660 empfangt ein Ausgangs-Enable-Signal 664 vom Kern der integrierten Schaltung und stellt auf Leitung 661 zum Ausgangsblock OUT1 670 ein Freigabesignal bereit. Entsprechende Schaltungen werden vom Ausgangsblock OUT2 675 und dem Ausgangs-Enable-Block OE2 665 vorgesehen, die mit dem Pad 2 620 gekoppelt sind.
  • Die Schaltungen von 6 können auch so konfiguriert sein, daß ein oder beide Pads P1 610 und P2 620 auch ein Eintakteingangssignal empfangen können. Zum Beispiel kann ein Eintakteingangssignal am Pad P1 610 empfangen werden und auf Leitung 612 der Eingangsschaltung IN1 650 zugeführt werden. Die Eingangsschaltung IN1 650 führt dem Rest des Chips auf Leitung DI1 654 ein Eingangssignal zu. DI1 ist kann Kernschaltungen in der integrierten Schaltung oder einem FIFO zugeführt werden, wie zuvor. Ein Taktsignal wird durch Durchlass-Bauelemente 632 von einem der globalen oder lokalen Takte auf Leitung 652 empfangen. Eine entsprechende Schaltung wird vom Eingangsblock IN2 655 bereitgestellt, der mit dem Pad P2 620 gekoppelt ist.
  • Zusätzlich sind weitere Signalleitungen vorgesehen, wie die Signalleitung 693, die einen Weg bereitstellt, der diesen Schaltungen erlaubt, als Differentialeingang mit niedriger oder moderater Geschwindigkeit konfiguriert zu werden, wobei eine Differentialeingabe, die an Pads P1 610 und P2 620 empfangen wird, auf Leitung 654 als eine Ausgabe DI1 bereitgestellt wird. Zusätzlich ist ein Signalweg 673 derart vorgesehen, daß ein Ausgangssignal DO1 674 mit moderater oder niedriger Geschwindigkeit, das vom Ausgangsblock OUT1 670 empfangen wird, den Pads P1 610 und P2 620 als eine Differentialausgabe zugeführt wird.
  • Die flexibleren, langsameren Eingangs- und Ausgangsschaltungen bieten zusätzliche Konfigurierbarkeit. Zum Beispiel können langsamere Schaltungen auf selektive Weise eine größere Anzahl von Taktleitungen koppeln, die bei verschiedenen Frequenzen und verschiedenen Phasen betrieben werden. Auch JTAG Bounday-Prüfung kann unterstützt werden. In einer spezifischen Ausführungsform ist am Ausgangspuffer oder -treiber ein Ausgangs-Enable-Signal mit genauerer Zeitsteuerung verfügbar, und die langsameren Schaltungen können entweder mit einem FIFO oder direkt mit den Kern-Logic Array Blocks gekoppelt werden, während die schnelleren Eingangs- und Ausgangsschaltungen typischerweise die Frequenzumsetzungsfähigkeiten eines FIFOs erfordern. Die langsameren Schaltungen schließen auch Presets, Clear- und Enable-Funktionen ein, im Gegensatz zu nur einer Clear-Funktion bei der High-Speed-Schaltung. Da die langsameren Schaltungen zudem Eintaktschaltungen sind, können zwei Pads als zwei Ausgangspads, zwei Eingangspads oder 1 Eingangs- und 1 Ausgangspad für die Schaltungen mit niedrigerer Geschwindigkeit verwendet werden, wogegen nur für einen High-Speed-Eingang oder Ausgang aufgrund ihrer differentialen Beschaffenheit zwei Pads erforderlich sind.
  • 7 ist ein Blockdiagramm einer Eingangs- und Ausgangsschnittstelle nach einer Ausführungsform der vorliegenden Erfindung. Eingeschlossen sind Pads P1 710 und P2 720, die mit Eingangs- und Ausgangsschaltungen 701 verbunden sind, welche die Schnittstelle zu Kernschaltungen 702 und FIFOs 715 und 725 bilden. Oft sind die Kernschaltungen 702 und FIFOs 715 und 725 im Zentrum einer integrierten Schaltung angeordnet, während die Eingangs- und Ausgangsschaltungen 701 um den Umfang der integrierten Schaltung herum angeordnet sind und die Pads an ihrer Kante entlang angeordnet sind.
  • Die Eingangs- und Ausgangsregister können beide Register mit doppelter Datenrate sein. Alternativ dazu kann jedes Register ein Einzelflipflop sein. Dementsprechend kann jede Eingangs- und Ausgangsleitung vom Register zu den FIFOs 715 und 725 eine oder mehrere Datenleitungen sein. Wenn zum Beispiel ein Ausgangsregister ein Register mit doppelter Datenrate ist, kann die gezeigte Eingangsleitung aus zwei Datenleitungen bestehen. Jede Datenleitung kann eine Leitung zur Eintaktsignalisierung oder zwei Leitungen zur differentiellen Signalisierung sein aufweisen. Wenn ein Register mit doppelter Datenrate mit einem FIFO gekoppelt ist, kann jeder gezeigte FIFO ein einzelner FIFO mit zwei Ausgängen oder zwei separate FIFOs sein.
  • Ein High-Speed-Differentialausgangsweg wird durch den FIFO 715, das Ausgangsregister 780, den Multiplexer 781 und den Differentialausgangspuffer oder -treiber 782 bereitgestellt. Wenn die Schaltung von 7 auf selektive Weise konfiguriert ist, um einen High-Speed-Differentialausgang bereitzustellen, sind diese Schaltungen typischerweise auf selektive Weise aktiviert, während die anderen Schaltungen deaktiviert sind. Zum Beispiel können die aktivierten Schaltungen durch einen Multiplexer mit den Ausgangspads gekoppelt sein, während die deaktivierten Schaltungen durch andere Multiplexer getrennt sind. Um Strom zu sparen, können die Takteingänge zu den deaktivierten Schaltungen auch getrennt sein, das heißt, nicht durch ein Durchlass-Bauelement oder eine andere Verbindung mit einer aktiven Taktleitung verbunden sein. Diese Multiplexer, Durchlass-Bauelemente und sonstigen Verbindungen können durch pro grammierbare Bits, dynamische Signale oder durch andere Mittel gesteuert werden. Programmierbare Bits können in ERPROM-, Flash-, SRAM-, DRAM-, MRAM-, Kurzschluss-, Sicherungs- oder andere Schaltungen gespeichert werden. Dynamische Signale können von Kern-Logikblocke, externe Schaltungen oder anderen Quellen erzeugt werden.
  • Der FIFO 715 empfangt ein Eingangssignal (nicht gezeigt) von den Kernschaltungen und stellt eine Ausgabe bereit, die mit der Eingabe der High-Speed-Ausgangsregister 780 gekoppelt ist. Oft wirkt der FIFO 715 als ein Puffer und Frequenzumsetzer zwischen den Kernschaltungen mit niedrigerer Frequenz und dem Hochfrequenz-Differentialausgang. Das High-Speed-Ausgangsregister 780 wird von einer der High-Speed-Taktleitungen 740 getaktet. Die Ausgabe des High-Speed-Registers wird dem Multiplexer 781 zugeführt, der seinerseits den Ausgangspuffer 782 treibt. Der Ausgangspuffer 782 führt den Pads P2 720 und P1 710 Umkehr- und Nichtumkehrausgangssignale zu. Der Differentialausgangspuffer 782 kann Ausgangssignale bereitstellen, die auf selektive Weise mit einem oder mehreren Standards oder Konventionen kompatibel sind. Zum Beispiel kann der Ausgangspuffer 782 Ausgangssignale bereitstellen, die mit einem oder mehreren der folgenden kompatibel sind: LVDS, LVPECL, Hypertransport und PCML. Diese Hochfrequenz-Eingangs- und Ausgangsstandards und Konventionen benötigen typischerweise eine differentielle Signalisierung. Daher erfordern die High-Speed-Eingangs- und Ausgangsschaltungen oft die Verwendung von zwei Pads.
  • Ein High-Speed-Differentialeingangsweg wird durch den Differentialeingangspuffer oder- treiber 791, das High-Speed-Eingangsregister 790, den Multiplexer 793 und den FIFO 725 bereitgestellt. Wenn die Eingangs- und Ausgangsschaltungen von 7 auf selektive Weise konfiguriert sind, um einen High-Speed-Differentialeingang bereitzustellen, sind diese Schaltungen typischerweise aktiviert, während die restlichen Schaltungen deaktiviert sind. Ein High-Speed-Differentialeingangssignal wird an den Pads PA 710 und P2 720 empfangen und dem Differentialeingangspuffer 791 zugeführt, der dem High-Speed-Eingangsregister 790 ein Eingangssignal zuführt. Das High-Speed-Eingangsregister 790 stellt durch den Multiplexer 793 eine Ausgabe zum FIFO 725 bereit. Das High-Speed-Eingangsregister 790 wird von einem der High-Speed-Takte HCLKs 740 getaktet. Der FIFO 725 gewährleistet typischerweise eine Frequenzumsetzung für die High-Speed-Eingangsregister zu den langsameren Kernschaltungen im Kern 702. Der Differentialeingangspuffer 791 kann Eingangssignale empfangen, die mit einem oder mehreren Standards oder Konventionen kompatibel sind. Zum Beispiel kann der Eingangspuffer 791 Eingangssignale empfangen, die kompatibel mit einem oder mehreren des Folgenden sind: LVDS, LVPECL, Hypertransport und PCML.
  • Ein Eintaktausgangssignal kann durch das Ausgangsregister 770 und den Ausgangspuffer oder- treiber 771 am Pad P1 710 bereitgestellt werden. Wenn ein Eintaktausgangssignal am Pad 710 bereitgestellt wird, sind diese Schaltungen typischerweise aktiv, während die anderen zugehörigen Schaltungen in den Eingangs- und Ausgangsschaltungen 701 wie z.B. das Eingangsregister 750, der Eingangspuffer 751, das High-Speed-Ausgangsregister 780 und das High-Speed-Eingangsregister 790 inaktiv sind. Signale werden am Ausgangsregister 790 von Kernschaltungen 702 oder vom FIFO 715 empfangen. Das Ausgangsregister 770 führt Ausgangssignale dem Eintaktausgangspuffer 771 zu, der seinerseits das Pad P1 710 treibt. Der Ausgangspuffer 771 kann durch das Ausgangs-Enable-Register 760 aktiviert oder deaktiviert werden. Das Ausgangsregister 770 und das Ausgangs-Enable-Register 760 können durch wahre oder komplementäre Versionen eines der globalen oder lokalen Takte 730 getaktet werden. In diesem spezifischen Beispiel sind Taktmultiplexer 763 und 773, die jeweils das Ausgangs-Enable-Register 760 und das Ausgangsregister 770 takten, mit der gleichen Taktleitung gekoppelt. In anderen Ausführungsformen können diese Multiplexer mit verschiedenen Taktleitungen gekoppelt sein. Der Ausgangspuffer 771 kann Ausgaben bereitstellen, die mit einem oder mehreren Standards oder Konventionen kompatibel sind. Zum Beispiel kann der Ausgangspuffer 771 Signale bereitstellen, die mit einem oder mehreren des Folgenden kompatibel sind: LVTTL, LVCMOS, SSTL und TTL. Dementsprechend können Eintaktausgangssignale dem Pad P2 720 durch das Ausgangsregister 775 und den Ausgangspuffer 776 zugeführt werden, das vom Ausgangs-Enable-Register 765 aktiviert wird.
  • Eintakteingangssignale können vom Pad P1 710 mit dem Eingangspuffer 751 und dem Eingangsregister 750 empfangen werden. Wenn am Pad P1 Eintakteingangssignale empfangen werden, sind diese Schaltungen typischerweise aktiv, während die anderen zugehörigen Schaltungen wie z.B. das Ausgangsregister 770, der Ausgangspuffer 771, das Ausgangs-Enable-Register 760, das High-Speed-Ausgangsregister 780 und das High-Speed-Eingangsregister 790 inaktiv sind. Am Pad P1 710 empfangene Signale werden auf der Leitung 712 zum Eingangspuffer 751 geroutet. Der Eingangspuffer 751 kann einem oder mehreren Standards oder Konventionen entsprechen. Zum Beispiel kann der Eingangspuffer 751 einem oder mehreren von Folgendem entsprechen: LVTTL, LVCMOS, SSTL und TTL. Der Eingangspuffer 751 führt ein Eingangssignal dem Eingangsregister 750 zu, das seinerseits den FIFO 725 oder andere Schaltungen im Kern 702 treiben kann. Das Eingangsregister 750 wird vom Multiplexer 753 durch wahre oder komplementäre Versionen eines Taktsignals von einer der globalen oder lokalen Taktleitungen 730 getaktet. Dementsprechend können Eintakteingangssignale vom Pad P2 720 durch den Puffer 756 empfangen werden, der das Eingangsregister 755 treibt.
  • Diese Eingangs- und Ausgangsschaltungen 701 können auf selektive Weise in anderen Konfigurationen aktiviert werden. Zum Beispiel kann die Ausgabe des Differentialeingangspuffers 791 durch den Multiplexer 752 zum Eingangsregister 750 geroutet werden. Auch die Ausgabe des Ausgangsregisters 770 kann durch den Multiplexer 781 zum Differentialausgangspuffer 782 geroutet werden. In anderen Ausführungsformen der vorliegenden Erfindung können andere Kombinationen von Eingangs- und Ausgangsschaltungen 701 auf selektive Weise aktiviert werden und auf selektive Weise mit FIFOs 715 und 725 und Kernschaltungen 702 gekoppelt werden.
  • Die FIFOs 715 und 725 gewährleisten eine Frequenzumsetzung zwischen den High-Speed-Eingangs- und Ausgangsschaltungen und den langsameren Kern-Logic Array Blocks. Das heißt, jeder FIFO kann aus einem Small Embedded Array Block (SEAB) oder aus einem anderen eingebetteten Speicherblock bestehen. Ein SEAB ist ein eingebetteter Speicherblock-Typ, der in Alters Stratix-Geräten zu finden ist. Wenn die Schaltung von 7 als High-Speed-Eingang konfiguriert ist, werden Datensignale vom High-Speed-Eingangsregister 790 seriell empfangen und vom FIFO 725 gespeichert. Diese Daten können vom FIFO 725 auf eine von zwei Weisen mit einer niedrigeren Frequenz ausgegeben werden. Zuerst kann der Leseanschluss des FIFOs 725 breiter als sein Schreibanschluss sein. Dadurch führt der FIFO 725 eine Seriell-Parallel-Umwandlung durch, die die High-Speed-Eingangsdaten in eine niedrigere Frequenz umwandelt. Zweitens kann der Leseanschluss des FIFOs 725 bei einer niedrigeren Frequenz getaktet sein als sein Schreibanschluss. Dadurch werden High-Speed-Daten, die mit einer höheren Frequenz seriell geschrieben werden, mit einer niedrigeren Frequenz seriell gelesen. In diesem Fall ist darauf zu achten, daß Pufferüberläufe vermieden werden. Wenn die Schaltung von 7 als High-Speed-Ausgang konfiguriert ist, können Datensignale von den Kern-Logic Array Blocks seriell oder parallel vom FIFO 715 empfangen werden. Wenn Daten vom FIFO 715 parallel empfangen werden, können sie zum High-Speed-Ausgangsregister 770 seriell ausgelesen werden. Dies gewährleistet wieder eine Frequenzumsetzung von den langsameren Kern-Logic Array Blocks zum High-Speed-Ausgangsregister 770. Wenn Daten alternativ dazu vom FIFO 715 seriell empfangen werden, können sie mit einer höheren Frequenz seriell ausgetaktet werden und dem Ausgangsregister 770 zugeführt werden. In diesem Fall ist darauf zu achten, daß Pufferunterläufe vermieden werden.
  • 8A ist ein Blockdiagramm, das mehr Details eines High-Speed-Differentialausgangs zeigt, das als HSOUT 680 in 6, das High-Speed-Ausgangsregister 780 und der Differentialausgangspuffer 782 in 7 oder andere Schaltungen in anderen Ausführungsformen der vorliegenden Erfindung verwendet werden kann. Eingeschlossen sind FIFOs 825a und 825b, Flipflops 880a und 880b, ein Multiplexer 850 und ein Ausgangspuffer 882. Die FIFOs 825a und 825b können alternativ dazu ein FIFO mit zwei Ausgängen sein. Die Flipflops 880a und 880b und der Multiplexer 850 formen ein Ausgangsregister mit doppelter Datenrate. Ein zweiter Multiplexer, der mit dem Ausgang des Multiplexers 850 verbunden ist, kann zur Bereitstellung eines anderen Signalwegs für den Zugriff auf den Differentialausgangspuffer 882 verwendet werden. Dieser zweite Multiplexer kann auch benutzt werden, um die High-Speed-Register vom Ausgangspuffer zu trennen, wenn der High-Speed-Ausgang deaktiviert und nicht gewählt ist. Zusätzliche Multiplexer oder Durchlass-Bauelemente können in die Registerdaten- und Takteingabewege eingefügt werden, um diesen Weg zu deaktivieren und Strom zu sparen. Für den Fachmann versteht es sich, daß an diesen Schaltungen andere Modifikationen vorgenommen werden können, die der vorliegenden Erfindung entsprechen.
  • Eingangssignale werden auf Leitungen DIN1 821 und DIN2 822 von FIFOs 825a und 825b empfangen. In diesem Beispiel werden die Eingangssignale durch globale oder lokale Takte 830, die von Durchlass-Bauelementen 834 und 832 gewählt werden, in die FIFOs eingetaktet. Der FIFO 825a stellt eine Ausgabe bereit, die vom Flipflop 880a empfangen wird. Der FIFO 825b stellt eine Ausgabe bereit, die vom Flipflop 880b empfangen wird. Die Ausgangssignale der FIFOs 825a und 825b werden durch High-Speed-Taktleitungen 840 getaktet, die von Durchlass-Bauelementen 846 und 844 gewählt werden. Auch die Flipflops 880a und 880b werden von einer der High-Speed-Taktleitungen 840 getaktet, die vom Durchlass-Bauelement 842 gewählt wurde. Die Ausgaben der Flipflops 880a und 880b werden dem Multiplexer 850 als Ausgabe zugeführt, dessen Ausgang durch das gleiche Taktsignal wie das von den Flipflops empfangene gewählt wird. Die Ausgabe des Multiplexers 850 wird dem High-Speed-Differentialausgangspuffer 882 zugeführt, der seinerseits die Pads P1 810 und P2 820 treibt.
  • Durch Multiplexieren zwischen Flipflops 880a und 880b bei jedem Taktzyklus entspricht die Datenrate des Ausgangssignals dem Zweifachen von der der Flipflopausgaben Q1 811 und Q2 812. Überdies können Daten an den FIFO-Eingängen DIN1 821 und DIN2 822 parallel empfangen werden. Zum Beispiel können vier Datenbits vom FIFO 825a am Eingang DIN1 821 empfangen werden, und vier Datenbits können vom FIFO 825b am Eingang DIN2 822 empfangen werden, Vier Bits von jedem FIFO können mit der vierfachen Datenrate der Datenübertragung an DIN1 821 und DIN2 822 in die Flipflops 880a und 880b eingetaktet werden. Durch Multiplexieren der Ausgaben der Flipflops 880a und 880b mit dem Multiplexer 850 wird die Datenrate erneut effektiv verdoppelt, was im Vergleich zu DIN1 821 und DIN2 822 eine Erhöhung in der Datenrate von VOUT um einen Faktor acht ergibt. In anderen Ausführungsformen können mehr oder weniger als vier Bits von FIFOs parallel empfangen werden, was zu höheren oder niedrigeren Datenumsetzungsgeschwindigkeiten führt.
  • Wenn der Ausgang des FIFOs 825a auf logisch eins gehalten wird und der Ausgang des FIFOs 825b auf logisch null gehalten wird, ist das resultierende Ausgangssignal ein High-Speed-Takt, der alternierende Nullen und Einsen aufweist. Das heißt, wenn DIN1 auf Leitung 811 auf logisch eins gehalten wird und DIN2 auf Leitung 822 auf logisch null gehalten wird, ist die Ausgabe des FIFOs 825a und daher Q1 auf Leitung 811 logisch eins, während die Ausgabe des FIFOs 825b und daher Q2 auf Leitung 812 logisch null ist. Der Multiplexer 850 wählt alternierend zwischen dem Eins-Signal Q1 auf Leitung 811 und dem Null-Signal Q2 auf Leitung 812, wodurch ein Taktsignal erzeugt wird. Alternativ dazu können die Flipflops 880a und 880b mit Multiplexer gekoppelt werden, die als wählbare Eingaben logisch eins- oder logisch null-Pegel haben.
  • Eine Clear-Leitung ist auf der Leitung 885 zu den Flipflops 880a und 880b vorgesehen. Um die höchstmögliche Geschwindigkeit zu erreichen, ist es wünschenswert, die Funktionalität der Flipflops 880a und 880b zu begrenzen. Daher weisen diese Flipflops keine Preset- oder Enable-Leitungen auf. In anderen Ausführungsformen können diese Leitungen enthalten sein. In anderen Ausführungsformen kann keine Clear-Leitung enthalten sein, wodurch der Aufbau der Flipflops 880a und 880b sogar zusätzlich vereinfacht wird.
  • 8B veranschaulicht eine anpassbare Verzögerungsleitung, die in spezifischen Ausführungsformen der vorliegenden Erfindung verwendet werden kann. Zum Beispiel kann die Eingangsleitung 815a mit dem Ausgang des Multiplexers 850 gekoppelt sein, während die Ausgangsleitung 815b mit dem Eingang des High-Speed-Differentialausgangspuffers 882 gekoppelt ist. Die anpassbare Verzögerungsleitung umfaßt eine Verzögerungsleitung 860 und einen Multiplexer 870. Signale, die auf Leitung 815a empfangen werden, werden verzögert und auf Leitungen 861, 862 und 863 als Ausgaben bereitgestellt. Diese Leitungen können Anzapfungen und einer Ausgabe einer Verzögerungsleitung entsprechen. Diese Leitungen sind zusammen mit dem Eingangssignal auf Leitung 815a vom Multiplexer 870 wählbar und werden auf der Leitung 815b ausgegeben. Auf diese Weise kann die Takt-zu-Q-Verzögerung des Differentialausgangs angepasst werden. Dies ist sinnvoll, um die Setup- und Hold-Zeiten zu optimieren. Entsprechende anpassbare Verzögerungsleitungen können in jeder der enthaltenen Eingangs- und Ausgangsschaltungen an einer geeigneten Stelle eingefügt werden.
  • 9A ist ein Ablaufdiagramm, das die Arbeitsweise der Ausgangsschaltung von 8A veranschaulicht. Eingeschlossen sind FIFO-Eingangssignale DIN1 921a und DIN2 922a, Flipflop-Ausgaben Q1 911a und Q2 912a, das Taktsignal 986a und die Ausgangsspannung Vout 910a. In diesem Beispiel ist der Schreibanschluss des FIFOs vier Bits breit, und ein Teil des FIFO-Eingangssignals DIN1 921 umfaßt vier Eingangsbits A, B, C und D, jedes auf einer Eingangsleitung. Ein Teil des FIFO-Eingangssignals DIN2 922 umfaßt Bits E, F, G und H, jedes auf einer Eingangsleitung. Die FIFOs speichern diese Eingangssignale und senden sie an die Flipflops 880a und 880b. Diese Flipflops werden durch das Taktsignal 986 getaktet und geben Daten mit der vierfachen Frequenz der Datenrate am Eingang der FIFOs 825a und 825b aus. Der Multiplexer 850 wählt alternierend zwischen seinen Eingängen, wodurch er die Datenrate verdoppelt und Daten von den Ausgängen der Flipflops verschachtelt. Dadurch wird den Pads P1 810 und P2 820 Vout 910a zugeführt, das Ausgabebits in der Folge A, E, B, F, C, G, D und H enthält. Wie zu ersehen ist, entspricht die Datenrate von Vout 910a dem Achtfachen der Datenrate der vier Eingangssignale, aus denen DIN1 921a und DIN2 922a zusammengesetzt sind. In diesem spezifischen Beispiel sind DIN1 921a und DIN2 922a vier Bit breit. In anderen Ausführungsformen können sie mehr oder weniger als vier Bits breit sein.
  • 9B ist ein Ablaufdiagramm, das eine andere Arbeitsweise der Ausgangsschaltung von 8A veranschaulicht. Eingeschlossen sind FIFO-Eingangssignale DIN1 921 und DIN2 922, die Flipflop-Ausgaben Q1 911 und Q2 912, das Taktsignal 986 und die Ausgangsspannung Vout 910. In diesem Beispiel umfaßt ein Teil des FIFO-Eingangssignals DIN1 921 vier Eingangsbits A, B, C und D. Ein Teil des FIFO-Eingangssignals DIN2 922 umfaßt Bits E, F, G und H, jedes auf einer Eingangsleitung. Die FIFOs speichern diese Eingangssignale und senden sie später an die Flipflops 880a und 880b. Diese Flipflops werden durch das Taktsignal 986 getaktet und geben Daten mit höherer Frequenz als die Datenrate am Eingang der FIFOs 825a und 825b aus. Der Multiplexer 850 wählt alternierend zwischen seinen Eingängen, wodurch er die Daten von den Ausgängen der Flipflops verschachtelt. Dadurch werden den Pads P1 810 und P2 820 Ausgabebits in der Folge A, E, B, F, C, G, D und H zugeführt.
  • 10 ist ein Blockdiagramm, das mehr Details eines High-Speed-Differentialeingangs zeigt, der als HSIN 690 in 6, das High-Speed-Eingangsregister 790 und der Differentialeingangspuffer 791 in 7 oder andere Schaltungen der vorliegenden Erfindung verwendet werden kann. Eingeschlossen sind FIFOs 1025a und 1025b, Flipflops 1090b und 1090c, ein Latch 1090a und ein Eingangspuffer 1091. Die FIFOs 1025a und 1025b können alternativ dazu ein FIFO mit zwei Eingängen sein. Wie in den anderen Zeichnungen können diese FIFOs zum Beispiel ein FIFO mit zwei Eingangs- und zwei Ausgangsanschlüssen sein. Die Eingangs- und Ausgangsanschlüsse können auch konfigurierbar sein, und die Eingangsanschlüsse können einen Takt gemeinsam benutzen, während die Ausgangsanschlüsse einen anderen Takt gemeinsam benutzen.
  • Die Flipflops 1090b und 1090c und das Latch 1090c formen ein Eingangsregister mit doppelter Datenrate. Das Latch 1090a kann alternativ dazu in ein drittes Flipflop sein. Multiplexer oder Durchlass-Bauelemente können in die Eingangswege von CLK 1043, Q1 1062, Q2 1061 oder der Registerdaten eingefügt werden, um diesen High-Speed-Eingangsweg zu deaktivieren und Strom zu sparen. Für den Fachmann versteht es sich, daß an diesen Schaltungen andere erfindungsgemäßen Modifikationen vorgenommen werden können.
  • Eingangssignale werden an den Pads P1 1010 und P2 1020 vom Eingangspuffer 1091 empfangen. Der Eingangspuffer 1091 führt den Flipflops 1090b und 1090c Eingaben zu. Ein High-Speed-Taktsignal wird durch Durchlass-Bauelemente 1042 von einer der HCLK-Taktleitungen 1040 gewählt. Das Taktsignal wird auf der Leitung 1043 an den Flipflop 1090c und das Latch 1090a angelegt und wird durch einen Inverter 1050 invertiert und an ein Flipflop 1090b gesendet. Daten vom Eingangspuffer 1091 werden bei steigenden Taktflanken vom Flipflop 1090c und gelatcht und bei fallenden Taktflanken an den Flipflop 1090b gesendet. Daten vom Eingangspuffer 1091 werden bei steigenden Taktflanken vom Flipflop 1090c gelatcht und bei fallenden Taktflanken vom Flipflop 1090b. Daten, die vom Flipflop 1090b gespeichert werden, werden vom Latch 1090a wieder eingetaktet, wodurch Signale Q2 1061 und Q3 1062 bei steigenden Taktflanken an die FIFOs 1025a und 1025b gesendet werden, die FIFOs 1025a und 1025b die Daten Puffern und sie auf Leitungen DOUT1 1026 und DOUT2 1027 mit einer niedrigeren Frequenz den Kernschaltungen zuführen.
  • Weil das Signal Vin 1012 bei steigenden Taktflanken vom Flipflop 1090c und bei fallenden Taktflanken vom Flipflop 1090b gelatcht wird, entspricht die bei Q3 1062 und Q2 1061 resultierende Datenrate der Hälfte von der von Vin 1012. Mit anderen Worten, die Flipflops 1090a und 1090b führen eine Zweibit-Seriell-Parallel-Umwandlung der Eingangsdaten durch. Dieses Konzept kann auf die FIFOs 1025a und 1025b ausgeweitet werden. Zum Beispiel können vier Bits, die seriell empfangen werden, von den FIFO-Ausgängen DOUT1 1026 und DOUT2 1027 parallel ausgegeben werden. Auf diese Weise wird eine Frequenzumsetzung um einen Faktor von acht vom Eingangssignal Vin 1012 zu DOUT1 1026 und DOUT2 1027 erreicht. In anderen Ausführungsformen können mehr oder weniger als 4 Bit von den FIFOs 1025a und 1025b von serielle in parallele Daten umgewandelt werden, wodurch eine andere Gesamtfrequenzumwandlung erreicht wird.
  • 11A ist ein Ablaufdiagramm, das die Arbeitsweise der Eingangsschaltung von 10 veranschaulicht. Eingeschlossen sind das Taktsignal 1143a, das Eingangssignal 1112a, Flipflop-Ausgaben Q1 1160a und Q2 1161a, die Latch-Ausgabe Q3 1162a und die FIFO-Ausgaben DOUT1 1126a und DOUT2 1127a. In diesem Beispiel umfaßt ein Teil des Eingangssignals VIN 1112a die Datenbitfolge A, B, C, D, E, F und G. Das Taktsignal 1143a latcht das Eingangssignal 1112a bei alternierenden steigenden und fallenden Flanken in jedes Flipflop, was Wellenformen Q1 1160a und Q2 1161a ergibt. Das Taktsignal 1143a ist typischerweise in Quadratur mit dem Eingangssignal VIN 1112a. Dies wird als „Fensterzentrierung" bezeichnet und minimiert Datenfehler im Eingangsregister. Q1 1160a wird durch das Latch 1090a um einen halben Taktzyklus verzögert, um das Signal 1162a zu ergeben. Diese Signale Q2 1161a und Q3 1162a werden von den FIFOs 1025a und 1025b gespeichert und mit geringerer Frequenz als Wellenformen DOUT1 1126a und DOUT2 1127a ausgegeben.
  • 11B ist ein Ablaufdiagramm, das eine alternative Arbeitsweise der Eingangsschaltung von 10 zeigt. Eingeschlossen sind das Taktsignal 1143b, das Eingangssignal 1112b, Flipflop-Ausgaben Q1 1160b und Q2 1161b, die Latch-Ausgabe Q3 1162b und die FIFO-Ausgaben DOUT1 1126b und DOUT2 1127b. In diesem Beispiel umfaßt ein Teil des Eingangssignals VIN 1112b die Datenbitfolge A, B, C, D, E, F und G. Das Taktsignal 1143b latcht das Eingangssignal 1112b bei alternierenden steigenden und fallenden Flanken in jedes Flipflop, was zu Wellenformen Q1 1160b und Q2 1161b führt. Q1 1160b wird durch das Latch 1090a um einen halben Taktzyklus verzögert. Diese Signale Q2 1161b und Q3 1162b werden von den FIFOs 1025a und 1025b gepuffert und mit geringerer Frequenz als Wellenformen DOUT1 1126b und DOUT2 1127b ausgegeben. Wieder ist das Taktsignal 1143b oft in (oder nahezu) in Quadratur mit dem Eingangssignal 1112b. Alternativ dazu kann das Eingangssignal so getaktet werden, daß die Setup- und Hold-Zeiten der Eingangsflipflosp eingehalten werden.
  • 12 ist ein detaillierteres Blockdiagramm einer Ausgangsschaltung, die als die Ausgangs- und Ausgangs-Enable-Schaltungen 670 und 660 in 6 oder als Ausgangsregister 770, Ausgangs-Enable-Register 760 und Ausgangspuffer 771 und 782 in 7 oder als andere Schaltungen in anderen Ausführungsformen der Erfindung verwendet werden können. Eingeschlossen sind Ausgangsregister 1270a und 1270b, Multiplexer 1260 und 1290, ein Taktmultiplexer 1273, ein Eintaktausgangspuffer 1271, ein Differentialausgangspuffer 1282, Ausgangs-Enable-Register 1250a und 1250b und ein ODER-Gatter 1295. Multiplexer oder Durchlass-Bauelemente können in die Registerdaten- und Takteingabewege eingefügt werden, um diesen Ausgangsweg zu deaktivieren. Zusätzlich können Multiplexer verwendet werden, um einen Ausgabeweg direkt von einem Register oder den Kernschaltungen zu einem oder beiden Ausgangspuffer bereitzustellen. Für den Fachmann versteht es sich, daß andere Modifikationen an dieser Schaltung vorgenommen werden können, die der vorliegenden Erfindung entsprechen.
  • Datensignale werden auf Leitungen 1274a und 1274b von den Kernschaltungen oder FIFOs empfangen. Ein Taktsignal auf Leitung 1277 wird durch Durchlass-Bauelemente 1232 von einem der globalen oder lokalen Takte 1230 ausgewählt. Der Taktmultiplexer 1273 wählt wahre oder komplementäre Versionen dieses Taktsignals aus und treibt die Takteingänge der Flipflops 1270a und 1270b und den Wähleingang des Datenmultiplexers 1260. Ausgaben werden von den Flipflops 1270a und 1270b dem Multiplexer 1260 zugeführt, wo sie verschachtelt werden und verwendet werden, um jeden der Ausgabepuffer 1271 oder 1282 zu treiben. Wenn der Ausgangspuffer 1271 gewählt ist, treibt er einen Eintaktausgang am Pad P1 1210. Wenn der Ausgangspuffer 1282 aktiv ist, treibt er einen Differentialausgang an Pads P1 1210 und P2 1220.
  • Der Ausgangspuffer 1271 wird durch das ODER-Gatter 1295 aktiviert, welches durch Enable-Register 1250a und 1250b getrieben wird. Das heißt, ein Ausgangs-Enable-Signal wird auf Leitung 1254 vom Flipflop 1250a empfangen, der den Flipflop 1250b treibt. Die Ausgaben der Flipflops 1250a und 1250b werden vom ODER-Gatter 1290, das den Enable-Eingang des Ausgangspuffers 1271 treibt, ODER-verknüpft. Diese Konfiguration erlaubt den Enable-Registern, den Ausgangspuffer 1271 bei aufeinanderfolgenden steigenden und fallenden Flanken (oder aufeinanderfolgenden fallenden und steigenden Flanken) zu aktivieren und zu deaktivieren.
  • Auf diese Weise kann der Ausgangspuffer 1271 auf dynamische Weise „tristated" oder aktiviert werden. Alternativ dazu kann der Multiplexer 1290 logisch eins (oder VCC) wählen, wodurch der Flipflop 1250b gelöscht wird. Dies erlaubt dem Flipflop 1250a, den Ausgangspuffer 1271 bei aufeinanderfolgenden steigenden Flanken des CLK1-Signals auf Leitung 1257 zu aktivieren und zu deaktivieren. In jedem dieser Fälle können eine oder mehrere Takte zwischen Aktivierung und Deaktivierung (oder Deaktivierung und Aktivierung) vorhanden sein.
  • Da dieser Signalweg allgemein dazu bestimmt ist, um für Signale mit niedriger und moderater Frequenz verwendet zu werden, können die Flipflops 1270a und 1270b und der Ausgangspuffer 1271 einen höheren Grad an Funktionalität unterstützen als die Flipflops und der Ausgangspuffer, die in Signalwegen mit höherer Geschwindigkeit verwendet werden. In diesem Beispiel weist jedes Flipflop Preset-, Clear- und Enable-Signaleingänge auf, die diesem zugeordnet sind, während der Ausgangspuffer einen Enable-Eingang aufweist, sodaß er einen Ausgang mit hoher Impedanz bereitstellen kann. In diesem Beispiel sind die Datenausgangsflipflops und Ausgangs-Enable-Flipflops mit separaten Preset-, Enable- und Clear-Leitungen versehen. In anderen Ausführungsformen können die Signalleitungen miteinander gekoppelt sein, oder einige dieser Funktionen können entfallen. Alternativ dazu kann jedes Flipflop eine separate Signalleitung für eine oder mehrere dieser Funktionen aufweisen. Auch andere Signale können von diesen Schaltungen unterstützt werden.
  • 13 ist ein detailliertes Blockdiagramm, das eine Eingangsschaltung zeigt, die als die Eingangsschaltung 650 in 6, das Eingangsregister 750 und der Eingangspuffer 751 von 7 oder andere Schaltungen in anderen Ausführungsformen der Erfindung verwendet werden kann. Eingeschlossen sind ein Eintakteingangspuffer 1351, ein Differentialeingangspuffer 1391, ein Latch 1350a, Flipflops 1350b und 1350c und ein Taktmultiplexer 1353. Alternativ dazu kann das Latch 1350a ein Flipflop sein. Multiplexer können in die Registerdaten- oder Takteingabewege eingefügt werden, um diesen langsameren Eingangsweg zu deaktivieren. Für den Fachmann versteht es sich, daß an dieser Schaltung andere Modifikationen vorgenommen werden können, die der vorliegenden Erfindung entsprechen.
  • Eintaktsignale werden am Pad P1 1310 vom Eingangspuffer 1351 empfangen, der eine Eingabe an Flipflops 1350b und 1350c bereitstellt. Differentialeingaben werden an den Pads P1 P1310 und P2 1320 vom Differentialeingangspuffer 1391 empfangen. Die Eingaben der Flipflops 1350b und 1350c werden bei alternierenden Taktflanken gespeichert. Die Ausgabe des Flipflops 1350b wird durch das Latch 1350a wieder eingetaktet. Das Taktsignal wird von einem der globalen oder lokalen Takte 1330 durch Durchlass-Bauelemente 1332 ausgewählt. Wahre oder komplementäre Versionen des gewählten Taktsignals werden vom Multiplexer 1353 dem Flipflop 1350c und Latch 1350a zugeführt. Dieses Signal wird vom Inverter 1360 invertiert, der seinerseits den Flipflop 1350b treibt. Die Ausgaben des Latches 1350a und des Flipflops 1350c, Q3 1361 und Q2 1363, werden den FIFOs oder Kernschaltungen zugeführt. Da diese Schaltungen wie zuvor für Eingangssignale mit niedriger oder moderater Frequenz bestimmt sind, können Flipflops und Latches mit höheren Funktionalitätsgraden verwendet werden. Im spezifischen Beispiel, das gezeigt wird, weist jedes Flipflop und jedes Latch Preset-, Clear- und Enable-Eingangssignalleitungen auf. In anderen Ausführungsformen können andere Eingangssignalleitungen verwendet werden, oder einige der gezeigten Eingaben können entfallen. Im spezifischen Beispiel werden eine Preset-Leitung 1365, eine Clear-Leitung 1366 und eine Enable-Leitung 1367 als mit jedem Flipflop und Latch verbunden gezeigt.
  • In anderen Ausführungsformen der vorliegenden Erfindung können einige oder alle dieser Schaltungen mit separaten Leitungen verbunden sein.
  • 14 ist ein Blockdiagramm, das die Phasenregelkreise zeigt, die in einer Ausführungsform der Erfindung zur Erzeugung der globalen, lokalen und High-Speed-Takte verwendet werden. Eingeschlossen sind Eingangspads LVDSCLK 1410, Takteingangspads 1420, Multiplexer 1450 und Phasenregelkreise 1460. Diese Schaltungen erzeugen HCLKs 1140, LCLKs 1430a und HCLKs 1430b. In diesem Beispiel können die LVDSCLK-Eingänge als Takteingänge oder als Eingangs-/Ausgangspads konfiguriert sein. Die Takteingangspads 1420 sind dedizierte Takteingänge. Jedes Takteingangspad 1420 kann zwei Einzelpads sein, um Differentialeingaben zu empfangen, oder ein Pad, um Eintakteingaben zu empfangen. Jeder Multiplexer 1450 wählt eines von zwei Eingangssignalen aus und führt dem Phasenregelkreis 1460 einen Bezugstakt zu. Die Ausgaben des PLLs sind als lokale, globale oder High-Speed-Taktleitung wählbar. In einer spezifischen Ausführungsform der vorliegenden Erfindung werden die in 14 gezeigten Schaltungen einmal auf jeder Seite einer integrierten Schaltung wiederholt. Demnach wird jeder HLCK 1440 durch ein Viertel jeder Seite der integrierten Schaltung geroutet, oder ein Sechzehntel des Gesamtumfangs. Jedes Viertel der integrierten Schaltung weist vier lokale Taktleitungen auf, die verfügbar sind, während es in der ganzen integrierten Schaltung insgesamt 16 globale Taktleitung gibt.
  • 15 ist ein Beispiel des Phasenregelkreises, das als der Phasenregelkreis 1460 in 14 verwendet werden kann. Eingeschlossen sind Eingangspads 1505 und 1510, ein Eingangspuffer 1515, ein Summierknoten 1520, ein spannungsgeregelter Oszillator 1525, ein Frequenzteiler 1530, Multiplexer 1540, 1550, 1560 und 1570, und Dividierer 1545, 1555 und 1565. Eintakt- oder Differentialbezugstakt-Eingangssignale werden an Pads 1505 und 1510 empfangen und treiben den Eingangspuffer 1515. Der VCO 1525 erzeugt ein Taktsignal, das vom Dividierer 1530 dividiert wird und am Summierknoten 1520 mit dem gepufferten Bezugstaktsignal verglichen wird. Phasendifferenzen zwischen Signalen führen zu einem Fehlersignal oder einer Steuerspannung, welche die VCO-Frequenz anpasst.
  • Der VCO 1525 kann ein Ringoszillator oder eine ähnliche Struktur sein, sodaß Taktsignale mit den verschiedenen Phasen den Multiplexer 1540, 1550 und 1560 zugeführt werden können. In spezifischen Ausführungsformen umfaßt der VCO vier Differentialstufen. In anderen Ausführungsformen kann die Zahl der Stufen variieren. In dieser Ausführungsform sind Takte mit um 0, 45, 90, 135, 180, 225, 270 und 315 Grad verschobenen Phasen verfügbar. In anderen Ausführungsformen der vorliegenden Erfindung können eine andere Zahl von Leitungen und Leitungen mit anderen Phasen vom VCO verfügbar sein. Multiplexer 1540, 1550 und 1560 wählen einen der verfügbaren Eingänge und treiben die Dividierer 1545, 1555 und 1565. Die Dividierer 1545, 1555 und 1565 teilen ihre Eingangsfrequenzen durch K, V und L. In einer spezifischen Ausführungsform sind K, V und L programmierbare ganzzahlige Werte zwischen 1 und 16. In anderen Ausführungsformen können diese Festwerte sein, oder sie können innerhalb eines anderen Bereichs variabel sein, oder anderer Wertebereiche. Der Multiplexer 1570 wählt zwischen der Ausgabe des Dividierers 1565 und der Ausgabe des Eingangspuffers 1515. In verschiedenen Ausführungsformen können die Ausgaben der Dividierer 1545 und 1555 und die Ausgabe des Multiplexers 1570 als High-Speed-, lokale oder globale Taktsignale wählbar sein. Ein Beispiel dafür wird in 14 gezeigt.

Claims (13)

  1. Integrierte Schaltung, welche umfaßt – ein erstes Pad (710; 1210); – ein zweites Pad (720; 1220); – einen High-Speed Differenzeingangspuffer (791) mit einem ersten Eingang, der mit dem ersten Pad (710; 1210) gekoppelt ist, und einem zweiten Eingang, der mit dem zweiten Pad (720; 1220) gekoppelt ist; – einen Low-Speed Eingangspuffer (751) mit einem Eingang, der mit dem ersten Pad (710; 1210) gekoppelt ist; – einen Low-Speed Ausgangspuffer (776) mit einem Ausgang, der mit dem zweiten Pad (720; 1220) gekoppelt ist; – ein erstes Register mit doppelter Datenrate (775; 1270a, 1270b, 1260) mit einem Ausgang, der mit einem Eingang des Low-Speed Ausgangspuffers (776) gekoppelt ist; und – ein Ausgangs-Enable-Register (765; 1250a, 1250b), welches zum Aktivieren und Deaktivieren des Low-Speed Ausgangspuffers (776) gekoppelt ist, wobei das Ausgangs-Enable-Register (765; 1250a, 1250b) umfaßt: – ein erstes Flip-Flop (1250a); und – ein zweites Flip-Flop (1250b) mit einem Eingang, der mit einem Ausgang des ersten Flip-Flops (1250a) gekoppelt ist, und einem Ausgang, der zum Aktivieren und Deaktivieren des Low-Speed Ausgangspuffers (776) gekoppelt ist, und wobei der High-Speed Differenzeingangspuffer (791) und der Low-Speed Eingangspuffer (751) selektiv aktiviert sind, und wobei der Low-Speed Eingangspuffer (751) inaktiv ist, wenn der High-Speed Differenzeingangspuffer (791) aktiv ist, und wobei der High-Speed Differenzeingangspuffer (791) inaktiv ist, wenn der Low-Speed Eingangspuffer (751) aktiv ist.
  2. Integrierte Schaltung nach Anspruch 1, wobei der High-Speed Differenzeingangspuffer (791) mit einem zweiten Register mit doppelter Datenrate (790) gekoppelt ist.
  3. Integrierte Schaltung nach Anspruch 2, wobei das zweite Register mit doppelter Datenrate (790) mit einem First-In-First-Out Speicher (725; 1025a, 1025b) gekoppelt ist.
  4. Integrierte Schaltung nach Anspruch 2, wobei das zweite Register mit doppelter Datenrate (790) umfaßt ein erstes Flip-Flop (1090b) mit einem Eingang, welcher mit einem Ausgang des High-Speed Differenzeingangspuffers (791) gekoppelt ist; ein zweites Flip-Flop (1090c) mit einem Eingang, welcher mit einem Ausgang des High-Speed Differenzeingangspuffers (791) gekoppelt ist; und ein drittes Flip-Flop (1090a) mit einem Eingang, welcher mit einem Ausgang des ersten Flip-Flops (1090b) gekoppelt ist.
  5. Integrierte Schaltung nach Anspruch 3, wobei der First-In-First-Out Speicher (725; 1025a, 1025b) als ein Seriell-zu-Parallel-Wandler arbeitet.
  6. Integrierte Schaltung nach Anspruch 1, welche ferner umfaßt einen Seriell-zu-Parallel-Wandler mit einem Eingang, der mit einem Ausgang des High-Speed Differenzeingangspuffers (791) gekoppelt ist.
  7. Integrierte Schaltung nach Anspruch 1, welche ferner umfaßt einen Parallel-zu-Seriell-Wandler (715; 825a, 825b) mit einem Ausgang, der mit einem Eingang des ersten Registers mit doppelter Datenrate (775) gekoppelt ist.
  8. Integrierte Schaltung nach Anspruch 1, welche ferner umfaßt eine einstellbare Verzögerungsvorrichtung (860, 870) zum einstellbaren Verzögern eines an dem ersten Pad (710; 1210) empfangenen Eingangssignals.
  9. Verfahren zum Bereitstellen und Empfangen von Signalen, welches umfaßt Bereitstellen eines ersten asymmetrischen Signals durch – Deaktivieren eines High-Speed Differenzeingangspuffers (791) mit einem ersten Eingang, der mit einem ersten Pad (710; 1210) gekoppelt ist; – Bereitstellen des ersten asymmetrischen Signals für einen Low-Speed Ausgangspuffer (776) mit Hilfe eines ersten Registers mit doppelter Datenrate (775); – Aktivieren des Low-Speed Ausgangspuffers (776) mit Hilfe eines Ausgangs-Enable-Registers (765), welches ein erstes Flip-Flop (1250a) und ein zweites Flip-Flop (1250b) umfaßt, wobei das zweite Flip-Flop (1250b) einen mit einem Ausgang des ersten Flip-Flops (1250a) gekoppelten Eingang aufweist; – Bereitstellen des ersten asymmetrischen Signals an dem ersten Pad (710; 1210) mit Hilfe des Low-Speed Ausgangspuffers (776); und Empfangen eines zweiten asymmetrischen Signals durch – Deaktivieren des High-Speed Differenzeingangspuffers (791) mit einem zweiten Eingang, der mit einem zweiten Pad (720; 1220) gekoppelt ist; – Empfangen des zweiten asymmetrischen Signals an dem zweiten Pad (720; 1220) mit Hilfe eines Low-Speed Eingangspuffers (756).
  10. Verfahren nach Anspruch 9, welches ferner umfaßt Bereitstellen eines zweiten asymmetrischen Signals für ein zweites Register mit doppelter Datenrate (790) mit Hilfe des Low-Speed Eingangspuffers (756), wobei das zweite Register mit doppelter Datenrate (790) umfaßt – ein erstes Flip-Flop (1090a); – ein zweites Flip-Flop (1090b); und – ein drittes Flip-Flop (1090c) mit einem Eingang, der mit einem Ausgang des ersten Flip-Flops (1090a) gekoppelt ist.
  11. Verfahren nach Anspruch 9, welches ferner umfaßt Bereitstellen des zweiten asymmetrischen Signals für einen Seriell-zu-Parallel-Wandler (725; 1025a, 1025b) mit Hilfe des Low-Speed Eingangspuffers (756).
  12. Verfahren nach Anspruch 9, welches ferner umfaßt Verzögern des zweiten asymmetrischen Signals mit Hilfe einer einstellbaren Verzögerungsvorrichtung (860, 870).
  13. Verfahren nach Anspruch 9, welches ferner umfaßt Bereitstellen des ersten asymmetrischen Signals für das erste Register mit doppelter Datenrate (775) mit Hilfe eines Parallel-zu-Seriell-Wandlers (715; 825a, 825b).
DE60222513T 2001-08-29 2002-08-28 Programmierbare schnelle Eingangs-/Ausgangsschnittstelle Expired - Lifetime DE60222513T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US31590401P 2001-08-29 2001-08-29
US315904P 2001-08-29
US229342 2002-08-26
US10/229,342 US6825698B2 (en) 2001-08-29 2002-08-26 Programmable high speed I/O interface

Publications (2)

Publication Number Publication Date
DE60222513D1 DE60222513D1 (de) 2007-10-31
DE60222513T2 true DE60222513T2 (de) 2008-06-26

Family

ID=26923211

Family Applications (2)

Application Number Title Priority Date Filing Date
DE60234653T Expired - Lifetime DE60234653D1 (de) 2001-08-29 2002-08-28 Programmierbare Hochgeschwindigkeits-E/A-Schnittstelle
DE60222513T Expired - Lifetime DE60222513T2 (de) 2001-08-29 2002-08-28 Programmierbare schnelle Eingangs-/Ausgangsschnittstelle

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE60234653T Expired - Lifetime DE60234653D1 (de) 2001-08-29 2002-08-28 Programmierbare Hochgeschwindigkeits-E/A-Schnittstelle

Country Status (4)

Country Link
US (10) US6825698B2 (de)
EP (2) EP2226941B1 (de)
JP (9) JP2003157229A (de)
DE (2) DE60234653D1 (de)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6825698B2 (en) * 2001-08-29 2004-11-30 Altera Corporation Programmable high speed I/O interface
US7155602B2 (en) * 2001-04-30 2006-12-26 Src Computers, Inc. Interface for integrating reconfigurable processors into a general purpose computing system
US7167023B1 (en) 2001-08-29 2007-01-23 Altera Corporation Multiple data rate interface architecture
US7109744B1 (en) * 2001-12-11 2006-09-19 Altera Corporation Programmable termination with DC voltage level control
US6686769B1 (en) * 2001-12-14 2004-02-03 Altera Corporation Programmable I/O element circuit for high speed logic devices
US6700403B1 (en) * 2002-05-15 2004-03-02 Analog Devices, Inc. Data driver systems with programmable modes
US6953956B2 (en) * 2002-12-18 2005-10-11 Easic Corporation Semiconductor device having borderless logic array and flexible I/O
US20040193671A1 (en) * 2002-12-20 2004-09-30 Adrian Stoica System for implementation of transforms
US7365582B1 (en) * 2003-05-14 2008-04-29 Marvell International Ltd. Bootstrapped charge pump driver in a phase-lock loop
US7587537B1 (en) * 2007-11-30 2009-09-08 Altera Corporation Serializer-deserializer circuits formed from input-output circuit registers
US7038488B1 (en) * 2004-04-30 2006-05-02 Altera Corporation Programmable logic device with transceiver and reconfigurable PLL
US7126399B1 (en) 2004-05-27 2006-10-24 Altera Corporation Memory interface phase-shift circuitry to support multiple frequency ranges
US7502433B1 (en) * 2004-08-17 2009-03-10 Xilinx, Inc. Bimodal source synchronous interface
US8054857B2 (en) 2004-10-07 2011-11-08 Lsi Corporation Task queuing methods and systems for transmitting frame information over an I/O interface
US7466783B2 (en) * 2004-12-13 2008-12-16 Lexmark International, Inc. Method and system to implement a double data rate (DDR) interface
US20060171233A1 (en) * 2005-01-18 2006-08-03 Khaled Fekih-Romdhane Near pad ordering logic
US7242221B1 (en) * 2005-02-11 2007-07-10 Altera Corporation Selectable inversion of differential input and/or output pins in programmable logic devices
US7253655B2 (en) * 2005-09-01 2007-08-07 Micron Technology, Inc. Output driver robust to data dependent noise
US7512019B2 (en) * 2005-11-02 2009-03-31 Micron Technology, Inc. High speed digital signal input buffer and method using pulsed positive feedback
US20070182456A1 (en) * 2005-11-21 2007-08-09 Texas Instruments Incorporated Reducing Pin Count When the Digital Output is to be Provided in Differential or Single-ended Form
US20070176919A1 (en) * 2006-01-31 2007-08-02 Toshiba Matsushita Display Technology Co., Ltd. Interface
TW200824813A (en) 2006-08-31 2008-06-16 Nippon Steel Corp Springback occurrence cause identifying method, springback influence degree display method, springback occurrence cause portion identifying method, springback measure position specifying method, their devices, and their programs
US7725791B2 (en) * 2006-10-20 2010-05-25 Texas Instruments Incorporated Single lead alternating TDI/TMS DDR JTAG input
US7953162B2 (en) * 2006-11-17 2011-05-31 Intersil Americas Inc. Use of differential pair as single-ended data paths to transport low speed data
CN101617371B (zh) 2007-02-16 2014-03-26 莫塞德技术公司 具有多个外部电源的非易失性半导体存储器
US7814301B2 (en) * 2007-04-11 2010-10-12 Hewlett-Packard Development Company, L.P. Clock architecture for multi-processor systems
US20090058466A1 (en) * 2007-08-31 2009-03-05 Allan Joseph Parks Differential pair circuit
US8049531B2 (en) * 2007-09-14 2011-11-01 Agate Logic, Inc. General purpose input/output system and method
US7973563B2 (en) * 2008-02-15 2011-07-05 Silicon Labs Spectra, Inc. Programmable IO architecture
US20090248945A1 (en) * 2008-03-31 2009-10-01 Navindra Navaratnam Noise reducing methods and circuits
US20090265490A1 (en) * 2008-04-04 2009-10-22 Tarun Setya High-Speed Video Serializer and Deserializer
US8064280B1 (en) * 2008-06-10 2011-11-22 Altera Corporation Scaleable look-up table based memory
KR101623958B1 (ko) * 2008-10-01 2016-05-25 삼성전자주식회사 인버터 및 그의 동작방법과 인버터를 포함하는 논리회로
US8077526B1 (en) * 2009-01-30 2011-12-13 Xilinx, Inc. Low power SSTL memory controller
US8723557B2 (en) * 2010-06-07 2014-05-13 Grandis, Inc. Multi-supply symmetric driver circuit and timing method
US8374039B2 (en) * 2010-12-22 2013-02-12 Advanced Micro Devices, Inc. Multi-port memory array
KR101215973B1 (ko) * 2010-12-30 2012-12-27 에스케이하이닉스 주식회사 집적회로, 집적회로를 포함하는 시스템, 메모리 및 메모리시스템
KR20120076814A (ko) * 2010-12-30 2012-07-10 에스케이하이닉스 주식회사 집적회로 칩, 마스터 칩과 슬레이브 칩을 포함하는 시스템 및 이의 동작방법
US8786080B2 (en) * 2011-03-11 2014-07-22 Altera Corporation Systems including an I/O stack and methods for fabricating such systems
US8615610B2 (en) 2011-09-29 2013-12-24 Freescale Semiconductor, Inc. Interface system and method with backward compatibility
US10311010B2 (en) * 2011-10-05 2019-06-04 Analog Devices, Inc. Two-wire communication systems and applications
US10649948B2 (en) * 2011-10-05 2020-05-12 Analog Devices, Inc. Two-wire communication systems and applications
KR101896017B1 (ko) * 2011-10-21 2018-09-07 에스케이하이닉스 주식회사 집적회로 칩
KR20130044957A (ko) * 2011-10-25 2013-05-03 에스케이하이닉스 주식회사 집적회로 시스템 및 메모리 시스템의 동작방법
US8525557B1 (en) * 2011-11-04 2013-09-03 Altera Corporation Merged tristate multiplexer
KR20140002163A (ko) 2012-06-28 2014-01-08 에스케이하이닉스 주식회사 집적회로 칩 및 메모리 장치
US9471484B2 (en) 2012-09-19 2016-10-18 Novachips Canada Inc. Flash memory controller having dual mode pin-out
US8896344B1 (en) 2013-01-04 2014-11-25 Altera Corporation Heterogeneous programmable device and configuration software adapted therefor
US8863059B1 (en) 2013-06-28 2014-10-14 Altera Corporation Integrated circuit device configuration methods adapted to account for retiming
US9568542B2 (en) * 2013-09-25 2017-02-14 Cavium, Inc. Memory interface with integrated tester
JP6167909B2 (ja) * 2014-01-09 2017-07-26 株式会社ソシオネクスト 出力回路
US9444461B1 (en) * 2015-04-02 2016-09-13 Microsemi Semiconductor Ulc Universal input buffer
KR102468698B1 (ko) 2015-12-23 2022-11-22 에스케이하이닉스 주식회사 메모리 장치
US10224911B1 (en) 2016-03-31 2019-03-05 Altera Corporation Dual signal protocol input/output (I/O) buffer circuit
WO2020106339A2 (en) * 2018-08-20 2020-05-28 Cryptography Research, Inc. All-digital camouflage circuit
DE112019007426T5 (de) * 2019-05-31 2022-02-24 Micron Technology, Inc. Speichergerät mit verbessertem esd-schutz und sicherem zugriff von einer prüfmaschine
CN110427337B (zh) * 2019-09-29 2020-01-03 广东高云半导体科技股份有限公司 基于现场可编程门阵列的处理器内核及其运行方法
RU202726U1 (ru) * 2020-10-28 2021-03-03 Андрей Игоревич Сергиенко Устройство цифровой обработки сигналов
RU207875U1 (ru) * 2021-08-18 2021-11-22 Федеральное государственное унитарное предприятие «Государственный научно-исследовательский институт авиационных систем» (ФГУП «ГосНИИАС») Вычислительный управляющий блок
CN114563691B (zh) * 2022-04-29 2022-06-28 南京宏泰半导体科技有限公司 一种集成电路高速数字接口通用检测装置及方法

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6825698B2 (en) * 2001-08-29 2004-11-30 Altera Corporation Programmable high speed I/O interface
JPS5995660A (ja) 1982-11-22 1984-06-01 Nec Corp デ−タ処理装置
US4617479B1 (en) 1984-05-03 1993-09-21 Altera Semiconductor Corp. Programmable logic array device using eprom technology
US5591315A (en) 1987-03-13 1997-01-07 The Standard Oil Company Solid-component membranes electrochemical reactor components electrochemical reactors use of membranes reactor components and reactor for oxidation reactions
JP2703902B2 (ja) * 1987-07-10 1998-01-26 日本電気株式会社 半導体集積回路
KR910002748B1 (ko) * 1988-04-12 1991-05-04 삼성 반도체통신 주식회사 반도체장치에 있어서 데이타 출력 버퍼회로
US4871930A (en) 1988-05-05 1989-10-03 Altera Corporation Programmable logic device with array blocks connected via programmable interconnect
JPH01289138A (ja) 1988-05-16 1989-11-21 Toshiba Corp マスタースライス型半導体集積回路
JPH0244828A (ja) 1988-08-05 1990-02-14 Toshiba Corp 多重化信号分離回路
US5079693A (en) * 1989-02-28 1992-01-07 Integrated Device Technology, Inc. Bidirectional FIFO buffer having reread and rewrite means
US5236231A (en) * 1989-10-26 1993-08-17 Union Oil Company Of California Brittle lined pipe connector
JPH04192809A (ja) 1990-11-27 1992-07-13 Kawasaki Steel Corp プログラマブル集積回路
DE4112077A1 (de) 1991-04-12 1992-10-15 Informations Und Nachrichtente Logikbaustein, insbesondere programmierbarer logikbaustein
US5241224A (en) 1991-04-25 1993-08-31 Altera Corporation High-density erasable programmable logic device architecture using multiplexer interconnections
US5260611A (en) 1991-09-03 1993-11-09 Altera Corporation Programmable logic array having local and long distance conductors
US5436575A (en) 1991-09-03 1995-07-25 Altera Corporation Programmable logic array integrated circuits
US5260610A (en) 1991-09-03 1993-11-09 Altera Corporation Programmable logic element interconnections for programmable logic array integrated circuits
US5550782A (en) 1991-09-03 1996-08-27 Altera Corporation Programmable logic array integrated circuits
JPH0595338A (ja) * 1991-10-02 1993-04-16 Toshiba Corp 信号処理装置
US5258668A (en) 1992-05-08 1993-11-02 Altera Corporation Programmable logic array integrated circuits with cascade connections between logic modules
US5366506A (en) * 1993-04-05 1994-11-22 Davis Phillip J Proximity intraurethral valve using permanent magnet check
JP2508588B2 (ja) * 1993-06-16 1996-06-19 日本電気株式会社 シリアルパラレル変換回路
JPH07264026A (ja) 1994-03-25 1995-10-13 Toshiba Corp マルチプレクサ及びデマルチプレクサ
JPH08102492A (ja) 1994-08-02 1996-04-16 Toshiba Corp プログラム可能な配線回路及びテストボード装置
US6215858B1 (en) 1994-12-05 2001-04-10 Bell Atlantic Network Services, Inc. Analog terminal internet access
JP2770851B2 (ja) * 1994-12-15 1998-07-02 日本電気株式会社 半導体集積回路
US5774015A (en) * 1994-12-15 1998-06-30 Nec Corporation Compact semiconductor integrated circuit capable of reducing electromagnetic emission
JPH08195672A (ja) * 1995-01-17 1996-07-30 Nippon Telegr & Teleph Corp <Ntt> プログラマブル論理素子の入出力回路
US5572467A (en) * 1995-04-24 1996-11-05 Motorola, Inc. Address comparison in an inteagrated circuit memory having shared read global data lines
US5768529A (en) * 1995-05-05 1998-06-16 Silicon Graphics, Inc. System and method for the synchronous transmission of data in a communication network utilizing a source clock signal to latch serial data into first registers and a handshake signal to latch parallel data into second registers
JPH096592A (ja) * 1995-06-22 1997-01-10 Toshiba Microelectron Corp 半導体集積回路
US5764080A (en) * 1995-08-24 1998-06-09 Altera Corporation Input/output interface circuitry for programmable logic array integrated circuit devices
US5600271A (en) * 1995-09-15 1997-02-04 Xilinx, Inc. Input signal interface with independently controllable pull-up and pull-down circuitry
US5970255A (en) * 1995-10-16 1999-10-19 Altera Corporation System for coupling programmable logic device to external circuitry which selects a logic standard and uses buffers to modify output and input signals accordingly
US5696456A (en) 1996-02-29 1997-12-09 Micron Technology, Inc. Enhanced low voltage TTL interface
US5751164A (en) 1996-06-24 1998-05-12 Advanced Micro Devices, Inc. Programmable logic device with multi-level power control
GB2314819B (en) 1996-07-02 1999-05-05 Draftex Ind Ltd Resilient support
JPH1020974A (ja) * 1996-07-03 1998-01-23 Fujitsu Ltd バス構造及び入出力バッファ
US5929655A (en) * 1997-03-25 1999-07-27 Adaptec, Inc. Dual-purpose I/O circuit in a combined LINK/PHY integrated circuit
US5877632A (en) 1997-04-11 1999-03-02 Xilinx, Inc. FPGA with a plurality of I/O voltage levels
US6005414A (en) 1997-06-03 1999-12-21 Linear Technology Corporation Mixed-mode multi-protocol serial interface driver
JP3788867B2 (ja) * 1997-10-28 2006-06-21 株式会社東芝 半導体記憶装置
JPH11203265A (ja) 1998-01-19 1999-07-30 Mitsubishi Electric Corp マイクロコンピュータ
US6236231B1 (en) * 1998-07-02 2001-05-22 Altera Corporation Programmable logic integrated circuit devices with low voltage differential signaling capabilities
US6433579B1 (en) * 1998-07-02 2002-08-13 Altera Corporation Programmable logic integrated circuit devices with differential signaling capabilities
US6356582B1 (en) * 1998-11-20 2002-03-12 Micrel, Incorporated Universal serial bus transceiver
US6472903B1 (en) * 1999-01-08 2002-10-29 Altera Corporation Programmable logic device input/output architecture with power bus segmentation for multiple I/O standards
US6252419B1 (en) * 1999-01-08 2001-06-26 Altera Corporation LVDS interface incorporating phase-locked loop circuitry for use in programmable logic device
US6218858B1 (en) * 1999-01-27 2001-04-17 Xilinx, Inc. Programmable input/output circuit for FPGA for use in TTL, GTL, GTLP, LVPECL and LVDS circuits
US6271679B1 (en) * 1999-03-24 2001-08-07 Altera Corporation I/O cell configuration for multiple I/O standards
US6246258B1 (en) * 1999-06-21 2001-06-12 Xilinx, Inc. Realizing analog-to-digital converter on a digital programmable integrated circuit
JP2001110184A (ja) 1999-10-14 2001-04-20 Hitachi Ltd 半導体装置
JP4058888B2 (ja) * 1999-11-29 2008-03-12 セイコーエプソン株式会社 Ram内蔵ドライバ並びにそれを用いた表示ユニットおよび電子機器
JP4071910B2 (ja) * 1999-12-09 2008-04-02 富士通株式会社 半導体集積回路
US6400177B1 (en) * 2000-01-25 2002-06-04 Matsushita Electric Industrial Co. Output driver and method for meeting specified output impedance and current characteristics
US6304106B1 (en) * 2000-02-18 2001-10-16 International Business Machines Corporation CMOS bi-directional current mode differential link with precompensation
US6535043B2 (en) * 2000-05-26 2003-03-18 Lattice Semiconductor Corp Clock signal selection system, method of generating a clock signal and programmable clock manager including same
US6356105B1 (en) * 2000-06-28 2002-03-12 Intel Corporation Impedance control system for a center tapped termination bus
US6525565B2 (en) * 2001-01-12 2003-02-25 Xilinx, Inc. Double data rate flip-flop
US6388495B1 (en) * 2001-02-23 2002-05-14 Sun Microsystems, Inc. Dynamic termination and clamping circuit
US6443579B1 (en) * 2001-05-02 2002-09-03 Kenneth Myers Field-of-view controlling arrangements
US7109744B1 (en) * 2001-12-11 2006-09-19 Altera Corporation Programmable termination with DC voltage level control
JP4192809B2 (ja) 2004-03-08 2008-12-10 三浦工業株式会社 低圧蒸気加熱装置
JP5095338B2 (ja) 2007-10-10 2012-12-12 矢崎総業株式会社 光コネクタ

Also Published As

Publication number Publication date
EP1294099A2 (de) 2003-03-19
EP1294099A3 (de) 2004-03-17
US20170005661A1 (en) 2017-01-05
US20130278290A1 (en) 2013-10-24
US8829948B2 (en) 2014-09-09
EP2226941A2 (de) 2010-09-08
JP2016173866A (ja) 2016-09-29
US8487665B2 (en) 2013-07-16
US20030042941A1 (en) 2003-03-06
JP5268195B2 (ja) 2013-08-21
US7315188B2 (en) 2008-01-01
JP2006236386A (ja) 2006-09-07
US20060220703A1 (en) 2006-10-05
DE60222513D1 (de) 2007-10-31
US20050134332A1 (en) 2005-06-23
US6825698B2 (en) 2004-11-30
JP2008217810A (ja) 2008-09-18
JP2015043229A (ja) 2015-03-05
JP2003157229A (ja) 2003-05-30
JP2013214332A (ja) 2013-10-17
US20170005662A1 (en) 2017-01-05
US7586341B2 (en) 2009-09-08
US9473145B2 (en) 2016-10-18
DE60234653D1 (de) 2010-01-14
US20100045349A1 (en) 2010-02-25
US7116135B2 (en) 2006-10-03
US20080186056A1 (en) 2008-08-07
JP2010141901A (ja) 2010-06-24
EP1294099B1 (de) 2007-09-19
EP2226941A3 (de) 2014-05-07
JP2011165214A (ja) 2011-08-25
US20140340125A1 (en) 2014-11-20
US20110227606A1 (en) 2011-09-22
EP2226941B1 (de) 2015-09-16
JP2015043230A (ja) 2015-03-05
JP6073278B2 (ja) 2017-02-01

Similar Documents

Publication Publication Date Title
DE60222513T2 (de) Programmierbare schnelle Eingangs-/Ausgangsschnittstelle
DE69028395T2 (de) Konfigurierbare zellenanordnung
US5986465A (en) Programmable logic integrated circuit architecture incorporating a global shareable expander
US6034540A (en) Programmable logic integrated circuit architecture incorporating a lonely register
DE69838462T2 (de) Verbesserte feldprogrammierbare Gatteranordnung
DE69304163T2 (de) Programmierbare logische Vorrichtung
US6864710B1 (en) Programmable logic device
DE69631351T2 (de) ASIC-Busstruktur auf Basis von Multiplexern
US6894533B2 (en) Interconnection and input/output resources for programmable logic integrated circuit devices
DE3871889T2 (de) Programmierbare eingangs-/ausgangsschaltung.
DE10130123B4 (de) Verzögerungsregelkreis zur Erzeugung komplementärer Taktsignale
US7378869B1 (en) Lookup table circuits programmable to implement flip-flops
DE20221609U1 (de) Programmierbare Hochgeschwindigkeits - Eingabe / - Ausgabe - Schnittstelle
EP1852976B1 (de) Programmierbare Hochgeschwindigkeits-E/A-Schnittstelle
DE20023829U1 (de) Verbindung und Eingabe/Ausgabe-Ressourcen für programmierbare integrierte Logikschaltungseinrichtungen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition