DE10217043A1 - Verfahren und Einrichtung zum Testen eines Pfadgedächtnisspeichers des Registeraustausch-Typs sowie testfähiger Pfadgedächtnisspeicher - Google Patents

Verfahren und Einrichtung zum Testen eines Pfadgedächtnisspeichers des Registeraustausch-Typs sowie testfähiger Pfadgedächtnisspeicher

Info

Publication number
DE10217043A1
DE10217043A1 DE2002117043 DE10217043A DE10217043A1 DE 10217043 A1 DE10217043 A1 DE 10217043A1 DE 2002117043 DE2002117043 DE 2002117043 DE 10217043 A DE10217043 A DE 10217043A DE 10217043 A1 DE10217043 A1 DE 10217043A1
Authority
DE
Germany
Prior art keywords
memory
path memory
path
trellis diagram
mux
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE2002117043
Other languages
English (en)
Inventor
Stefan Meier
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE2002117043 priority Critical patent/DE10217043A1/de
Publication of DE10217043A1 publication Critical patent/DE10217043A1/de
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3988Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes for rate k/n convolutional codes, with k>1, obtained by convolutional encoders with k inputs and n outputs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/003Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation in serial memories
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4107Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4192Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using combined traceback and register-exchange

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

Bei einem Verfahren zum Testen eines für die Viterbi-Decodierung vorgesehenen Pfadgedächtnisspeichers des Registeraustausch-Typs wird an diesen ein statisches Muster aus Steuersignalen angelegt, welches so gewählt ist, dass keine der in dem Pfadgedächtnisspeicher durch das Steuersignalmuster erzeugten Signalpfade sich vereinen. In diesem Zustand wird der Pfadgedächtnisspeicher durch Eingabe von Prüfsignalen in den Pfadgedächtnisspeicher und Auswerten von Ausgangssignalen des Pfadgedächtnisspeichers getestet.

