Hallo,
ich muss aus einer Textdatei Werte auslesen, die ich anschließend in
einem VHDL Projekt Signalen zuweise. Soweit kein Problem.
Jetzt sollen aber in unregelmäßigen Abständen in der Textdatei andere
Signalzuweisungen stehen. Diese würde ich gerne mit irgendeinem Zeichen
(im folgenden Beispiel eine #) am Anfang einer Zeile kenntlich machen.
Gibt es in VHDL die Möglichkeit, ähnlich wie bei "Regular Expression" zb
unter Perl, eine Zeile zu analysieren?
Die Textdatei sieht etwa wie folgt aus:
0 1 0 1 1 1
1 0 1 1 0 0
0 1 1 0 1 1
# 20
0 1 1 1 0 0
# 10
0 1 1 0 1 0
Und hier ein Ausschnitt aus meinem bestehenden Programm:
1 | while not (endfile(IN_DATA)) loop
|
2 | readline(IN_DATA,LINE);
|
3 | read (LINE, SATZ);
|
4 | stimuli <= SATZ;
|
5 | wait for 100 us;
|
6 | end loop;
|
das Signal stimuli ist ein Vektor...
Meine Idee war, dass ich gucke, ob am Anfang einer Zeile eine # steht
und dieses in einer IF-Schleife abfrage. Also sollte es nachher etwa so
aussehen.
1 | while not (endfile(IN_DATA)) loop
|
2 | readline(IN_DATA,LINE);
|
3 | -- if LINE .... " wenn die Zeile mit einer Raute anfängt soll der folgende Wert dem Signal "neuerWert zugewiesen werden"
|
4 | -- read ( LINE, SATZZWEI);
|
5 | -- neuerWert <= SATZZWEI;
|
6 | else
|
7 | read (LINE, SATZ);
|
8 | stimuli <= SATZ;
|
9 | wait for 100 us;
|
10 | endif;
|
11 | end loop;
|
Ist sowas überhaupt in VHDL möglich?? Oder hat jemand eine
andere/bessere Idee?
Vielen Dank für die Mühe im Vorraus