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.