Description

  • Die Erfindung betrifft ein Verfahren und eine Einrichtung zum Testen eines für die Viterbi-Decodierung vorgesehenen Pfadgedächtnisspeichers des Registeraustausch-Typs sowie einen derartigen Pfadgedächtnisspeicher.
  • Bei Kommunikationssystemen wird das auszusendende Signal zur Anpassung an den Übertragungskanal senderseitig einer Kanalcodierung unterzogen. Bei der Kanalcodierung wird den zu übertragenden Daten Redundanz hinzugefügt, um die Übertragungssicherheit zu erhöhen. Im Empfänger muss diese Redundanz zur Fehlerkorrektur ausgewertet und entfernt werden, um die ursprünglichen Daten zu rekonstruieren. Dieser Vorgang wird als Kanaldecodierung bezeichnet und bei Verwendung von Faltungscodes in der Regel mittels eines Viterbi-Kanaldecodierers durchgeführt.
  • Die Pfadgedächtnis-Speichereinheit (SMU: Survivor Memory Unit) eines Viterbi-Kanaldecodierers kann entweder nach dem Trace-Back Algorithmus arbeiten oder vom Registeraustausch- Typ (REA: Register-Exchange Architecture) sein. Heutzutage arbeiten die meisten SMU nach dem Trace-Back Algorithmus, welcher eine Implementierung des Pfadgedächtnisspeichers in Form eines wiederbeschreibbaren Speicherbausteins (RAM: Random-Access Memory) ermöglicht. In Hinblick auf möglichst kurze Latenzzeiten (Entscheidungsverzögerungszeiten), hohe Bitraten und große Rückgrifftiefen K (z. B. K = 7) weisen die hardwaretechnisch aufwändigeren REA-Implementierungen jedoch Vorteile gegenüber einer SMU nach dem Trace-Back Algorithmus auf.
  • Eine REA-Implementierung eines Pfadspeichers besteht aus einem Speicherzellen-Array, welches die Struktur des Trellis- Diagramms wiederspiegelt (als Trellis-Diagramm wird bekanntlich ein Zustandsdiagramm des senderseitigen Kanalcodierers bezeichnet, in welchem die möglichen Zustände des Schieberegisters des Kanalcodierers (N Stück) über der diskreten Zeit aufgetragen sind). Die Speicherzellen des Speicherzellen- Arrays sind über Multiplexer und Datenverbindungen gemäß den möglichen Zustandsübergängen im Trellis-Diagramm miteinander verbunden.
  • Eine typische REA-Implementierung für einen punktierten Code mit der Rückgrifftiefe K = 7 umfasst etwa 4000 bis 5000 Speicherzellen. Für einen z. B. nach der Fertigung durchzuführenden Funktionstest muss das Speicherzellen-Array so betrieben werden können, dass sämtliche Speicherzellen-Ausgänge beobachtbar sind. Im Normalbetrieb ist es jedoch nicht erforderlich, die Ausgänge der Speicherzellen beobachten zu können, da aufgrund der Pfadverschmelzung lediglich die Ausgänge der letzten Speicherzellen (d. h. der Speicherzellen in der im Signalweg hintersten Spalte des Speicherzellen-Arrays) ausgewertet werden müssen.
  • Um die Beobachtbarkeit sämtlicher Speicherzellen-Ausgänge einer REA-Implementierung zu Testzwecken herzustellen, werden als Speicherzellen sogenannte Scan-Path-Register eingesetzt. Diese Register enthalten einen zusätzlichen Multiplexer, über welchen sie für einen Testbetrieb zu definierten Ketten verschaltet werden können. Dies ermöglicht, die (nunmehr bekannten) Register einer Kette durch eingangsseitiges Einspeisen eines Testsignals und Durchtakten des Testsignals durch die Speicherzellen-Kette gezielt zu testen.
  • Nachteilig ist jedoch, dass sich durch das Ersetzen eines jeden Registers durch ein Scan-fähiges Register (mit einem zusätzlichen Multiplexer) ein beträchtlicher Mehrverbrauch an Chipfläche und Verlustleistung einstellt.
  • Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Testen eines REA-Pfadgedächtnisspeichers anzugeben, welches einen aufwandsgünstigen Test ermöglicht und insbesondere die Notwendigkeit, Scan-fähige Register zum Aufbau des Pfadgedächtnisspeichers zu verwenden, entfallen lässt. Ferner zielt die Erfindung darauf ab, eine Einrichtung zum Testen eines REA-Pfadgedächtnisspeichers mit den genannten Vorzügen hinsichtlich des Aufbaus des REA-Speicher-Arrays sowie einen auf einfache Weise testfähigen Pfadgedächtnisspeicher zu schaffen.
  • Die der Erfindung zugrunde liegende Aufgabenstellung wird durch die Merkmale der Ansprüche 1, 11 und 12 gelöst.
  • Gemäß dem Anspruch 1 wird ein Pfadgedächtnisspeicher des Registeraustausch-Typs betrachtet, dessen Architektur gemäß üblichem Aufbau durch eine 2-dimensionale Zellenmatrix gegeben ist. Die Zeilen der Zellenmatrix sind jeweils einem Zustand im Trellis-Diagramm zugeordnet, und in benachbarten Spalten angeordnete Zellen sind entsprechend den im Trellis-Diagramm möglichen Zustandsübergängen durch Datenverbindungen miteinander verbunden. Jeder Zelle ist ein Speicher und zumindest denjenigen Zellen, die mehrere Datenverbindungen entgegennehmen, ein Multiplexer zugeordnet. Dabei werden in einer Zeile angeordnete Multiplexer jeweils mit einem gemeinsamen Steuersignal angesteuert. Das Verfahren umfasst folgende Schritte: Anlegen eines Musters aus Steuersignalen, welches so gewählt ist, dass keine der durch die gewählten Datenverbindungen geschaffenen Pfade sich vereinen; und Testen des Pfadgedächtnisspeichers durch Eingabe von Prüfsignalen in den Pfadgedächtnisspeicher und Auswerten von Ausgangssignalen des Pfadgedächtnisspeichers.
  • Demnach besteht die Grundidee der Erfindung darin, den Pfadgedächtnisspeicher so mit einem (statischen) Muster aus Steuersignalen anzusteuern, dass keine Pfadverschmelzung innerhalb des Speichers auftritt. Da in diesem Testbetrieb die einzelnen Pfade (anders als im Normalbetrieb) nicht verschmelzen, wird der Pfadgedächtnisspeicher durch das Steuersignalmuster in Form einer Schar einzelner, getrennter Speicher- bzw. Registerketten konfiguriert und kann damit durch Beobachtung der Ausgänge des Pfadgedächtnisspeichers (d. h. der Ausgänge der Speicher in der letzten Spalte desselben) getestet werden.
  • Vorzugsweise werden die Schritte des Anlegens eines Musters und des Testens des Pfadgedächtnisspeichers unter Verwendung eines weiteren Musters wiederholt. Dadurch kann der Test für eine andere Schar getrennter Pfade bestätigt werden.
  • Das bzw. die für den Test anzuwendende(n) Muster aus Steuersignalen hängt bzw. hängen von dem Trellis-Diagramm und damit von dem Aufbau des Pfadgedächtnisspeichers ab. Eine besonders bevorzugte Maßnahme des erfindungsgemäßen Verfahrens besteht darin, dass das Muster und/oder dass weitere Muster aus Steuersignalen durch Ausführen der folgenden Schritte vor dem Schritt des Anlegens eines Musters aus Steuersignalen ermittelt wird: Bestimmen der Butterfly-Strukturen des Trellis- Diagramms, Entwickeln eines transformierten Trellis-Diagramms auf der Basis der Butterfly-Strukturen, Ermitteln eines Satzes sich nicht vereinender Pfade aus dem transformierten Trellis-Diagramm, und Ermitteln des Musters von Steuersignalen, welches, wenn an die Multiplexer angelegt, den ermittelten Satz von sich nicht vereinenden Pfaden in der Zellenmatrix des Pfadgedächtnisspeichers erzeugt. Dieser Algorithmus stellt einen systematischen Ansatz dar, um für einen REA- Pfadgedächtnisspeicher zielgerichtet die richtigen Ansteuerbedingungen (d. h. das Muster von Steuersignalen) ermitteln zu können, mit welchen der Pfadgedächtnisspeicher in einzelne, nicht verschmelzende Speicherketten konfiguriert wird.
  • Eine vorteilhafte Ausführungsvariante des Verfahrens betrifft einen Pfadgedächtnisspeicher zur Decodierung eines Codes mit der Coderate R = 1/2. Es lässt sich zeigen, dass bei Codes mit R = 1/2 für beliebige Rückgrifftiefen K Ansteuerbedingungen für die Konfigurierung des Pfadgedächtnisspeichers in nicht verschmelzende Pfade bzw. Speicherketten gefunden werden können.
  • Eine weitere vorteilhafte Ausführungsvariante des erfindungsgemäßen Verfahrens bezieht sich auf einen Pfadgedächtnisspeicher zur Decodierung eines Codes mit der Coderate R = 2/3.
  • Die Coderate R bezeichnet bekanntlich das Verhältnis aus der Anzahl der in den (senderseitigen) Kanalcodierer einlaufenden Bits zu der Anzahl der von dem Kanalcodierer ausgegebenen Bits. R = 2/3 bedeutet, dass zwei Bits am Eingang des Kanalcodierers drei Bits am Ausgang des Kanalcodierers bewirken. Es lässt sich zeigen, dass der beschriebene Algorithmus bei R = 2/3 zumindest bei einem Pfadgedächtnisspeicher mit 8 oder 16 Zeilen die richtigen Ansteuerbedingungen für eine Pfadvereinzelung liefert.
  • Die Erfindung wird nachfolgend anhand von Beispielen unter Bezugnahme auf die Zeichnung erläutert; in dieser zeigen:
  • Fig. 1 eine Darstellung von Funktionsblöcken zur Erläuterung der allgemeinen Struktur eines Viterbi-Decodierers;
  • Fig. 2 ein Trellis-Diagramm mit N = 8 und R = 1/2;
  • Fig. 3 eine schematische Darstellung der Zustände des Kanalcodierers über der Zeit zur Veranschaulichung der Pfadvereinigung;
  • Fig. 4 eine Darstellung der Schaltung eines REA-Pfadgedächtnisspeichers zur Decodierung eines Codes mit N = 8 und R = 1/2;
  • Fig. 5 eine Darstellung eines Ausschnitts aus der Fig. 4;
  • Fig. 6 das in Fig. 2 dargestellte Trellis-Diagramm mit eingezeichneten Butterflies;
  • Fig. 7 eine Darstellung eines auf der Basis von Butterflies transformierten Trellis-Diagramms der Fig. 2;
  • Fig. 8 eine Darstellung der nicht verschmelzenden Pfade in dem transformierten Trellis-Diagramm der Fig. 7;
  • Fig. 9 eine Darstellung der licht verschmelzenden Pfade in dem Trellis-Diagramm der Fig. 2;
  • Fig. 10 eine Darstellung der Schaltung eines gemäß der Erfindung testfähigen REA-Pfadgedächtnisspeichers zur Decodierung eines Codes mit N = 8 und R = 1/2;
  • Fig. 11 ein Trellis-Diagramm mit N = 8 und R = 2/3;
  • Fig. 12 eine Darstellung des auf der Basis von Butterflies transformierten Trellis-Diagramms der Fig. 11;
  • Fig. 13 eine Darstellung der nicht verschmelzenden Pfade in dem Trellis-Diagrammm der Fig. 11; und
  • Fig. 14 eine schematische Darstellung einer Einrichtung zum Testen eines REA-Pfadgedächtnisspeichers.
  • Fig. 1 zeigt den generellen Aufbau eines Viterbi-Kanaldecodierers bestehend aus einer Einheit zur Berechnung von Übergangsmetriken BMU (Branch Metric Unit), einer Einheit zur Durchführung von ACS-(ADD-COMPARE-SELECT-)Operationen, ACS, und einer Einheit SMU (Survivor Memory Unit) zur Pfadermittlung.
  • Die generelle Funktionsweise von Viterbi-Decodierern ist bekannt und wird hier lediglich kurz erläutert:
    Ausgangspunkt der Kanaldecodierung mittels des Viterbi-Algorithmus (VA) ist das Trellis-Diagramm. In einem Trellis-Diagramm sind die möglichen Zustände des Schieberegisters des Kanalcodierers über der diskreten Zeit k aufgetragen. Ein Schieberegister bestehend aus K - 1 Speicherzellen (K bezeichnet die Rückgrifftiefe) kann für 2-wertige Symbole N = 2K-1 verschiedene Zustände einnehmen. Mit jedem in den Kanalcodierer eingegebenen Datensymbol ändert sich die Belegung der Speicherzellen und damit der Zustand des Schieberegisters. Im Trellis-Diagramm entspricht dies einem Übergang von einem Zustand im Zeitschritt k in den nächsten Zustand im Zeitschritt k + 1. Somit entspricht ein in das Schieberegister einlaufender Datenstrom einer definierten Folge von Zuständen im Trellis- Diagramm. Diese definierte Folge von Zuständen bildet einen Pfad durch das Trellis-Diagramm.
  • Der in das Schieberegister einlaufende Datenstrom bzw. die daraus resultierende Folge von Zuständen des Kanalcodierers ist im Empfänger natürlich unbekannt. Mittels des VA wird im Empfänger auf rekursive Weise der "kürzeste" Pfad durch das Trellis-Diagramm ermittelt. Die Bestimmung dieses kürzesten Pfads im Trellis-Diagramm ist gleichbedeutend mit der Rekonstruktion des Datenstroms, welcher senderseitig dem Kanalcodierer in Form einer Folge aus Datensymbolen zugeführt wurde.
  • Die rekursive Pfad-Verfolgung im Trellis-Diagramm wird beim VA mittels der ACS-Operationen durchgeführt. Die ACS- Operationen bilden das Kernstück des VA. Für jeden möglichen Übergang in einen bestimmten Zielzustand eines betrachten Zeitschritts k + 1 ausgehend von den möglichen Vorgänger-Zuständen im vorangegangenen Zeitschritt k wird eine Übergangsmetrik berechnet, welche ein Maß für die Wahrscheinlichkeit des jeweiligen Übergangs darstellt. Nachfolgend worden diese Übergangsmetriken den jeweiligen Zustandsmetriken der möglichen Vorgängerzustände, die im vorhergehenden Rekursionsschritt berechnet wurden, hinzuaddiert (ADD-Operation), und es werden die auf diese Weise erhaltenen Summen verglichen (COMPARE-Operation). Derjenige Übergang, dessen Summe aus Übergangsmetrik und Metrik des Vorgänger-Zustands minimal ist, wird ausgewählt (SELECT-Operation) und bildet die Verlängerung des bis dahin ermittelten Pfads in den Zielzustand. Die anderen Pfade werden verworfen.
  • Die Berechnung der Übergangswahrscheinlichkeiten für jeden möglichen Übergang im Trellis-Diagramm erfolgt in der Einheit BMU. Die Berechnung dieser Übergangsmetrikwerte beruht auf den von einem Empfänger bzw. Entzerrer zur Verfügung gestellten Informationen, welche der Einheit BMU über eine Datenverbindung 1 zugeführt werden. Üblicherweise handelt es sich hierbei um die von einem Entzerrer entschiedenen Datensymbole sowie die zugehörigen Soft-Bit-Werte.
  • Die in der Einheit BMU berechneten Übergangsmetrikwerte werden über die Datenverbindung 2 der ACS-Einheit zugeführt. In der ACS-Einheit werden die bereits beschriebenen ACS-Operationen durchgeführt. Der ACS-Schritt wird bei jedem Zeitschritt zyklisch für sämtliche Zielzustände ausgeführt. Dies ist durch die Schleife 3 in Fig. 1 angedeutet.
  • Nachdem für einen bestimmten Zeitschritt im Trellis-Diagramm sämtliche Metriken bestimmt sind, werden die zugehörigen dominierenden Zustandsübergänge der Einheit SMU über die Datenverbindung 4 mitgeteilt. Die Einheit SMU führt eine Rückverfolgungs-Operation zur Ermittlung eines um eine bestimmte Anzahl von Zeitschritten zurückliegenden Datensymbols durch. Dieses wird über eine Datenverbindung 5 ausgegeben. Der Rückverfolgung liegt zugrunde, dass im Trellis-Diagramm die einzelnen Pfade in zeitlicher Rückwärtsrichtung konvergieren, d. h., dass Datensymbole, die für einen länger zurückliegenden Übergang ermittelt wurden, für überlebende Pfade eine höhere Sicherheit aufweisen als für abgebrochene Pfade (ob ein Pfad überlebt oder nicht, stellt sich erst nach Abarbeitung einer bestimmten Anzahl weiterer Zeitschritte heraus - deswegen bedarf es der SMU).
  • Fig. 2 zeigt ein Trellis-Diagramm für N = 8 bei einer Coderate R = 1/2. Die 8 Zustände des Kanalcodieres sind mit s0, s1, s2, . . ., s7 bezeichnet. Die möglichen Zustandsübergänge sind durch Verbindungslinien zwischen den Zuständen eingezeichnet. Von jedem der 8 Zustände s0, s1, s2, . . ., s7 verlaufen entsprechend den zwei Übergängen, die in einem Zustandsdiagramm für ein Eingabebit und zwei codierte Ausgabebits (R = 1/2) möglich sind, Verbindungslinien zu zwei Zielzuständen.
  • Die ACS-Operationen werden, wie bereits erwähnt, für jeden Zielzustand durchgeführt, so dass bei 8 Zielzuständen zu jedem Zeitschritt 8 durch das Trellis-Diagramm verlaufende Pfade fortgesetzt werden. Obgleich im Trellis-Diagramm aus kombinatorischer Sicht die Anzahl der möglichen Pfade mit den Zeitschritten exponentiell zunimmt, garantiert die Pfadverwerfung des VA eine zeitunabhängige, feste Anzahl (hier 8 Stück) von möglichen Pfaden im Trellis-Diagramm.
  • Welcher dieser 8 Pfade ist nun aber der gesuchte Pfad, der durch die tatsächlich in das Schieberegister des Kanalcodierers eingegebenen Bits bestimmt ist? Immer noch wäre es unter den Gesichtspunkten Speicherbedarf und Latenzzeit unmöglich, die 8 Pfade solange zu verfolgen (und abzuspeichern), bis die Datenübertragung endet, wonach dann über den "richtigen" Pfad entschieden werden kann. Wie bereits erwähnt, muss diese Frage (welcher der 8 Pfade der richtige ist) während des Decodiervorgangs nicht beantwortet werden. Statt dessen wird die Eigenschaft der Pfadvereinigung ausgenutzt, welche besagt, dass sämtliche 8 Pfade zu einem vergangenen Zeitpunkt aus einem einzigen gemeinsamen Pfad durch Aufspaltung desselben hervorgegangen sind. Der Zeitpunkt der Pfadvereinigung kann nicht genau vorhergesagt werden. Es ist deshalb wichtig, eine ausreichend große Pfadvereinigungslänge (englisch: survivor length) anzunehmen, bei welcher erfahrungsgemäß eine Pfadvereinigung gewährleistet ist.
  • Fig. 3 verdeutlicht in schematischer Weise das Phänomen der Pfadvereinigung. Die (hier nicht diskret dargestellten) Zustände sind in Analogie zum Trellis-Diagramm entlang der Y- Achse aufgetragen. Die X-Achse entspricht der diskreten Zeit. Der aktuelle Zeitschritt ist k, es sind die zu den Zuständen s0, s1, . . ., s7 führenden Pfaden dargestellt. Die Rückverfolgung der Pfade führt stets auf den gleichen entschiedenen Zustand s3 zum Zeitschritt k-D. Es ist also unerheblich, bezüglich welches Zustandes s0, s1, . . ., s7 die Rückverfolgung durchgeführt wird. Wichtig ist lediglich, dass eine ausreichend große Entscheidungsverzögerung D gewählt wird. Wird eine zu kurze Entscheidungsverzögerung D' gewählt, liegt (noch) keine Pfadvereinigung vor, weshalb mit einer fehlerhaften Zustandsentscheidung gerechnet werden muss.
  • In Fig. 4 ist eine REA-Implementierung eines Pfadgedächtnisspeichers für das in Fig. 2 gezeigte Trellis-Diagramm mit 8 Zuständen s0, s1, . . ., s7 dargestellt. Der Pfadgedächtnisspeicher besteht aus einem Speicherzellen-Array, welches die Struktur des Trellis-Diagramms wiederspiegelt. Die Speicherzellen in der ersten Spalte sind mit T1, die in den weiteren Spalten mit T2 bezeichnet. Jede Speicherzelle T1 und T2 entspricht einem Zustand im Trellis-Diagramm, die zwischen den Zuständen im Trellis-Diagramm möglichen Übergänge sind durch Bitleitungen realisiert. An der linken Seite des Speicherzellen-Arrays wird jeder Speicherzelle T1 der ersten Spalte eine (aktuelle) Entscheidung über ein zum Zeitschritt k in diesen Zustand führendes Bit zugeführt. Diese von der Einheit ACS entschiedenen Bits (sog. "decision vector") sind mit dec0, dec1, . . ., dec7 bezeichnet. Jede Speicherzelle T2 der zweiten und folgenden Speicherzellenspalten wählt dann den Inhalt einer der zwei möglichen (durch Verbindungslinien angegebenen) Speicherzellen T1 bzw. T2 der vorangehenden Speicherzellenspalte entsprechend dem eingegebenen Bit (zur betrachteten Speicherzellenzeile) aus. Die zu diesem Zweck vorgesehenen Steuerleitungen C1, C2, . . ., C7 sind in Fig. 4 zur besseren Unterscheidung strichpunktiert eingezeichnet. Die Auswahl erfolgt in den Speicherzellen T2 mittels eines Multiplexers, siehe auch Fig. 5. In dem Speicherzellen-Array findet also im Normalbetrieb in jedem Zeitschritt eine in Abhängigkeit von dec0, dec1, . . ., dec7 vorzunehmende "Umspeicherung" der spaltenweise abgelegten Information in die nächste Speicherzellenspalte statt.
  • Die Struktur des REA-Pfadgedächtnisspeichers wird näher anhand Fig. 5 erläutert. Fig. 5 zeigt einen Ausschnitt aus dem Speicherzellen-Array der Fig. 4, welcher durch die in Fig. 2 doppelt umrandeten Zustände sowie die fett eingezeichneten Übergänge identifiziert wird. Jede Speicherzelle T2 (entsprechend den Zuständen s0 und s1 zum Zeitschritt k + 1 sowie den Zuständen s0 und s4 zum Zeitschritt k + 2) umfasst einen eingangsseitigen Multiplexer mux und ein Register reg. Die beiden Eingänge des Multiplexers mux sind jeweils mit den Ausgängen derjenigen Register reg verbunden, die den Vorgänger-Zuständen entsprechen. Wie bereits in Fig. 4 dargestellt, sind sämtliche Multiplexer mux in einer Zeile mit der gemeinsamen Steuerleitung C0 bzw. C1 bzw. C2, . . ., bzw. C7 verbunden (diese ist hier als durchgehende Linie dargestellt). Es wird darauf hingewiesen, dass neben der hier dargestellten Variante, den "decision vector" dec0, dec1, . . ., dec7 als Steuersignal für die Multiplexer mux zu verwenden, auch andere Möglichkeiten bekannt sind.
  • Aufgrund der Pfadvereinigung umfasst der Pfadgedächtnisspeicher bei einer üblichen Implementierung zumindest D Spalten.
  • Eine Daumenregel besagt, dass die Pfadvereinigungslänge 3 bis 5 Mal der Rückgrifftiefe K entspricht. Bei K = 7 (d. h. N = 64) muss mit einer Pfadvereinigungslänge von 35 gerechnet werden. Sofern ein punktierter Code verwendet wird, kann sich die Pfadvereinigungslänge verdoppeln. Infolgedessen umfasst eine typische REA-Implementierung für K = 7 etwa 4500 Register und 4500 Multiplexer.
  • Die in den Speicherzellenzeilen am weitesten rechts befindlichen Speicherzellen T2 geben für die hier dargestellten 8 Trellis-Pfade die vor D Zeitschritten entschiedenen Bits bezüglich überlebender Pfade aus. Wie bereits erläutert, wird bei ausreichend groß gewählter Entscheidungsverzögerung D an jedem Ausgang das gleiche Bit auftreten. Deshalb kann im Normalbetrieb jeder Speicherzellenausgang als Ausgang des Kanaldecodierers gewählt werden.
  • Aus dem gleichen Grund (Pfadvereinigung) kann der in Fig. 4 dargestellte Pfadgedächtnisspeicher im Normalbetrieb nicht getestet werden. Denn Einzelpfade, die eine Beobachtung der in diesen Pfaden enthaltenen Speicherzellen zulassen würden, treten mit Ausnahme der Pfade zwischen den Zuständen s0-s0 -. . .-s0 (d. h. der obersten Speicherkettenzeile) und s7- s7-. . .-s7 (d. h. der untersten Speicherkettenzeile) nicht auf. Pseudo-Zufallszahlen, die als Testmuster für die Bits dec0, dec1, . . ., dec7 angelegt werden, sind ebenfalls als Testmuster ungeeignet.
  • Aus diesen Gründen werden im Stand der Technik für die Register reg sogenannte Scan-Path-Register mit zusätzlichen Ports verwendet, die einen weiteren Multiplexer umfassen, um in den Scan-Modus geschaltet zu werden. Diese Vorgehensweise zur Ermöglichung eines Tests des Pfadgedächtnisspeichers ist also mit einem hohen zusätzlichen Hardware-Aufwand verbunden.
  • Im Folgenden wird die erfindungsgemäße Vorgehensweise zur Vermeidung dieses Hardware-Aufwands beschrieben.
  • Eine bekannte Eigenschaft des Trellis-Diagramms bei R = 1/2 besteht darin, dass jeweils zwei Zustände die gleichen Vorgänger-Zustände aufweisen. In Fig. 2 haben die Zustände s0 und s4 beide die Vorgänger-Zustände s0 und s1. Aufgrund ihrer an einen Schmetterling erinnernden Form (siehe die in Fig. 2 fett eingezeichneten Zustandsübergänge) wird diese Struktur aus zwei Vorgänger-Zuständen und zwei Ziel-Zuständen als Butterfly bezeichnet. Zur Bezeichnung eines Butterfly's wird im Folgenden die Notation (VZ, VZZ|ZZ, ZZ) verwendet, wobei VZ für Vorgänger-Zustand und ZZ für Ziel-Zustand steht. Der in Fig. 2 dargestellte Butterfly lautet demzufolge (s0, s1|s0, s4).
  • In Fig. 6 ist der Butterfly (s0, s1|s0, s4) für sämtliche dargestellten Zeitschritte im Trellis-Diagramm hervorgehoben. Es lassen sich weitere Butterflies ablesen, nämlich (s2, s3|s1, s5), (s4, s5|s2, s6) und (s6, s7|s3, s7).
  • Fig. 7 zeigt ein transformiertes Trellis-Diagramm. Die Übergänge zwischen den einzelnen Zuständen bleiben unverändert. Jedoch werden die Zustände ausgehend von dem Zeitschritt k gemäß der Butterfly-Struktur gruppiert. Für den Übergang zwischen dem Zeitschritt k und dem Zeitschritt k + 1 sind die vier obengenannten Butterflies übereinander dargestellt. Dies hat eine Umordnung der Zustände zum Zeitschritt k + 1 zur Folge.
  • Ausgehend von dem Zeitschritt k + 1 erfolgt eine Umordnung der Zustände zum Zeitschritt k + 2 nach dem gleichen Prinzip: es werden die beiden Vorgänger-Zustände (s0 und s1) des ersten Butterfly's herausgesucht und mit den Ziel-Zuständen (s0 und s4) im Zeitschritt k + 2 so ergänzt, dass eine symmetrische Butterfly-Struktur erhalten wird. Dies wird, wie in Fig. 7 dargestellt, für sämtliche Butterflies durchgeführt.
  • Die beschriebene Vorgehensweise wird für die Zustandsübergänge zwischen den Zeitschritten k + 2 und k + 3 wiederholt. Der erste Butterfly (s0, s1|s0, s4) in symmetrischer Darstellung ist stets durch Fettdruck hervorgehoben.
  • Man erkennt, dass nach 3-facher Ausführung des erläuterten Umordnungsschrittes im Zeitschritt k + 3 wieder die ursprüngliche Reihenfolge der Zustände erhalten wird. Im Gegensatz zum "normalen" Trellis-Diagramm (Fig. 6) ist das transformierte Trellis-Diagramm (Fig. 7) zyklisch. Sein besonderer Vorzug besteht darin, dass aus dem transformierten Trellis-Diagramm die nicht verschmelzenden Pfade einfach abgelesen werden können. Sie sind in der Tabelle 1 zusammengefasst. Tab. 1

  • Im Folgenden wird gezeigt, dass die nicht verschmelzenden Pfade durch ein einfaches Steuersignalmuster c0, c1, . . ., c7 erzeugt werden können. Dabei bezeichnet c1 das an der Signalleitung Ci anliegende Steuersignal, i = 0, . . ., 7 ist der Zeilenindex. Dies wird anhand der Fig. 8 und 9 erläutert.
  • Die Fig. 8 zeigt zwei Zyklen des in Fig. 7 dargestellten transformierten Trellis-Diagramms. Von den 8 ermittelten nicht verschmelzenden Pfaden sind 2 Pfade P1 (s1-s4-s2- s1) und P2 (s5-s6-s3-s5) durch Fettdruck hervorgehoben. Diese Pfade P1 und P2 sind in Fig. 9 in das ("normale") Trellis-Diagramm eingezeichnet. In analoger Weise können sämtliche in der Tab. 1 angegebenen nicht verschmelzenden Pfade in das Trellis-Diagramm der Fig. 9 eingetragen werden. Man erkennt leicht; dass diese Pfade durch ein einziges statisches Muster aus Steuersignalen ci, i = 0, . . ., 7, für die Multiplexer mux generiert werden können. Das Muster lautet:
    ci = d für i = 0, . . ., 3
    ci = u für i = 4, . . ., 7.
  • Ein mit dem Signalwert d angesteuerter Multiplexer mux wählt die Verbindung von derjenigen Speicherzelle T1 bzw. T2 in der vorausgehenden Spalte mit dem kleineren Zeilenindex aus, während ein mit dem Signalwert u angesteuerter Multiplexer mux die Verbindung von derjenigen Speicherzelle in der vorausgehenden Spalte mit dem größeren Zeilenindex i auswählt. In Fig. 9 wird der Signalwert d durch einen nach oben gerichteten Pfeil veranschaulicht (da der "obere" Vorgänger-Zustand ausgewählt wird), und der Signalwert u wird durch einen nach unten gerichteten Pfeil veranschaulicht (da der "untere" der beiden Vorgänger-Zustände ausgewählt wird). Die die Steuersignale ci darstellenden Pfeile sind neben den zugehörigen Zeilen i eingezeichnet.
  • Es wird darauf hingewiesen, dass das transformierte Trellis- Diagramm (Fig. 8) lediglich dazu dient, nicht verschmelzende Pfade P1, P2, . . ., zu ermitteln. Wenn diese Pfade ermittelt sind, werden die entsprechenden Steuersignale c0, c1, . . ., c7 in dem ursprünglichen Trellis-Diagramm (Fig. 9) ermittelt. Der Aufbau des Pfadgedächtnisspeichers entspricht immer dem ursprünglichen Trellis-Diagramm (siehe Fig. 4) und nicht dem transformierten Trellis-Diagramm. Würde der Pfadgedächtnisspeicher in Form des transformierten Trellis-Diagramms aufgebaut, würde die zeilenweise Zuordnung der Steuersignale zu den Multiplexern mux verloren gehen.
  • Aus Fig. 8 lässt sich eine weitere Schar nicht verschmelzender Pfade ablesen, und zwar diejenigen Pfade, welche orthogonal zu den bereits bestimmten Pfaden sind. Orthogonal bedeutet, dass für jede Zeile genau die entgegengesetzten Steuersignale verwendet werden, wie dies in Fig. 9 durch die gestrichelten Pfeile dargestellt ist. Der zu dem Pfad P1 orthogonale Pfad P1' ist in den Fig. 8 und 9 gestrichelt eingezeichnet. Er lautet s1-s0-s4-s6-s7-s3-s1. In Tabelle 2 sind sämtliche orthogonale Pfade aufgelistet. Tab. 2

  • Fig. 8 macht deutlich, dass der wesentliche Unterschied zwischen den in der Tab. 1 angegebenen Pfaden und den in der Tab. 2 angegebenen orthogonalen Pfaden darin besteht, dass die orthogonalen Pfade erst nach dem doppelten Zyklus (6 Übergänge) zu ihren Ausgangs-Zuständen zurückkehren, während die Pfade der Tab. 1 bereits nach einem Zyklus (3 Übergänge) ihren ursprünglichen Zustand wieder erreicht haben.
  • Fig. 10 zeigt einen erfindungsgemäßen REA-Pfadgedächtnisspeicher mit dem in Fig. 4 dargestellten Aufbau. Der wesentliche Unterschied zwischen dem in Fig. 10 dargestellten Pfadgedächtnisspeicher und dem in Fig. 4 gezeigten Pfadgedächtnisspeicher besteht darin, dass jeder Zeile des Speichers eingangsseitig ein 2 : 1 Multiplexer m zugeordnet ist. Über ein Modus-Steuersignal M, welches mit den Steuereingängen der Multiplexer m verbunden ist, kann ein Testmodus eingestellt werden. In diesem Fall werden die Steuerleitungen C0, C1, . . ., C7 von den Eingangssignalen dec0, dec1, . . ., dec7 entkoppelt und über den zweiten Multiplexer-Eingang an ein vorgebbares Testmuster c0, c1, . . ., c7 (in Fig. 10 in beispielhafter Weise d, d, d, d, u, u, u, u) gelegt. Anschließend werden bekannte Werte für dec0, dec1, . . ., dec7 den Speichereingängen zugeführt und durch den Speicher durchgetaktet. Im Unterschied zum Normalbetrieb werden im Testbetrieb sämtliche Ausgänge 5.0, 5.1, . . ., 5.7 des Pfadgedächtnisspeichers beobachtet und festgestellt, ob die eingangsseitig eingegebenen Werte ausgangsseitig fehlerfrei erhalten werden.
  • Es wird darauf hingewiesen, dass die Erfindung weder auf Pfadgedächtnisspeicher mit N = 8 noch auf Pfadgedächtnisspeicher für die Coderate R = 1/2 beschränkt ist. Die am Beispiel R = 1/2 und N = 8 beschriebene Strategie zur Identifizierung nicht verschmelzender Pfade im ursprünglichen Trellis- Diagramm unter Verwendung des transformierten Trellis- Diagramms kann für sämtliche Kanalcodes mit R = 1/2 durchgeführt werden und wurde für N = 16, N = 32 und N = 64 verifiziert. In diesen Fällen erhöht sich die Anzahl der Übergänge (Zykluslänge) die benötigt wird, um den ursprünglichen Zustand wieder zu erreichen. Die entsprechenden Zyklenlängen sind in der Tab. 3 für die "horizontalen" Pfade gemäß Tab. 1 und die orthogonalen Pfade gemäß der Tab. 2 angegeben. Tab. 3

  • Für R = 2/3 wurde die Erzeugung von nicht verschmelzenden Pfaden durch einfache zeilenweise Ansteuerung der Multiplexer mux durch statische Prüfmuster für N = 8 und N = 16 verifiziert.
  • In beiden Fällen kehrten die nicht verschmelzenden Pfade nach 2 oder 4 Übergängen in ihre ursprünglichen Zustände zurück.
  • Die Ermittlung der nicht verschmelzenden Pfade und die darauf basierende Bestimmung geeigneter Testmuster erfolgt analog der für den Fall R = 1/2 beschriebenen Vorgehensweise. Allerdings ist zu berücksichtigen, dass bei Faltungscodes mit R = 2/3 im Trellis-Diagramm vier mögliche Übergänge von jedem Zustand ausgehen.
  • Der Grund hierfür besteht darin, dass die Zustandsänderungen im Kanalcodierer jeweils durch zwei Eingabebits, nämlich 00, 01, 10, 11, hervorgerufen werden.
  • Als Beispiel wird im Folgenden der im IEEE-Standard 802.3 für 1000 BASE-T festgelegte Faltungscode benutzt. 1000 BASE-T ist ein relativ neuer Standard für die Übertragung von Datenraten von 1 Gbit/s über Kupferleitungen. Der Faltungscode hat N = 8 Zustände und die Rate R = 2/3.
  • Auch dieser Code ist wie die R = 1/2 Codes in Butterfly- Strukturen zerlegbar, wobei bei Codes mit R = 2/3 die Butterfly-Struktur aus jeweils 4 Zuständen besteht, die alle die gleichen 4 Zustände als Nachfolger besitzen. In der bereits eingeführten Notation lauten die beiden Butterflies dieses Codes:
    (s0,s2,s4,s6|s0,s1,s2,s3) und (s1,s3,s5,s7|s4,s5,s6,s7).
  • Die Fig. 11 zeigt einen Ausschnitt aus dem Trellis-Diagramm dieses Codes mit R = 2/3 und N = 8 in Analogie zu Fig. 2.
  • Fig. 12 zeigt das transformierte Trellis-Diagramm für diesen Code in Analogie zur Fig. 7. Die aus diesem Trellis-Diagramm abzulesenden nicht verschmelzenden Pfade sind in der Tabelle 4 angegeben. Tab. 4

  • Fig. 13 zeigt für die Coderate R = 2/3 die der Fig. 9 entsprechende Darstellung, in welcher das Testmuster (d. h. die Ansteuerbedingungen für die Multiplexer mux) angegeben ist. Da bei R = 2/3 vier verschiedene Vorgängerzustände unterschieden werden müssen, handelt es sich bei den Multiplexern mux (siehe Fig. 5) jetzt um 4 : 1-Multiplexer. Die Steuersignale c0, c1, . . ., c7 sind 4-wertig. Für die 4 möglichen Werte werden als Notation die Ziffern 0, 1, 2, 3 benutzt. Das Steuersignal 0 bedeutet, dass der Vorgänger-Zustand mit dem kleinsten Zeilenindex i ausgewählt wird (das ist in der Darstellung der Fig. 11 der am weitesten oben angeordnete mögliche Vorgänger-Zustand), das Steuersignal 1 bedeutet, dass der Vorgänger-Zustand mit dem zweit-kleinsten Zeilenindex ausgewählt werden soll, das Steuersignal 2 bedeutet, dass der Vorgänger-Zustand mit dem zweitgrößten Zeilenindex i ausgewählt werden soll und das Steuersignal 3 bedeutet, dass der Vorgänger-Zustand mit dem größten Zeilenindex ausgewählt werden soll (dies ist in Fig. 11 der unterste der möglichen Vorgänger-Zustände).
  • Das Testmuster zur Erzeugung sich nicht vereinender Pfade lautet:
    c0 = 0, c1 = 1, c2 = 2, c3 = 3, c4 = 0, c5 = 1, c6 = 2, c7 = 3.
  • Wiederum können mit einem zweiten alternativ oder zusätzlich genutzten Testmuster weitere sich nicht vereinende Pfade (nämlich die orthogonalen Pfade) erzeugt werden. Das Testmuster für die Erzeugung der orthogonalen Pfade lautet:
    c0 = 3, c1 = 2, c2 = 1, c3 = 0, c4 = 3, c5 = 2, c6 = 1, c7 = 0.
  • Die durch dieses zweite Testmuster erzeugten orthogonalen Pfade sind in der Tabelle 5 angegeben. Tab. 5

  • Es existieren ferner sich nicht vereinende Pfade der doppelten Zykluslänge. Eine erste Schar dieser Pfade ist in Tabelle 6 angegeben Tab. 6

    und wird durch die folgenden Ansteuerbedingungen erzeugt:
    c0 = 2, c1 = 3, c2 = 0, c3 = 1, c4 = 2, c5 = 3, c6 = 0, c7 = 1.
  • Eine zweite Schar dieser Pfade ist in Tabelle 7 angegeben Tab. 7

    und wird durch die folgenden Ansteuerbedingungen erzeugt:
    c0 = 1, c1 = 0, c2 = 3, c3 = 2, c4 = 1, c5 = 0, c6 = 3, c7 = 2.
  • Fig. 14 zeigt in schematischer Weise den Aufbau einer Einrichtung zum Testen eines REA-Pfadgedächtnisspeichers. Eine Testsignal-Erzeugungseinrichtung 10 erzeugt die Eingangssignale dec0, dec1, . . ., dec7 für den Pfadgedächtnisspeicher. Die Ausgänge 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7 des Pfadgedächtnisspeichers werden von einer Auswerteeinrichtung 11 entgegengenommen. Ein Steuersignalgenerator 12 erzeugt das Testmuster (c0, c1, c2, c3, c4, c5, c6, c7). Wird ein REA- Pfadgedächtnisspeicher mit dem in Fig. 10 dargestellten Aufbau getestet, erzeugt eine Einheit 13 das Modus-Steuersignal M.
  • Im Testbetrieb werden bekannte Eingangssignale dec0, dec1, . . ., dec7 durch den Pfadgedächtnisspeicher hindurchgetaktet und mittels der Auswerteeinrichtung 11 mit den um D Takte später erhaltenen Signale an den Ausgängen 5.0, 5.1, . . ., 5.7 verglichen. Dabei wird der Pfadgedächtnisspeicher mit einem der erfindungsgemäß ermittelten, die Pfadvereinzelung im Pfadgedächtnisspeicher garantierenden Testmuster c0, c1, . . ., c7 angesteuert.
  • Die Testeinrichtung kann in den integrierten Schaltkreis, der den REA-Pfadgedächtnisspeicher umfasst, integriert sein - in diesem Fall sind Selbsttests möglich - oder es kann sich um eine externe Einrichtung handeln, in die der REA-Pfadgedächtnisspeicher zu Prüfzwecken eingesetzt wird.

