DE3878666T2 - Integrierte schaltung fuer digitale rechenvorgaenge zur faltung oder aehnlichen rechenverfahren. - Google Patents

Integrierte schaltung fuer digitale rechenvorgaenge zur faltung oder aehnlichen rechenverfahren.

Info

Publication number
DE3878666T2
DE3878666T2 DE8888403064T DE3878666T DE3878666T2 DE 3878666 T2 DE3878666 T2 DE 3878666T2 DE 8888403064 T DE8888403064 T DE 8888403064T DE 3878666 T DE3878666 T DE 3878666T DE 3878666 T2 DE3878666 T2 DE 3878666T2
Authority
DE
Germany
Prior art keywords
circuit
cell
data
real
input
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 - Fee Related
Application number
DE8888403064T
Other languages
English (en)
Other versions
DE3878666D1 (de
Inventor
Philippe Elleaume
Michel Prevost
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.)
Thales SA
Original Assignee
Thomson CSF SA
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 Thomson CSF SA filed Critical Thomson CSF SA
Publication of DE3878666D1 publication Critical patent/DE3878666D1/de
Application granted granted Critical
Publication of DE3878666T2 publication Critical patent/DE3878666T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3884Pipelining
    • 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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)

Description

  • Die Erfindung bezieht sich auf eine digitale Rechenschaltung, insbesondere auf dein Gebiet der digitalen Signalverarbeitung bestimmt für Gleitkommarechnungen vom Typ der Faltung der Form Σi Ci Xj mit j = i+k, wobei j und k relative ganze Zahlen sind und i eine ganze natürliche Zahl ist und wobei Ci komplexe Koeffizienten und Xj komplexe und reelle Daten darstellen.
  • Es gibt zahlreiche Anwendungen, bei denen derartige Berechnungen durchgeführt werden, beispielsweise bei der Verarbeitung von Radarsignalen und spezieller für die digitale Impulskompression und die digitale Amplituden-Phasen-Demodulation.
  • Es sind integrierte Signalverarbeitungsschaltungen bekannt, die ähnliche Berechnungen durchführen. Dies gilt beispielsweise für den Signalprozessor IMS A100 der Firma INMOS. Diese Schaltung ist ein Blockrechenwerk, das im wesentlichen einen Multiplizierakkumulator enthält und das als Aufbaueinheit für verschiedene Anwendungen dienen kann und leicht in Kaskade geschaltet werden kann.
  • Diese bekannte Schaltung hat jedoch als Nachteile, daß sie einerseits eine für gewisse Anwendungsfälle unzureichende begrenzte Rechenleistung hat und daß sie andererseits nicht direkt für die Verarbeitung komplexer Werte geeignet ist. Damit eine solche Verarbeitung durchgeführt werden kann, müssen zusätzliche Schaltungen vorgesehen werden, was die Kosten erhöht und in einem gewissen Maß die Leistungsfähigkeit beeinträchtigt.
  • Ein digitaler Signalprozessor mit mehreren Multiplizier-Akkumulier-Zellen ist in dem Aufsatz "Packing a signal processor onto a signle digital Board" von L. SCHIRM IV in der Zeitschrift ELECTRONICS, Bd. 52, Nr. 26, vom Dezember 1979, Seiten 109-115 beschrieben. Dieser Prozessor kann jedoch nur reelle Werte und keine komplexen Werte verarbeiten.
  • Ein Ziel der Erfindung ist es somit, diesen Nachteilen abzuhelfen, indem eine integrierte Schaltung vorgesehen wird, die Gleitkommarechnungen an komplexen Größen durchführen kann und die leicht kaskadierbar ist.
  • Die Erfindung ist im Patentanspruch 1 definiert.
  • Nach der Erfindung wird eine integrierte digitale Rechenschaltung insbesondere auf dem Gebiet der digitalen Signalverarbeitung bestimmt für Gleitkommaberechnungen vom Typ der Faltung vorgeschlagen, wie sie in den Patentansprüchen definiert ist.
  • Dank ihres Aufbaus kann eine solche Schaltung in Kaskade geschaltet werden, was ermöglicht, sehr große Faltungstiefen zu erreichen. Die Weitergabe von Koeffizienten von einer Zelle zur anderen ermöglicht eine beträchtliche Reduzierung der Latenz zeit zwischen den Ausgaben gültiger Resultate, was zu sehr kurzen Ansprechzeiten führt. Diese Architektur ermöglicht somit ihre Umschaltungen von einem Codetyp zu einem anderen, also adaptive Bearbeitungen mit verbesserten Eigenschaften.
  • Ein besseres Verständnis der Erfindung und weitere Merkmale und Vorteile ergeben sich aus der nachfolgenden Beschreibung und den beigefügten Zeichnungen, in denen:
  • Fig. 1 ein Blockschaltbild der Schaltung nach der Erfindung zeigt;
  • Fig. 2 ein Schaltbild einer Operationszelle der Schaltung nach der Erfindung zeigt;
  • Fig. 3 Diagramme von in der Schaltung von Fig. 1 verwendeten Takt- und Steuersignalen zeigt;
  • Fig. 4 Diagramme von Eingaben komplexer oder reeller Koeffizienten und Daten zeigt;
  • Fig. 5 Diagramme von Signalen an verschiedenen Punkten der Schaltung für den Fall komplexer Daten zeigt und
  • Fig. 6 Diagramme von Signalen an den gleichen Punkten der Schaltung für den Fall reeller Daten zeigt.
  • Fig. 1 ist ein allgemeines Blockschaltbild der erfindungsgemäßen Schaltung. Sie enthält grundsätzlich K gleiche Operationszellen CO0 bis COK-1. Diese Zellen sind über eine Logikeinheit 100, die die zeitliche Verteilung und die mögliche Datenverteilung gemäß den unten folgenden Ausführungen gewährleistet, parallel an den die Daten DT empfangenden Dateneingang angeschlossen.
  • Die komplexen Koeffizienten Ci werden über den Eingang EC zur ersten Zelle CO0 übertragen, an der sie angewendet und mit einer geeigneten Verzögerung zur nächsten Zelle CO1 weitergeleitet werden, usw.. Die Koeffizienten bewegen sich somit von einer Zelle zur nächsten bis zum Ausgang SC.
  • Jede Zelle enthält im wesentlichen eine Multipliziereinheit und einen Additionsakkumulator zur Realisierung der Rechnung Σi Ci Xj für einen gegebenen Wert von (j=i+k), der von einer Zelle zur nächsten zunimmt.
  • Die Ergebnisse werden am Ausgang SR der Zelle geliefert, und das Endergebnis ist an diesem Ausgang vorhanden, wenn am Ausgang SM der Zelle ein Bestätigungssignal vorhanden ist. Die von allen Zellen nacheinander gelieferten Ergebnisse werden durch eine Umgruppierungsschaltung 22 umgruppiert, die von den Bestätigungssignalen der verschiedenen Zellen gesteuert ist. Diese Schaltung 22 liefert somit die Folge der bestätigten Ergebnisse an eine Schaltung 24 zum Formatieren der Ergebnisse und zum Runden, die die Formatierung der Ergebnisse unter der Steuerung eines Signals SAR in Abhängigkeit vom beabsichtigten Integrationsgewinn, d.h. von der Anzahl der in einer Zelle durchgeführten Elementarmultiplikationen auswählt. Das Signal SAR wird über ein Übertragungsregister 23, das von einem Taktsignal HC gesteuert wird, zur Schaltung 24 übertragen. Die formatierten und gerundeten Ergebnisse werden über ein Übertragungsregister 25, das von einem Taktsignal HM gesteuert wird, zu einem Ausgang SRT übertragen. Damit mehrere der Schaltungen von Fig. 1 in Kaskade geschaltet werden können, wird an einen Ausgang RDY ein Signal "Ergebnisausgabe bereit" geliefert. Dieses Signal ist aktiv, wenn die Ergebnisse den Ausgang SRT verlassen. Dieses Signal ist das Ausgangssignal einer ODER-Schaltung 26, die die Bestätigungssignale von den Ausgängen SM aller Operationszellen empfängt, wobei das Ausgangssignal dieser ODER-Schaltung über ein vom Taktsignal HM gesteuertes Register 27 übertragen wird.
  • Ein Eingang DM ermöglicht das Anlegen eines Dezimierungssignals an die erfindungsgemäße Schaltung über ein vom Taktsignal HC gesteuertes Register 20. In gewissen Fällen kann nämlich das Erzeugen von Ergebnissen für alle Rechenpunkte eine zu große Belastung für die nachfolgenden Anwendungsschaltungen darstellen. Daß diese Belastung ohne Genauigkeitsverlust und ohne daß die erfindungsgemäße Schaltung unnütze Elemente enthält, angepaßt werden kann, ist vorgesehen, auf die Verzögerung der Übertragung der Koeffizienten von einer Zelle zur nächsten einzuwirken, um einen von zwei Rechenpunkten zu unterdrücken. Dies wird durch Anlegen des Dezimierungssignals parallel an alle Operationszellen erhalten, wie anschließend in Verbindung mit Fig. 2 zu erkennen sein wird.
  • Eine Taktschaltung 21 liefert die verschiedenen notwendigen Signale unter der Steuerung eines Modussignals (komplexe Daten/reelle Daten). Diese Taktschaltung wird von externen Signalen HOR (Grundtakt) und SL (langsame Synchronisation) synchronisiert. Die Steuersignale SAR, DM und MODE werden beispielsweise von einer Verwaltungseinheit 28 geliefert.
  • Die Logikeinheit 100 enthält schließlich Übertragungsregister 10, 11, 12, 14, die von den Taktsignalen HC, HY, H2 bzw. H3 gesteuert werden, sowie eine Schaltung 13 zum Multiplizieren mit (-1) und einen vom Signal CMX gesteuerten Multiplexer 15 mit drei Eingängen.
  • Fig. 2 zeigt das Schaltbild einer Operationszelle. Eine solche Zelle enthält im wesentlichen eine vom Taktsignal HM gesteuerte Multipliziereinheit 31, eine Addiereinheit 33, ein vom Taktsignal HM gesteuertes Akkumulatorregister 34 und ein vom gleichen Taktsignal HM gesteuertes zweites Register 35, das im Anschluß an das Register 34 in die Akkumulatorschleife eingefügt ist. Ein vom Taktsignal HM gesteuertes Register 32 ist hier zwischen die Multipliziereinheit und die Addiereinheit eingefügt. Dieses Register könnte natürlich auch weggelassen werden oder im Inneren der Multipliziereinheit 31 angeordnet sein; in der Multipliziereinheit 31 und in der Addiereinheit 33 können auch mehrere gleichartige Register (zur Ermöglichung der Pipeline-Verarbeitung) angebracht werden. Die Eingänge der Multipliziereinheit 31 empfangen einerseits die von der Logikeinheit 100 (Fig. 1) übertragenen Daten ED und andererseits über ein vom Taktsignal HX gesteuertes Register 30 die vom Eingang EC kommenden Koeffizienten. Der Ausgang SR der Zelle wird vom Ausgang des Registers 35 gebildet.
  • Der Übertragungsbus für die vom Eingang EC kommenden Koeffizienten weist zwei zusätzliche Leiter auf. Der Bus enthält somit beispielsweise im dargestellten Fall acht Leiter zum Übertragen von acht Bits, die den Wert des Koeffizienten repräsentieren, sowie zwei zusätzliche Leiter, die ein Nullstellbit RAZ (Bit 8) und ein Bit (Bit 9), das die Erzeugung des Ergebnisbestätigungssignals ermöglicht, übertragen.
  • Die Bits 0 bis 7 werden also an die Multipliziereinheit 31 angelegt, das Bit 8 wird als Nullstellsignal RAZ des Registers 34 über ein vom Taktsignal HB gesteuertes Register 36 angelegt, und das Bit 9 bildet das Bestätigungssignal am Ausgang SM nach Durchgang durch zwei aufeinanderfolgende Register 37 und 38, die vom Taktsignal HC gesteuert werden.
  • Die Koeffizienten und die zwei zusätzlichen Bits werden im übrigen über eine vom Dezimierungssignal DM gesteuerte Übertragungsschaltung 40 zum Ausgang SC übertragen. Diese Übertragungsschaltung weist ein vom Taktsignal HX gesteuertes Eingangsregister 41 und einen Multiplexer 44 mit zwei Eingängen auf, von denen der eine, der mit 0 bezeichnet ist, direkt mit dem Ausgang des Registers 41 verbunden ist, während der andere, der mit 1 bezeichnet ist, über zwei vom Taktsignal HX gesteuerte, in Serie geschaltete Register 42 und 43 mit dem Register 41 verbunden ist. Der Multiplexer 44 wird vom Dezimierungssignal DM gesteuert.
  • Die Arbeitsweise der Anordnung wird nun unter Bezugnahme auf die Figuren 1 und 2 und auf die in den Figuren 3 bis 6 dargestellten Signale erläutert, die Signale an verschiedenen Punkten der Schaltung zeigen, die durch von Kreisen umgebene Buchstaben gekennzeichnet sind.
  • Die Arbeitsweise beruht auf der klassischen Zerlegung:
  • Σi Ci Xi+k = Σi(Ai + jBi) (Ri+k + jIi+k)
  • = Σi[AiRi+k - BiIi+k] + jΣi[AiIi+k + BiRi+k] (1)
  • und auf der abwechselnden Benutzung der Multipliziereinheit und des Additionsakkumulators jeder Zelle für die Berechnung und die Addition der jeweiligen reellen und imaginären Teilprodukte.
  • Fig. 3 zeigt die verschiedenen Taktsignale und das Steuersignal CMX in Abhängigkeit vom Zustand des Signals MODE. Die Signale HM, HC, HB, H2, H3 haben stets die gleiche Frequenz, unabhängig vom Signal MODE.
  • Dieses Signal hat den niedrigen Zustand, wenn die an den Eingang DT der Schaltung gelieferten Signale in komplexer Form vorliegen, während es den hohen Zustand hat, wenn diese Daten reell sind.
  • Die Taktsignale HX und HY haben die doppelte Frequenz, wenn die bearbeiteten Daten reell sind.
  • Das Signal SL ist ein Signal der langsamen Synchronisation, das die Synchronisierung der aufeinanderfolgenden Eingangsdaten liefert, wobei der Eingang DT nacheinander den Realteil und dann den Imaginärteil jedes Datenwerts empfängt, wenn die Daten komplex sind, und nacheinander jeden Datenwert, wenn die Daten reell sind.
  • Das Signal CMX mit zwei Bits ist so beschaffen, daß der Multiplexer 15 für jeden komplexen Datenwert nacheinander seine Eingänge 0, 1, 2 und 0 auswählt, während für reelle Daten der Eingang 0 ständig ausgewählt wird.
  • Fig. 4 zeigt die Diagramme der Eingangskoeffizienten und der reellen oder komplexen Daten. Darunter finden sich wieder die Taktsignale HM, HC, HY, HX und das Signal MODE sowie das Steuersignal CMX.
  • Für den Fall komplexer Daten empfängt der Eingang DT nacheinander die Realteile und die Imaginärteile jedes Datenwerts R1, I1, R2, I2 in einem Takt, der der Hälfte der Taktfrequenz HM entspricht und der mit dem Taktsignal HC in Phase ist. Am Punkt A ergeben sich nach dem Durchgang durch das Register 10 die gleichen Werte, jedoch um eine Taktperiode HC verschoben.
  • Bei BO, nach Durchgang durch das vom Taktsignal HY mit einer bezüglich HC verdoppelten Periode gesteuerte Register 11, sind nur die aufeinanderfolgenden Realteile R1, R2 ... zu finden. Bei B1, nach Durchgang durch das vom Taktsignal H2 mit der gleichen Periode wie HY, jedoch um eine Periode von HM versetzt, gesteuerte Register 12, sind nur die aufeinanderfolgenden Imaginärteile I1, I2 ... vorzufinden. Bei B2, nach Durchgang durch die Multipliziereinheit 13 mit dem Multiplikator (-1) und das vom Taktsignal H3 mit der gleichen Periode wie H2, jedoch um eine Periode von HM versetzt, gesteuerte Register 14, werden nur die aufeinanderfolgenden Werte -I1, -I2, ... vorgefunden.
  • Die Daten ED am Punkt C werden somit von der Aufeinanderfolge RI, I1, -I1, R1, R2, I2, -I2, R2, ... im Takt des Taktsignals HM gebildet.
  • Die an den Eingang EC angelegten Koeffizienten erscheinen im übrigen am Punkt D im Takt des Takts HX (=HC) in Form der Aufeinanderfolge der Realteile und der Iinaginärteile A1, B1, A2, B2 ...
  • Im Gegensatz dazu haben im Rahmen reeller Daten (rechter Teil von Fig. 4) die Taktsignale HY und HX die doppelte Frequenz, und es wird ständig der Eingang O des Multiplexers 15 ausgewählt. Am Punkt C erscheint somit die Aufeinanderfolge der reellen Daten D1, D2 ... im Takt des Taktsignals HY (=HC), und am Punkt C erscheint die Aufeinanderfolge der Realteile und der Imaginärteile der Koeffizienten A1, B1, A2, B2 ... mit einem verdoppelten Takt, dem des Taktsignals HX (=HM).
  • Fig. 5 zeigt die Diagramme von Signalen an verschiedenen Punkten einer Operationszelle, beispielsweise der ersten Zelle CO0 für den Fall komplexer Daten. Die im Takt des Taktsignals HM arbeitende Multipliziereinheit 31 liefert (am Punkt I) nacheinander und abwechselnd die partiellen Produkte zur Erzielung der Realteile und der Imaginärteile der Berechnung gemäß der Gleichung (1). Um dieses Erzielen zu ermöglichen, müssen alle Teilprodukte des Realteils, also jeweils eines von zwei Teilprodukten, sowie diejenigen des Imaginärteils, addiert werden, d.h. daß diese Operationen ineinander verzahnt durchgeführt werden. Dies wird mit Hilfe des Registers 35 verwirklicht, das in die Schleife des Additionsakkumulators eine Verzögerung um eine Periode des Taktsignals HM einführt. In diesen Diagrammen sind an den Punkten J und SR die Summen der Realteile mit ΣR und die signifikanten Summen der Imaginärteile, d.h. entsprechend den vollständigen Stufen der Berechnung, mit ΣI bezeichnet, wobei die Zahl über dem Zeichen Σ der Nummer der Stufe entspricht, während mit P alle Zwischensummen ohne Signifikanz bezeichnet sind. Somit ist zu erkennen, daß das Endergebnis, hier 3ΣR und 3ΣI ain Ausgang SR zwei Perioden des Taktsignals HC später als das Auftreten des Imaginärteils B3 des letzten Koeffizienten am Punkt D erscheint. Das Bit zur Bestätigung des Ergebnisses (Bit 9) wird gleichzeitig wie dieser Imaginärteil B3 an den Koeffizientenbus gelegt, und es wird mit Hilfe der Register 37 und 38 in der Zelle um zwei Perioden von HC verzögert.
  • In gleicher Weise muß das Nullstellen RAZ des Registers 34 unmittelbar vor dem Einschreiben des ersten Teilprodukts A1R1 in dieses Register erfolgen. Das dieses Nullstellen steuernde Bit 8 wird somit zur gleichen Zeit wie der Realteil A1 des ersten Koeffizienten übertragen, und es wird in der Zelle mittels des Registers 36 mit dem Taktsignal HB synchronisiert.
  • Die Koeffizienten und die zusätzlichen Bits werden zum Ausgang SC und somit zur nächsten Zelle durch die Übertragungsschaltung 49 übertragen (siehe die Diagramme bei E und G in Fig. 5).
  • Wenn der Normalbetrieb ohne Dezimierung vorliegt, wählt der Multiplexer 44 seinen Eingang O (Fig. 2) aus. Die Koeffizienten werden an den Eingang der Multipliziereinheit 31 der nächsten Zelle CO1 mit einer Verzögerung um zwei Perioden des
  • Taktsignals HX bezüglich des Punkts D der Zelle CO0 angelegt, was auf das Register 41 der Schaltung 40 und das Register 30 der nachfolgenden Zelle zurückzuführen ist. Diese Zelle wird somit die Berechnung Σi Ci Xi+k für den Wert k=1 usw. für die verschiedenen Zellen durchführen. Wegen dieser Weiterleitung der Koeffizienten von einer Zelle zur nächsten im Verlauf der Berechnung wird eine sehr große Reduzierung der Totzeiten zwischen gültigen Resultaten aufgrund der Latenzzeiten der Schaltungen erhalten (der Zeiten, die die Eingabe der Koeffizienten vom Beginn des Ausgebens der gültigen Resultate trennt). Dieser Vorteil ist sehr bedeutend für die Verwirklichung adaptiver Verarbeitungen mit kürzerer Ansprechzeit.
  • Wenn das Dezimierungssignal DM aktiv ist, wählt der Multiplexer 44 seinen Eingang 1 aus. Die Koeffizienten werden an den Eingang der Multipliziereinheit 31 der nachfolgenden Zelle CO1 mit einer Verzögerung um vier Perioden des Taktsignals HX bezüglich des Punkts D der Zelle CO0 wegen der Register 41 bis 43 der Schaltung 40 und des Registers 30 der nachfolgenden Zelle angelegt. Die Zelle CO1 wird somit die Berechnung Σi Ci Xi+k für den Wert k=2 und nicht k=1 wie im vorangehenden Fall durchführen. Die Operationszellen führen die Berechnungen für jeweils zwei ansteigende Werte von und nicht für alle Werte von durch. Die Anzahl der durch die Anwendungsschaltungen zu verarbeitenden gültigen Ergebnisse wird somit durch zwei geteilt. Diese Dezimierung erfolgt, ohne daß nicht ausgenutzte Zellen vorhanden sind und ohne daß die Anzahl der Koeffizienten und der angewendeten Daten verringert wird.
  • Die Dezimierung erfolgt somit ohne eine Reduzierung der Genauigkeit in den Berechnungen an den beibehaltenen Punkten.
  • Fig. 6 zeigt die Diagramme von Signalen an verschiedenen Punkten einer Operationszelle, beispielsweise der ersten CO0, für den Fall reeller Daten. Wegen der Multiplikation mit zwei Frequenzen des Taktsignals HY (das auf die Übertragung der Daten an den Eingang 0 des Multiplexers 15 in der Logik 100 von Fig. 1 einwirkt) und HX (das auf die Koeffizienteneingabe in jede Zelle einwirkt) und wegen der ständigen Auswahl des Eingangs 0 des Multiplexers 15 wird eine zeitliche Koinzidenz zwischen jedem aufeinanderfolgenden Datenwert und den Real- und Imaginärteilen eines entsprechenden Koeffizienten erzielt. Die Funktionsweise jeder Zelle ist die gleiche wie die, die oben in Verbindung mit Fig. 5 angegeben wurde. Abgesehen von einer Anpassung der Taktschaltung 21 an das Steuersignal MODE, die für jeden Techniker offensichtlich ist, kann die Schaltung nach der Erfindung somit ohne wesentliche Modifikation sowohl reelle Daten als auch komplexe Daten verarbeiten.
  • Es sei bemerkt, daß in der erfindungsgemäßen digitalen Rechenschaltung die aus jeder Operationszelle kommenden Ergebnisse wegen der Weiterleitung der Koeffizienten von einer Zelle zur nächsten an den Eingängen der Umgruppierungsschaltung 22 nacheinander vorhanden sind, die kein Multiplexer sein muß, sondern vielmehr eine einfache Gruppe von Torschaltungen sein kann, die von den Bestätigungssignalen der Ausgänge SM der Zellen gesteuert werden. Dieses zeitlich aufeinanderfolgende Erscheinen der Ergebnisse am Ausgang der Schaltung 22 hat den Vorteil, daß eine einzige Schaltung 24 zur Formatierung der Ergebnisse und zur Rundung (und nicht eine Schaltung pro Zelle) verwendet werden kann. Wie bereits angegeben wurde, wird die Formatierung der Ergebnisse somit abhängig von der Anzahl der durch jede Zelle durchgeführten Multiplikationen gesteuert, d.h. von der Anzahl der für die Berechnung in einer Zelle verwendeten Koeffizienten und Daten. Diese Parameter werden vorher festgelegt, und die Verwaltungseinheit 28 kann ein hier aus drei Bits bestehendes Steuersignal SAR liefern. Die Schaltung 24 ermöglicht es, die gegebenen Resultate, beispielsweise mit zweiunddreißig Bits, in abgerundete Resultate zu überführen, die beispielsweise durch zwanzig Bits angegeben werden.
  • Wie zu erkennen ist, sind die nach der Erfindung ausgebildeten digitalen Rechenschaltungen ohne Schwierigkeit wegen der Ausgänge SC, RDY und SRT kaskadierbar. Auf diese Weise können ohne weiteres sehr große Faltungstiefen erhalten werden. Indem die Steuersignale der Operationszellen gleichzeitig mit den Koeffizienten über zwei zusätzliche Leiter des Koeffizientenbuses übertragen werden, wird ein stark vereinfachtes System zur Resultatbestätigung und zur Nullstellung erhalten.
  • Da mit komplexen Werten gearbeitet wird, ist klar, daß die Rechenschaltungen in bezug auf Realteil-Imaginärteil-Paare der Eingangswerte synchronisiert werden müssen. Dies wird mit Hilfe des Signals SL der langsamen Synchronisierung erzielt, das die Taktschaltung 21 synchronisiert.
  • Das beschriebene Ausführungsbeispiel ist natürlich keine Einschränkung der Erfindung; insbesondere sind die an den Verbindungen in den verschiedenen Figuren angegebenen Zahlenwerte der Bits nur einfache Beispiele.

