DE4229666C2 - Wechselseitig arbeitende Divisionsschaltung - Google Patents

Wechselseitig arbeitende Divisionsschaltung

Info

Publication number
DE4229666C2
DE4229666C2 DE4229666A DE4229666A DE4229666C2 DE 4229666 C2 DE4229666 C2 DE 4229666C2 DE 4229666 A DE4229666 A DE 4229666A DE 4229666 A DE4229666 A DE 4229666A DE 4229666 C2 DE4229666 C2 DE 4229666C2
Authority
DE
Germany
Prior art keywords
division
coefficient data
registers
output signals
relevant
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE4229666A
Other languages
English (en)
Other versions
DE4229666A1 (de
Inventor
Masayuki Hattori
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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of DE4229666A1 publication Critical patent/DE4229666A1/de
Application granted granted Critical
Publication of DE4229666C2 publication Critical patent/DE4229666C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/726Inversion; Reciprocal calculation; Division of elements of a finite field

Description

Die Erfindung bezieht sich auf wechselseitig arbeitende Divisionsschaltungen und insbesondere auf eine euklidische Divisionsschaltung zur Ausführung einer euklidischen wechselseitigen Division.
Eine Vorrichtung und ein Verfahren für die Berechnung der multiplikativen Inversion von einem Galoisschen Feldelement in einer vektoriellen Anordnung sind beschrieben in US 4 989 171 A. Weiterhin sind eine Vorrichtung und ein Verfahren für die Teilung der Elemente von einem Galoisschen Feld, welche zur Dekodierung eines Fehlerkorrekturkodes benutzt werden können, aus US 45 74 361 A und US 4 975 867 A bekannt.
Wenn ein Fehlerkorrektursystem unter Verwendung eines Fehlerkorrekturcodes realisiert wird, wie er durch einen Bose- Chaundhuri-Hocquenghem-(BCH)-Code und einen Reed-Solomon-Code repräsentiert ist, spielt eine Einrichtung zur Erzielung eines Fehleranzeigepolynoms aus einem Syndrom, welches durch ein Empfangssignal erzeugt wird, die wichtigste Rolle.
Als Verfahren zur Realisierung dieses Prozesses ist weiterhin ein Verfahren unter Ausnutzung eines euklidischen wechselseitigen Divisionsalgorithmus bekannt.
Das euklidische wechselseitige Divisionsverfahren ist generell als ein Algorithmus bekannt, durch den der gemeinschaftlichste Teiler zweier Polynome erhalten wird. Beim Fehlerkorrekturcode kann das Fehleranzeigepolynom aus einem Syndrom durch sinnvolle Anwendung einer Rechenprozedur berechnet werden, die beim Prozeß des euklidischen wechselseitigen Divisionsverfahrens angewandt wird.
Der Rechenprozeß des euklidischen wechselseitigen Divisionsverfahrens weist den Vorteil auf, daß er auf einer systolischen Reihenarchitektur aufgebaut werden kann, in der er durch Kaskadierung einer Vielzahl relativ einfacher Recheneinheiten (nachstehend als "wechselseitig arbeitende Divisionseinheit" bezeichnet) realisiert werden kann.
Ein Beispiel, gemäß dem ein Algorithmus des euklidischen wechselseitigen Divisionsverfahrens mit Hilfe der systo­ lischen Reihen realisiert werden kann, ist von Howard M. Shao und anderen in einem Artikel mit der Bezeichnung "A VLSI Design of a Pipeline Reed-Solomon-Decoder" in der Zeitschrift IEEE Trans. on Computers Vol. C-34, Mai 1985 vorgeschlagen worden. Dieses Verfahren wird nachstehend als Verfahren A bezeichnet werden. Das Verfahren A hat den Nachteil, daß sein Algorithmus nicht perfekt ist und daß jede Einheit zwei Multiplizierer für ein endliches Feld benötigt. Wenn ein System, welches eine schnelle reale Verarbeitung benötigt, auf der Grundlage dieses Verfahrens A aufgebaut wird, ist somit dessen Schaltungsumfang ver­ größert.
Als verbesserte Verfahren gegenüber dem obigen Verfahren A ist bereits an anderer Stelle ein Verfahren vorgeschlagen worden (siehe nicht vorveröffentlichte US-A-5185711). Dieses vorgeschlagene Verfahren wird nachstehend als "Ver­ fahren B" bezeichnet werden. Das Verfahren B verwendet einen verbesserten Algorithmus gegenüber dem bei dem zuvor erwähnten Verfahren A angegebenen Algorithmus und ersetzt zwei Multiplizierer eines endlichen Feldes in der wechsel­ seitig arbeitenden Divisionseinheit durch einen Multipli­ zierer für ein endliches Feld und einen Teiler für ein endliches Feld. Ferner ersetzt das Verfahren B die endli­ chen Feld-Teiler, die in einer Vielzahl von kaskadierten wechselseitig arbeitenden Divisionseinheiten verwendet sind, durch einen Teiler für ein endliches Feld. Damit kann der Schaltungsumfang reduziert werden.
Das Verfahren B erfordert jedoch eine komplexe Steuerschal­ tung, die erforderlich ist für die gemeinsame Nutzung des Teilers für ein endliches Feld aus einer Vielzahl der wechselseitig arbeitenden Divisionseinheiten, so daß die Betriebsgeschwindigkeit nicht gesteigert werden kann. Ob­ wohl der Teiler für ein endliches Feld gemeinsam genutzt wird, benötigt darüber hinaus jede wechselseitige Divi­ sionseinheit eine Schaltung für eine Entscheidungsoperation vom Polynomgrad sowie eine Steuerschaltung, so daß der Schaltungsumfang ein wenig erhöht ist.
Das Verfahren B wird nachstehend im einzelnen beschrieben.
Zunächst wird eine Fehlerkorrekturtechnik beschrieben.
Dieses System ist nicht nur bezüglich einer Fehlerkorrektur wirksam, sondern außerdem bei allen Systemen, die benötigt werden zur Realisierung des euklidischen wechselseitigen Divisionsverfahrens mit hoher Geschwindigkeit. Das betref­ fende Verfahren wird in Anwendung auf das Fehlerkorrektur­ verfahren unter Anwendung des Reed-Solomon-Codes beschrie­ ben.
In der folgenden Beschreibung sind Exponenten durch unter­ strichene Buchstaben gekennzeichnet, denen das Zeichen "^" folgt, und Suffixe sind durch unterstrichene Buchstaben ohne solche Zeichen bezeichnet.
Es sei ein Fehlerkorrektursystem betrachtet, welches eine Codelängen aufweist, die einen Fehler von t Symbolen unter Heranziehung eines endlichen Feldes von GF (2^m) korrigieren kann. Es sei angenommen, daß a^m angibt, daß eine Fehleran­ zeige in der j-ten Position vorhanden ist, wobei der Code­ kopf in der 0-ten Position ausgewählt ist. Falls der Code insgesamt m Fehler aufweist, werden sodann die Gesamtfehler des Codes durch die Fehleranzeige Xi (i = 1, . . . ., m) und das Fehlermuster yi (i = 1, . . . m) beschrieben. Falls ins­ gesamt m (m ≦ 2t) Fehler vorhanden sind, bedeutet dies, daß m Sätze von (Xi, Yi) erforderlich sind.
Ein als Fehleranzeigepolynom σ(X) bekanntes Polynom wird unter Heranziehung dieser Fehleranzeige Xi (i = 1, . . ., m) definiert. Das Fehleranzeigepolynom σ(X) wird zu 0, falls die Fehleranzeige X = Xi^ - 1 ist, wobei i = 1, . . . m ist.
Der Koeffizient von σ(X) wird ausgedrückt als:
σ(X) = 1 + σ1X + σ2X2 + . . . σaXa (2)
Unter Heranziehung des Fehleranzeigepolynoms σ(X) und eines Syndrom-Polynoms S(X) ist ferner ein Fehlerbewertungs­ polynom ω(X) wie folgt definiert:
ω(X) = S(X)σ(R)(modX2t) (3)
Anschließend wird der Fehlerkorrekturprozeß in der Reihen­ folge von Schritten beschrieben.
Schritt 1
Es werden 2t Syndrome S, wie sie durch die folgende Gleichung (4) angegeben sind,
S = (S1 . S2, . . . S2 1)T (4)
als Produkt eines Empfangs- bzw. Aufnahmesignals r und einer Paritätsprüfmatrix H erhalten. Dies bedeutet, daß das Syndrom S wie folgt angegeben wird:
S = Hr (5)
Sodann sei ein als Syndrom-Polynom S(X) bezeichnetes Polynom definiert, das heißt das Syndrom S, welches so als Koeffizient eines Polynoms erhalten wird.
Schritt 2
Das Fehleranzeigepolynom σ(X) wird aus dem Syndrom-Polynom S(X) erhalten, bei dem der Algorithmus auf der Grundlage des euklidischen wechselseitigen Divisionsverfahrens ver­ wendet ist.
Schritt 3
Die Fehleranzeige X = Xi^ - 1 (wobei i = 1, . . . m ist) wird gesucht. Es dürfte einzusehen sein, daß durch Substitution sämtlicher Elemente X = α^0 . . . α^n - 1, die in GF(2^m) enthal­ ten sind, in σ(X) unter Heranziehung des Koeffizienten des Fehleranzeigepolynoms σ(X) die Position, bei der σ(X) = 0 erfüllt ist, die Fehleranzeige Xi ist (wobei i = 1, . . . m ist).
Schritt 4
Falls der Fehleranzeiger Xi (wobei i = 1, . . . m gilt) gegeben ist, wird sodann ein Fehlermuster Yi (wobei 1 = 1, . . . m gilt) unter Heranziehung des Fehlerbewertungs­ polynoms ω(X) wie folgt berechnet:
Schritt 5
Das empfangene Signal ist durch die Verwendung des Fehler­ anzeigers Xi (wobei i = 1, . . . m gilt) und eines Fehler­ musters Yi (wobei i = 1, . . . m gilt) somit fehler­ korrigiert.
Wie oben beschrieben, wird die Fehlerkorrektur durch die Prozesse gemäß den Schritten 1 bis 5 ausgeführt. Die Einzel­ heiten hierfür sind bereits in der oben erwähnten US-Patent­ anmeldung beschrieben worden.
Nachstehend wird ein Verfahren zur Ableitung eines Fehler­ anzeigepolynoms beschrieben werden. Dieses Ableitungsver­ fahren oder dieser Ableitungsprozeß ist dem Schritt 2 des obigen Fehlerkorrekturprozesses äquivalent. Ein Verfahren zur Ableitung des Fehleranzeigerpolynoms σ(X) unter Ver­ wendung des euklidischen wechselseitigen Divisionsalgorith­ mus ist wie folgt bekannt:
Ein Verfahren zur Ableitung eines Fehleranzeigepolynoms
Falls r-1(X) = X^2t und r0(X) = S(X) gilt, dann gilt deg(r0)X)) < deg(r-1(X)), da der Grad von S(X) der Grad von 2t - 1 ist.
Sodann wird die Division mit einem Polynom qi(X) als Quotient wiederholt durchgeführt, indem r-1(X) und r0(X) herangezogen werden. Diese Division stellt dieselbe Berech­ nung dar wie die euklidische wechselseitige Division, die wie folgt gegeben ist:
Zunächst werden die folgenden Berechnungen sequentiell ausgeführt:
r-1(X) = q1(X)r0(X) + r1(X), deg(r1(X)) < deg(r0(X))
r0(X) = q2(X)r1(X) + r2(X), deg(r2(X)) < deg(r1(X))
rj-2(X) = qj(X)rj-1(X) + rj(X), deg(rj(X)) < deg(rj-1(X)) (8)
Die Berechnung wird zu Ende gebracht, falls die folgende Bedingung erfüllt ist:
deg(rj(X)) < t - 1 (9)
Wenn zu diesem Zeitpunkt die Gleichungen r1(X), r2(X) . . . rj - 1(X) aufeinanderfolgend durch die nachstehenden Gleichungen stubstituiert werden, kann rj(X) unter Verwen­ dung von r-1(X) = X^2t, r0(X) = S(X), wie zuerst definiert, angegeben werden:

rj(X) = S(X)A(X) = X2tB(X) (10)
Die so erhaltenen Ausdrücke rj(X) und A(X) werden zu ω(X) bzw. zu σ(X).
Um diese Prozedur hardwaremäßig zu realisieren, ist anzu­ geben, wie qj(X) und rj(X) durch aufeinanderfolgendes Aus­ führen der Division erhalten wird, und außerdem ist anzu­ geben, wie zur Realisierung einer Prozedur vorzugehen ist, bei der die inverse Substitution ausgeführt wird, um σ(X) aus r1(X), r2(X), . . . rj - 1(X) zu berechnen, womit die Probleme gelöst werden.
Bei dem Prozeß des euklidischen wechselseitigen Divisions­ verfahrens ist es bekannt, daß als Ergebnis der Division eine Größenordnung des Restes um mehr als zwei Größenord­ nungen pro Division vermindert wird. Die Hardware-Architek­ tur, die die euklidische wechselseitige Division realisiert, muß in einem solchen Fall ohne Ausfall arbeiten.
Tatsächlich kann eine Reihe derartiger Prozeduren unter Heranziehung des folgenden systematischen Algorithmus reali­ siert werden, falls der oben erwähnte Algorithmus so neu bzw. umgeschrieben wird, daß die Rangfolge des gewöhnlichen euklidischen wechselseitigen Divisionsalgorithmus durch jede Rangordnung vermindert wird. Dieser Algorithmus stellt eine Verbesserung des vorangehenden Algorithmus der Anmel­ derin dar. Eine Zusammenfassung bezüglich dieses Algorithmus wird nachstehend beschrieben werden. In diesem Falle wird dieser Algorithmus als "verbesserter euklidischer wechsel­ seitiger Divisionsalgorithmus (2)" im Zuge der weiteren Beschreibung bezeichnet werden.
"Verbessertes euklidisches wechselseitiges Divisionsverfah­ ren (2)"
Die Ausgangsbedingungen für diesen verbesserten Algorithmus sind wie folgt gegeben:
R0(X) = S(X), Q0(X) = X2t
λ0(X) = 1, µ0(X) = 0
dR0 = 2t - 1, dQ0 = 2t (11)
Diese Bedingungen werden wiederholt.
Beim i-ten Schritt gilt
li-1(X) = dRi-1 - dQi-1 Festlegen des Koeffizienten der Ordnung (dRi-1) von Ri-1(X) auf ai-1. Festlegen des Koeffizienten der Rangordnung (dQi-1) von
Qi-1(X) auf bi-1 (12)
Im Falle von li - 1 < 0 (Normalbetrieb) kann die folgende Gleichung angegeben werden:
Ri(X) = Ri-1(X) + (ai-1/bi-1)Qi-1(X)X1i-1
λi(X) = λi-1(X) + (ai-1/bi-1i-1(X)X1i-1
Qi(X) = Qi-1(X)
µi(X) = µi-1(X)
dRi = dRi-1 - l
dQi = dQi-1 (13)
Im Falle von li - 1 < 0 und ai - 1 ≠ 0 (gekreuzter Betrieb) können die folgenden Gleichungen angegeben werden:
Ri(X) = Qi-1(X) + (ai-1/bi-1)Ri-1(X)X-1i-1
λi(X) = µi-1(X) + (ai-1/bi-1i-1(X)X-1i-1
Qi(X) = Ri-1(X)
µi(X) = λi-1(X)
dRi = dQi-1 - 1
dQi = dRi-1 (14)
Im Falle von li - 1 < 0 und ai-1 = (Verschiebebetrieb) können die folgenden Gleichungen angegeben werden:
Ri(X) = Ri-1(X)
λi(X) = λi-1(X)
Qi(X) = Qi-1(X)
µi(X) = µi-1(X)
dRi = dRi-1 - l
dQi = dQi-1 (15)
Stop-Bedingung
Falls dieser Prozeß 2t-mal wiederholt wird, wird er zu einem Ende gebracht.
i = 2t (16)
Dies führt zu:
σ(X) = λ2t(X)
ω(X) = R2t(X) (17)
Wenn der Rechenschritt 2t-mal ohne Ausfall als Stop-Be­ dingung ausgeführt wird, zeigt die Größe dR2t, die schließlich erhalten wird, ein Ausmaß von C(X) an.
Es erübrigt sich darauf hinzuweisen, daß die Rangordnung von σ(X) gegeben ist mit dR2t + 1. In Übereinstimmung mit diesem Algorithmus können die Größen σ(X) und ω(X) nach der 2t-mal ausgeführten Berechnung erhalten werden.
Wie in der US-Patentanmeldung, Serial No. 07/623 235 angegeben, gibt der Ausdruck dR2t schließlich die Rang­ ordnung von R2t(X) an, das heißt von ω(X). Falls die Berechnung im Normalbetrieb und im gekreuzten Betrieb ausgeführt wird, dann geben die Ausdrücke dRi und dQi während des Berechnungsvorgangs die Ordnungen von Ri(X) und Qi(X) an. Es sei jedoch darauf hingewiesen, daß im Verschiebebe­ trieb, bei dem der Koeffizient höchster Ordnung von Ri(X) zu 0 wird, die Ausdrücke dRi und dQi nicht die Ordnungen der Ausdrücke Ri(X) und Qi(X) angeben. Der Grund hierfür liegt darin, daß sogar dann, wenn die Rangordnung des Restes einer Division um mehr als zwei Ordnungen im euklidischen wechselseitigen Divisionsprozeß herabgesetzt ist, der Aus­ druck dRi um eins entsprechend dem Algorithmus vermindert ist, der in der US-Patentanmeldung, Serial No. 07/623 325 beschrieben ist. Bezüglich weiterer Einzelheiten sei auf diese US-Patentanmeldung hingewiesen.
Nachstehend wird ein Verfahren zur hardwaremäßigen Reali­ sierung des konventionellen euklidischen wechselseitigen Divisionsalgorithmus beschrieben.
Der oben angegebene Stand der Technik, der auf einen Artikel von Howard M. Shao und andere unter der Bezeichnung "A VLSI Design of a Pipeline Reed-Solomon Decoder" in der Zeitschrift IEEE Trans. on Computers, Vol. C-34, Mai 1985, zurückgeht, beschreibt ein Beispiel, bei dem der euklidische wechselseitige Divisionsalgorithmus hardwaremäßig unter Verwendung einer systolischen Reihenarchitektur realisiert ist (ein Verfahren dieses Beispiels ist als Verfahren A beschrieben).
Diese Hardware entspricht jedoch nicht dem Fall, daß die Ordnung des Restes während der entsprechend dem euklidischen wechselseitigen Divisionsverfahren ausgeführten Division um mehr als zwei Grade auf einmal herabgesetzt werden kann, und kann nicht den euklidischen wechselseitigen Divisions­ algorithmus vollständig realisieren.
Darüber hinaus benötigt das obige Verfahren A zwei Multipli­ zierer für ein endliches Feld in jeder Einheit, so daß ein Schaltungsumfang vergrößert ist, wenn ein System auf­ gebaut wird, welches eine Echtzeitverarbeitung mit hoher Geschwindigkeit erfordert.
Wie zuvor erwähnt, ist von der Anmelderin daher das Ver­ fahren B als verbessertes Verfahren vorgeschlagen worden.
Gemäß dem Verfahren B werden zwei Multiplizierer für ein endliches Feld in der wechselseitigen Divisionseinheit, wie sie beim Verfahren A gezeigt ist, durch einen Multipli­ zierer für ein endliches Feld und eine Dividiereinrichtung für ein endliches Feld ersetzt. Ferner wird eine Dividier­ einrichtung für ein endliches Feld gemeinsam für die Divi­ diereinrichtungen bezüglich eines endlichen Feldes in einer Vielzahl von kaskadierten wechselseitigen Divisionseinheiten verwendet, wodurch der Schaltungsumfang reduziert ist.
Das Verfahren B verwendet eine Grund-Recheneinheit (im Zuge der folgenden Beschreibung als "wechselseitige Divi­ sionseinheit" bezeichnet) 101, die in Fig. 7 gezeigt ist. Die betreffende wechselseitige Divisionseinheit 101 führt den Schritt 1 des oben erwähnten verbesserten euklidischen wechselseitigen Divisionsverfahrens (2) aus. Wie in Fig. 7 dargestellt, werden vier Polynome Ri - 1(X), Qi - 1(X), λi - 1(X) und µi - 1(X), die Eingangsgrößen des euklidischen wechsel­ seitigen Divisionsverfahrens sind, in Schritten nacheinan­ der in der Reihenfolge der Koeffizientendaten der Rang­ ordnung dQi- 1 eingegeben. In Fig. 7 bezeichnet die Bezugs­ angabe SF ein Start-Flag-Signal, welches die ersten Koeffi­ zientendaten anzeigt. Zur gleichen Zeit werden die Größen dRi - 1 und dQi - 1 der wechselseitigen Divisionseinheit 101 eingangsseitig zugeführt.
Die gestrichelten Linien in der wechselseitig arbeitenden Divisionseinheit 101 bezeichnen Datenweg-Umschaltwähler, welche Daten so auswählen, daß diese bei der Berechnung im gekreuzten Betrieb gekreuzt zugeführt werden. In anderen Fällen werden Daten nicht gekreuzt sondern ausgewählt. Dies bedeutet, daß dann, wenn die Koeffizientendaten der Ordnung dRi - 1 eingegeben werden (was bedeutet, daß das Start-Flag-Signal SF eingegeben wird), bestimmt wird, ob die Koeffizientendaten ai - 1 der Ordnung dRi - 1 in dem Aus­ druck Ri - 1(X) Null sind. Ein Überkreuzen der Daten erfolgt lediglich in dem Fall, daß li - 1 ≠ 0 ist und daß die Bedingung dRi - 1 < dQi - 1 erfüllt ist.
Wenn Daten überkreuzt zugeführt werden, wird ai - 1/bi - 1 in einem Register 102 festgehalten, während in anderen Fällen bi - 1/ai - 1 im Register 102 festgehalten wird. Somit werden sämtliche Koeffizientendaten der Polynome berechnet. Infolgedessen wird jedesmal dann, wenn Eingabedaten durch diese wechselseitige Divisionseinheit 101 einmal hindurch­ geleitet werden, ein Schritt des verbesserten euklidischen wechselseitigen Divisionsverfahrens (2) berechnet.
Demgemäß leitet in dem Fall, daß 2t wechselseitige Divi­ sionseinheiten 101 in Kaskade geschaltet sind, wie dies Fig. 8 veranschaulicht sind, und die folgenden Daten
R0(X) = S(X), Q0(X) = X2t
λ0(X) = 1, µ0(X) = 0
dR0 = 2t - 1, dQ0 = 2t (18)
eingegeben werden, die zweite wechselseitige Divisions­ einheit 101 ausgangsseitig die Größen σ(X) und ω(X) ab.
Unter Bezugnahme auf Fig. 9 bis 12 wird ein Beispiel der Arbeitsweise des Systems gemäß der US-Patentanmeldung, Serial No. 07/623 235 beschrieben werden. Bei diesem Bei­ spiel werden Daten im gekreuzten Betrieb gemäß Fig. 9 und 11 berechnet, während Daten im Normalbetrieb gemäß Fig. 10 und 12 berechnet werden. Es dürfte ersichtlich sein, daß dann, wenn Eingabedaten über die wechselseitige Divisionseinheit 101 viermal geleitet werden, wie dies in Fig. 12 veranschaulicht ist, die betreffende wechselseitige Divi­ sionseinheit 101 in der Endstufe die Größen σ(X) und ω(X) ableitet.
Wie aus dem oben erwähnten Algorithmus ersichtlich ist, werden offensichtlich zwei Polynome σ(X) und ω(X) zur höheren Ordnung hin verschoben und dann ausgegeben, nach­ dem die Berechnung der 2t-Schritte ausgeführt worden ist, falls es sich dabei um Polynome der 2t-Ordnung handelt, wenn die in der tatsächlichen Praxis auftretende Fehleran­ zahl kleiner ist als t. Demgemäß können Rangordnungen unter Bezugnahme auf den Wert von dR2t angepaßt werden, oder die Stop-Bedingung kann als dRi < t bei dem verbesserten euklidischen wechselseitigen Verfahren (2) variiert werden.
In Fig. 9 bis 12 sind Diagramme gezeigt, die zur Erläuterung lediglich der Theorie des euklidischen wechselseitigen Divisionsverfahrens herangezogen werden, bei dem Verzöge­ rungszeiten von Elementen oder dergleichen nicht berück­ sichtigt sind. Bezüglich weiterer Einzelheiten der Reali­ sierung der Verhältnisse gemäß Fig. 9 bis 12 wird auf das von der Anmelderin bereits vorgeschlagene verbesserte euklidische wechselseitige Divisionsverfahren Bezug ge­ nommen.
Entsprechend dem Verfahren B werden mit Rücksicht darauf, daß die Dividiereinrichtungen bzw. Teiler 103 für ein end­ liches Feld in den entsprechenden wechselseitigen Divisions­ einheiten 101 nicht gleichzeitig zu arbeiten brauchen, die wechselseitigen Divisionseinheiten 101a, in denen die Dividiereinrichtungen 103 für ein endliches Feld aus den obigen wechselseitigen Divisionseinheiten 101 entfernt sind, in Kaskade geschaltet. Sodann werden Ri - 1(X) und Qi - 1(X) von jeder wechselseitigen Divisionseinheit 101a erzeugt und dann sequentiell mit Hilfe eines Auswahlschal­ ters 105 ausgewählt, durch einen Teiler 106 für ein endliches Feld dividiert und dann zu der entsprechenden wechselseitigen Divisionseinheit 101a zurückgeführt. Damit teilen sich die wechselseitigen Divisionseinheiten 101a den gemeinsamen Teiler 106 bezüglich eines endlichen Feldes in einer Zeitmultiplexweise, wodurch die Verminderung des Gesamtschaltungsumfangs realisiert ist.
Demgegenüber wird eine Steuerschaltung kompliziert, die mit Rücksicht darauf erforderlich ist, daß eine Vielzahl von wechselseitigen Divisionseinheiten 101a sich einen gemeinsamen Teiler 106 bezüglich eines endlichen Feldes teilt, und deren Arbeitsgeschwindigkeit kann nicht gesteigert werden.
Da jede wechselseitig arbeitende Divisionseinheit 101a die Schaltung benötigt, welche den Betrieb dadurch be­ stimmt, daß ermittelt wird, ob die Ordnungen des Polynoms und der Koeffizientendaten der Ordnung Ri - 1(X) und dRi - 1 Null sind, sowie die Steuerschaltung, wie den Daten-Um­ schaltwähler oder dergleichen, ist, obwohl der Teiler 106 für ein endliches Feld gemeinsam genutzt wird, der Schal­ tungsumfang etwas erhöht.
Falls dieses Verfahren B angewandt wird, müssen darüber hinaus sodann die Syndrome S2t, S2t - 1, . . . S1, bei denen es sich um die Koeffizienten-Daten des Syndrom-Polynoms S(X) handelt, in der Reihenfolge der Koeffizienten-Daten höherer Ordnung eingegeben werden. Da die Syndrome S2t, S2t - 1, . . S1 gleichzeitig berechnet werden, wird es jedoch notwendig, eine Schaltungsanordnung bereitzustellen, welche die so gleichzeitig berechneten Syndrome derart umsetzt, daß sie in der Reihenfolge der Koeffizienten-Daten hoher Ordnung eingegeben werden.
Der Erfindung liegt demgemäß die Aufgabe zugrunde, eine verbesserte euklidische wechselseitig arbeitende Divisions­ schaltung bereitzustellen, bei der die zuvor erwähnten, mit dem Stand der Technik verknüpften Mängel und Nachteile eliminiert werden können.
Darüber hinaus soll eine euklidische wechselseitig arbeitende Divisionsschaltung bereitgestellt werden, deren Schaltungsumfang nennenswert vermindert werden kann.
Überdies soll eine euklidische wechselseitig arbeitende Divisionsschaltung bereitgestellt werden, die mit hoher Geschwindigkeit arbeiten kann.
Schließlich soll eine euklidische wechselseitig arbeitende Divisionsschaltung bereitgestellt werden, die einen Durchsatz beträchtlich verbessern bzw. steigern kann.
Gemäß einem Aspekt der vorliegenden Erfindung ist eine wechselseitig arbeitende Divisionsschaltung nach dem euklidischen Divisionalgorithmus geschaffen, die erste Recheneinheiten umfaßt, welche eine Vielzahl von in Kaskade geschalteten Registern umfassen, deren Anzahl der Anzahl von Korrekturen entspricht und die Koeffizienten-Daten entsprechender Polynome Ri(X), Qi(X), λi(X) und µi(X) nach dem Divisionalalgorithmus speichern, wobei die ersten Recheneinheiten dividierte Ergebnisse und ein Wert- Ausgangssignal von der vorhergehenden Stufe speichern, um eine Normalverbindungs-Berechnung bzw. eine Kreuzverbindungs- Berechnung in Abhängigkeit von einem Schaltbefehl auszuführen. Ferner sind zweite Recheneinheiten vorgesehen, die eine Vielzahl von Registern umfassen für die Speicherung der Koeffizienten- Daten der Polynome Ri(X), Qi(X), λi(X) und µi(X). Außerdem sind Teiler vorgesehen zum Teilen der Ausgangssignale der Register, die die Koeffizienten-Daten der Polynome Ri(X), Qi(X), λi(X) bzw. µi(X) speichern. Die zweiten Recheneinheiten speichern ein Wert- Ausgangssignal von der letzten Stufe der ersten Recheneinheiten und führen eine Divisionsberechnung aus der Normalverbindungs- Divisionsberechnung und einer Kreuzverbindungs- Divisionsberechnung auf einen Umschaltbefehl hin aus, um dadurch das berechnete Ergebnis an die ersten Berechnungseinheiten abzugeben. Ferner ist eine bzw. sind Umschalt-Entscheidungseinheiten für die Erzeugung des Umschaltbefehls vorgesehen, um eine Normal­ verbindung bzw. die gekreuzte Verbindung auf der Grundlage eines bestimmten Ausgangswertes und eines Wertes festzule­ gen, der in den zweiten Recheneinheiten gespeichert ist, und um den betreffenden Wert an die ersten und zweiten Recheneinheiten abzugeben.
Anhand von Zeichnungen wird die Erfindung nachstehend mit den ihr anhaftenden Merkmalen und Vorteilen beispielsweise näher erläutert. In den Zeichnungen sind einander ent­ sprechende oder ähnliche Einzelteile durch gleiche Bezugs­ zeichen bezeichnet.
Fig. 1 veranschaulicht in einem Blockdiagramm ein Beispiel einer euklidischen wechselseitig arbeitenden Divi­ sionsschaltung gemäß der vorliegenden Erfindung.
Fig. 2 bis 6 veranschaulichten Diagramme, deren jedes ein Bei­ spiel zeigt, in welchem die in Fig. 1 gezeigte euklidische wechselseitige Divisionsschaltung be­ trieben wird.
Fig. 7 veranschaulicht in einem Blockdiagramm ein Beispiel einer wechselseitigen Divisionseinheit, die in einer konventionellen euklidischen wechselseitig arbeitenden Divisionsschaltung verwendet ist.
Fig. 8 veranschaulicht in einem Blockdiagramm ein Beispiel einer konventionellen euklidischen wechselseitigen Divisionsschaltung.
Fig. 9 bis 12 zeigen in Diagrammen ein Beispiel, gemäß dem die in Fig. 8 gezeigte konventionelle euklidische wechselseitige Divisionsschaltung betrieben ist.
Fig. 13 zeigt in einem Blockdiagramm ein weiteres Beispiel der konventionellen euklidischen wechselseitig arbeitenden Divisionsschaltung.
Nunmehr wird die bevorzugte Ausführungsform detailliert unter Bezugnahme auf die Zeichnungen erläutert.
Entsprechend einem Verfahren gemäß einer Ausführungsform der vorliegenden Erfindung wird ein euklidisches wechsel­ seitig arbeitendes Divisionsverfahren vorgeschlagen, welches vollständig verschieden ist in der Anordnung von jenem, welches bisher vorgeschlagen worden ist, und welches den euklidischen wechselseitigen Divisionsalgorithmus durch eine vereinfachtere Schaltungskonfiguration realisieren kann.
Da entsprechend dem Verfahren gemäß der Erfindung zu tei­ lende Daten konstant von derselben Stelle erzeugt werden, sind die Schaltungsanordnung zur gemeinsamen Nutzung des Teilers für ein endliches Feld und die Steuerschaltung dafür nicht notwendig, und zwar ungleich der bekannten Anordnung. Da die Schaltungsanordnung zur Bestimmung der Arbeitsweise auf der Grundlage der Ordnung des Polynoms und die Steuerschaltung dafür durch eine einzige Schaltung realisiert sind, kann überdies der Schaltungsumfang ver­ mindert werden.
Das Verfahren C gemäß dieser Ausführungsform wird unter Bezugnahme auf Fig. 1 nunmehr beschrieben.
Wie in Fig. 1 gezeigt, umfaßt diese Anordnung einen Block (A) 1, eine Vielzahl von Blöcken (B) 2 sowie einen Ver­ bindungs-Umschaltentscheidungsblock 3. Der Block (A) 1 kann aus lediglich einer Einheit gebildet sein, und zwar unabhängig von der Zeitkorrekturzahl t, während der andere Block (B) 2 aus 2t - 1 Blöcken im Falle des Fehlerkorrektur­ systems gebildet sein muß, welches Fehler von t Symbolen korrigiert.
In diesen Blöcken (A) 1 und (B) 2 vorgesehene entsprechende Registergruppen sind in der Längsrichtung unterteilt und dienen als Registergruppen, die sequentiell Koeffizienten- Daten der Größen Ri(X), Qi(X), λi(X) und µi(X) von links festhalten, Höhere Koeffizienten-Daten werden in diesen Register-Gruppen entsprechend den Ordnungen festgehalten, die durch dRi und dQi bezeichnet sind.
Als Ausgangswerte werden die Koeffizienten-Daten von R0(X) = S(X) sequentiell in den Registern RR2t - 1 . . . RR0 ersetzt. In entsprechender Weise werden höhere Koeffizien­ ten-Daten von Q0(X) = X2t nacheinander in den Registern RQ2t - 1 . . . RQ0 ersetzt. Damit ist das höchstwertige Bit eine 1, und die übrigen Bits sind alle 0, was bedeutet, daß die Register Rλ2t . . . Rλ0 bei 0 gehalten werden und daß die niedrigste Ordnung Rµ0 bei 1 gehalten wird; die übrigen Register Rµ2t - 1 . . . Rµ0 werden alle bei 0 gehalten.
Eine 0 wird konstant dem Eingangsanschluß vom niederwerti­ gen Block des letzten Blocks des Blockes (B) 2 eingegeben.
Im Register RR2t - 1 gespeicherte Koeffizienten-Daten der Koeffizienten-Daten der Ordnung Ri von Ri(X) des Blocks (A) 1 wird mittels einer 0-Erfassungsschaltung bzw. 0-De­ tektorschaltung 5, die in dem Verbindungs-Umschaltblock 3 vorgesehen ist, hinsichtlich des Vorliegens einer 0 er­ mittelt.
Die Größen dRi und dQi sind in den Registern DR, DQ des Verbindungs-Umschaltblocks 3 gespeichert. Die Ausgangswerte sind 2t - 1 bzw. 2t.
Die Ausgangssignale der Register DR, DQ werden irgendeinem der Register DR, DQ über einen Umschaltwähler eingangsseitig zugeführt. Zu dem betreffenden Zeitpunkt wird -1 dem Ein­ gangswert hinzuaddiert, der dem Register DR eingangsseitig zugeführt ist. Der Umschaltwähler steuert die Normalver­ bindung und die gekreuzte Verbindung in Abhängigkeit von dem Umschaltbefehl einer Entscheidungsschaltung 8, und zwar ähnlich den Umschaltwählern der Blöcke (A) 1 und (B) 2, was weiter unten noch beschrieben wird.
Eine Spezialschaltung, welche die Ausgangswerte festlegt, ist zusätzlich zu der Schaltungsanordnung gemäß Fig. 1 erforderlich. Diese Spezialschaltung ist für die vorlie­ gende Erfindung nicht wesentlich und kann aus einer ein­ fachen Schaltung gebildet sein. Deshalb braucht diese Spe­ zialschaltung hier nicht beschrieben zu werden.
Nunmehr wird unter Bezugnahme auf Fig. 1 die Arbeitsweise dieser Ausführungsform beschrieben.
Wie in Fig. 1 veranschaulicht, werden die Werte der Re­ gister DR, DQ, bei denen die Anfangs- bzw. Ausgangswerte festgelegt worden sind, mittels einer Komparatorschaltung 6 verglichen. Falls die Beziehung DR < DQ erfüllt ist und der Status des Registers RR2t - 1 (RR2t - 1 ≠ 0) der Entschei­ dungsschaltung 8 von der 0-Detektorschaltung 5 her zuge­ führt ist, ist der Umschaltwähler sodann, wie durch eine gestrichelte Linie veranschaulicht, in die gekreuzte Stellung geschaltet. In anderen Fällen ist der Umschalt­ wähler nicht in der Kreuzbeziehung geschaltet. Auf das Umschalten hin können sämtliche Umschaltwähler gleichzeitig geschaltet werden.
Im Block (A) 1 werden nach Umschalten des Umschaltwählers die Koeffizientendaten der Ordnung dRi - 1 von Ri - 1(X) und die Koeffizientendaten der Ordnung Qi - 1 von Qi - 1(X) über den Umschaltwähler einem Teiler 7 für ein endliches Feld zugeführt. Der Teiler 7 für ein endliches Feld teilt die Eingangsgrößen E und F gemäß Fig. 1 und gibt ein Ergebnis S ab.
Unter Heranziehung des Ergebnisses S des Teilers 7 für ein endliches Feld wird die Berechnung mit Hilfe der Multi­ plizierer 9, 10 und der Addierer 11, 12 des Blocks (A) 1 und der entsprechenden Blöcke (B) 2 ausgeführt. Entsprechend dieser Prozedur werden im Polynom Ri(X) die Koeffizienten- Daten von den Koeffizienten-Daten der Ordnung dRi bis zu den Koeffizienten-Daten der 0-ten Ordnung in den Registern RR2t - 1 bis RR0 der Ordnung der höheren Koeffizienten-Daten gespeichert. In entsprechender Weise werden in den Polynomen Qi(X) die Koeffizienten-Daten von den Koeffizienten-Daten der Ordnung dQ2i bis zu den Koeffizienten-Daten der 0-ten Ordnung sequentiell in den Registern RQ2t bis RQ0 ge­ speichert. Außerdem werden in den entsprechenden Polynomen λi(X) und µi(X) in entsprechender Weise die betreffenden Koeffizienten-Daten sequentiell in den Registern Rλ2t - 1 bis Rλ0 und von den Registern Rµ2t - 1 bis Rµ0 in der Reihen­ folge bzw. Ordnung der höheren Koeffizienten-Daten ge­ speichert.
Durch die obige Prozedur wird die Berechnung des ersten Schritts bei dem verbesserten euklidischen wechselseitigen Divisionsverfahren (2) bewirkt. Falls diese Prozedur 2t mal wiederholt wird, können demgemäß σ(X) und ω(X) ähnlich wie beim Verfahren B erhalten werden.
Unter Bezugnahme auf Fig. 2 bis 6 werden Beispiele der Arbeitsweise der wechselseitig arbeitenden Divisionsschal­ tung gemäß der Erfindung beschrieben.
Die Register DR, DQ, RR2t - 1 bis RR0, RQ2t bis RQ0, Rλ2t - 1 bis Rλ0 und Rµ2t - 1 bis RRµ0 sind bereits initialisiert. Da gemäß Fig. 2 die Bedingung erfüllt ist, wonach die Koef­ fizienten-Daten der Ordnung dR0 von dR0 gleich 3, von dQ0 gleich 4 und R0(X) gekreuzt α^8 sind, sind sämtliche Umschaltwähler in den gekreuzten Betrieb geschaltet. Der Teiler 7 für ein endliches Feld bewirkt eine Division von 1/α^8, und ein Divisionsergebnis, α^7 wird den Multipli­ zierern 9 und 10 des Blockes (A) 1 bzw. der Blöcke (B) 2 eingangsseitig zugeführt.
Die berechneten Ergebnisse der entsprechenden Rechenein­ heiten werden in den Registern beim nächsten Schritt ge­ speichert und, wie in Fig. 3 veranschaulicht, erhalten. Diese Ergebnisse stimmen mit den Ergebnisse überein, die nach dem Verfahren B erhalten werden, wie dies in Fig. 2 veranschaulicht ist.
Gemäß Fig. 3 ist mit Rücksicht darauf, daß dR1 = 3 und dQ1 = 3 gilt, der Kreuzverbindungszustand nicht erfüllt, so daß sämtliche Umschaltwähler im Normalverbindungsbetrieb geschaltet sind. Demgemäß wird eine Berechnung von α^2/α^8 durch den Teiler 7 des endlichen Feldes ausgeführt, und ein Teilungsergebnis, das heißt α^9 wird den Multipli­ zierern 9 und 10 des Blockes (A) 1 und den betreffenden Blöcken (B) 2 eingangsseitig zugeführt. Sodann werden die durch die betreffenden Recheneinheiten abgegebenen Rechen­ ergebnisse in den Registern beim nächsten Schritt ge­ speichert und erhalten, wie dies in Fig. 4 veranschaulicht ist.
Gemäß Fig. 4 werden mit Rücksicht darauf, daß dR2 = 2 und dQ2 = 3 gilt, die Koeffizienten-Daten zweiter Ordnung von R2(X) zu α^6, so daß der Kreuzverbindungszustand erfüllt ist. Damit sind sämtliche Umschaltwähler im gekreuzten Verbindungszustand geschaltet, und es wird eine Berechnung von α^8/α^6 durch den Teiler 7 für ein endliches Feld ausgeführt. Sodann wird ein Teilungsergebnis, das heißt α^2 den Multiplizierern 9, 10 des Blockes (A) 1 und den betreffenden Blöcken (B) 2 eingangsseitig zugeführt. Die Rechenergebnisse, die durch die betreffenden Recheneinhei­ ten geliefert werden, werden beim nächsten Schritt in den Registern gespeichert und erhalten, wie dies in Fig. 5 veranschaulicht ist.
Gemäß Fig. 5 ist mit Rücksicht darauf, daß dR3 = 2 und dQ3 = 2 gilt, der Zustand der gekreuzten Verbindung nicht erfüllt, so daß sämtliche Umschaltwähler im Normalverbindungsbetrieb geschaltet sind. Damit wird die Berechnung von α^14/α^6 durch den Teiler 7 eines endlichen Feldes ausgeführt, und α^8 eines Teilungsergebnisses wird den Multiplizierern 9, 10 des Blockes (A) 1 und den betreffen­ den Blöcken (B) 2 eingangsseitig zugeführt. Die Rechener­ gebnisse der betreffenden Recheneinheiten werden beim nächsten Schritt in den Registern gespeichert und erhal­ ten, wie dies in Fig. 6 veranschaulicht ist.
Gemäß Fig. 6 wird mit Rücksicht darauf, daß dR4 = 1 und dQ4 = 2 gilt, die Größe dRi kleiner als t = 2. Deshalb ist die Berechnung beendet, und ω(X) und σ(X) sind be­ rechnet.
Wie in Fig. 2 und in den folgenden Zeichnungen veranschau­ licht, wird die Berechnung im gekreuzten Betrieb bei den ersten und dritten Schritten und im Normalbetrieb bei den zweiten und vierten Schritten ausgeführt, so daß σ(X) und ω(X) schließlich gemäß Fig. 6 erhalten werden.
Wie oben beschrieben, ist diese Ausführungsform von dem früher erwähnten Verfahren B verschieden hinsichtlich der wesentlichen Idee. Entsprechend dem Verfahren B werden die Koeffizienten-Daten der betreffenden Polynome insbe­ sondere seriell den wechselseitigen Divisionseinheiten 101 in der höheren Ordnung eingangsseitig zugeführt und durch diese Einheiten berechnet. Entsprechend dem Verfahren gemäß der vorliegenden Erfindung werden sämtliche Koeffizienten- Daten in den Registern DR, DQ, RR2t - 1 bis RR0, RQ2t bis RQ0, Rλ2t - 1 bis Rλ0 und Rµ2t - 1 bis RRµ0 gespeichert. In­ folgedessen werden bei der Berechnung eines Schrittes der verbesserten euklidischen wechselseitigen Divisionseinheit (2) entsprechend dem Verfahren B sämtliche Koeffizienten- Daten der Polynome seriell durch eine wechselseitige Divi­ sionseinheit 101 berechnet. Demgegenüber werden entsprechend dem Verfahren gemäß der Erfindung die Koeffizienten-Daten jeweils durch sämtliche Recheneinheiten (Block (A) 1 und entsprechende Blöcke (B) 2) berechnet. Obwohl der Rechen­ umfang selbst nicht verändert ist, kann somit die Aufbau­ methode erheblich vereinfacht werden.
Entsprechend dem Verfahren gemäß der vorliegenden Erfindung, wie es weiter oben unter Bezugnahme auf Fig. 1 beschrieben worden ist, werden ferner die Koeffizienten-Daten der Ord­ nung dRi von Ri(X) und die Koeffizienten-Daten der Ordnung dQi von Qi(X), die dem Teiler 7 für ein endliches Feld eingangsseitig zugeführt sind, in den Registern RR2t - 1 und RQ2t - 1 des Blockes (A) 1 gespeichert. Deshalb werden die Koeffizienten-Daten dem Teiler 7 für ein endliches Feld eingangsseitig konstant zugeführt, und zwar unmittel­ bar nach Umschalten der Wähler für Ri(X) und Qi(X) des Blocks (A) 1. Wie oben ausgeführt, wird entsprechend dem Verfahren gemäß der vorliegenden Erfindung mit Rücksicht darauf, daß Daten konstant dem Teiler 7 für ein endliches Feld von derselben Stelle eingangsseitig zugeführt werden, die zusätzliche Schaltung, die verwendet wird zur gemein­ samen Nutzung des Teilers 7 für ein endliches Feld unnötig, wodurch es möglich wird, den Umfang der Gesamtanordnung zu vermindern.
Während jede wechselseitige Divisionseinheit 101 selbstän­ dig die Schaltung enthalten muß, welche die Größe von dRi und dQi bestimmt und die außerdem 0 der Koeffizienten-Daten der Ordnung dRi von Ri(X) entsprechend dem Verfahren B ermittelt, wird entsprechend dem erfindungsgemäßen Verfahren die obige Verarbeitung lediglich durch den Verbindungsum­ schalt-Entscheidungsblock 3 ausgeführt, wodurch es ermög­ licht ist, den Schaltungsumfang zu reduzieren.
Während jede wechselseitige Divisionseinheit 101 zwei Multi­ plizierer erfordert, beispielsweise 4t Multiplizierer ins­ gesamt, falls die Anzahl der korrigierbaren Symbole mit t entsprechend dem Verfahren B gegeben ist, kann das Verfahren gemäß der vorliegenden Erfindung die Anzahl der Multiplizierer auf 4t - 1 vermindern.
Während auf die Initialisierung hin das Eingangssignal R0(X), das sind die Koeffizienten-Daten S1, S2, . . . S2t der Syndrom-Polynome in der sequentiellen Reihenfolge der höheren Koeffizienten-Daten entsprechend dem Verfahren eingegeben werden müssen, können entsprechend dem Verfahren gemäß der vorliegenden Erfindung die Koeffizienten-Daten der 2t-Syndrom-Polynome gleichzeitig eingegeben werden, wodurch die Initialisierung bewirkt wird.
Da die Syndrome als Ergebnis der Matrix-Rechnung erhalten werden, ist es wesentlich, daß die Syndrome gleichzeitig erhalten werden können. Während die Syndrome, die gleich­ zeitig erhalten werden, in serielle Daten umgesetzt und dann entsprechend dem Verfahren B eingegeben werden, können somit entsprechend dem Verfahren gemäß der Erfindung die Koeffizienten-Daten der so gleichzeitig erhaltenen Syndrome direkt, so wie sie sind, eingegeben werden, wodurch die Schaltungsanordnung beseitigt ist, welche die Syndrome in serielle Daten umsetzt. Falls zur gleichen Zeit die Syndrome in serielle Daten umgesetzt werden, ist es sodann möglich, eine Zunahme der Zeit (Durchsatz) bezüglich des Ergebnisses zu vermeiden.
Entsprechend dem Verfahren gemäß der vorliegenden Erfindung sind ferner verschiedene Verfahrensweisen bekannt, um die betreffenden Register DR, DQ, RR2t - 1 bis RR0, RQ2t - 1 bis RQ0, Rλ2t - 1 bis Rλ0 und Rµ2t - 1 bis RRµ0 zu initialisieren.
Falls Wähler mit den Eingängen der entsprechenden Register DR, DQ, RR2t - 1 bis RR0, RQ2t - 1 bis RQ0, Rλ2t - 1 bis Rλ0 und Rµ2t - 1 bis RRµ0 verbunden sind, können sodann sämtliche Register gleichzeitig initialisiert werden. Wenn demgegen­ über die Ausgangswerte der entsprechenden Polynome seriell den Registern niedrigster Ordnung der Polynome eingangs­ seitig zugeführt werden, können sodann die obigen Register sequentiell initialisiert werden.
Wie oben ausgeführt, kann entsprechend der vorliegenden Erfindung der Umfang der Schaltung erheblich vermindert werden. Außerdem wird der schnelle Betrieb möglich, um den Durchsatz erheblich zu steigern.
Die vorliegende Erfindung ist somit auf eine wechselseitig arbeitende Divisionsschaltung gerichtet, deren Schaltungs­ umfang erheblich herabgesetzt werden kann und die außerdem mit hoher Geschwindigkeit betrieben werden kann, wodurch der Durchsatz erheblich gesteigert wird. Ein Umschaltbefehl, der entweder eine Normalverbindung oder eine gekreuzte Verbindung auswählt, wird auf der Grundlage eines Ausgangs­ wertes erzeugt, der zuvor durch einen Verbindungs-Umschalt- Entscheidungsblock (3) und einen Wert festgelegt wird, der in einem Register eines Blocks ((A) 1) gespeichert ist. Parallel zu dieser Arbeitsweise werden Teilungs-Ergeb­ nisse und ein von der vorhergehenden Stufe abgegebener Wert in entsprechenden Blöcken ((B) 2) gespeichert, und es werden eine Normalverbindungs-Berechnung und eine Kreuzverbindungs-Berechnung in Abhängigkeit von dem Um­ schaltbefehl ausgeführt. Ferner wird ein von der letzten Stufe der Blöcke ((B) 2) abgegebener Wert im Block ((A) 1) gespeichert, und in Abhängigkeit vom Schaltbefehl wird eine Berechnung der Normalverbindungs-Berechnung und der Kreuzverbindungs-Berechnung ausgeführt. Sodann wird das Rechenergebnis den betreffenden Blöcken ((B) 2) zugeführt, um eine euklidische wechselseitige Divisionsberechnung zu bewirken.

Claims (5)

1. Wechselseitig arbeitende Divisionsschaltung nach dem euklidischen Divisionsalgorithmus, dadurch gekennzeichnet,
  • a) daß eine erste Recheneinrichtung (1, 2) mit einer Vielzahl von in Kaskade geschalteten Registern vorgesehen ist, deren Anzahl der Anzahl von Korrekturen entspricht und in denen Koeffizienten-Daten von entsprechenden Polynomen Ri(X), Qi(X), λi(X) und µi(X) nach dem Divisionsalgorithmus gespeichert werden, wobei die betreffende erste Recheneinrichtung (1, 2) Teilungsergebnisse und einen Wert speichert, der von der vorangehenden Stufe ausgegeben worden ist, und eine Normalverbindungs-Berechnung bzw. eine Kreuzverbindungs- Berechnung in Abhängigkeit von einem Schaltbefehl ausführt,
  • b) daß eine zweite Recheneinrichtung (1, 2) mit einer Vielzahl von Registern vorgesehen ist für die Speicherung der Koeffizienten-Daten der betreffenden Polynome Ri(X), Qi(X), λi(X) und µi(X) und Teiler (7) für die Teilung von Ausgangssignalen der betreffenden Register, in denen die Koeffizienten-Daten der Polynome Ri(X), Qi(X), λi(X) und µi(X) gespeichert sind,