Claims (13)

1. Verfahren zum Testen eines für die Viterbi-Decodierung vorgesehenen Pfadgedächtnisspeichers des Registeraustausch- Typs, dessen Architektur durch eine 2-dimensionale Zellenmatrix gegeben ist, deren Zeilen jeweils einem Zustand im Trellis-Diagramm zugeordnet sind und deren in benachbarten Spalten angeordnete Zellen (T1, T2) entsprechend den im Trellis- Diagramm möglichen Zustandsübergängen durch Datenverbindungen miteinander verbunden sind, wobei jeder Zelle (T1, T2) ein Speicher (reg) und zumindest denjenigen Zellen (T2), die mehrere Datenverbindungen entgegennehmen, ein Multiplexer (mux) zugeordnet ist, und in einer Zeile angeordnete Multiplexer (mux) mit einem gemeinsamen Steuersignal (c0, c1, . . ., c7) angesteuert werden, mit den Schritten:
a) Anlegen eines Musters aus Steuersignalen (c0, c1, . . ., c7), welches so gewählt ist, dass keine der durch die gewählten Datenverbindungen geschaffenen Pfade sich vereinen;
b) Testen des Pfadgedächtnisspeichers durch Eingabe von Prüfsignalen (rec0, rec1, . . ., rec7) in den Pfadgedächtnisspeicher und Auswerten von Ausgangssignalen des Pfadgedächtnisspeichers.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Schritte (a) und (b) unter Verwendung eines weiteren Musters wiederholt werden.
3. Verfahren nach Anspruch 1 oder 2, gekennzeichnet durch den Schritt:
Ermitteln des Musters und/oder des weiteren Musters aus Steuersignalen (c0, c1, . . ., c7) durch Ausführen der folgenden Schritte vor dem Schritt (a):
1. Bestimmen der Butterfly-Strukturen des Trellis- Diagramms;
2. Entwickeln eines transformierten Trellis-Diagramms auf der Basis der Butterfly-Strukturen;
3. Ermitteln eines Satzes sich nicht vereinender Pfade aus dem transformierten Trellis-Diagramm; und
4. Ermitteln des Musters von Steuersignalen, welches, wenn an die Multiplexer angelegt, den ermittelten Satz von sich nicht vereinenden Pfaden in der Zellenmatrix des Pfadgedächtnisspeichers erzeugt.
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Schritt (14) die Unterschritte umfasst:
1. (i4.1) Identifizieren der ermittelten, sich nicht vereinenden Pfade in dem Trellis-Diagramm; und
2. (i4.2) Notieren der Steuersignale (c0, c1, . . ., c7) für die Multiplexer (mux), welche die identifizierten Pfade in dem Pfadgedächtnisspeicher realisieren.
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der zu testende Pfadgedächtnisspeicher zur Decodierung eines Codes mit der Coderate R = 1/2 ausgelegt ist.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass der zu testende Pfadgedächtnisspeicher eine Anzahl von 8, 16, 32 oder 64 Zeilen umfasst.
7. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass der zu testende Pfadgedächtnisspeicher zur Decodierung eines Codes mit der Coderate R = 2/3 ausgelegt ist.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass der zu testende Pfadgedächtnisspeicher eine Anzahl von 8 oder 16 Zeilen umfasst.
9. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet,
dass für den Test eines 8 Zeilen umfassenden Pfadgedächtnisspeichers für die Coderate R = 1/2 in Schritt (a) zumindest eines der folgenden Muster von Steuersignalen (c0, c1, . . ., c7) verwendet wird:
ci = d für i = 0, . . ., 3
ci = u für i = 4, . . ., 7,
und/oder
ci = u für i = 0, . . ., 3
ci = d für i = 4, . . ., 7,
wobei i der Zeilenindex ist, und ci = d für einen Multiplexer (mux) in der Zeile i die Verbindung von derjenigen Zelle (T1, T2) in der vorausgehenden Spalte mit dem kleineren Zeilenindex und ci = u die Verbindung von derjenigen Zelle (T1, T2) in der vorausgehenden Spalte mit dem größeren Zeilenindex auswählt.
10. Verfahren nach einem der Ansprüche 7 oder 8, dadurch gekennzeichnet,
dass für den Test eines 8 Zeilen umfassenden Pfadgedächtnisspeichers für die Coderate R = 2/3 in Schritt (a) zumindest eines der folgenden Muster von Steuersignalen (c0, c1, . . , c7) verwendet wird:
ci = 0 für i = 0, 4
ci = 1 für i = 1, 5
ci = 2 für i = 2, 6
ci = 3 für i = 3, 7
und/oder
ci = 0 für i = 3, 7
ci = 1 für i = 2, 6
ci = 2 für i = 1, 5
ci = 3 für i = 0, 4,
wobei i der Zeilenindex ist, und ci = 0, 1, 2, 3, für einen Multiplexer (mux) in der Zeile i die Verbindung von denjenigen Zellen (T1, T2) in der vorausgehenden Spalte mit dem kleinsten, zweitkleinsten, zweitgrößten bzw. größten Zeilenindex i auswählt.
11. Einrichtung zum Testen eines für die Viterbi-Decodierung vorgesehenen Pfadgedächtnisspeichers des Registeraustausch- Typs, dessen Architektur durch eine 2-dimensionale Zellenmatrix gegeben ist, deren Zeilen jeweils einem Zustand im Trellis-Diagramm zugeordnet sind und deren in benachbarten Spalten angeordnete Zellen (T1, T2) entsprechend den im Trellis- Diagramm möglichen Zustandsübergängen durch Datenverbindungen miteinander verbunden sind, wobei jeder Zelle (T1, T2) ein Speicher (reg) und zumindest denjenigen Zellen (T2), die mehrere Datenverbindungen entgegennehmen, ein Multiplexer (mux) zugeordnet ist, wobei die in einer Zeile angeordneten Multiplexer (mux) mit einem gemeinsamen Steuersignal (c0, c1, . . ., c7) angesteuert werden, mit
einer Testsignal-Erzeugungseinrichtung (10) zur Erzeugung von Eingangssignalen (rec0, rec1, . . ., rec7) für den Pfadgedächtnisspeicher,
einer Auswerteeinrichtung (11) zur Auswertung von Ausgangssignalen des Pfadgedächtnisspeichers, und
einem Steuersignalgenerator (12), welcher Steuersignale (c0, c1, . . ., c7) bereitstellt, welche bewirken, dass keine der durch die gewählten Datenverbindungen geschaffenen Pfade sich vereinen.
12. Pfadgedächtnisspeicher des Registeraustausch-Typs, dessen Architektur durch eine 2-dimensionale Zellenmatrix gegeben ist, deren Zeilen jeweils einem Zustand im Trellis-Diagramm zugeordnet sind und deren in benachbarten Spalten angeordnete Zellen (T1, T2) entsprechend den im Trellis-Diagramm möglichen Zustandsübergängen durch Datenverbindungen miteinander verbunden sind, wobei jeder Zelle (T1, T2) ein Speicher (reg) und zumindest denjenigen Zellen (T2), die mehrere Datenverbindungen entgegennehmen, ein Multiplexer (mux) zugeordnet ist, und die in einer Zeile angeordneten Multiplexer (mux) mit einem gemeinsamen Steuersignal (c0, c1, . . ., c7) angesteuert werden, und welcher eine Schaltung umfasst, über welche für einen Testbetrieb ein externes Muster von Steuersignalen (c0, c1, . . ., c7) an die Multiplexer (mux) anlegbar ist.
13. Pfadgedächtnisspeicher nach Anspruch 12, dadurch gekennzeichnet, dass die Schaltung Steuersignal-Multiplexer (m) umfasst, mittels welchen das Muster von Steuersignalen (c0, c1, . . ., c7) an die Steuereingänge der Multiplexer (mux) anlegbar ist.
DE2002117043 2002-04-17 2002-04-17 Verfahren und Einrichtung zum Testen eines Pfadgedächtnisspeichers des Registeraustausch-Typs sowie testfähiger Pfadgedächtnisspeicher Ceased DE10217043A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2002117043 DE10217043A1 (de) 2002-04-17 2002-04-17 Verfahren und Einrichtung zum Testen eines Pfadgedächtnisspeichers des Registeraustausch-Typs sowie testfähiger Pfadgedächtnisspeicher

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2002117043 DE10217043A1 (de) 2002-04-17 2002-04-17 Verfahren und Einrichtung zum Testen eines Pfadgedächtnisspeichers des Registeraustausch-Typs sowie testfähiger Pfadgedächtnisspeicher

