DE20221609U1 - Integrated circuit has high speed output buffers and low speed output buffers connected to pad such that they are selectively activated - Google Patents

Integrated circuit has high speed output buffers and low speed output buffers connected to pad such that they are selectively activated Download PDF

Info

Publication number
DE20221609U1
DE20221609U1 DE20221609U DE20221609U DE20221609U1 DE 20221609 U1 DE20221609 U1 DE 20221609U1 DE 20221609 U DE20221609 U DE 20221609U DE 20221609 U DE20221609 U DE 20221609U DE 20221609 U1 DE20221609 U1 DE 20221609U1
Authority
DE
Germany
Prior art keywords
output
input
speed
buffer
flip
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
DE20221609U
Other languages
German (de)
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
Priority claimed from DE2255977A external-priority patent/DE2255977C3/en
Priority claimed from US10/229,342 external-priority patent/US6825698B2/en
Application filed by Altera Corp filed Critical Altera Corp
Priority to DE20221609U priority Critical patent/DE20221609U1/en
Publication of DE20221609U1 publication Critical patent/DE20221609U1/en
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/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/17792Structural details for adapting physical parameters for operating speed

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Logic Circuits (AREA)

Abstract

The high speed output buffers (555,565) and the low speed output buffers (550,560) connected to pads (510,520), are selectively activated and when the high speed output buffer is active, the low speed output buffer is inactive and vice versa.

Description

Querverweis auf verwandte AnmeldungenCross reference to related Registrations

Die Anmeldung beansprucht den Vorteil der vorläufigen Anmeldung 60/315,904, eingereicht am 29. August 2001, die hierin durch Bezugnahme darauf einbezogen ist.The Application claims the benefit of provisional application 60 / 315,904, filed Aug. 29, 2001, which is incorporated herein by reference is involved.

Hintergrund der Erfindungbackground the invention

Die vorliegende Erfindung bezieht sich auf Eingabe- und Ausgabe-Schnittstellen für integrierte Schaltungen und insbesondere auf Hochleistungs-Schnittstellen, die einen hohen Grad an Flexibilität und Konfigurierbarkeit besitzen.The The present invention relates to input and output interfaces for integrated circuits and especially on high-performance interfaces that have a high Degree of flexibility and have configurability.

Elektronische Systeme werden komplexer, wenn sie zunehmend schwierigere Aufgaben erledigen. Demgemäß nimmt die Menge von zwischen integrierten Schaltungen in diesen Systemen übertragenen Daten weiter zu. Zur selben Zeit wollen Systemdesigner kleinere Packungen mit niedrigerer Anschlußzahl, die weniger Raum auf den gedruckten Schaltungen des Systems verbrauchen. Somit sind sehr hohe Datenraten bei Eingabe- und Ausgabeanschlüssen integrierter Schaltungen gewünscht.electronic Systems become more complex as they become increasingly difficult tasks take care of. Accordingly, takes the amount of transferred between integrated circuits in these systems Data continues to. At the same time, system designers want smaller ones Packages with lower number of ports, the less space on consume the printed circuits of the system. Thus, very much high data rates for input and output connections of integrated circuits desired.

Es ist aber auch gewünscht, daß die Schaltungen, die diese Eingabe- und Ausgabe-Strukturen bilden, an diesen Anschlüssen höchst flexibel sind. Beispielsweise können Einstellungen, Voreinstellungen und Freigaben an registrierten Eingängen und Ausgängen die Realisierung von komplizierten Logikfunktionen erleichtern und ein JTAG (Joint Test Action Group)-Grenztestzugriff kann die Systemdiagnose vereinfachen.It but it is also desired that the Circuits forming these input and output structures are highly flexible at these terminals are. For example, you can Settings, presets and shares on registered inputs and outputs Facilitate realization of complicated logic functions and a JTAG (Joint Test Action Group) limit test access can be the system diagnostics simplify.

Unglücklicherweise führt eine vergrößerte Flexibilität zu langsameren Schaltungen. Dieselben Transistoren, die Funktionen hinzufügen und die Datenübertragung bzw. Multiplexierung erhöhen, fügen parasitäre Kapazitäten und Widerstände hinzu, was die Einrichtungsleistung verlangsamt. Eine Erhöhung der Konfigurierbarkeit einer Eingabe- und Ausgabe-Schnittstelle verringert die maximale Rate, mit der die Schnittstelle Daten verarbeiten kann. Auch wollen die Designer integrierter Schaltungen zur Energieeinsparung innerhalb der integrierten Schaltung Schaltkreise mit niedrigerer Geschwindigkeit verwenden.Unfortunately leads one increased flexibility to slower Circuits. The same transistors that add features and the data transmission or increase multiplexing, add parasitic capacities and resistors which slows down the furnishing performance. An increase in the Configurability of an input and output interface reduces the maximum Rate at which the interface can process data. Also want the Designers of integrated circuits for energy saving within the integrated circuit circuits at lower speed use.

Was somit benötigt wird, ist somit eine sehr flexible Eingabe- und Ausgabe-Schnittstelle, die auch mit hoher Geschwindigkeit arbeiten kann. Für einen maximalen Nutzen sollte die Schnittstelle auch wirkungsvoll mit Schaltkreisen mit niedrigerer Geschwindigkeit innerhalb der integrierten Schaltung kommunizieren können.What thus needed is, therefore, a very flexible input and output interface, too can work at high speed. For maximum benefit you should the interface is also effective with circuits with lower Communicate speed within the integrated circuit can.

ZusammenfassungSummary

Demgemäß bilden Ausführungsbeispiele der vorliegenden Erfindung Verfahren und Vorrichtungen zur Ausbildung von Eingängen und Ausgängen mit entweder hoher Geschwindigkeit oder niedrigerer Geschwindigkeit. Es ist eine Eingabe- und Ausgabe-Struktur mit einem Hochgeschwindigkeits-Eingang, einem Hochgeschwindigkeits-Ausgang, einem Niedrig- oder Moderatgeschwindigkeits-Eingang und einem Niedrig- oder Moderatgeschwindigkeits-Ausgang ausgebildet. Es wird eine der Eingabe- und Ausgabeschaltungen ausgewählt und die anderen werden abgewählt. Die Hochgeschwindigkeits-Eingabe- und -Ausgabe-Schaltungen sind vergleichsweise einfach, in einem Beispiel mit nur einem Löschsignal für einen Steuerleitungseingang, und können mit Schaltungen mit niedrigerer Geschwindigkeit innerhalb des Kerns einer integrierten Schaltung verbinden. Die Niedrig- oder Moderatgeschwindigkeits-Eingabe- und -Ausgabe-Schaltungen sind flexibler, besitzen beispielsweise Voreinstellung, Freigabe und Löschen als Steuerleitungseingänge und können einen JTAG-Grenztest unterstützen. Diese parallelen Hochgeschwindigkeits- und Niedrig-Geschwindigkeits-Schaltungen sind durch den Benutzer derart auswählbar, daß die die Eingabe/Ausgabe-Strukturen zwischen Geschwindigkeit und Funktionalität abhängig von den Erfordernissen der Anwendung optimiert sind.Accordingly form embodiments of the present invention Methods and apparatus for training of entrances and outputs at either high speed or lower speed. It is an input and output structure with a high-speed input, a high speed output, a low or moderate speed input and a low or moderate speed output. One of the input and output circuits is selected and the others are voted out. The high-speed input and output circuits are comparatively simple, in an example with only one clear signal for a control line input, and can with Lower speed circuits within the core connect an integrated circuit. The low or moderate speed input and output circuits are more flexible, for example Presetting, enabling and deleting as control line inputs and can a JTAG limit test support. These parallel high-speed and low-speed circuits are selectable by the user such that the input / output structures between speed and functionality depending on the requirements the application are optimized.

Ein beispielhaftes Ausführungsbeispiel der vorliegenden Erfindung bildet eine integrierte Schaltung mit einem Pad bzw. Kontaktierungsflecken, einem mit dem Pad bzw. Kontaktierungsflecken verbundenen Hochgeschwindigkeits-Ausgabepuffer und einem auch mit dem Pad bzw. Kontaktierungsflecken verbundenen Niedriggeschwindigkeits-Ausgabepuffer. Der Hochgeschwindigkeits-Ausgabepuffer und der Niedriggeschwindigkeits-Ausgabepuffer werden ausgewählt aktiviert. Wenn der Hochgeschwindigkeits-Ausgabepuffer aktiv ist, ist der Niedriggeschwindigkeits-Ausgabepuffer inaktiv, und, wenn der Niedriggeschwindigkeits-Ausgabepuffer aktiv ist, ist der Hochgeschwindigkeits-Ausgabepuffer inaktiv.One exemplary embodiment The present invention provides an integrated circuit a pad, one with the pad connected high-speed output buffer and one also with low-speed output buffer connected to the pad. The high-speed output buffer and the low-speed output buffer are selected activated. When the high-speed output buffer is active, the low-speed output buffer is inactive, and if the low-speed output buffer is active, the high-speed output buffer is inactive.

Dieses Ausführungsbeispiel kann weiterhin ein mit dem Hochgeschwindigkeits-Ausgabepuffer verbundenes erstes Flip-Flop und ein mit dem Niedriggeschwindigkeits-Ausgabepuffer verbundenes zweites Flip-Flop aufweisen. Das erste Flip-Flop ist konfiguriert, eine erste Anzahl von Steuersignalen zu empfangen, und das zweite Flip-Flop ist konfiguriert, eine zweite Anzahl von Steuersignalen zu empfangen, wobei die zweite Anzahl größer als die erste Anzahl ist.This embodiment may further include a first flip-flop connected to the high-speed output buffer and a second flip-flop connected to the low-speed output buffer exhibit. The first flip-flop is configured, a first number receive control signals, and the second flip-flop is configured, a receive second number of control signals, the second Number greater than the first number is.

Ein anderes beispielhaftes Ausführungsbeispiel der vorliegenden Erfindung bildet eine integrierte Schaltung mit einem Pad bzw. Kontaktierungsflecken, einem mit dem Pad bzw. Kontaktierungsflecken verbundenen Hochgeschwindigkeits-Eingabepuffer und einem auch mit dem Pad bzw. Kontaktierungsflecken verbundenen Niedriggeschwindigkeits-Eingabepuffer. Der Hochgeschwindigkeits-Eingabepuffer und der Niedriggeschwindigkeits-Eingabepuffer sind ausgewählt aktiviert. Wenn der Hochgeschwindigkeits-Eingabepuffer aktiv ist, ist der Niedriggeschwindigkeits-Eingabepuffer inaktiv, und, wenn der Niedriggeschwindigkeits-Eingabepuffer aktiv ist, ist der Hochgeschwindigkeits-Eingabepuffer inaktiv.Another exemplary embodiment of the present invention forms an integrated circuit having a pad , a high-speed input buffer connected to the pad, and a low-speed input buffer also connected to the pad. The high speed input buffer and the low speed input buffer are selectively activated. If the high-speed input buffer is active, the low-speed input buffer is inactive, and if the low-speed input buffer is active, the high-speed input buffer is inactive.

Dieses Ausführungsbeispiel kann weiterhin ein mit dem Hochgeschwindigkeits-Eingabepuffer verbundenes erstes Flip-Flop und ein mit dem Niedriggeschwindigkeits-Eingabepuffer verbundenes zweites Flip-Flop aufweisen. Das erste Flip-Flop ist konfiguriert, eine erste Anzahl von Steuersignalen zu empfangen, und das zweite Flip-Flop ist konfiguriert, eine zweite Anzahl von Steuersignalen zu empfangen, wobei die zweite Anzahl größer als die erste Anzahl ist.This embodiment may further include a first flip-flop connected to the high-speed input buffer and a second flip-flop connected to the low-speed input buffer exhibit. The first flip-flop is configured, a first number receive control signals, and the second flip-flop is configured, a receive second number of control signals, the second Number greater than the first number is.

Ein weiteres Ausführungsbeispiel bildet eine integrierte Schaltung mit einem Hochgeschwindigkeits-Ausgabepfad. Dieser Pfad enthält ein mit einem ersten Ausgabepuffer verbundenes erstes Doppeldatenraten-Register. Diese integrierte Schaltung enthält auch einen Niedriggeschwindigkeits-Ausgabepfad mit einem mit einem zweiten Ausgabepuffer verbundenen zweiten Doppeldatenraten-Register, einen Hochgeschwindigkeits-Eingabepfad mit einem mit einem ersten Eingabepuffer verbundenen dritten Doppeldatenraten-Register und einen Niedriggeschwindigkeits-Eingabepfad mit einem mit einem zweiten Eingabepuffer verbundenen vierten Doppeldatenraten-Register. Der erste Ausgabepuffer, der zweite Ausgabepuffer, der erste Eingabepuffer und der zweite Eingabepuffer sind mit einem Pad bzw. Kontaktierungsflecken verbunden.One another embodiment forms an integrated circuit with a high-speed output path. This path contains a first double data rate register connected to a first output buffer. This integrated circuit also contains a low-speed output path with one with a second Output buffer associated second double data rate register, a high-speed input path with a third double data rate register connected to a first input buffer and a low speed input path with one with a fourth double data rate registers connected to second input buffers. The first output buffer, the second output buffer, the first input buffer and the second input buffer are with a pad connected.

Ein besseres Verständnis der Natur und Vorteile der vorliegenden Erfindung kann unter Bezugnahme auf die folgende genaue Beschreibung und die beigefügte Zeichnung gewonnen werden.One better understanding The nature and advantages of the present invention may be understood by reference to the following detailed description and attached drawing be won.

Kurzbeschreibung der Zeichnung Brief description of the drawing

1 ist eine Darstellung eines digitalen Systems mit einer programmierbaren integrierten Logikschaltung; 1 Figure 12 is an illustration of a digital system with a programmable logic integrated circuit;

2 ist eine Darstellung eines Bauplans einer programmierbaren integrierten Logikschaltung mit einem eingebetteten Prozessor; 2 Fig. 12 is an illustration of a blueprint of a programmable logic integrated circuit having an embedded processor;

3 ist ein vereinfachtes Blockschaltbild einer logischen Feldblocks (LAB): 3 is a simplified block diagram of a logical field block (LAB):

4 ist eine Darstellung des programmierbaren Logikteils der programmierbaren integrierten Logikschaltung; 4 Fig. 12 is an illustration of the programmable logic portion of the programmable logic integrated circuit;

5 ist ein Blockschaltbild einer einem Ausführungsbeispiel der vorliegenden Erfindung entsprechenden Eingabe- und Ausgabe-Schaltung; 5 Fig. 10 is a block diagram of an input and output circuit according to an embodiment of the present invention;

6 ist ein anderes Blockschaltbild einer einem Ausführungsbeispiel der vorliegenden Erfindung entsprechenden Eingabe- und Ausgabe-Schaltung; 6 Fig. 13 is another block diagram of an input and output circuit according to an embodiment of the present invention;

7 ist ein genaueres Blockschaltbild einer Eingabe- und Ausgabe-Schnittstelle gemäß einem Ausführungsbeispiel der vorliegenden Erfindung; 7 Fig. 10 is a more detailed block diagram of an input and output interface according to one embodiment of the present invention;

8A ist ein Blockschaltbild, das mehr Einzelheiten eines Hochgeschwindigkeits-Differenzausgangs zeigt, der als HSOUT in 6 verwendet werden kann, des Hochgeschwindigkeits-Ausgaberegisters und des Differenzausgabepuffers in 7 oder anderer Schaltungen in anderen Ausführungsbeispielen der vorliegenden Erfindung; 8A Figure 4 is a block diagram showing more details of a high speed differential output called HSOUT in 6 can be used, the high-speed output register and the differential output buffer in 7 or other circuits in other embodiments of the present invention;

8B veranschaulicht eine anpassbare Verzögerungsleitung, die in Ausführungsbeispielen der vorliegenden Erfindung verwendet werden kann; 8B Fig. 10 illustrates a customizable delay line that may be used in embodiments of the present invention;

9A ist ein Zeitablaufdiagramm, das die Funktion der Ausgabeschaltung gemäß 8A veranschaulicht; 9A FIG. 11 is a timing diagram illustrating the function of the output circuit according to FIG 8A illustrated;

9B ist ein Zeitablaufdiagramm, das eine alternative Funktion der Ausgabeschaltung gemäß 8A veranschaulicht; 9B is a timing diagram illustrating an alternative function of the output circuit according to FIG 8A illustrated;

10 ist ein Blockschaltbild, das mehr Einzelheiten eines Hochgeschwindigkeits-Differenz-Eingangs zeigt, der als HSIN in 6 verwendet werden kann, des Hochgeschwindigkeits-Eingaberegisters und Differenzeingabepuffers in 7 oder anderer Schaltungen in anderen Ausführungsbeispielen der vorliegenden Erfindung; 10 Figure 4 is a block diagram showing more details of a high speed differential input called HSIN in 6 can be used in the high-speed input register and differential input buffer in 7 or other circuits in other embodiments of the present invention;

11A ist ein Zeitablaufdiagramm, das die Funktion der Eingabeschaltung gemäß 10 veranschaulicht; 11A FIG. 5 is a timing diagram illustrating the function of the input circuit according to FIG 10 illustrated;

11B ist ein Zeitablaufdiagramm, das eine alternative Funktion der Eingabeschaltung gemäß 10 veranschaulicht; 11B is a timing diagram illustrating an alternative function of the input circuit according to FIG 10 illustrated;

12 ist ein genaueres Blockschaltbild einer Ausgabeschaltung, die als die Ausgabe- und Ausgabefreigabeschaltungen und in 6 verwendet werden kann, oder des Ausgaberegisters, des Ausgabefreigaberegisters und des Ausgabepuffers in 7 oder anderer Schaltungen in anderen Ausführungsbeispielen der vorliegenden Erfindung; 12 Fig. 12 is a more detailed block diagram of an output circuit used as the output and output enable circuits and in Figs 6 or the output register, the output enable register and the output buffer in 7 or other circuits in other embodiments of the present invention;

