Hardware Reference
In-Depth Information
(x k - Eingabewert; y n - Ausgabewert; n - Nummer des Zeitschritts; c m -
Koe zient; M - Länge der Impulsantwort, Größenordnung 100). Die Filter-
funktion - Hochpass, Tiefpass, Glättungsfilter etc. - legt der Vektor der Koef-
fizienten c m fest
1
. Es gibt Anwendungen in der Signalverarbeitung, in denen
viele Millionen Ergebnisse pro Sekunde zu berechnen sind. Jede Ergebnisbe-
rechnung erfordert 2 M Speicherzugriffe mit den zugehörigen Adressrech-
nungen, M Multiplikationen und M 1 Additionen. Für Anwendungen mit
einem kontinuierlichen Rechenleistungsbedarf von 10 8 und mehr Operationen
pro Sekunde ist eine Hardware-Lösung eine interessante Alternative zu einer
Software-Lösung.
5.2.1 Planung der Speicherstruktur und der Pipeline-Abläufe
Abbildung 5.4 a zeigt eine Skizze für den Berechnungsfluss, den Gleichung 5.1
beschreibt. Für jeden Ausgabewert y n werden M Eingabewerte mit M Koef-
fizienten multipliziert und die Produkte aufsummiert. Es fehlt der Datenspei-
cher, aus dem die Eingabedaten und Koe zienten gelesen werden. Wie könnte
der Speicher organisiert sein? Ein M-Port-Blockspeicher scheidet wegen der
Größe von M hier aus. Eine nahe liegende Lösung wäre ein Schieberegister
der Länge M, das die Eingabewerte abtastet und an seinen Ausgängen die
um einen bis M Schritte verzögerten Eingabewerte bereitstellt (Abb. 5.4b).
An jedem Schieberegisterausgang ist ein Multiplizierer anzuschließen, der das
Produkt c m x k bildet. Der zweite Faktor ist eine Konstante, die fest co-
diert sein oder in einem Konfigurationsregister stehen kann. Die Teilprodukte
werden mit einem Addiererbaum zusammengefasst. Die Umsetzung in eine
VHDL-Beschreibung ist relativ einfach, aber die Schaltung wird sehr groß
2
.
c 0
x n
c 0
x n− 1
c 1
x n
*
*
+
+
c 1
x n− 1
*
*
+
y n
+y n
c 2
x n− 2
x n− 2
*
*
c 2
+
+
c 3
x n− 3
x n− 3
*
x + n
*
c 3
a)
b)
Abb. 5.4. Datenfluss für eine FIR-Operation mit M = 4
a) ohne Operandenspei-
cher b) mit einem Schieberegister als Operandenspeicher
1 Der Koe zientenvektor wird auch als Impulsantwort bezeichnet. Denn er ist
gleich mit der Ausgabefolge für einen Impuls der Form x 0 = 1;0 und x n6=0 = 0
als Eingabefolge.
2 Man würde zumindest versuchen, die Multipliziereranzahl durch Einbau von
Pipeline-Stufen in die Multiplizierer drastisch zu verringern. Das erfordert eine
vollkommen andere Schaltungsstruktur.
 
Search WWH ::




Custom Search