Claims (5)

1. Integrierte digitale Rechenschaltung, insbesondere auf dem Gebiet der digitalen Signalverarbeitung bestimmt für Gleitkommaberechnungen vom Typ der Faltung der Form ΣiCiXj mit j=i+k, wobei j und k relative ganze Zahlen sind und i eine ganze natürliche Zahl ist und wobei Ci komplexe Koeffizienten und Xj komplexe oder reelle Daten darstellen, wobei die Schaltung dadurch gekennzeichnet ist, daß sie mehrere Operationszellen (COO bis COK-1) enthält, die jeweils ein Multiplizierglied (31) gefolgt von einem Addierglied (33) und einem Akkumulatorregister (34) aufweisen, um jede der Berechnungen mit einem anderen Wert von k durchzuführen, daß jede Operationszelle ein zweites Register (35) enthält, das in die Schleife des Additionsglieds im Anschluß an das Akkumulatorregister (34) eingefügt ist, um die Verarbeitung abwechselnd im Taktrhythmus der Realteile und der Imaginärteile der Rechnung durchzuführen, daß die Realteile und die Imaginärteile (A1, B1; A2, B2 ...) jedes Koeffizienten nacheinander zur ersten Operationszelle (CO0) geschickt werden, in der sie einerseits an einen ersten Eingang des Multiplizierglieds (31) und andererseits an eine Verzögerungsschaltung (40) angelegt werden, damit sie mit einer entsprechenden Verzögerung zur nächsten Zelle (CO1) weiterübertragen werden, wobei sich die Koeffizienten auf diese Weise von jeder Zelle zur nächsten weiterbewegen, daß die Schaltung ferner eine Logikvorrichtung (100) enthält, die die Daten (DT) und verschiedene Taktsignale (HC, HY, H2, H3) empfangen, um die zeitliche Verteilung und die Wiederholung der Realteile und der Imaginärteile der Daten zu gewährleisten und um gleichzeitig jedem Realteil oder jedem Imaginärteil der Daten zu einem zweiten Eingang des Multiplizierglieds (31) jeder der Operationszellen zu übertragen, damit die Multipliziereinheiten jeder Zelle hintereinander und abwechselnd die reellen und die imaginären Teilergebnisse der Berechnung liefern können, ferner eine Umgruppierungsschaltung (22) zum Umgruppieren der Ergebnisse der Berechnungen durch die verschiedenen Operationszellen enthält, die durch entsprechende Bestätigungssignale der von den jeweiligen Zellen erarbeiteten Ergebnisse gesteuert werden, und eine besondere Schaltung (24) zum Normieren und Runden enthält, die von der Umgruppierungsschaltung nacheinander die Ergebnisse der verschiedenen Zellen empfängt und von einem Steuersignal (SAR) gesteuert wird, das in Abhängigkeit von der Anzahl der von jeder der Zellen durchgeführten Elementarmultiplikationen erzeugt wird.
2. Integrierte digitale Rechenschaltung nach Anspruch 1, dadurch gekennzeichnet, daß der Übertragungsbus der Koeffizienten (EC, SC) zwei zusätzliche Adern enthält, von denen die erste (Bit 8) zu jeder Zelle ein Nullstellbit (RAZ) des Akkumulatorregisters (34) überträgt, und von denen die zweite (Bit 9) die Erzeugung des Bestätigungssignals (SM) des Ergebnisses der Berechnungen der Zelle für jede Zelle gestattet.
3. Integrierte digitale Rechenschaltung nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, daß die Logikvorrichtung (100) einen Multiplexer (15) mit drei Eingängen und Übertragungsregister (10, 11, 12, 14) enthält, die von jeweiligen Taktsignalen (HC, HY, H2, H3) gesteuert werden sowie eine Multiplikationsschaltung (13) mit dem Faktor -1, um für den Fall komplexer Daten an die drei Eingänge des Multiplexers die Realteile, die Imaginärteile bzw. das entgegenge setzte zu den Imaginärteilen der Eingangsdaten (DT) anzulegen, wobei der Multiplexer von einem Signal (CMX) gesteuert wird, das für jeden aufeinanderfolgenden Datenwert den ersten, den zweiten, den dritten und dann den ersten Eingang auswählt, und daß für den Fall reeller Daten das Steuersignal (CMX) des Multiplexers immer den ersten Eingang auswählt.
4. Integrierte digitale Rechenschaltung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß jede Zelle ferner eine Übertragungsschaltung (40) enthält, die am Koeffizientenübertragungsausgang (SC) eingefügt ist und durch ein Steuersignal (DM) gesteuert wird, damit entweder das normale Übertragen der Koeffizienten in der Weise, daß die Berechnungen für alle aufeinanderfolgenden Werte von k durchgeführt werden, oder die Übertragung von Koeffizienten mit einer vorbestimmten Verzögerung in der Weise, daß die Berechnungen allein für einen von zwei Werten von k durchgeführt werden, gewährleistet wird.
5. Integrierte digitale Rechenschaltung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Taktsignale (HM, HB, HC, H2, H3, HX, HY) an verschiedene Teile der integrierten digitalen Rechenschaltung durch eine Taktschaltung (21) geliefert werden, die Mittel zum Modifizieren der Frequenz einiger dieser Taktsignale (HX, HY) entsprechend der Betriebsart mit komplexen oder mit reellen Daten der integrierten Schaltung enthält, wobei diese Taktsignale (HX, HY) mit veränderlicher Frequenz einerseits an die Übertragungsregister (11) an einem ersten Eingang der Multipliziereinheit der Logikvorrichtung (100) und andererseits an die Koeffizientenübertragungsschaltung (40) jeder Operationszelle adressiert werden.
DE8888403064T 1987-12-08 1988-12-05 Integrierte schaltung fuer digitale rechenvorgaenge zur faltung oder aehnlichen rechenverfahren. Expired - Fee Related DE3878666T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8717051A FR2624283B1 (fr) 1987-12-08 1987-12-08 Circuit integre de calcul numerique pour calculs glissants du type convolution

