Forum: FPGA, VHDL & Co. Sim: textio - Ist Sprung im geöfneten file an den Anfang möglich?


von Matthias G. (mgottke)


Lesenswert?

Hallo zusammen,

in einer Testbench möchte ich Testpattern in einem File einlesen. Das 
geht "strait forward" problemlos. Auf Grund der Komplexität möchte ich 
in den Testpattern so eine Art Makro-Funktionalität einfügen. Dafür ist 
es notwendig die Testpattern mehrmals von Anfang an zu lesen. Gibt es 
eine Möglichkeit wieder an den Anfang der Testpattern zu springen?

MfG Matthias

von Duke Scarring (Gast)


Lesenswert?

Du könntest die Datei schließen und nochmal öffnen. Oder Du ließt die 
Datei in ein Array ein und setzt den Index zurück. Oder (so würde ich es 
machen) Du nimmst eine gescheite Hochsprache (Python, Perl, Matlab, 
etc.) und realisierst deine Funktionalität dort.

Dann bleibt die Testbench übersichtlich und Dein Patternfile ist linear.

Duke

von Matthias G. (mgottke)


Lesenswert?

> Du könntest die Datei schließen und nochmal öffnen. ...

Ja danke, so mache ichs im Moment auch. Ist zwar nicht sehr elegant, 
aber geht.

> Oder Du nimmst eine gescheite Hochsprache (Python, Perl, Matlab,
> etc.) und realisierst deine Funktionalität dort.

Und wie soll da Modelsim mit der Hochsprache die Daten austauschen?

von Duke Scarring (Gast)


Lesenswert?

>> Oder Du nimmst eine gescheite Hochsprache (Python, Perl, Matlab,
>> etc.) und realisierst deine Funktionalität dort.
>
> Und wie soll da Modelsim mit der Hochsprache die Daten austauschen?

Über Textdateien? Oder sollen Deine Testpattern dynamisch (in 
Abhängigkeit vom Modellverhalten) generiert werden?

Ein gute Ansatz ist es, zwei Beschreibungen von einem Modul zu haben. 
Mit dem Hochsprachenmodell kann man schnell die Funktion prüfen und sich 
außerdem die Patterns für das VHDL/Verilog-Modell generieren lassen.

Duke

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.