wobei die betreffende zweite Recheneinrichtung einen Wert speichert, der von der letzten Stufe der ersten Recheneinrichtung (1, 2) abgegeben ist, und eine Berechnung der Normalverbindungs-Divisionsberechnung, und einer Kreuzverbindungs-Divisionsberechnung auf einen Schaltbefehl hin derart ausführt, daß das Rechenergebnis der ersten Recheneinrichtung (1, 2) zugeführt wird,
und daß eine Umschalt-Entscheidungseinrichtung (3) vorgesehen ist für die Erzeugung des betreffenden Umschaltbefehls zur Festlegung der Normalverbindung bzw. der Kreuzverbindung auf der Grundlage eines vorbestimmten Ausgangswertes eines in der zweiten Recheneinrichtung (1, 2) gespeicherten Wertes, wobei die betreffende Entscheidungseinrichtung (3) den Umschaltbefehl an die ersten und zweiten Recheneinrichtungen (1, 2) abgibt.
2. Divisionsschaltung nach Anspruch 1, dadurch gekennzeichnet, daß die 2t - 1 ersten Recheneinrichtungen (1, 2) in dem Fall in Kaskade geschaltet sind, wenn die Korrekturzahl t beträgt.
3. Divisionsschaltung nach Anspruch 1, dadurch gekennzeichnet, daß die erste Recheneinrichtung (1, 2) Multiplizierer (9, 10) zum Multiplizieren von Ausgangssignalen der genannten Register umfaßt, in denen Koeffizienten-Daten des Polynoms Ri(X) (oder Qi(X)) und Teilungsergebnisse der genannten Teiler (7) gespeichert sind,
daß Addierer (11, 12) zum Addieren der Ausgangssignale der betreffenden Register vorgesehen sind, in denen Koeffizienten- Daten des genannten Polynoms Qi(X) (oder Ri(X)) und die Ausgangssignale der betreffenden Multiplizierer (11, 12) gespeichert sind,
daß Multiplizierer (9, 10) vorgesehen sind zum Multiplizieren der Ausgangssignale der betreffenden Register, in denen die Koeffizienten-Daten des Polynoms λi(X) (oder µi(X)) und Teilungs-Ausgangssignale der betreffenden Teiler gespeichert sind,
und daß Addierer (11, 12) vorgesehen sind zum Addieren der Ausgangssignale der Register, in denen die Koffizienten-Daten des Polynoms µi(X) (oder λi(X)) und die Ausgangssignale der betreffenden Multiplizierer (9, 10) gespeichert sind.
4. Divisionsschaltung nach Anspruch 1, dadurch gekennzeichnet, daß die zweite Recheneinrichtung (1, 2) Multiplizierer (9, 10) umfaßt zum Multiplizieren der Ausgangssignale der Register, in denen Koeffizienten-Daten des Polynoms λi(X) (oder µi(X)) und Teilungs-Ausgangssignale der betreffenden Teiler gespeichert sind, und daß Addierer (11, 12) vorgesehen sind zum Addieren der Ausgangssignale der Register, in denen Koeffizienten-Daten des Polynoms µi(X) (oder λi(X)) und Ausgangssignale der Multiplizierer (9, 10) gespeichert sind.
5. Divisionsschaltung nach Anspruch 1, dadurch gekennzeichnet, daß die Umschalt- Entscheidungseinrichtung (3) zwei Register (DR, DQ) zum Speichern von Ordnungs-Daten dRi und dQi, eine Vergleichseinrichtung (6) zum Vergleichen der Ausgangssignale der beiden Register (DR, DQ), eine Erfassungseinrichtung (5) zur Feststellung, ob das Ausgangssignal des Registers, das Koeffizienten-Daten des Polynoms Ri(X) der zweiten Recheneinrichtung (1, 2) speichert Null ist, und eine Entscheidungseinrichtung (8) umfaßt für die Erzeugung des Umschaltbefehls zur Festlegung der gekreuzten Verbindung mit der ersten und zweiten Recheneinrichtung (1, 2) in dem Fall, daß dR1 < DQi erfüllt ist und Koeffizienten-Daten des Polynoms Ri(X) nicht Null sind, und zwar auf der Grundlage eines Vergleichs- Ergebnisses der genannten Vergleichseinrichtung (6) und eines ermittelten Ergebnisses der genannten Erfassungseinrichtung (5).
DE4229666A 1991-09-06 1992-09-04 Wechselseitig arbeitende Divisionsschaltung Expired - Lifetime DE4229666C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25418391A JP3232602B2 (ja) 1991-09-06 1991-09-06 ユークリッドの互除回路