13 ist ein genaueres Blockschaltbild, das Eingabeschaltungen zeigt, die als die Eingabeschaltung in 6 verwendet werden können, das Eingaberegister und den Eingabepuffer gemäß 7 oder andere Schaltungen in anderen Ausführungsbeispielen der vorliegenden Erfindung; 13 FIG. 10 is a more detailed block diagram showing input circuits other than the input circuit in FIG 6 can be used, the input register and the input buffer according to 7 or other circuits in other embodiments of the present invention;

14 ist ein Blockschaltbild, das die phasenstarre Schleifen zeigt, die zur Erzeugung der in einem Ausführungsbeispiel der vorliegenden Erfindung verwendeten globalen, lokalen und Hochgeschwindigkeitstakte verwendet werden; und 14 Fig. 12 is a block diagram showing the phase locked loops used to generate the global, local and high speed clocks used in one embodiment of the present invention; and

15 ein Beispiel für eine phasenstarre Schleife, die als die phasenstarre Schleife in 14 verwendet werden kann. 15 an example of a phase locked loop called the phase locked loop in 14 can be used.

Beschreibung beispielhafter AusführungsbeispieleDescription of exemplary embodiments

1 zeigt ein Blockschaltbild eines digitalen Systems, innerhalb dessen Eingabe- und Ausgabe-Schnittstellen entsprechend der vorliegenden Erfindung ausgebildet werden können. Das System kann auf einer einzelnen Karte bzw. Baugruppe, einer Vielzahl von Karten bzw. Baugruppen oder innerhalb einer Vielzahl von Umhüllungen ausgebildet sein. Obwohl Ausführungsbeispiele der vorliegenden Erfindung in elektronischen und integrierten Schaltungen im Allgemeinen nützlich sind, sind sie insbesondere in programmierbaren Logikeinrichtungen nützlich. 1 veranschaulicht ein System 101, in dem eine derartige programmierbare Logikeinrichtung 121 verwendet werden kann. Programmierbare Logikeinrichtungen oder programmierbare integrierte Logikschaltungen werden manchmal als PALs, PLAs, FPLAs, PLDs, CPLDs, EPLDs, EEPLDs, LCAs oder FPGAs bezeichnet und sind wohlbekannte integrierte Schaltungen, die die Vorteile fester integrierter Schaltungen mit der Flexibilität von kundenintegrierten Schaltungen aufweisen. Derartige Einrichtungen erlauben einem Benutzer Standard-Serien-Logikelemente elektrisch zu programmieren, um bestimmte Notwendigkeiten eines Benutzers zu erfüllen. Beispiele für gegenwärtige programmierbare Logikeinrichtungen sind dargestellt durch Altera's Classic, MAX®, FLEX®, APEXTM Serie von PLDs. Diese sind beispielsweise in den US-Patenten Nr. 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. Programmierbare integrierte Logikschaltungen und ihre Funktion sind dem Fachmann wohlbekannt. 1 Figure 12 is a block diagram of a digital system within which input and output interfaces may be formed in accordance with the present invention. The system may be formed on a single card, a plurality of cards or within a plurality of envelopes. Although embodiments of the present invention are generally useful in electronic and integrated circuits, they are particularly useful in programmable logic devices. 1 illustrates a system 101 in which such a programmable logic device 121 can be used. Programmable logic devices or programmable logic integrated circuits are sometimes referred to as PALs, PLAs, FPLAs, PLDs, CPLDs, EPLDs, EEPLDs, LCAs, or FPGAs, and are well-known integrated circuits having the advantages of fixed integrated circuits with the flexibility of customer integrated circuits. Such devices allow a user to electrically program standard serial logic elements to meet a user's specific needs. Examples of current programmable logic devices are represented by Altera's Classic, MAX® , FLEX® , APEX series of PLDs. These are described, for example, in U.S. Patent Nos. 4,617,479, 4,871,930, 5,241,224, 5,258,668, 5,260,610, 5,260,611, 5,436,575 and the Altera Data Book (1999). Programmable logic integrated circuits and their function are well known to those skilled in the art.

In dem bestimmten Ausführungsbeispiel gemäß 1 ist eine Verarbeitungseinheit 101 mit einem Speicher 105 und einer Eingabe/Ausgabe bzw. I/O 111 verbunden und enthält eine programmierbare Logikeinrichtung bzw. PLD 121. Die PLD 121 kann speziell durch eine Verbindung 131 mit dem Speicher 105 und durch eine Verbindung 135 mit der I/O 111 verbunden sein. Das System kann ein programmiertes digitales Computersystem, ein digitales Signalverarbeitungssystem, ein spezialisiertes digitales Schaltnetzwerk oder ein anderes Verarbeitungssystem sein. Weiterhin können derartige Systeme für eine breite Vielzahl von Anwendungen, wie beispielsweise nur als Beispiel Telekommunikationssysteme, Fahrzeugsy steme, Steuersysteme, Unterhaltungselektronik, Personalcomputer, Internetkommunikation und Netzwerkverbindung und andere entworfen sein.In the particular embodiment according to 1 is a processing unit 101 with a memory 105 and an input / output or I / O 111 connected and contains a programmable logic device or PLD 121 , The PLD 121 can be specifically through a connection 131 with the memory 105 and through a connection 135 with the I / O 111 be connected. The system may be a programmed digital computer system, a digital signal processing system, a specialized digital switching network or other processing system. Furthermore, such systems may be designed for a wide variety of applications such as, for example, telecommunications systems, vehicle systems, control systems, consumer electronics, personal computers, Internet communications and network connectivity, and others.

Die Verarbeitungseinheit 101 kann Daten direkt zu einer geeigneten Systemkomponente zur Verarbeitung oder Speicherung zuführen, ein in dem Speicher 105 gespeichertes oder unter Verwendung der I/O 111 eingegebenes Programm oder andere Funktionen ausführen. Die Verarbeitungseinheit 101 kann eine Zentraleinheit (CPU), ein Mikroprozessor, ein Fließkomma-Coprozessor, ein Graphik-Coprozessor, ein Hardwarecontroller, ein Mikrocontroller, eine für eine Verwendung als Controller, Netzwerkcontroller oder andere Verarbeitungseinheit programmierte programmierbare Logikeinrichtung sein. Weiterhin besteht in vielen Ausführungsbeispielen keine Notwendigkeit für eine CPU. Beispielsweise können anstelle einer CPU eine oder mehrere PLDs 121 die logischen Funktionen des Systems steuern. In einem Ausführungsbeispiel agiert die PLD 12l als re- bzw. wiederkonfigurierbarer Prozessor, der wie erforderlich neu programmiert werden kann, um eine bestimmte Berechnungsaufgabe handhaben zu können. Alternativ kann die programmierbare Logikeinrichtung 121 einen Prozessor enthalten. In einigen Ausführungsbeispielen kann die Verarbeitungseinheit 101 auch ein Computersystem sein. Der Speicher 105 kann ein Direktzugriffsspeicher (RAM), ein Festwertspeicher (ROM), ein festes oder flexibles Plattenmedium, ein PC-Karten-Flash-Plattenspeicher, Band oder irgendeine andere Speicherwiederabrufeinrichtung oder irgendeine Kombination dieser Speicherwiederabrufeinrichtungen sein. Die PLD 121 kann vielen verschiedenen Zwecken innerhalb des Systems in 1 dienen. Die PLD 121 kann ein logischer Baublock der Verarbeitungseinrichtung 101 sein, der ihre internen und externen Funktionen unterstützt. Die PLD 121 ist programmiert, die zum Ausführen ihrer bestimmten Rolle in einer Systemfunktion erforderlichen logischen Funktionen zu realisieren.The processing unit 101 may feed data directly to a suitable system component for processing or storage, one in the memory 105 stored or using the I / O 111 execute the entered program or other functions. The processing unit 101 may be a central processing unit (CPU), a microprocessor, a floating point coprocessor, a graphics coprocessor, a hardware controller, a microcontroller, a programmable logic device programmed for use as a controller, network controller, or other processing unit. Furthermore, in many embodiments, there is no need for a CPU. For example, instead of one CPU, one or more PLDs 121 control the logical functions of the system. In one embodiment, the PLD acts 12l as a re-configurable processor that can be reprogrammed as necessary to handle a particular computational task. Alternatively, the programmable logic device 121 contain a processor. In some embodiments, the processing unit 101 also be a computer system. The memory 105 may be random access memory (RAM), read only memory (ROM), fixed or flexible disk medium, PC card flash disk storage, tape or any other memory retrieval device, or any combination of these memory retrieval devices. The PLD 121 can be many different purposes within the system 1 serve. The PLD 121 may be a logical building block of the processing device 101 who supports their internal and external functions. The PLD 121 is programmed to implement the logical functions required to perform its particular role in a system function.

2 ist ein vereinfachtes Blockschaltbild einer gesamten internen Architektur und eines Aufbaus einer PLD. Viele Einzelheiten von programmierbarer Logikarchitektur, -aufbau und Schaltungsentwurf sind für ein Verständnis der vorliegenden Erfindung nicht notwendig und derartige Einzelheiten sind nicht gezeigt. 2 is a simplified block diagram of an entire internal architecture and a structure of a PLD. Many details of programmable logic architecture, construction, and circuit design are not necessary to an understanding of the present invention, and such details are not shown.

2 zeigt ein zweidimensionales sechs-mal-sechs-Feld mit sechsunddreißig Logikfeldblöcken (LABs) 200. Der LAB 200 ist ein physikalisch gruppierter Satz von logischen Quellen, der konfiguriert oder programmiert ist, logische Funktionen durchzuführen. Die innere Architektur eines LAB ist nachstehend genauer beschrieben. Der programmierbare Lo gikteil kann irgendeine beliebige Anzahl von LABs enthalten. Im Allgemeinen werden in Zukunft, da die Technik fortschreitet und sich verbessert, zweifellos programmierbare Logikeinrichtungen mit größeren Anzahlen von Logikfeldblöcken erzeugt werden. Weiterhin müssen die LABs 200 nicht in einer quadratischen Matrix oder einem Feld organisiert werden; beispielsweise kann das Feld in einer fünf-mal-sieben oder einen zwanzig-mal-siebzig Matrix von LABs aufgebaut sein. 2 shows a two-dimensional six-by-six field with thirty-six logic Field Blocks (LABs) 200 , The LAB 200 is a physically grouped set of logical sources that is configured or programmed to perform logical functions. The internal architecture of a LAB is described in more detail below. The programmable logic part may contain any number of LABs. In general, as technology advances and improves, in the future programmable logic devices with larger numbers of logic array blocks will undoubtedly be generated. Furthermore, the LABs have to 200 not organized in a square matrix or field; for example, the field may be constructed in a five-by-seven or a twenty-by-seventy matrix of LABs.

Das LAB 200 besitzt (nicht gezeigte) Eingänge und Ausgänge, von denen einige der vorliegenden Erfindung entsprechen können, und die programmierbar oder nicht mit einer globalen Verbindungsstruktur verbunden sein können, mit einem Feld von globalen horizontalen Verbindungen (GHs) 210 und globalen vertikalen Verbindungen (GVs) 220. Obwohl sie in 2 als einzelne Leitungen gezeigt sind, kann jede GH-Leitung 210 und GV-Leitung 220 eine Vielzahl von Signalleitern darstellen. Die Eingänge und Ausgänge des LAB 200 sind programmierbar mit einem benachbarten GH 210 und einem benachbarten GV 220 verbindbar. Bei Verwendung von GH 210 und GV 220 Verbindungen können eine Vielzahl von LABs 200 verbunden und kombiniert sein, um größere, komplexere Funktionen zu verwirklichen, als unter Verwendung eines einzelnen LAB 200 realisiert werden können.The LAB 200 has inputs and outputs (not shown), some of which may correspond to the present invention, which may be programmable or not connected to a global interconnect structure, with a field of global horizontal interconnects (GHs) 210 and Global Vertical Connections (GVs) 220 , Although she is in 2 As individual lines are shown, any GH line 210 and GM line 220 represent a variety of signal conductors. The inputs and outputs of the LAB 200 are programmable with a neighboring GH 210 and a neighboring GV 220 connectable. When using GH 210 and GV 220 Connections can be a variety of LABs 200 be connected and combined to realize larger, more complex functions than using a single LAB 200 can be realized.

In einem Ausführungsbeispiel können die GH 210- und GV 220-Leiter programmierbar oder nicht mit Kreuzungen 225 dieser Leiter verbindbar sein. Weiterhin können die GH 210- und GV 220-Leiter eine Vielzahl von Verbindungen mit anderen GH 210- und GV 220-Leitern bilden. Zahlreiche GH 210- und GV 220-Leiter können programmierbar miteinander verbunden sein, um einen Signalpfad von einem LDB 200 an einem Ort des PLD-Teils 154 zu einem anderen LAB 200 an einem anderen Ort des PLD-Teils 154 zu erzeugen. Ein Signal kann eine Vielzahl von Kreuzungen bzw. Knotenpunkten 225 passieren. Weiterhin kann ein Ausgangssignal von einem LAB 200 in die Eingänge einer oder mehrerer LABs 200 geführt werden. Auch können unter Verwendung eines globalen Knotenpunkts Signale von einem LAB 200 zurück in dasselbe LAB 200 geführt werden. In bestimmten Ausführungsbeispielen der vorliegenden Erfindung sind nur ausgewählte GH 210-Leiter programmierbar mit einer Auswahl von GV 220-Leitern verbindbar. Weiterhin können in noch weiteren Ausführungsbeispielen die GH 210- und GV 220-Leiter speziell zum Führen eines Signals in eine bestimmte Richtung, wie beispielsweise als Eingang oder Ausgang, aber nicht beides, verwendet werden.In one embodiment, the GH 210 - and GV 220 Ladder programmable or not with intersections 225 This conductor be connectable. Furthermore, the GH 210 - and GV 220 -Guide a variety of connections with other GH 210 - and GV 220 Form conductors. Numerous GH 210 - and GV 220 Conductors may be programmably connected together to form a signal path from an LDB 200 at a location of the PLD part 154 to another LAB 200 at a different location of the PLD part 154 to create. A signal can be a plurality of intersections or nodes 225 happen. Furthermore, an output signal from a LAB 200 into the inputs of one or more LABs 200 be guided. Also, using a global node, signals from a LAB 200 back to the same lab 200 be guided. In certain embodiments of the present invention, only selected GHs are 210 Ladder programmable with a choice of GV 220 -Connectors connectable. Furthermore, in still other embodiments, the GH 210 - and GV 220 Ladder specifically for guiding a signal in a particular direction, such as input or output, but not both.

In anderen Ausführungsbeispielen kann die programmierbare integrierte Logikschaltung einen speziellen oder aufgeteilten Knotenpunkt verwenden, der mit einer bestimmten Anzahl von LABs und nicht notwendigerweise eine ganzen Reihe oder Spalte von LABs verbunden ist. Beispielsweise kann der aufgeteilte Knotenpunkt programmierbar mit zwei, drei, vier, fünf oder mehr LABs verwenden.In other embodiments the programmable logic integrated circuit can be a special or use split node that matches a particular one Number of LABs and not necessarily a whole row or Column of LABs is connected. For example, the split Node programmable with two, three, four, five or use more LABs.

Die programmierbare Logik-Architektur in 2 zeigt weiter an der Peripherie des Bausteins Eingabe- und Ausgabeschaltungen 230. Die Eingabe- und Ausgabeschaltungen 230 dienen zur Verbindung der PLD mit externen Schaltkreisen außerhalb des Bausteins. Einige oder alle diese Eingabe- und Ausgabeschaltungen 230 können Ausführungsbeispielen der vorliegenden Erfindung entsprechen. 2 zeigt zweiunddreißig Eingabe- und Ausgabeschaltungen 230; jedoch kann eine programmierbare integrierte Logikschaltung irgendeine Anzahl von Eingabe- und Ausgabeschaltungen enthalten, mehr oder weniger als die gezeigte Anzahl. Wie vorstehend diskutiert, können einige dieser Eingabe-Ausgabe-Treiber gemeinsam von dem eingebetteten Prozessor und programmierbaren Logikteilen genutzt werden. Jede Eingabe- und Ausgabeschaltung 230 ist für eine Verwendung als ein Eingabe-Treiber, Ausgabe-Treiber oder bidirektionaler Treiber konfigurierbar. In anderen Ausführungsbeispielen einer programmierbaren integrierten Logikschaltung können die Eingabe- und Ausgabeschaltungen in den integrierten Schaltungskern selbst eingebettet sein. Diese eingebettete Anordnung der Eingabe- und Ausgabeschaltungen kann beim Flip-Chip-Packen verwendet werden und wird die Störeffekte vom Leiten der Signale zu den Eingabe- und Ausgabeschaltungen minimieren.The programmable logic architecture in 2 further shows at the periphery of the device input and output circuits 230 , The input and output circuits 230 are used to connect the PLD to external circuits outside the device. Some or all of these input and output circuits 230 may correspond to embodiments of the present invention. 2 shows thirty-two input and output circuits 230 ; however, a programmable logic integrated circuit may include any number of input and output circuits, more or less than the number shown. As discussed above, some of these input-output drivers may be shared by the embedded processor and programmable logic parts. Each input and output circuit 230 is configurable for use as an input driver, output driver, or bidirectional driver. In other embodiments of a programmable logic integrated circuit, the input and output circuits may be embedded in the integrated circuit core itself. This embedded arrangement of the input and output circuits can be used in flip-chip packaging and will minimize the parasitics of passing the signals to the input and output circuits.

3 zeigt ein vereinfachtes Blockschaltbild des LAB 200 gemäß 2. Das LAB 200 besteht aus einer veränderlichen Anzahl von Logikelementen (LEs) 300, die manchmal als „Logikzellen" bezeichnet werden, und einer lokalen (oder internen) Verbindungsstruktur 310. Das LAB 200 besitzt acht LEs 300, jedoch kann das LAB 200 irgendeine Anzahl von LEs besitzen, mehr oder weniger als acht. 3 shows a simplified block diagram of the LAB 200 according to 2 , The LAB 200 consists of a variable number of logic elements (LEs) 300 sometimes referred to as "logic cells" and a local (or internal) connection structure 310 , The LAB 200 owns eight LEs 300 However, the LAB 200 have any number of LEs, more or less than eight.