Publications (1)

Publication Number Publication Date
DE10217043A1 true DE10217043A1 (de) 2003-11-06

Family

ID=28798496

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2002117043 Ceased DE10217043A1 (de) 2002-04-17 2002-04-17 Verfahren und Einrichtung zum Testen eines Pfadgedächtnisspeichers des Registeraustausch-Typs sowie testfähiger Pfadgedächtnisspeicher

Country Status (1)

Country Link
DE (1) DE10217043A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768412A (zh) * 2018-05-30 2018-11-06 佛山华芯微特科技有限公司 一种低延时Viterbi译码方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3687401T2 (de) * 1985-10-29 1993-05-13 Fujitsu Ltd Integrierter viterbi-dekoder und verfahren zur pruefung desselben.

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3687401T2 (de) * 1985-10-29 1993-05-13 Fujitsu Ltd Integrierter viterbi-dekoder und verfahren zur pruefung desselben.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768412A (zh) * 2018-05-30 2018-11-06 佛山华芯微特科技有限公司 一种低延时Viterbi译码方法及系统

Similar Documents

Publication Publication Date Title
DE2439577C2 (de) Verfahren zum Prüfen von hochintegrierten logischen Schaltungen und Einrichtung zur Durchführung des Verfahrens
DE60037963T2 (de) Turbo-Dekodierung mit Soft-Output Viterbi Dekoder
DE60028906T2 (de) Viterbi Dekoder
DE3910739C2 (de)
DE69929652T2 (de) Datenfehlerkorrektursystem
DE102011053359B4 (de) Latch-basierte Speichervorrichtung und Verfahren zum Testen derselben
DE3603926A1 (de) Halbleiter-speicherelement
DE2816913A1 (de) Decoder fuer konvolutinal codierte daten
DE69819287T2 (de) Viterbi-Decodierer und Viterbi-Decodierverfahren
EP0778687A2 (de) Bestimmung der Zweigmetriken in einem Viterbi-Entzerrer
EP0306713B1 (de) Verfahren und Anordnung zur Aufbereitung von Daten
DE19838865C2 (de) Parallele CRC Erzeugungsschaltung zum Erzeugen eines CRC Codes und Verfahren zum Generieren einer derartigen Schaltung
DE60117831T2 (de) Modul zur erzeugung von decoderschaltungen für faltungscodes, zugehöriges verfahren und schaltung
DE69936067T2 (de) Verfahren und Vorrichtung zur Maximum-a-Posteriori Warscheinlichkeits-Dekodierung
EP0392603A2 (de) Übertragungssystem
DE2329610A1 (de) Fehlersimulation zur bestimmung der pruefbarkeit von nichtlinearen integrierten schaltungen
DE2256135B2 (de) Verfahren und Anordnung zum Prüfen von monolithisch integrierten Halbleiterschaltungen
DE112004002008T5 (de) Vereinheitlichter Viterbi/Turbo-Decoder für mobile Telekommunikationssysteme
DE602004009784T2 (de) Datenkomprimierung
DE10196688B3 (de) Ein Decodierer für eine trellis-basierte Kanalcodierung
DE102005046588A1 (de) Vorrichtung und Verfahren zum Test und zur Diagnose digitaler Schaltungen
DE19542131B4 (de) Viterbi-Decoder
DE10335809B4 (de) Integrierte Schaltung mit einem zu testenden elektronischen Schaltkreis und Testsystem-Anordnung zum Testen der integrierten Schaltung
DE10010238C2 (de) Verfahren zum Speichern von Pfadmetriken in einem Viterbi-Decodierer
DE102007011801B4 (de) Schaltung zum Erzeugen eines Fehlercodierungsdatenblocks, Vorrichtung mit der Schaltung, Vorrichtung zum Erzeugen eines Fehlercodierungsdatenblocks

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection