DE19746076A1 - Schaltung und Verfahren zur Modulo-Adresserzeugung mit verkleinerter Schaltungsfläche - Google Patents

Schaltung und Verfahren zur Modulo-Adresserzeugung mit verkleinerter Schaltungsfläche

Info

Publication number
DE19746076A1
DE19746076A1 DE19746076A DE19746076A DE19746076A1 DE 19746076 A1 DE19746076 A1 DE 19746076A1 DE 19746076 A DE19746076 A DE 19746076A DE 19746076 A DE19746076 A DE 19746076A DE 19746076 A1 DE19746076 A1 DE 19746076A1
Authority
DE
Germany
Prior art keywords
value
address
address value
incremented
sign bit
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
DE19746076A
Other languages
English (en)
Inventor
Min-Joong Rim
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE19746076A1 publication Critical patent/DE19746076A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing
    • G06F9/3552Indexed addressing using wraparound, e.g. modulo or circular addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Complex Calculations (AREA)

Description

Die Erfindung betrifft eine Schaltung und ein Verfahren zur Modulo-Adreßerzeugung, die bei der Adreßerzeugung eine geringere Verzögerung aufweist und die weniger Fläche zur Implementierung auf einem integrierten Halbleiterchip benötigt.
Im allgemeinen wird die Modulo-Adressierung bei digitalen Signalprozessoren (DSPs) verwendet, um einen DSP-Algo­ rhithmus effizient auszuführen, wie zum Beispiel eine digitale Filterung.
Die Modulo-Adressierung ist im wesentlichen ein Umlaufadressierungsverfahren. Die einfachste Art der Modulo-Adressierung kehrt zu einer Basisadresse (B) zurück, wenn durch Inkrementieren einer aktuellen Adresse (A) um ein vorbestimmtes Adreßinkrement (I) eine festgelegte maximale Adresse bzw. Maximaladresse (M) erreicht wird. Auf den gleichen Datenbereich wird daher wiederholt zugegriffen. Die Modulo-Adressierung kann daher bei einem DSP-Algorithmus so implementiert werden, daß mit hoher Geschwindigkeit und mit einem geringen zusätzlichen Zeitaufwand bei der Adreßerzeugung wiederholt auf Daten zugegriffen wird, die in einem speziellen Bereich lokalisiert sind, wie zum Beispiel Filterkoeffizientendaten. Das Adreßinkrement I kann zur Inkrementierung der Adresse A entweder positiv oder zur Dekrementierung der Adresse A negativ sein.
Noch allgemeiner gesprochen kann, wenn man annimmt, daß ein festgelegter Datenbereich durch die Maximaladresse M und die Minimaladresse B festgelegt ist, der Modulo-Algorithmus für die nächste Adresse NEXT_A wie unten beschrieben dargestellt werden.
Falls als erstes I ≧ 0 und A + I ≦ M, dann kann die nächste Adresse NEXT_A dargestellt werden durch NEXT A = A + I. Falls umgekehrt I ≧ 0 und A + I < M, dann kann die nächste Adresse NEXT_A wie folgt dargestellt werden:
NEXT_A = A + I - (M - B + 1) (1)
wobei M ≧ A ≧ B und I < M - B + 1.
Ähnlich, wenn I < 0 und A + I ≧ B, dann wird die nächste Adresse NEXT_A dargestellt durch NEXT_A = A + I. Falls jedoch I < 0 und A + I < B, dann wird die nächste Adresse NEXT_A wie folgt ausgedrückt:
NEXT_A = A + I + (M - B + 1) (2)
wobei M ≧ A ≧ B und |1| < M - B + 1.
Die Implementierung der obigen Gleichungen (1) und (2) erfordert jedoch typischerweise eine Schaltung mit in Reihe verschalteten, mehrstufigen Addieren. Dies hat den Nachteil, daß die Modulo-Adreßerzeugungsfunktion aufgrund der Verzögerung, die durch die aufeinanderfolgend arbeitenden, mehrstufigen Addierer verursacht wird, bei einem digitalen Signalprozessor mit hoher Geschwindigkeit ein kritischer Weg werden kann. Um die durch die mehrstufigen Addierer verursachten Verzögerungen zu vermeiden, wurden Schaltungen konstruiert, wie die in Fig. 2 dargestellte Modulo-Adreßschaltung 100, die anstatt von mehrstufigen Addierern Addierer mit hoher Geschwindigkeit verwenden.
Die Modulo-Adreßschaltung 100 besteht aus einem ersten Addierer 11, der die aktuelle Adresse A und das Adreßinkrement I addiert und ein resultierendes Summensignal A ausgibt. Zwei Multiplexer 12 und 13 (MUXs) sind eingeschlossen, um in Abhängigkeit vom Vorzeichenbit sign(I) des Adreßinkrements I entweder die Maximaladresse M oder die Minimaladresse B auszuwählen und auszugeben. Ein Invertierer INV invertiert den Ausgang vom ersten Multiplexer 12 und gibt das resultierende Signal b in einen zweiten Addierer 14 ein, der das Ausgangssignal a des ersten Addierers, das Ausgangssignal b des Invertierers und das Vorzeichenbit sign(I) addiert, um ein Ausgangssignal d zu erzeugen. Ein dritter Addierer 15 addiert das Ausgangssignal d vom zweiten Addierer, das Ausgangssignal c vom zweiten Multiplexer 13 und das Vorzeichenbit sign(I), um ein Ausgangssignal e zu erzeugen. Ein XNOR-Gate 16 (Äquivalenz-Funktions-Gate) führt mit dem Vorzeichenbit sign(I) und dem Vorzeichen des Ausgangssignals d vom Addierer 14 (sign(d)) eine exklusive NOR-Operation durch, um bei einem Multiplexer 17 die Auswahl entweder des Ausgangssignals a vom ersten Addierer oder des Ausgangssignals e vom dritten Addierer zu steuern.
Um die Funktion der Modulo-Adreßschaltung 100 zu verstehen, sollte beachtet werden, daß wenn I ≧ 0 und A + I < M, die obige Gleichung (1) wie folgt geschrieben werden kann:
NEXT_A = A + I - (M - B + 1);
= A + I - M + B - 1;
= A + I + (inv(M) + 1) + B - 1;
= A + I + inv(M) + B. (3)
In Gleichung (3) bezeichnet inv(M) das Einerkomplement von M und in der Zweierkomplementdarstellung ist -M = inv(M) + 1. Die Beziehung A + I < M kann daher als A + I + inv(M) ≧ 0 ausgedrückt werden. Man beachte ebenfalls, daß das Vorzeichenbit sign(I) = 0 an den Eingängen der Addierer 14 und 15 ist.
Analog, falls I < 0 und A + I < B, dann kann obige Gleichung (2) wie folgt dargestellt werden.
NEXT_A = A + I + (M - B + 1);
= A + I + M + (inv(B) + 1) + 1. (4)
In Gleichung (4) bezeichnet inv(B) das Einerkomplement von B und die Gleichung A + I < B kann als A + I + inv(B) < 0 dargestellt werden.
Der durch die Modulo-Adressierungsschaltung 100 implementierte Algorithmus kann dann wie folgt dargestellt werden:
a = A + I;
b = inv(M), wenn sign(I) = 0, oder
b = inv(B), wenn sign(I) = 1;
c = B, wenn sign(I) = 0, oder
c = M, wenn sign(I) = 1;
d = a + b + sign(I);
e = d + c + sign(I);
NEXT_A = a, wenn (sign(I) XNOR sign(d)) = 0, oder
NEXT_A = e, wenn (sign(I) XNOR sign(d)) = 1. (5)
Unter Verwendung von nur drei Addierern mit hoher Geschwindigkeit und ein wenig zusätzlicher Schaltungslogik kann die oben beschriebene Modulo-Adressierungsschaltung 100 implementiert werden. Der Nachteil der anhand der Modulo-Adressierungsschaltung 100 dargestellten Lösung ist jedoch die vergrößerte Chipfläche, die zur Konstruktion der drei Hochgeschwindigkeits-Addierer 11, 14 und 15 erforderlich ist.
Es ist daher Aufgabe der Erfindung einen Modulo-Adreß­ erzeuger und ein Verfahren vorzusehen, die bei ihrer Implementierung weniger Chipfläche benötigen und eine geringere Schaltungsverzögerung hervorrufen.
Die vorstehende Aufgabe wird durch den Modulo-Adreßerzeuger Vorrichtung nach Anspruch 1 beziehungsweise das Verfahren nach Anspruch 4 gelöst.
Ein Ausführungsbeispiel des Modulo-Adreßerzeugers der Erfindung schließt einen Addierer ein, der einen aktuellen Adreßwert und einen Adreßinkrementwert empfängt und diese addiert, um einen inkrementierten Adreßwert zu erzeugen. Der Erzeuger schließt ebenfalls eine Addierer-/Subtra­ hierer-Schaltung ein, die den inkrementierten Adreßwert, einen Datenbereichgrößenwert, der einem zu adressierenden Datenbereich entspricht, und ein Vorzeichenbit des Adreßinkrementwerts empfängt, wobei die Addierer-/Subtrahierer-Schaltung den Datenbereichgrößenwert zum inkrementierten Adreßwert hinzuaddiert, wenn das Vorzeichenbit ein negativer Wert ist (d. h., einen negativen Wert anzeigt), und den Datenbereichgrößenwert vom inkrementierten Adreßwert subtrahiert, wenn das Vorzeichenbit ein positiver Wert ist (d. h., einen positiven Wert anzeigt), um einen überarbeiteten Adreßwert zu erzeugen. Eine Ausgangsauswahlschaltung empfängt dann den inkrementierten Adreßwert, den Datenbereichgrößenwert und das Vorzeichenbit und wählt für einen nächsten Adreßwert den inkrementierten Adreßwert aus, falls das Vorzeichenbit positiv und der überarbeitete Adreßwert kleiner als ein Minimaladreßwert des Datenbereichs ist, wählt für den nächsten Adreßwert den überarbeiteten Adreßwert aus, wenn das Vorzeichenbit positiv und der überarbeitete Adreßwert größer oder gleich dem Minimaladreßwert des Datenbereichs ist, wählt für den nächsten Adreßwert den überarbeiteten Adreßwert aus, wenn das Vorzeichenbit negativ und der inkrementierte Adreßwert kleiner als der Minimaladreßwert des Datenbereichs ist, und wählt für den nächsten Adreßwert den inkrementierten Adreßwert aus, wenn das Vorzeichenbit negativ und der inkrementierte Adreßwert größer oder gleich dem Minimaladreßwert des Datenbereichs ist.
Ein Ausführungsbeispiel eines Verfahrens für eine Modulo-Adreß­ erzeugung gemäß der Erfindung schließt das Addieren eines Adreßinkrementwerts und eines aktuellen Adreßwerts ein, um einen inkrementierten Adreßwert zu erzeugen. Das Verfahren schließt ebenfalls in Abhängigkeit eines Datenbereichs das Addieren eines Datenbereichgrößenwerts zum inkrementierten Adreßwert, um einen überarbeiteten Adreßwert zu erzeugen, wenn ein Vorzeichenbit des Adreßinkrementwerts ein negativer Wert ist, und das Subtrahieren des Datenbereichgrößenwerts vom inkrementierten Adreßwert ein, um einen überarbeiteten Adreßwert zu erhalten, wenn das Vorzeichenbit des Adreßinkrementwerts ein positiver Wert ist. Das Verfahren schließt weiterhin das Auswählen des inkrementierten Adreßwerts als Vergleichswert, wenn das Vorzeichenbit ein negativer Wert ist, und das Auswählen des überarbeiteten Adreßwerts als Vergleichswert ein, wenn das Vorzeichenbit ein positiver Wert ist. Daran schließt das Verfahren das Vergleichen des Vergleichswert mit einem Minimaladreßwert des Datenbereichs ein, um einen Vergleichsergebniswert zu erzeugen. Dann werden der Vergleichsergebniswert und das Vorzeichenbit miteinander kombiniert, um einen Auswahlwert zu erzeugen, und in Abhängigkeit vom Auswahlwert wird entweder der inkrementierte Adreßwert oder der überarbeitete Adreßwert für einen nächsten Adreßwert ausgewählt.
Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche.
Die Erfindung wird nachstehend anhand der Fig. näher erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm eines Modulo-Adreßerzeugers gemäß der Erfindung und
Fig. 2 ein Blockdiagramm eines herkömmlichen Modulo-Adreßerzeugers.
Fig. 1 ist ein Blockschaltbild einer Modulo-Adreß­ erzeugerschaltung 200 gemäß der Erfindung. Wie dies in der Figur dargestellt ist, schließt der Modulo-Adreß­ erzeuger 200 einen Addierer 21 ein, der eine aktuelle Adresse A und ein Adreßinkrement I empfängt, A und I addiert und ein Ausgangssignal a erzeugt. Eine Addierer-/Subtra­ hierer-Schaltung 22 wird vorgesehen, um unter der Steuerung eines Vorzeichenbitwerts sign(I) des Adreßinkrements I einen Wert D zum Ausgangswert a vom Addierer 21 zu addieren oder davon zu subtrahieren, um ein Ausgangssignal b zu erzeugen, wobei D = M - B + 1 und die Größe des adressierten Datenbereichs darstellt. Eine Ausgangsauswahlschaltung 30 wählt entweder das Ausgangssignal a vom Addierer 21 oder das Ausgangssignal b von der Addierer-/Subtrahierer-Schaltung 22 aus. Falls das Vorzeichenbit sign(I) = 0 und der Wert des Ausgangssignals b von der Addierer-/Subtrahierer-Schaltung 22 größer oder gleich dem Minimaladreßwert B des Datenbereichs (A + I - D ≧ B) ist, dann wird das Ausgangssignal b von der Addierer-/Subtra­ hierer-Schaltung 22 als der nächste Adreßwert NEXT_A ausgewählt. Andernfalls wird das Ausgangssignal a als Ausgang für NEXT_A ausgewählt. Falls das Vorzeichenbit sign(I) = 1 und der Wert des Ausgangssignals a vom Addierer 21 kleiner als der Minimaladreßwert B ist (A + I < B), dann wird das Ausgangssignal b von der Addierer-/Subtra­ hierer-Schaltung 22 als Ausgangswert für NEXT_A ausgewählt. Andernfalls wird das Ausgangssignal b als der nächste Adreßwert NEXT_A ausgewählt.
Die Ausgangsauswahlschaltung 30 weist einen ersten Multiplexer 23 (MUX) auf, der unter der Steuerung des Vorzeichenbits sign(I) entweder den Ausgangswert a vom Addierer 21 oder den Ausgangswert b von der Addierer-/Subtra­ hierer-Schaltung 22 als Eingangssignal an einen Vergleicher 24 zum Vergleichen mit dem Minimaladreßwert B auswählt. Das Ausgangssignal d vom Vergleicher 24 wird in ein Äquivalenz-Funktions-Gate 25 (XNOR-Gate) eingegeben, wobei der Wert des Ausgangssignals d mit dem Vorzeichenwert sign(I) kombiniert wird, um ein Auswahlsignal e zu erzeugen, welches in einen Multiplexer 26 eingeben wird, um als Ausgangswert für den nächsten Adreßwert NEXT_A entweder das Ausgangssignal a vom Addierer 21 oder das Ausgangssignal b von der Addierer-/Subtrahierer-Schaltung 22 auszuwählen.
Wenn I ≧ 0 und A + I - D < B, dann ist NEXT_A = A + I = a. Wenn I ≧ 0 und A + I - D ≧ B dann kann jedoch für die Verwendung bei der Modulo-Adreßerzeugerschaltung 200 (oben) die obige Gleichung (1) wie folgt ausgedrückt werden:
NEXT_A = A + I - D, wobei D = M - B + 1. (6)
Auf analoge Weise, falls I < 0 und A + I ≧ B, dann ist NEXT_A = A + I = a. Falls I < 0 und A + I < B, dann kann jedoch die obige Gleichung wie folgt ausgedrückt werden:
NEXT_A = A + I + D. (7)
Die obigen Gleichungen können bezüglich des Ausgangswerts a vom Addierer 21, des Ausgangswerts b von der Addierer-/Subtra­ hierer-Schaltung 22, des Ausgangswerts c vom Multiplexer 23, des Ausgangswerts d vom Vergleicher 24 und des Ausgangswerts vom XNOR-Gate 25 wie folgt dargestellt werden:
a = A + I;
b = a - D = A + I - (M - B + 1), wenn sign(I) =0; oder
b = a + D = A + I + (M - B + 1), wenn sign(I) = 1;
c = b = A + I - D, wenn sign(I) = 0; oder
c = a = A + I, wenn sign(I) = 1;
d = 1, wenn B ≦ c, wobei
c = A + I - D, wenn sign(I) = 0, und
c = A + I, wenn sign(I) = 1; oder
d = 0, wenn B < c; und
NEXT_A = a, wenn e = 1;
NEXT_A = b, wenn e = 0. (8)
Wie oben beschrieben kann ein Modulo-Adreßerzeuger gemäß der Erfindung unter Verwendung von zwei Hochgeschwindigkeits-Addierern und eines Komparators konstruiert werden, wodurch die zur Implementierung der Erfindung in einer integrierten Schaltung notwendige Chipfläche verringert wird. Zusätzlich verringern der Modulo-Adreßerzeuger und das Modulo-Adreßverfahren gemäß der Erfindung durch Verringerung der Anzahl der Additionsoperationen die Verzögerungszeit für die Modulo-Adreß­ erzeugungsoperation. Folglich ist die Erfindung für Anwendungen bei digitalen Hochgeschwindigkeits-Signal­ prozessoren besonders geeignet.

