-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft
ein System und ein Verfahren zum Decodieren von Eingangs-Signal-Samplen
in einem Hochgeschwindigkeits-Kommunikationssystem. Insbesondere
betrifft die Erfindung ein System und ein Verfahren zum Decodieren des
Trellis-Codes, der in dem IEEE 802.ab-Standard für Gigabit Ethernet spezifiziert
ist (ebenso 1000BASE-T-Standard genannt).
-
2. Beschreibung des verwandten
Standes der Technik
-
Faltungscodierung und Viterbi-Decodierung werden
verwendet, um eine Vorwärtsfehlerkorrektur bei übertragenen
Digitaldaten zu erzielen und somit die Leistung einer digitalen Übertragung über einen gegebenen
verrauschten Kanal zu verbessern. Der Faltungscodierer schafft eine
Code-Baum-Beziehung zwischen Eingangssequenzen und Ausgangssequenzen.
Jeder Zweig des Baums stellt ein einzelnes Eingangssymbol dar. Jede
Eingangssequenz durchzieht einen bestimmten Pfad durch den Baum. Eine
andere Betrachtungsweise des Code-Baumes ist das Trellis-Diagramm.
-
Der Viterbi-Algorithmus versucht,
einen Pfad durch die Trellis bzw. ein Gitter zu finden, indem die Entscheidung
der maximalen Wahrscheinlichkeit verwendet wird. Die zwei Pfade,
die zu jedem Trellis-Code führen,
werden verglichen, und der Pfad mit dem besten Maß (minimaler
Fehler) wird ausgewählt.
Der andere Pfad wird zurückgewiesen,
da unabhängig von
den nachfolgenden empfangenen Daten seine Wahrscheinlichkeit nie
die des ausgewählten
Pfades übersteigen
kann. So gibt es zu jedem Zeitpunkt nur einen Pfad mit dem besten
Maß, der
in jeden aktuellen Knoten der Trellis führt.
-
Ein Viterbi-Decoder ist ein Decoder
nach der maximalen Wahrscheinlichkeit, der eine Vorwärtsfehlerkorrektur
bereitstellt. Die Viterbi-Decodierung wird zum Decodieren einer
Folge von codierten Symbolen verwendet, wie beispielsweise einem
Bit-Strom. Der Bit-Strom kann codierte Information bei einer Telekommunikationsübertragung über verschiedene
Medien darstellen, wobei jeder Satz von Bits einen Symbolzeitpunkt
darstellt.
-
Bei dem Decodierungsvorgang arbeitet
sich der Viterbi-Decoder durch eine Folge von möglichen Bit-Folgen bei jedem
Symbolzeitpunkt zurück,
um zu ermitteln, welche Bit-Folge
mit der höchsten
Wahrscheinlichkeit übertragen
worden ist. Die möglichen Übergänge von
einem Bit bei einem Symbolzeitpunkt, oder -zustand, zu einem Bit
bei einem nächsten,
nachfolgenden Symbolzeitpunkt oder -zustand sind begrenzt. Jeder
mögliche Übergang
von einem Zustand zu einem nächsten
Zustand kann graphisch dargestellt werden und als Zweig definiert
werden. Eine Folge von miteinander verbundenen Zweigen definiert
einen Pfad.
-
Jeder Zustand kann auf den Empfang
eines nächsten
Bits in dem Bit-Strom hin nur zu einer begrenzten Anzahl von nächsten Zuständen übergehen.
Auf diese Weise überleben
manche Pfade während
des Decodier-Vorganges und andere Pfade nicht. Durch Eliminieren
der Übergangspfade,
die nicht zulässig
sind, kann der Berechnungswirkungsgrad beim Bestimmen der Pfade
verbessert werden, die am wahrscheinlichsten überleben. Der Viterbi-Decoder
definiert und berechnet üblicherweise
ein Zweigmaß,
dass jedem Zweig zugeordnet ist, und verwendet dieses Zweigmaß, um zu
bestimmen, welche Pfade überleben
werden und welche Pfade nicht.
-
Ein Zweigmaß wird bei jedem Symbolzeitpunkt
für jeden
möglichen
Zweig berechnet. Jeder Pfad besitzt ein zugeordnetes Maß und eine
akkumulierte Aufwendung, die bei jedem Symbolzeitpunkt aktualisiert
wird. Für
jeden möglichen Übergang
wird die akkumulierte Aufwendung für den nächsten Zustand erhalten, indem
eine kleinere der Summen der Zweigmaße für verschiedene mögliche Übergänge und
die Pfadmaße
zu den vorangegangenen Zuständen
ausgewählt
werden.
-
Während
mehrere Pfade den Übergang
von einem Symbolzeitpunkt zu einem nächsten Symbolzeitpunkt überleben,
gibt es nur einen Pfad mit minimaler akkumulierter Aufwendung. Eine
Folge von Symbolzeitpunkten, die sich durch die Trellis zurück erstreckt
und einen Pfad mit der minimalen akkumulierten Aufwendung aufspannt,
definiert die Länge oder
Decodiertiefe T einer Rückführung. Der
individuelle Zustand in der Trellis, der der minimalen akkumulierten
Aufwendung in einer Rückführung zugeordnet
ist, wird in Bezug auf Daten übersetzt,
die zu diesem Symbolzeitpunkt mit der größten Wahrscheinlichkeit übertragen
worden sind. Auf diese Daten wird als decodiertes Symbol Bezug genommen.
-
Durch Verwendung von Faltungscodes
kann für
einen großen
Speicher ein großer
Codier-Gewinn erhalten werden oder in äquivalenter Weise eine lange
Beschränkungslänge. Die
Komplexität
eines Decoders nach der Größenwahrscheinlichkeit
ist ungefähr
proportional zu der Anzahl von Zuständen und kann bei Verwendung
von existierenden Entwicklungsmethoden exponentiell mit der Symbollänge und
damit der Speichergröße wachsen.
Diese erhöhte
Größe und Komplexität kommt
auf Kosten von wesentlich erhöhten
Leistungsanforderungen und hohen Vorrichtungsflächenanforderungen zur Signalverarbeitung
mit hoher Präzision.
-
Es wird angemerkt, dass das Patent
US 5,509,021 einen Viterbi-Decoder
offenbart, der einen Pfadspeicher umfaßt, der als Shuffle- bzw.-
Register-Vermittlungs-Netzwerk für
ein Übertragungssystem
realisiert ist, das ein codiertes Modulationsschema verwendet, welches
codierte und nicht codierte Bits umfaßt. Um die Zunahme der Größe des Pfadspeichers
aufgrund der Anwesenheit von nicht codierten Bits zu vermeiden,
umfaßt
es einen FIFO-Speicher zur Speicherung von nicht codierten Bits
und Auswahlmittel zum Auswählen
von decodierten Bits von diesem FIFO-Speicher gemäß einem Abschnitt
der Bits, die von dem Pfadspeicher ausgegeben worden sind.
-
Benötigt wird ein System und ein
Verfahren, das eine signifikante Verringerung der Größe und der Komplexität eines
Decoders nach der maximalen Wahrscheinlichkeit ermöglicht,
der außerdem
für eine
gegebene Anwendung wesentlich verringerte Leistungsanforderungen
ermöglicht.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die vorliegende Erfindung erfüllt die
zuvor genannten Notwendigkeiten für eine Reduzierung der Größe, der
Komplexität
und des Leistungsverbrauchs von Decoder und zugeordneten Überträgen und
Kommunikationssystemen, indem eine Speicherstruktur bereitgestellt
wird, die undecodierte Symbole empfängt und speichert, wobei jedes
der undecodierten Symbole einen einzigartigen diesem zugeordneten
Zeiger hat. Eines der undecodierten Symbole ist ein Symbol mit der
höchsten
Wahrscheinlichkeit. Die vorliegende Erfindung wählt das Symbol mit der größten Wahrscheinlichkeit
aus, indem ein Auswähler
für einen
Zeiger verwendet wird, der die einzigartigen Zeiger gemäß einem
vorbestimmten Auswählvorgang verarbeitet,
wie beispielsweise einem Shuftle-Vermittlungs-Vorgang und den Zeiger
mit der höchsten
Wahrscheinlichkeit auswählt, der
wiederum als einziges dem Symbol mit der höchsten Wahrscheinlichkeit zugeordnet
ist. Der Zeiger mit der höchsten
Wahrscheinlichkeit wird dann verwendet, um das Symbol mit der höchsten Wahrscheinlichkeit
zu erzeugen, wobei der Decoder dadurch das Symbol mit der höchsten Wahrscheinlichkeit
ausgibt. Die vorliegende Erfindung kann in Systemen verwendet werden,
die dem IEEE-Standard 802.3ab entsprechen, beispielsweise Gigabit-Ethernet-Systeme.
-
Die Speicherstruktur und der Auswähler für den Zeiger
kann von einem Decoder nach der maximalen Wahrscheinlichkeit gebildet
werden, beispielsweise einem Trellis-Decoder und insbesondere einem Viterbi-Decoder.
Ein solcher Zeigerauswähler
ist ein Shuffle-Vermittlungs-Netzwerk, welches den Zeiger mit der
höchsten
Wahrscheinlichkeit unter Verwendung eines Shuffle-Vermittlungs-Vorganges
auf die Zeiger und nicht die möglichen
Symbole anwendet, wie bei den vorhergehenden Architekturen und Verfahren.
-
In einer speziellen Ausführungsform
ist die vorliegende Erfindung in einer Survivor-Speichereinheit implementiert, die die
Speicherstruktur und das Shuftle-Vermittlungs-Netzwerk umfaßt. Die Speicherstruktur kann
ein dual-port-RAM FIFO sein, kann aber ebenso ein single-port-RAM
sein oder sogar ein DRAM, vorausgesetzt, dass die Vorrichtung in
der Lage ist, innerhalb eines einzigen Taktzyklusses einen Schreib-,
Veränderungs-
oder Lesevorgang auszuführen.
-
Die vorliegende Erfindung wurde zur
Verwendung in Gigabit-Ethernet-Systemen, Überträgern und Decodern gemacht,
in denen 4-D-Symbole verwendet werden und die möglichen Symbole auf acht mögliche Symbolzustände beschränkt sind.
-
Ebenso befaßt sich die vorliegende Erfindung
mit einem Verfahren zur Symbol-Kommunikation,
z. B. unter Verwendung des IEEE-Standards 802.3ab, welche das Empfangen
von möglichen Symbolen
einschließlich
eines Symbols mit der höchsten
Wahrscheinlichkeit, das Zuordnen von jedem der empfangenen möglichen
Symbole zu einem einzigartigen Zeiger, das Verarbeiten der einzigartigen
Zeiger, die ausgewählten
empfangenen möglichen
Symbolen zugeordnet sind, um unter Verwendung eines vorbestimmten
Auswählvorganges
den Zeiger mit der größten Wahrscheinlichkeit
zu bestimmen, und das Auswählen
des Symbols mit der höchsten Wahrscheinlichkeit
unter Verwendung des Zeigers mit der höchsten Wahrscheinlichkeit umfaßt.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein vereinfachtes Blockdiagramm eines bidirektionalen Hochgeschwindigkeits-Kommunikationssystems,
das als Beispiel durch zwei Überträger dargestellt
wird, die so eingerichtet sind, dass sie über mehrfache twisted-pair-Verdrahtungskanäle kommunizieren.
-
2 ist
ein vereinfachtes Blockdiagramm eines bidirektionalen Überträger-Systems.
-
3 ist
ein vereinfachtes Blockdiagramm eines Decoders, indem eine Survivor-Speichereinheit
(SMU) abgebildet ist.
-
4 ist
ein Blockdiagramm eines Decoders, in dem eine verbesserte SMU gemäß der vorliegenden
Erfindung implementiert ist.
-
DETAILLIERTE
BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
Um die Vorzüge der vorliegenden Erfindung zu
würdigen,
ist es vorteilhaft, die Erfindung im Zusammenhang mit einer beispielhaften
bidirektionalen Kommunikationsvorrichtung zu beschreiben, wie beispielsweise
einem Gigabit-Ethernet-Überträger, der in
einem Gigabit-Ethernet-Kommunikationssystem betrieben wird.
-
Die ausgewählte besondere beispielhafte Implementierung
ist in 1 abgebildet,
welche ein vereinfachtes Blockdiagramm eines multi-pair-Kommunikationssystems
gemäß dem IEEE 802.3ab-Standard
für eine
Ein-Gigabit-(Gb/s)-Ethernet-Verbindung mit full-duplex über vier
twisted-pair Kupferdrähte
der Kategorie 5 zeigt.
-
Das in 1 dargestellte
Kommunikationssystem ist als Punkt-zu-Punkt-System dargestellt, um
die Erklärung
zu vereinfachen, und beinhaltet die zwei Hauptüberträgerblöcke 102, 104,
die miteinander mit vier twisted-pair-Kabeln gekoppelt sind. Jedes
der Drahtpaare ist zwischen den Überträgerblöcken mittels
jeweils einem von vier Leitungs-Interface-Schaltungen 106 gekoppelt
und überträgt Informationen,
die von entsprechenden der vier Überträger-/Empfängerschaltkreise 108 oder Überträger abgewickelt
werden, die zwischen entsprechenden Interface-Schaltkreisen und einem physikalischen
Unterblock 110 zur Sublayer-Codierung (PCS) gekoppelt sind.
Vier teilhabende Überträger 108 sind
in der Lage, gleichzeitig bei 250 Mb/s zu arbeiten und sind über entsprechende
Interface-Schaltungen gekoppelt, um einen bidirektionalen full-duplex-Betrieb
zu ermöglichen.
So kann eine Übertragung
bei einem Gb/s über
jeden der Übertragungsblöcke 102, 104 erzielt
werden, indem vier teilnehmende Überträger 108 verwendet
werden, die bei 250 Mb/s (125 Megabaud bei zwei Bit pro Symbol)
für jeden
der Übertragungsblöcke und
der vier twisted-pair-Kupferkabel zur Verbindung von zwei Überträgern miteinander
arbeiten.
-
Das beispielhafte Kommunikationssystem von 1 besitzt eine oberflächliche Ähnlichkeit
zu einem 100BASE-T4-System, aber es ist sc konfiguriert, dass es
bei einer zehnmal höheren
Bitrate betrieben wird. Daher sollte verstanden werden, dass bestimmte
Systemleistungsmerkmale, wie beispielsweise Sampling-Raten und ähnliches
entsprechenderweise höher
sind und dabei es erfordern, dass umfangreiche und komplexe Operationen
während zunehmend
kleineren Zeiträumen
durchgeführt
werden müssen.
Bei Gigabit-Datenraten über
möglicherweise
verrauschte Kanäle
ist ein proportional größeres Ausmaß an Signalverarbeitung
in vielen Fällen erforderlich,
um ein adäquates
Maß an
Signaltreue und -qualität
sicherzustellen. Solche Hochleistungskommunikation wird zu auf Kosten
der Schaltungskomplexität,
einer großen
Schaltungsfläche
und erheblichen Leistungsanforderungen erzielt.
-
2 ist
ein vereinfachtes Blockdiagramm eines beispielhaften Übertragungsblocks,
der im allgemeinen mit 200 angegeben ist, wie beispielsweise der Überträger 102 der 1. Da die dargestellte Überträgeranwendung
sich auf eine Gigabit-Ethernet-Übertragung
bezieht, wird der Überträger als „Gigabit-Überträger" bezeichnet. Zur
Vereinfachung der Darstellung und Beschreibung zeigt 2 nur einen der vier 250
Mb/s-Überträger, die
Bestandteil sind und gleichzeitig betrieben werden (hier vierdimensionaler
Betrieb oder 4-D-Betrieb genannt). Da jedoch der Betrieb der vier
Blöcke,
die Bestandteil sind, notwendigerweise wechselbezogen ist, führen bestimmte
Blöcke
der Signalleitungen in der beispielhaften Ausführungsform von 2 4-D-Funktionen aus und übertragen
4-D-Signale. Mittels des 4-D ist gemeint, dass die Daten von den
vier teilnehmenden Überträgern gleichzeitig
verwendet werden. Um die Beziehungen unter den Signalen in 2 deutlich zu machen, entsprechen
dünne Linien
den eindimensionalen Funktionen oder Signalen (d. h. denen, die
nur in Bezug zu einem einzelnen Überträger stehen),
und entsprechend dicke Linien den 4-D-Funktionen oder-signalen.
-
Details des Betriebs eins Gigabit-Ethernet-Überträgers gemäß
2, die nicht die weitere Diskussion
der vorliegenden Erfindung betreffen, können in dem US-Patent
US 2001055331 gefunden werden,
welches zu dem gleichen Anmelder gehört.
-
Mehr Details sind durch Hatamian
et al in „Design
Considerations for Gigabit Ethernet 1000Base-T Twisted Pair Transceivers" Santa Clara, CA,
11.–14.
Mai 1998, Conf. 20, Seiten 335–342,
offenbart.
-
Vor der Übertragung mittels eines fernen Überträgers werden
die bei dem lokalen Überträger empfangenen
Daten codiert, um die nachteiligen Effekte der Übertragung über einen verrauschten Kanal zu
reduzieren, indem beispielsweise ein 8-Zustand 4-D-Trellis-Code
verwendet wird. Daher wird der Decoder 38 verwendet, um
die empfangenen Symbole zu decodieren, aus denen die ursprünglichen
Daten extrahiert werden können.
Bei Abwesenheit von Zwischensymbolinterferenz (ISI) würde ein
geeigneter 8-Zustand Viterbi-Decoder eine optimale Decodieren dieser
codierten Daten zur Verfügung
stellen. In dem Fall von Gigabit-Ethernet, führen die twisted-pair-Kabel der Kategorie
5 ein beträchtliches
Maß an
ISI ein, so wie es die entfernten Überträger am anderen Ende des Kommunikationskanals
tun. Während
dem normalen Nennbetrieb muß daher
der Trellis-Decoder 38 bei einer Symbolrate von ungefähr 125 MHz sowohl
den Trellis-Code decodieren als auch wenigstens die durch den Übertragungskanal
induzierte ISI kompensieren.
-
Die Erfindung in den verschiedenen
Ausführungsformen
kann am besten verstanden werden, indem zuerst der Betrieb eines
bestehenden 8-Zustand Viterbi-Decoders untersucht wird, wie er in
dem Trellis-Decoder 38 (2)
gefunden werden kann. 3 ist
ein Blockdiagramm eines üblichen
vereinheitlichten Viterbi-Decoders 300, der dazu verwendet
wird, die codierten übertragenen
Daten 37 in decodierte empfangene Daten 40 umzuwandeln.
Wie hier als Beispiel ausgeführt
ist, kann der Decoder 300 in drei Blöcke unterteilt sein.
-
Als erstes empfängt die Zweigmaßeinheit (BMU) 310 codierte
Eingangsdaten 37 (vgl. 2) und
berechnet die Zweigmaße
(Übertragungsaufwendungen)
von einem empfangenen Symbol zu dem nächsten Symbol für alle Übergänge der
Trellis des implementierten Codes. Die BMU 310 erzeugt ebenso
4-D-Symbole 320, die den Zweigmaßen für alle möglichen Übergänge entsprechen.
-
Als zweites addiert die Additions-Vergleich-Auswähl-Einheit
(ACS) 320 die Zweigmaße 320 von
der BMU 310 zu den Pfadmaßen für alle möglichen Zustände. Die
Pfadmaße
entsprechen der Wahrscheinlichkeit dafür, dass die empfangene Symbolfolge
in dem Zustand endet, der den Pfadmaßen zugeordnet ist. In diesem
Beispiel verarbeitet die ACS 320 acht Zustände und
jeder Zustand kann von vier Zuständen
des vorangegangenen Zyklusses aus erreicht werden. Das Ausgangssignal
der ACS 320 kann zwei Bit für jeden Zustand umfassen, wobei
die Bits den Pfad mit der größten Wahrscheinlichkeit
in diesem Zustand angeben. Die ACS 320 wählt ebenso
das 4-D-Symbol aus, das dem Eingangszweig mit der höchsten Wahrscheinlichkeit
entspricht und daher das Symbol mit der größten Wahrscheinlichkeit.
-
Drittens werden die acht 4-D-Ausgangssignale
von der ACS 320 mittels eines Shuffle-Vermittlungs-Netzwerks
(SEN) 340, das üblicherweise
aus mehreren Stufen zusammengesetzt ist, von der Survivor-Speichereinheit
(SMU) 330 empfangen und zusammengefügt. Die SEN 340 verwendet
einen vorbestimmten Shuffle-Vermittlungs-Algorithmus,
der eine minimale Reaktionszeit für die Auswahl der Folge an
4-D-Symbolen mit der größten Wahrscheinlichkeit
sicherstellt. Jede Stufe 342a-g der SEN 340 beinhaltet
4 : 1-Multiplexer und Register, die so konfiguriert sind, dass sie
die 96 Bits verarbeiten, die die acht Zwölf-Bit, 4-D-Eingangssymbole
bilden. Die Multiplexer werden von den Entscheidungen der ACS gesteuert,
wie es durch die acht Zwei-Bit-Auswahlwerte (sel_s0 bis sel_s7)
dargestellt ist.
-
Während
die 4-D-Symbole (y_S0_g1 bis y_s7_g1) durch SEN 340 weitergereicht
werden, werden sie gemäß den Entscheidungen
ausgewählt, die
in der ACS-Einheit 320 getroffen werden. Am Ende der SEN 340,
nach beispielsweise neun Stufen, wird das 4-D-Symbol 40 mit
der größten Wahrscheinlichkeit
erhalten, welches den Eingangssymbolen neun Symbolperioden zuvor
entspricht. Die Nachteile dieses Shuffle-Vermittlungs-Prinzips sind
die hohe Flächenkomplexität (ungefähr 80% der
Flip-Flops im Viterbi-Decoder 3090 befinden sich in der
SEN 340) und die hohe Leistungsaufnahme aufgrund den sich bewegenden
Symboldaten.
-
Mit Blick auf die vorangegangene
Beschreibung von existierenden Decodern, die mit herkömmlichen
SMU- und SEN-Architekturen implementiert sind, werden die Vorteile der
vorliegenden Erfindung, wie sie hier nachstehend beschrieben ist,
besser verstanden.
-
In 4 ist
ein Decoder 400 mit einer verbesserten SMU 460 gemäß der vorliegenden
Erfindung dargestellt. In dem hierin verwendeten Beispiel und ähnlich zu
dem Decoder 300 in 3 verwendet Decoder 400 acht
Zustände,
auch wenn von einem Fachmann auf dem Gebiet einfach ein Decoder
ersonnen werden kann, bei dem eine größere oder kleinere Anzahl von
Zuständen
implementiert ist. Der Datenstrom der Eingangssignale 37 in
den Decoder 400 kann ähnlich
zu den Eingangssignalen 37 sein, der in 3 dargestellt ist. D. h., dass von der
BMU 420 Eingangssignale 37 empfangen werden, die 4-D-Symbole
erzeugen, entsprechend den Zweigmaßen für alle möglichen Übergänge.
-
Ebenso ähnlich zu 3 empfängt die Additions-Vergleich-Auswahl-Einheit
(ACS) 450 die Zweigmaße
von der BMU 420 und addiert sie zu den Pfadmaßen für alle möglichen
Zustände.
In diesem Beispiel erzeugt die ACS 450 acht Zustände und
jeder Zustand kann durch vier Zustände von dem vorhergehenden
Zyklus erreicht werden. Das Ausgangssignal der ACS 450 kann
zwei Bits für
jeden Zustand umfassen, wobei die Bits den Pfad in diesem Zustand
mit der höchsten
Wahrscheinlichkeit angeben. Die ACS 450 wählt ebenso
das 4-D-Symbol aus, das dem Eingangszweig mit der höchsten Wahrscheinlichkeit
entspricht und damit das Symbol mit der höchsten Wahrscheinlichkeit,
indem das Auswahlsignal 470 verwendet wird. Wiederum ähnlich zu herrschenden
Architekturen leitet die ACS 450 seine Ausgangssignale
zu der SMU 460.
-
Die SMU 460 beinhaltet im
wesentlichen eine indexbasierte SEN 440, eine Speicherstruktur 410,
die die möglichen
Symbole während
des Shuftel-Vermittlungs-Vorganges
speichert und für
ein DPRAM einen Auswähler
MUX 435, der durch die indexbasierte SEN 440 aktiviert
wird, wobei die MUX 435 das letztendliche Symbol 40 mit
der höchsten Wahrscheinlichkeit
aus der Speicherstruktur 410 auswählt, indem ein letztendlicher
Zeiger 480 mit der höchsten
Wahrscheinlichkeit verwendet wird oder ein Index, der einzigartig
für das
letztendliche Symbol 40 mit der höchsten Wahrscheinlichkeit ist.
Innerhalb der SMU 460 wird der Shuffle-Vermittlungs-Vorgang auf
den Zwölf-Bit
4-D-Symbolen 462 ersetzt durch einen Shuffle-Vermittlungs-Vorgang zu Drei-Bit
Indexen 464 oder Zeiger auf mögliche Symbole 462.
D. h., der Shuffle-Vermittlungs-Vorgang wird auf Indexe 464 zu
den 4-D-Symbolen durchgeführt,
und nicht auf die möglichen
Symbole 462 selber. Das Symbol 40 mit der höchsten Wahrscheinlichkeit
wird ausgewählt,
indem ein look-up-Schritt am Ende des Shuffle-Vermittlungs-Vorgangs
ausgeführt
wird, um das 4-D-Symbol 482 zu holen, das dem Surviving-Index 480 entspricht.
-
Die 4-D-Symbole 462 sind
vorzugsweise in einer RAM-basierten first-in-first-out-(FIFO)-Speicherstruktur 410 gespeichert.
Vorzugsweise wird von der Speicherstruktur 410 in einen
einzigen Taktzyklus geschrieben und gelesen, so dass es daher wünschenswert
ist, eine Speicherstruktur mit zwei Ports zu verwenden, obwohl auch
andere Speicherstrukturen mit mehreren Ports verwendet werden können. Wenn
der Ansatz mit einem DRAM verfolgt wird, ist eine gewünschte Leseadresse
für einen
kompletten Taktzyklus verfügbar,
welches wiederum die an diesen Adressen gespeicherten Daten für den gesamten
Taktzyklus verfügbar
macht. Ähnlich
stellt die in der Struktur 410 dargestellte Architektur
mit DPRAM eine gewünschte
Schreibadresse an dem Beginn des Taktzyklusses zur Verfügung, wobei
auf diese Weise es ermöglicht
wird, dass die Schreibadresse für
im wesentlichen den ganzen Taktzyklus Daten annimmt.
-
Für
die Struktur 410 kann ebenso ein RAM mit einem Port (SPRAM)
verwendet werden, welches ein Schreib-Veränderungs- Leseschema verwendet, vorausgesetzt,
dass es die Speicherstruktur erlaubt, dass Daten während eines
einzigen Taktzyklusses richtig gespeichert und gelesen werden können. Es ist
wünschenswert,
dass das SPRAM es erlaubt, dass Daten während der ersten Hälfte eines
Taktzyklusses gelesen werden können,
wonach die Daten an dem Ausgang der Speicherstruktur zwischengespeichert
werden, wobei die MUX das Symbol mit der höchsten Wahrscheinlichkeit auswählt. In
der zweiten Hälfte
des Taktzyklusses werden vorzugsweise neue eingehende mögliche Symbole
in die entsprechenden Speicherstellen des SPRAM gespeichert. Weiterhin
kann ebenso eine Struktur mit einem dynamischen RAM (DRAM), die
die obigen Timing-Parameter einhält,
als Struktur 410 verwendet werden, was dazu führt, dass
nur ein Drittel so viele Transistoren verwendet werden als bei der
obigen DPRAM-Implementierung, die bis zu acht Transistoren pro Zelle
aufweisen kann.
-
In einer üblichen Implementierung eines Shuffle-Vermittlungs-Netzwerkes
werden ganze Symbole von einer Stufe zu der nächsten Stufe übertragen,
was zu einem erheblichen Umfang an Leistung verbrauchenden Schaltvorgängen führt. Indem der
speicherbasierte Ansatz verwendet wird, der in 4 angegeben ist, werden die Zeiger und
nicht die Symbole in der SEN 440 geschaltet. Der Zeiger
indexiert ein bestimmtes Datenwort, das in dem Speicher das mögliche Symbol
darstellt. Mögliche
Symbole verbleiben fest in vorbestimmten Speicherorten innerhalb
der FIFO 410 im Bezug auf die Zeiger, wobei die Zeiger
so verarbeitet werden, dass sie die ausgewählten Daten bestimmen. Da weniger
Knoten geladen bzw. entladen werden müssen, wenn der zeigerbasierte
Ansatz verwendet wird, wird die Leistungsaufnahme verringert. In 4 werden in der FIFO 410 acht
4-D-Symbole 462 mit zwölf
Bits angenommen und darin gespeichert. Da es bekannt ist, welches
Symbol welchem Zeiger entspricht, kann das geeignete letztendliche
Symbol 40 ausgewählt
werden, sobald einmal der geeignete Zeiger 480 ausgewählt ist.
Wie in 4 dargestellt
ist, sind die beispielhaften Acht-Zustand-Indexe 464 von
null bis sieben durchnumeriert. Jeder Index (SEL_S0 bis SEL_S7)
besitzt eine Länge
von drei Bit, welches ein Viertel der Anzahl an Bits ist, die von
dem herkömmlichen
Shuffle-Vermittlungs-Schema erfordert werden, wie es in 3 dargestellt ist. Daher
wird die Leistungsaufnahme ebenso um ungefähr ein Viertel reduziert.
-
Es ist vorzusehen, dass jede der
Shuffle-Vermittlungs-Stufen 442a-g eins-zu-vier-Multiplexer beinhalten, die mit einem
Register gekoppelt sind, wie es bei Standardkonstruktionen gefunden
werden kann, die in dem Stand der Technik wohlbekannt sind. Sowohl
die Konstruktionen der MUX und der Register als auch die Implementierungen
für die Shuffle-Vermittlungs-Stufen 442a–g und
die der DPRAM-FIFO 410 können Techniken
und Architekturen beinhalten, die Fachleuten auf diesem Gebiet bekannt
sind. Die Konstruktion gemäß 4 erfordert eine geringere
Fläche,
auch wenn sie sowohl die DPRAM/FIFO 410 als auch den Drei-Bit-Index
SEN 440 aufweist, da die Speicherzellen, die an dem DPRAM/FIFO 410 beteiligt
sind, dazu neigen, kleiner zu sein als die bei Registern verwendeten,
und, was noch wichtiger ist, da es weniger eins-zu-vier-MUXe gibt,
die der Implementierung der SEN 440 verwendet werden. Das
Durchsatzvermögen
der SMU 460 wird erhöht,
da die für
den SEN 440 erforderliche Fläche sich verringert und die
Kommunikationsleitungen darin dazu neigen, sich zu verkürzen, wodurch
eine Erhöhung
bei der Geschwindigkeit der Vorrichtung verwirklicht wird. Es gibt
jedoch eine zusätzliche
Verzögerung,
die mit dem Auslesen des letzendlichen Symbol mit der höchsten Wahrscheinlichkeit
von dem DPRAM verbunden ist, da der MUX 435 der DPRAM,
der vorzugsweise ein eins-aus-acht-MUX ist,
das letzendliche Symbol 40 mit der höchsten Wahrscheinlichkeit auswählt, so
wie es durch den letztendlichen Zeiger 408 mit der höchsten Wahrscheinlichkeit
angegeben wird, wobei der Zeiger 480 durch die ACS 450 nach
dem Betrieb der speicherbasierten SMU 460 ausgewählt worden
ist.
-
Bei einem Gigabit-Ethernet-Überträger ist
es wünschenswert,
Echos auszulöschen.
Um Echos, die in dem möglichen
Symbol vorhanden sein können,
auszulöschen,
insbesondere bei dem Symbol mit der höchsten Wahrscheinlichkeit,
ist es wünschenswert,
zuerst einen Shuffle-Vermittlungs-Vorgang auf den eingehenden Satz
von möglichen
Symbolen auszuführen,
die in die SMU 460 gelangen, wobei sich nach einem Taktzyklus
ein Satz von Symbolen mit höchster
Wahrscheinlichkeit ergibt. Dies dient als Weiterentwicklung der
möglichen
Symbole vor deren Verarbeitung mittels des indexbasierten Schemas.
Das Ausgangssignal des Shuffle-Vermittlungs-Preprozessor 490 liefert
Auswahlsignale 464, die als Eingangssignale für die indexbasierte
Shuffle-Vermittlung dienen, und welches mit den nachfolgenden Taktzyklen
synchronisiert ist. Wenn es jedoch nicht notwendig ist, eine verbesserte
Datenprobe nach einem Taktzyklus bereitzustellen, kann der Shuffle-Vermittlungs-Preprozessor 490 aus
der Konstruktion entfernt werden. Es soll angemerkt werden, dass
das Symbol mit dem größten Pfadmaß an dem Ausgang
des Shuffle-Vermittlungs-Preprozessors 490 mit
höchster
Wahrscheinlichkeit das letztendliche Symbol 40 mit der
höchsten
Wahrscheinlichkeit ist gegenüber
anderen möglichen
Symbolen.
-
Jede Stufe 462a–462g der
SEN 440 erfordert einen Taktzyklus zum Betrieb, da jeder
Taktzyklus einer Symbolperiode des Empfängers entspricht. In dem in 4 dargestellten Beispiel
gibt es acht Stufen in der SEN 440, die auf diese Weise
acht Taktzyklen verbrauchen. Eingehende mögliche Symbole 462 gelangen
in den DPRAM 410 synchron mit den entsprechenden Zeigern 464,
die in die SEN 440 gelangen. Nach einem Taktzyklus ist
der Index 480 mit der höchsten
Wahrscheinlichkeit an SEN MUX 485 verfügbar, der durch die ACS 450 aktiviert
wird. Der Index 480 mit der höchsten Wahrscheinlichkeit wird in
einem nachfolgenden Taktzyklus dazu verwendet, das letztendliche
Symbol 40 mit der höchsten
Wahrscheinlichkeit auszuwählen.
Daher werden in der SMU 460 die acht möglichen 4-D-Symbole 462 mit zwölf Bit synchron
mit den entsprechenden Drei-Bit-Zeigern 464 von dem Eingang
bis zum Auswählen
des letztendlichen Symbols 40 mit der höchsten Wahrscheinlichkeit in
ungefähr
zehn Taktzyklen synchron abgearbeitet.
-
Die Nützlichkeit des Schemas wird
deutlicher, wenn die Bitgröße der möglichen
Symbole in bezug auf die Bitgröße der zugeordneten
Zeiger steigt. In dem hier dargestellten Beispiel beträgt die Bitgröße der möglichen
Symbole 12 Bit, wohingegen die Größe der Zeiger drei Bit beträgt. Wenn
die Bitweite des möglichen
Symbols noch größer ist,
beispielsweise 16 bis 24 Bit, werden die Vorteile der Technik und
der Architektur der vorliegenden Erfindung deutlicher. Die vorliegende
Erfindung, so wie sie durch die Verbesserungen in der SMU 460 in 4 als Beispiel dargestellt
ist, ist geeignet zur Verwendung in einem bidirektionalen Überträgersystem, ähnlich zu
dem Überträgersystem,
das in 2 dargestellt
ist. Weiterhin ist es vorzuziehen, die Erfindung hierin innerhalb
der Umgebung einer bidirektionalen Hochgeschwindigkeits-Verbindung
zu implementieren, wie beispielsweise ein Gigabit-Ethernet-Kommunikationssystem,
wie es in 1 dargestellt
ist.
-
Auch wenn die vorliegende Erfindung
ausdrücklich
mit einem Viterbi-Decoder beschrieben ist, können andere Decoder oder Einrichtungen,
die Verfahren ähnlich
der Shuffle-Vermittlung anwenden, von der Anwendung der Lehren hierin
profitieren. Ein Fachmann auf diesem Gebiet würde jedoch erkennen, dass diese
Begrenzungen Produkte von Beispielen der Ausführungsformen der vorliegenden
Erfindung sind und dass die Anwendbarkeit der vorliegenden Erfindung
nicht auf Gigabit-Ethernet-Überträger, Viterbi-Decoder,
usw. begrenzt ist.
-
Viele Abwandlungen und Modifizierungen können von
denjenigen mit üblichen
Fachkenntnissen auf dem Gebiet der Technik vorgenommen werden, ohne
den Geist und den Umfang der Erfindung zu verlassen. Daher muß verstanden
werden, dass die dargestellten Ausführungsbeispiele nur zum Zweck
als Beispiel angegeben sind und dass sie nicht als Begrenzung der
Erfindung aufgefaßt
werden soll, wie sie durch die folgenden Ansprüche definiert ist. Die folgenden
Ansprüche
sind daher so zu lesen, dass sie nicht nur die Kombination der Elemente
umfassen, die wirklich angegeben sind, sondern auch alle äquivalenten
Elemente zur Durchführung
von im wesentlichen der gleichen Funktion auf im wesentlichen dem
gleichen Weg, um im wesentlichen das gleiche Ergebnis zu erhalten.
Die Ansprüche
sind daher so zu verstehen, dass sie das, was ausdrücklich abgebildet
und oben beschrieben ist, was vom Konzept her äquivalent ist und ebenso das umfaßt, welches
die grundlegende Idee der Erfindung beinhaltet.