Publications (2)

Publication Number Publication Date
DE3878666D1 DE3878666D1 (de) 1993-04-01
DE3878666T2 true DE3878666T2 (de) 1993-06-09

Family

ID=9357613

Family Applications (1)

Application Number Title Priority Date Filing Date
DE8888403064T Expired - Fee Related DE3878666T2 (de) 1987-12-08 1988-12-05 Integrierte schaltung fuer digitale rechenvorgaenge zur faltung oder aehnlichen rechenverfahren.

Country Status (5)

Country Link
US (1) US5005149A (de)
EP (1) EP0320352B1 (de)
JP (1) JPH01295365A (de)
DE (1) DE3878666T2 (de)
FR (1) FR2624283B1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0767063B2 (ja) * 1990-01-23 1995-07-19 ヤマハ株式会社 デジタル信号処理回路
EP0466997A1 (de) * 1990-07-18 1992-01-22 International Business Machines Corporation Verbesserte digitale Signal-Verarbeitungsarchitektur
US5191607A (en) * 1990-10-09 1993-03-02 Motorola, Inc. Ring tone muting with disable
US5151953A (en) * 1990-12-10 1992-09-29 Harris Corporation Single chip 2-D convolver
JPH05197741A (ja) * 1991-06-06 1993-08-06 Lsi Logic Corp インターリーブド乗算器累算器
GB2293713B (en) * 1994-09-30 1998-12-23 British Aerospace Digital image processing apparatus
US7143207B2 (en) * 2003-11-14 2006-11-28 Intel Corporation Data accumulation between data path having redrive circuit and memory device

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE170639C (de) *
FR2384303A1 (fr) * 1977-03-15 1978-10-13 Ibm France Dispositif numerique generateur de pseudo transformees de mersenne
US4489393A (en) * 1981-12-02 1984-12-18 Trw Inc. Monolithic discrete-time digital convolution circuit
DD219315A1 (de) * 1983-11-22 1985-02-27 Robotron Zft Veb Signalprozessor zur verarbeitung von gleitkommadaten
FR2586312B1 (fr) * 1985-08-13 1989-07-28 Trt Telecom Radio Electr Dispositif d'autocorrelation
US4791590A (en) * 1985-11-19 1988-12-13 Cornell Research Foundation, Inc. High performance signal processor
US4750144A (en) * 1985-12-31 1988-06-07 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Real time pipelined system for forming the sum of products in the processing of video data
GB8605367D0 (en) * 1986-03-05 1986-04-09 Secr Defence Bit-slice digital processor