Claims (5)

1. Modulo-Adreßerzeuger, der aufweist:
einen Addierer (21), der einen aktuellen Adreßwert und einen Adreßinkrementwert empfängt und den Adreßinkrementwert zum aktuellen Adreßwert hinzuaddiert, um einen inkrementierten Adreßwert zu erzeugen;
eine Addierer-/Subtrahierer-Schaltung (22), die den inkrementierten Adreßwert, einen Datenbereichgrößenwert, der einem Datenbereich entspricht, und ein Vorzeichenbit des Adreßinkrementwerts empfängt, wobei die Addierer-/Subtra­ hierer-Schaltung (22) als Reaktion auf einen negativen Wert des Vorzeichenbits den Datenbereichgrößenwert dem inkrementierten Adreßwert hinzuaddiert, und die als Reaktion auf einen positiven Wert des Vorzeichenbits den Datenbereichgrößenwert vom inkrementierten Adreßwert subtrahiert, um einen überarbeiteten Adreßwert zu erzeugen, und
eine Ausgangsauswahlschaltung (30), die den inkrementierten Adreßwert, den Datenbereichgrößenwert und das Vorzeichenbit empfängt, wobei die Ausgangsauswahlschaltung
den inkrementierten Adreßwert für einen nächsten Adreßwert auswählt, wenn das Vorzeichenbit einen positiven Wert aufweist und der überarbeitete Adreßwert kleiner als ein Minimaladreßwert des Datenbereichs ist,
den überarbeiteten Adreßwert für den nächsten Adreßwert auswählt, wenn das Vorzeichenbit einen positiven Wert aufweist und der überarbeitete Adreßwert größer oder gleich dem Minimaladreßwert des Datenbereichs ist,
den überarbeiteten Adreßwert für den nächsten Adreßwert auswählt, wenn das Vorzeichenbit einen negativen Wert aufweist und der inkrementierte Adreßwert kleiner als der Minimaladreßwert des Datenbereichs ist, und
den inkrementierten Adreßwert als den nächsten Adreßwert auswählt, wenn das Vorzeichenbit einen negativen Wert aufweist und der inkrementierte Adreßwert größer oder gleich dem Minimaladreßwert des Datenbereichs ist.
2. Modulo-Adreßerzeuger nach Anspruch 1, bei dem die Ausgangsauswahlschaltung (30) weiterhin aufweist:
einen ersten Multiplexer (23), der
den inkrementierten Adreßwert und den überarbeiteten Adreßwert empfängt,
den inkrementierten Adreßwert als einen Vergleichswert auswählt, wenn das Vorzeichenbit einen negativen Wert aufweist, und
den überarbeiteten Adreßwert als den Vergleichswert auswählt, wenn das Vorzeichenbit einen positiven Wert aufweist;
einen Vergleicher (24), der den Vergleichswert empfängt und den Vergleichswert mit dem Minimaladreßwert vergleicht, um einen Vergleichsergebniswert zu erzeugen, wobei der Vergleichsergebniswert ein negativer Wert ist, wenn der Vergleichswert größer oder gleich dem Minimaladreßwert ist, und der Vergleichsergebniswert ein positiver Wert ist, wenn der Vergleichswert kleiner als der Minimaladreßwert ist;
eine Äquivalenz-Funktions-Schaltung (25), die den Vergleichsergebniswert und das Vorzeichenbit empfängt und miteinander kombiniert, um ein Auswahlsignal zu erzeugen; und
einen zweiten Multiplexer (26), der den inkrementierten Adreßwert, den überarbeiteten Adreßwert und das Auswahlsignal empfängt und den inkrementierten Adreßwert als den nächsten Adreßwert auswählt, wenn das Auswahlsignal einen positiven Wert aufweist, und den überarbeiteten Adreßwert als den nächsten Adreßwert auswählt, wenn das Auswahlsignal einen negativen Wert aufweist.
3. Modulo-Adreßerzeuger nach Anspruch 2, bei dem der Addierer (21) weiterhin einen Hochgeschwindigkeits-Addierer aufweist und bei dem die Addierer-/Subtrahierer-Schaltung (22) weiterhin einen Hochgeschwindig­ keits-Addierer/Subtrahierer aufweist.
4. Modulo-Adreßerzeugungsverfahren, das die Schritte aufweist:
Addieren eines Adreßinkrementwerts und eines aktuellen Adreßwerts, um einen inkrementierten Adreßwert zu erzeugen;
Addieren eines Datenbereichgrößenwerts, der einem Datenbereich entspricht, zu dem inkrementierten Adreßwert hinzu, um einen überarbeiteten Adreßwert zu erzeugen, wenn das Vorzeichenbit des inkrementierten Adreßwerts einen negativen Wert aufweist;
Subtrahieren des Datenbereichgrößenwerts vom inkrementierten Adreßwert, um den überarbeiteten Adreßwert zu überzeugen, wenn das Vorzeichenbit des Adreßinkrementwerts einen positiven Wert aufweist;
Auswählen des inkrementierten Adreßwerts als Vergleichswert, wenn das Vorzeichenbit einen negativen Wert aufweist;
Auswählen des überarbeiteten Adreßwerts als Vergleichswert, wenn das Vorzeichenbit einen positiven Wert aufweist;
Vergleichen des Vergleichswerts mit einem Minimaladreßwert des Datenbereichs, um einen Vergleichsergebniswert zu erzeugen;
Kombinieren des Vergleichsergebniswerts und des Vorzeichenbits, um einen Auswahlwert zu erzeugen; und
Auswählen entweder des inkrementierten Adreßwerts oder des überarbeiteten Adreßwerts als nächsten Adreßwert in Abhängigkeit des Auswahlwerts.
5. Verfahren nach Anspruch 4, bei dem:
der Schritt des Vergleichens des Vergleichswerts mit einem Minimaladreßwert weiterhin einschließt:
Einstellen des Vergleichsergebniswerts auf einen negativen Wert, wenn der Vergleichswert größer oder gleich dem Minimaladreßwert ist, und
Einstellen des Vergleichsergebniswerts auf einen positiven Wert, wenn der Vergleichswert kleiner als der Minimaladreßwert ist;
der Schritt des Kombinierens des Vergleichsergebniswerts und des Vorzeichenbits weiterhin einschließt:
Kombinieren des Vergleichsergebniswerts mit dem Vorzeichenbit mittels einer Äquivalenz-Funktion, um den Auswahlwert zu erzeugen; und
der Schritt des Auswählens entweder des inkrementierten Adreßwerts oder des überarbeiteten Adreßwerts weiterhin einschließt:
Auswählen des inkrementierten Adreßwerts als nächsten Adreßwert, wenn der Auswahlwert einen negativen Wert aufweist, und
Auswählen des überarbeiteten Adreßwerts als den nächsten Adreßwert, wenn der Auswahlwert einen positiven Wert aufweist.
DE19746076A 1996-12-24 1997-10-17 Schaltung und Verfahren zur Modulo-Adresserzeugung mit verkleinerter Schaltungsfläche Ceased DE19746076A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960071766A KR19980052741A (ko) 1996-12-24 1996-12-24 모듈로(Modulo) 주소발생기 및 그 방법

Publications (1)

Publication Number Publication Date
DE19746076A1 true DE19746076A1 (de) 1998-06-25

Family

ID=19490819

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19746076A Ceased DE19746076A1 (de) 1996-12-24 1997-10-17 Schaltung und Verfahren zur Modulo-Adresserzeugung mit verkleinerter Schaltungsfläche

Country Status (4)

Country Link
US (1) US6052768A (de)
KR (1) KR19980052741A (de)
DE (1) DE19746076A1 (de)
TW (1) TW337562B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10318451A1 (de) * 2003-04-23 2004-11-11 Endress + Hauser Conducta Gesellschaft für Mess- und Regeltechnik mbH + Co.KG Verfahren zum Adressieren von Modulen eines Bussystems

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1746496B1 (de) * 2005-07-19 2010-05-05 Emma Mixed Signal C.V. Arithmetisches Modul
US7849125B2 (en) 2006-07-07 2010-12-07 Via Telecom Co., Ltd Efficient computation of the modulo operation based on divisor (2n-1)
US10180829B2 (en) * 2015-12-15 2019-01-15 Nxp Usa, Inc. System and method for modulo addressing vectorization with invariant code motion

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4800524A (en) * 1985-12-20 1989-01-24 Analog Devices, Inc. Modulo address generator
US4833602A (en) * 1987-06-29 1989-05-23 International Business Machines Corporation Signal generator using modulo means
US5790443A (en) * 1994-06-01 1998-08-04 S3 Incorporated Mixed-modulo address generation using shadow segment registers
US5659700A (en) * 1995-02-14 1997-08-19 Winbond Electronis Corporation Apparatus and method for generating a modulo address

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10318451A1 (de) * 2003-04-23 2004-11-11 Endress + Hauser Conducta Gesellschaft für Mess- und Regeltechnik mbH + Co.KG Verfahren zum Adressieren von Modulen eines Bussystems

