Forum: FPGA, VHDL & Co. Datenaustausch zwischen Excel und Modelsim


von Excelfreak (Gast)


Lesenswert?

Ich möchte Modelsim mit Datenströmen füttern, die ich aus 
Excel-Berechnungen erzeugt habe und gleichsam auch Daten, die Modelsim 
errechnet hat nach Excel transportieren, um sie auszuwerten. Z.B. 
produziert eine von mir erzeugte Synthese einen Bilddatenstrom, den man 
grafisch als Kurven anzeigen müsste, um ie Qualität und Korrektheit 
beurteilen zu können. (Modelsim kann ja keine Kurven zeigen, wie z.B. 
SPICE, auch wenn das was rauskommt, im Prinzip ein Analogsignal ist.)

von Stefan H. (stefanhanke)


Lesenswert?

Ich würde wie folgt vorgehen:

1. Die "Excel"-Datei ins CSV-Format konvertieren
2. Je nachdem, was hinten rauskommt, ein kleines Skript, was die 
CSV-Datei in ein bestimmtes Format bringt (damit der Parser in VHDL 
einfach wird). Damit meine ich z.B. dass die erste Spalte 10 Zeichen 
breit ist, oder was auch immer, damit der VHDL-Code leicht zu erstellen 
und zu lesen ist.
3. Mittels VHDL File-I/O die Datei einlesen und Signale entsprechend 
setzen.
4. Die Ausgangsdaten kannst du dann ebenfalls mittels File-I/O in eine 
CSV-Datei schreiben.
5. Die CSV-Datei mittels "Excel" importieren.

Wenn das hintendran ne Kurve sein soll, dann würde ich eher eine Datei 
mit einem X/Y-Wertpaar pro Zeile erzeugen. Das kann dann einfach mittels 
gnuplot o.ä. visualisiert werden.

 -- stefan

von Roger S. (edge)


Lesenswert?

Excelfreak wrote:
> (Modelsim kann ja keine Kurven zeigen, wie z.B.
> SPICE, auch wenn das was rauskommt, im Prinzip ein Analogsignal ist.)

Aber sicher geht das mit ModelSim.

Cheers, Roger

von Excelfreak (Gast)


Lesenswert?

Wo genau finde ich die Funktion "File IO ?" Ich habe nur das import 
gesichtet, doch das hilft mir nicht weiter.

von Stefan H. (stefanhanke)


Lesenswert?

Mit "File-I/O" meine ich keine Funktion, sondern eine Bibliothek, die es 
dir erlaubt, auf Dateien im Dateisystem von VHDL-Code aus zuzugreifen.

Die VHDL-Bibliothek heißt "std.textio". In ihr werden Funktionen 
deklariert, mit denen File-I/O möglich ist. Ein Beispiel davon findest 
du unter www.vhdl-online.de, VHDL-Tutorial, Abschnitt 3.6.

 -- stefan

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.