Also Published As

Publication number Publication date
JPH01295365A (ja) 1989-11-29
EP0320352B1 (de) 1993-02-24
FR2624283B1 (fr) 1992-09-18
DE3878666D1 (de) 1993-04-01
US5005149A (en) 1991-04-02
FR2624283A1 (fr) 1989-06-09
EP0320352A1 (de) 1989-06-14

Similar Documents

Publication Publication Date Title
DE3851053T2 (de) Fir digitale filteranordnung.
DE3786594T2 (de) Speicherverwaltungseinheit für Digitalsignalprozessor.
DE19839627B4 (de) Digitaler Signalprozessor
DE3688353T2 (de) Nichtrekursiver zweidimensionaler digitalfilter.
DE68914172T2 (de) Datenverarbeitungssystem und Videoverarbeitungssystem mit einem derartigen Datenverarbeitungssystem.
DE3485792T2 (de) Digitale signalverarbeitungseinrichtungen.
DE3044208C2 (de) Interpolator zur Erhöhung der Wortgeschwindigkeit eines digitalen Signals
DE69435034T2 (de) Verfahren ind vorrichtung zur durchfuehrung einer schnellen hadamard transform
DE68921161T2 (de) Programmierbares digitales Filter.
DE2627405A1 (de) Schaltungsanordnung zur berechnung der schnellen fourier-transformation (fft)
DE2023570A1 (de) Einseitenband-Modulationssystem
DE3788617T2 (de) Vektordatenverarbeitungssystem mit einer E/A-Steuerung für jeden Vektordatenprozessor und einer anderen E/A-Steuerung für mindestens einen anderen Vektordatenprozessor.
EP0491422B1 (de) Schaltungsanordnung zur Taktumsetzung eines digitalen Signals
DE69216338T2 (de) Schnittstellenschaltung zur Datenübertragung
DE3878666T2 (de) Integrierte schaltung fuer digitale rechenvorgaenge zur faltung oder aehnlichen rechenverfahren.
DE2729912A1 (de) Digitale signalverarbeitungsanordnung
DE3854608T2 (de) Vektorrechnerschaltung, welche schnell eine Berechnung auf drei Eingangsvektoren ausführen kann.
DE1909657C3 (de) Digitales Filter
DE2634426A1 (de) Bandkompressionseinrichtung
DE3882802T2 (de) Digitales Gitterfilter.
DE2943148C2 (de) Digitaladdierer
EP0305709A2 (de) Matrix-Matrix-Multiplizierer
EP0346750B1 (de) Anordnung zur DPCM-Codierung mit hoher Datenrate
DE69110793T2 (de) Zeitvielfachmultiplexiereinrichtung.
DE2514875C3 (de) Anordnung mit einer vorbestimmten Übertragungskennlinie

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee