Hardware Reference
In-Depth Information
cAdr
xAdr
0
1
2
+1modM
...
...
...
M−2 M−1
nichtz¨ahlen
+1modM
+1modM
+1modM
xRAM
W(x n )
c M 1
R(x n 1 )
R(x n 2 ) R(x n M+2 ) R(x n M+1 )
cDat
c 0
x n
c 1
c 2
...
c M 2
xDat
x n M+1
x n 1
x n 2 ...
x n M+2
Prod
c M 2 ·x n M+2
c M 1 ·x n M+1
c 0 ·x n
c 1 ·x n 1
c 2 ·x n 2
P 2 ...
...
Akku P M 3
...
P M 2
...
y n = P M 1
...
c 0 ·x n
...
a)
cAdr
Koe zientenadressregister
xDat
Datenregister
x ...
Datenwert
cROM
Koe zientenspeicher
Datenadressregister
Prod
Produktregister
imStartzyklusoptional
c ...
Koe zient
Lesen
cDat
Koe zientenregister
Akku
Akkumulationsregister
W(...)
Schreiben
xAdr
R(...)
xRAM
Datenspeicher
ge¨anderterDatenfluss
M
Filtergrad
procedure NormalStep(x: tDaten; cROM: tMem; signal xRAM:
inout tMem; signal pp: inout tPipeline) is
begin
pp.cAdr <= (pp.cAdr+ 1 ) mod M;
if pp.cAdr= 0 then xRAM(pp.xAdr) <= x; pp.xDat <= x;
else pp.xDat <= xRAM(pp.xAdr);
end if ;
pp.cDat <= cROM(pp.cAdr); pp.Prod <= pp.cDat*pp.xDat;
if pp.cAdr= 2 then pp.Akku <= pp.Prod;
else pp.Akku <= pp.Akku+pp.Prod;
end if ;
if pp.cAdr/=M- 1 then pp.xAdr <= (pp.xAdr+ 1 ) mod M;
end if ;
end procedure ;
b)
Web-Projekt:P5.2/FIR1pack.vhdl
Abb. 5.7. Speicher- und Registerzuweisungen in allen Takten nach der Initialisie-
rung a) tabellarisch b) als Bearbeitungsprozedur
nicht erforderlich. Aber sie stören auch nicht, so dass auf Fallunterscheidun-
gen verzichtet werden kann. Die Unterbindung der Ausgabe im Startzyklus
erfolgt in der Ausgabefunktion.
Bearbeitungsstand: Für die einzelnen Bestandteile und für die gesamte
Blockspeicher-Pipeline-Struktur sind Datentypen definiert und für die
Datentypen sind die benötigten Bearbeitungsmethoden programmiert.
5.2.4 Das erste komplette Simulationsmodell
Die erste simulierbare Beschreibung ist im Beispielprojekt ein Prozess im Test-
rahmen. Innerhalb des Testrahmens werden vereinbart:
• eine initialisierte Konstante für den Koe zientenspeicher:
constant cROM: tMem(tAdr):=( 0.5 , 1.0 , -1.0 , -0.5 );
• ein Signal für den Datenspeicher
Search WWH ::




Custom Search