Also Published As

Publication number Publication date
US6052768A (en) 2000-04-18
KR19980052741A (ko) 1998-09-25
TW337562B (en) 1998-08-01

Similar Documents

Publication Publication Date Title
DE19748547B4 (de) Modulo-Adresserzeugungsschaltung und -verfahren
DE4302898C2 (de) Arithmetische Recheneinheit mit Akkumulierfunktion
DE68927121T2 (de) Absolutwertberechnende Schaltung mit einem einzigen Addierer
DE3485792T2 (de) Digitale signalverarbeitungseinrichtungen.
DE69126804T2 (de) Kompressionssystem von bewegten Bilddaten
DE69130448T2 (de) Adressenerzeugungsschaltung
DE69324730T2 (de) Multiplizier-Akkumulator
DE2229149A1 (de) Verfahren zur Übertragung von Sprache
DE69130640T2 (de) Arithmetische Operationseinheit mit Bit-Invertierungsfunktion
DE3625612A1 (de) Einrichtung zur digitalen signalueberlaufkorrektur
DE2946846A1 (de) Rundungs-korrekturlogik fuer multiplizierer fuer modifizierten booth-algorithmus
DE3888230T2 (de) Einrichtung und Verfahren zur Durchführung einer Schiebeoperation mit einer Multipliziererschaltung.
DE69423240T2 (de) Verfahren und vorrichtung für quadratische interpolation
DE68927652T2 (de) Dividierschaltung für ganze Zahlen, versehen mit einer Überlaufdetektionsschaltung
DE3586366T2 (de) Verfahren und schaltung zur erzeugung eines zeitvariablen signals.
DE19618120B4 (de) Parallelverarbeitungs-Divisionsschaltung
DE69808362T2 (de) Multiplizierverfahren und Multiplizierschaltung
DE3852048T2 (de) Digital-Analogwandler.
DE4019646C2 (de) Vorrichtung und Verfahren zum Multiplizieren von Datenwörtern in Zweier-Komplement-Darstellung
DE19748484A1 (de) Schaltung und Verfahren zur Überlauferfassung bei einem digitalen Signalprozessor
DE4408768C1 (de) Verfahren zur Filterung einer digitalen Wertefolge mit verbessertem Rauschverhalten und Schaltungsanordnung zur Durchführung des Verfahrens
DE69032358T2 (de) Datenverarbeitungssystem für Audiosignale
DE19746076A1 (de) Schaltung und Verfahren zur Modulo-Adresserzeugung mit verkleinerter Schaltungsfläche
DE69320147T2 (de) Vorrichtung zur Bildkodierung
DE3334541A1 (de) Digitalsignal-filtereinrichtung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 1200

8131 Rejection