Hier ist eine allgemeine Übersicht über das LE 300 dargestellt, die ausreichend ist, um ein Grundverständnis der vorliegenden Erfindung zu erzeugen. Das LE 300 ist der kleinste logische Baustein einer PLD. Signale außerhalb des LAB, wie beispielsweise von den GHs 210 und den GVs 220 sind über die lokale Verbindungsstruktur 310 mit dem LE 300 verbunden. In einem Ausführungsbeispiel enthält das LE 300 gemäß der vorliegenden Erfindung einen Funktionsgenerator, der konfigurierbar ist, eine logische Funktion einer Anzahl von Variablen, wie beispielsweise eine Bool'sche Funktion mit vier Variablen auszubilden. Ebenso wie kombinatorische Funktionen unterstützt das LE 300 auch aufeinander folgende und registrierte Funktionen, die beispielsweise D-Flip-Flops verwenden.Here is a general overview of the LE 300 which is sufficient to provide a basic understanding of the present invention. The Le 300 is the smallest logical component of a PLD. Signals outside the LAB, such as from the GHs 210 and the GVs 220 are over the local connection structure 310 with the LE 300 connected. In one embodiment, the LE contains 300 According to the present invention, a function generator that is configurable to form a logical function of a number of variables, such as a four variable Boolean function. As well as combinatorial Functions support the LE 300 also sequential and registered functions using, for example, D flip-flops.

Das LE 300 erzeugt kombinatorische und registrierte Ausgaben, die mit den GHs 210 und den GVs 220 außerhalb des LABs 200 verbindbar sind. Weiterhin können die Ausgaben von dem LE 300 intern in die lokale Verbindungsstruktur 310 zurückgeführt werden; durch die lokale Verbindungsstruktur 310 kann ein Ausgang von einem LE 300 programmierbar mit den Eingängen anderer LEs 300 verbunden sein, ohne, daß die GHs 210 und GVs 220 der globalen Verbindungsstruktur zu verwenden. Die lokale Verbindungsstruktur 310 erlaubt eine kurze Zwischenverbindung von LEs ohne Verwendung der beschränkten globalen Ressourcen, GHs 210 und GV 220.The Le 300 generates combinatorial and registered issues with the GHs 210 and the GVs 220 outside the LAB 200 are connectable. Furthermore, the expenses of the LE 300 internally in the local connection structure 310 to be led back; through the local connection structure 310 can be an output from a LE 300 programmable with the inputs of other LEs 300 be connected without that the GHs 210 and GVs 220 to use the global connection structure. The local connection structure 310 allows a short interconnection of LEs without the use of limited global resources, GHs 210 and GV 220 ,

4 zeigt eine programmierbare Logik-Architektur. Die Architektur in 4 enthält weiter (kleine) eingebettete Feldblöcke (EABs). Die EABs enthalten Benutzerspeicher, einen flexiblen Block von RAM. Eine genauere Diskussion dieser Architektur findet sich im Altera Data Book (1999) in der Beschreibung der FLEX 10K Produktfamilie und auch im US-Patent Nr. 5 550 782. Einige oder alle der Eingabe/Ausgabeelemente können Ausführungsbeispielen der vorliegenden Erfindung entsprechen. Die eingebetteten Feldblöcke können als FIFOs konfiguriert sein, die als Frequenzübersetzer und Seriell-Parallel-Wandler zum Verbinden zwischen Hochgeschwindigkeits-Eingängen -bzw. Eingaben und -Ausgängen bzw. Ausgaben und den Kernschaltungen einschließlich der Logikfeldblöcke dienen. Andere Architekturen, wie beispielsweise Altera's APEXTM und StratixTM Produktfamilien sind in ihren jeweiligen Datenblättern, verfügbar von Altera Corporation, 101 Innovation Drive, San Jose, CA 95134, genau beschrieben. 4 shows a programmable logic architecture. The architecture in 4 contains further (small) embedded field blocks (EABs). The EABs contain user memory, a flexible block of RAM. A more detailed discussion of this architecture can be found in the Altera Data Book (1999) in the description of the FLEX 10K product family and also in U.S. Patent No. 5,550,782. Some or all of the input / output elements may correspond to embodiments of the present invention. The embedded field blocks may be configured as FIFOs serving as frequency translators and serial-to-parallel converters for connecting between high-speed inputs. Inputs and outputs, and the core circuits including the logic block blocks. Other architectures, such as Altera's APEX and Stratix product families, are available in their respective datasheets, available from Altera Corporation. 101 Innovation Drive, San Jose, CA 95134, detailed.

5 ist ein Blockschaltbild, das eine Eingabe- und Ausgabeschaltungen entsprechend einem Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht. Es sind eine Niedriggeschwindigkeits-Ausgabeschaltung 530, ein Niedriggeschwindigkeits-Ausgabepuffer 550, eine Hochgeschwindigkeits-Ausgabeschaltung 535, ein Hochgeschwindigkeits-Ausgabepuffer, ein Niedriggeschwindigkeits-Eingabepuffer 560, eine Niedriggeschwindigkeits-Eingabeschaltung 540, ein Hochgeschwindigkeits-Eingabepuffer 565, eine Hochgeschwindigkeits-Eingabeschaltung 545, Multiplexer 570 und 575 und Pads bzw. Kontaktie rungsflecken P1 510 und P2 520 enthalten. Die Niedriggeschwindigkeits-Ausgabeschaltung 530 und der Niedriggeschwindigkeits-Ausgabepuffer 550 bilden einen Niedriggeschwindigkeits-Ausgabepfad zur Zuführung von Signalen von Kernschaltungen zum Pad bzw. Kontaktierungsflecken P1 510. Ein Hochgeschwindigkeits-Ausgabepfad ist durch die Hochgeschwindigkeits-Ausgabeschaltung 535 und den Hochgeschwindigkeits-Ausgabepuffer 555 ausgebildet. Dieser Pfad empfängt Signale von FIFOs oder andern Kernschaltungen und führt eine Differenzausgabe auf Pads bzw. Kontaktierungsflecken P1 510 und P2 520 zu. 5 Fig. 10 is a block diagram illustrating input and output circuits according to an embodiment of the present invention. It is a low speed output circuit 530 , a low-speed output buffer 550 , a high-speed output circuit 535 , a high-speed output buffer, a low-speed input buffer 560 , a low-speed input circuit 540 , a high-speed input buffer 565 , a high-speed input circuit 545 , Multiplexer 570 and 575 and pads or contact pads P1 510 and P2 520 contain. The low-speed output circuit 530 and the low-speed output buffer 550 form a low-speed output path for supplying signals from core circuits to the pad P1 510 , A high speed output path is through the high speed output circuit 535 and the high-speed output buffer 555 educated. This path receives signals from FIFOs or other core circuits and applies a differential output to pads P1 510 and P2 520 to.

Der Niedriggeschwindigkeits-Eingabepuffer 560 und die Niedriggeschwindigkeits-Eingabeschaltung 540 bilden einen Niedriggeschwindigkeits-Eingabepfad zum Empfang von Signalen auf den Pads bzw. Kontaktierungsflecken P1 510 und Zuführen von Ausgaben zur Kernschaltung. Ein Hochgeschwindigkeits-Eingabepfad ist durch den Hochgeschwindigkeits-Eingabepuffer 565 und die Hochgeschwindigkeits-Eingabeschaltung 545 ausgebildet. Dieser Pfad empfängt Differenzeingaben auf den Pads bzw. Kontaktierungsflecken P1 510 und P2 520 und führt Signale zu FIFOs oder andern Schaltungen in dem Kern zu.The low-speed input buffer 560 and the low-speed input circuit 540 form a low-speed input path for receiving signals on the pads P1 510 and supplying outputs to the core circuit. A high speed input path is through the high speed input buffer 565 and the high-speed input circuit 545 educated. This path receives differential inputs on the pads P1 510 and P2 520 and supplies signals to FIFOs or other circuits in the core.

Zusätzlich bildet der Multiplexer 570 einen Niedriggeschwindigkeitspfad einschließlich der Niedriggeschwindigkeits-Ausgabeschaltung 530 und des Hochgeschwindigkeits-Differenzausgabepuffers 555. Auf diesem Weg können Niedriggeschwindigkeitssignale von den Kernschaltungen als Differenzausgangssignale ausgebildet werden. Ahnlich können Differenz-Eingangssignale durch den Hochgeschwindigkeits-Eingabepuffer 565 empfangen und durch den Multiplexer 575 zur Niedriggeschwindigkeits-Eingabeschaltung 540 zugeführt werden. Auf diesem Weg kann ein Niedriggeschwindigkeits-Differenzeingangssignal empfangen und zu den Kernschaltungen ausgegeben werden.In addition, the multiplexer forms 570 a low speed path including the low speed output circuit 530 and the high-speed differential output buffer 555 , In this way, low-speed signals from the core circuits can be formed as differential outputs. Similarly, differential input signals may be through the high speed input buffer 565 received and through the multiplexer 575 to the low-speed input circuit 540 be supplied. In this way, a low-speed differential input signal can be received and output to the core circuits.

In einem bestimmten Ausführungsbeispiel der vorliegenden Erfindung sind die Niedriggeschwindigkeits-Ausgabeschaltung 530, die Hochgeschwindigkeits-Ausgabeschaltung 535, die Niedriggeschwindigkeits-Eingabeschaltung 540 und die Hochgeschwindigkeits-Eingabeschaltung 545 Doppeldatenraten-Register. Die Begriffe Hochgeschwindigkeit und Niedriggeschwindigkeit sind relative Begriffe und beschreiben keine bestimmte Datenrate.In a particular embodiment of the present invention, the low speed output circuit is 530 , the high-speed output circuit 535 , the low-speed input circuit 540 and the high-speed input circuit 545 Double data rate register. The terms high speed and low speed are relative terms and do not describe a particular data rate.

6 ist ein anderes Blockschaltbild, das eine Eingabe- und Ausgabeschaltung entsprechend einem Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht. Diese Figur ist ebenso wie alle enthaltenen Figuren nur zu Beispielzwecken gezeigt und soll weder die möglichen Ausführungsbeispiele der vorliegenden Erfindung noch die Ansprüche einschränken. 6 Figure 13 is another block diagram illustrating an input and output circuit according to one embodiment of the present invention. This figure, like all figures contained therein, is shown by way of example only and is not intended to limit the possible embodiments of the present invention or the claims.

Es sind Pads bzw. Kontaktierungsflecken P1 610 und P2 620, ein Eingabeblock IN1 650, ein Ausgabeblock OUT1 670, ein Hochgeschwindigkeits-Ausgabeblock HSOUT 680, ein Hochgeschwindigkeits-Eingabeblock HSIN 690, ein Ausgabeblock OUT2 675 und ein Eingabeblock IN2 655 enthalten. Auch sind Ausgabefreigabeblöcke OE1 660 und OE2 665 enthalten.They are pads P1 610 and P2 620 , an input block IN1 650 , an output block OUT1 670 , a high-speed output block HSOUT 680 , a high speed input block HSIN 690 , an output block OUT2 675 and an input block IN2 655 contain. Also, output enable blocks are OE1 660 and OE2 665 contain.

Jeder Eingabe-, Ausgabe- und Ausgabefreigabeblock kann synchron oder asynchron sein. In einem Ausführungsbeispiel sind globale (GCLKs) und lokale (LCLKs) Taktleitungen 630 und Hochgeschwindigkeits-Taktleitungen (HCLKs) 640 ausgebildet. In einem bestimmten Ausführungsbeispiel der vorliegenden Erfindung sind zahlreiche globale Niedrig- oder Moderatgeschwindigkeits-Taktleitungen durch die integrierte Schaltung für Schaltungen verfügbar. Zusätzlich sind zahlreiche lokale Niedrig- oder Moderatgeschwindigkeits-Takte verfügbar. Diese lokalen Takte sind verfügbar und werden nur zu einem Teil der integrierten Schaltung, beispielsweise einem Viertel der integrierten Schaltung geleitet.Each input, output and output enable block may be synchronous or asynchronous. In one embodiment, Global (GCLKs) and Local (LCLKs) are clock lines 630 and high-speed clock lines (HCLKs) 640 educated. In a particular embodiment of the present invention, numerous global low or moderate speed clock lines are available through the integrated circuit for circuits. In addition, many local low or moderate rate clocks are available. These local clocks are available and are only routed to part of the integrated circuit, for example, one quarter of the integrated circuit.

Zusätzlich zu diesen Niedrig- und Moderatgeschwindigkeits-Takten, sind auch zahlreiche Hochgeschwindigkeits-Takte HCLKs 640 verfügbar. Diese Takte können, ebenso wie die lokalen und globalen Taktleitungen unsymmetrisch bzw. einpolig geerdet oder differentiell sein. Die Verwendung der Begriffe Niedrig-, Moderat- und Hochgeschwindigkeit sind als relative Begriffe gemeint – der Fachmann weiß, daß das, was nun Hochgeschwindigkeit ist, bald Moderatgeschwindigkeit ist.In addition to these low and moderate speed clocks, many high speed clocks are also HCLKs 640 available. These clocks, like the local and global clock lines, can be single-ended or single-ended grounded or differential. Use of the terms low, moderate, and high speed are meant to be relative terms - those skilled in the art know that what is now high speed will soon be moderate speed.

Eingangs- und Ausgangsleitungen zu und von den Eingabe- und Ausgabeblöcken können direkt zu und von Logikgattern oder Logikfeldblöcken im Kern der integrierten Schaltung geführt werden. Alternativ können diese Eingangs- und Ausgangssignale zu und von FIFO- bzw. Ersteingangs-Erstausgangs-Speichern geführt werden, die als Datenpuffer oder Frequenzübersetzer dienen können.input and output lines to and from the input and output blocks can be direct to and from logic gates or logic array blocks in the core of the integrated Circuit led become. Alternatively you can these input and output signals to and from first-in, first-out, FIFO memories guided which can serve as a data buffer or frequency translator.

Diese Eingabe- und Ausgabeschaltungen sind derart auswählbar, daß die Pads bzw. Kontaktierungsflecken P1 610 und P2 620 folgendes ausbilden können:

  • einen Hochgeschwindigkeits-Differenzausgang;
  • einen Hochgeschwindigkeits-Differenzeingang;
  • einen Moderat- oder Niedriggeschwindigkeits-Differenzausgang;
  • einen Moderat- oder Niedriggeschwindigkeits-Differenzeingang;
  • zwei unsymmetrische bzw. einpolig geerdete Eingänge;
  • zwei unsymmetrische bzw. einpolig geerdete Ausgänge; oder
  • einen unsymmetrischen bzw. einpolig geerdeten Eingang und einen unsymmetrischen
  • bzw. einpolig geerdeten Ausgang.
These input and output circuits are selectable such that the pads P1 610 and P2 620 can train:
  • a high speed differential output;
  • a high speed differential input;
  • a moderate or low speed differential output;
  • a moderate or low speed differential input;
  • two unbalanced or single-pole grounded inputs;
  • two unbalanced or single-pole grounded outputs; or
  • an unbalanced or single-ended input and a single-ended
  • or single-ended output.

Signalpfade sind durch Multiplexsignale, Offnungs- und Kurzschlußdurchgangseinrichtungen oder durch Auswahl anderen Auswahlstrukturen auswählbar. Ein bestimmtes Ausführungsbeispiel verwendet Multiplexer, um Schaltungen entweder mit oder von den Eingabe- und Ausgabe-Pads bzw. -Kontaktierungsflecken zu verbinden oder zu trennen. Die Eingabe- und Ausgabeschaltungen von anderen Ausführungsbeispielen können derart auswählbar sein, daß sie mehr, verschiedene oder weniger Arten von Eingängen und Ausgängen als in der vorstehenden Liste ausbilden.signal paths are by multiplexed signals, opening and shorting passageways or selectable by selecting other selection structures. A specific embodiment uses multiplexers to connect circuits either with or from the Input and output pads or pads to connect or separate. The input and output circuits of others embodiments can so selectable be that she more, different or fewer types of inputs and outputs than in the above list.

Wenn die Schaltung in 6 als ein Hochgeschwindigkeits-Ausgang konfiguriert ist, ist der Hochgeschwindigkeits-Ausgabeblock HSOUT 680 ausgewählt, während die anderen Blöcke abgewählt sind. Ein Ausgangssignal DOH wird auf einer Leitung 684 empfangen. Das Signal DOH kann von Logikgattern im Kern der integrierten Schaltung oder einem FIFO empfangen werden. Beispielsweise kann DOH durch ein FIFO ausgebildet werden, das Daten mit einer niedrigen oder moderaten Frequenz von einer Schaltung innerhalb der integrierten Schaltung empfängt und Daten mit einer höheren Frequenz ausgibt. Ein Taktsignal wird auf einer Leitung 682 empfangen, die durch Durchlaßgatter 642 ausgewählt mit einem der Hochgeschwindigkeits-Takte 640 verbunden ist. Ein Ausgabefreigabesignal OEH wird auf einer Leitung 683 empfangen, die die Hochgeschwindigkeits-Ausgabeschaltung freigibt bzw. akti viert oder deaktiviert. Hochgeschwindigkeits-Differenzausgänge sind auf den Pads bzw. Kontaktierungsflecken P1 610 und P2 620 ausgebildet.When the circuit in 6 is configured as a high speed output, the high speed output block is HSOUT 680 selected while the other blocks are deselected. An output signal DOH is on a line 684 receive. The signal DOH may be received from logic gates in the core of the integrated circuit or a FIFO. For example, DOH may be formed by a FIFO that receives data at a low or moderate frequency from a circuit within the integrated circuit and outputs data at a higher frequency. A clock signal is on a line 682 received by pass gate 642 selected with one of the high-speed clocks 640 connected is. An output enable signal OEH is on a line 683 receive, which enables or activates the high-speed output circuit or disabled. High speed differential outputs are on the pads P1 610 and P2 620 educated.