Publications (2)

Publication Number Publication Date
DE4229666A1 DE4229666A1 (de) 1993-03-11
DE4229666C2 true DE4229666C2 (de) 2001-06-07

Family

ID=17261388

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4229666A Expired - Lifetime DE4229666C2 (de) 1991-09-06 1992-09-04 Wechselseitig arbeitende Divisionsschaltung

Country Status (4)

Country Link
US (1) US5367478A (de)
JP (1) JP3232602B2 (de)
DE (1) DE4229666C2 (de)
GB (1) GB2259378B (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442578A (en) * 1991-12-12 1995-08-15 Sony Corporation Calculating circuit for error correction
JP2694792B2 (ja) * 1993-01-27 1997-12-24 日本電気株式会社 誤り位置多項式演算回路
JP2605966B2 (ja) * 1993-02-12 1997-04-30 日本電気株式会社 誤り訂正回路
DE69414631T2 (de) * 1993-03-31 1999-04-08 Toshiba Kawasaki Kk Schaltung zur Durchführung des Euclidschen Algorithmus bei der Dekodierung Arithmetischer Kodes
US5615220A (en) * 1995-01-31 1997-03-25 Philips Electronics North America Corporation Polynomial divider which can perform Euclid's Algorithm to produce an error locator polynomial from an error syndrome polynomial, and apparatus including the polynomial divider
US5975893A (en) 1997-06-20 1999-11-02 Align Technology, Inc. Method and system for incrementally moving teeth
AU744385B2 (en) * 1997-06-20 2002-02-21 Align Technology, Inc. Method and system for incrementally moving teeth
US6802713B1 (en) 1998-10-08 2004-10-12 Align Technology, Inc. Defining tooth-moving appliances computationally
US6572372B1 (en) 2000-04-25 2003-06-03 Align Technology, Inc. Embedded features and methods of a dental appliance
US6454565B2 (en) 2000-04-25 2002-09-24 Align Technology, Inc. Systems and methods for varying elastic modulus appliances
US7245977B1 (en) 2000-07-20 2007-07-17 Align Technology, Inc. Systems and methods for mass customization
US7383198B1 (en) 2000-07-24 2008-06-03 Align Technology, Inc. Delivery information systems and methods
US7092784B1 (en) 2000-07-28 2006-08-15 Align Technology Systems and methods for forming an object
US7040896B2 (en) 2000-08-16 2006-05-09 Align Technology, Inc. Systems and methods for removing gingiva from computer tooth models
US6386878B1 (en) 2000-08-16 2002-05-14 Align Technology, Inc. Systems and methods for removing gingiva from teeth
US6497574B1 (en) 2000-09-08 2002-12-24 Align Technology, Inc. Modified tooth positioning appliances and methods and systems for their manufacture
US6607382B1 (en) * 2000-09-21 2003-08-19 Align Technology, Inc. Methods and systems for concurrent tooth repositioning and substance delivery
US6726478B1 (en) 2000-10-30 2004-04-27 Align Technology, Inc. Systems and methods for bite-setting teeth models
US6783360B2 (en) 2000-12-13 2004-08-31 Align Technology, Inc. Systems and methods for positioning teeth
US6979196B2 (en) 2002-06-21 2005-12-27 Align Technology, Inc. Systems and methods for automated bite-setting of tooth models
US8899976B2 (en) 2004-09-24 2014-12-02 Align Technology, Inc. Release agent receptacle
US20070092853A1 (en) * 2005-10-24 2007-04-26 Liu Frank Z Multi-layer casting methods and devices
US20060115785A1 (en) 2004-11-30 2006-06-01 Chunhua Li Systems and methods for intra-oral drug delivery
FR2897964B1 (fr) * 2006-02-28 2017-01-13 Atmel Corp Procede de calcul numerique incluant la division euclidienne
US8172569B2 (en) 2008-06-12 2012-05-08 Align Technology, Inc. Dental appliance

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4574361A (en) * 1982-06-15 1986-03-04 Tokyo Shibaura Denki Kabushiki Kaisha Apparatus for dividing the elements of a Galois field
US4975867A (en) * 1987-06-26 1990-12-04 Digital Equipment Corporation Apparatus for dividing elements of a Galois Field GF (2QM)
US4989171A (en) * 1988-10-18 1991-01-29 U.S. Philips Corporation Data processing method and apparatus for calculating a multiplicatively inverted element of a finite field

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3377029D1 (en) * 1982-06-15 1988-07-14 Toshiba Kk Apparatus for dividing the elements of a galois field
WO1985003371A1 (en) * 1984-01-21 1985-08-01 Sony Corporation Circuit for calculating finite fields

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4574361A (en) * 1982-06-15 1986-03-04 Tokyo Shibaura Denki Kabushiki Kaisha Apparatus for dividing the elements of a Galois field
US4975867A (en) * 1987-06-26 1990-12-04 Digital Equipment Corporation Apparatus for dividing elements of a Galois Field GF (2QM)
US4989171A (en) * 1988-10-18 1991-01-29 U.S. Philips Corporation Data processing method and apparatus for calculating a multiplicatively inverted element of a finite field

Also Published As

Publication number Publication date
DE4229666A1 (de) 1993-03-11
JP3232602B2 (ja) 2001-11-26
GB2259378B (en) 1995-08-23
GB9218875D0 (en) 1992-10-21
GB2259378A (en) 1993-03-10
JPH0567981A (ja) 1993-03-19
US5367478A (en) 1994-11-22

Similar Documents

Publication Publication Date Title
DE4229666C2 (de) Wechselseitig arbeitende Divisionsschaltung
DE4241903C2 (de) Euklidische wechselseitige Divisionsschaltung
DE19747774B4 (de) Reed-Solomon-Decoder zur Verwendung beim verbesserten Fernsehen (ATV)
EP0123921B1 (de) Parallelverknüpfungsschaltung mit verkürztem Übertragsdurchlauf
DE69834542T2 (de) Hardwareoptimierter reed-solomon-decoder zur decodierung grosser datenblöcke
DE4302898C2 (de) Arithmetische Recheneinheit mit Akkumulierfunktion
DE19758079A1 (de) Verfahren und Vorrichtung zur Galoisfeld-Multiplikation
DE2063199B2 (de) Einrichtung zur Ausführung logischer Funktionen
DE10219158B4 (de) Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Multiplikation
DE3702697C2 (de)
DE3447634C2 (de)
DE1449334A1 (de) Datenverarbeitungsanlage
DE3918886C2 (de) Rücksetzanordnung in einer Datenverarbeitungseinheit
DE19644688B4 (de) Schaltungsanordnung einer digitalen Multiplizierer-Baugruppe, zur Verarbeitung von Binärzahlen sowie Elementen aus GF(2m)
DE69332937T2 (de) Korrekturverfahren für verlorengegangene Daten und Schaltung dafür
DE102006013989A1 (de) Verfahren zur Reduktion eines Polynoms in einem binären finiten Feld
DE10200133B4 (de) Verfahren und Vorrichtung zur Berechnung von Modulo-Operationen
EP0130397A1 (de) Digitales Rechenwerk
EP0267499B1 (de) Verfahren zur Paritätsbitermittlung und zur Überwachung der Übertragung beim Datenschieben sowie Schaltungsanordnung zur Durchführung der Verfahren
EP0294540B1 (de) Verfahren zur zweidimensionalen diskreten inversen Cosinus-Transformation
EP0825523B1 (de) Verfahren und Schaltung zur Multiplikation eines Multiplikanden und eines Multiplikators nach dem Booth-Verfahren in iterativen Schritten
DE102015118668B4 (de) Fehlerkorrektur
DE2140858C3 (de) Paritätsbit- Vorhersage schaltung für eine Stellenverschiebeeinrichtung
DE3823722A1 (de) Multiplizierer
EP0996231B1 (de) Verfahren und Anordnung zum Erzeugen von fehlergesicherten Datenblöcken durch Erzeugen von Paritätsworten und Datenträger mit gemäss dem Verfahren erzeugten Datenblöcken

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
R071 Expiry of right
R071 Expiry of right