Hardware Reference
In-Depth Information
function
str_coeff(c: tSigned)
return
string
is
begin
if
is_x(c)
then return
" XX"
;
else return
rechts(str(real(int(c))/(
2.0
**
15
),
4
),
7
);
end if
;
end function
;
)
WEB-Projekt:P5.2/FIR2_pack.vhdl
Als Nächstes müssten die geänderten Typvereinbarungen und Unterprogram-
me so in die beiden Bearbeitungsprozeduren und in den Testrahmen der ver-
gangenen Abschnitte eingearbeitet werden, dass die Simulationsausgaben im
fehlerfreien Fall genau wie in Abb. 5.8 aussehen. Letzteres ist nur eine Emp-
fehlung, aber eine nützliche. Wir wollen diese Schritte überspringen. Nach dem
Ersatz aller Zahlentypen durch Bitvektortypen bildet die Simulation bereits
die Registerstruktur und überwiegend auch die Register-Transfer-Funktionen
der zu entwerfenden Schaltung bit-genau nach. Damit sind wir wieder einen
Schritt näher am Ziel.
5.2.6 Ein- und Ausgabe über Signale
In den bisherigen Simulationsmodellen für den FIR-Filter wurden die benötig-
ten Eingabedaten aus einer Datei gelesen und die Ausgaben in einer Zeichen-
kettenvariablen zusammengesetzt und ausgegeben. Eine Schaltung kommuni-
ziert mit ihrer Umgebung über Signale statt über Ein- und Ausgabeanwei-
sungen. In der nächsten Version des Simulationsmodells wird der Testrahmen
deshalb in drei über Signale kommunizierende Prozesse geteilt, und zwar in
• einen Prozess für die Bereitstellung der Eingabesignale,
• einen Prozess zur Modellierung des Testobjekts und
• einen Ausgabeprozess, der möglichst dieselben Textausgaben wie die bis-
herigen Simulationsmodelle erzeugen soll (Abb. 5.9a).
Testobjekt
I
T
RD
Test-
Test-
x
ausgabe-
RD
prozess
RD
daten-
x x
FIR
WR
WR
quelle
pp.cAdr
00
01101100011011000110
I
I
pp pp
xRAM
RD
xRAM
x
w
0
w
1
w
2
w
3
w
4
w
5
T T
···
a)
pp
Pipeline-Zustand
b)
Abb. 5.9. Testrahmen für den FIR-Filter mit Ein- und Ausgabesignalen a) Pro-
zessstruktur b) Signalverläufe
Das Testobjekt - die Funktionsbeschreibung des FIR-Filters - erhält außer
dem Dateneingabesignal
x
und dem Datenausgabesignal
y
einen Takteingang