Wenn die Schaltung in 6 konfiguriert ist, daß sie einen Hochgeschwindigkeits-Differenzeingang ausgebildet, wird der Hochgeschwindigkeits-Eingangsblock 690 ausgewählt, während die anderen Eingabe- und Ausgabeschaltungen abgewählt sind. Die Hochgeschwindigkeits-Differenzeingaben werden an den Pads bzw. Kontaktierungsflecken P1 r und P2 620 empfangen. Ein Hochgeschwindigkeitssignal DIH wird dem Kern der integrierten Schaltung auf einer Leitung 694 zugeführt, das Signal DIH kann durch eine Hochgeschwindigkeitsschaltung innerhalb der integrierten Schaltung empfangen werden oder es kann durch ein FIFO empfangen werden, dessen Ausgabe mit einer niedrigen Geschwindigkeit getaktet ist. Ein Hochgeschwindigkeits-Taktsignal wird dem Hochgeschwindigkeits-Eingabeblock auf einer Leitung 692 zugeführt, der ausgewählt über die Durchlaßeinrichtungen 644 mit einem der Hochgeschwindigkeits-Takte 640 verbunden ist.When the circuit in 6 is configured to form a high speed differential input, becomes the high speed input block 690 selected while the other input and output circuits are deselected. The high speed differential inputs are applied to the pads P1 r and P2 620 receive. A high speed signal DIH becomes the core of the integrated circuit on a line 694 supplied, the signal DIH can be received by a high-speed circuit within the integrated circuit or it can be received by a FIFO, the output of which is clocked at a low speed. A high speed clock signal is sent to the high speed input block on a line 692 supplied, which is selected via the passage means 644 with one of the high-speed clocks 640 connected is.

Diese Schaltung kann auch derart konfiguriert werden, daß jedes Pad bzw. Kontaktierungsflecken einen unsymmetrischen bzw. einpolig geerdeten Moderat- oder Niedriggeschwindigkeits-Ausgang ausbildet. Beispielsweise kann der Ausgabeblock OUT1 670 ausgewählt sein, während der Hochgeschwindigkeits- Ausgabeblock HSOUT 680 und – Eingabeblock IN1 659 abgewählt sind. Der Ausgabeblock OUT1 670 führt ein Ausgangssignal auf der Leitung 612 zum Ausgabe-Pad bzw. Kontaktierungsflecken P1 610 zu. Das Eingangssignal DO1 wird auf der Leitung 674 empfangen, wiederum entweder von der Kernschaltung oder einem Umsetzungs-FIFO. Ein Niedrig- oder Moderatgeschwindigkeits-Taktsignal wird auf der Leitung 672 von einem globalen oder lokalen Takt 630 durch eine Durchlaßeinrichtung 634 empfangen. Der Ausgabeblock OUT1 kann durch die Ausgabefreigabeschaltung OE1 660 aktiviert oder deaktiviert werden. In diesem bestimmten Beispiel empfingen die Ausgabefreigabeschaltung 660 und die Ausgabeschaltung 670 dasselbe Taktsignal auf der Leitung 672. In anderen Ausführungsbeispielen können diese Blöcke individuelle Taktsignale empfangen. Der Ausgabefreigabeblock OE1 660 empfängt ein Ausgabefreigabesignal 664 von dem Kern der integrierten Schaltung und führt ein Freigabesignal auf einer Leitung 661 zum Ausgabeblock OUT1 670 zu. Eine ähnliche Schaltung ist durch den Ausgabeblock OUT2 675 und Ausgabefreigabeblock OE2 665 ausgebildet, die mit dem Pad bzw. Kontaktierungsflecken P2 620 verbunden sind.This circuit can also be configured such that each pad forms a single-ended, single-ended or low-speed output. For example, the output block OUT1 670 be selected while the highs speed output block HSOUT 680 and input block IN1 659 are deselected. The output block OUT1 670 carries an output signal on the line 612 to the output pad P1 610 to. The input signal DO1 is on the line 674 received, again from either the core circuit or a translation FIFO. A low or moderate speed clock signal will be on the line 672 from a global or local clock 630 through a passage means 634 receive. The output block OUT1 can be read by the output enable circuit OE1 660 be activated or deactivated. In this particular example, the output enable circuit received 660 and the output circuit 670 the same clock signal on the line 672 , In other embodiments, these blocks may receive individual clock signals. The output enable block OE1 660 receives an output enable signal 664 from the core of the integrated circuit and carries an enable signal on a line 661 to the output block OUT1 670 to. A similar circuit is through the output block OUT2 675 and output enable block OE2 665 formed with the pad or bonding pads P2 620 are connected.

Die Schaltung gemäß 6 kann auch derart konfiguriert sein, daß ein oder beide Pads bzw. Kontaktierungsflecken P1 610 und P2 620 auch ein einpolig geerdetes Eingangssignal empfangen. Beispielsweise kann ein einpolig geerdetes Eingangssignal an dem Pad bzw. Kontaktierungsflecken P1 610 empfangen und auf der Leitung 612 zur Eingabeschaltung IN1 650 zugeführt werden. Die Eingabeschaltung IN1 650 führt ein Eingangsignal zum Rest des Bausteins auf der Leitung DI1 654 zu. DI1 kann zur Kernschaltung in der integrierten Schaltung oder zu einem FIFO zugeführt werden, wie zuvor. Ein Taktsignal wird auf der Leitung 652 von einem der globalen oder lokalen Takte 630 durch Durchlaßeinrichtungen 632 empfangen. Eine ähnliche Schaltung ist durch den Eingabeblock IN2 655 ausgebildet, der mit dem Pad bzw. Kontaktierungsflecken P2 620 verbunden ist.The circuit according to 6 may also be configured such that one or both pads P1 610 and P2 620 also receive a single-ended input signal. For example, a single-ended input signal may be applied to pad P1 610 received and on the line 612 to the input circuit IN1 650 be supplied. The input circuit IN1 650 carries an input signal to the remainder of the device on line DI1 654 to. DI1 may be supplied to the core circuit in the integrated circuit or to a FIFO as before. A clock signal will be on the line 652 from one of the global or local clocks 630 by passage means 632 receive. A similar circuit is through the input block IN2 655 formed with the pad or bonding pads P2 620 connected is.

Zusätzlich sind andere Signalleitungen ausgebildet, wie beispielsweise eine Signalleitung 693, die einen Pfad ausbildet, der eine Konfiguration dieser Schaltung als ein Modeart- oder Niedriggeschwindigkeits-Differenzeingang erlaubt, wo eine auf den Pads bzw. Kontaktierungsflecken P1 610 und P2 620 empfangene Differenzeingabe als eine Ausgabe DI1 auf der Leitung 654 ausgebildet wird. Zusätzlich ist ein Signalpfad 673 derart ausgebildet, daß ein durch den Ausgabeblock OUT1 670 empfangenes Moderat- oder Niedriggeschwindigkeits-Ausgangssignal DO1 674 als eine Differenz-Ausgabe zu den Pads bzw. Kontaktierungsflecken P1 610 und P2 620 zugeführt wird.In addition, other signal lines are formed, such as a signal line 693 , which forms a path that allows configuration of this circuit as a mode-or low-speed differential input, where one on the pads P1 610 and P2 620 received differential input as an output DI1 on the line 654 is trained. In addition, there is a signal path 673 formed such that a through the output block OUT1 670 received moderate or low speed output DO1 674 as a differential output to the pads P1 610 and P2 620 is supplied.

Die flexibleren Niedriggeschwindigkeits-Eingabe- und Ausgabeschaltungen bieten zusätzliche Konfigurierbarkeit. Beispielsweise kann die Niedriggeschwindigkeitsschaltung ausgewählt mit einer größeren Auswahl von Taktleitungen verbinden, die bei verschiedenen Frequenzen und verschiedenen Phasen funktionieren. Auch kann ein JTAG-Grenztest unterstützt werden. In einem bestimmten Ausführungsbeispiel ist ein präziser zeitlich abgestimmtes Ausgabefreigabesignal auf dem Niedriggeschwindigkeits-Ausgabepuffer oder -treiber verfügbar und die Niedriggeschwindigkeits-Schaltungen können entweder mit einem FIFO oder direkt mit Kern-Logik-Feldblöcken verbunden sein, während die Hochgeschwindigkeits-Eingabe- und Ausgabeschaltungen typischerweise die Frequenzübersetzungsfähigkeiten eines FIFO erfordern. Auch enthalten die Niedriggeschwindigkeits-Schaltungen Voreinstellungs-, Lösch- und Freigabefunktionen gegenüber nur einer Löschfunktion in der Hochgeschwindigkeitsschaltung. Da weiterhin die Niedriggeschwindigkeitsschaltungen unsymmetrisch bzw. einpolig geerdet sind, können zwei Pads bzw. Kontaktierungsflecken als die zwei Ausgabe-Pads bzw. -Kontaktierungsflecken, zwei Eingabe-Pads bzw. -Kontaktierungsflecken oder ein Eingabe- und ein Ausgabe-Pad bzw. -Kontaktierungsflecken für die Niedriggeschwindigkeitsschaltung verwendet werden, wohingegen aufgrund ihrer unterschiedlichen Beschaffenheit zwei Pads bzw. Kontaktierungsflecken für nur eine Hochgeschwindigkeitseingabe oder – ausgabe erforderlich sind.The more flexible low-speed input and output circuits offer additional configurability. For example, the low-speed circuit can be selected with a larger selection of clock lines that connect at different frequencies and different phases work. Also, a JTAG boundary test supports become. In a particular embodiment is a precise one timed output enable signal on the low speed output buffer or drivers available and the low speed circuits can either be with a FIFO or be directly connected to core logic array blocks while the High-speed input and output circuits typically have the frequency translation capabilities require a FIFO. Also included are the low-speed circuits Presetting, deletion and release functions only one delete function in the high-speed circuit. There continue to be the low-speed circuits can be grounded or unipolar, two pads or Kontaktierungsflecken as the two output pads or -Kontaktierungsflecken, two input pads or -Kontaktierungsflecken or an input pad and an output pad for the low-speed circuit used, whereas due to their different nature two pads for only one high speed input or - issue required are.

7 ist ein Blockschaltbild einer Eingabe- und Ausgabe-Schnittstelle entsprechend einem Ausführungsbeispiel der vorliegenden Erfindung. Es sind Pads bzw. Kontaktierungsflecke P1 710 und P2 720 enthalten, die mit einer Eingabe- und Ausgabeschaltung 701 verbunden sind, die mit Kernschaltungen 702 und FIFOs 715 und 725 verbunden ist. Häufig sind die Kernschaltungen 702 und FIFOs 715 und 725 in der Mitte einer integrierten Schaltung angeordnet, während die Eingabe- und Ausgabeschaltung 701 um den Umfang der integrierten Schaltung angeordnet ist und die Pads bzw. Kontaktierungsflecken entlang ihrer Kante angeordnet sind. 7 Figure 4 is a block diagram of an input and output interface according to one embodiment of the present invention. They are pads or contact pads P1 710 and P2 720 included with an input and output circuit 701 connected to the core circuits 702 and FIFOs 715 and 725 connected is. Often the core circuits are 702 and FIFOs 715 and 725 placed in the middle of an integrated circuit, while the input and output circuit 701 is arranged around the circumference of the integrated circuit and the pads are arranged along its edge.

Die Eingabe- und Ausgaberegister können jedes ein Doppeldatenraten-Register sein. Alternativ kann jedes Register ein einzelnes Flip-Flop sein. Demgemäß kann jede Eingabe- und Ausgabeleitung von dem Register zu den FIFOs 715 und 725 eine oder mehrere Datenleitungen sein. Wenn beispielsweise ein Ausgaberegister ein Doppeldatenraten-Register ist, kann die gezeigte Eingabeleitung aus zwei Datenleitungen bestehen. Jede Datenleitung kann eine Leitung für unsymmetrisches bzw. einpolig geerdetes, oder zwei Leitungen für differentielles bzw. Differenz-Signalisieren sein. Wenn ein Doppeldatenraten-Register mit einem FIFO verbunden ist, kann jedes gezeigte FIFO ein einzelnes FIFO mit zwei Ausgängen oder zwei separate FIFOs sein.The input and output registers may each be a double data rate register. Alternatively, each register may be a single flip-flop. Accordingly, each input and output line from the register to the FIFOs 715 and 725 be one or more data lines. For example, if an output register is a double data rate register, the input line shown may consist of two data lines. Each data line may be one single-ended or one-pole grounded, or two differential-differential lines. If a double data rate register is connected to a FIFO, it can ever the FIFO shown may be a single two output FIFO or two separate FIFOs.

Ein Hochgeschwindigkeits-Differenzausgabepfad ist durch das FIFO 715, ein Ausgaberegister 780, einen Multiplexer 781 und einen Differenzausgabepuffer oder -treiber 782 ausgebildet. Wenn die Schaltung gemäß 7 ausgewählt konfiguriert ist, um einen Hochgeschwindigkeits-Differenzausgang auszubilden, werden diese Schaltungen typischerweise ausgewählt aktiviert, während die anderen Schaltungen deaktiviert werden. Beispielsweise können die aktivierten Schaltungen mit den Ausgabe-Pads bzw. -Kontaktierungsflecken durch einen Multiplexer verbunden sein, während die deaktivierten Schaltungen durch andere Multiplexer getrennt sind. Auch können zum Energiesparen die Takteingaben in deaktivierte Schaltungen getrennt werden, das heißt, nicht durch eine Durchlaßeinrichtung oder andere Verbindung mit einer aktiven Taktleitung verbunden sein. Diese Multiplexer, Durchlaßein richtungen und andere Verbindungen können durch programmierbare Bits, dynamische Signale oder durch andere Einrichtungen gesteuert sein. Programmierbare Bits können in einem EEPROM, Flash, SRAM, DRAM, MRAM, einer Sicherung, einer Gegensicherung oder anderen Schaltungen gespeichert sein. Dynamische Signale können durch Kernlogikblöcke, externe Schaltungen oder andere Quellen erzeugt sein.A high speed differential output path is through the FIFO 715 , an output register 780 , a multiplexer 781 and a differential output buffer or driver 782 educated. If the circuit according to 7 is selectively configured to form a high-speed differential output, these circuits are typically selectively activated while the other circuits are deactivated. For example, the activated circuits may be connected to the output pads by a multiplexer while the deactivated circuits are separated by other multiplexers. Also, to save power, the clock inputs may be disconnected into disabled circuits, that is, not connected to an active clock line by a pass device or other connection. These multiplexers, pass devices and other connections may be controlled by programmable bits, dynamic signals or other means. Programmable bits may be stored in an EEPROM, Flash, SRAM, DRAM, MRAM, a fuse, an anti-fuse, or other circuitry. Dynamic signals may be generated by core logic blocks, external circuits or other sources.

Das FIFO 715 empfängt ein (nicht gezeigtes) Eingangssignal von den Kernschaltungen und bildet einen mit dem Eingang des Hochgeschwindigkeits-Ausgaberegisters 780 verbundenen Ausgang. Häufig agiert das FIFO 715 als ein Puffer und Frequenzübersetzer zwischen den Niederfrequenz-Kernschaltungen und dem Hochfrequenz-Differenzausgang. Das Hochgeschwindigkeits-Ausgaberegister 780 wird durch eine der Hochgeschwindigkeits-Taktleitungen 740 getaktet. Die Ausgabe des Hochgeschwindigkeits-Registers wird dem Multiplexer 781 zugeführt, der wiederum den Ausgabepuffer 782 antreibt. Der Ausgabepuffer 782 führt invertierende und nichtinvertierende Ausgangssignale zu den Pads bzw. Kontaktierungsflecken P2 720 und P1 710 zu. Der Differenzausgabepuffer 782 kann Ausgangssignale ausbilden, die ausgewählt mit einem oder mehreren Standards oder Ubereinkommen kompatibel sein. Beispielsweise kann der Ausgabepuffer 782 Ausgangssignale ausbilden, die mit einem oder mehreren der folgenden kompatibel sind: LVDS, LVPECL, Hypertransport und PCML. Diese Hochfrequenz-Eingabe- und Ausgabe-Standards und -Übereinkommen sind typischerweise ein spezifisches Differenz-Signalisieren. Demgemäß erfordern die Hochgeschwindigkeits-Eingabe- und Ausgabeschaltungen häufig die Verwendung von zwei Pads bzw. Kontaktierungsflecken.The FIFO 715 receives an input signal (not shown) from the core circuits and forms one with the input of the high speed output register 780 connected output. Frequently the FIFO acts 715 as a buffer and frequency translator between the low frequency core circuits and the high frequency differential output. The high-speed output register 780 is through one of the high-speed clock lines 740 clocked. The output of the high speed register becomes the multiplexer 781 fed, in turn, the output buffer 782 drives. The output buffer 782 performs inverting and non-inverting output signals to the pads P2 720 and P1 710 to. The difference output buffer 782 may form output signals that are selected to be compatible with one or more standards or convention. For example, the output buffer 782 Form output signals compatible with one or more of the following: LVDS, LVPECL, Hypertransport and PCML. These high frequency input and output standards and conventions are typically a specific difference signaling. Accordingly, the high speed input and output circuits often require the use of two pads.

Ein Hochgeschwindigkeits-Differenzeingabepfad wird durch einen Differenzeingabepuffer oder -treiber 791, ein Hochgeschwindigkeits-Eingaberegister 790, einen Multiplexer 793 und ein FIFO 725 ausgebildet. Wenn die Eingabe- und Ausgabeschaltung gemäß 7 ausgewählt konfiguriert ist, um eine Hochgeschwindigkeits-Differenzeingabe auszubilden, sind dieser Schaltungen typischerweise ausgewählt aktiviert, während die verbleibenden Schaltungen deaktiviert sind. Ein Hochgeschwindigkeits-Differenzeingabesignal wird auf den Pads bzw. Kontaktierungsflecken P1 710, P2 720 empfangen und dem Differenzeingabepuffer 791 zugeführt, der ein Eingangssignal zu dem Hochgeschwindigkeits-Eingabepuffer 791 zuführt, das ein Eingangssignal zu dem Hochgeschwindigkeits-Eingaberegister 790 zuführt. Das Hochgeschwindigkeits-Eingaberegister 790 führt durch den Multiplexer 793 ein Ausgangssignal zum FIFO 725 zu. Das Hochgeschwindigkeits-Eingaberegister 790 ist durch ei nen der Hochgeschwindigkeits-Takte HCLKs 740 getaktet. Typischerweise bildet das FIFO 725 eine Frequenzumsetzung für das Hochgeschwindigkeits-Eingaberegister zur Niedergeschwindigkeits-Kernschaltung im Kern 702. Der Differenzeingabepuffer 791 kann Eingangssignale empfangen, die kompatibel mit einem oder mehreren Standards oder Ubereinkommen sind. Beispielsweise kann der Eingabepuffer 791 Eingangssignale empfangen, die kompatibel mit einem oder mehreren der folgenden sind: LVDS, LVPECL, Hypertransport und PCML.A high-speed differential input path is passed through a differential input buffer or driver 791 , a high-speed input register 790 , a multiplexer 793 and a FIFO 725 educated. If the input and output circuit according to 7 is selectively configured to form a high-speed differential input, these circuits are typically selectively activated while the remaining circuits are deactivated. A high-speed differential input signal is generated on the pads P1 710 , P2 720 received and the differential input buffer 791 which provides an input to the high speed input buffer 791 which provides an input to the high speed input register 790 supplies. The high-speed input register 790 passes through the multiplexer 793 an output signal to the FIFO 725 to. The high-speed input register 790 is through one of the high-speed clocks HCLKs 740 clocked. Typically, the FIFO forms 725 a frequency conversion for the high-speed input register to the low-speed core circuit in the core 702 , The difference input buffer 791 can receive input signals that are compatible with one or more standards or conventions. For example, the input buffer 791 Receive input signals that are compatible with one or more of the following: LVDS, LVPECL, Hypertransport, and PCML.

Ein unsymmetrisches bzw. einpolig geerdetes Ausgangssignal kann einem Pad bzw. Kontaktierungsflecken P1 710 durch das Ausgaberegister 770 und den Ausgabepuffer oder – treiber 771 zugeführt werden. Wenn ein einpolig geerdetes Ausgangssignal dem Pad bzw. Kontaktierungsflecken 710 zugeführt ist, sind typischerweise diese Schaltungen aktiv, während die anderen zugehörigen Schaltungen in den Eingabe- und Ausgabeschaltungen 701, wie beispielsweise das Eingaberegister 750, der Eingabepuffer 751, das Hochgeschwindigkeits-Ausgaberegister 780 und das Hochgeschwindigkeits-Eingaberegister 790 inaktiv sind. Signale werden durch das Ausgaberegister 770 von Kernschaltungen 702 oder dem FIFO 715 empfangen. Das Ausgaberegister 770 führt Ausgangssignale zum unsymmetrischen bzw. einpolig geerdeten Ausgabepuffer 771 zu, der wiederum das Pad bzw. den Kontaktierungsflecken P1 710 ansteuert. Der Ausgabepuffer 771 kann durch das Ausgabefreigaberegister 760 freigegeben bzw. aktiviert oder deaktiviert werden. Das Ausgaberegister 770 und das Ausgabefreigaberegister 760 können durch echte oder komplementäre Versionen eines der globalen oder lokalen Takte 730 getaktet werden. In diesem bestimmten Beispiel sind die Taktmultiplexer 763 und 773, die das Ausgabefreigaberegister 760 bzw. das Ausgaberegister 770 takten, mit derselben Taktleitung verbunden. In anderen Ausführungsbeispielen können diese Multiplexer mit getrennten Taktleitungen verbunden sein. Der Ausgabepuffer 771 kann Ausgaben ausbilden, die einem oder mehreren Standards oder Ubereinkommen entsprechen. Beispielsweise kann der Ausgabepuffer 771 Signale ausbilden, die einem oder mehreren der folgenden entsprechend: LVTTL, LVCMOS, SSTL und TTL. Ahnlich können unsymmetrische bzw. einpolig geerdete Ausgangssignale dem Pad bzw. Kontaktierungsflecken P2 720 durch das Ausgaberegister 775 und den Ausgabepuffer 776, der durch das Ausgabefreigaberegister 765 aktiviert ist, zugeführt werden.An unbalanced or single-ended output signal can be applied to a pad P1 710 through the output register 770 and the output buffer or driver 771 be supplied. When a single-ended output signal is applied to the pad 710 Typically, these circuits are active while the other associated circuits in the input and output circuits 701 , such as the input register 750 , the input buffer 751 , the high-speed output register 780 and the high-speed input register 790 are inactive. Signals are passed through the output register 770 of core circuits 702 or the FIFO 715 receive. The output register 770 leads output signals to the unbalanced or single-ended output buffer 771 to, in turn, the pad or pads P1 710 controls. The output buffer 771 can through the output enable register 760 released or activated or deactivated. The output register 770 and the output enable register 760 can be through real or complementary versions of any of the global or local clocks 730 be clocked. In this particular example, the clock multiplexers are 763 and 773 that the output enable register 760 or the output register 770 clock, connected to the same clock line. In other execution For example, these multiplexers may be connected to separate clock lines. The output buffer 771 may make expenditures that comply with one or more standards or conventions. For example, the output buffer 771 Form signals corresponding to one or more of the following: LVTTL, LVCMOS, SSTL and TTL. Similarly, unbalanced or single-ended outputs can be applied to the pads P2 720 through the output register 775 and the output buffer 776 passing through the output enable register 765 is activated, be supplied.

Unsymmetrische bzw. einpolig geerdete Eingangssignale können vom Pad bzw. Kontaktierungsflecken P1 710 unter Verwendung des Eingabepuffers 751 und des Eingaberegi sters 750 empfangen werden. Wenn unsymmetrische bzw. einpolig geerdete Eingangssignale vom Pad bzw. Kontaktierungsflecken P1 empfangen werden, sind typischerweise diese Schaltungen aktiv, während andere zugehörige Schaltungen, wie beispielsweise das Ausgaberegister 770, der Ausgabepuffer 771, das Ausgabefreigaberegister 760, das Hochgeschwindigkeits-Ausgaberegister 780 und das Hochgeschwindigkeits-Eingaberegister 790 inaktiv sind. Vom Pad bzw. Kontaktierungsflecken P1 710 empfangene Signale werden über die Leitung 712 zum Eingabepuffer 751 geführt. Der Eingabepuffer 751 kann einem oder mehreren Anforderungen oder Ubereinkommen entsprechen. Beispielsweise kann der Eingabepuffer 751 einem oder mehreren der folgenden entsprechen: LVTTL, LVCMOS, SSTL und TTL. Der Eingabepuffer 751 führt ein Eingangssignal zum Eingaberegister 750 zu, das wiederum das FIFO 725 oder andere Schaltungen im Kern 702 antreiben kann. Das Eingaberegister 750 wird durch echte oder komplementäre Versionen eines Taktsignals von einer der globalen oder lokalen Taktleitungen 730 durch den Multiplexer 753 getaktet. Ahnlich können unsymmetrische bzw. einpolig geerdete Eingangssignale vom Pad bzw. Kontaktierungsflecken P2 720 durch den Puffer 756 empfangen werden, der das Eingaberegister 755 antreibt.Unbalanced or single-ended inputs can be supplied from pad P1 710 using the input buffer 751 and the input register 750 be received. Typically, when unbalanced grounded input signals are received by pad P1, these circuits are active while other associated circuits such as the output register 770 , the output buffer 771 , the output enable register 760 , the high-speed output register 780 and the high-speed input register 790 are inactive. From the pad P1 710 Received signals are sent over the line 712 to the input buffer 751 guided. The input buffer 751 may comply with one or more requirements or conventions. For example, the input buffer 751 one or more of the following: LVTTL, LVCMOS, SSTL and TTL. The input buffer 751 feeds an input signal to the input register 750 to, in turn, the FIFO 725 or other circuits at the core 702 can drive. The input register 750 is provided by true or complementary versions of a clock signal from one of the global or local clock lines 730 through the multiplexer 753 clocked. Likewise, single-ended or single-ended inputs can be sourced from pad P2 720 through the buffer 756 to receive the input register 755 drives.

Diese Eingabe- und Ausgabeschaltungen 701 können ausgewählt in anderen Konfigurationen freigegeben bzw. aktiviert werden. Beispielsweise kann der Differenzeingabebuffer 791 sein Ausgangssignal durch den Multiplexer 752 zum Eingaberegister 750 lenken. Auch kann das Ausgaberegister 770 seine Ausgabe durch den Multiplexer 781 zum Differenzausgabepuffer 782 lenken. In anderen Ausführungsbeispielen der vorliegenden Erfindung können andere Kombinationen von Eingabe- und Ausgabeschaltungen 701 ausgewählt freigegeben bzw. aktiviert werden, und ausgewählt mit den FIFOs 715 und 725 und Kernschaltungen 702 verbunden werden.These input and output circuits 701 can be selected or activated in other configurations. For example, the difference input buffer 791 its output signal through the multiplexer 752 to the input register 750 to steer. Also, the output register 770 its output through the multiplexer 781 to the difference output buffer 782 to steer. In other embodiments of the present invention, other combinations of input and output circuits 701 can be selectively enabled, and selected with the FIFOs 715 and 725 and core circuits 702 get connected.

Die FIFOs 715 und 725 erzeugen eine Frequenzumsetzung zwischen den Hochgeschwindigkeits-Eingabe- und Ausgabeschaltungen und den Niedriggeschwindigkeits-Kernlogikfeldblöcken. Insbesondere kann jedes FIFO aus einem kleinen eingebetteten Feldblock (SEAB) oder einem anderen eingebetteten Speicherblock gebildet sein. Ein SEAB ist eine Art von eingebettetem Speicherblock, der auf den Altera-Stratix-Einrichtungen zu finden ist. Wenn die Schaltung gemäß 7 als ein Hochgeschwindigkeitseingang konfiguriert ist, werden Datensignale vom Hochgeschwindigkeits-Eingaberegister 790 seriell empfangen und durch das FIFO 725 gespeichert. Diese Daten können durch das FIFO 725 mit einer niedrigeren Frequenz auf einem von zwei Wegen ausgegeben werden. Zuerst kann der Leseanschluß des FIFO 725 breiter als sein Schreibanschluß sein. Auf diesem Weg führt das FIFO 725 eine Seriell-Parallel-Datenumwandlung durch, die die Hochgeschwindigkeitsdaten auf eine niedrigere Frequenz übersetzt. Zweitens kann der Leseanschluß des FIFO 725 mit einer niedrigeren Frequenz getaktet sein als sein Schreibanschluß. Auf diesem Weg werden Hochgeschwindigkeitsdaten, die seriell mit einer hohen Frequenz geschrieben werden, mit einer niedrigeren Frequenz seriell gelesen. Es sollte darauf geachtet werden, in diesem Fall Pufferüberläufe zu vermeiden. Wenn die Schaltung gemäß 7 als ein Hochgeschwindigkeitsausgang konfiguriert ist, können Datensignale von den Kernlogikfeldblöcken durch das FIFO 715 seriell oder parallel empfangen werden. Wenn Daten durch das FIFO 715 parallel empfangen werden, können sie seriell zum Hochgeschwindigkeits-Ausgaberegister 770 ausgelesen werden. Dies erzeugt wieder eine Frequenzumsetzung von den Niedergeschwindigkeits-Kernlogikfeldblöcken zu dem Hochgeschwindigkeits-Ausgaberegister 770. Alternativ, wenn Daten durch das FIFO 715 seriell empfangen werden, kann es seriell mit einer höheren Frequenz ausgetaktet und auf das Ausgaberegister 770 gesetzt werden. Es sollte darauf geachtet werden, in diesem Fall Pufferunterläufe zu vermeiden.The FIFOs 715 and 725 generate frequency translation between the high speed input and output circuits and the low speed core logic array blocks. In particular, each FIFO may be formed of a small embedded field block (SEAB) or other embedded memory block. A SEAB is a type of embedded memory block found on the Altera Stratix devices. If the circuit according to 7 is configured as a high-speed input, data signals are input from the high-speed input register 790 received serially and through the FIFO 725 saved. This data can be accessed through the FIFO 725 be output at a lower frequency in one of two ways. First, the read port of the FIFO 725 be wider than its write port. This way the FIFO leads 725 a serial-to-parallel data conversion that translates the high-speed data to a lower frequency. Second, the read port of the FIFO 725 be clocked at a lower frequency than its write port. In this way, high-speed data written serially at a high frequency is read serially at a lower frequency. Care should be taken to avoid buffer overflows in this case. If the circuit according to 7 is configured as a high speed output, data signals from the core logic array blocks may be passed through the FIFO 715 be received serially or in parallel. When data through the FIFO 715 can be received in parallel, they can serially to the high-speed output register 770 be read out. This again generates a frequency translation from the low speed core logic block blocks to the high speed output register 770 , Alternatively, if data is through the FIFO 715 can be serially received at a higher frequency and output to the output register 770 be set. Care should be taken to avoid buffer underflows in this case.

8A ist ein Blockschaltbild, das mehr Einzelheiten einer Hochgeschwindigkeits-Differenzausgabe, die als HSOUT 680 in 6, des Hochgeschwindigkeits-Ausgaberegisters 780 und des Differenzausgabepuffers 782 in 7 oder anderer Schaltungen in anderen Ausführungsbeispielen der vorliegenden Erfindung verwendet werden kann. Es sind FIFOs 825a und 825b, Flip-Flops 880a und 880b, ein Multiplexer 850 und ein Ausgabepuffer 882 enthalten. Die FIFOs 825a und 825b können alternativ ein FIFO mit zwei Ausgängen sein. Die Flip-Flops 880a und 880b und der Multiplexer 850 bilden ein Doppeldatenraten-Ausgaberegister. Ein zweiter mit dem Ausgang des Multiplexers 850 verbundener Multiplexer kann verwendet werden, einen anderen Signalpfad zum Zugriff auf den Differenzausgabepuffer 882 auszubilden. Dieser zweite Multiplexer kann auch verwendet werden, um die Hochgeschwindigkeitsregister vom Ausgabepuffer zu trennen, wenn der Hochgeschwindigkeitsausgang deaktiviert und nicht ausgewählt ist. Zusätzliche Multiplexer oder Durchlaßeinrichtungen können in die Registerdaten- und Takteingabepfade eingefügt sein, um diesen Pfad zu deaktivieren und Energie zu sparen. Es ist für den Fachmann offensichtlich, daß andere Modifikationen bei dieser Schaltung erfolgen können, die der vorliegenden Erfindung entsprechen. 8A is a block diagram that gives more details of a high-speed differential output than HSOUT 680 in 6 , the high-speed output register 780 and the difference output buffer 782 in 7 or other circuits in other embodiments of the present invention. They are FIFOs 825a and 825b , Flip-flops 880a and 880b , a multiplexer 850 and an output buffer 882 contain. The FIFOs 825a and 825b may alternatively be a FIFO with two outputs. The flip-flops 880a and 880b and the multiplexer 850 form a double data rate output register. A second with the output of the multiplexer 850 connected multiplexer can be used a different signal path to access the differential output buffer 882 train. This second multiplexer can also be used to control the high speed disconnect the output buffer when the high-speed output is disabled and not selected. Additional multiplexers or pass devices may be included in the register data and clock input paths to disable this path and save energy. It will be apparent to those skilled in the art that other modifications can be made to this circuit consistent with the present invention.

Eingangssignale werden auf Leitungen DIN1 821 und DIN2 822 durch FIFOs 825a und 825b empfangen. In diesem Beispiel werden die Eingangssignale in die FIFOs durch durch Durchlaßeinrichtungen 834 und 832 ausgewählte globale oder lokale Takte 830 getaktet. Das FIFO 825a bildet eine Ausgabe, die durch das Flip-Flop 880a empfangen wird. Das FIFO 825b bildet eine Ausgabe, die durch das Flip-Flop 880b empfangen wird. Die Ausgangssignale der FIFOs 825a und 825b werden durch durch Durchlaßeinrichtungen 846 und 844 ausgewählte Hochgeschwindigkeits-Taktleitungen 840 getaktet. Die Flip-Flops 880a und 880b werden auch durch eine der Hochgeschwindigkeits-Taktleitungen 840 getaktet, ausgewählt durch die Durchlaßeinrichtungen 842. Die Ausgaben der Flip-Flops 880a und 880b werden als Eingaben zum Multiplexer 850 zugeführt, dessen Ausgabe durch dasselbe Taktsignal ausgewählt wird, wie es durch die Flip-Flops empfangen wird. Die Ausgabe des Multiplexers 850 wird dem Hochgeschwindigkeits-Differenzausgabepuffer 882 zugeführt, der wiederuam Pads bzw. Kontaktierungsflecken P1 810 und P2 820 antreibt.Input signals are on lines DIN1 821 and DIN2 822 through FIFOs 825a and 825b receive. In this example, the input signals to the FIFOs pass through 834 and 832 selected global or local clocks 830 clocked. The FIFO 825a forms an output through the flip-flop 880a Will be received. The FIFO 825b forms an output through the flip-flop 880b Will be received. The output signals of the FIFOs 825a and 825b be through by passage means 846 and 844 selected high-speed clock lines 840 clocked. The flip-flops 880a and 880b are also through one of the high-speed clock lines 840 clocked, selected by the passage means 842 , The outputs of the flip-flops 880a and 880b are used as inputs to the multiplexer 850 whose output is selected by the same clock signal as received by the flip-flops. The output of the multiplexer 850 becomes the high-speed differential output buffer 882 supplied, the wiederuam pads or contact pads P1 810 and P2 820 drives.

Durch Multiplexen zwischen Flip-Flops 880a und 880b während jedes Taktzyklus ist die Datenrate des Ausgangssignals das Doppelte der der Flip-Flopsausgaben Q1 811 und Q2 812. Weiterhin können Daten an den FIFO-Eingängen DIN1 821 und DIN2 822 parallel empfangen werden. Beispielsweise können vier Bit Daten durch das FIFO 825a am Eingang DIN1 821 und vier Bit durch das FIFO 825b am Eingang DIN2 822 empfangen werden. Vier Bits von jedem FIFO werden in den Flip-Flops 880a und 880b mit der vierfachen Datenrate der Datenübertragung bei DIN1 821 und DIN2 822 getaktet. Durch Multiplexen der Ausgaben der Flip-Flops 880a und 880b mit dem Multiplexer 850 wird die Datenrate effektiv wieder verdoppelt, was eine Erhöhung um einen Faktor acht in der Datenrate von VOUT verglichen mit DIN1 821 und DIN2 822 bedeutet. In anderen Ausführungsbeispielen können mehr oder weniger als vier Bit parallel durch die FIFOs empfangen werden, was höhere oder niedrigere Datenumsetzungsraten ergibt.By multiplexing between flip-flops 880a and 880b during each clock cycle, the data rate of the output signal is twice that of the flip-flop outputs Q1 811 and Q2 812 , Furthermore, data at the FIFO inputs DIN1 821 and DIN2 822 be received in parallel. For example, four bits of data may be through the FIFO 825a at the entrance DIN1 821 and four bits through the FIFO 825b at the entrance DIN2 822 be received. Four bits from each FIFO are in the flip-flops 880a and 880b with four times the data rate of data transmission at DIN1 821 and DIN2 822 clocked. By multiplexing the outputs of the flip-flops 880a and 880b with the multiplexer 850 the data rate is effectively doubled again, which is a factor of eight increase in the data rate of VOUT compared to DIN1 821 and DIN2 822 means. In other embodiments, more or fewer than four bits may be received in parallel by the FIFOs, resulting in higher or lower data conversion rates.

Wenn die Ausgabe des FIFO 825a auf einem hohen Wert und die Ausgabe des FIFO 825b auf einem niedrigen Wert gehalten wird, ist das sich ergebende Ausgangssignal ein Hochgeschwindigkeitstakt mit abwechselnden Nullen und Einsen. Insbesondere, wenn DIN1 auf Leitung 821 auf einem hohen Wert und DIN2 auf Leitung 822 auf einem niedrigen Wert gehalten wird, ist die Ausgabe des FIFO 825a ein hoher Wert und somit ist Q1 auf Leitung 811 auf einem hohen Wert, während die Ausgabe des FIFO 825b und somit Q2 auf Leitung 812 auf einem niedrigen Wert sind. Der Multiplexer 850 wählt abwechselnd zwischen dem hohen Signal Q1 auf Leitung 811 und dem niedrigen Signal Q2 auf Leitung 812 aus, wodurch ein Taktsignal erzeugt wird. Alternativ können die Eingaben in die Flip-Flops 880a und 880b mit Multiplexern verbinden, die als auswählbare Eingaben logisch hohe oder logisch niedrige Pegel haben.If the output of the FIFO 825a at a high value and the output of the FIFO 825b is held at a low value, the resulting output is a high speed clock with alternating zeros and ones. In particular, if DIN1 on line 821 on a high value and DIN2 on wire 822 is kept low, is the output of the FIFO 825a a high value and thus Q1 is on line 811 at a high value while outputting the fifo 825b and thus Q2 on line 812 are at a low value. The multiplexer 850 alternately selects between the high signal Q1 on line 811 and the low signal Q2 on line 812 which generates a clock signal. Alternatively, the inputs to the flip-flops 880a and 880b connect with multiplexers that have logically high or logic low levels as selectable inputs.

Auf einer Leitung 885 ist eine Löschleitung zu den Flip-Flops 880a und 880b ausgebildet. Um die höchstmögliche Geschwindigkeit zu erreichen, ist es wünschenswert, die Funktionalität der Flip-Flops 880a und 880b zu beschränken. Demgemäß enthalten diese Flip-Flops keine Voreinstell- oder Freigabeleitungen. In anderen Ausführungsbeispielen können diese Leitungen enthalten sein. In anderen Ausführungsbeispielen kann eine Löschleitung 885 nicht enthalten sein, wodurch die Struktur der Flip-Flops 880a und 880b weiter vereinfacht ist.On a wire 885 is an erase line to the flip-flops 880a and 880b educated. To achieve the highest possible speed, it is desirable to have the functionality of the flip-flops 880a and 880b to restrict. Accordingly, these flip-flops contain no preset or enable lines. In other embodiments, these lines may be included. In other embodiments, an erase line 885 not included, reducing the structure of the flip-flops 880a and 880b is further simplified.

8B veranschaulicht eine anpaßbare Verzögerungsleitung, die in bestimmen Ausführungsbeispielen der vorliegenden Erfindung verwendet werden kann. Beispielsweise kann eine Eingabeleitung 815a mit dem Ausgang des Multiplexers 850 verbunden sein, während eine Eingabeleitung 815b mit dem Eingang des Hochgeschwindigkeits-Differenzausgabepuffers 882 verbunden ist. Die anpaßbare Verzögerungsleitung enthält eine Verzögerungsleitung 860 und einen Multiplexer 870. Auf der Leitung 815a empfangene Signale werden verzögert und als Ausgangssignale auf Leitungen 861, 862 und 863 zugeführt. Diese Leitungen können Taps bzw. Anschlüssen und einem Ausgang einer Verzögerungsleitung entsprechen. Diese Leitungen sind zusammen mit dem Eingangssignal auf Leitung 815a durch den Multiplexer 870 und einer Ausgabe auf Leitung 815b auswählbar. Auf diesem Weg kann die Takt-zu-Q-Verzögerung des Differenzausgangssignals angepaßt werden. Dies ist bei einer Optimierung von Setup bzw. Aufbau und Haltezeiten nützlich. Ahnliche anpaßbare Verzögerungsleitungen können an einem geeigneten Ort in jeder der enthaltenen Eingabe- und Ausgabeschaltungen eingefügt werden. 8B Figure 1 illustrates an adaptive delay line that may be used in certain embodiments of the present invention. For example, an input line 815a with the output of the multiplexer 850 be connected while an input line 815b with the input of the high speed differential output buffer 882 connected is. The adjustable delay line includes a delay line 860 and a multiplexer 870 , On the line 815a received signals are delayed and as output signals on lines 861 . 862 and 863 fed. These lines may correspond to taps and an output of a delay line. These lines are together with the input signal on line 815a through the multiplexer 870 and an issue on lead 815b selectable. In this way, the clock-to-Q delay of the differential output signal can be adjusted. This is useful for optimizing setup and hold times. Similar adaptive delay lines may be inserted at an appropriate location in each of the included input and output circuits.

9A ist ein Zeitablaufdiagramm, das die Funktion der Ausgabeschaltung gemäß 8A veranschaulicht. Enthalten sind FIFO-Eingangssignale DIN1 921a und DIN2 922a, Flip-Flop-Ausgangssignale Q1 911a und Q2 912a, ein Taktsignal 986a und eine Ausgangsspannung Vout 910a. In diesem Beispiel ist der Schreibanschluß des FIFO vier Bit breit und ein Teil des FIFO-Eingangssignals DIN1 921 enthält vier Eingangsbits A, B, C und D, jedes auf einer Eingangsleitung. Ein Teil des FIFO-Eingangssignals DIN2 922 enthält Bits E, F, G und H, wobei jedes auf einer Eingabeleitung ist. Die FIFOs speichern diese Eingangssignale und senden sie an die Flip-Flops 880a und 880b. Diese Flip-Flops werden durch das Taktsignal 986 getaktet und Ausgangsdaten haben die vierfache Frequenz der Datenrate am Eingang zu den FIFOs 825a und 825b. Der Multiplexer 850 wählt abwechselnd zwischen seinen Eingängen aus, wodurch die Datenrate verdoppelt wird und die Daten von den Ausgängen der Flip-Flops wechseln ab bzw. sind verschachtelt. Demgemäß werden Vout 910a einschließlich Ausgangsbits in der Reihenfolge A, E, B, F, C, G, D und H den Pads bzw. Kontaktierungsflecken P1 810 und P2 820 zugeführt. Wie ersichtlich, ist die Datenrate von Vout 910a acht mal die Datenrate der vier Eingangssignale, die DIN1 921a und DIN2 922a ausmachen. In diesem bestimmten Beispiel sind DIN1 921a und DIN2 922a vier Bit breit. In anderen Ausführungsbeispielen können diese mehr oder weniger als vier Bit breit sein. 9A FIG. 11 is a timing diagram illustrating the function of the output circuit according to FIG 8A illustrated. Included are FIFO input signals DIN1 921a and DIN2 922a , Flip-flop output signals Q1 911a and Q2 912a , a clock signal 986a and an output voltage Vout 910a , In this case game is the write port of the FIFO four bits wide and part of the FIFO input signal DIN1 921 contains four input bits A, B, C and D, each on an input line. Part of the FIFO input signal DIN2 922 contains bits E, F, G and H, each on an input line. The FIFOs store these input signals and send them to the flip-flops 880a and 880b , These flip-flops are triggered by the clock signal 986 clocked and output data have four times the frequency of the data rate at the input to the FIFOs 825a and 825b , The multiplexer 850 alternately selects between its inputs, doubling the data rate, and interleaving data from the outputs of the flip-flops. Accordingly, Vout 910a including output bits in the order of A, E, B, F, C, G, D and H, pads Pads P1 810 and P2 820 fed. As can be seen, the data rate of Vout 910a eight times the data rate of the four input signals, the DIN1 921a and DIN2 922a turn off. In this particular example, DIN1 921a and DIN2 922a four bits wide. In other embodiments, these may be more or less than four bits wide.

9B ist ein Zeitablaufdiagramm, das eine alternative Funktion der Ausgabeschaltung gemäß 8A veranschaulicht. Es sind FIFO-Eingangssignale DIN1 921 und DIN2 922, Flip-Flop-Ausgangssignale Q1 911 und Q2 912, ein Taktsignal 986 und eine Ausgangsspannung Vout 910 enthalten. In diesem Beispiel enthält ein Teil des FIFO-Eingangssignals DIN1 921 vier Eingangsbits A, B, C und D. Ein Teil des FIFO-Eingangssignals DIN2 922 enthält Bits E, F, G und H. Die FIFOs speichern diese Eingangssignale und senden sie später an die Flip-Flops 880a und 880b. Diese Flip-Flops werden durch das Taktsignal 986 getaktet und mit einer höheren Frequenz ausgegeben als die Datenrate am Eingang der FIFOs 825a und 825b. Der Multiplexer 850 wählt abwechselnd zwischen seinen Eingängen, wodurch die Daten von den Ausgängen der Flip-Flops abwechseln bzw. verschachtelt sind. Demgemäß werden Ausgangsbits in der Abfolge A, E, B, F, C, G, D und H zu den Pads bzw. Kontaktierungsflecken P1 810 und P2 820 zugeführt. 9B is a timing diagram illustrating an alternative function of the output circuit according to FIG 8A illustrated. These are FIFO input signals DIN1 921 and DIN2 922 , Flip-flop output signals Q1 911 and Q2 912 , a clock signal 986 and an output voltage Vout 910 contain. In this example, part of the FIFO input signal contains DIN1 921 four input bits A, B, C and D. Part of the FIFO input signal DIN2 922 contains bits E, F, G and H. The FIFOs store these input signals and later send them to the flip-flops 880a and 880b , These flip-flops are triggered by the clock signal 986 clocked and output at a higher frequency than the data rate at the input of the FIFOs 825a and 825b , The multiplexer 850 alternately selects between its inputs, whereby the data from the outputs of the flip-flops are alternately nested. Accordingly, output bits in the sequence A, E, B, F, C, G, D and H become the pads P1 810 and P2 820 fed.

10 ist ein Blockschaltbild, das mehr Einzelheiten eines Hochgeschwindigkeits-Differenzeingangs zeigt, das als HSIN 690 in 6, das Hochgeschwindigkeits-Eingaberegister 790 und der Differenzeingabepuffer 791 in 7 oder anderen Schaltungen in anderen Ausführungsbeispielen der vorliegenden Erfindung verwendet werden kann. Es sind FIFOs 1025a und 1025b, Flip-Flops 1090b und 1090c, ein Zwischenspeicher 1090a und ein Eingabepuffer 1091 enthalten. Die FIFOs 1025a und 1025b können alternativ ein FIFO mit zwei Eingängen sein. Wie in den anderen Figuren können diese FIFOs beispielsweise ein FIFO mit zwei Eingangs- und zwei Ausgangsanschlüssen sein. Auch können die Eingangs- und Ausgangsanschlüsse konfigurierbar sein und die Eingangsanschlüsse können einen Takt gemeinsam nutzen, während die Ausgangsanschlüsse einen anderen Takt gemeinsam nutzen. 10 Figure 4 is a block diagram showing more details of a high speed differential input than HSIN 690 in 6 , the high-speed input register 790 and the differential input buffer 791 in 7 or other circuits may be used in other embodiments of the present invention. They are FIFOs 1025a and 1025b , Flip-flops 1090b and 1090c , a cache 1090a and an input buffer 1091 contain. The FIFOs 1025a and 1025b may alternatively be a two-input FIFO. For example, as in the other figures, these FIFOs may be a FIFO having two input and two output terminals. Also, the input and output ports may be configurable and the input ports may share one clock while the output ports share a different clock.

Die Flip-Flops 1090b und 1090c und der Zwischenspeicher 1090a bilden ein Doppeldatenraten-Register. Der Zwischenspeicher 1090a kann alternativ ein drittes Flip-Flop sein. Multiplexer oder Durchlaßeinrichtungen können in die CLK 1043, Q1 1062, Q2 1061 oder Registerdateneingabepfade eingefügt werden, um diesen Hochgeschwindigkeits-Eingabepfad zu deaktivieren und Energie zu sparen. Es ist für den Fachmann offensichtlich, dass andere Modifikationen dieser Schaltung in Übereinstimmung mit der vorliegenden Erfindung erfolgen können.The flip-flops 1090b and 1090c and the cache 1090a form a double data rate register. The cache 1090a may alternatively be a third flip-flop. Multiplexers or pass devices may be in the CLK 1043 , Q1 1062 , Q2 1061 or register data input paths to disable this high-speed input path and save energy. It will be apparent to those skilled in the art that other modifications of this circuit may be made in accordance with the present invention.

Eingangssignale werden auf den Pads bzw. Kontaktierungsflecken P1 1010 und P2 1020 durch einen Eingabepuffer 1091 empfangen. Der Eingabepuffer 1091 führt Eingangssignale zu Flip-Flops 1090b und 1090c zu. Ein Hochgeschwindigkeits-Taktsignal wird aus einer der HCLK-Taktleitungen 1040 durch Durchlaßeinrichtungen 1042 ausgewählt. Das Taktsignal wird auf einer Leitung 1043 an das Flip-Flop 1090c und den Zwischenspeicher 1090a angelegt, und wird durch den Inverter 1050 invertiert und zum Flip-Flop 1090b gesendet. Daten vom Eingabepuffer 1091 werden auf ansteigenden Flanken des Takts durch das Flip-Flop 1090c und durch fallende Flanken des Takts durch das Flip-Flop 1090b zwischengespeichert. Durch das Flip-Flop 1090b gespeicherte Daten werden durch den Zwischenspeicher 1090a derart neu festgelegt, derart, daß Signale Q2 1061 und Q3 1062 auf den ansteigenden Flanken des Takts zu den FIFOs 1025a und 1025b gesendet werden. Die FIFOs 1025a und 1025b puffern die Daten und führen sie bei einer niedrigeren Frequenz auf Leitungen DOUT1 1026 und DOUT2 1027 zu Kernschaltungen zu.Input signals appear on the pads P1 1010 and P2 1020 through an input buffer 1091 receive. The input buffer 1091 introduces input signals to flip-flops 1090b and 1090c to. A high-speed clock signal will come out of one of the HCLK clock lines 1040 by passage means 1042 selected. The clock signal is on a line 1043 to the flip-flop 1090c and the cache 1090a created, and is through the inverter 1050 inverted and to the flip-flop 1090b Posted. Data from the input buffer 1091 are on rising edges of the clock through the flip-flop 1090c and falling edges of the clock through the flip-flop 1090b cached. Through the flip-flop 1090b Stored data is stored in the cache 1090a redefined such that signals Q2 1061 and Q3 1062 on the rising edges of the clock to the FIFOs 1025a and 1025b be sent. The FIFOs 1025a and 1025b buffer the data and carry it at a lower frequency on lines DOUT1 1026 and DOUT2 1027 to core circuits too.

Da das Signal Vin 1012 auf den ansteigenden Flanken des Takts durch das Flip-Flop 1090c und auf fallenden Flanken des Takts durch das Flip-Flop 1090b zwischengespeichert wird, ist die sich ergebende Datenrate bei Q3 1062 und Q3 1063 die Hälfte der von Vin 1012. Mit anderen Worten, die Flip-Flops 1090a und 1090b führen eine Zwei-Bit-Seriell-zu-Parallel-Wandlung der Eingangsdaten durch. Dieses Konzept kann bei den FIFOs 1025a und 1025b weiter ausgedehnt werden. Beispielsweise können vier seriell empfangene Bits an FIFO-Ausgängen DOUT1 1026 und DOUT2 1027 parallel ausgegeben werden. Auf diesem Weg wird eine Frequenzumsetzung um einen Faktor acht vom Eingangssignal Vin 1012 und DOUT1 1026 und DOUT2 1027 erreicht. In anderen Ausführungsbeispielen können mehr oder weniger als 4 Bit durch die FIFOs 1025a und 1025b seriell zu parallel gewandelt werden, wodurch eine unterschiedliche Gesamtfrequenzumsetzung erreicht wird.Since the signal Vin 1012 on the rising edges of the clock through the flip-flop 1090c and on falling edges of the clock by the flip-flop 1090b is the resulting data rate at Q3 1062 and Q3 1063 half of Vin 1012 , In other words, the flip-flops 1090a and 1090b perform a two-bit serial-to-parallel conversion of the input data. This concept can be applied to the FIFOs 1025a and 1025b be further extended. For example, four serially received bits at FIFO outputs DOUT1 1026 and DOUT2 1027 be output in parallel. In this way, a frequency conversion by a factor of eight from the input signal Vin 1012 and DOUT1 1026 and DOUT2 1027 reached. In other embodiments, more or less than 4 bits may be through the FIFOs 1025a and 1025b be converted serially to parallel, whereby a different overall frequency conversion is achieved.

11A ist ein Zeitablaufdiagramm, das die Funktion der Eingabeschaltung gemäß 10 veranschaulicht. Es sind ein Taktsignal 1143a, ein Eingangssignal 1112a, Flip-Flip-Ausgaben Q1 1160a und Q2 1161a, eine Zwischenspeicherausgabe Q3 1162a und FIFO-Ausgaben DOUT1 1126a und DOUT2 1127a enthalten. In diesem Beispiel enthält ein Teil des Eingangssignals VIN 1112a die Abfolge von Datenbits A, B, C, D, E, F und G. Das Taktsignal 1143a speichert das Eingangssignal 1112a in jedem Flip-Flop an abwechselnd steigenden und fallenden Flanken zwischen, was die Signalverläufe Q1 1160a und Q2 1161a ergibt. Typischerweise ist das Taktsignal 1143a in Quadratur mit dem Eingangssignal VIN 1112a. Dies wird als „Fensterzentrierung" bezeichnet und minimiert Datenfehler im Eingaberegister. Q1 1160a wird durch den Zwischenspeicher 1090a um einen halben Taktzyklus verzögert, um ein Signal 1162a zu bilden. Diese Signale Q2 1161a und Q3 1162a werden gespeichert und parallel mit einer niedrigeren Frequenz als die Signalverläufe DOUT1 1126a und DOUT2 1127a durch FIFOs 1025a und 1025b ausgegeben. 11A FIG. 5 is a timing diagram illustrating the function of the input circuit according to FIG 10 illustrated. It is a clock signal 1143a , an input signal 1112a , Flip-flip outputs Q1 1160a and Q2 1161A , a cache memory Q3 1162a and FIFO outputs DOUT1 1126a and DOUT2 1127a contain. In this example, part of the input signal contains VIN 1112a the sequence of data bits A, B, C, D, E, F and G. The clock signal 1143a saves the input signal 1112a in each flip-flop on alternately rising and falling edges between what the waveforms Q1 1160a and Q2 1161A results. Typically, this is the clock signal 1143a in quadrature with the input signal VIN 1112a , This is called "window centering" and minimizes data errors in the input register. Q1 1160a is through the cache 1090a delayed by half a clock cycle to one signal 1162a to build. These signals Q2 1161A and Q3 1162a are stored and in parallel with a lower frequency than the signal curves DOUT1 1126a and DOUT2 1127a through FIFOs 1025a and 1025b output.

11B ist ein Zeitablaufdiagramm, das eine alternative Funktion der Eingabeschaltung gemäß 10 veranschaulicht. Es sind ein Taktsignal 1143b, ein Eingangssignal 1112b, Flip-Flop-Ausgaben Q1 1160b und Q2 1161b, eine Zwischenspeicherausgabe Q3 1162b und FIFO-Ausgaben DOUT1 1126b und DOUT 1127b enthalten. In diesem Beispiel enthält ein Teil des Eingangssignals VIN 1112b die Abfolge von Datenbits A, B, C, D, E, F und G. Das Taktsignal 1143b speichert das Eingangssignal 1112b in jedem Flip-Flop auf abwechselnd steigenden und fallenden Flanken ab, was die Signalverläufe Q1 1160b und Q2 1161b ergibt. Q1 1160b wird durch den Zwischenspeicher 1090a um einen halben Taktzyklus verzögert. Diese Signale Q2 1161b und Q3 1162b werden gepuffert und mit einer niedrigeren Frequenz als die Signalverläufe DOUT1 1126b und DOUT2 1127b durch die FIFOs 1025a und 1025b ausgegeben. Wiederum ist das Taktsignal 1143b häufig in (oder nahezu in) Quadratur mit dem Eingangssignal VIN 1112b. Alternativ kann das Eingangssignal derart festgelegt sein, daß die Setup- bzw. Vorbereitungs- und Haltezeiten der Flip-Flops eingehalten bzw. erreicht werden. 11B is a timing diagram illustrating an alternative function of the input circuit according to FIG 10 illustrated. It is a clock signal 1143b , an input signal 1112b , Flip-flop outputs Q1 1160b and Q2 1161b , a cache memory Q3 1162b and FIFO outputs DOUT1 1126b and DOUT 1127b contain. In this example, part of the input signal contains VIN 1112b the sequence of data bits A, B, C, D, E, F and G. The clock signal 1143b saves the input signal 1112b in each flip-flop on alternately rising and falling edges, what the waveforms Q1 1160b and Q2 1161b results. Q1 1160b is through the cache 1090a delayed by half a clock cycle. These signals Q2 1161b and Q3 1162b are buffered and at a lower frequency than the signal curves DOUT1 1126b and DOUT2 1127b through the FIFOs 1025a and 1025b output. Again, that's the clock signal 1143b often in (or nearly in) quadrature with the input signal VIN 1112b , Alternatively, the input signal may be set such that the setup or setup and hold times of the flip-flops are met.

12 ist ein genaueres Blockschaltbild einer Ausgabeschaltung, die als die Ausgabe- und Ausgabefreigabeschaltungen 670 und 660 in 6 oder das Ausgaberegister 770, das Ausgabefreigaberegister 760 und Ausgabepuffer 771 und 782 in 7 oder anderen Schaltungen in anderen Ausführungsbeispielen der vorliegenden Erfindung verwendet werden kann. Es sind Ausgaberegister 1270a und 1270b, Multiplexer 126O und 1290, ein Taktmultiplexer 1273, ein einpolig geerdeter Ausgabepuffer 1271, ein Differenzausgabepuffer 1282, Ausgabefreigaberegister 1250a und 1250b und ein ODER-Gatter 1295 enthalten. Die Flip-Flops 1270a und 1270b und der Multiplexer 1260 bilden ein Doppeldatenraten-Ausgaberegister. Multiplexer oder Durchlaßgatter können in die Registerdaten- oder Takteingabepfade eingefügt werden, um diese Ausgabepfad zu deaktivieren. Zusätzlich können Multiplexer verwendet werden, um einen Ausgangspfad direkt von einem Register oder den Kernschaltungen zu einem oder beiden der Ausgabepuffer auszubilden. Es ist für den Fachmann ersichtlich, daß andere Modifikationen dieser Schaltung in Übereinstimmung mit der vorliegenden Erfindung erfolgen können. 12 Fig. 12 is a more detailed block diagram of an output circuit serving as the output and output enable circuits 670 and 660 in 6 or the output register 770 , the output enable register 760 and output buffer 771 and 782 in 7 or other circuits may be used in other embodiments of the present invention. They are output registers 1270a and 1270b , Multiplexer 126o and 1290 , a clock multiplexer 1273 , a single-ended output buffer 1271 , a differential output buffer 1282 , Output enable register 1250a and 1250b and an OR gate 1295 contain. The flip-flops 1270a and 1270b and the multiplexer 1260 form a double data rate output register. Multiplexers or pass gates may be inserted into the register data or clock input paths to disable this output path. Additionally, multiplexers may be used to form an output path directly from one register or the core circuits to one or both of the output buffers. It will be apparent to those skilled in the art that other modifications of this circuit may be made in accordance with the present invention.

Datensignale werden auf Leitungen 1274a und 1274b von den Kernschaltungen oder FIFOs empfangen. Ein Taktsignal auf Leitung 1277 wird aus einem der globalen oder lokalen Takte 1230 durch Durchlaßeinrichtungen 1232 ausgewählt. Der Taktmultiplexer 1273 wählt echte oder komplementäre Versionen dieses Taktsignals und steuert die Takteingänge der Flip-Flops 1270a und 1270b und den ausgewählten Eingang des Datenmultiplexers 1260 an. Ausgaben werden durch die Flip-Flops 1270a und 1270b dem Multiplexer 1260 zugeführt und verwendet werden, um entweder die Ausgabepuffer 1271 oder 1282 anzusteuern. Wenn der Ausgabepuffer 1271 ausgewählt ist, steuert er einen einpolig geerdeten Ausgang auf dem Pad bzw. Kontaktierungsflecken P1 1210 an. Wenn der Differenzausgabepuffer 1281 aktiv ist, steuert er einen Differenzausgang auf den Pads bzw. Kontaktierungsflecken P1 1210 und P2 1220 an.Data signals are on lines 1274 and 1274b received from the core circuits or FIFOs. A clock signal on line 1277 becomes one of the global or local clocks 1230 by passage means 1232 selected. The clock multiplexer 1273 selects true or complementary versions of this clock signal and controls the clock inputs of the flip-flops 1270a and 1270b and the selected input of the data multiplexer 1260 at. Spending is through the flip-flops 1270a and 1270b the multiplexer 1260 fed and used to either the output buffer 1271 or 1282 head for. If the output buffer 1271 is selected, it controls a single-ended output on the pad P1 1210 at. If the difference output buffer 1281 is active, it controls a differential output on the pads P1 1210 and P2 1220 at.

Der Ausgabepuffer 1271 wird durch das ODER-Gatter 1295 freigegeben, das durch Freigaberegister 1250a und 1250b angesteuert ist. Insbesondere wird ein Ausgabefreigabesignal auf der Leitung 1254 durch das Flip-Flop 1250a empfangen, das das Flip-Flop 1250b ansteuert. Die Ausgaben der Flip-Flops 1250a und 1250b werden durch das ODER-Gatter 1290 ODER-verknüpft, das den Freigabeeingang des Ausgabepuffers 1271 ansteuert. Diese Konfiguration erlaubt den Freigaberegistern eine Aktivierung und Deaktivierung des Ausgabepuffers 1271 auf aufeinanderfolgenden ansteigenden und fallenden Flanken (oder aufeinanderfolgenden fallenden und ansteigenden Flanken). Auf diesem Weg kann der Ausgabepuffer 1271 dynamisch hochohmig geschaltet oder aktiviert werden. Alternativ kann der Multiplexer 1290 einen logisch hohen Wert (oder VCC) auswählen, wodurch das Flip-Flop 1250a gelöscht wird. Dies erlaubt dem Flip-Flop 1250a eine Aktivierung und Deaktivierung des Ausgabepuffers 1271 auf aufeinanderfolgenden ansteigenden Flanken des CLK1-Signals auf einer Leitung 1257. Auch können in jedem dieser Fälle einer oder mehrere Zwischentakte zwischen Aktivierungen und Deaktivierungen (oder Deaktivierungen und Aktivierungen) sein.The output buffer 1271 is through the OR gate 1295 released by the release register 1250a and 1250b is controlled. In particular, an output enable signal on the line 1254 through the flip-flop 1250a receive that flip-flop 1250b controls. The outputs of the flip-flops 1250a and 1250b be through the OR gate 1290 OR links the release input of the output buffer 1271 controls. This configuration allows the enable registers to enable and disable the output buffer 1271 on successive rising and falling edges (or consecutive falling and rising edges). In this way, the output buffer 1271 dynamically switched high impedance or activated. Alternatively, the multiplexer 1290 select a logical high value (or VCC), which causes the flip-flop 1250a is deleted. This allows the flip-flop 1250a an activation and deactivation of the output buffer 1271 on successive rising edges of the CLK1 signal on one line 1257 , Also In each of these cases, one or more intermediate cycles may be between activations and deactivations (or deactivations and activations).

Da im allgemeinen erwartet wird, daß dieser Signalpfad für Niedrig- oder Moderat-Frequenzsignale verwendet wird, können die Flip-Flops 1270a und 1270b und der Ausgabepuffer 1271 einen höheren Funktionalitätspegel als die Flip-Flops unterstützen und der Ausgabepuffer wird in dem Signalpfad für höhere Geschwindigkeiten verwendet. In diesem Beispiel besitzt jedes Flip-Flop zugehörige Voreinstellungs-, Freigabe- und Löschsignaleingänge, während der Ausgabepuffer einen Freigabeeingang derart besitzt, daß er eine Ausgabe mit hoher Impedanz ausbilden kann. In diesem Beispiel werden den Datenausgabe-Flip-Flops und den Ausgabefreigabe-Flip-Flops getrennte Voreinstellungs-, Freigabe- und Löschleitungen zugeführt. In anderen Ausführungsbeispielen können die Signalleitungen miteinander verbunden sein oder einige dieser Funktionen können weggelassen werden. Alternativ kann jedes Flip-Flop eine separate Signalleitung für eine oder mehrere dieser Funktionen besitzen. Auch können durch diese Schaltungen anderen Signale unterstützt werden.Since it is generally expected that this signal path will be used for low or moderate frequency signals, the flip-flops 1270a and 1270b and the output buffer 1271 support a higher level of functionality than the flip-flops and the output buffer is used in the higher speed signal path. In this example, each flip-flop has associated preset, enable and clear signal inputs, while the output buffer has an enable input such that it can form a high impedance output. In this example, separate preset, enable, and clear lines are provided to the data output flip-flops and the output enable flip-flops. In other embodiments, the signal lines may be interconnected or some of these functions may be omitted. Alternatively, each flip-flop may have a separate signal line for one or more of these functions. Also, other signals can be supported by these circuits.

13 ist ein genaueres Blockschaltbild, das eine Eingabeschaltung zeigt, die als die Eingabeschaltung 650 in 6, das Eingaberegister 750 und der Eingabepuffer 751 in 7 oder andere Schaltungen in anderen Ausführungsbeispielen der vorliegenden Erfindung verwendet werden kann. Es ist ein einpolig geerdeter Eingabepuffer 1351, ein Differenzausgabepuffer 1391, ein Zwischenspeicher 1350a, Flip-Flops 1350b und 1350c und ein Taktmultiplexer 1353 enthalten. Alternativ kann der Zwischenspeicher 1350a ein Flip-Flop sein. Multiplexer können in die Registerdaten- oder Takteingabe-Datenpfade eingeführt sein, um diesen Niedriggeschwindigkeits-Eingabepfad zu deaktivieren. Der Fachmann wird erkennen, daß andere Modifikationen dieser Schaltung in Ubereinstimmung mit der vorliegenden Erfindung erfolgen können. 13 Fig. 10 is a more detailed block diagram showing an input circuit other than the input circuit 650 in 6 , the input register 750 and the input buffer 751 in 7 or other circuits may be used in other embodiments of the present invention. It is a single-ended input buffer 1351 , a differential output buffer 1391 , a cache 1350a , Flip-flops 1350b and 1350c and a clock multiplexer 1353 contain. Alternatively, the cache 1350a to be a flip-flop. Multiplexers may be inserted in the register data or clock input data paths to disable this low speed input path. Those skilled in the art will recognize that other modifications of this circuit may be made in accordance with the present invention.

Unsymmetrische bzw. einpolig geerdete Signale werden auf dem Pad bzw. Kontaktierungsflecken P1 1310 durch den Eingangspuffer 1351 empfangen, der eine Eingabe zu den Flip-Flops 1350b und 1350c zuführt. Differenzeingaben werden auf den Pads bzw. Kontaktierungsflecken P1 1310 und P2 1320 durch den Differenzeingabepuffer 1391 empfangen. Die Eingaben der Flip-Flops 1350b und 1350c werden auf abwechselnden Flanken des Takts gespeichert. Die Ausgabe des Flip-Flops 1350b wird durch den Zwischenspeicher 1350a neu festgelegt. Das Taktsignal wird aus einem der globalen oder lokalen Takte 1330 durch Durchlaßeinrichtungen 1332 ausgewählt. Echte oder komplementäre Versionen des ausgewählten Taktsignals werden durch den Multiplexer 1353 den Flip-Flops 1350b und 1350a zugeführt. Dieses Signal wird durch den Inverter 1360 invertiert, der wiederum das Flip-Flop 1350b ansteuert. Die Ausgaben des Zwischenspeichers 1350a und des Flip-Flops 1350c, Q3 1361 und Q2 1363 werden FIFOs oder der Kernschaltung zugeführt. Wie zuvor können, da diese Schaltung für Niedrig- oder Moderatfrequenz-Eingangssignale vorgesehen ist, Flip-Flops und Zwischenspeicher mit höheren Funktionalitätsebenen verwendet werden. Im gezeigten bestimmten Ausführungsbeispiel besitzt jedes Flip-Flop und der Zwischenspeicher Voreinstell-, Lösch- und Freigabe-Eingangssignalleitungen. In anderen Ausführungsbeispielen können andere Eingangssignalleitungen verwendet oder einige der gezeigten Eingaben weggelassen werden. In dem bestimmten Ausführungsbeispiel ein eine Voreinstellung 1365, ein Löschen 1366 und eine Freigabe 1367 als mit jedem Flip-Flop und dem Zwischenspeicher verbunden gezeigt. In anderen Ausführungsbeispielen der vorliegenden Erfindung können einige oder alle dieser Schaltungen mit separaten Leitungen verbunden sein.Unbalanced or unipolar grounded signals appear on the pad P1 1310 through the input buffer 1351 receive an input to the flip-flops 1350b and 1350c supplies. Differential inputs are made on the pads P1 1310 and P2 1320 through the differential input buffer 1391 receive. The inputs of the flip-flops 1350b and 1350c are stored on alternate edges of the clock. The output of the flip-flop 1350b is through the cache 1350a redefined. The clock signal will be from one of the global or local clocks 1330 by passage means 1332 selected. Real or complementary versions of the selected clock signal are passed through the multiplexer 1353 the flip-flops 1350b and 1350a fed. This signal is through the inverter 1360 inverted, in turn, the flip-flop 1350b controls. The issues of the cache 1350a and the flip-flop 1350c , Q3 1361 and Q2 1363 are supplied to FIFOs or the core circuit. As before, since this circuit is designed for low or moderate frequency input signals, flip-flops and latches with higher levels of functionality can be used. In the particular embodiment shown, each flip-flop and the latch have preset, clear and enable input signal lines. In other embodiments, other input signal lines may be used or some of the inputs shown omitted. In the particular embodiment, a default 1365 , a delete 1366 and a release 1367 as shown connected to each flip-flop and the latch. In other embodiments of the present invention, some or all of these circuits may be connected to separate lines.

14 ist ein Blockschaltbild, das die phasenstarren Schleifen bzw. PLLs, die zur Erzeugung des globalen, der lokalen und der Hochgeschwindigkeits-Takte verwendet werden kann, die in einem Ausführungsbeispiel der vorliegenden Erfindung verwendet werden. Es sind LVDSCLK-Eingabe-Pads bzw. -Kontaktierungsflecken 1410, Takteingabe-Pads bzw. – Kontaktierungsflecken 1420, Multiplexer 1450 und phasenstarre Schleifen 1460 enthalten. Diese Schaltungen erzeugen die HCLKs 1440, LCLKs 1430a und HCLK 1430b. In diesem Beispiel können die LVDSCLK-Eingaben als Takteingaben oder als Eingabe-Ausgabe-Pads bzw. -Kontaktierungsflecken konfiguriert sein. Die Takteingabe-Pads bzw. – Kontaktierungsflecken 1420 dedizieren Takteingaben. Jedes Takteingabe-Pad bzw. jeder Takteingabe-Kontaktierungsflecken 1420 kann zwei individuelle Pfade zum Empfang von Differenzeingaben oder ein Pad bzw. ein Kontaktierungsflecken zum Empfang von unsymmetrischen bzw. einpolig geerdeten Eingaben sein. Jeder Multiplexer 1450 wählt aus einem von zwei der Eingangssignale aus und führt einen Bezugstakt zur phasenstarren Schleife bzw. PLL 1460 zu. Die Ausgaben der PLLs sind als die lokalen, globalen oder Hochgeschwindigkeits-Taktleitungen auswählbar. In einem bestimmten Ausführungsbeispiel der vorliegenden Erfindung wird die in 14 gezeigte Schaltung einmal auf jeder Seite einer integrierten Schaltung repliziert. Demgemäß wird jeder HCLK 1440 durch ein Viertel jeder Seite der integrierten Schaltung geleitet oder ein Sechzehntel der Gesamtperipherie. Auch besitzt jedes Viertel der integrierten Schaltungen vier verfügbare lokale Taktleitungen, während es 16 globale Gesamttaktleitungen durch die integrierte Schaltung gibt. 14 Figure 4 is a block diagram illustrating the phase locked loops or PLLs that can be used to generate the global, local, and high speed clocks used in one embodiment of the present invention. They are LVDSCLK input pads 1410 , Clock input pads or contact pads 1420 , Multiplexer 1450 and phase-locked loops 1460 contain. These circuits generate the HCLKs 1440 , LCLKs 1430a and HCLK 1430b , In this example, the LVDSCLK inputs may be configured as clock inputs or as input-output pads. The clock input pads or contact pads 1420 dedicate clock inputs. Each clock input pad or pad input pads 1420 may be two individual paths for receiving differential inputs, or a pad or pad for receiving single-ended or single-ended inputs. Each multiplexer 1450 selects from one of two of the input signals and applies a reference clock to the phase locked loop or PLL 1460 to. The outputs of the PLLs are selectable as the local, global or high speed clock lines. In a particular embodiment of the present invention, the in 14 once replicated on each side of an integrated circuit. Accordingly, each HCLK 1440 passed through a quarter of each side of the integrated circuit or a sixteenth of the overall periphery. Also, each quarter of the integrated circuits has four available local clock lines, while there are 16 total global clock lines through the integrated circuit gives.

15 ist ein Beispiel für die phasenstarre Schleife, die als die phasenstarre Schleife 1460 in 14 verwendet werden kann. Es sind Eingabe-Pads bzw. Kontaktierungsflecken 1505 und 1510, ein Eingabepuffer 1515, ein Summierknoten 1520, ein spannungsgesteuerter Oszillator bzw. VCO 1525, ein Frequenzteiler 1530, Multiplexer 1540, 1550, 1560 und 1570 und Teiler 1545, 1555 und 1565 enthalten. Einpolig geerdete oder Differenz-Bezugstakt-Eingangssignale werden auf Pads bzw. Kontaktierungsflecken 1505 und 1510 und dem Ansteuer-Eingabepuffer 1515 empfangen. Der VCO 1525 erzeugt ein Taktsignal, das durch den Teiler 1530 geteilt und mit dem gepufferten Bezugstaktsignal am Summierpunkt 1520 in der Phase verglichen wird. Unterschiede in der Phase zwischen den Signalen ergeben ein Fehlersignal oder eine Steuerspannung, die die VCO-Frequenz anpaßt. 15 is an example of the phase locked loop, called the phase locked loop 1460 in 14 can be used. They are input pads or contact pads 1505 and 1510 , an input buffer 1515 , a summing node 1520 , a voltage controlled oscillator or VCO 1525 , a frequency divider 1530 , Multiplexer 1540 . 1550 . 1560 and 1570 and divider 1545 . 1555 and 1565 contain. Single-ended or differential reference clock input signals become pads 1505 and 1510 and the drive input buffer 1515 receive. The VCO 1525 generates a clock signal through the divider 1530 divided and with the buffered reference clock signal at the summing point 1520 is compared in the phase. Differences in phase between the signals give an error signal or control voltage that adjusts the VCO frequency.

Der VCO 1525 kann ein Ringoszillator oder eine ähnliche Struktur sein, derart, daß Taktsignale mit den verschiedenen Phasen den Multiplexern 1540, 1550 und 1560 zugeführt werden können. In einem bestimmten Ausführungsbeispiel umfaßt der VCO vier Differenzstufen. In anderen Ausführungsbeispielen kann die Anzahl der Stufen abweichen. In diesem Ausführungsbeispiel sind Takte mit um 0, 45, 90, 135, 180, 225, 270 und 315 Grad verschobenen Phasen verfügbar. In anderen Ausführungsbeispielen der vorliegenden Erfindung kann eine unterschiedliche Anzahl von Leitungen und Leitungen mit unterschiedlichen Phasen vom VCO verfügbar sein. Die Multiplexer 1540, 1550 und 1560 wählen eine der verfügbaren Eingaben aus und steuern die Teiler 1545, 1555 und 1565 an. Die Teiler 1545, 1555 und 1565 teilen ihre Eingangsfrequenzen durch K, V und L. In einem bestimmten Ausführungsbeispiel sind K, V und L programmierbare Integerwerte zwischen 1 und 16. In anderen Ausführungsbeispielen können diese feste Werte sein oder sie können entlang einem unterschiedlichen Bereich oder unterschiedlichen Bereichen von Werten variabel sein. Der Multiplexer 1570 wählt zwischen der Ausgabe des Teilers 1565 und der Ausgabe des Eingabepuffers 1515 aus. In zahlreichen Ausführungsbeispielen können die Ausgaben der Teiler 1545 und 1555 und die Ausgabe des Multiplexers 1570 als Hochgeschwindigkeits-, lokale oder globale Taktsignale auswählbar sein. Ein Beispiel dafür ist in 14 gezeigt.The VCO 1525 may be a ring oscillator or a similar structure, such that clock signals with the different phases to the multiplexers 1540 . 1550 and 1560 can be supplied. In a particular embodiment, the VCO includes four differential stages. In other embodiments, the number of stages may vary. In this embodiment, clocks with phases shifted by 0, 45, 90, 135, 180, 225, 270, and 315 degrees are available. In other embodiments of the present invention, a different number of different phase lines and lines may be available from the VCO. The multiplexers 1540 . 1550 and 1560 select one of the available inputs and control the dividers 1545 . 1555 and 1565 at. The dividers 1545 . 1555 and 1565 In some embodiments, K, V and L are programmable integer values between 1 and 16. In other embodiments, these may be fixed values or may be variable along a different range or ranges of values. The multiplexer 1570 selects between the output of the divider 1565 and the output of the input buffer 1515 out. In numerous embodiments, the outputs of the divider 1545 and 1555 and the output of the multiplexer 1570 be selectable as high speed, local or global clock signals. An example of this is in 14 shown.

Die vorstehende Beschreibung bestimmter Ausführungsbeispiele der Erfindung erfolgte zum Zwecke der Veranschaulichung und Beschreibung. Es ist nicht beabsichtigt, erschöpfend zu sein oder die Erfindung auf die genau beschriebene Form einzuschränken und es sind viele Modifikationen und Veränderungen im Licht der vorstehenden Lehre möglich. Die Ausführungsbeispiele wurden ausgewählt und beschrieben, um die Prinzipien der Erfindung und ihrer praktischen Anwendungen um besten zu erklären, um dadurch dem Fachmann die beste Verwendung der Erfindung in verschiedenen Ausführungsbeispielen und mit verschiedenen Modifikationen zu ermöglichen, wie sie für die bestimmte betrachtete Verwendung geeignet sind.The above description of certain embodiments of the invention was for the purpose of illustration and description. It is not intended, exhausting or to limit the invention to the precise form described and there are many modifications and changes in the light of the foregoing Teaching possible. The embodiments were selected and described to the principles of the invention and its practical Applications to explain best thereby to the expert the best use of the invention in various embodiments and to allow for various modifications, as they are for the particular considered use are suitable.

Claims (8)

Integrierte Schaltung mit: – einem ersten Pad bzw. Kontaktierungsflecken (710; 1210); – einem zweiten Pad bzw. Kontaktierungsflecken (720; 1220); – einem Hochgeschwindigkeits-Differenzeingabepuffer (791) mit einem mit dem ersten Pad bzw. Kontaktierungsflecken (710; 1210) verbundenen ersten Eingang und einem mit dem zweiten Pad bzw. Kontaktierungsflecken (720; 1220) verbundenen zweiten Eingang; – einem Niedriggeschwindigkeits-Eingabepuffer (751) mit einem mit dem ersten Pad bzw. Kontaktierungsflecken (710; 1210) verbundenen Eingang; – einem Niedriggeschwindigkeits- Ausgabepuffer (776) mit einem mit dem zweiten Pad bzw. Kontaktierungsflecken (720; 1220) verbundenen Ausgang; – einem ersten Doppeldatenraten-Register (775; 1270a, 1270b, 1260) mit einem mit – einem Eingang des Niedriggeschwindigkeits-Ausgabepuffers (776) verbundenen Ausgang; und – einem Ausgabefreigaberegister (765; 1250a, 1250b), das zur Aktivierung und Deaktivierung des Niedriggeschwindigkeits-Ausgabepuffer (776) verbunden ist, wobei das Ausgabefreigaberegister (765; 1250a, 1250b) – ein erstes Flip-Flop (1250a); und – ein zweites Flip-Flop (1250b) mit einem mit einem Ausgang des ersten Flip-Flops (1250a) verbundenen Eingang und einem zum Aktivierung und Deaktivierung des Niedriggeschwindigkeits-Ausgabepuffers (776) verbundenen Ausgang umfaßt; und wobei der Hochgeschwindigkeits-Differenzeingabepuffer (791) und der Niedriggeschwindigkeits-Eingabepuffer (751) ausgewählt aktiviert sind, und, wenn der Hochgeschwindigkeits-Differenzeingabepuffer (791) aktiv ist, der Niedriggeschwindigkeits-Eingabepuffer (751) inaktiv ist, und, wenn der Niedriggeschwindigkeits-Eingabepuffer (751) aktiv ist, der Hochgeschwindigkeits-Differenzeingabepuffer (791) inaktiv ist.Integrated circuit comprising: - a first pad or contact pads ( 710 ; 1210 ); A second pad or bonding pads ( 720 ; 1220 ); A high-speed differential input buffer ( 791 ) with one with the first pad or contact pads ( 710 ; 1210 ) and a first pad connected to the second pad ( 720 ; 1220 ) connected second input; A low-speed input buffer ( 751 ) with one with the first pad or contact pads ( 710 ; 1210 ) connected input; A low-speed output buffer ( 776 ) with one with the second pad or contact pads ( 720 ; 1220 ) connected output; A first double data rate register ( 775 ; 1270a . 1270b . 1260 ) with one with - one input of the low-speed output buffer ( 776 ) connected output; and an output enable register ( 765 ; 1250a . 1250b ) used to enable and disable the low-speed output buffer ( 776 ), the output enable register ( 765 ; 1250a . 1250b ) - a first flip-flop ( 1250a ); and - a second flip-flop ( 1250b ) with one having an output of the first flip-flop ( 1250a ) and one for activating and deactivating the low-speed output buffer ( 776 ) connected output; and wherein the high-speed differential input buffer ( 791 ) and the low-speed input buffer ( 751 ) are activated, and if the high-speed differential input buffer ( 791 ) is active, the low-speed input buffer ( 751 ) is inactive, and if the low-speed input buffer ( 751 ) is active, the high-speed differential input buffer ( 791 ) is inactive. Integrierte Schaltung nach Anspruch 1, wobei der Hochgeschwindigkeits-Differenzeingabepuffer (791) mit einem zweiten Doppeldatenraten-Register (790) verbindet.An integrated circuit according to claim 1, wherein said high-speed differential input buffer ( 791 ) with a second double data rate register ( 790 ) connects. Integrierte Schaltung nach Anspruch 2, wobei das zweite Doppeldatenraten-Register (790) mit einem Ersteingang-Erstausgangs-Speicher (725; 1025a, 1025b) verbindet.An integrated circuit according to claim 2, wherein said second double data rate register ( 790 ) with egg a first-in, first-out storage ( 725 ; 1025a . 1025b ) connects. Integrierte Schaltung nach Anspruch 2, wobei das zweite Doppeldatenraten-Register (790) – ein erstes Flip-Flop (1090b) mit einem mit einem Ausgang des Hochgeschwindigkeits-Differenzeingabepuffers (791) verbundenen Eingang; – ein zweites Flip-Flop (1090c) mit einem mit einem Ausgang des Hochgeschwindigkeits-Differenzeingabepuffers (791) verbundenen Eingang; und – ein drittes Flip-Flop (1090a) mit einem mit einem Ausgang des ersten Flip-Flops (1090b) verbundenen Eingang umfaßt.An integrated circuit according to claim 2, wherein said second double data rate register ( 790 ) - a first flip-flop ( 1090b ) with one having an output of the high-speed differential input buffer ( 791 ) connected input; - a second flip-flop ( 1090c ) with one having an output of the high-speed differential input buffer ( 791 ) connected input; and - a third flip-flop ( 1090a ) with one having an output of the first flip-flop ( 1090b ) connected input. Integrierte Schaltung nach Anspruch 3, wobei der Ersteingangs-Erstausgangs-Speicher (725; 1025a, 1025b) als ein Seriell-Parallel-Wandler funktioniert.An integrated circuit according to claim 3, wherein the first-in, first-out memory ( 725 ; 1025a . 1025b ) works as a serial-to-parallel converter. Integrierte Schaltung nach Anspruch 1, weiterhin mit einem Seriell-Parallel-Wandler mit einem mit einem Ausgang des Hochgeschwindigkeits-Differenzeingabepuffers (791) verbundenen Eingang.An integrated circuit according to claim 1, further comprising a serial-to-parallel converter having an output of the high-speed differential input buffer (14). 791 ) connected input. Integrierte Schaltung nach Anspruch 1, weiterhin mit einem Parallel-Seriell-Wandler mit einem mit einem Eingang des ersten Doppeldatenraten-Registers (775) verbundenen Ausgang.An integrated circuit according to claim 1, further comprising a parallel-to-serial converter having an input of the first double data rate register ( 775 ) connected output. Integrierte Schaltung nach Anspruch 1, weiterhin mit einer anpaßbaren Verzögerungsleitung zur anpaßbaren Verzögerung eines an dem ersten Pad bzw. Kontaktierungsflecken (710; 1210) empfangenen Eingangssignals.An integrated circuit according to claim 1, further comprising an adaptive delay line for adaptively delaying one of the first pads (pads). 710 ; 1210 ) received input signal.
DE20221609U 1972-11-15 2002-08-28 Integrated circuit has high speed output buffers and low speed output buffers connected to pad such that they are selectively activated Expired - Lifetime DE20221609U1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE20221609U DE20221609U1 (en) 1972-11-15 2002-08-28 Integrated circuit has high speed output buffers and low speed output buffers connected to pad such that they are selectively activated

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
DE2255977A DE2255977C3 (en) 1971-11-15 1972-11-15 Process for refining metallic copper
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
DE20221609U DE20221609U1 (en) 1972-11-15 2002-08-28 Integrated circuit has high speed output buffers and low speed output buffers connected to pad such that they are selectively activated

Publications (1)

Publication Number Publication Date
DE20221609U1 true DE20221609U1 (en) 2006-07-20

Family

ID=36776534

Family Applications (1)

Application Number Title Priority Date Filing Date
DE20221609U Expired - Lifetime DE20221609U1 (en) 1972-11-15 2002-08-28 Integrated circuit has high speed output buffers and low speed output buffers connected to pad such that they are selectively activated

Country Status (1)

Country Link
DE (1) DE20221609U1 (en)

Similar Documents

Publication Publication Date Title
DE60222513T2 (en) Programmable fast input / output interface
US6034540A (en) Programmable logic integrated circuit architecture incorporating a lonely register
US6246260B1 (en) Programmable logic integrated circuit architecture incorporating a global shareable expander
US5705939A (en) Programmable logic array integrated circuits with segmented, selectively connectable, long interconnection conductors
US6864710B1 (en) Programmable logic device
US7317332B2 (en) Interconnection and input/output resources for programmable logic integrated circuit devices
US6590415B2 (en) Methods for configuring FPGA's having variable grain components for providing time-shared access to interconnect resources
US4918641A (en) High-performance programmable logic device
GB2300951A (en) Programmable logic array with overlapping interconnection conductors
US6107825A (en) Input/output circuitry for programmable logic devices
DE20221609U1 (en) Integrated circuit has high speed output buffers and low speed output buffers connected to pad such that they are selectively activated
US6124730A (en) Methods for configuring FPGA's having variable grain components for providing time-shared access to interconnect resources
EP1852976B1 (en) Programmable high-speed I/O interface
DE20023829U1 (en) Connection and input / output resources for programmable logic integrated circuit devices

Legal Events

Date Code Title Description
R207 Utility model specification

Effective date: 20060824

R150 Term of protection extended to 6 years

Effective date: 20060720

R151 Term of protection extended to 8 years

Effective date: 20080818

R152 Term of protection extended to 10 years

Effective date: 20100908

R071 Expiry of right
R071 Expiry of right